/* Invitation additions only. styles.css is unchanged from the public website. */
.invitation{--sans:Arial,'Segoe UI',sans-serif;--white:#fffefb;--warm:var(--paper-warm)}
.invitation [hidden]{display:none!important}.invite-extra,.schedule,.stay,.rsvp,.review-bar,.review-notes,.contact{line-height:1.6}
.invitation :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid #9b6539;outline-offset:4px}
.invitation section[id]{scroll-margin-top:90px}.invitation h3{font-size:27px;font-weight:400;line-height:1.25;margin:0 0 14px}
.invite-hero-link{display:inline-block;margin-top:20px;padding-bottom:4px;color:inherit;font-size:16px;text-underline-offset:5px}
.invitation-intro{max-width:850px;margin:auto;text-align:center;padding:64px 24px}.invitation-intro>p:not(.section-label){font-size:27px}
.invitation-intro nav{display:flex;justify-content:center;flex-wrap:wrap;gap:18px;font:13px/1.7 var(--sans)}
.inner{width:min(1120px,100%);margin:auto}.split{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:start}
.small,.section p.small{font:13px/1.7 var(--sans)}.muted{color:var(--muted)}.pending{display:inline-block;font:12px/1.6 var(--sans);background:#ede4d7;color:#735439;padding:7px 10px}
.note,.section p.note{border-inline-start:2px solid var(--clay);padding:10px 16px;font:14px/1.7 var(--sans);color:var(--muted)}
.schedule{background:var(--paper-warm)}.schedule ol{list-style:none;padding:0;margin:0}.schedule li{display:grid;grid-template-columns:95px 1fr;gap:24px;padding:25px 0;border-top:1px solid var(--line)}.schedule li:last-child{border-bottom:1px solid var(--line)}.day{font:12px/1.6 var(--sans);color:var(--clay)}.schedule p{font-size:17px;margin:8px 0}.schedule .section-label{margin-bottom:18px}
.stay{background:var(--mist)}.travel-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px;margin-top:40px}.travel-grid p,.visa-grid p,.visa-grid li{font-size:18px;line-height:1.6}.address{font-style:normal}.quiet-link{font:13px/1.6 var(--sans);text-underline-offset:4px}
.visa-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:44px}.visa-grid ol{padding-inline-start:22px}.visa-grid li{padding-inline-start:6px;margin-bottom:10px;color:var(--muted)}
.rsvp{background:var(--paper-warm)}.rsvp .rsvp-layout{grid-template-columns:.72fr 1.28fr;gap:64px;align-items:start}.rsvp-side{position:sticky;top:110px}.rsvp-side p{font-size:18px}
.button{display:inline-flex;justify-content:center;align-items:center;background:var(--olive);color:white;border:1px solid var(--olive);padding:14px 25px;min-height:48px;text-decoration:none;font:13px/1.4 var(--sans);cursor:pointer}.button.secondary{background:transparent;color:var(--olive);border-color:var(--line)}.button:disabled{opacity:.65;cursor:wait}
.form-card{background:var(--white);border:1px solid var(--line);padding:34px;min-width:0;box-shadow:0 18px 40px #30392f08}.invite-heading{font-size:31px;margin-bottom:8px}.steps{display:flex;list-style:none;gap:14px;padding:0;margin:28px 0 30px;font:11px/1.5 var(--sans);color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:17px}.steps li{flex:1}.steps li[aria-current=step]{color:var(--olive);font-weight:bold}.step-title{font-size:28px;outline:none}.field{margin-bottom:22px}.field>label,fieldset>legend{display:block;font:13px/1.6 var(--sans);font-weight:bold;margin-bottom:9px}.field small{display:block;font:12px/1.6 var(--sans);color:var(--muted);margin:7px 0}.guest{border:0;padding:0 0 22px;margin:0 0 22px;border-bottom:1px solid var(--line);min-width:0}.guest legend{font-size:16px;font-weight:normal}.choices{display:flex;gap:10px}.choice{flex:1;display:flex;align-items:center;gap:9px;border:1px solid var(--line);padding:12px;font:13px/1.4 var(--sans);cursor:pointer}.choice:has(input:checked){background:#edf1e8;border-color:var(--olive)}input[type=radio],input[type=checkbox]{accent-color:var(--olive);width:17px;height:17px;flex-shrink:0;margin:0}input[type=text],input[type=email],textarea,select{display:block;width:100%;min-height:46px;border:1px solid #abb2a3;background:white;color:var(--ink);padding:10px 12px;border-radius:0;font:15px var(--sans)}textarea{min-height:85px;resize:vertical}select{padding-inline-end:28px}.person-detail{border-bottom:1px solid var(--line);padding:2px 0 10px;margin-bottom:24px}.person-detail h4{font:20px var(--serif);margin:0 0 20px}.pair{display:grid;grid-template-columns:1fr 1fr;gap:15px}.check-label{display:flex;align-items:flex-start;gap:10px;font:13px/1.6 var(--sans)}.check-label input{margin-top:3px}.actions{display:flex;align-items:center;gap:12px;justify-content:space-between;margin-top:28px}.actions .button:only-child{margin-inline-start:auto}.error{background:#fff0ec;border-inline-start:3px solid #a34027;color:#85331f;padding:13px 16px;font:13px/1.6 var(--sans);margin-bottom:24px}.error a{display:block}.summary-person{padding:16px 0;border-top:1px solid var(--line)}.summary-person h4{font:20px var(--serif);margin:0 0 8px}.summary-person dl{margin:0;font:13px/1.8 var(--sans)}.summary-person dt{color:var(--muted);display:inline}.summary-person dt::after{content:': '}.summary-person dd{display:inline;margin:0;overflow-wrap:anywhere}.summary-person dd::after{content:'';display:block}.success-icon{width:52px;height:52px;display:grid;place-items:center;background:var(--mist);color:var(--olive);border-radius:50%;font:26px var(--sans);margin-bottom:24px}.success-note{font:14px/1.8 var(--sans);color:var(--muted)}.empty{padding:25px 0}.faq{max-width:850px;margin:auto}.faq details{border-top:1px solid var(--line);padding:21px 0}.faq details:last-of-type{border-bottom:1px solid var(--line)}.faq summary{font:20px/1.5 var(--serif);cursor:pointer;list-style-position:outside;margin-inline-start:22px;padding-inline-start:10px}.faq details p{font-size:16px;color:var(--muted);padding:20px 0 0 32px;margin:0}.contact{text-align:center;padding:70px 24px;background:var(--mist)}.contact h2{font-size:40px}.contact p{max-width:620px;margin:0 auto 18px}.review-notes{font:13px/1.8 var(--sans);padding:30px;background:#eee5d5}.review-notes summary{cursor:pointer;font-weight:bold}.review-notes ul{max-width:1000px}

.form-card .eyebrow{font:12px/1.5 var(--sans);color:var(--clay)}.form-card p.small{font:13px/1.7 var(--sans)}.form-card p.success-note{font:14px/1.8 var(--sans)}.field>label.check-label{display:flex}.field label span{font-weight:normal}.field small{line-height:1.6}
.gifts{background:var(--paper-warm)}.gifts h2{font-family:var(--script);font-size:clamp(60px,7vw,90px);font-weight:400}.faq .quiet-link{display:inline-block;margin:18px 32px 0}
.review-bar{padding:10px 24px;background:#e7dcc7;font:12px/1.6 var(--sans);display:flex;gap:12px;align-items:center;flex-wrap:wrap}.review-tools{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-inline-start:auto}.review-bar label{display:flex;gap:5px;align-items:center}.review-bar select{width:auto;min-height:34px;padding:5px;font:12px var(--sans)}.review-bar input{width:auto}.review-notes{font:13px/1.8 var(--sans);padding:25px;background:#eee5d5}
body.lang-ar .invite-extra,body.lang-ar .schedule,body.lang-ar .stay,body.lang-ar .rsvp,body.lang-ar .faq,body.lang-ar .contact{direction:rtl;font-family:var(--arabic)}body.lang-ar .gifts h2{font-family:var(--arabic-display)}body.lang-ar .form-card,body.lang-ar .form-card :is(input,textarea,select,button,label,legend,p,dl),body.lang-ar .steps{font-family:var(--arabic)}
@media(max-width:860px){.split,.travel-grid,.visa-grid,.rsvp .rsvp-layout{grid-template-columns:1fr;gap:35px}.rsvp-side{position:static}.invitation section[id]{scroll-margin-top:170px}.travel-grid{gap:30px}.invitation-intro>p:not(.section-label){font-size:24px}}
@media(max-width:520px){.form-card{padding:23px 18px}.pair{grid-template-columns:1fr}.schedule li{grid-template-columns:70px 1fr;gap:18px}.review-tools{margin:0}.steps{gap:8px}.choice{padding:12px 9px}.actions{gap:8px}.actions .button{padding:13px 17px}.contact h2{font-size:38px}.invitation-intro{padding:44px 22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Draft 03: compact additions, using the save-the-date section layout. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.venue-programme{border-collapse:collapse;width:100%;margin:26px 0 22px;table-layout:fixed}.venue-programme th,.venue-programme td{border-top:1px solid var(--line);padding:15px 0;text-align:start;vertical-align:top}.venue-programme th{width:30%;padding-inline-end:16px;font:12px/1.6 var(--sans);font-weight:400;color:var(--clay)}.venue-programme h3{font-size:23px;margin:0 0 6px}.venue-programme p,.section p.rooms-note{font-size:17px;line-height:1.5;margin:0}.section p.rooms-note{margin-top:20px}.invitation .venue-layout{align-items:center;gap:clamp(34px,5vw,70px)}
.travel-compact{display:grid;grid-template-columns:1fr 1fr;gap:65px;margin-top:32px}.travel-compact p{font-size:18px;line-height:1.55}.travel-compact #visas>h3{font-size:28px}.travel-compact details{border-top:1px solid var(--line);padding:14px 0}.travel-compact summary{cursor:pointer;font-size:19px}.travel-compact details p{font-size:17px}.travel-compact p.small{font:12px/1.6 var(--sans)}
.phone-wrap input[type=tel]{display:block;width:100%;min-height:46px;border:1px solid #abb2a3;background:white;color:var(--ink);padding:10px 12px;border-radius:0;font:15px var(--sans)}
.form-card .rsvp-room-note{font:13px/1.7 var(--sans);color:var(--muted);margin:12px 0 24px}.public-gate{padding:12px 0}.public-gate p{font:17px/1.65 var(--serif)}.public-gate h4{font-size:23px;font-weight:400;margin:28px 0 8px}.public-gate .button{margin-top:10px}
body.lang-ar .venue-programme th,body.lang-ar .rooms-note,body.lang-ar .form-card .rsvp-room-note{font-family:var(--arabic)}
@media(max-width:860px){.travel-compact{grid-template-columns:1fr;gap:30px}.venue-programme th{width:28%}.venue-programme h3{font-size:22px}}
@media(max-width:520px){.person-detail select{font-size:14px}}

/* Draft 04: inclusions, RSVP emphasis and optional group gifts. */
.included-list{margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}.included-list h3{font-size:24px}.included-list ul{list-style:none;padding:0;margin:12px 0 18px;display:grid;gap:10px}.included-list li{position:relative;padding-inline-start:25px;font-size:17px;line-height:1.5}.included-list li:before{content:'✓';position:absolute;inset-inline-start:0;color:var(--olive)}.section .included-list p.rooms-note{font-size:16px;line-height:1.55}.section p.rsvp-invitation-note{font:13px/1.6 var(--sans);color:var(--olive);margin-top:18px}
.rsvp-deadline{border-block:1px solid var(--line);padding:24px 0;margin:28px 0;color:var(--olive)}.rsvp-deadline>span{display:block;font:13px/1.5 var(--sans);text-transform:uppercase;letter-spacing:.1em}.rsvp-deadline strong{display:block;font:400 clamp(31px,3.2vw,46px)/1.15 var(--serif);margin:9px 0}.rsvp-deadline small{font:12px/1.6 var(--sans);color:var(--muted)}.form-card p.transport-route-note{font:12px/1.6 var(--sans);margin:-12px 0 20px;color:var(--muted)}
.gift-intro{max-width:760px;margin:0 auto 38px;text-align:center}.gift-intro p.gift-intro-note{font-size:18px}.gift-intro p.gift-review-label{font:12px/1.6 var(--sans);color:#735439}.gift-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.gift-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);background:var(--paper);padding:30px 26px}.gift-art{height:115px;display:flex;align-items:center;justify-content:center;color:var(--olive);margin-bottom:24px}.gift-art svg{width:110px;height:100px;stroke:currentColor;stroke-width:1.4;fill:none}.gift-card h3{font:400 29px/1.18 var(--serif)}.gift-card p{font-size:17px;line-height:1.55}.gift-card p.gift-value{margin-top:auto;padding-top:20px;font:12px/1.6 var(--sans);color:var(--clay)}.gift-card .button{padding-inline:12px;margin-top:10px}.gifts .gift-pieces-note{max-width:750px;text-align:center;margin:28px auto 0;font:13px/1.7 var(--sans)}
#gift-dialog{width:min(560px,calc(100vw - 32px));max-height:calc(100svh - 36px);overflow:auto;background:var(--paper);color:var(--ink);border:1px solid var(--line);padding:32px;box-shadow:0 20px 100px #0004}#gift-dialog::backdrop{background:#1e271e99}#gift-dialog h3{font:400 32px/1.15 var(--serif);margin:12px 0 20px}.gift-close{display:block;margin-inline-start:auto;background:transparent;border:0;font:13px var(--sans);text-decoration:underline;cursor:pointer;color:var(--muted)}.gift-amounts{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.gift-amounts button{border:1px solid var(--line);background:transparent;color:var(--ink);padding:11px 14px;font:14px var(--sans);min-height:42px;cursor:pointer}.gift-amounts button[aria-pressed=true]{background:var(--olive);color:white}#gift-amount{display:block;width:100%;font:20px var(--sans);padding:12px;border:1px solid var(--line);background:white;color:var(--ink);margin:8px 0}#gift-form label{font:14px/1.5 var(--sans)}#gift-dialog p,#gift-dialog small{line-height:1.6}#gift-dialog small{display:block;font:12px/1.6 var(--sans);color:var(--muted)}#gift-dialog .gift-demo-note{font:12px/1.65 var(--sans);color:var(--muted);margin-top:24px}#gift-dialog .button{margin-top:24px}#gift-error{font:13px/1.6 var(--sans);color:#85331f;margin:15px 0}.gift-whole{background:transparent;border:0;color:var(--olive);text-decoration:underline;font:13px/1.5 var(--sans);padding:0;cursor:pointer}
body.lang-ar :is(.included-list,.gift-card,.gift-intro,#gift-dialog,.rsvp-deadline){direction:rtl}body.lang-ar :is(.gift-card h3,#gift-dialog h3,.rsvp-deadline strong){font-family:var(--arabic)}body.lang-ar .rsvp-deadline>span{letter-spacing:0}
@media(max-width:960px){.gift-grid{grid-template-columns:1fr}.gift-card{max-width:650px;width:100%;margin:auto}.gift-art{height:90px;margin-bottom:14px}.gift-card .gift-value{padding-top:8px}.gift-card h3{font-size:28px}}@media(max-width:520px){#gift-dialog{padding:24px 20px}.rsvp-deadline strong{font-size:33px}.gift-card{padding:24px}.person-detail select{font-size:13px}}

.contact-email{display:inline-block;max-width:100%;overflow-wrap:anywhere;color:var(--olive);font-size:clamp(21px,2.4vw,30px);text-underline-offset:5px;margin-top:8px}

/* Travel introduction followed by a full-width illustration. */
.travel-compact{grid-template-columns:minmax(0,1fr);gap:36px;margin-top:0;align-items:start}
.travel-copy{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,90px);align-items:center;min-width:0;max-width:none}
.travel-copy h2{margin-bottom:24px}.travel-copy .section-label{font-size:14px}.travel-practical p:first-child{margin-top:0}.travel-practical p:last-child{margin-bottom:0}
.arrival-map{margin:0;min-width:0;width:100%}.arrival-map-art{display:block;width:100%;height:auto;direction:ltr;unicode-bidi:isolate}
.visa-links{display:flex;flex-wrap:wrap;gap:12px 24px;padding-inline-start:32px;margin-top:16px}.faq .visa-links .quiet-link{margin:0}
body.lang-ar .travel-copy{direction:rtl}
@media(max-width:860px){.travel-copy{grid-template-columns:minmax(0,1fr);gap:24px}.travel-copy h2{margin-bottom:22px}.travel-compact{gap:28px}}
@media(max-width:520px){.visa-links{flex-direction:column;align-items:flex-start;gap:14px}}

/* Shared-fund explanation. */
.section .gift-intro p.gift-how{font:14px/1.7 var(--sans);max-width:590px;margin:15px auto 0;color:var(--muted)}body.lang-ar .gift-how{font-family:var(--arabic)}

.update-code{display:block;overflow-wrap:anywhere;font:14px/1.7 monospace;padding:16px;background:#eef1e8;user-select:all}.update-code-note{font:13px/1.65 var(--sans)}
