/* EVENT / IF 3.0: responsive, print-aware event interface */
:root{--ev-forest:#213d36;--ev-muted:#67766e;--ev-cream:#fcfaf5;--ev-gold:#b79567}
.ev-welcome{border-radius:20px;background:linear-gradient(110deg,#213a32,#3e5d4e);color:#fff;display:flex;gap:22px;align-items:center;justify-content:space-between;padding:24px 28px;margin-bottom:14px;box-shadow:0 14px 30px #193c2620}.ev-welcome h3{color:#fff;font:600 27px/1.2 Georgia,serif;margin:5px 0}.ev-welcome p{color:#e3ece6;margin:0;max-width:600px}.ev-welcome .pro-btn{color:#173628;background:#f8e6b9;border:0}.ev-eyebrow{font:700 10px/1.3 system-ui,sans-serif;letter-spacing:.16em;color:#ab8e60}.ev-welcome .ev-eyebrow{color:#f0cda2}.ev-start{background:#f4f0e9;border:1px solid #e4ded3;border-radius:16px;padding:15px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:18px}.ev-start>span{font-weight:700;min-width:150px}.ev-start input{min-width:180px;flex:1}.ev-start select{min-width:190px;flex:1}.ev-start input,.ev-start select,.ev-form input,.ev-form textarea,.ev-qr-controls input:not([type=checkbox]),.ev-qr-controls select{padding:10px;border-radius:9px;border:1px solid #c9d1c9;font:inherit;background:white;color:#22382e;max-width:100%}.ev-title h2{font:600 clamp(25px,3vw,35px)/1.17 Georgia,serif;color:#243b33;margin:6px 0 10px}.ev-title p{color:var(--ev-muted);max-width:780px}.ev-category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:22px 0}.ev-category{background:#fff;border:1px solid #e1dfd6;border-radius:14px;min-height:110px;padding:16px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:10px;text-align:left;cursor:pointer;color:#293c34;transition:transform .15s,box-shadow .15s,border-color .15s}.ev-category:hover,.ev-category:focus-visible{transform:translateY(-2px);box-shadow:0 9px 19px #25453714}.ev-category.active{border:2px solid #9a7d54;background:#fdf7eb}.ev-category span{font-size:25px}.ev-category strong{font-size:14px;line-height:1.25}.ev-setup-tools{display:flex;flex-wrap:wrap;gap:9px;margin:14px 0}.ev-guest-layout{display:grid;grid-template-columns:minmax(300px,1fr) minmax(300px,.85fr);gap:22px;align-items:start}.ev-form{display:grid;gap:12px}.ev-form label,.ev-qr-controls label{display:flex;flex-direction:column;font-weight:650;font-size:13px;color:#283c34;gap:6px}.ev-form textarea{min-height:65px;resize:vertical}.ev-guest-preview{background:#e8e5df;border:1px solid #e1dbd1;border-radius:16px;padding:16px}.ev-guest-card{box-shadow:0 12px 32px #111c161c;border-radius:12px;overflow:hidden;background:#fff;color:#2a4338;line-height:1.5}.ev-guest-header{background:#28473d;color:#fff;padding:34px 28px;text-align:center}.ev-guest-header>span{font:700 9px system-ui;letter-spacing:.24em;color:#dbbb83}.ev-guest-header i{display:block;font:32px/1.3 system-ui;margin-top:14px}.ev-guest-header h1{font:600 clamp(25px,3vw,35px)/1.1 Georgia,serif;margin:10px 0;color:#fff;overflow-wrap:anywhere}.ev-guest-header p{max-width:390px;margin:9px auto 0;color:#e4eae4}.ev-date{margin-top:14px;font:700 12px system-ui}.ev-guest-body{padding:25px 29px}.ev-guest-body section{margin:0;padding:14px 0;border-top:1px solid #e8e6df}.ev-guest-body h2{font:700 12px system-ui;letter-spacing:.07em;text-transform:uppercase;color:#897653}.ev-guest-body p{margin:6px 0 0;font:15px/1.7 Georgia,serif;overflow-wrap:anywhere}.ev-map-button{display:block;background:#ebded0;border-radius:8px;text-align:center;padding:12px;margin:0 0 15px;color:#223c32!important;text-decoration:none;font-weight:700}.ev-guest-card footer{background:#f3f0e9;padding:16px;text-align:center;font:11px system-ui;color:#6c746d}.ev-qr-controls{border:1px solid #e4d9c7;border-radius:14px;background:#fffdf8;padding:15px;margin:18px 0}.ev-qr-controls h3{font-size:15px!important;margin:14px 0 7px!important}.ev-qr-controls p{font-size:12px;color:#5b6b62}.ev-qr-controls label{margin-top:11px}.ev-qr-controls .ev-check{display:flex;flex-direction:row;align-items:center}.ev-qr-controls .ev-check input{width:16px;height:16px}.ev-qr-controls input[type=range]{width:100%}.ev-warning{background:#fff0d9;border-left:3px solid #c98731;padding:10px}.ev-qr-layer{position:absolute;z-index:5;aspect-ratio:1/1;cursor:grab;user-select:none;touch-action:none;background:white;border:5px solid #fff;border-radius:4px;box-shadow:0 3px 8px #0013}.ev-qr-layer:active{cursor:grabbing}.ev-qr-layer svg{width:100%;height:100%;display:block}.ev-template{position:relative;overflow:hidden;width:100%;min-height:540px!important;aspect-ratio:5/7;background:var(--inv-bg);color:var(--inv-ink);border-radius:4px;container-type:inline-size}.ev-template .inv-canvas{width:100%;height:100%;position:absolute;inset:0;font-family:Georgia,serif}.ev-template h2,.ev-template h3,.ev-template p{overflow-wrap:anywhere;color:inherit}.ev-template h2{font-family:Georgia,serif}.ev-template small{font:600 10px/1.5 system-ui;letter-spacing:.13em}.ev-template .inv-canvas>div{height:100%}.ev-terracotta{padding:10% 10% 8%;display:flex;flex-direction:column;text-align:center;align-items:center;background:var(--inv-bg)}.ev-terracotta>small:first-child{align-self:flex-start}.ev-stacked{margin:15% 0 3%;font:900 clamp(34px,9cqi,78px)/.92 system-ui;letter-spacing:-.06em}.ev-stacked i{display:block;font:500 clamp(16px,3cqi,30px) Georgia;letter-spacing:.2em}.ev-stacked b{display:block}.ev-rule{width:55%;height:2px;background:var(--inv-accent);margin:4% 0 8%}.ev-terracotta h2{font-size:clamp(26px,5.5cqi,47px);margin:2% 0}.ev-terracotta p{margin:2% 0}.ev-terracotta strong{margin-top:auto}.ev-terracotta small:last-child{margin-top:4%}.ev-monogram{padding:7%;height:100%;background:var(--inv-bg)}.ev-monogram-border{border:2px solid var(--inv-accent);height:100%;padding:9%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:13px}.ev-monogram-letter{font:120px/.95 Georgia;color:var(--inv-accent)}.ev-monogram h2{font-size:clamp(27px,5cqi,42px);margin:0}.ev-monogram p{font-style:italic}.ev-confetti{padding:9%;background:var(--inv-bg);height:100%;display:flex;flex-direction:column}.ev-confetti>span{font-size:32px;color:var(--inv-accent);word-spacing:12px}.ev-confetti h2{font:1000 clamp(38px,9cqi,88px)/.89 system-ui;color:var(--inv-ink);letter-spacing:-.065em;margin:8% 0}.ev-confetti h3{font:600 30px Georgia}.ev-confetti-bottom{margin-top:auto;padding:18px;background:var(--inv-accent);color:white;display:flex;flex-direction:column;gap:6px}.ev-midcentury{padding:9%;display:flex;flex-direction:column;gap:10px;text-align:center;align-items:center}.ev-mid-sun{width:48%;aspect-ratio:1;border-radius:50%;background:var(--inv-accent);margin:5% 0 12%;position:relative}.ev-mid-sun:after{content:"";position:absolute;left:-32%;right:-32%;top:50%;height:16%;background:var(--inv-bg);transform:rotate(-17deg)}.ev-midcentury h2{font-size:clamp(34px,6cqi,59px);font-weight:500}.ev-mid-row{display:flex;gap:20px;align-items:center;justify-content:center;font:700 14px system-ui}.ev-midcentury p{margin-top:8%}.ev-midcentury small:last-child{margin-top:auto}.ev-conference{display:flex;flex-direction:column;height:100%;padding:9%;font-family:system-ui}.ev-conference>header{display:flex;justify-content:space-between;border-bottom:2px solid var(--inv-ink);font:600 12px system-ui;padding-bottom:14px}.ev-conference-major{margin-top:24%;}.ev-conference-major h2{font:800 clamp(37px,8cqi,72px)/1 system-ui;letter-spacing:-.05em}.ev-conference-major p{color:#607074}.ev-conference-lines{margin-top:auto;display:grid;grid-template-columns:1fr 2fr;gap:10px;padding-top:20px;border-top:3px solid var(--inv-accent);font:13px system-ui}.ev-conference-lines span{color:var(--inv-accent)}.ev-photoedge{position:relative;display:flex;flex-direction:column;color:#fff}.ev-photoedge-photo{height:61%;background:linear-gradient(145deg,#526b56,#192f29)}.ev-photoedge-photo img{height:100%;width:100%;object-fit:cover}.ev-photoedge-copy{height:39%;background:var(--inv-ink);color:var(--inv-bg);padding:7%;display:flex;flex-direction:column;gap:3px}.ev-photoedge-copy h2{font:700 clamp(30px,6cqi,56px) Georgia;margin:0}.ev-photoedge-copy p{margin:4px 0}.ev-photoedge-copy strong{margin-top:auto}.ev-brutalist{padding:9%;background:var(--inv-bg);font-family:system-ui;display:flex;flex-direction:column}.ev-brutalist-top{display:flex;justify-content:space-between;border-bottom:6px solid var(--inv-ink);padding-bottom:12px;font:800 13px system-ui}.ev-brutalist h2{font:950 clamp(43px,12cqi,96px)/.85 system-ui;letter-spacing:-.07em;margin:13% 0 5%}.ev-brutalist-tag{background:var(--inv-accent);font:800 13px system-ui;color:white;padding:9px;align-self:flex-start}.ev-brutalist h3{font:700 clamp(25px,5cqi,48px) system-ui;margin-top:10%}.ev-brutalist-base{margin-top:auto;border-top:3px solid var(--inv-ink);padding-top:12px;display:flex;flex-direction:column;gap:6px}.ev-lavenderfield{background:var(--inv-bg);padding:12%;display:flex;flex-direction:column;align-items:center;text-align:center;gap:13px}.ev-paint{width:100%;font-size:60px;color:var(--inv-accent);margin:4% 0 11%;transform:rotate(-8deg)}.ev-lavenderfield h2{font:500 clamp(34px,6.5cqi,57px) Georgia;margin:0}.ev-lavenderfield p{font-style:italic;color:#7e657f}.ev-lavenderfield-detail{margin-top:auto;border-top:1px solid var(--inv-accent);border-bottom:1px solid var(--inv-accent);padding:16px;width:100%;display:grid;gap:8px}.ev-starlight{background:radial-gradient(circle at 50% 32%,#314665,var(--inv-bg) 70%);color:var(--inv-ink);height:100%;padding:12%;text-align:center;display:flex;flex-direction:column;align-items:center;gap:18px}.ev-sky{font-size:25px;color:var(--inv-accent);letter-spacing:.6em}.ev-starlight h2{font:500 clamp(34px,6cqi,56px) Georgia;margin-top:12%}.ev-starlight-circle{border:1px solid var(--inv-accent);border-radius:50%;width:155px;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;margin-top:auto;gap:8px}.ev-ticketplus{display:flex;margin:5%;height:90%!important;box-shadow:0 5px 20px #0001;border:2px solid var(--inv-ink);background:var(--inv-bg)}.ev-ticket-main{display:flex;flex-direction:column;flex:1;padding:7%}.ev-ticket-main>header{display:flex;justify-content:space-between;font:700 10px system-ui}.ev-ticket-badge{color:var(--inv-accent);margin-top:20%;font:800 11px system-ui}.ev-ticket-main h2{font:600 clamp(33px,7cqi,55px) Georgia}.ev-ticket-bottom{margin-top:auto;display:flex;flex-direction:column;gap:7px;border-top:1px solid var(--inv-ink);padding-top:10px}.ev-ticket-stub{width:24%;border-left:2px dashed var(--inv-ink);writing-mode:vertical-rl;display:flex;align-items:center;justify-content:space-around;padding:10px;font:600 10px system-ui}.ev-ticket-stub b{font:54px Georgia;color:var(--inv-accent)}.ev-custom{position:relative;background:#f8f8f8;display:flex;align-items:flex-end;justify-content:center;padding:6%}.ev-custom-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.ev-custom-note{position:relative;z-index:1;background:#fffefaed;color:#273b32;padding:14px;text-align:center;width:100%;border-radius:5px}.ev-custom-note>*{display:block}.pro-invite{position:relative!important;overflow:hidden}.pro-invite>.ev-qr-layer{z-index:10}.pro-swatch .inv-layout-mini[class*=terracotta],.pro-swatch .inv-layout-mini[class*=monogram],.pro-swatch .inv-layout-mini[class*=midcentury]{background:#e4d2bd}.pro-swatch .inv-layout-mini[class*=confetti],.pro-swatch .inv-layout-mini[class*=brutalist]{background:#e8d09a}.pro-swatch .inv-layout-mini[class*=conference],.pro-swatch .inv-layout-mini[class*=starlight]{background:#263d42}.pro-swatch .inv-layout-mini[class*=lavenderfield]{background:#dcd3e6}.pro-swatch .inv-layout-mini[class*=ticketplus]{background:#dfc4a7}
@media(max-width:1050px){.ev-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ev-guest-layout{grid-template-columns:1fr}.ev-welcome{align-items:flex-start}}
@media(max-width:600px){.ev-welcome{flex-direction:column;padding:20px}.ev-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ev-category{padding:10px;min-height:94px}.ev-category strong{font-size:12px}.ev-start{flex-direction:column;align-items:stretch}.ev-start input,.ev-start select{width:100%;min-width:0}.ev-guest-layout{display:block}.ev-guest-preview{margin-top:16px;padding:7px}.ev-guest-header{padding:23px 14px}.ev-guest-body{padding:18px}.ev-template{min-height:420px!important}}
@media print{.ev-qr-layer{box-shadow:none}.ev-qr-controls,.ev-setup-tools{display:none!important}.ev-template{page-break-inside:avoid}}

body:has(#pro-mask[style*="block"])>.app{display:none!important}body:has(#pro-mask[style*="block"]){background:#20382f}.pro-mask{background:#20382f!important}

/* Preserve each new composition's type scale against legacy invitation typography rules. */
.pro-invite.ev-template .inv-canvas .ev-confetti h2{font:900 clamp(43px,9.4cqi,89px)/.90 system-ui!important;letter-spacing:-.075em!important;margin:9% 0 5%!important}
.pro-invite.ev-template .inv-canvas .ev-confetti h3{font:650 clamp(26px,5cqi,45px)/1.1 Georgia,serif!important;margin:4% 0!important}
.pro-invite.ev-template .inv-canvas .ev-brutalist h2{font:950 clamp(50px,11cqi,100px)/.88 system-ui!important;letter-spacing:-.075em!important;margin:13% 0 5%!important}
.pro-invite.ev-template .inv-canvas .ev-brutalist h3{font:750 clamp(28px,5.5cqi,50px)/1.02 system-ui!important;margin:9% 0!important}
.pro-invite.ev-template .inv-canvas .ev-conference-major h2{font:800 clamp(39px,8cqi,76px)/1 system-ui!important;letter-spacing:-.065em!important;margin:5% 0 3%!important}
.pro-invite.ev-template .inv-canvas .ev-photoedge-copy h2{font:600 clamp(32px,6.1cqi,56px)/1.07 Georgia,serif!important;margin:1% 0!important}
.pro-invite.ev-template .inv-canvas .ev-midcentury h2{font:500 clamp(35px,6.5cqi,58px)/1.13 Georgia,serif!important}
.pro-invite.ev-template .inv-canvas .ev-monogram h2{font:550 clamp(29px,5.4cqi,49px)/1.15 Georgia,serif!important;margin:0!important}
.pro-invite.ev-template .inv-canvas .ev-lavenderfield h2{font:520 clamp(33px,6.4cqi,58px)/1.12 Georgia,serif!important;margin:0!important}
.pro-invite.ev-template .inv-canvas .ev-starlight h2{font:530 clamp(36px,6.5cqi,60px)/1.13 Georgia,serif!important;margin:8% 0!important}
.pro-invite.ev-template .inv-canvas .ev-ticket-main h2{font:570 clamp(33px,7cqi,63px)/1.08 Georgia,serif!important;margin:8% 0!important}
.ev-photoedge-photo:empty{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;background:radial-gradient(ellipse at 25% 15%,#7b9b82 0,#385746 52%,#1b352c 100%)}
.ev-photoedge-photo:empty:before{content:'✧';color:#d9c9a3;font-size:70px;line-height:1.2;opacity:.85}
.ev-photoedge-photo:empty:after{content:'ADD YOUR PHOTO';color:#e5dbc2;font:700 11px/1 system-ui;letter-spacing:.18em;opacity:.95}
.ev-confetti{position:relative;overflow:hidden}.ev-confetti:after{content:'● ✳ ◆ ◐';position:absolute;right:-26px;top:39%;transform:rotate(25deg);color:var(--inv-accent);font:36px system-ui;opacity:.16;writing-mode:vertical-rl;pointer-events:none}
