/* V54 Synchronize Pop UI
   Upgraded festival treatment:
   - Wedding Invitation => lineup poster
   - Couple Profile => main stage
   - Detail Acara => festival area guide / map
   - QR => wristband / access pass
   - RSVP => F&B corner
   - Album => film roll
*/
body.public-ui-sync:not(.admin-body){
  --sync-pink:#f33b8f;
  --sync-green:#13c78b;
  --sync-mint:#65f0bd;
  --sync-yellow:#f8dd4a;
  --sync-orange:#ff7a1a;
  --sync-blue:#2545bb;
  --sync-red:#ef3a2d;
  --sync-ink:#22150e;
  --sync-cream:#fff2cf;
  background:var(--sync-pink)!important;
  color:var(--sync-ink)!important;
  overflow-x:hidden;
  background-image:
    radial-gradient(circle at 12% 12%, rgba(248,221,74,.85) 0 5px, transparent 6px),
    radial-gradient(circle at 88% 18%, rgba(19,199,139,.75) 0 7px, transparent 8px),
    linear-gradient(135deg, rgba(255,255,255,.12) 25%, transparent 25%),
    linear-gradient(225deg, rgba(255,255,255,.10) 25%, transparent 25%),
    linear-gradient(45deg, rgba(255,255,255,.08) 25%, transparent 25%),
    linear-gradient(315deg, rgba(255,255,255,.08) 25%, rgba(0,0,0,0) 25%);
  background-position:0 0,0 0,18px 0,18px 0,0 0,0 0;
  background-size:95px 95px,130px 130px,36px 36px,36px 36px,36px 36px,36px 36px;
}
body.public-ui-sync:not(.admin-body)::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.32;
  background:
    repeating-linear-gradient(0deg, rgba(34,21,14,.12) 0 1px, transparent 1px 4px),
    radial-gradient(circle at 20% 80%, rgba(255,122,26,.65), transparent 28%),
    radial-gradient(circle at 85% 75%, rgba(101,240,189,.58), transparent 30%);
}
body.public-ui-sync:not(.admin-body)::after{
  content:"SADDAM & AJENG  •  WEDDING FESTIVAL  •  RSVP  •  PHOTO BOOTH  •  LOVE STAGE";
  position:fixed;left:0;right:0;top:0;z-index:20;height:38px;display:flex;align-items:center;justify-content:center;
  background:var(--sync-yellow);color:var(--sync-ink);border-bottom:3px solid var(--sync-ink);
  font:950 12px/1 var(--body-font-family);letter-spacing:.14em;white-space:nowrap;overflow:hidden;text-transform:uppercase;
  box-shadow:0 8px 0 rgba(34,21,14,.18);pointer-events:none;
}
body.public-ui-sync:not(.admin-body) .container{max-width:1120px;position:relative;z-index:2}
body.public-ui-sync:not(.admin-body) section{margin:22px 0!important;padding:22px 0!important;position:relative;z-index:2}
body.public-ui-sync:not(.admin-body) .sparkle-bg{opacity:.40;mix-blend-mode:screen}

/* Cover */
body.public-ui-sync:not(.admin-body) .cover-screen{background:var(--sync-green)!important;overflow:hidden}
body.public-ui-sync:not(.admin-body) .cover-screen::before{
  opacity:.32!important;
  background:
    radial-gradient(circle at 20% 25%, var(--sync-yellow) 0 0.8rem, transparent .86rem),
    radial-gradient(circle at 80% 62%, var(--sync-pink) 0 1.1rem, transparent 1.18rem),
    repeating-linear-gradient(45deg, var(--sync-ink) 0 8px, transparent 8px 20px)!important;
}
body.public-ui-sync:not(.admin-body) .cover-card{
  width:min(92vw,660px)!important;background:var(--sync-cream)!important;color:var(--sync-ink)!important;
  border:4px solid var(--sync-ink)!important;border-radius:28px!important;
  box-shadow:14px 14px 0 var(--sync-ink),28px 28px 0 rgba(248,221,74,.95)!important;
  padding:46px!important;text-align:left!important;transform:rotate(-1.2deg);position:relative;
}
body.public-ui-sync:not(.admin-body) .cover-card::after{
  content:"LOVE EDITION";position:absolute;right:24px;top:-18px;background:var(--sync-red);color:#fff;padding:10px 14px;border:3px solid var(--sync-ink);
  border-radius:999px;font:950 11px/1 var(--body-font-family);letter-spacing:.12em;box-shadow:4px 4px 0 var(--sync-ink);transform:rotate(8deg);
}
body.public-ui-sync:not(.admin-body) .cover-card .small{
  display:inline-block;background:var(--sync-pink);color:#fff;border:3px solid var(--sync-ink);border-radius:999px;padding:8px 14px;
  box-shadow:5px 5px 0 var(--sync-ink);font-weight:950;letter-spacing:.08em;text-transform:uppercase;
}
body.public-ui-sync:not(.admin-body) .cover-card h1{
  font-family:var(--heading-font-family)!important;font-size:clamp(50px,8vw,96px)!important;line-height:.82!important;color:var(--sync-green)!important;
  text-shadow:4px 4px 0 var(--sync-ink),8px 8px 0 var(--sync-yellow)!important;letter-spacing:-.055em!important;margin:24px 0!important;
}
body.public-ui-sync:not(.admin-body) .cover-card p{color:var(--sync-ink)!important;font-weight:750!important;font-size:18px!important}

/* Shared chips / cards */
body.public-ui-sync:not(.admin-body) .eyebrow,
body.public-ui-sync:not(.admin-body) .section-title{
  font-family:var(--caption-font-family)!important;font-size:var(--caption-font-size)!important;font-style:var(--caption-font-style)!important;
  color:var(--caption-font-color)!important;display:inline-flex;align-items:center;gap:10px;background:var(--sync-yellow)!important;border:3px solid var(--sync-ink)!important;
  border-radius:999px!important;padding:10px 16px!important;box-shadow:5px 5px 0 var(--sync-ink)!important;text-transform:uppercase!important;
  letter-spacing:.08em!important;font-weight:950!important;transform:rotate(-1deg)
}
body.public-ui-sync:not(.admin-body) .card,
body.public-ui-sync:not(.admin-body) .footer-card{
  background-color:var(--section-bg-color)!important;
  background-image:var(--section-bg-image),linear-gradient(135deg, rgba(255,255,255,.82), rgba(255,242,207,.88))!important;
  background-size:cover,cover!important;background-position:center!important;color:var(--sync-ink)!important;border:4px solid var(--sync-ink)!important;
  border-radius:30px!important;box-shadow:10px 10px 0 var(--sync-ink),18px 18px 0 rgba(101,240,189,.85)!important;
  padding:34px!important;position:relative;overflow:visible!important;
}
body.public-ui-sync:not(.admin-body) .card::before,
body.public-ui-sync:not(.admin-body) .footer-card::before{
  content:"";position:absolute;inset:12px;border:2px dashed rgba(34,21,14,.20);border-radius:22px;pointer-events:none;z-index:0;
}
body.public-ui-sync:not(.admin-body) .card > *{position:relative;z-index:1}
body.public-ui-sync:not(.admin-body) h2,
body.public-ui-sync:not(.admin-body) h3{color:var(--sync-ink)!important;font-family:var(--heading-font-family)!important;font-weight:950!important;letter-spacing:-.035em!important}
body.public-ui-sync:not(.admin-body) p,
body.public-ui-sync:not(.admin-body) .lead,
body.public-ui-sync:not(.admin-body) .event-card p,
body.public-ui-sync:not(.admin-body) .footer,
body.public-ui-sync:not(.admin-body) .quran-source{color:var(--sync-ink)!important}
body.public-ui-sync:not(.admin-body) .quran-translation{color:var(--sync-orange)!important;text-shadow:none!important}
body.public-ui-sync:not(.admin-body) .btn{
  background:var(--sync-orange)!important;color:#fff!important;border:3px solid var(--sync-ink)!important;border-radius:999px!important;
  box-shadow:6px 6px 0 var(--sync-ink)!important;text-transform:uppercase!important;letter-spacing:.02em;font-weight:950!important;
  padding:14px 18px!important;transition:transform .16s ease,box-shadow .16s ease!important;
}
body.public-ui-sync:not(.admin-body) .btn:hover{transform:translate(-2px,-2px) rotate(-1deg);box-shadow:8px 8px 0 var(--sync-ink)!important}
body.public-ui-sync:not(.admin-body) .btn.secondary{background:var(--sync-cream)!important;color:var(--sync-ink)!important}
body.public-ui-sync:not(.admin-body) .twibbon-cta-hot{background:linear-gradient(135deg,var(--sync-orange),var(--sync-pink))!important;color:#fff!important;animation:syncPop 1s ease-in-out infinite!important}
body.public-ui-sync:not(.admin-body) .try-me-badge{background:#fff!important;color:var(--sync-ink)!important;border:2px solid var(--sync-ink)!important;box-shadow:3px 3px 0 var(--sync-ink)}
@keyframes syncPop{0%,100%{transform:rotate(-1deg) scale(1)}50%{transform:rotate(1deg) scale(1.045)}}
body.public-ui-sync:not(.admin-body) .event-card,
body.public-ui-sync:not(.admin-body) .wish-card,
body.public-ui-sync:not(.admin-body) .gallery-item,
body.public-ui-sync:not(.admin-body) .event-media-item,
body.public-ui-sync:not(.admin-body) .locked-name,
body.public-ui-sync:not(.admin-body) .qr-card,
body.public-ui-sync:not(.admin-body) .map-box{
  background:#fff7df!important;border:3px solid var(--sync-ink)!important;border-radius:22px!important;color:var(--sync-ink)!important;box-shadow:6px 6px 0 rgba(34,21,14,.95)!important;
}
body.public-ui-sync:not(.admin-body) input,
body.public-ui-sync:not(.admin-body) textarea,
body.public-ui-sync:not(.admin-body) select{
  background:#fffaf0!important;color:var(--sync-ink)!important;border:3px solid var(--sync-ink)!important;border-radius:16px!important;box-shadow:4px 4px 0 rgba(34,21,14,.95)!important
}
body.public-ui-sync:not(.admin-body) label{color:var(--sync-ink)!important;font-weight:900!important}
body.public-ui-sync:not(.admin-body) .floating-music{right:20px!important;bottom:20px!important;background:var(--sync-yellow)!important;color:var(--sync-ink)!important;border:3px solid var(--sync-ink)!important;border-radius:999px!important;box-shadow:6px 6px 0 var(--sync-ink)!important;font-weight:950!important}
body.public-ui-sync:not(.admin-body) .photo-lightbox{z-index:99999!important}

/* 1) Wedding Invitation = festival lineup poster */
body.public-ui-sync:not(.admin-body) .hero{padding-top:76px!important;min-height:82vh;display:flex;align-items:center;position:relative;overflow:hidden}
body.public-ui-sync:not(.admin-body) .hero::before{
  content:"LINE UP";position:absolute;left:50%;top:50px;transform:translateX(-50%) rotate(-5deg);z-index:0;color:rgba(255,242,207,.22);
  font:950 clamp(64px,15vw,210px)/.8 var(--heading-font-family);letter-spacing:-.07em;white-space:nowrap;text-shadow:4px 4px 0 rgba(34,21,14,.14)
}
body.public-ui-sync:not(.admin-body) .hero-grid{display:grid!important;grid-template-columns:minmax(0,1.02fr) minmax(300px,.78fr)!important;gap:28px!important;align-items:stretch!important;position:relative;z-index:2}
body.public-ui-sync:not(.admin-body) .hero-copy{
  background:
    radial-gradient(circle at 90% 15%, rgba(243,59,143,.18), transparent 18%),
    radial-gradient(circle at 12% 82%, rgba(19,199,139,.18), transparent 22%),
    linear-gradient(180deg, #1b120f 0%, #120d0a 100%)!important;
  border:4px solid var(--sync-ink)!important;border-radius:30px!important;box-shadow:12px 12px 0 var(--sync-ink),22px 22px 0 rgba(248,221,74,.92)!important;
  padding:40px 34px 84px!important;min-height:520px;position:relative;overflow:hidden!important;color:#fff!important;
}
body.public-ui-sync:not(.admin-body) .hero-copy::before{
  content:"WEDDING FESTIVAL 2026";position:absolute;left:18px;right:18px;top:18px;padding:8px 14px;background:var(--sync-yellow);color:var(--sync-ink);
  border:3px solid var(--sync-ink);border-radius:999px;font:950 11px/1 var(--body-font-family);letter-spacing:.14em;text-transform:uppercase;
  box-shadow:4px 4px 0 var(--sync-ink);text-align:center;
}
body.public-ui-sync:not(.admin-body) .hero-copy::after{
  content:"SPECIAL MOMENTS • AKAD • RESEPSI • RSVP • TWIBBON";position:absolute;left:0;right:0;bottom:0;padding:12px 18px;
  background:repeating-linear-gradient(90deg, var(--sync-red) 0 22px, var(--sync-pink) 22px 44px);border-top:3px solid var(--sync-ink);
  font:900 12px/1 var(--body-font-family);letter-spacing:.09em;color:#fff;text-align:center;
}
body.public-ui-sync:not(.admin-body) .hero-copy .eyebrow{
  margin-top:48px!important;background:var(--sync-green)!important;color:var(--sync-ink)!important;box-shadow:4px 4px 0 var(--sync-yellow)!important;position:relative;
}
body.public-ui-sync:not(.admin-body) .hero-copy .eyebrow::after{
  content:"HEADLINER";display:inline-flex;align-items:center;justify-content:center;margin-left:6px;background:var(--sync-pink);color:#fff;padding:6px 8px;border:2px solid var(--sync-ink);
  border-radius:999px;font:900 9px/1 var(--body-font-family);letter-spacing:.12em;box-shadow:2px 2px 0 var(--sync-ink);
}
body.public-ui-sync:not(.admin-body) .hero-copy h1{
  font-family:var(--heading-font-family)!important;font-size:clamp(58px,8.8vw,110px)!important;line-height:.78!important;color:var(--sync-yellow)!important;
  text-shadow:3px 3px 0 var(--sync-orange),6px 6px 0 var(--sync-pink)!important;letter-spacing:-.06em!important;margin:18px 0 14px!important;text-transform:uppercase;
}
body.public-ui-sync:not(.admin-body) .hero-copy .lead{
  color:#fff8e3!important;font-size:16px!important;max-width:42ch;border-left:4px solid var(--sync-pink);padding-left:14px;position:relative;
}
body.public-ui-sync:not(.admin-body) .hero-copy .lead::before{
  content:"MAIN LINEUP";display:block;margin-bottom:10px;color:var(--sync-green);font:900 12px/1 var(--body-font-family);letter-spacing:.14em;text-transform:uppercase;
}
body.public-ui-sync:not(.admin-body) .hero-copy .date{
  display:inline-block;background:var(--sync-pink);border:3px solid var(--sync-ink);border-radius:16px;padding:10px 15px;color:#fff!important;
  box-shadow:5px 5px 0 var(--sync-yellow);font-weight:950!important;transform:rotate(-1deg);margin-top:8px;
}
body.public-ui-sync:not(.admin-body) .guest-chip{
  display:inline-flex!important;width:max-content;max-width:100%;border:3px solid var(--sync-ink)!important;background:#fff!important;color:var(--sync-ink)!important;
  border-radius:999px!important;box-shadow:5px 5px 0 var(--sync-green)!important;font-weight:950;padding:11px 16px!important;margin-top:18px!important;
}
body.public-ui-sync:not(.admin-body) .hero-copy > div[style*="display:flex"]{padding-top:10px;margin-top:auto!important}
body.public-ui-sync:not(.admin-body) .hero-copy .btn:first-child{background:var(--sync-green)!important;color:var(--sync-ink)!important}
body.public-ui-sync:not(.admin-body) .hero-img{
  min-height:520px;border-radius:30px!important;border:4px solid var(--sync-ink)!important;box-shadow:12px 12px 0 var(--sync-ink),22px 22px 0 rgba(19,199,139,.9)!important;
  background:linear-gradient(145deg,#fff5dc,#ffe7b1)!important;overflow:hidden;position:relative!important;transform:rotate(1deg);
}
body.public-ui-sync:not(.admin-body) .hero-img::before{
  content:"HEADLINER VISUAL";position:absolute;left:16px;top:16px;z-index:3;background:var(--sync-pink);color:#fff;border:3px solid var(--sync-ink);
  border-radius:999px;padding:8px 12px;font:950 11px/1 var(--body-font-family);letter-spacing:.14em;box-shadow:4px 4px 0 var(--sync-ink)
}
body.public-ui-sync:not(.admin-body) .hero-img::after{
  content:"SATURDAY • LOVE STAGE";position:absolute;left:0;right:0;bottom:0;z-index:3;padding:14px 20px;background:linear-gradient(90deg,var(--sync-green),var(--sync-yellow));
  border-top:3px solid var(--sync-ink);font:950 12px/1 var(--body-font-family);letter-spacing:.14em;color:var(--sync-ink);text-align:center;
}
body.public-ui-sync:not(.admin-body) .hero-img img,
body.public-ui-sync:not(.admin-body) .hero-img video{width:100%;height:100%;object-fit:cover!important;filter:saturate(1.25) contrast(1.05);transform:scale(1.03)!important}

/* 2) Mempelai = main stage */
body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-card{
  background:linear-gradient(180deg,#120f16 0%,#241a28 58%,#2f2234 100%)!important;color:#fff!important;border-color:var(--sync-ink)!important;
  box-shadow:12px 12px 0 var(--sync-ink),22px 22px 0 rgba(243,59,143,.55)!important;overflow:hidden!important;
}
body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-card::before{
  content:"";inset:0!important;border:none!important;border-radius:0!important;
  background:
    radial-gradient(circle at 18% 0%, rgba(248,221,74,.45), transparent 18%),
    radial-gradient(circle at 82% 0%, rgba(101,240,189,.32), transparent 18%),
    linear-gradient(180deg, rgba(255,255,255,.06), transparent 45%);
  pointer-events:none;
}
body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-card::after{
  content:"";position:absolute;left:30px;right:30px;top:54px;height:12px;z-index:1;
  background:repeating-linear-gradient(90deg,var(--sync-yellow) 0 14px, transparent 14px 24px), linear-gradient(90deg,var(--sync-ink),var(--sync-ink));
  background-size:auto auto,100% 4px;background-repeat:no-repeat;background-position:0 0,0 4px;
  box-shadow:0 110px 0 -2px rgba(255,255,255,.06);
}
body.public-ui-sync:not(.admin-body) #couple-profile .eyebrow{background:var(--sync-yellow)!important;color:var(--sync-ink)!important;position:relative;z-index:2}
body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-grid{position:relative;padding-top:24px;align-items:end!important}
body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-grid::before{
  content:"";position:absolute;left:0;right:0;top:34px;height:180px;
  background:
    radial-gradient(circle at 15% 0%, rgba(248,221,74,.65), transparent 18%),
    radial-gradient(circle at 50% 0%, rgba(243,59,143,.55), transparent 22%),
    radial-gradient(circle at 85% 0%, rgba(101,240,189,.48), transparent 18%);
  pointer-events:none;filter:blur(2px)
}
body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-grid::after{
  content:"";position:absolute;left:22px;right:22px;bottom:0;height:16px;background:repeating-linear-gradient(90deg,#000 0 28px,#f8dd4a 28px 56px);border-radius:999px;box-shadow:0 -4px 0 rgba(255,255,255,.08)
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-person-card{
  background:linear-gradient(180deg,#fffdf2,#ffe7b1)!important;border:4px solid var(--sync-ink)!important;border-radius:28px 28px 18px 18px!important;
  box-shadow:8px 8px 0 var(--sync-ink)!important;padding:18px!important;position:relative;overflow:hidden!important;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-person-card::before{
  content:"MAIN STAGE";position:absolute;left:14px;top:14px;background:var(--sync-red);color:#fff;padding:6px 10px;border:2px solid var(--sync-ink);
  border-radius:999px;font:900 10px/1 var(--body-font-family);letter-spacing:.11em;box-shadow:3px 3px 0 var(--sync-ink)
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-person-card::after{
  content:"";position:absolute;left:12px;right:12px;bottom:12px;height:12px;border-radius:999px;background:linear-gradient(90deg,var(--sync-pink),var(--sync-yellow),var(--sync-green));opacity:.55;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-photo-frame{
  border:4px solid var(--sync-ink)!important;border-radius:24px!important;background:#fff7df!important;box-shadow:6px 6px 0 var(--sync-ink)!important;margin-top:18px;position:relative;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-photo-frame::before{
  content:"";position:absolute;left:-8px;right:-8px;top:-8px;height:16px;background:repeating-linear-gradient(90deg,var(--sync-ink) 0 16px, transparent 16px 26px);opacity:.20;border-radius:999px;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-photo-frame img{filter:saturate(1.08) contrast(1.03)}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-copy{padding-top:8px}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-role{
  display:inline-flex;background:var(--sync-green);color:var(--sync-ink)!important;border:2px solid var(--sync-ink);border-radius:999px;padding:6px 10px;font-weight:950;letter-spacing:.08em;text-transform:uppercase
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-copy h2{color:var(--sync-red)!important;text-shadow:2px 2px 0 var(--sync-yellow)}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-copy p{color:var(--sync-ink)!important}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-and-symbol{align-self:center;color:var(--sync-yellow)!important;font-size:72px!important;text-shadow:4px 4px 0 var(--sync-red),8px 8px 0 rgba(0,0,0,.35)!important}

/* 3) Detail acara = festival map / area guide */
body.public-ui-sync:not(.admin-body) #event .card{
  background:linear-gradient(180deg,#fffaf0,#ffefc8)!important;box-shadow:10px 10px 0 var(--sync-ink),18px 18px 0 rgba(37,69,187,.55)!important;
}
body.public-ui-sync:not(.admin-body) #event .card::before{
  inset:14px!important;border:2px dashed rgba(37,69,187,.35)!important;border-radius:22px;
  background:
    linear-gradient(transparent 95%, rgba(34,21,14,.08) 96%),
    linear-gradient(90deg, transparent 95%, rgba(34,21,14,.08) 96%);
  background-size:42px 42px,42px 42px;
}
body.public-ui-sync:not(.admin-body) #event .card::after{
  content:"AREA GUIDE";position:absolute;right:26px;top:-18px;background:var(--sync-blue);color:#fff;padding:10px 14px;border:3px solid var(--sync-ink);border-radius:999px;
  font:950 11px/1 var(--body-font-family);letter-spacing:.12em;box-shadow:4px 4px 0 var(--sync-ink);transform:rotate(8deg);z-index:3;
}
body.public-ui-sync:not(.admin-body) #event .section-title{background:var(--sync-blue)!important;color:#fff!important;box-shadow:5px 5px 0 var(--sync-yellow)!important}
body.public-ui-sync:not(.admin-body) #event .two-col{gap:16px!important}
body.public-ui-sync:not(.admin-body) #event .event-card{
  background:#fffdf4!important;border:3px solid var(--sync-ink)!important;border-radius:22px!important;box-shadow:6px 6px 0 rgba(34,21,14,.95)!important;position:relative;padding-top:44px!important;transform:none!important;
}
body.public-ui-sync:not(.admin-body) #event .event-card::before{
  position:absolute;left:16px;top:12px;background:var(--sync-pink);color:#fff;border:2px solid var(--sync-ink);border-radius:999px;padding:6px 10px;
  font:900 10px/1 var(--body-font-family);letter-spacing:.12em;box-shadow:3px 3px 0 var(--sync-ink)
}
body.public-ui-sync:not(.admin-body) #event .event-card:first-child::before{content:"AREA A"}
body.public-ui-sync:not(.admin-body) #event .event-card:last-child::before{content:"AREA B"}
body.public-ui-sync:not(.admin-body) #event .event-card::after{
  content:"";position:absolute;right:14px;top:16px;width:18px;height:18px;border-radius:50%;background:var(--sync-green);border:2px solid var(--sync-ink);box-shadow:0 0 0 5px rgba(19,199,139,.18)
}
body.public-ui-sync:not(.admin-body) #event .event-card h3{color:var(--sync-blue)!important}
body.public-ui-sync:not(.admin-body) #event h3[style]{display:inline-block;background:var(--sync-green);padding:10px 14px;border:3px solid var(--sync-ink);border-radius:999px;box-shadow:4px 4px 0 var(--sync-ink)}
body.public-ui-sync:not(.admin-body) #event .map-box{
  border-style:dashed!important;border-width:3px!important;border-color:var(--sync-blue)!important;background:#fff!important;box-shadow:6px 6px 0 rgba(37,69,187,.35)!important;position:relative;overflow:hidden;
}
body.public-ui-sync:not(.admin-body) #event .map-box::before{
  content:"YOU ARE HERE";position:absolute;left:16px;top:14px;background:var(--sync-red);color:#fff;border:2px solid var(--sync-ink);border-radius:999px;padding:6px 10px;font:900 10px/1 var(--body-font-family);letter-spacing:.12em;z-index:3;
}
body.public-ui-sync:not(.admin-body) #event .map-box::after{
  content:"↗";position:absolute;right:18px;bottom:16px;font-size:44px;line-height:1;color:rgba(37,69,187,.28);font-weight:900;pointer-events:none;
}
body.public-ui-sync:not(.admin-body) #event .event-media-grid{gap:16px!important;margin-top:18px!important}
body.public-ui-sync:not(.admin-body) #event .event-media-item{background:#fffdf2!important;position:relative;transform:none!important;padding:10px!important}
body.public-ui-sync:not(.admin-body) #event .event-media-item::before{
  content:"WAYFINDING";position:absolute;left:12px;top:12px;background:var(--sync-yellow);color:var(--sync-ink);border:2px solid var(--sync-ink);border-radius:999px;padding:5px 9px;font:900 9px/1 var(--body-font-family);letter-spacing:.12em;z-index:3;
}
body.public-ui-sync:not(.admin-body) #event .event-media-item::after{
  content:"→";position:absolute;right:14px;bottom:8px;color:rgba(37,69,187,.28);font-size:36px;font-weight:900;z-index:2;
}

/* 4) Album = roll film */
body.public-ui-sync:not(.admin-body) .album-card{overflow:visible!important}
body.public-ui-sync:not(.admin-body) .album-gallery-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;gap:18px!important;align-items:start!important;padding-top:6px}
body.public-ui-sync:not(.admin-body) .album-gallery-grid .gallery-item{
  position:relative;background:#111!important;border:3px solid var(--sync-ink)!important;border-radius:20px!important;padding:18px 10px 16px!important;box-shadow:8px 8px 0 rgba(34,21,14,.96)!important;transform:none!important;
}
body.public-ui-sync:not(.admin-body) .album-gallery-grid .gallery-item::before,
body.public-ui-sync:not(.admin-body) .album-gallery-grid .gallery-item::after{
  content:"";position:absolute;left:8px;right:8px;height:10px;background:repeating-linear-gradient(90deg,#f6e8b9 0 10px,transparent 10px 18px);opacity:.95;pointer-events:none;z-index:2;
}
body.public-ui-sync:not(.admin-body) .album-gallery-grid .gallery-item::before{top:6px}
body.public-ui-sync:not(.admin-body) .album-gallery-grid .gallery-item::after{bottom:6px}
body.public-ui-sync:not(.admin-body) .album-gallery-grid .gallery-item .gallery-zoom{display:block;background:#1b1b1b!important;border-radius:14px!important;padding:0!important;overflow:hidden!important}
body.public-ui-sync:not(.admin-body) .album-gallery-grid .gallery-item img{width:100%;aspect-ratio:3/4;object-fit:cover!important;border-radius:10px!important;border:3px solid #f6e8b9!important;filter:saturate(1.18) contrast(1.04);transition:transform .35s ease}
body.public-ui-sync:not(.admin-body) .album-gallery-grid .gallery-item:hover img{transform:scale(1.06) rotate(.8deg)}
body.public-ui-sync:not(.admin-body) .album-gallery-grid .gallery-item figcaption{color:#f6e8b9!important;font-weight:800!important;font-size:12px!important;letter-spacing:.06em;text-transform:uppercase;text-align:center;margin-top:10px}

/* 5) RSVP = festival F&B corner */
body.public-ui-sync:not(.admin-body) #rsvp .container.two-col{align-items:start!important}
body.public-ui-sync:not(.admin-body) #rsvp .container.two-col > .card:first-child{
  background:linear-gradient(180deg,#fffdf4,#ffe7b1)!important;box-shadow:10px 10px 0 var(--sync-ink),18px 18px 0 rgba(255,122,26,.5)!important;overflow:hidden!important;
}
body.public-ui-sync:not(.admin-body) #rsvp .container.two-col > .card:first-child::before{
  content:"F&B CORNER • ORDER YOUR ATTENDANCE";position:absolute;left:0;right:0;top:0;inset:auto auto auto 0!important;height:auto;border:none!important;border-radius:0!important;
  background:repeating-linear-gradient(90deg,var(--sync-red) 0 24px,var(--sync-yellow) 24px 48px);padding:14px 18px 12px;color:var(--sync-ink);font:950 12px/1 var(--body-font-family);letter-spacing:.14em;text-transform:uppercase;z-index:1;
}
body.public-ui-sync:not(.admin-body) #rsvp .container.two-col > .card:first-child::after{
  content:"MENU";position:absolute;right:18px;top:52px;background:var(--sync-green);color:var(--sync-ink);border:2px solid var(--sync-ink);border-radius:999px;padding:6px 10px;font:900 10px/1 var(--body-font-family);letter-spacing:.12em;box-shadow:3px 3px 0 var(--sync-ink);z-index:2;
}
body.public-ui-sync:not(.admin-body) #rsvp .container.two-col > .card:first-child > *{position:relative;z-index:2}
body.public-ui-sync:not(.admin-body) #rsvp .container.two-col > .card:first-child .section-title{margin-top:34px!important;background:var(--sync-green)!important;color:var(--sync-ink)!important}
body.public-ui-sync:not(.admin-body) #rsvp .locked-guest-box{background:#fff!important;border:3px dashed var(--sync-ink)!important;border-radius:18px!important;box-shadow:4px 4px 0 var(--sync-ink)!important}
body.public-ui-sync:not(.admin-body) #rsvp .form-grid{gap:14px!important}
body.public-ui-sync:not(.admin-body) #rsvp .form-hint{display:inline-block;background:var(--sync-yellow);padding:8px 12px;border:2px solid var(--sync-ink);border-radius:999px;font-weight:800;color:var(--sync-ink)!important;width:max-content}
body.public-ui-sync:not(.admin-body) #rsvp .wish-card{background:linear-gradient(180deg,#fffdf4,#fff0ca)!important}

/* 6) QR = wristband / access pass */
body.public-ui-sync:not(.admin-body) #checkin.card{
  background:linear-gradient(135deg,#fff6da,#ffe7b3)!important;box-shadow:10px 10px 0 var(--sync-ink),18px 18px 0 rgba(19,199,139,.5)!important;overflow:hidden!important;
}
body.public-ui-sync:not(.admin-body) #checkin.card::before{
  content:"ALL ACCESS • LOVE PASS";position:absolute;left:0;right:0;top:0;inset:auto auto auto 0!important;height:auto;border:none!important;border-radius:0!important;
  background:linear-gradient(90deg,var(--sync-blue),var(--sync-pink));padding:14px 18px 12px;color:#fff;font:950 12px/1 var(--body-font-family);letter-spacing:.16em;text-transform:uppercase;z-index:1;
}
body.public-ui-sync:not(.admin-body) #checkin.card::after{
  content:"ACCESS AREA";position:absolute;right:18px;top:52px;background:var(--sync-yellow);color:var(--sync-ink);border:2px solid var(--sync-ink);border-radius:999px;padding:6px 10px;font:900 10px/1 var(--body-font-family);letter-spacing:.12em;box-shadow:3px 3px 0 var(--sync-ink);z-index:2;
}
body.public-ui-sync:not(.admin-body) #checkin.card > *{position:relative;z-index:2}
body.public-ui-sync:not(.admin-body) #checkin .section-title{margin-top:34px!important;background:var(--sync-yellow)!important;color:var(--sync-ink)!important}
body.public-ui-sync:not(.admin-body) #checkin .qr-wrap{position:relative;padding-left:18px}
body.public-ui-sync:not(.admin-body) #checkin .qr-wrap::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:repeating-linear-gradient(180deg,var(--sync-ink) 0 10px,transparent 10px 18px);border-radius:999px}
body.public-ui-sync:not(.admin-body) #checkin .qr-card{background:#fff!important;border:3px solid var(--sync-ink)!important;border-radius:22px!important;box-shadow:6px 6px 0 var(--sync-ink)!important;position:relative;padding:16px!important}
body.public-ui-sync:not(.admin-body) #checkin .qr-card::before{content:"WRISTBAND";position:absolute;left:12px;top:12px;background:var(--sync-green);color:var(--sync-ink);border:2px solid var(--sync-ink);border-radius:999px;padding:6px 10px;font:900 10px/1 var(--body-font-family);letter-spacing:.12em}
body.public-ui-sync:not(.admin-body) #checkin .qr-card img{margin-top:28px}
body.public-ui-sync:not(.admin-body) #checkin .notice{background:#fff!important;border:2px dashed var(--sync-ink)!important;color:var(--sync-ink)!important}

/* Misc */
body.public-ui-sync:not(.admin-body) .event-media-item img,
body.public-ui-sync:not(.admin-body) .gallery-grid:not(.album-gallery-grid) img{border-radius:15px!important;filter:saturate(1.18) contrast(1.04);transition:transform .35s ease}
body.public-ui-sync:not(.admin-body) .event-media-item:hover img{transform:scale(1.06) rotate(.5deg)}
body.public-ui-sync:not(.admin-body) .profile-mobile-slide-left.is-visible,
body.public-ui-sync:not(.admin-body) .profile-mobile-slide-right.is-visible{will-change:transform,opacity}
body.public-ui-sync:not(.admin-body) .album-scratch-lock{background:linear-gradient(135deg,var(--sync-yellow),var(--sync-mint))!important;border:4px solid var(--sync-ink)!important;border-radius:28px!important;box-shadow:8px 8px 0 var(--sync-ink)!important;color:var(--sync-ink)!important}
body.public-ui-sync:not(.admin-body) .scratch-copy h3{color:var(--sync-orange)!important;text-shadow:2px 2px 0 var(--sync-cream)}

@media(max-width:980px){
  body.public-ui-sync:not(.admin-body)::after{height:32px;font-size:9px;justify-content:flex-start;padding-left:14px;overflow:hidden}
  body.public-ui-sync:not(.admin-body) .hero{padding-top:58px!important;min-height:auto!important}
  body.public-ui-sync:not(.admin-body) .hero-grid{grid-template-columns:1fr!important;gap:22px!important}
  body.public-ui-sync:not(.admin-body) .hero-copy{padding:28px 22px 84px!important;min-height:auto!important;box-shadow:8px 8px 0 var(--sync-ink),14px 14px 0 rgba(248,221,74,.92)!important}
  body.public-ui-sync:not(.admin-body) .hero-copy::before{left:12px;right:12px;top:12px;font-size:10px}
  body.public-ui-sync:not(.admin-body) .hero-copy .eyebrow{margin-top:42px!important}
  body.public-ui-sync:not(.admin-body) .hero h1{font-size:clamp(48px,16vw,80px)!important}
  body.public-ui-sync:not(.admin-body) .hero-img{min-height:340px!important;border-radius:26px!important;box-shadow:8px 8px 0 var(--sync-ink),14px 14px 0 rgba(19,199,139,.95)!important}
  body.public-ui-sync:not(.admin-body) .card{padding:26px 20px!important;border-radius:24px!important;box-shadow:7px 7px 0 var(--sync-ink)!important}
  body.public-ui-sync:not(.admin-body) .cover-card{padding:36px 26px!important;box-shadow:9px 9px 0 var(--sync-ink),16px 16px 0 rgba(248,221,74,.95)!important}
  body.public-ui-sync:not(.admin-body) #couple-profile .profile-and-symbol{font-size:54px!important;margin:4px 0}
  body.public-ui-sync:not(.admin-body) #event .card::after{right:16px;top:-14px;font-size:10px;padding:8px 10px}
  body.public-ui-sync:not(.admin-body) .album-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
  body.public-ui-sync:not(.admin-body) .album-gallery-grid .gallery-item{padding:16px 8px 14px!important;border-radius:18px!important}
  body.public-ui-sync:not(.admin-body) .album-gallery-grid .gallery-item::before,
  body.public-ui-sync:not(.admin-body) .album-gallery-grid .gallery-item::after{left:6px;right:6px}
}

/* ===== V55 refinements requested by user ===== */
/* Hero mobile cleanup */
body.public-ui-sync:not(.admin-body) .hero-copy .eyebrow{max-width:100%;position:relative;z-index:2}
body.public-ui-sync:not(.admin-body) .hero-copy .eyebrow::after{white-space:nowrap}
body.public-ui-sync:not(.admin-body) .hero-copy h1{word-break:break-word}

/* Couple profile cleaner backdrop */
body.public-ui-sync:not(.admin-body) #couple-profile .profile-person-card{
  background:
    linear-gradient(180deg,#fffef8 0%,#fff3d4 100%)!important;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-person-card::after{
  content:"";position:absolute;left:18px;right:18px;bottom:14px;height:10px;border-radius:999px;
  background:linear-gradient(90deg,rgba(243,59,143,.58),rgba(248,221,74,.7),rgba(19,199,139,.58));opacity:.95;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-photo-frame{
  background:linear-gradient(180deg,#fffdf5,#fff6df)!important;
  box-shadow:6px 6px 0 var(--sync-ink)!important,0 0 0 10px rgba(255,255,255,.14) inset!important;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-copy{
  background:linear-gradient(180deg,rgba(255,255,255,.58),rgba(255,255,255,.15));
  border-radius:18px;padding:12px 12px 10px;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-copy h2{
  text-shadow:2px 2px 0 rgba(248,221,74,.75)!important;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-copy p{max-width:100%}

/* Event badges smaller and cleaner */
body.public-ui-sync:not(.admin-body) #event .event-card{padding-top:62px!important}
body.public-ui-sync:not(.admin-body) #event .event-card::before{
  left:14px;top:12px;padding:5px 12px;font-size:8px;line-height:1;border-width:2px;box-shadow:2px 2px 0 var(--sync-ink);z-index:3;
}
body.public-ui-sync:not(.admin-body) #event .event-card h3{margin-top:0;padding-top:0;position:relative;z-index:2}
body.public-ui-sync:not(.admin-body) #event .event-card::after{right:12px;top:14px;width:16px;height:16px}

/* RSVP area instead of F&B corner */
body.public-ui-sync:not(.admin-body) #rsvp .container.two-col > .card:first-child::before{
  content:"RSVP AREA • CONFIRM YOUR ATTENDANCE";
  background:repeating-linear-gradient(90deg,var(--sync-blue) 0 24px,var(--sync-yellow) 24px 48px) !important;
  color:#fff7ef;
}
body.public-ui-sync:not(.admin-body) #rsvp .container.two-col > .card:first-child::after{
  content:"RSVP AREA";
  background:var(--sync-green);color:var(--sync-ink);
}

/* QR mobile / general cleanup */
body.public-ui-sync:not(.admin-body) #checkin.card{padding-top:88px!important}
body.public-ui-sync:not(.admin-body) #checkin.card::before{padding:12px 16px 10px}
body.public-ui-sync:not(.admin-body) #checkin.card::after{top:50px}
body.public-ui-sync:not(.admin-body) #checkin .section-title{display:inline-flex;max-width:calc(100% - 10px);line-height:1.02}
body.public-ui-sync:not(.admin-body) #checkin .qr-wrap{gap:16px;align-items:start}
body.public-ui-sync:not(.admin-body) #checkin .qr-card{padding:18px 16px 16px!important}
body.public-ui-sync:not(.admin-body) #checkin .qr-card::before{font-size:9px;padding:5px 9px}

/* Gift area => merch area */
body.public-ui-sync:not(.admin-body) #gift .card{
  background:linear-gradient(180deg,#fffef7,#fff1c9)!important;
  box-shadow:10px 10px 0 var(--sync-ink),18px 18px 0 rgba(243,59,143,.42)!important;
  overflow:hidden!important;
}
body.public-ui-sync:not(.admin-body) #gift .card::before{
  content:"MERCH AREA • WEDDING GIFT";position:absolute;left:0;right:0;top:0;inset:auto auto auto 0!important;height:auto;border:none!important;border-radius:0!important;
  background:repeating-linear-gradient(90deg,var(--sync-pink) 0 24px,var(--sync-yellow) 24px 48px);padding:14px 18px 12px;color:var(--sync-ink);font:950 12px/1 var(--body-font-family);letter-spacing:.14em;text-transform:uppercase;z-index:1;
}
body.public-ui-sync:not(.admin-body) #gift .card > *{position:relative;z-index:2}
body.public-ui-sync:not(.admin-body) #gift .gift-grid{grid-template-columns:250px 1fr;gap:22px;align-items:center}
body.public-ui-sync:not(.admin-body) #gift .qr-card{
  background:linear-gradient(180deg,#fff,#fff8e8)!important;border:3px solid var(--sync-ink)!important;box-shadow:6px 6px 0 var(--sync-ink)!important;position:relative;padding:16px!important;
}
body.public-ui-sync:not(.admin-body) #gift .qr-card::before{
  content:"OFFICIAL MERCH";position:absolute;left:12px;top:12px;background:var(--sync-green);color:var(--sync-ink);border:2px solid var(--sync-ink);border-radius:999px;padding:6px 10px;font:900 10px/1 var(--body-font-family);letter-spacing:.12em;
}
body.public-ui-sync:not(.admin-body) #gift .qr-card img{margin-top:28px}
body.public-ui-sync:not(.admin-body) #gift .section-title{margin-top:24px!important;background:var(--sync-yellow)!important;color:var(--sync-ink)!important}
/* body.public-ui-sync:not(.admin-body) #gift .lead::before{
  content:"Bawa pulang sedikit kenangan dari hari bahagia kami.";display:block;margin-bottom:10px;color:var(--sync-blue);font:900 12px/1.4 var(--body-font-family);letter-spacing:.08em;text-transform:uppercase;
} */

@media(max-width:980px){
  /* Hero fixes */
  body.public-ui-sync:not(.admin-body) .hero-copy .eyebrow{
    display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:10px 14px 12px!important;max-width:82%;
  }
  body.public-ui-sync:not(.admin-body) .hero-copy .eyebrow::after{
    margin-left:0;display:inline-flex;align-items:center;justify-content:center;font-size:8px;padding:5px 8px;box-shadow:2px 2px 0 var(--sync-ink);
  }
  body.public-ui-sync:not(.admin-body) .hero-copy h1{
    font-size:clamp(42px,14vw,68px)!important;line-height:.88!important;letter-spacing:-.05em!important;
  }
  body.public-ui-sync:not(.admin-body) .hero-copy .lead{font-size:15px!important}
  body.public-ui-sync:not(.admin-body) .hero-copy::before{font-size:9px;letter-spacing:.1em;padding:7px 10px}
  body.public-ui-sync:not(.admin-body) .hero-img::before,body.public-ui-sync:not(.admin-body) .hero-img::after{font-size:10px}

  /* Couple profile less intrusive */
  body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-grid::before{height:120px;opacity:.65}
  body.public-ui-sync:not(.admin-body) #couple-profile .profile-person-card{padding:14px 14px 18px!important}
  body.public-ui-sync:not(.admin-body) #couple-profile .profile-person-card::before{font-size:9px;padding:5px 8px}
  body.public-ui-sync:not(.admin-body) #couple-profile .profile-copy{margin-top:8px;padding:10px 10px 8px}

  /* Detail acara badges */
  body.public-ui-sync:not(.admin-body) #event .event-card{padding-top:56px!important}
  body.public-ui-sync:not(.admin-body) #event .event-card::before{top:10px;left:12px;font-size:8px;padding:5px 10px}
  body.public-ui-sync:not(.admin-body) #event h3[style]{padding:8px 12px;font-size:16px}
  body.public-ui-sync:not(.admin-body) #event .section-title{max-width:calc(100% - 100px);line-height:1}
  body.public-ui-sync:not(.admin-body) #event .card::after{right:12px;top:-12px;padding:7px 10px;font-size:9px}

  /* RSVP area */
  body.public-ui-sync:not(.admin-body) #rsvp .container.two-col > .card:first-child{padding-top:86px!important}
  body.public-ui-sync:not(.admin-body) #rsvp .container.two-col > .card:first-child::before{font-size:10px;line-height:1.2;padding:12px 14px 10px}
  body.public-ui-sync:not(.admin-body) #rsvp .container.two-col > .card:first-child::after{top:52px;right:14px;font-size:9px;padding:5px 8px}
  body.public-ui-sync:not(.admin-body) #rsvp .container.two-col > .card:first-child .section-title{margin-top:8px!important;max-width:calc(100% - 20px);line-height:1.02}

  /* QR check-in cleanup */
  body.public-ui-sync:not(.admin-body) #checkin.card{padding-top:88px!important}
  body.public-ui-sync:not(.admin-body) #checkin.card::before{font-size:10px;line-height:1.2;padding:12px 14px 10px}
  body.public-ui-sync:not(.admin-body) #checkin.card::after{top:52px;right:12px;font-size:9px;padding:5px 8px;box-shadow:2px 2px 0 var(--sync-ink)}
  body.public-ui-sync:not(.admin-body) #checkin .section-title{margin-top:0!important;max-width:calc(100% - 18px);font-size:clamp(20px,8.8vw,34px)!important;padding:10px 14px!important}
  body.public-ui-sync:not(.admin-body) #checkin .qr-wrap{padding-left:0;gap:14px}
  body.public-ui-sync:not(.admin-body) #checkin .qr-wrap::before{display:none}
  body.public-ui-sync:not(.admin-body) #checkin .qr-card{padding-top:16px!important}

  /* Gift / merch area */
  body.public-ui-sync:not(.admin-body) #gift .card{padding-top:82px!important}
  body.public-ui-sync:not(.admin-body) #gift .card::before{font-size:10px;line-height:1.2;padding:12px 14px 10px}
  body.public-ui-sync:not(.admin-body) #gift .gift-grid{grid-template-columns:1fr;gap:16px}
  body.public-ui-sync:not(.admin-body) #gift .section-title{margin-top:0!important;max-width:calc(100% - 18px);line-height:1.02}
}

/* ===== V56 deeper festival polish + RSVP/QR mobile fix ===== */
/* Hero poster tuning */
body.public-ui-sync:not(.admin-body) .hero-copy{
  background-image:
    radial-gradient(circle at 92% 14%, rgba(243,59,143,.22), transparent 18%),
    radial-gradient(circle at 11% 84%, rgba(19,199,139,.18), transparent 24%),
    repeating-linear-gradient(180deg, rgba(255,255,255,.02) 0 1px, transparent 1px 48px),
    linear-gradient(180deg, #1b120f 0%, #120d0a 100%)!important;
}
body.public-ui-sync:not(.admin-body) .hero-copy h1{max-width:8ch}
body.public-ui-sync:not(.admin-body) .hero-copy .guest-chip{font-size:14px}

/* Couple profile more like performer cards */
body.public-ui-sync:not(.admin-body) #couple-profile .profile-person-card{
  display:flex;flex-direction:column;justify-content:flex-start;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-role{box-shadow:2px 2px 0 var(--sync-ink)}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-copy::before{
  content:"PERFORMER BIO";display:block;margin-bottom:10px;color:var(--sync-blue);font:900 10px/1 var(--body-font-family);letter-spacing:.14em;text-transform:uppercase;
}

/* Event map feeling */
body.public-ui-sync:not(.admin-body) #event .map-box{min-height:280px}
body.public-ui-sync:not(.admin-body) #event .map-box iframe{border-radius:18px}

/* RSVP AREA redesigned */
body.public-ui-sync:not(.admin-body) #rsvp .container.two-col > .card:first-child{
  background:
    radial-gradient(circle at 92% 12%, rgba(19,199,139,.14), transparent 16%),
    linear-gradient(180deg,#fffdf4 0%,#ffe6b5 100%)!important;
  box-shadow:10px 10px 0 var(--sync-ink),18px 18px 0 rgba(37,69,187,.35)!important;
  position:relative;overflow:hidden!important;padding-top:92px!important;
}
body.public-ui-sync:not(.admin-body) #rsvp .container.two-col > .card:first-child .section-title{
  background:var(--sync-green)!important;color:var(--sync-ink)!important;box-shadow:5px 5px 0 var(--sync-ink)!important;
}
body.public-ui-sync:not(.admin-body) #rsvp .container.two-col > .card:first-child .lead{
  margin-top:14px!important;background:rgba(255,255,255,.55);border:2px dashed rgba(34,21,14,.32);padding:14px 16px;border-radius:18px;color:var(--sync-ink)!important;
}
body.public-ui-sync:not(.admin-body) #rsvp .form-grid{
  background:rgba(255,255,255,.55);border:3px solid var(--sync-ink);border-radius:22px;padding:18px;box-shadow:5px 5px 0 rgba(34,21,14,.95);
}
body.public-ui-sync:not(.admin-body) #rsvp .form-grid > *{width:100%}
body.public-ui-sync:not(.admin-body) #rsvp .form-grid input,
body.public-ui-sync:not(.admin-body) #rsvp .form-grid select,
body.public-ui-sync:not(.admin-body) #rsvp .form-grid textarea{
  width:100%!important;display:block!important;font-size:15px!important;padding:14px 14px!important;
}
body.public-ui-sync:not(.admin-body) #rsvp .locked-guest-box{
  display:grid;gap:4px;padding:14px 16px;background:#fffef7!important;border:3px dashed var(--sync-ink)!important;border-radius:18px!important;box-shadow:4px 4px 0 var(--sync-ink)!important;
}
body.public-ui-sync:not(.admin-body) #rsvp .locked-guest-box span{font:900 11px/1 var(--body-font-family);letter-spacing:.12em;text-transform:uppercase;color:var(--sync-blue)!important}
body.public-ui-sync:not(.admin-body) #rsvp .locked-guest-box strong{font-size:18px;color:var(--sync-ink)!important}
body.public-ui-sync:not(.admin-body) #rsvp .form-hint{margin-top:-4px}
body.public-ui-sync:not(.admin-body) #rsvp .form-grid .btn{justify-content:center;min-height:56px}

/* QR ACCESS PASS redesigned */
body.public-ui-sync:not(.admin-body) #checkin.card{
  background:
    radial-gradient(circle at 88% 10%, rgba(243,59,143,.16), transparent 18%),
    linear-gradient(180deg,#fff9e6 0%,#ffe8b5 100%)!important;
  box-shadow:10px 10px 0 var(--sync-ink),18px 18px 0 rgba(19,199,139,.36)!important;
  position:relative;overflow:hidden!important;padding-top:92px!important;
}
body.public-ui-sync:not(.admin-body) #checkin .section-title{
  background:var(--sync-yellow)!important;color:var(--sync-ink)!important;box-shadow:5px 5px 0 var(--sync-ink)!important;
}
body.public-ui-sync:not(.admin-body) #checkin .qr-wrap{
  grid-template-columns:minmax(0,220px) minmax(0,1fr)!important;gap:18px!important;align-items:start!important;
}
body.public-ui-sync:not(.admin-body) #checkin .qr-card{
  min-width:0;display:flex;align-items:center;justify-content:center;min-height:254px;background:linear-gradient(180deg,#fff,#fff8e8)!important;
}
body.public-ui-sync:not(.admin-body) #checkin .qr-card img{width:min(100%,210px);height:auto;display:block}
body.public-ui-sync:not(.admin-body) #checkin .qr-wrap > div:last-child{
  background:rgba(255,255,255,.56);border:3px solid var(--sync-ink);border-radius:22px;padding:16px 16px 14px;box-shadow:5px 5px 0 rgba(34,21,14,.95);
}
body.public-ui-sync:not(.admin-body) #checkin .qr-wrap > div:last-child p{margin-top:0!important}
body.public-ui-sync:not(.admin-body) #checkin .notice{margin-top:10px!important;border-radius:16px!important;padding:12px 14px!important;box-shadow:none!important}
body.public-ui-sync:not(.admin-body) .qr-blur-overlay{border:2px dashed var(--sync-ink)!important;background:rgba(255,250,241,.85)!important}

/* Gift small tune */
body.public-ui-sync:not(.admin-body) #gift .card{padding-top:92px!important}

@media(max-width:980px){
  /* Hero mobile final cleanup */
  body.public-ui-sync:not(.admin-body) .hero-copy{padding:26px 18px 74px!important}
  body.public-ui-sync:not(.admin-body) .hero-copy .eyebrow{
    max-width:100%;width:max-content;min-width:0;display:inline-flex;flex-direction:column;align-items:flex-start;line-height:1.04;border-radius:24px!important;
  }
  body.public-ui-sync:not(.admin-body) .hero-copy h1{
    max-width:100%;font-size:clamp(38px,13vw,60px)!important;line-height:.92!important;margin-top:14px!important;
  }
  body.public-ui-sync:not(.admin-body) .hero-copy .guest-chip{font-size:13px;padding:10px 13px!important;max-width:100%}
  body.public-ui-sync:not(.admin-body) .hero-copy > div[style*="display:flex"]{gap:8px!important}
  body.public-ui-sync:not(.admin-body) .hero-copy > div[style*="display:flex"] .btn{width:100%;justify-content:center;font-size:13px!important;padding:12px 14px!important;box-shadow:4px 4px 0 var(--sync-ink)!important}

  /* Couple mobile */
  body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-card{padding:22px 16px 24px!important}
  body.public-ui-sync:not(.admin-body) #couple-profile .profile-copy h2{font-size:clamp(26px,8vw,36px)!important;line-height:1.02!important}
  body.public-ui-sync:not(.admin-body) #couple-profile .profile-copy p{font-size:14px!important;line-height:1.55!important}

  /* Event mobile */
  body.public-ui-sync:not(.admin-body) #event .event-card{padding:54px 16px 16px!important}
  body.public-ui-sync:not(.admin-body) #event .event-card h3{font-size:clamp(22px,7vw,32px)!important;line-height:1.02!important}

  /* RSVP mobile more stable */
  body.public-ui-sync:not(.admin-body) #rsvp .container.two-col{gap:18px!important}
  body.public-ui-sync:not(.admin-body) #rsvp .container.two-col > .card:first-child{padding:84px 16px 18px!important}
  body.public-ui-sync:not(.admin-body) #rsvp .container.two-col > .card:first-child::before{
    font-size:9px;letter-spacing:.10em;line-height:1.2;padding:11px 12px 10px;white-space:normal;text-align:center;
  }
  body.public-ui-sync:not(.admin-body) #rsvp .container.two-col > .card:first-child::after{
    top:48px;right:12px;font-size:8px;padding:5px 8px;
  }
  body.public-ui-sync:not(.admin-body) #rsvp .container.two-col > .card:first-child .section-title{
    margin-top:4px!important;max-width:100%;width:max-content;font-size:clamp(22px,8vw,32px)!important;padding:10px 14px!important;
  }
  body.public-ui-sync:not(.admin-body) #rsvp .container.two-col > .card:first-child .lead{margin-top:12px!important;padding:12px 13px;font-size:14px!important;line-height:1.55!important}
  body.public-ui-sync:not(.admin-body) #rsvp .form-grid{padding:14px;gap:12px!important;border-radius:18px!important}
  body.public-ui-sync:not(.admin-body) #rsvp .locked-guest-box strong{font-size:16px}
  body.public-ui-sync:not(.admin-body) #rsvp .form-grid input,
  body.public-ui-sync:not(.admin-body) #rsvp .form-grid select,
  body.public-ui-sync:not(.admin-body) #rsvp .form-grid textarea{font-size:14px!important;padding:13px 12px!important;border-radius:14px!important}
  body.public-ui-sync:not(.admin-body) #rsvp .form-grid .btn{width:100%;font-size:13px!important;padding:13px 14px!important}

  /* QR mobile major fix */
  body.public-ui-sync:not(.admin-body) #checkin.card{padding:84px 16px 18px!important}
  body.public-ui-sync:not(.admin-body) #checkin.card::before{
    font-size:9px;letter-spacing:.10em;line-height:1.2;padding:11px 12px 10px;white-space:normal;text-align:center;
  }
  body.public-ui-sync:not(.admin-body) #checkin.card::after{top:48px;right:12px;font-size:8px;padding:5px 8px}
  body.public-ui-sync:not(.admin-body) #checkin .section-title{
    width:max-content;max-width:100%;font-size:clamp(22px,8vw,32px)!important;padding:10px 14px!important;margin-top:4px!important;
  }
  body.public-ui-sync:not(.admin-body) #checkin .qr-wrap{grid-template-columns:1fr!important;gap:14px!important}
  body.public-ui-sync:not(.admin-body) #checkin .qr-card{min-height:auto;padding:16px 14px!important;border-radius:20px!important}
  body.public-ui-sync:not(.admin-body) #checkin .qr-card img{width:min(100%,230px)!important;margin:26px auto 4px!important}
  body.public-ui-sync:not(.admin-body) #checkin .qr-wrap > div:last-child{padding:14px 13px 12px;border-radius:18px!important}
  body.public-ui-sync:not(.admin-body) #checkin .qr-wrap > div:last-child p,
  body.public-ui-sync:not(.admin-body) #checkin .qr-wrap > div:last-child strong,
  body.public-ui-sync:not(.admin-body) #checkin .qr-wrap > div:last-child br{font-size:14px!important;line-height:1.55!important}
  body.public-ui-sync:not(.admin-body) #checkin .notice{font-size:13px!important;line-height:1.45!important}
  body.public-ui-sync:not(.admin-body) .qr-blur-overlay strong{font-size:16px!important}
  body.public-ui-sync:not(.admin-body) .qr-blur-overlay span{font-size:12px!important}

  /* Gift mobile */
  body.public-ui-sync:not(.admin-body) #gift .card{padding:84px 16px 18px!important}
  body.public-ui-sync:not(.admin-body) #gift .card::before{font-size:9px;letter-spacing:.10em;line-height:1.2;padding:11px 12px 10px;white-space:normal;text-align:center}
  body.public-ui-sync:not(.admin-body) #gift .section-title{width:max-content;max-width:100%;font-size:clamp(22px,8vw,32px)!important;padding:10px 14px!important}
}

/* ===== V57 cleanup: remove overlapping decorative bars on RSVP / QR / Gift ===== */
/* Make these sections cleaner and remove the covered / cut-off decorations */
body.public-ui-sync:not(.admin-body) #rsvp .container.two-col > .card:first-child::before,
body.public-ui-sync:not(.admin-body) #rsvp .container.two-col > .card:first-child::after,
body.public-ui-sync:not(.admin-body) #checkin.card::before,
body.public-ui-sync:not(.admin-body) #checkin.card::after,
body.public-ui-sync:not(.admin-body) #gift .card::before{
  display:none !important;
  content:none !important;
}

body.public-ui-sync:not(.admin-body) #rsvp .container.two-col > .card:first-child,
body.public-ui-sync:not(.admin-body) #checkin.card,
body.public-ui-sync:not(.admin-body) #gift .card{
  padding-top:32px !important;
}

body.public-ui-sync:not(.admin-body) #rsvp .container.two-col > .card:first-child .section-title,
body.public-ui-sync:not(.admin-body) #checkin .section-title,
body.public-ui-sync:not(.admin-body) #gift .section-title{
  margin-top:0 !important;
  margin-bottom:16px !important;
  position:relative;
  z-index:3;
}

body.public-ui-sync:not(.admin-body) #rsvp .container.two-col > .card:first-child .lead,
body.public-ui-sync:not(.admin-body) #checkin .qr-wrap > div:last-child,
body.public-ui-sync:not(.admin-body) #gift .lead,
body.public-ui-sync:not(.admin-body) #gift p,
body.public-ui-sync:not(.admin-body) #gift strong{
  position:relative;
  z-index:2;
}

/* RSVP cleaner structure */
body.public-ui-sync:not(.admin-body) #rsvp .container.two-col > .card:first-child{
  background:linear-gradient(180deg,#fffdf4 0%,#ffe6b5 100%) !important;
}
body.public-ui-sync:not(.admin-body) #rsvp .container.two-col > .card:first-child .section-title{
  background:var(--sync-green) !important;
  color:var(--sync-ink) !important;
}

/* QR cleaner structure */
body.public-ui-sync:not(.admin-body) #checkin.card{
  background:linear-gradient(180deg,#fff9e6 0%,#ffe8b5 100%) !important;
}

/* Gift cleaner structure */
body.public-ui-sync:not(.admin-body) #gift .card{
  background:linear-gradient(180deg,#fffef7 0%,#fff1c9 100%) !important;
}
body.public-ui-sync:not(.admin-body) #gift .gift-grid{
  align-items:start !important;
}
body.public-ui-sync:not(.admin-body) #gift .qr-card{
  margin-top:4px;
}

@media(max-width:980px){
  body.public-ui-sync:not(.admin-body) #rsvp .container.two-col > .card:first-child,
  body.public-ui-sync:not(.admin-body) #checkin.card,
  body.public-ui-sync:not(.admin-body) #gift .card{
    padding-top:22px !important;
  }

  body.public-ui-sync:not(.admin-body) #rsvp .container.two-col > .card:first-child .section-title,
  body.public-ui-sync:not(.admin-body) #checkin .section-title,
  body.public-ui-sync:not(.admin-body) #gift .section-title{
    width:max-content;
    max-width:100%;
    font-size:clamp(22px,8vw,32px) !important;
    padding:10px 14px !important;
    margin-bottom:14px !important;
  }

  body.public-ui-sync:not(.admin-body) #gift .gift-grid{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }
}

/* ===== V58 couple profile beautify ===== */
body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-card{
  background:
    radial-gradient(circle at 18% 6%, rgba(248,221,74,.26), transparent 18%),
    radial-gradient(circle at 82% 10%, rgba(101,240,189,.18), transparent 18%),
    linear-gradient(180deg,#17111f 0%,#20162b 48%,#1a1324 100%) !important;
  box-shadow:10px 10px 0 var(--sync-ink),18px 18px 0 rgba(243,59,143,.35)!important;
  overflow:hidden!important;
}
body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-card::before{
  content:""!important;
  position:absolute; inset:0; z-index:0;
  background:
    radial-gradient(circle at 25% 14%, rgba(255,255,255,.14), transparent 14%),
    radial-gradient(circle at 75% 14%, rgba(255,255,255,.10), transparent 14%),
    linear-gradient(180deg, rgba(255,255,255,.05), transparent 34%);
  border:none!important;
}
body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-card::after{
  content:""!important;
  position:absolute;left:26px;right:26px;top:74px;height:6px;border-radius:999px;
  background:linear-gradient(90deg,var(--sync-yellow),var(--sync-pink),var(--sync-green));opacity:.9;box-shadow:none!important;
}
body.public-ui-sync:not(.admin-body) #couple-profile .eyebrow{
  background:var(--sync-yellow)!important;color:var(--sync-ink)!important;box-shadow:4px 4px 0 var(--sync-ink)!important;position:relative;z-index:2;
}
body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-grid{
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;
  gap:22px!important;align-items:stretch!important;position:relative;z-index:2;padding-top:18px;
}
body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-grid::before,
body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-grid::after{display:none!important;content:none!important}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-person-card{
  background:linear-gradient(180deg,#fffef8 0%,#ffeec6 100%) !important;
  border:4px solid var(--sync-ink)!important;
  border-radius:34px!important;
  box-shadow:8px 8px 0 var(--sync-ink)!important;
  padding:22px 18px 18px!important;
  position:relative; overflow:hidden!important;
  min-height:100%;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-person-card::before{
  content:"MAIN STAGE"!important;
  position:absolute;left:50%;top:14px;transform:translateX(-50%);
  background:var(--sync-red);color:#fff;padding:7px 14px;border:2px solid var(--sync-ink);border-radius:999px;
  font:900 10px/1 var(--body-font-family);letter-spacing:.12em;box-shadow:3px 3px 0 var(--sync-ink);
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-person-card::after{
  content:""!important;position:absolute;left:18px;right:18px;bottom:14px;height:10px;border-radius:999px;
  background:linear-gradient(90deg,rgba(243,59,143,.75),rgba(248,221,74,.9),rgba(19,199,139,.75));opacity:.95;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-photo-frame{
  margin-top:26px!important;
  background:linear-gradient(180deg,#fffdf8,#fff7e9)!important;
  border:4px solid var(--sync-ink)!important;
  border-radius:28px!important;
  box-shadow:6px 6px 0 var(--sync-ink)!important;
  padding:18px!important;
  position:relative;overflow:hidden!important;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-photo-frame::before{
  content:""!important;position:absolute;inset:14px 14px auto 14px;height:10px;border-radius:999px;
  background:repeating-linear-gradient(90deg,rgba(34,21,14,.12) 0 14px, transparent 14px 26px);
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-photo-frame::after{
  content:"";position:absolute;left:50%;top:42px;transform:translateX(-50%);width:76%;height:76%;
  background:linear-gradient(180deg,#ff5238 0%,#ff3d2e 100%);border-radius:999px 999px 28px 28px;z-index:0;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-photo-frame img{
  position:relative;z-index:1;display:block;width:100%;aspect-ratio:4/5;object-fit:contain!important;
  filter:saturate(1.04) contrast(1.02);border-radius:18px;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-copy{
  margin-top:14px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,249,235,.92));
  border:3px solid rgba(34,21,14,.14);
  border-radius:22px;padding:16px 16px 14px!important;text-align:center;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-copy::before{
  content:"PERFORMER BIO"!important;display:block;margin-bottom:10px;color:var(--sync-blue);
  font:900 11px/1 var(--body-font-family);letter-spacing:.16em;text-transform:uppercase;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-role{
  background:var(--sync-green)!important;color:var(--sync-ink)!important;border:2px solid var(--sync-ink)!important;
  border-radius:999px!important;padding:8px 14px!important;box-shadow:3px 3px 0 var(--sync-ink)!important;
  font-size:13px!important;letter-spacing:.05em!important;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-copy h2{
  margin:14px 0 10px!important;color:var(--sync-red)!important;text-shadow:none!important;
  font-size:clamp(30px,4vw,46px)!important;line-height:.98!important;letter-spacing:-.04em!important;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-copy p{
  color:var(--sync-ink)!important;font-size:16px!important;line-height:1.55!important;max-width:28ch;margin:0 auto!important;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-and-symbol{
  align-self:center;justify-self:center;width:72px;height:72px;display:flex;align-items:center;justify-content:center;
  background:var(--sync-cream);border:4px solid var(--sync-ink);border-radius:50%;box-shadow:6px 6px 0 var(--sync-ink);
  color:var(--sync-yellow)!important;font-size:52px!important;line-height:1;text-shadow:3px 3px 0 var(--sync-red),6px 6px 0 rgba(0,0,0,.22)!important;
}

@media(max-width:980px){
  body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-card{
    padding:22px 16px 22px!important;
  }
  body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-card::after{
    left:18px;right:18px;top:66px;height:5px;
  }
  body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-grid{
    grid-template-columns:1fr!important;gap:16px!important;padding-top:14px;
  }
  body.public-ui-sync:not(.admin-body) #couple-profile .profile-and-symbol{
    width:58px;height:58px;font-size:40px!important;box-shadow:4px 4px 0 var(--sync-ink);margin:0 auto;
  }
  body.public-ui-sync:not(.admin-body) #couple-profile .profile-person-card{
    padding:18px 14px 16px!important;border-radius:28px!important;box-shadow:6px 6px 0 var(--sync-ink)!important;
  }
  body.public-ui-sync:not(.admin-body) #couple-profile .profile-person-card::before{
    top:12px;font-size:9px;padding:6px 10px;box-shadow:2px 2px 0 var(--sync-ink);
  }
  body.public-ui-sync:not(.admin-body) #couple-profile .profile-photo-frame{
    margin-top:22px!important;padding:14px!important;border-radius:24px!important;
  }
  body.public-ui-sync:not(.admin-body) #couple-profile .profile-photo-frame::after{
    top:34px;width:82%;height:72%;
  }
  body.public-ui-sync:not(.admin-body) #couple-profile .profile-copy{
    margin-top:12px!important;padding:14px 12px 12px!important;border-radius:18px;
  }
  body.public-ui-sync:not(.admin-body) #couple-profile .profile-copy::before{
    margin-bottom:8px;font-size:10px;letter-spacing:.14em;
  }
  body.public-ui-sync:not(.admin-body) #couple-profile .profile-role{
    font-size:12px!important;padding:7px 12px!important;
  }
  body.public-ui-sync:not(.admin-body) #couple-profile .profile-copy h2{
    font-size:clamp(28px,8vw,38px)!important;line-height:1!important;margin:12px 0 8px!important;
  }
  body.public-ui-sync:not(.admin-body) #couple-profile .profile-copy p{
    font-size:14px!important;line-height:1.5!important;max-width:100%;
  }
}

/* ===== V59 total redesign: couple profile as festival artist lineup ===== */
body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-card{
  background:
    radial-gradient(circle at 18% 6%, rgba(248,221,74,.22), transparent 18%),
    radial-gradient(circle at 82% 12%, rgba(101,240,189,.16), transparent 20%),
    linear-gradient(135deg, #140f1f 0%, #201334 45%, #161126 100%) !important;
  border:4px solid var(--sync-ink)!important;
  border-radius:34px!important;
  box-shadow:12px 12px 0 var(--sync-ink),22px 22px 0 rgba(243,59,143,.25)!important;
  overflow:hidden!important;
  position:relative;
}
body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-card::before{
  content:""!important;
  position:absolute;inset:0;z-index:0;
  background:
    repeating-linear-gradient(90deg, transparent 0 72px, rgba(255,255,255,.03) 72px 73px),
    linear-gradient(180deg, rgba(255,255,255,.08), transparent 26%);
  border:none!important;
}
body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-card::after{
  content:"LOVE STAGE • WEDDING FESTIVAL • MAIN LINEUP • LOVE STAGE • WEDDING FESTIVAL"!important;
  position:absolute;left:0;right:0;bottom:0;z-index:1;
  background:repeating-linear-gradient(90deg,var(--sync-yellow) 0 22px,var(--sync-ink) 22px 44px);
  color:#fff7e6;padding:11px 16px 10px;border-top:4px solid var(--sync-ink);
  font:950 11px/1 var(--body-font-family);letter-spacing:.16em;text-transform:uppercase;text-align:center;
}
body.public-ui-sync:not(.admin-body) #couple-profile .eyebrow{
  background:var(--sync-yellow)!important;color:var(--sync-ink)!important;box-shadow:5px 5px 0 var(--sync-ink)!important;
  position:relative;z-index:3;margin-bottom:10px!important;
}
body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-grid{
  grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr)!important;
  gap:24px!important;align-items:center!important;padding:14px 0 52px!important;position:relative;z-index:2;
}
body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-grid::before,
body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-grid::after{display:none!important;content:none!important}

body.public-ui-sync:not(.admin-body) #couple-profile .profile-person-card{
  background:linear-gradient(180deg,#fffdf5 0%,#fff2cf 100%)!important;
  border:4px solid var(--sync-ink)!important;
  border-radius:28px!important;
  box-shadow:9px 9px 0 var(--sync-ink)!important;
  padding:18px 18px 20px!important;
  position:relative;overflow:hidden!important;min-height:100%;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-person-card::before{
  content:"MAIN STAGE"!important;
  position:absolute;left:18px;top:16px;z-index:4;
  background:var(--sync-red);color:#fff;padding:8px 13px;border:2px solid var(--sync-ink);border-radius:999px;
  font:900 10px/1 var(--body-font-family);letter-spacing:.14em;box-shadow:3px 3px 0 var(--sync-ink);
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-person-card::after{
  content:""!important;position:absolute;left:16px;right:16px;bottom:14px;height:8px;border-radius:999px;
  background:linear-gradient(90deg,var(--sync-pink),var(--sync-yellow),var(--sync-green));opacity:.95;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-photo-frame{
  margin-top:24px!important;
  aspect-ratio:4/4.6;
  background:
    radial-gradient(circle at 50% 38%, #ff583f 0 32%, transparent 32.5%),
    linear-gradient(180deg,#25162f 0%, #181222 100%) !important;
  border:4px solid var(--sync-ink)!important;
  border-radius:24px!important;
  box-shadow:7px 7px 0 var(--sync-ink)!important;
  position:relative;overflow:hidden!important;
  display:flex;align-items:flex-end;justify-content:center;
  padding:18px 16px 0!important;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-photo-frame::before{
  content:""!important;
  position:absolute;left:18px;right:18px;top:14px;height:10px;
  background:repeating-linear-gradient(90deg,rgba(255,255,255,.23) 0 12px, transparent 12px 24px);
  border-radius:999px;z-index:1;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-photo-frame::after{
  content:""!important;
  position:absolute;left:50%;bottom:-34px;transform:translateX(-50%);
  width:78%;height:60%;background:#ff3e2f;border:4px solid var(--sync-ink);border-bottom:none;border-radius:999px 999px 0 0;
  z-index:0;box-shadow:0 -6px 0 rgba(255,255,255,.08) inset;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-photo-frame img{
  position:relative;z-index:2;display:block;
  width:auto!important;height:86%!important;max-width:90%!important;max-height:86%!important;
  object-fit:contain!important;object-position:center bottom!important;
  filter:drop-shadow(0 14px 18px rgba(0,0,0,.28));
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-copy{
  margin-top:16px!important;
  background:#fff9ec!important;border:3px solid rgba(34,21,14,.14);border-radius:22px!important;
  padding:16px 16px 14px!important;text-align:center;position:relative;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-copy::before{
  content:"ARTIST BIO"!important;display:block;margin-bottom:10px;color:var(--sync-blue);
  font:900 11px/1 var(--body-font-family);letter-spacing:.18em;text-transform:uppercase;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-role{
  display:inline-flex!important;align-items:center;justify-content:center;
  background:var(--sync-green)!important;color:var(--sync-ink)!important;border:2px solid var(--sync-ink)!important;
  border-radius:999px!important;padding:8px 14px!important;box-shadow:3px 3px 0 var(--sync-ink)!important;
  font-weight:950!important;font-size:13px!important;letter-spacing:.04em!important;text-transform:uppercase!important;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-copy h2{
  margin:12px 0 10px!important;color:var(--sync-red)!important;
  font-family:var(--heading-font-family)!important;font-size:clamp(34px,4.6vw,54px)!important;line-height:.94!important;
  letter-spacing:-.05em!important;text-shadow:3px 3px 0 var(--sync-yellow)!important;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-copy p{
  color:var(--sync-ink)!important;font-size:16px!important;line-height:1.55!important;margin:0 auto!important;max-width:26ch;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-and-symbol{
  align-self:center;justify-self:center;position:relative;
  width:72px;height:72px;display:flex;align-items:center;justify-content:center;
  background:var(--sync-yellow);border:4px solid var(--sync-ink);border-radius:50%;box-shadow:6px 6px 0 var(--sync-ink);
  color:var(--sync-pink)!important;font-size:52px!important;line-height:1;font-weight:900;
  text-shadow:2px 2px 0 #fff,5px 5px 0 var(--sync-ink)!important;z-index:4;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-groom-card{transform:rotate(-1.3deg)}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-bride-card{transform:rotate(1.3deg)}

@media(max-width:980px){
  body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-card{
    padding:22px 16px 18px!important;
    box-shadow:8px 8px 0 var(--sync-ink),14px 14px 0 rgba(243,59,143,.22)!important;
  }
  body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-card::after{
    font-size:9px;letter-spacing:.11em;padding:9px 12px 8px;
  }
  body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-grid{
    grid-template-columns:1fr!important;gap:16px!important;padding:10px 0 40px!important;
  }
  body.public-ui-sync:not(.admin-body) #couple-profile .profile-groom-card,
  body.public-ui-sync:not(.admin-body) #couple-profile .profile-bride-card{transform:none}
  body.public-ui-sync:not(.admin-body) #couple-profile .profile-and-symbol{
    width:58px;height:58px;font-size:40px!important;box-shadow:4px 4px 0 var(--sync-ink);margin:0 auto;
  }
  body.public-ui-sync:not(.admin-body) #couple-profile .profile-person-card{
    padding:16px 14px 18px!important;border-radius:24px!important;box-shadow:6px 6px 0 var(--sync-ink)!important;
  }
  body.public-ui-sync:not(.admin-body) #couple-profile .profile-person-card::before{
    left:14px;top:14px;font-size:9px;padding:6px 10px;box-shadow:2px 2px 0 var(--sync-ink);
  }
  body.public-ui-sync:not(.admin-body) #couple-profile .profile-photo-frame{
    margin-top:22px!important;padding:16px 12px 0!important;border-radius:20px!important;aspect-ratio:4/4.9;
  }
  body.public-ui-sync:not(.admin-body) #couple-profile .profile-photo-frame::after{width:82%;height:58%;bottom:-28px}
  body.public-ui-sync:not(.admin-body) #couple-profile .profile-photo-frame img{
    height:84%!important;max-width:92%!important;max-height:84%!important;
  }
  body.public-ui-sync:not(.admin-body) #couple-profile .profile-copy{
    margin-top:14px!important;padding:14px 12px 12px!important;border-radius:18px!important;
  }
  body.public-ui-sync:not(.admin-body) #couple-profile .profile-copy::before{font-size:10px;letter-spacing:.14em;margin-bottom:8px}
  body.public-ui-sync:not(.admin-body) #couple-profile .profile-role{font-size:12px!important;padding:7px 12px!important}
  body.public-ui-sync:not(.admin-body) #couple-profile .profile-copy h2{
    font-size:clamp(30px,8.6vw,42px)!important;line-height:.98!important;margin:12px 0 8px!important;
  }
  body.public-ui-sync:not(.admin-body) #couple-profile .profile-copy p{
    font-size:14px!important;line-height:1.5!important;max-width:100%;
  }
}

/* ===== V60 repair: tidy couple section, bigger photos, cleaner mobile ===== */
body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-card{
  background:
    radial-gradient(circle at 15% 8%, rgba(248,221,74,.16), transparent 16%),
    radial-gradient(circle at 85% 10%, rgba(19,199,139,.12), transparent 18%),
    linear-gradient(180deg,#181225 0%, #1e1430 48%, #181226 100%) !important;
  border-radius:30px !important;
  box-shadow:10px 10px 0 var(--sync-ink),18px 18px 0 rgba(243,59,143,.18) !important;
  overflow:hidden !important;
}
body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-card::before{
  content:"" !important;
  position:absolute; inset:0; z-index:0;
  background:
    linear-gradient(90deg, transparent 0%, rgba(255,255,255,.035) 50%, transparent 100%),
    repeating-linear-gradient(90deg, transparent 0 96px, rgba(255,255,255,.03) 96px 97px);
}
body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-card::after{
  content:"LOVE STAGE • MAIN LINEUP • WEDDING FESTIVAL •" !important;
  position:absolute; left:0; right:0; bottom:0; z-index:1;
  background:repeating-linear-gradient(90deg,var(--sync-yellow) 0 18px, var(--sync-ink) 18px 36px);
  color:#fff8ea; border-top:3px solid var(--sync-ink);
  padding:9px 12px 8px; text-align:center;
  font:950 10px/1 var(--body-font-family); letter-spacing:.14em; text-transform:uppercase;
}
body.public-ui-sync:not(.admin-body) #couple-profile .eyebrow{
  position:relative; z-index:3; margin-bottom:12px !important;
}
body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-grid{
  grid-template-columns:minmax(0,1fr) 68px minmax(0,1fr) !important;
  gap:24px !important; align-items:center !important;
  padding:10px 0 38px !important; position:relative; z-index:2;
}
body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-grid::before,
body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-grid::after{display:none !important; content:none !important}

body.public-ui-sync:not(.admin-body) #couple-profile .profile-person-card{
  background:linear-gradient(180deg,#fffef8 0%, #fff3d6 100%) !important;
  border:4px solid var(--sync-ink) !important;
  border-radius:26px !important;
  box-shadow:8px 8px 0 var(--sync-ink) !important;
  padding:18px !important;
  overflow:hidden !important;
  min-height:100%; position:relative;
  transform:none !important;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-person-card::before{
  content:"MAIN STAGE" !important;
  position:absolute; top:14px; left:16px; z-index:4;
  background:var(--sync-red); color:#fff;
  padding:7px 12px; border:2px solid var(--sync-ink); border-radius:999px;
  font:900 10px/1 var(--body-font-family); letter-spacing:.13em; box-shadow:3px 3px 0 var(--sync-ink);
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-person-card::after{
  content:"" !important; position:absolute; left:18px; right:18px; bottom:12px; height:7px;
  background:linear-gradient(90deg,var(--sync-pink),var(--sync-yellow),var(--sync-green)); border-radius:999px; opacity:.95;
}

body.public-ui-sync:not(.admin-body) #couple-profile .profile-photo-frame{
  margin-top:22px !important;
  aspect-ratio:4 / 4.8;
  background:
    radial-gradient(ellipse at center 58%, rgba(255,90,63,.85) 0 28%, transparent 29%),
    radial-gradient(circle at center 38%, rgba(255,255,255,.22) 0 24%, transparent 44%),
    linear-gradient(180deg,#23152d 0%, #181223 100%) !important;
  border:4px solid var(--sync-ink) !important;
  border-radius:22px !important;
  box-shadow:6px 6px 0 var(--sync-ink) !important;
  display:flex; align-items:flex-end; justify-content:center;
  padding:0 14px !important; position:relative; overflow:hidden !important;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-photo-frame::before{
  content:"" !important; position:absolute; left:16px; right:16px; top:12px; height:8px;
  background:repeating-linear-gradient(90deg, rgba(255,255,255,.18) 0 12px, transparent 12px 24px);
  border-radius:999px; z-index:1;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-photo-frame::after{
  content:"" !important; position:absolute; left:50%; bottom:-22px; transform:translateX(-50%);
  width:66%; height:42%; background:#ff5038; border:4px solid var(--sync-ink); border-bottom:none;
  border-radius:999px 999px 0 0; z-index:0; opacity:.98;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-photo-frame img{
  position:relative; z-index:2;
  width:auto !important; height:92% !important; max-width:92% !important; max-height:92% !important;
  object-fit:contain !important; object-position:center bottom !important; display:block;
  filter:drop-shadow(0 8px 14px rgba(0,0,0,.25));
}

body.public-ui-sync:not(.admin-body) #couple-profile .profile-copy{
  margin-top:14px !important;
  background:#fffaf0 !important;
  border:2px solid rgba(34,21,14,.12) !important;
  border-radius:20px !important;
  padding:16px 14px 14px !important;
  text-align:center; position:relative;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-copy::before{
  content:"ARTIST BIO" !important;
  display:block; margin-bottom:10px; color:var(--sync-blue);
  font:900 11px/1 var(--body-font-family); letter-spacing:.16em; text-transform:uppercase;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-role{
  display:inline-flex !important; align-items:center; justify-content:center;
  background:var(--sync-green) !important; color:var(--sync-ink) !important;
  border:2px solid var(--sync-ink) !important; border-radius:999px !important;
  padding:8px 13px !important; box-shadow:3px 3px 0 var(--sync-ink) !important;
  font-weight:950 !important; font-size:12px !important; letter-spacing:.04em !important;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-copy h2{
  margin:12px 0 10px !important; color:var(--sync-red) !important;
  font-size:clamp(32px,4vw,48px) !important; line-height:.96 !important; letter-spacing:-.04em !important;
  text-shadow:3px 3px 0 var(--sync-yellow) !important;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-copy p{
  color:var(--sync-ink) !important; font-size:15px !important; line-height:1.55 !important;
  margin:0 auto !important; max-width:28ch;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-and-symbol{
  width:64px; height:64px; display:flex; align-items:center; justify-content:center;
  background:var(--sync-yellow); border:4px solid var(--sync-ink); border-radius:50%;
  box-shadow:5px 5px 0 var(--sync-ink);
  color:var(--sync-pink) !important; font-size:44px !important; line-height:1;
  text-shadow:2px 2px 0 #fff,4px 4px 0 var(--sync-ink) !important;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-groom-card,
body.public-ui-sync:not(.admin-body) #couple-profile .profile-bride-card{transform:none !important}

@media(max-width:980px){
  body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-card{
    padding:20px 14px 16px !important;
    box-shadow:7px 7px 0 var(--sync-ink),12px 12px 0 rgba(243,59,143,.18) !important;
  }
  body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-card::after{
    font-size:8px; letter-spacing:.1em; padding:8px 10px 7px;
  }
  body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-grid{
    grid-template-columns:1fr !important; gap:16px !important; padding:6px 0 32px !important;
  }
  body.public-ui-sync:not(.admin-body) #couple-profile .profile-and-symbol{
    width:54px; height:54px; font-size:36px !important; box-shadow:4px 4px 0 var(--sync-ink); margin:0 auto;
  }
  body.public-ui-sync:not(.admin-body) #couple-profile .profile-person-card{
    padding:15px !important; border-radius:22px !important; box-shadow:6px 6px 0 var(--sync-ink) !important;
  }
  body.public-ui-sync:not(.admin-body) #couple-profile .profile-person-card::before{
    top:12px; left:12px; font-size:8px; padding:6px 9px; box-shadow:2px 2px 0 var(--sync-ink);
  }
  body.public-ui-sync:not(.admin-body) #couple-profile .profile-photo-frame{
    margin-top:20px !important; aspect-ratio:4 / 4.6; border-radius:18px !important;
    padding:0 10px !important;
  }
  body.public-ui-sync:not(.admin-body) #couple-profile .profile-photo-frame::after{
    width:62%; height:40%; bottom:-18px;
  }
  body.public-ui-sync:not(.admin-body) #couple-profile .profile-photo-frame img{
    height:94% !important; max-width:94% !important; max-height:94% !important;
  }
  body.public-ui-sync:not(.admin-body) #couple-profile .profile-copy{
    margin-top:12px !important; padding:14px 12px 12px !important; border-radius:18px !important;
  }
  body.public-ui-sync:not(.admin-body) #couple-profile .profile-copy::before{
    font-size:10px; margin-bottom:8px; letter-spacing:.13em;
  }
  body.public-ui-sync:not(.admin-body) #couple-profile .profile-role{
    font-size:11px !important; padding:7px 12px !important;
  }
  body.public-ui-sync:not(.admin-body) #couple-profile .profile-copy h2{
    font-size:clamp(28px,8vw,40px) !important; line-height:.98 !important; margin:10px 0 8px !important;
  }
  body.public-ui-sync:not(.admin-body) #couple-profile .profile-copy p{
    font-size:14px !important; line-height:1.5 !important; max-width:100%;
  }
}

/* ===== V61 final fix: remove red blockers, enlarge couple photos, tidy layout ===== */
body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-card{
  background:
    radial-gradient(circle at 15% 8%, rgba(248,221,74,.12), transparent 16%),
    radial-gradient(circle at 85% 10%, rgba(19,199,139,.10), transparent 18%),
    linear-gradient(180deg,#181225 0%, #1d1530 52%, #191327 100%) !important;
}
body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-grid{
  grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr) !important;
  gap:22px !important;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-person-card{
  padding:18px 18px 16px !important;
  border-radius:24px !important;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-person-card::after{
  height:6px !important;
}

/* main repair: remove red blocking shapes */
body.public-ui-sync:not(.admin-body) #couple-profile .profile-photo-frame{
  margin-top:20px !important;
  aspect-ratio:4 / 4.7;
  background:linear-gradient(180deg,#241730 0%, #171222 100%) !important;
  padding:0 10px !important;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-photo-frame::after{
  display:none !important;
  content:none !important;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-photo-frame::before{
  top:10px !important;
  left:14px !important;
  right:14px !important;
  height:7px !important;
  opacity:.7;
}

/* enlarge photos significantly */
body.public-ui-sync:not(.admin-body) #couple-profile .profile-photo-frame img{
  width:auto !important;
  height:98% !important;
  max-width:98% !important;
  max-height:98% !important;
  object-fit:contain !important;
  object-position:center bottom !important;
  filter:drop-shadow(0 6px 12px rgba(0,0,0,.22));
}

/* cleaner text block */
body.public-ui-sync:not(.admin-body) #couple-profile .profile-copy{
  margin-top:12px !important;
  background:#fffaf1 !important;
  padding:14px 13px 12px !important;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-copy h2{
  font-size:clamp(30px,3.6vw,44px) !important;
  line-height:.98 !important;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-copy p{
  font-size:14px !important;
  line-height:1.5 !important;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-and-symbol{
  width:60px; height:60px; font-size:40px !important;
}

@media(max-width:980px){
  body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-grid{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }
  body.public-ui-sync:not(.admin-body) #couple-profile .profile-person-card{
    padding:14px 14px 14px !important;
    border-radius:20px !important;
  }
  body.public-ui-sync:not(.admin-body) #couple-profile .profile-photo-frame{
    margin-top:18px !important;
    aspect-ratio:4 / 4.4;
    padding:0 8px !important;
    border-radius:18px !important;
  }
  body.public-ui-sync:not(.admin-body) #couple-profile .profile-photo-frame img{
    height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
  }
  body.public-ui-sync:not(.admin-body) #couple-profile .profile-copy{
    margin-top:10px !important;
    padding:13px 12px 11px !important;
  }
  body.public-ui-sync:not(.admin-body) #couple-profile .profile-copy h2{
    font-size:clamp(28px,7.8vw,38px) !important;
  }
  body.public-ui-sync:not(.admin-body) #couple-profile .profile-copy p{
    font-size:13.5px !important;
  }
  body.public-ui-sync:not(.admin-body) #couple-profile .profile-and-symbol{
    width:52px; height:52px; font-size:34px !important;
  }
}

/* ===== V62 hard override: remove all red rounded shapes, maximize couple photos ===== */
body.public-ui-sync:not(.admin-body) #couple-profile .profile-person-card,
body.public-ui-sync:not(.admin-body) #couple-profile .profile-photo-frame,
body.public-ui-sync:not(.admin-body) #couple-profile .profile-copy{
  position:relative;
  overflow:hidden !important;
}

/* absolutely remove decorative red blockers */
body.public-ui-sync:not(.admin-body) #couple-profile .profile-photo-frame{
  background:#fffdf7 !important;
  background-image:none !important;
  padding:8px !important;
  border:4px solid var(--sync-ink) !important;
  border-radius:22px !important;
  box-shadow:6px 6px 0 var(--sync-ink) !important;
  aspect-ratio:4 / 5 !important;
  min-height:420px;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-photo-frame::before,
body.public-ui-sync:not(.admin-body) #couple-profile .profile-photo-frame::after{
  display:none !important;
  content:none !important;
  background:none !important;
}

/* enlarge photo strongly */
body.public-ui-sync:not(.admin-body) #couple-profile .profile-photo-frame img{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center top !important;
  display:block !important;
  filter:none !important;
  border-radius:14px !important;
}

/* cleaner surrounding card */
body.public-ui-sync:not(.admin-body) #couple-profile .profile-person-card{
  padding:16px !important;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-copy{
  background:#fffaf1 !important;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-copy h2{
  font-size:clamp(28px,3.6vw,42px) !important;
}

@media(max-width:980px){
  body.public-ui-sync:not(.admin-body) #couple-profile .profile-photo-frame{
    min-height:340px;
    aspect-ratio:4 / 4.9 !important;
    padding:6px !important;
    border-radius:18px !important;
  }
  body.public-ui-sync:not(.admin-body) #couple-profile .profile-photo-frame img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center top !important;
  }
}

/* ===== V63 emergency fix: remove ALL red pseudo-elements in couple cards ===== */
body.public-ui-sync:not(.admin-body) #couple-profile .profile-person-card::before,
body.public-ui-sync:not(.admin-body) #couple-profile .profile-person-card::after,
body.public-ui-sync:not(.admin-body) #couple-profile .profile-person-card:before,
body.public-ui-sync:not(.admin-body) #couple-profile .profile-person-card:after,
body.public-ui-sync:not(.admin-body) #couple-profile .profile-photo-frame::before,
body.public-ui-sync:not(.admin-body) #couple-profile .profile-photo-frame::after,
body.public-ui-sync:not(.admin-body) #couple-profile .profile-photo-frame:before,
body.public-ui-sync:not(.admin-body) #couple-profile .profile-photo-frame:after{
  display:none !important;
  content:none !important;
  opacity:0 !important;
  visibility:hidden !important;
  width:0 !important;
  height:0 !important;
  min-width:0 !important;
  min-height:0 !important;
  max-width:0 !important;
  max-height:0 !important;
  background:transparent !important;
  background-image:none !important;
  border:0 !important;
  box-shadow:none !important;
  transform:none !important;
}

/* Clean couple layout, no red stage blockers */
body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-grid{
  grid-template-columns:minmax(0,1fr) 58px minmax(0,1fr) !important;
  gap:20px !important;
  align-items:stretch !important;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-person-card{
  background:#fff9ec !important;
  background-image:none !important;
  border:4px solid var(--sync-ink) !important;
  border-radius:24px !important;
  box-shadow:7px 7px 0 var(--sync-ink) !important;
  padding:16px !important;
  overflow:hidden !important;
  transform:none !important;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-photo-frame{
  width:100% !important;
  min-height:470px !important;
  aspect-ratio:4 / 5.1 !important;
  margin:0 auto 14px !important;
  padding:0 !important;
  background:#fffdf7 !important;
  background-image:none !important;
  border:4px solid var(--sync-ink) !important;
  border-radius:20px !important;
  box-shadow:5px 5px 0 var(--sync-ink) !important;
  overflow:hidden !important;
  display:flex !important;
  align-items:stretch !important;
  justify-content:center !important;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-photo-frame img{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  min-width:100% !important;
  min-height:100% !important;
  object-fit:cover !important;
  object-position:center top !important;
  transform:scale(1.12) !important;
  transform-origin:center top !important;
  display:block !important;
  filter:none !important;
  border-radius:0 !important;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-copy{
  margin-top:0 !important;
  background:#fffaf1 !important;
  border:2px solid rgba(34,21,14,.12) !important;
  border-radius:18px !important;
  padding:14px 12px 12px !important;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-copy h2{
  font-size:clamp(28px,3.2vw,40px) !important;
  line-height:1 !important;
  text-shadow:2px 2px 0 var(--sync-yellow) !important;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-and-symbol{
  width:54px !important;
  height:54px !important;
  font-size:34px !important;
  align-self:center !important;
}

@media(max-width:980px){
  body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-grid{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }
  body.public-ui-sync:not(.admin-body) #couple-profile .profile-photo-frame{
    min-height:430px !important;
    aspect-ratio:4 / 5 !important;
    border-radius:18px !important;
  }
  body.public-ui-sync:not(.admin-body) #couple-profile .profile-photo-frame img{
    object-fit:cover !important;
    object-position:center top !important;
    transform:scale(1.15) !important;
  }
  body.public-ui-sync:not(.admin-body) #couple-profile .profile-copy h2{
    font-size:clamp(28px,8vw,38px) !important;
  }
}

/* ===== V64 minor revision: festival UI polish ===== */
body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-card{
  overflow:hidden !important;
}
body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-card::after{
  display:none !important;
  content:none !important;
}
body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-grid::before{
  content:"LOVE STAGE • MAIN LINEUP • WEDDING FESTIVAL";
  grid-column:1 / -1;
  display:block;
  margin:0 0 10px;
  text-align:center;
  color:#fff4b5;
  font:900 12px/1.2 var(--body-font-family);
  letter-spacing:.22em;
  text-transform:uppercase;
  opacity:.92;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-copy::before{
  display:none !important;
  content:none !important;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-person-card{
  position:relative;
  overflow:hidden !important;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-person-card::before{
  content:"";
  position:absolute;inset:-15%;
  background:
    radial-gradient(circle at 16% 18%, rgba(248,221,74,.20), transparent 18%),
    radial-gradient(circle at 86% 24%, rgba(19,199,139,.18), transparent 20%),
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.09), transparent 26%);
  filter:blur(8px);
  animation:syncFestivalLights 8s ease-in-out infinite alternate;
  pointer-events:none;z-index:0;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-person-card > *{position:relative;z-index:1}
@keyframes syncFestivalLights{
  0%{transform:translate3d(-3%,0,0) scale(1)}
  50%{transform:translate3d(3%,-2%,0) scale(1.06)}
  100%{transform:translate3d(-2%,2%,0) scale(1.02)}
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-photo-frame{
  min-height:420px !important;
  aspect-ratio:4/5 !important;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-photo-frame img{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center bottom !important;
}

body.public-ui-sync:not(.admin-body) #event .event-card::before{
  top:14px !important;
  left:16px !important;
  padding:8px 14px !important;
  font-size:12px !important;
}
body.public-ui-sync:not(.admin-body) #event .map-box::before{
  display:none !important;
  content:none !important;
}
body.public-ui-sync:not(.admin-body) #gift .qr-card::before{
  display:none !important;
  content:none !important;
}
body.public-ui-sync:not(.admin-body) #gift .qr-card img{margin-top:0 !important}
body.public-ui-sync:not(.admin-body) #rsvp .container.two-col > .card:first-child::before{
  content:"RSVP AREA • CONFIRM YOUR ATTENDANCE" !important;
}

@media(max-width:980px){
  body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-grid::before{
    margin:2px 0 8px;
    font-size:10px;
    letter-spacing:.16em;
  }
  body.public-ui-sync:not(.admin-body) #couple-profile .profile-photo-frame{
    min-height:320px !important;
    aspect-ratio:4/4.8 !important;
  }
  body.public-ui-sync:not(.admin-body) #event .event-card::before{
    padding:7px 12px !important;
    font-size:11px !important;
  }
}

/* ===== V65 final: bigger couple photos, festive ornaments, and admin font-size support ===== */

/* Font-size settings from admin now affect Synchronize Pop / Festival UI */
body.public-ui-sync:not(.admin-body) .hero-copy h1,
body.public-ui-sync:not(.admin-body) .cover-card h1{
  font-size:clamp(44px, 8.4vw, var(--font-size-heading, 92px)) !important;
}
body.public-ui-sync:not(.admin-body) .section-title,
body.public-ui-sync:not(.admin-body) .eyebrow{
  font-size:var(--caption-font-size, 22px) !important;
}
body.public-ui-sync:not(.admin-body) .lead,
body.public-ui-sync:not(.admin-body) p,
body.public-ui-sync:not(.admin-body) input,
body.public-ui-sync:not(.admin-body) textarea,
body.public-ui-sync:not(.admin-body) select,
body.public-ui-sync:not(.admin-body) label{
  font-size:var(--font-size-body, 16px) !important;
}
body.public-ui-sync:not(.admin-body) #event .event-card h3,
body.public-ui-sync:not(.admin-body) #event h3[style]{
  font-size:clamp(24px, 4vw, var(--font-size-event-title, 30px)) !important;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-copy h2{
  font-size:clamp(32px, 4.4vw, var(--profile-name-font-size, 48px)) !important;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-copy p{
  font-size:var(--profile-desc-font-size, 16px) !important;
}
body.public-ui-sync:not(.admin-body) .quran-translation{
  font-size:var(--arrum-font-size, 36px) !important;
}

/* Mempelai: festive ornaments, lighting, but never blocking the photo */
body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-card{
  position:relative !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 10% 12%, rgba(248,221,74,.24) 0 .55rem, transparent .62rem),
    radial-gradient(circle at 22% 78%, rgba(243,59,143,.22) 0 .48rem, transparent .56rem),
    radial-gradient(circle at 80% 16%, rgba(101,240,189,.24) 0 .55rem, transparent .62rem),
    radial-gradient(circle at 92% 74%, rgba(255,122,26,.20) 0 .5rem, transparent .58rem),
    linear-gradient(180deg,#181225 0%, #1d1530 52%, #191327 100%) !important;
}
body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-card::before{
  content:"" !important;
  display:block !important;
  visibility:visible !important;
  opacity:.75 !important;
  position:absolute !important;
  inset:0 !important;
  width:auto !important;
  height:auto !important;
  min-width:0 !important;
  min-height:0 !important;
  max-width:none !important;
  max-height:none !important;
  z-index:0 !important;
  pointer-events:none !important;
  background:
    linear-gradient(105deg, transparent 0 10%, rgba(248,221,74,.18) 10% 11%, transparent 11% 46%, rgba(19,199,139,.14) 46% 47%, transparent 47%),
    radial-gradient(circle at 18% 24%, rgba(255,255,255,.16), transparent 14%),
    radial-gradient(circle at 82% 22%, rgba(255,255,255,.12), transparent 14%),
    repeating-linear-gradient(90deg, transparent 0 72px, rgba(255,255,255,.035) 72px 73px) !important;
  animation:syncStageLightsV65 7s ease-in-out infinite alternate !important;
  transform:none !important;
  border:0 !important;
  box-shadow:none !important;
}
body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-card > *{
  position:relative;
  z-index:2;
}
body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-grid{
  position:relative !important;
  grid-template-columns:minmax(0,1fr) 58px minmax(0,1fr) !important;
  gap:22px !important;
}
body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-grid::after{
  content:"✦  ✹  ✧  ✦  ✹  ✧  ✦" !important;
  display:block !important;
  visibility:visible !important;
  opacity:.9 !important;
  grid-column:1 / -1;
  width:auto !important;
  height:auto !important;
  min-width:0 !important;
  min-height:0 !important;
  max-width:none !important;
  max-height:none !important;
  margin:8px auto 0;
  color:var(--sync-yellow);
  text-align:center;
  font-size:26px;
  letter-spacing:.42em;
  line-height:1;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  transform:none !important;
  animation:syncTwinkleV65 1.9s ease-in-out infinite alternate;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-person-card{
  background:
    radial-gradient(circle at 12% 8%, rgba(248,221,74,.22), transparent 18%),
    radial-gradient(circle at 86% 10%, rgba(19,199,139,.18), transparent 18%),
    linear-gradient(180deg,#fffdf7 0%,#fff0c7 100%) !important;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-person-card::before{
  content:"" !important;
  display:block !important;
  visibility:visible !important;
  opacity:.55 !important;
  position:absolute !important;
  inset:-20% !important;
  z-index:0 !important;
  width:auto !important;
  height:auto !important;
  min-width:0 !important;
  min-height:0 !important;
  max-width:none !important;
  max-height:none !important;
  background:
    radial-gradient(circle at 20% 25%, rgba(248,221,74,.28), transparent 18%),
    radial-gradient(circle at 78% 22%, rgba(19,199,139,.22), transparent 20%),
    radial-gradient(circle at 50% 6%, rgba(255,255,255,.18), transparent 24%) !important;
  filter:blur(10px);
  animation:syncFestivalLights 8s ease-in-out infinite alternate !important;
  pointer-events:none !important;
  border:0 !important;
  box-shadow:none !important;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-person-card > *{
  position:relative;
  z-index:1;
}

/* Bigger couple photos */
body.public-ui-sync:not(.admin-body) #couple-profile .profile-photo-frame{
  width:100% !important;
  min-height:620px !important;
  aspect-ratio:3.4 / 5.2 !important;
  margin:0 auto 14px !important;
  padding:0 !important;
  background:#fffdf7 !important;
  background-image:none !important;
  border:4px solid var(--sync-ink) !important;
  border-radius:22px !important;
  box-shadow:6px 6px 0 var(--sync-ink) !important;
  overflow:hidden !important;
  display:flex !important;
  align-items:stretch !important;
  justify-content:center !important;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-photo-frame::before,
body.public-ui-sync:not(.admin-body) #couple-profile .profile-photo-frame::after{
  display:none !important;
  content:none !important;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-photo-frame img{
  width:100% !important;
  height:100% !important;
  min-width:100% !important;
  min-height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center top !important;
  transform:scale(1.12) !important;
  transform-origin:center top !important;
  display:block !important;
  border-radius:0 !important;
  filter:none !important;
}

@keyframes syncStageLightsV65{
  0%{filter:hue-rotate(0deg) brightness(1); transform:translateX(-1%)}
  50%{filter:hue-rotate(12deg) brightness(1.12); transform:translateX(1%)}
  100%{filter:hue-rotate(-10deg) brightness(1.05); transform:translateX(0)}
}
@keyframes syncTwinkleV65{
  from{opacity:.45; transform:translateY(0) scale(.98)}
  to{opacity:1; transform:translateY(-2px) scale(1.02)}
}

@media(max-width:980px){
  body.public-ui-sync:not(.admin-body) .hero-copy h1,
  body.public-ui-sync:not(.admin-body) .cover-card h1{
    font-size:clamp(40px, 14vw, var(--font-size-heading, 92px)) !important;
  }
  body.public-ui-sync:not(.admin-body) .section-title,
  body.public-ui-sync:not(.admin-body) .eyebrow{
    font-size:clamp(18px, 7vw, var(--caption-font-size, 22px)) !important;
  }
  body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-grid{
    grid-template-columns:1fr !important;
    gap:16px !important;
  }
  body.public-ui-sync:not(.admin-body) #couple-profile .profile-photo-frame{
    min-height:520px !important;
    aspect-ratio:3.5 / 5.2 !important;
    border-radius:20px !important;
  }
  body.public-ui-sync:not(.admin-body) #couple-profile .profile-photo-frame img{
    transform:scale(1.13) !important;
    object-fit:cover !important;
    object-position:center top !important;
  }
  body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-grid::after{
    font-size:20px;
    letter-spacing:.22em;
  }
  body.public-ui-sync:not(.admin-body) #couple-profile .profile-copy h2{
    font-size:clamp(30px, 9vw, var(--profile-name-font-size, 48px)) !important;
  }
}

/* ===== V66 festival controls: photo size + font size + per-section background ===== */
body.public-ui-sync:not(.admin-body) .hero-copy h1,
body.public-ui-sync:not(.admin-body) .cover-card h1{font-size:clamp(44px,8.4vw,var(--font-size-heading,92px)) !important}
body.public-ui-sync:not(.admin-body) .section-title,
body.public-ui-sync:not(.admin-body) .eyebrow{font-size:var(--caption-font-size,22px) !important}
body.public-ui-sync:not(.admin-body) .lead,
body.public-ui-sync:not(.admin-body) p,
body.public-ui-sync:not(.admin-body) input,
body.public-ui-sync:not(.admin-body) textarea,
body.public-ui-sync:not(.admin-body) select,
body.public-ui-sync:not(.admin-body) label{font-size:var(--font-size-body,16px) !important}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-copy h2{font-size:clamp(32px,4.4vw,var(--profile-name-font-size,48px)) !important}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-copy p{font-size:var(--profile-desc-font-size,16px) !important}
body.public-ui-sync:not(.admin-body) .quran-translation{font-size:var(--arrum-font-size,36px) !important}

/* Photo size slider affects Festival UI too */
body.public-ui-sync:not(.admin-body) #couple-profile .profile-photo-frame{
  height:var(--couple-photo-size,620px) !important;
  min-height:var(--couple-photo-size,620px) !important;
  width:100% !important;
  aspect-ratio:auto !important;
}
body.public-ui-sync:not(.admin-body) #couple-profile .profile-photo-frame img{
  width:100% !important;height:100% !important;object-fit:cover !important;object-position:center top !important;transform:scale(1.12) !important;
}
body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-card::before{
  content:"" !important;display:block !important;position:absolute !important;inset:0 !important;z-index:0 !important;pointer-events:none !important;
  background:radial-gradient(circle at 12% 18%,rgba(248,221,74,.22),transparent 15%),radial-gradient(circle at 86% 18%,rgba(19,199,139,.18),transparent 17%),linear-gradient(105deg,transparent 0 18%,rgba(248,221,74,.10) 18% 19%,transparent 19% 65%,rgba(243,59,143,.10) 65% 66%,transparent 66%) !important;
  animation:syncStageLightsV66 7s ease-in-out infinite alternate !important;
}
body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-card > *{position:relative;z-index:2}
body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-grid::after{
  content:"✦  ✹  ✧  ✦  ✹  ✧  ✦" !important;display:block !important;grid-column:1 / -1;text-align:center;color:var(--sync-yellow);font-size:26px;letter-spacing:.42em;margin:8px auto 0;background:transparent !important;border:0 !important;box-shadow:none !important;animation:syncTwinkleV66 1.8s ease-in-out infinite alternate !important;
}
@keyframes syncStageLightsV66{from{filter:brightness(1);transform:translateX(-1%)}to{filter:brightness(1.15);transform:translateX(1%)}}
@keyframes syncTwinkleV66{from{opacity:.45;transform:translateY(0)}to{opacity:1;transform:translateY(-2px)}}

/* Per-section backgrounds for Festival UI, isolated per selected UI */
body.public-ui-sync:not(.admin-body) .hero-copy{background-color:var(--section-hero-bg-color)!important;background-image:linear-gradient(135deg,var(--section-hero-bg-gradient-start),var(--section-hero-bg-gradient-end)),var(--section-hero-bg-image)!important;background-size:cover,cover!important;background-position:center,center!important;background-repeat:no-repeat,no-repeat!important}
body.public-ui-sync:not(.admin-body) #quran-verse .quran-verse-card{background-color:var(--section-quran-bg-color)!important;background-image:linear-gradient(135deg,var(--section-quran-bg-gradient-start),var(--section-quran-bg-gradient-end)),var(--section-quran-bg-image)!important;background-size:cover,cover!important;background-position:center,center!important;background-repeat:no-repeat,no-repeat!important}
body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-card{background-color:var(--section-couple-bg-color)!important;background-image:linear-gradient(135deg,var(--section-couple-bg-gradient-start),var(--section-couple-bg-gradient-end)),var(--section-couple-bg-image)!important;background-size:cover,cover!important;background-position:center,center!important;background-repeat:no-repeat,no-repeat!important}
body.public-ui-sync:not(.admin-body) #event > .container > .card{background-color:var(--section-event-bg-color)!important;background-image:linear-gradient(135deg,var(--section-event-bg-gradient-start),var(--section-event-bg-gradient-end)),var(--section-event-bg-image)!important;background-size:cover,cover!important;background-position:center,center!important;background-repeat:no-repeat,no-repeat!important}
body.public-ui-sync:not(.admin-body) #album .album-card{background-color:var(--section-album-bg-color)!important;background-image:linear-gradient(135deg,var(--section-album-bg-gradient-start),var(--section-album-bg-gradient-end)),var(--section-album-bg-image)!important;background-size:cover,cover!important;background-position:center,center!important;background-repeat:no-repeat,no-repeat!important}
body.public-ui-sync:not(.admin-body) #rsvp .container > .card:first-child{background-color:var(--section-rsvp-bg-color)!important;background-image:linear-gradient(135deg,var(--section-rsvp-bg-gradient-start),var(--section-rsvp-bg-gradient-end)),var(--section-rsvp-bg-image)!important;background-size:cover,cover!important;background-position:center,center!important;background-repeat:no-repeat,no-repeat!important}
body.public-ui-sync:not(.admin-body) #checkin{background-color:var(--section-qr-bg-color)!important;background-image:linear-gradient(135deg,var(--section-qr-bg-gradient-start),var(--section-qr-bg-gradient-end)),var(--section-qr-bg-image)!important;background-size:cover,cover!important;background-position:center,center!important;background-repeat:no-repeat,no-repeat!important}
body.public-ui-sync:not(.admin-body) #wishes .card{background-color:var(--section-wishes-bg-color)!important;background-image:linear-gradient(135deg,var(--section-wishes-bg-gradient-start),var(--section-wishes-bg-gradient-end)),var(--section-wishes-bg-image)!important;background-size:cover,cover!important;background-position:center,center!important;background-repeat:no-repeat,no-repeat!important}
body.public-ui-sync:not(.admin-body) #gift .card{background-color:var(--section-gift-bg-color)!important;background-image:linear-gradient(135deg,var(--section-gift-bg-gradient-start),var(--section-gift-bg-gradient-end)),var(--section-gift-bg-image)!important;background-size:cover,cover!important;background-position:center,center!important;background-repeat:no-repeat,no-repeat!important}
body.public-ui-sync:not(.admin-body) .footer-card{background-color:var(--section-footer-bg-color)!important;background-image:linear-gradient(135deg,var(--section-footer-bg-gradient-start),var(--section-footer-bg-gradient-end)),var(--section-footer-bg-image)!important;background-size:cover,cover!important;background-position:center,center!important;background-repeat:no-repeat,no-repeat!important}

@media(max-width:980px){
  body.public-ui-sync:not(.admin-body) #couple-profile .profile-photo-frame{height:min(var(--couple-photo-size,520px),78vh) !important;min-height:min(var(--couple-photo-size,520px),78vh) !important}
  body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-grid::after{font-size:20px;letter-spacing:.22em}
}


/* ===== V67: hard fix per-section backgrounds, letter-style cover, adjustable couple photo scale ===== */

/* Letter/envelope style cover for all UI modes */
body:not(.admin-body) .cover-card{
  position:relative !important;
  overflow:hidden !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.78), rgba(255,246,224,.92)),
    repeating-linear-gradient(0deg, rgba(120,82,48,.045) 0 1px, transparent 1px 34px) !important;
  color:#2b2118 !important;
  border:1px solid rgba(92,58,31,.20) !important;
  border-radius:18px !important;
  box-shadow:
    0 28px 80px rgba(55,34,18,.20),
    inset 0 0 0 12px rgba(255,255,255,.35),
    inset 0 0 0 13px rgba(184,139,74,.18) !important;
}
body:not(.admin-body) .cover-card::before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;
  height:118px;
  background:
    linear-gradient(145deg, rgba(184,139,74,.18), transparent 48%),
    linear-gradient(215deg, rgba(184,139,74,.16), transparent 48%);
  clip-path:polygon(0 0,50% 70%,100% 0,100% 42%,50% 88%,0 42%);
  border-bottom:1px solid rgba(92,58,31,.12);
  pointer-events:none;
  z-index:0;
}
body:not(.admin-body) .cover-card::after{
  content:"Wedding Invitation";
  position:absolute;
  right:24px;
  top:22px;
  width:86px;
  height:86px;
  display:grid;
  place-items:center;
  text-align:center;
  border:2px dashed rgba(184,139,74,.72);
  border-radius:50%;
  color:#9a6b32;
  font:800 10px/1.2 var(--font-body);
  letter-spacing:.08em;
  text-transform:uppercase;
  transform:rotate(10deg);
  background:rgba(255,250,241,.45);
  z-index:1;
}
body:not(.admin-body) .cover-card > *{
  position:relative;
  z-index:2;
}
body:not(.admin-body) .cover-card .small{
  border-radius:999px !important;
  background:rgba(184,139,74,.12) !important;
  border:1px solid rgba(184,139,74,.25) !important;
  color:#7a4a2a !important;
  box-shadow:none !important;
}

/* Per-section background variables: force these to win over UI-specific backgrounds */
body:not(.admin-body) .hero-copy{
  background-color:var(--section-hero-bg-color, var(--section-bg-color,#fffaf1)) !important;
  background-image:linear-gradient(135deg,var(--section-hero-bg-gradient-start,var(--section-bg-gradient-start,#fffaf1)),var(--section-hero-bg-gradient-end,var(--section-bg-gradient-end,#ffffff))),var(--section-hero-bg-image,var(--section-bg-image,none)) !important;
  background-size:cover,cover !important;background-position:center,center !important;background-repeat:no-repeat,no-repeat !important;background-blend-mode:normal,normal !important;
}
body:not(.admin-body) #quran-verse .quran-verse-card{
  background-color:var(--section-quran-bg-color, var(--section-bg-color,#fffaf1)) !important;
  background-image:linear-gradient(135deg,var(--section-quran-bg-gradient-start,var(--section-bg-gradient-start,#fffaf1)),var(--section-quran-bg-gradient-end,var(--section-bg-gradient-end,#ffffff))),var(--section-quran-bg-image,var(--section-bg-image,none)) !important;
  background-size:cover,cover !important;background-position:center,center !important;background-repeat:no-repeat,no-repeat !important;background-blend-mode:normal,normal !important;
}
body:not(.admin-body) #couple-profile .couple-profile-card{
  background-color:var(--section-couple-bg-color, var(--section-bg-color,#fffaf1)) !important;
  background-image:linear-gradient(135deg,var(--section-couple-bg-gradient-start,var(--section-bg-gradient-start,#fffaf1)),var(--section-couple-bg-gradient-end,var(--section-bg-gradient-end,#ffffff))),var(--section-couple-bg-image,var(--section-bg-image,none)) !important;
  background-size:cover,cover !important;background-position:center,center !important;background-repeat:no-repeat,no-repeat !important;background-blend-mode:normal,normal !important;
}
body:not(.admin-body) #event > .container > .card{
  background-color:var(--section-event-bg-color, var(--section-bg-color,#fffaf1)) !important;
  background-image:linear-gradient(135deg,var(--section-event-bg-gradient-start,var(--section-bg-gradient-start,#fffaf1)),var(--section-event-bg-gradient-end,var(--section-bg-gradient-end,#ffffff))),var(--section-event-bg-image,var(--section-bg-image,none)) !important;
  background-size:cover,cover !important;background-position:center,center !important;background-repeat:no-repeat,no-repeat !important;background-blend-mode:normal,normal !important;
}
body:not(.admin-body) #album .album-card{
  background-color:var(--section-album-bg-color, var(--section-bg-color,#fffaf1)) !important;
  background-image:linear-gradient(135deg,var(--section-album-bg-gradient-start,var(--section-bg-gradient-start,#fffaf1)),var(--section-album-bg-gradient-end,var(--section-bg-gradient-end,#ffffff))),var(--section-album-bg-image,var(--section-bg-image,none)) !important;
  background-size:cover,cover !important;background-position:center,center !important;background-repeat:no-repeat,no-repeat !important;background-blend-mode:normal,normal !important;
}
body:not(.admin-body) #rsvp .container > .card:first-child{
  background-color:var(--section-rsvp-bg-color, var(--section-bg-color,#fffaf1)) !important;
  background-image:linear-gradient(135deg,var(--section-rsvp-bg-gradient-start,var(--section-bg-gradient-start,#fffaf1)),var(--section-rsvp-bg-gradient-end,var(--section-bg-gradient-end,#ffffff))),var(--section-rsvp-bg-image,var(--section-bg-image,none)) !important;
  background-size:cover,cover !important;background-position:center,center !important;background-repeat:no-repeat,no-repeat !important;background-blend-mode:normal,normal !important;
}
body:not(.admin-body) #checkin{
  background-color:var(--section-qr-bg-color, var(--section-bg-color,#fffaf1)) !important;
  background-image:linear-gradient(135deg,var(--section-qr-bg-gradient-start,var(--section-bg-gradient-start,#fffaf1)),var(--section-qr-bg-gradient-end,var(--section-bg-gradient-end,#ffffff))),var(--section-qr-bg-image,var(--section-bg-image,none)) !important;
  background-size:cover,cover !important;background-position:center,center !important;background-repeat:no-repeat,no-repeat !important;background-blend-mode:normal,normal !important;
}
body:not(.admin-body) #wishes .card{
  background-color:var(--section-wishes-bg-color, var(--section-bg-color,#fffaf1)) !important;
  background-image:linear-gradient(135deg,var(--section-wishes-bg-gradient-start,var(--section-bg-gradient-start,#fffaf1)),var(--section-wishes-bg-gradient-end,var(--section-bg-gradient-end,#ffffff))),var(--section-wishes-bg-image,var(--section-bg-image,none)) !important;
  background-size:cover,cover !important;background-position:center,center !important;background-repeat:no-repeat,no-repeat !important;background-blend-mode:normal,normal !important;
}
body:not(.admin-body) #gift .card{
  background-color:var(--section-gift-bg-color, var(--section-bg-color,#fffaf1)) !important;
  background-image:linear-gradient(135deg,var(--section-gift-bg-gradient-start,var(--section-bg-gradient-start,#fffaf1)),var(--section-gift-bg-gradient-end,var(--section-bg-gradient-end,#ffffff))),var(--section-gift-bg-image,var(--section-bg-image,none)) !important;
  background-size:cover,cover !important;background-position:center,center !important;background-repeat:no-repeat,no-repeat !important;background-blend-mode:normal,normal !important;
}
body:not(.admin-body) .footer-card{
  background-color:var(--section-footer-bg-color, var(--section-bg-color,#fffaf1)) !important;
  background-image:linear-gradient(135deg,var(--section-footer-bg-gradient-start,var(--section-bg-gradient-start,#fffaf1)),var(--section-footer-bg-gradient-end,var(--section-bg-gradient-end,#ffffff))),var(--section-footer-bg-image,var(--section-bg-image,none)) !important;
  background-size:cover,cover !important;background-position:center,center !important;background-repeat:no-repeat,no-repeat !important;background-blend-mode:normal,normal !important;
}

/* Couple photo size + inner-scale control for all UI modes */
body:not(.admin-body) #couple-profile .profile-photo-frame{
  width:100% !important;
  height:var(--couple-photo-size, 280px) !important;
  min-height:var(--couple-photo-size, 280px) !important;
  max-height:none !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
}
body:not(.admin-body) #couple-profile .profile-photo-frame img{
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  transform:scale(var(--couple-photo-inner-scale, 1)) !important;
  transform-origin:center center !important;
}
@media(max-width:760px){
  body:not(.admin-body) #couple-profile .profile-photo-frame{
    height:min(var(--couple-photo-size, 280px), 82vh) !important;
    min-height:min(var(--couple-photo-size, 280px), 82vh) !important;
  }
  body:not(.admin-body) .cover-card::after{
    width:70px;height:70px;font-size:8px;right:16px;top:16px;
  }
}

/* V68: make per-section background image/color/gradient mode win inside each UI */
body:not(.admin-body) .hero-copy{background-color:var(--section-hero-bg-color,#fffaf1)!important;background-image:var(--section-hero-bg-layer,none)!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}
body:not(.admin-body) #quran-verse .quran-verse-card{background-color:var(--section-quran-bg-color,#fffaf1)!important;background-image:var(--section-quran-bg-layer,none)!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}
body:not(.admin-body) #couple-profile .couple-profile-card{background-color:var(--section-couple-bg-color,#fffaf1)!important;background-image:var(--section-couple-bg-layer,none)!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}
body:not(.admin-body) #event > .container > .card{background-color:var(--section-event-bg-color,#fffaf1)!important;background-image:var(--section-event-bg-layer,none)!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}
body:not(.admin-body) #album .album-card{background-color:var(--section-album-bg-color,#fffaf1)!important;background-image:var(--section-album-bg-layer,none)!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}
body:not(.admin-body) #rsvp .container > .card:first-child{background-color:var(--section-rsvp-bg-color,#fffaf1)!important;background-image:var(--section-rsvp-bg-layer,none)!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}
body:not(.admin-body) #checkin{background-color:var(--section-qr-bg-color,#fffaf1)!important;background-image:var(--section-qr-bg-layer,none)!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}
body:not(.admin-body) #wishes .card{background-color:var(--section-wishes-bg-color,#fffaf1)!important;background-image:var(--section-wishes-bg-layer,none)!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}
body:not(.admin-body) #gift .card{background-color:var(--section-gift-bg-color,#fffaf1)!important;background-image:var(--section-gift-bg-layer,none)!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}
body:not(.admin-body) .footer-card{background-color:var(--section-footer-bg-color,#fffaf1)!important;background-image:var(--section-footer-bg-layer,none)!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}
/* ===== V69: Netflix UI option badge + final per-section background + photo scaling fixes ===== */
.ui-mode-badge.netflix{background:#e50914;color:#fff;box-shadow:0 3px 0 #111}

/* Final background layer rules. These support color, gradient, OR uploaded image as one selected mode. */
body.public-ui-classic:not(.admin-body) .hero,body.public-ui-sync:not(.admin-body) .hero,body.public-ui-netflix:not(.admin-body) .hero,
body.public-ui-classic:not(.admin-body) .hero-copy,body.public-ui-sync:not(.admin-body) .hero-copy,body.public-ui-netflix:not(.admin-body) .hero-copy{background-color:var(--section-hero-bg-color,#fffaf1)!important;background-image:var(--section-hero-bg-layer,none)!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;background-blend-mode:normal!important}
body.public-ui-classic:not(.admin-body) #quran-verse,body.public-ui-sync:not(.admin-body) #quran-verse,body.public-ui-netflix:not(.admin-body) #quran-verse,
body.public-ui-classic:not(.admin-body) #quran-verse .quran-verse-card,body.public-ui-sync:not(.admin-body) #quran-verse .quran-verse-card,body.public-ui-netflix:not(.admin-body) #quran-verse .quran-verse-card{background-color:var(--section-quran-bg-color,#fffaf1)!important;background-image:var(--section-quran-bg-layer,none)!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;background-blend-mode:normal!important}
body.public-ui-classic:not(.admin-body) #couple-profile,body.public-ui-sync:not(.admin-body) #couple-profile,body.public-ui-netflix:not(.admin-body) #couple-profile,
body.public-ui-classic:not(.admin-body) #couple-profile .couple-profile-card,body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-card,body.public-ui-netflix:not(.admin-body) #couple-profile .couple-profile-card{background-color:var(--section-couple-bg-color,#fffaf1)!important;background-image:var(--section-couple-bg-layer,none)!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;background-blend-mode:normal!important}
body.public-ui-classic:not(.admin-body) #event,body.public-ui-sync:not(.admin-body) #event,body.public-ui-netflix:not(.admin-body) #event,
body.public-ui-classic:not(.admin-body) #event > .container > .card,body.public-ui-sync:not(.admin-body) #event > .container > .card,body.public-ui-netflix:not(.admin-body) #event > .container > .card{background-color:var(--section-event-bg-color,#fffaf1)!important;background-image:var(--section-event-bg-layer,none)!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;background-blend-mode:normal!important}
body.public-ui-classic:not(.admin-body) #album,body.public-ui-sync:not(.admin-body) #album,body.public-ui-netflix:not(.admin-body) #album,
body.public-ui-classic:not(.admin-body) #album .album-card,body.public-ui-sync:not(.admin-body) #album .album-card,body.public-ui-netflix:not(.admin-body) #album .album-card{background-color:var(--section-album-bg-color,#fffaf1)!important;background-image:var(--section-album-bg-layer,none)!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;background-blend-mode:normal!important}
body.public-ui-classic:not(.admin-body) #rsvp,body.public-ui-sync:not(.admin-body) #rsvp,body.public-ui-netflix:not(.admin-body) #rsvp,
body.public-ui-classic:not(.admin-body) #rsvp .card,body.public-ui-sync:not(.admin-body) #rsvp .card,body.public-ui-netflix:not(.admin-body) #rsvp .card{background-color:var(--section-rsvp-bg-color,#fffaf1)!important;background-image:var(--section-rsvp-bg-layer,none)!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;background-blend-mode:normal!important}
body.public-ui-classic:not(.admin-body) #checkin,body.public-ui-sync:not(.admin-body) #checkin,body.public-ui-netflix:not(.admin-body) #checkin{background-color:var(--section-qr-bg-color,#fffaf1)!important;background-image:var(--section-qr-bg-layer,none)!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;background-blend-mode:normal!important}
body.public-ui-classic:not(.admin-body) #wishes,body.public-ui-sync:not(.admin-body) #wishes,body.public-ui-netflix:not(.admin-body) #wishes,
body.public-ui-classic:not(.admin-body) #wishes .card,body.public-ui-sync:not(.admin-body) #wishes .card,body.public-ui-netflix:not(.admin-body) #wishes .card{background-color:var(--section-wishes-bg-color,#fffaf1)!important;background-image:var(--section-wishes-bg-layer,none)!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;background-blend-mode:normal!important}
body.public-ui-classic:not(.admin-body) #gift,body.public-ui-sync:not(.admin-body) #gift,body.public-ui-netflix:not(.admin-body) #gift,
body.public-ui-classic:not(.admin-body) #gift .card,body.public-ui-sync:not(.admin-body) #gift .card,body.public-ui-netflix:not(.admin-body) #gift .card{background-color:var(--section-gift-bg-color,#fffaf1)!important;background-image:var(--section-gift-bg-layer,none)!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;background-blend-mode:normal!important}
body.public-ui-classic:not(.admin-body) .footer-card,body.public-ui-sync:not(.admin-body) .footer-card,body.public-ui-netflix:not(.admin-body) .footer-card{background-color:var(--section-footer-bg-color,#fffaf1)!important;background-image:var(--section-footer-bg-layer,none)!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;background-blend-mode:normal!important}

/* Final photo frame / inner scale control for all active UI modes */
body.public-ui-classic:not(.admin-body) #couple-profile .profile-photo-frame,
body.public-ui-sync:not(.admin-body) #couple-profile .profile-photo-frame,
body.public-ui-netflix:not(.admin-body) #couple-profile .profile-photo-frame{height:var(--couple-photo-size,280px)!important;min-height:var(--couple-photo-size,280px)!important;max-height:none!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important}
body.public-ui-classic:not(.admin-body) #couple-profile .profile-photo-frame img,
body.public-ui-sync:not(.admin-body) #couple-profile .profile-photo-frame img,
body.public-ui-netflix:not(.admin-body) #couple-profile .profile-photo-frame img{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center center!important;transform:scale(var(--couple-photo-inner-scale,1))!important;transform-origin:center center!important}
/* appended v70 */

/* ===== V70: section background applies ONLY inside each section frame/card ===== */
/* Clear any previous V69 rules that painted the full section wrapper. */
body:not(.admin-body) .hero,
body:not(.admin-body) #quran-verse,
body:not(.admin-body) #couple-profile,
body:not(.admin-body) #event,
body:not(.admin-body) #album,
body:not(.admin-body) #rsvp,
body:not(.admin-body) #wishes,
body:not(.admin-body) #gift,
body:not(.admin-body) .footer{
  background-color:transparent !important;
  background-image:none !important;
  background:none !important;
}

/* Also neutralize the old global section background so only the mapped frame receives the custom image/color. */
body:not(.admin-body) .card,
body:not(.admin-body) .hero-copy,
body:not(.admin-body) .quran-verse-card,
body:not(.admin-body) .couple-profile-card,
body:not(.admin-body) .footer-card{
  background-color:inherit;
  background-image:none;
}

/* Custom background targets: these are the actual visible frames inside each section. */
body:not(.admin-body) .hero-copy{
  background-color:var(--section-hero-bg-color,#fffaf1) !important;
  background-image:var(--section-hero-bg-layer,none) !important;
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
  background-blend-mode:normal !important;
}
body:not(.admin-body) #quran-verse .quran-verse-card{
  background-color:var(--section-quran-bg-color,#fffaf1) !important;
  background-image:var(--section-quran-bg-layer,none) !important;
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
  background-blend-mode:normal !important;
}
body:not(.admin-body) #couple-profile .couple-profile-card{
  background-color:var(--section-couple-bg-color,#fffaf1) !important;
  background-image:var(--section-couple-bg-layer,none) !important;
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
  background-blend-mode:normal !important;
}
body:not(.admin-body) #event > .container > .card{
  background-color:var(--section-event-bg-color,#fffaf1) !important;
  background-image:var(--section-event-bg-layer,none) !important;
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
  background-blend-mode:normal !important;
}
body:not(.admin-body) #album .album-card{
  background-color:var(--section-album-bg-color,#fffaf1) !important;
  background-image:var(--section-album-bg-layer,none) !important;
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
  background-blend-mode:normal !important;
}
body:not(.admin-body) #rsvp .container.two-col > .card:first-child{
  background-color:var(--section-rsvp-bg-color,#fffaf1) !important;
  background-image:var(--section-rsvp-bg-layer,none) !important;
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
  background-blend-mode:normal !important;
}
body:not(.admin-body) #rsvp .container.two-col > .card#checkin{
  background-color:var(--section-qr-bg-color,#fffaf1) !important;
  background-image:var(--section-qr-bg-layer,none) !important;
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
  background-blend-mode:normal !important;
}
body:not(.admin-body) #wishes > .container > .card{
  background-color:var(--section-wishes-bg-color,#fffaf1) !important;
  background-image:var(--section-wishes-bg-layer,none) !important;
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
  background-blend-mode:normal !important;
}
body:not(.admin-body) #gift > .container > .card{
  background-color:var(--section-gift-bg-color,#fffaf1) !important;
  background-image:var(--section-gift-bg-layer,none) !important;
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
  background-blend-mode:normal !important;
}
body:not(.admin-body) .footer-card{
  background-color:var(--section-footer-bg-color,#fffaf1) !important;
  background-image:var(--section-footer-bg-layer,none) !important;
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
  background-blend-mode:normal !important;
}

/* Keep small/nested components clean; they should not inherit the section background image. */
body:not(.admin-body) #event .event-card,
body:not(.admin-body) #album .gallery-item,
body:not(.admin-body) #wishes .wish-card,
body:not(.admin-body) #gift .qr-card,
body:not(.admin-body) #rsvp .qr-card,
body:not(.admin-body) #couple-profile .profile-person-card,
body:not(.admin-body) #couple-profile .profile-copy{
  background-image:none !important;
}


/* ===== V71 hard fix: per-section background must stay INSIDE frame/card only ===== */
body.public-ui-sync:not(.admin-body) #quran-verse,
body.public-ui-sync:not(.admin-body) #couple-profile,
body.public-ui-sync:not(.admin-body) #event,
body.public-ui-sync:not(.admin-body) #album,
body.public-ui-sync:not(.admin-body) #rsvp,
body.public-ui-sync:not(.admin-body) #wishes,
body.public-ui-sync:not(.admin-body) #gift,
body.public-ui-sync:not(.admin-body) .footer,
body.public-ui-sync:not(.admin-body) #checkin{
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}
body.public-ui-sync:not(.admin-body) #quran-verse .quran-verse-card{background-color:var(--section-quran-bg-color,#fffaf1)!important;background-image:var(--section-quran-bg-layer,none)!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;background-blend-mode:normal!important}
body.public-ui-sync:not(.admin-body) .hero-copy{background-color:var(--section-hero-bg-color,#fffaf1)!important;background-image:var(--section-hero-bg-layer,none)!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;background-blend-mode:normal!important}
body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-card{background-color:var(--section-couple-bg-color,#fffaf1)!important;background-image:var(--section-couple-bg-layer,none)!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;background-blend-mode:normal!important}
body.public-ui-sync:not(.admin-body) #event > .container > .card{background-color:var(--section-event-bg-color,#fffaf1)!important;background-image:var(--section-event-bg-layer,none)!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;background-blend-mode:normal!important}
body.public-ui-sync:not(.admin-body) #album .album-card{background-color:var(--section-album-bg-color,#fffaf1)!important;background-image:var(--section-album-bg-layer,none)!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;background-blend-mode:normal!important}
body.public-ui-sync:not(.admin-body) #rsvp .container > .card:first-child{background-color:var(--section-rsvp-bg-color,#fffaf1)!important;background-image:var(--section-rsvp-bg-layer,none)!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;background-blend-mode:normal!important}
body.public-ui-sync:not(.admin-body) #checkin.card{background-color:var(--section-qr-bg-color,#fffaf1)!important;background-image:var(--section-qr-bg-layer,none)!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;background-blend-mode:normal!important}
body.public-ui-sync:not(.admin-body) #wishes .card{background-color:var(--section-wishes-bg-color,#fffaf1)!important;background-image:var(--section-wishes-bg-layer,none)!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;background-blend-mode:normal!important}
body.public-ui-sync:not(.admin-body) #gift .card{background-color:var(--section-gift-bg-color,#fffaf1)!important;background-image:var(--section-gift-bg-layer,none)!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;background-blend-mode:normal!important}
body.public-ui-sync:not(.admin-body) .footer-card{background-color:var(--section-footer-bg-color,#fffaf1)!important;background-image:var(--section-footer-bg-layer,none)!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;background-blend-mode:normal!important}


/* ===== V72 final hard fix: Wedding Invitation background ONLY inside left card ===== */
body:not(.admin-body) .hero,
body:not(.admin-body) .hero-grid,
body:not(.admin-body) .hero .container,
body.public-ui-classic:not(.admin-body) .hero,
body.public-ui-classic:not(.admin-body) .hero-grid,
body.public-ui-sync:not(.admin-body) .hero,
body.public-ui-sync:not(.admin-body) .hero-grid,
body.public-ui-netflix:not(.admin-body) .hero,
body.public-ui-netflix:not(.admin-body) .hero-grid{
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  background-size: auto !important;
  background-position: initial !important;
  background-repeat: initial !important;
  background-blend-mode: normal !important;
}

/* The right media/photo/video panel must keep its own visual, not the custom section background */
body:not(.admin-body) .hero-img,
body:not(.admin-body) .hero-img::before,
body:not(.admin-body) .hero-img::after,
body:not(.admin-body) .hero-img img,
body:not(.admin-body) .hero-img video{
  background-image: none !important;
}

/* Only this frame receives Wedding Invitation background from admin */
body:not(.admin-body) .hero .hero-copy,
body.public-ui-classic:not(.admin-body) .hero .hero-copy,
body.public-ui-sync:not(.admin-body) .hero .hero-copy,
body.public-ui-netflix:not(.admin-body) .hero .hero-copy{
  background-color: var(--section-hero-bg-color,#fffaf1) !important;
  background-image: var(--section-hero-bg-layer,none) !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-blend-mode: normal !important;
}

/* Keep all outer section wrappers transparent, including hero, even if old CSS exists above */
body.public-ui-classic:not(.admin-body) :is(.hero,#quran-verse,#couple-profile,#event,#album,#rsvp,#wishes,#gift,.footer),
body.public-ui-sync:not(.admin-body) :is(.hero,#quran-verse,#couple-profile,#event,#album,#rsvp,#wishes,#gift,.footer),
body.public-ui-netflix:not(.admin-body) :is(.hero,#quran-verse,#couple-profile,#event,#album,#rsvp,#wishes,#gift,.footer){
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}


/* ===== V75: Website background upload hard fix =====
   Custom Background Website now appears behind all sections for every UI mode.
   Section/card background settings remain separate and only affect inside frames.
*/
body:not(.admin-body){
  background-color:var(--bg, #f6efe4) !important;
  background-image:
    radial-gradient(circle at 12% 8%, rgba(255,255,255,.54), transparent 24%),
    linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,0) 38%),
    var(--site-bg-image, none) !important;
  background-size:auto, auto, cover !important;
  background-position:center, center, center !important;
  background-repeat:no-repeat, no-repeat, no-repeat !important;
  background-attachment:fixed, fixed, fixed !important;
}

/* Festival UI keeps festival color/pattern, but uploaded website background is now visible underneath. */
body.public-ui-sync:not(.admin-body){
  background-color:var(--sync-pink, #f33b8f) !important;
  background-image:
    radial-gradient(circle at 12% 12%, rgba(248,221,74,.65) 0 5px, transparent 6px),
    radial-gradient(circle at 88% 18%, rgba(19,199,139,.55) 0 7px, transparent 8px),
    linear-gradient(135deg, rgba(255,255,255,.10) 25%, transparent 25%),
    linear-gradient(225deg, rgba(255,255,255,.08) 25%, transparent 25%),
    var(--site-bg-image, none) !important;
  background-position:0 0,0 0,18px 0,18px 0,center !important;
  background-size:95px 95px,130px 130px,36px 36px,36px 36px,cover !important;
  background-repeat:repeat,repeat,repeat,repeat,no-repeat !important;
  background-attachment:scroll,scroll,scroll,scroll,fixed !important;
}

/* Netflix UI: uploaded website background becomes the cinematic backdrop. */
body.public-ui-netflix:not(.admin-body){
  background-color:#050505 !important;
  background-image:
    linear-gradient(90deg, rgba(0,0,0,.88) 0%, rgba(0,0,0,.46) 48%, rgba(0,0,0,.88) 100%),
    linear-gradient(180deg, rgba(0,0,0,.34), rgba(0,0,0,.92)),
    var(--site-bg-image, none) !important;
  background-size:auto, auto, cover !important;
  background-position:center, center, center !important;
  background-repeat:no-repeat, no-repeat, no-repeat !important;
  background-attachment:fixed, fixed, fixed !important;
}

/* Twibbon pages follow the same website background behavior. */
body.twibbon-page:not(.admin-body){
  background-color:var(--bg, #f6efe4) !important;
  background-image:
    radial-gradient(circle at 12% 8%, rgba(255,255,255,.50), transparent 24%),
    var(--site-bg-image, none) !important;
  background-size:auto, cover !important;
  background-position:center, center !important;
  background-repeat:no-repeat, no-repeat !important;
  background-attachment:fixed, fixed !important;
}
body.twibbon-page.public-ui-sync{
  background-color:var(--sync-pink, #f33b8f) !important;
  background-image:
    radial-gradient(circle at 12% 8%, rgba(248,221,74,.18), transparent 20%),
    radial-gradient(circle at 86% 12%, rgba(19,199,139,.14), transparent 24%),
    var(--site-bg-image, none) !important;
  background-size:auto, auto, cover !important;
  background-position:center, center, center !important;
  background-repeat:no-repeat, no-repeat, no-repeat !important;
  background-attachment:fixed, fixed, fixed !important;
}
body.twibbon-page.public-ui-netflix{
  background-color:#050505 !important;
  background-image:
    linear-gradient(90deg, rgba(0,0,0,.86), rgba(0,0,0,.38), rgba(0,0,0,.86)),
    var(--site-bg-image, none) !important;
  background-size:auto, cover !important;
  background-position:center, center !important;
  background-repeat:no-repeat, no-repeat !important;
  background-attachment:fixed, fixed !important;
}


/* ===== V76 mobile polish: hero ticker smaller on Festival UI ===== */
@media(max-width:560px){
  body.public-ui-sync:not(.admin-body) .hero-copy{
    padding-bottom:62px !important;
  }
  body.public-ui-sync:not(.admin-body) .hero-copy::after{
    font-size:8.5px !important;
    line-height:1.25 !important;
    letter-spacing:.045em !important;
    padding:8px 10px !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
  }
}
@media(max-width:390px){
  body.public-ui-sync:not(.admin-body) .hero-copy::after{
    font-size:7.8px !important;
    letter-spacing:.025em !important;
    padding:7px 8px !important;
  }
}


/* V77 festival side decor tuning */
body.public-ui-sync:not(.admin-body) .side-decor{
  opacity:.86;
  filter:drop-shadow(0 22px 20px rgba(0,0,0,.28)) saturate(1.08);
}
@media(max-width:820px){
  body.public-ui-sync:not(.admin-body) .side-decor{
    opacity:.82;
  }
}


/* ===== V78 requested cleanup ===== */
/* Remove hero decorative wording */
body.public-ui-sync:not(.admin-body) .hero::before,
body.public-ui-sync:not(.admin-body) .hero-copy .lead::before,
body.public-ui-sync:not(.admin-body) .hero-img::after{
  content:none !important;
  display:none !important;
}

/* Ar-Rum wording color follows admin */
body.public-ui-sync:not(.admin-body) .quran-verse-card .eyebrow,
body.public-ui-sync:not(.admin-body) .quran-translation,
body.public-ui-sync:not(.admin-body) .quran-source{
  color:var(--arrum-font-color, var(--sync-orange)) !important;
}


/* ===== V80: Couple section uploaded background stays precise on mobile =====
   If couple section background image has a top-center sticker/logo, keep it visible in mobile.
*/
body:not(.admin-body) #couple-profile .couple-profile-card,
body.public-ui-classic:not(.admin-body) #couple-profile .couple-profile-card,
body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-card,
body.public-ui-netflix:not(.admin-body) #couple-profile .couple-profile-card{
  background-position:center top !important;
  background-repeat:no-repeat !important;
}

@media(max-width:820px){
  body:not(.admin-body) #couple-profile .couple-profile-card,
  body.public-ui-classic:not(.admin-body) #couple-profile .couple-profile-card,
  body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-card,
  body.public-ui-netflix:not(.admin-body) #couple-profile .couple-profile-card{
    background-position:center top !important;
  }
}

/* Festival specific: give safe top breathing room so top-center sticker doesn't get hidden behind stacked cards */
@media(max-width:820px){
  body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-card{
    padding-top:34px !important;
  }
  body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-grid{
    padding-top:72px !important;
  }
}
@media(max-width:430px){
  body.public-ui-sync:not(.admin-body) #couple-profile .couple-profile-grid{
    padding-top:64px !important;
  }
}
