/* =========================================================
   ZIARAMA WEDDING · V4.5 SIGNATURE COUPLE EXPERIENCE
   Reference composition translated to the existing light
   Ziarama palette. No dark-mode dependency.
   ========================================================= */

:root{
  --v45-ivory:#fffaf4;
  --v45-paper:#fbf3e9;
  --v45-paper-2:#fffdf9;
  --v45-ink:#2f1c14;
  --v45-muted:#7c6253;
  --v45-gold:#b98345;
  --v45-gold-soft:#d9b982;
  --v45-line:rgba(111,72,46,.15);
  --v45-shadow:0 28px 80px rgba(70,43,27,.12);
}

/* ---------- HOME + COUPLE DISCOVERY: photo-first on phones ---------- */
@media(max-width:700px){
  .home-hero-v4,.couple-cinema-hero-v45{width:100vw!important;max-width:none!important;margin-left:0!important;margin-right:0!important;border-radius:0!important}
  .home-carousel-media,.home-carousel-slide,.home-carousel-slide img,.couple-cinema-slides,.couple-cinema-slide,.couple-cinema-slide img{width:100vw!important;max-width:none!important}
  .home-carousel-slide img,.couple-cinema-slide img{object-fit:cover!important}

  .home-couples-section{overflow:hidden!important}
  .home-couples-section .home-couples-grid{width:100vw!important;max-width:none!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;gap:2px!important}
  .home-couple-card{position:relative!important;width:100vw!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#24150f!important;color:#fff!important;min-height:76svh!important}
  .home-couple-photo{position:relative!important;height:76svh!important;min-height:520px!important}
  .home-couple-photo:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(25,13,8,.82));pointer-events:none}
  .home-couple-copy{position:absolute!important;z-index:2;left:0;right:0;bottom:0;padding:44px 24px 34px!important;text-align:left!important;color:#fff!important}
  .home-couple-copy h3{font-size:42px!important;line-height:.96!important;color:#fff!important}.home-couple-copy p,.home-couple-copy small{color:rgba(255,255,255,.82)!important}

  .couples-showcase{overflow:hidden!important}.couples-signature-grid{width:100vw!important;max-width:none!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;gap:2px!important}
  .signature-couple-card{position:relative!important;width:100vw!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#25160f!important;color:#fff!important;min-height:72svh!important}
  .signature-couple-photo{height:72svh!important;min-height:500px!important}.signature-couple-photo:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(24,13,8,.82))}
  .signature-couple-copy{position:absolute!important;z-index:3;bottom:0;left:0;right:0;text-align:left!important;padding:38px 22px 30px!important}.signature-couple-copy h2{font-size:40px!important;color:#fff!important}.signature-couple-copy p,.signature-couple-copy small{color:rgba(255,255,255,.8)!important}
  .card-heart{top:20px!important;right:20px!important}
}

/* ---------- HERO ---------- */
.couple-signature-v45{background:var(--v45-ivory)!important;color:var(--v45-ink)!important}
.couple-cinema-hero-v45{width:100%;height:100svh;min-height:760px}
.couple-cinema-hero-v45 .couple-cinema-slide img{object-position:center 36%;transform:scale(1.005)}
.couple-cinema-hero-v45 .couple-cinema-shade{background:linear-gradient(180deg,rgba(25,13,8,.12),rgba(25,13,8,.05) 34%,rgba(25,13,8,.72)),linear-gradient(90deg,rgba(22,12,7,.16),transparent 60%)}
.couple-cinema-copy-v45{bottom:7.5vh!important;width:min(1050px,92vw)!important}
.couple-cinema-copy-v45>small{display:block;font:600 9px var(--zi-sans);letter-spacing:.48em;margin-bottom:18px;color:#f4d8b5}
.couple-cinema-copy-v45 h1{font-size:clamp(70px,9vw,138px)!important}
.couple-hero-divider{display:flex;align-items:center;justify-content:center;gap:12px;margin:21px auto 14px}.couple-hero-divider span{width:68px;height:1px;background:rgba(239,203,156,.72)}.couple-hero-divider b{font:400 24px var(--zi-serif);color:#efc990}
.couple-cinema-copy-v45>p{display:flex;justify-content:center;align-items:center;gap:11px;margin:0 0 24px!important;font:500 11px var(--zi-sans)!important;letter-spacing:.22em!important;text-transform:uppercase}.couple-cinema-copy-v45>p em{font-style:normal;color:#e8bd82}
.couple-hero-social-v45{position:absolute;z-index:4;left:50%;bottom:24px;transform:translateX(-50%);display:flex;gap:28px;color:#fff;font:500 12px var(--zi-sans);white-space:nowrap}.couple-hero-social-v45 span{display:flex;align-items:center;gap:7px}.couple-hero-social-v45 span>b{font-weight:600}.couple-cinema-hero-v45 .couple-cinema-dots{bottom:52px;right:28px}

/* ---------- COUNTDOWN ---------- */
.couple-countdown-v45{width:min(1050px,calc(100% - 48px));margin:-1px auto 0;padding:27px 30px;display:grid;grid-template-columns:repeat(4,1fr);background:rgba(255,253,249,.96);border:1px solid var(--v45-line);border-radius:0 0 28px 28px;box-shadow:0 22px 58px rgba(61,37,23,.08);position:relative;z-index:5}
.couple-countdown-v45 div{text-align:center;border-right:1px solid var(--v45-line)}.couple-countdown-v45 div:last-child{border-right:0}.couple-countdown-v45 b{display:block;font:500 42px/1 var(--zi-serif);color:#8f5a35}.couple-countdown-v45 span{display:block;margin-top:7px;font:600 7px var(--zi-sans);letter-spacing:.23em;text-transform:uppercase;color:var(--v45-muted)}

/* ---------- TWO SOULS ---------- */
.souls-signature-v45{position:relative;padding:128px 0 138px;background:linear-gradient(180deg,#fffdf9,#fff9f2 65%,#f8eee4);overflow:hidden}
.souls-signature-v45:before,.souls-signature-v45:after{content:"";position:absolute;width:360px;height:540px;background-repeat:no-repeat;background-size:contain;opacity:.11;pointer-events:none}.souls-signature-v45:before{left:-150px;top:90px;background-image:var(--flair-b1)}.souls-signature-v45:after{right:-145px;bottom:40px;background-image:var(--flair-b2);background-position:right bottom}
.souls-signature-heading-v45{text-align:center;margin:0 auto 60px;width:min(820px,88vw)}.souls-signature-heading-v45 small{font:600 8px var(--zi-sans);letter-spacing:.4em;color:#a16a43}.souls-signature-heading-v45 h2{margin:12px 0 0;font:400 clamp(56px,6vw,90px)/.9 var(--zi-serif);letter-spacing:-.05em}.souls-signature-heading-v45 h2 i{font-weight:400;color:#bb824b}
.souls-signature-grid-v45{width:min(1380px,94vw);margin:auto;display:grid;grid-template-columns:minmax(0,1fr) 120px minmax(0,1fr);gap:34px;align-items:start;position:relative;z-index:1}
.partner-signature-v45{min-width:0;text-align:center}.partner-portrait-v45{width:min(100%,520px);height:min(72svh,820px);min-height:610px;margin:0 auto;overflow:hidden;border:2px solid #d6ad72;border-radius:48% 48% 43% 43% / 42% 42% 48% 48%;padding:7px;background:#fff;box-shadow:0 26px 70px rgba(70,43,27,.10)}.partner-portrait-v45 img{width:100%;height:100%;object-fit:cover;object-position:center 20%;border-radius:inherit;display:block}
.partner-words-v45{width:min(620px,92%);margin:36px auto 0}.partner-words-v45 small{font:600 8px var(--zi-sans);letter-spacing:.34em;color:#a3714a}.partner-words-v45 h3{margin:8px 0 0;font:italic 500 clamp(40px,4vw,60px)/1 var(--zi-serif);letter-spacing:-.04em}.partner-ornament-v45{display:flex;align-items:center;justify-content:center;gap:10px;margin:18px auto 20px}.partner-ornament-v45 span{width:54px;height:1px;background:#d0a063}.partner-ornament-v45 b{font:400 20px var(--zi-serif);color:#bd8650}.partner-words-v45 blockquote{margin:0;font:400 clamp(21px,1.8vw,29px)/1.48 var(--zi-serif);color:#6e5547;text-wrap:balance}
.love-spine-v45{min-height:720px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;position:sticky;top:90px}.love-spine-v45 .love-letters{gap:10px}.love-spine-v45 .love-letters span{font-size:74px!important;line-height:.72!important;color:rgba(134,84,48,.13)}.love-spine-v45 .love-letters span.is-active{color:#b77e3e;text-shadow:0 8px 30px rgba(176,119,60,.14)}.love-spine-v45 .love-letters span:not(:last-child):after{content:"♡";display:block;font:400 17px/1 var(--zi-serif);color:#c59a62;margin-top:12px}.love-spine-v45 p{margin:0;text-align:center;font:400 24px/1.15 var(--zi-script);color:#a27252;transform:rotate(-4deg)}

/* ---------- STORYBOOK ---------- */
.story-signature-v45{padding-top:118px!important;background:linear-gradient(180deg,#f9efe4,#fffaf3 30%,#f4e7d8)!important}
.story-signature-v45:before,.story-signature-v45:after{opacity:.12!important}
.story-intro-v45{margin-bottom:48px!important}.story-intro-v45 p{display:none}.story-heading-ornament-v45{display:flex;align-items:center;justify-content:center;gap:10px;margin:24px auto 0}.story-heading-ornament-v45 span{width:86px;height:1px;background:#cda36e}.story-heading-ornament-v45 b{font:400 22px var(--zi-serif);color:#bd824a}
.storybook-v45{height:min(72svh,770px)!important;min-height:650px!important}.storybook-v45 .book-face{border-radius:5px!important;box-shadow:0 30px 90px rgba(67,40,24,.13),inset 0 0 100px rgba(180,138,99,.06)!important}.storybook-v45 .book-front{grid-template-columns:1.05fr .95fr!important}.storybook-v45 .book-photo{order:1!important;padding:32px 20px 32px 32px!important;background:linear-gradient(90deg,#f6eade,#fffaf3)!important}.storybook-v45 .book-copy{order:2!important;padding:60px 52px!important;background:linear-gradient(90deg,#fffaf3,#fffdf9)!important;justify-content:center!important;text-align:left!important}.storybook-v45 .book-photo img{border-radius:6px!important;box-shadow:0 18px 45px rgba(62,38,24,.12)!important}.storybook-v45 .book-copy h3{font-size:clamp(42px,4vw,62px)!important}.storybook-v45 .book-story-render{font-size:18px!important;line-height:1.75!important;max-height:330px!important}.storybook-v45 .book-spine{display:block!important;z-index:80!important}

/* ---------- GALLERY ---------- */
.gallery-signature-v45{padding:118px 0 128px;background:#fffdf9;overflow:hidden;position:relative}.gallery-signature-v45:before{content:"";position:absolute;left:-140px;bottom:-80px;width:360px;height:520px;background:var(--flair-f1) left bottom/contain no-repeat;opacity:.08;pointer-events:none}.gallery-signature-head-v45{text-align:center;width:min(800px,88vw);margin:0 auto 52px}.gallery-signature-head-v45 small{font:600 8px var(--zi-sans);letter-spacing:.38em;color:#9d6845}.gallery-signature-head-v45 h2{font:400 clamp(54px,6vw,86px)/.9 var(--zi-serif);margin:10px 0 0;letter-spacing:-.05em}.gallery-signature-head-v45 h2 em{font-weight:400;color:#b47a4e}
.gallery-rail-v45{width:min(1380px,94vw);margin:auto;display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:220px;gap:10px}.gallery-tile-v45{position:relative;overflow:hidden;border:0;padding:0;background:#efe5dc;cursor:zoom-in;border-radius:18px;grid-column:span 3}.gallery-tile-v45:first-child{grid-column:span 6;grid-row:span 2}.gallery-tile-v45:nth-child(4n+2){grid-column:span 3}.gallery-tile-v45:nth-child(5n){grid-column:span 6}.gallery-tile-v45 img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.22,1,.36,1)}.gallery-tile-v45:hover img{transform:scale(1.035)}.gallery-tile-v45:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(31,17,10,.42));opacity:0;transition:.25s}.gallery-tile-v45:hover:after{opacity:1}.gallery-tile-v45 span{position:absolute;z-index:2;left:17px;bottom:14px;color:#fff;font:500 13px var(--zi-serif);opacity:0;transition:.25s}.gallery-tile-v45:hover span{opacity:1}.gallery-more-v45{display:flex;width:max-content;gap:12px;margin:38px auto 0;align-items:center;font:600 9px var(--zi-sans);letter-spacing:.22em;text-transform:uppercase;color:#825335}.gallery-more-v45 span{font-size:17px}

/* Actual-size viewer: user can scroll the original image instead of receiving an auto-fit preview. */
.couple-lightbox-v45{display:block!important;padding:0!important;background:rgba(25,14,9,.94)!important;overflow:hidden!important}.couple-lightbox-v45[hidden]{display:none!important}.couple-lightbox-scroll-v45{width:100vw;height:100dvh;overflow:auto;display:grid;place-items:start center;padding:82px 28px 50px}.couple-lightbox-v45 img{width:auto!important;height:auto!important;max-width:none!important;max-height:none!important;border-radius:0!important;box-shadow:0 25px 90px rgba(0,0,0,.28)}.couple-lightbox-v45 button{position:fixed!important;z-index:3;right:18px!important;top:18px!important}

/* ---------- EVENTS + END ---------- */
.events-signature-v45{background:linear-gradient(180deg,#faf2e8,#fffdf9)!important}.couple-ending-v45 blockquote{max-width:720px;margin:18px auto 20px;font:italic 400 23px/1.5 var(--zi-serif);color:rgba(255,255,255,.86)}

/* ---------- TABLET ---------- */
@media(max-width:980px){
  .souls-signature-grid-v45{grid-template-columns:1fr 86px 1fr;gap:18px}.partner-portrait-v45{min-height:520px}.love-spine-v45{min-height:620px}.love-spine-v45 .love-letters span{font-size:62px!important}.love-spine-v45 p{font-size:20px}
  .gallery-rail-v45{grid-auto-rows:190px}
}

/* ---------- MOBILE: groom → LOVE → bride, full-width imagery ---------- */
@media(max-width:760px){
  .couple-cinema-hero-v45{width:100vw!important;height:100svh!important;min-height:620px!important}.couple-cinema-hero-v45 .couple-cinema-slide img{width:100vw!important;height:100svh!important;object-position:center 34%!important}.couple-cinema-copy-v45{bottom:10vh!important;width:92vw!important}.couple-cinema-copy-v45>small{font-size:7px;letter-spacing:.34em}.couple-cinema-copy-v45 h1{font-size:54px!important;line-height:.88!important}.couple-cinema-copy-v45>p{font-size:8px!important;line-height:1.45!important;letter-spacing:.12em!important;flex-wrap:wrap}.couple-hero-social-v45{left:20px;right:20px;bottom:21px;transform:none;justify-content:space-between;gap:8px;font-size:10px}.couple-cinema-hero-v45 .couple-cinema-dots{display:none}
  .couple-countdown-v45{width:calc(100% - 24px);padding:18px 7px;border-radius:20px;margin:12px auto 0}.couple-countdown-v45 b{font-size:29px}.couple-countdown-v45 span{font-size:5.5px;letter-spacing:.12em}

  .souls-signature-v45{padding:78px 0 90px}.souls-signature-heading-v45{margin-bottom:36px}.souls-signature-heading-v45 h2{font-size:49px}.souls-signature-grid-v45{width:100%;display:flex;flex-direction:column;gap:0}
  .partner-signature-v45{width:100%;overflow:hidden}.partner-portrait-v45{width:calc(100vw - 20px);height:78svh;min-height:560px;max-height:760px;margin:0 auto;border-radius:48% 48% 42% 42% / 38% 38% 48% 48%;padding:5px}.partner-portrait-v45 img{object-position:center 18%}.partner-words-v45{width:88vw;margin:28px auto 0;padding-bottom:72px}.partner-words-v45 h3{font-size:47px}.partner-words-v45 blockquote{font-size:22px;line-height:1.45}.partner-words-v45 small{font-size:7px}.partner-ornament-v45{margin:16px auto 19px}
  .love-spine-v45{order:initial;position:relative;top:auto;min-height:92svh;width:100%;gap:34px;background:linear-gradient(180deg,#f8eee3,#fffaf3,#f8eee3)}.love-spine-v45:before,.love-spine-v45:after{content:"";position:absolute;width:210px;height:330px;background-size:contain;background-repeat:no-repeat;opacity:.09}.love-spine-v45:before{left:-100px;top:9%;background-image:var(--flair-b3)}.love-spine-v45:after{right:-100px;bottom:8%;background-image:var(--flair-b4);background-position:right bottom}.love-spine-v45 .love-letters span{font-size:82px!important}.love-spine-v45 p{font-size:28px;position:relative;z-index:1}

  .story-signature-v45{padding:76px 0 58px!important}.story-intro-v45{width:90vw!important;margin-bottom:24px!important}.story-intro-v45 h2{font-size:52px!important}.storybook-shell-v4{width:100vw!important}.storybook-v45{width:100vw!important;height:76svh!important;min-height:590px!important;margin:0!important;perspective:2300px!important}.storybook-v45 .book-pages{inset:0!important;padding:0 3px!important}.storybook-v45 .book-front{grid-template-columns:1fr 1.04fr!important}.storybook-v45 .book-photo{order:1!important;padding:10px 5px 10px 9px!important}.storybook-v45 .book-copy{order:2!important;padding:22px 13px 18px!important}.storybook-v45 .book-copy small{font-size:6px!important}.storybook-v45 .book-copy h3{font-size:26px!important;line-height:.94!important;margin:9px 0 6px!important}.storybook-v45 .book-copy time{font-size:12px!important}.storybook-v45 .book-copy em{font-size:10px!important}.storybook-v45 .book-story-render{font-size:11.8px!important;line-height:1.5!important;max-height:none!important;margin-top:9px!important;overflow:hidden!important}.storybook-v45 .book-photo span{font-size:8px!important}.storybook-v45 .book-spine{display:block!important}.storybook-v45 .book-nav{display:none!important}.story-page-count{margin-top:22px!important}

  .gallery-signature-v45{padding:82px 0 90px}.gallery-signature-head-v45{margin-bottom:30px}.gallery-signature-head-v45 h2{font-size:52px}.gallery-rail-v45{width:100vw;display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;padding:0 12px 8px;scroll-snap-type:x mandatory;scrollbar-width:none}.gallery-rail-v45::-webkit-scrollbar{display:none}.gallery-tile-v45,.gallery-tile-v45:first-child,.gallery-tile-v45:nth-child(n){flex:0 0 82vw;width:82vw;height:55svh;min-height:410px;border-radius:18px;scroll-snap-align:center;grid-column:auto!important;grid-row:auto!important}.gallery-tile-v45:after{opacity:.16}.gallery-tile-v45 span{opacity:1}.gallery-more-v45{margin-top:28px}
  .couple-lightbox-scroll-v45{place-items:start start;padding:76px 0 30px}.couple-lightbox-v45 img{margin:0;display:block}

  .events-signature-v45{padding-top:84px!important}.couple-ending-v45 blockquote{font-size:19px;max-width:88vw}
  body.book-reader-active .site-header{transform:translateY(-120%)!important;opacity:0!important;pointer-events:none!important}
}

@media(max-width:420px){
  .couple-cinema-copy-v45 h1{font-size:48px!important}.partner-portrait-v45{height:72svh;min-height:510px}.partner-words-v45 h3{font-size:43px}.partner-words-v45 blockquote{font-size:20px}.love-spine-v45 .love-letters span{font-size:74px!important}.storybook-v45{height:72svh!important;min-height:550px!important}.gallery-tile-v45,.gallery-tile-v45:first-child,.gallery-tile-v45:nth-child(n){height:51svh;min-height:360px}
}


/* ---------- V4.5 EXTRA POLISH ---------- */
.couple-cinema-hero-v45{position:relative;overflow:hidden}
.couple-carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:58px;height:58px;border-radius:999px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.12);backdrop-filter:blur(14px);display:grid;place-items:center;color:#fff;font:400 38px/1 var(--zi-serif);cursor:pointer;transition:.22s}
.couple-carousel-arrow:hover{background:rgba(255,255,255,.18);transform:translateY(-50%) scale(1.04)}
.couple-carousel-prev{left:26px}.couple-carousel-next{right:26px}

.couple-hero-actions-v45{position:absolute;z-index:5;left:50%;bottom:30px;transform:translateX(-50%);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;width:min(900px,92vw)}
.hero-action-card{appearance:none;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.10);backdrop-filter:blur(12px);border-radius:20px;padding:16px 18px;display:flex;align-items:center;gap:14px;color:#fff;text-align:left;cursor:pointer;transition:.2s;min-height:72px}
.hero-action-card:hover{transform:translateY(-2px);background:rgba(255,255,255,.14)}
.hero-action-card.is-active{border-color:rgba(241,199,141,.78);background:rgba(185,131,69,.28)}
.hero-action-card.is-static{cursor:default}
.hero-action-card.is-static:hover{transform:none}
.hero-action-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.14);font:400 20px/1 var(--zi-serif);flex:0 0 40px}
.hero-action-card b{display:block;font:500 22px/1 var(--zi-serif)}
.hero-action-card small{display:block;font:600 8px/1.2 var(--zi-sans);letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.82);margin-top:5px}
.couple-cinema-hero-v45 .couple-cinema-dots{bottom:132px;right:28px}

.couple-countdown-compact-v45{grid-template-columns:repeat(3,1fr)!important;padding:22px 22px}

.souls-signature-v45{padding:96px 0 96px}
.souls-signature-heading-v45{margin-bottom:42px}
.partner-portrait-v45{height:min(64svh,740px);min-height:500px}
.partner-words-v45{margin:26px auto 0}
.love-spine-v45{min-height:620px}
.story-signature-v45{padding-top:74px!important}
.story-intro-v45{margin-bottom:24px!important}
.story-intro-v45 h2{margin-bottom:0}
.storybook-v45{min-height:600px!important}

.couple-comments-modal-v45{position:fixed;z-index:1300;inset:0;display:grid;place-items:center;padding:20px}
.couple-comments-modal-v45[hidden]{display:none!important}
.couple-comments-backdrop-v45{position:absolute;inset:0;background:rgba(28,16,10,.58);backdrop-filter:blur(6px)}
.couple-comments-dialog-v45{position:relative;z-index:2;width:min(780px,100%);max-height:min(86vh,920px);display:grid;grid-template-rows:auto 1fr auto;background:#fffdf9;border-radius:30px;overflow:hidden;box-shadow:0 40px 90px rgba(49,28,17,.25)}
.couple-comments-head-v45{display:flex;justify-content:space-between;gap:20px;padding:28px 30px 22px;border-bottom:1px solid var(--zi-line);background:linear-gradient(180deg,#fffaf4,#fffdf9)}
.couple-comments-head-v45 small{display:block;font:600 8px var(--zi-sans);letter-spacing:.28em;color:#9f6a45}
.couple-comments-head-v45 h3{margin:10px 0 8px;font:400 40px/.95 var(--zi-serif)}
.couple-comments-head-v45 p{margin:0;color:var(--zi-muted);font:400 15px var(--zi-serif)}
.couple-comments-close-v45{width:46px;height:46px;border-radius:50%;border:1px solid var(--zi-line);background:#fff;cursor:pointer;font-size:28px;line-height:1}
.couple-comments-list-v45{padding:22px 30px 0;overflow:auto;background:#fffdf9}
.couple-comment-card-v45{display:grid;grid-template-columns:56px 1fr;gap:16px;padding:0 0 18px;margin:0 0 18px;border-bottom:1px solid rgba(90,58,38,.08)}
.couple-comment-card-v45.is-mine .couple-comment-copy-v45{background:#fff5e9;border-color:#eed7be}
.couple-comment-avatar-v45{width:56px;height:56px;border-radius:50%;overflow:hidden;background:#ead8c9;display:grid;place-items:center;color:#6a432d;font:500 22px var(--zi-serif)}
.couple-comment-avatar-v45 img{width:100%;height:100%;object-fit:cover}
.couple-comment-copy-v45{padding:15px 16px;border-radius:18px;background:#fff;border:1px solid rgba(90,58,38,.08)}
.couple-comment-meta-v45{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.couple-comment-meta-v45 strong{font:500 19px var(--zi-serif)}
.couple-comment-meta-v45 span{font-size:11px;color:var(--zi-muted)}
.couple-comment-copy-v45 p{margin:0;color:var(--zi-text);font-size:14px;line-height:1.7}
.couple-comment-empty-v45{padding:52px 24px;margin-bottom:24px;border:1px dashed var(--zi-line);border-radius:22px;background:#fff;text-align:center;color:var(--zi-muted)}
.couple-comment-form-v45{padding:22px 30px 30px;border-top:1px solid var(--zi-line);background:#fffaf4}
.couple-comment-form-v45 label{display:block;margin-bottom:8px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#7d6658}
.couple-comment-form-v45 textarea{width:100%;border:1px solid #dbcbbd;border-radius:18px;padding:16px 18px;background:#fff;outline:none;resize:vertical;min-height:128px}
.couple-comment-form-v45 textarea:focus{border-color:#a66b50;box-shadow:0 0 0 4px rgba(166,107,80,.08)}
.couple-comment-form-foot-v45{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-top:14px}
.couple-comment-form-foot-v45 small{color:var(--zi-muted);font-size:12px}
.couple-comment-feedback-v45{margin:12px 0 0;color:#9f5c52;font-size:12px}.couple-comment-feedback-v45.is-success{color:#4f7458}

@media(max-width:980px){
  .couple-hero-actions-v45{grid-template-columns:repeat(2,minmax(0,1fr));bottom:24px}
  .couple-cinema-hero-v45 .couple-cinema-dots{bottom:198px}
}
@media(max-width:760px){
  .couple-cinema-copy-v45:before,.couple-cinema-copy-v45:after{display:none}
  .couple-carousel-arrow{display:none}
  .couple-cinema-flair-left{width:124px;height:124px;left:-18px;top:92px;opacity:.22}
  .couple-cinema-flair-right{width:124px;height:124px;right:-16px;bottom:176px;opacity:.22}
  .couple-hero-actions-v45{position:relative;left:auto;right:auto;bottom:auto;transform:none;width:calc(100% - 24px);margin:-56px auto 0;grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero-action-card{padding:14px 12px;gap:10px;min-height:68px}
  .hero-action-card b{font-size:18px}
  .hero-action-card small{font-size:6.4px;letter-spacing:.13em}
  .hero-action-icon{width:34px;height:34px;font-size:17px}
  .couple-countdown-compact-v45{width:calc(100% - 24px);margin:14px auto 0}
  .souls-signature-v45{padding:62px 0 80px}
  .partner-portrait-v45{width:calc(100vw - 24px);height:66svh;min-height:420px;max-height:620px}
  .partner-words-v45{padding-bottom:42px}
  .love-spine-v45{min-height:70svh}
  .story-signature-v45{padding-top:60px!important}
  .story-intro-v45{margin-bottom:18px!important}
  .couple-comments-dialog-v45{max-height:90vh;border-radius:24px}
  .couple-comments-head-v45,.couple-comments-list-v45,.couple-comment-form-v45{padding-left:18px;padding-right:18px}
  .couple-comments-head-v45 h3{font-size:30px}
  .couple-comment-card-v45{grid-template-columns:44px 1fr;gap:12px}
  .couple-comment-avatar-v45{width:44px;height:44px}
  .couple-comment-form-foot-v45{align-items:flex-start;flex-direction:column}
}
@media(max-width:420px){
  .couple-hero-actions-v45{grid-template-columns:1fr}
}

/* ---------- V4.7 HERO CONTROLS: CLEAN, ICON-ONLY ---------- */
.zi-icon-sprite{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
.zi-icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;display:block}
.zi-icon-inline{width:16px;height:16px;display:inline-block;vertical-align:-3px}

/* No decorative flowers over the couple image. */
.couple-cinema-flair,.couple-cinema-copy-v45:before,.couple-cinema-copy-v45:after{display:none!important}

.couple-carousel-arrow{width:48px;height:48px;background:rgba(18,12,9,.22);border:1px solid rgba(255,255,255,.34);box-shadow:0 12px 34px rgba(0,0,0,.16)}
.couple-carousel-arrow .zi-icon{width:22px;height:22px}

.couple-hero-actions-v45{
  position:absolute;
  left:50%;
  bottom:26px;
  transform:translateX(-50%);
  z-index:7;
  display:flex;
  align-items:center;
  justify-content:center;
  width:auto;
  gap:24px;
  padding:10px 16px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:rgba(10,8,6,.22);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  box-shadow:0 12px 34px rgba(0,0,0,.14);
}
.couple-hero-actions-v45 .hero-action-card{
  min-height:0;
  width:auto;
  border:0;
  border-radius:0;
  background:transparent;
  padding:6px 2px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  color:#fff;
  box-shadow:none;
  backdrop-filter:none;
}
.couple-hero-actions-v45 .hero-action-card:hover{transform:none;background:transparent;color:#f2cc8b}
.couple-hero-actions-v45 .hero-action-card.is-active{background:transparent;color:#f4b5a2;border:0}
.couple-hero-actions-v45 .hero-action-card .zi-icon{width:23px;height:23px}
.couple-hero-actions-v45 .hero-action-card b{font:600 13px/1 var(--zi-sans);letter-spacing:0;color:inherit;min-width:0}
.couple-hero-actions-v45 .hero-action-share b{display:none}
.couple-cinema-hero-v45 .couple-cinema-dots{bottom:86px}

@media(max-width:760px){
  .couple-carousel-arrow{display:none}
  .couple-hero-actions-v45{
    position:absolute;
    left:50%;
    bottom:18px;
    transform:translateX(-50%);
    width:auto;
    margin:0;
    gap:20px;
    padding:9px 14px;
    grid-template-columns:none;
  }
  .couple-hero-actions-v45 .hero-action-card{padding:5px 0;min-height:0}
  .couple-hero-actions-v45 .hero-action-card .zi-icon{width:22px;height:22px}
  .couple-hero-actions-v45 .hero-action-card b{font-size:12px}
  .couple-cinema-hero-v45 .couple-cinema-dots{bottom:70px}
}

/* ---------- V4.8 FINAL COUPLE POLISH ---------- */
.couple-cinema-hero-v45{box-shadow:inset 0 -95px 125px rgba(26,14,8,.24)}
.couple-cinema-shade{background:linear-gradient(180deg,rgba(15,8,4,.18) 0%,rgba(15,8,4,.05) 34%,rgba(15,8,4,.18) 68%,rgba(15,8,4,.64) 100%)!important}
.couple-hero-actions-v45{
  width:min(760px,92vw)!important;
  justify-content:space-around!important;
  gap:8px!important;
  padding:10px 20px!important;
  border-color:rgba(255,255,255,.10)!important;
  background:rgba(7,5,4,.10)!important;
  box-shadow:0 18px 45px rgba(0,0,0,.16)!important;
}
.couple-hero-actions-v45 .hero-action-card{flex:1 1 0;justify-content:center!important;gap:8px!important}
.couple-hero-actions-v45 .hero-action-card .zi-icon{filter:drop-shadow(0 2px 8px rgba(0,0,0,.28))}
.couple-hero-actions-v45 .hero-action-card b{filter:drop-shadow(0 2px 7px rgba(0,0,0,.28))}
.couple-countdown-compact-v45{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  width:min(920px,92vw);
  margin:26px auto 0;
  padding:18px 20px!important;
  border-radius:24px;
  background:rgba(255,253,249,.72);
  border:1px solid rgba(125,84,56,.10);
  box-shadow:0 20px 48px rgba(71,43,25,.07);
}
.couple-countdown-compact-v45>div{position:relative;min-width:0}
.couple-countdown-compact-v45>div:not(:last-child):after{content:"";position:absolute;right:0;top:18%;height:64%;width:1px;background:rgba(111,73,48,.10)}
.couple-countdown-compact-v45 b{font-size:clamp(27px,3vw,43px)!important}
.couple-countdown-compact-v45 span{font-size:9px!important;letter-spacing:.16em!important}
.story-signature-v45{padding-top:50px!important}
.story-intro-v45{margin-bottom:14px!important}

@media(max-width:760px){
  .couple-hero-actions-v45{width:calc(100% - 24px)!important;padding:8px 9px!important;bottom:16px!important;background:rgba(7,5,4,.08)!important}
  .couple-hero-actions-v45 .hero-action-card{gap:5px!important}
  .couple-hero-actions-v45 .hero-action-card .zi-icon{width:21px;height:21px}
  .couple-hero-actions-v45 .hero-action-card b{font-size:11px}
  .couple-countdown-compact-v45{width:calc(100% - 24px)!important;margin:14px auto 0!important;padding:14px 8px!important;border-radius:20px}
  .couple-countdown-compact-v45 b{font-size:25px!important}
  .couple-countdown-compact-v45 span{font-size:6.5px!important;letter-spacing:.07em!important}
  .story-signature-v45{padding-top:38px!important}
  .story-intro-v45{margin-bottom:10px!important}
}
@media(max-width:410px){
  .couple-countdown-compact-v45 b{font-size:21px!important}
  .couple-countdown-compact-v45 span{font-size:6px!important}
}


/* =========================================================
   V4.11 MOBILE TRANSPARENT HEADER + SOFTER OVERLAY UI
   ========================================================= */
body[data-header-theme="overlay"] .site-header:not(.is-scrolled):not(.scrolled){background:transparent!important;border:0!important;box-shadow:none!important;color:#fff!important}
body[data-header-theme="overlay"] .site-header:not(.is-scrolled):not(.scrolled) .nav-wrap{background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important}
body[data-header-theme="overlay"] .site-header:not(.is-scrolled):not(.scrolled) .brand-logo img{filter:drop-shadow(0 3px 14px rgba(0,0,0,.28))}
body[data-header-theme="overlay"] .site-header:not(.is-scrolled):not(.scrolled) .menu-btn{background:transparent!important;color:#fff!important}
body[data-header-theme="overlay"] .site-header:not(.is-scrolled):not(.scrolled) .menu-btn span{background:#fff!important;height:1.5px!important}
body[data-header-theme="overlay"] .site-header:not(.is-scrolled):not(.scrolled) .text-link,
body[data-header-theme="overlay"] .site-header:not(.is-scrolled):not(.scrolled) .desktop-nav a,
body[data-header-theme="overlay"] .site-header:not(.is-scrolled):not(.scrolled) .brand-word{color:#fff!important;text-shadow:0 2px 14px rgba(0,0,0,.28)}

.couple-cinema-shade{background:linear-gradient(180deg,rgba(11,8,6,.18) 0%,rgba(11,8,6,.03) 16%,rgba(11,8,6,.06) 44%,rgba(11,8,6,.26) 74%,rgba(11,8,6,.68) 100%)!important}
.couple-cinema-copy-v45,.couple-hero-actions-v45,.couple-cinema-dots,.couple-countdown-compact-v45{z-index:8}
.couple-hero-actions-v45{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.couple-hero-actions-v45 .hero-action-card{
  flex:0 0 auto!important;
  padding:4px 10px!important;
  color:#fff!important;
  text-shadow:0 2px 10px rgba(0,0,0,.36);
}
.couple-hero-actions-v45 .hero-action-card .zi-icon,
.couple-hero-actions-v45 .hero-action-card b{filter:drop-shadow(0 2px 10px rgba(0,0,0,.34))!important}
.couple-cinema-hero-v45 .couple-cinema-dots{bottom:96px!important}
.couple-cinema-hero-v45 .couple-cinema-dots button{background:rgba(255,255,255,.45)!important;box-shadow:0 2px 8px rgba(0,0,0,.18)}
.couple-cinema-hero-v45 .couple-cinema-dots button.is-active{background:#fff!important}
.couple-countdown-compact-v45{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  margin-top:10px!important;
}
.couple-countdown-compact-v45 b,
.couple-countdown-compact-v45 span{text-shadow:0 2px 10px rgba(0,0,0,.10)}
.couple-countdown-compact-v45>div:not(:last-child):after{background:rgba(111,73,48,.12)!important}

@media(max-width:900px){
  body[data-header-theme="overlay"] .site-header:not(.is-scrolled):not(.scrolled){height:68px!important;background:transparent!important;backdrop-filter:none!important}
  body[data-header-theme="overlay"] .site-header:not(.is-scrolled):not(.scrolled) .nav-wrap{width:100%!important;height:68px!important;padding:0 18px!important}
  body[data-header-theme="overlay"] .site-header:not(.is-scrolled):not(.scrolled) .menu-btn{width:42px!important;height:42px!important;background:transparent!important;box-shadow:none!important}
  body[data-header-theme="overlay"] .site-header:not(.is-scrolled):not(.scrolled) .menu-btn span{box-shadow:0 2px 10px rgba(0,0,0,.34)}
  .couple-cinema-copy-v45{bottom:12.5vh!important}
  .couple-hero-actions-v45{bottom:18px!important;gap:10px!important;width:auto!important;padding:0!important}
  .couple-hero-actions-v45 .hero-action-card{padding:4px 8px!important;gap:6px!important}
  .couple-cinema-hero-v45 .couple-cinema-dots{bottom:66px!important;right:18px!important}
  .couple-countdown-compact-v45{width:calc(100% - 18px)!important;padding:8px 4px 2px!important}
}
