.sale-window{padding:15px 17px;background:#f4efe5;border:1px solid #e7dfd1;border-radius:8px;margin-bottom:12px}.sale-status{font-size:10px;font-weight:600;color:#9e4e35}.sale-status:before{content:'';display:inline-block;width:6px;height:6px;background:currentColor;border-radius:50%;margin-right:6px}.sale-status.is-open{color:#5d762c}.sale-window p{font-size:12px;line-height:1.7;margin-top:6px}.sale-window small{font-size:9px;color:var(--muted);display:block;line-height:1.7;margin-top:5px}.friday-preview{font-size:9px;color:#7a6b56;padding:0 0 15px}.friday-preview:hover{color:var(--orange)}.simulation-label{font-size:9px;color:#865939;background:#f5e4ca;padding:9px 11px;border-radius:4px;margin-bottom:14px}.calendar-day.is-other-week{background:#f1efea}.calendar-day.is-other-week:after{display:none}.calendar-day.is-upcoming{outline:1px solid #b6c573;outline-offset:-1px}.calendar-day.is-selected{background:var(--orange);color:white;outline:none}.selection-result{font-size:12px;line-height:1.8;color:#777168}.button:disabled{opacity:.45;transform:none;box-shadow:none}.selected-date-panel .button{white-space:nowrap}.product-page{max-width:1248px}.product-header{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.product-header nav{display:flex;align-items:center;gap:23px;font-size:12px}.product-header nav a:hover{color:var(--orange)}.product-intro{padding:46px 0 28px}.product-intro h1{font-size:46px;line-height:1.12;letter-spacing:-2px;margin-top:13px}.product-intro h1 em{color:var(--orange)}.product-intro p{font-size:13px;color:var(--muted);line-height:1.8;margin-top:15px}.mode-options{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:22px 0 32px}.mode-card{border:1px solid var(--line);border-radius:10px;background:#fffdf8;display:block;text-align:left;padding:22px 24px;position:relative}.mode-card[aria-pressed=true]{border:2px solid #8f79b8;padding:21px 23px;background:#eee6f5}.mode-card strong{font-size:18px;font-weight:500;display:block;margin-bottom:8px;letter-spacing:-.4px}.mode-card p{font-size:11px;line-height:1.8;color:var(--muted);max-width:400px}.mode-card .mode-icon{position:absolute;right:21px;top:22px;font-size:19px;color:#9b875e}.studio-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:start;padding-bottom:70px}.studio-controls{min-width:0}.editor-tabs{display:flex;gap:25px;border-bottom:1px solid var(--line);margin-bottom:23px}.editor-tabs button{font-size:12px;padding:0 0 13px;color:var(--muted);position:relative}.editor-tabs button[aria-selected=true]{color:var(--ink);font-weight:600}.editor-tabs button[aria-selected=true]:after{content:'';height:2px;background:var(--orange);position:absolute;bottom:-1px;left:0;right:0}.template-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.template-choice{padding:0;text-align:left}.template-choice .template-mini{height:112px;display:flex;align-items:center;justify-content:center;border-radius:6px;border:2px solid transparent;overflow:hidden;position:relative;flex-direction:column;font-family:var(--serif);line-height:1.1;font-size:20px}.template-choice[aria-pressed=true] .template-mini{border-color:var(--orange);box-shadow:0 0 0 2px var(--paper) inset}.template-choice small{display:block;font-size:9px;color:var(--muted);margin-top:7px}.template-mini em{font-size:24px}.template-choice:hover .template-mini{outline:1px solid var(--orange)}.studio-sticky{position:sticky;top:25px;min-width:0}.studio-stage{padding:22px;background:#efeae1;border:1px solid #e4ded3;border-radius:12px}.stage-heading{display:flex;align-items:center;justify-content:space-between;font-size:8px;letter-spacing:1px;color:var(--muted);margin-bottom:15px}.stage-preview{--accent:#f55c3f;--panel:#c9b9e8;background:var(--panel);padding:17px;border-radius:6px;overflow:hidden;transition:background .2s}.stage-media{height:270px;overflow:hidden;border-radius:4px 4px 0 0;background:#ded4bd}.stage-media img,.stage-media video{width:100%;height:100%;object-fit:cover}.stage-letter{background:var(--paper);padding:25px 24px;text-align:center;overflow-wrap:anywhere;position:relative}.stage-letter>small{font-size:6px;letter-spacing:1.2px}.stage-letter h2{font-family:var(--serif);font-size:38px;letter-spacing:-.8px;line-height:1.1;margin:15px 0}.stage-letter h2 em{color:var(--accent)}.stage-letter p{font-size:11px;line-height:1.9;white-space:pre-wrap;color:#777168;max-height:260px;overflow:auto}.stage-letter .stage-from{display:block;font-family:var(--serif);font-style:italic;font-size:18px;margin-top:15px}.stage-letter .stage-heart{color:var(--accent);font-size:24px;display:block;margin-top:9px}.stage-preview.align-left .stage-letter{text-align:left}.stage-preview.font-sans .stage-letter h2{font-family:var(--sans)}.template-lavender{--panel:#c9b9e8;background:#c9b9e8;color:#282622}.template-peach{--panel:#efd0ba;background:#efd0ba;color:#282622}.template-lime{--panel:#e4eb9f;background:#e4eb9f;color:#282622}.template-midnight{--panel:#302d47;background:#302d47;color:#f8e6ab}.template-rose{--panel:#e9bdc3;background:#e9bdc3;color:#77404e}.template-editorial{--panel:#e8e1d6;background:#e8e1d6;color:#282622}.template-postcard{--panel:#d6e1df;background:#d6e1df;color:#334c4b}.template-confetti{--panel:#f3d896;background:#f3d896;color:#c05336}.template-film{--panel:#393832;background:#393832;color:#f3e7c9}.template-minimal{--panel:#f3f0e9;background:#f3f0e9;color:#282622}.template-garden{--panel:#b9cdb5;background:#b9cdb5;color:#354a37}.template-terracotta{--panel:#bc6c50;background:#bc6c50;color:#fff7e6}.stage-preview.template-midnight .stage-letter{background:#302d47;color:#f8ecd0}.stage-preview.template-midnight p{color:#d5c9ba}.stage-preview.template-editorial .stage-letter{border-top:2px solid var(--ink);text-align:left}.stage-preview.template-editorial h2{font-family:var(--sans);font-size:33px}.stage-preview.template-postcard{transform:rotate(-1deg);padding:18px 18px 30px}.stage-preview.template-film{padding:12px}.stage-preview.template-film .stage-letter{background:#393832;color:#f7efdd}.stage-preview.template-film p{color:#d6cdbc}.stage-preview.template-film .stage-media{filter:saturate(.6)}.stage-preview.template-minimal .stage-media{height:220px;margin:15px 15px 0;border-radius:50% 50% 0 0}.stage-preview.template-garden .stage-letter{background:#e9eee2}.stage-preview.template-confetti .stage-letter{background:#fff8de}.stage-preview.template-rose .stage-letter{background:#fff0ec}.stage-preview.template-terracotta .stage-letter{background:#fbebd6}.stage-preview.template-lime .stage-letter{background:#f8fae9}.stage-footnote{font-size:9px;color:var(--muted);line-height:1.7;text-align:center;margin-top:14px}.studio-controls label,.studio-controls legend{display:block;font-size:11px;font-weight:500;margin-bottom:8px}.studio-controls input:not([type=file]):not([type=color]):not([type=radio]),.studio-controls textarea,.studio-controls select{width:100%;padding:12px;border:1px solid #d7d1c5;background:#fffdf8;border-radius:6px;font:inherit;font-size:12px;color:var(--ink)}.studio-controls textarea{resize:vertical;line-height:1.8;min-height:130px}.studio-controls .field{margin-bottom:19px}.studio-controls .field-pair{margin-bottom:18px}.studio-controls input[type=color]{width:54px;height:36px;border:1px solid var(--line);background:var(--paper);padding:3px;border-radius:5px}.style-options{display:grid;grid-template-columns:1fr 1fr;gap:18px}.style-options .field:last-child{grid-column:1/-1}.studio-controls fieldset{border:0;padding:0;margin:0}.content-note{font-size:10px;color:var(--muted);line-height:1.9;background:#f0ece3;padding:13px 15px;border-radius:6px;margin-bottom:20px}.studio-save{display:flex;gap:12px;align-items:center;margin-top:25px;flex-wrap:wrap}.studio-save .button{flex:1;font-size:12px;gap:16px;min-height:48px}.studio-save .copy-button{font-size:10px;padding:9px 0;border-bottom:1px solid var(--ink)}.save-status{font-size:10px;color:#6d7852;line-height:1.8;margin-top:12px;min-height:18px}.auth-needed{padding:15px 17px;background:#f5e8d0;border:1px solid #e4d6ba;border-radius:7px;font-size:11px;line-height:1.8;margin-bottom:20px}.auth-needed a{font-weight:600;text-decoration:underline;display:inline-block;margin-top:8px}.media-upload{display:block!important;padding:24px 16px;border:1px dashed #b9ad98;border-radius:8px;background:#f2ede2;text-align:center;position:relative;cursor:pointer;overflow:hidden}.media-upload strong{display:block;font-size:12px;font-weight:500;margin-bottom:7px}.media-upload small{font-size:9px;line-height:1.7;color:var(--muted)}.media-upload input{position:absolute;opacity:0;inset:0;cursor:pointer;width:100%;height:100%}.media-upload:focus-within{outline:2px solid #8f79b8;outline-offset:4px}.media-list{display:flex;flex-direction:column;gap:8px;margin:14px 0 20px}.media-row{display:flex;gap:10px;align-items:center;padding:9px;border:1px solid var(--line);border-radius:5px;min-width:0}.media-row img,.media-row video{width:43px;height:43px;object-fit:cover;border-radius:3px}.media-row>span{font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.media-row button{font-size:10px;border:1px solid var(--line);padding:5px;border-radius:3px}.canva-box{border:1px solid #c6b8dc;padding:18px;border-radius:8px;margin-top:20px;background:#f0eaf8}.canva-box strong{font-size:12px;font-weight:500}.canva-box p{font-size:10px;color:var(--muted);line-height:1.8;margin-block:9px 14px}.canva-box a{font-size:11px;font-weight:500;border-bottom:1px solid var(--ink);padding-bottom:3px;display:inline-block;margin-bottom:16px}.canva-box input{background:var(--paper)!important}.account-summary{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:25px;background:#e8dfef;border-radius:10px;margin:6px 0 22px}.account-summary strong{font-weight:500;font-size:16px;overflow-wrap:anywhere}.account-summary p{font-size:10px;color:var(--muted);margin-top:8px;line-height:1.7}.account-summary .button{font-size:11px;min-height:45px;padding:12px 16px;gap:15px}.account-notice{font-size:10px;line-height:1.8;color:var(--muted);margin-bottom:35px;max-width:680px}.account-section{padding-block:25px;border-top:1px solid var(--line)}.account-section h2{font-size:24px;letter-spacing:-.8px;margin-bottom:20px}.saved-design-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.saved-design{padding:21px;border:1px solid var(--line);border-radius:8px;background:#fffdf8;display:block}.saved-design strong{font-weight:500;font-size:16px;display:block;margin-bottom:13px;overflow-wrap:anywhere}.saved-design>span{display:block;font-size:10px;color:var(--muted);margin-bottom:7px}.saved-design:hover{border-color:#a086bd;background:#eee6f5}.empty-account{font-size:12px;color:var(--muted);line-height:1.8;padding-block:10px}.reservation-item{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid var(--line);font-size:12px}.reservation-item small{font-size:10px;color:var(--muted);display:block;margin-top:6px}.interest-table{width:100%;border-collapse:collapse;font-size:12px;max-width:650px}.interest-table td,.interest-table th{text-align:left;padding:13px 10px;border-bottom:1px solid var(--line)}.interest-table th{font-weight:500;color:var(--muted);font-size:10px}.account-bottom{margin-block:28px 60px;font-size:11px;color:var(--muted)}.account-bottom a{text-decoration:underline}.assisted-banner{padding:18px 20px;background:#e6eac9;border-radius:8px;margin-bottom:22px}.assisted-banner h3{font-size:20px;letter-spacing:-.5px;margin-bottom:10px}.assisted-banner p{font-size:11px;line-height:1.8;color:#6e735b}.studio-step-link{margin-top:18px;display:inline-block;font-size:11px;border-bottom:1px solid var(--ink);padding-bottom:5px}
@media(max-width:900px){.studio-grid{gap:30px}.stage-media{height:220px}.stage-letter h2{font-size:32px}.stage-letter{padding:22px 18px}.studio-stage{padding:17px}.template-mini{font-size:17px!important}.mode-card{padding:19px}.mode-card[aria-pressed=true]{padding:18px}.product-header nav{gap:15px;font-size:11px}.saved-design-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.product-header{height:78px}.product-header .brand{font-size:18px}.product-header .brand-flower{width:27px;height:27px}.product-header nav{gap:14px;font-size:10px}.product-header nav a:first-child{display:none}.product-intro{padding-top:32px}.product-intro h1{font-size:37px;letter-spacing:-1.5px}.product-intro p{font-size:12px}.mode-options{grid-template-columns:1fr;gap:11px;margin-block:12px 27px}.mode-card{padding:18px 20px}.mode-card[aria-pressed=true]{padding:17px 19px}.mode-card strong{font-size:17px}.mode-card p{font-size:10px;max-width:90%}.studio-grid{grid-template-columns:1fr;gap:35px}.studio-sticky{position:static;max-width:430px;width:100%;margin:auto}.stage-media{height:260px}.stage-letter h2{font-size:37px}.template-grid{gap:12px}.template-choice .template-mini{height:110px}.editor-tabs{gap:28px}.account-summary{padding:20px;align-items:flex-start;flex-direction:column}.account-summary strong{font-size:15px}.saved-design-grid{grid-template-columns:1fr}.reservation-item{font-size:11px}.product-intro .section-kicker{font-size:7px}.calendar-day.is-other-week{background:#f1efea}.stage-footnote{font-size:9px}}
.stage-gallery{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding-top:12px}.stage-gallery img,.stage-gallery video{width:100%;height:145px;object-fit:cover;border-radius:4px;background:#eee7db}
.calendar-studio-link,.reservation-action{display:inline-flex;align-items:center;min-height:44px;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.calendar-studio-link{margin-top:10px;color:#684a3f;font-size:13px}
.reservation-item{align-items:center;flex-wrap:wrap;gap:6px 20px}
.reservation-action{color:#684a3f;font-size:13px}
#selection-dialog [hidden]{display:none}
#selection-payment:not([hidden]) + #selection-studio { margin-top: 10px; }
.reservation-actions { display: flex; flex-wrap: wrap; gap: 0 14px; }

.login-panel{width:min(100%,480px);margin:clamp(28px,7vw,90px) auto;padding:clamp(22px,5vw,42px);border:1px solid var(--line);border-radius:16px;background:#fffdf8;box-shadow:0 14px 45px #3c2b1810}
.login-panel h1{font-family:var(--serif);font-size:clamp(30px,6vw,42px);line-height:1.12;margin:12px 0}
.login-panel p{font-size:14px;line-height:1.65;color:var(--muted);overflow-wrap:anywhere}
.login-panel form,.login-panel #confirm-login{display:grid;gap:12px;margin:22px 0 0}
.login-panel label{font-size:14px;font-weight:600}
.login-panel input{width:100%;min-height:48px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--paper);font:inherit;font-size:16px;color:var(--ink)}
.login-panel .button{justify-content:center;min-height:48px;text-align:center}
.login-panel a,.account-auth-action{text-decoration:underline;text-underline-offset:4px}
.login-panel a{font-size:13px}
.login-panel #login-status{margin-top:16px;padding:12px;background:#f2ede3;border-radius:8px;color:var(--ink)}
.login-legacy{margin-top:22px;padding-top:16px;border-top:1px solid var(--line)}
.login-legacy a,.login-back{display:inline-block;margin-top:12px}
.login-panel [hidden],.account-auth-action[hidden]{display:none}
