.cart-add-button { display:block; width:100%; padding:13px 18px; border:1px solid #ff650f; border-radius:10px; background:#ff650f; color:#231c19; font:inherit; font-weight:700; cursor:pointer; margin-top:12px; }
.cart-add-button:disabled { opacity:.45; cursor:default; }
.cart-add-button:focus-visible,.cart-remove:focus-visible { outline:3px solid #a9542a; outline-offset:3px; }
.cart-count { display:inline-grid; place-items:center; min-width:22px; height:22px; margin-left:7px; border-radius:50%; background:#ff650f; color:#231c19; font-size:11px; font-weight:700; }
.shopping-notice { position:fixed; right:24px; bottom:24px; max-width:420px; padding:18px 22px; border-radius:12px; z-index:1000; box-shadow:0 8px 35px #0003; color:#fffaf4; background:#35251d; border-left:4px solid #ff650f; }
.shopping-notice[hidden] { display:none; }.shopping-notice.is-error { background:#713b29; }
.shopping-actions { display:flex; flex-wrap:wrap; align-items:center; gap:18px; margin:20px 0; }
.shopping-actions .cart-add-button,.shopping-actions .button-detail { width:auto; margin:0; }
.cart-layout { display:grid; grid-template-columns:minmax(0,2fr) minmax(270px,1fr); gap:30px; padding-bottom:55px; align-items:start; }
.cart-item { display:grid; grid-template-columns:150px minmax(0,1fr); gap:24px; border:1px solid var(--line); border-radius:16px; background:#fffaf4; padding:20px; margin-bottom:16px; }
.cart-item .product-visual.has-photo { height:150px; aspect-ratio:1; border-radius:10px; }.cart-item h2 { font-size:23px; margin:10px 0; }
.cart-item-controls { display:flex; align-items:center; flex-wrap:wrap; gap:18px; margin-top:18px; }
.cart-quantity { display:flex; flex-direction:column; gap:7px; font-size:12px; color:var(--muted); }.cart-quantity input { width:80px; padding:9px; border:1px solid var(--line); border-radius:7px; background:white; font:inherit; color:var(--text); }
.cart-remove { border:0; background:none; text-decoration:underline; font:inherit; color:#954321; cursor:pointer; }.cart-remove:disabled { opacity:.4; }
.cart-summary { padding:28px; background:#2b201a; color:#fff4e8; border-radius:18px; position:sticky; top:24px; }.cart-summary h2 { font-size:25px; margin-bottom:18px; }.cart-summary .muted { color:#dbc4b2; }.cart-total { font-size:23px; font-weight:700; margin:22px 0; }.cart-summary .button-primary { display:block; text-align:center; }
.stock-warning { color:#a34922; font-size:13px; margin:12px 0; }.cart-summary .stock-warning { color:#ffb58a; }
.routine-plans { display:grid; grid-template-columns:1fr 1fr; gap:22px; margin:24px 0; }.routine-plan { padding:28px; background:#fffaf4; border:1px solid var(--line); border-radius:18px; }.routine-plan h3 { margin:12px 0; font-size:26px; }.routine-steps { padding-left:20px; }.routine-steps li { padding:16px 0; border-bottom:1px solid var(--line); }.routine-steps li:last-child { border:0; }.routine-steps p { font-size:14px; color:var(--muted); margin:8px 0; }
.skin-routine .skin-source { display:block; margin-top:20px; }.recommendation-grid { margin:28px 0 50px; }.recommendation-plans { margin-bottom:50px; }
@media(max-width:900px) { .cart-layout { grid-template-columns:1fr; }.cart-summary { position:static; } }
@media(max-width:650px) { .routine-plans { grid-template-columns:1fr; }.cart-item { grid-template-columns:85px minmax(0,1fr); gap:14px; padding:16px; }.cart-item .product-visual.has-photo { width:85px; height:100px; }.cart-item h2 { font-size:19px; }.shopping-notice { right:15px; left:15px; bottom:15px; }.shopping-actions { align-items:stretch; }.shopping-actions>* { width:100% !important; text-align:center; }.routine-plan { padding:20px; } }
