 :root{--teal:#176e6b;--teal-deep:#103f3c;--gold:#c7a66a;--cream:#f8f5ed;--paper:#fffdf7;--ink:#21332f;--muted:#7d8277;--serif:"Cormorant Garamond",Georgia,serif;--sans:"DM Sans",sans-serif;--script:"Great Vibes",cursive;--event-font:var(--serif);--event-accent:var(--teal);--event-gold:var(--gold);--event-bg:var(--cream)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:14px;font-weight:300}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:3px}[hidden]{display:none!important}.eyebrow{font-size:9px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--teal)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400}h1 i,h2 i{font-weight:400;color:var(--teal);font-style:italic}.gold-btn{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:15px 20px;background:var(--gold);color:#fffdf7;border:1px solid var(--gold);text-transform:uppercase;font-size:9px;letter-spacing:.12em;font-weight:600;transition:.25s}.gold-btn:hover{background:var(--teal);border-color:var(--teal);transform:translateY(-2px)}.outline-btn{border:1px solid #c9c7bb;background:transparent;padding:11px 15px;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}.outline-btn:hover{border-color:var(--teal);color:var(--teal)}.text-link{font-size:10px;text-transform:uppercase;letter-spacing:.13em;border-bottom:1px solid var(--gold);padding-bottom:7px}.site-header{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 6.5%;border-bottom:1px solid #e8e3d8;background:var(--cream);position:relative;z-index:4}.brand{display:flex;align-items:center;gap:12px}.brand-mark{font:600 21px var(--serif);letter-spacing:-.1em;color:var(--teal);border:1px solid var(--gold);border-radius:50%;width:43px;height:43px;display:grid;place-items:center}.brand-mark span{color:var(--gold);font-size:13px}.brand-name{font-size:10px;letter-spacing:.18em;font-weight:600}.brand-name small{display:block;font-size:7px;color:#8a8b7e;letter-spacing:.12em;margin-top:5px}.site-header nav{display:flex;align-items:center;gap:29px}.site-header nav>a{font-size:10px;color:#565d54}.site-header nav>a:hover{color:var(--teal)}.menu-toggle{display:none;border:0;background:none;font-size:22px}.hero{min-height:640px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;padding:70px 12% 84px;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;width:550px;height:550px;border:1px solid #e5ddcd;border-radius:50%;left:-390px;top:20px}.hero-copy{position:relative;z-index:1}.hero-copy>.eyebrow{display:flex;align-items:center;gap:10px;font-size:8px}.hero-copy>.eyebrow span{width:24px;height:1px;background:var(--gold)}.hero h1{font-size:clamp(54px,6.4vw,88px);line-height:.9;letter-spacing:-.04em;margin:30px 0 24px}.hero-description{font-size:13px;line-height:1.9;color:#77796e;max-width:365px}.hero-actions{display:flex;align-items:center;gap:27px;margin-top:30px}.hero-signoff{display:flex;align-items:center;gap:13px;margin-top:58px}.signature{font:24px var(--script);color:var(--teal)}.fine-line{width:34px;height:1px;background:var(--gold)}.hero-signoff .eyebrow{font-size:7px;color:#8d8d80}.hero-art{height:430px;position:relative;display:grid;place-items:center}.art-frame{position:absolute;width:69%;height:83%;border:1px solid var(--gold)}.art-frame-back{transform:rotate(7deg);background:#e9e0cd}.art-frame-front{background:radial-gradient(ellipse at 48% 40%,#2e8880 0,#176e6b 47%,#104c49 100%);color:#f7ead2;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 24px 55px #133f3b25}.art-frame-front:before,.art-frame-front:after{content:"";position:absolute;inset:13px;border:1px solid #c7a66a80}.art-topline,.art-bottom{font-size:7px;letter-spacing:.25em}.art-ornament{font-size:36px;color:var(--gold);margin:25px 0}.art-script{font:clamp(34px,4vw,53px)/.95 var(--script);text-align:center}.art-divider{margin:27px 0;color:var(--gold);width:70%;display:flex;align-items:center;gap:10px}.art-divider:before,.art-divider:after{content:"";height:1px;background:#c7a66a88;flex:1}.art-bottom{font-size:6px}.floating-stamp{position:absolute;right:1%;top:10%;width:76px;height:76px;border-radius:50%;background:var(--gold);color:white;display:grid;place-content:center;text-align:center;font-size:8px;letter-spacing:.13em;line-height:1.7;transform:rotate(12deg);outline:1px solid #fff;outline-offset:-5px}.art-caption{position:absolute;bottom:1%;right:8%;font-size:7px;letter-spacing:.16em;color:#8b897b}.hero-index{position:absolute;bottom:27px;right:6.5%;font:14px var(--serif);color:var(--teal)}.hero-index span{color:var(--gold);padding:0 6px}.intro-strip{background:#eee9dd;padding:75px 12%;display:grid;grid-template-columns:.7fr 1.15fr 1fr;align-items:center;gap:30px}.strip-number{font-size:8px;letter-spacing:.16em;color:#969386}.intro-strip h2,.section-heading h2,.statement h2,.contact-band h2,.rsvp-intro h2,.venue-section h2{font-size:clamp(34px,4vw,49px);line-height:1.02;margin:13px 0}.strip-copy{font-size:12px;line-height:2;color:#77796e;max-width:310px}.section-pad{padding:95px 12%}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:35px}.section-heading h2{margin-bottom:0}.section-heading>p{font-size:11px;line-height:1.8;color:#828377}.collection-tools{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:28px}.search-box{display:flex;align-items:center;gap:10px;border-bottom:1px solid #d6d0c2;width:220px;padding:8px 0}.search-box span{font:25px var(--serif);color:var(--gold)}.search-box input{border:0;background:transparent;outline:0;width:100%;font-size:11px}.category-filters{display:flex;gap:7px;flex-wrap:wrap}.filter{background:transparent;border:1px solid #ddd6c8;padding:9px 12px;font-size:9px;color:#73786d}.filter.active,.filter:hover{background:var(--teal);border-color:var(--teal);color:white}.event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.event-card{cursor:pointer;background:#fffdf7;border:1px solid #e9e3d6;transition:.3s;min-width:0}.event-card:hover{transform:translateY(-5px);box-shadow:0 15px 30px #203b3010}.event-card-image{height:245px;background:linear-gradient(145deg,#176e6b,#0e4947);position:relative;overflow:hidden;background-size:cover;background-position:center;display:grid;place-items:center}.event-card-image:after{content:"";position:absolute;inset:10px;border:1px solid #d7b87980}.event-card-image .monogram{font:clamp(38px,5vw,58px) var(--script);color:#f7e9ce;text-shadow:0 2px 10px #0002}.event-card-image .card-category{position:absolute;top:22px;left:23px;z-index:1;color:white;font-size:7px;letter-spacing:.2em;text-transform:uppercase}.event-card-body{padding:22px}.event-card-body h3{font-size:28px;margin:0 0 8px}.event-card-body p{font-size:10px;color:#77796e;margin:0;line-height:1.7}.event-card-foot{display:flex;justify-content:space-between;align-items:center;margin-top:20px;padding-top:14px;border-top:1px solid #eee8dd;font-size:8px;letter-spacing:.1em;color:var(--teal);text-transform:uppercase}.empty-state{text-align:center;padding:35px;color:#77796e}.statement{background:var(--teal-deep);color:#fffaf0;text-align:center;padding:86px 20px}.statement .eyebrow{color:var(--gold);margin-top:20px}.statement h2{font-size:clamp(38px,5vw,60px);margin:20px 0}.statement h2 i{color:#d9bd88}.statement>p:not(.eyebrow){max-width:450px;margin:0 auto 26px;color:#d5ded6;font-size:12px;line-height:1.9}.statement-stars{color:var(--gold);font-size:16px}.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:54px}.how-grid article{border-top:1px solid var(--gold);padding-top:22px}.how-grid article>span{font:18px var(--serif);color:var(--gold)}.how-grid h3{font-size:25px;margin:22px 0 10px}.how-grid p{font-size:11px;line-height:1.9;color:#7b7c71}.contact-band{background:#eee9dd;padding:75px 12%;display:flex;justify-content:space-between;align-items:center;gap:30px}.contact-band h2{margin-bottom:0}.contact-right{max-width:330px}.contact-right p{font-size:12px;line-height:1.8;color:#77796e}.contact-right>a{font:19px var(--serif);color:var(--teal);border-bottom:1px solid var(--gold);padding-bottom:6px}.site-footer{padding:32px 6.5%;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #e8e3d8}.site-footer>p,.site-footer>a:not(.brand),.site-footer>span{font-size:9px;color:#77796e}.site-footer .brand-mark{width:34px;height:34px;font-size:16px}.site-footer .brand-name{font-size:8px}.site-footer .brand-name small{font-size:6px}
.intro-screen{position:fixed;inset:0;z-index:20;background:radial-gradient(ellipse at 50% 42%,#226d68,#0d3835 75%);display:flex;align-items:center;justify-content:center;color:#f7ebd3;transition:opacity .9s,visibility .9s;overflow:hidden}.intro-screen.dismissed{opacity:0;visibility:hidden;pointer-events:none}.intro-glow{position:absolute;width:75vw;height:75vw;max-height:90vh;max-width:90vh;border:1px solid #c7a66a30;border-radius:50%;box-shadow:0 0 0 40px #c7a66a08,0 0 0 90px #c7a66a05}.envelope-wrap{position:relative;display:flex;align-items:center;flex-direction:column;z-index:1}.intro-eyebrow{color:#d6ba82;font-size:8px;margin-bottom:28px}.envelope{position:relative;width:min(72vw,480px);height:min(49vw,300px);min-height:220px;border:0;background:transparent;perspective:1100px;filter:drop-shadow(0 28px 30px #031c1b66);isolation:isolate}.envelope-back{position:absolute;inset:0;background:#c9b17d}.letter-preview{position:absolute;z-index:-1;left:7%;right:7%;top:6%;height:85%;background:#fbf6e9;color:var(--teal);display:flex;flex-direction:column;align-items:center;justify-content:center;transition:transform 1.2s cubic-bezier(.2,.7,.2,1),top 1.2s;box-shadow:0 0 25px #051f1d33}.letter-preview:before{content:"";position:absolute;inset:12px;border:1px solid #c7a66a}.letter-preview strong{font:clamp(26px,5vw,48px) var(--serif);font-weight:500}.letter-preview em{font:clamp(15px,2vw,23px) var(--script);color:#b58c4c;margin-top:10px}.letter-flourish{font-size:24px;color:var(--gold);margin-bottom:12px}.envelope-left,.envelope-right,.envelope-bottom{position:absolute;inset:0}.envelope-left{background:#176e6b;clip-path:polygon(0 0,53% 50%,0 100%)}.envelope-right{background:#125653;clip-path:polygon(100% 0,53% 50%,100% 100%)}.envelope-bottom{background:#1c7772;clip-path:polygon(0 100%,50% 43%,100% 100%)}.envelope-flap{position:absolute;inset:0;background:linear-gradient(140deg,#287f78,#155652);clip-path:polygon(0 0,100% 0,50% 56%);transform-origin:top;transition:transform 1.1s cubic-bezier(.3,.7,.1,1);z-index:3;backface-visibility:hidden}.envelope:before{content:"";position:absolute;inset:10px;border:1px solid #d4b77980;z-index:4;pointer-events:none}.wax-seal{position:absolute;z-index:5;top:37%;left:50%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;display:grid;place-content:center;background:radial-gradient(circle at 30% 25%,#dfc58c,#9f773c);box-shadow:0 3px 7px #082f2b55;color:#fff8e8;font:14px var(--serif);letter-spacing:-.12em;transition:opacity .3s,transform .3s}.wax-seal span{color:#174d48}.envelope-cord{position:absolute;z-index:6;left:50%;top:48%;width:115px;height:70px;transform:translate(-50%,-50%);border:2px solid #e4c98f;border-top-color:transparent;border-radius:50%;opacity:.9;pointer-events:none}.envelope.opening .envelope-flap{transform:rotateX(180deg)}.envelope.opening .wax-seal{opacity:0;transform:translate(-50%,-50%) scale(.3)}.envelope.opening .letter-preview{top:-30%;transform:translateY(-35%) scale(1.03);z-index:4}.envelope.opening .envelope-cord{animation:cord-open .8s ease forwards}@keyframes cord-open{to{transform:translate(-50%,-50%) rotate(80deg) scaleX(1.4);opacity:0}}.tap-note{font-size:8px;letter-spacing:.24em;color:#c7a66a;margin-top:27px;animation:pulse 2s infinite}.intro-brand{position:absolute;bottom:35px;display:flex;align-items:center;gap:10px;font-size:8px;letter-spacing:.24em;color:#cbb582}.intro-brand .brand-mark{color:#e3d1a8;border-color:#b99b61;width:34px;height:34px;font-size:15px}.intro-brand .brand-mark span{color:#c7a66a}@keyframes pulse{50%{opacity:.45}}
#event-view{font-family:var(--event-font,var(--serif));}.back-link{display:block;border:0;background:transparent;padding:20px 6%;font-size:9px;letter-spacing:.1em;color:var(--event-accent)}.event-hero{min-height:620px;position:relative;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;background:var(--teal-deep);color:#fff9ed}.event-hero-photo{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 40%,#267a73,#103e3a 68%);background-size:cover;background-position:center;transform:scale(1.03);animation:slow-zoom 18s ease-in-out infinite alternate}.event-hero-overlay{position:absolute;inset:0;background:linear-gradient(#092e2b55,#092e2b88)}.event-hero-content{position:relative;z-index:1;padding:70px 20px}.event-hero .eyebrow{color:var(--event-gold)}.event-hero h1{font-family:var(--event-font);font-size:clamp(55px,9vw,105px);line-height:1;margin:25px 0}.event-hero h1 i{color:var(--event-gold)}.event-hero-content>p:not(.eyebrow){font:23px var(--script);color:#f2e3c6}.event-date{font-size:9px;letter-spacing:.2em;margin:27px 0 9px}.event-location{font:24px var(--event-font);margin-bottom:26px}.event-monogram{position:absolute;bottom:23px;right:6%;font:23px var(--script);color:#d9bb7e}.event-monogram span{font:12px var(--serif);padding:0 6px}@keyframes slow-zoom{to{transform:scale(1.12)}}.letter-section{background:var(--event-bg);padding:100px 20px;display:grid;place-items:center}.letter-card{width:min(560px,95vw);min-height:390px;padding:65px 35px 45px;text-align:center;position:relative;background:#fffdf7;border:1px solid #d9c28d;box-shadow:0 20px 55px #1a3d3210;transition:transform .8s;overflow:hidden}.letter-card:before{content:"";position:absolute;inset:12px;border:1px solid #d9c28d80;pointer-events:none}.letter-ribbon{position:absolute;width:90px;height:130%;top:-15%;left:calc(50% - 45px);background:linear-gradient(90deg,#176e6b,#2c8d83,#176e6b);opacity:.12;transition:transform 1s;transform:translateY(-70%)}.letter-card.open .letter-ribbon{transform:translateY(120%)}.letter-seal{position:absolute;top:0;left:50%;transform:translate(-50%,-50%);background:var(--event-accent);color:#f8e9c7;border:3px solid var(--event-gold);border-radius:50%;width:64px;height:64px;display:grid;place-content:center;font:18px var(--event-font);letter-spacing:-.1em;transition:top .8s,opacity .4s}.letter-seal span{color:var(--event-gold)}.letter-card.open .letter-seal{top:-30px;opacity:0}.letter-card .eyebrow{margin-top:10px;color:var(--event-accent)}.letter-card h2{font-family:var(--event-font);font-size:clamp(37px,6vw,55px);color:var(--event-accent);margin:20px 0}.letter-card>p:not(.eyebrow){font:24px var(--script);color:#a88954;max-width:380px;margin:0 auto 25px}.letter-details{font-size:10px;line-height:2;letter-spacing:.12em}.letter-flourish-bottom{font:38px var(--serif);color:var(--event-gold);margin-top:18px}.countdown-section{text-align:center;padding:82px 20px;background:var(--teal-deep);color:#fff9ed}.countdown-section .eyebrow{color:var(--event-gold)}.countdown-section h2{font-size:clamp(38px,5vw,56px);margin:20px 0 35px}.countdown-section h2 i{color:var(--event-gold)}.countdown{display:flex;justify-content:center;gap:clamp(18px,5vw,60px)}.countdown>div{display:flex;flex-direction:column;gap:8px;min-width:55px}.countdown strong{font:clamp(30px,5vw,53px) var(--event-font);font-weight:400;color:#e0c58f}.countdown span{font-size:8px;letter-spacing:.18em;text-transform:uppercase;color:#d2d9cf}.countdown-note{font:22px var(--script);color:#d5bd8d;margin-top:32px}.gallery-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;grid-auto-rows:230px;gap:13px}.gallery-item{background:linear-gradient(135deg,#1c736c,#123c39);background-size:cover;background-position:center;position:relative;overflow:hidden;display:grid;place-items:center;color:#f4e3c0}.gallery-item:first-child{grid-row:span 2}.gallery-item:nth-child(4){grid-column:span 2}.gallery-item:after{content:"";position:absolute;inset:8px;border:1px solid #e1c48670}.gallery-item span{font:28px var(--script);text-shadow:0 2px 12px #0005}.gift-section{background:#eee9dd;padding:90px 12%;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px}.gift-copy h2{font-size:clamp(39px,5vw,56px);line-height:1;margin:20px 0}.gift-copy>p:not(.eyebrow){max-width:390px;font-size:12px;line-height:1.9;color:#77796e}.gift-buttons{display:flex;align-items:center;gap:13px;margin-top:28px;flex-wrap:wrap}.gift-card{min-height:310px;background:var(--teal);color:#fff4df;padding:45px 30px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative;outline:1px solid var(--gold);outline-offset:-10px}.gift-card-ornament{font-size:28px;color:var(--gold);margin-bottom:17px}.gift-card>span{font-size:7px;letter-spacing:.25em}.gift-card h3{font-size:34px;line-height:1.05;margin:18px 0}.gift-card-line{width:55px;height:1px;background:var(--gold);margin:5px 0 18px}.gift-card p{font:20px var(--script);color:#e4c991;margin:0}.gift-support{text-align:center;padding:75px 20px}.gift-support h2{font-size:46px;margin:15px 0}.gift-support>p:not(.eyebrow){max-width:530px;margin:0 auto 30px;font-size:11px;line-height:1.8;color:#77796e}.support-card{max-width:760px;margin:auto;display:grid;grid-template-columns:1fr 1fr;border:1px solid #e3d9c4;text-align:left}.support-card>div{padding:27px;border-right:1px solid #e3d9c4}.support-card>div:last-child{border-right:0}.support-card .eyebrow{font-size:8px}.support-card p{font-size:12px;line-height:1.8;white-space:pre-wrap}.small-note{font-size:9px!important;color:#88877c!important;margin-top:20px!important}.rsvp-section{background:#eee9dd;padding:85px 12%;display:grid;grid-template-columns:1fr 1fr;gap:70px}.rsvp-intro h2{font-size:clamp(40px,5vw,58px)}.rsvp-intro>p:not(.eyebrow){font-size:12px;line-height:1.9;color:#77796e;max-width:300px}.rsvp-form{display:flex;flex-direction:column;gap:15px}.rsvp-form label,.admin-modal label{display:flex;flex-direction:column;gap:7px;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#686c61}.rsvp-form input,.rsvp-form select,.rsvp-form textarea,.admin-modal input,.admin-modal select,.admin-modal textarea{border:1px solid #dcd5c7;background:#fffdf7;padding:12px;font-size:11px;letter-spacing:normal;text-transform:none;color:var(--ink);width:100%;border-radius:0}.rsvp-form textarea,.admin-modal textarea{resize:vertical}.rsvp-form .gold-btn{align-self:flex-start}.form-message{font-size:11px;line-height:1.7;color:var(--teal)}.venue-section{padding:85px 12%;display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.venue-section h2{font-size:48px}.venue-section>div:first-child>p:not(.eyebrow){font-size:12px;color:#77796e;line-height:1.8}.venue-card{min-height:235px;background:#164f4b;color:#fff5df;padding:35px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;outline:1px solid var(--gold);outline-offset:-9px}.venue-card>span{font-size:7px;letter-spacing:.22em;color:var(--gold)}.venue-card h3{font-size:34px;margin:20px 0 10px}.venue-card p{font-size:10px;letter-spacing:.1em}.venue-ornament{color:var(--gold);font-size:20px}.event-footer{text-align:center;background:#103e3a;color:#fff4df;padding:65px 20px}.footer-spark{font-size:22px;color:var(--gold)}.event-footer .eyebrow{color:var(--gold);margin-top:20px}.event-footer h2{font:clamp(38px,6vw,58px) var(--event-font);margin:15px 0}.event-footer>p:not(.eyebrow){font:23px var(--script);color:#d9bf8c}.footer-brand{display:inline-block;margin-top:30px;font-size:8px;letter-spacing:.25em;color:#e5d4ae}.site-footer.event-mode{display:none}
.modal-backdrop{position:fixed;inset:0;background:#0b2724b8;z-index:30;display:grid;place-items:center;padding:20px;overflow:auto}.admin-modal{position:relative;background:var(--cream);padding:35px;width:min(950px,100%);max-height:92vh;overflow:auto;box-shadow:0 25px 90px #001a1755}.modal-close{position:absolute;right:18px;top:14px;background:transparent;border:0;font-size:28px;color:#6f756a}.admin-modal h2{font-size:39px;margin:10px 0}.admin-hint{font-size:12px;line-height:1.8;color:#77796e;max-width:460px}.admin-modal form:not(.event-editor){max-width:430px;display:flex;flex-direction:column;gap:14px;margin-top:25px}.admin-top{display:flex;justify-content:space-between;align-items:center;gap:15px}.admin-tabs{display:flex;gap:8px;border-bottom:1px solid #ddd5c5;margin:25px 0}.admin-tab{padding:12px 15px;background:transparent;border:0;font-size:10px;color:#77796e;border-bottom:2px solid transparent}.admin-tab.active{border-color:var(--teal);color:var(--teal)}.admin-actions{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:20px 0}.admin-actions p{font-size:11px;color:#77796e}.admin-event-list{display:grid;gap:8px}.admin-event-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px;background:#fffdf7;border:1px solid #e6dece}.admin-event-row h4{font:21px var(--serif);margin:0 0 4px}.admin-event-row p{font-size:9px;color:#77796e;margin:0}.admin-row-actions{display:flex;gap:7px;flex-wrap:wrap}.admin-row-actions button{background:transparent;border:1px solid #d9d0bf;padding:8px 10px;font-size:8px;text-transform:uppercase;letter-spacing:.07em}.event-editor{margin-top:25px;padding:22px;border:1px solid #ddd2bc;background:#f1ecdf}.editor-heading{display:flex;align-items:center;justify-content:space-between}.editor-heading h3{font-size:27px}.editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:15px 0}.editor-grid label small{font-size:8px;color:#8a897e}.editor-grid input[type=color]{height:42px;padding:3px}.check-label{display:flex!important;flex-direction:row!important;align-items:center;gap:9px!important}.check-label input{width:auto}.editor-actions{display:flex;gap:10px;margin-top:20px}.admin-rsvp{padding:14px;background:#fffdf7;border-bottom:1px solid #e6dece}.admin-rsvp strong{font:19px var(--serif)}.admin-rsvp p{font-size:10px;color:#77796e;line-height:1.7;margin:5px 0}.admin-rsvp span{font-size:8px;text-transform:uppercase;letter-spacing:.1em;color:var(--teal)}
@media(max-width:850px){.hero{padding:65px 8%;grid-template-columns:1fr 1fr}.hero-art{height:360px}.intro-strip{padding:60px 8%;grid-template-columns:.6fr 1.2fr}.strip-copy{grid-column:2}.section-pad{padding:75px 8%}.contact-band,.gift-section,.rsvp-section,.venue-section{padding:70px 8%}.event-grid{grid-template-columns:repeat(2,1fr)}.event-card-image{height:220px}.site-header{padding:0 5%}.site-header nav{gap:15px}.site-header nav>a{font-size:9px}.site-footer{flex-wrap:wrap}.gallery-grid{grid-auto-rows:180px}.gift-section{gap:30px}}
@media(max-width:620px){.site-header{height:72px}.site-header nav{display:none;position:absolute;top:71px;left:0;right:0;background:var(--cream);padding:20px 7%;border-bottom:1px solid #ddd5c5;flex-direction:column;align-items:flex-start}.site-header nav.show{display:flex}.menu-toggle{display:block}.hero{grid-template-columns:1fr;padding:65px 8% 75px}.hero h1{font-size:65px}.hero-art{height:340px;margin-top:25px}.art-frame{width:72%;height:85%}.hero-signoff{margin-top:35px}.hero-index{bottom:15px}.intro-strip{grid-template-columns:1fr;gap:15px;padding:55px 8%}.strip-copy{grid-column:auto}.section-pad{padding:65px 7%}.section-heading{align-items:flex-start;flex-direction:column;gap:13px}.section-heading>p{margin:0}.collection-tools{align-items:flex-start;flex-direction:column}.search-box{width:100%}.event-grid{grid-template-columns:1fr 1fr;gap:10px}.event-card-image{height:170px}.event-card-body{padding:14px}.event-card-body h3{font-size:23px}.event-card-foot{font-size:7px;gap:5px}.category-filters{gap:5px}.filter{padding:8px;font-size:8px}.how-grid{grid-template-columns:1fr;gap:25px;margin-top:35px}.contact-band{padding:55px 8%;align-items:flex-start;flex-direction:column}.site-footer{padding:28px 7%;display:grid;grid-template-columns:1fr 1fr}.site-footer>p{display:none}.site-footer>span{text-align:right}.envelope{width:82vw;height:54vw;min-height:210px}.intro-eyebrow{font-size:7px;text-align:center}.letter-preview strong{font-size:30px}.wax-seal{width:50px;height:50px}.event-hero{min-height:570px}.event-hero h1{font-size:57px}.event-hero-content>p:not(.eyebrow){font-size:21px}.letter-section{padding:70px 12px}.letter-card{padding:60px 22px 38px;min-height:370px}.countdown-section{padding:65px 12px}.countdown{gap:17px}.countdown>div{min-width:48px}.countdown strong{font-size:34px}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:155px;gap:9px}.gallery-item:first-child{grid-row:span 2}.gallery-item:nth-child(4){grid-column:auto}.gift-section,.rsvp-section,.venue-section{grid-template-columns:1fr;padding:60px 8%;gap:35px}.gift-card{min-height:260px}.support-card{grid-template-columns:1fr}.support-card>div{border-right:0;border-bottom:1px solid #e3d9c4}.support-card>div:last-child{border-bottom:0}.admin-modal{padding:28px 18px}.admin-modal h2{font-size:31px}.editor-grid{grid-template-columns:1fr}.admin-actions,.admin-event-row{align-items:flex-start;flex-direction:column}.admin-row-actions{width:100%}.editor-actions{flex-wrap:wrap}.admin-top{align-items:flex-start}.admin-tabs{overflow:auto}.admin-tab{white-space:nowrap}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* My Grand Day — custom brand, cinematic 3-photo invitation and eight-photo gallery */
.brand-logo{width:168px;height:66px;object-fit:contain;object-position:left center;display:block;mix-blend-mode:multiply}.site-footer .brand-logo{width:135px;height:55px}.intro-logo{width:118px;height:78px;object-fit:contain;border-radius:4px}.intro-brand{bottom:15px}.site-header.event-mode .brand-logo{width:155px}
.event-hero-slides{position:absolute;inset:0;overflow:hidden;perspective:1200px;transform-style:preserve-3d}.event-hero-slide{position:absolute;inset:-3%;background-size:cover;background-position:center;opacity:0;transform:scale(1.1) rotateY(-3deg) translateZ(-15px);transition:opacity 1.5s ease,transform 6s ease;will-change:transform,opacity}.event-hero-slide.is-active{opacity:1;transform:scale(1.035) rotateY(1.5deg) translateZ(0)}.event-hero-overlay{pointer-events:none;z-index:1}.event-hero-content{z-index:3}.event-monogram{z-index:3}.hero-slide-dots{position:absolute;bottom:23px;left:50%;transform:translateX(-50%);z-index:4;display:flex;gap:12px}.hero-slide-dot{width:10px;height:10px;border-radius:50%;border:1px solid #fff9ed;background:transparent;padding:0;box-shadow:0 0 0 2px #102f2c33}.hero-slide-dot.is-active{background:var(--event-gold);border-color:var(--event-gold)}.hero-slide-dot:focus-visible{outline:2px solid white;outline-offset:4px}.hero-urls-field{grid-column:1/-1}.gallery-item{transition:transform .35s,box-shadow .35s}.gallery-item:hover{transform:translateY(-4px);box-shadow:0 14px 32px #103f3c22}.gallery-item:nth-child(n+5){min-height:180px}
@media(max-width:620px){.brand-logo{width:126px;height:55px}.site-header.event-mode .brand-logo{width:126px}.site-footer .brand-logo{width:120px}.event-hero-slide{inset:-5%}.hero-slide-dots{bottom:15px}.hero-urls-field{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.event-hero-slide{transition:none!important;transform:none!important}}

/* Transparent gold brand artwork: preserve full horizontal composition. */
.site-header .brand-logo{width:180px;height:74px;object-fit:contain;border-radius:0}
.site-header{min-height:90px;height:auto}
.site-footer .brand-logo{width:155px;height:76px;object-fit:contain;border-radius:0}
.intro-brand .intro-logo{width:min(320px,75vw);height:155px;object-fit:contain;border-radius:0}
@media(max-width:600px){.site-header .brand-logo{width:142px;height:64px}.site-footer .brand-logo{width:130px;height:66px}.intro-brand .intro-logo{width:230px;height:125px}}


/* Event-only theme: preserve public My Grand Day brand colours. */
#event-view{background:var(--event-bg,var(--cream));color:var(--event-accent,var(--teal))}
#event-view .eyebrow,#event-view h1 i,#event-view h2 i{color:var(--event-accent,var(--teal))}
#event-view .event-hero{background:var(--event-accent,var(--teal));color:#fff9ed}
#event-view .event-hero-photo{background:var(--event-accent,var(--teal))}
#event-view .event-hero .eyebrow,#event-view .event-hero h1 i{color:var(--event-gold,var(--gold))}
#event-view .letter-section,#event-view .gift-section,#event-view .rsvp-section,#event-view .venue-section,#event-view .gift-support{background:var(--event-bg,var(--cream))}
#event-view .letter-card{border-color:var(--event-gold,var(--gold))}
#event-view .letter-card:before{border-color:var(--event-gold,var(--gold))}
#event-view .letter-ribbon{background:var(--event-accent,var(--teal))}
#event-view .letter-card>p:not(.eyebrow),#event-view .letter-flourish-bottom{color:var(--event-gold,var(--gold))}
#event-view .countdown-section,#event-view .event-footer{background:var(--event-accent,var(--teal));color:#fff9ed}
#event-view .countdown-section .eyebrow,#event-view .countdown-section h2 i,#event-view .countdown strong,#event-view .countdown-note,#event-view .event-footer .eyebrow,#event-view .footer-spark,#event-view .event-footer>p:not(.eyebrow){color:var(--event-gold,var(--gold))}
#event-view .gift-card,#event-view .venue-card{background:var(--event-accent,var(--teal));outline-color:var(--event-gold,var(--gold));color:#fff9ed}
#event-view .gift-card-ornament,#event-view .gift-card p,#event-view .gift-card-line,#event-view .venue-card>span,#event-view .venue-ornament{color:var(--event-gold,var(--gold))}
#event-view .gift-card-line{background:var(--event-gold,var(--gold))}
#event-view .gallery-item{background-color:var(--event-accent,var(--teal))}
#event-view .gallery-item:after{border-color:var(--event-gold,var(--gold))}
#event-view .gold-btn{background:var(--event-gold,var(--gold));border-color:var(--event-gold,var(--gold))}
#event-view .gold-btn:hover{background:var(--event-accent,var(--teal));border-color:var(--event-accent,var(--teal))}
#event-view .outline-btn:hover,#event-view .form-message{color:var(--event-accent,var(--teal))}
#event-view .outline-btn:hover{border-color:var(--event-accent,var(--teal))}
#event-view h1,#event-view h2,#event-view h3{font-family:var(--event-font,var(--serif))}

/* Gift Registry — invitation theme follows each celebration's palette */
.gift-registry-section{padding:85px 8%;text-align:center;background:var(--event-bg)}.gift-registry-section h2{font:normal clamp(42px,6vw,68px) var(--event-font);color:var(--event-accent);margin:12px 0}.gift-registry-section h2 i{color:var(--event-gold)}.gift-registry-section>p{line-height:1.8}.gift-registry-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:48px auto 15px;max-width:1250px;text-align:left}.registry-item{background:#fffdf9;border:1px solid #e8dfd1;overflow:hidden}.registry-photo{height:245px;position:relative;background:#e7dfd5}.registry-photo img{width:100%;height:100%;object-fit:cover}.registry-reserved-overlay{position:absolute;inset:0;background:#4c152c77;color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:600;gap:8px}.registry-item-body{padding:21px}.registry-item h3{font:normal 23px/1.25 var(--event-font);color:var(--event-accent);margin:0 0 12px}.registry-price{color:var(--event-gold);font:21px var(--event-font)}.registry-reserve-btn{display:block;width:100%;border:1px solid #ded3c1;background:transparent;color:var(--event-accent);padding:13px;margin-top:18px;text-transform:uppercase;font-size:10px;letter-spacing:.14em}.registry-reserve-btn:disabled{color:#8e817d;cursor:not-allowed}.gift-reserve-modal{position:fixed;inset:0;z-index:60;background:#092b29b9;display:grid;place-items:center;padding:18px}.gift-reserve-dialog{position:relative;background:#fffdf8;width:min(470px,100%);padding:35px;max-height:90vh;overflow:auto}.gift-reserve-dialog h2{font:normal 38px var(--serif)}.gift-reserve-dialog form{display:grid;gap:15px}.gift-reserve-dialog label{display:grid;gap:7px;font-size:11px}.gift-reserve-dialog input:not([type=checkbox]){padding:12px;border:1px solid #d9cdb8;width:100%}.gift-checkbox{display:flex!important;flex-direction:row;align-items:center}.gift-client-section{margin-top:35px;border-top:1px solid #d5c6a8;padding-top:24px}.gift-client-section h3{font:normal 31px var(--serif)}.gift-record{border:1px solid #e2d6c2;background:#fffdf8;padding:15px;margin:10px 0;line-height:1.8;overflow-wrap:anywhere}.gift-record strong{color:#22544c}.gift-admin-row{border-bottom:1px solid #ded4c2;padding:15px 0}.gift-admin-row button{margin:5px;padding:9px;border:1px solid #bca77f;background:#fffdf7}#gift-admin-list{margin-top:25px}@media(max-width:900px){.gift-registry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:540px){.gift-registry-grid{grid-template-columns:1fr 1fr;gap:9px}.registry-photo{height:160px}.registry-item-body{padding:12px}.registry-item h3{font-size:19px}.gift-registry-section{padding:55px 5%}}

/* Gift management lives inside the active Events & Design editor. */
#admin-gifts-panel{margin-top:20px;padding:22px;border:1px solid #d9c9a8;background:#fffaf1;}
#admin-gifts-panel h3{font:normal 30px var(--serif);color:var(--teal);margin:0 0 10px;}
#gift-admin-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:none;}
#gift-admin-form .gold-btn{align-self:end;}
#gift-admin-event{max-width:440px;}
@media(max-width:620px){#gift-admin-form{grid-template-columns:1fr;}#admin-gifts-panel{padding:15px;}}

/* My Grand Day — Phase 1 mobile homepage and opening-envelope polish.
   Additive, presentation-only rules; no application logic is changed. */
html,body{max-width:100%;}
img,svg{max-width:100%;}
#home-view,.site-header,.site-footer{min-width:0;}
#home-view .hero-copy,#home-view .contact-right,#home-view .section-heading>div{min-width:0;}
#home-view h1,#home-view h2,#home-view h3{overflow-wrap:break-word;}
.mgd-contact-links{max-width:100%;min-width:0;}
.mgd-contact-links a,.mgd-contact-links span{overflow-wrap:anywhere;}
@media(max-width:620px){
  .site-header{min-height:72px;height:72px;padding:0 6%;}
  .site-header .brand-logo{width:min(142px,40vw);height:62px;}
  .site-header nav{top:100%;z-index:8;gap:0;padding:10px 7% 16px;box-shadow:0 15px 25px #103f3c15;}
  .site-header nav>a{display:block;width:100%;padding:13px 4px;font-size:12px;min-height:44px;}
  .menu-toggle{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;color:var(--teal);}
  .hero{padding:48px 7% 58px;min-height:0;}
  .hero h1{font-size:clamp(43px,11.5vw,65px);line-height:1;letter-spacing:-.035em;margin:23px 0 20px;}
  .hero-copy>.eyebrow{font-size:8px;line-height:1.6;letter-spacing:.13em;}
  .hero-copy>.eyebrow span{flex:0 0 13px;}
  .hero-description{max-width:34rem;font-size:13px;}
  .hero-actions{gap:15px;flex-wrap:wrap;}
  .hero-actions .gold-btn{min-height:44px;}
  .hero-signoff{flex-wrap:wrap;gap:10px;margin-top:33px;}
  .hero-art{height:clamp(260px,84vw,350px);margin-top:20px;}
  .art-frame{width:min(69%,270px);height:83%;}
  .floating-stamp{right:3%;width:60px;height:60px;font-size:7px;}
  .intro-strip,.contact-band{padding-left:7%;padding-right:7%;}
  .contact-right{width:100%;max-width:100%;}
  .mgd-contact-links a{font-size:clamp(14px,4.2vw,19px)!important;max-width:100%;}
  .mgd-contact-links a span{min-width:0;}
  .site-footer{grid-template-columns:minmax(0,1fr);gap:12px;}
  .site-footer>span{text-align:left;}
  .site-footer>a:not(.brand){overflow-wrap:anywhere;}
  .envelope-wrap{width:100%;padding:0 16px;}
  .intro-eyebrow{max-width:90%;line-height:1.8;letter-spacing:.16em;margin-bottom:24px;}
  .envelope{width:min(84vw,420px);height:clamp(190px,54vw,280px);min-height:0;}
  .letter-preview strong{font-size:clamp(24px,7vw,34px);}
  .letter-preview em{font-size:clamp(14px,4.5vw,20px);}
  .tap-note{text-align:center;line-height:1.6;}
}
@media(max-width:390px){
  .hero{padding-top:38px;}
  .hero h1{font-size:clamp(40px,11.5vw,49px);}
  .hero-actions{align-items:flex-start;}
  .hero-art{height:275px;}
  .event-grid{grid-template-columns:1fr;gap:16px;}
  .event-card-image{height:210px;}
  .event-card-body{padding:18px;}
  .event-card-body h3{font-size:27px;}
  .category-filters .filter{min-height:40px;padding:9px 11px;}
  .envelope{width:86vw;height:55vw;}
  .wax-seal{width:45px;height:45px;}
  .envelope-cord{width:90px;height:55px;}
}
@media(max-height:550px) and (orientation:landscape){
  .envelope{width:min(56vw,360px);height:min(34vw,205px);}
  .intro-eyebrow{margin-bottom:10px;}
  .tap-note{margin-top:12px;}
}

/* Mobile navigation touch and visibility refinement — Phase 1 */
@media (max-width: 620px) {
  .site-header { z-index: 100; }
  .site-header .menu-toggle {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 44px; min-height: 44px; position: relative; z-index: 102;
    touch-action: manipulation; -webkit-tap-highlight-color: transparent;
  }
  .site-header nav { z-index: 101; box-shadow: 0 14px 24px rgba(10, 46, 42, .12); }
  .site-header nav.show { display: flex !important; }
  .site-header nav a, .site-header nav button { min-height: 44px; display: inline-flex; align-items: center; }
}

/* Full-screen opening: no header or navigation until the envelope is unveiled.
   The intro remains above all site UI, including the mobile header (z-index:100). */
#intro.intro-screen:not(.dismissed) { z-index: 200; }
body:has(#intro.intro-screen:not(.dismissed)) > .site-header { visibility: hidden; }
/* Once .dismissed is added by the existing envelope animation, the normal header returns. */

/* Opening-envelope gold inscriptions — readable on phones and desktop. */
#intro .intro-eyebrow {
  color:#f1d49a;
  font-size:clamp(11px, 2.3vw, 14px);
  font-weight:700;
  letter-spacing:.11em;
  line-height:1.6;
  text-align:center;
  text-shadow:0 1px 3px rgba(0,0,0,.35);
}
#intro .tap-note {
  color:#f1d49a;
  font-size:clamp(12px, 2.5vw, 15px);
  font-weight:700;
  letter-spacing:.12em;
  line-height:1.5;
  text-align:center;
  text-shadow:0 1px 3px rgba(0,0,0,.35);
}
@media(max-width:390px) {
  #intro .intro-eyebrow {font-size:11px;letter-spacing:.075em;}
  #intro .tap-note {font-size:12px;letter-spacing:.09em;}
}


/* My Grand Day — luxury dark teal header and responsive logo artwork. */
.site-header {background:#103f3c;border-bottom:1px solid rgba(199,166,106,.32);}
.site-header .menu-toggle {color:#fffdf7;}
.site-header nav>a {color:#fffdf7;}
.site-header nav>a:hover,.site-header nav>a:focus-visible {color:#f1d49a;}
.site-header .brand-logo {content:url("mgd-logo-full.png");width:220px;height:78px;object-fit:contain;mix-blend-mode:normal;}
@media(max-width:620px){
 .site-header .brand-logo {content:url("mgd-logo-compact.png");width:100px;height:64px;object-fit:contain;}
 .site-header nav {background:#103f3c;border-bottom:1px solid rgba(199,166,106,.35);}
 .site-header nav>a {color:#fffdf7;}
 .site-header nav>a:hover {color:#f1d49a;}
}
/* Keep the envelope opening entirely free of header branding. */
body:has(#intro.intro-screen:not(.dismissed)) > .site-header {visibility:hidden;}

/* Final HTML-integrated responsive branding: no CSS image replacement. */
.site-header .brand-logo {content:normal;width:220px;height:78px;object-fit:contain;}
.site-header .brand picture {display:block;line-height:0;}
.site-header .brand {min-width:0;}
.site-footer .brand-logo {content:normal;mix-blend-mode:normal;}
@media(max-width:620px){.site-header .brand-logo{content:normal;width:100px;height:64px;object-fit:contain;}}

/* Polished transparent luxury logo + unified teal footer. */
.site-header { background:#103f3c; }
.site-header .brand { display:inline-flex;align-items:center; }
.site-header .brand picture {display:block;}
.site-header .brand-logo {object-fit:contain;display:block;}
@media(max-width:620px){
 .site-header {padding-left:6%;padding-right:6%;}
 .site-header .brand-logo {width:100px;height:62px;}
}
.site-footer {background:#103f3c !important;color:#fffdf7 !important;border-top:1px solid #c7a66a55;}
.site-footer p,.site-footer span {color:#e4e9e4 !important;}
.site-footer a:not(.brand) {color:#f1d49a !important;}
.site-footer a:not(.brand):hover {color:#ffffff !important;}
.site-footer .brand-logo {width:175px;height:auto;max-width:100%;object-fit:contain;}
@media(max-width:620px){.site-footer{padding-top:34px;padding-bottom:36px;}.site-footer .brand-logo{width:155px;height:auto;}}

/* My Grand Day — centered luxury footer (all screen sizes) */
.site-footer {
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  gap:12px !important;
}
.site-footer .brand {display:flex;justify-content:center;align-items:center;width:100%;}
.site-footer .brand-logo {display:block;margin:0 auto;object-position:center center;}
.site-footer p,.site-footer a:not(.brand),.site-footer>span {
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* My Grand Day: elegant, clickable gift & support navigation. */
#event-view .mgd-gift-cta{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:26px;max-width:540px;font-family:var(--sans)}
#event-view .mgd-gift-cta a{display:flex;justify-content:center;align-items:center;gap:10px;min-height:55px;padding:15px 16px;text-align:center;text-transform:uppercase;letter-spacing:.105em;font-size:10px;font-weight:600;line-height:1.5;text-decoration:none;border:1px solid var(--event-gold,var(--gold));transition:background .2s,transform .2s,box-shadow .2s}
#event-view .mgd-gift-cta a:hover{transform:translateY(-2px);box-shadow:0 8px 22px #123c3525}
#event-view .mgd-gift-cta a:focus-visible{outline:3px solid var(--event-gold,var(--gold));outline-offset:3px}
#event-view .mgd-gift-cta-primary{grid-column:1/-1;background:var(--event-accent,var(--teal));color:#fffdf7}
#event-view .mgd-gift-cta-secondary{background:#fffdf7;color:var(--event-accent,var(--teal))}
#event-view .mgd-gift-cta-secondary:hover{background:#eee9dd}
#event-view #gift-support{scroll-margin-top:85px}
@media(max-width:620px){#event-view .mgd-gift-cta{grid-template-columns:1fr;gap:10px}#event-view .mgd-gift-cta-primary{grid-column:auto}#event-view .mgd-gift-cta a{min-height:54px;font-size:10px}}


/* Invitation layout refinement — original event palette remains intact. */
#event-view .event-hero-content{width:min(100%,1100px);padding:90px 22px 65px}
#event-view #event-title{line-height:.9;margin:25px 0 20px;overflow-wrap:anywhere}
#event-view #event-title i{display:block;font-style:normal;line-height:1.05;font-size:.78em;color:var(--event-gold,var(--gold));margin:2px 0}
#event-view .mgd-hero-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;max-width:940px;margin:38px auto 0;font-family:var(--sans)}
#event-view .mgd-hero-nav a{display:flex;align-items:center;justify-content:center;min-height:53px;padding:13px 12px;border:1px solid var(--event-gold,var(--gold));color:#fffaf0;font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;line-height:1.4;transition:background .2s}
#event-view .mgd-hero-nav a:nth-child(2){background:var(--event-gold,var(--gold));color:#153d39}
#event-view .mgd-hero-nav a:hover{background:var(--event-accent,var(--teal));color:white}
#event-view .gift-support{background:var(--event-accent,var(--teal));color:#fffaf0}
#event-view .gift-support h2,#event-view .gift-support h2 i{color:#fffaf0}
#event-view .gift-support>.eyebrow{color:var(--event-gold,var(--gold))}
#event-view .gift-support>p:not(.eyebrow){color:#f4f0e6}
#event-view .support-card{background:#fffdf7;color:var(--ink)}
body.mgd-modal-open{overflow:hidden}
.mgd-support-modal{position:fixed;inset:0;z-index:100;background:#051f1dcc;display:flex;align-items:center;justify-content:center;padding:20px}
.mgd-support-modal[hidden]{display:none!important}
.mgd-support-dialog{width:min(570px,100%);max-height:min(92vh,850px);overflow:auto;background:var(--cream);color:var(--ink);border:1px solid var(--gold);border-radius:17px;box-shadow:0 30px 90px #001d1a77}
.mgd-modal-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:26px 30px 20px;border-bottom:1px solid #e5d9c5}
.mgd-modal-heading .eyebrow{color:var(--gold);font-size:10px;letter-spacing:.24em}
.mgd-modal-heading h2{font:normal 37px var(--serif);margin:7px 0 0;color:var(--teal-deep)}
.mgd-modal-close{font-size:30px;border:0;background:none;color:var(--ink);padding:5px 10px}
.mgd-modal-tabs{display:grid;grid-template-columns:1fr 1fr;margin:22px 30px 0;border:1px solid #ddcbb1;border-radius:7px;overflow:hidden}
.mgd-modal-tabs button{padding:16px 8px;border:0;background:transparent;color:var(--ink);font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.mgd-modal-tabs button[aria-selected=true]{background:var(--teal-deep);color:#fffdf7}
#mgd-modal-forms{padding:0 30px 25px}
#mgd-modal-forms .mgd-give-panel{margin:0;max-width:none;background:transparent;border:0;box-shadow:none;padding:22px 0;color:var(--ink)}
#mgd-modal-forms .mgd-give-panel[hidden]{display:none!important}
#mgd-modal-forms .mgd-give-panel h3{font-size:31px}
#mgd-modal-forms .mgd-give-panel button[type=submit]{background:var(--teal-deep)}
@media(max-width:620px){
 #event-view .event-hero-content{padding:80px 16px 55px}
 #event-view #event-title{font-size:clamp(48px,13vw,72px)}
 #event-view .mgd-hero-nav{grid-template-columns:1fr 1fr;gap:10px;margin-top:28px}
 #event-view .mgd-hero-nav a{min-height:57px;font-size:10px;padding:12px 7px}
 #event-view .mgd-hero-nav a:first-child{grid-column:1/-1}
 #event-view .mgd-hero-nav a:last-child{grid-column:1/-1}
 .mgd-support-modal{padding:9px;align-items:flex-end}
 .mgd-support-dialog{max-height:95vh;border-radius:17px 17px 0 0}
 .mgd-modal-heading{padding:22px 20px 17px}
 .mgd-modal-tabs{margin:18px 20px 0}
 #mgd-modal-forms{padding:0 20px 18px}
}

/* Guest-only invitation overlays; theme values inherited from the event. */
#event-view .mgd-hero-nav{display:none!important}
#event-view .mgd-hero-rsvp{margin-top:22px}
#event-view #event-title .mgd-name-amp{display:block;font-style:italic;color:var(--event-gold);font-size:.7em;line-height:.85;margin:.08em 0}
/* The old support info section remains in the DOM for compatibility; the live forms are in the existing Give/Pledge modal. */
#event-view > .gift-support{display:none!important}
.mgd-guest-overlay{position:fixed;inset:0;z-index:55;background:#071e1bc9;display:flex;align-items:center;justify-content:center;padding:18px;backdrop-filter:blur(6px)}
.mgd-guest-dialog{position:relative;width:min(940px,100%);max-height:92dvh;overflow-y:auto;overscroll-behavior:contain;background:var(--event-bg,#f8f5ed);border:1px solid var(--event-gold,#c7a66a);box-shadow:0 30px 90px #001a1790}
.mgd-guest-close{position:sticky;top:12px;float:right;z-index:5;margin:12px 14px -52px 0;width:42px;height:42px;background:var(--event-accent,#176e6b);border:1px solid var(--event-gold,#c7a66a);color:#fff;font-size:27px;line-height:1}
.mgd-guest-dialog #rsvp{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:65px 6% 50px;background:var(--event-bg,#f8f5ed)}
.mgd-guest-dialog #gift-registry{padding:70px 5% 50px;background:var(--event-bg,#f8f5ed)}
.mgd-guest-dialog .gift-registry-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
body.mgd-guest-open{overflow:hidden}
@media(max-width:680px){.mgd-guest-overlay{padding:8px}.mgd-guest-dialog{max-height:96dvh}.mgd-guest-dialog #rsvp{grid-template-columns:1fr;padding:70px 7% 35px;gap:20px}.mgd-guest-dialog #gift-registry{padding:75px 5% 35px}.mgd-guest-dialog .gift-registry-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mgd-guest-close{margin:10px 10px -52px 0}}

/* RSVP joins the invitation's three existing gift/support action tiles. */
#event-view .mgd-gift-cta .mgd-rsvp-open{font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;box-sizing:border-box;text-align:center;width:100%;}
#event-view .mgd-gift-cta .mgd-rsvp-open:focus-visible{outline:3px solid var(--event-gold,#c7a66a);outline-offset:3px;}

/* My Grand Day: clean mobile gallery, equal action tiles, photo venue and category decoration */
#event-view .gallery-item span{display:none!important}
#event-view .gallery-item{background-position:center;background-size:cover}
#event-view .mgd-gallery-placeholder{background:linear-gradient(135deg,var(--event-accent,#176e6b),#103e3a)}
#event-view .mgd-gift-cta{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
#event-view .mgd-gift-cta>a,#event-view .mgd-gift-cta>button{width:100%!important;min-height:62px!important;height:auto!important;box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;padding:15px 18px!important;margin:0!important;line-height:1.35!important}
#event-view .venue-card{position:relative;overflow:hidden;isolation:isolate}
#event-view .mgd-venue-photo{position:absolute;inset:0;background-size:cover;background-position:center;z-index:-2}
#event-view .mgd-has-venue-photo::before{content:"";position:absolute;inset:0;background:linear-gradient(#082c2980,#082c29bb);z-index:-1}
#event-view .mgd-venue-content{position:relative;z-index:1}
#event-view .mgd-venue-content>span{font-size:7px;letter-spacing:.22em;color:var(--event-gold,var(--gold))}
#event-view .mgd-venue-content h3{font-size:34px;margin:20px 0 10px}
#event-view .mgd-venue-content p{font-size:10px;letter-spacing:.1em}
#event-view .mgd-celebration-symbol{font-family:system-ui,sans-serif;font-size:25px;line-height:1.3}
#event-view .mgd-hero-symbol{font-size:28px;margin-bottom:10px;filter:grayscale(.3)}
#event-view .letter-seal{letter-spacing:0;font-size:15px;white-space:nowrap}
#event-view .letter-seal span{font-size:12px;letter-spacing:0}

/* Gallery: clean gold frames without overlapping star ornaments */
#event-view .gallery-item::after{inset:0!important;border:2px solid var(--event-gold,var(--gold))!important;pointer-events:none;z-index:2}
#event-view .gallery-item::before{content:none!important;display:none!important}
#event-view .gallery-item{overflow:visible}
#event-view .gallery-item{background-clip:padding-box}
#event-view .gallery-item{box-shadow:0 0 0 1px var(--event-gold,var(--gold))}
/* Second star at bottom, centered; using decorative background overlay independent of photographs */
#event-view .gallery-item{--mgd-star-color:var(--event-gold,var(--gold))}
#event-view .gallery-item .mgd-frame-bottom-star{position:absolute;z-index:4;bottom:-12px;left:50%;transform:translateX(-50%);font:22px Georgia,serif;color:var(--mgd-star-color);pointer-events:none;text-shadow:0 1px 4px #102b28}
/* Ornamental four-point stars instead of circular carousel dots */
#event-view .hero-slide-dots{gap:15px;align-items:center}
#event-view .hero-slide-dot{width:28px;height:28px;border:0;border-radius:0;background:transparent!important;box-shadow:none;color:#fff9e9;font:21px Georgia,serif;opacity:.65;transition:transform .3s,opacity .3s,color .3s}
#event-view .hero-slide-dot.is-active{color:var(--event-gold,var(--gold));transform:scale(1.45);opacity:1;text-shadow:0 0 12px #cba66b99}
#event-view #event-eyebrow{font-weight:800;letter-spacing:.22em}
.mgd-editor-note{grid-column:1/-1;border:1px solid #d9c7a0;padding:15px;background:#faf5e9;font-size:12px;line-height:1.6;color:#43544f}
#event-view .gallery-item .mgd-frame-bottom-star{display:none!important}

/* Invitation letter: platform-curated category artwork, blurred behind crisp copy. */
#event-view .letter-card{isolation:isolate;background:#fffaf0}
#event-view .letter-card .mgd-letter-background{position:absolute;inset:-18px;z-index:-2;background-position:center;background-size:cover;filter:blur(8px);transform:scale(1.08);pointer-events:none}
#event-view .letter-card::after{content:"";position:absolute;inset:0;background:rgba(255,252,244,.70);z-index:-1;pointer-events:none}
#event-view .letter-card .letter-ribbon{z-index:0;pointer-events:none}
#event-view .letter-card .letter-seal,#event-view .letter-card .eyebrow,#event-view .letter-card h2,#event-view .letter-card>p:not(.eyebrow),#event-view .letter-card .letter-details,#event-view .letter-card .letter-flourish-bottom{position:relative;z-index:1}
#event-view .letter-card .letter-seal{position:absolute;z-index:3}
@media(max-width:620px){#event-view .letter-card::after{background:rgba(255,252,244,.70)}}

/* Platform-admin category artwork picker — does not expose controls in the client portal. */
.mgd-artwork-admin{border:1px solid #d9c9a8;background:#f7f2e7;border-radius:12px;padding:20px;margin:20px 0 26px}
.mgd-artwork-admin h3{font-size:27px;margin:0 0 8px;color:#176e6b}
.mgd-artwork-admin>p{line-height:1.6;font-size:12px}
.mgd-artwork-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}
.mgd-artwork-card{background:#fffdf7;border:1px solid #d9c9a8;padding:12px;min-width:0}
.mgd-artwork-card h4{font-size:18px;margin:0 0 10px;color:#176e6b}
.mgd-artwork-preview{height:140px;background-size:cover;background-position:center;border:1px solid #c7a66a;margin-bottom:10px}
.mgd-artwork-card label{font-size:10px;letter-spacing:normal;text-transform:none}
.mgd-artwork-card input[type=file]{max-width:100%;font-size:10px;padding:7px}
@media(max-width:900px){.mgd-artwork-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:500px){.mgd-artwork-grid{grid-template-columns:1fr}}

/* Distinct event invitation artwork with elegant framed typography */
#event-view .letter-section{padding:clamp(45px,7vw,100px) 14px}
#event-view .letter-card{width:min(680px,96vw);min-height:540px;padding:90px clamp(24px,6vw,60px) 65px;border:2px solid var(--event-gold,#c7a66a);box-shadow:0 20px 55px #1a3d3218}
#event-view .letter-card:before{inset:14px;border:1px solid var(--event-gold,#c7a66a);z-index:2}
#event-view .letter-card .mgd-letter-background{filter:blur(5px);inset:-12px;transform:scale(1.045)}
#event-view .letter-card::after{background:rgba(255,250,241,.62)}
#event-view .letter-card .eyebrow{font-family:var(--event-font,Georgia,serif);font-size:clamp(11px,1.7vw,17px);font-weight:700;letter-spacing:.25em;margin:20px 0 8px;color:#0b625f}
#event-view .letter-card .mgd-letter-ornament{position:relative;z-index:2;display:flex;justify-content:center;align-items:center;gap:12px;color:#9b6b15;font-size:24px;line-height:1.2}
#event-view .letter-card .mgd-letter-ornament:before,#event-view .letter-card .mgd-letter-ornament:after{content:"";height:1px;width:60px;background:#a6792c}
#event-view .letter-card h2{font-size:clamp(40px,7vw,69px);line-height:1.05;margin:28px 0 32px;font-weight:500;color:#006a6a}
#event-view .letter-card>p:not(.eyebrow){font-size:clamp(25px,4vw,36px);line-height:1.35;max-width:550px;color:#93620c;margin-bottom:45px}
#event-view .letter-card .letter-details{font-size:clamp(12px,1.8vw,16px);letter-spacing:.13em;line-height:2;color:#075b5b;font-weight:600}
#event-view .letter-card .letter-flourish-bottom{font-size:46px;margin-top:30px;color:#9a6a0b}
#event-view .letter-card .letter-ribbon{opacity:.06}
.mgd-event-background-field{grid-column:1/-1;border:1px solid #d9c9a8;padding:18px;background:#fffdf7}
.mgd-event-background-field strong{color:#176e6b;font-size:15px}.mgd-event-background-field p{font-size:12px;line-height:1.7;margin:7px 0 14px}
.mgd-event-background-field .mgd-artwork-preview{height:200px;max-width:420px}
.mgd-event-background-field label{display:block;margin-top:10px}.mgd-event-background-field input{width:100%;max-width:550px}
@media(max-width:620px){#event-view .letter-card{min-height:480px;padding:65px 20px 45px}#event-view .letter-card::after{background:rgba(255,250,241,.66)}#event-view .letter-card .letter-seal{z-index:4}#event-view .letter-card .eyebrow{letter-spacing:.15em}}

/* My Grand Day — gallery frame refinement, 19 October 2026.
   One thin gold border only; no extra inset/outline or ornaments. */
#event-view .gallery-item {
  overflow:hidden;
  border:1px solid var(--event-gold,var(--gold));
  box-shadow:none;
  background-size:cover;
  background-position:center;
}
#event-view .gallery-item::after,
#event-view .gallery-item::before {
  content:none!important;
  display:none!important;
}
#event-view .gallery-item .mgd-frame-bottom-star {display:none!important;}

/* Administrator-only, non-publishing invitation preview */
.mgd-live-panel{grid-column:1/-1;border:1px solid #d9c9a8;border-radius:12px;padding:20px;background:#faf6ec;margin:12px 0 22px;min-width:0}.mgd-live-head{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap}.mgd-live-head h3{font:normal 30px 'Cormorant Garamond',Georgia,serif;color:#176e6b;margin:0 0 6px}.mgd-live-head p,.mgd-live-hint{font-size:12px;color:#6e756c;line-height:1.6}.mgd-live-switch{display:flex;border:1px solid #c7a66a;border-radius:6px;overflow:hidden}.mgd-live-toggle{border:0;background:#fffdf7;padding:10px 16px;color:#176e6b}.mgd-live-toggle.active{background:#176e6b;color:white}.mgd-live-stage{background:#e5e9e5;padding:22px 12px;display:flex;justify-content:center;overflow:auto;border-radius:9px}.mgd-live-card{--live-accent:#176e6b;--live-gold:#c7a66a;--live-paper:#f8f5ed;position:relative;isolation:isolate;overflow:hidden;width:100%;max-width:380px;min-height:510px;background:var(--live-paper);border:2px solid var(--live-gold);transition:max-width .25s;box-shadow:0 12px 30px #122e2b19}.mgd-live-card.desktop{max-width:740px;min-height:480px}.mgd-live-art{position:absolute;inset:-12px;background-position:center;background-size:cover;filter:blur(6px);z-index:-2}.mgd-live-wash{position:absolute;inset:0;background:color-mix(in srgb,var(--live-paper) 68%,transparent);z-index:-1}.mgd-live-frame{position:absolute;inset:12px;border:1px solid var(--live-gold);pointer-events:none}.mgd-live-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:510px;padding:58px 27px 35px;color:var(--live-accent);gap:15px}.mgd-live-card.desktop .mgd-live-content{min-height:480px;padding:55px 65px}.mgd-live-seal{position:absolute;top:0;left:50%;transform:translateX(-50%);border:2px solid var(--live-gold);border-top:0;border-radius:0 0 40px 40px;background:var(--live-accent);color:#fff8e7;padding:9px 20px;font:18px 'Cormorant Garamond',serif}.mgd-live-heading{font-size:12px;text-transform:uppercase;margin-top:24px;overflow-wrap:anywhere}.mgd-live-flourish{font:18px Georgia,serif;color:var(--live-gold)}.mgd-live-names{font-family:'Cormorant Garamond',Georgia,serif;font-size:37px;line-height:1.1;overflow-wrap:anywhere;max-width:100%}.mgd-live-wording{font-family:'Great Vibes',cursive;color:#92620d;line-height:1.35;max-width:100%;overflow-wrap:anywhere}.mgd-live-date,.mgd-live-venue{font-size:12px;letter-spacing:.08em;overflow-wrap:anywhere}.mgd-live-flourish.bottom{font-size:30px}.mgd-live-hint{margin:12px 0 0}@media(max-width:520px){.mgd-live-panel{padding:12px}.mgd-live-stage{padding:12px 6px}.mgd-live-content{padding-left:18px;padding-right:18px}}

/* Administrator draft preview: explicit visual separation and read-only guest view. */
#mgd-private-preview-banner{position:sticky;top:0;z-index:1000;display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;padding:12px 18px;background:#103f3c;color:#fff8e9;border-bottom:3px solid #c7a66a;font:12px/1.5 "DM Sans",sans-serif;text-align:center}
#mgd-private-preview-banner[hidden]{display:none!important}
#mgd-private-preview-banner strong{letter-spacing:.14em;color:#e9ca90}
#mgd-private-preview-banner button{background:#c7a66a;color:#173e38;border:0;padding:10px 15px;font-weight:700}
body.mgd-admin-preview #event-view a,body.mgd-admin-preview #event-view button,body.mgd-admin-preview #event-view input,body.mgd-admin-preview #event-view textarea,body.mgd-admin-preview #event-view select{pointer-events:none!important}
body.mgd-admin-preview #event-view form{pointer-events:none!important;opacity:.65}
@media(max-width:600px){#mgd-private-preview-banner{gap:8px;padding:10px;font-size:11px}#mgd-private-preview-banner button{width:100%}}

/* My Grand Day consistent transparent logo — 2026-10-20 */
.site-header .brand-logo,.site-footer .brand-logo{content:normal;mix-blend-mode:normal;object-fit:contain;}
.site-header .brand-logo{width:230px;height:78px;}
.site-footer .brand-logo{width:min(310px,80vw);height:auto;}
.mgd-event-footer-logo{display:block;width:min(280px,75vw);height:auto;margin:0 auto;}
.mgd-portal-logo{display:block;width:min(245px,65vw);height:auto;object-fit:contain;margin:0 0 15px;}
.client-lux-header .mgd-portal-logo{margin-bottom:18px;}
@media(max-width:620px){.site-header .brand-logo{width:155px;height:64px;}.site-footer .brand-logo{width:min(250px,80vw);}}

/* My Grand Day: gentle cinematic gradient toward the bottom of each cover photo. */
#event-view .event-hero-overlay{background:linear-gradient(to bottom,rgba(6,20,19,.10) 0%,rgba(6,20,19,.27) 38%,rgba(5,13,13,.62) 77%,rgba(4,9,9,.86) 100%);pointer-events:none}
/* Per-event colours, scoped to invitation only. */
#event-view #event-title,#event-view #letter-names{color:var(--mgd-names-color,#fff6e8)}
#event-view #letter-names{color:var(--mgd-names-color,var(--event-accent))}
#event-view #letter-copy{color:var(--mgd-wording-color,#a88954)}
#event-view .countdown-section{background:var(--mgd-countdown-bg,#103e3a);color:var(--mgd-countdown-title,#fff9ed)}
#event-view .countdown-section .eyebrow,#event-view .countdown-section h2 i{color:var(--mgd-countdown-accent,var(--event-gold))}
#event-view .countdown-section h2{color:var(--mgd-countdown-title,#fff9ed)}
#event-view .countdown strong{color:var(--mgd-countdown-numbers,#e0c58f)}
#event-view .countdown span{color:var(--mgd-countdown-labels,#d2d9cf)}
#event-view .countdown-note{color:var(--mgd-countdown-note,#d5bd8d)}
.mgd-colour-panel{grid-column:1/-1;border:1px solid #d9c9a8;background:#fffdf8;padding:20px;border-radius:12px;margin:14px 0}
.mgd-colour-panel h3{font-size:23px;margin:0 0 7px}.mgd-colour-panel>p{font-size:12px;margin-bottom:16px}
.mgd-colour-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.mgd-colour-grid input[type=color]{height:43px;padding:4px;cursor:pointer}
.mgd-countdown-preview{text-align:center;padding:27px 12px;margin-top:20px;border-radius:10px}
.mgd-countdown-preview small{letter-spacing:.15em;font-size:10px}.mgd-countdown-preview h3{font:normal 32px 'Cormorant Garamond',serif;margin:18px 0}
.mgd-countdown-preview .mgd-cp-numbers{font:normal 29px 'Cormorant Garamond',serif;letter-spacing:.06em}
.mgd-countdown-preview p{font:22px 'Great Vibes',cursive;margin:12px 0 0}
@media(max-width:620px){.mgd-colour-grid{grid-template-columns:1fr}}

/* My Grand Day: independent event-specific colours; closing background matches countdown. */
#event-view .event-footer{background:var(--mgd-countdown-bg,#103e3a)!important}
#event-view #event-title{color:var(--mgd-hero-heading-color,#fff6e8)!important}
#event-view #event-eyebrow{color:var(--mgd-hero-eyebrow-color,#c7a66a)!important}
#event-view #event-subtitle{color:var(--mgd-hero-subtitle-color,#f2e3c6)!important}
#event-view #event-date{color:var(--mgd-hero-date-color,#fff9ed)!important}
#event-view #event-location{color:var(--mgd-hero-venue-color,#fff9ed)!important}
#event-view #letter-eyebrow{color:var(--mgd-letter-heading-color,#176e6b)!important}
#event-view #letter-names{color:var(--mgd-letter-names-color,#fff6e8)!important}
#event-view #letter-copy{color:var(--mgd-letter-wording-color,#a88954)!important}
#event-view #letter-details{color:var(--mgd-letter-details-color,#176e6b)!important}
#event-view .event-footer .eyebrow{color:var(--mgd-footer-eyebrow-color,#c7a66a)!important}
#event-view .event-footer #footer-couple{color:var(--mgd-footer-names-color,#fff6e8)!important}
#event-view .event-footer>p:not(.eyebrow){color:var(--mgd-footer-message-color,#c7a66a)!important}

/* Hide platform branding footer on guest invitation pages only. */
body:has(#event-view:not([hidden])) #site-footer { display: none !important; }

/* My Grand Day Studio — make the official white-and-gold logo readable.
   Portal-only; homepage, guest invitations and client event palettes unchanged. */
.mgd-portal-logo {
  box-sizing:content-box;
  background:#103f3c;
  padding:18px 22px;
  border:1px solid rgba(199,166,106,.55);
  border-radius:12px;
  mix-blend-mode:normal;
  max-width:calc(100% - 44px);
}
@media(max-width:620px){
  .mgd-portal-logo{padding:14px 16px;max-width:calc(100% - 32px);}
}

/* Invitation atelier — scoped administrator template selector */
#event-editor .mgd-template-panel{grid-column:1/-1;background:linear-gradient(140deg,#fffdf7,#f0eee5);border:1px solid #cbb789;border-radius:14px;padding:22px;margin:10px 0 18px;box-shadow:0 8px 26px #173e2910}
#event-editor .mgd-template-header h3{font:normal 30px/1.1 "Cormorant Garamond",Georgia,serif;color:#174b45;margin:9px 0}
#event-editor .mgd-template-header p,#event-editor .mgd-template-note{font-size:12px;line-height:1.6;color:#665f53}
#event-editor .mgd-template-panel>label{display:flex;flex-direction:column;gap:9px;font-weight:600;color:#174b45}
#event-editor #mgd-invitation-template{width:100%;max-width:480px;min-height:44px;padding:10px;border:1px solid #cab98f;border-radius:8px;background:white;color:#173e38}
#event-editor .mgd-template-description{font:italic 18px "Cormorant Garamond",Georgia,serif;color:#80643b;margin:12px 0}
#event-editor .mgd-template-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:16px 0}
#event-editor #mgd-template-preview:disabled{opacity:.5;cursor:not-allowed}
#event-editor #mgd-template-status{font-size:12px;color:#176e6b;overflow-wrap:anywhere}
@media(max-width:600px){#event-editor .mgd-template-panel{padding:16px}#event-editor .mgd-template-actions button{width:100%}}

/* My Grand Day — accessible full-screen celebration gallery */
#event-view .mgd-gallery-open{appearance:none;border:0;padding:0;cursor:zoom-in;width:100%;min-width:0}#event-view .mgd-gallery-open:focus-visible{outline:3px solid var(--event-gold);outline-offset:3px}#event-view .mgd-gallery-zoom{display:grid!important;place-items:center;position:absolute;right:16px;bottom:16px;width:36px;height:36px;border-radius:50%;background:#102f2ccf;color:white;font:23px Arial,sans-serif;z-index:4;opacity:0;transition:opacity .2s}#event-view .mgd-gallery-open:hover .mgd-gallery-zoom,#event-view .mgd-gallery-open:focus-visible .mgd-gallery-zoom{opacity:1}.mgd-gallery-lightbox{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:55px 65px;border:0;background:#061713ed;color:#fff;box-sizing:border-box;overflow:hidden}.mgd-gallery-lightbox::backdrop{background:#020a09e8}.mgd-gallery-lightbox[open]{display:flex;align-items:center;justify-content:center}.mgd-gallery-lightbox img{display:block;max-width:100%;max-height:calc(100dvh - 110px);object-fit:contain;box-shadow:0 12px 65px #0006}.mgd-gallery-lightbox button{position:absolute;z-index:5;background:#fffdf7e8;color:#173e38;border:0;border-radius:50%;width:46px;height:46px;font-size:21px;display:grid;place-items:center;cursor:pointer}.mgd-lightbox-close{top:18px;right:20px}.mgd-lightbox-prev{left:12px;top:50%;transform:translateY(-50%)}.mgd-lightbox-next{right:12px;top:50%;transform:translateY(-50%)}.mgd-lightbox-count{position:absolute;bottom:15px;left:50%;transform:translateX(-50%);font:13px Arial,sans-serif;letter-spacing:.1em}@media(max-width:620px){.mgd-gallery-lightbox{padding:55px 12px}.mgd-gallery-lightbox button{width:38px;height:38px}.mgd-lightbox-prev{left:3px}.mgd-lightbox-next{right:3px}}@media(hover:none){#event-view .mgd-gallery-zoom{opacity:1}}

/* My Grand Day — redesigned client portal, presentation only */
#client-dashboard .client-lux-header{padding:25px 35px 24px}
#client-dashboard .mgd-portal-logo{max-height:88px;max-width:180px;object-fit:contain}
#client-dashboard .client-lux-header h2{font-size:clamp(31px,4vw,45px);margin:9px 0}
#client-dashboard .client-lux-header .client-lux-subtitle{max-width:680px}
#client-dashboard .client-lux-body{padding:25px 34px 42px}
#client-dashboard .client-nav{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid #dfd4c0;padding-bottom:14px;margin:4px 0 24px}
#client-dashboard .client-nav-btn{border:1px solid #e2d6c1;background:#fffdf8;color:#29514b;border-radius:10px;padding:13px 17px;font-size:12px;font-weight:600;transition:background .15s,color .15s}
#client-dashboard .client-nav-btn:hover,#client-dashboard .client-nav-btn.is-active{background:#15584f;color:#fffdf7;border-color:#15584f}
#client-dashboard .client-panel[hidden]{display:none!important}
#client-dashboard .client-section-intro{margin:4px 0 22px}
#client-dashboard .client-section-intro h3{font:normal clamp(29px,4vw,39px)/1.15 'Cormorant Garamond',Georgia,serif;color:#174e46;margin:7px 0 8px}
#client-dashboard .client-section-intro p:not(.client-lux-section-label){font-size:12px;color:#6c766c;line-height:1.65;max-width:660px}
#client-dashboard .client-overview-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:26px}
#client-dashboard .client-overview-guide a{display:block;padding:22px 20px;background:#fffdf8;border:1px solid #e4d6bd;border-radius:13px;transition:transform .15s,box-shadow .15s}
#client-dashboard .client-overview-guide a:hover{transform:translateY(-2px);box-shadow:0 9px 22px #174e4614}
#client-dashboard .client-overview-guide strong{display:flex;justify-content:space-between;color:#15584f;font-size:14px;margin-bottom:10px}
#client-dashboard .client-overview-guide small{color:#777d72;font-size:11px;line-height:1.65;display:block}
#client-dashboard #client-summary{margin:16px 0;grid-template-columns:repeat(4,minmax(0,1fr))}
#client-dashboard .client-toolbar{margin:14px 0 16px}
#client-dashboard .client-rsvp-list{display:grid;gap:18px}
#client-dashboard .client-event-block{margin:0;padding:20px 23px}
#client-dashboard .client-rsvp-item{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:14px;padding:17px 2px}
#client-dashboard .client-guest-heading{grid-column:1/-1}
#client-dashboard .client-guest-heading strong{font-size:23px}
#client-dashboard .client-rsvp-item>p:not(.client-guest-message){grid-column:1/-1;overflow-wrap:anywhere}
#client-dashboard .client-guest-message{grid-column:1/-1;margin:8px 0 12px;font-size:17px}
#client-dashboard .client-rsvp-item small{grid-column:1/-1}
#client-dashboard .gift-client-section{background:#fffdf8;border:1px solid #e5d9c3;border-radius:14px;padding:23px;margin:18px 0}
#client-dashboard .gift-client-section h3{font:normal 29px/1.15 'Cormorant Garamond',Georgia,serif;color:#16544b;margin:0 0 9px}
#client-dashboard .gift-client-section>p{line-height:1.65}
#client-dashboard .gift-client-section .small-note{background:#fff5df;border-left:4px solid #bd9253;border-radius:6px;padding:13px 16px;color:#72532a;font-size:12px}
#client-dashboard #mgd-financial-details,#client-dashboard #mgd-client-contributions,#client-dashboard #mgd-client-pledges,#client-dashboard #client-gift-reservations{overflow-wrap:anywhere}
@media(max-width:760px){#client-dashboard .client-lux-header{padding:20px}#client-dashboard .client-lux-body{padding:18px 16px 32px}#client-dashboard .client-overview-guide{grid-template-columns:1fr}#client-dashboard #client-summary{grid-template-columns:repeat(2,minmax(0,1fr))}#client-dashboard .client-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}#client-dashboard .client-nav-btn{padding:12px 8px;font-size:11px}#client-dashboard .gift-client-section{padding:16px}}

/* Simple +1 settings and guest list */
.mgd-plus-one-settings{margin:15px 0;padding:15px;border:1px solid #dfd0b2;border-radius:9px;background:#fffdf7}.mgd-plus-one-settings label{display:block;margin:8px 0}.mgd-plus-one-settings input[type=number]{max-width:120px}.mgd-guest-meta{font-weight:600;color:#176e6b!important}#mgd-plus-one-field small{display:block;margin-top:5px;color:#6d766f}#client-export-security{background:#fffdf7;border-color:#176e6b!important;color:#176e6b!important}


/* My Grand Day visual update — shared by every celebration category. */
.mgd-gallery-lightbox{background:var(--mgd-countdown-bg,#103e3a)!important;color:#fff9ed}
.mgd-gallery-lightbox::backdrop{background:var(--mgd-countdown-bg,#103e3a)!important}
#event-view .event-footer .mgd-footer-ornament{display:flex;align-items:center;justify-content:center;gap:0;width:min(500px,82%);margin:24px auto 23px;color:var(--event-gold,#c7a66a)}
#event-view .event-footer .mgd-footer-ornament::before,
#event-view .event-footer .mgd-footer-ornament::after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,currentColor)}
#event-view .event-footer .mgd-footer-ornament::after{transform:rotate(180deg)}
#event-view .event-footer .mgd-footer-ornament span{display:inline-grid;place-items:center;width:46px;height:28px;font-size:21px;line-height:1}
#event-view .event-footer .mgd-footer-event-details{font-family:"DM Sans",sans-serif!important;font-size:clamp(10px,1.6vw,14px)!important;line-height:1.9!important;letter-spacing:.19em;text-transform:uppercase;color:var(--mgd-footer-names-color,#fff6e8)!important;margin:0 auto 26px;overflow-wrap:anywhere}
@media(max-width:540px){#event-view .event-footer .mgd-footer-event-details{letter-spacing:.1em}}

/* Duplicate on-page invitation removed; invitation email delivery is a separate future feature. */
#event-view #letter-section,#event-view #open-event-letter,#event-editor .mgd-legacy-letter-setting,#event-editor .mgd-event-background-field{display:none!important}

/* Keep legacy preview DOM for existing JS, but do not display it in admin. */
#event-editor .mgd-live-panel{display:none!important}

/* Full-screen guest invitations only. Home/landing views remain unchanged. */
body.mgd-guest-event-page .site-header,
body.mgd-guest-event-page #event-view #back-home,
body.mgd-guest-event-page #mgd-private-preview-banner {display:none!important;}
body.mgd-guest-event-page #event-view .event-hero{min-height:100vh;min-height:100svh;}
body.mgd-guest-event-page #event-view .event-hero-photo{inset:0;}
body.mgd-guest-event-page #event-view{margin-top:0;padding-top:0;}

/* Persistent event-only header; homepage and landing page untouched. */
body.mgd-guest-event-page #mgd-guest-sticky-header{position:fixed;top:0;left:0;right:0;z-index:12;min-height:75px;display:flex;align-items:center;padding:12px clamp(20px,4vw,48px);background:var(--mgd-countdown-bg,#103e3a);border-bottom:1px solid color-mix(in srgb,var(--mgd-countdown-accent,#c7a66a) 28%,transparent);box-shadow:0 5px 16px #0002}
body.mgd-guest-event-page #mgd-guest-sticky-name{font:normal clamp(22px,3vw,31px)/1.2 "Cormorant Garamond",Georgia,serif;letter-spacing:.012em;color:var(--mgd-countdown-title,#fff9ed)}
body:not(.mgd-guest-event-page) #mgd-guest-sticky-header{display:none!important}
body.mgd-guest-event-page #event-view .event-hero{min-height:100vh;min-height:100svh}
@media(max-width:600px){body.mgd-guest-event-page #mgd-guest-sticky-header{min-height:62px;padding:10px 20px}}

/* Guest-only floating title: transparent on the hero, countdown color after scrolling. */
body.mgd-guest-event-page #mgd-guest-sticky-header{background:transparent!important;border-bottom-color:transparent!important;box-shadow:none!important;transition:background .3s ease,box-shadow .3s ease,border-color .3s ease;justify-content:space-between;gap:20px;pointer-events:none}
body.mgd-guest-event-page #mgd-guest-sticky-header.mgd-has-scrolled{background:var(--mgd-countdown-bg,#103e3a)!important;border-bottom-color:color-mix(in srgb,var(--mgd-countdown-accent,#c7a66a) 28%,transparent)!important;box-shadow:0 5px 16px #0002!important}
body.mgd-guest-event-page .mgd-guest-header-logo{width:clamp(76px,11vw,120px);height:52px;object-fit:contain;object-position:right center;flex-shrink:0}
body.mgd-guest-event-page #mgd-guest-sticky-name{text-shadow:0 2px 10px #0009}
body.mgd-guest-event-page #mgd-guest-sticky-header.mgd-has-scrolled #mgd-guest-sticky-name{text-shadow:none}
@media(max-width:600px){body.mgd-guest-event-page .mgd-guest-header-logo{width:82px;height:42px}}

/* Guest invitations: non-sticky cinematic gradient title bar, all event types. */
body.mgd-guest-event-page #event-view{position:relative}
body.mgd-guest-event-page #mgd-guest-sticky-header,
body.mgd-guest-event-page #mgd-guest-sticky-header.mgd-has-scrolled{
 position:absolute!important;top:0!important;left:0!important;right:0!important;
 z-index:12!important;background:linear-gradient(180deg,rgba(0,0,0,.73) 0%,rgba(0,0,0,.36) 60%,rgba(0,0,0,0) 100%)!important;
 border:0!important;box-shadow:none!important;transition:none!important;
 min-height:104px!important;align-items:flex-start!important;padding-top:19px!important;
}
body.mgd-guest-event-page #mgd-guest-sticky-name{padding-top:9px;text-shadow:0 2px 9px #000b!important}
body.mgd-guest-event-page .mgd-guest-header-logo{height:auto!important;max-height:58px!important;width:clamp(105px,14vw,152px)!important;object-fit:contain!important;object-position:top right!important;clip-path:inset(0 0 18% 0)}
@media(max-width:600px){body.mgd-guest-event-page #mgd-guest-sticky-header,body.mgd-guest-event-page #mgd-guest-sticky-header.mgd-has-scrolled{min-height:88px!important;padding:14px 18px 24px!important}body.mgd-guest-event-page .mgd-guest-header-logo{width:108px!important}}


/* Guest-only compact non-sticky brand header. The homepage is untouched. */
body.mgd-guest-event-page #mgd-guest-sticky-header,
body.mgd-guest-event-page #mgd-guest-sticky-header.mgd-has-scrolled{
 position:relative!important;top:auto!important;left:auto!important;right:auto!important;
 z-index:2!important;display:flex!important;justify-content:flex-start!important;
 align-items:center!important;min-height:78px!important;height:78px!important;
 padding:5px clamp(20px,6vw,65px)!important;
 background:#103e3a!important;border:0!important;box-shadow:none!important;
 transition:none!important;
}
body.mgd-guest-event-page .mgd-guest-logo-crop{display:block;position:relative;width:162px;height:67px;overflow:hidden;flex-shrink:0}
body.mgd-guest-event-page .mgd-guest-header-logo{
 position:absolute!important;top:0!important;left:0!important;display:block!important;
 width:162px!important;max-width:none!important;height:auto!important;max-height:none!important;
 object-fit:initial!important;clip-path:none!important;
}
@media(max-width:600px){body.mgd-guest-event-page #mgd-guest-sticky-header,body.mgd-guest-event-page #mgd-guest-sticky-header.mgd-has-scrolled{height:70px!important;min-height:70px!important;padding:4px 20px!important}body.mgd-guest-event-page .mgd-guest-logo-crop{width:145px;height:61px}body.mgd-guest-event-page .mgd-guest-header-logo{width:145px!important}}

/* Guest pages only: non-sticky translucent blurred header over the hero. */
body.mgd-guest-event-page #event-view{position:relative}
body.mgd-guest-event-page #mgd-guest-sticky-header,body.mgd-guest-event-page #mgd-guest-sticky-header.mgd-has-scrolled{position:absolute!important;top:0!important;left:0!important;right:0!important;z-index:20!important;height:78px!important;min-height:78px!important;padding:4px clamp(18px,5vw,50px)!important;background:linear-gradient(180deg,rgba(3,15,14,.68),rgba(3,15,14,.18))!important;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);box-shadow:none!important;border:0!important;display:flex!important;align-items:center!important;justify-content:space-between!important}
body.mgd-guest-event-page .mgd-guest-logo-crop{width:140px;height:59px}
body.mgd-guest-event-page .mgd-guest-header-logo{width:140px!important}
body.mgd-guest-event-page #mgd-menu-open{display:flex;flex-direction:column;gap:6px;justify-content:center;align-items:center;width:46px;height:46px;background:none;border:0;pointer-events:auto;cursor:pointer}
body.mgd-guest-event-page #mgd-menu-open span{display:block;width:27px;height:2px;background:#fff8e9}
body #mgd-invitation-menu[hidden]{display:none!important}
body.mgd-guest-event-page #mgd-invitation-menu{position:fixed;inset:0 0 0 auto;z-index:999;width:min(465px,100vw);background:#f8f5ed;color:#28342e;padding:105px 38px 38px;box-shadow:-20px 0 45px #0005;overflow-y:auto}
body.mgd-guest-event-page #mgd-menu-close{position:absolute;right:35px;top:24px;font-size:34px;background:none;border:0;color:#6b6258}
body.mgd-guest-event-page #mgd-invitation-menu nav{display:flex;flex-direction:column}
body.mgd-guest-event-page #mgd-invitation-menu nav a{font-size:15px;letter-spacing:.23em;padding:23px 0;border-bottom:1px solid #e8e1d7}
body.mgd-guest-event-page #mgd-invitation-menu nav a:first-child{color:var(--event-gold,#c7a66a);font-weight:600}
body.mgd-guest-event-page #mgd-menu-details{margin-top:110px;font:italic 23px/1.6 'Cormorant Garamond',serif;color:var(--event-accent,#176e6b)}
body.mgd-menu-opened{overflow:hidden}
body.mgd-guest-event-page #event-view .event-hero-content{padding-top:135px}
body.mgd-guest-event-page #event-view #event-eyebrow{margin-bottom:12px}
body.mgd-guest-event-page #event-view #event-eyebrow:after{content:'✦';display:block;margin:13px auto 0;width:min(270px,75vw);font-size:22px;line-height:1.8;color:var(--event-gold,#c7a66a);border-bottom:1px solid var(--event-gold,#c7a66a)}
@media(max-width:600px){body.mgd-guest-event-page #mgd-guest-sticky-header,body.mgd-guest-event-page #mgd-guest-sticky-header.mgd-has-scrolled{height:72px!important;min-height:72px!important;padding:4px 18px!important}body.mgd-guest-event-page #mgd-invitation-menu{padding:90px 30px 30px}}

/* FINAL: guest-only floating cinematic branding; no menu or sticky bar. */
body.mgd-guest-event-page #event-view{position:relative!important}
body.mgd-guest-event-page #mgd-guest-sticky-header,body.mgd-guest-event-page #mgd-guest-sticky-header.mgd-has-scrolled{position:absolute!important;top:0!important;left:0!important;right:0!important;z-index:20!important;display:flex!important;justify-content:flex-start!important;align-items:flex-start!important;height:120px!important;min-height:0!important;padding:14px clamp(18px,5vw,50px)!important;background:linear-gradient(to bottom,rgba(0,0,0,.62) 0%,rgba(0,0,0,.25) 55%,transparent 100%)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border:0!important;box-shadow:none!important;pointer-events:none!important}
body.mgd-guest-event-page .mgd-guest-logo-crop{position:relative!important;display:block!important;width:118px!important;height:58px!important;overflow:hidden!important;flex-shrink:0!important}
body.mgd-guest-event-page .mgd-guest-header-logo{position:absolute!important;top:0!important;left:0!important;width:118px!important;height:auto!important;max-height:none!important;max-width:none!important;object-fit:initial!important;clip-path:none!important}
body.mgd-guest-event-page #mgd-menu-open,body.mgd-guest-event-page #mgd-invitation-menu{display:none!important}
@media(max-width:600px){body.mgd-guest-event-page #mgd-guest-sticky-header,body.mgd-guest-event-page #mgd-guest-sticky-header.mgd-has-scrolled{height:96px!important;padding:12px 20px!important}body.mgd-guest-event-page .mgd-guest-logo-crop{width:104px!important;height:50px!important}body.mgd-guest-event-page .mgd-guest-header-logo{width:104px!important}}

/* Refined invitation ornament: two balanced gold lines with a centered diamond. */
body.mgd-guest-event-page #event-view #event-eyebrow::after{
  content:'✦'!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:min(300px,70vw)!important;
  height:24px!important;
  margin:15px auto 0!important;
  padding:0!important;
  border:0!important;
  background:linear-gradient(to right,
    var(--event-gold,#c7a66a) 0%,var(--event-gold,#c7a66a) 42%,
    transparent 42%,transparent 58%,
    var(--event-gold,#c7a66a) 58%,var(--event-gold,#c7a66a) 100%) center / 100% 1px no-repeat!important;
  color:var(--event-gold,#c7a66a)!important;
  font-size:21px!important;
  line-height:1!important;
}

/* MGD: a single admin-controlled feature background per celebration.
   The color lives in that event's typography.countdown_bg JSON setting.
   Never change the surrounding sage page or the card's gold detailing. */
#event-view .gift-card { background-color:var(--mgd-countdown-bg,#103e3a)!important; }
#event-view .mgd-gift-cta-primary { background-color:var(--mgd-countdown-bg,#103e3a)!important; }
#event-view .event-footer { background-color:var(--mgd-countdown-bg,#103e3a)!important; }

/* Luxury Invitation Studio: isolated admin-only preset chooser */
.mgd-luxury-presets{padding:24px;margin:20px 0;border:1px solid #c7a66a;background:#fbf8f1;color:#183c37;border-radius:12px}.mgd-luxury-presets h3{font-family:Georgia,serif;font-size:27px;margin:8px 0}.mgd-luxury-presets p{line-height:1.55}.mgd-preset-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.mgd-preset-card{display:flex;flex-direction:column;gap:9px;padding:18px 13px;min-height:125px;border:2px solid transparent;border-radius:8px;cursor:pointer}.mgd-preset-card strong{font-family:Georgia,serif;font-size:19px}.mgd-preset-card small{font-size:12px}.mgd-preset-card.royal{background:#103e3a;color:#f5e6cb}.mgd-preset-card.modern{background:#202225;color:#f7ead5}.mgd-preset-card.romance{background:#744955;color:#fff2e9}.mgd-preset-card:has(input:checked){outline:3px solid #c7a66a;outline-offset:2px}.mgd-preset-card input{accent-color:#c7a66a}.mgd-luxury-presets #mgd-luxury-preset-status{font-weight:600;color:#176e6b}@media(max-width:700px){.mgd-preset-cards{grid-template-columns:1fr}.mgd-preset-card{min-height:auto}}

/* RSVP poster studio: admin-only canvas prototype */
.mgd-poster-studio{margin:24px 0;padding:24px;border:1px solid #c9ad6b;background:#faf8f3;color:#183b37;border-radius:12px}.mgd-poster-studio h3{font-family:Georgia,serif;font-size:27px;margin:8px 0}.mgd-poster-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:20px 0}.mgd-poster-controls label{display:flex;flex-direction:column;gap:5px}.mgd-poster-controls input,.mgd-poster-controls select{width:100%;box-sizing:border-box}.mgd-poster-preview-wrap{max-width:360px;margin:20px auto}.mgd-poster-preview-wrap canvas{width:100%;height:auto;display:block;box-shadow:0 8px 26px #0003}.mgd-poster-actions{display:flex;flex-wrap:wrap;gap:12px}.mgd-poster-studio small{display:block;margin-top:12px}

/* Category-specific RSVP poster design picker */
.mgd-poster-templates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:15px 0 20px}.mgd-poster-template{background:#fffaf2;border:2px solid #e2d8c6;padding:7px;cursor:pointer;color:#173b34;text-align:left;border-radius:10px;min-width:0}.mgd-poster-template[aria-checked="true"]{border-color:#a47729;box-shadow:0 0 0 3px #dfbf7d}.mgd-poster-template img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block;border-radius:5px}.mgd-poster-template span{display:block;font-size:12px;margin-top:6px;font-weight:700}.mgd-poster-category-note{font-size:14px;color:#52615b}@media(min-width:1000px){.mgd-poster-templates{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* Hide legacy Invitation Atelier without deleting its data field. */
.mgd-template-panel[hidden]{display:none !important;}
.mgd-poster-template{cursor:pointer;touch-action:manipulation;}
.mgd-poster-template[aria-checked="true"]{outline:3px solid #b58b3e;outline-offset:2px;}

/* MGD 2026-10-28: Larger, responsive gift-registry image cards for every celebration. */
#event-view .gift-registry-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1320px;gap:26px}
#event-view .registry-item{border-radius:12px;box-shadow:0 12px 30px rgba(23,46,41,.08)}
#event-view .registry-photo{height:auto;aspect-ratio:4 / 4.3;min-height:330px;overflow:hidden}
#event-view .registry-photo img{width:100%;height:100%;object-fit:contain;background:#f4f0e9;display:block}
#event-view .registry-item-body{padding:25px}
#event-view .registry-item h3{font-size:clamp(23px,2.3vw,30px)}
@media(max-width:900px){#event-view .gift-registry-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}#event-view .registry-photo{min-height:280px}}
@media(max-width:540px){#event-view .gift-registry-grid{grid-template-columns:1fr;max-width:430px;gap:22px}#event-view .registry-photo{min-height:340px;aspect-ratio:4 / 4}#event-view .registry-item-body{padding:22px}}


/* My Grand Day — spacious Gift Registry cards (28 Oct 2026).
   Applies to every event; does not affect decorative .gift-card or JS behavior.
   The guest overlay previously forced three narrow columns, even for one gift. */
#event-view .mgd-guest-dialog:has(#gift-registry){width:min(1120px,calc(100vw - 36px));}
#event-view .mgd-guest-dialog #gift-registry{padding:70px clamp(18px,4vw,52px) 55px;}
#event-view .mgd-guest-dialog .gift-registry-grid,
#event-view .gift-registry-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:28px;
  max-width:1060px;
  margin:40px auto 15px;
}
#event-view .gift-registry-grid .registry-item{
  width:100%;min-width:0;
  border-radius:12px;
  box-shadow:0 12px 30px rgba(23,46,41,.08);
}
#event-view .gift-registry-grid .registry-photo{
  height:auto;min-height:0;aspect-ratio:4 / 3.5;
  overflow:hidden;background:#f4f0e9;
}
#event-view .gift-registry-grid .registry-photo img{
  display:block;width:100%;height:100%;object-fit:contain;
}
#event-view .gift-registry-grid .registry-item-body{padding:25px 28px 28px;}
/* A single gift should be showcased, rather than squeezed into a narrow column. */
#event-view .gift-registry-grid:has(> .registry-item:only-child){
  grid-template-columns:minmax(0,560px);justify-content:center;
}
@media(max-width:680px){
  #event-view .mgd-guest-dialog:has(#gift-registry){width:100%;}
  #event-view .mgd-guest-dialog #gift-registry{padding:72px 16px 36px;}
  #event-view .mgd-guest-dialog .gift-registry-grid,
  #event-view .gift-registry-grid{
    grid-template-columns:minmax(0,1fr);gap:22px;max-width:500px;
  }
  #event-view .gift-registry-grid:has(> .registry-item:only-child){grid-template-columns:minmax(0,1fr);}
  #event-view .gift-registry-grid .registry-photo{aspect-ratio:4 / 3.6;}
  #event-view .gift-registry-grid .registry-item-body{padding:22px;}
}

/* MGD gallery: show full photos without cropping, across celebrations. */
#event-view .gallery-item { background-size:contain; background-position:center; background-repeat:no-repeat; background-color:var(--event-bg,#f8f5ed); }

/* 2026-11-06: natural-aspect gallery, matching the compact reference design.
   Explicitly override old first-child/nth-child fixed slots and contain backgrounds. */
#event-view #gallery-grid.gallery-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-auto-rows:8px;
  gap:10px;
  align-items:start;
  grid-auto-flow:row dense;
}
#event-view #gallery-grid .gallery-item,
#event-view #gallery-grid .gallery-item:first-child,
#event-view #gallery-grid .gallery-item:nth-child(4),
#event-view #gallery-grid .gallery-item:nth-child(n+5) {
  grid-column:auto;
  grid-row:auto;
  width:100%;height:100%;min-height:0;
  margin:0;padding:0;
  border:0;
  border-radius:3px;
  display:block;
  overflow:hidden;
  background:transparent;
  position:relative;
  box-shadow:none;
}
#event-view #gallery-grid .mgd-gallery-photo {
  display:block;
  width:100%;height:100%;
  object-fit:fill; /* the frame has the image's own natural aspect ratio */
  border-radius:3px;
}
#event-view #gallery-grid .gallery-item::after,
#event-view #gallery-grid .gallery-item::before {content:none!important;display:none!important;}
#event-view #gallery-grid .gallery-item:hover {transform:none;box-shadow:0 8px 20px #103f3c30;}
#event-view #gallery-grid .gallery-item:focus-visible {outline:3px solid var(--event-gold,#c7a66a);outline-offset:2px;}
#event-view #gallery-grid .mgd-gallery-placeholder {min-height:160px;height:auto;grid-row:span 16;background:var(--event-accent,#176e6b);}
@media(max-width:680px){#event-view #gallery-grid.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}}
@media(max-width:380px){#event-view #gallery-grid.gallery-grid{grid-template-columns:minmax(0,1fr);}}

/* MGD 2026-11-06: restore pointer-responsive 3D tilt without changing masonry sizing. */
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  #event-view #gallery-grid { perspective: 1100px; }
  #event-view #gallery-grid .gallery-item {
    --mgd-tilt-x: 0deg;
    --mgd-tilt-y: 0deg;
    transform: perspective(1000px) rotateX(var(--mgd-tilt-x)) rotateY(var(--mgd-tilt-y)) translateZ(0);
    transform-origin:center;
    transition:transform 260ms ease, box-shadow 260ms ease;
    will-change:transform;
    backface-visibility:hidden;
  }
  #event-view #gallery-grid .gallery-item:hover {
    transform: perspective(1000px) rotateX(var(--mgd-tilt-x)) rotateY(var(--mgd-tilt-y)) translateZ(13px);
    box-shadow:0 16px 30px #103f3c45;
    z-index:3;
  }
}

/* STEP 36 — event-grouped RSVP monitor, scoped to the admin panel */
#admin-rsvps-panel .mgd-monitor-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:22px 0}
#admin-rsvps-panel .mgd-monitor-summary>div,#admin-rsvps-panel .mgd-monitor-stats>div{background:#fffdf8;border:1px solid #e4d7c0;border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:7px}
#admin-rsvps-panel .mgd-monitor-summary span,#admin-rsvps-panel .mgd-monitor-stats span{font:500 10px 'DM Sans',sans-serif;letter-spacing:.07em;text-transform:uppercase;color:#746f63}
#admin-rsvps-panel .mgd-monitor-summary strong{font:normal 36px 'Cormorant Garamond',serif;color:#176e6b}
#admin-rsvps-panel .mgd-monitor-search-label{display:block;font-size:12px;margin:18px 0 8px;color:#42584d}
#admin-rsvps-panel .mgd-monitor-search{width:100%;max-width:510px;padding:13px 15px;border:1px solid #d7c8ad;background:#fffdf8;border-radius:8px}
#admin-rsvps-panel .mgd-monitor-privacy{font-size:11px;color:#77766e;margin:13px 0 18px;line-height:1.6}
#admin-rsvps-panel .mgd-monitor-event{background:#fffdf8;border:1px solid #e4d7c0;border-radius:12px;margin:14px 0;overflow:hidden}
#admin-rsvps-panel .mgd-monitor-event>summary{list-style:none;display:flex;align-items:center;gap:16px;cursor:pointer;padding:20px 23px}
#admin-rsvps-panel .mgd-monitor-event>summary::-webkit-details-marker{display:none}
#admin-rsvps-panel .mgd-monitor-event-title{flex:1;font:normal 27px 'Cormorant Garamond',serif;color:#194f48}
#admin-rsvps-panel .mgd-monitor-event-title small{display:block;font:500 10px 'DM Sans',sans-serif;color:#8a7654;letter-spacing:.1em;text-transform:uppercase;margin-top:5px}
#admin-rsvps-panel .mgd-monitor-event-count{font-size:11px;color:#6a6e65;white-space:nowrap}
#admin-rsvps-panel .mgd-monitor-chevron{font-size:25px;color:#176e6b;transition:transform .2s}
#admin-rsvps-panel details[open] .mgd-monitor-chevron{transform:rotate(180deg)}
#admin-rsvps-panel .mgd-monitor-event-body{padding:0 23px 24px;border-top:1px solid #ece2d1}
#admin-rsvps-panel .mgd-monitor-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:20px 0}
#admin-rsvps-panel .mgd-monitor-stats strong{font:normal 29px 'Cormorant Garamond',serif;color:#176e6b}
#admin-rsvps-panel .mgd-monitor-rate{display:flex;justify-content:space-between;font-size:11px;color:#50645a;margin:12px 0 8px}
#admin-rsvps-panel .mgd-monitor-progress{height:8px;background:#e9e2d6;border-radius:20px;overflow:hidden}
#admin-rsvps-panel .mgd-monitor-progress span{display:block;height:100%;background:#176e6b;border-radius:20px}
#admin-rsvps-panel .mgd-monitor-event-body h4{font:normal 25px 'Cormorant Garamond',serif;color:#194f48;margin:25px 0 10px}
#admin-rsvps-panel .mgd-monitor-guest{border-top:1px solid #e8dfd0;padding:14px 0}
#admin-rsvps-panel .mgd-monitor-guest-head{display:flex;gap:10px;justify-content:space-between;align-items:center}
#admin-rsvps-panel .mgd-monitor-guest-head strong{font:normal 22px 'Cormorant Garamond',serif;color:#194f48}
#admin-rsvps-panel .mgd-monitor-guest-head span{font-size:10px;color:#176e6b;text-transform:uppercase}
#admin-rsvps-panel .mgd-monitor-guest p{font-size:12px;line-height:1.6;color:#6b716a;margin:6px 0;overflow-wrap:anywhere}
#admin-rsvps-panel .mgd-monitor-guest b{color:#43584e}
@media(max-width:650px){#admin-rsvps-panel .mgd-monitor-summary,#admin-rsvps-panel .mgd-monitor-stats{grid-template-columns:repeat(2,minmax(0,1fr))}#admin-rsvps-panel .mgd-monitor-event>summary{padding:16px;gap:8px}#admin-rsvps-panel .mgd-monitor-event-body{padding:0 16px 20px}#admin-rsvps-panel .mgd-monitor-event-title{font-size:23px}}

/* STEP 38A: admin-only client invitation panel */
.mgd-client-manager{margin:22px 0;padding:22px;border:1px solid #d9c9a8;background:#fffdf7;border-radius:12px}
.mgd-client-manager h3{font-size:28px;margin:0 0 10px}
.mgd-client-manager p{font-size:12px;line-height:1.7;color:#59665f}
.mgd-client-manager label{display:block;margin:12px 0 7px;font-weight:600;font-size:12px}
.mgd-client-manager input{display:block;width:100%;max-width:440px;padding:12px;border:1px solid #cfc4b1;border-radius:6px}
.mgd-client-manager-actions{display:flex;gap:10px;flex-wrap:wrap;margin:15px 0}
.mgd-client-manager button:disabled{opacity:.55;cursor:not-allowed;transform:none}
