/* Typography is provided by the shared application theme. */
*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer}body:before{content:'';position:fixed;inset:0;z-index:-1;opacity:.35;background:radial-gradient(circle at 90% 0,#f5c184 0,transparent 26rem),radial-gradient(circle at 0 60%,#b8ddd2 0,transparent 28rem)}.store-header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1rem,5vw,5rem);border-bottom:1px solid var(--line);background:#f7f4ece8;backdrop-filter:blur(12px);position:sticky;top:0;z-index:5}.brand-mark{display:flex;flex-direction:column}.brand-mark span,.eyebrow{font-size:.7rem;font-weight:700;letter-spacing:.17em;color:var(--teal)}.brand-mark strong{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:1.55rem}.cart-chip{border:1px solid var(--ink);background:transparent;border-radius:99px;padding:.65rem 1rem;color:var(--ink)}.cart-chip b{background:var(--coral);color:white;border-radius:50%;padding:.12rem .43rem;margin-left:.3rem}main{max-width:1200px;margin:auto;padding:clamp(2.5rem,7vw,6rem) clamp(1rem,5vw,4rem)}.hero{max-width:720px}.hero h1{font:700 clamp(3.2rem,8vw,6.7rem)/.98 Inter,ui-sans-serif,system-ui,sans-serif;margin:.7rem 0 1.4rem;letter-spacing:-.05em}.hero h1 em{color:var(--coral)}.hero-copy{max-width:450px;font-size:1.05rem;color:var(--muted);line-height:1.6}.category-tabs{display:flex;gap:.6rem;overflow:auto;padding:2rem 0 1.2rem}.category-tabs button{white-space:nowrap;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:99px;padding:.65rem 1rem}.category-tabs button.active{background:var(--ink);color:#fff}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.product-card{border:1px solid var(--line);background:var(--paper);border-radius:24px;overflow:hidden;box-shadow:0 8px 30px #19363708;transition:transform .2s,box-shadow .2s}.product-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.product-picture{height:210px;background:linear-gradient(135deg,var(--mint),#f3d6b8);display:grid;place-items:center;overflow:hidden}.product-picture img{width:100%;height:100%;object-fit:cover}.product-placeholder{font:700 2.5rem Inter,ui-sans-serif,system-ui,sans-serif;color:#fff8}.product-info{padding:1.15rem}.product-info h3{font:700 1.35rem Inter,ui-sans-serif,system-ui,sans-serif;margin:0 0 .4rem}.product-info p{color:var(--muted);font-size:.9rem;min-height:2.7em;margin:.3rem 0 1rem;line-height:1.5}.product-bottom{display:flex;align-items:center;justify-content:space-between}.price{font-weight:700}.add-button,.primary-button{border:0;background:var(--teal);color:white;border-radius:12px;padding:.78rem 1rem;font-weight:700}.add-button{padding:.55rem .8rem;border-radius:99px}.secondary-button{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:12px;padding:.78rem 1rem}.notice{display:none;margin:0 0 1rem;padding:.8rem 1rem;border-radius:12px;background:#ffe4d9;color:#8c351f}.cart-panel{position:fixed;z-index:10;right:0;top:0;bottom:0;width:min(430px,100%);background:var(--paper);padding:2rem;box-shadow:-18px 0 60px #19363720;transform:translateX(105%);transition:transform .25s;display:flex;flex-direction:column}.cart-panel.open{transform:none}.cart-head{display:flex;justify-content:space-between;align-items:start}.cart-head h2{font:700 2rem Inter,ui-sans-serif,system-ui,sans-serif;margin:.2rem 0 1.5rem}.icon-button,.dialog-close{border:0;background:none;color:var(--ink);font-size:2rem;line-height:1}.cart-lines{overflow:auto;flex:1}.cart-line{display:grid;grid-template-columns:1fr auto;gap:.7rem;padding:1rem 0;border-bottom:1px solid var(--line)}.cart-line h3{font-size:1rem;margin:0 0 .3rem}.cart-line p{color:var(--muted);font-size:.8rem;margin:0;line-height:1.4}.line-controls{display:flex;gap:.35rem;align-items:center;margin-top:.7rem}.line-controls button{width:27px;height:27px;border:1px solid var(--line);border-radius:50%;background:white}.line-total{font-weight:700}.cart-footer{border-top:1px solid var(--line);padding-top:1.2rem}.total-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.total-row strong{font-size:1.35rem}.empty-cart{color:var(--muted);text-align:center;padding:3rem 1rem}.backdrop{position:fixed;inset:0;background:#102b2b66;z-index:8;opacity:0;pointer-events:none;transition:opacity .2s}.backdrop.open{opacity:1;pointer-events:auto}dialog{border:0;padding:0;background:transparent;max-width:min(560px,calc(100% - 2rem));width:100%}dialog::backdrop{background:#102b2b88;backdrop-filter:blur(4px)}.dialog-card{position:relative;background:var(--paper);border-radius:26px;padding:2rem;max-height:90vh;overflow:auto;box-shadow:var(--shadow)}.dialog-close{position:absolute;right:1.2rem;top:1.1rem}.dialog-image{height:170px;margin:-2rem -2rem 1.5rem;background:linear-gradient(135deg,var(--mint),#f3d6b8);border-radius:26px 26px 0 0;display:grid;place-items:center;overflow:hidden}.dialog-image img{width:100%;height:100%;object-fit:cover}.dialog-card h2{font:700 2rem Inter,ui-sans-serif,system-ui,sans-serif;margin:.4rem 0}.muted{color:var(--muted);line-height:1.5}.dialog-price{display:block;margin:1rem 0;font-size:1.2rem}.dialog-options{display:grid;gap:1rem;margin:1.2rem 0}.option-group h3{font-size:.9rem;margin:0 0 .6rem}.option-list{display:grid;gap:.4rem}.option-label{border:1px solid var(--line);padding:.7rem;border-radius:10px;display:flex;justify-content:space-between;gap:1rem}.option-label input{accent-color:var(--teal)}.option-label span:last-child{color:var(--muted);font-size:.85rem}.field{display:grid;gap:.4rem;color:var(--ink);font-size:.88rem;font-weight:500;margin:.9rem 0}.field input,.field textarea,.field select{border:1px solid var(--line);background:#fff;border-radius:10px;padding:.75rem;color:var(--ink);outline-color:var(--teal)}.dialog-actions{display:flex;justify-content:flex-end;gap:.7rem;margin-top:1.5rem}.checkout-card h2{max-width:360px}.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin:1.3rem 0}.choice-card{border:1px solid var(--line);background:white;border-radius:12px;padding:.8rem;text-align:left;color:var(--ink)}.choice-card.selected{border:2px solid var(--teal);background:var(--mint)}.choice-card strong{display:block}.choice-card small{color:var(--muted)}.contact-fields,.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.checkout-summary{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:1rem 0;margin-top:1.2rem}.summary-line{display:flex;justify-content:space-between;font-size:.9rem;margin:.4rem 0}.payment-list{display:grid;gap:.5rem}.payment-choice{border:1px solid var(--line);padding:.8rem;border-radius:10px;display:flex;gap:.6rem}.field-label{font-size:.88rem;font-weight:500;margin:1rem 0 .5rem}.success-card{text-align:center;padding:3rem 2rem}.success-icon{width:60px;height:60px;border-radius:50%;background:var(--mint);color:var(--teal);display:grid;place-items:center;font-size:2rem;margin:0 auto 1.5rem}.success-card h2{font-size:2.2rem}.success-card p:not(.eyebrow){color:var(--muted);line-height:1.6}.success-card button{margin-top:1rem}.error{color:#a63d2a;font-size:.85rem;margin:.5rem 0}
@media(max-width:760px){.product-grid{grid-template-columns:repeat(2,1fr);gap:.7rem}.product-picture{height:145px}.product-info{padding:.8rem}.product-info h3{font-size:1.1rem}.product-info p{font-size:.78rem;min-height:3.4em}.price{font-size:.85rem}.add-button{font-size:.78rem;padding:.45rem .6rem}.hero h1{font-size:3.8rem}.choice-grid,.contact-fields,.two-fields{grid-template-columns:1fr}.dialog-card{padding:1.35rem}.dialog-image{margin:-1.35rem -1.35rem 1.3rem}.cart-panel{padding:1.25rem}}
