/*
Theme Name: Bambart
Theme URI: https://www.bambart.com
Author: Bambart Studio
Description: Elementor-ready theme for Bambart — handcrafted bamboo, banana fiber, and cane lighting. Build every page visually in Elementor; this theme supplies the header, footer, brand colors, typography, and WooCommerce support.
Version: 1.0
Requires PHP: 7.4
Text Domain: bambart
*/

:root{
  --paper:#F1E9DB;
  --card:#FBF6ED;
  --ink:#2B2118;
  --ink-soft:#5B5044;
  --line:#E4D9C4;
  --terracotta:#B75E39;
  --terracotta-deep:#96482B;
  --mud:#3C2415;
}

*{box-sizing:border-box;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'Work Sans', sans-serif;
  font-size:16px;
  line-height:1.5;
}
h1,h2,h3,h4{
  font-family:'Fraunces', serif;
  font-weight:500;
  margin:0;
  color:var(--ink);
}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
.wrap{max-width:1180px; margin:0 auto; padding:0 24px;}

/* ===== utility classes for use inside Elementor (Advanced > CSS Classes) ===== */
.eyebrow{
  font-family:'Space Mono', monospace;
  font-size:0.72rem;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--terracotta-deep);
}
.price-tag{
  font-family:'Space Mono', monospace;
  color:var(--terracotta-deep);
}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  font-family:'Space Mono', monospace;
  font-size:0.78rem;
  letter-spacing:0.03em;
  text-transform:uppercase;
  padding:13px 26px;
  border-radius:2px;
  border:1px solid var(--ink);
  cursor:pointer;
  transition:background .15s ease, color .15s ease;
}
.btn-solid{background:var(--ink); color:var(--paper); border-color:var(--ink);}
.btn-solid:hover{background:var(--terracotta-deep); border-color:var(--terracotta-deep);}
.btn-outline{background:transparent; color:var(--ink);}
.btn-outline:hover{background:var(--ink); color:var(--paper);}
.card{background:var(--card); border:1px solid var(--line); border-radius:4px;}

/* ===== site header ===== */
.site-header{position:sticky; top:0; z-index:50; background:var(--paper); border-bottom:1px solid var(--line);}
.site-header .wrap{display:flex; align-items:center; justify-content:space-between; padding:16px 24px;}
.nav-left{display:flex; align-items:center; gap:16px;}
.hamburger{background:none; border:none; cursor:pointer; padding:6px 4px; display:flex; flex-direction:column; gap:5px; justify-content:center;}
.hamburger span{display:block; width:22px; height:1.5px; background:var(--ink);}
.site-logo{font-family:'Fraunces', serif; font-size:1.4rem; font-weight:600; display:flex; align-items:center; gap:9px; color:var(--ink);}
.site-logo img{height:32px; width:auto;}
.logo-mark{width:30px; height:30px; color:var(--terracotta-deep); flex:0 0 auto;}
.main-nav ul{list-style:none; display:flex; gap:30px; margin:0; padding:0;}
.main-nav a{font-size:0.92rem;}
.main-nav a:hover{color:var(--terracotta-deep);}
.nav-cart{display:flex; align-items:center; gap:6px; border:1px solid var(--ink); border-radius:2px; padding:8px 13px; cursor:pointer;}
.nav-cart:hover{background:var(--ink); color:var(--paper);}
.cart-icon-nav{width:17px; height:17px;}
.cart-count{font-family:'Space Mono', monospace; font-size:0.76rem;}

@media (max-width:900px){
  .main-nav{display:none;}
}

/* ===== slide-out drawer (mobile menu) ===== */
.drawer-overlay{position:fixed; inset:0; background:rgba(20,14,8,0.5); opacity:0; pointer-events:none; transition:opacity .25s ease; z-index:90;}
.drawer-overlay.open{opacity:1; pointer-events:auto;}
.drawer{position:fixed; top:0; left:0; bottom:0; width:min(84vw,340px); background:var(--paper); z-index:100; transform:translateX(-100%); transition:transform .3s ease; padding:22px 24px 30px; box-shadow:20px 0 50px rgba(0,0,0,0.15); overflow-y:auto;}
.drawer.open{transform:translateX(0);}
.drawer-top{display:flex; align-items:center; justify-content:space-between; margin-bottom:30px;}
.drawer-close{background:none; border:none; font-size:1.8rem; line-height:1; cursor:pointer; color:var(--ink-soft);}
.drawer ul{list-style:none; margin:0 0 22px; padding:0 0 22px; border-bottom:1px solid var(--line); display:flex; flex-direction:column;}
.drawer ul li a{display:block; font-family:'Fraunces',serif; font-size:1.15rem; padding:11px 2px;}
.drawer ul li a:hover{color:var(--terracotta-deep);}

/* ===== footer ===== */
.site-footer{background:linear-gradient(180deg, rgba(38,20,11,0.92), rgba(30,16,9,0.96)), var(--mud); color:#F1E5D4; padding:64px 0 32px;}
.site-footer h4{color:#FBF6ED; font-size:1rem; margin-bottom:16px;}
.site-footer .foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:32px;}
.site-footer a{color:#D9CBB8; display:block; margin-bottom:10px; font-size:0.9rem;}
.site-footer a:hover{color:#FBF6ED;}
.site-footer .foot-bottom{border-top:1px solid rgba(255,255,255,0.12); margin-top:44px; padding-top:22px; font-family:'Space Mono',monospace; font-size:0.72rem; color:#C9B9A3; text-align:center;}
@media (max-width:900px){.site-footer .foot-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.site-footer .foot-grid{grid-template-columns:1fr;}}

/* ===== WooCommerce base alignment with brand ===== */
.woocommerce ul.products li.product .price{font-family:'Space Mono',monospace; color:var(--terracotta-deep);}
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button{
  font-family:'Space Mono', monospace; font-size:0.78rem; letter-spacing:0.03em; text-transform:uppercase;
  background:var(--ink); color:var(--paper); border-radius:2px; padding:12px 22px; border:none;
}
.woocommerce a.button:hover, .woocommerce button.button:hover{background:var(--terracotta-deep); color:#fff;}

/* Elementor edits the page body — this stylesheet only governs header/footer chrome and brand tokens */

/* ===== homepage: hero ===== */
.hero{position:relative; min-height:78vh; display:flex; align-items:flex-end; overflow:hidden;}
.hero img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 30%;}
.hero::after{content:""; position:absolute; inset:0; background:linear-gradient(0deg, rgba(18,12,7,0.76) 0%, rgba(18,12,7,0.32) 42%, rgba(18,12,7,0.06) 68%);}
.hero-content{position:relative; z-index:2; padding:60px 0 46px; color:#F5EFE3;}
.hero-content .eyebrow{color:#E3C39B;}
.hero-content h1{font-size:clamp(2.3rem, 5.2vw, 4.4rem); line-height:1.05; max-width:12ch; margin:16px 0 24px; color:#FBF6ED; font-family:'Fraunces',serif;}
.hero-cta{display:flex; gap:16px; align-items:center; flex-wrap:wrap;}

/* ===== homepage: collections ===== */
.section-head{display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:24px; gap:16px; flex-wrap:wrap;}
.view-all{font-family:'Space Mono',monospace; font-size:0.78rem; cursor:pointer;}
.collections-scroll{display:flex; gap:20px; overflow-x:auto; padding-bottom:10px; scroll-snap-type:x proximity; -ms-overflow-style:none; scrollbar-width:none;}
.collections-scroll::-webkit-scrollbar{display:none;}
.collection-card{position:relative; flex:0 0 auto; width:min(72vw, 320px); aspect-ratio:3/4; border-radius:4px; overflow:hidden; isolation:isolate; scroll-snap-align:start; display:block;}
.collection-card img{width:100%; height:100%; object-fit:cover; transition:transform .5s ease;}
.collection-card:hover img{transform:scale(1.05);}
.collection-card::after{content:""; position:absolute; inset:0; background:linear-gradient(0deg, rgba(15,9,5,0.92) 0%, rgba(15,9,5,0.5) 32%, rgba(15,9,5,0.05) 62%);}
.collection-card .cc-label{position:absolute; z-index:2; left:20px; right:20px; bottom:18px; color:#FFFCF6;}
.collection-card .cc-label .eyebrow{color:#F0BE8A; display:block; margin-bottom:6px;}
.collection-card .cc-count{color:#F1E5D4; font-size:0.82rem;}

/* ===== homepage: featured duo + grid ===== */
.duo-list{display:flex; flex-direction:column; gap:26px;}
.duo{display:grid; grid-template-columns:1fr 1fr; background:var(--card); border:1px solid var(--line); border-radius:4px; overflow:hidden;}
.duo-item{position:relative; display:flex; flex-direction:column;}
.duo-item + .duo-item{border-left:1px solid var(--line);}
.duo-photo{position:relative; aspect-ratio:1/1; overflow:hidden;}
.duo-photo img{width:100%; height:100%; object-fit:cover; transition:transform .5s ease;}
.duo-item:hover .duo-photo img{transform:scale(1.045);}
.duo-body{padding:24px 28px 30px; display:flex; flex-direction:column; gap:9px; flex:1;}
.duo-body h3{font-size:1.4rem; font-weight:450; min-height:2.5em; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;}
.point-tags{display:flex; gap:7px; flex-wrap:wrap;}
.point-tag{font-family:'Space Mono', monospace; font-size:0.66rem; letter-spacing:0.02em; text-transform:uppercase; color:var(--ink-soft); background:rgba(43,33,24,0.05); border:1px solid var(--line); border-radius:20px; padding:5px 11px; white-space:nowrap;}
.duo-foot{display:flex; align-items:center; justify-content:space-between; margin-top:6px; gap:12px;}
.duo-foot .price{font-size:1.15rem; color:var(--terracotta-deep); font-family:'Space Mono',monospace;}
.featured-grid{display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-top:26px;}

/* product cards — shared by featured grid + WooCommerce shop loop override */
ul.products, .products{display:grid; grid-template-columns:1fr 1fr; gap:26px 20px; list-style:none; margin:0; padding:0;}
.product-card, ul.products li.product{background:var(--card); border:1px solid var(--line); border-radius:4px; overflow:hidden; list-style:none;}
.product-photo{aspect-ratio:4/5; overflow:hidden; position:relative;}
.product-photo img, ul.products li.product img{width:100%; height:100%; object-fit:cover; transition:transform .45s ease;}
.product-card:hover .product-photo img{transform:scale(1.045);}
.price-tag{position:absolute; top:14px; right:14px; background:rgba(20,14,8,0.55); backdrop-filter:blur(3px); color:#FBF6ED; font-family:'Space Mono', monospace; font-size:0.74rem; padding:6px 11px; border-radius:20px; z-index:2;}
.product-body{padding:18px 20px 22px; display:flex; flex-direction:column; gap:9px;}
.product-body h3{font-size:1.05rem; font-weight:450; min-height:2.6em; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;}
.product-foot{display:flex; align-items:center; margin-top:4px;}

/* ===== homepage: craft / studio ===== */
.craft{position:relative; display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:0; background:var(--ink); color:#F1E9DB; border-radius:4px; overflow:hidden;}
.craft-copy{padding:64px 56px; display:flex; flex-direction:column; justify-content:center; position:relative; z-index:2;}
.craft-copy .eyebrow{color:#D69B6C;}
.craft-copy h2{color:#FBF6ED; font-size:clamp(1.8rem,3.2vw,2.5rem); margin:14px 0 18px; font-family:'Fraunces',serif;}
.craft-copy p{color:#D9CBB8; font-size:0.98rem; max-width:46ch; margin-bottom:24px;}
.craft-visual{position:relative; width:100%; display:flex; align-items:center; justify-content:center; padding:56px 40px 66px 26px;}
.cv-wrap{position:relative; width:100%; max-width:340px;}
.cv-main{width:100%; aspect-ratio:4/5; border-radius:6px; overflow:hidden; box-shadow:0 30px 60px rgba(0,0,0,0.4);}
.cv-main img{width:100%; height:100%; object-fit:cover;}
.cv-accent{position:absolute; width:54%; aspect-ratio:1/1; bottom:-34px; left:-24px; border-radius:6px; overflow:hidden; border:5px solid var(--ink); box-shadow:0 20px 40px rgba(0,0,0,0.45);}
.cv-accent img{width:100%; height:100%; object-fit:cover;}

/* ===== product detail / about / contact / track ===== */
.pdp-grid{display:grid; grid-template-columns:1fr 1fr; gap:44px; align-items:start;}
.pdp-photo{border-radius:6px; overflow:hidden; aspect-ratio:4/5; box-shadow:0 30px 60px rgba(0,0,0,0.25);}
.pdp-photo img{width:100%; height:100%; object-fit:cover;}
.about-grid{display:grid; grid-template-columns:1fr 1fr; gap:48px;}
.about-copy{font-size:0.98rem; line-height:1.65; color:var(--ink-soft);}
.contact-grid{display:grid; grid-template-columns:1.3fr 1fr; gap:32px; align-items:start;}
.contact-form-card, .contact-info-card{background:var(--card); border:1px solid var(--line); border-radius:6px; padding:32px;}
.form-row{margin-bottom:18px; display:flex; flex-direction:column; gap:7px;}
.form-row label{font-family:'Space Mono',monospace; font-size:0.72rem; letter-spacing:0.04em; text-transform:uppercase; color:var(--ink-soft);}
.form-row input, .form-row textarea{font-family:'Work Sans',sans-serif; font-size:0.95rem; padding:12px 14px; border:1px solid var(--line); border-radius:3px; background:var(--paper); color:var(--ink); resize:vertical; width:100%;}
.form-row input:focus, .form-row textarea:focus{outline:1.5px solid var(--terracotta);}
.form-row-split{display:grid; grid-template-columns:1fr 1fr; gap:14px;}

@media (max-width:900px){
  .duo{grid-template-columns:1fr;}
  .duo-item + .duo-item{border-left:none; border-top:1px solid var(--line);}
  .craft{grid-template-columns:1fr;}
  .pdp-grid{grid-template-columns:1fr;}
  .about-grid{grid-template-columns:1fr; gap:32px;}
  .contact-grid{grid-template-columns:1fr;}
}
@media (max-width:560px){
  .products, .featured-grid{grid-template-columns:1fr;}
}

.shop-header{padding:56px 0 30px;}

/* ===== WooCommerce: single product / cart / checkout polish ===== */
.single-product div.product .product_title{font-family:'Fraunces',serif; font-weight:450; font-size:clamp(1.8rem,3vw,2.4rem);}
.single-product div.product p.price, .single-product div.product span.price{font-family:'Space Mono',monospace; color:var(--terracotta-deep); font-size:1.2rem;}
.single-product div.product .woocommerce-product-details__short-description{color:var(--ink-soft); line-height:1.65; margin:18px 0;}
.woocommerce table.shop_table{border-color:var(--line); border-radius:4px;}
.woocommerce table.shop_table th{font-family:'Space Mono',monospace; font-size:0.72rem; text-transform:uppercase; letter-spacing:0.04em; color:var(--ink-soft);}
.woocommerce-cart table.cart img, .woocommerce-checkout table.cart img{border-radius:4px;}
.woocommerce ul#shipping_method li, .woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea{
  border-color:var(--line); border-radius:3px; background:var(--card);
}
.woocommerce #payment div.payment_box{background:var(--card); border-radius:4px;}

/* ===== homepage: marquee strip ===== */
.marquee-strip{background:var(--ink); color:#F1E5D4; overflow:hidden; padding:14px 0;}
.marquee-track{display:flex; gap:60px; white-space:nowrap; animation:bambart-marquee 22s linear infinite; width:max-content;}
.marquee-track span{font-family:'Space Mono',monospace; font-size:0.78rem; letter-spacing:0.08em; text-transform:uppercase; color:#D8A876;}
@keyframes bambart-marquee{
  0%{transform:translateX(0);}
  100%{transform:translateX(-50%);}
}

/* ===== homepage: video rows ===== */
.video-section{padding-top:36px;}
.video-scroll{display:flex; gap:16px; overflow-x:auto; padding-bottom:10px; -ms-overflow-style:none; scrollbar-width:none;}
.video-scroll::-webkit-scrollbar{display:none;}
.video-card{position:relative; flex:0 0 auto; width:min(46vw, 210px); aspect-ratio:9/16; border-radius:6px; overflow:hidden; background:var(--ink); cursor:pointer;}
.video-card img{width:100%; height:100%; object-fit:cover; opacity:0.85;}
.video-play{position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:#FBF6ED; font-size:1.4rem; background:rgba(20,14,8,0.25);}
.video-card-ig{background:var(--card); display:flex; align-items:center; justify-content:center; overflow:hidden;}
.video-card-ig iframe{width:100% !important; height:100% !important;}
