/* ============================================================
   shop.css
   Styles for the standalone Johken Interior Shop page.
   ============================================================ */

/* HERO */
.shop-hero{margin-top:80px;padding:80px 80px 60px;background:var(--charcoal);text-align:center;position:relative;overflow:hidden;}
.shop-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.shop-hero-overlay{position:absolute;inset:0;z-index:1;background:rgba(28,28,26,.7);}
.shop-hero-content{max-width:640px;margin:0 auto;position:relative;z-index:2;}
.shop-hero h1{font-family:'Cormorant Garamond',serif;font-size:clamp(30px,4.5vw,52px);font-weight:300;color:var(--cream);line-height:1.15;margin-bottom:20px;}
.shop-hero h1 em{font-style:italic;color:var(--gold);}
.shop-hero-sub{font-size:15px;font-weight:300;line-height:1.8;color:var(--sand);max-width:520px;margin:0 auto;}

/* SHOP SECTION */
.shop-section{padding:60px 80px 80px;background:var(--warm-white);}
.shop-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:40px;gap:16px;flex-wrap:wrap;}
.shop-filter{display:flex;gap:10px;flex-wrap:wrap;}
.filter-btn{padding:8px 22px;border:1px solid var(--sand-light);background:transparent;font-family:'Jost',sans-serif;font-size:11px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;color:var(--muted);transition:.2s;}
.filter-btn.active,.filter-btn:hover{background:var(--charcoal);color:var(--cream);border-color:var(--charcoal);}
.shop-count{font-size:12px;color:var(--muted);letter-spacing:.06em;}

/* PRODUCT GRID */
.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:32px;}
.product-card{background:var(--cream);overflow:hidden;transition:transform .3s,box-shadow .3s;}
.product-card:hover{transform:translateY(-6px);box-shadow:0 24px 60px rgba(0,0,0,.1);}
.product-img-wrap{width:100%;height:280px;background:var(--sand-light);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;}
.product-img-wrap img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.prod-ph{font-size:48px;opacity:.15;}
.product-info{padding:22px 24px 26px;}
.product-category{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:6px;}
.product-name{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:400;color:var(--charcoal);margin-bottom:8px;}
.product-price{font-size:16px;color:var(--charcoal);font-weight:400;}
.product-price span{font-size:12px;color:var(--muted);font-weight:300;}
.product-desc{font-size:12px;font-weight:300;color:var(--muted);line-height:1.6;margin-top:8px;}
.product-stock{font-size:10px;letter-spacing:.1em;text-transform:uppercase;margin-top:8px;padding:4px 10px;border:1px solid var(--sand-light);display:inline-block;}
.product-stock.in-stock{color:var(--sage);border-color:var(--sage);}
.product-stock.made-to-order{color:var(--gold);border-color:var(--gold);}
.product-stock.out-of-stock{color:var(--muted);opacity:.6;}
.add-cart-btn{display:block;width:100%;margin-top:16px;padding:12px;background:var(--charcoal);color:var(--cream);border:none;font-family:'Jost',sans-serif;font-size:11px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:.2s;}
.add-cart-btn:hover{background:var(--gold);color:var(--deep-brown);}
.add-cart-btn.added{background:var(--sage);}

/* EMPTY STATE */
.shop-empty{text-align:center;padding:80px 24px;}
.se-icon{font-size:56px;opacity:.15;margin-bottom:16px;}
.shop-empty h3{font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:300;color:var(--charcoal);margin-bottom:8px;}
.shop-empty p{font-size:13px;color:var(--muted);}

/* FOOTER */
footer{background:var(--deep-brown);border-top:1px solid rgba(201,168,76,.18);}

/* RESPONSIVE */
@media(max-width:900px){
  .shop-hero{padding:60px 24px 40px;}
  .shop-section{padding:40px 24px 60px;}
  .shop-toolbar{flex-direction:column;align-items:flex-start;}
}
@media(max-width:540px){
  .shop-grid{grid-template-columns:1fr;}
  .filter-btn{padding:7px 14px;font-size:10px;}
}
