/*
Theme Name: Antigua Home & Garden - Divi Child
Theme URI: https://antiguahomeandgarden.com/
Description: Modern, brand-aligned child theme for Divi. Restyles the global header and footer site-wide and adds a new, more attractive homepage design inspired by contemporary home-and-lifestyle retailers, while keeping all navigation fully editable via Appearance > Menus and Divi's Theme Builder / Customizer. Compatible with Divi 5.
Author: Built for Antigua Home & Garden Centre
Template: Divi
Version: 1.4.0
Text Domain: ahgc-child
*/

/* =========================================================
   DESIGN TOKENS — Brand palette: coolors.co/palette/ffffff-f67231-5271ff-494949-b5e58b
   ========================================================= */
:root{
  --ahgc-white:      #ffffff;
  --ahgc-cream:      #fff8f3;   /* tint of white/orange, warm section bg */
  --ahgc-orange:     #f67231;   /* primary CTA / accent */
  --ahgc-orange-dark:#d85a1c;   /* hover / contrast text on orange */
  --ahgc-blue:       #5271ff;   /* secondary accent */
  --ahgc-blue-dark:  #37469e;   /* hover / footer accent */
  --ahgc-charcoal:   #2e2e2e;   /* headings */
  --ahgc-charcoal-soft:#494949; /* brand grey (from palette) */
  --ahgc-charcoal-mute:#7a7a7a; /* secondary text */
  --ahgc-green:      #b5e58b;   /* tertiary accent - garden/eco */
  --ahgc-green-dark: #6f9e46;
  --ahgc-line:       #ece5df;
  --ahgc-radius-lg:  28px;
  --ahgc-radius-md:  18px;
  --ahgc-radius-sm:  12px;
  --ahgc-shadow:     0 20px 40px -20px rgba(46,46,46,.18);
  --ahgc-shadow-sm:  0 8px 20px -12px rgba(46,46,46,.25);
}

/* =========================================================
   TYPOGRAPHY — fonts enqueued in functions.php
   Display: Fraunces (characterful serif, warm/tropical)
   Body:    Plus Jakarta Sans (modern, friendly, highly legible)
   ========================================================= */
body, #main-content, .et_pb_module, p, li, input, textarea, select, button{
  font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  color: var(--ahgc-charcoal-soft);
}
h1, h2, h3, h4, .et_pb_module h1, .et_pb_module h2, .et_pb_module h3, .et_pb_module h4,
#main-header .logo_title{
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--ahgc-charcoal);
}
em{ font-style: italic; font-family:'Fraunces', serif; font-weight:500; color: var(--ahgc-orange); }
a{ color: var(--ahgc-blue); transition: color .2s ease; }
a:hover{ color: var(--ahgc-orange-dark); }

.ahgc-eyebrow{
  font-size:12.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  color: var(--ahgc-orange-dark); display:inline-flex; align-items:center; gap:8px;
}
.ahgc-eyebrow::before{ content:""; width:16px; height:2px; background:var(--ahgc-orange); border-radius:2px; }

/* =========================================================
   BUTTONS — used site-wide, including Divi module buttons
   ========================================================= */
.et_pb_button, .ahgc-btn, button, input[type="submit"]{
  display:inline-flex; align-items:center; gap:10px;
  padding:14px 26px !important;
  border-radius:100px !important;
  font-weight:700 !important;
  font-size:15px !important;
  border:2px solid transparent !important;
  background:var(--ahgc-orange) !important;
  color:#fff !important;
  box-shadow:0 12px 24px -10px rgba(246,114,49,.45);
  transition:.25s ease !important;
}
.et_pb_button:hover, .ahgc-btn:hover, button:hover, input[type="submit"]:hover{
  background:var(--ahgc-orange-dark) !important;
  transform:translateY(-2px);
  color:#fff !important;
}
.ahgc-btn-outline{
  background:transparent !important; color:var(--ahgc-charcoal) !important;
  border-color:var(--ahgc-charcoal) !important; box-shadow:none;
}
.ahgc-btn-outline:hover{ border-color:var(--ahgc-orange) !important; color:var(--ahgc-orange-dark) !important; }

/* =========================================================
   GLOBAL HEADER (see header.php)
   ========================================================= */
.ahgc-topbar{ background:var(--ahgc-charcoal); color:#fff; font-size:13px; }
.ahgc-topbar .ahgc-wrap{ display:flex; justify-content:space-between; align-items:center; height:38px; }
.ahgc-topbar-links{ display:flex; gap:22px; opacity:.85; flex-wrap:wrap; }
.ahgc-topbar-links span{ display:inline-flex; align-items:center; gap:6px; }

.ahgc-wrap{ max-width:100%; margin:0 auto; padding:0 32px; }

#main-header.ahgc-header{
  position:sticky; top:0; z-index:9999;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--ahgc-line);
  box-shadow:none;
}
.ahgc-header-inner{ display:flex; align-items:center; justify-content:space-between; height:84px; gap:32px; }
.ahgc-logo{ display:flex; align-items:center; gap:12px; font-family:'Fraunces',serif; font-weight:600; font-size:21px; color:var(--ahgc-charcoal); white-space:nowrap; }
.ahgc-logo img{ max-height:52px; width:auto; }
.ahgc-logo-mark{
  width:42px; height:42px; border-radius:50%;
  background:conic-gradient(from 200deg, var(--ahgc-orange), var(--ahgc-blue), var(--ahgc-green), var(--ahgc-orange));
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.ahgc-logo-mark span{ width:30px; height:30px; border-radius:50%; background:#fff; display:flex; align-items:center; justify-content:center; font-size:14px; font-weight:800; color:var(--ahgc-orange-dark); }

/* Nav menu (wp_nav_menu output) restyled as pill nav */
.ahgc-primary-nav ul.menu, .ahgc-primary-nav ul{ display:flex; align-items:center; gap:2px; list-style:none; margin:0; padding:0; flex-wrap:wrap; }
.ahgc-primary-nav li{ position:relative; }
.ahgc-primary-nav li > a{
  display:flex; align-items:center; gap:6px;
  padding:12px 16px; border-radius:100px; font-weight:600; font-size:14.5px;
  color:var(--ahgc-charcoal-soft); text-decoration:none;
}
.ahgc-primary-nav li > a:hover, .ahgc-primary-nav li.current-menu-item > a{
  background:var(--ahgc-cream); color:var(--ahgc-orange-dark);
}
.ahgc-primary-nav li.menu-item-has-children > a::after{
  content:""; display:inline-block; width:6px; height:6px;
  border-right:2px solid currentColor; border-bottom:2px solid currentColor;
  transform:rotate(45deg); margin-left:2px; opacity:.6;
}
/* Dropdown / sub-menu styled as a card */
.ahgc-primary-nav ul ul{
  display:none; position:absolute; top:calc(100% + 8px); left:0;
  flex-direction:column; min-width:240px; background:#fff;
  border-radius:var(--ahgc-radius-md); box-shadow:var(--ahgc-shadow);
  border:1px solid var(--ahgc-line); padding:10px; gap:0; z-index:100;
}
.ahgc-primary-nav ul ul ul{ top:0; left:100%; }
.ahgc-primary-nav li:hover > ul{ display:flex; }
.ahgc-primary-nav ul ul li > a{ border-radius:var(--ahgc-radius-sm); padding:10px 14px; font-size:13.6px; }

.ahgc-header-actions{ display:flex; align-items:center; gap:8px; }
.ahgc-icon-btn{
  width:42px; height:42px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  color:var(--ahgc-charcoal); position:relative; flex-shrink:0; text-decoration:none;
}
.ahgc-icon-btn:hover{ background:var(--ahgc-cream); color:var(--ahgc-orange-dark); }
.ahgc-icon-btn .ahgc-badge{
  position:absolute; top:2px; right:2px; width:16px; height:16px; background:var(--ahgc-orange);
  color:#fff; border-radius:50%; font-size:9.5px; font-weight:800; display:flex; align-items:center; justify-content:center;
}
.ahgc-burger{ display:none; width:42px; height:42px; align-items:center; justify-content:center; cursor:pointer; background:none; border:none; }
.ahgc-burger span, .ahgc-burger span::before, .ahgc-burger span::after{
  content:""; display:block; width:22px; height:2px; background:var(--ahgc-charcoal); position:relative; transition:.2s;
}
.ahgc-burger span::before{ position:absolute; top:-7px; }
.ahgc-burger span::after{ position:absolute; top:7px; }

/* Mobile nav */
@media(max-width:1080px){
  .ahgc-primary-nav{
    display:none; position:absolute; top:100%; left:0; right:0; background:#fff;
    border-bottom:1px solid var(--ahgc-line); box-shadow:var(--ahgc-shadow-sm); padding:16px;
  }
  .ahgc-primary-nav.is-open{ display:block; }
  .ahgc-primary-nav ul.menu, .ahgc-primary-nav ul{ flex-direction:column; align-items:stretch; }
  .ahgc-primary-nav ul ul{ position:static; box-shadow:none; border:none; padding-left:14px; display:none; }
  .ahgc-primary-nav li.sub-open > ul{ display:flex; }
  .ahgc-burger{ display:flex; }
}

/* =========================================================
   HOMEPAGE (front-page.php)
   ========================================================= */
.ahgc-hero{ position:relative; overflow:hidden; background:var(--ahgc-cream); padding:64px 0 0; }
.ahgc-hero-grid{ display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center; }
.ahgc-hero-copy h1{ font-size:52px; color:var(--ahgc-charcoal); margin:18px 0 20px; line-height:1.08; }
.ahgc-hero-copy p{ font-size:17px; line-height:1.6; color:var(--ahgc-charcoal-mute); max-width:440px; margin:0 0 30px; }
.ahgc-hero-ctas{ display:flex; gap:14px; margin-bottom:36px; flex-wrap:wrap; }
.ahgc-hero-stats{ display:flex; gap:34px; flex-wrap:wrap; }
.ahgc-hero-stats div{ border-left:2px solid var(--ahgc-line); padding-left:14px; }
.ahgc-hero-stats strong{ display:block; font-family:'Fraunces',serif; font-size:24px; color:var(--ahgc-orange-dark); }
.ahgc-hero-stats span{ font-size:12.5px; color:var(--ahgc-charcoal-mute); font-weight:600; }
.ahgc-hero-art{ position:relative; height:460px; }
.ahgc-blob{ position:absolute; border-radius:44% 56% 62% 38% / 46% 40% 60% 54%; }
.ahgc-blob-blue{ width:340px; height:340px; background:var(--ahgc-blue); top:0; right:20px; opacity:.16; }
.ahgc-blob-green{ width:220px; height:220px; background:var(--ahgc-green); bottom:10px; left:10px; opacity:.5; }
.ahgc-hero-card{
  position:absolute; background:#fff; border-radius:var(--ahgc-radius-md); box-shadow:var(--ahgc-shadow);
  padding:16px; display:flex; flex-direction:column; gap:10px;
}
.ahgc-hc-1{ width:230px; top:8px; left:30px; }
.ahgc-hc-2{ width:190px; bottom:20px; right:0; }
.ahgc-hc-3{ width:150px; top:170px; right:60px; transform:rotate(3deg); }
.ahgc-swatch{ border-radius:var(--ahgc-radius-sm); height:110px; display:flex; align-items:center; justify-content:center; }
.ahgc-hc-1 .ahgc-swatch{ background:linear-gradient(135deg,var(--ahgc-orange),#ffb27a); }
.ahgc-hc-2 .ahgc-swatch{ background:linear-gradient(135deg,var(--ahgc-blue),#9fb0ff); height:90px; }
.ahgc-hc-3 .ahgc-swatch{ background:linear-gradient(135deg,var(--ahgc-green-dark),var(--ahgc-green)); height:70px; }
.ahgc-hero-card b{ font-size:13.5px; font-family:'Plus Jakarta Sans',sans-serif; }
.ahgc-hero-card span{ font-size:11.5px; color:var(--ahgc-charcoal-mute); }
.ahgc-ribbon{ height:64px; margin-top:40px; }
.ahgc-ribbon svg{ display:block; width:100%; height:100%; }

.ahgc-value-strip{ background:var(--ahgc-charcoal); color:#fff; padding:22px 0; }
.ahgc-value-strip .ahgc-wrap{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:18px; }
.ahgc-value-item{ display:flex; align-items:center; gap:12px; font-size:13.5px; font-weight:600; color:#f1efec; flex:1; min-width:220px; }
.ahgc-value-item .ic{ width:36px; height:36px; border-radius:50%; background:rgba(255,255,255,.1); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.ahgc-value-item .ic svg{ width:18px; height:18px; stroke:var(--ahgc-green); }

.ahgc-section{ padding:88px 0; }
.ahgc-section-head{ display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:42px; gap:24px; flex-wrap:wrap; }
.ahgc-section-head h2{ font-size:36px; color:var(--ahgc-charcoal); margin-top:12px; }
.ahgc-section-head p{ color:var(--ahgc-charcoal-mute); font-size:15px; max-width:420px; margin:12px 0 0; }

.ahgc-cat-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:18px; }
.ahgc-cat-card{
  border-radius:var(--ahgc-radius-md); padding:26px 18px; text-align:center;
  display:flex; flex-direction:column; align-items:center; gap:14px;
  transition:.25s ease; cursor:pointer; border:1px solid var(--ahgc-line); text-decoration:none;
}
.ahgc-cat-card:hover{ transform:translateY(-6px); box-shadow:var(--ahgc-shadow-sm); border-color:transparent; }
.ahgc-cat-ic{ width:64px; height:64px; border-radius:50%; display:flex; align-items:center; justify-content:center; }
.ahgc-cat-ic svg{ width:30px; height:30px; }
.ahgc-cat-card b{ font-size:13.5px; letter-spacing:.02em; color:var(--ahgc-charcoal); }
.ahgc-cat-card span{ font-size:11.5px; color:var(--ahgc-charcoal-mute); }
.ahgc-c-orange .ahgc-cat-ic{ background:#ffe3d3; } .ahgc-c-orange svg{ stroke:var(--ahgc-orange-dark); }
.ahgc-c-blue .ahgc-cat-ic{ background:#dfe4ff; } .ahgc-c-blue svg{ stroke:var(--ahgc-blue); }
.ahgc-c-green .ahgc-cat-ic{ background:#e2f5cf; } .ahgc-c-green svg{ stroke:var(--ahgc-green-dark); }

.ahgc-promo-grid{ display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.ahgc-promo{
  border-radius:var(--ahgc-radius-lg); padding:44px; min-height:280px;
  display:flex; flex-direction:column; justify-content:space-between; position:relative; overflow:hidden;
}
.ahgc-promo-orange{ background:linear-gradient(135deg,var(--ahgc-orange) 0%, var(--ahgc-orange-dark) 100%); color:#fff; }
.ahgc-promo-blue{ background:linear-gradient(135deg,var(--ahgc-blue) 0%, var(--ahgc-blue-dark) 100%); color:#fff; }
.ahgc-promo h3{ font-size:28px; color:#fff; margin-bottom:10px; }
.ahgc-promo p{ font-size:14.5px; opacity:.9; max-width:280px; margin:0 0 22px; color:#fff; }
.ahgc-promo-deco{ position:absolute; right:-40px; bottom:-40px; width:180px; height:180px; border-radius:50%; background:rgba(255,255,255,.12); }
.ahgc-promo-deco2{ position:absolute; right:20px; top:-30px; width:90px; height:90px; border-radius:50%; background:rgba(255,255,255,.1); }
.ahgc-btn-light{ background:#fff !important; color:var(--ahgc-charcoal) !important; }
.ahgc-btn-light:hover{ background:var(--ahgc-green) !important; color:var(--ahgc-charcoal) !important; }

.ahgc-prod-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.ahgc-prod-card{ border:1px solid var(--ahgc-line); border-radius:var(--ahgc-radius-md); overflow:hidden; transition:.25s; background:#fff; }
.ahgc-prod-card:hover{ box-shadow:var(--ahgc-shadow-sm); transform:translateY(-4px); }
.ahgc-prod-img{ height:190px; display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; }
.ahgc-prod-img img{ width:100%; height:100%; object-fit:cover; }
.ahgc-sale-tag{ position:absolute; top:12px; left:12px; background:var(--ahgc-orange); color:#fff; font-size:10.5px; font-weight:800; padding:5px 10px; border-radius:100px; letter-spacing:.03em; z-index:2; }
.ahgc-prod-body{ padding:16px 18px 20px; }
.ahgc-prod-body .cat{ font-size:10.5px; text-transform:uppercase; letter-spacing:.08em; color:var(--ahgc-blue); font-weight:700; }
.ahgc-prod-body h4{ font-family:'Plus Jakarta Sans',sans-serif; font-weight:700; font-size:14.5px; margin:6px 0 8px; color:var(--ahgc-charcoal); }
.ahgc-price{ display:flex; align-items:baseline; gap:8px; }
.ahgc-price .now{ font-weight:800; color:var(--ahgc-orange-dark); font-size:15.5px; }
.ahgc-price .was{ font-size:12.5px; color:var(--ahgc-charcoal-mute); text-decoration:line-through; }

/* New Arrivals slider — 3 pages of 4 items */
.ahgc-slider-wrap{ position:relative; }
.ahgc-slider-viewport{ overflow:hidden; }
.ahgc-slider-track{ display:flex; transition:transform .45s cubic-bezier(.4,0,.2,1); }
.ahgc-slider-page{ min-width:100%; flex-shrink:0; display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.ahgc-slider-controls{ display:flex; justify-content:center; align-items:center; gap:18px; margin-top:36px; }
.ahgc-slider-arrow{
  width:44px; height:44px; border-radius:50%; border:1px solid var(--ahgc-line); background:#fff;
  display:flex; align-items:center; justify-content:center; cursor:pointer; color:var(--ahgc-charcoal); transition:.2s; padding:0;
}
.ahgc-slider-arrow:hover{ background:var(--ahgc-cream); border-color:var(--ahgc-orange); color:var(--ahgc-orange-dark); }
.ahgc-slider-arrow:disabled{ opacity:.35; cursor:default; }
.ahgc-slider-arrow:disabled:hover{ background:#fff; border-color:var(--ahgc-line); color:var(--ahgc-charcoal); }
.ahgc-slider-dots{ display:flex; align-items:center; gap:8px; }
.ahgc-slider-dot{ width:8px; height:8px; border-radius:50%; background:var(--ahgc-line); border:none; padding:0; cursor:pointer; transition:.25s; }
.ahgc-slider-dot.is-active{ background:var(--ahgc-orange); width:24px; border-radius:100px; }
.ahgc-shop-all-wrap{ text-align:center; margin-top:40px; }

.ahgc-story{ background:var(--ahgc-charcoal); color:#fff; border-radius:var(--ahgc-radius-lg); padding:64px; display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center; position:relative; overflow:hidden; }
.ahgc-story::before{ content:""; position:absolute; width:320px; height:320px; background:var(--ahgc-green); opacity:.12; border-radius:50%; top:-120px; right:-80px; }
.ahgc-story h2{ color:#fff; font-size:32px; margin-bottom:16px; }
.ahgc-story p{ color:#d7d3ce; font-size:15px; line-height:1.7; max-width:440px; }
.ahgc-story-swatch{ border-radius:var(--ahgc-radius-md); height:280px; background:linear-gradient(135deg,var(--ahgc-green) 0%, var(--ahgc-blue) 100%); position:relative; overflow:hidden; }
.ahgc-story-swatch img{ width:100%; height:100%; object-fit:cover; mix-blend-mode:multiply; }
.ahgc-story-badge{ position:absolute; bottom:-18px; left:-18px; background:var(--ahgc-orange); color:#fff; padding:16px 20px; border-radius:var(--ahgc-radius-sm); box-shadow:var(--ahgc-shadow-sm); }
.ahgc-story-badge strong{ display:block; font-family:'Fraunces',serif; font-size:22px; }
.ahgc-story-badge span{ font-size:11px; opacity:.9; }

.ahgc-loyalty{ background:var(--ahgc-green); border-radius:var(--ahgc-radius-lg); padding:56px 64px; display:flex; justify-content:space-between; align-items:center; gap:40px; flex-wrap:wrap; }
.ahgc-loyalty h2{ font-size:30px; color:var(--ahgc-charcoal); max-width:420px; }
.ahgc-loyalty p{ color:var(--ahgc-charcoal-soft); margin:10px 0 0; max-width:400px; font-size:14.5px; }
.ahgc-loyalty-form{ display:flex; gap:10px; flex:1; min-width:300px; max-width:420px; }
.ahgc-loyalty-form input{ flex:1; border:none; border-radius:100px; padding:15px 20px; font-family:inherit; font-size:14px; }
.ahgc-loyalty-form input:focus{ outline:2px solid var(--ahgc-charcoal); }

@media(max-width:1080px){
  .ahgc-cat-grid{ grid-template-columns:repeat(3,1fr); }
  .ahgc-prod-grid, .ahgc-slider-page{ grid-template-columns:repeat(2,1fr); }
}
@media(max-width:760px){
  .ahgc-hero-grid{ grid-template-columns:1fr; }
  .ahgc-hero-art{ display:none; }
  .ahgc-hero-copy h1{ font-size:36px; }
  .ahgc-promo-grid{ grid-template-columns:1fr; }
  .ahgc-story{ grid-template-columns:1fr; padding:36px; }
  .ahgc-cat-grid{ grid-template-columns:repeat(2,1fr); }
  .ahgc-value-strip .ahgc-wrap{ flex-direction:column; }
  .ahgc-loyalty{ padding:36px; flex-direction:column; align-items:flex-start; }
  .ahgc-section{ padding:56px 0; }
}

/* =========================================================
   GLOBAL FOOTER (see footer.php)
   ========================================================= */
#main-footer.ahgc-footer, .ahgc-footer{ background:#232323 !important; color:#d9d6d2; }
.ahgc-footer-top{ padding:72px 0 48px; display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:40px; border-bottom:1px solid #3a3a3a; }
.ahgc-footer-brand .ahgc-logo{ color:#fff; }
.ahgc-footer-brand p{ font-size:13.6px; color:#aaa6a1; line-height:1.7; margin:16px 0 20px; max-width:280px; }
.ahgc-footer-social{ display:flex; gap:10px; }
.ahgc-footer-social a{ width:38px; height:38px; border-radius:50%; background:#333; display:flex; align-items:center; justify-content:center; transition:.2s; }
.ahgc-footer-social a:hover{ background:var(--ahgc-orange); }
.ahgc-footer-social svg{ width:16px; height:16px; stroke:#fff; }
.ahgc-footer h5{ color:#fff; font-size:13px; letter-spacing:.08em; text-transform:uppercase; margin:0 0 18px; font-weight:700; font-family:'Plus Jakarta Sans',sans-serif; }
.ahgc-footer ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:11px; }
.ahgc-footer ul a{ font-size:13.8px; color:#aaa6a1; transition:.2s; text-decoration:none; }
.ahgc-footer ul a:hover{ color:var(--ahgc-orange); }
.ahgc-footer-contact li{ display:flex; gap:10px; align-items:flex-start; font-size:13.6px; color:#aaa6a1; }
.ahgc-footer-contact svg{ width:16px; height:16px; stroke:var(--ahgc-green); flex-shrink:0; margin-top:2px; }
.ahgc-footer-bottom{ padding:22px 0; display:flex; justify-content:space-between; align-items:center; font-size:12.5px; color:#8a8682; flex-wrap:wrap; gap:12px; }
.ahgc-pay-icons{ display:flex; gap:8px; }
.ahgc-pay-icons span{ background:#333; border-radius:6px; padding:5px 10px; font-size:11px; font-weight:700; color:#ccc; }
@media(max-width:1080px){ .ahgc-footer-top{ grid-template-columns:1fr 1fr; } }
@media(max-width:760px){ .ahgc-footer-top{ grid-template-columns:1fr; padding:48px 0; } }

/* =========================================================
   SINGLE PRODUCT PAGE — clean layout, same fonts/colors/cards
   Pure CSS restyle of WooCommerce's own markup (no template
   overrides), so gallery, tabs, and Related Products all keep
   working exactly as WooCommerce ships them — just restyled.
   ========================================================= */
.single-product .woocommerce{ max-width:100%; margin:0 auto; padding:48px 32px 0; }

.woocommerce-breadcrumb{
  font-size:12px; color:var(--ahgc-charcoal-mute); margin-bottom:28px;
  text-transform:uppercase; letter-spacing:.06em; font-weight:600;
}
.woocommerce-breadcrumb a{ color:var(--ahgc-charcoal-mute); }
.woocommerce-breadcrumb a:hover{ color:var(--ahgc-orange-dark); }

/* Full-width hero block: image + name + price. The gallery itself is
   capped via minmax() so it doesn't blow up into an oversized image on
   very wide screens, while the outer container still spans edge-to-edge
   like the rest of the site. */
.single-product div.product{
  display:grid; grid-template-columns:minmax(0,760px) 1fr; gap:64px;
  align-items:flex-start; margin-bottom:56px; width:100%;
}

/* Gallery */
.single-product .woocommerce-product-gallery{
  border-radius:var(--ahgc-radius-lg); overflow:hidden; background:var(--ahgc-cream); position:relative;
}
.single-product .woocommerce-product-gallery img{ border-radius:var(--ahgc-radius-lg); }
.single-product .onsale{
  background:var(--ahgc-orange) !important; border-radius:100px !important;
  font-size:11px !important; font-weight:800 !important; padding:7px 14px !important;
  top:16px !important; left:16px !important; right:auto !important;
  text-transform:uppercase; letter-spacing:.04em; box-shadow:none !important; min-height:0 !important; min-width:0 !important;
  line-height:1 !important; display:inline-flex !important; align-items:center;
}
.single-product .flex-control-thumbs{ display:flex; gap:12px; margin:16px 0 0; padding:0; list-style:none; }
.single-product .flex-control-thumbs li{ width:76px; }
.single-product .flex-control-thumbs img{
  border-radius:var(--ahgc-radius-sm); border:2px solid transparent; opacity:.65; cursor:pointer; transition:.2s;
}
.single-product .flex-control-thumbs img.flex-active,
.single-product .flex-control-thumbs img:hover{ opacity:1; border-color:var(--ahgc-orange); }

/* Summary column */
.single-product .summary.entry-summary{ padding-top:4px; }
.single-product .product_title{
  font-family:'Fraunces',serif; font-weight:600; font-size:32px; color:var(--ahgc-charcoal);
  line-height:1.15; margin:0 0 14px;
}
.single-product .woocommerce-product-rating{ margin-bottom:16px; display:flex; align-items:center; gap:10px; }
.single-product p.price, .single-product span.price{
  font-family:'Plus Jakarta Sans',sans-serif; font-size:23px; font-weight:800; color:var(--ahgc-orange-dark);
}
.single-product p.price del{ color:var(--ahgc-charcoal-mute); font-weight:500; font-size:16px; opacity:.7; margin-right:8px; }
.single-product p.price ins{ text-decoration:none; }
.single-product .woocommerce-product-details__short-description{
  color:var(--ahgc-charcoal-mute); font-size:15px; line-height:1.75; margin:22px 0 30px; max-width:480px;
}
.single-product .woocommerce-product-details__short-description p:last-child{ margin-bottom:0; }

/* Quantity + Add to cart */
.single-product form.cart{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-bottom:30px; }
.single-product .quantity{ display:flex; margin:0; }
.single-product .quantity input.qty{
  width:64px; height:52px; border:1px solid var(--ahgc-line); border-radius:100px;
  text-align:center; font-family:'Plus Jakarta Sans',sans-serif; font-weight:700; font-size:15px; background:#fff;
}
.single-product .single_add_to_cart_button{
  display:inline-flex !important; align-items:center; padding:16px 34px !important; border-radius:100px !important;
  font-weight:700 !important; font-size:15px !important; background:var(--ahgc-orange) !important;
  color:#fff !important; border:2px solid transparent !important; box-shadow:0 12px 24px -10px rgba(246,114,49,.45);
}
.single-product .single_add_to_cart_button:hover{ background:var(--ahgc-orange-dark) !important; }

/* Meta (SKU / categories / tags) */
.single-product .product_meta{
  font-size:12.5px; color:var(--ahgc-charcoal-mute); border-top:1px solid var(--ahgc-line);
  padding-top:20px; margin-top:8px; display:flex; flex-direction:column; gap:7px;
}
.single-product .product_meta a{ color:var(--ahgc-charcoal-mute); }
.single-product .product_meta a:hover{ color:var(--ahgc-orange-dark); }

/* Additional details section — sits BELOW the full-width image/name/price
   hero block (WooCommerce already places this as the next section down;
   this wrapper itself spans the full page width like the hero above it,
   while the actual paragraph text keeps a comfortable reading width). */
.single-product .woocommerce-tabs{ width:100%; margin-top:24px; border-top:1px solid var(--ahgc-line); padding-top:40px; }
.single-product .woocommerce-tabs ul.tabs{
  display:flex; gap:0; list-style:none; margin:0 0 30px; padding:0;
  border-bottom:1px solid var(--ahgc-line); overflow-x:auto;
}
.single-product .woocommerce-tabs ul.tabs li{ margin:0; }
.single-product .woocommerce-tabs ul.tabs li a{
  display:inline-block; padding:12px 4px; margin-right:30px; white-space:nowrap;
  font-weight:700; font-size:13px; text-transform:uppercase; letter-spacing:.05em;
  color:var(--ahgc-charcoal-mute); border-bottom:2px solid transparent;
}
.single-product .woocommerce-tabs ul.tabs li.active a{ color:var(--ahgc-charcoal); border-bottom-color:var(--ahgc-orange); }
.single-product .woocommerce-tabs .panel{ max-width:820px; color:var(--ahgc-charcoal-soft); font-size:15px; line-height:1.8; }
.single-product .woocommerce-tabs .panel h2{ font-family:'Fraunces',serif; font-size:22px; font-weight:600; color:var(--ahgc-charcoal); margin-bottom:16px; }
.single-product table.shop_attributes{ border:none; width:100%; max-width:820px; border-collapse:collapse; }
.single-product table.shop_attributes th, .single-product table.shop_attributes td{
  border:none; border-bottom:1px solid var(--ahgc-line); padding:13px 0; font-size:14px; background:none !important;
}
.single-product table.shop_attributes th{ color:var(--ahgc-charcoal); font-weight:700; width:220px; }

/* Related Products — full-width container, cards centered as a group so
   it always looks balanced even if WooCommerce can't find a full 4
   related items for a given product (falls back to whatever it has,
   still centered rather than stuck to the left). */
.related.products{
  max-width:100%; margin:0 auto; padding:64px 32px 96px; border-top:1px solid var(--ahgc-line); text-align:center;
}
.related.products > h2{ font-family:'Fraunces',serif; font-weight:600; font-size:28px; color:var(--ahgc-charcoal); margin:0 0 32px; }
.related.products ul.products{
  display:flex !important; flex-wrap:wrap; justify-content:center; gap:22px;
  list-style:none; padding:0; margin:0 auto; max-width:1320px;
}
.related.products ul.products li.product{
  border:1px solid var(--ahgc-line) !important; border-radius:var(--ahgc-radius-md); overflow:hidden;
  padding:0 !important; margin:0 !important; float:none !important; text-align:left;
  transition:.25s; background:#fff; flex:0 1 calc(25% - 16.5px); min-width:220px;
}
.related.products ul.products li.product:hover{ box-shadow:var(--ahgc-shadow-sm); transform:translateY(-4px); }
.related.products ul.products li.product a img{
  width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:0 !important; margin:0 !important;
}
.related.products ul.products li.product .woocommerce-loop-product__title{
  font-family:'Plus Jakarta Sans',sans-serif; font-weight:700; font-size:14.5px; color:var(--ahgc-charcoal);
  padding:16px 18px 4px; margin:0;
}
.related.products ul.products li.product .price{ padding:0 18px 16px; display:block; font-size:14.5px; }
.related.products ul.products li.product .button{
  display:inline-flex !important; margin:0 18px 18px !important; padding:9px 18px !important;
  border-radius:100px !important; font-size:12.5px !important; font-weight:700 !important;
  background:transparent !important; color:var(--ahgc-charcoal) !important; border:2px solid var(--ahgc-charcoal) !important;
}
.related.products ul.products li.product .button:hover{ border-color:var(--ahgc-orange) !important; color:var(--ahgc-orange-dark) !important; }

@media(max-width:900px){
  .single-product div.product{ grid-template-columns:1fr; gap:32px; }
  .related.products ul.products li.product{ flex-basis:calc(50% - 11px); }
}
@media(max-width:520px){
  .related.products ul.products li.product{ flex-basis:100%; }
}

/* =========================================================
   SHOP ARCHIVE PAGE — clean restyle of WooCommerce's own
   product grid, sort dropdown, result count, and pagination.
   Pure CSS again (no template overrides) — same reasoning as
   the single-product page: WooCommerce's own catalog output,
   sorting, and 4,000+ products / pagination all keep working
   exactly as-is, just restyled to match the rest of the site.
   ========================================================= */
.woocommerce-shop .woocommerce-notices-wrapper,
.woocommerce-shop .woocommerce-info{
  max-width:1320px; margin:0 auto 24px; padding:0 32px;
}

.woocommerce-shop .woocommerce-ordering-wrap,
.woocommerce-shop .woocommerce-result-count,
.woocommerce-shop .woocommerce-ordering{
  font-size:13.5px; color:var(--ahgc-charcoal-mute);
}
.woocommerce-shop .woocommerce > .row,
.woocommerce-shop .products + .woocommerce-result-count,
.woocommerce-shop p.woocommerce-result-count{
  max-width:1320px; margin:0 auto; padding:0 32px 6px;
}
.woocommerce-shop .woocommerce-ordering{
  max-width:1320px; margin:-40px auto 6px; padding:0 32px; display:flex; justify-content:flex-end;
}
.woocommerce-shop .woocommerce-ordering select.orderby{
  border:1px solid var(--ahgc-line); border-radius:100px; padding:10px 36px 10px 18px;
  font-family:'Plus Jakarta Sans',sans-serif; font-size:13px; font-weight:600; color:var(--ahgc-charcoal-soft);
  background-color:#fff;
}

.woocommerce-shop ul.products{
  display:grid !important; grid-template-columns:repeat(4,1fr); gap:22px;
  list-style:none; max-width:1320px; margin:24px auto 0 !important; padding:0 32px;
}
.woocommerce-shop ul.products li.product{
  border:1px solid var(--ahgc-line) !important; border-radius:var(--ahgc-radius-md); overflow:hidden;
  padding:0 !important; margin:0 !important; width:auto !important; float:none !important;
  transition:.25s; background:#fff;
}
.woocommerce-shop ul.products li.product:hover{ box-shadow:var(--ahgc-shadow-sm); transform:translateY(-4px); }
.woocommerce-shop ul.products li.product a img{
  width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:0 !important; margin:0 !important;
}
.woocommerce-shop ul.products li.product .onsale{
  background:var(--ahgc-orange) !important; border-radius:100px !important;
  font-size:10.5px !important; font-weight:800 !important; padding:6px 12px !important;
  top:12px !important; left:12px !important; right:auto !important; box-shadow:none !important;
  min-height:0 !important; min-width:0 !important; line-height:1 !important;
}
.woocommerce-shop ul.products li.product .woocommerce-loop-category__title,
.woocommerce-shop ul.products li.product .woocommerce-loop-product__title{
  font-family:'Plus Jakarta Sans',sans-serif; font-weight:700; font-size:14px; color:var(--ahgc-charcoal);
  padding:16px 18px 4px; margin:0; line-height:1.4;
}
.woocommerce-shop ul.products li.product .price{
  padding:0 18px 18px; display:block; font-size:14.5px; font-weight:800; color:var(--ahgc-orange-dark);
}
.woocommerce-shop ul.products li.product .price del{ color:var(--ahgc-charcoal-mute); font-weight:500; opacity:.7; font-size:12.5px; margin-right:6px; }
.woocommerce-shop ul.products li.product .price ins{ text-decoration:none; }
.woocommerce-shop ul.products li.product .button{ display:none; } /* keep the grid clean — click the card to view/add */

.woocommerce-shop nav.woocommerce-pagination{
  max-width:1320px; margin:48px auto 80px; padding:0 32px;
}
.woocommerce-shop nav.woocommerce-pagination ul.page-numbers{
  display:flex; flex-wrap:wrap; gap:8px; list-style:none; margin:0; padding:0; border:none;
}
.woocommerce-shop nav.woocommerce-pagination ul.page-numbers li{ margin:0; }
.woocommerce-shop nav.woocommerce-pagination .page-numbers{
  display:flex; align-items:center; justify-content:center; min-width:40px; height:40px; padding:0 12px;
  border-radius:100px; border:1px solid var(--ahgc-line); font-family:'Plus Jakarta Sans',sans-serif;
  font-weight:700; font-size:13px; color:var(--ahgc-charcoal-soft); background:#fff;
}
.woocommerce-shop nav.woocommerce-pagination .page-numbers.current{
  background:var(--ahgc-orange); border-color:var(--ahgc-orange); color:#fff;
}
.woocommerce-shop nav.woocommerce-pagination .page-numbers:hover:not(.current){
  border-color:var(--ahgc-orange); color:var(--ahgc-orange-dark);
}

@media(max-width:1080px){
  .woocommerce-shop ul.products{ grid-template-columns:repeat(3,1fr); }
}
@media(max-width:760px){
  .woocommerce-shop ul.products{ grid-template-columns:repeat(2,1fr); }
  .woocommerce-shop .woocommerce-ordering{ margin-top:0; justify-content:flex-start; }
}

/* Accessibility: visible focus states */
a:focus-visible, button:focus-visible, input:focus-visible{
  outline:3px solid var(--ahgc-blue); outline-offset:2px;
}
@media (prefers-reduced-motion: reduce){
  *{ animation:none !important; transition:none !important; }
}
