/* Connected Builder review, using the approved Landing palette and typography. */
.builder-active{background:#f7f3ef}.b-header{background:#fffdfcf2;border-bottom:1px solid var(--line)}.b-header-inner{max-width:1260px;margin:auto;min-height:84px;padding:12px 36px;display:flex;align-items:center;justify-content:space-between;gap:16px}.b-brand{background:none;padding:0}.b-brand img{height:45px;width:115px}.b-header-actions{display:flex;align-items:center;gap:18px}.b-local-tag{border:1px solid #e2d7c8;border-radius:100px;padding:4px 13px;font-size:13px;color:#75634c}.b-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:none;color:var(--green);min-height:44px;padding:8px 10px;font-size:15px;text-decoration:underline;text-underline-offset:5px}
.b-progress-wrap{background:#fffdfc;border-bottom:1px solid var(--line)}.b-progress{display:flex;max-width:1140px;padding:14px 22px;margin:auto;gap:8px;flex-wrap:wrap;overflow:visible}.b-progress button{display:flex;align-items:center;justify-content:center;gap:9px;padding:8px 14px;background:none;border:1px solid transparent;border-radius:10px;color:var(--muted);font-size:14px;white-space:nowrap;min-height:45px;flex:1}.b-progress button>span{display:grid;place-items:center;width:27px;height:27px;border:1px solid var(--line);border-radius:50%;font-family:Manrope,sans-serif;font-size:12px;font-weight:500}.b-progress button[aria-current=step]{background:#edf2ee;border-color:#b9c9bb;color:var(--green)}.b-progress button[aria-current=step]>span{background:var(--green);border-color:var(--green);color:white}.b-progress b{font-weight:500}
.b-layout{display:grid;grid-template-columns:minmax(0,720px) minmax(280px,360px);gap:56px;max-width:1210px;margin:auto;padding:38px 32px 125px}.b-workspace{min-width:0}.b-heading{margin-bottom:28px}.b-kicker{font-size:13px;letter-spacing:.05em;color:#99723f;font-weight:700}.b-heading h1{font-size:clamp(28px,2.9vw,40px);line-height:1.45;letter-spacing:-.025em;margin-top:9px}.b-heading>p:last-child{color:var(--muted);font-size:16px;margin-top:10px}.b-card{padding:26px;border:1px solid #e3dcd1;border-radius:20px;background:#fffdfc;margin-block:18px}.b-card-heading{margin-bottom:19px}.b-card h2{font-size:23px;line-height:1.5}.b-card-heading>p{font-size:15px;color:var(--muted);margin-top:6px}.b-card p{overflow-wrap:anywhere}.b-note,.b-soft-note{font-size:14px;color:var(--muted);line-height:1.9;margin-block:14px}.b-soft-note{padding:18px 22px;border-inline-start:3px solid var(--gold);background:#eeeadf;border-radius:10px}.b-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.b-field{display:grid;gap:9px;font-size:15px;min-width:0;margin-block:12px}.b-field>span{font-weight:700}.b-field input,.b-field select,.b-field textarea{width:100%;min-width:0;min-height:49px;border:1px solid #d8d5ca;border-radius:10px;padding:11px 12px;background:#fbf9f5;color:var(--ink);font:inherit;font-size:16px}.b-field textarea{resize:vertical;line-height:1.9}.b-field input[type=date],.b-field input[type=time],.b-field input[type=url]{direction:ltr;text-align:start}.b-field input[type=range]{padding:0;background:none;accent-color:var(--green)}.b-field input:focus-visible,.b-field select:focus-visible,.b-field textarea:focus-visible{outline:3px solid #b6c9bc;outline-offset:3px}.b-choice-field{padding:0;border:0;margin:15px 0}.b-choice-field legend{font-size:16px;font-weight:700;margin-bottom:12px}.b-choice-field legend:empty{display:none}.b-choices{display:flex;flex-wrap:wrap;gap:10px}.b-choice{position:relative;cursor:pointer;display:flex;flex:1;min-width:135px}.b-choice>input,.b-template>input,.b-design-choice>input,.b-font-choice>input{position:absolute;opacity:0;width:1px;height:1px;inset-inline-start:12px;top:15px}.b-choice>span{border:1px solid #dcd6cc;border-radius:11px;padding:13px 17px;background:#fffdfc;width:100%;text-align:center;font-size:16px}.b-choice b{font-weight:500;display:block}.b-choice small{display:block;color:var(--muted);font-size:13px;line-height:1.7;margin-top:3px}.b-choice input:checked+span{border-color:var(--green);background:#eaf1eb;box-shadow:inset 0 0 0 1px var(--green)}.b-choice:focus-within,.b-template:focus-within,.b-design-choice:focus-within,.b-font-choice:focus-within{outline:3px solid #b6c9bc;outline-offset:3px;border-radius:12px}.b-selected-label{display:inline-flex;gap:7px;align-items:center;color:var(--green);font-size:14px;margin-top:14px}.b-selected-label svg{width:17px;height:17px}
.b-occasion-card{display:flex;gap:26px;padding:24px;border:1px solid #e2d8c5;border-radius:22px;background:#eee9df}.b-occasion-card>img{width:127px;height:190px;object-fit:cover;border-radius:70px 70px 10px 10px}.b-occasion-card>div{align-self:center;min-width:0}.b-occasion-card h2{font-size:35px;line-height:1.5}.b-occasion-card p{font-size:16px;color:var(--muted);line-height:1.85;margin-top:7px}.b-empty{text-align:center;padding:32px 12px}.b-empty>svg{width:38px;height:38px;padding:17px;box-sizing:content-box;background:#eee8da;border-radius:50%;color:var(--gold);margin:0 auto 22px}.b-empty h3{font-size:24px}.b-empty p{color:var(--muted);max-width:430px;margin:14px auto 0;line-height:1.95;font-size:16px}/* The editor stays on the interior; the full preview plays the selected envelope. */
.b-video-choice{display:grid;grid-template-columns:20px minmax(88px,145px) 1fr;gap:18px;align-items:center;border:1px solid #c9b993;border-radius:18px;padding:18px;background:#faf6ee;cursor:pointer}
.b-video-choice input{width:18px;height:18px;accent-color:var(--green)}
.b-video-choice img{width:100%;height:auto;aspect-ratio:9/16;object-fit:cover;border-radius:10px}
.b-envelope-copy{display:grid;gap:9px;min-width:0;line-height:1.8}
.b-envelope-copy strong{font-size:22px;color:var(--green)}
.b-envelope-copy>span{font-size:15px;color:var(--muted)}
.b-envelope-copy small{font-size:13px;color:#776546}
.b-envelope-preview{margin-top:20px}
@media(max-width:520px){.b-video-choice{grid-template-columns:18px 88px 1fr;gap:10px;padding:12px}.b-envelope-copy strong{font-size:19px}.b-envelope-copy>span{font-size:14px}}

.b-preview-sticky{position:sticky;top:25px;text-align:center}.b-preview-heading p{font-size:12px;letter-spacing:.1em;color:#927950}.b-preview-heading span{font-size:17px;font-weight:700;display:block;margin-top:5px}.b-scene-controls{display:flex;gap:9px;margin:16px auto;width:min(100%,305px)}.b-scene-controls button{flex:1;border:1px solid var(--line);border-radius:9px;background:#fffdfc;font-size:13px;min-height:42px;padding:8px}.b-phone{width:min(100%,300px);margin:auto;padding:6px;box-shadow:0 24px 70px #1c382221;border-radius:31px}.b-phone .phone-screen{border-radius:25px}.b-preview-note{color:var(--muted);font-size:12px;margin:6px auto;max-width:300px}.b-preview-aside .b-link{margin-top:12px}.b-mobile-preview{display:none}.b-bottom-bar{position:fixed;inset-inline:0;bottom:0;z-index:45;background:#fffdfcf7;border-top:1px solid var(--line);backdrop-filter:blur(12px);padding:12px 24px calc(12px + env(safe-area-inset-bottom))}.b-bottom-bar>div{max-width:680px;margin:auto;display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:12px}.b-bottom-bar .button{min-height:49px;font-size:16px;padding:10px 18px;border-radius:10px}.b-preview-button{color:var(--green);background:#eef2eb;border-color:#cbd4c7}.b-save-status{font-size:13px;text-align:center;color:#667862;min-height:22px;margin-top:22px}.b-save-error{color:#934234}.b-toast{position:fixed;inset-inline:20px;bottom:108px;margin:auto;width:max-content;max-width:calc(100% - 40px);padding:13px 22px;border-radius:12px;background:var(--green);color:white;z-index:100;opacity:0;pointer-events:none;transition:opacity .18s}.b-toast.show{opacity:1}.b-errors{padding:20px;background:#fff0e9;border:1px solid #cb9180;border-radius:14px;margin-bottom:18px}.b-errors p{font-weight:700}.b-errors ul{padding-inline-start:23px;margin:10px 0 0;font-size:15px}
.b-chosen-scene{display:flex;align-items:center;gap:16px;padding:18px 20px;background:#fffdfc;border:1px solid var(--line);border-radius:16px;margin-bottom:20px}.b-chosen-scene>img{height:75px;width:54px;object-fit:cover;border-radius:6px}.b-chosen-scene>div{flex:1;min-width:0}.b-chosen-scene h2{font-size:23px}.b-chosen-scene small{color:var(--muted);font-size:12px}.b-atelier-tabs{display:flex;gap:5px;border-bottom:1px solid #d8d1c4;margin-bottom:22px;flex-wrap:wrap;overflow:visible}.b-atelier-tabs button{background:none;font-size:15px;padding:13px 15px;min-height:49px;flex:1 1 100px;min-width:0;white-space:normal;border-bottom:3px solid transparent;color:var(--muted)}.b-atelier-tabs button[aria-current=page]{color:var(--green);border-color:var(--green);font-weight:700}.b-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:19px}.b-filters button{min-height:40px;padding:6px 19px;background:transparent;border:1px solid var(--line);border-radius:100px;font-size:14px}.b-filters button[aria-pressed=true]{background:var(--green);color:white;border-color:var(--green)}.b-template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.b-template{position:relative;border-radius:14px;border:1px solid #d8cfbd;overflow:hidden;background:#fffdfc;cursor:pointer;min-width:0}.b-template:has(input:checked){border-color:var(--green);box-shadow:0 0 0 2px var(--green)}.b-template-image{display:block;position:relative;aspect-ratio:3/4;overflow:hidden}.b-template-image img{width:100%;height:100%;object-fit:cover;object-position:center}.b-template-image>small{position:absolute;top:9px;inset-inline-start:9px;background:#fff9e9e8;border-radius:50px;padding:3px 9px;color:#57442c;font-size:12px}.b-template i{position:absolute;inset-inline-end:10px;bottom:10px;width:28px;height:28px;background:var(--green);border:2px solid white;border-radius:50%;color:white;display:none;align-items:center;justify-content:center}.b-template:has(input:checked) i{display:flex}.b-template i svg{width:15px;height:15px}.b-template-copy{padding:12px;display:block}.b-template-copy b{font-size:17px;font-weight:700;display:block;line-height:1.5}.b-template-copy small{font-size:12px;line-height:1.6;display:block;color:var(--muted);margin-top:5px}
.b-design-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.b-design-choice{position:relative;min-width:0;border:1px solid #dcd5c9;border-radius:17px;background:#fffdfc;padding:14px;cursor:pointer;overflow:hidden}.b-design-choice:has(input:checked){border-color:var(--green);box-shadow:0 0 0 2px var(--green)}.b-design-sample{display:flex;justify-content:center;align-items:center;min-height:175px;border-radius:9px;background:var(--invite-paper);color:var(--invite-ink);padding:12px;container-type:inline-size}.b-design-choice>b{font-size:16px;font-weight:700;display:block;text-align:center;padding:15px 4px 3px}.b-design-choice>i{position:absolute;top:10px;inset-inline-end:10px;width:23px;height:23px;background:var(--green);color:white;border-radius:50%;display:none;place-items:center}.b-design-choice>i svg{width:15px;height:15px}.b-design-choice:has(input:checked)>i{display:grid}.b-font-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.b-font-choice{position:relative;text-align:center;border:1px solid var(--line);border-radius:13px;padding:20px 12px;cursor:pointer;overflow-wrap:anywhere}.b-font-choice:has(input:checked){background:#edf2ec;border-color:var(--green);box-shadow:0 0 0 1px var(--green)}.b-font-choice>span{font-size:29px;line-height:1.7;display:block}.b-font-choice>small{font-size:13px;display:block;margin-top:10px;color:var(--muted)}.b-music-player{display:flex;gap:17px;align-items:center;border:1px solid #dccbb0;border-radius:16px;padding:23px;background:#eee8dd;margin-bottom:24px}.b-music-player>svg{width:30px;height:30px;color:var(--gold)}.b-music-player>div{flex:1}.b-music-player b{font-size:18px}.b-music-player p{font-size:14px;color:var(--muted);margin-top:5px;line-height:1.8}.b-music-player button{background:#e4ded2;border:1px solid #cfc5b3;border-radius:8px;padding:10px 15px;color:#706652;font-size:14px}.b-music-player~.b-choice-field .b-choices{display:grid;grid-template-columns:1fr}.b-music-player~.b-choice-field .b-choice>span{text-align:start}
.b-toggle{display:flex;align-items:center;gap:12px;cursor:pointer;position:relative;min-height:58px;padding:10px 0}.b-toggle>span{flex:1;min-width:0}.b-toggle b{display:block;font-size:16px;font-weight:700}.b-toggle small{display:block;color:var(--muted);font-size:13px;margin-top:3px;line-height:1.7}.b-toggle input{position:absolute;opacity:0;inset-inline-end:0}.b-toggle>i{position:relative;display:block;width:43px;height:25px;flex:none;border-radius:15px;border:1px solid #bfc2b7;background:#e2e3dd}.b-toggle>i:after{content:'';position:absolute;top:3px;left:3px;width:17px;height:17px;border-radius:50%;background:#fffdfc;box-shadow:0 1px 3px #0002}.b-toggle>input:checked+i{background:var(--green);border-color:var(--green)}.b-toggle>input:checked+i:after{left:21px}.b-toggle:focus-within{outline:3px solid #b6c9bc;outline-offset:4px;border-radius:5px}.b-verse-choices{display:grid;gap:13px;margin:16px 0}.b-verse{display:flex;align-items:start;gap:13px;background:#f8f5ef;border:1px solid #ded8ca;border-radius:13px;padding:18px;cursor:pointer}.b-verse>input{margin-top:8px;accent-color:var(--green);width:17px;height:17px;flex:none}.b-verse>span{flex:1;min-width:0}.b-verse b{display:block;color:#81623c;font-size:14px}.b-verse:has(input:checked){border-color:var(--green);background:#edf2eb}.b-detail{border:1px solid #dcd8ce;border-radius:11px;margin:12px 0;overflow:hidden}.b-detail>summary{cursor:pointer;display:flex;align-items:center;gap:12px;padding:16px;font-size:16px;list-style:none;min-height:60px;font-weight:700}.b-detail>summary::-webkit-details-marker{display:none}.b-detail>summary:after{content:'+';margin-inline-start:auto;font-size:21px;color:#8d7757}.b-detail[open]>summary:after{content:'−'}.b-detail>summary>span{font-family:Manrope,sans-serif;font-size:12px;color:#8e774e}.b-detail>summary>small{font-size:13px;direction:ltr;font-weight:400;color:var(--muted)}.b-detail-body{padding:2px 17px 18px;background:#faf8f3}.b-program-row{display:flex;align-items:center;gap:20px;padding:7px 0;border-bottom:1px solid #e5dfd5}.b-program-row:last-child{border:0}.b-program-row>.b-toggle{flex:1}.b-program-row>.b-field{width:125px;flex:none}.b-program-row .b-field>span{font-size:13px;color:var(--muted)}.b-instruction-editor,.b-contact-editor{border-bottom:1px solid #e2ddd2;padding:4px 0}.b-instruction-editor:last-child,.b-contact-editor:last-child{border:0}.b-summary{margin:0 0 23px}.b-summary>div{display:grid;grid-template-columns:1fr 1.4fr auto;gap:16px;border-bottom:1px solid #e6e0d6;padding:15px 0;align-items:center}.b-summary dt{font-size:14px;color:var(--muted)}.b-summary dd{margin:0;font-size:15px;font-weight:700;overflow-wrap:anywhere}.b-summary button{font-size:13px;background:none;color:var(--green);text-decoration:underline;min-height:44px;padding:5px}.b-wide{width:100%}.b-message-preview{background:#eff2e9;border:1px solid #d9dfd1;border-radius:14px;padding:23px;margin-bottom:20px;font-size:16px;line-height:2.1;user-select:text;overflow-wrap:anywhere}.b-message-preview span{display:block;border-top:1px dashed #b6c0aa;margin-top:15px;padding-top:12px;color:#737a68;font-size:13px}.b-checklist{padding-inline-start:20px;margin:0 0 18px;color:#855f39}.b-checklist button{background:none;text-align:start;font-size:15px;color:inherit;padding:8px;text-decoration:underline}.b-ready{display:flex;align-items:center;gap:10px;color:var(--green)}.b-review-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.b-review-actions .button{flex:1;font-size:15px}
/* One reader for the Landing phone, Builder preview, and full guest review. */
.review-reader{color:var(--invite-ink);font-size:4.1cqw}.review-reader .invitation-hero .hero-names{font-family:var(--reader-name-stack,var(--reader-font)),Amiri,serif;top:26%;inset-inline:9%;max-height:61%;overflow-x:hidden;overflow-y:auto;scrollbar-width:none}.review-reader .hero-names strong{font-family:inherit;line-height:1.45;font-size:10.6cqw;overflow-wrap:anywhere;max-width:100%;font-weight:400}.review-reader .hero-names strong.join{font-size:6cqw;line-height:1.6}.review-reader .hero-names small{font-size:3.8cqw}.review-reader .hero-names .invite-date{font-size:3.8cqw;line-height:1.9;max-width:95%}.review-reader .invitation-body{padding:8cqw 6cqw 5cqw;font-size:4.2cqw;line-height:1.95}.review-reader .invitation-body h3{font-size:7cqw;line-height:1.65}.review-reader .invite-block{padding-block:5cqw}.review-reader .invite-block .basmala{font-size:6cqw;line-height:2}.review-reader .invite-block .verse{font-size:5.1cqw;line-height:2.25;white-space:normal;overflow-wrap:normal}.review-reader .verse-source{font-size:3.4cqw}.review-reader h4{margin:0;font-size:4.5cqw;font-weight:700;line-height:1.7}.reader-hosts h3{font-family:var(--reader-name-stack,var(--reader-font)),Amiri,serif}.reader-date{width:100%;text-align:center;color:var(--invite-accent,#80554f);font-family:Amiri,serif;line-height:1.4;display:flex;align-items:center;justify-content:center;flex-direction:column;margin:5px auto 16px}.reader-date>b{font-weight:400;font-size:17cqw;line-height:1.05}.reader-date>span{font-size:6.8cqw}.reader-date>small{font:4.4cqw Tajawal,sans-serif;line-height:1.6}.reader-date.date-editorial{display:grid;grid-template-columns:1fr 1fr;max-width:240px;column-gap:15px;text-align:start}.date-editorial>b{grid-column:2;grid-row:1/4;font-size:24cqw;border-inline-start:1px solid currentColor;padding-inline-start:13px}.date-editorial>small,.date-editorial>span{grid-column:1}.reader-date.date-tiles{flex-direction:row;gap:8px}.date-tiles>span{flex:1;display:flex;flex-direction:column;justify-content:center;border:1px solid color-mix(in srgb,var(--invite-accent) 36%,transparent);border-radius:9px;padding:12px 3px;min-height:82px;min-width:0}.date-tiles b{font-size:8.5cqw;font-weight:400}.date-tiles small,.date-tiles span>span{font:3.8cqw Tajawal,sans-serif}.date-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;width:100%;margin:12px 0}.date-week>span{display:flex;flex-direction:column;text-align:center;padding:7px 0;font-family:Tajawal,sans-serif;font-size:4.7cqw}.date-week small{font-size:3.4cqw;line-height:1.7;white-space:nowrap}.date-week b{font-size:5.2cqw}.date-week .marked{border-radius:25px;background:var(--invite-accent);color:var(--invite-paper)}.reader-date.date-medallion{border:1px solid color-mix(in srgb,var(--invite-accent) 65%,transparent);outline:1px solid color-mix(in srgb,var(--invite-accent) 25%,transparent);outline-offset:6px;border-radius:50%;width:56%;aspect-ratio:1;margin:15px auto 25px}.date-medallion>b{font-size:14cqw}.date-medallion>small{font-size:3.6cqw}.date-medallion>span{font-size:5.8cqw}.reader-date.date-ticket{display:grid;grid-template-columns:1fr 1fr;column-gap:14px;border:1px solid color-mix(in srgb,var(--invite-accent) 35%,transparent);border-radius:12px;padding:16px;max-width:260px}.date-ticket>b{grid-column:1;grid-row:1/4;border-inline-end:1px dashed currentColor;font-size:19cqw;padding-inline-end:12px}.date-ticket>small,.date-ticket>span{grid-column:2}.reader-date.date-arch{border:1px solid color-mix(in srgb,var(--invite-accent) 50%,transparent);border-radius:100px 100px 12px 12px;width:53%;min-height:145px;padding:16px 10px}.date-arch>b{font-size:17cqw}.reader-time{font:3.8cqw Manrope,sans-serif;color:var(--invite-ink)}
.reader-count{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:20px 0;width:100%;color:var(--invite-accent);direction:ltr;text-align:center}.count-unit{display:flex;flex-direction:column;align-items:center;min-width:0;padding:5px 1px}.count-unit b{font:7.2cqw 'Cormorant Garamond',Amiri,serif;line-height:1.35}.count-unit small{font:3.2cqw Tajawal,Manrope,sans-serif;color:var(--invite-ink);line-height:1.8;max-width:100%;overflow-wrap:anywhere}.count-flip .count-unit{background:linear-gradient(0deg,#00000005 49%,#00000024 50%,transparent 51%);border:1px solid color-mix(in srgb,var(--invite-accent) 20%,transparent);border-radius:7px;padding:9px 2px}.count-arches .count-unit{border:1px solid color-mix(in srgb,var(--invite-accent) 35%,transparent);border-radius:50px 50px 5px 5px;padding:15px 2px 7px}.count-circles .count-unit{aspect-ratio:1;border:1px solid color-mix(in srgb,var(--invite-accent) 35%,transparent);border-radius:50%;justify-content:center;padding:3px 0}.count-circles .count-unit b{font-size:6.5cqw}.count-circles .count-unit small{font-size:2.9cqw}.count-clock .count-unit:first-child{grid-column:1/5;padding-bottom:8px}.count-clock .count-unit:first-child b{font-size:15cqw;line-height:1}.count-clock{grid-template-columns:repeat(3,minmax(0,1fr));gap:0}.count-clock .count-unit:first-child{grid-column:1/4}.count-clock .count-unit:not(:first-child) b{font-family:Manrope,sans-serif;font-size:6cqw}.count-clock .count-unit:nth-child(3){border-inline:1px solid color-mix(in srgb,var(--invite-accent) 25%,transparent)}.count-statement .count-unit:first-child{grid-column:1/5;border-bottom:1px solid color-mix(in srgb,var(--invite-accent) 30%,transparent);padding-bottom:10px;margin-bottom:4px}.count-statement .count-unit:first-child b{font-size:21cqw;line-height:1}.count-statement{grid-template-columns:repeat(3,minmax(0,1fr));gap:0}.count-statement .count-unit:first-child{grid-column:1/4}.count-statement .count-unit:first-child small{font-size:4.5cqw}.reader-calendar,.reader-media,.reader-personal button{font:inherit;border:1px solid color-mix(in srgb,var(--invite-accent) 45%,transparent);background:var(--invite-paper);color:var(--invite-ink);border-radius:9px;padding:10px 17px;min-height:44px;margin:10px auto}.reader-media{position:absolute;z-index:4;inset-inline-end:4%;bottom:3%;padding:8px;width:44px;height:44px;border-radius:50%;margin:0;display:grid;place-items:center;opacity:.95}.reader-media svg{width:18px;height:18px}.reader-day-tabs{display:flex;gap:9px;margin:15px 0 24px}.reader-day-tabs button{flex:1;border:1px solid color-mix(in srgb,var(--invite-accent) 30%,transparent);background:none;color:var(--invite-ink);font:inherit;font-size:3.7cqw;border-radius:9px;min-height:50px;padding:7px}.reader-day-tabs button[aria-pressed=true]{background:var(--invite-accent);color:var(--invite-paper)}.reader-day-tabs small{display:block;font-size:3cqw;font-family:Manrope,sans-serif}.reader-stop{display:grid;grid-template-columns:45px 1fr;gap:13px;text-align:start;margin-block:25px}.reader-stop>time{font:3.7cqw Manrope,sans-serif;color:var(--invite-accent);padding-top:3px}.reader-stop p{font-size:3.9cqw;margin-top:6px;white-space:pre-line}.reader-stop a{text-decoration:underline;font-size:3.8cqw;display:inline-block;min-height:44px;padding:8px 0}.reader-program{padding:10px 0 0;margin:10px 0 0;border-top:1px solid color-mix(in srgb,var(--invite-accent) 20%,transparent);list-style:none}.reader-program li{display:flex;gap:10px;justify-content:space-between;font-size:3.6cqw;padding:6px 0}.reader-program time{font-family:Manrope,sans-serif;font-size:3.1cqw;flex:none}.reader-contacts{display:grid;gap:12px}.reader-contacts a{border:1px solid color-mix(in srgb,var(--invite-accent) 25%,transparent);border-radius:10px;padding:12px}.reader-contacts span,.reader-contacts b{display:block;font-weight:400}.reader-contacts b{font-family:Manrope,sans-serif;font-size:3.8cqw}.reader-instruction{text-align:start;padding:15px 13px;margin:12px 0;border-inline-start:2px solid color-mix(in srgb,var(--invite-accent) 25%,transparent)}.reader-instruction.important{border-color:var(--invite-accent);background:#b19b6610}.reader-instruction p{font-size:4.1cqw;margin-top:5px;white-space:pre-line}.reader-attendees{display:flex;align-items:center;justify-content:center;gap:10px;padding:15px 0;font-size:3.9cqw}.reader-attendees select{font:inherit;min-height:44px;min-width:65px;border:1px solid #baa98a;border-radius:7px;padding:6px;background:var(--invite-paper);color:var(--invite-ink)}.reader-response{font-size:3.5cqw;color:var(--invite-accent)}.reader-closing{padding:28px 0 12px}.reader-closing img{width:80px;height:35px;object-fit:contain;margin:23px auto 0}.reader-personal{position:absolute;inset:0;min-height:100%;z-index:5;background:var(--invite-paper);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px 25px;text-align:center}.reader-personal h2{font-family:Amiri,serif;color:var(--invite-accent);font-size:11cqw;line-height:1.7;margin:20px 0;overflow-wrap:anywhere;max-width:100%}.reader-personal p{font-size:4.6cqw}.reader-personal button{font-size:4.2cqw;margin-top:35px}.b-design-sample .reader-date{margin:0}.b-design-sample .reader-date>b{font-size:23cqw}.b-design-sample .date-medallion{width:65%;margin:8px}.b-design-sample .date-arch{width:65%;min-height:135px}.b-design-sample .date-tiles{gap:5px}.b-design-sample .date-tiles>span{min-height:74px}.b-design-sample .reader-count{margin:0}.b-design-sample .count-unit b{font-size:10cqw}.b-design-sample .count-unit small{font-size:4.5cqw}.b-design-sample .count-clock .count-unit:first-child b{font-size:22cqw}.b-design-sample .count-statement .count-unit:first-child b{font-size:26cqw}
.b-full-preview{padding:0;border:1px solid #d6d0c3;border-radius:20px;background:#f7f3ef;color:var(--ink);width:min(480px,100vw);max-width:100vw;height:min(960px,96dvh);max-height:100dvh;overflow:hidden}.b-full-preview::backdrop{background:#132c24bb;backdrop-filter:blur(5px)}.b-full-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 15px;background:#fffdfc;min-height:58px}.b-full-toolbar button{background:none;font-size:14px;min-height:40px;display:flex;align-items:center;gap:8px}.b-full-choices{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 12px;min-height:48px}.b-full-choices button,.b-full-choices select{border:1px solid var(--line);border-radius:8px;background:#fffdfc;font-size:13px;min-height:36px;padding:5px 12px;max-width:140px}.b-full-choices button[aria-pressed=true]{background:var(--green);color:white;border-color:var(--green)}.b-full-phone{height:calc(100% - 142px);padding:0 12px}.b-full-phone .b-phone{height:100%;width:100%;max-width:390px;border-radius:20px;padding:4px}.b-full-phone .phone-screen{height:100%;aspect-ratio:auto;border-radius:16px}.b-full-caption{font-size:12px;text-align:center;padding:8px 10px;height:36px}.review-reader .rsvp-buttons button{font-size:3.7cqw;min-height:44px;padding:8px}
@media(max-width:1100px){.b-layout{gap:28px;padding-inline:24px;grid-template-columns:minmax(0,1fr) 290px}.b-progress button{padding-inline:8px}.b-progress b{font-size:13px}.b-template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.b-card{padding:22px}.b-header-inner{padding-inline:24px}}
@media(max-width:820px){.b-layout{display:block;max-width:710px;padding:26px 22px 120px}.b-preview-aside{display:none}.b-mobile-preview{display:flex;align-items:center;gap:12px;padding:12px 14px;margin-bottom:22px;border:1px solid #ddd5c7;border-radius:13px;background:#fffdfc}.b-mobile-preview>img{width:42px;height:54px;object-fit:cover;border-radius:5px}.b-mobile-preview>div{flex:1;min-width:0}.b-mobile-preview b,.b-mobile-preview small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.b-mobile-preview b{font-size:16px}.b-mobile-preview small{font-size:13px;color:var(--muted)}.b-mobile-preview>button{display:flex;align-items:center;gap:6px;padding:8px;min-height:44px;background:none;color:var(--green);font-size:14px}.b-mobile-preview>button svg{width:17px;height:17px}.b-progress{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));padding:10px 12px;gap:3px}.b-progress button{min-width:0;padding:6px 2px}.b-progress b{display:none}.b-template-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.b-header-inner{min-height:73px}.b-heading h1{font-size:32px}.b-heading{margin-bottom:23px}}
@media(max-width:540px){.b-header-inner{padding:11px 18px}.b-brand img{width:95px;height:37px}.b-header-actions{gap:9px}.b-local-tag{font-size:12px;padding:3px 9px}.b-header-actions .b-link{font-size:14px;padding:8px 3px}.b-layout{padding:24px 17px 118px}.b-heading h1{font-size:29px}.b-heading>p:last-child{font-size:15px;line-height:1.8}.b-card{padding:20px 17px;border-radius:16px}.b-card h2{font-size:22px}.b-fields{gap:10px}.b-field{font-size:14px}.b-field input,.b-field select,.b-field textarea{padding:10px;font-size:16px}.b-choices{gap:8px}.b-choice{min-width:115px}.b-choice>span{font-size:15px;padding:12px 10px}.b-occasion-card{gap:17px;padding:18px}.b-occasion-card>img{width:99px;height:165px}.b-occasion-card h2{font-size:30px}.b-occasion-card p{font-size:15px;line-height:1.8}.b-selected-label{font-size:13px}.b-template-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.b-template-copy b{font-size:17px}.b-template-copy small{font-size:12px}.b-chosen-scene{padding:14px;gap:11px}.b-chosen-scene h2{font-size:21px}.b-chosen-scene>.b-link{font-size:13px;padding:6px 0}.b-atelier-tabs button{padding:12px 9px;font-size:14px}.b-filters{gap:6px}.b-filters button{font-size:13px;min-height:40px;padding:7px 15px}.b-design-grid{gap:13px}.b-design-choice{padding:10px;border-radius:13px}.b-design-sample{min-height:160px;padding:9px}.b-design-choice>b{font-size:14px;padding-top:12px}.b-design-sample .date-arch{min-height:117px}.b-design-sample .date-medallion{width:75%}.b-design-sample .reader-date.date-editorial{column-gap:9px}.b-design-sample .date-editorial>b{padding-inline-start:9px}.b-music-player{padding:18px;gap:12px;flex-wrap:wrap}.b-music-player b{font-size:16px}.b-music-player p{font-size:14px}.b-music-player button{width:100%}.b-program-row{gap:13px}.b-program-row>.b-field{width:110px}.b-detail>summary{font-size:15px;padding:13px;gap:8px}.b-detail-body{padding-inline:13px}.b-detail-body .b-fields{grid-template-columns:1fr}.b-toggle b{font-size:15px}.b-toggle small{font-size:13px}.b-summary>div{grid-template-columns:1fr 1.2fr auto;gap:9px}.b-summary dt{font-size:13px}.b-summary dd{font-size:14px}.b-summary button{font-size:13px}.b-review-actions{flex-direction:column}.b-review-actions .button{width:100%}.b-bottom-bar{padding:10px 15px calc(10px + env(safe-area-inset-bottom))}.b-bottom-bar>div{gap:8px}.b-bottom-bar .button{font-size:15px;padding:9px 8px;gap:5px;min-height:49px}.b-bottom-bar svg{width:17px;height:17px}.b-full-preview{border:0;border-radius:0;width:100vw;height:100dvh;margin:0;max-height:100dvh}.b-full-phone{padding:0;height:calc(100% - 142px - env(safe-area-inset-bottom))}.b-full-phone .b-phone{max-width:none;border:0;padding:0;border-radius:0}.b-full-phone .phone-screen{border-radius:0}.b-full-caption{padding-bottom:env(safe-area-inset-bottom);height:auto}.b-full-toolbar{padding-inline:13px}.b-full-toolbar button{font-size:14px}}
@media(max-width:360px){.b-local-tag{display:none}.b-layout{padding-inline:13px}.b-heading h1{font-size:26px}.b-occasion-card{gap:12px;padding:15px}.b-occasion-card>img{width:83px;height:155px}.b-occasion-card p{font-size:14px}.b-fields{grid-template-columns:1fr}.b-card{padding:19px 15px}.b-design-grid{gap:10px}.b-design-choice{padding:8px}.b-design-sample{min-height:138px;padding:7px}.b-design-choice>b{font-size:13px}.b-font-grid{grid-template-columns:1fr}.b-full-choices{gap:5px}.b-full-choices button,.b-full-choices select{font-size:12px;max-width:119px;padding:5px 9px}.b-bottom-bar .button{font-size:14px}}
@media(prefers-reduced-motion:reduce){.b-toast{transition:none}.review-reader{scroll-behavior:auto}}
.review-reader:has(.reader-personal){overflow:hidden}
.count-change{animation:count-refresh .28s ease-out}@keyframes count-refresh{from{transform:translateY(-3px);opacity:.5}to{transform:translateY(0);opacity:1}}

/* Owner correction: all opening wording shares one pinned video, before the date. */
.review-reader{--reader-height:216.4cqw;isolation:isolate}
/* Miniature phones reproduce a 390px invitation, including its typography and spacing. */
.review-reader,.reader-scroll-cue{--reader-px:1px}
.review-reader[data-reader=main],.review-reader[data-reader=builder],.reader-scroll-cue[data-reader-cue=main],.reader-scroll-cue[data-reader-cue=builder]{--reader-px:calc(100cqw / 390)}
/* One complete opening screen; the next scroll section is the date. */
.reader-story{position:relative;isolation:isolate;height:var(--reader-height);min-height:0;overflow:hidden}
.reader-media-stage{position:absolute;inset:0;height:100%;margin:0;overflow:hidden;z-index:0;background:var(--invite-paper)}
.reader-media-stage .scene-art{object-position:center center;transform:none}
.reader-story:after{content:'';position:absolute;inset-inline:0;bottom:0;height:13cqw;background:linear-gradient(transparent,var(--invite-paper));z-index:2;pointer-events:none}
.review-reader{--opening-gap:calc(14 * var(--reader-px));--opening-name:clamp(calc(28 * var(--reader-px)),8cqw,calc(36 * var(--reader-px)));--opening-parent:calc(20 * var(--reader-px));--opening-text:calc(17 * var(--reader-px));--opening-title:calc(15 * var(--reader-px));--opening-basmala:calc(27 * var(--reader-px));--opening-verse:calc(14 * var(--reader-px));--opening-long-verse:calc(13 * var(--reader-px));--opening-leading:1.7}
.reader-opening{position:relative;z-index:1;height:100%;min-height:0;max-height:100%;padding:clamp(calc(40 * var(--reader-px)),calc(var(--reader-height)*.115),calc(104 * var(--reader-px))) 7cqw calc(76 * var(--reader-px));pointer-events:none;text-align:center;font-family:var(--reader-text-stack,var(--reader-text-font)),Tajawal,sans-serif;color:var(--scene-text)}
.reader-opening p,.reader-opening h2,.reader-opening strong,.reader-opening small{overflow-wrap:anywhere;max-width:100%;margin:0}
.reader-opening>.reader-text-surface{position:relative;width:100%;height:100%;min-width:0;padding:0;pointer-events:auto;display:flex;flex-direction:column;justify-content:center;font-family:inherit;font-size:var(--opening-text);color:var(--scene-text)}
.reader-reading-block{position:relative;isolation:isolate;flex:0 0 auto;width:100%;text-shadow:var(--scene-text-shadow)}
.reader-reading-block:before,.side-phone .side-copy:before{content:'';position:absolute;inset:-2cqw;z-index:-1;pointer-events:none;border-radius:8cqw;background:rgba(var(--scene-veil),var(--scene-veil-opacity));box-shadow:0 0 6cqw 4cqw rgba(var(--scene-veil),var(--scene-veil-halo))}
.review-reader[data-opening-overflow=true] .reader-text-surface{justify-content:flex-start}
.reader-opening-content{width:100%;display:flex;flex-direction:column;gap:var(--opening-gap)}
.reader-religion{margin:0;padding:0;display:flex;flex-direction:column;gap:calc(var(--opening-gap)*.4)}
.reader-opening .basmala{font:400 var(--opening-basmala)/1.9 Amiri,serif;color:var(--scene-names);text-wrap:balance}
.verse[data-verse-layout]{--verse-scale:1;display:flex;flex-direction:column;align-items:center;gap:0;width:100%;padding:0;font:400 calc(var(--opening-verse,14px) * var(--verse-scale))/1.8 Amiri,serif;color:var(--scene-text,var(--ink));text-align:center;white-space:normal;overflow:visible;text-wrap:nowrap}
.verse.verse-long[data-verse-layout]{font-size:calc(var(--opening-long-verse,13px) * var(--verse-scale))}
.verse[data-verse-layout]>.verse-line{display:block;flex:none;width:max-content;max-width:none;margin:0;white-space:nowrap;overflow-wrap:normal;text-align:center}
.verse[data-verse-layout] .verse-source{font:400 .78em/1.5 var(--reader-text-stack,var(--reader-text-font,Tajawal)),Tajawal,sans-serif;color:var(--scene-accent,var(--invite-accent));display:inline-block;white-space:nowrap;vertical-align:baseline;unicode-bidi:isolate;margin-inline-start:.35em}
.reader-opening .verse[data-verse-layout]{width:calc(100% + 4cqw);max-width:none;align-self:center}
.b-verse{display:grid;grid-template-columns:17px minmax(0,1fr);gap:8px;padding:12px}
.b-verse-copy{display:contents}
.b-verse-copy>b{grid-column:2;text-align:center}
.b-verse-copy .verse{grid-column:1/-1;margin:8px 0 0}

.reader-hosts{display:flex;flex-direction:column;gap:var(--opening-gap);min-width:0}
.reader-host-request{font-size:var(--opening-text);line-height:1.65;text-wrap:balance}
.reader-family-grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6cqw;align-items:start;direction:rtl}
.reader-family-grid:before{content:'';position:absolute;top:10%;bottom:8%;left:50%;width:1px;background:var(--scene-accent);opacity:.22}
.reader-family-side{min-width:0;display:flex;flex-direction:column;align-items:center;gap:calc(var(--opening-gap)*.8)}
.reader-family-parent{width:100%;display:flex;align-items:center;flex-direction:column;gap:var(--reader-px);font-family:var(--reader-text-stack,var(--reader-text-font)),Tajawal,sans-serif}
.reader-family-parent>p{font-size:var(--opening-parent);line-height:1.6;font-weight:500;color:var(--scene-text)}
.reader-family-couple{width:100%;display:flex;flex-direction:column;align-items:center;gap:var(--reader-px);font-weight:400}
.reader-host-title,.reader-person-title{font:400 var(--opening-title)/1.55 var(--reader-text-stack,var(--reader-text-font)),Tajawal,sans-serif;color:var(--scene-accent)}
.reader-family-couple>strong,.reader-family-custom{font:400 var(--opening-name)/1.6 var(--reader-name-stack,var(--reader-font)),Amiri,serif;color:var(--scene-names);text-wrap:balance}
.reader-family-custom{text-align:center}
.reader-family-grid.custom-names.without-parents{display:none}
.reader-opening .reader-wording{font-size:var(--opening-text);line-height:1.65;white-space:pre-line;color:var(--scene-text);text-wrap:balance}
.reader-media-stage .reader-media{z-index:4;bottom:5cqw;inset-inline-end:4cqw;background:var(--invite-paper);color:var(--invite-ink)}
.review-reader[data-opening-density=compact]{--opening-gap:calc(9 * var(--reader-px));--opening-name:calc(30 * var(--reader-px));--opening-parent:calc(18 * var(--reader-px));--opening-text:calc(16 * var(--reader-px));--opening-title:calc(14 * var(--reader-px));--opening-basmala:calc(25 * var(--reader-px));--opening-verse:calc(14 * var(--reader-px));--opening-long-verse:calc(13 * var(--reader-px));--opening-leading:1.7}
.review-reader[data-opening-density=compact] .reader-opening{padding-block:calc(56 * var(--reader-px)) calc(64 * var(--reader-px))}
.review-reader[data-opening-density=tight]{--opening-gap:calc(6 * var(--reader-px));--opening-name:calc(26 * var(--reader-px));--opening-parent:calc(16 * var(--reader-px));--opening-text:calc(16 * var(--reader-px));--opening-title:calc(14 * var(--reader-px));--opening-basmala:calc(22 * var(--reader-px));--opening-verse:calc(14 * var(--reader-px));--opening-long-verse:calc(13 * var(--reader-px));--opening-leading:1.7}
.review-reader[data-opening-density=tight] .reader-opening{padding-block:calc(52 * var(--reader-px)) calc(58 * var(--reader-px))}
.review-reader[data-reader=full][data-opening-density=tight] .reader-opening{padding-block-start:58px}
.review-reader[data-reader] .reader-opening{padding-block-end:max(calc(76 * var(--reader-px)),calc(5.6cqw + 56px + env(safe-area-inset-bottom)))}

/* Side previews keep their artwork's contrast without fading the entire phone. */
.side-phone[data-template]{opacity:1}
.side-phone[data-template] .side-copy{top:50%;transform:translateY(-50%);isolation:isolate;color:var(--scene-names);font-size:8cqw;line-height:1.55;text-shadow:var(--scene-text-shadow)}
.side-phone .side-copy small,.side-phone .side-copy .invite-date{color:var(--scene-text);font-size:3.8cqw;line-height:1.7}
.side-phone .side-copy .join{color:var(--scene-accent);font-size:5cqw}
.side-phone[data-template] .side-label{color:var(--invite-ink);background:var(--invite-paper);border-radius:20px;padding:3px 8px;font-size:3.8cqw}
.b-opening-fit-note{font-size:14px;line-height:1.8;padding:12px 14px;margin-bottom:16px;border:1px solid #d7ba90;border-radius:9px;background:#fbf0df;color:#79572c}
.review-reader .invitation-body{position:relative;z-index:2;padding-top:3cqw}
.review-reader .invitation-body>[data-reader-date]{padding-top:9cqw}

/* The approved illustrated journey, using its own Figma artwork and routes. */
.review-reader .reader-journey{margin-inline:-6cqw;padding-block:8cqw;width:calc(100% + 12cqw);--journey-gold:#b99a69}
.reader-journey-heading{padding:0 8cqw 6cqw}
.reader-journey-heading>small,.reader-day-heading>small,.reader-eve>small,.reader-station-content>small{font:3.5cqw Tajawal,Manrope,sans-serif;color:var(--invite-accent);line-height:1.85}
.review-reader .reader-journey-heading h3{font-size:10cqw;line-height:1.6;margin:0 0 2cqw}
.reader-journey-heading p{font-size:4.1cqw;line-height:1.8}
.reader-journey .reader-day-tabs{margin:0 10cqw 6cqw}
.reader-day-tabs button:hover{background:color-mix(in srgb,var(--invite-accent) 9%,transparent)}
.reader-day-heading{padding:7cqw 8cqw 5cqw;text-align:center}
.review-reader .reader-day-heading h4{font:7.7cqw Amiri,serif;line-height:1.75;color:var(--invite-accent);margin-top:1cqw}
.reader-eve{padding:7cqw 10cqw;text-align:center}
.review-reader .reader-eve h4{font:9cqw Amiri,serif;line-height:1.7;color:var(--invite-accent);margin:1cqw 0}
.reader-eve p{font-size:4.3cqw;line-height:1.9;overflow-wrap:anywhere;margin-top:2cqw}
.reader-eve .reader-eve-line{font-family:Amiri,serif;font-size:6cqw;color:var(--invite-accent)}
.reader-journey-stop{position:relative;text-align:center}.reader-station-frame{position:relative;isolation:isolate;min-height:92cqw;padding:5cqw 0}
.reader-route-rail{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none;z-index:-1}
.reader-station-content{width:79.5%;margin:auto}
.review-reader .reader-station-content h4{font:7.7cqw Amiri,serif;color:var(--invite-accent);line-height:1.55;margin:1cqw 0;overflow-wrap:anywhere}
.reader-station-content>time{display:block;font-size:4.3cqw;line-height:1.9;margin-top:1cqw}
.reader-journey-art{width:100%;aspect-ratio:1.5;position:relative;margin:1cqw 0 0;isolation:isolate}
.reader-journey-art img{width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply}
.reader-journey-art:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(to bottom,var(--invite-paper),transparent 13%,transparent 87%,var(--invite-paper)),linear-gradient(to right,var(--invite-paper),transparent 9%,transparent 91%,var(--invite-paper))}
.review-reader[data-art-dark=true] .reader-journey-art img{mix-blend-mode:normal}
.reader-station-address{font-size:3.9cqw;line-height:1.9;white-space:pre-line;overflow-wrap:anywhere;margin:2cqw 0}
.reader-journey a.reader-location{display:inline-flex;align-items:center;justify-content:center;width:77%;max-width:270px;border:.8px solid var(--journey-gold);border-radius:30px;min-height:44px;padding:9px 12px;font-size:3.9cqw;line-height:1.5;color:var(--invite-accent);margin:3cqw auto 0;text-decoration:none}
.reader-transfer{position:relative;min-height:29cqw;display:flex;align-items:center;justify-content:center;padding:4cqw 0}
.reader-transfer>img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none}
.reader-transfer.reverse>img{transform:scaleX(-1)}
.reader-transfer>div{position:relative;background:var(--invite-paper);max-width:65%;padding:2cqw 3cqw;color:var(--invite-accent)}
.reader-transfer time{display:block;font-size:4.1cqw;line-height:1.7}
.reader-transfer p{font-size:3.6cqw;line-height:1.8;overflow-wrap:anywhere}
.reader-route-arrive{width:100%;height:13.85cqw;pointer-events:none}.reader-journey-stop[data-route-side=right] .reader-route-arrive{transform:scaleX(-1)}.reader-celebration{padding:3.6cqw 10cqw 3cqw}
.review-reader .reader-celebration>h4{font:7cqw Amiri,serif;color:var(--invite-accent);line-height:1.6}
.reader-celebration>p{font-size:3.9cqw;margin-top:2cqw}
.reader-moments{padding:0;margin:5cqw 0 0;list-style:none;direction:ltr}
.reader-moments>li{display:grid;grid-template-columns:minmax(0,1fr) 7.7cqw minmax(0,1fr);align-items:center;position:relative;min-height:27cqw}
.reader-moments>li>time{font:4.1cqw Tajawal,Manrope,sans-serif;line-height:1.8;color:var(--invite-accent);padding-inline:2cqw;overflow-wrap:anywhere}
.reader-moments>li>img{position:absolute;width:7.7cqw;height:100%;inset-inline-start:calc(50% - 3.85cqw);top:0;pointer-events:none}
.reader-moments>li>div{grid-column:3;padding:2cqw 1cqw;min-width:0;direction:rtl}
.review-reader[dir=ltr] .reader-moments>li>div{direction:ltr}
.reader-moments h5{font:5.8cqw Amiri,serif;color:var(--invite-accent);line-height:1.6;margin:0;overflow-wrap:anywhere}
.reader-moments p{font-size:3.6cqw;line-height:1.8;overflow-wrap:anywhere}
.reader-journey section:focus-visible{outline-offset:-4px}

/* Visible customisation choices at step four, also linked from date entry. */
.b-style-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 25px}
.b-style-menu>button{position:relative;min-height:93px;text-align:start;padding:17px 18px;padding-inline-end:38px;border:1px solid #dad5c9;border-radius:13px;background:#fffdfc;color:var(--ink)}
.b-style-menu>button:first-child{grid-column:1/-1;min-height:80px}
.b-style-menu>button[aria-current=page]{background:#eaf0e7;border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}
.b-style-menu span{display:block;font-size:17px;font-weight:700;line-height:1.5}
.b-style-menu small{display:block;font-size:13px;line-height:1.8;color:#697064;margin-top:5px;overflow-wrap:anywhere}
.b-style-menu svg{position:absolute;inset-inline-end:13px;top:calc(50% - 9px);width:18px;height:18px;color:#8c7750}
.b-style-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:23px}
.b-style-heading h2{font-size:25px;line-height:1.5;margin-top:5px}
.b-style-heading .b-link{flex:none;display:flex;align-items:center;gap:6px;font-size:13px}
#b-style-panel{scroll-margin-top:35px}
.b-text-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 25px}
.b-text-presets button{border:1px solid #d6d0c5;border-radius:12px;background:#fffdfc;padding:9px;color:var(--ink);min-width:0}
.b-text-presets button[aria-pressed=true]{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}
.b-preset-sample{display:grid;place-items:center;min-height:63px;border-radius:7px;font:26px Amiri,serif;margin-bottom:8px}
.b-text-presets b{font-size:13px;font-weight:500;line-height:1.65;display:block}
.b-colour-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.b-colour-grid .b-field{font-size:14px;line-height:1.7;display:flex;flex-direction:column;justify-content:space-between}
.b-colour-grid input[type=color]{width:100%;height:51px;padding:5px;cursor:pointer;background:#fffdfc;border:1px solid #cec9bd;border-radius:8px;min-width:0}
.b-colour-grid input[type=color]::-webkit-color-swatch-wrapper{padding:0}
.b-colour-grid input[type=color]::-webkit-color-swatch{border-radius:4px;border:0}
.b-readability-controls{padding-top:20px;margin-top:14px;border-top:1px solid #e4ded1}
.b-readability-controls input[type=range]{min-height:44px;accent-color:var(--green);width:100%}
.b-readability-controls [data-b-strength]{direction:ltr;display:inline-block;font-family:Manrope,sans-serif;color:var(--green)}
.b-control-label{font-size:15px;margin:4px 0 12px;color:var(--muted)}
.b-font-grid+.b-field{margin-top:25px}
.b-related-controls{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.b-related-controls button{flex:1;min-height:48px;padding:9px 13px;border:1px solid #d6c8ac;border-radius:9px;background:#faf7ef;color:#6b5437;font-size:14px;text-align:start}
.b-station-thumb{width:170px;max-width:65%;height:auto;margin:15px auto 2px;mix-blend-mode:multiply;mask-image:linear-gradient(transparent,#000 13%,#000 85%,transparent)}
.b-scene-controls{flex-wrap:wrap;gap:6px}
.b-scene-controls button{font-size:12px;min-height:40px}
@media(max-width:540px){.b-style-menu{gap:10px}.b-style-menu>button{padding:14px 13px;padding-inline-end:25px;min-height:99px}.b-style-menu span{font-size:15px}.b-style-menu small{font-size:12px}.b-style-menu svg{inset-inline-end:7px;width:13px;height:13px}.b-style-heading{align-items:start;flex-direction:column;gap:5px}.b-style-heading h2{font-size:23px}.b-style-heading .b-link{padding-block:5px;min-height:40px}.b-text-presets{gap:7px}.b-text-presets button{padding:7px}.b-text-presets b{font-size:12px}.b-preset-sample{font-size:24px;min-height:57px}.b-colour-grid{gap:8px}.b-colour-grid .b-field{font-size:13px}.b-related-controls{flex-direction:column}}
@media(max-width:360px){.b-style-menu>button{min-height:100px}.b-colour-grid{grid-template-columns:1fr}.b-colour-grid .b-field{flex-direction:row;align-items:center;gap:15px}.b-colour-grid input[type=color]{width:70px;flex:none}.reader-opening{padding-inline:7cqw}}
@media(prefers-reduced-motion:reduce){.count-change{animation:none}.review-reader,.reader-opening{scroll-behavior:auto}}

.reader-celebration .reader-journey-closing{font:6.4cqw Amiri,serif;color:var(--invite-accent);line-height:1.8;margin-top:7cqw}

/* Keep the whole live phone visible between the fixed navigation and action bar. */
@media(min-width:821px){
 .b-preview-aside .b-phone{width:clamp(180px,calc((100dvh - var(--bw-header-height,84px) - var(--bw-subnav-height,90px) - 270px) * .46154),300px)}
}

/* Fixed cue: outside the scroll content, with the original Figma arrow. */
.reader-scroll-cue{position:absolute;inset-inline:auto;left:50%;bottom:calc(5.6cqw + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:calc(4 * var(--reader-px));min-height:48px;width:calc(130 * var(--reader-px));max-width:50%;padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:var(--invite-ink);font:500 calc(14 * var(--reader-px))/1.3 Manrope,sans-serif;text-align:center}
.reader-cue-arrow{display:block;width:calc(18 * var(--reader-px));height:calc(18 * var(--reader-px));background:currentColor;mask:url('assets/reader-scroll-arrow.svg') center/contain no-repeat;-webkit-mask:url('assets/reader-scroll-arrow.svg') center/contain no-repeat}
.reader-media-stage:after{content:'';position:absolute;inset-inline:0;bottom:0;height:16%;background:linear-gradient(transparent,color-mix(in srgb,var(--invite-paper) 52%,transparent) 52%,var(--invite-paper));pointer-events:none}

/* Figma: independent arched family contacts and an arched RSVP card. */
.reader-family-section,.reader-rsvp{--reader-blush:color-mix(in srgb,var(--invite-accent) 12%,var(--invite-paper));--reader-border:#b99a69}
.review-reader .reader-family-section{padding:6cqw 1.2cqw 7cqw;border-bottom:0}
.review-reader .reader-family-section h3{font:7.7cqw/1.5 Amiri,serif;color:var(--invite-accent);margin:0 0 1.7cqw}
.reader-family-section header>p{font-size:3.8cqw;line-height:1.75;margin-bottom:5cqw}
.reader-contacts{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:3.6cqw}
.reader-contacts.reader-one-contact{grid-template-columns:minmax(0,1fr);width:55%;min-width:155px;max-width:220px;margin-inline:auto}
.reader-family-card{display:flex;flex-direction:column;align-items:center;gap:2cqw;padding:7.2cqw 3.1cqw 3.1cqw;border:1px solid var(--reader-border);border-radius:20.5cqw 20.5cqw 3.1cqw 3.1cqw;min-width:0;background:var(--invite-paper)}
.review-reader .reader-family-card h4{font:5.9cqw/1.6 Amiri,serif;color:var(--invite-accent);font-weight:400;overflow-wrap:anywhere;margin:0}
.reader-contact-name{font-size:max(13px,3.6cqw);line-height:1.75;overflow-wrap:anywhere;width:100%}
.reader-contact-phone{font:500 max(13px,3.35cqw)/1.85 Tajawal,Manrope,sans-serif;overflow-wrap:anywhere;width:100%;unicode-bidi:isolate}
.reader-contacts .reader-family-call{display:flex;align-items:center;justify-content:center;min-height:48px;width:100%;border:0;border-radius:26px;background:var(--reader-blush);color:var(--invite-accent);padding:10px 8px;font:4.1cqw/1.5 Tajawal,Manrope,sans-serif;margin-top:auto;text-decoration:none}
.review-reader .reader-rsvp{padding:6cqw 1.2cqw;border-bottom:0}
.reader-rsvp-card{display:flex;flex-direction:column;align-items:stretch;gap:3.85cqw;width:100%;min-width:0;margin:0;padding:16.9cqw 6.15cqw 7.2cqw;border:1px solid var(--reader-border);border-radius:43cqw 43cqw 4.6cqw 4.6cqw;background:var(--invite-paper);color:var(--invite-ink);text-align:center}
.reader-rsvp-kicker{font-size:3.7cqw;line-height:1.7;color:var(--invite-accent)}
.review-reader .reader-rsvp-card>h3{font:7.45cqw/1.32 Amiri,serif;font-weight:400;color:var(--invite-accent);margin:0;overflow-wrap:anywhere}
.reader-rsvp-deadline{font-size:3.6cqw;line-height:1.75}
.reader-rsvp-name{display:flex;flex-direction:column;gap:7px;text-align:start;font-size:max(14px,3.6cqw);line-height:1.65;margin-top:1cqw}
.reader-rsvp-name input{font:400 max(16px,4.1cqw)/1.5 Tajawal,Manrope,sans-serif;min-height:48px;width:100%;min-width:0;padding:11px 12px;border:1px solid var(--reader-border);border-radius:10px;background:var(--invite-paper);color:var(--invite-ink);text-align:start}
.reader-rsvp-name input::placeholder{color:var(--invite-accent);opacity:.85}
.reader-rsvp-identity{padding:2cqw 0;overflow-wrap:anywhere}
.reader-rsvp-identity small{font-size:3.6cqw;color:var(--invite-accent)}
.reader-rsvp-identity p{font-family:Amiri,serif;font-size:6cqw;line-height:1.8}
.reader-rsvp-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.55cqw;border:0;padding:0;margin:0;min-width:0}
.reader-rsvp-choices>label{position:relative;display:flex;min-width:0;cursor:pointer}
.reader-rsvp-choices input{position:absolute;opacity:0;width:1px;height:1px;top:16px;inset-inline-start:10px}
.reader-rsvp-choices span{display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px 7px;width:100%;border:1px solid var(--reader-border);border-radius:12px;font-size:max(14px,3.6cqw);line-height:1.6;overflow-wrap:anywhere;color:var(--invite-ink);background:var(--invite-paper)}
.reader-rsvp-choices input:checked+span{border-color:var(--invite-accent);background:var(--reader-blush);box-shadow:inset 0 0 0 1px var(--invite-accent)}
.reader-rsvp-choices label:focus-within{outline:2px solid var(--invite-accent);outline-offset:3px;border-radius:12px}
.reader-rsvp-card .reader-attendees{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:0;font-size:max(14px,3.85cqw)}
.reader-count-stepper{display:flex;align-items:center;justify-content:center;width:132px;flex:none;min-height:44px;background:var(--reader-blush);border-radius:24px;color:var(--invite-accent)}
.reader-count-stepper>button,.reader-count-stepper>input{display:block;width:44px;height:44px;min-width:0;min-height:44px;padding:0;border:0;background:transparent;font:16px/1.5 Tajawal,Manrope,sans-serif;color:inherit;text-align:center;border-radius:50%;appearance:textfield;-moz-appearance:textfield}
.reader-count-stepper>input::-webkit-inner-spin-button,.reader-count-stepper>input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.reader-count-stepper>button:disabled{opacity:.35}
.reader-rsvp-send{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;padding:12px 16px;border:0;border-radius:26px;background:var(--invite-accent);color:var(--invite-paper);font:max(16px,4.1cqw)/1.5 Tajawal,Manrope,sans-serif}
.reader-rsvp-welcome{font-size:3.6cqw;line-height:1.7;color:var(--invite-accent)}
.reader-rsvp-review-note{font-size:max(12px,3.1cqw);line-height:1.65;opacity:.85}
.reader-rsvp-card .reader-response{font-size:max(14px,3.6cqw);line-height:1.85;overflow-wrap:anywhere;color:var(--invite-accent)}
.reader-rsvp-card .reader-response:empty{display:none}
.reader-rsvp-card[data-rsvp-state=error] .reader-response{color:#ad3434}
.reader-rsvp-card [aria-invalid=true]{outline:2px solid #ad3434;outline-offset:2px}
.reader-rsvp-card input:focus-visible,.reader-rsvp-card button:focus-visible,.reader-family-card a:focus-visible{outline:2px solid var(--invite-accent);outline-offset:3px}
.reader-rsvp-closed{padding-block:14.4cqw;gap:4.6cqw}
.review-reader .reader-rsvp-closed>h3{font-size:8.7cqw;line-height:1.5}
.reader-rsvp-closed>p{font-size:4.1cqw;line-height:1.8}

/* Full guest viewport. Preview tools float above it instead of consuming its height. */
body.guest-preview-open{overflow:hidden}
.b-full-preview{position:fixed;overflow:hidden}
.b-full-preview .b-full-phone{height:100%;padding:0}
.b-full-preview .b-full-phone .b-phone{height:100%;max-width:none;width:100%;padding:0;border:0;border-radius:0;box-shadow:none}
.b-full-preview .b-full-phone .phone-screen{height:100%;width:100%;aspect-ratio:auto;border-radius:0}
.b-full-preview .invitation-body{padding-bottom:calc(22px + env(safe-area-inset-bottom))}
.b-full-preview .b-full-toolbar{position:absolute;top:0;inset-inline:0;z-index:10;min-height:0;display:flex;justify-content:space-between;align-items:start;padding:calc(12px + env(safe-area-inset-top)) 12px 0;background:transparent;pointer-events:none}
.b-full-toolbar>.b-full-close,.b-preview-tools{pointer-events:auto}
.b-full-toolbar>.b-full-close{display:flex;align-items:center;justify-content:center;width:44px;min-height:44px;padding:10px;border:1px solid #c9c0af88;border-radius:50%;background:#fffdf4eb;color:#453b30;box-shadow:0 2px 8px #231b130a}
.b-full-close>span{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}
.b-preview-tools{position:relative;max-width:calc(100% - 55px);color:#453b30;text-align:start;font-family:Tajawal,Manrope,sans-serif}
.b-preview-tools>summary{min-height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;list-style:none;border:1px solid #c9c0af88;background:#fffdf4eb;border-radius:24px;font-size:13px;line-height:1.4;padding:10px 15px;box-shadow:0 2px 8px #231b130a}
.b-preview-tools>summary::-webkit-details-marker{display:none}
.b-preview-tools[open]>summary{background:#fffdf4}
.b-preview-tools-panel{position:absolute;inset-inline-end:0;top:calc(100% + 8px);width:280px;max-width:calc(100vw - 26px);max-height:70dvh;overflow-x:hidden;overflow-y:auto;padding:17px;border:1px solid #d9d1c3;background:#fffdf6;border-radius:15px;box-shadow:0 12px 30px #37271126}
.b-preview-tools-panel>p{font-size:15px;line-height:1.7;margin-bottom:12px}
.b-preview-tools-panel .b-full-choices{padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 12px}
.b-preview-tools-panel .b-full-choices>button,.b-preview-tools-panel .b-full-choices>select{max-width:none;width:100%;font-size:14px;min-height:44px;justify-content:center;text-align:center}
.b-preview-tools-panel .b-full-choices>select{grid-column:1/-1;text-align:start}
.b-preview-tools-panel .b-replay{font-size:14px;min-height:44px;display:flex;justify-content:center;border:1px solid #d9d1c3;border-radius:8px;padding:8px 12px;background:#f5f1e8;width:100%;margin-bottom:12px}
.b-preview-tools-panel>small{display:block;font-size:12px;line-height:1.7;color:#70685e}
@media(max-width:820px){.b-full-preview{width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;margin:0;inset:0;border:0;border-radius:0}.b-full-preview .b-full-phone{height:100%;width:100%;padding:0}.b-full-preview .b-full-phone .b-phone,.b-full-preview .b-full-phone .phone-screen{height:100%;width:100%;max-width:none;border:0;padding:0;border-radius:0}}
@media(max-width:360px){.reader-rsvp-card .reader-attendees{justify-content:center}.reader-attendees>label{width:100%}.reader-rsvp-choices{gap:8px}.reader-rsvp-choices span{font-size:14px;padding-inline:5px}.reader-family-card{padding-inline:8px}.reader-contacts .reader-family-call{font-size:14px}}

/* Font families follow each script, independently of the interface language. */
.reader-scroll-cue[lang=ar]{font-family:Tajawal,Manrope,sans-serif;font-size:calc(16 * var(--reader-px))}
.reader-scroll-cue[lang=en]{font-family:Manrope,Tajawal,sans-serif}
.review-reader .reader-personal h2,.review-reader .reader-rsvp-identity p{font-family:var(--reader-name-stack),Amiri,serif}
.review-reader [dir=auto]{unicode-bidi:plaintext}
.review-reader[lang=en] .reader-family-section h3,.review-reader[lang=en] .reader-family-card h4,.review-reader[lang=en] .reader-rsvp-card>h3{font-family:'Cormorant Garamond',Georgia,serif}

.b-host-editor{min-width:0;padding:17px;margin:18px 0;border:1px solid var(--line);border-radius:12px;background:#faf7f2}
.b-host-editor>legend{padding:0 8px;color:var(--green);font-size:16px;font-weight:700}
.b-title-control{min-width:0;align-self:start}
.b-title-control>div>.b-field{margin-block-start:4px}
.b-host-fields{display:grid;grid-template-columns:minmax(115px,.7fr) minmax(0,1.5fr);gap:14px;align-items:start}
.b-font-group{min-width:0;border:0;margin:22px 0 0;padding:0}
.b-font-group>legend{font-size:16px;color:var(--green);margin-bottom:12px}
.b-font-choice .b-font-selected{position:absolute;top:8px;inset-inline-end:8px;width:20px;height:20px;display:none;color:var(--green)}
.b-font-choice:has(input:checked) .b-font-selected{display:block}
.b-font-choice .b-font-selected svg{width:20px;height:20px}
@media(max-width:540px){.b-host-fields{grid-template-columns:1fr}.b-host-editor{padding:14px}.b-font-choice>span{font-size:30px}}

/* The exit mask affects only text, never the opening video or reading backdrop. */
.reader-opening-content{-webkit-mask-image:linear-gradient(to bottom,transparent var(--reader-text-cutoff,-100vh),#000 calc(var(--reader-text-cutoff,-100vh) + var(--reader-fade-depth,64px)));mask-image:linear-gradient(to bottom,transparent var(--reader-text-cutoff,-100vh),#000 calc(var(--reader-text-cutoff,-100vh) + var(--reader-fade-depth,64px)));-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}

/* Text edits preserve the reader's scroll position within the fixed-height layout. */
#b-live-preview .review-reader{overflow-anchor:none}


/* The same journey data supports four compositions. Illustrated remains the default. */
.reader-stop-number{display:none}
.reader-journey:not([data-journey-style=illustrated]) .reader-route-rail,
.reader-journey:not([data-journey-style=illustrated]) .reader-route-arrive,
.reader-journey:not([data-journey-style=illustrated]) .reader-transfer>img{display:none}
.reader-journey:not([data-journey-style=illustrated]) .reader-station-content>small{font-size:calc(14 * var(--reader-px));line-height:1.8}
.reader-journey:not([data-journey-style=illustrated]) .reader-station-content>time,
.reader-journey:not([data-journey-style=illustrated]) .reader-station-address{font-size:calc(16 * var(--reader-px));line-height:1.8}
.reader-journey:not([data-journey-style=illustrated]) a.reader-location{font-size:calc(14 * var(--reader-px));width:auto;max-width:100%;padding-inline:5cqw}
.reader-journey:not([data-journey-style=illustrated]) .reader-transfer{min-height:0;padding:5cqw 0}
.reader-journey:not([data-journey-style=illustrated]) .reader-transfer:before{content:'';position:absolute;inset-block:0;inset-inline-start:50%;border-inline-start:1px solid var(--journey-gold);opacity:.5}
.reader-journey:not([data-journey-style=illustrated]) .reader-transfer time{font-size:calc(14 * var(--reader-px))}
.reader-journey:not([data-journey-style=illustrated]) .reader-transfer p{font-size:calc(14 * var(--reader-px))}
.reader-journey:not([data-journey-style=illustrated]) .reader-celebration{margin:8cqw 7cqw 3cqw;padding:6cqw 3cqw 0;border-block-start:1px solid var(--journey-gold)}
.reader-journey:not([data-journey-style=illustrated]) .reader-celebration>h4{font-size:calc(27 * var(--reader-px))}
.reader-journey:not([data-journey-style=illustrated]) .reader-celebration>p{font-size:calc(16 * var(--reader-px));line-height:1.8}
.reader-journey:not([data-journey-style=illustrated]) .reader-eve{margin:0 7cqw;padding:7cqw 5cqw;border:1px solid var(--journey-gold);border-radius:18px}

/* Timeline: numbered rail with left/right direction inherited from the invitation. */
.reader-journey[data-journey-style=timeline] .reader-station-frame{min-height:0;padding:5cqw 7cqw;text-align:start}
.reader-journey[data-journey-style=timeline] .reader-station-frame:before{content:'';position:absolute;inset-block:0;inset-inline-start:12cqw;border-inline-start:1px solid var(--journey-gold)}
.reader-journey[data-journey-style=timeline] .reader-station-content{width:auto;margin:0;margin-inline-start:13cqw;display:flex;flex-direction:column;align-items:flex-start;gap:1cqw}
.reader-journey[data-journey-style=timeline] .reader-stop-number{position:absolute;inset-inline-start:8cqw;top:5cqw;width:8cqw;height:8cqw;display:grid;place-items:center;border:1px solid var(--journey-gold);border-radius:50%;background:var(--invite-paper);font:calc(14 * var(--reader-px))/1.4 Tajawal,Manrope,sans-serif;color:var(--invite-accent)}
.reader-journey[data-journey-style=timeline] .reader-station-content>time{order:-1;color:var(--invite-accent);font-weight:700;margin:0 0 2cqw}
.reader-journey[data-journey-style=timeline] .reader-station-content h4{font-size:calc(28 * var(--reader-px));margin:0}
.reader-journey[data-journey-style=timeline] .reader-journey-art{display:none}
.reader-journey[data-journey-style=timeline] a.reader-location{margin-inline:0}
.reader-journey[data-journey-style=timeline] .reader-transfer{justify-content:flex-start;padding:1cqw 7cqw 4cqw;text-align:start}
.reader-journey[data-journey-style=timeline] .reader-transfer:before{inset-inline-start:12cqw}
.reader-journey[data-journey-style=timeline] .reader-transfer>div{max-width:none;margin-inline-start:13cqw;padding:2cqw 0;background:transparent}

/* Keepsake cards: a panorama above a dedicated time column. */
.reader-journey[data-journey-style=cards] .reader-station-frame{min-height:0;padding:0;margin-inline:6cqw;border:1px solid var(--journey-gold);border-radius:16px;overflow:hidden;background:color-mix(in srgb,var(--invite-paper) 96%,var(--invite-accent))}
.reader-journey[data-journey-style=cards] .reader-station-content{width:100%;margin:0;display:grid;grid-template-columns:23cqw minmax(0,1fr);text-align:start}
.reader-journey[data-journey-style=cards] .reader-journey-art{grid-row:1;grid-column:1/-1;aspect-ratio:2.5;margin:0;border-block-end:1px solid var(--journey-gold)}
.reader-journey[data-journey-style=cards] .reader-journey-art:after{display:none}
.reader-journey[data-journey-style=cards] .reader-station-content>small{grid-row:2;grid-column:2;padding:5cqw 4cqw 1cqw}
.reader-journey[data-journey-style=cards] .reader-station-content h4{grid-row:3;grid-column:2;font-size:calc(26 * var(--reader-px));padding:0 4cqw 4cqw;margin:0}
.reader-journey[data-journey-style=cards] .reader-station-content>time{grid-row:2/4;grid-column:1;align-self:stretch;display:flex;align-items:center;justify-content:center;padding:4cqw 3cqw;border-inline-end:1px dashed var(--journey-gold);margin:0;text-align:center;font-weight:700;color:var(--invite-accent);overflow-wrap:anywhere}
.reader-journey[data-journey-style=cards] .reader-station-address{grid-row:4;grid-column:1/-1;margin:0;padding:3cqw 5cqw;text-align:center}
.reader-journey[data-journey-style=cards] a.reader-location{grid-row:5;grid-column:1/-1;justify-self:center;margin:2cqw 4cqw 5cqw}
.reader-journey[data-journey-style=cards] .reader-moments>li{grid-template-columns:minmax(0,.65fr) minmax(0,1fr);gap:3cqw;min-height:0;margin:3cqw 0;padding:4cqw 3cqw;border:1px solid var(--journey-gold);border-radius:12px;direction:inherit;text-align:start}
.reader-journey[data-journey-style=cards] .reader-moments>li>img{display:none}
.reader-journey[data-journey-style=cards] .reader-moments>li>div{grid-column:2}
.reader-journey[data-journey-style=cards] .reader-moments>li>time{font-size:calc(16 * var(--reader-px));padding:0}
.reader-journey[data-journey-style=cards] .reader-moments h5{font-size:calc(22 * var(--reader-px))}
.reader-journey[data-journey-style=cards] .reader-moments p{font-size:calc(14 * var(--reader-px))}

/* Arches: centred illustrated stops, each within its own arched surface. */
.reader-journey[data-journey-style=arches] .reader-station-frame{min-height:0;padding:6cqw 5cqw 7cqw;margin-inline:9cqw;border:1px solid var(--journey-gold);border-radius:44cqw 44cqw 18px 18px;background:color-mix(in srgb,var(--invite-paper) 95%,var(--invite-accent));overflow:hidden}
.reader-journey[data-journey-style=arches] .reader-station-content{width:100%;margin:0;display:flex;flex-direction:column;align-items:center}
.reader-journey[data-journey-style=arches] .reader-journey-art{order:-1;aspect-ratio:1.25;margin:0 0 4cqw;border-radius:40cqw 40cqw 6px 6px;overflow:hidden}
.reader-journey[data-journey-style=arches] .reader-journey-art:after{display:none}
.reader-journey[data-journey-style=arches] .reader-station-content h4{font-size:calc(30 * var(--reader-px));line-height:1.6;margin:2cqw 0}
.reader-journey[data-journey-style=arches] .reader-station-content>time{border-block:1px solid var(--journey-gold);padding:1.5cqw 5cqw;margin:1cqw 0 3cqw;color:var(--invite-accent)}
.reader-journey[data-journey-style=arches] .reader-eve{border-radius:35cqw 35cqw 18px 18px;padding-block-start:11cqw}

/* Style thumbnails describe the layout; the preview button opens the real invitation. */
.b-journey-choices{min-width:0;border:0;padding:0;margin:0 0 15px}
.b-journey-choices>legend{font-size:16px;font-weight:700;margin-bottom:15px}
.b-journey-choice{padding:10px}
.b-journey-choice>b{font-size:15px;line-height:1.6;padding:12px 0 2px}
.b-journey-sample{display:flex;flex-direction:column;justify-content:center;gap:14px;height:180px;padding:12px 9px;background:#f7f2e8;border-radius:10px;overflow:hidden;direction:inherit}
.b-journey-sample-stop{position:relative;display:grid;grid-template-columns:48% minmax(0,1fr);align-items:center;gap:7px;min-height:63px;width:85%;border-inline-start:1px solid #b99a69;padding:6px}
.b-journey-sample-stop:nth-child(2){align-self:flex-end;border-inline-start:0;border-inline-end:1px solid #b99a69}
.b-journey-sample-stop>img{width:100%;height:49px;object-fit:cover;mix-blend-mode:multiply}
.b-journey-sample-lines{display:grid;gap:6px;min-width:0}
.b-journey-sample-lines>span{display:block;height:3px;width:100%;background:#c6b59c;border-radius:2px}
.b-journey-sample-lines>span:first-child{height:4px;background:#8b6452}
.b-journey-sample-lines>span:last-child{width:66%}
.b-journey-sample-number{display:none}
.b-journey-sample[data-journey-sample=timeline]{gap:0}
.b-journey-sample[data-journey-sample=timeline] .b-journey-sample-stop{display:block;border:0;border-inline-start:1px solid #b99a69;width:90%;padding:17px 12px;margin-inline-start:7px;min-height:67px;align-self:flex-start}
.b-journey-sample[data-journey-sample=timeline] img{display:none}
.b-journey-sample[data-journey-sample=timeline] .b-journey-sample-number{position:absolute;inset-inline-start:-10px;top:11px;display:grid;place-items:center;width:19px;height:19px;border:1px solid #b99a69;border-radius:50%;background:#f7f2e8;color:#725332;font:12px/1 Tajawal,Manrope,sans-serif}
.b-journey-sample[data-journey-sample=cards]{gap:8px;padding-block:10px}
.b-journey-sample[data-journey-sample=cards] .b-journey-sample-stop{border:1px solid #cdbb9e;border-radius:6px;background:#fffdf7;width:100%;padding:5px;grid-template-columns:25% minmax(0,1fr);gap:4px}
.b-journey-sample[data-journey-sample=cards] img{grid-column:1/-1;height:28px}
.b-journey-sample[data-journey-sample=cards] .b-journey-sample-number{display:grid;place-items:center;font:12px/1.4 Tajawal,Manrope,sans-serif;color:#725332;border-inline-end:1px dashed #cdbb9e;align-self:stretch}
.b-journey-sample[data-journey-sample=cards] .b-journey-sample-lines{gap:3px;padding:2px 0}
.b-journey-sample[data-journey-sample=arches]{gap:9px}
.b-journey-sample[data-journey-sample=arches] .b-journey-sample-stop{display:flex;flex-direction:column;gap:4px;border:1px solid #cdbb9e;border-radius:40px 40px 5px 5px;width:78%;min-height:74px;align-self:center;padding:5px 10px;background:#fffaf0}
.b-journey-sample[data-journey-sample=arches] img{height:38px;border-radius:30px 30px 0 0}
.b-journey-sample[data-journey-sample=arches] .b-journey-sample-lines{width:75%;gap:3px}
.b-journey-sample[data-journey-sample=arches] .b-journey-sample-lines>span{height:2px;margin:auto}
.b-journey-preview{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:6px 0}
.b-journey-preview:disabled{color:var(--muted);cursor:default;text-decoration:none;opacity:.65}
.b-journey-preview svg{width:19px;height:19px}
@media(max-width:360px){.b-journey-choice{padding:7px}.b-journey-choice>b{font-size:14px}.b-journey-sample{height:158px;padding:8px 6px;gap:8px}.b-journey-sample-stop{gap:4px;padding:4px}.b-journey-sample[data-journey-sample=arches] .b-journey-sample-stop{min-height:67px}.b-journey-sample[data-journey-sample=arches] img{height:32px}}

/* Grid items and native inputs shrink within the viewport without another scroll axis. */
.b-layout>*,.b-fields>*,.b-design-grid>*,.b-font-grid>*,.b-atelier-tabs>*,.b-summary>div>*{min-width:0}
.b-field input,.b-field select,.b-field textarea{max-width:100%;min-width:0}
.b-progress button{white-space:normal}

.reader-cue-label{display:block;white-space:nowrap}

.b-library-music{display:grid;gap:15px;padding:20px;margin:16px 0;border:1px solid var(--line);border-radius:13px;background:#eff2e9}.b-library-music audio{width:100%;max-width:100%}.b-library-music p{font-size:14px;color:#8d4336}.reader-media.reader-music{left:auto;right:calc(15 * var(--reader-px));font-size:calc(22 * var(--reader-px))}.reader-music[aria-pressed=true]{background:#1c493c;color:#fffaf0}

/* Basic journey: clear next action, optional details and readable mobile controls. */
.b-optional{padding:0;overflow:clip}
.b-optional>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:72px;padding:20px 26px;cursor:pointer;list-style:none;font-size:1.125rem;font-weight:700}
.b-optional>summary::-webkit-details-marker{display:none}
.b-optional>summary::after{content:'+';color:var(--green);font:1.4rem Manrope,sans-serif}
.b-optional[open]>summary::after{content:'−'}
.b-optional>summary small{margin-inline-start:auto;font-size:.875rem;font-weight:400;color:var(--muted)}
.b-optional-body{padding:0 26px 24px;border-top:1px solid var(--line)}
.b-optional>summary:focus-visible{outline:2px solid var(--green);outline-offset:-5px}
.b-note,.b-card-heading>p,.b-heading>p:last-child{font-size:1rem;line-height:1.8}
.b-save-status,.b-summary dt,.b-summary button,.b-field>span,.b-toggle small{font-size:.875rem}
.b-field [aria-invalid=true]{border-color:#9d3e51;outline:2px solid #9d3e5140}
.b-current-step{display:none}
@media(max-width:600px){
 .b-header-inner{min-height:64px;padding:8px 14px;gap:10px;flex-wrap:nowrap}
 .b-brand img{width:84px;height:38px}
 .b-header-actions{gap:5px;flex-wrap:nowrap}
 .b-header-actions .b-local-tag,.b-header-actions>[data-b-action=save],.b-dashboard-return{display:none}
 .b-header-actions .language-toggle{min-width:44px;min-height:44px}
 .b-progress{gap:4px;padding:7px 12px 3px;flex-wrap:nowrap}
 .b-progress button{padding:3px;min-width:0;min-height:42px}
 .b-progress button>span{font-size:.75rem}
 .b-current-step{display:block;text-align:center;font-size:.875rem;color:var(--green);padding:4px 12px 9px;margin:0}
 .b-heading{margin-bottom:18px}.b-layout{padding-top:24px}
 .b-heading>p:last-child,.b-note,.b-card-heading>p{font-size:1rem}
 .b-summary dt,.b-summary dd,.b-summary button{font-size:.875rem}
 .b-summary>div{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) auto}
 .b-bottom-bar .button{font-size:.875rem;min-height:48px;padding:9px 6px}
 .b-bottom-bar>div{display:grid;grid-template-columns:.75fr .9fr 1.25fr}
 .b-optional>summary{padding:18px;font-size:1rem;flex-wrap:wrap;gap:8px}
 .b-optional>summary small{font-size:.875rem}.b-optional-body{padding:0 18px 18px}
}

.b-envelope-group{border:0;padding:0;margin:0 0 28px;min-width:0}
.b-envelope-group legend{font-size:1.1rem;font-weight:700;margin-bottom:6px}
.b-envelope-art{display:flex;gap:8px;flex-shrink:0}
.b-video-choice .b-envelope-art img{width:110px;height:196px;object-fit:contain;border-radius:10px}
.b-video-choice.b-complete-choice{grid-template-columns:20px 184px minmax(0,1fr)}
.b-video-choice.b-complete-choice .b-envelope-art img{width:88px;height:157px}
.b-integrated-included{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:24px;align-items:center}
.b-integrated-included p{line-height:1.8}
.b-integrated-pair{display:flex;gap:10px;min-width:0}
.b-integrated-pair img{width:calc(50% - 5px);aspect-ratio:9/16;object-fit:contain;border-radius:12px}
.reader-video[data-integrated-video]{object-fit:cover;object-position:center}
.reader-media-stage:has([data-integrated-video])>img.scene-art{object-fit:cover;object-position:center}
@media(max-width:600px){.b-integrated-included{grid-template-columns:1fr}.b-integrated-pair{max-width:250px;margin-inline:auto}.b-video-choice .b-envelope-art img{width:72px;height:128px}.b-video-choice.b-complete-choice{grid-template-columns:18px 116px minmax(0,1fr);gap:10px;padding:12px}.b-video-choice.b-complete-choice .b-envelope-art img{width:54px;height:96px}}

/* Keep editing choices steady, and distinguish full playback from the current view. */
.builder-active #builder-shell{overflow-anchor:none}
.b-toggle>input{top:50%;width:1px;height:1px;transform:translateY(-50%)}
.b-field-example{display:block;font-size:13px;color:#626b62;font-weight:400;line-height:1.7}
.b-field-example[hidden]{display:none}
.b-field input::placeholder,.b-field textarea::placeholder{color:#797d74;opacity:1}
.b-related-controls button{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:76px;padding:14px 17px;border-color:#91a99c;background:#edf3ed;color:#143d32;transition:background .15s,border-color .15s}
.b-related-controls button b{display:block;font-size:16px;font-weight:700}
.b-related-controls button small{display:block;font-size:13px;color:#536b5e;margin-top:4px}
.b-related-controls button svg{width:20px;height:20px;flex:none}
.b-related-controls button:hover{background:#e2ece2;border-color:#143d32}
.b-related-controls button:focus-visible{outline:3px solid #91a99c;outline-offset:3px}
.reader-sound{position:absolute;z-index:12;bottom:16px;inset-inline-end:12px;display:flex;align-items:center;gap:8px;max-width:calc(100% - 24px);pointer-events:auto}
.reader-sound .reader-music{display:grid;place-items:center;position:static;margin:0;padding:11px;width:44px;height:44px;flex:none;border:1px solid #c9baa0;border-radius:50%;background:#fffaf0;color:#183e32;box-shadow:0 2px 10px #122b1918;opacity:1;cursor:pointer}
.reader-sound .reader-music svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.reader-sound[data-sound=on] .reader-music{background:#183e32;color:#fffaf0;border-color:#183e32}
.reader-sound[data-sound=on] .sound-off,.reader-sound[data-sound=off] .sound-waves{display:none}
.reader-sound-status{padding:7px 10px;border-radius:8px;background:#fffaf0;color:#183e32;font:13px/1.5 Tajawal,Manrope,sans-serif;box-shadow:0 2px 10px #122b1918}
.reader-sound-status[hidden]{display:none}
.reader-sound .reader-music:focus-visible{outline:3px solid #8aaa98;outline-offset:3px}
@media(max-width:540px){.b-bottom-bar>div{grid-template-columns:.6fr 1.45fr 1fr}.b-bottom-bar .b-preview-button{font-size:13px;line-height:1.4}.b-bottom-bar .b-preview-button svg{flex:none;width:16px}.b-related-controls button b{font-size:15px}}

/* Readable task guidance and focused validation. */
.b-save-status,.b-preview-note,.b-choice small,.b-toggle small,.b-template-copy small,.b-font-choice small,.b-chosen-scene small{font-size:.875rem;color:#526158}
.b-note,.b-card-heading>p{color:#526158}
.b-errors button{display:inline;text-align:start;color:#753123;background:transparent;text-decoration:underline;text-underline-offset:3px;padding:5px 0;line-height:1.7;font:inherit}
.b-errors button:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.b-field [aria-invalid=true]{border-color:#9a3f2e;box-shadow:0 0 0 1px #9a3f2e}
.b-field{scroll-margin-block:130px}
.b-detail summary small{margin-inline-start:auto;font-size:.875rem;color:#526158;line-height:1.6}

/* Invitation introduction: hosts, invitation line, then the couple. */
.reader-parent-grid:before,.reader-couple-grid:before{display:none}
.reader-parent-role{font-size:var(--opening-title);line-height:1.55;color:var(--scene-text)}
.reader-couple-grid{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:2cqw;align-items:center}
.reader-couple-and{font:400 var(--opening-text)/1.6 var(--reader-text-stack,var(--reader-text-font)),Tajawal,sans-serif;color:var(--scene-text)}
.reader-parent-grid{gap:3cqw}
.reader-parent-grid .reader-family-parent>p{font-size:calc(16 * var(--reader-px));font-weight:400;line-height:1.65;overflow-wrap:anywhere;text-wrap:balance}
.reader-parent-grid .reader-parent-role{font-size:calc(14 * var(--reader-px));line-height:1.6}

/* A shared proportional type scale keeps miniature and full invitations aligned. */
.review-reader[data-reader]{--reader-px:calc(100cqw / 390);--opening-name:calc(34 * var(--reader-px));--opening-text:calc(16 * var(--reader-px));--opening-basmala:calc(23 * var(--reader-px));--opening-gap:calc(12 * var(--reader-px))}
.review-reader[data-reader][data-opening-density=compact]{--opening-name:calc(32 * var(--reader-px));--opening-gap:calc(9 * var(--reader-px))}
.review-reader[data-reader][data-opening-density=tight]{--opening-name:calc(30 * var(--reader-px));--opening-gap:calc(7 * var(--reader-px))}
.reader-opening-content{gap:calc(var(--opening-gap) * 1.5)}
.reader-religion{gap:calc(6 * var(--reader-px))}
.reader-opening .basmala{line-height:1.65}
.reader-opening .verse[data-verse-layout]{font-size:calc(15 * var(--reader-px) * var(--verse-scale));line-height:1.85;gap:0;width:calc(100% + 8cqw)}
.reader-opening .verse[data-verse-layout] .verse-source{display:block;font-size:calc(12 * var(--reader-px));line-height:1.5;margin:calc(6 * var(--reader-px)) 0 0;white-space:normal;text-wrap:balance}
.reader-hosts{gap:var(--opening-gap)}
.reader-family-parent{gap:calc(3 * var(--reader-px))}
.reader-host-request{line-height:1.6}
.reader-couple-grid .reader-family-couple>strong{line-height:1.45}
.reader-opening .reader-wording{font-size:calc(14 * var(--reader-px));line-height:1.6}

/* Names reference: understated role labels, calligraphic parents, gold couple names. */
.reader-parent-grid .reader-family-parent>p{font-family:var(--reader-name-stack,var(--reader-font)),Amiri,serif;font-size:calc(20 * var(--reader-px));font-weight:400;line-height:1.75;color:var(--scene-names)}
.reader-parent-grid .reader-parent-role{font-family:var(--reader-text-stack,var(--reader-text-font)),Tajawal,sans-serif;font-size:calc(14 * var(--reader-px));font-weight:400;color:var(--scene-accent)}
.reader-couple-grid .reader-family-couple>strong,.reader-hosts .reader-family-custom{color:var(--scene-accent)}

/* Verse reference proportions: small Basmala, long first line, centered short second line. */
.reader-opening .basmala{font-size:calc(15 * var(--reader-px));line-height:1.8;color:var(--scene-accent)}
.reader-religion:after{content:'';display:block;width:calc(48 * var(--reader-px));height:1px;margin:calc(5 * var(--reader-px)) auto 0;background:var(--scene-accent);opacity:.55}

/* Clearly actionable map links with a generous touch target. */
.reader-journey a.reader-location{gap:10px;min-height:48px;padding:12px 18px;border:1px solid var(--invite-accent);border-radius:12px;background:var(--invite-accent);color:var(--invite-paper);font-weight:700;box-shadow:0 3px 8px #30251b26;cursor:pointer;transition:filter .15s,transform .15s,box-shadow .15s}
.reader-journey a.reader-location .reader-location-icon{width:20px;height:20px;flex:none}
.reader-journey a.reader-location>span{min-width:0}
.reader-journey a.reader-location:hover{filter:brightness(.93);box-shadow:0 4px 12px #30251b33}
.reader-journey a.reader-location:active{transform:translateY(1px)}
.reader-journey a.reader-location:focus-visible{outline:3px solid var(--scene-accent,var(--invite-accent));outline-offset:4px}
@media(prefers-reduced-motion:reduce){.reader-journey a.reader-location{transition:none}}
