:root{--cd-pink:#e5097f;--cd-pink-dark:#bd0669;--cd-pink-soft:#fff1f7;--cd-ink:#2e1836;--cd-muted:#746c78;--cd-line:#eadfe7;--cd-surface:#fff;--cd-success:#147a55;--cd-shadow:0 18px 55px rgba(74,32,64,.11)}
.cd-page{background:linear-gradient(180deg,#fff8fb 0,#fff 500px);color:var(--cd-ink);min-height:100vh;padding:38px 20px 125px}.cd-page *,.cd-page *:before,.cd-page *:after{box-sizing:border-box}.cd-shell{max-width:1440px;margin:auto}.cd-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 0 28px}.cd-heading h1{color:var(--cd-ink);font-size:clamp(2rem,4vw,3.35rem);line-height:1.06;margin:3px 0 10px;letter-spacing:-.045em}.cd-heading>div>p:last-child{color:var(--cd-muted);font-size:1rem;margin:0}.cd-eyebrow{color:var(--cd-pink);font-size:.76rem;font-weight:800;letter-spacing:.15em;margin:0;text-transform:uppercase}.cd-reset{background:transparent;border:0;border-bottom:1px solid currentColor;color:var(--cd-muted);cursor:pointer;font-size:.86rem;padding:4px 0}.cd-reset:hover,.cd-reset:focus-visible{color:var(--cd-pink)}
.cd-layout{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(430px,.96fr);gap:28px;align-items:start}.cd-preview-column{display:grid;gap:18px;min-width:0;position:sticky;top:18px}.cd-preview-card,.cd-summary-card,.cd-builder{background:var(--cd-surface);border:1px solid var(--cd-line);border-radius:24px;box-shadow:var(--cd-shadow)}.cd-preview-card{overflow:hidden;padding:20px}.cd-preview-topline{display:flex;justify-content:space-between;align-items:center;color:var(--cd-muted);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.cd-preview-badge{background:var(--cd-pink-soft);border:1px solid #f5cde1;border-radius:999px;color:var(--cd-pink-dark);padding:6px 11px}
.cd-canvas-stage{align-items:center;background:radial-gradient(circle at 50% 62%,#fff 0,#fbf7fa 55%,#f5edf2 100%);border-radius:19px;display:flex;justify-content:center;margin-top:14px;min-height:clamp(320px,42vw,590px);overflow:hidden;position:relative;touch-action:pan-y}.cd-canvas-stage:focus-visible{outline:3px solid rgba(229,9,127,.28);outline-offset:3px}#cakePreviewCanvas{display:block;height:auto;max-height:590px;max-width:100%;opacity:1;transition:opacity .2s ease,transform .2s ease;width:100%}.cd-canvas-stage.is-loading #cakePreviewCanvas{opacity:.25;transform:scale(.992)}.cd-preview-loading{align-items:center;background:rgba(255,255,255,.82);border-radius:999px;display:flex;gap:9px;left:50%;padding:10px 15px;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:2}.cd-preview-loading[hidden]{display:none}.cd-spinner{animation:cd-spin .75s linear infinite;border:2px solid #f2c8dd;border-radius:50%;border-top-color:var(--cd-pink);height:18px;width:18px}@keyframes cd-spin{to{transform:rotate(360deg)}}.cd-preview-empty{align-items:center;color:var(--cd-muted);display:flex;flex-direction:column;inset:0;justify-content:center;padding:40px;position:absolute;text-align:center}.cd-preview-empty>span{color:#d8bdcc;font-size:4rem;line-height:1}.cd-preview-empty strong{color:var(--cd-ink);font-size:1rem;margin-top:8px}.cd-preview-empty small{margin-top:5px;max-width:260px}
.cd-view-slider{align-items:center;display:flex;gap:9px;justify-content:center;margin-top:16px}.cd-view-options{background:#f7f2f5;border-radius:999px;display:flex;gap:4px;padding:4px}.cd-view-option{background:transparent;border:0;border-radius:999px;color:var(--cd-muted);cursor:pointer;font-size:.74rem;font-weight:800;letter-spacing:.06em;padding:9px 15px;text-transform:uppercase}.cd-view-option.is-selected{background:#fff;box-shadow:0 3px 12px rgba(54,25,47,.12);color:var(--cd-pink)}.cd-view-option:disabled{cursor:not-allowed;opacity:.33;text-decoration:line-through}.cd-view-arrow{align-items:center;background:#fff;border:1px solid var(--cd-line);border-radius:50%;color:var(--cd-ink);cursor:pointer;display:flex;font-size:1.55rem;height:38px;justify-content:center;line-height:1;width:38px}.cd-view-arrow:disabled{cursor:not-allowed;opacity:.35}.cd-preview-facts{border-top:1px solid var(--cd-line);display:grid;grid-template-columns:1fr 1fr;margin:18px 0 0;padding-top:15px}.cd-preview-facts div+div{border-left:1px solid var(--cd-line);padding-left:20px}.cd-preview-facts dt{color:var(--cd-muted);font-size:.72rem;font-weight:700;text-transform:uppercase}.cd-preview-facts dd{color:var(--cd-ink);font-size:1rem;font-weight:800;margin:3px 0 0}
.cd-summary-card{padding:20px}.cd-section-title{align-items:center;display:flex;justify-content:space-between}.cd-section-title h2{font-size:1rem;margin:0}.cd-section-title span{color:var(--cd-muted);font-size:.75rem}.cd-summary{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin:16px 0 0}.cd-summary div{background:#fbf8fa;border-radius:11px;padding:10px 12px;min-width:0}.cd-summary dt{color:var(--cd-muted);font-size:.68rem;font-weight:700;text-transform:uppercase}.cd-summary dd{color:var(--cd-ink);font-size:.84rem;font-weight:700;margin:3px 0 0;overflow-wrap:anywhere}
.cd-builder{min-width:0;overflow:hidden}.cd-steps{border-bottom:1px solid var(--cd-line);overflow-x:auto;scrollbar-width:none}.cd-steps::-webkit-scrollbar{display:none}.cd-steps ol{display:flex;list-style:none;margin:0;min-width:max-content;padding:15px 18px}.cd-step-tab{align-items:center;background:transparent;border:0;color:var(--cd-muted);cursor:pointer;display:flex;font-size:.72rem;font-weight:700;gap:7px;padding:7px 9px}.cd-step-tab span{align-items:center;border:1px solid var(--cd-line);border-radius:50%;display:flex;height:25px;justify-content:center;width:25px}.cd-step-tab.is-current{color:var(--cd-pink)}.cd-step-tab.is-current span{background:var(--cd-pink);border-color:var(--cd-pink);color:#fff}.cd-step-tab.is-complete span{background:var(--cd-success);border-color:var(--cd-success);color:#fff}.cd-step-panel{min-height:680px;padding:25px}.cd-step-copy>span{color:var(--cd-pink);font-size:.72rem;font-weight:800;text-transform:uppercase}.cd-step-copy h2{font-size:1.6rem;margin:7px 0}.cd-step-copy p{color:var(--cd-muted);margin:0 0 23px}.cd-step-body{min-height:490px}
.cd-carousel-wrap{position:relative}.cd-carousel{display:grid;gap:12px;grid-auto-columns:minmax(145px,42%);grid-auto-flow:column;overflow-x:auto;padding:3px 2px 13px;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-color:#e4c9d7 transparent}.cd-carousel-button{align-items:center;background:#fff;border:1px solid var(--cd-line);border-radius:50%;box-shadow:0 5px 18px rgba(57,29,48,.12);color:var(--cd-ink);cursor:pointer;display:flex;height:34px;justify-content:center;position:absolute;top:74px;width:34px;z-index:3}.cd-carousel-button[data-direction=previous]{left:-12px}.cd-carousel-button[data-direction=next]{right:-12px}.cd-option{background:#fff;border:1.5px solid var(--cd-line);border-radius:16px;color:var(--cd-ink);cursor:pointer;min-height:180px;overflow:hidden;padding:11px;position:relative;scroll-snap-align:start;text-align:left;transition:border-color .16s,box-shadow .16s,transform .16s}.cd-option:hover{border-color:#eaa5c9;transform:translateY(-2px)}.cd-option:focus-visible,.cd-button:focus-visible,.cd-step-tab:focus-visible,.cd-view-option:focus-visible,.cd-view-arrow:focus-visible,.cd-reset:focus-visible,.cd-chip:focus-visible{outline:3px solid rgba(229,9,127,.25);outline-offset:2px}.cd-option.is-selected{background:#fff8fb;border-color:var(--cd-pink);box-shadow:0 8px 22px rgba(229,9,127,.13)}.cd-option.is-selected:after{align-items:center;background:var(--cd-pink);border:3px solid #fff;border-radius:50%;color:#fff;content:'✓';display:flex;font-size:.68rem;height:23px;justify-content:center;position:absolute;right:8px;top:8px;width:23px}.cd-option:disabled{cursor:not-allowed;filter:grayscale(.6);opacity:.42}.cd-option img{background:#fbf8fa;border-radius:11px;display:block;height:114px;object-fit:contain;width:100%}.cd-option-copy{display:block;padding:10px 2px 1px}.cd-option-copy strong{display:block;font-size:.84rem;line-height:1.25}.cd-option-copy small{color:var(--cd-muted);display:block;font-size:.71rem;margin-top:4px}.cd-option-placeholder{align-items:center;background:#fbf8fa;border-radius:11px;color:#c7a7b8;display:flex;font-size:1.8rem;height:114px;justify-content:center}.cd-option-note{color:var(--cd-muted);font-size:.75rem;margin-top:11px}
.cd-chip-grid{display:flex;flex-wrap:wrap;gap:10px}.cd-chip{background:#fff;border:1.5px solid var(--cd-line);border-radius:999px;color:var(--cd-ink);cursor:pointer;font-size:.83rem;font-weight:700;padding:11px 16px}.cd-chip.is-selected{background:var(--cd-ink);border-color:var(--cd-ink);color:#fff}.cd-color-grid{display:flex;flex-wrap:wrap;gap:13px}.cd-color{background:var(--swatch);border:3px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #d8cbd3,0 4px 10px rgba(40,20,35,.12);cursor:pointer;height:46px;position:relative;width:46px}.cd-color.is-selected{box-shadow:0 0 0 3px var(--cd-pink),0 4px 12px rgba(229,9,127,.2)}.cd-color.is-selected:after{color:#3b2532;content:'✓';font-size:1rem;font-weight:900;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.cd-custom-color{align-items:center;background:#fbf8fa;border-radius:14px;display:flex;gap:12px;margin-top:22px;max-width:330px;padding:13px}.cd-custom-color input{background:#fff;border:1px solid var(--cd-line);border-radius:9px;cursor:pointer;height:42px;padding:3px;width:54px}.cd-custom-color strong,.cd-custom-color small{display:block}.cd-custom-color small{color:var(--cd-muted);margin-top:2px}
.cd-design-tools{display:grid;gap:12px;grid-template-columns:1fr auto;margin-bottom:15px}.cd-search{border:1.5px solid var(--cd-line);border-radius:12px;color:var(--cd-ink);min-height:44px;padding:10px 13px;width:100%}.cd-category-select{border:1.5px solid var(--cd-line);border-radius:12px;color:var(--cd-ink);min-width:145px;padding:10px 34px 10px 12px}.cd-design-grid{display:grid;gap:11px;grid-template-columns:repeat(3,minmax(0,1fr))}.cd-design-grid .cd-option{min-height:155px}.cd-design-grid .cd-option img,.cd-design-grid .cd-option-placeholder{height:93px}.cd-load-more{background:transparent;border:1px solid var(--cd-line);border-radius:999px;color:var(--cd-ink);cursor:pointer;display:block;font-weight:700;margin:18px auto 0;padding:9px 20px}.cd-form-grid{display:grid;gap:20px}.cd-field label{display:flex;font-size:.84rem;font-weight:800;justify-content:space-between;margin-bottom:7px}.cd-field label span{color:var(--cd-muted);font-size:.72rem;font-weight:500}.cd-field textarea{border:1.5px solid var(--cd-line);border-radius:13px;color:var(--cd-ink);min-height:105px;padding:13px;resize:vertical;width:100%}.cd-final-summary{background:var(--cd-pink-soft);border:1px solid #f4cade;border-radius:16px;margin-top:21px;padding:16px}.cd-final-summary strong{display:block;margin-bottom:7px}.cd-final-summary p{color:var(--cd-muted);font-size:.82rem;margin:0}.cd-empty-options{align-items:center;background:#fbf8fa;border:1px dashed #dccbd4;border-radius:14px;color:var(--cd-muted);display:flex;min-height:145px;justify-content:center;padding:30px;text-align:center}
.cd-action-bar{background:rgba(255,255,255,.94);border-top:1px solid var(--cd-line);bottom:0;box-shadow:0 -12px 35px rgba(60,25,49,.09);left:0;position:fixed;right:0;z-index:80;backdrop-filter:blur(14px)}.cd-action-inner{align-items:center;display:flex;gap:25px;justify-content:space-between;margin:auto;max-width:1440px;min-height:88px;padding:12px 20px}.cd-action-price span,.cd-action-price small{color:var(--cd-muted);display:block}.cd-action-price span{font-size:.7rem;font-weight:800;text-transform:uppercase}.cd-action-price strong{display:block;font-size:1.35rem;line-height:1.25}.cd-action-price small{font-size:.72rem}.cd-actions{display:flex;gap:10px}.cd-button{border-radius:999px;cursor:pointer;font-size:.88rem;font-weight:800;min-width:115px;padding:12px 20px}.cd-button:disabled{cursor:not-allowed;opacity:.42}.cd-button-primary{background:var(--cd-pink);border:1px solid var(--cd-pink);color:#fff}.cd-button-primary:hover:not(:disabled){background:var(--cd-pink-dark)}.cd-button-secondary{background:#fff;border:1px solid var(--cd-line);color:var(--cd-ink)}.cd-toast{background:var(--cd-ink);border-radius:12px;bottom:105px;color:#fff;left:50%;max-width:min(90vw,460px);padding:13px 18px;position:fixed;text-align:center;transform:translateX(-50%);z-index:95}.cd-data-error{background:#fff4f4;border:1px solid #edc3c3;border-radius:16px;color:#762929;display:grid;gap:4px;padding:20px}.cd-data-error[hidden]{display:none}
@media(max-width:1050px){.cd-layout{grid-template-columns:1fr}.cd-preview-column{position:static;grid-template-columns:minmax(0,1.25fr) minmax(270px,.75fr);align-items:start}.cd-canvas-stage{min-height:430px}.cd-step-panel{min-height:610px}}
@media(max-width:760px){.cd-page{padding:24px 12px 115px}.cd-heading{align-items:flex-start}.cd-heading h1{font-size:2.25rem}.cd-heading>div>p:last-child{font-size:.9rem}.cd-preview-column{grid-template-columns:1fr}.cd-preview-card,.cd-summary-card,.cd-builder{border-radius:18px}.cd-preview-card{padding:13px}.cd-canvas-stage{min-height:330px}.cd-summary-card{display:none}.cd-step-panel{min-height:570px;padding:19px 15px}.cd-step-tab{font-size:0;padding:7px 5px}.cd-step-tab span{font-size:.72rem}.cd-carousel{grid-auto-columns:minmax(142px,68%)}.cd-design-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cd-design-tools{grid-template-columns:1fr}.cd-category-select{width:100%}.cd-action-inner{min-height:83px}.cd-action-price small{max-width:165px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cd-button{min-width:84px;padding:11px 14px}}
@media(max-width:390px){.cd-heading>div>p:last-child{display:none}.cd-reset{font-size:.76rem}.cd-canvas-stage{min-height:285px}.cd-view-option{padding:8px 10px}.cd-view-arrow{height:34px;width:34px}.cd-action-price strong{font-size:1.1rem}}
@media(prefers-reduced-motion:reduce){.cd-page *{scroll-behavior:auto!important;transition:none!important}}
.cd-writing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cd-input{border:1.5px solid var(--cd-line);border-radius:13px;color:var(--cd-ink);min-height:46px;padding:13px;width:100%}.cd-radio-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.cd-radio-row label,.cd-check-row{align-items:center;background:#fbf8fa;border:1px solid var(--cd-line);border-radius:999px;color:var(--cd-ink);cursor:pointer;display:flex;gap:8px;font-size:.84rem;font-weight:750;padding:10px 14px}.cd-radio-row input,.cd-check-row input{accent-color:var(--cd-pink)}.cd-qr-panel,.cd-order-section{background:#fff;border:1px solid var(--cd-line);border-radius:16px;padding:16px}.cd-qr-panel{grid-column:1/-1}.cd-check-row{border-radius:14px;justify-content:flex-start;margin:0}.cd-check-row span{display:grid;gap:2px}.cd-check-row small,.cd-muted{color:var(--cd-muted);font-size:.78rem}.cd-qr-options{display:grid;gap:15px;margin-top:15px}.cd-media-types{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.cd-media-type{background:#fff;border:1.5px solid var(--cd-line);border-radius:13px;color:var(--cd-ink);cursor:pointer;display:grid;gap:3px;min-height:70px;padding:12px;text-align:left}.cd-media-type.is-selected{background:var(--cd-pink-soft);border-color:var(--cd-pink)}.cd-media-type small{color:var(--cd-muted);font-size:.72rem}.cd-qr-recipient-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cd-error{color:#c62852;display:block;font-size:.74rem;min-height:18px;margin-top:5px}.cd-upload-box{background:#fbf8fa;border:1px dashed #e8bdd3;border-radius:14px;display:grid;gap:8px;padding:14px}.cd-upload-button{background:#fff;border:1.5px dashed #efa8ca;border-radius:12px;color:var(--cd-pink-dark);cursor:pointer;font-weight:800;min-height:54px;padding:12px}.cd-upload-box>small{color:var(--cd-muted);font-size:.75rem}.cd-media-preview{align-items:center;background:#fff;border:1px solid var(--cd-line);border-radius:12px;display:grid;gap:10px;margin-top:6px;overflow:hidden;padding:10px}.cd-media-preview img,.cd-media-preview video{display:block;max-height:230px;object-fit:contain;width:100%}.cd-media-preview audio{width:100%}.cd-remove-media{background:var(--cd-pink);border:0;border-radius:999px;color:#fff;cursor:pointer;font-weight:800;justify-self:end;padding:8px 14px}.cd-order-grid{display:grid;gap:15px}.cd-order-section h3{font-size:1rem;margin:0 0 12px}.cd-total-row{align-items:center;border-bottom:1px solid #f1e8ee;display:flex;justify-content:space-between;padding:8px 0}.cd-total-row:last-child{border-bottom:0}.cd-grand-total{font-size:1.12rem}.cd-grand-total strong{color:var(--cd-pink)}.cd-address-grid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.cd-address-card{background:#fbf8fa;border:1.5px solid var(--cd-line);border-radius:12px;cursor:pointer;display:grid;gap:5px;padding:12px;position:relative}.cd-address-card:has(input:checked){background:var(--cd-pink-soft);border-color:var(--cd-pink)}.cd-address-card input{position:absolute;right:12px;top:12px;accent-color:var(--cd-pink)}.cd-address-card small{color:var(--cd-muted);padding-right:25px}@media(max-width:760px){.cd-writing-grid,.cd-qr-recipient-grid,.cd-address-grid,.cd-media-types{grid-template-columns:1fr}}

/* Classic Make Your Own Cake presentation. The designer behavior remains in cake-designer.js. */
.cd-qr-options[hidden],.cd-upload-box[hidden],.cd-media-preview[hidden]{display:none!important}
:root{--cd-pink:#e91e8c;--cd-pink-dark:#c2185b;--cd-pink-soft:#fce4ec;--cd-ink:#3b1f5e;--cd-muted:#6c757d;--cd-line:#eee5f2;--cd-success:#4caf50;--cd-shadow:0 10px 30px rgba(59,31,94,.07)}
.cd-page{background:#fef0f6;padding:32px 20px 125px}.cd-shell{max-width:1380px}.cd-heading{align-items:center;margin:0 auto 18px;max-width:1310px}.cd-heading h1{font-family:'Dancing Script',cursive;font-size:clamp(2.25rem,4vw,3rem);letter-spacing:0;margin:0;color:var(--cd-ink)}.cd-heading .cd-eyebrow,.cd-heading>div>p:last-child{display:none}.cd-reset{border:1.5px dashed var(--cd-ink);border-radius:999px;color:var(--cd-ink);font-weight:700;padding:8px 18px}.cd-reset:hover,.cd-reset:focus-visible{background:var(--cd-pink-soft);color:var(--cd-ink)}
.cd-layout{align-items:start;background:#fff;border-radius:16px;box-shadow:0 4px 20px rgba(233,30,140,.12);display:grid;gap:0 36px;grid-template-columns:minmax(320px,.9fr) minmax(460px,1.1fr);padding:28px 34px}.cd-steps{border:0;grid-column:1/-1;margin:0 0 28px;overflow-x:auto;padding:4px 8px 12px}.cd-steps ol{align-items:flex-start;display:flex;min-width:650px;padding:0}.cd-steps li{flex:1;position:relative}.cd-steps li:not(:last-child):after{border-top:2px dashed #dee2e6;content:'';left:60%;position:absolute;top:21px;width:80%;z-index:0}.cd-steps li:has(.is-complete):not(:last-child):after{border-top-style:solid;border-top-color:var(--cd-success)}.cd-steps li:has(.is-current):not(:last-child):after{border-top-style:solid;border-top-color:var(--cd-pink)}.cd-step-tab{color:var(--cd-muted);display:flex;flex-direction:column;font-size:.78rem;gap:5px;padding:0;text-align:center;width:100%;position:relative;z-index:1}.cd-step-tab span{background:#fff;border:2px solid #dee2e6;font-size:.9rem;font-weight:700;height:42px;width:42px}.cd-step-tab.is-current{color:var(--cd-pink);font-weight:800}.cd-step-tab.is-current span{box-shadow:0 0 0 4px rgba(233,30,140,.18)}.cd-step-tab.is-complete{color:var(--cd-success)}
.cd-preview-column{display:block;min-width:0;position:sticky;top:18px}.cd-preview-card,.cd-builder{border:1px solid #f2dce8;border-radius:22px;box-shadow:none}.cd-preview-card{background:radial-gradient(circle at 50% 40%,#fff 0,#fff8fb 52%,#fcebf3 100%);padding:20px 22px 18px}.cd-preview-topline{color:var(--cd-ink);font-size:.82rem;letter-spacing:.02em;text-transform:none}.cd-preview-badge{background:transparent;border:0;height:8px;padding:0;width:8px}.cd-canvas-stage{background:transparent;border-radius:14px;margin-top:4px;min-height:420px}#cakePreviewCanvas{max-height:450px}.cd-view-slider{margin-top:7px}.cd-view-options{background:transparent;gap:11px;padding:6px}.cd-view-option{align-items:center;background:transparent;border:0;display:flex;height:18px;justify-content:center;padding:0;width:18px}.cd-view-option span{background:#d8cbd3;border-radius:50%;display:block;height:8px;transition:background .18s,transform .18s,box-shadow .18s;width:8px}.cd-view-option:hover span{background:#d980ad}.cd-view-option.is-selected{background:transparent;box-shadow:none}.cd-view-option.is-selected span{background:var(--cd-pink);box-shadow:0 0 0 4px rgba(233,30,140,.14);transform:scale(1.15)}.cd-view-option:disabled{opacity:.32;text-decoration:none}.cd-view-arrow{border-color:#eadfeb;color:var(--cd-ink);height:34px;width:34px}.cd-preview-facts{border-top-color:#f0e9f3;margin-top:10px}.cd-summary-card{display:none}
.cd-builder{background:#fff;min-width:0;overflow:hidden}.cd-step-panel{min-height:520px;padding:28px}.cd-step-copy>span{color:var(--cd-pink)}.cd-step-copy h2{color:var(--cd-ink);font-size:1.35rem;margin:6px 0 4px}.cd-step-copy p{font-size:.9rem;margin-bottom:22px}.cd-step-body{min-height:360px}.cd-carousel{gap:20px;grid-auto-columns:180px;padding:4px 4px 16px}.cd-option{border:2px solid #dee2e6;border-radius:10px;min-height:180px;padding:14px;text-align:center}.cd-option:hover{border-color:#f48fb1;box-shadow:0 4px 12px rgba(233,30,140,.12)}.cd-option.is-selected{background:#fff0f8;border-color:var(--cd-pink);box-shadow:0 4px 14px rgba(233,30,140,.18)}.cd-option img,.cd-option-placeholder{background:transparent;height:110px}.cd-option-copy strong{color:var(--cd-ink);font-size:.9rem}.cd-chip{border-color:#dee2e6}.cd-chip.is-selected{background:var(--cd-pink);border-color:var(--cd-pink)}.cd-color{height:42px;width:42px}.cd-custom-color,.cd-qr-panel,.cd-order-section{background:#fcf9fd;border-color:#eadfeb}.cd-search,.cd-category-select,.cd-field textarea,.cd-input{border-color:#dee2e6}
.cd-action-bar{border-top-color:#eadfeb;box-shadow:0 -8px 25px rgba(59,31,94,.08)}.cd-action-inner{max-width:1310px}.cd-button{font-weight:700}.cd-button-primary{background:var(--cd-ink);border-color:var(--cd-ink);box-shadow:0 4px 12px rgba(59,31,94,.25)}.cd-button-primary:hover:not(:disabled){background:#2d1649;border-color:#2d1649}.cd-button-secondary{border:2px dashed var(--cd-ink);color:var(--cd-ink)}
@media(max-width:1050px){.cd-layout{grid-template-columns:1fr;padding:22px 18px}.cd-steps,.cd-preview-column,.cd-builder{grid-column:1}.cd-preview-column{margin-bottom:20px;position:static}.cd-canvas-stage{min-height:330px}.cd-step-panel{min-height:auto;padding:22px 18px}.cd-step-body{min-height:300px}}
@media(max-width:760px){.cd-page{padding:22px 12px 115px}.cd-heading{margin-bottom:14px}.cd-heading h1{font-size:2.1rem}.cd-layout{border-radius:14px;padding:16px 12px}.cd-steps{margin-bottom:16px;padding-left:0;padding-right:0}.cd-steps ol{min-width:560px}.cd-step-tab{font-size:.65rem;padding:0}.cd-step-tab span{font-size:.75rem;height:34px;width:34px}.cd-steps li:not(:last-child):after{top:17px}.cd-preview-card,.cd-builder{border-radius:16px}.cd-preview-card{padding:16px 14px}.cd-canvas-stage{min-height:270px}#cakePreviewCanvas{max-height:300px}.cd-carousel{grid-auto-columns:150px;justify-content:start}.cd-step-panel{padding:20px 14px}.cd-view-arrow{height:32px;width:32px}}

/* Stack catalog choices vertically, matching the original step-by-step picker. */
.cd-carousel{display:flex;flex-direction:column;gap:12px;max-height:390px;overflow-x:hidden;overflow-y:auto;padding:3px 7px 13px 3px;scroll-snap-type:y proximity}
.cd-carousel-button{display:none}
.cd-carousel .cd-option{align-items:center;display:grid;grid-template-columns:110px minmax(0,1fr);min-height:116px;text-align:left;width:100%}
.cd-carousel .cd-option img,.cd-carousel .cd-option-placeholder{height:92px;width:100%}
.cd-carousel .cd-option-copy{padding:8px 12px}
.cd-action-bar{background:#fff6fb;border-top:1px solid #f2dce8}
.cd-action-price span{font-size:.7rem;letter-spacing:.03em}.cd-action-price strong{color:var(--cd-ink);font-size:1.3rem;font-weight:500}.cd-action-price small{margin-top:3px}
@media(max-width:760px){.cd-carousel{max-height:340px}.cd-carousel .cd-option{grid-template-columns:88px minmax(0,1fr);min-height:100px}.cd-carousel .cd-option img,.cd-carousel .cd-option-placeholder{height:76px}}
.cd-catalog-grid{max-height:390px;overflow-x:hidden;overflow-y:auto;padding:3px 7px 13px 3px}
.cd-catalog-grid .cd-option{min-height:155px;text-align:center}
.cd-catalog-grid .cd-option img,.cd-catalog-grid .cd-option-placeholder{height:93px}
@media(max-width:760px){.cd-catalog-grid{max-height:340px}}
.cd-field label .cd-required{color:#c62852;font-size:1rem;font-weight:800;margin-left:3px}

/* The global WhatsApp widget overlaps the CakeIt designer action bar. */
#wa-widget-wrapper,#wa_btn-content{display:none!important}

/* Responsive hardening for mobile browsers, full-view mode, and small laptop widths. */
.cd-page{
    --cd-header-offset: 72px;
    --cd-viewport-bottom: 0px;
    min-height: 100vh;
    min-height: 100dvh;
    overflow-x: hidden;
    padding-top: calc(var(--cd-header-offset) + 22px + env(safe-area-inset-top, 0px));
    padding-bottom: calc(132px + var(--cd-viewport-bottom) + env(safe-area-inset-bottom, 0px));
}
.cd-shell,.cd-layout,.cd-heading{max-width:100%;width:100%}
.cd-heading{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:12px;
    position:relative;
    z-index:2;
}
.cd-heading>div{min-width:0}
.cd-heading h1{
    line-height:1.08;
    letter-spacing:0;
    max-width:100%;
    overflow-wrap:anywhere;
}
.cd-reset{
    min-height:40px;
    position:relative;
    white-space:nowrap;
    z-index:3;
}
.cd-layout{min-width:0}
.cd-preview-column,.cd-builder,.cd-preview-card,.cd-step-panel,.cd-step-body{min-width:0}
.cd-steps{
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-x:contain;
}
.cd-action-bar{
    bottom:var(--cd-viewport-bottom);
    padding-bottom:env(safe-area-inset-bottom, 0px);
    pointer-events:auto;
    z-index:1030;
}
.cd-action-inner{width:100%}
.cd-actions{align-items:center;flex-shrink:0}
.cd-button{
    min-height:44px;
    position:relative;
    touch-action:manipulation;
    z-index:1;
}
.cd-toast{
    bottom:calc(105px + var(--cd-viewport-bottom) + env(safe-area-inset-bottom, 0px));
}
@supports selector(body:has(#cakeDesigner)){
    body:has(#cakeDesigner)>div[style*="position: fixed"][style*="z-index: 999999"]{
        display:none!important;
        pointer-events:none!important;
        visibility:hidden!important;
    }
}
@media(max-width:1050px){
    .cd-heading{padding:0 2px}
    .cd-preview-column{width:100%}
    .cd-canvas-stage{min-height:clamp(300px,52vw,430px)}
}
@media(max-width:760px){
    .cd-page{
        padding-left:10px;
        padding-right:10px;
        padding-top:calc(var(--cd-header-offset) + 14px + env(safe-area-inset-top, 0px));
        padding-bottom:calc(152px + var(--cd-viewport-bottom) + env(safe-area-inset-bottom, 0px));
    }
    .cd-heading{
        gap:8px 10px;
        margin-bottom:12px;
    }
    .cd-heading h1{font-size:clamp(1.72rem,8.5vw,2.1rem)}
    .cd-reset{
        font-size:.74rem;
        padding:8px 12px;
    }
    .cd-layout{
        overflow:visible;
        padding:14px 10px;
    }
    .cd-steps{margin-bottom:14px}
    .cd-steps ol{
        gap:0;
        min-width:max-content;
    }
    .cd-steps li{
        flex:0 0 64px;
        min-width:64px;
    }
    .cd-steps li:not(:last-child):after{
        left:44px;
        width:40px;
    }
    .cd-step-tab{
        min-height:52px;
        white-space:normal;
    }
    .cd-preview-card{overflow:visible}
    .cd-canvas-stage{min-height:clamp(245px,75vw,330px)}
    #cakePreviewCanvas{max-height:calc(75vw + 20px)}
    .cd-step-panel{padding:18px 12px}
    .cd-step-body{min-height:0}
    .cd-action-inner{
        gap:10px;
        min-height:88px;
        padding:10px 12px calc(10px + env(safe-area-inset-bottom, 0px));
    }
    .cd-action-price{
        flex:1 1 auto;
        min-width:0;
    }
    .cd-action-price small{
        max-width:clamp(116px,38vw,190px);
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
    }
    .cd-actions{
        display:grid;
        gap:8px;
        grid-template-columns:repeat(2,minmax(74px,1fr));
    }
    .cd-button{
        font-size:.8rem;
        min-width:74px;
        padding:10px 12px;
    }
}
@media(max-width:430px){
    .cd-heading{
        align-items:start;
        gap:8px;
    }
    .cd-heading h1{font-size:clamp(1.55rem,9.5vw,1.95rem)}
    .cd-reset{
        font-size:.68rem;
        line-height:1.12;
        max-width:116px;
        padding:7px 10px;
        text-align:center;
        white-space:normal;
    }
    .cd-action-inner{
        gap:8px;
        padding-left:10px;
        padding-right:10px;
    }
    .cd-action-price span{font-size:.62rem}
    .cd-action-price strong{font-size:1.04rem}
    .cd-action-price small{max-width:118px}
    .cd-actions{
        gap:7px;
        grid-template-columns:repeat(2,minmax(64px,1fr));
    }
    .cd-button{
        font-size:.76rem;
        min-width:64px;
        padding:9px 10px;
    }
}
@media(max-width:340px){
    .cd-page{padding-bottom:calc(184px + var(--cd-viewport-bottom) + env(safe-area-inset-bottom, 0px))}
    .cd-heading{grid-template-columns:1fr}
    .cd-reset{
        justify-self:start;
        max-width:none;
        white-space:nowrap;
    }
    .cd-action-inner{
        align-items:stretch;
        flex-wrap:wrap;
        min-height:118px;
    }
    .cd-actions{width:100%}
    .cd-action-price small{max-width:none}
}
.cd-add-address{align-items:center;background:#fff;border:1.5px dashed #e8bdd3;border-radius:12px;color:var(--cd-pink-dark);cursor:pointer;display:flex;font-size:.86rem;font-weight:800;gap:8px;justify-content:center;margin-bottom:12px;min-height:46px;padding:10px 14px;width:100%}.cd-add-address:hover,.cd-add-address:focus-visible{background:var(--cd-pink-soft);border-color:var(--cd-pink)}.cd-add-address span{font-size:1.2rem;line-height:1}.cd-address-modal-content{border:0;border-radius:18px;overflow:hidden}.cd-address-modal-content .modal-header{background:var(--cd-pink-soft);border-bottom-color:#f4cade}.cd-address-modal-content .modal-title{color:var(--cd-ink);font-size:1.25rem;font-weight:800}.cd-address-modal-content .modal-footer{border-top-color:var(--cd-line)}.cd-recipient-address-form{display:grid;gap:15px;grid-template-columns:repeat(2,minmax(0,1fr))}.cd-recipient-address-wide{grid-column:1/-1}.cd-recipient-address-form textarea.cd-input{min-height:90px;resize:vertical}.cd-recipient-address-form .cd-input.is-invalid{border-color:#c62852}.cd-recipient-address-form .cd-error{min-height:0}.cd-recipient-address-form .cd-error:not(:empty){margin-top:5px;min-height:18px}@media(max-width:760px){.cd-recipient-address-form{grid-template-columns:1fr}.cd-recipient-address-wide{grid-column:auto}}
