/*
Theme Name: Gabi Bridal Studio Child
Template: astra
Description: Custom child theme for Gabi Bridal Studio built on Astra + WooCommerce
Version: 8.3
Author: Gabi Bridal Studio
*/

/* Force-override Astra's own global color variables (these drive
   Astra's default button/link colors sitewide). Whatever color was
   set via the Astra Customizer at some point, this makes sure it
   always resolves to OUR white + gold palette instead, no matter
   what the Customizer database setting says. */
:root{
  --ast-global-color-0:#B8985C !important;
  --ast-global-color-1:#1A1A1A !important;
  --ast-global-color-2:#1A1A1A !important;
  --ast-global-color-3:#1A1A1A !important;
  --ast-global-color-4:#FFFFFF !important;
  --ast-global-color-5:#FAFAFA !important;
  --ast-global-color-6:#1A1A1A !important;
  --ast-global-color-7:#E8E8E8 !important;
  --ast-global-color-8:#1A1A1A !important;
}

:root{
  --charcoal:#1A1A1A;
  --charcoal-soft:#3D3D3D;
  --gold-line:#B8985C;
  --white:#FFFFFF;
  --offwhite:#FAFAFA;
  --ink:#1A1A1A;
  --grey:#767676;
  --line:#E8E8E8;
  --green:#1DA455;
  /* legacy aliases so existing rules still work */
  --navy:var(--charcoal);
  --navy-deep:var(--charcoal-soft);
  --blue:var(--charcoal);
  --blue-bright:var(--gold-line);
  --gold:var(--gold-line);
  --ivory:var(--offwhite);
  --pink:var(--offwhite);
  --pink-dark:var(--charcoal);
  --pink-deep:var(--charcoal);
  --pink-pale:var(--offwhite);
  --cream:var(--offwhite);
  --cream-deep:var(--offwhite);
  --beige:var(--offwhite);
  --taupe:var(--gold-line);
  --espresso:var(--charcoal);
  --gold-tone:var(--gold-line);
}

*{box-sizing:border-box;}
body.gabi-home{background:var(--ivory); color:var(--ink); font-family:'Inter', sans-serif; margin:0; line-height:1.6;}
body.gabi-home h1,body.gabi-home h2,body.gabi-home h3,body.gabi-home h4{margin:0; font-family:'Inter',sans-serif; font-weight:700; color:var(--navy);}
body.gabi-home p{margin:0;}
body.gabi-home a{text-decoration:none; color:inherit;}
body.gabi-home ul{list-style:none; margin:0; padding:0;}
body.gabi-home img{max-width:100%; display:block;}
.gabi-wrap{max-width:1240px; margin:0 auto; padding:0 28px;}
@media(max-width:640px){.gabi-wrap{padding:0 18px;}}
.gabi-main{min-height:40vh;}
.gabi-main > .ast-container,
.gabi-main .site-content,
.gabi-main .ast-woocommerce-container,
.gabi-main .entry-content{padding-top:40px; padding-bottom:20px; max-width:1240px; margin:0 auto;}

/* ===== Standard content pages (About, Contact, etc.) ===== */
/* Page title banner (e.g. "About", "Contact") shown above the content */
.gabi-main .entry-header,
.gabi-main .page-header{
  background:var(--offwhite);
  border-bottom:1px solid var(--line);
  padding:46px 28px;
  text-align:center;
  margin-bottom:10px;
}
.gabi-main .entry-header .entry-title,
.gabi-main .page-header .entry-title,
.gabi-main .entry-title{
  font-family:'Cormorant Garamond',serif;
  font-weight:700;
  font-size:42px;
  color:var(--charcoal);
  margin:0;
}

/* The actual page content — centered readable column with premium typography */
.gabi-main .entry-content{
  max-width:820px;
  padding-left:28px;
  padding-right:28px;
  padding-top:44px;
  padding-bottom:60px;
  font-family:'Inter', sans-serif;
  font-size:16px;
  line-height:1.85;
  color:var(--charcoal-soft);
}
.gabi-main .entry-content h1{
  font-family:'Cormorant Garamond',serif;
  font-size:36px;
  font-weight:700;
  color:var(--charcoal);
  margin:0 0 18px;
}
.gabi-main .entry-content h2{
  font-family:'Cormorant Garamond',serif;
  font-size:27px;
  font-weight:700;
  color:var(--charcoal);
  margin:38px 0 12px;
  padding-bottom:10px;
  border-bottom:2px solid var(--gold-line);
  display:inline-block;
}
.gabi-main .entry-content h3{
  font-family:'Cormorant Garamond',serif;
  font-size:20px;
  font-weight:700;
  color:var(--gold-line);
  margin:26px 0 8px;
}
.gabi-main .entry-content p{
  margin:0 0 18px;
}
.gabi-main .entry-content strong{color:var(--charcoal); font-weight:600;}
.gabi-main .entry-content ul,
.gabi-main .entry-content ol{
  margin:0 0 18px;
  padding-left:22px;
}
.gabi-main .entry-content ul{list-style:disc;}
.gabi-main .entry-content ol{list-style:decimal;}
.gabi-main .entry-content li{margin-bottom:8px;}
.gabi-main .entry-content a{color:var(--gold-line); text-decoration:underline;}
.gabi-main .entry-content img{border-radius:6px; margin:16px 0;}
@media(max-width:640px){
  .gabi-main .entry-header,
  .gabi-main .page-header{padding:32px 18px;}
  .gabi-main .entry-header .entry-title,
  .gabi-main .entry-title{font-size:30px;}
  .gabi-main .entry-content{padding-left:18px; padding-right:18px; font-size:15px;}
}

/* header */
.gabi-header{background:var(--white); position:sticky; top:0; z-index:50; border-bottom:1px solid var(--line);}
.gabi-header-inner{display:flex; align-items:center; justify-content:space-between; gap:24px; padding:20px 28px; flex-wrap:wrap;}
.gabi-logo{font-family:'Cormorant Garamond',serif; font-size:26px; font-weight:700; color:var(--espresso);}
.gabi-logo em{font-style:italic; color:var(--taupe);}
.gabi-nav-links{display:flex; gap:26px; font-size:14px;}
.gabi-nav-links a{color:var(--ink);}
.gabi-nav-links a:hover{color:var(--taupe);}
.gabi-nav-icons{display:flex; align-items:center; gap:20px; font-size:13px; color:var(--espresso);}
.gabi-cart{display:flex; align-items:center; gap:6px;}
.gabi-cart-badge{background:var(--taupe); color:#fff; font-size:10px; font-weight:700; width:16px; height:16px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center;}
@media(max-width:760px){.gabi-nav-links{display:none;}}

/* search box in header */
.gabi-search{flex:0 0 220px;}
.gabi-search form{display:flex; border:1px solid var(--line); border-radius:20px; overflow:hidden; background:var(--offwhite);}
.gabi-search input[type="search"],
.gabi-search input.search-field{flex:1; border:0; background:transparent; padding:9px 14px; font-size:13px; outline:none; color:var(--ink);}
.gabi-search button,
.gabi-search input[type="submit"]{border:0; background:transparent; padding:0 14px; cursor:pointer; color:var(--grey);}
@media(max-width:900px){.gabi-search{display:none;}}

/* offer inner */
.gabi-offer-inner{display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px; padding:26px 28px;}
.gabi-btn-dark{background:var(--navy-deep);}
.gabi-btn-white{border-color:#fff; color:#fff;}
.gabi-btn-white:hover{background:#fff; color:var(--navy);}

/* helpers */
.gabi-center-cta{text-align:center; margin-top:30px;}
.gabi-cta-buttons{display:flex; gap:14px; justify-content:center; flex-wrap:wrap;}
.gabi-empty-note{grid-column:1/-1; color:var(--grey); font-size:13.5px;}
.gabi-section-tight{padding-top:0;}

/* footer */
.gabi-footer{background:var(--cream-deep); color:var(--ink); padding:50px 0 24px; border-top:1px solid var(--line);}
.gabi-foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:34px; margin-bottom:40px; padding-top:50px;}
@media(max-width:760px){.gabi-foot-grid{grid-template-columns:1fr 1fr; row-gap:30px;}}
.gabi-foot-tag{font-size:12.5px; margin-top:12px; max-width:230px; color:var(--grey);}
.gabi-footer h5{font-size:12px; letter-spacing:0.04em; color:var(--taupe); margin-bottom:14px; font-weight:700;}
.gabi-footer li{margin-bottom:9px; font-size:12.5px; color:var(--ink);}
.gabi-footer li a:hover{color:var(--taupe);}
.gabi-foot-bottom{border-top:1px solid var(--line); padding-top:20px; padding-bottom:20px; font-size:11.5px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;}

.gabi-btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:13px 26px; font-size:13.5px; font-weight:600; border-radius:4px; cursor:pointer; transition:all .2s; text-decoration:none;}
.gabi-btn-primary{background:var(--espresso); color:#fff;}
.gabi-btn-primary:hover{background:var(--taupe); color:#fff;}
.gabi-btn-outline{border:1.5px solid var(--espresso); color:var(--espresso);}
.gabi-btn-outline:hover{background:var(--espresso); color:#fff;}

/* Buy Now — secondary style (white bg, pink border) so it's visually
   distinct from the solid pink "Add to Cart" button, shown right beside it. */
.gabi-btn-buynow{
  background:#fff !important;
  color:var(--gold-line) !important;
  border:1.5px solid var(--gold-line) !important;
  margin-top:8px;
}
.gabi-btn-buynow:hover{
  background:var(--gold-line) !important;
  color:#fff !important;
}
/* Shop grid: stack Add to Cart + Buy Now full-width, one under the other */
.gabi-prod-card .gabi-btn-buynow,
.woocommerce ul.products li.product .gabi-btn-buynow{
  display:block; width:calc(100% - 32px); margin:0 16px 16px; text-align:center; padding:10px; font-size:12.5px;
}
.gabi-prod-card .gabi-btn-buynow{width:100%; margin:8px 0 0;}
/* Single product page: Buy Now sits right next to Add to Cart */
.gabi-btn-buynow-single{margin-left:12px; margin-top:0; vertical-align:middle;}
.gabi-discount{background:var(--cream-deep); color:var(--taupe); font-size:11.5px; font-weight:700; padding:2px 7px; border-radius:3px;}
.gabi-badge{background:var(--green); color:#fff; font-size:11px; font-weight:700; padding:3px 7px; border-radius:3px;}

/* hero */
.gabi-hero{padding:36px 0 44px;}
.gabi-hero-grid{display:grid; grid-template-columns:2.2fr 1fr; gap:20px;}
@media(max-width:860px){.gabi-hero-grid{grid-template-columns:1fr;}}
.gabi-hero-main{background:linear-gradient(120deg, var(--cream-deep), var(--beige)); border-radius:16px; padding:54px 46px; color:var(--ink); min-height:320px; display:flex; flex-direction:column; justify-content:center; border:1px solid var(--line);}
.gabi-hero-main .eyebrow{color:var(--taupe); font-size:13px; font-weight:600; margin-bottom:14px; letter-spacing:0.06em;}
.gabi-hero-main h1{font-family:'Cormorant Garamond',serif; font-weight:700; color:var(--espresso); font-size:48px; margin-bottom:16px; max-width:480px; line-height:1.2;}
.gabi-hero-main p{color:var(--grey); font-size:15px; max-width:400px; margin-bottom:26px;}
.gabi-hero-ctas{display:flex; gap:14px; flex-wrap:wrap;}

/* offer strip */
.gabi-offer{background:var(--beige); padding:26px 0;}
.gabi-offer .gabi-wrap{display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px;}
.gabi-offer h2{font-size:22px; color:var(--espresso); margin:0;}
.gabi-offer p{font-size:13.5px; color:var(--grey); margin:4px 0 0;}

/* section heads */
.gabi-section{padding:52px 0;}
.gabi-section-top{padding-top:36px;}
.gabi-section-head{display:flex; align-items:baseline; justify-content:space-between; margin-bottom:26px; gap:16px; flex-wrap:wrap;}
.gabi-section-head h2{font-size:24px; margin:0; color:var(--navy);}

/* collections */
.gabi-coll-grid{display:grid; grid-template-columns:repeat(6,1fr); gap:16px;}
@media(max-width:960px){.gabi-coll-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:560px){.gabi-coll-grid{grid-template-columns:repeat(2,1fr);}}
.gabi-coll-card{background:#fff; border:1px solid var(--line); border-radius:6px; padding:14px; text-align:center; transition:box-shadow .2s; text-decoration:none; display:block;}
.gabi-coll-card:hover{box-shadow:0 8px 20px rgba(11,31,61,0.1);}
.gabi-coll-card img{height:100px; width:100%; object-fit:cover; border-radius:4px; margin-bottom:10px;}
.gabi-coll-card h4{font-size:13px; font-weight:600; color:var(--ink); margin:0;}

/* products (homepage cards) */
.gabi-prod-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px;}
@media(max-width:900px){.gabi-prod-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.gabi-prod-grid{grid-template-columns:1fr;}}
.gabi-prod-card{background:#fff; border:1px solid var(--line); border-radius:6px; overflow:hidden; transition:box-shadow .2s;}
.gabi-prod-card:hover{box-shadow:0 10px 26px rgba(11,31,61,0.12);}
.gabi-prod-card img{height:190px; width:100%; object-fit:cover; transition:transform .35s ease;}
.gabi-prod-card:hover img{transform:scale(1.06);}
.gabi-prod-body{padding:14px 16px 16px;}
.gabi-prod-body h4{font-size:14px; font-weight:500; margin:0 0 6px; color:var(--ink);}
.gabi-prod-price{display:flex; align-items:baseline; gap:8px; margin-bottom:12px;}
.gabi-prod-price .now{font-size:17px; font-weight:800; color:var(--ink);}
.gabi-prod-price .was{font-size:12.5px; color:var(--grey); text-decoration:line-through;}
.gabi-prod-card .gabi-btn{width:100%; padding:10px; font-size:12.5px;}

/* why us */
.gabi-why-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px;}
@media(max-width:900px){.gabi-why-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.gabi-why-grid{grid-template-columns:1fr;}}
.gabi-why-card{background:#fff; border:1px solid var(--line); border-radius:6px; padding:26px 22px;}
.gabi-why-card h4{font-size:14.5px; font-weight:700; margin:0 0 6px; color:var(--navy);}
.gabi-why-card p{font-size:12.5px; color:var(--grey); margin:0;}

/* rental pricing */
.gabi-price-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}
@media(max-width:760px){.gabi-price-grid{grid-template-columns:1fr;}}
.gabi-price-card{background:var(--cream-deep); color:var(--ink); border-radius:8px; padding:32px 26px; text-align:center; border:1px solid var(--line);}
.gabi-price-card .range{font-size:24px; font-weight:800; color:var(--espresso); margin-bottom:8px;}
.gabi-price-card p{font-size:12.5px; color:var(--grey); margin:0;}

/* studio CTA */
.gabi-studio-cta{background:linear-gradient(120deg, var(--cream-deep), var(--beige)); padding:60px 0; text-align:center; color:var(--ink);}
.gabi-studio-cta h2{color:var(--espresso); font-size:30px; margin-bottom:12px;}
.gabi-studio-cta p{color:var(--grey); max-width:440px; margin:0 auto 24px; font-size:14px;}
.gabi-studio-cta .timing{font-size:12.5px; color:var(--grey); margin-top:20px;}

/* fix: heading colors overriding hero/CTA backgrounds */
.gabi-hero-main h1{color:var(--espresso) !important;}
.gabi-studio-cta h2{color:var(--espresso) !important;}
.gabi-offer h2{color:var(--espresso) !important;}
.gabi-logo{color:var(--espresso) !important;}

/* category strip */
.gabi-catstrip{background:var(--white); border-bottom:1px solid var(--line);}
.gabi-catstrip-inner{display:flex; gap:30px; padding:16px 28px; overflow-x:auto; font-size:12.5px; font-weight:600; letter-spacing:0.03em; text-transform:uppercase; white-space:nowrap;}
.gabi-catstrip-inner a{color:var(--ink);}
.gabi-catstrip-inner a:hover{color:var(--gold-line);}

/* hero banner - white & light pink, diamond photo collage */
.gabi-hero-banner{background:linear-gradient(135deg,var(--offwhite),var(--white)); padding:0; overflow:hidden;}
.gabi-hero-banner-visual-only{padding:0;}
.gabi-hero-banner-collage-full{position:relative; height:340px; max-width:900px; margin:0 auto; display:flex; align-items:center; justify-content:center;}
.gabi-diamond{position:absolute; width:130px; height:130px; background:linear-gradient(135deg,#F3E4C8,var(--gold-line)); transform:rotate(45deg); border:5px solid var(--white); box-shadow:0 12px 26px rgba(184,152,92,0.35); border-radius:6px;}
.gabi-diamond-1{top:18px; left:calc(50% - 340px);}
.gabi-diamond-2{top:110px; left:calc(50% - 195px);}
.gabi-diamond-3{top:18px; left:calc(50% - 50px);}
.gabi-diamond-4{top:110px; left:calc(50% + 95px);}
.gabi-diamond-5{top:18px; left:calc(50% + 210px);}
.gabi-sale-badge{position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:84px; height:84px; border-radius:50%; background:var(--white); border:2px dashed var(--gold-line); color:var(--gold-line); display:flex; align-items:center; justify-content:center; font-family:'Cormorant Garamond',serif; font-style:italic; font-size:17px; font-weight:700; z-index:3; box-shadow:0 8px 20px rgba(184,152,92,0.3);}

/* hero banner - real uploaded photo version (single photo, legacy) */
.gabi-hero-banner-photo{height:440px; background-size:cover; background-position:center; position:relative;}
.gabi-hero-photo-overlay{position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,0.05), rgba(0,0,0,0.35)); z-index:2;}
@media(max-width:760px){.gabi-hero-banner-photo{height:300px;}}

/* hero banner - 5-photo auto-rotating slideshow */
.gabi-hero-slideshow{height:440px; position:relative; overflow:hidden;}
.gabi-hero-slide{position:absolute; inset:0; background-size:cover; background-position:center; opacity:0; transition:opacity 1.2s ease-in-out; z-index:1;}
.gabi-hero-slide.is-active{opacity:1; z-index:1;}
@media(max-width:760px){.gabi-hero-slideshow{height:300px;}}
@media(max-width:900px){
  .gabi-hero-banner-collage-full{height:280px; max-width:520px;}
  .gabi-diamond{width:96px; height:96px;}
  .gabi-diamond-1{top:10px; left:calc(50% - 220px);}
  .gabi-diamond-2{top:80px; left:calc(50% - 120px);}
  .gabi-diamond-3{top:10px; left:calc(50% - 20px);}
  .gabi-diamond-4{top:80px; left:calc(50% + 55px);}
  .gabi-diamond-5{top:10px; left:calc(50% + 140px); display:none;}
  .gabi-sale-badge{width:66px; height:66px; font-size:13px;}
}
@media(max-width:560px){
  .gabi-hero-banner-collage-full{height:230px; max-width:340px;}
  .gabi-diamond{width:76px; height:76px;}
  .gabi-diamond-1{top:6px; left:calc(50% - 150px);}
  .gabi-diamond-2{top:60px; left:calc(50% - 70px);}
  .gabi-diamond-3{top:6px; left:calc(50% + 10px);}
  .gabi-diamond-4{top:60px; left:calc(50% + 80px); display:none;}
  .gabi-sale-badge{width:56px; height:56px; font-size:11px;}
}

/* ==========================================================
   v6.5 — SHOP PAGE + SINGLE PRODUCT PAGE + CART/CHECKOUT
   (these pages use WooCommerce's own default markup/classes,
   not the gabi-home template, so we style them directly here
   with no PHP template files needed)
   ========================================================== */

.woocommerce,
.woocommerce-page{font-family:'Inter', sans-serif; color:var(--ink); background:var(--ivory);}
.woocommerce .ast-container,
.woocommerce-page .ast-container{max-width:1240px; padding-top:10px; padding-bottom:60px;}

/* page title (Shop / Category name / Search results) */
.woocommerce-products-header__title.page-title,
.woocommerce-page .page-title{font-family:'Cormorant Garamond',serif; font-weight:700; color:var(--espresso); font-size:34px; margin:26px 0 6px;}
.term-description,
.woocommerce-products-header + .term-description{color:var(--grey); font-size:13.5px; max-width:560px; margin-bottom:20px;}

/* result count + sorting bar */
.woocommerce-result-count{color:var(--grey); font-size:13px;}
.woocommerce-ordering select{border:1px solid var(--line); border-radius:20px; padding:8px 16px; font-size:13px; background:#fff; color:var(--ink);}
.woocommerce-ordering,
.woocommerce-result-count{margin-bottom:24px !important;}

/* product grid */
.woocommerce ul.products,
.woocommerce-page ul.products{display:grid !important; grid-template-columns:repeat(3,1fr); gap:22px; margin:0 0 40px !important; padding:0 !important; list-style:none !important;}
@media(max-width:900px){.woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:1fr;}}
.woocommerce ul.products li.product{width:100% !important; margin:0 !important; float:none !important; background:#fff; border:1px solid var(--line); border-radius:8px; overflow:hidden; transition:box-shadow .25s, transform .25s; position:relative;}
.woocommerce ul.products li.product:hover{box-shadow:0 14px 30px rgba(0,0,0,0.1); transform:translateY(-3px);}
.woocommerce ul.products li.product a{text-decoration:none; color:inherit;}
.woocommerce ul.products li.product img{width:100%; height:230px; object-fit:cover; border-radius:0; transition:transform .4s ease;}
.woocommerce ul.products li.product:hover img{transform:scale(1.05);}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:'Inter',sans-serif; font-size:14px; font-weight:600; color:var(--ink); padding:14px 16px 4px; margin:0;}
.woocommerce ul.products li.product .price{padding:0 16px 16px; font-size:15px; color:var(--espresso); font-weight:700;}
.woocommerce ul.products li.product .price del{color:var(--grey); font-weight:400; font-size:12.5px; margin-right:6px;}
.woocommerce ul.products li.product .price ins{text-decoration:none;}
.woocommerce ul.products li.product .onsale{background:var(--espresso); color:#fff; font-size:11px; font-weight:700; padding:4px 10px; border-radius:3px; position:absolute; top:12px; left:12px; min-height:0; min-width:0; line-height:1.4; text-transform:uppercase; letter-spacing:0.04em;}
/* Add to Cart button: no custom background/color override here on
   purpose — Astra's own default button styling is used as-is, since
   it renders correctly. We only keep spacing/layout so it fits the
   card nicely. */
.woocommerce ul.products li.product .button{
  display:block !important;
  width:calc(100% - 32px) !important;
  margin:0 16px 18px !important;
  box-sizing:border-box !important;
}
.woocommerce ul.products li.product .star-rating{margin:0 16px 6px; font-size:12px; color:var(--gold-line);}

/* pagination */
.woocommerce nav.woocommerce-pagination ul{border:0; gap:6px; display:flex;}
.woocommerce nav.woocommerce-pagination ul li{border:0 !important;}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{border:1px solid var(--line) !important; border-radius:4px; color:var(--ink); padding:8px 13px; font-size:13px;}
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--espresso); color:#fff; border-color:var(--espresso) !important;}

/* sidebar widgets (category filter etc.) */
.woocommerce-page .widget{background:#fff; border:1px solid var(--line); border-radius:8px; padding:20px; margin-bottom:20px;}
.woocommerce-page .widget-title{font-family:'Cormorant Garamond',serif; font-size:17px; color:var(--espresso); margin:0 0 12px;}
.woocommerce-page .widget ul li{padding:6px 0; font-size:13px; border-bottom:1px dashed var(--line);}
.woocommerce-page .widget ul li a{color:var(--ink);}
.woocommerce-page .widget ul li a:hover{color:var(--gold-line);}

/* ---------- single product page ---------- */
.single-product div.product{background:#fff; border:1px solid var(--line); border-radius:10px; padding:34px; margin-top:20px;}
.single-product .woocommerce-product-gallery{border-radius:8px; overflow:hidden;}
.single-product .woocommerce-product-gallery img{border-radius:8px;}
.single-product .product_title{font-family:'Cormorant Garamond',serif; font-weight:700; color:var(--espresso); font-size:32px; margin:0 0 10px;}
.single-product p.price{color:var(--espresso); font-size:24px; font-weight:700; margin-bottom:16px;}
.single-product p.price del{color:var(--grey); font-size:16px; font-weight:400;}
.single-product .woocommerce-product-details__short-description{color:var(--grey); font-size:14px; line-height:1.7; margin-bottom:20px;}
.single-product .star-rating{color:var(--gold-line); margin-bottom:14px;}
.single-product form.cart{display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin:20px 0;}
.single-product .quantity input.qty{width:64px; padding:11px; border:1px solid var(--line); border-radius:4px; text-align:center;}
.single-product .single_add_to_cart_button{background:var(--espresso) !important; color:#fff !important; border:0; padding:14px 34px !important; border-radius:4px; font-size:14px; font-weight:600; letter-spacing:0.02em; transition:background .2s;}
.single-product .single_add_to_cart_button:hover{background:var(--gold-line) !important;}
.single-product .product_meta{font-size:12.5px; color:var(--grey); margin-top:16px; border-top:1px solid var(--line); padding-top:14px;}
.single-product .product_meta a{color:var(--taupe);}

/* tabs (description / additional info / reviews) */
.single-product .woocommerce-tabs ul.tabs{border-bottom:1px solid var(--line); display:flex; gap:26px; margin:34px 0 0; padding:0;}
.single-product .woocommerce-tabs ul.tabs li{border:0 !important; background:none !important; margin:0 !important; padding:0 0 12px !important;}
.single-product .woocommerce-tabs ul.tabs li a{color:var(--grey); font-size:13.5px; font-weight:600; text-decoration:none;}
.single-product .woocommerce-tabs ul.tabs li.active a{color:var(--espresso); border-bottom:2px solid var(--gold-line); padding-bottom:12px;}
.single-product .woocommerce-tabs .panel{padding:24px 0; font-size:13.5px; color:var(--grey); line-height:1.8;}

/* related products heading */
.single-product .related.products > h2{font-family:'Cormorant Garamond',serif; color:var(--espresso); font-size:24px; margin:50px 0 20px;}

/* ---------- cart page ---------- */
.woocommerce-cart table.cart{border:1px solid var(--line); border-radius:8px; overflow:hidden;}
.woocommerce-cart table.cart th{background:var(--offwhite); font-size:12px; text-transform:uppercase; letter-spacing:0.04em; color:var(--grey); padding:14px;}
.woocommerce-cart table.cart td{padding:16px 14px; border-top:1px solid var(--line);}
.woocommerce-cart .cart-collaterals .cart_totals{background:#fff; border:1px solid var(--line); border-radius:8px; padding:24px;}
.woocommerce-cart .cart_totals h2{font-family:'Cormorant Garamond',serif; color:var(--espresso); font-size:20px;}
.woocommerce a.checkout-button,
.woocommerce input#place_order,
.woocommerce button.button{background:var(--espresso); color:#fff !important; border-radius:4px; font-weight:600; border:0; padding:13px 26px; font-size:13.5px;}
.woocommerce a.checkout-button:hover,
.woocommerce input#place_order:hover,
.woocommerce button.button:hover{background:var(--gold-line);}

/* ---------- checkout page ---------- */
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review{background:#fff; border:1px solid var(--line); border-radius:8px; padding:26px; margin-bottom:20px;}
.woocommerce-checkout h3{font-family:'Cormorant Garamond',serif; color:var(--espresso); font-size:19px;}
.woocommerce-checkout input.input-text,
.woocommerce-checkout select{border:1px solid var(--line); border-radius:4px; padding:11px;}

/* ---------- WooCommerce BLOCKS cart/checkout (newer block-based
   Cart & Checkout pages use different class names than the classic
   ones above — these cover the "Place Order" / "Proceed to Checkout"
   buttons so they always match the gold/charcoal theme) ---------- */
.wc-block-components-checkout-place-order-button,
.wc-block-cart__submit-button,
.wp-block-woocommerce-checkout .wc-block-components-button,
.wp-block-woocommerce-cart .wc-block-components-button,
.wc-block-components-button.wp-element-button{
  background:var(--espresso) !important;
  border-color:var(--espresso) !important;
  color:#fff !important;
  border-radius:4px !important;
  font-weight:600 !important;
}
.wc-block-components-checkout-place-order-button:hover,
.wc-block-cart__submit-button:hover,
.wp-block-woocommerce-checkout .wc-block-components-button:hover,
.wp-block-woocommerce-cart .wc-block-components-button:hover,
.wc-block-components-button.wp-element-button:hover{
  background:var(--gold-line) !important;
  border-color:var(--gold-line) !important;
}
.wp-block-woocommerce-checkout,
.wp-block-woocommerce-cart{font-family:'Inter', sans-serif; color:var(--ink);}
.wc-block-components-radio-control__label,
.wc-block-components-checkout-step__title{font-family:'Inter', sans-serif; color:var(--ink);}
.wc-block-components-panel .wc-block-components-panel__button,
.wc-block-components-checkout-step__title{color:var(--espresso);}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label{color:var(--espresso); font-weight:700;}