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

: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;}

/* 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;}
.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 */
.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;}
.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 - dark maroon with diamond photo collage */
.gabi-hero-banner{background:linear-gradient(135deg,#3D1B10,#241009); padding:70px 0; overflow:hidden;}
.gabi-hero-banner-grid{display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center;}
@media(max-width:860px){.gabi-hero-banner-grid{grid-template-columns:1fr;}}
.gabi-hero-script{color:var(--gold-line); font-size:14px; letter-spacing:0.1em; text-transform:uppercase; margin-bottom:14px;}
.gabi-hero-banner-text h1{font-family:'Cormorant Garamond',serif; font-style:italic; font-weight:600; color:#fff; font-size:46px; line-height:1.2; margin-bottom:18px;}
.gabi-hero-sub{color:var(--gold-line); font-size:15px; margin-bottom:6px;}
.gabi-hero-tag{color:#E8D9CE; font-size:14px; margin-bottom:28px;}
/* hero banner - dark maroon with diamond photo collage */
.gabi-hero-banner{background:linear-gradient(135deg,#3D1B10,#241009); 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,#D9BB9C,#A6825F); transform:rotate(45deg); border:5px solid #241009; box-shadow:0 12px 26px rgba(0,0,0,0.4); 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:#5A2818; 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(0,0,0,0.35);}
@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;}
}