/* test2 2.6: the sections from the test5 card (dress code, special programs, guest album, closing,
   languages, «maybe» and guest limits, add-to-calendar) dressed in the autumn palette of wedding.css. */
.theme-autumn{--leaf:#9a4a2c;--leaf-deep:#5e3222;--honey:#bd9651;--honey-soft:#dcc38f;--card:#fffdf8}

/* The guest's name on the first screen. */
.personal-welcome{display:flex;flex-direction:column;align-items:center;margin:0 auto 10px;padding:6px 18px 8px;max-width:min(92%,340px);border:1px solid #d9bf98;border-radius:18px;background:#fffdf8c9;color:#6b4434;font-size:12px;line-height:1.8;text-align:center;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.personal-welcome strong{font:400 clamp(22px,6.5vw,30px)/1.8 "Mina Miremad",var(--fa);color:var(--wine);overflow-wrap:anywhere}

/* Families line as a pair. */
.family-pair{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 10px;font-size:var(--family-size,16px)}
.family-pair i{font-style:normal;color:var(--honey);font-size:.8em}

/* RSVP additions: three answers, the guest limit, the quiz thank-you card. */
.wedding-form fieldset{display:grid;gap:2px}
.rsvp-max{display:block;margin-top:4px;color:var(--muted);font-size:12px}
.rsvp-kicker{margin:0;color:var(--wine-soft);font-size:13px;letter-spacing:.04em;text-align:center}
.guest-count-field[hidden]{display:none!important}
.rsvp-done{text-align:center}
.rsvp-done h3{outline:none}
.rsvp-done button{min-height:44px;margin:6px 4px 0;padding:8px 18px;border:1px solid var(--wine);border-radius:30px;background:var(--wine);color:#fffaf0;font:inherit;font-size:14px;cursor:pointer}
.rsvp-done .rsvp-change{background:transparent;color:var(--wine)}
.rsvp-final{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
.rsvp-final p{margin:0 0 6px}

/* Add to calendar, under the route buttons. */
.calendar-add{display:flex;align-items:center;justify-content:center;gap:10px;max-width:320px;min-height:46px;margin:12px auto 0;padding:10px 18px;border:1px solid #c7a678;border-radius:30px;color:var(--wine);background:#fffdf8d9;text-decoration:none;font-size:14px}
.calendar-add svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round}

/* Dress code. */
.dress-code-section{position:relative;padding-block:48px 56px}
.dress-code-paper{position:relative;z-index:2;max-width:580px;margin:auto;padding:28px 16px 24px;background:#fffdf8e6;border:1px solid #d9c09a;border-radius:6px;box-shadow:inset 0 0 0 6px #ffffff80,var(--shadow);text-align:center}
.dress-code-rule{display:flex;align-items:center;gap:15px;margin:0 auto 22px;color:var(--honey)}
.dress-code-rule span{height:1px;background:#c9a87470;flex:1}
.dress-code-rule b{font-size:17px;font-weight:400}
.dress-code-rule-bottom{margin:22px auto 0}
.dress-code-heading h2{margin:0 0 6px;font:400 clamp(30px,8vw,40px)/1.9 "Mina Miremad",var(--fa);color:var(--wine)}
.dress-code-heading p{font-size:14px;line-height:2.3;max-width:400px;margin:0 auto;color:var(--ink)}
.fashion-scene{position:relative;margin:16px auto 22px;max-width:365px;display:flex;align-items:center;flex-direction:column}
.fashion-chandelier{width:106px;height:138px;object-fit:contain;transform-origin:top;animation:autumnChandelier 9s ease-in-out infinite}
.fashion-couple{width:min(100%,320px);height:auto;object-fit:contain;filter:drop-shadow(0 9px 8px #5e32221a);animation:autumnBreathe 8s ease-in-out infinite;transform-origin:50% 90%}
@keyframes autumnChandelier{0%,100%{transform:rotate(-1.2deg)}50%{transform:rotate(1.2deg)}}
@keyframes autumnBreathe{0%,100%{transform:scale(1)}50%{transform:scale(1.012)}}
.dress-palette{margin:25px auto 28px;max-width:450px}
.dress-palette-row{display:grid;grid-template-columns:repeat(var(--bow-count),minmax(0,1fr));gap:7px;justify-content:center;margin-bottom:18px}
.dress-swatch{margin:0;min-width:0}
.dress-bow{display:block;width:100%;max-width:64px;margin:0 auto 7px;overflow:visible;filter:drop-shadow(0 4px 3px #5e32221f)}
.dress-swatch figcaption{font-size:11px;line-height:1.8;overflow-wrap:anywhere;color:var(--ink)}
.dress-code-note{margin:16px auto 0;color:var(--wine);font-size:15px;font-weight:600;text-align:center}

/* Special programme, only for the chosen personal links. */
.special-section{position:relative;padding-top:34px}
.special-card{position:relative;z-index:2;max-width:570px;margin:auto;padding:46px 24px 34px;text-align:center;background:linear-gradient(160deg,#fffdf8,#f5ebdd);border:1px solid #b9855d88;border-radius:30px 30px 6px 6px;box-shadow:inset 0 0 0 7px #ffffff99,var(--shadow);outline:1px dashed #9a4a2c55;outline-offset:6px}
.special-seal{position:absolute;top:-21px;left:calc(50% - 21px);display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--wine);color:#fffaf0;font-size:15px;box-shadow:0 5px 14px #4a2a1e40}
.special-guest{margin:0;font:400 clamp(24px,7vw,32px)/1.9 "Mina Miremad",var(--fa);color:var(--wine)}
.special-intro{display:inline-block;margin:0 0 6px;padding:5px 16px;border-radius:30px;background:#f3e6d4;color:var(--wine-deep);font-size:13px;line-height:2}
.special-card h2{font:400 clamp(30px,7vw,40px)/2.3 "Mina Miremad",var(--fa);color:var(--wine);margin:6px 0 10px;padding-bottom:6px}
.special-when{font-size:14px;color:var(--muted);margin:0 0 10px}
.special-text{font-size:14px;line-height:2.4;overflow-wrap:anywhere;margin:10px 0}
.special-place{display:grid;gap:2px;justify-items:center;margin:14px 0 4px;font-size:14px}
.special-place>span{font:24px/1 Georgia,serif;color:var(--honey)}
.special-place address{font-style:normal;color:var(--muted);line-height:2.1}
.special-card .route-buttons{margin-top:14px}
.special-rsvp{margin-top:26px;background:#fffdf8c4}

/* Guest photo and video album (upload form, consent and the shared moments). */
.guest-media-section{position:relative;padding-top:40px;padding-bottom:60px}
.guest-media-paper{position:relative;z-index:2;max-width:620px;margin:auto;padding:36px 20px;background:#fffdf8e8;border:1px solid #d9c09a;border-radius:6px;box-shadow:inset 0 0 0 6px #ffffff80,var(--shadow);text-align:center}
.guest-media-paper .section-heading{margin-bottom:25px}
.guest-media-paper .section-heading h2{color:var(--wine)}
.guest-media-paper .section-heading p{font-size:14px;line-height:2.3;color:var(--ink)}
.media-kicker{display:block;color:var(--honey);font-size:13px;letter-spacing:.05em}
.guest-media-form{padding:0;border:0;background:none;box-shadow:none}
.media-picker{padding:22px 10px;border:1px dashed #b9855d;border-radius:6px;background:#f6ece04d;display:grid;gap:12px}
.guest-media-form input[type=file]{font-size:12px!important;padding:9px 4px!important;border:0!important;background:none!important;max-width:100%}
.media-picker input::file-selector-button{font:inherit;border:0;border-radius:18px;background:var(--wine);color:#fffaf0;padding:9px 14px;margin-inline-end:6px}
.media-picker small,.media-privacy-note,.media-closed,.shared-media-empty{font-size:12px;line-height:2.2;color:var(--muted);margin:0}
.media-consent{margin:10px 0!important;display:grid;gap:8px}
.media-consent .choice{padding:12px 8px;border:1px solid #e3cfb4;border-radius:5px;font-size:12px}
/* The spam trap stays inside the card (an offset of -10000px widened right-to-left pages on phones). */
.media-trap{position:absolute!important;inset-inline-start:0!important;top:0;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap;opacity:0;pointer-events:none}
.media-queue{list-style:none;padding:0;margin:12px 0;font-size:12px;line-height:2;overflow-wrap:anywhere}
.media-queue li{padding:8px;border-bottom:1px solid #e6d6c0}
.guest-media-form progress{width:100%;accent-color:var(--wine)}
.media-teaser-note{max-width:420px;margin:0 auto;padding:16px;color:var(--ink);font-size:14px;line-height:2.2;text-align:center;border-block:1px solid var(--line)}
.media-teaser-note span{color:var(--honey)}
.shared-moments{margin-top:34px;padding-top:26px;border-top:1px solid var(--line)}
.shared-moments h3{font-size:16px;color:var(--wine)}
.shared-media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.shared-media-grid figure{margin:0;background:#fffdf8;border:1px solid #e3cfb4;padding:6px}
.shared-media-grid img,.shared-media-grid video{display:block;width:100%;height:200px;object-fit:contain;background:#f3ebe0}
.shared-media-grid figcaption{font-size:12px;padding:12px 4px;overflow-wrap:anywhere}
.shared-media-grid figcaption p{margin:7px 0}
.shared-video-download{display:block;margin:8px 0;color:var(--wine)}
.media-pagination{display:flex;justify-content:center;gap:18px;margin-top:24px;font-size:13px}
.media-file-card{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:180px;padding:18px;gap:8px;background:#f3ebe0;text-decoration:none;overflow-wrap:anywhere}
.media-file-card>span{font-size:30px}
.media-file-card b,.media-file-card small{max-width:100%;font-size:12px}
.moments-page{background:var(--ivory)}
.moments-page #invitation{min-height:100vh;padding:0 16px 40px;text-align:center}
.back-to-invitation{position:relative;z-index:2;display:inline-block;margin:30px auto 10px;padding:9px 22px;border:1px solid #c7a678;border-radius:25px;font-size:13px;background:#fffdf8;color:var(--wine);text-underline-offset:5px}
.media-unavailable{margin:25px auto}
.moments-page h1{font-size:26px;color:var(--wine)}
.moments-page .guest-media-section{padding-top:22px}

/* One photo, note or shared moment at a time. */
.single-item-carousel{display:block!important;position:relative;min-width:0;touch-action:pan-y pinch-zoom}
.single-item-carousel>[hidden]{display:none!important}
.single-item-carousel>.gallery-card{display:block;width:100%;margin:0;transform:none!important;opacity:1}
.single-item-carousel>.gallery-card img{width:100%;height:auto;max-height:480px;object-fit:contain;user-select:none;-webkit-user-drag:none}
.single-item-carousel>blockquote{margin:16px 0;overflow-wrap:anywhere}
.single-item-carousel>figure{width:100%;min-width:0}
.single-item-carousel>figure img,.single-item-carousel>figure video{height:auto;max-height:480px;min-height:180px;object-fit:contain}
.carousel-controls{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:18px;margin-top:18px}
.carousel-controls[hidden]{display:none!important}
.carousel-controls button{direction:ltr;unicode-bidi:isolate;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #c7a678;border-radius:50%;background:#fffdf8;color:var(--wine);font:24px/1 Arial,sans-serif;box-shadow:0 3px 10px #4a2a1e14;cursor:pointer}
.carousel-controls button:disabled{opacity:.35;cursor:default}
.carousel-controls .carousel-count{font-size:12px;color:var(--muted);min-width:58px}
.participation .carousel-controls .carousel-count{color:#f3e2c6}
.carousel-controls .carousel-count:empty{display:none}
.carousel-load-error{font-size:12px;color:var(--wine);margin-top:10px}
.single-item-carousel>.carousel-current{animation:autumnCarouselIn .22s ease both}
@keyframes autumnCarouselIn{from{opacity:.45}to{opacity:1}}

/* Closing text and photo at the end of the card. */
.closing-section{position:relative;z-index:2;padding-top:24px;text-align:center}
.closing-copy{max-width:420px;margin:0 auto 18px;color:var(--wine);font:400 clamp(22px,5.6vw,28px)/2.1 "Mina Miremad",var(--fa)}
.closing-photo{width:min(78%,340px);margin:0 auto;padding:8px 8px 12px;background:#fffdf8;border:1px solid #d9c09a;border-radius:48% 48% 14px 14px;box-shadow:0 15px 40px #4a2a1e26}
.closing-photo img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:48% 48% 6px 6px}
.closing-photo figcaption{padding-top:8px;color:var(--wine-deep);font:clamp(24px,6vw,32px)/1.5 "Wedding Script",Georgia,serif}

/* The video entrance: status and «enter» button over the film. */
.intro-status,.intro-skip{position:absolute;left:50%;transform:translateX(-50%);z-index:8;max-width:calc(100% - 40px);margin:0;padding:9px 18px;border-radius:30px;font:13px/1.9 var(--fa);text-align:center}
.intro-status{bottom:calc(7% + 92px);color:#fff;background:#2b170f8a;pointer-events:none}
.intro-skip{bottom:calc(7% + 40px);border:1px solid #ffffff99;background:#fffdf8e6;color:var(--wine);cursor:pointer}
.intro-status:not([hidden])~.intro-hint{opacity:0}
.intro-status[hidden],.intro-skip[hidden]{display:none}

/* The countdown line «شروع مراسم» now carries its own label from the panel. */
.calendar-when .calendar-time time{display:inline-block}

/* Language menu in autumn colours. */
.theme-autumn .lang-switch{color:var(--wine-deep)}
.theme-autumn .lang-switch summary{border-color:#d9c09a;background:#fffdf8e8;box-shadow:0 3px 14px #4a2a1e26}
.theme-autumn .lang-switch summary:focus-visible{outline-color:var(--wine)}
.theme-autumn .lang-switch ul{border-color:#e3cfb4;box-shadow:0 12px 34px #4a2a1e33}
.theme-autumn .lang-switch li a{color:var(--wine-deep)}
.theme-autumn .lang-switch li a b{background:#f3e6d4;color:var(--wine)}
.theme-autumn .lang-switch li a:hover,.theme-autumn .lang-switch li a:focus-visible{background:#faf3e8}
.theme-autumn .lang-switch li a[aria-current]{background:#f3e6d4}
.theme-autumn .lang-switch li a[aria-current] b{background:var(--wine);color:#fffaf0}

@media (prefers-reduced-motion:reduce){
  .fashion-chandelier,.fashion-couple,.single-item-carousel>.carousel-current{animation:none}
}

/* Left-to-right languages: the autumn sheet was written right-to-left in places. */
html[dir=ltr] .program-copy{direction:ltr;text-align:left}
html[dir=ltr] .simple-countdown .calendar-label,html[dir=ltr] .countdown-label{direction:ltr}
html[dir=ltr] .hero-date span,html[dir=ltr] .hero-date time,html[dir=ltr] .calendar-date,html[dir=ltr] .calendar-footer-note{direction:ltr!important}
html:not([data-script=arabic]) .message-card h2{font-family:var(--display);letter-spacing:normal!important;word-spacing:normal;line-height:1.45;padding-block:2px 8px}
