/* Neel Mahal. Artwork contains no text; all invitation copy remains dynamic. */
.opening-overlay.op-neel{padding:0;display:block;overflow:hidden;background:#20204f;color:#f8f4ec;isolation:isolate}
.op-neel .nm-fold{position:absolute;top:0;left:50%;height:100%;width:max(100%,calc(100dvh * .5625));transform:translateX(-50%);direction:ltr;perspective:1400px}
.nm-reveal-sheet{position:absolute;inset:0;background:#f8f4ec;overflow:hidden}
.nm-reveal-sheet>.nm-arch{position:absolute;inset:0 0 auto;}
.nm-reveal-sheet>.nm-garden{position:absolute;inset:auto 0 0;}
.nm-reveal-copy{position:absolute;inset:27% 13% 30%;display:flex;flex-direction:column;justify-content:center;text-align:center;overflow:auto;color:#20204f;gap:8px;scrollbar-width:thin}
.nm-reveal-copy p{font:12px/1.65 Georgia,serif;margin:0;overflow-wrap:anywhere}.nm-reveal-copy strong{font:italic 30px/1.15 'Cormorant Garamond',Georgia,serif;font-weight:400;overflow-wrap:anywhere}.nm-reveal-copy strong span,.nm-reveal-copy em{display:block}.nm-reveal-copy em{font-size:20px;line-height:1.4}
.nm-panel{position:absolute;top:0;bottom:0;background:#20204f url('/themes/neel-mahal/cover-v2.webp') no-repeat;backface-visibility:hidden;will-change:transform;box-sizing:border-box}
.nm-panel-left,.nm-panel-right{width:25%;z-index:3;background-size:400% 100%;transition:transform 1.8s cubic-bezier(.25,.1,.15,1) .15s}
.nm-panel-left{left:0;background-position:left center;transform-origin:left center;border-right:1px solid #c8a25d80}.nm-panel-right{right:0;background-position:right center;transform-origin:right center;border-left:1px solid #c8a25d80}
.nm-panel-centre{left:25%;width:50%;z-index:2;background-size:200% 100%;background-position:center;transition:transform 1s cubic-bezier(.4,0,.2,1) 1.45s,opacity .7s 1.45s}
.op-neel.is-opening .nm-panel-left{transform:rotateY(-125deg)}.op-neel.is-opening .nm-panel-right{transform:rotateY(125deg)}.op-neel.is-opening .nm-panel-centre{transform:translateY(-110%);opacity:0}
.nm-monogram{position:absolute;top:28%;left:8%;width:84%;height:19%;background:none;border:0;padding:6px;color:#f2db9b;font:italic clamp(23px,calc(7 * min(1vw, 4.4px)),35px)/1.2 'Cormorant Garamond',Georgia,serif;cursor:pointer;overflow-wrap:anywhere}
.nm-cover-names{position:absolute;top:55%;left:9%;right:9%;bottom:22%;overflow:auto;text-align:center;color:#f8e9bf;display:flex;flex-direction:column;justify-content:center;font:italic 26px/1.18 'Cormorant Garamond',Georgia,serif;overflow-wrap:anywhere;scrollbar-width:thin}.nm-cover-names em{font-size:18px;line-height:1.6}
.nm-enter{position:absolute;bottom:9%;left:28%;width:44%;z-index:4;background:#20204f;color:#f8e9bf;border:1px solid #c8a25d;border-radius:24px;padding:10px 5px;min-height:44px;font:12px/1.6 Georgia,serif;letter-spacing:.5px;cursor:pointer}
.op-neel.is-opening :is(.nm-enter,.nm-monogram){opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s,visibility .18s}
.nm-skip{position:absolute;top:max(12px,env(safe-area-inset-top));right:12px;min-height:44px;padding:8px 12px;background:#20204fe8;color:#f8f4ec;border:1px solid #c8a25d80;border-radius:22px;font:12px/1.5 Georgia,serif;cursor:pointer;z-index:5}.nm-opening-brand{position:absolute;bottom:2%;left:0;right:0;z-index:4;pointer-events:none;font:8px/1.6 Arial,sans-serif;letter-spacing:1.7px;text-align:center;margin:0;color:#f8f4ec}.op-neel button:focus-visible{outline:2px solid #f8f4ec;outline-offset:3px}
body[data-theme=royal] #invitation{background:var(--paper);color:var(--base-text)}
body[data-theme=royal] #invitation .topbar{padding:15px 20px;background:#20204f;color:#f8f4ec;border-bottom:1px solid #c8a25d}body[data-theme=royal] #invitation .topbar :is(.monogram,button,a){color:#f8f4ec}
/* Artwork scales uniformly by width. Copy alone determines section height. */
body[data-theme=royal] #invitation :is(.nm-hero,.nm-section){box-sizing:border-box;display:block;min-height:0;width:100%;margin:20px 0;padding:0;background:#F8F4EC;color:var(--base-text);border:1px solid #c8a25d;overflow:hidden}
body[data-theme=royal] #invitation .nm-hero{margin-top:0}
.nm-arch{width:100%;aspect-ratio:2/1;overflow:hidden;pointer-events:none}
.nm-arch img,.nm-garden img{display:block;width:100%;height:auto;max-width:none}
.nm-section>.nm-arch{aspect-ratio:3/1}
.nm-garden{width:100%;overflow:hidden;pointer-events:none}
.nm-hero>.nm-garden{margin-top:12px}
body[data-theme=royal] #invitation :is(.nm-hero,.nm-section):before,body[data-theme=royal] #invitation :is(.nm-hero,.nm-section):after{content:none}
.nm-hero-copy,.nm-frame-copy{min-width:0;padding:8px 24px 22px;text-align:center;overflow-wrap:anywhere;background:transparent}
.nm-hero-copy p{font:18px/1.8 'Cormorant Garamond',Georgia,serif;color:var(--base-text);margin:16px 0}.nm-hero-copy .nm-bismillah{font:22px/1.9 Georgia,serif;margin-top:0}.nm-guest strong{display:block}
body[data-theme=royal] #invitation .nm-names{font:italic 50px/1.15 'Cormorant Garamond',Georgia,serif;font-weight:400;margin:24px 0;color:var(--base-heading);overflow-wrap:anywhere}.nm-names span,.nm-names em{display:block}.nm-names em{font-size:27px;line-height:1.5}
.nm-divider{display:flex;align-items:center;justify-content:center;gap:12px;color:var(--gold);margin:18px auto;max-width:160px;font:24px/1 Georgia,serif}.nm-divider:before,.nm-divider:after{content:'';height:1px;width:44px;background:var(--gold)}
.nm-date{border-block:1px solid var(--line);padding:12px 0}.nm-explore{display:inline-flex;align-items:center;min-height:44px;color:var(--base-link);font:12px/1.6 Georgia,serif;text-decoration:none}
.nm-portrait,.nm-venue{width:80%;max-height:250px;margin:18px auto;border:3px double var(--gold);object-fit:cover;box-sizing:border-box}.nm-portrait{display:block;border-radius:140px 140px 2px 2px}.nm-venue{padding:3px;overflow:hidden}.nm-venue img{width:100%;max-height:238px;display:block;object-fit:cover}.nm-default-venue{margin:15px 0}.nm-default-venue figcaption{font:italic 14px/1.6 Georgia,serif;color:var(--base-muted);margin-top:8px}
body[data-theme=royal] #invitation .section h2{font:400 34px/1.2 'Cormorant Garamond',Georgia,serif;overflow-wrap:anywhere;color:var(--base-heading);margin:12px 0 26px}body[data-theme=royal] #invitation .small{font:10px/1.8 Georgia,serif;letter-spacing:1px;color:var(--base-muted)}
body[data-theme=royal] #invitation .nm-events{display:grid;grid-template-columns:minmax(0,1fr);gap:22px}
body[data-theme=royal] #invitation .nm-event{display:block;min-width:0;padding:0;overflow:hidden;border:1px solid var(--gold);background:transparent;box-shadow:none;border-radius:4px}
.nm-event-art{padding:18px 0 0;color:#9b783e;font:30px/1 Georgia,serif}.nm-event-copy{padding:16px 12px 22px}.nm-event-copy p{overflow-wrap:anywhere}body[data-theme=royal] #invitation .nm-event h3{font:400 32px/1.4 'Cormorant Garamond',Georgia,serif;color:var(--base-heading);margin:0}
.nm-event-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:18px}.nm-event-actions :is(a,button){display:inline-flex;align-items:center;justify-content:center;min-height:44px;width:100%;box-sizing:border-box;background:#20204f;color:#f8f4ec;border:1px solid #c8a25d;padding:8px 12px;font:12px/1.5 Georgia,serif;text-decoration:none;cursor:pointer}
body[data-theme=royal] #invitation .counter{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}body[data-theme=royal] #invitation .counter>div{min-width:0;padding:14px 2px;background:transparent;border:1px solid var(--gold)}body[data-theme=royal] #invitation .counter strong{font-size:26px;color:var(--base-text)}body[data-theme=royal] #invitation .counter span{font-size:8px;letter-spacing:0;color:var(--base-muted)}
body[data-theme=royal] #invitation :is(.form-box,.upload-panel,.moment,.venue-frame){min-width:0;max-width:100%;box-sizing:border-box;background:transparent;color:var(--base-text);box-shadow:none;padding:16px 8px}body[data-theme=royal] #invitation :is(input,select,textarea){box-sizing:border-box;max-width:100%}
body[data-theme=royal] #invitation footer.dark{margin:14px 0 0;padding:40px 24px;background:#20204f;color:#f8f4ec;border:3px double #c8a25d}body[data-theme=royal] #invitation footer :is(.script,a,button,.small){color:#f8f4ec}body[data-theme=royal] #invitation footer .script{font:italic 32px/1.4 'Cormorant Garamond',Georgia,serif;overflow-wrap:anywhere}
body[data-theme=royal][dir=rtl] #invitation :is(.nm-hero-copy,.nm-frame-copy){line-height:2.4}body[data-theme=royal][dir=rtl] #invitation :is(.nm-names,.section h2,.nm-event h3){font-family:'Noto Nastaliq Urdu',serif;font-style:normal;font-size:28px;line-height:2}body[data-theme=royal][dir=rtl] #invitation :is(.nm-hero-copy p,.small,.nm-explore,.nm-event-actions a,.nm-event-actions button){font-family:'Noto Nastaliq Urdu',serif;line-height:2.4;letter-spacing:0}
.op-neel[lang=ur] :is(.nm-enter,.nm-skip,.nm-reveal-copy,.nm-cover-names){font-family:'Noto Nastaliq Urdu',serif;line-height:2.2;letter-spacing:0}.op-neel[lang=ur] :is(.nm-reveal-copy strong,.nm-cover-names){font-family:'Noto Nastaliq Urdu',serif;font-size:19px;line-height:2;font-style:normal}
@media(min-width:768px){.op-neel .nm-fold{width:max(100%,calc(min(900px,100dvh) * .5625))}}
@container invitation (max-width:359px){body[data-theme=royal] #invitation .nm-names{font-size:40px}.nm-frame-copy,.nm-hero-copy{padding-inline:5px}body[data-theme=royal] #invitation .counter strong{font-size:22px}}

@media(max-width:359px){.nm-cover-names{font-size:20px}.nm-reveal-copy strong{font-size:25px}}
@media(max-height:540px){.nm-enter{font-size:8px;padding:4px;min-height:32px}.nm-monogram{font-size:21px}.nm-cover-names{font-size:16px}.nm-reveal-copy strong{font-size:20px}.nm-reveal-copy p{font-size:10px}}
@media(prefers-reduced-motion:reduce){.op-neel *{animation:none!important;transition:none!important}}
/* Keep opening controls above the public demo's booking toolbar. */
body:has(.template-enquiry-bar) .op-neel .nm-enter{bottom:max(16%,140px)}
body:has(.template-enquiry-bar) .op-neel .nm-cover-names{bottom:30%}
body:has(.template-enquiry-bar) .op-neel .nm-opening-brand{bottom:120px}

body[data-theme=royal] #invitation .topbar button{background:#20204f;color:#f8f4ec;border:1px solid #c8a25d}
body[data-theme=royal] #invitation .nm-event-actions :is(a,button){background:#20204f;color:#f8f4ec;border-color:#c8a25d}


/* Fixed-scale caps and repeating side strips form one complete frame.
   Only the blank ivory centre stretches; floral side motifs never stretch. */
body[data-theme=royal] #invitation{container-type:inline-size}
body[data-theme=royal] #invitation :is(.nm-hero,.nm-section){
  --nm-frame-width:100cqw;
  border-style:solid;
  border-color:transparent;
  border-width:calc(var(--nm-frame-width) * .4296875) calc(var(--nm-frame-width) * .07421875) calc(var(--nm-frame-width) * .125);
  border-image-source:url('/themes/neel-mahal/frame-compact.webp');
  border-image-slice:440 76 128 76 fill;
  border-image-width:1;
  border-image-repeat:stretch repeat;
  background:#F8F4EC;
}
body[data-theme=royal] #invitation :is(.nm-hero-copy,.nm-frame-copy){padding:12px 12px 8px}
body[data-theme=royal] #invitation .nm-hero>.nm-garden{margin:12px 0 0}
body[data-theme=royal] #invitation .nm-section .guest-actions .button{background:transparent;color:var(--base-text);border:1px solid #20204f;border-radius:10px;text-transform:none;letter-spacing:0;font:18px/1.5 'Cormorant Garamond',Georgia,serif;padding:12px}

/* Hide controls in the same frame as the click, before disabled styles paint. */
.op-neel.is-opening :is(#openInvite,#openMonogram){display:none!important}
