/*
Theme Name: Haven Canvas Premium V3.3
Theme URI: https://havencanvas.com/
Author: Haven Canvas
Description: Premium homepage upgrade for Haven Canvas. Uses the existing Haven Canvas Premium parent theme so the current WooCommerce/product-page experience remains intact.
Version: 3.3.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: haven-canvas-premium-v3-3
*/

:root{
  --hc-forest:#123D31;
  --hc-forest-2:#0B2D24;
  --hc-gold:#B88A3B;
  --hc-blush:#D8948D;
  --hc-cream:#FBF7F1;
  --hc-paper:#FFFDFC;
  --hc-text:#3F4943;
  --hc-muted:#8E9288;
  --hc-line:#E9E0D3;
  --hc-star:#D49A22;
}

.hcv3, .hcv3 *{box-sizing:border-box}
.hcv3{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--hc-text);background:var(--hc-cream);line-height:1.6}
.hcv3 a{color:inherit;text-decoration:none}
.hcv3 img{max-width:100%;height:auto;display:block}
.hcv3 .hc-wrap{width:min(1240px,calc(100% - 44px));margin:0 auto}
.hcv3 h1,.hcv3 h2,.hcv3 h3,.hcv3 .hc-serif{font-family:"Playfair Display",Georgia,serif;color:var(--hc-forest-2);font-weight:600}
.hcv3 .hc-eyebrow{font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--hc-gold)}
.hcv3 .hc-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:15px 24px;border:1px solid transparent;font-size:11.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;transition:.2s ease}
.hcv3 .hc-btn-primary{background:var(--hc-forest);color:#fff}
.hcv3 .hc-btn-primary:hover{background:var(--hc-forest-2);transform:translateY(-2px)}
.hcv3 .hc-btn-outline{background:#fff;color:var(--hc-forest-2);border-color:var(--hc-forest)}
.hcv3 .hc-btn-outline:hover{transform:translateY(-2px);background:#fff}
.hcv3 .hc-promo{background:var(--hc-forest);color:#F4EEE4;font-size:12px}
.hcv3 .hc-promo-inner{min-height:38px;display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;text-align:center}
.hcv3 .hc-promo strong{color:#fff}
.hcv3 .hc-promo .hc-promo-star{color:var(--hc-gold)}
.hcv3 .hc-count{display:inline-flex;gap:4px;align-items:center;margin-left:4px}
.hcv3 .hc-count b{background:rgba(255,255,255,.12);padding:2px 6px;border-radius:4px;color:#fff;font-size:11px}

.hcv3 .hc-header{background:rgba(255,253,250,.96);border-bottom:1px solid var(--hc-line);position:relative;z-index:20}
.hcv3 .hc-nav{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.hcv3 .hc-brand{display:flex;align-items:center;min-width:210px}
.hcv3 .hc-brand img{width:166px;height:auto;object-fit:contain}
.hcv3 .hc-links{display:flex;align-items:center;justify-content:center;gap:30px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#4D544E}
.hcv3 .hc-links a:hover{color:var(--hc-forest)}
.hcv3 .hc-actions{display:flex;align-items:center;gap:10px}
.hcv3 .hc-action{width:40px;height:40px;border:1px solid var(--hc-line);border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;color:var(--hc-forest-2);font-size:16px;position:relative}
.hcv3 .hc-cart-count{position:absolute;top:-4px;right:-3px;min-width:16px;height:16px;padding:0 4px;border-radius:99px;background:var(--hc-forest);color:#fff;font-size:9px;display:flex;align-items:center;justify-content:center}
.hcv3 .hc-mobile-toggle{display:none}

.hcv3 .hc-hero{padding:58px 0 38px;overflow:hidden}
.hcv3 .hc-hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:55px;align-items:center}
.hcv3 .hc-hero h1{font-size:clamp(42px,5.4vw,70px);line-height:1.02;letter-spacing:-.035em;margin:14px 0 20px;max-width:720px}
.hcv3 .hc-hero h1 em{color:var(--hc-blush);font-style:italic;font-weight:500}
.hcv3 .hc-hero-copy{font-size:16px;color:var(--hc-muted);max-width:540px}
.hcv3 .hc-hero-ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.hcv3 .hc-microtrust{display:flex;gap:18px;flex-wrap:wrap;margin-top:28px;color:#7F857B;font-size:11px;font-weight:700}
.hcv3 .hc-microtrust span{display:flex;gap:6px;align-items:center}
.hcv3 .hc-microtrust i{font-style:normal;color:var(--hc-forest);font-size:14px}

.hcv3 .hc-hero-stage{min-height:475px;position:relative;display:flex;align-items:center;justify-content:center}
.hcv3 .hc-hero-stage:before{
  content:"";
  position:absolute;right:-8%;bottom:0;width:88%;height:92%;
  background:
    radial-gradient(ellipse at 78% 30%,rgba(184,138,59,.20) 0 5%,transparent 5.5%),
    radial-gradient(ellipse at 90% 48%,rgba(18,61,49,.10) 0 7%,transparent 7.5%),
    radial-gradient(ellipse at 68% 58%,rgba(216,148,141,.12) 0 8%,transparent 8.5%),
    linear-gradient(110deg,transparent 45%,rgba(184,138,59,.10) 45.5%,transparent 46%);
  border-radius:50%;
  z-index:0;
}
.hcv3 .hc-glow{position:absolute;width:92%;height:88%;border-radius:50%;background:radial-gradient(circle at 50% 45%,#fff 0,#F6EEE4 52%,rgba(246,238,228,0) 73%);filter:blur(1px)}
.hcv3 .hc-vase{position:absolute;right:-2%;bottom:-2%;width:245px;z-index:1;opacity:.92;filter:drop-shadow(0 18px 25px rgba(11,45,36,.10))}
.hcv3 .hc-vase svg{width:100%;height:auto}
.hcv3 .hc-dashboard{position:relative;width:min(590px,92%);background:rgba(255,255,255,.96);border:1px solid var(--hc-line);border-radius:18px;padding:18px;box-shadow:0 38px 75px -38px rgba(11,45,36,.38);z-index:2}
.hcv3 .hc-dash-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.hcv3 .hc-dash-title{font-family:"Playfair Display",serif;color:var(--hc-forest-2);font-size:20px}
.hcv3 .hc-dash-pill{font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--hc-gold);background:#F8F0E3;padding:6px 8px;border-radius:99px}
.hcv3 .hc-dash-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.hcv3 .hc-dash-card{background:#FBF8F3;border:1px solid #F0E8DC;border-radius:10px;padding:13px}
.hcv3 .hc-dash-card small{display:block;font-size:9px;color:#9C9C91;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.hcv3 .hc-dash-card strong{display:block;font:600 20px "Playfair Display",serif;color:var(--hc-forest-2);margin-top:4px}
.hcv3 .hc-bars{height:86px;display:flex;align-items:flex-end;gap:8px;margin-top:14px;padding:0 4px}
.hcv3 .hc-bars span{flex:1;background:linear-gradient(to top,var(--hc-forest),#6A8A7C);border-radius:5px 5px 2px 2px;opacity:.88}
.hcv3 .hc-phone{position:absolute;right:-25px;bottom:-18px;width:128px;background:#fff;border:5px solid var(--hc-forest-2);border-radius:21px;padding:10px;box-shadow:0 26px 45px -20px rgba(11,45,36,.45);z-index:4}
.hcv3 .hc-phone-head{font-size:9px;font-weight:800;color:var(--hc-forest-2);margin-bottom:8px}
.hcv3 .hc-phone-row{display:flex;gap:4px;margin-bottom:4px}
.hcv3 .hc-phone-row span{width:11px;height:11px;border-radius:3px;background:#EFE9DE}
.hcv3 .hc-phone-row span.on{background:var(--hc-gold)}
.hcv3 .hc-off-badge{position:absolute;top:8%;right:2%;width:88px;height:88px;border-radius:50%;background:var(--hc-blush);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:"Playfair Display",serif;box-shadow:0 18px 35px -18px rgba(216,148,141,.75);z-index:5}
.hcv3 .hc-off-badge b{font-size:23px;line-height:1}
.hcv3 .hc-off-badge span{font-size:9px;letter-spacing:.12em;font-weight:800;margin-top:3px}

.hcv3 .hc-value-strip{margin-top:35px;background:#fff;border:1px solid var(--hc-line);border-radius:16px;box-shadow:0 24px 50px -36px rgba(11,45,36,.28);display:grid;grid-template-columns:repeat(4,1fr)}
.hcv3 .hc-value{padding:25px 22px;display:flex;gap:13px;align-items:flex-start;border-right:1px solid var(--hc-line)}
.hcv3 .hc-value:last-child{border-right:0}
.hcv3 .hc-value-icon{width:38px;height:38px;border-radius:50%;background:#FBECE9;color:var(--hc-blush);display:flex;align-items:center;justify-content:center;flex:none}
.hcv3 .hc-value h3{font:700 11.5px Inter,sans-serif;letter-spacing:.05em;text-transform:uppercase;margin:1px 0 3px}
.hcv3 .hc-value p{font-size:12px;color:var(--hc-muted);line-height:1.45}

.hcv3 .hc-section{padding:78px 0}
.hcv3 .hc-section-head{text-align:left;margin-bottom:34px}
.hcv3 .hc-section-head.center{text-align:center}
.hcv3 .hc-section-head h2{font-size:clamp(30px,4vw,46px);line-height:1.08;margin-top:7px}
.hcv3 .hc-section-head p{color:var(--hc-muted);max-width:620px;margin:12px auto 0}
.hcv3 .hc-products{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.hcv3 .hc-product{background:#fff;border:1px solid var(--hc-line);border-radius:13px;overflow:hidden;transition:.22s ease}
.hcv3 .hc-product:hover{transform:translateY(-5px);box-shadow:0 28px 45px -30px rgba(11,45,36,.34)}
.hcv3 .hc-product-image{aspect-ratio:1/0.92;background:#F3ECDF;display:flex;align-items:center;justify-content:center;padding:14px;overflow:hidden}
.hcv3 .hc-product-image img{width:100%;height:100%;object-fit:contain;border-radius:8px}
.hcv3 .hc-product-image .hc-placeholder{width:82%;height:82%;background:#fff;border:1px solid #EDE4D7;border-radius:9px;padding:15px;display:flex;flex-direction:column;gap:8px}
.hcv3 .hc-product-image .hc-placeholder span{height:6px;border-radius:5px;background:var(--hc-forest)}
.hcv3 .hc-product-body{padding:15px 15px 17px}
.hcv3 .hc-product-body h3{font:600 14px Inter,sans-serif;color:var(--hc-forest-2);line-height:1.35}
.hcv3 .hc-price{margin-top:6px;font:600 18px "Playfair Display",serif;color:var(--hc-forest-2)}
.hcv3 .hc-rating{font-size:11px;color:#999;display:flex;gap:6px;align-items:center;margin-top:5px}
.hcv3 .hc-rating .stars{color:var(--hc-star);letter-spacing:1px}
.hcv3 .hc-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:12px}
.hcv3 .hc-actions a{padding:10px 6px;text-align:center;border-radius:6px;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.hcv3 .hc-add{background:#FBECE9;color:var(--hc-blush)}
.hcv3 .hc-buy{background:var(--hc-forest);color:#fff}
.hcv3 .hc-viewall{display:inline-flex;margin-top:26px;border:1px solid var(--hc-forest);padding:12px 18px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--hc-forest)}

.hcv3 .hc-story{background:#F8F0E8}
.hcv3 .hc-story-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center}
.hcv3 .hc-story-card{background:#fff;border:1px solid var(--hc-line);border-radius:18px;padding:34px}
.hcv3 .hc-story-card h2{font-size:clamp(30px,4vw,44px);line-height:1.08;margin-top:8px}
.hcv3 .hc-story-card p{margin-top:16px;color:#6F756E;font-size:15px}
.hcv3 .hc-benefits{display:grid;gap:12px}
.hcv3 .hc-benefit{background:#fff;border:1px solid var(--hc-line);border-radius:13px;padding:18px 20px}
.hcv3 .hc-benefit b{display:block;color:var(--hc-forest);font-size:14px}
.hcv3 .hc-benefit span{display:block;color:var(--hc-muted);font-size:12.5px;margin-top:3px}

.hcv3 .hc-faq{max-width:820px;margin:0 auto}
.hcv3 .hc-faq-item{border-bottom:1px solid var(--hc-line);padding:20px 0}
.hcv3 .hc-faq-item summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;font:600 16px "Playfair Display",serif;color:var(--hc-forest-2)}
.hcv3 .hc-faq-item summary::-webkit-details-marker{display:none}
.hcv3 .hc-faq-item p{margin-top:10px;color:var(--hc-muted);font-size:14px;max-width:700px}
.hcv3 .hc-faq-plus{color:var(--hc-blush);font:400 24px Inter,sans-serif}
.hcv3 .hc-faq-item[open] .hc-faq-plus{transform:rotate(45deg)}

.hcv3 .hc-cta{background:var(--hc-forest-2);color:#fff;text-align:center}
.hcv3 .hc-cta h2{color:#fff;font-size:clamp(28px,4vw,42px)}
.hcv3 .hc-cta p{max-width:600px;margin:10px auto 22px;color:#C7D0CA;font-size:14px}
.hcv3 .hc-cta .hc-btn{background:var(--hc-gold);color:var(--hc-forest-2)}

.hcv3 .hc-footer{background:#0B2D24;color:#C9D2CC;padding:56px 0 24px}
.hcv3 .hc-footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:38px}
.hcv3 .hc-footer-logo{width:180px;filter:brightness(0) invert(1);opacity:.96}
.hcv3 .hc-footer p{font-size:13px;line-height:1.7;margin-top:16px;max-width:300px;color:#AEBDB5}
.hcv3 .hc-footer h3{font:700 11px Inter,sans-serif;color:#E7E0D3;text-transform:uppercase;letter-spacing:.09em;margin-bottom:15px}
.hcv3 .hc-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:9px;font-size:13px}
.hcv3 .hc-footer a:hover{color:#fff}
.hcv3 .hc-foot-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:38px;padding-top:18px;display:flex;justify-content:space-between;gap:15px;font-size:11px;color:#93A69C}

@media(max-width:1000px){
  .hcv3 .hc-links{gap:18px}
  .hcv3 .hc-brand{min-width:180px}
  .hcv3 .hc-products{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:820px){
  .hcv3 .hc-nav{min-height:72px}
  .hcv3 .hc-links{display:none}
  .hcv3 .hc-mobile-toggle{display:flex;width:40px;height:40px;border:1px solid var(--hc-line);background:#fff;border-radius:50%;align-items:center;justify-content:center;font-size:20px}
  .hcv3 .hc-nav{flex-wrap:wrap}
  .hcv3 .hc-brand{min-width:0}
  .hcv3 .hc-brand img{width:142px}
  .hcv3 .hc-actions{margin-left:auto}
  .hcv3 .hc-hero{padding-top:35px}
  .hcv3 .hc-hero-grid{grid-template-columns:1fr;gap:20px}
  .hcv3 .hc-hero h1{font-size:clamp(39px,10vw,58px)}
  .hcv3 .hc-hero-stage{min-height:420px}
  .hcv3 .hc-value-strip{grid-template-columns:1fr 1fr}
  .hcv3 .hc-value:nth-child(2){border-right:0}
  .hcv3 .hc-value:nth-child(-n+2){border-bottom:1px solid var(--hc-line)}
  .hcv3 .hc-products{grid-template-columns:1fr 1fr}
  .hcv3 .hc-story-grid{grid-template-columns:1fr}
  .hcv3 .hc-footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .hcv3 .hc-wrap{width:min(100% - 28px,1240px)}
  .hcv3 .hc-promo{font-size:10.5px}
  .hcv3 .hc-promo-inner{padding:6px 0}
  .hcv3 .hc-header{position:relative}
  .hcv3 .hc-actions .hc-action:nth-child(2){display:none}
  .hcv3 .hc-brand img{width:128px}
  .hcv3 .hc-hero{padding:28px 0 24px}
  .hcv3 .hc-hero h1{font-size:39px}
  .hcv3 .hc-hero-copy{font-size:14px}
  .hcv3 .hc-hero-stage{min-height:335px}
  .hcv3 .hc-dashboard{width:96%;padding:12px;border-radius:13px}
  .hcv3 .hc-dash-title{font-size:16px}
  .hcv3 .hc-dash-card{padding:9px}
  .hcv3 .hc-dash-card strong{font-size:16px}
  .hcv3 .hc-bars{height:60px}
  .hcv3 .hc-phone{width:88px;right:-5px;bottom:-10px;border-width:4px}
  .hcv3 .hc-off-badge{width:67px;height:67px;right:0}
  .hcv3 .hc-off-badge b{font-size:17px}
  .hcv3 .hc-vase{width:150px;right:-12px;bottom:-2px}
  .hcv3 .hc-value-strip{grid-template-columns:1fr}
  .hcv3 .hc-value{border-right:0!important;border-bottom:1px solid var(--hc-line)}
  .hcv3 .hc-value:last-child{border-bottom:0}
  .hcv3 .hc-products{grid-template-columns:1fr 1fr;gap:10px}
  .hcv3 .hc-product-body{padding:11px}
  .hcv3 .hc-product-body h3{font-size:12px}
  .hcv3 .hc-price{font-size:16px}
  .hcv3 .hc-actions{grid-template-columns:1fr;gap:5px}
  .hcv3 .hc-actions a{padding:9px 4px}
  .hcv3 .hc-story-card{padding:24px}
  .hcv3 .hc-footer-grid{grid-template-columns:1fr}
  .hcv3 .hc-foot-bottom{flex-direction:column}
}

.hcv3 .hc-coming{font:600 15px "Playfair Display",serif;color:var(--hc-gold)}

.hcv3 .hc-testimonials{background:#FBECE9}
.hcv3 .hc-testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.hcv3 .hc-testimonial{background:#fff;border:1px solid var(--hc-line);border-radius:15px;padding:26px;box-shadow:0 18px 35px -30px rgba(11,45,36,.22)}
.hcv3 .hc-stars{color:var(--hc-star);letter-spacing:2px;font-size:13px}
.hcv3 .hc-testimonial p{font:italic 16px/1.55 Georgia,serif;color:#5F675F;margin:15px 0 20px}
.hcv3 .hc-person{display:flex;align-items:center;gap:10px}
.hcv3 .hc-person>span{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--hc-forest),var(--hc-gold));color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800}
.hcv3 .hc-person b{display:block;color:var(--hc-forest);font-size:12px}
.hcv3 .hc-person small{display:block;color:#999;font-size:10px;margin-top:1px}
.hcv3 .hc-trust-stats{display:grid;grid-template-columns:repeat(4,1fr);margin-top:42px;background:#fff;border:1px solid var(--hc-line);border-radius:15px;overflow:hidden}
.hcv3 .hc-trust-stats>div{padding:24px;text-align:center;border-right:1px solid var(--hc-line)}
.hcv3 .hc-trust-stats>div:last-child{border-right:0}
.hcv3 .hc-trust-stats b{display:block;font:600 24px "Playfair Display",serif;color:var(--hc-forest)}
.hcv3 .hc-trust-stats span{display:block;margin-top:4px;color:var(--hc-muted);font-size:11px}
@media(max-width:820px){
  .hcv3 .hc-testimonial-grid{grid-template-columns:1fr}
  .hcv3 .hc-trust-stats{grid-template-columns:1fr 1fr}
  .hcv3 .hc-trust-stats>div:nth-child(2){border-right:0}
  .hcv3 .hc-trust-stats>div:nth-child(-n+2){border-bottom:1px solid var(--hc-line)}
}
@media(max-width:560px){
  .hcv3 .hc-trust-stats{grid-template-columns:1fr}
  .hcv3 .hc-trust-stats>div{border-right:0!important;border-bottom:1px solid var(--hc-line)}
  .hcv3 .hc-trust-stats>div:last-child{border-bottom:0}
}

/* Haven Canvas Premium WooCommerce Product Page */
.hc-product-page{background:#fbf7f1;color:#163f35;padding:0 0 90px}
.hc-container{width:min(1180px,calc(100% - 40px));margin:0 auto}
.hc-breadcrumbs{padding:28px 0 22px;font-size:12px;letter-spacing:.06em;color:#8b877d}
.hc-breadcrumbs a{color:#55766c;text-decoration:none}
.hc-product-hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:72px;align-items:start;padding:28px 0 80px}
.hc-product-gallery .woocommerce-product-gallery{width:100%!important;float:none!important;margin:0!important}
.hc-product-gallery .flex-viewport{border-radius:22px;overflow:hidden;background:#f1eadf}
.hc-product-gallery img{display:block;width:100%;height:auto}
.hc-product-gallery .flex-control-thumbs{display:flex;gap:12px;margin:14px 0 0!important}
.hc-product-gallery .flex-control-thumbs li{width:82px!important;float:none!important;border-radius:12px;overflow:hidden}
.hc-product-gallery .flex-control-thumbs img{opacity:.65}
.hc-product-gallery .flex-control-thumbs .flex-active{opacity:1}
.hc-eyebrow{font-size:11px;line-height:1.5;letter-spacing:.19em;font-weight:700;color:#b98a45;text-transform:uppercase}
.hc-product-title{font-family:"Playfair Display",Georgia,serif;font-size:clamp(38px,4.2vw,62px);line-height:1.04;font-weight:600;margin:14px 0 15px;color:#123f34}
.hc-rating{display:flex;align-items:center;gap:8px;margin:10px 0 25px}
.hc-rating .star-rating{margin:0;color:#d99b23}
.hc-review-count{font-size:13px;color:#858278}
.hc-short-description{font-size:17px;line-height:1.75;color:#6e716b;margin:0 0 22px}
.hc-price{font-family:"Playfair Display",Georgia,serif;font-size:30px;font-weight:600;color:#173f35;margin:15px 0 22px}
.hc-price del{font-size:18px;color:#aaa39a;margin-right:7px}.hc-price ins{text-decoration:none}
.hc-digital-note{display:flex;gap:13px;align-items:center;padding:16px 18px;background:#f7eee8;border:1px solid #f0d8d0;border-radius:14px;margin:0 0 22px}
.hc-digital-note>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#e9a09a;color:#fff;font-weight:700}
.hc-digital-note strong{display:block;font-size:13px;color:#234b40}.hc-digital-note small{display:block;margin-top:3px;color:#89867e}
.hc-buy-box .cart{display:flex!important;gap:10px;align-items:center;margin:0!important}
.hc-buy-box .quantity .qty{height:54px;width:70px;border:1px solid #d8d0c5;border-radius:8px;background:#fff}
.hc-buy-box .single_add_to_cart_button{height:54px!important;flex:1;background:#154e40!important;color:#fff!important;border:0!important;border-radius:8px!important;font-size:14px!important;font-weight:700!important;letter-spacing:.08em;text-transform:uppercase;padding:0 25px!important}
.hc-trust-row{display:flex;flex-wrap:wrap;gap:15px;margin:18px 0;color:#6d766f;font-size:12px}
.hc-product-details,.hc-how-it-works,.hc-reviews,.hc-related{padding:75px 0;border-top:1px solid #e8e0d6}
.hc-section-heading h2{font-family:"Playfair Display",Georgia,serif;color:#143f35;font-size:clamp(30px,3.6vw,48px);line-height:1.15;margin:8px 0 28px}
.hc-section-heading.centered{text-align:center}
.hc-details-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:60px;align-items:start}
.hc-details-copy{font-size:16px;line-height:1.85;color:#666960}
.hc-feature-card{background:#fff;border:1px solid #ebe2d8;border-radius:20px;padding:28px;box-shadow:0 14px 40px rgba(34,57,47,.06)}
.hc-feature-card h3{font-family:"Playfair Display",Georgia,serif;font-size:25px;margin:0 0 18px;color:#173f35}
.hc-feature-card ul{list-style:none;padding:0;margin:0}.hc-feature-card li{padding:10px 0;border-bottom:1px solid #eee7df;color:#5d675f}
.hc-feature-card li:before{content:"✓";color:#d28e82;font-weight:700;margin-right:10px}
.hc-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.hc-steps>div{background:#fff;border:1px solid #ebe2d8;border-radius:16px;padding:24px;min-height:150px}
.hc-steps span{font-family:"Playfair Display",Georgia,serif;font-size:24px;color:#d28e82}
.hc-steps h3{font-size:16px;margin:15px 0 6px;color:#173f35}.hc-steps p{font-size:13px;line-height:1.6;color:#7b7c75;margin:0}
@media(max-width:800px){.hc-container{width:min(100% - 28px,650px)}.hc-product-hero{grid-template-columns:1fr;gap:38px;padding-top:10px}.hc-product-title{font-size:42px}.hc-details-grid{grid-template-columns:1fr;gap:30px}.hc-steps{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.hc-container{width:calc(100% - 22px)}.hc-breadcrumbs{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hc-product-title{font-size:36px}.hc-short-description{font-size:15px}.hc-buy-box .quantity{display:none}.hc-buy-box .single_add_to_cart_button{width:100%}.hc-trust-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.hc-steps{grid-template-columns:1fr}.hc-product-details,.hc-how-it-works,.hc-reviews,.hc-related{padding:55px 0}}

/* WooCommerce single-product compatibility/premium styling v1.2 */
.woocommerce .site-main, .woocommerce-page .site-main { max-width:1220px; margin:0 auto; padding:42px 24px 80px; }
.woocommerce .woocommerce-breadcrumb { color:var(--muted); font-size:12px; margin:0 0 28px; }
.woocommerce div.product { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr); gap:56px; align-items:start; }
.woocommerce div.product div.images, .woocommerce div.product div.summary { width:auto; float:none; margin:0; }
.woocommerce div.product div.images { position:sticky; top:100px; }
.woocommerce div.product div.images img { border-radius:18px; background:#fff; }
.woocommerce div.product .woocommerce-product-gallery__wrapper { margin:0; }
.woocommerce div.product div.images .flex-control-thumbs { margin-top:12px; display:flex; gap:10px; }
.woocommerce div.product div.images .flex-control-thumbs li { width:78px; margin:0; }
.woocommerce div.product div.images .flex-control-thumbs img { border:1px solid var(--line); border-radius:10px; }
.woocommerce div.product .product_title { font-family:'Playfair Display',serif; color:var(--forest-deep); font-size:clamp(32px,4vw,48px); line-height:1.12; margin:0 0 14px; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color:var(--forest); font-size:27px; font-weight:700; margin:18px 0; }
.woocommerce div.product .woocommerce-product-details__short-description { color:var(--muted); font-size:15px; line-height:1.8; }
.woocommerce div.product .woocommerce-product-rating { margin:10px 0 4px; }
.woocommerce div.product .star-rating { color:var(--star); }
.woocommerce div.product form.cart { padding:22px; margin:24px 0; background:#fff; border:1px solid var(--line); border-radius:16px; box-shadow:0 10px 30px rgba(36,70,58,.06); }
.woocommerce div.product form.cart .quantity { margin-right:10px; }
.woocommerce div.product form.cart .button { background:var(--forest); color:#fff; border:0; border-radius:6px; padding:16px 28px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.woocommerce div.product form.cart .button:hover { background:var(--forest-deep); }
.woocommerce div.product .product_meta { border-top:1px solid var(--line); padding-top:18px; color:var(--muted); font-size:12px; }
.woocommerce div.product .woocommerce-tabs { grid-column:1/-1; margin-top:24px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding:0; margin:0 0 24px; border-bottom:1px solid var(--line); }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background:transparent; border:0; margin:0 28px 0 0; padding:14px 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { color:var(--forest); border-bottom:2px solid var(--forest); }
.woocommerce div.product .woocommerce-tabs .panel { color:var(--text); line-height:1.8; }
.woocommerce div.product section.related.products { grid-column:1/-1; margin-top:36px; }
.woocommerce div.product section.related.products h2, .woocommerce div.product section.upsells.products h2 { font-family:'Playfair Display',serif; color:var(--forest-deep); font-size:32px; }
.woocommerce ul.products li.product { background:#fff; border:1px solid var(--line); border-radius:14px; overflow:hidden; padding:0 0 16px; }
.woocommerce ul.products li.product a img { margin:0 0 14px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding:0 14px; color:var(--forest-deep); }
.woocommerce ul.products li.product .price { padding:0 14px; color:var(--forest); }
@media(max-width:899px){
  .woocommerce .site-main, .woocommerce-page .site-main { padding:26px 16px 60px; }
  .woocommerce div.product { display:block; }
  .woocommerce div.product div.images { position:static; margin-bottom:28px; }
  .woocommerce div.product .product_title { font-size:34px; }
  .woocommerce div.product form.cart { padding:18px; }
  .woocommerce div.product form.cart .button { width:100%; margin-top:10px; }
}


/* Haven Canvas Premium v1.3 — conversion-focused product page */
.woocommerce div.product .woocommerce-product-rating{display:flex;align-items:center;gap:8px;margin:8px 0 18px}
.woocommerce div.product .woocommerce-product-rating .star-rating{color:#D9A441;font-size:1rem;letter-spacing:.04em}
.woocommerce div.product .woocommerce-review-link{color:#7c796f;font-size:12px}
.hc-trust-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:20px 0 24px}
.hc-trust-strip>div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 10px;text-align:center;font-size:11px;font-weight:600;color:var(--forest-deep)}
.hc-trust-strip span{display:block;font-size:16px;margin-bottom:4px}
.woocommerce div.product form.cart{display:flex;align-items:center;gap:10px;padding:18px;margin:20px 0 12px}
.woocommerce div.product form.cart .quantity{margin:0!important}
.woocommerce div.product form.cart .quantity .qty{height:52px;width:64px;border:1px solid #d8d0c5;border-radius:8px;background:#fff}
.woocommerce div.product form.cart .single_add_to_cart_button,.woocommerce div.product form.cart .hc-buy-now{height:52px!important;min-width:150px;padding:0 22px!important;border-radius:8px!important;font-size:13px!important;font-weight:700!important;letter-spacing:.06em;text-transform:uppercase!important;border:0!important}
.woocommerce div.product form.cart .single_add_to_cart_button{background:var(--forest)!important;color:#fff!important}
.woocommerce div.product form.cart .hc-buy-now{background:#fff!important;color:var(--forest-deep)!important;border:1px solid var(--forest-deep)!important;cursor:pointer}
.woocommerce div.product form.cart .hc-buy-now:hover{background:#f5f1e9!important}
.hc-payment-note{font-size:11px;color:var(--muted);margin:7px 0 0}
.hc-coupon-box{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px dashed #d7c5a6;border-radius:14px;padding:16px;margin:14px 0 22px}
.hc-coupon-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#f8edda;color:#b3874e;font-weight:800;flex:0 0 auto}
.hc-coupon-content{flex:1}.hc-coupon-content strong{display:block;color:var(--forest-deep);font-size:13px}.hc-coupon-content>span{display:block;color:var(--muted);font-size:11px;margin:2px 0 10px}
.hc-coupon-form{display:flex;gap:8px}.hc-coupon-form input[type=text]{height:42px;flex:1;min-width:0;border:1px solid var(--line);border-radius:7px;padding:0 12px;font-size:12px;background:#fff}.hc-coupon-form button{height:42px;border:0;border-radius:7px;background:var(--gold);color:#fff;padding:0 18px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;cursor:pointer}
.hc-coupon-message{font-size:11px;color:var(--forest);margin-top:7px;min-height:16px}.hc-coupon-message.error{color:#a94a45}
.woocommerce div.product .product_meta{margin-top:10px}
.woocommerce div.product .woocommerce-tabs{padding-top:10px}
@media(max-width:900px){.hc-trust-strip{grid-template-columns:repeat(2,1fr)}.woocommerce div.product form.cart{flex-wrap:wrap}.woocommerce div.product form.cart .single_add_to_cart_button,.woocommerce div.product form.cart .hc-buy-now{flex:1;min-width:0}}
@media(max-width:520px){.hc-trust-strip{grid-template-columns:1fr 1fr}.hc-coupon-box{padding:13px}.hc-coupon-form{flex-wrap:wrap}.hc-coupon-form input[type=text]{flex-basis:100%}.hc-coupon-form button{width:100%}.woocommerce div.product form.cart .quantity{width:100%}.woocommerce div.product form.cart .quantity .qty{width:100%}.woocommerce div.product form.cart .single_add_to_cart_button,.woocommerce div.product form.cart .hc-buy-now{width:100%;flex-basis:100%}}

.hc-product-rating{display:flex;align-items:center;gap:9px;margin:8px 0 18px;font-size:13px}
.hc-product-rating .stars{font-size:15px}
.hc-benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:22px 0}
.hc-buy-now{height:50px;background:#fff;border:1px solid var(--forest);color:var(--forest);padding:0 24px;border-radius:8px;font-weight:700;cursor:pointer}
.hc-buy-now:hover{background:var(--forest);color:#fff}
.hc-secure-note{font-size:12px;color:var(--muted);margin:12px 0 16px}
.hc-coupon{border:1px dashed #d8c7a8;background:#fffdf8;border-radius:13px;padding:16px;margin:12px 0 20px}
.hc-coupon-title{font-weight:700;color:var(--forest);margin-bottom:4px}
.hc-coupon form{display:flex;gap:8px;margin-top:10px}
.hc-coupon input{min-width:0;flex:1;height:44px;border:1px solid var(--line);border-radius:7px;padding:0 12px}
.hc-coupon button{height:44px;border:0;border-radius:7px;background:var(--gold);color:#fff;padding:0 18px;font-weight:700}
.hc-a-plus{margin:50px auto 0;max-width:1220px;padding:0 24px}
.hc-a-plus-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:35px;align-items:start}
.hc-a-plus .panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px}
.hc-a-plus h2{margin:0 0 12px}
.hc-a-plus h3{margin:20px 0 7px;font-size:22px}
.hc-a-plus ul{padding-left:20px}
.hc-a-plus li{margin:7px 0}

@media(max-width:900px){.main-nav{display:none}.mobile-menu{display:block;border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 11px}.hero-grid{grid-template-columns:1fr}.products-grid,.testimonials{grid-template-columns:repeat(2,1fr)}.benefit-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.single-product div.product .woocommerce-product-gallery,.single-product div.product .summary{width:100%!important;float:none!important}.hc-a-plus-grid{grid-template-columns:1fr}.hc-sticky-buy{display:flex;position:fixed;left:10px;right:10px;bottom:10px;z-index:99;background:#fff;border:1px solid var(--line);box-shadow:0 8px 30px rgba(0,0,0,.15);border-radius:12px;padding:8px;gap:8px}.hc-sticky-buy a{flex:1}.hc-sticky-buy .sticky-buy{background:var(--forest);color:#fff;text-align:center;border-radius:8px;padding:12px;font-weight:700}}

@media(max-width:600px){.wrap{padding:0 16px}.nav-row{min-height:68px}.brand-mark{width:40px;height:40px}.brand-name{font-size:17px}.hero-home{padding:55px 0}.trust-strip{grid-template-columns:1fr 1fr}.products-grid,.testimonials,.benefit-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.single-product div.product{padding:0 16px}.hc-benefits{grid-template-columns:1fr 1fr}.single-product form.cart .single_add_to_cart_button,.hc-buy-now{flex:1;padding:0 12px!important}.hc-coupon form{flex-direction:column}.woocommerce-tabs{padding:0 16px}.related.products{padding:0 16px}.main-nav{display:none}}
/* ==========================================================
   HAVEN CANVAS V3.4 — PRODUCT PAGE / A+ FINAL OVERRIDES
   Fixes the A+ section being trapped inside the WooCommerce
   product grid and restores the premium V3 visual language.
   ========================================================== */

/* Product page background and main product grid */
body.single-product,
body.woocommerce-page.single-product{background:var(--hc-cream)!important;color:var(--hc-text)}
.woocommerce .site-main,
.woocommerce-page .site-main{max-width:1280px!important;margin:0 auto!important;padding:48px 28px 90px!important;background:transparent!important}
.woocommerce div.product{grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr)!important;gap:58px!important}

/* Product title / price / metadata use the V3 palette */
.woocommerce div.product .product_title{font-family:"Playfair Display",Georgia,serif!important;color:var(--hc-forest-2)!important;font-weight:600!important}
.woocommerce div.product p.price,
.woocommerce div.product span.price{color:var(--hc-forest)!important}
.woocommerce div.product .price del{color:#8e9288!important}
.woocommerce div.product .product_meta{border-color:var(--hc-line)!important;color:var(--hc-muted)!important}
.woocommerce div.product div.images img{background:#fff!important;border:1px solid var(--hc-line)!important;box-shadow:0 12px 30px rgba(18,61,49,.045)!important}
.woocommerce div.product div.images .flex-control-thumbs img{border-color:var(--hc-line)!important}

/* Trust/review strip */
.hc-product-rating{display:flex!important;align-items:center!important;gap:9px!important;margin:8px 0 18px!important;font-family:Inter,system-ui,sans-serif!important;font-size:13px!important;color:var(--hc-muted)!important}
.hc-product-rating .stars{color:var(--hc-star)!important;font-size:16px!important;letter-spacing:.04em}
.hc-no-reviews{color:var(--hc-muted)!important}

/* Four product benefits */
.hc-benefits{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;margin:22px 0!important}
.hc-benefit{border:1px solid var(--hc-line)!important;border-radius:13px!important;background:#fff!important;padding:14px 8px!important;text-align:center!important;font:700 11px/1.35 Inter,system-ui,sans-serif!important;color:var(--hc-forest)!important;min-height:72px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.hc-benefit .ico{font-size:18px!important;display:block!important;margin-bottom:4px!important}

/* Cart + Buy Now — make both buttons visibly premium */
.woocommerce div.product form.cart{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important;padding:18px!important;margin:20px 0 12px!important;background:#fff!important;border:1px solid var(--hc-line)!important;border-radius:16px!important;box-shadow:0 10px 30px rgba(18,61,49,.06)!important}
.woocommerce div.product form.cart .quantity{margin:0!important}
.woocommerce div.product form.cart .quantity .qty{height:52px!important;width:64px!important;border:1px solid var(--hc-line)!important;border-radius:8px!important;background:#fff!important;color:var(--hc-text)!important}
.woocommerce div.product form.cart .single_add_to_cart_button{height:52px!important;background:var(--hc-forest)!important;color:#fff!important;border:1px solid var(--hc-forest)!important;border-radius:8px!important;padding:0 25px!important;font:800 12px/1 Inter,system-ui,sans-serif!important;letter-spacing:.06em;text-transform:uppercase!important;cursor:pointer!important;min-width:150px!important}
.woocommerce div.product form.cart .single_add_to_cart_button:hover{background:var(--hc-forest-2)!important;color:#fff!important}
.woocommerce div.product form.cart .hc-buy-now{height:52px!important;background:#fff!important;color:var(--hc-forest)!important;border:1px solid var(--hc-forest)!important;border-radius:8px!important;padding:0 25px!important;font:800 12px/1 Inter,system-ui,sans-serif!important;letter-spacing:.06em;text-transform:uppercase!important;cursor:pointer!important;min-width:150px!important;text-decoration:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}
.woocommerce div.product form.cart .hc-buy-now:hover{background:var(--hc-forest)!important;color:#fff!important}
.hc-secure-note{font:400 12px/1.5 Inter,system-ui,sans-serif!important;color:var(--hc-muted)!important;margin:12px 0 16px!important}

/* Coupon */
.hc-coupon{border:1px dashed #d8c7a8!important;background:#fffdf8!important;border-radius:14px!important;padding:17px!important;margin:12px 0 22px!important}
.hc-coupon-title{font:700 14px/1.3 Inter,system-ui,sans-serif!important;color:var(--hc-forest)!important;margin-bottom:4px!important}
.hc-coupon>div:nth-child(2){font:400 12px/1.5 Inter,system-ui,sans-serif!important;color:var(--hc-muted)!important}
.hc-coupon form{display:flex!important;gap:8px!important;margin-top:10px!important}
.hc-coupon input{min-width:0!important;flex:1!important;height:44px!important;border:1px solid var(--hc-line)!important;border-radius:8px!important;padding:0 12px!important;background:#fff!important;color:var(--hc-text)!important}
.hc-coupon button{height:44px!important;border:0!important;border-radius:8px!important;background:var(--hc-gold)!important;color:#fff!important;padding:0 19px!important;font:800 11px/1 Inter,system-ui,sans-serif!important;letter-spacing:.05em;text-transform:uppercase!important;cursor:pointer!important}
.hc-coupon button:hover{background:#9f742e!important}
.hc-message{font:400 12px/1.5 Inter,system-ui,sans-serif!important;margin-top:8px!important}.hc-message.success{color:#2d6b4d!important}.hc-message.error{color:#a33d3d!important}

/* ==========================================================
   A+ CONTENT — MUST SPAN THE FULL PRODUCT PAGE
   The WooCommerce hook runs inside div.product, so without
   grid-column this section gets squeezed into one grid cell.
   ========================================================== */
.hc-a-plus{grid-column:1/-1!important;width:100%!important;max-width:100%!important;margin:58px 0 0!important;padding:58px 0 0!important;border-top:1px solid var(--hc-line)!important;font-family:Inter,system-ui,sans-serif!important;color:var(--hc-text)!important}
.hc-a-plus .section-head{max-width:900px!important;margin:0 auto 38px!important;text-align:center!important}
.hc-a-plus .section-head .eyebrow{display:block!important;font:800 11px/1 Inter,system-ui,sans-serif!important;letter-spacing:.18em!important;text-transform:uppercase!important;color:var(--hc-gold)!important;margin-bottom:10px!important}
.hc-a-plus .section-head h2{font-family:"Playfair Display",Georgia,serif!important;color:var(--hc-forest-2)!important;font-size:clamp(32px,4vw,48px)!important;line-height:1.08!important;letter-spacing:-.025em!important;margin:0 0 14px!important}
.hc-a-plus .section-head p{font:400 15px/1.8 Inter,system-ui,sans-serif!important;color:var(--hc-muted)!important;margin:0 auto!important;max-width:760px!important}
.hc-a-plus-grid{display:grid!important;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)!important;gap:26px!important;align-items:stretch!important;max-width:1120px!important;margin:0 auto!important}
.hc-a-plus .panel{background:#fff!important;border:1px solid var(--hc-line)!important;border-radius:18px!important;padding:32px!important;box-shadow:0 8px 24px rgba(18,61,49,.035)!important}
.hc-a-plus .panel h2{font-family:"Playfair Display",Georgia,serif!important;color:var(--hc-forest-2)!important;font-size:30px!important;line-height:1.15!important;margin:0 0 18px!important}
.hc-a-plus .panel h3{font-family:"Playfair Display",Georgia,serif!important;color:var(--hc-forest)!important;font-size:22px!important;line-height:1.25!important;margin:26px 0 9px!important}
.hc-a-plus .panel p{font:400 15px/1.8 Inter,system-ui,sans-serif!important;color:var(--hc-text)!important;margin:0 0 14px!important}
.hc-a-plus .panel ul{padding-left:20px!important;margin:0!important}
.hc-a-plus .panel li{font:400 14px/1.65 Inter,system-ui,sans-serif!important;color:var(--hc-text)!important;margin:9px 0!important}

/* A+ four reason cards */
.hc-a-plus .benefit-item{display:flex!important;flex-direction:column!important;gap:7px!important;background:var(--hc-cream)!important;border:1px solid var(--hc-line)!important;border-radius:13px!important;padding:17px!important;margin-bottom:10px!important;min-height:88px!important}
.hc-a-plus .benefit-item strong{display:block!important;font:800 13px/1.35 Inter,system-ui,sans-serif!important;color:var(--hc-forest)!important}
.hc-a-plus .benefit-item span{display:block!important;font:400 12px/1.55 Inter,system-ui,sans-serif!important;color:var(--hc-muted)!important}

/* Give A+ a gentle premium section background without affecting the product hero */
.hc-a-plus:before{content:"";display:block;position:absolute;left:0;right:0;height:520px;margin-top:-58px;background:linear-gradient(180deg,rgba(246,238,228,.55),rgba(246,238,228,0));z-index:-1;pointer-events:none}

/* Ensure WooCommerce description/reviews stay full width below A+ */
.woocommerce div.product .woocommerce-tabs{grid-column:1/-1!important;width:100%!important;margin-top:48px!important;padding-top:0!important}
.woocommerce div.product section.related.products,
.woocommerce div.product section.upsells.products{grid-column:1/-1!important;width:100%!important}

/* Mobile */
@media(max-width:900px){
  .woocommerce .site-main,.woocommerce-page .site-main{padding:30px 16px 70px!important}
  .woocommerce div.product{display:block!important}
  .woocommerce div.product div.images{position:static!important;margin-bottom:28px!important}
  .hc-benefits{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .hc-a-plus{margin-top:42px!important;padding-top:42px!important}
  .hc-a-plus-grid{grid-template-columns:1fr!important}
  .hc-a-plus .section-head{margin-bottom:28px!important}
}
@media(max-width:560px){
  .hc-benefits{grid-template-columns:1fr 1fr!important}
  .woocommerce div.product form.cart .quantity{width:100%!important}
  .woocommerce div.product form.cart .quantity .qty{width:100%!important}
  .woocommerce div.product form.cart .single_add_to_cart_button,
  .woocommerce div.product form.cart .hc-buy-now{width:100%!important;min-width:0!important;flex-basis:100%!important}
  .hc-coupon form{flex-direction:column!important}
  .hc-coupon button{width:100%!important}
  .hc-a-plus .panel{padding:23px!important}
  .hc-a-plus .section-head h2{font-size:32px!important}
}


/* Product page continuation: testimonials, trust strip, FAQ and final CTA */
/* IMPORTANT: WooCommerce renders after_single_product_summary inside div.product.
   Force the complete continuation (testimonials/FAQ/CTA) to span the full product grid. */
.hc-product-tail{grid-column:1/-1!important;width:100%!important;min-width:0!important;display:block!important;clear:both!important;margin:64px 0 0!important;background:var(--hc-cream,#fbf7f1);font-family:Inter,system-ui,sans-serif;box-sizing:border-box!important}
.hc-product-tail *{box-sizing:border-box!important}
.hc-product-tail .hc-tail-wrap{width:min(1180px,calc(100% - 56px))!important;max-width:1180px!important;margin-left:auto!important;margin-right:auto!important}

.hc-tail-wrap{width:min(1180px,calc(100% - 40px));margin:0 auto}
.hc-tail-head{text-align:center;max-width:820px;margin:0 auto 38px}
.hc-tail-head .eyebrow,.hc-product-cta .eyebrow{display:block;text-transform:uppercase;letter-spacing:.2em;font:800 11px/1 Inter,system-ui,sans-serif;color:var(--hc-gold,#c89335);margin-bottom:10px}
.hc-tail-head h2,.hc-product-cta h2{font-family:"Playfair Display",Georgia,serif;color:var(--hc-forest-2,#0d3f32);font-size:clamp(32px,4vw,48px);line-height:1.08;margin:0 0 12px;letter-spacing:-.025em}
.hc-tail-head p,.hc-product-cta p{color:var(--hc-muted,#99988f);font-size:15px;line-height:1.75;margin:0}
.hc-product-testimonials{background:#fbece9;padding:72px 0 64px}
.hc-tail-testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.hc-tail-testimonial{background:#fff;border:1px solid var(--hc-line,#eadfd2);border-radius:16px;padding:28px;box-shadow:0 18px 35px -30px rgba(11,45,36,.22)}
.hc-tail-testimonial .stars{color:#e7a51b;letter-spacing:2px;font-size:13px}
.hc-tail-testimonial p{font:italic 16px/1.55 Georgia,serif;color:#5f675f;margin:16px 0 22px}
.hc-tail-testimonial .person{display:flex;align-items:center;gap:10px}
.hc-tail-testimonial .person>span{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--hc-forest,#0d4a3b),var(--hc-gold,#c89335));color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800}
.hc-tail-testimonial strong{display:block;color:var(--hc-forest,#0d4a3b);font-size:12px}
.hc-tail-testimonial small{display:block;color:#999;font-size:10px;margin-top:2px}
.hc-tail-trust{display:grid;grid-template-columns:repeat(4,1fr);margin-top:28px;background:#fff;border:1px solid var(--hc-line,#eadfd2);border-radius:16px;overflow:hidden}
.hc-tail-trust>div{padding:24px;text-align:center;border-right:1px solid var(--hc-line,#eadfd2)}
.hc-tail-trust>div:last-child{border-right:0}
.hc-tail-trust b{display:block;font:600 24px "Playfair Display",Georgia,serif;color:var(--hc-forest-2,#0d3f32)}
.hc-tail-trust span{display:block;margin-top:5px;color:var(--hc-muted,#99988f);font-size:11px}
.hc-product-faq{padding:78px 0 76px;background:var(--hc-cream,#fbf7f1)}
.hc-tail-faq{max-width:900px;margin:0 auto}
.hc-tail-faq-item{border-bottom:1px solid var(--hc-line,#eadfd2);padding:20px 0}
.hc-tail-faq-item summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;font:600 16px/1.4 "Playfair Display",Georgia,serif;color:var(--hc-forest-2,#0d3f32)}
.hc-tail-faq-item summary::-webkit-details-marker{display:none}
.hc-tail-faq-item summary span{color:var(--hc-blush,#e39a98);font:400 24px/1 Inter,sans-serif;transition:.2s}
.hc-tail-faq-item[open] summary span{transform:rotate(45deg)}
.hc-tail-faq-item p{margin:12px 0 0;max-width:760px;color:var(--hc-muted,#8f9189);font:400 14px/1.75 Inter,system-ui,sans-serif}
.hc-product-cta{background:var(--hc-forest-2,#063b30);color:#fff;text-align:center;padding:76px 0 82px}
.hc-product-cta h2{color:#fff}
.hc-product-cta p{color:rgba(255,255,255,.72);max-width:700px;margin:0 auto 26px}
.hc-tail-cta{display:inline-flex;align-items:center;justify-content:center;background:var(--hc-gold,#c89335);color:#073b30!important;text-decoration:none!important;font:800 12px/1 Inter,system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase;padding:15px 24px;border-radius:0;min-height:48px}
@media(max-width:820px){
 .hc-tail-testimonial-grid{grid-template-columns:1fr}
 .hc-tail-trust{grid-template-columns:1fr 1fr}
 .hc-tail-trust>div:nth-child(2){border-right:0}
 .hc-tail-trust>div:nth-child(-n+2){border-bottom:1px solid var(--hc-line,#eadfd2)}
}
@media(max-width:560px){
 .hc-tail-wrap{width:min(100% - 28px,1180px)!important;max-width:1180px!important}
 .hc-product-testimonials,.hc-product-faq,.hc-product-cta{padding-top:52px;padding-bottom:52px}
 .hc-tail-trust{grid-template-columns:1fr}
 .hc-tail-trust>div{border-right:0!important;border-bottom:1px solid var(--hc-line,#eadfd2)}
 .hc-tail-trust>div:last-child{border-bottom:0}
 .hc-tail-testimonial{padding:22px}
}


/* =========================================================
   HAVEN CANVAS v3.7 — STRUCTURAL STABILITY OVERRIDES
   ========================================================= */

/* Product-page shell: WooCommerce puts after_single_product_summary
   inside div.product. These rules force every continuation section
   to escape the two-column purchase grid cleanly. */
.woocommerce div.product > .hc-a-plus,
.woocommerce div.product > .hc-product-tail{
  grid-column:1 / -1 !important;
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  clear:both !important;
  box-sizing:border-box !important;
}

.woocommerce div.product > .hc-a-plus{
  margin-left:0 !important;
  margin-right:0 !important;
}

.hc-a-plus-grid{max-width:1120px!important}
.hc-a-plus-lower{max-width:1120px!important;margin:26px auto 0!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:26px!important}
.hc-a-plus-highlight{max-width:1120px!important;margin:26px auto 0!important;padding:30px!important;background:#0b2d24!important;color:#fff!important;border-radius:18px!important;text-align:center!important}
.hc-a-plus-highlight span{display:block!important;font:800 10px/1 Inter,system-ui,sans-serif!important;letter-spacing:.2em!important;text-transform:uppercase!important;color:#d2a45e!important;margin-bottom:9px!important}
.hc-a-plus-highlight strong{display:block!important;font:600 clamp(24px,3vw,36px)/1.2 "Playfair Display",Georgia,serif!important}
.hc-a-plus-use,.hc-a-plus-faq{background:#fff!important;border:1px solid var(--hc-line,#eadfd2)!important;border-radius:18px!important;padding:30px!important}
.hc-a-plus-use h3,.hc-a-plus-faq h3{font:600 27px/1.2 "Playfair Display",Georgia,serif!important;color:var(--hc-forest-2,#0d3f32)!important;margin:7px 0 20px!important}
.hc-use-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}
.hc-use-grid div{padding:13px 14px!important;border:1px solid #eee6dc!important;border-radius:10px!important;color:#5f675f!important;font-size:13px!important;background:#fbf7f1!important}
.hc-a-plus-faq details{border-bottom:1px solid #eee6dc!important;padding:15px 0!important}
.hc-a-plus-faq details:last-child{border-bottom:0!important}
.hc-a-plus-faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:12px;color:var(--hc-forest-2,#0d3f32)!important;font-weight:700!important;font-size:13px!important}
.hc-a-plus-faq summary::-webkit-details-marker{display:none!important}
.hc-a-plus-faq summary span{color:var(--hc-blush,#d8948d)!important;font-size:20px!important}
.hc-a-plus-faq p{margin:9px 0 0!important;color:var(--hc-muted,#8f9189)!important;font-size:13px!important;line-height:1.7!important}
.hc-problem-solution{margin-top:26px!important;padding-top:22px!important;border-top:1px solid #eee6dc!important}

.hc-review-empty{
  max-width:760px!important;
  margin:0 auto!important;
  padding:34px 28px!important;
  text-align:center!important;
  background:#fff!important;
  border:1px solid var(--hc-line,#eadfd2)!important;
  border-radius:18px!important;
}
.hc-review-empty-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;margin:0 auto 12px;background:#fbf0dc;color:#c89335;font-size:18px}
.hc-review-empty h3{font:600 25px/1.2 "Playfair Display",Georgia,serif!important;color:var(--hc-forest-2,#0d3f32)!important;margin:0 0 8px!important}
.hc-review-empty p{margin:0!important;color:#8f9189!important;font-size:13px!important;line-height:1.7!important}
.hc-home-review-empty{max-width:720px!important}

/* Global header/footer used by shop/product/content pages. */
.hc-global-header{background:#fffdfa;border-bottom:1px solid #ebe2d8;position:relative;z-index:20}
.hc-global-wrap{width:min(1240px,calc(100% - 40px));margin:0 auto}
.hc-global-header .hc-global-wrap{min-height:78px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:30px}
.hc-global-brand img{display:block;width:170px;height:auto}
.hc-global-nav{display:flex;justify-content:center;align-items:center;gap:28px}
.hc-global-nav a{color:#26483d;text-decoration:none;font-size:12px;font-weight:700;letter-spacing:.04em}
.hc-global-nav a:hover{color:#b88a3b}
.hc-global-actions{display:flex;align-items:center;gap:5px}
.hc-global-actions a{position:relative;color:#26483d;text-decoration:none;font-size:20px;padding:8px}
.hc-global-actions a span{position:absolute;top:0;right:0;min-width:16px;height:16px;padding:0 4px;border-radius:10px;background:#b88a3b;color:#fff;font-size:9px;display:grid;place-items:center}
.hc-global-footer{background:#0b2d24;color:#c9d2cc;padding:58px 0 22px}
.hc-global-footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:38px}
.hc-global-footer-logo{width:175px;filter:brightness(0) invert(1);opacity:.96}
.hc-global-footer p{font-size:13px;line-height:1.7;max-width:320px;color:#aebdb5;margin:15px 0 0}
.hc-global-footer h3{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#e7e0d3;margin:0 0 15px}
.hc-global-footer a{display:block;color:#aebdb5;text-decoration:none;font-size:13px;margin:0 0 9px}
.hc-global-footer a:hover{color:#fff}
.hc-global-footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:38px;padding-top:18px;display:flex;justify-content:space-between;gap:15px;font-size:11px;color:#93a69c}

@media(max-width:900px){
  .hc-global-header .hc-global-wrap{grid-template-columns:auto 1fr auto;gap:15px}
  .hc-global-nav{gap:14px}
  .hc-global-nav a{font-size:10px}
  .hc-a-plus-lower{grid-template-columns:1fr!important}
}
@media(max-width:650px){
  .hc-global-wrap{width:min(100% - 28px,1240px)}
  .hc-global-header .hc-global-wrap{min-height:68px}
  .hc-global-brand img{width:142px}
  .hc-global-nav{display:none}
  .hc-global-actions a{font-size:18px;padding:6px}
  .hc-global-footer-grid{grid-template-columns:1fr 1fr}
  .hc-global-footer-bottom{flex-direction:column}
  .hc-a-plus-grid{grid-template-columns:1fr!important}
  .hc-use-grid{grid-template-columns:1fr!important}
}
@media(max-width:480px){
  .hc-global-footer-grid{grid-template-columns:1fr}
  .hc-a-plus-highlight{border-radius:14px!important;padding:24px!important}
  .hc-a-plus-use,.hc-a-plus-faq{padding:22px!important}
}

/* Remove accidental generic WooCommerce width constraints from
   the full-width continuation without affecting the purchase grid. */
.single-product .hc-a-plus,
.single-product .hc-product-tail{overflow:visible!important}

/* =========================================================
   HAVEN CANVAS
   TRAVEL PLANNER - REAL PRODUCT SCREENSHOTS
   ========================================================= */

.hc-real-product-screenshots {
    width: 100%;
    box-sizing: border-box;
    margin: 70px 0 80px;
    padding: 80px 24px;
    background: #f7f1e7;
}

.hc-real-screens-inner {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
}

.hc-real-screens-heading {
    max-width: 760px;
    margin: 0 auto 45px;
    text-align: center;
}

.hc-real-screens-heading span {
    display: block;
    margin-bottom: 12px;
    color: #c58b22;
    font-family: inherit;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;
}

.hc-real-screens-heading h2 {
    margin: 0 0 14px;
    color: #004d40;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(32px, 4vw, 50px);
    line-height: 1.12;
    font-weight: 700;
}

.hc-real-screens-heading p {
    margin: 0;
    color: #77736b;
    font-size: 17px;
    line-height: 1.7;
}

.hc-real-screens-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
    align-items: start;
}

.hc-real-screen-card {
    overflow: hidden;
    margin: 0;
    padding: 10px;
    background: #ffffff;
    border: 1px solid rgba(0, 77, 64, 0.10);
    border-radius: 18px;
    box-shadow: 0 12px 35px rgba(0, 0, 0, 0.06);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.hc-real-screen-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.10);
}

.hc-real-screen-card img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
    border-radius: 11px;
}

/* Make the first image span the full showcase width */
.hc-real-screen-card:first-child {
    grid-column: 1 / -1;
}

.hc-real-screen-card:first-child img {
    width: 100%;
}

/* Tablet */
@media (max-width: 900px) {

    .hc-real-product-screenshots {
        margin: 55px 0 65px;
        padding: 60px 20px;
    }

    .hc-real-screens-grid {
        gap: 20px;
    }

    .hc-real-screens-heading {
        margin-bottom: 32px;
    }

}

/* Mobile */
@media (max-width: 640px) {

    .hc-real-product-screenshots {
        margin: 45px 0 55px;
        padding: 50px 16px;
    }

    .hc-real-screens-heading {
        margin-bottom: 28px;
    }

    .hc-real-screens-heading span {
        font-size: 11px;
        letter-spacing: 2px;
    }

    .hc-real-screens-heading h2 {
        font-size: 32px;
    }

    .hc-real-screens-heading p {
        font-size: 15px;
        line-height: 1.6;
    }

    .hc-real-screens-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .hc-real-screen-card:first-child {
        grid-column: auto;
    }

    .hc-real-screen-card {
        padding: 7px;
        border-radius: 14px;
    }

    .hc-real-screen-card img {
        border-radius: 9px;
    }

}

/* HAVEN CANVAS - FINAL PRODUCT SCREENSHOT LAYOUT OVERRIDE */

.hc-real-product-screenshots {
    width: 100vw !important;
    max-width: 100vw !important;
    box-sizing: border-box !important;
    margin-left: 50% !important;
    transform: translateX(-50%) !important;
    padding: 70px 40px !important;
}

.hc-real-screens-inner {
    width: 100% !important;
    max-width: 1180px !important;
    margin: 0 auto !important;
}

.hc-real-screens-grid {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 28px !important;
}

.hc-real-screen-card {
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

.hc-real-screen-card img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
}

.hc-real-screen-card:first-child {
    grid-column: 1 / -1 !important;
}

.hc-real-screen-card:first-child img {
    width: 100% !important;
}

@media (max-width: 900px) {

    .hc-real-product-screenshots {
        padding: 60px 24px !important;
    }

    .hc-real-screens-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 20px !important;
    }
}

@media (max-width: 640px) {

    .hc-real-product-screenshots {
        margin-left: 50% !important;
        padding: 50px 16px !important;
    }

    .hc-real-screens-grid {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
    }

    .hc-real-screen-card:first-child {
        grid-column: auto !important;
    }
}
/* HAVEN CANVAS - FORCE SCREENSHOT SECTION FULL WIDTH */

body.single-product .hc-real-product-screenshots {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    transform: none !important;
    box-sizing: border-box !important;
}

body.single-product .hc-real-screens-inner {
    width: 100% !important;
    max-width: 1180px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

body.single-product .hc-real-screens-grid {
    width: 100% !important;
}