@import url("/invitation-app/studio-fonts.css");
#photoActions[hidden]{display:none}
#photoAdjustButton,#previewAdjustButton{margin-top:12px}
.photo-adjust-dialog{width:min(100% - 24px,540px);max-height:calc(100dvh - 24px);padding:18px;border:1px solid #26382e30;border-radius:20px;background:#fffdf8;color:#26382e;overflow:auto;overscroll-behavior:contain}
.photo-adjust-dialog::backdrop{background:#18261dcc;backdrop-filter:blur(3px)}
.photo-adjust-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.photo-adjust-header h2{font-size:18px;margin:0}
.photo-adjust-dialog button{min-height:44px;border:1px solid #26382e30;border-radius:24px;padding:8px 15px;background:#fff;color:#26382e}.photo-adjust-dialog .primary{background:#26382e;color:#fff}
.photo-adjust-status{font-size:13px;line-height:1.5;margin:10px 0;color:#637067}
.photo-adjust-workspace{display:flex;justify-content:center;padding:4px 0 12px}
.photo-adjust-surface{position:relative;width:min(100%,calc((100dvh - 280px)*.75));aspect-ratio:3/4;touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab;outline-offset:3px;box-shadow:0 5px 20px #26382e25}
.photo-adjust-dialog:has(.photo-window-choices:not([hidden])) .photo-adjust-surface{width:min(100%,calc((100dvh - 332px)*.75))}
.photo-adjust-surface:active{cursor:grabbing}.photo-adjust-surface:focus-visible{outline:2px solid #708873}
.photo-adjust-surface canvas{display:block;width:100%;height:100%;pointer-events:none}.photo-adjust-surface svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.photo-adjust-surface path{fill:none;stroke:#315b44;stroke-width:2;stroke-dasharray:6 5;vector-effect:non-scaling-stroke}
.photo-window-choices{display:flex;gap:8px;justify-content:center;margin-bottom:8px}.photo-window-choices[hidden]{display:none}.photo-window-choices [aria-pressed=true]{background:#26382e;color:#fff}
.photo-adjust-footer{position:sticky;bottom:-18px;display:flex;flex-direction:column;gap:10px;padding:10px 0 2px;background:#fffdf8}.photo-zoom-controls{display:flex;gap:6px;align-items:center;justify-content:center;flex-wrap:wrap}.photo-zoom-controls output{min-width:45px;text-align:center;font-size:13px}.photo-adjust-footer>.primary{width:100%}
@media(max-width:560px){.photo-adjust-dialog{width:100%;height:100dvh;max-height:100dvh;max-width:none;margin:0;border:0;border-radius:0;padding:16px;padding-bottom:max(16px,env(safe-area-inset-bottom))}.photo-adjust-surface{width:min(100%,calc((100dvh - 255px)*.75))}.photo-adjust-footer{bottom:-16px}.photo-adjust-dialog:has(.photo-window-choices:not([hidden])) .photo-adjust-surface{width:min(100%,calc((100dvh - 307px)*.75))}}
@font-face{font-family:"Card Display";src:url("/fonts/google/cormorant-garamond-55cbec71eba1/cormorant-garamond-e99b45a2.woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Card Play";src:url("../image-editor/assets/fonts/BMYEONSUNG_ttf.ttf");font-display:swap}
@font-face{font-family:"Card Didone";src:url("./assets/LibreBodoni.ttf");font-weight:400 700;font-display:swap}
@font-face{font-family:"Card Didone";src:url("./assets/LibreBodoni-Italic.ttf");font-weight:400 700;font-style:italic;font-display:swap}
@font-face{font-family:"Card Retro";src:url("./assets/Lobster.ttf");font-display:swap}
@font-face{font-family:"Card Signature";src:url("./assets/MrsSaintDelafield.ttf");font-display:swap}
@font-face{font-family:"Card Bubble";src:url("./assets/LilitaOne.ttf");font-display:swap}
@font-face{font-family:"Card Script";src:url("./assets/DancingScript.ttf");font-weight:400 700;font-display:swap}
@font-face{font-family:"Card Brush";src:url("../image-editor/assets/fonts/BMEULJIROTTF.ttf");font-display:swap}
@font-face{font-family:"Gowun Batang";src:url("../image-editor/assets/fonts/GowunBatang-Regular.woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Gowun Batang";src:url("../image-editor/assets/fonts/GowunBatang-Bold.woff2");font-weight:700;font-display:swap}
*{box-sizing:border-box}body{margin:0;background:#f5f1e9;color:#26382e;font-family:"Jade Studio Sans",sans-serif}button,input,textarea,select{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #708873;outline-offset:3px}
.studio-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 24px;border-bottom:1px solid #26382e20;background:#fffdf8}.studio-toolbar a{text-decoration:none}.studio-shell{max-width:1160px;margin:auto;padding:24px;display:grid;grid-template-columns:390px minmax(0,1fr);gap:36px}.studio-form{background:#fffdf8;border:1px solid #26382e15;border-radius:20px;padding:24px}.studio-form h1{font-family:"Gowun Batang";font-size:24px;margin:0 0 8px}.studio-form h2{font-size:16px;margin:25px 0 10px}.studio-form label{display:block;font-size:13px;margin-top:14px}.studio-form input:not([type=range]):not([type=checkbox]),.studio-form textarea,.studio-form select{display:block;width:100%;min-height:44px;padding:10px;border:1px solid #26382e25;border-radius:8px;background:#fff;margin-top:5px}.studio-form textarea{resize:vertical;min-height:70px}.studio-form input[type=range]{display:block;width:100%;margin:9px 0}.studio-form details{border-top:1px solid #26382e20;margin-top:20px;padding-top:16px}.studio-form summary{cursor:pointer}.studio-form .note{font-size:12px;line-height:1.7;color:#637067}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.studio-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.studio-actions button,.photo-action{border:1px solid #26382e30;border-radius:30px;padding:12px 18px;background:#fff;color:#26382e}.studio-actions .primary{background:#26382e;color:white}.studio-status{display:block;font-size:13px;line-height:1.7;white-space:pre-line;margin-top:14px}.preview-column{min-width:0}.preview-sticky{position:sticky;top:24px;margin:auto;max-width:465px}.preview-caption{font-size:13px;margin:0 0 12px;color:#667269}.share-result{background:#fffdf8;border:1px solid #26382e25;border-radius:16px;padding:16px;margin-top:18px}.share-result input{width:100%;font-size:13px;padding:10px;margin-top:8px}.share-result button{margin:12px 5px 0 0;padding:10px 16px;border:1px solid #26382e30;border-radius:24px;background:white}
.flip-card{position:relative;aspect-ratio:3/4;width:100%;perspective:1400px;container-type:inline-size;isolation:isolate}.flip-inner{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .65s cubic-bezier(.2,.7,.2,1)}.flip-card.is-flipped{aspect-ratio:auto}.is-flipped .flip-inner{transform:rotateY(180deg)}.flip-front,.flip-back{backface-visibility:hidden;-webkit-backface-visibility:hidden;border:0;background:#fff;padding:0;width:100%;box-shadow:0 10px 35px #24332920}.flip-front{position:absolute;inset:0;display:block;overflow:hidden}.flip-front canvas,.flip-front img{display:block;width:100%;height:100%;object-fit:contain}.flip-back{position:absolute;inset:0;transform:rotateY(180deg);visibility:hidden;background-repeat:no-repeat;aspect-ratio:3/4;min-height:100%;color:var(--card-accent)}.is-flipped .flip-back{position:relative;inset:auto;visibility:visible;height:auto}.flip-hint{position:absolute;bottom:10%;left:8%;right:8%;padding:12px 9px;background:#26382eed;border-radius:30px;color:#fff;font-size:clamp(12px,3.4cqw,16px);animation:hint-in .5s both;pointer-events:none}.flip-hint[hidden]{display:none}.card-info{display:flex;flex-direction:column;justify-content:center;min-height:100%;padding:14% 13% 10%;text-align:center}.card-eyebrow{font-size:clamp(10px,2.6cqw,12px);letter-spacing:.14em;margin:0 0 14px}.card-name{font-family:"Gowun Batang",serif;font-size:clamp(22px,6.4cqw,31px);line-height:1.45;margin:0;overflow-wrap:anywhere}.card-invitation{font-family:"Gowun Batang",serif;font-size:clamp(13px,3.8cqw,18px);line-height:1.8;white-space:pre-line;overflow-wrap:anywhere;margin:16px 0 22px}.card-date{font-family:"Gowun Batang",serif;font-size:clamp(15px,4.3cqw,21px);font-weight:700;line-height:1.7;margin:0 0 20px}.card-venue{font-size:clamp(14px,4cqw,20px);line-height:1.6;margin:0;overflow-wrap:anywhere}.card-address{font-size:clamp(12px,3.4cqw,16px);line-height:1.7;margin:6px 0 0;overflow-wrap:anywhere}.card-map-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:18px 0 0}.card-map-actions a,.card-map-actions button{display:flex;align-items:center;justify-content:center;min-height:42px;border:1px solid currentColor;border-radius:24px;padding:7px 14px;font-size:clamp(12px,3.2cqw,15px);text-decoration:none;color:inherit;background:#ffffffe8}.card-copy-status{font-size:12px;margin:5px 0 0;overflow-wrap:anywhere}.card-copy-status:empty{display:none}.card-parking-title{font-size:clamp(13px,3.5cqw,17px);margin:20px 0 5px}.card-parking{font-size:clamp(12px,3.3cqw,15px);line-height:1.8;white-space:pre-line;margin:0;overflow-wrap:anywhere}.back-ticket .card-info{padding:14% 29% 10% 9%;text-align:left}.back-editorial .card-info{padding:14% 11% 12% 27%;text-align:left}.back-newspaper .card-name,.back-newspaper .card-date{border-bottom:1px solid currentColor;padding-bottom:14px}.guest-body{background:#f4f1ed;min-height:100svh;display:grid;place-items:center;padding:16px}.guest-root{width:min(100%,465px)}.guest-message{text-align:center;font-size:16px;line-height:1.8;padding:35px}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;max-width:1400px;padding:24px;margin:auto}.gallery-item{min-width:0}.gallery-item h2{font-size:16px}.gallery-item a{display:block;margin-top:12px}
@keyframes hint-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.flip-inner{transition:none}.flip-hint{animation:none}}
@media(max-width:760px){.studio-toolbar{padding:14px 16px}.studio-shell{display:flex;flex-direction:column;padding:16px;gap:20px}.preview-column{order:-1}.preview-sticky{position:static;max-width:380px}.studio-form{padding:20px}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:12px;padding:16px}.gallery-item h2{font-size:13px}}

/* The approved back layouts retain separate type hierarchies and date treatments. */
.card-info{padding-top:var(--back-top,16%);font-family:"Gowun Batang",serif}.card-name{font-size:clamp(21px,6.4cqw,33px);line-height:1.35}.card-eyebrow{font-family:"Card Display",serif;margin-bottom:12px}.card-invitation{margin:14px 0 18px}.card-date{border-top:1px solid #8e806f70;border-bottom:1px solid #8e806f70;padding:10px 0;margin-bottom:16px}.card-map-actions{margin-top:15px}.card-parking-title{margin-top:15px}.card-date-hero{font:400 26cqw/.85 "Card Display",serif;margin:0 0 18px;color:var(--card-accent)}.card-date-stub{position:absolute;right:7%;top:17%;white-space:pre-line;font:800 7cqw/1.6 "Jade Studio Sans";text-align:center}.flip-card[data-design="1"] .card-eyebrow{font:600 8cqw "Card Script"}.flip-card[data-design="2"] .card-info{padding:30% 15% 11%}.flip-card[data-design="2"] .card-eyebrow{font-size:4cqw}.flip-card[data-design="3"] .card-name{font-family:"Jade Studio Sans";font-weight:800;color:#199caf;font-size:8cqw}.flip-card[data-design="3"] .card-date{color:#e4513c;font-family:"Jade Studio Sans";font-size:5.7cqw}.flip-card[data-design="5"] .card-info{padding:11% 16% 8%}.flip-card[data-design="5"] .card-eyebrow{display:none}.flip-card[data-design="5"] .card-date-hero{color:#e5a822}.flip-card[data-design="7"] .card-name{font-family:"Card Brush";font-weight:400;font-size:8cqw}.flip-card[data-design="7"] .card-eyebrow{transform:rotate(-5deg)}.flip-card[data-design="8"] .card-info{padding:10% 9%}.flip-card[data-design="8"] .card-name{font-weight:700;font-size:7cqw}.flip-card[data-design="8"] .card-eyebrow{border-top:3px double currentColor;padding-top:14px}.flip-card[data-design="9"] .card-date-hero{display:none}.flip-card[data-design="9"] .card-info{padding-top:16%;padding-right:29%}.flip-card[data-design="9"] .card-name{font-family:"Jade Studio Sans";font-weight:800;font-size:6.6cqw}.flip-card[data-design="11"] .card-date-hero{position:absolute;top:4%;left:4%;color:#bb3b2d}.flip-card[data-design="11"] .card-eyebrow{display:none}.flip-card[data-design="11"] .card-info{padding-top:41%;padding-bottom:5%}.flip-card[data-design="11"] .card-name{font-size:6cqw}.flip-card[data-design="12"] .card-name{font-family:"Card Brush";font-size:8cqw;max-width:80%;margin:auto}.flip-card[data-design="13"] .card-info{padding-left:18%;padding-right:18%}.flip-card[data-design="16"] .card-info{padding:25% 12% 15%}.flip-card[data-design="16"] .card-eyebrow{display:none}.flip-card[data-design="16"] .card-map-actions>*{border-radius:5px;background:#fff2d9}.flip-card[data-design="17"] .card-info{padding:26% 12% 9%}.flip-card[data-design="17"] .card-eyebrow{display:none}.flip-card[data-design="18"] .card-date{background:#77895c35;border:0;padding:9px 0}.flip-card[data-design="20"] .card-info{padding-top:33%}.flip-card[data-design="20"] .card-date{background:#f8dbe1;border:0;border-radius:30px}.flip-card[data-design="21"] .card-info{padding-top:34%}.flip-card[data-design="21"] .card-eyebrow{font-family:"Card Script";position:absolute;top:8%;right:9%;max-width:35%;font-size:5cqw;transform:rotate(-12deg)}.flip-card[data-design="22"] .card-info{padding-top:29%}.flip-card[data-design="22"] .card-date{color:#d64d2c}.flip-card[data-design="23"] .card-info{padding-top:34%}.flip-card[data-design="23"] .card-eyebrow{position:absolute;top:11%;right:9%;max-width:22%;font-size:2.5cqw;line-height:1.6}
.flip-card[data-design="1"] .card-eyebrow{font-family:"Card Signature"}.flip-card[data-design="2"] .card-info{padding-top:10%}.card-celebrate-one{font:400 27cqw/.8 "Card Didone";color:#ec719b;margin:8px 0 16px}.card-date-hero{font-family:"Card Didone"}.flip-card[data-design="3"] .card-name{font-size:10cqw}
.is-flipped .flip-inner{height:auto}.is-flipped .flip-back{aspect-ratio:auto;min-height:0;height:auto}.card-info{min-height:calc(400cqw / 3);padding-bottom:8%}.card-eyebrow{margin-bottom:2.5cqw}.card-invitation{line-height:1.65;margin:2.5cqw 0 3cqw}.card-date{line-height:1.5;padding:1.8cqw 0;margin:0 0 2.4cqw}.card-venue{line-height:1.45}.card-address{line-height:1.55;margin-top:1.3cqw}.card-map-actions{margin-top:3.3cqw}.card-parking-title{line-height:1.4;margin:3cqw 0 1cqw}.card-parking{line-height:1.65}.card-date-hero{margin-bottom:3cqw}.card-celebrate-one{margin:1cqw 0 3cqw}

/* Keep the information hierarchy readable inside each material's clear copy area. */
.card-eyebrow{font-size:clamp(11px,3cqw,14px);line-height:1.4;overflow-wrap:anywhere}
.card-date-stub{font-size:clamp(15px,5cqw,23px);max-width:20%;overflow-wrap:anywhere}
.flip-card[data-design="2"] .card-info{padding:8% 16% 14%}
.card-celebrate-one{font-size:22cqw;line-height:.85;margin:1cqw 0 2cqw}
.flip-card[data-design="3"] .card-info{padding:14% 15% 15%}
.flip-card[data-design="3"] .card-name{font-size:8cqw;line-height:1.2}
.flip-card[data-design="21"] .card-eyebrow{top:7%;max-width:43%;font-size:clamp(13px,4.5cqw,20px)}
.flip-card[data-design="23"] .card-eyebrow{top:7%;max-width:40%;font-size:clamp(11px,3.4cqw,15px)}
.flip-card[data-design="7"] .card-eyebrow{margin-bottom:6cqw}
.card-date-stub{top:23cqw}
.flip-card[data-design="11"] .card-date-hero{top:4cqw}
.flip-card[data-design="21"] .card-eyebrow,.flip-card[data-design="23"] .card-eyebrow{top:7cqw}
.card-info{padding-bottom:22%}
.flip-card[data-design="1"] .card-info,.flip-card[data-design="5"] .card-info,.flip-card[data-design="6"] .card-info,.flip-card[data-design="12"] .card-info,.flip-card[data-design="18"] .card-info{padding-bottom:32%}
.flip-card[data-design="2"] .card-info{padding-bottom:22%}
.flip-card[data-design="3"] .card-info{padding-bottom:28%}
.flip-card[data-design="16"] .card-info,.flip-card[data-design="17"] .card-info{padding-bottom:26%}
.flip-card[data-design="1"] .card-parking,.flip-card[data-design="6"] .card-parking,.flip-card[data-design="12"] .card-parking,.flip-card[data-design="18"] .card-parking{max-width:50%;margin-inline:auto}
.flip-card[data-design="19"] .card-info{padding-top:48%}
.flip-card[data-design="19"] .card-eyebrow{position:absolute;top:8cqw;left:14%;right:14%}
.flip-card[data-design="20"] .card-info{padding-top:43%;padding-bottom:22%}
.flip-card .card-date.has-ribbon{background-color:transparent;background-size:100% 100%;background-repeat:no-repeat;padding:3cqw 4cqw;border:0}
.card-parking,.card-invitation,.card-venue,.card-address{word-break:keep-all}
.occasion-milestone{font-family:"Card Didone","Gowun Batang",serif;font-size:clamp(34px,14cqw,70px);line-height:1.1;overflow-wrap:anywhere}
.flip-card[data-occasion] .card-name,.flip-card[data-occasion] .card-eyebrow{white-space:pre-line}
.card-info [hidden]{display:none!important}
.card-thanks{font-family:"Gowun Batang",serif;font-size:clamp(13px,3.8cqw,18px);line-height:1.65;white-space:pre-line;overflow-wrap:anywhere;margin:4cqw 0 0}
.studio-form #legacyInvitation[hidden],.studio-form #legacyFrontCopy[hidden]{display:none!important}
.draft-tools{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:12px 0;border-bottom:1px solid #26382e20}.draft-tools .note{flex:1;margin:0;min-width:150px}.draft-tools button,.draft-delete-dialog button{min-height:44px;padding:10px 16px;border:1px solid #26382e30;border-radius:24px;background:#fff;color:#26382e}.draft-tools button{font-size:12px}
.draft-delete-dialog{width:min(100% - 32px,430px);max-height:calc(100dvh - 32px);overflow:auto;padding:24px;border:1px solid #26382e30;border-radius:20px;background:#fffdf8;color:#26382e}.draft-delete-dialog::backdrop{background:#18261db3}.draft-delete-dialog h2{font-size:20px;line-height:1.5;margin:0 0 16px}.draft-delete-dialog p{font-size:14px;line-height:1.75;overflow-wrap:anywhere}.draft-delete-dialog .note{font-size:12px;color:#637067}.draft-delete-dialog output{display:block;font-size:13px;line-height:1.6;color:#8b3a32}.draft-delete-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:22px}.draft-delete-actions .danger{background:#8b3a32;color:#fff;border-color:#8b3a32}.deleted-draft-notice{padding:20px 0;line-height:1.8}.deleted-draft-notice h2{margin-top:0}.deleted-draft-notice a{display:inline-block;min-height:44px;padding:10px 0}.draft-tools[hidden],.deleted-draft-notice[hidden],.studio-shell [hidden]{display:none!important}
