:root{color-scheme:light;--cream:#fffaf2;--paper:#f6eee7;--ink:#42262c;--wine:#741e35;--line:#d8c5c1;--muted:#715c5f;--sage:#e5eddf;font-family:"DM Sans",system-ui,sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}body{margin:0;min-height:100svh}a{color:var(--wine);text-underline-offset:3px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,input,select,textarea{min-height:48px}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:1px solid var(--wine);border-radius:99px;padding:.75rem 1.2rem;background:var(--wine);color:white;text-decoration:none;font-weight:600}.secondary{background:transparent;color:var(--wine)}.danger{border-color:#a22e38;background:#a22e38}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #94600d;outline-offset:3px}input,select,textarea{width:100%;min-width:0;padding:.75rem;border:1px solid var(--line);border-radius:.7rem;background:#fffdf9;color:var(--ink);font-size:16px}textarea{resize:vertical}label{display:grid;gap:.4rem;font-weight:600;font-size:.9rem}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,serif;font-weight:400}h1{font-size:clamp(2.2rem,8vw,3.5rem);letter-spacing:-.04em;line-height:1.05;margin-bottom:.8rem}h2{font-size:1.8rem;margin-bottom:1rem}h3{font-size:1.4rem;margin-bottom:.65rem}p{line-height:1.6}small,.hint{font-size:.84rem;color:var(--muted);line-height:1.5}.kicker{text-transform:uppercase;letter-spacing:.17em;font-size:.69rem;font-weight:700;color:var(--wine);margin-bottom:.8rem}.site-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem max(1rem,calc((100vw - 1080px)/2));border-bottom:1px solid var(--line);background:var(--cream)}.brand{font:italic 1.2rem Georgia,serif;text-decoration:none;white-space:nowrap}.site-head>a:last-child{font-size:.86rem}.wrap{max-width:1120px;margin:auto;padding:1.5rem 1rem 4rem}.intro{max-width:40rem}.order-layout{display:grid;gap:1.25rem;align-items:start}.card{background:var(--cream);border:1px solid var(--line);border-radius:1.3rem;padding:1.2rem;min-width:0}.preview-card{padding:.55rem;overflow:hidden}.preview-card iframe{display:block;width:100%;height:clamp(240px,42svh,360px);border:0;border-radius:.9rem;background:#6e1221;pointer-events:none}.preview-caption{padding:.85rem .7rem .3rem}.preview-caption p{margin:0}.preview-caption .kicker{margin-bottom:.3rem}.preview-summary{font-family:Georgia,serif;font-size:1.3rem;line-height:1.3}.preview-caption small{display:block;margin-top:.4rem}.step{display:flex;align-items:center;gap:.55rem}.step span{display:inline-grid;place-items:center;flex:none;width:1.7rem;height:1.7rem;background:#eee0db;border-radius:50%;font:600 .85rem system-ui}.form-stack{display:grid;gap:1.2rem}.fields{display:grid;gap:1rem}.pair{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.pair>*{min-width:0}fieldset{min-width:0;border:0;margin:0;padding:0}legend{margin-bottom:.6rem;font-size:.9rem;font-weight:600}.amounts{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem}.amounts label{position:relative;display:block;text-align:center}.amounts input{position:absolute;opacity:0;width:1px;height:1px;min-height:0}.amounts span{display:grid;place-items:center;min-height:48px;border:1px solid var(--line);border-radius:99px;font-size:.85rem}.amounts input:checked+span{background:var(--wine);border-color:var(--wine);color:white}.amounts input:focus-visible+span{outline:3px solid #94600d;outline-offset:3px}.check{display:flex;align-items:flex-start;gap:.65rem;font-weight:400;line-height:1.5}.check input{width:1.2rem;min-height:1.2rem;height:1.2rem;flex:none;margin:.15rem 0;accent-color:var(--wine)}.send{width:100%}.notice{padding:1rem;border-radius:.8rem;background:var(--sage);margin:0;overflow-wrap:anywhere}.feedback{color:var(--wine);font-weight:600;line-height:1.5;margin:0}.feedback:empty{display:none}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.narrow{max-width:560px;margin:2rem auto;padding:0 1rem}.actions{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.login .card{padding:1.5rem}.admin-head{flex-wrap:wrap}.admin-head .actions{gap:.5rem}.admin-head button,.admin-head .button{min-height:44px;padding:.6rem .9rem;font-size:.85rem}.admin-tools{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end;margin:1.2rem 0}.admin-tools label{flex:1;max-width:18rem}.order-list{display:grid;gap:1rem}.order-meta{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:space-between;align-items:start}.badge{display:inline-block;padding:.35rem .65rem;border-radius:99px;font-size:.78rem;font-weight:700;background:#eee0db;color:#663644}.badge.accepted{background:#dfebd7;color:#314b22}.badge.rejected{background:#f5dce0;color:#812e3d}.badge.replied{background:#e3e6f3;color:#3f486d}.order-card p{margin-bottom:.7rem}.order-card .contact{display:flex;flex-wrap:wrap;gap:1rem;overflow-wrap:anywhere}.order-card .notes,.response{white-space:pre-wrap;overflow-wrap:anywhere}.order-card details{margin:.8rem 0}.order-card summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:var(--wine)}.order-card .actions button{flex:1}.order-card form{display:grid;gap:.75rem;border-top:1px solid var(--line);padding-top:1rem}.receipt-link{display:block;overflow-wrap:anywhere}.status-card .response{padding:1rem;background:#eee6de;border-radius:.7rem}.status-card .badge{margin-bottom:1rem}.inline-note{padding:.75rem;border-left:3px solid var(--wine);font-size:.85rem;color:var(--muted)}[hidden]{display:none!important}
@media(min-width:760px){.wrap{padding:2.5rem 1.5rem 5rem}.order-layout{grid-template-columns:minmax(260px,.9fr) minmax(340px,1.1fr);gap:2rem}.preview-card{position:sticky;top:1.5rem}.preview-card iframe{height:420px}.card{padding:1.5rem}.preview-card{padding:.65rem}.order-list{grid-template-columns:repeat(2,minmax(0,1fr))}.order-card form .actions{flex-wrap:wrap}.order-card form .actions button{min-width:100px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
@media(max-width:759px){.order-layout.is-building>.preview-card{position:sticky;top:.5rem;z-index:3;box-shadow:0 8px 22px #42262c20}.preview-card iframe{height:clamp(155px,24svh,210px)}.preview-caption{padding:.55rem .6rem .25rem}.preview-caption small{display:none}.preview-summary{font-size:1.1rem}.preview-caption .kicker{font-size:.6rem}.pair{gap:.6rem}}
.allergen-list{display:grid;gap:.4rem}.allergen-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:.75rem;padding:.35rem 0;border-bottom:1px solid #d8c5c180}.allergen-row .check{min-height:48px;align-items:center;font-weight:500;margin:0}.allergen-row .check input{margin:0}.allergen-row .check span{overflow-wrap:anywhere}.allergen-row select{font-size:.9rem}.allergen-row select:disabled{background:#eee9e2;color:#8b7c7b}.other-allergen{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.6rem;align-items:end}.allergy-alert{margin:.9rem 0;padding:.85rem;background:#f5e0d9;border-left:3px solid #9f4034;border-radius:.45rem}.allergy-alert h3{font-size:1.2rem;margin:0 0 .4rem}.allergy-alert ul{padding-left:1.1rem;margin:0;font-size:.9rem;line-height:1.7}.order-card{overflow-wrap:anywhere}
.allergen-row:has(option[value="noneAtFacility"]:checked){grid-template-columns:1fr;gap:0;padding-bottom:.7rem}
.allergen-row{grid-template-columns:minmax(0,1fr) minmax(8rem,1.1fr);gap:.5rem}
.allergen-row select{display:block;width:100%;min-width:0;min-height:48px;padding:.55rem .65rem;border:2px solid #476e83;border-radius:.55rem;background:#e8f2f7;color:#173a4e;font-size:1rem;line-height:1.25;color-scheme:light}
.allergen-row select:focus-visible{outline:3px solid #174f73;outline-offset:2px}
.allergen-row select:disabled{border-color:#c8c0b5;background:#f4f0e9;color:#746b61;opacity:1}
.allergen-row select option{color:#173a4e;background:#e8f2f7;font-size:1rem}
body[data-page="order"] #cake-order>section.card:has(#allergen-list) .allergen-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr))!important;gap:.5rem .75rem!important}
body[data-page="order"] #cake-order>section.card:has(#allergen-list) .allergen-row{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(8rem,1.1fr)!important;align-items:center!important;gap:.5rem!important;padding:.35rem .1rem!important;border:0!important;border-bottom:1px solid #d8c5c180!important;border-radius:0!important;background:transparent!important}
body[data-page="order"] #cake-order>section.card:has(#allergen-list) .allergen-row .check{min-height:48px!important;font-size:1rem!important;line-height:1.3!important}
body[data-page="order"] #cake-order>section.card:has(#allergen-list) .allergen-row select{display:block;width:100%!important;min-width:0!important;min-height:48px!important;height:auto!important;padding:.55rem .65rem!important;border:2px solid #476e83!important;border-radius:.55rem!important;background:#e8f2f7!important;color:#173a4e!important;font-size:1rem!important;line-height:1.25!important;color-scheme:light}
body[data-page="order"] #cake-order>section.card:has(#allergen-list) .allergen-row select:focus-visible{outline:3px solid #174f73!important;outline-offset:2px}
body[data-page="order"] #cake-order>section.card:has(#allergen-list) .allergen-row select:disabled{border-color:#c8c0b5!important;background:#f4f0e9!important;color:#746b61!important;opacity:1}
body[data-page="order"] #cake-order>section.card:has(#allergen-list) .allergen-row select option{color:#173a4e;background:#e8f2f7;font-size:1rem}
/* More topper headroom, balanced by compact cake choices and full-size tap targets. */
.cake-choices{gap:.5rem;padding:1rem}.cake-choices h2{margin:0 0 .25rem}.cake-choices label{gap:.2rem}.cake-choices legend{margin-bottom:.35rem}.cake-choices .hint{margin:0;font-size:.8rem;line-height:1.4}.cake-choices #amount-help{margin-top:.3rem}
@media(max-width:759px){.preview-card iframe{height:clamp(210px,33svh,290px)}.order-layout{gap:.8rem}.form-stack{gap:.8rem}}
@media(min-width:760px){.preview-card iframe{height:480px}}
.sheet-panel,.email-settings,.date-email-settings,.delivery-history{margin:1.1rem 0}.sheet-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;margin:1rem 0;border-radius:.5rem}.sheet-scroll table{min-width:720px}.sheet-scroll input[type=checkbox]{width:20px;min-height:20px;height:20px;accent-color:var(--wine)}.sheet-actions{justify-content:flex-start}.sheet-actions .check{align-items:center;min-height:44px;margin-right:auto}.sheet-actions button{font-size:.85rem}.email-settings>summary,.delivery-history>summary{display:list-item;cursor:pointer;min-height:44px;font:1.5rem Georgia,serif;color:var(--wine)}.email-settings>summary .badge{margin-left:.7rem;vertical-align:middle}.email-settings[open]>summary,.delivery-history[open]>summary{margin-bottom:1rem}.email-week{display:grid;gap:.5rem}.email-week-row{display:grid;grid-template-columns:minmax(110px,.7fr) minmax(0,1fr);gap:.6rem;align-items:center}.email-week-row .check{align-items:center}.email-week-row input:disabled{opacity:.55}.email-day-list{display:grid;gap:.6rem;margin-top:1rem}.email-day-item{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;padding:.8rem 0;border-top:1px solid var(--line)}.email-day-item p{flex:1 1 100%;margin:0}.email-day-item button,.email-job button{font-size:.85rem;padding:.5rem .9rem}.email-job{display:grid;gap:.4rem;padding:1rem 0;border-bottom:1px solid var(--line)}.email-job p{margin:0}.email-job button{justify-self:start}.review-heading{margin-top:2rem}#email-preview-dialog{border:1px solid var(--line);border-radius:1rem;width:min(1050px,calc(100% - 20px));max-height:90svh;background:var(--cream);color:var(--ink);padding:1rem}#email-preview-dialog::backdrop{background:#42262c99}#email-preview-dialog .actions{justify-content:space-between}#email-preview-dialog h2{margin:0}#email-action-feedback{overflow-wrap:anywhere}
.response-layout{display:grid;gap:1rem;align-items:start;margin-top:1.2rem}.response-layout>.card{min-width:0}.response-section{margin:1rem 0}.response-section>summary,.response-layout summary{min-height:44px;cursor:pointer;font:1.4rem Georgia,serif;color:var(--wine);padding:.5rem 0}.response-section[open]>summary{margin-bottom:1rem}.response-layout .pair{align-items:end}.response-layout .actions button{flex:1 1 120px}.response-draft-row{padding:1rem 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.response-draft-row p{white-space:pre-wrap;margin-bottom:.6rem}.response-reason-row{padding:1rem;border:1px solid var(--line);border-radius:.8rem}.response-draft-list{max-height:35rem;overflow:auto}#response-lookup{overflow:auto;margin:1rem 0}#response-preview-body{background:white;line-height:1.7}#response-draft-feedback,#response-feedback,#response-connection{overflow-wrap:anywhere}#response-placeholders{overflow-wrap:anywhere}#response-connection{margin-bottom:1rem}#reply-settings-panel textarea{line-height:1.6}@media(min-width:900px){.response-layout{grid-template-columns:1fr 1fr}.response-layout>section:nth-child(2){position:sticky;top:1rem}}
/* Compact square, away from the edges of a phone. */
.preview-card iframe,.composed-cake-preview{width:min(82%,330px)!important;height:auto!important;aspect-ratio:1;margin:0 auto;display:block;flex:none}.composed-cake-preview{position:relative;background:#fffaf2;padding-top:35px;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;border-radius:.8rem}.composition-tier{position:relative;flex:1;min-height:0;background-size:460px 460px;background-position:center}.composition-icing{position:absolute;top:0;left:0;width:100%;height:13%;background:var(--tier-icing);border-radius:45% 20% 35% 15%/15% 15% 20% 15%}.composition-tier-label{position:absolute;left:5px;bottom:5px;z-index:3;padding:3px 5px;background:#fffaf2ef;color:#42262c;font:10px Arial,sans-serif;max-width:95%;border-radius:3px}.composition-filling{position:absolute;width:13px;height:10px;object-fit:contain}.composition-topper{position:absolute;bottom:96%;max-height:46px;object-fit:contain;transform:translateX(-50%);z-index:2}#builder-order-overview{padding:.5rem .7rem}#builder-order-overview .order-overview{font-size:12px!important}#builder-order-overview h3{font-size:16px!important}.bottom-tier-fields{border-top:2px solid var(--line);padding-top:1rem;margin-top:.6rem}.extra-filling-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.7fr) auto;gap:.4rem;align-items:end}.extra-filling-row button{padding:.65rem;font-size:.8rem}.customer-order-review{min-width:0;overflow-x:auto}.customer-order-review .order-document{padding:.7rem!important}.customer-order-review .cake-order-sheet{min-width:650px}.preview-caption small{display:block!important}.sheet-picture,.sheet-quantity{vertical-align:top}.order-allergy-box{border-radius:0!important}.sheet-mobile-label{font-size:11px!important}@media(max-width:600px){.cake-order-sheet .sheet-selection td:nth-child(-n+2){min-height:88px!important}.cake-order-sheet .sheet-selection td:nth-child(2){font-size:14px!important}.cake-order-sheet .sheet-selection .sheet-picture,.cake-order-sheet .sheet-selection .sheet-quantity{min-height:132px!important}.cake-order-sheet .sheet-selection .sheet-quantity{font-size:26px!important}.customer-order-review .cake-order-sheet{min-width:0!important}}
#response-order-summary{max-width:100%;overflow-x:auto}#response-order-summary .cake-order-sheet{min-width:720px}.order-overview{overflow-wrap:anywhere}.cake-order-sheet .sheet-selection td:last-child{white-space:pre-wrap}@media(max-width:600px){#response-order-summary .cake-order-sheet{min-width:0!important}.cake-order-sheet .sheet-selection td:last-child{width:100%!important}}
