/* ══════════════════════════════
   FULL-PAGE / ASTRA COMPATIBILITY
   The body class is added only on pages containing [birthday_wall].
══════════════════════════════ */
body.tbw-fullpage .site-content > .ast-container,
body.tbw-fullpage .site-content .ast-container,
body.tbw-fullpage .ast-container,
body.tbw-fullpage #primary,
body.tbw-fullpage .content-area,
body.tbw-fullpage .site-main,
body.tbw-fullpage article.page,
body.tbw-fullpage .entry-content,
body.tbw-fullpage .wp-block-post-content,
body.tbw-fullpage .wp-block-shortcode {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.tbw-fullpage #primary,
body.tbw-fullpage .content-area {
  float: none !important;
}

/* This page is a standalone birthday experience, so remove Astra's site header.
   The WordPress admin bar remains visible to logged-in admins only. */
body.tbw-fullpage #masthead,
body.tbw-fullpage header.site-header,
body.tbw-fullpage .site-header,
body.tbw-fullpage #ast-desktop-header,
body.tbw-fullpage #ast-mobile-header,
body.tbw-fullpage .ast-mobile-header-wrap,
body.tbw-fullpage .main-header-bar-wrap,
body.tbw-fullpage .ast-above-header-wrap,
body.tbw-fullpage .ast-primary-header-bar,
body.tbw-fullpage .ast-below-header-wrap,
body.tbw-fullpage #colophon,
body.tbw-fullpage footer.site-footer,
body.tbw-fullpage .site-footer {
  display: none !important;
}

body.tbw-fullpage #page,
body.tbw-fullpage .site-content {
  margin-top: 0 !important;
}

/* The birthday wall already contains its own hero/title. */
body.tbw-fullpage .entry-header,
body.tbw-fullpage .ast-single-post-order .entry-title,
body.tbw-fullpage .page-title {
  display: none !important;
}

body.tbw-fullpage .site-content {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Break out of any remaining theme/block container and touch both viewport edges. */
body.tbw-fullpage #tbw-wrap {
  position: relative;
  left: 50%;
  width: 100vw;
  max-width: 100vw;
  min-height: 100vh;
  margin-left: -50vw;
  margin-right: -50vw;
  border-radius: 0 !important;
}

body.tbw-fullpage .tbw-bottom-bg {
  border-radius: 0 !important;
}

@supports (width: 100dvw) {
  body.tbw-fullpage #tbw-wrap {
    width: 100dvw;
    max-width: 100dvw;
    margin-left: -50dvw;
    margin-right: -50dvw;
  }
}

/* ══════════════════════════════
   THE BIRTHDAY WALL
   Purple & Gold Theme v1.0.0
══════════════════════════════ */

#tbw-wrap {
  font-family: 'DM Sans', Arial, sans-serif;
  background: #07111F;
  color: #fff;
  border-radius: 0;
  overflow: hidden;
  width: 100%;
  max-width: none;
}

/* HEADER */
.tbw-header {
  background:
    radial-gradient(ellipse at 20% 20%, rgba(54,85,120,0.4) 0%, transparent 55%),
    radial-gradient(ellipse at 80% 80%, rgba(214,179,106,0.2) 0%, transparent 55%),
    #07111F;
  text-align: center;
  padding: 52px 24px 44px;
  border-bottom: 4px solid #D6B36A;
  position: relative;
  overflow: hidden;
}



.tbw-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.35em;
  text-transform: uppercase;
  color: #D6B36A;
  margin-bottom: 14px;
}

.tbw-title {
  font-family: 'League Spartan', Arial, sans-serif !important;
  font-size: clamp(32px, 7vw, 64px) !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
  color: #fff !important;
  margin: 0 0 12px !important;
  border: none !important;
  padding: 0 !important;
}

.tbw-purple { color: #9FB7D4 !important; }
.tbw-gold   { color: #D6B36A !important; }

.tbw-subtitle {
  font-size: 15px;
  color: rgba(255,255,255,0.6);
  margin-bottom: 18px;
  line-height: 1.6;
}

.tbw-badge {
  display: inline-block;
  background: linear-gradient(135deg, #8A682B, #D6B36A);
  border: 1px solid rgba(214,179,106,0.4);
  border-radius: 6px;
  padding: 9px 22px;
  font-size: 12px;
  font-weight: 700;
  color: #D6B36A;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  box-shadow: 0 4px 20px rgba(214,179,106,0.4);
}

/* FORM */
.tbw-form-section {
  max-width: 580px;
  margin: 0 auto;
  padding: 44px 24px 32px;
}

.tbw-form-title {
  font-family: 'League Spartan', Arial, sans-serif !important;
  font-size: clamp(20px, 4vw, 30px) !important;
  font-weight: 700 !important;
  color: #fff !important;
  text-align: center;
  margin: 0 0 6px !important;
  border: none !important;
  padding: 0 !important;
}

.tbw-form-sub {
  text-align: center;
  font-size: 15px;
  color: rgba(255,255,255,0.7);
  margin-bottom: 24px;
}

.tbw-form-card {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(214,179,106,0.3);
  border-radius: 16px;
  padding: 24px;
}

.tbw-error {
  background: rgba(214,179,106,0.15);
  border: 1px solid rgba(214,179,106,0.4);
  border-radius: 8px;
  padding: 10px 16px;
  font-size: 14px;
  color: #9FB7D4;
  margin-bottom: 16px;
}

.tbw-field { margin-bottom: 18px; }

.tbw-field label {
  display: block;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.8);
  margin-bottom: 8px;
}

.tbw-field input,
.tbw-field textarea {
  width: 100%;
  background: rgba(255,255,255,0.07) !important;
  border: 1.5px solid rgba(255,255,255,0.15) !important;
  border-radius: 10px !important;
  padding: 13px 16px !important;
  font-size: 15px !important;
  font-family: 'DM Sans', Arial, sans-serif !important;
  color: #fff !important;
  outline: none !important;
  transition: border-color 0.2s !important;
}

.tbw-field input::placeholder,
.tbw-field textarea::placeholder { color: rgba(255,255,255,0.3); }

.tbw-field input:focus,
.tbw-field textarea:focus {
  border-color: #D6B36A !important;
  background: rgba(214,179,106,0.08) !important;
}

.tbw-field textarea { resize: vertical; min-height: 100px; }

/* VIDEO TABS */
.tbw-video-tabs {
  display: flex; gap: 8px; margin-bottom: 12px; flex-wrap: wrap;
}

.tbw-vtab {
  padding: 8px 14px;
  border-radius: 8px;
  border: 1.5px solid rgba(255,255,255,0.15) !important;
  background: rgba(255,255,255,0.05) !important;
  color: rgba(255,255,255,0.6) !important;
  font-size: 13px; font-weight: 500;
  cursor: pointer; transition: all 0.15s;
  font-family: 'DM Sans', Arial, sans-serif !important;
}

.tbw-vtab.active {
  border-color: #D6B36A !important;
  background: rgba(214,179,106,0.12) !important;
  color: #D6B36A !important;
}

.tbw-vid-btn {
  padding: 9px 16px;
  border-radius: 8px;
  border: 1.5px solid rgba(255,255,255,0.2) !important;
  background: rgba(255,255,255,0.07) !important;
  color: #fff !important;
  font-size: 13px; font-weight: 500;
  cursor: pointer; transition: all 0.15s;
  font-family: 'DM Sans', Arial, sans-serif !important;
}

.tbw-vid-btn:hover { background: rgba(255,255,255,0.12) !important; }

.tbw-vid-btn-red {
  background: rgba(214,179,106,0.2) !important;
  border-color: #D6B36A !important;
  color: #9FB7D4 !important;
}

/* EMOJI */
.tbw-emoji-row { margin-bottom: 20px; }

.tbw-emoji-row label {
  display: block;
  font-size: 11px; font-weight: 600;
  letter-spacing: 0.15em; text-transform: uppercase;
  color: rgba(255,255,255,0.8); margin-bottom: 10px;
}

.tbw-emoji-options { display: flex; flex-wrap: wrap; gap: 8px; }

.tbw-emoji {
  font-size: 22px; padding: 8px 10px;
  border-radius: 10px;
  border: 2px solid rgba(255,255,255,0.1) !important;
  background: rgba(255,255,255,0.04) !important;
  cursor: pointer; transition: all 0.15s;
}

.tbw-emoji.selected {
  border-color: #D6B36A !important;
  background: rgba(214,179,106,0.12) !important;
  transform: scale(1.15);
}

/* SUBMIT */
.tbw-submit {
  width: 100%; padding: 15px;
  border-radius: 10px; border: none !important;
  background: linear-gradient(135deg, #8A682B, #D6B36A) !important;
  color: #fff !important;
  font-family: 'DM Sans', Arial, sans-serif !important;
  font-size: 16px !important; font-weight: 600 !important;
  cursor: pointer; letter-spacing: 0.03em;
  box-shadow: 0 6px 24px rgba(214,179,106,0.4) !important;
  transition: transform 0.2s, box-shadow 0.2s !important;
}

.tbw-submit:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 32px rgba(214,179,106,0.55) !important;
}

.tbw-submit:disabled { opacity: 0.6; cursor: not-allowed; transform: none !important; }

/* DIVIDER */
.tbw-divider {
  display: flex; align-items: center; gap: 16px;
  max-width: 720px; margin: 0 auto;
  padding: 8px 24px 20px;
  justify-content: center;
}

.tbw-divider-line { flex: 1; height: 1px; background: rgba(214,179,106,0.25); max-width: 60px; }

.tbw-divider-text {
  font-size: 14px; font-weight: 700;
  letter-spacing: 0.25em; text-transform: uppercase;
  color: #FFFFFF; white-space: nowrap;
}

/* COUNT */
.tbw-count {
  text-align: center; display: block; width: 100%;
  margin-bottom: 24px; padding: 6px 16px;
  font-size: 16px; font-weight: 600; color: #FFFFFF;
}

/* WALL */
.tbw-wall {
  max-width: 720px; margin: 0 auto;
  padding: 0 24px 60px;
  columns: 2; column-gap: 16px;
  text-align: center;
}

@media (max-width: 560px) { .tbw-wall { columns: 1; } }

.tbw-loading, .tbw-empty {
  text-align: center; padding: 32px;
  color: rgba(255,255,255,0.4); font-size: 14px;
  display: block; width: 100%;
}

/* CARDS */
.tbw-card {
  position: relative;
  break-inside: avoid;
  background: #0B1827;
  border: 1px solid rgba(214,179,106,0.2);
  border-radius: 16px; padding: 20px;
  margin-bottom: 16px;
  transition: border-color 0.2s, transform 0.2s;
  text-align: left;
}

.tbw-card:hover {
  border-color: rgba(214,179,106,0.4);
  transform: translateY(-3px);
}

.tbw-card:nth-child(odd)  { border-top: 3px solid #D6B36A; }
.tbw-card:nth-child(even) { border-top: 3px solid #D6B36A; }

.tbw-card-emoji { font-size: 28px; display: block; margin-bottom: 10px; }

.tbw-card-text {
  font-size: 14px; color: rgba(255,255,255,0.85);
  line-height: 1.7; margin-bottom: 14px; font-style: italic;
}

.tbw-card-name {
  font-family: 'League Spartan', Arial, sans-serif;
  font-size: 15px; font-weight: 700; color: #FFFFFF;
}

.tbw-card-date { font-size: 11px; color: rgba(255,255,255,0.35); margin-top: 4px; }

.tbw-card-video { margin-top: 12px; }

.tbw-card-video video {
  width: 100%; border-radius: 8px; max-height: 200px;
}

.tbw-download-btn {
  display: inline-block; margin-top: 8px;
  padding: 7px 16px; background: rgba(214,179,106,0.1);
  border: 1px solid rgba(214,179,106,0.3); border-radius: 50px;
  color: #D6B36A !important; font-size: 12px; font-weight: 600;
  text-decoration: none !important;
  font-family: 'DM Sans', Arial, sans-serif;
  transition: background 0.2s;
}

.tbw-download-btn:hover { background: rgba(214,179,106,0.2); }


/* ADMIN-ONLY QUICK DELETE — injected only for logged-in site admins */
.tbw-admin-delete {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 4;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 1px solid rgba(255,255,255,0.16);
  border-radius: 50%;
  background: rgba(10,0,18,0.78);
  color: #fff;
  font-size: 15px;
  line-height: 30px;
  text-align: center;
  cursor: pointer;
  opacity: 0.72;
  transition: opacity .18s ease, transform .18s ease, background .18s ease;
}
.tbw-admin-delete:hover {
  opacity: 1;
  transform: scale(1.06);
  background: rgba(127,29,29,0.9);
}
.tbw-admin-delete:disabled { cursor: wait; opacity: .55; }

/* TOAST */
.tbw-toast {
  display: none; position: fixed; bottom: 32px; left: 50%;
  transform: translateX(-50%);
  background: linear-gradient(135deg, #8A682B, #D6B36A);
  color: #fff; padding: 14px 28px; border-radius: 50px;
  font-size: 14px; font-weight: 600;
  box-shadow: 0 8px 28px rgba(214,179,106,0.5);
  z-index: 9999; white-space: nowrap;
}

/* OVERRIDES */
#tbw-wrap * { box-sizing: border-box; }
#tbw-wrap .tbw-count { text-align: center !important; }
#tbw-wrap .tbw-empty { text-align: center !important; }

/* ══ HONOREE PHOTO ══ */
.tbw-photo-wrap {
  position: relative;
  display: inline-block;
  margin-bottom: 20px;
  animation: tbwPhotoIn 0.9s cubic-bezier(0.34,1.56,0.64,1) 0.2s both;
}

.tbw-photo {
  width: clamp(160px, 40vw, 240px);
  height: clamp(160px, 40vw, 240px);
  object-fit: cover;
  object-position: center center;
  border-radius: 50%;
  border: 4px solid #D6B36A;
  box-shadow: 0 0 0 4px rgba(214,179,106,0.4), 0 8px 40px rgba(214,179,106,0.5);
  display: block;
  position: relative;
  z-index: 2;
}

.tbw-photo-glow {
  position: absolute;
  inset: -10px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(214,179,106,0.35) 0%, transparent 70%);
  animation: photoGlow 2.5s ease-in-out infinite;
  z-index: 1;
}

@keyframes tbwPhotoIn {
  from { opacity:0; transform:scale(0.6) translateY(-20px); }
  to   { opacity:1; transform:scale(1) translateY(0); }
}

@keyframes photoGlow {
  0%,100% { opacity:0.4; transform:scale(1); }
  50%      { opacity:1;   transform:scale(1.08); }
}

/* ══ EYEBROW LARGER ══ */
#tbw-wrap .tbw-eyebrow {
  font-size: 16px !important;
  letter-spacing: 0.4em !important;
  margin-bottom: 20px !important;
}

/* ══ SHOW POSTER BG — BOTTOM SECTION ══ */
.tbw-form-section,
.tbw-divider,
.tbw-count,
.tbw-wall {
  position: relative;
}

#tbw-wrap {
  position: relative;
}

.tbw-bottom-bg {position:absolute;inset:0;background:none;opacity:0;z-index:0;pointer-events:none;}

/* ══ SIZE FIXES ══ */
#tbw-wrap .tbw-subtitle {
  font-size: 18px !important;
  color: rgba(255,255,255,0.8) !important;
  margin-bottom: 22px !important;
}

#tbw-wrap .tbw-badge {
  font-size: 15px !important;
  padding: 12px 30px !important;
  letter-spacing: 0.16em !important;
}

/* ══ EMOJI GRID — 4 COLUMNS ══ */
#tbw-wrap .tbw-emoji-options {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 8px !important;
}

/* ══ VIDEO SECTION CENTERED ══ */
#tbw-wrap .tbw-video-tabs {
  justify-content: center !important;
}

#tbw-wrap .tbw-vtab-content {
  text-align: center !important;
}

#tbw-wrap #tbw-tab-record,
#tbw-wrap #tbw-tab-upload,
#tbw-wrap #tbw-tab-link {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

#tbw-wrap #tbw-open-cam {
  max-width: 320px !important;
  margin: 0 auto !important;
}


/* v1.0.7 reliability fallback */
.tbw-video-unavailable{margin-top:10px;padding:12px 14px;border-radius:8px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.15);color:rgba(255,255,255,.86);font-size:13px;line-height:1.45;text-align:center;}


/* ══════════════════════════════
   v1.0.11 MOBILE PORTRAIT BACKGROUND
   Legacy mobile portrait treatment retained for compatibility.
══════════════════════════════ */
@media (max-width: 600px) {
  .tbw-bottom-bg {
    background-image: none !important;
    background: none !important;
    opacity: 0 !important;
  }

  /* Let the portrait artwork remain visible farther down the form, then
     transition naturally into the dark birthday-wall background. */
  #tbw-wrap > div[style*="position:relative"] {
    background:
      linear-gradient(to bottom,
        rgba(10,0,16,0.02) 0,
        rgba(10,0,16,0.12) 520px,
        rgba(10,0,16,0.55) 980px,
        #07111F 1380px),
      #07111F;
  }

  /* Keep the celebration decor tucked along the phone edges. */
  .tbw-floating-emoji {
    font-size: clamp(18px, 5.2vw, 23px) !important;
    opacity: .78;
  }
}


/* v1.0.12 — visually centered header portrait crop */
.tbw-photo {
  object-position: center center !important;
}

/* ══════════════════════════════
   Legacy creator stamp styles retained for compatibility
══════════════════════════════ */
#tbw-wrap .tbw-designer-stamp {
  position: relative;
  z-index: 2;
  width: 100%;
  margin: 58px 0 0;
  padding: 24px 20px 26px;
  text-align: center;
  background: #000;
  border-top: 1px solid rgba(214,179,106,.20);
  overflow: hidden;
}
#tbw-wrap .tbw-designer-logo {
  display: block;
  width: min(320px, 68vw);
  height: auto;
  margin: 0 auto;
  opacity: .96;
  filter: drop-shadow(0 12px 28px rgba(0,0,0,.38));
}
@media (max-width: 600px) {
  #tbw-wrap .tbw-designer-stamp {
    margin-top: 42px;
    padding: 18px 12px 20px;
  }
  #tbw-wrap .tbw-designer-logo {
    width: min(220px, 62vw);
  }
}

/* v1.0.18 - inline creator logo; no external image URL dependency */
#tbw-wrap .tbw-designer-stamp {
  min-height: 160px;
  display: flex;
  align-items: center;
  justify-content: center;
}
#tbw-wrap .tbw-designer-logo {
  visibility: visible !important;
  opacity: 1 !important;
  max-width: 320px !important;
  object-fit: contain;
}
@media (max-width: 600px) {
  #tbw-wrap .tbw-designer-stamp { min-height: 130px; }
  #tbw-wrap .tbw-designer-logo { max-width: 220px !important; width: 58vw !important; }
}

/* v1.0.19 cache-safe consolidated build */

#tbw-wrap .tbw-build-marker{background:#000;color:rgba(255,255,255,.35);font:10px/1.2 Arial,sans-serif;text-align:center;padding:0 10px 12px;letter-spacing:.08em;}


/* v1.0.20 — smaller footer logo, safe CSS-only adjustment */


/* v1.0.21 — public video download controls removed; no media/database changes */


/* ══════════════════════════════
   v1.0.28 — DESKTOP BACKGROUND SCALE
   Keep the wide artwork near its native size instead of using cover
   across the full height of the birthday wall.
══════════════════════════════ */
@media (min-width: 601px) {
  #tbw-wrap .tbw-bottom-bg {
    background-size: min(1200px, 82vw) auto !important;
    background-position: center top !important;
    background-repeat: no-repeat !important;
  }
}


/* Legacy footer artwork rules retained for compatibility. */


/* ══════════════════════════════
   v1.0.34 — INSTAGRAM 4:5 WALL VIDEO FRAMES
   Display-only: taller social-post presentation, never crop the actual video/poster.
══════════════════════════════ */
#tbw-wrap .tbw-card-video {
  width: min(100%, 470px) !important;
  margin: 16px auto 0 !important;
  background: #000 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}
#tbw-wrap .tbw-card-video video,
#tbw-wrap .tbw-card-video .tbw-wall-video {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 4 / 5 !important;
  max-height: none !important;
  margin: 0 !important;
  border-radius: 12px !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: #000 !important;
}
@media (max-width: 600px) {
  #tbw-wrap .tbw-card-video {
    width: 100% !important;
    margin-top: 14px !important;
  }
  #tbw-wrap .tbw-card-video video,
  #tbw-wrap .tbw-card-video .tbw-wall-video {
    aspect-ratio: 4 / 5 !important;
  }
}


/* ══════════════════════════════
   v1.0.35 — FEATURED / PINNED BIRTHDAY MESSAGE
   Display-only placement. The underlying message/video remains unchanged.
══════════════════════════════ */
#tbw-wrap .tbw-featured {
  max-width: 720px;
  margin: 0 auto 24px;
  padding: 0 24px;
  text-align: left;
}
#tbw-wrap .tbw-featured-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0 0 10px 4px;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(214,179,106,.12);
  border: 1px solid rgba(214,179,106,.35);
  color: #E7CC8B;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}
#tbw-wrap .tbw-featured .tbw-card {
  width: 100%;
  margin: 0;
  border-top: 3px solid #D6B36A !important;
  box-shadow: 0 18px 48px rgba(0,0,0,.28);
}
#tbw-wrap .tbw-featured .tbw-card-video {
  width: min(100%, 520px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
#tbw-wrap .tbw-featured .tbw-card-name {
  font-size: 18px;
}
@media (max-width: 600px) {
  #tbw-wrap .tbw-featured {
    padding: 0 16px;
    margin-bottom: 20px;
  }
  #tbw-wrap .tbw-featured .tbw-card-video {
    width: 100% !important;
  }
}


/* ══════════════════════════════
   v1.0.36 — FEATURED MESSAGE SCALE BALANCE
   Display-only: keep the featured card prominent without an oversized video.
══════════════════════════════ */
@media (min-width: 601px) {
  #tbw-wrap .tbw-featured {
    max-width: 680px !important;
  }
  #tbw-wrap .tbw-featured .tbw-card-video {
    width: min(100%, 360px) !important;
    max-width: 360px !important;
    margin: 18px auto 0 !important;
  }
  #tbw-wrap .tbw-featured .tbw-card-video video,
  #tbw-wrap .tbw-featured .tbw-card-video .tbw-wall-video {
    width: 100% !important;
    aspect-ratio: 4 / 5 !important;
    object-fit: contain !important;
  }
}
@media (max-width: 600px) {
  #tbw-wrap .tbw-featured .tbw-card-video {
    width: min(100%, 320px) !important;
    max-width: 320px !important;
    margin: 16px auto 0 !important;
  }
}

/* ══════════════════════════════
   THE BIRTHDAY WALL — LAUNCH EXPERIENCE v1.1.0
══════════════════════════════ */
:root{--tbw-ink:#07111f;--tbw-navy:#07111f;--tbw-slate:#10243a;--tbw-gold:#d6b36a;--tbw-cream:#f8f4ec;--tbw-blue:#9fb7d4;--tbw-line:rgba(255,255,255,.13)}
body.tbw-fullpage{background:#07111f!important}
#tbw-wrap{font-family:'DM Sans',Arial,sans-serif;background:var(--tbw-bg,#07111f);color:#fff}
#tbw-wrap *{box-sizing:border-box}
#tbw-wrap a{text-decoration:none}

/* WALL HERO */
#tbw-wrap .tbw-header{padding:62px 24px 52px;background:radial-gradient(circle at 20% 15%,rgba(54,85,120,.42),transparent 34%),radial-gradient(circle at 84% 75%,rgba(214,179,106,.16),transparent 34%),linear-gradient(155deg,var(--tbw-bg,#07111f),#0d1d2f 62%,#091421);border-bottom:1px solid rgba(214,179,106,.38)}
#tbw-wrap .tbw-eyebrow{color:var(--tbw-accent,#d6b36a);letter-spacing:.28em;font-size:11px;margin-bottom:20px}
#tbw-wrap .tbw-photo-wrap{width:190px;height:190px;margin:0 auto 24px}
#tbw-wrap .tbw-photo{width:190px!important;height:190px!important;object-fit:cover;object-position:center 16%!important;border:5px solid rgba(255,255,255,.12);box-shadow:0 0 0 1px rgba(214,179,106,.55),0 22px 65px rgba(0,0,0,.42)}
#tbw-wrap .tbw-photo-initials{display:flex;align-items:center;justify-content:center;border-radius:50%;font-family:'League Spartan',Arial,sans-serif;font-size:64px;font-weight:800;background:linear-gradient(145deg,#132b45,#0b1726);color:var(--tbw-accent,#d6b36a)}
#tbw-wrap .tbw-photo-glow{background:var(--tbw-accent,#d6b36a);opacity:.18;filter:blur(25px)}
#tbw-wrap .tbw-title{font-family:'League Spartan',Arial,sans-serif!important;font-size:clamp(40px,7vw,70px)!important;font-weight:800!important;letter-spacing:-.02em!important;margin:0 0 10px!important;color:#fff!important}
#tbw-wrap .tbw-gold{color:var(--tbw-accent,#d6b36a)!important}
#tbw-wrap .tbw-subtitle{font-size:18px;color:rgba(255,255,255,.76);margin:0 auto 8px;max-width:640px}
#tbw-wrap .tbw-date-line{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--tbw-accent-soft,#9fb7d4);margin:9px 0 20px;font-weight:700}
#tbw-wrap .tbw-badge{background:rgba(255,255,255,.055)!important;border:1px solid rgba(214,179,106,.36)!important;color:var(--tbw-accent,#d6b36a)!important;border-radius:999px!important;box-shadow:none!important}

/* CONTRIBUTION */
#tbw-wrap .tbw-bottom-shell{position:relative;background:linear-gradient(180deg,#0a1726,#07111f);min-height:50vh}
#tbw-wrap .tbw-bottom-bg{opacity:.14;filter:saturate(.5);pointer-events:none}
#tbw-wrap .tbw-form-section{max-width:760px;padding:56px 24px 34px}
#tbw-wrap .tbw-contribute-kicker{text-align:center;text-transform:uppercase;letter-spacing:.22em;color:var(--tbw-accent,#d6b36a);font-size:10px;font-weight:800;margin-bottom:10px}
#tbw-wrap .tbw-form-title{font-size:clamp(28px,4vw,38px)!important}
#tbw-wrap .tbw-form-sub{max-width:620px;margin:8px auto 20px;color:rgba(255,255,255,.64)}
#tbw-wrap .tbw-prompt-row{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:0 0 20px}
#tbw-wrap .tbw-prompt{appearance:none;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.045);color:rgba(255,255,255,.78);padding:8px 11px;border-radius:999px;font:700 12px 'DM Sans',Arial,sans-serif;cursor:pointer}
#tbw-wrap .tbw-prompt:hover,#tbw-wrap .tbw-prompt.is-active{border-color:var(--tbw-accent,#d6b36a);color:var(--tbw-accent,#d6b36a);background:rgba(214,179,106,.08)}
#tbw-wrap .tbw-form-card{padding:28px;background:rgba(255,255,255,.045);border-color:rgba(214,179,106,.20);box-shadow:0 24px 70px rgba(0,0,0,.2)}
#tbw-wrap .tbw-field label,#tbw-wrap .tbw-emoji-row label{letter-spacing:.10em;font-size:10px}
#tbw-wrap .tbw-field input,#tbw-wrap .tbw-field textarea{background:rgba(255,255,255,.055)!important;border-color:rgba(255,255,255,.13)!important}
#tbw-wrap .tbw-field input:focus,#tbw-wrap .tbw-field textarea:focus{border-color:var(--tbw-accent,#d6b36a)!important;box-shadow:0 0 0 3px rgba(214,179,106,.08)}
#tbw-wrap .tbw-optional{font-weight:400;text-transform:none;letter-spacing:0;color:rgba(255,255,255,.38);margin-left:5px}
#tbw-wrap .tbw-vtab.active{border-color:var(--tbw-accent,#d6b36a)!important;color:var(--tbw-accent,#d6b36a)!important;background:rgba(214,179,106,.09)!important}
#tbw-wrap .tbw-vid-btn-red,#tbw-wrap .tbw-submit{background:linear-gradient(135deg,#b68e47,var(--tbw-accent,#d6b36a))!important;color:#08111c!important;border-color:transparent!important;font-weight:800!important}
#tbw-wrap .tbw-submit{box-shadow:0 12px 30px rgba(214,179,106,.19)!important}
#tbw-wrap .tbw-live-video,#tbw-wrap .tbw-preview-video{width:100%;border-radius:12px;margin:8px 0;background:#020609;max-height:520px}
#tbw-wrap .tbw-rec-indicator{color:#ff8585;font-size:12px;font-weight:800;margin:6px 0}
#tbw-wrap .tbw-video-action-row{display:flex;gap:8px;flex-wrap:wrap}
#tbw-wrap .tbw-recorded-status{font-size:12px;color:rgba(255,255,255,.72);margin:8px 0 10px}
#tbw-wrap .tbw-file-input{width:100%;background:rgba(255,255,255,.04);border:1.5px dashed rgba(255,255,255,.20);border-radius:12px;padding:20px;color:rgba(255,255,255,.7)}
#tbw-wrap .tbw-upload-help{font-size:11px;color:rgba(255,255,255,.4);margin:8px 0 0}
#tbw-wrap .tbw-divider-text{color:var(--tbw-accent,#d6b36a);letter-spacing:.18em}
#tbw-wrap .tbw-count{color:rgba(255,255,255,.76)}
#tbw-wrap .tbw-card{background:linear-gradient(150deg,rgba(255,255,255,.055),rgba(255,255,255,.028));border-color:rgba(159,183,212,.14);box-shadow:0 12px 28px rgba(0,0,0,.12)}
#tbw-wrap .tbw-card:hover{border-color:rgba(214,179,106,.42)}
#tbw-wrap .tbw-card-name{color:var(--tbw-accent,#d6b36a)}
#tbw-wrap .tbw-wall-footer{padding:34px 24px 42px;text-align:center;border-top:1px solid rgba(255,255,255,.08);background:#050c14;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;color:rgba(255,255,255,.72)}
#tbw-wrap .tbw-wall-footer>span{color:var(--tbw-accent,#d6b36a)}
#tbw-wrap .tbw-wall-footer small{width:100%;font-size:11px;color:rgba(255,255,255,.38)}

/* RECIPIENT REVEAL */
.tbw-reveal-screen{position:fixed;inset:0;z-index:10000;background:radial-gradient(circle at 50% 36%,#17314d 0,#07111f 45%,#03070d 100%);display:flex;align-items:center;justify-content:center;padding:24px;color:#fff;text-align:center;transition:opacity .6s ease,transform .6s ease}
.tbw-reveal-screen.is-opening{opacity:0;transform:scale(1.025);pointer-events:none}
.tbw-reveal-inner{max-width:720px}
.tbw-reveal-spark{font-size:34px;color:#d6b36a;margin-bottom:18px}
.tbw-reveal-eyebrow{display:block;text-transform:uppercase;letter-spacing:.28em;font:800 11px 'DM Sans',Arial,sans-serif;color:#9fb7d4}
.tbw-reveal-inner h1{font:800 clamp(64px,15vw,130px)/1 'League Spartan',Arial,sans-serif!important;margin:16px 0!important;color:#d6b36a!important}
.tbw-reveal-inner p{font-size:clamp(18px,3vw,25px);color:rgba(255,255,255,.76);margin:0 auto 28px}
.tbw-reveal-button{appearance:none;border:0;border-radius:999px;padding:16px 28px;background:#d6b36a;color:#07111f;font:900 15px 'DM Sans',Arial,sans-serif;cursor:pointer;box-shadow:0 14px 44px rgba(214,179,106,.24)}
#tbw-wrap.is-covered{visibility:hidden;height:100vh;overflow:hidden}

/* PUBLIC HOMEPAGE */
.tbw-home-wrap{background:#f8f4ec!important;color:#07111f!important;min-height:100vh}
.tbw-site-nav{position:relative;z-index:20;max-width:1200px;margin:0 auto;padding:22px 28px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.tbw-brand{display:inline-flex;align-items:center;gap:10px;color:#07111f!important;font-weight:900;font-size:17px;letter-spacing:-.01em}
.tbw-brand-mark{color:#b68e47}
.tbw-nav-links{display:flex;align-items:center;gap:24px}
.tbw-nav-links>a{color:#304052!important;font-size:13px;font-weight:700}
.tbw-nav-links .tbw-nav-cta{padding:10px 15px;border-radius:999px;background:#07111f;color:#fff!important}
.tbw-home-hero{max-width:1200px;margin:0 auto;padding:82px 28px 100px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);gap:70px;align-items:center}
.tbw-kicker{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.24em;font-weight:900;color:#9a7333;margin-bottom:13px}
.tbw-home-hero h1,.tbw-home-section h2{font-family:'League Spartan',Arial,sans-serif!important;color:#07111f!important;letter-spacing:-.035em!important}
.tbw-home-hero h1{font-size:clamp(52px,7vw,86px)!important;line-height:.98!important;margin:0 0 24px!important;font-weight:800!important}
.tbw-home-hero h1 em{color:#9a7333;font-style:italic}
.tbw-home-lede{font-size:20px;line-height:1.65;color:#4d5c68;max-width:680px;margin:0 0 30px}
.tbw-home-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px}
.tbw-primary-btn,.tbw-secondary-btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 20px;border-radius:999px;font:900 14px 'DM Sans',Arial,sans-serif;border:0;cursor:pointer}
.tbw-primary-btn{background:#07111f!important;color:#fff!important;box-shadow:0 13px 28px rgba(7,17,31,.14)}
.tbw-secondary-btn{background:transparent!important;color:#07111f!important;border:1px solid #c7c2b8}
.tbw-home-trust{font-size:11px;color:#7b817f;font-weight:700}
.tbw-hero-showcase{min-height:540px;position:relative;display:flex;align-items:center;justify-content:center}
.tbw-showcase-glow{position:absolute;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(214,179,106,.35),rgba(159,183,212,.13) 45%,transparent 70%);filter:blur(12px)}
.tbw-showcase-card{position:absolute;border:1px solid rgba(255,255,255,.12);background:linear-gradient(150deg,#10243a,#07111f);color:#fff;border-radius:28px;box-shadow:0 38px 85px rgba(7,17,31,.25)}
.tbw-showcase-main{position:relative;width:min(100%,380px);min-height:470px;padding:40px 32px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:2}
.tbw-mini-kicker{font-size:9px;letter-spacing:.25em;color:#d6b36a;font-weight:900}
.tbw-showcase-initials{width:126px;height:126px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:26px 0 18px;background:#152e49;border:1px solid rgba(214,179,106,.4);font:800 42px 'League Spartan',Arial,sans-serif;color:#d6b36a}
.tbw-showcase-main h3{font:800 42px 'League Spartan',Arial,sans-serif!important;margin:0 0 10px!important;color:#fff!important}
.tbw-showcase-main p{color:rgba(255,255,255,.64);line-height:1.5;max-width:260px}
.tbw-showcase-button{margin-top:18px;padding:11px 15px;border-radius:999px;background:#d6b36a;color:#07111f;font-size:11px;font-weight:900}
.tbw-showcase-note,.tbw-showcase-video{z-index:3;width:190px;padding:18px;display:grid;grid-template-columns:auto 1fr;gap:3px 9px;align-items:center;border-radius:18px}
.tbw-showcase-note{left:-15px;bottom:78px;transform:rotate(-5deg)}
.tbw-showcase-video{right:-18px;top:92px;transform:rotate(5deg)}
.tbw-showcase-note>div,.tbw-showcase-video>div{font-size:20px}.tbw-showcase-note strong,.tbw-showcase-video strong{font-size:12px}.tbw-showcase-note span,.tbw-showcase-video span{grid-column:2;font-size:10px;color:rgba(255,255,255,.55)}
.tbw-home-strip{background:#07111f;color:#fff;padding:26px max(28px,calc((100vw - 1144px)/2));display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.tbw-home-strip>div{padding:5px 28px;border-right:1px solid rgba(255,255,255,.1)}.tbw-home-strip>div:last-child{border-right:0}.tbw-home-strip strong,.tbw-home-strip span{display:block}.tbw-home-strip strong{font-size:14px}.tbw-home-strip span{font-size:11px;color:rgba(255,255,255,.48);margin-top:3px}
.tbw-home-section{padding:100px 28px;max-width:1200px;margin:0 auto}
.tbw-section-heading{max-width:720px;margin:0 auto 48px;text-align:center}.tbw-section-heading h2{font-size:clamp(36px,5vw,56px)!important;line-height:1.05!important;margin:0 0 16px!important}.tbw-section-heading p{font-size:17px;line-height:1.65;color:#647078}
.tbw-step-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.tbw-step-grid article{background:#fff;border:1px solid #e4dfd5;border-radius:22px;padding:28px;min-height:230px}.tbw-step-grid article>span{color:#9a7333;font-weight:900;font-size:11px}.tbw-step-grid h3{font:800 21px 'League Spartan',Arial,sans-serif!important;color:#07111f!important;margin:26px 0 10px!important}.tbw-step-grid p{color:#68737a;font-size:14px;line-height:1.55}
.tbw-inside-section{max-width:none!important;background:#07111f;color:#fff;padding-left:max(28px,calc((100vw - 1144px)/2));padding-right:max(28px,calc((100vw - 1144px)/2))}.tbw-light-heading h2{color:#fff!important}.tbw-light-heading p{color:rgba(255,255,255,.58)}.tbw-feature-grid{max-width:1144px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.tbw-feature-grid article{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09);border-radius:20px;padding:26px}.tbw-feature-grid article>div{font-size:25px}.tbw-feature-grid h3{font:700 19px 'League Spartan',Arial,sans-serif!important;color:#fff!important;margin:16px 0 8px!important}.tbw-feature-grid p{color:rgba(255,255,255,.56);font-size:13px;line-height:1.55}
.tbw-occasion-section{padding-bottom:80px}.tbw-occasion-pills{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.tbw-occasion-pills span{padding:10px 14px;border-radius:999px;background:#fff;border:1px solid #ded8cc;color:#3d4b56;font-size:12px;font-weight:800}
.tbw-start-section{background:#e9e1d2;border-radius:30px;padding:55px;display:grid;grid-template-columns:.85fr 1.15fr;gap:50px;align-items:center;margin-bottom:100px}.tbw-start-copy h2{font-size:clamp(38px,4.5vw,56px)!important;line-height:1.02!important;margin:0 0 14px!important}.tbw-start-copy p{color:#5d676d;line-height:1.6}.tbw-interest-form{background:#fff;padding:24px;border-radius:20px;border:1px solid #d8d0c2}.tbw-interest-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tbw-interest-form label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:900;color:#6a7377;margin-bottom:13px}.tbw-interest-form input{display:block;width:100%;margin-top:7px;padding:12px;border:1px solid #d9d5cc;border-radius:10px;font:500 14px 'DM Sans',Arial,sans-serif;color:#07111f;background:#fff}.tbw-interest-form .tbw-primary-btn{width:100%;margin-top:5px}.tbw-interest-status{min-height:22px;font-size:12px;color:#a23b3b;margin-bottom:7px}.tbw-interest-status.is-success{color:#2f7141}
.tbw-faq-section{padding-top:0}.tbw-faq-grid{max-width:850px;margin:0 auto}.tbw-faq-grid details{border-top:1px solid #d9d4ca;padding:18px 2px}.tbw-faq-grid details:last-child{border-bottom:1px solid #d9d4ca}.tbw-faq-grid summary{cursor:pointer;font-weight:900;color:#182431}.tbw-faq-grid p{color:#657078;line-height:1.6;font-size:14px;max-width:720px}
.tbw-home-footer{background:#07111f;color:#fff;padding:45px 28px;text-align:center}.tbw-home-footer>div{display:flex;gap:8px;justify-content:center;align-items:center}.tbw-home-footer p{color:rgba(255,255,255,.52);font-size:13px}.tbw-home-footer>span{font-size:10px;color:rgba(255,255,255,.3)}

@media(max-width:900px){.tbw-home-hero{grid-template-columns:1fr;padding-top:60px;gap:34px}.tbw-hero-showcase{min-height:500px}.tbw-step-grid{grid-template-columns:1fr 1fr}.tbw-feature-grid{grid-template-columns:1fr 1fr}.tbw-start-section{grid-template-columns:1fr}.tbw-home-strip{grid-template-columns:1fr 1fr}.tbw-home-strip>div:nth-child(2){border-right:0}}
@media(max-width:650px){.tbw-site-nav{padding:18px}.tbw-nav-links>a:not(.tbw-nav-cta){display:none}.tbw-home-hero{padding:52px 20px 70px}.tbw-home-hero h1{font-size:clamp(45px,14vw,64px)!important}.tbw-home-lede{font-size:17px}.tbw-hero-showcase{min-height:430px}.tbw-showcase-main{width:88%;min-height:410px}.tbw-showcase-note{left:0;bottom:35px}.tbw-showcase-video{right:0;top:48px}.tbw-home-strip{padding:22px 12px}.tbw-home-strip>div{padding:9px 12px}.tbw-home-section{padding:74px 20px}.tbw-step-grid,.tbw-feature-grid{grid-template-columns:1fr}.tbw-start-section{margin:0 14px 74px;padding:34px 20px;border-radius:24px}.tbw-interest-row{grid-template-columns:1fr}.tbw-section-heading h2{font-size:38px!important}#tbw-wrap .tbw-header{padding:46px 18px 38px}#tbw-wrap .tbw-photo-wrap,#tbw-wrap .tbw-photo{width:150px!important;height:150px!important}#tbw-wrap .tbw-photo-initials{font-size:48px}#tbw-wrap .tbw-form-card{padding:20px}#tbw-wrap .tbw-form-section{padding-left:16px;padding-right:16px}#tbw-wrap .tbw-divider-text{font-size:11px;letter-spacing:.11em}}
/* Launch build explicitly disables legacy prototype artwork. */
#tbw-wrap .tbw-bottom-bg{background-image:none!important;background:none!important;}

#tbw-wrap .tbw-vtab-content[style*="display: none"]{display:none!important;}


/* ══════════════════════════════
   v1.1.2 — LEAGUE SPARTAN TYPOGRAPHY REFRESH
   Bold celebration typography: League Spartan + Barlow Condensed + DM Sans.
   Intentionally removes the Lato/Playfair visual language used elsewhere.
══════════════════════════════ */
#tbw-wrap,
.tbw-reveal-screen {
  font-family: 'DM Sans', Arial, sans-serif !important;
}

/* Big, unmistakable celebration display type */
#tbw-wrap .tbw-title,
#tbw-wrap .tbw-form-title,
.tbw-reveal-inner h1,
.tbw-home-hero h1,
.tbw-home-section h2,
.tbw-start-copy h2,
.tbw-showcase-main h3,
#tbw-wrap .tbw-photo-initials,
.tbw-showcase-initials {
  font-family: 'League Spartan', Arial, sans-serif !important;
  font-weight: 400 !important;
  font-style: normal !important;
  text-transform: none;
  letter-spacing: .005em !important;
}

#tbw-wrap .tbw-title {
  font-size: clamp(48px, 8vw, 82px) !important;
  line-height: .98 !important;
}

.tbw-reveal-inner h1 {
  font-size: clamp(74px, 16vw, 142px) !important;
  line-height: .92 !important;
  letter-spacing: .01em !important;
}

.tbw-home-hero h1 {
  font-size: clamp(58px, 7.5vw, 94px) !important;
  line-height: .96 !important;
  letter-spacing: .005em !important;
}
.tbw-home-hero h1 em {
  font-style: normal !important;
}

.tbw-home-section h2,
.tbw-start-copy h2 {
  line-height: 1 !important;
}

/* Condensed supporting type makes the product feel poster-like, not corporate. */
.tbw-brand,
.tbw-nav-links > a,
.tbw-kicker,
.tbw-mini-kicker,
#tbw-wrap .tbw-eyebrow,
#tbw-wrap .tbw-contribute-kicker,
#tbw-wrap .tbw-date-line,
#tbw-wrap .tbw-badge,
#tbw-wrap .tbw-divider-text,
.tbw-reveal-eyebrow,
#tbw-wrap .tbw-field label,
#tbw-wrap .tbw-emoji-row label,
#tbw-wrap .tbw-prompt,
#tbw-wrap .tbw-vtab,
#tbw-wrap .tbw-vid-btn,
#tbw-wrap .tbw-submit,
.tbw-primary-btn,
.tbw-secondary-btn,
.tbw-showcase-button,
.tbw-home-strip strong,
.tbw-step-grid article > span,
.tbw-step-grid h3,
.tbw-feature-grid h3,
.tbw-occasion-pills span,
.tbw-interest-form label,
.tbw-faq-grid summary,
#tbw-wrap .tbw-card-name {
  font-family: 'Barlow Condensed', 'Arial Narrow', Arial, sans-serif !important;
}

.tbw-brand {
  font-size: 22px !important;
  font-weight: 900 !important;
  text-transform: uppercase;
  letter-spacing: .025em !important;
}

.tbw-nav-links > a,
.tbw-primary-btn,
.tbw-secondary-btn,
#tbw-wrap .tbw-submit,
#tbw-wrap .tbw-vid-btn,
#tbw-wrap .tbw-vtab,
#tbw-wrap .tbw-prompt,
.tbw-showcase-button {
  font-weight: 800 !important;
  letter-spacing: .045em;
}

.tbw-kicker,
.tbw-mini-kicker,
#tbw-wrap .tbw-eyebrow,
#tbw-wrap .tbw-contribute-kicker,
.tbw-reveal-eyebrow,
#tbw-wrap .tbw-date-line {
  font-weight: 800 !important;
  letter-spacing: .16em !important;
}

/* Body copy / forms stay highly readable. */
#tbw-wrap p,
#tbw-wrap input,
#tbw-wrap textarea,
#tbw-wrap .tbw-form-sub,
#tbw-wrap .tbw-subtitle,
.tbw-home-lede,
.tbw-section-heading p,
.tbw-step-grid p,
.tbw-feature-grid p,
.tbw-start-copy p,
.tbw-faq-grid p,
.tbw-interest-form input,
.tbw-home-trust,
.tbw-home-strip span {
  font-family: 'DM Sans', Arial, sans-serif !important;
}

@media (max-width:650px) {
  .tbw-home-hero h1 { font-size: clamp(52px, 16vw, 72px) !important; }
  #tbw-wrap .tbw-title { font-size: clamp(48px, 15vw, 68px) !important; }
  .tbw-reveal-inner h1 { font-size: clamp(70px, 23vw, 112px) !important; }
}
\n\n/* ══════════════════════════════
   v1.1.3 — FESTIVE CELEBRATION PALETTE
   Confetti-inspired coral, hot pink, sunshine, teal and violet.
   Keeps the dark canvas sophisticated while making the product feel joyful.
══════════════════════════════ */
:root{
  --tbw-ink:#24123a;
  --tbw-plum:#24123a;
  --tbw-violet:#6d3df5;
  --tbw-coral:#ff6b35;
  --tbw-pink:#ff3d8d;
  --tbw-yellow:#ffd166;
  --tbw-teal:#2dd4bf;
  --tbw-sky:#55c7ff;
  --tbw-cream:#fff8ef;
  --tbw-paper:#fffdf9;
}
body.tbw-fullpage{background:#24123a!important}
#tbw-wrap{background:var(--tbw-bg,#24123a)}

/* Wall: dark, joyful, and photo-forward rather than corporate navy/gold. */
#tbw-wrap .tbw-header{
  background:
    radial-gradient(circle at 12% 15%,rgba(255,61,141,.34),transparent 28%),
    radial-gradient(circle at 88% 16%,rgba(45,212,191,.24),transparent 27%),
    radial-gradient(circle at 78% 86%,rgba(255,209,102,.18),transparent 30%),
    radial-gradient(circle at 22% 82%,rgba(109,61,245,.28),transparent 30%),
    linear-gradient(145deg,var(--tbw-bg,#24123a),#32144d 55%,#1b173c 100%)!important;
  border-bottom:1px solid rgba(255,255,255,.14)!important;
}
#tbw-wrap .tbw-header:after{
  content:"";display:block;width:92px;height:7px;border-radius:999px;margin:27px auto 0;
  background:linear-gradient(90deg,var(--tbw-coral),var(--tbw-pink),var(--tbw-yellow),var(--tbw-teal),var(--tbw-violet));
}
#tbw-wrap .tbw-eyebrow{color:var(--tbw-yellow)!important}
#tbw-wrap .tbw-photo{
  border-color:rgba(255,255,255,.72)!important;
  box-shadow:0 0 0 5px rgba(255,107,53,.75),0 0 0 9px rgba(255,61,141,.28),0 26px 70px rgba(8,3,24,.42)!important;
}
#tbw-wrap .tbw-photo-initials{background:linear-gradient(145deg,#6d3df5,#ff3d8d)!important;color:#fff!important}
#tbw-wrap .tbw-photo-glow{background:linear-gradient(90deg,var(--tbw-coral),var(--tbw-pink),var(--tbw-yellow))!important;opacity:.26!important}
#tbw-wrap .tbw-gold{color:var(--tbw-accent,#ff6b35)!important}
#tbw-wrap .tbw-date-line{color:var(--tbw-accent-soft,#2dd4bf)!important}
#tbw-wrap .tbw-badge{background:rgba(255,255,255,.10)!important;border-color:rgba(255,209,102,.48)!important;color:var(--tbw-yellow)!important}

#tbw-wrap .tbw-bottom-shell{
  background:
    radial-gradient(circle at 8% 12%,rgba(109,61,245,.20),transparent 24%),
    radial-gradient(circle at 92% 24%,rgba(255,61,141,.16),transparent 25%),
    linear-gradient(180deg,#2b1743 0%,#211232 55%,#17102a 100%)!important;
}
#tbw-wrap .tbw-contribute-kicker{color:var(--tbw-yellow)!important}
#tbw-wrap .tbw-prompt{border-color:rgba(255,255,255,.18)!important;background:rgba(255,255,255,.07)!important}
#tbw-wrap .tbw-prompt:nth-child(4n+1):hover,#tbw-wrap .tbw-prompt:nth-child(4n+1).is-active{border-color:var(--tbw-coral)!important;color:#fff!important;background:rgba(255,107,53,.20)!important}
#tbw-wrap .tbw-prompt:nth-child(4n+2):hover,#tbw-wrap .tbw-prompt:nth-child(4n+2).is-active{border-color:var(--tbw-pink)!important;color:#fff!important;background:rgba(255,61,141,.20)!important}
#tbw-wrap .tbw-prompt:nth-child(4n+3):hover,#tbw-wrap .tbw-prompt:nth-child(4n+3).is-active{border-color:var(--tbw-teal)!important;color:#fff!important;background:rgba(45,212,191,.18)!important}
#tbw-wrap .tbw-prompt:nth-child(4n+4):hover,#tbw-wrap .tbw-prompt:nth-child(4n+4).is-active{border-color:var(--tbw-yellow)!important;color:var(--tbw-yellow)!important;background:rgba(255,209,102,.12)!important}
#tbw-wrap .tbw-form-card{background:rgba(255,255,255,.075)!important;border-color:rgba(255,255,255,.14)!important;box-shadow:0 28px 70px rgba(8,3,24,.28)!important}
#tbw-wrap .tbw-vtab.active{border-color:var(--tbw-teal)!important;color:var(--tbw-teal)!important;background:rgba(45,212,191,.12)!important}
#tbw-wrap .tbw-vid-btn-red,#tbw-wrap .tbw-submit{
  background:linear-gradient(120deg,var(--tbw-coral),var(--tbw-pink))!important;
  color:#fff!important;box-shadow:0 13px 34px rgba(255,61,141,.25)!important;
}
#tbw-wrap .tbw-vid-btn-red:hover,#tbw-wrap .tbw-submit:hover{filter:brightness(1.07);transform:translateY(-1px)}
#tbw-wrap .tbw-divider-text{color:var(--tbw-yellow)!important}
#tbw-wrap .tbw-card{border-color:rgba(255,255,255,.12)!important;background:linear-gradient(150deg,rgba(255,255,255,.085),rgba(255,255,255,.035))!important}
#tbw-wrap .tbw-card:nth-child(5n+1){border-top:3px solid var(--tbw-coral)!important}
#tbw-wrap .tbw-card:nth-child(5n+2){border-top:3px solid var(--tbw-pink)!important}
#tbw-wrap .tbw-card:nth-child(5n+3){border-top:3px solid var(--tbw-yellow)!important}
#tbw-wrap .tbw-card:nth-child(5n+4){border-top:3px solid var(--tbw-teal)!important}
#tbw-wrap .tbw-card:nth-child(5n+5){border-top:3px solid var(--tbw-violet)!important}
#tbw-wrap .tbw-card:hover{border-color:rgba(255,255,255,.28)!important;transform:translateY(-2px)}
#tbw-wrap .tbw-card-name{color:var(--tbw-yellow)!important}
#tbw-wrap .tbw-wall-footer{background:#130c23!important}

/* Recipient reveal gets a true celebration moment. */
.tbw-reveal-screen{
  background:
    radial-gradient(circle at 18% 16%,rgba(255,61,141,.44),transparent 26%),
    radial-gradient(circle at 82% 18%,rgba(45,212,191,.30),transparent 28%),
    radial-gradient(circle at 76% 82%,rgba(255,209,102,.24),transparent 28%),
    radial-gradient(circle at 20% 82%,rgba(109,61,245,.38),transparent 30%),
    linear-gradient(145deg,#24123a,#341454 60%,#17102a)!important;
}
.tbw-reveal-spark{color:var(--tbw-yellow)!important}
.tbw-reveal-eyebrow{color:var(--tbw-teal)!important}
.tbw-reveal-inner h1{
  color:#fff!important;
  text-shadow:0 6px 30px rgba(255,61,141,.25);
}
.tbw-reveal-button{background:linear-gradient(120deg,var(--tbw-coral),var(--tbw-pink))!important;color:#fff!important;box-shadow:0 16px 46px rgba(255,61,141,.30)!important}

/* Marketing homepage: light, colorful, energetic. */
.tbw-home-wrap{
  background:
    radial-gradient(circle at 10% 7%,rgba(255,209,102,.28),transparent 21%),
    radial-gradient(circle at 90% 4%,rgba(45,212,191,.20),transparent 22%),
    linear-gradient(180deg,#fff8ef 0%,#fffdf9 38%,#fff8f5 100%)!important;
  color:#24123a!important;
}
.tbw-brand{color:#24123a!important}.tbw-brand-mark{color:var(--tbw-pink)!important}
.tbw-nav-links>a{color:#4a355d!important}.tbw-nav-links .tbw-nav-cta{background:linear-gradient(120deg,var(--tbw-coral),var(--tbw-pink))!important;color:#fff!important;box-shadow:0 8px 22px rgba(255,61,141,.18)}
.tbw-kicker{color:#c62b72!important}
.tbw-home-hero h1,.tbw-home-section h2{color:#24123a!important}
.tbw-home-hero h1 em{
  color:transparent!important;font-style:normal!important;
  background:linear-gradient(90deg,var(--tbw-coral),var(--tbw-pink),var(--tbw-violet));
  -webkit-background-clip:text;background-clip:text;
}
.tbw-home-lede{color:#5e4d6d!important}
.tbw-primary-btn{background:linear-gradient(120deg,var(--tbw-coral),var(--tbw-pink))!important;color:#fff!important;box-shadow:0 13px 30px rgba(255,61,141,.20)!important}
.tbw-secondary-btn{color:#372449!important;border-color:#d9cbe3!important;background:rgba(255,255,255,.58)!important}
.tbw-showcase-glow{background:radial-gradient(circle,rgba(255,61,141,.28),rgba(45,212,191,.17) 44%,rgba(255,209,102,.12) 60%,transparent 73%)!important}
.tbw-showcase-card{background:linear-gradient(145deg,#3a1857,#211232)!important;border-color:rgba(255,255,255,.15)!important;box-shadow:0 38px 85px rgba(58,24,87,.25)!important}
.tbw-mini-kicker{color:var(--tbw-yellow)!important}
.tbw-showcase-initials{background:linear-gradient(145deg,var(--tbw-violet),var(--tbw-pink))!important;border:4px solid rgba(255,255,255,.78)!important;color:#fff!important;box-shadow:0 0 0 5px rgba(255,209,102,.28)}
.tbw-showcase-button{background:linear-gradient(120deg,var(--tbw-coral),var(--tbw-pink))!important;color:#fff!important}
.tbw-showcase-note{background:linear-gradient(145deg,#ff6b35,#ff3d8d)!important}
.tbw-showcase-video{background:linear-gradient(145deg,#6d3df5,#2dd4bf)!important}
.tbw-home-strip{background:linear-gradient(100deg,#24123a,#51216e 48%,#243f78)!important}
.tbw-home-strip>div:nth-child(4n+1){border-top:3px solid var(--tbw-coral)}
.tbw-home-strip>div:nth-child(4n+2){border-top:3px solid var(--tbw-pink)}
.tbw-home-strip>div:nth-child(4n+3){border-top:3px solid var(--tbw-yellow)}
.tbw-home-strip>div:nth-child(4n+4){border-top:3px solid var(--tbw-teal)}
.tbw-step-grid article{border-color:#eaddec!important;box-shadow:0 8px 30px rgba(87,48,112,.06)}
.tbw-step-grid article:nth-child(4n+1)>span{color:var(--tbw-coral)!important}.tbw-step-grid article:nth-child(4n+2)>span{color:var(--tbw-pink)!important}.tbw-step-grid article:nth-child(4n+3)>span{color:#c58e0b!important}.tbw-step-grid article:nth-child(4n+4)>span{color:#118b80!important}
.tbw-step-grid h3{color:#24123a!important}
.tbw-inside-section{
  background:
    radial-gradient(circle at 12% 15%,rgba(255,61,141,.24),transparent 22%),
    radial-gradient(circle at 88% 80%,rgba(45,212,191,.17),transparent 24%),
    linear-gradient(135deg,#2c153f,#211232 58%,#17112e)!important;
}
.tbw-feature-grid article:nth-child(5n+1){border-top:3px solid var(--tbw-coral)}
.tbw-feature-grid article:nth-child(5n+2){border-top:3px solid var(--tbw-pink)}
.tbw-feature-grid article:nth-child(5n+3){border-top:3px solid var(--tbw-yellow)}
.tbw-feature-grid article:nth-child(5n+4){border-top:3px solid var(--tbw-teal)}
.tbw-feature-grid article:nth-child(5n+5){border-top:3px solid var(--tbw-violet)}
.tbw-occasion-pills span{background:#fff!important;border-color:#eaddec!important;color:#513b61!important;box-shadow:0 5px 16px rgba(87,48,112,.04)}
.tbw-occasion-pills span:nth-child(5n+1){border-color:rgba(255,107,53,.45)!important}.tbw-occasion-pills span:nth-child(5n+2){border-color:rgba(255,61,141,.42)!important}.tbw-occasion-pills span:nth-child(5n+3){border-color:rgba(255,209,102,.75)!important}.tbw-occasion-pills span:nth-child(5n+4){border-color:rgba(45,212,191,.50)!important}.tbw-occasion-pills span:nth-child(5n+5){border-color:rgba(109,61,245,.40)!important}
.tbw-start-section{background:linear-gradient(135deg,#fff0d6 0%,#ffe7f1 45%,#e7fbf7 100%)!important;border:1px solid rgba(109,61,245,.10)}
.tbw-start-copy h2{color:#24123a!important}.tbw-interest-form{border-color:#eaddec!important;box-shadow:0 18px 45px rgba(87,48,112,.08)}
.tbw-home-footer{background:linear-gradient(100deg,#1a0f2d,#32164b)!important}

/* ══════════════════════════════
   v1.1.4 — EDITORIAL MAGAZINE TYPOGRAPHY
   Inspired by the supplied red/white travel magazine: tall condensed display
   headlines + clean modern sans body copy. Bebas Neue + Inter on the web.
══════════════════════════════ */
#tbw-wrap,
.tbw-reveal-screen,
.tbw-home-page {
  font-family: 'Inter', Arial, sans-serif !important;
}

/* Tall editorial display type */
#tbw-wrap .tbw-title,
#tbw-wrap .tbw-form-title,
.tbw-reveal-inner h1,
.tbw-home-hero h1,
.tbw-home-section h2,
.tbw-start-copy h2,
.tbw-showcase-main h3,
#tbw-wrap .tbw-photo-initials,
.tbw-showcase-initials,
.tbw-step-grid h3,
.tbw-feature-grid h3 {
  font-family: 'Bebas Neue', 'Arial Narrow', Arial, sans-serif !important;
  font-weight: 400 !important;
  font-style: normal !important;
  text-transform: uppercase !important;
  letter-spacing: .012em !important;
}

#tbw-wrap .tbw-title {
  font-size: clamp(58px, 9vw, 96px) !important;
  line-height: .88 !important;
}
.tbw-reveal-inner h1 {
  font-size: clamp(82px, 18vw, 156px) !important;
  line-height: .84 !important;
  letter-spacing: .008em !important;
}
.tbw-home-hero h1 {
  font-size: clamp(68px, 9vw, 112px) !important;
  line-height: .86 !important;
  letter-spacing: .008em !important;
}
.tbw-home-hero h1 em { font-style: normal !important; }
.tbw-home-section h2,
.tbw-start-copy h2 {
  line-height: .9 !important;
}
.tbw-showcase-main h3 { line-height:.92 !important; }

/* Clean, compact supporting typography like the magazine's decks/captions */
.tbw-brand,
.tbw-nav-links > a,
.tbw-kicker,
.tbw-mini-kicker,
#tbw-wrap .tbw-eyebrow,
#tbw-wrap .tbw-contribute-kicker,
#tbw-wrap .tbw-date-line,
#tbw-wrap .tbw-badge,
#tbw-wrap .tbw-divider-text,
.tbw-reveal-eyebrow,
#tbw-wrap .tbw-field label,
#tbw-wrap .tbw-emoji-row label,
#tbw-wrap .tbw-prompt,
#tbw-wrap .tbw-vtab,
#tbw-wrap .tbw-vid-btn,
#tbw-wrap .tbw-submit,
.tbw-primary-btn,
.tbw-secondary-btn,
.tbw-showcase-button,
.tbw-home-strip strong,
.tbw-step-grid article > span,
.tbw-occasion-pills span,
.tbw-interest-form label,
.tbw-faq-grid summary,
#tbw-wrap .tbw-card-name {
  font-family: 'Inter', Arial, sans-serif !important;
  font-weight: 800 !important;
}

.tbw-brand {
  font-size: 20px !important;
  text-transform: uppercase;
  letter-spacing: -.025em !important;
}
.tbw-nav-links > a,
.tbw-primary-btn,
.tbw-secondary-btn,
#tbw-wrap .tbw-submit,
#tbw-wrap .tbw-vid-btn,
#tbw-wrap .tbw-vtab,
#tbw-wrap .tbw-prompt,
.tbw-showcase-button {
  letter-spacing: -.01em !important;
}
.tbw-kicker,
.tbw-mini-kicker,
#tbw-wrap .tbw-eyebrow,
#tbw-wrap .tbw-contribute-kicker,
.tbw-reveal-eyebrow,
#tbw-wrap .tbw-date-line {
  font-size: 11px !important;
  letter-spacing: .13em !important;
  text-transform: uppercase !important;
}

/* Body copy stays crisp and editorial. */
#tbw-wrap p,
#tbw-wrap input,
#tbw-wrap textarea,
#tbw-wrap .tbw-form-sub,
#tbw-wrap .tbw-subtitle,
.tbw-home-lede,
.tbw-section-heading p,
.tbw-step-grid p,
.tbw-feature-grid p,
.tbw-start-copy p,
.tbw-faq-grid p,
.tbw-interest-form input,
.tbw-home-trust,
.tbw-home-strip span {
  font-family: 'Inter', Arial, sans-serif !important;
}

@media (max-width:650px) {
  .tbw-home-hero h1 { font-size: clamp(62px, 18vw, 82px) !important; }
  #tbw-wrap .tbw-title { font-size: clamp(58px, 17vw, 78px) !important; }
  .tbw-reveal-inner h1 { font-size: clamp(78px, 25vw, 118px) !important; }
}

/* ══════════════════════════════
   v1.1.5 — STANDALONE SHELL + HOMEPAGE CONTRAST/PUNCH
══════════════════════════════ */
html, body.tbw-standalone-page {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: none !important;
  overflow-x: hidden !important;
  background: #fff8ef !important;
}
body.tbw-standalone-page .tbw-standalone-shell,
body.tbw-standalone-page #tbw-wrap {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.tbw-standalone-page #wpadminbar { z-index: 999999 !important; }
body.tbw-standalone-page.admin-bar { margin-top: 0 !important; }

/* Deliberately louder CTAs — these should read as celebration actions, not pastel decoration. */
.tbw-primary-btn,
.tbw-nav-links .tbw-nav-cta,
.tbw-interest-form .tbw-primary-btn {
  background: linear-gradient(115deg,#ff4a3d 0%,#ff2f7f 55%,#d927d7 100%) !important;
  color: #fff !important;
  border: 0 !important;
  box-shadow: 0 12px 30px rgba(255,47,127,.30) !important;
  text-shadow: none !important;
  opacity: 1 !important;
}
.tbw-primary-btn:hover,
.tbw-nav-links .tbw-nav-cta:hover,
.tbw-interest-form .tbw-primary-btn:hover {
  filter: saturate(1.08) brightness(1.03) !important;
  transform: translateY(-2px);
}
.tbw-secondary-btn {
  background: #fff !important;
  color: #24123a !important;
  border: 2px solid #24123a !important;
  box-shadow: none !important;
}

/* Fix dark-section contrast after the editorial typography override. */
.tbw-inside-section .tbw-section-heading h2,
.tbw-inside-section.tbw-home-section h2,
.tbw-inside-section .tbw-feature-grid h3 {
  color: #fff !important;
}
.tbw-inside-section .tbw-section-heading p,
.tbw-inside-section .tbw-feature-grid p {
  color: rgba(255,255,255,.72) !important;
}
.tbw-inside-section .tbw-kicker {
  color: #ff5c9e !important;
}

/* Make the hero mockup feel like a designed product, not a dark placeholder. */
.tbw-hero-showcase { isolation: isolate; }
.tbw-showcase-main {
  background:
    radial-gradient(circle at 24% 16%,rgba(255,61,141,.28),transparent 30%),
    radial-gradient(circle at 84% 78%,rgba(45,212,191,.20),transparent 32%),
    linear-gradient(145deg,#4c1764 0%,#27133f 60%,#171026 100%) !important;
  border: 1px solid rgba(255,255,255,.20) !important;
  box-shadow: 0 34px 80px rgba(36,18,58,.32) !important;
}
.tbw-showcase-main::before {
  content:"";
  position:absolute;
  inset:12px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:22px;
  pointer-events:none;
}
.tbw-showcase-main > * { position:relative; z-index:1; }
.tbw-showcase-button {
  background: #ffd166 !important;
  color: #24123a !important;
  box-shadow: 0 9px 24px rgba(255,209,102,.24) !important;
}
.tbw-showcase-note,
.tbw-showcase-video {
  border: 1px solid rgba(255,255,255,.24) !important;
  box-shadow: 0 18px 40px rgba(36,18,58,.22) !important;
}

/* Editorial hero: the word BIG is the visual punchline. */
.tbw-home-hero h1 em {
  display: inline-block;
  color: transparent !important;
  background: linear-gradient(90deg,#ff4a3d 0%,#ff2f7f 48%,#7b3ff2 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
}

/* More intentional light/dark section rhythm. */
.tbw-home-how { background: rgba(255,255,255,.30); }
.tbw-step-grid article {
  background: rgba(255,255,255,.82) !important;
  border-radius: 18px !important;
}
.tbw-feature-grid article {
  background: rgba(255,255,255,.07) !important;
  border-color: rgba(255,255,255,.13) !important;
}

@media (max-width:650px) {
  .tbw-primary-btn,.tbw-secondary-btn { min-height: 46px; }
  .tbw-home-actions { gap:10px; }
}

/* v1.1.9 homepage demo avatar: keep the public sample separate from the real honoree. */
.tbw-showcase-avatar{
  width:126px;height:126px;border-radius:50%;overflow:hidden;margin:26px 0 18px;
  border:4px solid rgba(255,255,255,.86);box-shadow:0 0 0 5px rgba(255,209,102,.28),0 12px 32px rgba(0,0,0,.18);
  background:#fff;
}
.tbw-showcase-avatar img{display:block;width:100%;height:100%;object-fit:cover}
@media(max-width:650px){.tbw-showcase-avatar{width:112px;height:112px;margin:20px 0 14px}}

/* ══════════════════════════════
   v1.2.0 — HOMEPAGE HERO ART + LARGER PREVIEW
   The public homepage uses a fictional birthday-person image, a larger
   celebration card, and more breathing room above the branded navigation.
══════════════════════════════ */
.tbw-site-nav{
  padding:36px 28px 24px !important;
}
.tbw-home-hero{
  padding-top:58px !important;
  grid-template-columns:minmax(0,.98fr) minmax(440px,1.02fr) !important;
  gap:56px !important;
}
.tbw-hero-showcase{
  min-height:610px !important;
}
.tbw-showcase-main{
  width:min(100%,430px) !important;
  min-height:540px !important;
  padding:48px 38px !important;
  border-radius:32px !important;
}
.tbw-showcase-avatar{
  width:166px !important;
  height:166px !important;
  margin:28px 0 20px !important;
  border-width:5px !important;
  box-shadow:0 0 0 6px rgba(255,209,102,.30),0 16px 38px rgba(0,0,0,.22) !important;
  background:linear-gradient(145deg,#ffeff5,#ffe8c9) !important;
}
.tbw-showcase-avatar img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
}
.tbw-showcase-main h3{
  font-size:50px !important;
  margin-bottom:12px !important;
}
.tbw-showcase-main p{
  max-width:300px !important;
  font-size:17px !important;
}
.tbw-showcase-button{
  margin-top:22px !important;
  padding:13px 18px !important;
  font-size:12px !important;
}
.tbw-showcase-note,.tbw-showcase-video{
  width:205px !important;
  padding:19px !important;
}
.tbw-showcase-note{left:-28px !important;bottom:82px !important;}
.tbw-showcase-video{right:-24px !important;top:90px !important;}

@media(max-width:900px){
  .tbw-home-hero{
    grid-template-columns:1fr !important;
    padding-top:42px !important;
  }
  .tbw-hero-showcase{min-height:590px !important;}
}
@media(max-width:650px){
  .tbw-site-nav{padding:28px 20px 18px !important;}
  .tbw-home-hero{padding-top:38px !important;}
  .tbw-hero-showcase{min-height:500px !important;}
  .tbw-showcase-main{
    width:92% !important;
    min-height:465px !important;
    padding:38px 24px !important;
  }
  .tbw-showcase-avatar{
    width:136px !important;
    height:136px !important;
    margin:22px 0 16px !important;
  }
  .tbw-showcase-main h3{font-size:42px !important;}
  .tbw-showcase-main p{font-size:15px !important;}
  .tbw-showcase-note{left:0 !important;bottom:28px !important;}
  .tbw-showcase-video{right:0 !important;top:46px !important;}
}

/* ══════════════════════════════
   v1.2.1 — PRICING + CELEBRATION CLUB
   One-time Birthday Walls remain available; Celebration Club is the
   recurring option for households that celebrate throughout the year.
══════════════════════════════ */
.tbw-pricing-section{padding-top:90px!important;padding-bottom:90px!important}
.tbw-pricing-section .tbw-section-heading{max-width:790px;margin:0 auto 40px;text-align:center}
.tbw-pricing-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:stretch}
.tbw-price-card{position:relative;display:flex;flex-direction:column;min-width:0;padding:28px 24px 24px;border:1px solid #eaddec;border-radius:24px;background:rgba(255,255,255,.92);box-shadow:0 18px 50px rgba(69,35,84,.08);overflow:hidden}
.tbw-price-card h3{font-family:'Bebas Neue','Arial Narrow',sans-serif!important;font-size:30px!important;line-height:1!important;letter-spacing:.015em!important;color:#24123a!important;margin:10px 0 16px!important}
.tbw-price-label{display:inline-flex;align-self:flex-start;padding:6px 9px;border-radius:999px;background:#fff0f6;color:#e62372;font:800 10px/1 'Inter',Arial,sans-serif;text-transform:uppercase;letter-spacing:.1em}
.tbw-price{font-family:'Bebas Neue','Arial Narrow',sans-serif;font-size:54px;line-height:.92;color:#24123a;letter-spacing:-.02em}
.tbw-price sup{font-family:'Inter',Arial,sans-serif;font-size:18px;vertical-align:top;position:relative;top:8px;margin-right:2px}
.tbw-price small{font-family:'Inter',Arial,sans-serif;font-size:12px;font-weight:700;letter-spacing:0;color:#7a697f;white-space:nowrap}
.tbw-price-alt{margin-top:7px;font:600 12px/1.4 'Inter',Arial,sans-serif;color:#7a697f}.tbw-price-alt strong{color:#24123a}
.tbw-price-blurb{font-size:14px!important;line-height:1.55!important;color:#655b69!important;margin:18px 0!important}
.tbw-price-card ul{list-style:none;padding:0;margin:0 0 24px;display:grid;gap:10px}
.tbw-price-card li{position:relative;padding-left:22px;font:600 13px/1.45 'Inter',Arial,sans-serif;color:#423744}
.tbw-price-card li:before{content:'✓';position:absolute;left:0;top:0;color:#ff2f7f;font-weight:900}
.tbw-price-btn{display:flex;align-items:center;justify-content:center;min-height:44px;margin-top:auto;padding:11px 14px;border:2px solid #24123a;border-radius:12px;color:#24123a!important;background:#fff;text-decoration:none!important;font:800 12px/1 'Inter',Arial,sans-serif;transition:.2s ease}
.tbw-price-btn:hover{transform:translateY(-2px);background:#24123a;color:#fff!important}
.tbw-price-club{border:2px solid #7b3ff2;background:linear-gradient(165deg,#291441 0%,#3c1754 55%,#231137 100%);box-shadow:0 28px 70px rgba(84,40,118,.23);transform:translateY(-10px)}
.tbw-price-club h3,.tbw-price-club .tbw-price{color:#fff!important}.tbw-price-club .tbw-price-label{background:rgba(255,255,255,.11);color:#ff8dbb}.tbw-price-club .tbw-price small,.tbw-price-club .tbw-price-alt{color:rgba(255,255,255,.70)}.tbw-price-club .tbw-price-alt strong{color:#ffd166}.tbw-price-club .tbw-price-blurb,.tbw-price-club li{color:rgba(255,255,255,.82)!important}.tbw-price-club li:before{color:#2dd4bf}
.tbw-price-btn-club{border:0;background:linear-gradient(115deg,#ff4a3d 0%,#ff2f7f 52%,#d927d7 100%);color:#fff!important;box-shadow:0 12px 28px rgba(255,47,127,.28)}
.tbw-price-btn-club:hover{background:linear-gradient(115deg,#ff5b4f 0%,#ff3f89 52%,#e237df);color:#fff!important}
.tbw-club-ribbon{position:absolute;top:18px;right:-38px;width:150px;padding:7px 0;background:#ffd166;color:#24123a;text-align:center;transform:rotate(36deg);font:900 9px/1 'Inter',Arial,sans-serif;text-transform:uppercase;letter-spacing:.09em}
.tbw-price-concierge{background:linear-gradient(165deg,#fff7e3,#fff 60%)}
.tbw-club-note{max-width:900px;margin:30px auto 0;padding:18px 22px;border-radius:16px;background:#fff0d6;border:1px solid #f3d8a4;display:flex;gap:12px;align-items:flex-start;font:600 13px/1.5 'Inter',Arial,sans-serif;color:#574852}.tbw-club-note strong{white-space:nowrap;color:#24123a}.tbw-club-note span{color:#655b69}
.tbw-plan-field select{display:block;width:100%;margin-top:7px;padding:12px 38px 12px 12px;border:1px solid #d9d5cc;border-radius:10px;font:600 14px 'Inter',Arial,sans-serif;color:#24123a;background:#fff}

@media(max-width:1050px){.tbw-pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tbw-price-club{transform:none}}
@media(max-width:650px){.tbw-pricing-grid{grid-template-columns:1fr}.tbw-price-card{padding:26px 22px}.tbw-price{font-size:50px}.tbw-club-note{display:block}.tbw-club-note strong{display:block;margin-bottom:5px}}

/* ═══════════════════════════════════════════════════════════════
   v1.3.0 — THE BIRTHDAY WALL EXPERIENCE
   Contributor choices · Photo memories · Moderation · Reveal ending
═══════════════════════════════════════════════════════════════ */
#tbw-wrap .tbw-hero-kicker{
  margin:18px 0 4px;
  font:800 11px/1.2 'Inter',Arial,sans-serif;
  letter-spacing:.18em;
  color:var(--tbw-teal,#2DD4BF);
  text-transform:uppercase;
}

.tbw-reveal-photo{
  width:122px;height:122px;display:block;margin:0 auto 18px;
  border-radius:50%;object-fit:cover;object-position:center 16%;
  border:5px solid rgba(255,255,255,.92);
  box-shadow:0 0 0 7px rgba(255,107,53,.24),0 18px 60px rgba(0,0,0,.32);
}
.tbw-reveal-initials{
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(145deg,var(--tbw-coral,#FF6B35),var(--tbw-pink,#FF3D8D));
  font:900 42px/1 'Bebas Neue',Impact,sans-serif;color:#fff;
}
.tbw-reveal-note{
  margin:-12px auto 26px;
  font:700 12px/1.4 'Inter',Arial,sans-serif;
  color:rgba(255,255,255,.55);
  letter-spacing:.06em;
}

#tbw-wrap .tbw-contribution-choices{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:24px auto 22px;
  max-width:820px;
}
#tbw-wrap .tbw-choice{
  appearance:none;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.055);
  color:#fff;
  min-height:124px;
  border-radius:20px;
  padding:18px 16px;
  display:flex;flex-direction:column;align-items:flex-start;justify-content:center;
  text-align:left;cursor:pointer;
  transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease;
}
#tbw-wrap .tbw-choice:hover{transform:translateY(-2px);border-color:rgba(255,107,53,.52);background:rgba(255,255,255,.085)}
#tbw-wrap .tbw-choice.is-selected{
  border-color:var(--tbw-coral,#FF6B35);
  background:linear-gradient(145deg,rgba(255,107,53,.18),rgba(255,61,141,.13));
  box-shadow:0 12px 32px rgba(255,61,141,.12), inset 0 0 0 1px rgba(255,255,255,.08);
}
#tbw-wrap .tbw-choice>span{font-size:28px;line-height:1;margin-bottom:10px}
#tbw-wrap .tbw-choice strong{font:800 15px/1.15 'Inter',Arial,sans-serif;color:#fff}
#tbw-wrap .tbw-choice small{font:500 12px/1.35 'Inter',Arial,sans-serif;color:rgba(255,255,255,.54);margin-top:5px}

#tbw-wrap .tbw-photo-preview-wrap{
  margin-top:12px;padding:8px;border-radius:16px;
  border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);
}
#tbw-wrap .tbw-photo-preview{display:block;width:100%;max-height:360px;object-fit:cover;border-radius:12px}
#tbw-wrap .tbw-moderation-note{
  margin:12px 0 0;text-align:center;
  font:600 11px/1.45 'Inter',Arial,sans-serif;color:rgba(255,255,255,.47);
}

#tbw-wrap .tbw-thankyou-panel{
  max-width:720px;margin:0 auto;padding:44px 30px;
  text-align:center;border-radius:28px;
  border:1px solid rgba(255,255,255,.14);
  background:radial-gradient(circle at 50% 0,rgba(255,61,141,.19),transparent 48%),rgba(255,255,255,.06);
  box-shadow:0 28px 80px rgba(7,3,18,.26);
}
#tbw-wrap .tbw-thankyou-icon{
  width:72px;height:72px;margin:0 auto 18px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--tbw-coral,#FF6B35),var(--tbw-pink,#FF3D8D));
  color:#fff;font-size:28px;box-shadow:0 14px 38px rgba(255,61,141,.26);
}
#tbw-wrap .tbw-thankyou-panel h2{
  margin:9px 0 12px!important;
  font:400 clamp(42px,7vw,70px)/.98 'Bebas Neue',Impact,sans-serif!important;
  letter-spacing:.01em;color:#fff!important;
}
#tbw-wrap .tbw-thankyou-panel p{max-width:560px;margin:0 auto 24px;color:rgba(255,255,255,.7);font-size:15px;line-height:1.65}
#tbw-wrap .tbw-thankyou-actions{display:flex;flex-direction:column;align-items:center;gap:16px}
#tbw-wrap .tbw-thankyou-actions .tbw-submit{width:auto;min-width:230px;margin:0}
#tbw-wrap .tbw-secondary-link{font:700 12px/1.4 'Inter',Arial,sans-serif;color:var(--tbw-teal,#2DD4BF);text-decoration:none}
#tbw-wrap .tbw-secondary-link:hover{text-decoration:underline}

#tbw-wrap .tbw-wall-filters{
  display:flex;justify-content:center;gap:8px;flex-wrap:wrap;
  max-width:980px;margin:0 auto 28px;padding:0 14px;
}
#tbw-wrap .tbw-filter{
  appearance:none;border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.055);color:rgba(255,255,255,.7);
  border-radius:999px;padding:9px 13px;cursor:pointer;
  font:800 11px/1 'Inter',Arial,sans-serif;
  transition:all .18s ease;
}
#tbw-wrap .tbw-filter:hover,#tbw-wrap .tbw-filter.is-active{
  color:#fff;border-color:var(--tbw-coral,#FF6B35);
  background:linear-gradient(120deg,rgba(255,107,53,.22),rgba(255,61,141,.18));
}
#tbw-wrap .tbw-card-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
#tbw-wrap .tbw-card-type{
  display:inline-flex;padding:6px 9px;border-radius:999px;
  font:900 9px/1 'Inter',Arial,sans-serif;letter-spacing:.09em;text-transform:uppercase;
  background:rgba(45,212,191,.13);border:1px solid rgba(45,212,191,.25);color:var(--tbw-teal,#2DD4BF);
}
#tbw-wrap .tbw-card-topline .tbw-card-emoji{position:static!important;display:block!important;font-size:22px!important}
#tbw-wrap .tbw-card-photo{margin:16px -2px 15px}
#tbw-wrap .tbw-card-photo img{display:block;width:100%;max-height:520px;object-fit:cover;border-radius:16px;box-shadow:0 12px 35px rgba(0,0,0,.18)}
#tbw-wrap .tbw-wall.is-filter-empty:after{
  content:'Nothing in this category yet — try another one.';
  display:block;text-align:center;color:rgba(255,255,255,.55);font:700 13px 'Inter',Arial,sans-serif;
  padding:24px;column-span:all;
}

#tbw-wrap .tbw-ending{
  max-width:960px;margin:70px auto 0;padding:82px 28px 88px;text-align:center;
  border-top:1px solid rgba(255,255,255,.08);
}
#tbw-wrap .tbw-ending-spark{font-size:28px;color:var(--tbw-yellow,#F7C948);margin-bottom:12px}
#tbw-wrap .tbw-ending h2{
  margin:12px 0 18px!important;
  font:400 clamp(54px,9vw,92px)/.9 'Bebas Neue',Impact,sans-serif!important;
  color:#fff!important;letter-spacing:.01em;
}
#tbw-wrap .tbw-ending h2 span{color:var(--tbw-pink,#FF3D8D)}
#tbw-wrap .tbw-ending p{max-width:680px;margin:0 auto 28px;color:rgba(255,255,255,.68);font-size:17px;line-height:1.65}
#tbw-wrap .tbw-ending .tbw-reveal-button{position:relative;z-index:2}

@media(max-width:760px){
  #tbw-wrap .tbw-contribution-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  #tbw-wrap .tbw-choice{min-height:112px;padding:15px 13px;border-radius:16px}
  #tbw-wrap .tbw-wall-filters{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding:0 16px 8px;scrollbar-width:none}
  #tbw-wrap .tbw-wall-filters::-webkit-scrollbar{display:none}
  #tbw-wrap .tbw-filter{white-space:nowrap}
  .tbw-reveal-photo{width:102px;height:102px}
  #tbw-wrap .tbw-thankyou-panel{padding:34px 20px;border-radius:22px}
  #tbw-wrap .tbw-ending{padding:66px 20px 70px}
}
@media(max-width:430px){
  #tbw-wrap .tbw-contribution-choices{grid-template-columns:1fr 1fr}
  #tbw-wrap .tbw-choice strong{font-size:13px}
  #tbw-wrap .tbw-choice small{font-size:11px}
}


/* ═══════════════════════════════════════════════════════════════
   v1.3.6 — CUSTOM WALL IMAGERY + BLUE OVERLAY
   User-uploaded texture/photo backgrounds with adjustable blue wash.
═══════════════════════════════════════════════════════════════ */
body.tbw-fullpage{background:#03162f!important}
#tbw-wrap{
  --tbw-coral:#2563eb;
  --tbw-pink:#3b82f6;
  --tbw-yellow:#93c5fd;
  --tbw-teal:#38bdf8;
  --tbw-violet:#1d4ed8;
}
#tbw-wrap .tbw-header{
  background:
    radial-gradient(circle at 16% 10%,rgba(56,189,248,.28),transparent 28%),
    radial-gradient(circle at 86% 18%,rgba(37,99,235,.26),transparent 30%),
    linear-gradient(145deg,var(--tbw-bg,#061a33),#0a2a5b 58%,#041327 100%)!important;
}
#tbw-wrap .tbw-bottom-shell{
  background:
    radial-gradient(circle at 8% 12%,rgba(59,130,246,.20),transparent 25%),
    radial-gradient(circle at 92% 24%,rgba(56,189,248,.14),transparent 27%),
    linear-gradient(180deg,#092752 0%,#061a33 55%,#031226 100%)!important;
}
#tbw-wrap .tbw-wall-footer{background:#021022!important}
#tbw-wrap .tbw-photo-initials{background:linear-gradient(145deg,#1d4ed8,#38bdf8)!important}
#tbw-wrap .tbw-photo{box-shadow:0 0 0 5px rgba(37,99,235,.82),0 0 0 9px rgba(56,189,248,.28),0 26px 70px rgba(0,0,0,.45)!important}
#tbw-wrap .tbw-photo-glow{background:linear-gradient(90deg,#1d4ed8,#38bdf8,#60a5fa)!important}
#tbw-wrap .tbw-badge{border-color:rgba(96,165,250,.55)!important;color:#bfdbfe!important}
#tbw-wrap .tbw-gold{color:var(--tbw-accent,#2563eb)!important}
#tbw-wrap .tbw-date-line,#tbw-wrap .tbw-contribute-kicker{color:var(--tbw-accent-soft,#38bdf8)!important}
#tbw-wrap .tbw-vid-btn-red,#tbw-wrap .tbw-submit{background:linear-gradient(120deg,#1d4ed8,#2563eb 55%,#38bdf8)!important;box-shadow:0 13px 34px rgba(37,99,235,.28)!important}
#tbw-wrap .tbw-divider-text{color:#93c5fd!important}
#tbw-wrap .tbw-card-name{color:#bfdbfe!important}
#tbw-wrap .tbw-choice.is-selected{border-color:#38bdf8!important;background:linear-gradient(145deg,rgba(37,99,235,.24),rgba(56,189,248,.13))!important;box-shadow:0 12px 32px rgba(37,99,235,.16),inset 0 0 0 1px rgba(255,255,255,.08)!important}
#tbw-wrap .tbw-filter:hover,#tbw-wrap .tbw-filter.is-active{border-color:#38bdf8!important;background:linear-gradient(120deg,rgba(37,99,235,.28),rgba(56,189,248,.18))!important}

/* Custom Wall photo/texture. Child sections stay translucent so imagery reads through. */
#tbw-wrap.tbw-has-custom-bg{
  background:
    radial-gradient(circle at 8% 12%,rgba(59,130,246,.20),transparent 25%),
    radial-gradient(circle at 92% 24%,rgba(56,189,248,.14),transparent 27%),
    linear-gradient(180deg,#092752 0%,#061a33 55%,#031226 100%)!important;
}
#tbw-wrap.tbw-has-custom-bg .tbw-header{
  background:
    radial-gradient(circle at 14% 12%,rgba(56,189,248,.23),transparent 28%),
    radial-gradient(circle at 86% 18%,rgba(37,99,235,.22),transparent 30%),
    linear-gradient(145deg,#061a33,#0a2a5b 60%,#031226)!important;
}
#tbw-wrap.tbw-has-custom-bg .tbw-bottom-shell{
  background:
    linear-gradient(rgba(var(--tbw-wall-overlay-rgb,6,26,51),calc(var(--tbw-wall-overlay-alpha,.82) * .86)),rgba(2,16,34,.95)),
    var(--tbw-wall-bg-image)!important;
  background-size:cover!important;
  background-position:center,var(--tbw-wall-bg-pos,center 22%)!important;
  background-attachment:fixed!important;
  background-repeat:no-repeat!important;
}

#tbw-wrap.tbw-has-custom-bg .tbw-form-card,
#tbw-wrap.tbw-has-custom-bg .tbw-choice,
#tbw-wrap.tbw-has-custom-bg .tbw-card{
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

/* Recipient reveal can use its own image, or automatically inherit the Wall image. */
.tbw-reveal-screen{
  background:
    radial-gradient(circle at 20% 14%,rgba(56,189,248,.25),transparent 28%),
    radial-gradient(circle at 82% 18%,rgba(37,99,235,.28),transparent 30%),
    linear-gradient(145deg,#061a33,#0a2a5b 60%,#031226)!important;
}
.tbw-reveal-screen.tbw-has-custom-reveal-bg{
  background:
    radial-gradient(circle at 20% 14%,rgba(56,189,248,.20),transparent 28%),
    linear-gradient(rgba(var(--tbw-reveal-overlay-rgb,6,26,51),var(--tbw-reveal-overlay-alpha,.86)),rgba(var(--tbw-reveal-overlay-rgb,6,26,51),var(--tbw-reveal-overlay-alpha,.86))),
    var(--tbw-reveal-bg-image)!important;
  background-size:cover!important;
  background-position:center,center,var(--tbw-reveal-bg-pos,center center)!important;
  background-repeat:no-repeat!important;
}
.tbw-reveal-spark{color:#93c5fd!important}.tbw-reveal-eyebrow{color:#38bdf8!important}.tbw-reveal-button{background:linear-gradient(120deg,#1d4ed8,#2563eb 55%,#38bdf8)!important;color:#fff!important;box-shadow:0 16px 46px rgba(37,99,235,.34)!important}.tbw-reveal-photo{box-shadow:0 0 0 7px rgba(37,99,235,.35),0 18px 60px rgba(0,0,0,.38)!important}

@media(max-width:760px){
  #tbw-wrap.tbw-has-custom-bg,#tbw-wrap.tbw-has-custom-bg .tbw-bottom-shell{background-attachment:scroll!important}
}


/* ══════════════════════════════
   v1.3.11 — PORTRAIT VIDEO RECORDER
   Phone-first recording window with a review-before-post workflow.
══════════════════════════════ */
#tbw-wrap #tbw-preview-wrap,
#tbw-wrap #tbw-recorded-wrap{
  width:100%;
  text-align:center;
}
#tbw-wrap #tbw-camera-preview,
#tbw-wrap #tbw-recorded-preview{
  width:min(100%,340px)!important;
  height:auto!important;
  max-height:none!important;
  aspect-ratio:9/16!important;
  object-fit:cover!important;
  display:block;
  margin:12px auto!important;
  border-radius:26px!important;
  background:#020609!important;
  box-shadow:0 20px 55px rgba(0,0,0,.34),0 0 0 1px rgba(147,197,253,.20);
}
#tbw-wrap #tbw-camera-preview{transform:scaleX(-1)}
#tbw-wrap #tbw-recorded-preview{transform:none}
#tbw-wrap #tbw-preview-wrap .tbw-video-action-row,
#tbw-wrap #tbw-recorded-wrap .tbw-video-action-row{
  justify-content:center;
}
#tbw-wrap #tbw-rec-indicator{
  width:max-content;
  margin:8px auto 12px!important;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(239,68,68,.13);
}
@media(max-width:480px){
  #tbw-wrap #tbw-camera-preview,
  #tbw-wrap #tbw-recorded-preview{width:min(100%,300px)!important;border-radius:22px!important}
}


/* v1.3.12 hard override — phone-first portrait recorder */
#tbw-wrap #tbw-preview-wrap,
#tbw-wrap #tbw-recorded-wrap{display:block;max-width:100%;margin-inline:auto;text-align:center}
#tbw-wrap #tbw-camera-preview,
#tbw-wrap #tbw-recorded-preview{
  width:300px!important;
  max-width:82vw!important;
  height:auto!important;
  max-height:68vh!important;
  aspect-ratio:9/16!important;
  object-fit:cover!important;
  object-position:center 28%!important;
  margin:14px auto!important;
  border-radius:24px!important;
  background:#020609!important;
}
#tbw-wrap #tbw-camera-preview{transform:scaleX(-1)!important}
#tbw-wrap #tbw-recorded-preview{transform:none!important}
#tbw-wrap #tbw-preview-wrap .tbw-video-action-row,
#tbw-wrap #tbw-recorded-wrap .tbw-video-action-row{display:flex!important;justify-content:center!important;gap:10px!important;flex-wrap:wrap!important}
@media(max-width:520px){
 #tbw-wrap #tbw-camera-preview,
 #tbw-wrap #tbw-recorded-preview{width:260px!important;max-width:78vw!important;max-height:64vh!important;border-radius:20px!important}
}


/* ══════════════════════════════
   v1.3.13 — NATURAL PORTRAIT CAMERA + TRUE VIDEO RATIO
   Never crop/zoom the user's camera feed. Keep a portrait phone frame while
   showing the full native camera image. Wall videos use their real ratio.
══════════════════════════════ */
#tbw-wrap #tbw-camera-preview,
#tbw-wrap #tbw-recorded-preview{
  width:300px!important;
  max-width:82vw!important;
  aspect-ratio:9/16!important;
  height:auto!important;
  max-height:68vh!important;
  object-fit:contain!important;
  object-position:center center!important;
  background:#000!important;
}
#tbw-wrap #tbw-camera-preview{transform:scaleX(-1)!important}
#tbw-wrap #tbw-recorded-preview{transform:none!important}

/* Do not force posted videos into the old 4:5 frame. A portrait recording
   should stay portrait; landscape uploads remain landscape. */
#tbw-wrap .tbw-card-video{
  width:min(100%,380px)!important;
  margin:16px auto 0!important;
  background:#000!important;
  border-radius:16px!important;
  overflow:hidden!important;
}
#tbw-wrap .tbw-card-video video,
#tbw-wrap .tbw-card-video .tbw-wall-video{
  display:block!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:auto!important;
  max-height:76vh!important;
  object-fit:contain!important;
  object-position:center center!important;
  margin:0!important;
  background:#000!important;
  border-radius:16px!important;
}
@media(max-width:520px){
  #tbw-wrap #tbw-camera-preview,
  #tbw-wrap #tbw-recorded-preview{
    width:280px!important;
    max-width:84vw!important;
    max-height:66vh!important;
  }
  #tbw-wrap .tbw-card-video{width:min(100%,340px)!important;}
  #tbw-wrap .tbw-card-video video,
  #tbw-wrap .tbw-card-video .tbw-wall-video{max-height:70vh!important;}
}

#tbw-wrap .tbw-camera-tip{margin:10px auto 2px;max-width:380px;text-align:center;color:rgba(255,255,255,.65);font:600 12px/1.45 'Inter',Arial,sans-serif;}


/* ══════════════════════════════
   v1.3.14 — FIT-ON-SCREEN PORTRAIT RECORDER + PORTRAIT WALL PLAYER
   Size the live/review recorder by HEIGHT first so the entire 9:16 phone frame
   stays visible on smaller screens. Posted video wishes keep the same portrait
   presentation instead of falling back to a wide player.
══════════════════════════════ */
#tbw-wrap #tbw-preview-wrap,
#tbw-wrap #tbw-recorded-wrap{
  overflow:visible!important;
  text-align:center!important;
}
#tbw-wrap #tbw-camera-preview,
#tbw-wrap #tbw-recorded-preview{
  display:block;
  height:min(58vh,500px)!important;
  width:auto!important;
  max-width:86vw!important;
  aspect-ratio:9 / 16!important;
  margin:12px auto!important;
  object-fit:contain!important;
  object-position:center center!important;
  background:#000!important;
  border-radius:22px!important;
}
#tbw-wrap #tbw-camera-preview{transform:scaleX(-1)!important}
#tbw-wrap #tbw-recorded-preview{transform:none!important}

/* Every recorded birthday wish is presented in a true portrait phone frame.
   The media itself is never cropped; landscape/square sources are letterboxed
   inside the portrait frame rather than stretched or zoomed. */
#tbw-wrap .tbw-card-video{
  width:min(82vw,330px)!important;
  aspect-ratio:9 / 16!important;
  margin:18px auto 4px!important;
  background:#000!important;
  border-radius:20px!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-shadow:0 14px 38px rgba(0,0,0,.24)!important;
}
#tbw-wrap .tbw-card-video video,
#tbw-wrap .tbw-card-video .tbw-wall-video{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center center!important;
  margin:0!important;
  background:#000!important;
  border-radius:0!important;
}
@media(max-width:520px){
  #tbw-wrap #tbw-camera-preview,
  #tbw-wrap #tbw-recorded-preview{
    height:min(54vh,460px)!important;
    width:auto!important;
    max-width:82vw!important;
  }
  #tbw-wrap .tbw-card-video{
    width:min(78vw,310px)!important;
  }
}

/* v1.3.15 — ORGANIZER MODE / FRONT-END MANAGEMENT */
.tbw-organizer-toolbar{
  position:fixed;right:18px;bottom:18px;z-index:10020;display:flex;align-items:center;gap:7px;flex-wrap:wrap;
  padding:9px 10px;border:1px solid rgba(255,255,255,.18);border-radius:16px;
  background:rgba(3,18,38,.94);box-shadow:0 16px 44px rgba(0,0,0,.34);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  font-family:'Inter',Arial,sans-serif
}
.tbw-organizer-label{padding:7px 9px;color:#7dd3fc;font-size:10px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap}
.tbw-organizer-toolbar a{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 10px;border-radius:9px;background:rgba(255,255,255,.08);color:#fff!important;text-decoration:none!important;font-size:11px;font-weight:800;border:1px solid rgba(255,255,255,.10)}
.tbw-organizer-toolbar a:hover{background:#2563eb;border-color:#60a5fa}

#tbw-wrap .tbw-admin-card-actions{
  display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:14px 0 2px;padding-top:12px;border-top:1px solid rgba(255,255,255,.12)
}
#tbw-wrap .tbw-admin-card-actions button{
  appearance:none;border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:7px 10px;
  background:rgba(255,255,255,.07);color:#eaf4ff;font:800 10px/1 'Inter',Arial,sans-serif;cursor:pointer
}
#tbw-wrap .tbw-admin-card-actions button:hover{background:rgba(37,99,235,.28);border-color:#60a5fa}
#tbw-wrap .tbw-admin-card-actions .tbw-admin-delete{position:static!important;width:auto!important;height:auto!important;line-height:1!important;opacity:1!important;background:rgba(127,29,29,.34)!important;color:#fecaca!important;border-color:rgba(248,113,113,.35)!important;transform:none!important}
#tbw-wrap .tbw-admin-card-actions .tbw-admin-delete:hover{background:#991b1b!important;color:#fff!important}
#tbw-wrap .tbw-admin-card-actions .tbw-admin-hide{color:#fde68a}
#tbw-wrap .tbw-admin-card-actions button:disabled{opacity:.5;cursor:wait}

.tbw-admin-modal{position:fixed;inset:0;z-index:10050;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(1,8,20,.78);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.tbw-admin-modal-card{position:relative;width:min(520px,100%);padding:26px;border:1px solid rgba(147,197,253,.28);border-radius:22px;background:#0b1f38;box-shadow:0 28px 80px rgba(0,0,0,.48);color:#fff;font-family:'Inter',Arial,sans-serif}
.tbw-admin-modal-card h3{margin:4px 0 18px;color:#fff;font-family:'Bebas Neue',Impact,sans-serif;font-size:34px;letter-spacing:.02em}
.tbw-admin-modal-kicker{color:#38bdf8;font-size:10px;font-weight:900;letter-spacing:.12em}
.tbw-admin-modal-card label{display:block;margin:0 0 14px;color:#bfdbfe;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.tbw-admin-modal-card input,.tbw-admin-modal-card textarea{box-sizing:border-box;width:100%;margin-top:7px;padding:12px 13px;border:1px solid rgba(255,255,255,.18);border-radius:11px;background:rgba(255,255,255,.07);color:#fff;font:500 14px/1.5 'Inter',Arial,sans-serif;outline:none}
.tbw-admin-modal-card input:focus,.tbw-admin-modal-card textarea:focus{border-color:#38bdf8;box-shadow:0 0 0 3px rgba(56,189,248,.12)}
.tbw-admin-modal-close{position:absolute;right:14px;top:12px;width:36px;height:36px;border:0;border-radius:50%;background:rgba(255,255,255,.08);color:#fff;font-size:24px;cursor:pointer}
.tbw-admin-modal-actions{display:flex;gap:9px;margin-top:18px}
.tbw-admin-modal-actions button{min-height:42px;padding:10px 15px;border-radius:10px;border:1px solid rgba(255,255,255,.14);font-weight:800;cursor:pointer}
.tbw-admin-save-edit{background:linear-gradient(120deg,#1d4ed8,#38bdf8);color:#fff}
.tbw-admin-cancel-edit{background:rgba(255,255,255,.07);color:#fff}

@media(max-width:640px){
  .tbw-organizer-toolbar{left:12px;right:12px;bottom:12px;justify-content:center}
  .tbw-organizer-label{width:100%;text-align:center;padding:3px 6px}
  #tbw-wrap .tbw-admin-card-actions{gap:5px}
  #tbw-wrap .tbw-admin-card-actions button{flex:1 1 auto;padding:8px 9px}
}

/* v1.3.16 — center Jabari head in circular crops */
#tbw-wrap .tbw-photo,
#tbw-wrap .tbw-reveal-photo{object-position:center 16% !important;}

/* v1.3.18 — organizer can review pending guest submissions on the live wall */
#tbw-wrap .tbw-admin-pending-badge{
  display:inline-flex;
  align-items:center;
  padding:7px 10px;
  border-radius:999px;
  background:#fef3c7;
  color:#92400e;
  font:800 11px/1 'Inter',Arial,sans-serif;
  letter-spacing:.04em;
  text-transform:uppercase;
}
#tbw-wrap .tbw-admin-approve{
  border:0;
  border-radius:999px;
  padding:8px 12px;
  background:#16a34a;
  color:#fff;
  font:800 12px/1 'Inter',Arial,sans-serif;
  cursor:pointer;
}

/* v1.3.19 — organizer video preview + mobile toolbar no longer covers videos */
#tbw-wrap .tbw-admin-preview-video{
  background:rgba(14,165,233,.16)!important;
  border-color:rgba(56,189,248,.45)!important;
  color:#bae6fd!important;
}
.tbw-admin-video-preview-card{
  width:min(620px,100%);
  max-height:92vh;
  overflow:auto;
}
.tbw-admin-preview-frame{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:12px auto 8px;
  padding:10px;
  border-radius:18px;
  background:#020617;
  border:1px solid rgba(255,255,255,.12);
}
#tbw-admin-preview-player{
  display:block;
  width:auto;
  max-width:100%;
  height:min(68vh,680px);
  max-height:68vh;
  aspect-ratio:9/16;
  object-fit:contain;
  background:#000;
  border-radius:12px;
}
.tbw-admin-preview-help{
  margin:10px 0 0;
  color:#bfdbfe;
  font:600 12px/1.5 'Inter',Arial,sans-serif;
  text-align:center;
}
@media(max-width:640px){
  .tbw-organizer-toolbar{
    position:sticky!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    top:8px!important;
    width:calc(100% - 24px)!important;
    margin:8px 12px!important;
    z-index:10020!important;
  }
  .tbw-admin-video-preview-card{
    padding:18px 14px 16px;
  }
  #tbw-admin-preview-player{
    height:min(66vh,620px);
    max-height:66vh;
  }
}
