/*
Theme Name:  Midwest Composite Supplies
Description: A standalone WordPress theme for Midwest Composite Supplies. Gold/dark rocketry aesthetic. No parent theme required.
Author:      Midwest Composite Supplies
Version:     1.0.0
Tags:        custom, ecommerce, dark
Text Domain: mcs-theme
*/


/* ═══════════════════════════════════════════════
   CSS VARIABLES & RESET
═══════════════════════════════════════════════ */
:root {
  --gold-bright:  #E9CF7E;
  --gold-mid:     #C8A84B;
  --gold-dark:    #8B6914;
  --black:        #0C0C0C;
  --near-black:   #1a1200;
  --brown-dark:   #3a2800;
  --cream:        #F8F4EA;
  --light-bg:     #FAFAF7;
  --light-card:   #FFFFFF;
  --light-border: #E8E0D0;
  --text-heading: #1C1208;
  --text-body:    #3D3020;
  --text-muted:   #7A6845;
  --accent-warm:  #F5EDD8;
  --accent-rule:  #D4B97A;
  --success:      #2D6A2D;
  --success-bg:   #EEF7EE;
  --error:        #8B2020;
  --error-bg:     #FFF0F0;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Lora',Georgia,serif;background:var(--light-bg);color:var(--text-body);line-height:1.7}

/* ═══════════════════════════════════════════════
   ADMIN BAR (WooCommerce/WordPress style)
═══════════════════════════════════════════════ */
.wp-admin-bar {
  background: #1d1d1d;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 0 24px;
  gap: 20px;
  font-family: 'Josefin Sans', sans-serif;
  font-size: 12px;
  letter-spacing: 1.5px;
  color: #ccc;
  position: sticky;
  top: 0;
  z-index: 9999;
}
.wp-admin-bar a { color: #aaa; text-decoration: none; transition: color 0.2s; display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.wp-admin-bar a:hover { color: var(--gold-bright); }
.wp-admin-bar .sep { opacity: 0.3; }

/* ═══════════════════════════════════════════════
   HEADER
═══════════════════════════════════════════════ */
header {
  background: radial-gradient(ellipse at 50% 30%, var(--brown-dark) 0%, var(--near-black) 45%, var(--black) 100%);
  position: relative;
  overflow: hidden;
}
header::before {
  content:'';position:absolute;inset:0;
  background:repeating-linear-gradient(45deg,transparent,transparent 40px,rgba(200,168,75,0.02) 40px,rgba(200,168,75,0.02) 41px);
  pointer-events:none;
}
.header-rule { height:2px; background:linear-gradient(90deg,transparent 0%,var(--gold-dark) 20%,var(--gold-bright) 50%,var(--gold-dark) 80%,transparent 100%); }
.header-inner { max-width:1200px; margin:0 auto; padding:14px 40px 12px; display:flex; flex-direction:column; align-items:center; }
.logo-lockup { display:flex; flex-direction:column; align-items:center; animation:fadeDown 0.9s ease both; }
@keyframes fadeDown { from{opacity:0;transform:translateY(-18px)} to{opacity:1;transform:translateY(0)} }
.logo-icon { font-size:48px; margin-bottom:8px; filter:drop-shadow(0 4px 16px rgba(200,168,75,0.4)); line-height:1; }
.logo-name { font-family:'Cinzel',serif; font-weight:700; font-size:28px; letter-spacing:5px; text-transform:uppercase; color:var(--gold-bright); text-shadow:0 0 30px rgba(233,207,126,0.4); line-height:1.1; text-align:center; }
.logo-sub { font-family:'Josefin Sans',sans-serif; font-size:10px; font-weight:300; letter-spacing:7px; text-transform:uppercase; color:var(--cream); opacity:0.6; margin-top:2px; margin-bottom:8px; }
.tagline-rule { width:80px; height:1px; background:linear-gradient(90deg,transparent,var(--gold-mid),transparent); margin-bottom:8px; opacity:0.6; }
.logo-tagline { font-family:'Josefin Sans',sans-serif; font-size:10px; font-weight:300; letter-spacing:2px; text-transform:uppercase; color:var(--cream); opacity:0.5; text-align:center; line-height:1.9; }

/* Header utility row */
.header-utils {
  position: absolute;
  top: 18px;
  right: 40px;
  display: flex;
  align-items: center;
  gap: 20px;
}
.header-util-link {
  display: flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  text-decoration: none;
  font-family: 'Josefin Sans', sans-serif;
  font-size: 9px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--cream);
  opacity: 0.5;
  transition: opacity 0.2s, color 0.2s;
}
.header-util-link:hover { opacity: 1; color: var(--gold-bright); }
.header-util-link .icon { font-size: 16px; }
.cart-count {
  font-family:'Josefin Sans',sans-serif; font-size:9px; font-weight:600; color:var(--near-black);
  background:var(--gold-bright); border-radius:50%; width:18px; height:18px;
  display:flex; align-items:center; justify-content:center; transition:transform 0.2s;
}
.header-util-link:hover .cart-count { transform:scale(1.15); }

/* ── NAV ── */
nav { background:rgba(10,8,0,0.88); border-top:1px solid rgba(200,168,75,0.15); border-bottom:1px solid rgba(200,168,75,0.15); }
nav ul { max-width:1200px; margin:0 auto; padding:0 40px; list-style:none; display:flex; gap:0; justify-content:center; }
nav ul li a { display:block; padding:13px 22px; font-family:'Josefin Sans',sans-serif; font-size:10px; font-weight:400; letter-spacing:3px; text-transform:uppercase; color:var(--cream); opacity:0.65; text-decoration:none; transition:opacity 0.2s,color 0.2s; position:relative; }
nav ul li a::after { content:''; position:absolute; bottom:0; left:22px; right:22px; height:2px; background:var(--gold-mid); transform:scaleX(0); transition:transform 0.25s; }
nav ul li a:hover,nav ul li a.active { opacity:1; color:var(--gold-bright); }
nav ul li a:hover::after,nav ul li a.active::after { transform:scaleX(1); }

/* ═══════════════════════════════════════════════
   NAV DROPDOWN
═══════════════════════════════════════════════ */
.nav-dropdown { position:relative; }
.nav-dropdown > a::after { content:''; } /* override underline pseudo for parent */
.nav-dropdown > a > span.caret,
.nav-dropdown > a::before { display:none; }
.nav-dropdown > a { display:flex; align-items:center; gap:5px; }
.nav-dropdown > a::after { content:'▾'; position:static; height:auto; background:none; transform:none !important; font-size:10px; opacity:0.7; }
.dropdown-menu { display:none; position:absolute; top:100%; left:50%; transform:translateX(-50%); background:#1a1a1a; border:1px solid rgba(200,168,75,0.2); border-top:2px solid var(--gold-mid); min-width:200px; list-style:none; padding:8px 0; margin:0; z-index:200; box-shadow:0 8px 24px rgba(0,0,0,0.7); }
.dropdown-menu li a { display:block; padding:10px 22px; font-family:'Josefin Sans',sans-serif; font-size:10px; font-weight:400; letter-spacing:2.5px; text-transform:uppercase; color:var(--cream); opacity:0.7; text-decoration:none; transition:opacity 0.2s,background 0.2s; white-space:nowrap; }
.dropdown-menu li a:hover { opacity:1; color:var(--gold-bright); background:rgba(200,168,75,0.06); }
.dropdown-menu li a::after { display:none !important; }
.nav-dropdown:hover .dropdown-menu { display:block; }

/* ═══════════════════════════════════════════════
   TRUST STRIP
═══════════════════════════════════════════════ */
.trust-strip { background:var(--black); border-bottom:1px solid rgba(200,168,75,0.12); padding:14px 40px; }
.trust-strip-inner { max-width:1200px; margin:0 auto; display:flex; justify-content:center; column-gap:48px; flex-wrap:wrap; row-gap:10px; }
.trust-item { display:flex; align-items:center; gap:9px; font-family:'Josefin Sans',sans-serif; font-size:9px; letter-spacing:2px; text-transform:uppercase; color:var(--cream); opacity:0.55; }
.trust-item span:first-child { color:var(--gold-mid); font-size:13px; }

/* ═══════════════════════════════════════════════
   PAGE SYSTEM — show/hide pages
═══════════════════════════════════════════════ */
.page { display: none; }
.page.active { display: block; }

/* ═══════════════════════════════════════════════
   HERO
═══════════════════════════════════════════════ */
.hero { background:var(--accent-warm); border-bottom:1px solid var(--light-border); padding:80px 40px; text-align:center; position:relative; overflow:hidden; }
.hero::before { content:''; position:absolute; top:-60px; left:50%; transform:translateX(-50%); width:400px; height:120px; background:radial-gradient(ellipse,rgba(200,168,75,0.12) 0%,transparent 70%); pointer-events:none; }
.hero-eyebrow { font-family:'Josefin Sans',sans-serif; font-size:10px; letter-spacing:4px; text-transform:uppercase; color:var(--gold-dark); margin-bottom:18px; }
.hero h1 { font-family:'Cinzel',serif; font-size:36px; font-weight:600; color:var(--text-heading); letter-spacing:1px; line-height:1.3; max-width:700px; margin:0 auto 20px; }
.hero-rule { width:60px; height:2px; background:linear-gradient(90deg,var(--gold-mid),var(--gold-bright),var(--gold-mid)); margin:0 auto 22px; border-radius:1px; }
.hero p { font-size:16px; color:var(--text-body); max-width:560px; margin:0 auto 34px; line-height:1.8; font-style:italic; }
.hero-btns { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }

/* ═══════════════════════════════════════════════
   BUTTONS
═══════════════════════════════════════════════ */
.btn-primary { display:inline-block; padding:14px 36px; background:linear-gradient(135deg,var(--gold-mid),var(--gold-bright),var(--gold-mid)); color:var(--near-black); font-family:'Josefin Sans',sans-serif; font-size:10px; font-weight:600; letter-spacing:3px; text-transform:uppercase; text-decoration:none; border-radius:2px; box-shadow:0 4px 20px rgba(200,168,75,0.3); transition:box-shadow 0.25s,transform 0.2s; cursor:pointer; border:none; }
.btn-primary:hover { box-shadow:0 6px 28px rgba(200,168,75,0.5); transform:translateY(-1px); }
.btn-outline { display:inline-block; padding:13px 32px; border:1px solid var(--gold-dark); color:var(--gold-dark); font-family:'Josefin Sans',sans-serif; font-size:10px; font-weight:600; letter-spacing:3px; text-transform:uppercase; text-decoration:none; border-radius:2px; transition:border-color 0.2s,color 0.2s,background 0.2s; cursor:pointer; background:transparent; }
.btn-outline:hover { border-color:var(--gold-bright); color:var(--text-heading); background:rgba(200,168,75,0.08); }
.btn-ghost { display:inline-block; padding:10px 22px; font-family:'Josefin Sans',sans-serif; font-size:9px; letter-spacing:2px; text-transform:uppercase; color:var(--text-muted); text-decoration:none; cursor:pointer; background:none; border:none; transition:color 0.2s; }
.btn-ghost:hover { color:var(--gold-dark); }

/* ═══════════════════════════════════════════════
   MAIN LAYOUT
═══════════════════════════════════════════════ */
main { max-width:1200px; margin:0 auto; padding:0 40px; }
.section-header { text-align:center; padding:70px 0 44px; }
.section-eyebrow { font-family:'Josefin Sans',sans-serif; font-size:9px; letter-spacing:4px; text-transform:uppercase; color:var(--gold-dark); margin-bottom:12px; }
.section-header h2 { font-family:'Cinzel',serif; font-size:26px; font-weight:600; color:var(--text-heading); letter-spacing:1px; margin-bottom:14px; }
.section-rule { width:48px; height:2px; background:linear-gradient(90deg,var(--gold-mid),var(--gold-bright),var(--gold-mid)); margin:0 auto 18px; border-radius:1px; }
.section-header p { font-size:15px; color:var(--text-muted); max-width:520px; margin:0 auto; font-style:italic; }

/* ═══════════════════════════════════════════════
   CATEGORY CARDS
═══════════════════════════════════════════════ */
.category-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; padding-bottom:60px; }
.cat-card { background:var(--light-card); border:1px solid var(--light-border); border-radius:4px; padding:30px 20px 24px; text-align:center; cursor:pointer; position:relative; transition:box-shadow 0.25s,border-color 0.25s; text-decoration:none; display:block; }
.cat-card::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,var(--gold-mid),var(--gold-bright),var(--gold-mid)); border-radius:4px 4px 0 0; opacity:0; transition:opacity 0.25s; }
.cat-card:hover { box-shadow:0 8px 32px rgba(0,0,0,0.08); border-color:var(--accent-rule); }
.cat-card:hover::before { opacity:1; }
.cat-icon { font-size:32px; margin-bottom:12px; display:block; }
.cat-card h3 { font-family:'Cinzel',serif; font-size:13px; font-weight:600; color:var(--text-heading); letter-spacing:1px; margin-bottom:6px; }
.cat-card p { font-size:12px; color:var(--text-muted); line-height:1.6; font-style:italic; }

/* ═══════════════════════════════════════════════
   PRODUCT FILTERS & GRID
═══════════════════════════════════════════════ */
.product-filters { display:flex; align-items:center; justify-content:space-between; padding:0 0 24px; border-bottom:1px solid var(--light-border); margin-bottom:32px; flex-wrap:wrap; gap:12px; }
.filter-tabs { display:flex; gap:4px; flex-wrap:wrap; }
.filter-tab { font-family:'Josefin Sans',sans-serif; font-size:9px; letter-spacing:2.5px; text-transform:uppercase; padding:8px 16px; border:1px solid var(--light-border); border-radius:2px; cursor:pointer; background:transparent; color:var(--text-muted); transition:all 0.2s; }
.filter-tab:hover,.filter-tab.active { border-color:var(--gold-mid); color:var(--text-heading); background:rgba(200,168,75,0.07); }
.sort-select { font-family:'Josefin Sans',sans-serif; font-size:9px; letter-spacing:2px; text-transform:uppercase; padding:8px 14px; border:1px solid var(--light-border); border-radius:2px; background:var(--light-card); color:var(--text-muted); cursor:pointer; outline:none; }

.product-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; padding-bottom:70px; }
.product-card { background:var(--light-card); border:1px solid var(--light-border); border-radius:4px; overflow:hidden; position:relative; transition:box-shadow 0.25s,border-color 0.25s; display:flex; flex-direction:column; }
.product-card::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,var(--gold-mid),var(--gold-bright),var(--gold-mid)); border-radius:4px 4px 0 0; opacity:0; transition:opacity 0.25s; z-index:1; }
.product-card:hover { box-shadow:0 8px 32px rgba(0,0,0,0.08); border-color:var(--accent-rule); }
.product-card:hover::before { opacity:1; }
.product-img { background:var(--accent-warm); aspect-ratio:4/3; display:flex; align-items:center; justify-content:center; font-size:52px; border-bottom:1px solid var(--light-border); position:relative; cursor:pointer; }
.product-badge { position:absolute; top:12px; left:12px; font-family:'Josefin Sans',sans-serif; font-size:8px; letter-spacing:2px; text-transform:uppercase; padding:4px 10px; border-radius:2px; font-weight:600; }
.badge-new { background:var(--gold-mid); color:var(--near-black); }
.badge-sale { background:var(--near-black); color:var(--gold-bright); border:1px solid var(--gold-dark); }
.product-wishlist { position:absolute; top:12px; right:12px; background:white; border-radius:50%; width:32px; height:32px; display:flex; align-items:center; justify-content:center; font-size:14px; cursor:pointer; opacity:0; transition:opacity 0.2s; border:1px solid var(--light-border); }
.product-card:hover .product-wishlist { opacity:1; }
.product-body { padding:22px 22px 20px; display:flex; flex-direction:column; flex:1; }
.product-sku { font-family:'Josefin Sans',sans-serif; font-size:8px; letter-spacing:2px; text-transform:uppercase; color:var(--text-muted); margin-bottom:6px; }
.product-card h3 { font-family:'Cinzel',serif; font-size:13px; font-weight:600; color:var(--text-heading); letter-spacing:0.5px; margin-bottom:8px; line-height:1.4; cursor:pointer; }
.product-card h3:hover { color:var(--gold-dark); }
.product-card p { font-size:13px; color:var(--text-muted); line-height:1.65; font-style:italic; flex:1; margin-bottom:16px; }
.product-specs { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:16px; }
.spec-chip { font-family:'Josefin Sans',sans-serif; font-size:8px; letter-spacing:1.5px; text-transform:uppercase; padding:3px 9px; border:1px solid var(--light-border); border-radius:2px; color:var(--text-muted); background:var(--light-bg); }
.product-footer { display:flex; align-items:center; justify-content:space-between; padding-top:16px; border-top:1px solid var(--light-border); }
.product-price { font-family:'Cinzel',serif; font-size:17px; font-weight:600; color:var(--text-heading); }
.product-price-sub { font-family:'Josefin Sans',sans-serif; font-size:9px; letter-spacing:1px; color:var(--text-muted); margin-top:1px; }
.price-was { font-size:12px; color:var(--text-muted); text-decoration:line-through; font-family:'Josefin Sans',sans-serif; letter-spacing:0.5px; }
.btn-atc { font-family:'Josefin Sans',sans-serif; font-size:9px; font-weight:600; letter-spacing:2px; text-transform:uppercase; padding:10px 18px; background:linear-gradient(135deg,var(--gold-mid),var(--gold-bright)); color:var(--near-black); border:none; border-radius:2px; cursor:pointer; transition:box-shadow 0.2s,transform 0.15s; box-shadow:0 2px 12px rgba(200,168,75,0.2); }
.btn-atc:hover { box-shadow:0 4px 18px rgba(200,168,75,0.4); transform:translateY(-1px); }
.btn-atc.added { background:linear-gradient(135deg,#4a7c4a,#6aaa6a); color:#fff; }

/* Product count */
.product-count { font-family:'Josefin Sans',sans-serif; font-size:9px; letter-spacing:2px; text-transform:uppercase; color:var(--text-muted); }

/* ═══════════════════════════════════════════════
   WHY US SECTION
═══════════════════════════════════════════════ */
.why-section { background:var(--black); padding:70px 40px; }
.why-inner { max-width:1200px; margin:0 auto; }
.why-grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.why-text .section-eyebrow { color:var(--gold-mid); }
.why-text h2 { font-family:'Cinzel',serif; font-size:26px; font-weight:600; color:var(--cream); letter-spacing:1px; margin-bottom:14px; }
.why-text .section-rule { margin:0 0 20px; }
.why-text p { font-size:14px; color:var(--cream); opacity:0.6; margin-bottom:14px; font-style:italic; }
.why-list { list-style:none; display:flex; flex-direction:column; gap:14px; }
.why-list li { display:flex; align-items:flex-start; gap:14px; font-size:13px; color:var(--cream); opacity:0.7; line-height:1.6; }
.check { color:var(--gold-mid); font-size:11px; margin-top:4px; flex-shrink:0; }

/* ═══════════════════════════════════════════════
   TESTIMONIALS
═══════════════════════════════════════════════ */
.testimonial-section { padding:70px 40px; text-align:center; background:var(--accent-warm); border-top:1px solid var(--light-border); border-bottom:1px solid var(--light-border); }
.testimonial-section blockquote { font-size:17px; font-style:italic; color:var(--text-body); max-width:660px; margin:0 auto 16px; line-height:1.8; }
.testimonial-section cite { font-family:'Josefin Sans',sans-serif; font-size:9px; letter-spacing:3px; text-transform:uppercase; color:var(--text-muted); }

/* Star rating */
.stars { color:var(--gold-mid); font-size:16px; margin-bottom:20px; letter-spacing:3px; }

/* ═══════════════════════════════════════════════
   CTA BAND
═══════════════════════════════════════════════ */
.cta-band { background:linear-gradient(135deg,var(--near-black) 0%,var(--brown-dark) 50%,var(--near-black) 100%); padding:60px 40px; text-align:center; border-top:2px solid rgba(200,168,75,0.2); }
.cta-band h2 { font-family:'Cinzel',serif; font-size:28px; font-weight:600; color:var(--gold-bright); margin-bottom:14px; letter-spacing:1px; }
.cta-band p { font-size:15px; color:var(--cream); opacity:0.65; margin-bottom:28px; font-style:italic; }

/* ═══════════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════════ */
footer { background:var(--black); border-top:1px solid rgba(200,168,75,0.15); padding:48px 40px 30px; }
.footer-inner { max-width:1200px; margin:0 auto; display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:48px; padding-bottom:36px; border-bottom:1px solid rgba(200,168,75,0.1); }
.footer-brand .footer-logo { font-family:'Cinzel',serif; font-size:14px; font-weight:700; letter-spacing:3px; color:var(--gold-bright); margin-bottom:4px; }
.footer-brand .footer-sub { font-family:'Josefin Sans',sans-serif; font-size:8px; letter-spacing:4px; text-transform:uppercase; color:var(--cream); opacity:0.4; margin-bottom:16px; }
.footer-brand p { font-size:12px; color:var(--cream); opacity:0.45; line-height:1.7; font-style:italic; }
.footer-col h4 { font-family:'Josefin Sans',sans-serif; font-size:9px; letter-spacing:3px; text-transform:uppercase; color:var(--gold-mid); margin-bottom:16px; }
.footer-col ul { list-style:none; display:flex; flex-direction:column; gap:1px; }
.footer-col ul li a,.footer-col ul li { font-size:12px; color:var(--cream); opacity:0.5; text-decoration:none; padding:4px 0; transition:opacity 0.2s,color 0.2s; display:block; cursor:pointer; }
.footer-col ul li a:hover,.footer-col ul li:hover { opacity:0.9; color:var(--gold-bright); }
.footer-contact-info { font-size:12px; color:var(--cream); opacity:0.5; line-height:2; font-style:italic; }
.footer-bottom { max-width:1200px; margin:0 auto; display:flex; justify-content:space-between; align-items:center; padding-top:24px; flex-wrap:wrap; gap:8px; }
.footer-bottom p { font-family:'Josefin Sans',sans-serif; font-size:9px; letter-spacing:1.5px; color:var(--cream); opacity:0.3; }

/* Payment icons */
.payment-icons { display:flex; gap:8px; margin-top:16px; flex-wrap:wrap; }
.payment-icon { background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.1); border-radius:3px; padding:4px 10px; font-family:'Josefin Sans',sans-serif; font-size:8px; letter-spacing:1px; color:rgba(255,255,255,0.4); }

/* ═══════════════════════════════════════════════
   CART DRAWER
═══════════════════════════════════════════════ */
.cart-overlay { position:fixed; inset:0; background:rgba(0,0,0,0.5); z-index:990; opacity:0; pointer-events:none; transition:opacity 0.3s; }
.cart-overlay.open { opacity:1; pointer-events:all; }
.cart-drawer { position:fixed; top:0; right:-420px; width:420px; height:100vh; background:var(--light-card); z-index:991; transition:right 0.35s cubic-bezier(0.4,0,0.2,1); display:flex; flex-direction:column; box-shadow:-8px 0 40px rgba(0,0,0,0.15); }
.cart-drawer.open { right:0; }
.cart-drawer-header { padding:24px; border-bottom:1px solid var(--light-border); display:flex; align-items:center; justify-content:space-between; background:var(--near-black); }
.cart-drawer-header h3 { font-family:'Cinzel',serif; font-size:16px; font-weight:600; color:var(--gold-bright); letter-spacing:2px; }
.cart-close { background:none; border:none; font-size:18px; cursor:pointer; color:var(--cream); opacity:0.6; transition:opacity 0.2s; line-height:1; }
.cart-close:hover { opacity:1; }
.cart-items { flex:1; overflow-y:auto; padding:16px; }
.cart-empty { text-align:center; padding:60px 20px; }
.cart-empty-icon { font-size:48px; display:block; margin-bottom:16px; opacity:0.4; }
.cart-empty p { font-family:'Josefin Sans',sans-serif; font-size:10px; letter-spacing:3px; text-transform:uppercase; color:var(--text-muted); }
.cart-item { display:grid; grid-template-columns:52px 1fr auto auto; align-items:center; gap:12px; padding:16px 0; border-bottom:1px solid var(--light-border); }
.cart-item-img { width:52px; height:52px; background:var(--accent-warm); border-radius:3px; display:flex; align-items:center; justify-content:center; font-size:22px; border:1px solid var(--light-border); }
.cart-item-name { font-family:'Cinzel',serif; font-size:12px; color:var(--text-heading); margin-bottom:4px; line-height:1.3; }
.cart-item-variant { font-family:'Josefin Sans',sans-serif; font-size:8px; letter-spacing:1.5px; text-transform:uppercase; color:var(--text-muted); margin-bottom:8px; }
.cart-item-qty { display:flex; align-items:center; gap:10px; }
.qty-btn { background:none; border:1px solid var(--light-border); width:24px; height:24px; border-radius:2px; cursor:pointer; font-size:14px; display:flex; align-items:center; justify-content:center; color:var(--text-muted); transition:all 0.2s; }
.qty-btn:hover { border-color:var(--gold-mid); color:var(--gold-dark); }
.qty-num { font-family:'Josefin Sans',sans-serif; font-size:12px; min-width:20px; text-align:center; }
.cart-item-price { font-family:'Cinzel',serif; font-size:14px; font-weight:600; color:var(--text-heading); }
.cart-item-remove { background:none; border:none; font-size:12px; cursor:pointer; color:var(--text-muted); opacity:0.5; transition:opacity 0.2s; padding:4px; }
.cart-item-remove:hover { opacity:1; color:var(--error); }
.cart-footer { padding:20px 24px; border-top:1px solid var(--light-border); background:var(--accent-warm); }
.cart-subtotal { display:flex; justify-content:space-between; align-items:center; margin-bottom:8px; }
.cart-subtotal-label { font-family:'Josefin Sans',sans-serif; font-size:10px; letter-spacing:3px; text-transform:uppercase; color:var(--text-muted); }
.cart-subtotal-value { font-family:'Cinzel',serif; font-size:22px; font-weight:600; color:var(--text-heading); }
.cart-note { font-family:'Josefin Sans',sans-serif; font-size:9px; letter-spacing:1px; color:var(--text-muted); text-align:center; margin-bottom:16px; font-style:italic; }
.btn-checkout { display:block; width:100%; padding:15px; background:linear-gradient(135deg,var(--gold-mid),var(--gold-bright),var(--gold-mid)); color:var(--near-black); font-family:'Josefin Sans',sans-serif; font-size:10px; font-weight:600; letter-spacing:3px; text-transform:uppercase; border:none; border-radius:2px; cursor:pointer; box-shadow:0 4px 20px rgba(200,168,75,0.3); transition:box-shadow 0.25s,transform 0.2s; text-align:center; }
.btn-checkout:hover { box-shadow:0 6px 28px rgba(200,168,75,0.5); transform:translateY(-1px); }
.btn-view-cart { display:block; width:100%; padding:11px; background:transparent; color:var(--text-muted); font-family:'Josefin Sans',sans-serif; font-size:9px; font-weight:400; letter-spacing:2px; text-transform:uppercase; border:1px solid var(--light-border); border-radius:2px; cursor:pointer; margin-top:8px; transition:all 0.2s; }
.btn-view-cart:hover { border-color:var(--gold-mid); color:var(--text-heading); }

/* Free shipping progress */
.shipping-progress { margin-bottom:16px; }
.shipping-progress-label { font-family:'Josefin Sans',sans-serif; font-size:8px; letter-spacing:2px; text-transform:uppercase; color:var(--text-muted); margin-bottom:6px; }
.shipping-bar { height:3px; background:var(--light-border); border-radius:2px; overflow:hidden; }
.shipping-fill { height:100%; background:linear-gradient(90deg,var(--gold-mid),var(--gold-bright)); border-radius:2px; transition:width 0.5s ease; }

/* ═══════════════════════════════════════════════
   PRODUCT DETAIL PAGE
═══════════════════════════════════════════════ */
.product-detail { max-width:1200px; margin:0 auto; padding:48px 40px; }
.breadcrumb { font-family:'Josefin Sans',sans-serif; font-size:9px; letter-spacing:2px; text-transform:uppercase; color:var(--text-muted); margin-bottom:36px; display:flex; gap:8px; align-items:center; }
.breadcrumb a { color:var(--text-muted); text-decoration:none; cursor:pointer; transition:color 0.2s; }
.breadcrumb a:hover { color:var(--gold-dark); }
.breadcrumb-sep { opacity:0.4; }
.product-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; margin-bottom:64px; }
.product-detail-img { background:var(--accent-warm); border-radius:4px; border:1px solid var(--light-border); aspect-ratio:1; display:flex; align-items:center; justify-content:center; font-size:100px; position:relative; }
.product-detail-img .badge-new { top:20px; left:20px; font-size:9px; padding:5px 12px; }
.product-detail-info {}
.product-detail-sku { font-family:'Josefin Sans',sans-serif; font-size:8px; letter-spacing:2px; text-transform:uppercase; color:var(--text-muted); margin-bottom:8px; }
.product-detail-title { font-family:'Cinzel',serif; font-size:26px; font-weight:600; color:var(--text-heading); margin-bottom:12px; line-height:1.3; }
.product-detail-stars { color:var(--gold-mid); font-size:14px; letter-spacing:2px; margin-bottom:6px; display:flex; align-items:center; gap:10px; }
.product-detail-reviews-link { font-family:'Josefin Sans',sans-serif; font-size:9px; letter-spacing:1px; color:var(--text-muted); text-decoration:none; cursor:pointer; }
.product-detail-reviews-link:hover { color:var(--gold-dark); }
.product-detail-rule { height:1px; background:var(--light-border); margin:20px 0; }
.product-detail-price { font-family:'Cinzel',serif; font-size:32px; font-weight:600; color:var(--text-heading); margin-bottom:4px; }
.product-detail-price-sub { font-family:'Josefin Sans',sans-serif; font-size:9px; letter-spacing:2px; text-transform:uppercase; color:var(--text-muted); margin-bottom:20px; }
.product-detail-desc { font-size:14px; color:var(--text-body); line-height:1.8; margin-bottom:24px; }
.product-detail-specs { margin-bottom:28px; }
.product-detail-specs h4 { font-family:'Josefin Sans',sans-serif; font-size:9px; letter-spacing:3px; text-transform:uppercase; color:var(--gold-dark); margin-bottom:12px; }
.spec-row { display:flex; justify-content:space-between; padding:8px 0; border-bottom:1px solid var(--light-border); font-size:13px; }
.spec-row:last-child { border-bottom:none; }
.spec-label { color:var(--text-muted); font-family:'Josefin Sans',sans-serif; font-size:9px; letter-spacing:1px; text-transform:uppercase; }
.spec-value { color:var(--text-heading); font-weight:500; }

/* Qty selector */
.qty-selector { display:flex; align-items:center; gap:0; margin-bottom:24px; }
.qty-selector label { font-family:'Josefin Sans',sans-serif; font-size:9px; letter-spacing:2px; text-transform:uppercase; color:var(--text-muted); margin-right:16px; }
.qty-input-wrap { display:flex; align-items:center; border:1px solid var(--light-border); border-radius:2px; overflow:hidden; }
.qty-input-wrap button { width:36px; height:40px; background:var(--light-bg); border:none; font-size:18px; cursor:pointer; color:var(--text-muted); transition:all 0.2s; }
.qty-input-wrap button:hover { background:var(--accent-warm); color:var(--gold-dark); }
.qty-input-wrap input { width:56px; height:40px; border:none; border-left:1px solid var(--light-border); border-right:1px solid var(--light-border); text-align:center; font-family:'Cinzel',serif; font-size:16px; color:var(--text-heading); background:white; outline:none; }

.product-detail-actions { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:24px; }
.product-detail-actions .btn-primary { flex:1; text-align:center; }

.stock-badge { display:inline-flex; align-items:center; gap:6px; font-family:'Josefin Sans',sans-serif; font-size:9px; letter-spacing:2px; text-transform:uppercase; color:var(--success); background:var(--success-bg); padding:6px 12px; border-radius:2px; margin-bottom:20px; }
.stock-dot { width:6px; height:6px; border-radius:50%; background:var(--success); }

/* Product tabs */
.product-tabs { border-top:2px solid var(--light-border); }
.tab-nav { display:flex; gap:0; border-bottom:1px solid var(--light-border); }
.tab-btn { font-family:'Josefin Sans',sans-serif; font-size:10px; letter-spacing:2px; text-transform:uppercase; padding:14px 28px; border:none; background:none; cursor:pointer; color:var(--text-muted); border-bottom:2px solid transparent; margin-bottom:-1px; transition:all 0.2s; }
.tab-btn.active { color:var(--text-heading); border-bottom-color:var(--gold-mid); }
.tab-panel { padding:32px 0; display:none; }
.tab-panel.active { display:block; }
.tab-panel p { font-size:14px; color:var(--text-body); line-height:1.9; margin-bottom:14px; }

/* Reviews */
.review-item { padding:24px 0; border-bottom:1px solid var(--light-border); }
.review-header { display:flex; justify-content:space-between; margin-bottom:8px; }
.reviewer-name { font-family:'Cinzel',serif; font-size:13px; color:var(--text-heading); }
.review-date { font-family:'Josefin Sans',sans-serif; font-size:9px; letter-spacing:1px; color:var(--text-muted); }
.review-stars { color:var(--gold-mid); font-size:12px; margin-bottom:8px; }
.review-text { font-size:13px; color:var(--text-body); font-style:italic; line-height:1.7; }

/* ═══════════════════════════════════════════════
   SHOP PAGE (with sidebar)
═══════════════════════════════════════════════ */
.shop-layout { display:grid; grid-template-columns:240px 1fr; gap:40px; padding:48px 40px; max-width:1200px; margin:0 auto; }
.shop-sidebar { }
.sidebar-widget { margin-bottom:32px; }
.sidebar-title { font-family:'Josefin Sans',sans-serif; font-size:9px; letter-spacing:3px; text-transform:uppercase; color:var(--gold-dark); margin-bottom:16px; padding-bottom:10px; border-bottom:1px solid var(--light-border); }
.sidebar-cats { list-style:none; }
.sidebar-cats li { padding:8px 0; border-bottom:1px solid var(--light-border); display:flex; justify-content:space-between; }
.sidebar-cats li a { font-size:13px; color:var(--text-body); text-decoration:none; cursor:pointer; transition:color 0.2s; }
.sidebar-cats li a:hover { color:var(--gold-dark); }
.sidebar-cats li a.active { color:var(--gold-dark); font-weight:600; }
.cat-count { font-family:'Josefin Sans',sans-serif; font-size:10px; color:var(--text-muted); }

/* Price filter */
.price-range { margin-top:12px; }
.price-range input[type=range] { width:100%; accent-color:var(--gold-mid); cursor:pointer; }
.price-labels { display:flex; justify-content:space-between; font-family:'Josefin Sans',sans-serif; font-size:9px; letter-spacing:1px; color:var(--text-muted); margin-top:8px; }

/* Checkbox filters */
.checkbox-filter { display:flex; flex-direction:column; gap:8px; }
.checkbox-item { display:flex; align-items:center; gap:10px; font-size:13px; color:var(--text-body); cursor:pointer; }
.checkbox-item input { accent-color:var(--gold-mid); cursor:pointer; width:14px; height:14px; }

/* Shop header */
.shop-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:24px; padding-bottom:16px; border-bottom:1px solid var(--light-border); }
.shop-header h1 { font-family:'Cinzel',serif; font-size:22px; color:var(--text-heading); }
.shop-meta { font-family:'Josefin Sans',sans-serif; font-size:9px; letter-spacing:2px; color:var(--text-muted); text-transform:uppercase; }

/* ═══════════════════════════════════════════════
   CHECKOUT PAGE
═══════════════════════════════════════════════ */
.checkout-layout { max-width:1100px; margin:0 auto; padding:48px 40px; display:grid; grid-template-columns:1fr 380px; gap:48px; }
.checkout-title { font-family:'Cinzel',serif; font-size:22px; font-weight:600; color:var(--text-heading); margin-bottom:32px; }
.form-section { background:var(--light-card); border:1px solid var(--light-border); border-radius:4px; padding:28px; margin-bottom:24px; }
.form-section-title { font-family:'Josefin Sans',sans-serif; font-size:9px; letter-spacing:3px; text-transform:uppercase; color:var(--gold-dark); margin-bottom:20px; padding-bottom:12px; border-bottom:1px solid var(--light-border); }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px; }
.form-row.full { grid-template-columns:1fr; }
.form-group { display:flex; flex-direction:column; gap:6px; }
.form-group label { font-family:'Josefin Sans',sans-serif; font-size:9px; letter-spacing:2px; text-transform:uppercase; color:var(--text-muted); }
.form-group input,.form-group select,.form-group textarea { padding:11px 14px; border:1px solid var(--light-border); border-radius:2px; font-family:'Lora',serif; font-size:13px; color:var(--text-heading); background:var(--light-bg); outline:none; transition:border-color 0.2s; }
.form-group input:focus,.form-group select:focus,.form-group textarea:focus { border-color:var(--gold-mid); }
.form-group textarea { min-height:80px; resize:vertical; }

/* Shipping methods */
.shipping-methods { display:flex; flex-direction:column; gap:12px; margin-top:8px; }
.shipping-method { display:flex; align-items:center; gap:14px; padding:14px; border:1px solid var(--light-border); border-radius:3px; cursor:pointer; transition:border-color 0.2s,background 0.2s; }
.shipping-method:hover,.shipping-method.selected { border-color:var(--gold-mid); background:var(--accent-warm); }
.shipping-method input { accent-color:var(--gold-mid); }
.shipping-method-info { flex:1; }
.shipping-method-name { font-family:'Cinzel',serif; font-size:13px; color:var(--text-heading); }
.shipping-method-desc { font-family:'Josefin Sans',sans-serif; font-size:8px; letter-spacing:1px; color:var(--text-muted); text-transform:uppercase; }
.shipping-method-price { font-family:'Cinzel',serif; font-size:14px; color:var(--text-heading); }

/* Payment methods */
.payment-methods { display:flex; flex-direction:column; gap:12px; margin-top:8px; }
.payment-method { display:flex; align-items:center; gap:14px; padding:14px; border:1px solid var(--light-border); border-radius:3px; cursor:pointer; transition:border-color 0.2s,background 0.2s; }
.payment-method:hover,.payment-method.selected { border-color:var(--gold-mid); background:var(--accent-warm); }
.payment-method input { accent-color:var(--gold-mid); }
.payment-method-label { font-family:'Cinzel',serif; font-size:13px; color:var(--text-heading); }
.card-fields { padding:16px 0 0; border-top:1px solid var(--light-border); margin-top:12px; display:none; }
.card-fields.show { display:block; }

/* Order summary sidebar */
.order-summary { background:var(--light-card); border:1px solid var(--light-border); border-radius:4px; padding:28px; position:sticky; top:48px; }
.order-summary-title { font-family:'Josefin Sans',sans-serif; font-size:9px; letter-spacing:3px; text-transform:uppercase; color:var(--gold-dark); margin-bottom:20px; padding-bottom:12px; border-bottom:1px solid var(--light-border); }
.order-summary-item { display:flex; gap:12px; margin-bottom:16px; align-items:center; }
.order-item-img { width:48px; height:48px; background:var(--accent-warm); border-radius:3px; display:flex; align-items:center; justify-content:center; font-size:20px; border:1px solid var(--light-border); position:relative; flex-shrink:0; }
.order-item-qty { position:absolute; top:-6px; right:-6px; background:var(--gold-mid); color:var(--near-black); width:18px; height:18px; border-radius:50%; font-family:'Josefin Sans',sans-serif; font-size:9px; font-weight:600; display:flex; align-items:center; justify-content:center; }
.order-item-name { font-family:'Cinzel',serif; font-size:12px; color:var(--text-heading); line-height:1.4; flex:1; }
.order-item-price { font-family:'Cinzel',serif; font-size:13px; color:var(--text-heading); }
.order-totals { border-top:1px solid var(--light-border); padding-top:16px; margin-top:8px; }
.order-total-row { display:flex; justify-content:space-between; padding:6px 0; font-size:13px; color:var(--text-body); }
.order-total-row.total { border-top:1px solid var(--light-border); margin-top:8px; padding-top:14px; }
.order-total-row.total span:first-child { font-family:'Josefin Sans',sans-serif; font-size:9px; letter-spacing:2px; text-transform:uppercase; color:var(--text-muted); }
.order-total-row.total span:last-child { font-family:'Cinzel',serif; font-size:22px; font-weight:600; color:var(--text-heading); }
.order-total-label { font-family:'Josefin Sans',sans-serif; font-size:9px; letter-spacing:1px; text-transform:uppercase; color:var(--text-muted); }
.order-total-value { font-family:'Cinzel',serif; font-size:14px; color:var(--text-heading); }

/* Coupon code */
.coupon-row { display:flex; gap:8px; margin-bottom:20px; margin-top:16px; }
.coupon-input { flex:1; padding:10px 14px; border:1px solid var(--light-border); border-radius:2px; font-family:'Josefin Sans',sans-serif; font-size:9px; letter-spacing:2px; text-transform:uppercase; color:var(--text-muted); background:var(--light-bg); outline:none; transition:border-color 0.2s; }
.coupon-input:focus { border-color:var(--gold-mid); }
.coupon-btn { padding:10px 16px; background:var(--near-black); color:var(--gold-bright); font-family:'Josefin Sans',sans-serif; font-size:9px; letter-spacing:2px; text-transform:uppercase; border:none; border-radius:2px; cursor:pointer; transition:background 0.2s; }
.coupon-btn:hover { background:var(--brown-dark); }

/* Secure badge */
.secure-badge { display:flex; align-items:center; justify-content:center; gap:8px; font-family:'Josefin Sans',sans-serif; font-size:8px; letter-spacing:2px; text-transform:uppercase; color:var(--text-muted); margin-top:16px; }

/* ═══════════════════════════════════════════════
   ORDER CONFIRMATION
═══════════════════════════════════════════════ */
.confirmation-page { max-width:700px; margin:0 auto; padding:64px 40px; text-align:center; }
.confirmation-icon { font-size:60px; margin-bottom:24px; }
.confirmation-title { font-family:'Cinzel',serif; font-size:28px; font-weight:600; color:var(--text-heading); margin-bottom:12px; }
.confirmation-order-num { font-family:'Josefin Sans',sans-serif; font-size:9px; letter-spacing:3px; text-transform:uppercase; color:var(--gold-dark); margin-bottom:24px; }
.confirmation-desc { font-size:15px; color:var(--text-body); line-height:1.8; margin-bottom:36px; font-style:italic; }
.confirmation-details { background:var(--accent-warm); border:1px solid var(--light-border); border-radius:4px; padding:28px; text-align:left; margin-bottom:32px; }
.confirmation-detail-row { display:flex; justify-content:space-between; padding:10px 0; border-bottom:1px solid var(--light-border); }
.confirmation-detail-row:last-child { border-bottom:none; }
.conf-label { font-family:'Josefin Sans',sans-serif; font-size:9px; letter-spacing:2px; text-transform:uppercase; color:var(--text-muted); }
.conf-value { font-family:'Cinzel',serif; font-size:13px; color:var(--text-heading); }

/* ═══════════════════════════════════════════════
   MY ACCOUNT PAGE
═══════════════════════════════════════════════ */
.account-layout { max-width:1100px; margin:0 auto; padding:48px 40px; display:grid; grid-template-columns:220px 1fr; gap:40px; }
.account-nav { background:var(--accent-warm); border:1px solid var(--light-border); border-radius:4px; padding:20px; align-self:start; }
.account-nav-title { font-family:'Josefin Sans',sans-serif; font-size:9px; letter-spacing:3px; text-transform:uppercase; color:var(--gold-dark); margin-bottom:16px; }
.account-nav-items { list-style:none; }
.account-nav-items li { border-bottom:1px solid var(--light-border); }
.account-nav-items li a { display:block; padding:12px 0; font-size:13px; color:var(--text-body); text-decoration:none; cursor:pointer; transition:color 0.2s; font-family:'Josefin Sans',sans-serif; font-size:10px; letter-spacing:1px; }
.account-nav-items li a:hover,.account-nav-items li a.active { color:var(--gold-dark); }
.account-content { }
.account-section-title { font-family:'Cinzel',serif; font-size:20px; color:var(--text-heading); margin-bottom:24px; padding-bottom:14px; border-bottom:1px solid var(--light-border); }

/* Orders table */
.orders-table { width:100%; border-collapse:collapse; }
.orders-table th { font-family:'Josefin Sans',sans-serif; font-size:8px; letter-spacing:3px; text-transform:uppercase; color:var(--text-muted); padding:10px 14px; text-align:left; border-bottom:2px solid var(--light-border); }
.orders-table td { padding:14px; border-bottom:1px solid var(--light-border); font-size:13px; color:var(--text-body); }
.order-status { display:inline-block; padding:3px 10px; border-radius:2px; font-family:'Josefin Sans',sans-serif; font-size:8px; letter-spacing:2px; text-transform:uppercase; }
.status-completed { background:var(--success-bg); color:var(--success); }
.status-processing { background:#FFF8E7; color:#8B6914; }
.status-shipped { background:#E7F0FF; color:#1A3A8B; }

/* ═══════════════════════════════════════════════
   PAGE HEADER BANNER
═══════════════════════════════════════════════ */
.page-banner { background:var(--near-black); border-bottom:1px solid rgba(200,168,75,0.2); padding:36px 40px; position:relative; overflow:hidden; }
.page-banner::before { content:''; position:absolute; inset:0; background:repeating-linear-gradient(45deg,transparent,transparent 40px,rgba(200,168,75,0.02) 40px,rgba(200,168,75,0.02) 41px); }
.page-banner-inner { max-width:1200px; margin:0 auto; position:relative; }
.page-banner h1 { font-family:'Cinzel',serif; font-size:24px; font-weight:600; color:var(--gold-bright); margin-bottom:8px; }
.page-banner-breadcrumb { font-family:'Josefin Sans',sans-serif; font-size:9px; letter-spacing:2px; text-transform:uppercase; color:var(--cream); opacity:0.4; display:flex; gap:8px; }
.page-banner-breadcrumb a { color:inherit; text-decoration:none; cursor:pointer; transition:opacity 0.2s; }
.page-banner-breadcrumb a:hover { opacity:1; }

/* ═══════════════════════════════════════════════
   NOTIFICATION TOAST
═══════════════════════════════════════════════ */
.toast { position:fixed; bottom:32px; right:32px; background:var(--near-black); color:var(--gold-bright); padding:14px 24px; border-radius:3px; font-family:'Josefin Sans',sans-serif; font-size:9px; letter-spacing:2px; text-transform:uppercase; z-index:9999; transform:translateY(80px); opacity:0; transition:transform 0.3s,opacity 0.3s; border:1px solid rgba(200,168,75,0.2); box-shadow:0 8px 32px rgba(0,0,0,0.2); }
.toast.show { transform:translateY(0); opacity:1; }
.toast-icon { margin-right:8px; }

/* ═══════════════════════════════════════════════
   WISHLIST
═══════════════════════════════════════════════ */
.wishlist-page { max-width:1100px; margin:0 auto; padding:48px 40px; }
.wishlist-empty { text-align:center; padding:80px 20px; }
.wishlist-empty-icon { font-size:48px; margin-bottom:16px; display:block; }
.wishlist-empty p { font-family:'Josefin Sans',sans-serif; font-size:10px; letter-spacing:3px; text-transform:uppercase; color:var(--text-muted); margin-bottom:24px; }

/* ═══════════════════════════════════════════════
   MINI CART SIDEBAR CLOSE BUTTON
═══════════════════════════════════════════════ */
.cart-continue { display:block; text-align:center; padding:12px; font-family:'Josefin Sans',sans-serif; font-size:9px; letter-spacing:2px; text-transform:uppercase; color:var(--text-muted); cursor:pointer; border-top:1px solid var(--light-border); transition:color 0.2s; text-decoration:none; }
.cart-continue:hover { color:var(--gold-dark); }

/* ═══════════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════════ */
@media (max-width: 900px) {
  .product-grid { grid-template-columns: repeat(2, 1fr); }
  .category-grid { grid-template-columns: repeat(2, 1fr); }
  .why-grid { grid-template-columns: 1fr; gap: 32px; }
  .footer-inner { grid-template-columns: 1fr 1fr; }
  .checkout-layout { grid-template-columns: 1fr; }
  .shop-layout { grid-template-columns: 1fr; }
  .product-detail-grid { grid-template-columns: 1fr; }
  .account-layout { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .product-grid { grid-template-columns: 1fr; }
  .category-grid { grid-template-columns: 1fr; }
  .footer-inner { grid-template-columns: 1fr; }
  .header-inner { padding: 14px 20px 12px; }
  .cart-drawer { width: 100vw; right: -100vw; }
  main, .shop-layout, .product-detail, .checkout-layout, .account-layout { padding-left: 20px; padding-right: 20px; }
}

/* Collapsible sidebar */
.sidebar-toggle { display:none; }
@media (max-width: 900px) {
  .sidebar-toggle { display:flex; align-items:center; justify-content:space-between; cursor:pointer; padding:10px 0; font-family:'Josefin Sans',sans-serif; font-size:10px; letter-spacing:2px; text-transform:uppercase; color:var(--text-muted); border-bottom:1px solid var(--light-border); margin-bottom:16px; }
  .shop-sidebar { border:1px solid var(--light-border); border-radius:4px; padding:16px; background:var(--light-card); }
}

/* Loading spinner */
.loading-dots { display:inline-flex; gap:4px; }
.loading-dots span { width:6px; height:6px; border-radius:50%; background:var(--gold-mid); animation:dotPulse 1.4s infinite; }
.loading-dots span:nth-child(2) { animation-delay:0.2s; }
.loading-dots span:nth-child(3) { animation-delay:0.4s; }
@keyframes dotPulse { 0%,80%,100%{transform:scale(0.6);opacity:0.4} 40%{transform:scale(1);opacity:1} }
