:root {
  --venmo:#008CFF;
}
body { line-height: 1.6; padding-bottom: 80px; }

nav { padding: 0 2rem; }
.nav-logo { font-size: 1.3rem; }

.store-hero{background:var(--bg2);border-bottom:1px solid var(--border);padding:1.5rem;text-align:center}
.store-hero h1{font-family:'Playfair Display',serif;font-size:1.6rem;color:var(--text);margin-bottom:0.3rem}
.store-hero h1 em{color:var(--accent2);font-style:italic}
.store-hero p{color:var(--text-dim);font-size:0.85rem;max-width:440px;margin:0 auto}

.store-main{padding:1.25rem;max-width:1200px;margin:0 auto}
.section-label{font-size:0.65rem;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:var(--gold);margin-bottom:0.25rem}

.products-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,500px),500px));gap:0.85rem;justify-content:center;margin-bottom:1.5rem}
.product-card{background:var(--bg2);border:1px solid var(--border);border-radius:6px;overflow:hidden;transition:transform 0.2s}
.product-card:hover{transform:translateY(-2px)}
.product-gallery{position:relative;overflow:hidden;border-bottom:1px solid var(--border);background:var(--bg3);touch-action:pan-y}
.product-gallery-track{display:flex;transition:transform 0.25s ease}
.product-gallery-slide{min-width:100%}
.product-gallery-slide img{width:100%;aspect-ratio:1 / 1;object-fit:contain;display:block;background:var(--bg3);user-select:none}
.product-gallery-btn{position:absolute;top:50%;transform:translateY(-50%);width:2.2rem;height:2.2rem;border:none;border-radius:999px;background:rgba(19,14,28,0.72);color:var(--text);font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center}
.product-gallery-btn:hover{background:rgba(123,94,167,0.88)}
.product-gallery-btn.prev{left:0.75rem}
.product-gallery-btn.next{right:0.75rem}
.product-gallery-dots{position:absolute;left:50%;bottom:0.75rem;transform:translateX(-50%);display:flex;gap:0.45rem}
.product-gallery-dot{width:0.55rem;height:0.55rem;border:none;border-radius:999px;background:rgba(237,232,245,0.35);cursor:pointer}
.product-gallery-dot.active{background:var(--gold)}
.product-img{width:100%;aspect-ratio:1 / 1;display:flex;align-items:center;justify-content:center;font-size:2.5rem;border-bottom:1px solid var(--border);background:var(--bg3)}
.product-body{padding:1rem 1rem 1.1rem}
.product-name{font-family:'Playfair Display',serif;font-size:1.15rem;color:var(--accent2);margin-bottom:0.35rem;line-height:1.3}
.product-desc{font-size:0.9rem;color:var(--text-dim);margin-bottom:0.8rem;line-height:1.65}
.product-price{font-size:1rem;font-weight:700;color:var(--gold);margin-bottom:0.8rem}
.swatches-row{display:flex;gap:0.4rem;flex-wrap:wrap;margin-bottom:0.8rem}
.color-swatch{width:18px;height:18px;border-radius:50%;border:1.5px solid rgba(255,255,255,0.15);cursor:pointer;transition:transform 0.15s;display:inline-block}
.color-swatch:hover,.color-swatch.active{transform:scale(1.3);border-color:var(--gold)}
.product-variants{display:flex;flex-wrap:wrap;gap:0.4rem;margin-bottom:0.8rem}
.variant-btn{background:var(--bg3);border:1px solid var(--border);color:var(--text-mid);padding:0.35rem 0.65rem;border-radius:2px;font-size:0.78rem;cursor:pointer;transition:all 0.15s}
.variant-btn:hover,.variant-btn.active{background:var(--accent);border-color:var(--accent);color:var(--text)}
.add-btn{width:100%;background:var(--accent);color:var(--text);border:none;padding:0.7rem 0.9rem;border-radius:3px;font-size:0.82rem;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;cursor:pointer;transition:background 0.2s}
.add-btn:hover{background:var(--accent2);color:var(--dark)}
@media(max-width:700px){.product-gallery-btn{width:2rem;height:2rem;font-size:1.1rem}}

.floating-cart{position:fixed;bottom:1.5rem;right:1.5rem;z-index:90;background:var(--accent);color:var(--text);border:none;border-radius:50px;padding:0.75rem 1.25rem;font-size:0.85rem;font-weight:700;cursor:pointer;box-shadow:0 4px 20px rgba(19,14,28,0.5);display:flex;align-items:center;gap:8px;transition:background 0.2s,transform 0.15s;font-family:'Lato',sans-serif}
.floating-cart:hover{background:var(--accent2);color:var(--dark);transform:translateY(-2px)}
.floating-cart .badge{background:var(--gold);color:var(--dark);border-radius:10px;padding:1px 8px;font-size:0.72rem;font-weight:700;display:none}
.floating-cart .badge.has-items{display:inline}

.overlay{display:none;position:fixed;inset:0;background:rgba(19,14,28,0.75);z-index:100}
.overlay.open{display:block}

.cart-drawer{position:absolute;top:0;right:0;width:340px;height:100%;background:var(--bg2);border-left:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}
.drawer-header{padding:1rem 1.1rem;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}
.drawer-header h3{font-family:'Playfair Display',serif;font-size:1rem;color:var(--text)}
.drawer-close{background:none;border:none;color:var(--text-dim);font-size:1.1rem;cursor:pointer}
.drawer-close:hover{color:var(--text)}
.cart-items{flex:1;padding:0.75rem 1.1rem;overflow-y:auto}
.cart-empty{text-align:center;padding:2rem 0;color:var(--text-dim);font-size:0.85rem}
.cart-item{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:start;padding:0.7rem 0;border-bottom:1px solid var(--border)}
.cart-item:last-child{border-bottom:none}
.ci-name{font-size:0.85rem;color:var(--text);font-weight:700;margin-bottom:2px}
.ci-variant{font-size:0.72rem;color:var(--text-dim);margin-bottom:5px}
.ci-qty-row{display:flex;align-items:center;gap:5px}
.qty-btn{background:var(--bg3);border:1px solid var(--border);color:var(--text-mid);width:22px;height:22px;border-radius:2px;font-size:0.9rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 0.15s}
.qty-btn:hover{background:var(--accent);color:var(--text);border-color:var(--accent)}
.qty-num{font-size:0.82rem;color:var(--text);min-width:16px;text-align:center}
.ci-remove{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:0.68rem;text-decoration:underline;margin-left:4px}
.ci-remove:hover{color:#e08080}
.ci-price{font-size:0.88rem;font-weight:700;color:var(--gold);text-align:right}
.ci-each{font-size:0.68rem;color:var(--text-dim);text-align:right}
.cart-footer{padding:1rem 1.1rem;border-top:1px solid var(--border);flex-shrink:0}
.subtotal-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:0.4rem}
.subtotal-row span{font-size:0.82rem;color:var(--text-dim)}
.subtotal-row strong{font-size:1rem;color:var(--gold)}
.shipping-row{margin-top:0.15rem}
.total-row{border-top:1px solid var(--border);padding-top:0.55rem;margin-top:0.45rem}
.total-row strong{font-size:1.1rem}
.cart-note{font-size:0.7rem;color:var(--text-dim);margin-bottom:0.85rem;line-height:1.5}
.cust-form{margin-bottom:0.85rem}
.cust-form p{font-size:0.72rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-dim);margin-bottom:0.5rem}
.cust-form input,.cust-form select{width:100%;background:var(--bg3);border:1px solid var(--border);color:var(--text);padding:0.4rem 0.6rem;border-radius:3px;font-family:'Lato',sans-serif;font-size:0.82rem;outline:none;margin-bottom:0.4rem;transition:border-color 0.2s}
.cust-form input:focus{border-color:var(--accent)}
.cust-form select:focus{border-color:var(--accent)}
.cust-form select.unavailable-state{color:#ff6f6f;border-color:#ff6f6f}
.cust-form option.unavailable-state-option{color:#ff6f6f}
.shipping-unavailable{font-size:0.72rem;color:#ff6f6f;line-height:1.45;margin:-0.35rem 0 0.8rem}
.pay-label{font-size:0.7rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-dim);margin-bottom:0.5rem}
.pay-buttons{display:grid;grid-template-columns:1fr 1fr;gap:0.5rem;margin-bottom:0.5rem}
.btn-stripe{background:var(--gold);color:var(--dark);border:none;padding:0.6rem;border-radius:3px;font-size:0.75rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;cursor:pointer;transition:opacity 0.2s;font-family:'Lato',sans-serif}
.btn-stripe:hover{opacity:0.85}
.btn-venmo{background:var(--venmo);color:#fff;border:none;padding:0.6rem;border-radius:3px;font-size:0.75rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;cursor:pointer;transition:opacity 0.2s;font-family:'Lato',sans-serif}
.btn-venmo:hover{opacity:0.85}
.btn-continue{width:100%;background:transparent;color:var(--text-dim);border:1px solid var(--border);padding:0.45rem;border-radius:3px;font-size:0.75rem;cursor:pointer;margin-top:0.3rem;transition:border-color 0.2s;font-family:'Lato',sans-serif}
.btn-continue:hover{border-color:var(--accent);color:var(--accent2)}

.confirm-screen{position:absolute;top:0;right:0;width:340px;height:100%;background:var(--bg2);border-left:1px solid var(--border);display:none;flex-direction:column;overflow-y:auto}
.confirm-screen.open{display:flex}
.confirm-inner{padding:1.5rem 1.25rem}
.confirm-icon{font-size:2.5rem;text-align:center;margin-bottom:0.75rem}
.confirm-title{font-family:'Playfair Display',serif;font-size:1.1rem;color:var(--text);text-align:center;margin-bottom:0.3rem}
.confirm-sub{font-size:0.8rem;color:var(--text-dim);text-align:center;margin-bottom:1.25rem;line-height:1.5}
.confirm-order{background:var(--bg3);border:1px solid var(--border);border-radius:4px;padding:0.85rem;margin-bottom:1rem}
.confirm-order-title{font-size:0.68rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--gold);margin-bottom:0.6rem}
.confirm-item{font-size:0.8rem;color:var(--text-mid);padding:0.3rem 0;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;gap:8px}
.confirm-item:last-child{border-bottom:none}
.confirm-total{display:flex;justify-content:space-between;align-items:center;margin-top:0.75rem;padding-top:0.6rem;border-top:1px solid var(--border)}
.confirm-total span{font-size:0.82rem;color:var(--text-dim)}
.confirm-total strong{color:var(--gold);font-size:0.95rem}
.venmo-box{background:rgba(0,140,255,0.1);border:1px solid rgba(0,140,255,0.3);border-radius:4px;padding:0.85rem;margin-bottom:1rem;text-align:center}
.venmo-box p{font-size:0.78rem;color:var(--text-mid);margin-bottom:0.5rem;line-height:1.5}
.venmo-handle{font-size:1rem;font-weight:700;color:#6ec6ff;letter-spacing:0.05em}
.venmo-open-btn{background:var(--venmo);color:#fff;border:none;padding:0.55rem 1rem;border-radius:3px;font-size:0.78rem;font-weight:700;cursor:pointer;margin-top:0.6rem;width:100%;font-family:'Lato',sans-serif}
.confirm-close-btn{background:var(--accent);color:var(--text);border:none;padding:0.55rem;border-radius:3px;font-size:0.78rem;font-weight:700;cursor:pointer;width:100%;margin-top:0.5rem;font-family:'Lato',sans-serif}
.confirm-close-btn:hover{background:var(--accent2);color:var(--dark)}
.email-status{font-size:0.72rem;text-align:center;margin-top:0.5rem;color:var(--text-dim)}
