
:root{
  --overa-v2-ivory:#f7f3ed;
  --overa-v2-paper:#fffdf8;
  --overa-v2-ink:#24261f;
  --overa-v2-muted:#6b6d65;
  --overa-v2-olive:#687254;
  --overa-v2-olive-deep:#2d352b;
  --overa-v2-terra:#b86f52;
  --overa-v2-terra-deep:#96523f;
  --overa-v2-sand:#e9ded0;
  --overa-v2-line:#e3d9cd;
  --overa-v2-shadow:0 22px 60px rgba(45,39,34,.11);
  --overa-v2-max:1180px;
}

/* Break every homepage section out of any Astra / Elementor content-width wrapper. */
.overa-v2-full{
  position:relative;
  width:100vw;
  max-width:100vw;
  left:50%;
  margin-left:-50vw;
  box-sizing:border-box;
  color:var(--overa-v2-ink);
  font-family:Inter,Arial,Helvetica,sans-serif;
  line-height:1.65;
}
.overa-v2-full *{box-sizing:border-box}
.overa-v2-full img{display:block;max-width:100%;height:auto}
.overa-v2-full a{text-decoration:none}
.overa-v2-container{width:min(var(--overa-v2-max),calc(100% - 36px));margin:auto}
.overa-v2-full h1,.overa-v2-full h2,.overa-v2-full h3{
  font-family:Georgia,"Times New Roman",serif;
  font-weight:500;
  line-height:1.08;
  color:var(--overa-v2-ink);
}
.overa-v2-full h1{font-size:clamp(3rem,5.5vw,5.2rem)}
.overa-v2-full h2{font-size:clamp(2.15rem,4vw,3.55rem)}
.overa-v2-full h3{font-size:1.45rem}
.overa-v2-eyebrow{
  margin:0 0 12px;
  color:var(--overa-v2-olive);
  font-size:.75rem;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.overa-v2-light{color:#dce1d2}
.overa-v2-center{text-align:center}
.overa-v2-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.overa-v2-center-actions{justify-content:center}
.overa-v2-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:13px 22px;
  border-radius:10px;
  border:1px solid transparent;
  font-weight:800;
  transition:.2s;
}
.overa-v2-btn:hover{transform:translateY(-2px)}
.overa-v2-btn-primary{background:var(--overa-v2-terra);color:#fff!important}
.overa-v2-btn-primary:hover{background:var(--overa-v2-terra-deep)}
.overa-v2-btn-outline{border-color:rgba(255,255,255,.56);background:rgba(255,255,255,.08);color:#fff!important}
.overa-v2-btn-light{background:#fff;color:var(--overa-v2-olive-deep)!important}

/* HERO: exact original proportions */
.overa-v2-hero{height:610px;overflow:hidden;background:#1f251f}
.overa-v2-hero-slide{
  position:absolute;
  inset:0;
  opacity:0;
  transition:opacity .85s;
  background-size:cover;
  background-position:center center;
}
.overa-v2-hero-slide.is-active{opacity:1}
.overa-v2-hero-slide::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(18,22,18,.82),rgba(18,22,18,.54) 46%,rgba(18,22,18,.12) 80%);
}
.overa-v2-hero-content{
  position:relative;
  z-index:3;
  height:100%;
  display:flex;
  align-items:center;
  color:#fff;
}
.overa-v2-hero-copy{max-width:710px}
.overa-v2-hero-copy h1{margin:0 0 18px;color:#fff!important}
.overa-v2-hero-copy p{max-width:650px;color:rgba(255,255,255,.88);font-size:1.07rem}
.overa-v2-hero-dots{
  position:absolute;
  left:50%;
  bottom:20px;
  transform:translateX(-50%);
  z-index:5;
  display:flex;
  gap:9px;
}
.overa-v2-hero-dot{
  width:9px;height:9px;padding:0;border:0;border-radius:50%;
  background:rgba(255,255,255,.46);cursor:pointer;
}
.overa-v2-hero-dot.is-active{background:#fff;transform:scale(1.28)}

/* ABOUT / SPECIAL: exact original 1180 layout */
.overa-v2-editorial{
  margin:88px auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  align-items:center;
}
.overa-v2-editorial figure{margin:0}
.overa-v2-editorial figure img{
  border-radius:24px;
  box-shadow:var(--overa-v2-shadow);
  min-height:430px;
  max-height:520px;
  width:100%;
  object-fit:cover;
}
.overa-v2-editorial-copy p,
.overa-v2-editorial-copy li{color:var(--overa-v2-muted)}
.overa-v2-editorial-copy h2{margin:0 0 18px}
.overa-v2-editorial-copy ul{padding-left:20px}
.overa-v2-editorial-copy .overa-v2-btn{margin-top:8px}

/* FEATURED PRODUCTS */
.overa-v2-products-section{background:var(--overa-v2-paper);padding:88px 0}
.overa-v2-section-heading{max-width:760px;margin:0 auto 38px}
.overa-v2-section-heading h2{margin:0}
.overa-v2-products-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.overa-v2-product-card{
  background:#fff;
  border:1px solid var(--overa-v2-line);
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 8px 28px rgba(45,39,34,.05);
  transition:.24s;
}
.overa-v2-product-card:hover{transform:translateY(-5px);box-shadow:var(--overa-v2-shadow)}
.overa-v2-product-image{display:block;background:#efe7dd;overflow:hidden}
.overa-v2-product-image img{width:100%;height:235px;object-fit:cover;transition:transform .3s}
.overa-v2-product-card:hover .overa-v2-product-image img{transform:scale(1.025)}
.overa-v2-product-body{padding:21px}
.overa-v2-product-body h3{margin:0 0 11px}
.overa-v2-product-body p{color:var(--overa-v2-muted);font-size:.91rem}
.overa-v2-text-link{font-weight:800;font-size:.9rem;color:var(--overa-v2-terra)!important}

/* BUSINESS STRIP */
.overa-v2-business{padding:52px 0;background:#efe7dd}
.overa-v2-compact-title{text-align:center;margin:0 0 28px}
.overa-v2-business-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.overa-v2-business-item{
  background:#fff;border:1px solid var(--overa-v2-line);border-radius:15px;
  padding:18px 20px;display:flex;align-items:center;gap:12px;
}
.overa-v2-business-item span{
  width:38px;height:38px;border-radius:10px;background:#f2e9df;color:var(--overa-v2-terra);
  display:grid;place-items:center;font-weight:900;flex:0 0 38px;
}
.overa-v2-business-item strong{font-family:Georgia,"Times New Roman",serif;font-size:1.06rem}

/* CTA */
.overa-v2-home-cta{
  margin:88px auto;
  background:var(--overa-v2-olive-deep);
  color:#fff;
  border-radius:24px;
  padding:58px 70px;
}
.overa-v2-home-cta h2{
  color:#fff!important;
  max-width:850px;
  margin:0 auto;
  text-align:center;
}

/* FAQ */
.overa-v2-faq{margin:88px auto}
.overa-v2-faq h2{text-align:center;margin:0 0 34px}
.overa-v2-faq details{
  background:#fff;
  border:1px solid var(--overa-v2-line);
  border-radius:14px;
  padding:19px 22px;
  margin:12px 0;
}
.overa-v2-faq summary{font-weight:800;cursor:pointer}
.overa-v2-faq details p{color:var(--overa-v2-muted);margin-bottom:0}

/* Remove accidental Elementor spacing around the generated exact-home widgets. */
.elementor-widget-overa_exact_hero,
.elementor-widget-overa_exact_about,
.elementor-widget-overa_exact_featured,
.elementor-widget-overa_exact_business,
.elementor-widget-overa_exact_special,
.elementor-widget-overa_exact_cta,
.elementor-widget-overa_exact_faq{
  margin:0!important;
  padding:0!important;
}
body.home .elementor,
body.home .elementor-element,
body.home .e-con{
  --container-default-padding-top:0px;
  --container-default-padding-right:0px;
  --container-default-padding-bottom:0px;
  --container-default-padding-left:0px;
}

/* Tablet */
@media(max-width:980px){
  .overa-v2-business-strip{grid-template-columns:repeat(2,1fr)}
}

/* Mobile: copied from the accepted original theme proportions */
@media(max-width:680px){
  .overa-v2-container{width:min(var(--overa-v2-max),calc(100% - 26px))}
  .overa-v2-hero{height:555px}
  .overa-v2-hero-slide::after{background:linear-gradient(90deg,rgba(18,22,18,.82),rgba(18,22,18,.46))}
  .overa-v2-hero-copy h1{font-size:clamp(2.7rem,12vw,4rem)}
  .overa-v2-editorial{
    margin:66px auto;
    grid-template-columns:1fr;
    gap:28px;
  }
  .overa-v2-editorial figure img{min-height:300px;max-height:360px}
  .overa-v2-special .overa-v2-editorial-copy{order:1}
  .overa-v2-special figure{order:2}
  .overa-v2-products-section{padding:66px 0}
  .overa-v2-products-grid{grid-template-columns:repeat(2,1fr);gap:12px}
  .overa-v2-product-image img{height:172px}
  .overa-v2-product-body{padding:14px}
  .overa-v2-product-body h3{font-size:1.08rem}
  .overa-v2-product-body p{font-size:.82rem;line-height:1.5}
  .overa-v2-business-strip{grid-template-columns:repeat(2,1fr)}
  .overa-v2-business-item{padding:14px;align-items:flex-start;flex-direction:column}
  .overa-v2-business-item strong{font-size:.96rem}
  .overa-v2-home-cta{margin:66px auto;padding:42px 22px}
  .overa-v2-faq{margin:66px auto}
}


/* ===== Overa Kit v2.1: Exact Astra Header + Exact Original Footer ===== */

/* Remove Astra site-name text because the full logo already contains OVERA NATURALS. */
#masthead .site-title,
#masthead .site-description,
#masthead .ast-site-title-wrap{
  display:none!important;
}

/* Exact dark header appearance from the accepted old Overa theme. */
#masthead{
  position:sticky;
  top:0;
  z-index:9999;
}
.admin-bar #masthead{top:32px}

#masthead .ast-primary-header-bar{
  background:#0e150f!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
}
#masthead .ast-builder-grid-row{
  width:min(1180px,calc(100% - 36px))!important;
  max-width:1180px!important;
  min-height:84px!important;
  margin:auto!important;
  padding:0!important;
}
#masthead .site-branding,
#masthead .ast-site-identity{
  padding:0!important;
}
#masthead .custom-logo-link{
  display:flex!important;
  align-items:center!important;
}
#masthead .custom-logo{
  width:auto!important;
  height:64px!important;
  max-width:390px!important;
  object-fit:contain!important;
}

#masthead .main-header-menu{
  gap:27px;
  align-items:center;
}
#masthead .main-header-menu > .menu-item > .menu-link{
  color:#f5f1e9!important;
  font-size:.94rem!important;
  padding:0!important;
  height:auto!important;
  line-height:1.3!important;
}
#masthead .main-header-menu > .menu-item > .menu-link:hover{
  color:#e3a68f!important;
}

/* Last menu item = Get a Quote */
#masthead .main-header-menu > .menu-item:last-child > .menu-link{
  min-height:48px!important;
  padding:13px 22px!important;
  border-radius:10px!important;
  background:#b86f52!important;
  color:#fff!important;
  font-weight:800!important;
}
#masthead .main-header-menu > .menu-item:last-child > .menu-link:hover{
  background:#96523f!important;
  color:#fff!important;
}

/* Astra mobile header in the same visual language. */
#ast-mobile-header .ast-primary-header-bar,
.ast-mobile-header-wrap .ast-primary-header-bar{
  background:#0e150f!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
}
#ast-mobile-header .ast-builder-grid-row,
.ast-mobile-header-wrap .ast-builder-grid-row{
  width:min(1180px,calc(100% - 26px))!important;
  min-height:74px!important;
  margin:auto!important;
  padding:0!important;
}
#ast-mobile-header .custom-logo,
.ast-mobile-header-wrap .custom-logo{
  width:auto!important;
  height:52px!important;
  max-width:245px!important;
  object-fit:contain!important;
}
#ast-mobile-header .menu-toggle,
.ast-mobile-header-wrap .menu-toggle,
#ast-mobile-header .mobile-menu-toggle-icon,
.ast-mobile-header-wrap .mobile-menu-toggle-icon,
#ast-mobile-header svg,
.ast-mobile-header-wrap svg{
  color:#fff!important;
  fill:#fff!important;
}
.ast-mobile-popup-drawer .ast-mobile-popup-inner{
  background:#111811!important;
}
.ast-mobile-popup-drawer .main-header-menu .menu-link{
  color:#f5f1e9!important;
}
.ast-mobile-popup-drawer .main-header-menu .menu-item:last-child .menu-link{
  background:#b86f52!important;
  border-radius:10px;
  color:#fff!important;
  margin:8px 14px;
  text-align:center;
}

.overa-v2-site-container{
  width:min(1180px,calc(100% - 36px));
  margin:auto;
}
.overa-v2-site-footer{
  background:#171e18;
  color:#fff;
  padding:64px 0 24px;
  font-family:Inter,Arial,Helvetica,sans-serif;
  line-height:1.65;
}
.overa-v2-footer-grid{
  display:grid;
  grid-template-columns:1.3fr .75fr .9fr 1.1fr;
  gap:38px;
}
.overa-v2-footer-grid>div{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.overa-v2-site-footer h4{
  color:#fff;
  font-family:Georgia,"Times New Roman",serif;
  font-weight:500;
  line-height:1.08;
  font-size:1.03rem;
  margin:0 0 16px;
}
.overa-v2-site-footer p,
.overa-v2-site-footer a{
  color:rgba(255,255,255,.72);
  font-size:.89rem;
  margin:0 0 9px;
  text-decoration:none;
}
.overa-v2-site-footer a:hover{color:#fff}
.overa-v2-footer-brand{
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.65rem;
  margin-bottom:14px;
}
.overa-v2-footer-bottom{
  display:flex;
  justify-content:space-between;
  gap:20px;
  margin-top:42px;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.12);
  color:rgba(255,255,255,.5);
  font-size:.78rem;
}

@media(max-width:980px){
  #masthead .custom-logo{height:58px!important;max-width:300px!important}
  .overa-v2-footer-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:680px){
  .admin-bar #masthead{top:46px}
  #masthead .ast-builder-grid-row{width:min(1180px,calc(100% - 26px))!important;min-height:74px!important}
  .overa-v2-site-container{width:min(1180px,calc(100% - 26px))}
  .overa-v2-site-footer{padding-top:52px}
  .overa-v2-footer-grid{grid-template-columns:1fr;gap:28px}
  .overa-v2-footer-bottom{flex-direction:column;gap:7px;margin-top:32px}
}


/* ===== Overa Kit v2.3 Final Navigation + Catalog Fixes ===== */

/* Make featured product image areas exactly equal, independent of source image ratio. */
.overa-v2-product-image{
  display:block!important;
  width:100%!important;
  height:235px!important;
  min-height:235px!important;
  max-height:235px!important;
  overflow:hidden!important;
  background:#efe7dd!important;
}
.overa-v2-product-image img{
  display:block!important;
  width:100%!important;
  height:235px!important;
  min-height:235px!important;
  max-height:235px!important;
  object-fit:cover!important;
  object-position:center center!important;
}

/* Astra mobile drawer: dark like the header, with readable links. */
.ast-mobile-popup-drawer,
.ast-mobile-popup-drawer .ast-mobile-popup-overlay,
.ast-mobile-popup-drawer .ast-mobile-popup-inner,
.ast-mobile-popup-drawer .ast-mobile-popup-content,
.ast-header-break-point .ast-mobile-popup-drawer .main-header-menu,
.ast-header-break-point .ast-mobile-popup-drawer .main-navigation{
  background:#0e150f!important;
}
.ast-mobile-popup-drawer .menu-toggle-close,
.ast-mobile-popup-drawer .menu-toggle-close .ast-svg-iconset,
.ast-mobile-popup-drawer .menu-toggle-close svg{
  color:#fff!important;
  fill:#fff!important;
}
.ast-mobile-popup-drawer .main-header-menu .menu-link,
.ast-mobile-popup-drawer .main-navigation .menu-link{
  color:#f5f1e9!important;
  background:transparent!important;
  border-color:rgba(255,255,255,.08)!important;
}
.ast-mobile-popup-drawer .main-header-menu .current-menu-item > .menu-link{
  color:#efb197!important;
  background:rgba(255,255,255,.035)!important;
}
.ast-mobile-popup-drawer .main-header-menu > .menu-item:last-child > .menu-link{
  background:#b86f52!important;
  color:#fff!important;
  border-radius:10px!important;
  margin:10px 18px!important;
  width:auto!important;
  text-align:center!important;
}

/* WooCommerce /products/ catalog styling */
body.post-type-archive-product .ast-container,
body.woocommerce-shop .ast-container{
  max-width:1180px!important;
  width:min(1180px,calc(100% - 36px))!important;
  padding-left:0!important;
  padding-right:0!important;
}
body.woocommerce-shop #primary,
body.post-type-archive-product #primary{
  width:100%!important;
  margin:0!important;
  padding:70px 0!important;
}
body.woocommerce-shop .woocommerce-products-header__title,
body.post-type-archive-product .woocommerce-products-header__title{
  font-family:Georgia,"Times New Roman",serif!important;
  font-weight:500!important;
  font-size:clamp(2.4rem,4vw,3.6rem)!important;
  color:#24261f!important;
  text-align:center!important;
  margin:0 0 42px!important;
}
body.woocommerce-shop .woocommerce-result-count,
body.woocommerce-shop .woocommerce-ordering{
  display:none!important;
}
body.woocommerce-shop ul.products,
body.post-type-archive-product ul.products{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
}
body.woocommerce-shop ul.products::before,
body.woocommerce-shop ul.products::after{
  display:none!important;
}
body.woocommerce-shop ul.products li.product,
body.post-type-archive-product ul.products li.product{
  width:auto!important;
  float:none!important;
  margin:0!important;
  padding:0 0 20px!important;
  border:1px solid #e3d9cd!important;
  border-radius:18px!important;
  overflow:hidden!important;
  background:#fff!important;
  box-shadow:0 8px 28px rgba(45,39,34,.05)!important;
}
body.woocommerce-shop ul.products li.product a img,
body.post-type-archive-product ul.products li.product a img{
  width:100%!important;
  height:235px!important;
  object-fit:cover!important;
  margin:0 0 18px!important;
}
body.woocommerce-shop ul.products li.product .woocommerce-loop-product__title,
body.post-type-archive-product ul.products li.product .woocommerce-loop-product__title{
  padding:0 18px!important;
  margin:0!important;
  color:#24261f!important;
  font:500 1.35rem/1.12 Georgia,"Times New Roman",serif!important;
}
body.woocommerce-shop ul.products li.product .price,
body.post-type-archive-product ul.products li.product .price,
body.woocommerce-shop ul.products li.product .button,
body.post-type-archive-product ul.products li.product .button{
  display:none!important;
}

/* Single product pages also stay clean B2B catalog pages. */
body.single-product .ast-container{
  max-width:1180px!important;
  width:min(1180px,calc(100% - 36px))!important;
}
body.single-product #primary{
  width:100%!important;
  padding:70px 0!important;
}
body.single-product div.product .product_title{
  font-family:Georgia,"Times New Roman",serif!important;
  font-weight:500!important;
  color:#24261f!important;
}
body.single-product div.product .price,
body.single-product div.product form.cart{
  display:none!important;
}

@media(max-width:680px){
  .overa-v2-product-image{
    height:172px!important;
    min-height:172px!important;
    max-height:172px!important;
  }
  .overa-v2-product-image img{
    height:172px!important;
    min-height:172px!important;
    max-height:172px!important;
  }

  body.woocommerce-shop .ast-container,
  body.post-type-archive-product .ast-container,
  body.single-product .ast-container{
    width:min(100% - 26px,1180px)!important;
  }
  body.woocommerce-shop #primary,
  body.post-type-archive-product #primary,
  body.single-product #primary{
    padding:48px 0!important;
  }
  body.woocommerce-shop ul.products,
  body.post-type-archive-product ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
  }
  body.woocommerce-shop ul.products li.product a img,
  body.post-type-archive-product ul.products li.product a img{
    height:172px!important;
  }
  body.woocommerce-shop ul.products li.product .woocommerce-loop-product__title,
  body.post-type-archive-product ul.products li.product .woocommerce-loop-product__title{
    padding:0 13px!important;
    font-size:1.05rem!important;
  }
}


/* ===== Overa Kit v2.4: Mobile Menu Visibility + Automatic Product Quote System ===== */

/* Strong Astra mobile drawer overrides. */
html body .ast-mobile-popup-drawer.active .ast-mobile-popup-inner,
html body .ast-mobile-popup-drawer .ast-mobile-popup-inner,
html body .ast-mobile-popup-drawer .ast-mobile-popup-content,
html body .ast-mobile-popup-drawer .ast-mobile-popup-header,
html body .ast-mobile-popup-drawer #ast-mobile-site-navigation,
html body .ast-mobile-popup-drawer .ast-mobile-menu,
html body .ast-mobile-popup-drawer .main-navigation,
html body .ast-header-break-point .ast-mobile-popup-drawer .main-header-menu{
  background-color:#0e150f!important;
  background:#0e150f!important;
}

html body .ast-mobile-popup-drawer .main-header-menu .menu-item,
html body .ast-mobile-popup-drawer .main-header-menu .menu-item > a,
html body .ast-mobile-popup-drawer .main-navigation .menu-item > a,
html body .ast-mobile-popup-drawer .ast-mobile-menu .menu-item > a{
  background:transparent!important;
}

html body .ast-mobile-popup-drawer .main-header-menu .menu-link,
html body .ast-mobile-popup-drawer .main-navigation .menu-link,
html body .ast-mobile-popup-drawer .ast-mobile-menu .menu-link,
html body .ast-mobile-popup-drawer a{
  color:#f7f3ed!important;
  opacity:1!important;
  text-shadow:none!important;
}

html body .ast-mobile-popup-drawer .main-header-menu .current-menu-item > .menu-link{
  color:#efb197!important;
  background:rgba(255,255,255,.045)!important;
}

html body .ast-mobile-popup-drawer .main-header-menu > .menu-item:last-child > .menu-link{
  background:#b86f52!important;
  color:#fff!important;
  border-radius:10px!important;
  margin:10px 18px!important;
  padding:16px 20px!important;
}

html body .ast-mobile-popup-drawer .menu-toggle-close,
html body .ast-mobile-popup-drawer .menu-toggle-close *,
html body .ast-mobile-popup-drawer .ast-svg-iconset svg{
  color:#fff!important;
  fill:#fff!important;
}

/* Quote buttons */
.overa-single-quote-jump{
  margin:22px 0 0;
}
.woocommerce .overa-get-quote-button,
.woocommerce .overa-loop-quote-button,
.woocommerce .overa-submit-quote{
  background:#b86f52!important;
  border:1px solid #b86f52!important;
  color:#fff!important;
  border-radius:10px!important;
  font-weight:800!important;
  text-decoration:none!important;
}
.woocommerce .overa-get-quote-button{
  padding:14px 24px!important;
}
.woocommerce .overa-loop-quote-button{
  display:block!important;
  width:calc(100% - 36px)!important;
  margin:16px 18px 0!important;
  padding:12px 14px!important;
  text-align:center!important;
}
.woocommerce .overa-submit-quote{
  padding:15px 24px!important;
  margin-top:20px!important;
}

/* If a client enters a WooCommerce price later, normal price/Add to Cart remain available.
   Quote stays available as a second B2B option. */
body.single-product div.product p.price,
body.single-product div.product span.price{
  display:block!important;
}
body.single-product div.product form.cart{
  display:flex!important;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}

/* Product quote form */
.overa-product-quote-section{
  clear:both;
  width:100%;
  margin:64px 0 20px;
  padding:0;
}
.overa-product-quote-inner{
  background:#f7f3ed;
  border:1px solid #e3d9cd;
  border-radius:22px;
  padding:44px;
}
.overa-product-quote-head{
  max-width:800px;
  margin-bottom:28px;
}
.overa-product-quote-kicker{
  color:#687254;
  font-size:.75rem;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
  margin-bottom:10px;
}
.overa-product-quote-head h2{
  margin:0 0 12px!important;
  color:#24261f!important;
  font:500 clamp(2rem,4vw,3rem)/1.08 Georgia,"Times New Roman",serif!important;
}
.overa-product-quote-head p{
  color:#6b6d65;
  margin:0;
}
.overa-quote-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.overa-product-quote-form label span{
  display:block;
  margin-bottom:7px;
  color:#24261f;
  font-weight:700;
}
.overa-product-quote-form input,
.overa-product-quote-form textarea{
  width:100%;
  border:1px solid #d7cabc!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#24261f!important;
  padding:13px 14px!important;
  box-shadow:none!important;
}
.overa-product-quote-form input:focus,
.overa-product-quote-form textarea:focus{
  border-color:#b86f52!important;
  outline:none!important;
}
.overa-quote-full{
  grid-column:1/-1;
}
.overa-quote-success{
  padding:14px 17px;
  margin:0 0 22px;
  border:1px solid #b8d6ba;
  border-radius:9px;
  background:#edf8ee;
  color:#315c35;
  font-weight:700;
}

/* Give Woo product summary a little more breathing room. */
body.single-product .summary.entry-summary{
  padding-bottom:10px;
}

@media(max-width:680px){
  .overa-product-quote-section{
    margin-top:46px;
  }
  .overa-product-quote-inner{
    padding:26px 18px;
    border-radius:17px;
  }
  .overa-quote-grid{
    grid-template-columns:1fr;
    gap:15px;
  }
  .overa-quote-full{
    grid-column:auto;
  }
  .woocommerce .overa-loop-quote-button{
    width:calc(100% - 26px)!important;
    margin:13px 13px 0!important;
    font-size:.88rem!important;
  }
}


/* ===== Overa Kit v2.5 FINAL: dark mobile drawer + native Astra footer + quote modal ===== */

/* MOBILE DRAWER: force the actual Astra off-canvas area itself to dark. */
html body #ast-mobile-popup,
html body #ast-mobile-popup .ast-mobile-popup-inner,
html body #ast-mobile-popup .ast-mobile-popup-content,
html body #ast-mobile-popup .ast-mobile-popup-header,
html body #ast-mobile-popup .ast-builder-menu-mobile,
html body #ast-mobile-popup .main-navigation,
html body #ast-mobile-popup .main-header-menu,
html body #ast-mobile-popup .menu-item,
html body .ast-mobile-popup-drawer.active,
html body .ast-mobile-popup-drawer.active .ast-mobile-popup-inner,
html body .ast-mobile-popup-drawer.active .ast-mobile-popup-content,
html body .ast-mobile-popup-drawer.active .ast-builder-menu-mobile,
html body .ast-mobile-popup-drawer.active .main-navigation,
html body .ast-mobile-popup-drawer.active .main-header-menu{
  background:#0e150f!important;
  background-color:#0e150f!important;
}

html body #ast-mobile-popup .menu-link,
html body #ast-mobile-popup .main-header-menu .menu-link,
html body #ast-mobile-popup .ast-builder-menu-mobile .menu-link,
html body .ast-mobile-popup-drawer.active .menu-link{
  color:#fff!important;
  opacity:1!important;
  background:#0e150f!important;
}

html body #ast-mobile-popup .current-menu-item > .menu-link{
  color:#efb197!important;
}

html body #ast-mobile-popup .main-header-menu > .menu-item:last-child > .menu-link{
  background:#b86f52!important;
  color:#fff!important;
  border-radius:10px!important;
  margin:12px 18px!important;
  padding:15px 20px!important;
}

html body #ast-mobile-popup .menu-toggle-close,
html body #ast-mobile-popup .menu-toggle-close *,
html body #ast-mobile-popup svg{
  color:#fff!important;
  fill:#fff!important;
}

/* NATIVE ASTRA FOOTER.
   Everything remains editable later in Appearance > Customize > Footer Builder. */
.site-footer,
#colophon{
  display:block!important;
  background:#171e18!important;
  color:#fff!important;
}
.site-footer .site-primary-footer-wrap,
.site-footer .site-below-footer-wrap,
.site-footer .ast-builder-grid-row-container,
.site-footer .ast-builder-footer-grid-columns{
  background:#171e18!important;
}
.site-footer .site-primary-footer-wrap{
  padding-top:54px!important;
  padding-bottom:34px!important;
}
.site-footer .site-below-footer-wrap{
  border-top:1px solid rgba(255,255,255,.12)!important;
  padding-top:18px!important;
  padding-bottom:18px!important;
}
.site-footer .ast-builder-grid-row{
  max-width:1180px!important;
  width:min(1180px,calc(100% - 36px))!important;
  margin:auto!important;
}
.site-footer,
.site-footer p,
.site-footer .ast-builder-html-element,
.site-footer .ast-footer-copyright{
  color:rgba(255,255,255,.72)!important;
}
.site-footer h1,
.site-footer h2,
.site-footer h3,
.site-footer h4,
.site-footer h5,
.site-footer h6{
  color:#fff!important;
  font-family:Georgia,"Times New Roman",serif!important;
}
.site-footer a{
  color:rgba(255,255,255,.82)!important;
  text-decoration:none!important;
}
.site-footer a:hover{
  color:#efb197!important;
}

/* Product details */
.overa-product-details{
  clear:both;
  margin:54px 0 28px;
  padding:38px 40px;
  background:#f7f3ed;
  border:1px solid #e3d9cd;
  border-radius:20px;
}
.overa-product-details-kicker{
  color:#687254;
  font-size:.75rem;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
  margin-bottom:9px;
}
.overa-product-details h2{
  margin:0 0 22px!important;
  color:#24261f!important;
  font:500 clamp(2rem,3.5vw,3rem)/1.08 Georgia,"Times New Roman",serif!important;
}
.overa-product-details-content{
  color:#555a54;
  line-height:1.72;
}
.overa-product-details-content h3{
  margin:26px 0 10px!important;
  color:#24261f!important;
  font:500 1.35rem/1.2 Georgia,"Times New Roman",serif!important;
}
.overa-product-details-content ul{
  margin:8px 0 18px 20px;
}

/* Price-or-quote logic styling */
.woocommerce .overa-get-quote-button,
.woocommerce .overa-loop-quote-button,
.woocommerce .overa-submit-quote{
  background:#b86f52!important;
  border:1px solid #b86f52!important;
  color:#fff!important;
  border-radius:10px!important;
  font-weight:800!important;
}
.woocommerce .overa-get-quote-button{
  padding:14px 24px!important;
}
.woocommerce .overa-loop-quote-button{
  display:block!important;
  width:calc(100% - 36px)!important;
  margin:16px 18px 0!important;
  padding:12px 14px!important;
  text-align:center!important;
}

/* Make normal priced WooCommerce products behave normally. */
body.single-product div.product p.price,
body.single-product div.product span.price{
  display:block!important;
}
body.single-product div.product form.cart{
  display:flex!important;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}

/* Quote modal: hidden until Get a Quote is clicked. */
.overa-quote-modal{
  position:fixed;
  inset:0;
  z-index:999999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:22px;
}
.overa-quote-modal.is-open{
  display:flex;
}
.overa-quote-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(4,8,5,.76);
  backdrop-filter:blur(3px);
}
.overa-quote-modal-dialog{
  position:relative;
  z-index:2;
  width:min(860px,100%);
  max-height:90vh;
  overflow:auto;
  background:#f7f3ed;
  border-radius:22px;
  padding:38px;
  box-shadow:0 30px 90px rgba(0,0,0,.35);
}
.overa-quote-modal-close{
  position:absolute;
  right:17px;
  top:14px;
  width:42px;
  height:42px;
  border:0;
  background:#0e150f;
  color:#fff;
  border-radius:50%;
  font-size:28px;
  line-height:1;
  cursor:pointer;
}
.overa-product-quote-head{
  padding-right:50px;
  margin-bottom:25px;
}
.overa-product-quote-kicker{
  color:#687254;
  font-size:.75rem;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
  margin-bottom:9px;
}
.overa-product-quote-head h2{
  margin:0 0 12px!important;
  color:#24261f!important;
  font:500 clamp(2rem,4vw,3rem)/1.08 Georgia,"Times New Roman",serif!important;
}
.overa-product-quote-head p{
  color:#6b6d65;
  margin:0;
}
.overa-quote-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.overa-product-quote-form label span{
  display:block;
  margin-bottom:6px;
  color:#24261f;
  font-weight:700;
}
.overa-product-quote-form input,
.overa-product-quote-form textarea{
  width:100%;
  border:1px solid #d7cabc!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#24261f!important;
  padding:13px 14px!important;
  box-shadow:none!important;
}
.overa-quote-full{grid-column:1/-1}
.woocommerce .overa-submit-quote{
  margin-top:19px!important;
  padding:14px 22px!important;
}
.overa-quote-success{
  margin:0 0 20px;
  padding:13px 16px;
  border-radius:9px;
  background:#edf8ee;
  border:1px solid #b8d6ba;
  color:#315c35;
  font-weight:700;
}

body.overa-quote-open{
  overflow:hidden;
}

@media(max-width:680px){
  .site-footer .ast-builder-grid-row{
    width:min(100% - 26px,1180px)!important;
  }
  .site-footer .site-primary-footer-wrap{
    padding-top:42px!important;
    padding-bottom:26px!important;
  }
  .overa-product-details{
    margin-top:40px;
    padding:26px 20px;
    border-radius:16px;
  }
  .overa-quote-modal{
    padding:12px;
  }
  .overa-quote-modal-dialog{
    padding:28px 18px 22px;
    border-radius:17px;
  }
  .overa-product-quote-head{
    padding-right:36px;
  }
  .overa-quote-grid{
    grid-template-columns:1fr;
    gap:14px;
  }
  .overa-quote-full{
    grid-column:auto;
  }
}


/* ===== Overa Tools 0.1 - FINAL ASTRA MOBILE DRAWER OVERRIDE =====
   Astra can print dynamic Customizer CSS after normal plugin styles.
   This block is intentionally high-specificity; JS also applies inline !important
   styles on open so the menu cannot fall back to a white drawer. */

html body.ast-header-break-point #ast-mobile-popup,
html body.ast-header-break-point #ast-mobile-popup .ast-mobile-popup-overlay,
html body.ast-header-break-point #ast-mobile-popup .ast-mobile-popup-inner,
html body.ast-header-break-point #ast-mobile-popup .ast-mobile-popup-header,
html body.ast-header-break-point #ast-mobile-popup .ast-mobile-popup-content,
html body.ast-header-break-point #ast-mobile-popup .ast-builder-menu-mobile,
html body.ast-header-break-point #ast-mobile-popup .main-navigation,
html body.ast-header-break-point #ast-mobile-popup .main-header-menu,
html body.ast-header-break-point #ast-mobile-popup .main-header-menu > li,
html body.ast-header-break-point .ast-mobile-popup-drawer.active,
html body.ast-header-break-point .ast-mobile-popup-drawer.active .ast-mobile-popup-inner,
html body.ast-header-break-point .ast-mobile-popup-drawer.active .ast-mobile-popup-content {
  background:#0e150f!important;
  background-color:#0e150f!important;
}

html body.ast-header-break-point #ast-mobile-popup .main-header-menu .menu-link,
html body.ast-header-break-point #ast-mobile-popup .main-navigation .menu-link,
html body.ast-header-break-point #ast-mobile-popup .ast-builder-menu-mobile .menu-link,
html body.ast-header-break-point #ast-mobile-popup a.menu-link {
  color:#ffffff!important;
  background:#0e150f!important;
  background-color:#0e150f!important;
  opacity:1!important;
  text-shadow:none!important;
  -webkit-text-fill-color:#ffffff!important;
}

html body.ast-header-break-point #ast-mobile-popup .main-header-menu .current-menu-item > .menu-link {
  color:#efb197!important;
  -webkit-text-fill-color:#efb197!important;
  background:#121c14!important;
}

html body.ast-header-break-point #ast-mobile-popup .main-header-menu > .menu-item:last-child > .menu-link {
  background:#b86f52!important;
  background-color:#b86f52!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  border-radius:10px!important;
  margin:12px 18px!important;
  padding:15px 20px!important;
}

html body.ast-header-break-point #ast-mobile-popup .menu-toggle-close,
html body.ast-header-break-point #ast-mobile-popup .menu-toggle-close *,
html body.ast-header-break-point #ast-mobile-popup svg {
  color:#ffffff!important;
  fill:#ffffff!important;
}

/* Two-column native Astra footer */
.site-footer .site-primary-footer-wrap .ast-builder-grid-row {
  grid-template-columns:minmax(0,1.35fr) minmax(0,.9fr)!important;
  column-gap:64px!important;
}
.site-footer .ast-builder-html-element h3 {
  font-size:1.65rem!important;
  margin:0 0 14px!important;
}
.site-footer .ast-builder-html-element h4 {
  font-size:1.05rem!important;
  margin:0 0 10px!important;
}
.site-footer .ast-builder-html-element p {
  margin:0 0 14px!important;
  line-height:1.75!important;
}
.site-footer .ast-builder-html-element a {
  display:inline-block;
  margin:2px 0!important;
}

@media(max-width:680px){
  .site-footer .site-primary-footer-wrap .ast-builder-grid-row {
    grid-template-columns:1fr 1fr!important;
    column-gap:18px!important;
    align-items:start!important;
  }
  .site-footer .ast-builder-html-element h3 {
    font-size:1.35rem!important;
  }
  .site-footer .ast-builder-html-element h4 {
    font-size:.95rem!important;
  }
  .site-footer .ast-builder-html-element,
  .site-footer .ast-builder-html-element p,
  .site-footer .ast-builder-html-element a {
    font-size:.82rem!important;
  }
}
