/*
Theme Name: Emily & Max — Something Blue
Description: Bespoke ivory and pale-blue wedding stationery with an embossed envelope and animated reveal.
Version: 1.0.4
Requires at least: 6.4
Requires PHP: 8.0
Author: Emily & Max
Text Domain: emily-max-invitation
*/
:root{--em-blue:#c3e7fa;--em-ink:#526b7c;--em-paper:#fdfbf6;--em-line:#d7e1e5;color-scheme:light}
*{box-sizing:border-box}body{margin:0;background:#f0eee8;color:var(--em-ink);font-family:'DM Sans',Arial,sans-serif;font-size:14px;line-height:1.8}button,input,textarea,select{font:inherit}a{color:inherit}#emw-app{max-width:570px;padding:24px 16px 45px}#emw-app h1,#emw-app h2,#emw-app h3{font-weight:400}#emw-app h1{font-family:'Italianno',Georgia,serif;font-size:88px;line-height:1.05;margin:30px 0}#emw-app h1 em{display:block;font-family:'Cormorant Garamond',Georgia,serif;font-size:28px;line-height:.65;margin:9px 0 15px;font-weight:400;color:#8ca9b8}#emw-app h2,#emw-app h3{font-family:'Cormorant Garamond',Georgia,serif}#emw-app h2{font-size:34px;line-height:1.3;margin:20px 0 8px}#emw-app h3{font-size:28px;line-height:1.2;margin:15px 0}#emw-app p{margin:12px 0}#emw-app .emw-paper{position:relative;isolation:isolate;background:var(--em-paper);padding:42px 34px 35px;text-align:center;box-shadow:0 8px 40px #38546a0c;animation:paper-in .7s ease both}#emw-app .emw-paper:before{content:'';position:absolute;inset:0;pointer-events:none;z-index:-1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Cpath fill='%23877b65' filter='url(%23p)' opacity='.2' d='M0 0h180v180H0z'/%3E%3C/svg%3E");opacity:.4;mix-blend-mode:multiply}#emw-app .emw-paper:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 12% 20%,#ede4d41a,transparent 50%),radial-gradient(ellipse at 85% 75%,#d8cbb31c,transparent 55%)}#emw-app .monogram{font-family:'Cormorant Garamond',Georgia,serif;font-size:24px;letter-spacing:3px}#emw-app .monogram em{font-size:18px}#emw-app .fine-rule{width:46px;height:1px;background:#afc4d0;margin:22px auto 28px}#emw-app .eyebrow{font-size:10px;letter-spacing:2.5px;color:#687f8d}#emw-app .dedication{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:25px;margin-top:25px}#emw-wording{max-width:290px;margin:12px auto!important}#emw-app .venue-art{width:calc(100% + 48px);max-width:none;margin:25px -24px;mix-blend-mode:multiply}#emw-app .wedding-date{font-family:'Cormorant Garamond',Georgia,serif;font-size:36px;line-height:1.3;margin:8px 0}#emw-app .primary-button{display:block;min-width:190px;max-width:100%;background:transparent;border:1px solid #b5cbd7;border-radius:30px;color:var(--em-ink);font-size:13px;letter-spacing:1px;font-weight:400;padding:13px 25px;margin:28px auto 14px;transition:background .25s,transform .25s}#emw-app .primary-button:hover{background:#eaf4f9;transform:translateY(-2px)}#emw-app .text-button,#emw-app .small-actions a,#emw-app .small-actions button{background:none;border:0;border-bottom:1px solid #acc2ce;padding:8px 0;color:inherit;text-decoration:none;font-size:12px}#emw-app .small-actions{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;margin:20px 0}#emw-app .small-note{font-size:12px;color:#687c88;line-height:1.7}#emw-app .countdown{display:flex;justify-content:center;gap:30px;margin:34px auto;padding:22px 0;border-top:1px solid var(--em-line);border-bottom:1px solid var(--em-line)}#emw-app .countdown span{display:block;font-family:'Cormorant Garamond',Georgia,serif;font-size:32px;line-height:1.25}#emw-app .countdown small{font-size:9px;letter-spacing:2px}#emw-app .invitation-details{text-align:left;margin:35px auto;max-width:420px}#emw-app details{border-bottom:1px solid var(--em-line);padding:18px 0}#emw-app summary{cursor:pointer;font-family:'Cormorant Garamond',Georgia,serif;font-size:25px;list-style:none;display:flex;justify-content:space-between;align-items:center}#emw-app summary::-webkit-details-marker{display:none}#emw-app summary:after{content:'+';font-family:Arial,sans-serif;font-size:16px;color:#89a4b3}#emw-app details[open] summary:after{content:'−'}#emw-app details[open]>p{animation:paper-in .4s ease}#emw-app #emw-accommodation{white-space:pre-line}#emw-app .signoff,#emw-app .script-title{font-family:'Italianno',Georgia,serif;font-size:56px;line-height:1.15;font-weight:400}#emw-app .signoff{font-size:37px;margin:32px 0 20px}#emw-app .day-plan{margin:48px auto 24px;max-width:380px}#emw-app .day-plan>h2{font-family:'Italianno',Georgia,serif;font-size:53px}#emw-app .event-path{position:relative;margin:30px 0 10px;padding:0;list-style:none}#emw-app .event-path li{position:relative;display:grid;grid-template-columns:1fr 36px 1fr;min-height:135px;align-items:start;text-align:right}#emw-app .event-path li:before{content:'';position:absolute;top:12px;bottom:-12px;width:38px;left:calc(50% - 1px);border-left:1px dashed #9cbccb;border-bottom:1px dashed #9cbccb;border-radius:0 0 0 32px;transform:skewY(-12deg);pointer-events:none}#emw-app .event-path li:nth-child(even):before{left:auto;right:calc(50% - 1px);border-left:0;border-right:1px dashed #9cbccb;border-radius:0 0 32px 0;transform:skewY(12deg)}#emw-app .event-path li:last-child:before{display:none}#emw-app .event-copy{grid-column:1;padding:0 8px 22px 0}#emw-app .event-path li:nth-child(even) .event-copy{grid-column:3;text-align:left;padding:0 0 22px 8px}#emw-app .event-dot{grid-column:2;grid-row:1;width:11px;height:11px;border:1px solid #93b4c5;background:var(--em-paper);border-radius:50%;justify-self:center;margin-top:8px;z-index:1;box-shadow:0 0 0 5px var(--em-paper)}#emw-app .event-time{font-size:10px;letter-spacing:1.3px;color:#698797}#emw-app .event-copy h3{font-size:25px;margin:6px 0}#emw-app .event-copy p{font-size:12px;line-height:1.6;margin:6px 0}#emw-app #emw-envelope{position:relative;isolation:isolate;aspect-ratio:9/16;max-width:450px;margin:0 auto;overflow:hidden;text-align:center;background:var(--em-paper)}#emw-app .envelope-panel{position:absolute;inset:0;z-index:-1;background:url('assets/envelope.jpg') center/100% 100%;pointer-events:none}#emw-app .panel-left{clip-path:polygon(0 0,50% 0,50% 100%,0 100%)}#emw-app .panel-right{clip-path:polygon(50% 0,100% 0,100% 100%,50% 100%)}#emw-app .envelope-top{position:absolute;top:6%;left:10%;right:10%;font-size:9px;letter-spacing:2px}#emw-app .envelope-address{position:absolute;top:16%;left:9%;right:9%}#emw-app .envelope-address h2{font-family:'Italianno',Georgia,serif;font-size:clamp(40px,8vw,56px);margin:8px 0;line-height:1.15;overflow-wrap:anywhere}#emw-app .envelope-address .eyebrow{font-size:9px}#emw-app .envelope-address>p:last-child{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:19px;max-width:230px;margin:12px auto;line-height:1.35}#emw-app .wax-seal{position:absolute;top:45%;left:50%;transform:translateX(-50%) rotate(-7deg);width:25%;height:auto;aspect-ratio:1;border-radius:47% 50% 46% 49%;border:6px double #d9d2c3;background:radial-gradient(ellipse at 30% 22%,#fffdf4,#f1ece0 65%,#d8d0be);font-family:'Cormorant Garamond',Georgia,serif;font-size:34px;font-weight:400;color:#8d877a;box-shadow:2px 7px 12px #304b6030,inset 0 0 0 3px #f8f4e9;text-shadow:0 1px 0 #fff;transition:transform .35s}#emw-app .wax-seal span{font-size:.7em;font-style:italic;margin:0 2px}#emw-app .wax-seal:hover{transform:translateX(-50%) rotate(0) scale(1.04)}#emw-app .envelope-open{position:absolute;top:77%;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:12px;letter-spacing:1px;background:none;border:0;border-bottom:1px solid #8daebe;padding:8px 0;color:var(--em-ink)}#emw-app .envelope-bottom{position:absolute;bottom:6%;left:12%;right:12%;font-size:10px;letter-spacing:1.5px}#emw-app .envelope-shimmer{position:absolute;inset:0;pointer-events:none;opacity:0;z-index:2;mix-blend-mode:soft-light;background:linear-gradient(125deg,transparent 20%,#ffe0a766 38%,#fff8dccc 48%,#ffe6b388 54%,transparent 72%);background-size:280% 280%}#emw-app .opening .envelope-shimmer{animation:golden-sweep 1.7s ease-in-out both}#emw-app .opening .wax-seal{animation:seal-light 2.4s ease-in-out both;opacity:1}#emw-app .opening .panel-left{animation:part-left 1.3s cubic-bezier(.3,0,.2,1) 1.55s both}#emw-app .opening .panel-right{animation:part-right 1.3s cubic-bezier(.3,0,.2,1) 1.55s both}#emw-app .opening .envelope-address,#emw-app .opening .envelope-top,#emw-app .opening .envelope-bottom,#emw-app .opening .envelope-open{animation:writing-away .65s ease 1.1s both}#emw-app .guest-progress{font-size:10px;letter-spacing:2px;margin:25px 0 10px;text-transform:uppercase}#emw-guest-fields{text-align:left}#emw-guest-fields>h3{text-align:center}#emw-app .attendance-options{padding:0;border:0;display:flex;gap:10px;margin:22px 0}#emw-app .attendance-options label{flex:1;display:flex;align-items:center;gap:8px;padding:11px;border:1px solid #d5e1e7;border-radius:4px;font-size:13px;cursor:pointer}#emw-app .attendance-options label:has(input:checked){background:#edf6fb;border-color:#a9c5d5}#emw-app input{accent-color:#526b7c}#emw-app .emw-field>span{display:block;font-size:12px;letter-spacing:.4px;margin-bottom:6px}#emw-app select,#emw-app textarea{width:100%;font-size:16px;background:#fffefa;color:var(--em-ink);border:1px solid #c7d8e1;border-radius:4px;padding:12px}#emw-app .form-actions{display:flex;justify-content:space-between;gap:15px;align-items:center}#emw-app .form-actions .primary-button{min-width:0;margin:20px 0 15px auto}#emw-app .reply-person{text-align:left;padding:18px 0;border-bottom:1px solid var(--em-line)}#emw-app .reply-person p{margin:6px 0;overflow-wrap:anywhere}#emw-app .emw-test{background:#e7f2f9;color:#405e70;text-align:center;padding:9px;font-size:12px}#emw-status{text-align:center;padding:30px}
@keyframes paper-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes golden-sweep{0%{opacity:0;background-position:100% 100%}30%{opacity:.8}65%{opacity:1}100%{opacity:0;background-position:0 0}}@keyframes seal-light{0%{opacity:1;transform:translateX(-50%) rotate(-7deg)}35%{opacity:1;box-shadow:0 0 20px 8px #ffe5a999,inset 0 0 18px #fff9da;filter:brightness(1.08);transform:translateX(-50%) rotate(0) scale(1.06)}60%{opacity:1;transform:translateX(-50%) rotate(0) scale(1.06)}100%{opacity:0;transform:translateX(-50%) translateY(28px) scale(1.18)}}@keyframes part-left{to{transform:translateX(-75%) rotate(-9deg);opacity:0}}@keyframes part-right{to{transform:translateX(75%) rotate(9deg);opacity:0}}@keyframes writing-away{to{opacity:0}}
@media(max-width:460px){#emw-app{padding:0 0 30px}.emw-paper{box-shadow:none!important}#emw-app .emw-paper{padding:32px 24px}#emw-app h1{font-size:76px}#emw-app .attendance-options{display:block}#emw-app .attendance-options label{margin:10px 0;min-height:45px}#emw-app .event-path li{grid-template-columns:1fr 28px 1fr}#emw-app .event-copy h3{font-size:23px}#emw-app .wax-seal{font-size:28px}#emw-app .countdown{gap:26px}#emw-app .small-actions{gap:18px}#emw-app .primary-button{min-height:46px}#emw-app .text-button{min-height:44px}}
@media(prefers-reduced-motion:reduce){#emw-app *,#emw-app *:before{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Keep lettering inside the clear upper flap, away from the embossed edges. */
#emw-app .envelope-address{top:14%;left:16%;right:16%;color:#344f60}
#emw-app .envelope-address h2{font-size:clamp(32px,7vw,48px);line-height:1.35;margin:12px 0 18px;padding:0 5px;text-wrap:balance}
#emw-app .envelope-address .eyebrow{color:#405e70}
#emw-app .envelope-address>p:last-child{max-width:175px;font-size:17px;line-height:1.5;margin:0 auto;text-wrap:balance}
#emw-app .envelope-top,#emw-app .envelope-bottom,#emw-app .envelope-open{color:#405e70}
@media(max-width:360px){#emw-app .envelope-address{top:12%}#emw-app .envelope-address h2{font-size:32px;margin:8px 0 10px}#emw-app .envelope-address>p:last-child{font-size:15px;max-width:150px}}

/* Hydrangeas frame the first page, with a clear central reading area. */
#emw-invitation{overflow:hidden}
#emw-app .floral-edge{position:absolute;top:95px;width:120px;height:400px;background:url('assets/hydrangeas.png') center/contain no-repeat;pointer-events:none;z-index:-1;opacity:.85}
#emw-app .floral-left{left:-48px;transform:rotate(-9deg)}
#emw-app .floral-right{right:-48px;top:190px;transform:rotate(171deg)}
#emw-app #emw-dear{font-family:'Cormorant Garamond',Georgia,serif;font-style:normal;font-size:30px;font-weight:700;line-height:1.3;color:#344f60;margin:12px 35px 24px;overflow-wrap:anywhere;text-wrap:balance}
#emw-app #emw-kicker{max-width:280px;margin:0 auto}
#emw-app .photo-note{margin:38px auto 25px;padding:24px 8px;border-top:1px solid var(--em-line);border-bottom:1px solid var(--em-line)}
#emw-app .photo-note h2{font-size:28px;margin:0 0 14px}
#emw-app .photo-note p{font-size:13px;line-height:1.85}
@media(max-width:460px){#emw-app .floral-edge{width:95px;height:345px}#emw-app .floral-left{left:-45px}#emw-app .floral-right{right:-45px}#emw-app #emw-dear{font-size:28px;margin-left:24px;margin-right:24px}#emw-app #emw-kicker{max-width:230px;font-size:9px}}

/* Continuous botanical borders grow with the invitation, including opened details. */
#emw-app #emw-invitation{padding-left:54px;padding-right:54px}
#emw-app .floral-edge{top:0;bottom:0;height:auto;width:100px;background-size:150px 225px;background-repeat:repeat-y;opacity:.75}
#emw-app .floral-left{left:-48px;background-position:center -35px;transform:none}
#emw-app .floral-right{right:-48px;top:0;background-position:center 75px;transform:scaleX(-1)}
@media(max-width:460px){#emw-app #emw-invitation{padding-left:38px;padding-right:38px}#emw-app .floral-edge{width:76px;height:auto;background-size:115px 173px;opacity:.68}#emw-app .floral-left{left:-40px}#emw-app .floral-right{right:-40px}}

/* Alternating connected vine paintings, with different sequences on each side. */
#emw-app .floral-edge{width:110px;background-size:180px 1080px;opacity:.72}
#emw-app .floral-left{left:-38px;background-image:url('assets/vine-left.svg');background-position:center top}
#emw-app .floral-right{right:-38px;background-image:url('assets/vine-right.svg');background-position:center -210px}
@media(max-width:460px){#emw-app .floral-edge{width:82px;background-size:130px 780px;opacity:.62}#emw-app .floral-left{left:-32px}#emw-app .floral-right{right:-32px;background-position:center -155px}}
