/* Ahuney universal premium product top — v1.7.4 editorial prototype */
.single-product {
  --ahu-product-bg:#0c0906;
  --ahu-product-bg-soft:#120d09;
  --ahu-product-ivory:#f4efe5;
  --ahu-product-muted:#bdb3a5;
  --ahu-product-gold:#c79a43;
  --ahu-product-gold-soft:#e0c98d;
  --ahu-product-line:rgba(199,154,67,.24);
  --ahu-product-container:1180px;
}

/* Astra only provides the shell; the product card itself is contained below. */
.single-product .site-content > .ast-container,
.single-product .site-main,
.single-product #primary,
.single-product .ast-woocommerce-container {
  max-width:none !important;
  width:100% !important;
  padding-left:0 !important;
  padding-right:0 !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
.single-product #primary { margin:0 !important; padding-top:0 !important; }
.single-product #content,
.single-product .site-content,
.single-product .site-content > .ast-container,
.single-product .site-main { padding-top:0 !important; }
.single-product .site-content { margin-top:0 !important; background:var(--ahu-product-ivory); }
.single-product .woocommerce-notices-wrapper {
  width:min(var(--ahu-product-container),calc(100% - 48px));
  margin:0 auto;
}
.single-product .ahu-product { margin:0 !important; }

/* The complete product top is one contained dark object, not a full-width strip. */
.single-product .ahu-product-top {
  position:relative;
  width:min(var(--ahu-product-container),calc(100% - 48px));
  margin:10px auto 0;
  background:var(--ahu-product-bg);
  color:var(--ahu-product-ivory);
  overflow:hidden;
  box-shadow:0 24px 70px rgba(31,22,13,.16);
}
.single-product .ahu-product-top__breadcrumb {
  width:100%;
  margin:0;
  padding:17px 28px 10px;
  color:#8f8579;
  font-family:var(--ahu-sans,Arial,sans-serif);
  font-size:10px;
  letter-spacing:.11em;
  text-transform:uppercase;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.single-product .ahu-product-top__breadcrumb a { color:#9d9184; text-decoration:none; }
.single-product .ahu-product-top__breadcrumb a:hover { color:var(--ahu-product-gold-soft); }
.single-product .ahu-product-top__breadcrumb span { margin:0 6px; }
.single-product .ahu-product-top__breadcrumb span:last-child { margin-right:0; color:#c7bfb3; }

.single-product .ahu-product-top__inner {
  width:100%;
  margin:0;
  padding:14px 28px 20px;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(400px,.92fr);
  gap:clamp(32px,3.6vw,52px);
  align-items:start;
}

/* Gallery */
.single-product .ahu-product-media { position:relative; min-width:0; }
.single-product .ahu-product-media__gallery { position:relative; }
.single-product .ahu-product-media .woocommerce-product-gallery {
  float:none !important;
  width:100% !important;
  margin:0 !important;
}
.single-product .ahu-product-media .woocommerce-product-gallery__wrapper,
.single-product .ahu-product-media .flex-viewport,
.single-product .ahu-product-media .woocommerce-product-gallery__image { background:#100c08; }
.single-product .ahu-product-media .woocommerce-product-gallery__image > a {
  display:flex;
  width:100%;
  aspect-ratio:4/5;
  align-items:center;
  justify-content:center;
  background:#100c08;
}
.single-product .ahu-product-media .woocommerce-product-gallery__image img {
  display:block;
  width:100% !important;
  height:100% !important;
  max-height:none !important;
  object-fit:contain;
  object-position:center;
}
.single-product .ahu-product-media .woocommerce-product-gallery__trigger {
  top:16px !important;
  right:16px !important;
  left:auto !important;
  background:rgba(244,239,229,.94) !important;
  border-radius:50%;
}
.single-product .ahu-product-media .flex-control-thumbs {
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:9px;
  margin:11px 0 0 !important;
  padding:0 !important;
}
.single-product .ahu-product-media .flex-control-thumbs li {
  float:none !important;
  width:auto !important;
  margin:0 !important;
  background:#14100b;
  border:1px solid rgba(255,255,255,.08);
}
.single-product .ahu-product-media .flex-control-thumbs img {
  display:block;
  width:100% !important;
  aspect-ratio:1/1;
  object-fit:cover;
  opacity:.62;
  transition:opacity .2s ease,border-color .2s ease;
}
.single-product .ahu-product-media .flex-control-thumbs img.flex-active,
.single-product .ahu-product-media .flex-control-thumbs img:hover { opacity:1; }
.single-product .ahu-product-media__badges {
  position:absolute;
  top:18px;
  left:18px;
  z-index:12;
  display:flex;
  flex-direction:column;
  gap:7px;
  pointer-events:none;
}
.single-product .ahu-product-media__badges span {
  display:inline-flex;
  width:max-content;
  max-width:220px;
  padding:8px 12px;
  border:1px solid rgba(224,201,141,.68);
  background:rgba(12,9,6,.80);
  color:var(--ahu-product-gold-soft);
  backdrop-filter:blur(8px);
  font-family:var(--ahu-sans,Arial,sans-serif);
  font-size:9px;
  font-weight:600;
  letter-spacing:.15em;
  line-height:1.25;
  text-transform:uppercase;
}

/* Information: same dark world as the gallery — no separate floating white/card look. */
.single-product .ahu-product-panel {
  float:none !important;
  width:100% !important;
  margin:0 !important;
  padding:18px 0 0 30px;
  background:transparent;
  border:0;
  border-left:1px solid rgba(199,154,67,.18);
  box-shadow:none;
  color:var(--ahu-product-ivory);
}
.single-product .ahu-product-eyebrow {
  margin:0 0 9px;
  color:var(--ahu-product-gold);
  font-family:var(--ahu-sans,Arial,sans-serif);
  font-size:10px;
  font-weight:600;
  letter-spacing:.24em;
  text-transform:uppercase;
}
.single-product .ahu-product-title {
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  margin:0 0 8px !important;
  color:var(--ahu-product-ivory) !important;
  font-family:var(--ahu-serif,Georgia,serif) !important;
  font-size:clamp(36px,3.3vw,49px) !important;
  font-weight:500 !important;
  letter-spacing:-.025em;
  line-height:1.02 !important;
}
.single-product .ahu-product-title.ahu-product-title--long { font-size:clamp(31px,2.8vw,42px) !important; line-height:1.04 !important; }
.single-product .ahu-product-title.ahu-product-title--xlong { font-size:clamp(27px,2.4vw,36px) !important; line-height:1.05 !important; }
.single-product .ahu-product-title.ahu-product-title--xxlong { font-size:clamp(23px,2.05vw,31px) !important; line-height:1.06 !important; }
.single-product .ahu-product-rating {
  min-height:0;
  margin:7px 0 11px;
  display:flex;
  align-items:center;
  gap:9px;
  color:#b8afa4;
  font-family:var(--ahu-sans,Arial,sans-serif);
  font-size:11px;
}
.single-product .ahu-product-rating:empty { display:none; }
.single-product .ahu-product-rating .star-rating {
  float:none !important;
  margin:0 !important;
  color:var(--ahu-product-gold) !important;
}
.single-product .ahu-product-rating__link { color:#b8afa4 !important; text-decoration:none; }
.single-product .ahu-product-rating__link:hover { color:var(--ahu-product-gold-soft) !important; }
.single-product .ahu-product-rating__sep { margin:0 2px; color:#81786e; }
.single-product .ahu-product-origin {
  margin:0 0 16px;
  color:var(--ahu-product-gold-soft);
  font-family:var(--ahu-sans,Arial,sans-serif);
  font-size:10px;
  font-weight:600;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.single-product .ahu-product-origin::before {
  content:"";
  display:inline-block;
  width:28px;
  height:1px;
  margin:0 10px 3px 0;
  background:var(--ahu-product-gold);
}
.single-product .ahu-product-intro {
  max-width:560px;
  margin:0 0 16px;
  color:#c9c0b4;
  font-family:var(--ahu-sans,Arial,sans-serif);
  font-size:13px;
  line-height:1.68;
}
.single-product .ahu-product-intro p { margin:0; color:inherit; }
.single-product .ahu-product-intro img,
.single-product .ahu-product-intro picture,
.single-product .ahu-product-intro figure { display:none !important; }

.single-product .ahu-product-commerce {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  padding:13px 0 15px;
  border-top:1px solid rgba(255,255,255,.07);
}
.single-product .ahu-product-price .price,
.single-product .ahu-product-price .amount,
.single-product .ahu-product-price > span {
  margin:0 !important;
  color:var(--ahu-product-ivory) !important;
  font-family:var(--ahu-serif,Georgia,serif) !important;
  font-size:29px !important;
  font-weight:500 !important;
}
.single-product .ahu-product-stock,
.single-product .ahu-product-stock .stock {
  margin:0 !important;
  color:#a9b69a !important;
  font-size:11px !important;
}

/* Pack cards — compact, same baseline, direct action. */
.single-product .ahu-pack-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin:0 0 17px;
}
.single-product .ahu-pack-form { margin:0 !important; }
.single-product .ahu-pack-card {
  position:relative;
  display:flex;
  min-height:132px;
  width:100%;
  padding:14px 8px 0;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  border:1px solid rgba(199,154,67,.30);
  border-radius:0;
  background:rgba(255,255,255,.018);
  color:var(--ahu-product-ivory);
  box-shadow:none;
  cursor:pointer;
  font-family:var(--ahu-sans,Arial,sans-serif);
  text-align:center;
}
.single-product .ahu-pack-card:hover { border-color:var(--ahu-product-gold); background:rgba(199,154,67,.055); }
.single-product .ahu-pack-card__discount {
  position:absolute;
  top:0;
  right:0;
  padding:4px 7px;
  background:var(--ahu-product-gold);
  color:#17100b;
  font-size:9px;
  font-weight:700;
}
.single-product .ahu-pack-card__name { color:var(--ahu-product-gold-soft); font-size:10px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
.single-product .ahu-pack-card__qty { margin-top:4px; color:#938a7f; font-size:9px; }
.single-product .ahu-pack-card__prices { display:flex; align-items:baseline; justify-content:center; gap:5px; margin-top:8px; }
.single-product .ahu-pack-card__prices del { color:#756c62; font-size:9px; }
.single-product .ahu-pack-card__prices strong { color:var(--ahu-product-ivory); font-family:var(--ahu-serif,Georgia,serif); font-size:17px; font-weight:500; }
.single-product .ahu-pack-card__unit { margin:1px 0 8px; color:#8e857a; font-size:8px; }
.single-product .ahu-pack-card__cta {
  display:block;
  width:calc(100% + 16px);
  margin:auto -8px 0;
  padding:9px 5px;
  background:var(--ahu-product-gold);
  color:#130e09;
  font-size:8px;
  font-weight:700;
  letter-spacing:.10em;
  text-transform:uppercase;
}

/* Standard cart for products not enrolled in pack pricing. */
.single-product .ahu-product-cart-standard { margin:0 0 18px; }
.single-product .ahu-product-cart-standard form.cart { display:flex; flex-wrap:wrap; gap:9px; align-items:stretch; margin:0 !important; }
.single-product .ahu-product-cart-standard .quantity .qty {
  min-height:44px;
  border:1px solid var(--ahu-product-line) !important;
  background:#0f0b08 !important;
  color:var(--ahu-product-ivory) !important;
}
.single-product .ahu-product-cart-standard .single_add_to_cart_button {
  min-height:44px;
  padding:0 22px !important;
  border:1px solid var(--ahu-product-gold) !important;
  border-radius:0 !important;
  background:var(--ahu-product-gold) !important;
  color:#130e09 !important;
  font-weight:700 !important;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.single-product .ahu-product-cart-standard .variations,
.single-product .ahu-product-cart-standard .variations th,
.single-product .ahu-product-cart-standard .variations td { color:var(--ahu-product-ivory); }
.single-product .ahu-product-cart-standard select { background:#100c08; color:var(--ahu-product-ivory); border-color:var(--ahu-product-line); }

/* Facts: up to 6 fields, automatically 2 rows of 3 when all are filled. */
.single-product .ahu-product-facts {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:2px;
  border-top:1px solid var(--ahu-product-line);
  border-bottom:1px solid var(--ahu-product-line);
}
.single-product .ahu-product-fact {
  min-width:0;
  padding:12px 9px;
  border-right:1px solid rgba(199,154,67,.14);
  border-bottom:1px solid rgba(199,154,67,.12);
  text-align:left;
}
.single-product .ahu-product-fact:nth-child(3n) { border-right:0; }
.single-product .ahu-product-fact:nth-last-child(-n+3) { border-bottom:0; }
.single-product .ahu-product-fact__label {
  display:block;
  margin-bottom:3px;
  color:#91877c;
  font-size:8px;
  font-weight:600;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.single-product .ahu-product-fact__value {
  display:block;
  overflow-wrap:anywhere;
  color:#ddd4c8;
  font-size:10px;
  line-height:1.4;
}
.single-product .ahu-product-trustline {
  display:flex;
  flex-wrap:wrap;
  gap:8px 16px;
  margin-top:11px;
  color:#9d9387;
  font-size:9px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.single-product .ahu-product-trustline span::before { content:"✦"; margin-right:6px; color:var(--ahu-product-gold); }



/* Purchase reassurance — directly under the dark product top. */
.single-product .ahu-product-services {
  width:min(var(--ahu-product-container),calc(100% - 48px));
  margin:0 auto 34px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  background:#f7f2e8;
  border:1px solid rgba(199,154,67,.18);
  border-top:0;
  color:#241d15;
  box-shadow:0 18px 45px rgba(31,22,13,.06);
}
.single-product .ahu-product-service {
  min-width:0;
  min-height:82px;
  padding:16px 18px;
  display:flex;
  align-items:center;
  gap:13px;
  border-right:1px solid rgba(199,154,67,.24);
}
.single-product .ahu-product-service:last-child { border-right:0; }
.single-product .ahu-product-service__icon {
  flex:0 0 34px;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  color:var(--ahu-product-gold);
}
.single-product .ahu-product-service__icon svg {
  width:30px;
  height:30px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.5;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.single-product .ahu-product-service__copy { min-width:0; display:block; }
.single-product .ahu-product-service__copy strong {
  display:block;
  margin:0 0 3px;
  color:#241d15;
  font-family:var(--ahu-serif,Georgia,serif);
  font-size:15px;
  font-weight:600;
  line-height:1.15;
}
.single-product .ahu-product-service__copy small {
  display:block;
  color:#7f7467;
  font-family:var(--ahu-sans,Arial,sans-serif);
  font-size:9px;
  line-height:1.35;
}

/* Long historic content / tabs: untouched data, editorial ivory background. */
.single-product .ahu-product-after-top {
  width:100%;
  background:var(--ahu-product-ivory);
  color:#241d15;
}
.single-product .ahu-product-after-top > .woocommerce-tabs,
.single-product .ahu-product-after-top > .up-sells,
.single-product .ahu-product-after-top > .related {
  width:min(var(--ahu-product-container),calc(100% - 48px));
  margin-left:auto !important;
  margin-right:auto !important;
}
.single-product .ahu-product-after-top .woocommerce-tabs { padding-top:18px; }

/* Editorial products keep a real WooCommerce tabs landmark so native
   WooCommerce-aware widgets (TMF included) can place themselves normally. */
.single-product .ahu-product-after-top > .woocommerce-tabs.ahu-editorial-woocommerce-tabs {
  display:block !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  overflow:visible !important;
}

@media (max-width:1024px) {
  .single-product .ahu-product-services { width:min(100% - 32px,1040px); }
  .single-product .ahu-product-service { padding:14px 13px; gap:10px; }
  .single-product .ahu-product-service__copy strong { font-size:14px; }
  .single-product .ahu-product-top { width:min(100% - 32px,1040px); margin-top:8px; }
  .single-product .ahu-product-top__inner {
    grid-template-columns:minmax(0,1fr) minmax(340px,.92fr);
    gap:24px;
    padding:14px 20px 28px;
  }
  .single-product .ahu-product-top__breadcrumb { padding-left:20px; padding-right:20px; }
  .single-product .ahu-product-panel { padding-left:22px; }
  .single-product .ahu-product-title { font-size:clamp(31px,4.5vw,42px) !important; }
  .single-product .ahu-product-title.ahu-product-title--long { font-size:clamp(28px,4vw,36px) !important; }
  .single-product .ahu-product-title.ahu-product-title--xlong { font-size:clamp(25px,3.7vw,32px) !important; }
  .single-product .ahu-product-title.ahu-product-title--xxlong { font-size:clamp(22px,3.4vw,28px) !important; }
}

@media (max-width:820px) {
  .single-product .ahu-product-services { width:min(100% - 24px,680px); grid-template-columns:repeat(2,minmax(0,1fr)); margin-bottom:28px; }
  .single-product .ahu-product-service:nth-child(2) { border-right:0; }
  .single-product .ahu-product-service:nth-child(-n+2) { border-bottom:1px solid rgba(199,154,67,.24); }
  .single-product .ahu-product-top { width:min(100% - 24px,680px); margin:8px auto 28px; }
  .single-product .ahu-product-top__inner { grid-template-columns:1fr; gap:18px; padding:12px 16px 24px; }
  .single-product .ahu-product-top__breadcrumb { padding:14px 16px 8px; }
  .single-product .ahu-product-media { max-width:620px; width:100%; margin:0 auto; }
  .single-product .ahu-product-panel {
    max-width:620px;
    width:100%;
    margin:0 auto !important;
    padding:24px 0 4px;
    border-left:0;
    border-top:1px solid rgba(199,154,67,.18);
  }
}

@media (max-width:560px) {
  .single-product .ahu-product-services { width:calc(100% - 16px); margin-bottom:22px; }
  .single-product .ahu-product-service { min-height:72px; padding:12px 10px; gap:8px; }
  .single-product .ahu-product-service__icon { flex-basis:28px; width:28px; height:28px; }
  .single-product .ahu-product-service__icon svg { width:25px; height:25px; }
  .single-product .ahu-product-service__copy strong { font-size:12px; }
  .single-product .ahu-product-service__copy small { font-size:8px; }
  .single-product .ahu-product-top { width:calc(100% - 16px); margin-top:6px; margin-bottom:22px; }
  .single-product .ahu-product-top__breadcrumb { padding-top:11px; font-size:8px; }
  .single-product .ahu-product-top__inner { padding:8px 10px 20px; gap:14px; }
  .single-product .ahu-product-panel { padding-top:21px; }
  .single-product .ahu-product-title { font-size:34px !important; }
  .single-product .ahu-product-title.ahu-product-title--long { font-size:30px !important; }
  .single-product .ahu-product-title.ahu-product-title--xlong { font-size:27px !important; }
  .single-product .ahu-product-title.ahu-product-title--xxlong { font-size:24px !important; }
  .single-product .ahu-product-commerce { align-items:flex-start; flex-direction:column; gap:5px; }
  .single-product .ahu-pack-grid { grid-template-columns:1fr; gap:7px; }
  .single-product .ahu-pack-card { min-height:116px; }
  .single-product .ahu-product-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .single-product .ahu-product-fact:nth-child(3n) { border-right:1px solid rgba(199,154,67,.14); }
  .single-product .ahu-product-fact:nth-child(2n) { border-right:0; }
  .single-product .ahu-product-fact:nth-last-child(-n+3) { border-bottom:1px solid rgba(199,154,67,.12); }
  .single-product .ahu-product-fact:nth-last-child(-n+2) { border-bottom:0; }
  .single-product .ahu-product-media__badges { top:10px; left:10px; }
  .single-product .ahu-product-media__badges span { font-size:8px; padding:6px 9px; }
  .single-product .ahu-product-after-top > .woocommerce-tabs,
  .single-product .ahu-product-after-top > .up-sells,
  .single-product .ahu-product-after-top > .related { width:calc(100% - 24px); }
}
