/* Amilian PDP v2 — Inter typography + focused layout. Scoped to body.aw-pdp-v2 ONLY. */
.aw-pdp-v2 { --aw-brand:#993f28; --aw-ink:#2b2724; --aw-muted:#6f655c; --aw-line:#ece6dd; --aw-panel:#faf7f2; }
.aw-pdp-v2.single-product div.product,
.aw-pdp-v2 .woocommerce div.product { font-family:'Inter',sans-serif; color:var(--aw-ink); }

/* Two-column: gallery left, sticky summary right (desktop) */
@media (min-width:992px){
	.aw-pdp-v2 div.product div.images,
	.aw-pdp-v2 #content div.product div.images { width:64% !important; margin-top:1.3rem !important; background:#fff !important; border-radius:14px !important; padding:1rem !important; box-sizing:border-box !important; }
	.aw-pdp-v2 div.product div.summary,
	.aw-pdp-v2 #content div.product div.summary { width:34% !important; position:sticky; top:90px; align-self:flex-start; }
}

/* Title + price */
.aw-pdp-v2 div.product .product_title { font:600 1.4rem/1.32 'Inter',sans-serif !important; letter-spacing:-.015em !important; margin:.1rem 0 .55rem !important; }
.aw-pdp-v2 div.product p.price,
.aw-pdp-v2 div.product span.price { font:700 1.7rem/1 'Inter',sans-serif !important; color:var(--aw-brand) !important; }
.aw-pdp-v2 .woocommerce-price-suffix { font:400 .8rem/1 'Inter',sans-serif; color:var(--aw-muted); }
.aw-pdp-v2 .brief-shipping-details,
.aw-pdp-v2 .wc-gzd-additional-info.shipping-costs-info { font:500 .8rem/1.3 'Inter',sans-serif; }
.aw-pdp-v2 .aw-plus-shipping a,
.aw-pdp-v2 .brief-shipping-details a { color:var(--aw-brand); }

/* Farbe label + selected colour name (from amilian-swatches.php) */
.aw-pdp-v2 form.cart .variations tr:first-child td.value::before { font:600 .66rem/1 'Inter',sans-serif; letter-spacing:.09em; text-transform:uppercase; color:#9a8d7f; }
.aw-pdp-v2 .aw-color-name { color:var(--aw-brand) !important; font-family:'Inter',sans-serif !important; }

/* Quantity + add to cart */
.aw-pdp-v2 form.cart .single_add_to_cart_button { height:50px; border-radius:11px !important; background:var(--aw-brand) !important; font:600 .82rem/1 'Inter',sans-serif !important; letter-spacing:.04em; }
.aw-pdp-v2 form.cart .single_add_to_cart_button:hover { background:#7f3320 !important; }

/* Delivery ETA — each line on its own row, never overflow */
.aw-pdp-v2 .summary .delivery-time-info,
.aw-pdp-v2 .summary .aw-delivery-eta { display:block; font:400 .78rem/1.5 'Inter',sans-serif; color:var(--aw-muted); }
.aw-pdp-v2 .summary .aw-delivery-eta { margin:.15rem 0 1rem; }
.aw-pdp-v2 .summary .aw-delivery-eta strong,
.aw-pdp-v2 .summary .delivery-time-info strong { color:var(--aw-ink); }

/* Trust row */
.aw-pdp-v2 .aw-trust { display:grid; grid-template-columns:1fr 1fr; gap:.55rem .9rem; padding:.9rem 1rem; margin:1.1rem 0 .2rem; background:var(--aw-panel); border:1px solid #f0e8dc; border-radius:12px; }
.aw-pdp-v2 .aw-trust div { display:flex; align-items:center; gap:.5rem; font:500 .76rem/1.2 'Inter',sans-serif; color:#5b5249; }
.aw-pdp-v2 .aw-trust svg { width:18px; height:18px; stroke:var(--aw-brand); flex:none; }
@media (max-width:480px){ .aw-pdp-v2 .aw-trust { grid-template-columns:1fr; } }

/* Accordions (summary) */
.aw-pdp-v2 .aw-pdp-acc { margin-top:1.3rem; }
.aw-pdp-v2 .aw-acc-item { border-bottom:1px solid var(--aw-line); }
.aw-pdp-v2 .aw-acc-item:first-child { border-top:1px solid var(--aw-line); }
.aw-pdp-v2 .aw-acc-h { margin:0; font:inherit; }
.aw-pdp-v2 .aw-acc-head { width:100%; display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:.95rem .1rem; background:none; border:0; cursor:pointer; text-align:left; font:600 .92rem/1.3 'Inter',sans-serif; color:var(--aw-ink); }
.aw-pdp-v2 .aw-acc-ic { width:18px; height:18px; position:relative; flex:none; }
.aw-pdp-v2 .aw-acc-ic::before,.aw-pdp-v2 .aw-acc-ic::after { content:""; position:absolute; background:var(--aw-brand); border-radius:2px; }
.aw-pdp-v2 .aw-acc-ic::before { top:8px; left:1px; width:16px; height:2px; }
.aw-pdp-v2 .aw-acc-ic::after { left:8px; top:1px; width:2px; height:16px; transition:transform .2s,opacity .2s; }
.aw-pdp-v2 .aw-acc-item.open .aw-acc-ic::after { transform:rotate(90deg); opacity:0; }
/* Non-clipping collapse: animate grid rows 0fr->1fr so content of ANY length shows fully. */
.aw-pdp-v2 .aw-acc-panel { display:grid; grid-template-rows:0fr; transition:grid-template-rows .28s ease; }
.aw-pdp-v2 .aw-acc-item.open .aw-acc-panel { grid-template-rows:1fr; }
.aw-pdp-v2 .aw-acc-inner { overflow:hidden; min-height:0; padding:0 .1rem 1.1rem; font:400 .85rem/1.65 'Inter',sans-serif; color:#534c45; }
.aw-pdp-v2 .aw-acc-item:not(.open) .aw-acc-inner { padding-top:0; padding-bottom:0; }
.aw-pdp-v2 .aw-acc-inner ul { margin:.4rem 0 0; padding-left:1.1rem; }
.aw-pdp-v2 .aw-acc-inner li { margin:.18rem 0; }
.aw-pdp-v2 .aw-acc-inner b,.aw-pdp-v2 .aw-acc-inner strong { color:var(--aw-ink); font-weight:600; }
.aw-pdp-v2 .aw-acc-inner h2,.aw-pdp-v2 .aw-acc-inner h3 { font:600 .95rem/1.3 'Inter',sans-serif; color:var(--aw-ink); margin:.6rem 0 .3rem; }
/* Germanized's "Verantwortliche Person in der EU" renders as a big <h4> — shrink it to match the body text. */
.aw-pdp-v2 .aw-acc-inner h4,
.aw-pdp-v2 .aw-acc-inner .wc-gzd-manufacturer-eu-title { font:600 .85rem/1.45 'Inter',sans-serif !important; color:var(--aw-ink) !important; margin:.7rem 0 .15rem !important; }

/* Below-the-fold sections (full width) */
.aw-pdp-v2 .aw-bf { clear:both; width:100%; max-width:none; margin:1.6rem 0 0; border:1px solid var(--aw-line); border-radius:16px; background:#fff; padding:1.5rem 1.6rem; box-sizing:border-box; }
.aw-pdp-v2 .aw-bf-h2 { font:700 1.15rem/1.2 'Inter',sans-serif; letter-spacing:-.01em; margin:0 0 1rem; }
.aw-pdp-v2 .aw-faq-item:first-of-type { border-top:1px solid var(--aw-line); }
/* FAQ questions are full sentences — show them in sentence case, not uppercase. */
.aw-pdp-v2 .aw-faq-item .aw-acc-h,
.aw-pdp-v2 .aw-faq-item .aw-acc-head { text-transform:none !important; letter-spacing:normal !important; }

/* Reviews (stub) */
.aw-pdp-v2 .aw-stub { font:500 .7rem/1 'Inter',sans-serif; color:#b08; background:#fdeef5; padding:3px 7px; border-radius:5px; vertical-align:middle; }
.aw-pdp-v2 .aw-rev-top { display:flex; gap:1.6rem; align-items:center; flex-wrap:wrap; padding-bottom:1.2rem; border-bottom:1px solid var(--aw-line); margin-bottom:1.2rem; }
.aw-pdp-v2 .aw-rev-num { font:800 2.4rem/1 'Inter',sans-serif; }
.aw-pdp-v2 .aw-rev-stars,.aw-pdp-v2 .aw-rev-st { color:#e0a93b; }
.aw-pdp-v2 .aw-rev-cnt { font:400 .72rem/1 'Inter',sans-serif; color:var(--aw-muted); margin-top:.3rem; }
.aw-pdp-v2 .aw-rev-bars { flex:1; min-width:230px; display:flex; flex-direction:column; gap:.3rem; }
.aw-pdp-v2 .aw-rev-bar { display:flex; align-items:center; gap:.5rem; font:500 .68rem/1 'Inter',sans-serif; color:var(--aw-muted); }
.aw-pdp-v2 .aw-rev-track { flex:1; height:7px; border-radius:4px; background:#f0eadf; overflow:hidden; }
.aw-pdp-v2 .aw-rev-fill { display:block; height:100%; background:#e0a93b; }
.aw-pdp-v2 .aw-rev-card { padding:1rem 0; border-bottom:1px solid var(--aw-line); }
.aw-pdp-v2 .aw-rev-hd { display:flex; align-items:center; gap:.6rem; margin-bottom:.3rem; }
.aw-pdp-v2 .aw-rev-av { width:30px; height:30px; border-radius:50%; background:#efe7da; color:#b59a78; font:700 .75rem/30px 'Inter',sans-serif; text-align:center; }
.aw-pdp-v2 .aw-rev-nm { font:600 .82rem/1 'Inter',sans-serif; }
.aw-pdp-v2 .aw-rev-vf { font:600 .6rem/1 'Inter',sans-serif; color:#3f7d4e; background:#e8f1e8; padding:3px 6px; border-radius:5px; }
.aw-pdp-v2 .aw-rev-dt { font:400 .68rem/1 'Inter',sans-serif; color:#b3a795; margin-left:auto; }
.aw-pdp-v2 .aw-rev-tx { font:400 .82rem/1.6 'Inter',sans-serif; color:#534c45; margin:.2rem 0 0; }

/* Related products */
.aw-pdp-v2 .aw-rel-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:.9rem; }
@media (max-width:820px){ .aw-pdp-v2 .aw-rel-grid { grid-template-columns:repeat(2,1fr); } }
.aw-pdp-v2 .aw-rel-card { border:1px solid var(--aw-line); border-radius:12px; overflow:hidden; background:#fff; text-decoration:none; color:inherit; transition:box-shadow .18s,transform .18s; display:block; }
.aw-pdp-v2 .aw-rel-card:hover { box-shadow:0 8px 24px rgba(0,0,0,.07); transform:translateY(-2px); }
.aw-pdp-v2 .aw-rel-img img { width:100%; height:auto; aspect-ratio:1/1; object-fit:contain; background:#f4efe8; display:block; }
.aw-pdp-v2 .aw-rel-bd { padding:.7rem .8rem .9rem; }
.aw-pdp-v2 .aw-rel-t { font:500 .76rem/1.35 'Inter',sans-serif; height:2.6em; overflow:hidden; }
.aw-pdp-v2 .aw-rel-p { margin-top:.4rem; }
.aw-pdp-v2 .aw-rel-p .price,.aw-pdp-v2 .aw-rel-p .amount { font:700 .9rem/1 'Inter',sans-serif !important; color:var(--aw-brand) !important; }

/* ===== Font consistency: Inter EVERYWHERE on the v2 page (override the theme's
   Newsreader serif h2/h3 !important so headings match the Inter body) ===== */
.aw-pdp-v2 h1, .aw-pdp-v2 h2, .aw-pdp-v2 h3, .aw-pdp-v2 h4,
.aw-pdp-v2 .product_title, .aw-pdp-v2 .aw-bf-h2,
.aw-pdp-v2 .aw-acc-head, .aw-pdp-v2 .aw-acc-inner h2, .aw-pdp-v2 .aw-acc-inner h3 {
	font-family:'Inter',sans-serif !important;
}

/* ===== Vertical left gallery rail — compact, height-matched, scrollable, active highlight =====
   rtWPVG free can't auto-slide a left rail, so we make it a tidy scrollable column instead. */
/* Main image fills the full space between the rail and the right column (flex-grow). */
.aw-pdp-v2 .rtwpvg-thumbnail-position-left .rtwpvg-container { align-items:flex-start; gap:14px !important; justify-content:flex-start !important; }
/* Center the main image between the rail and the right text, with balanced margins
   (not flush against the rail — that flush edge was the "vertical line"). */
.aw-pdp-v2 .rtwpvg-thumbnail-position-left .rtwpvg-slider-wrapper {
	flex:1 1 auto !important; min-width:0 !important; width:auto !important; max-width:none !important;
	margin:0 !important; border-radius:12px !important; overflow:hidden !important;
	border:0 !important; box-shadow:none !important; background:transparent !important;
}
/* The vertical line was an anti-aliasing seam at the main image's rounded clip edge, worsened
   by a radius mismatch (slider 12px vs wrapper 10px). Unify the wrapper to 12px (above) and
   crop the 1px AA seam on the slider while keeping rounded corners. Diagnosed live via isolation. */
.aw-pdp-v2 .rtwpvg-thumbnail-position-left .rtwpvg-slider { clip-path: inset(1px round 12px) !important; }
.aw-pdp-v2 .rtwpvg-thumbnail-position-left .rtwpvg-slider,
.aw-pdp-v2 .rtwpvg-thumbnail-position-left .rtwpvg-slider .swiper-wrapper,
.aw-pdp-v2 .rtwpvg-thumbnail-position-left .rtwpvg-gallery-image { width:100% !important; max-width:none !important; }
.aw-pdp-v2 .rtwpvg-thumbnail-position-left .rtwpvg-gallery-image img { width:100% !important; height:auto !important; }
/* Round the white image box + image itself on ALL corners (overflow:hidden alone left one square). */
.aw-pdp-v2 .rtwpvg-slider-wrapper .rtwpvg-slider,
.aw-pdp-v2 .rtwpvg-slider-wrapper .rtwpvg-single-image-container,
.aw-pdp-v2 .rtwpvg-slider-wrapper .rtwpvg-gallery-image,
.aw-pdp-v2 .rtwpvg-slider-wrapper .rtwpvg-gallery-image img { border-radius:12px !important; }

/* Show ALL thumbnails stacked, full opacity (no greying), no scroll. Active = subtle outline. */
.aw-pdp-v2 .rtwpvg-thumbnail-wrapper {
	flex:0 0 auto; width:64px !important; max-width:64px !important;
	overflow:visible !important; max-height:none !important; height:auto !important; visibility:visible !important;
	align-self:flex-start !important; /* don't stretch to image height — pin rail to the top */
	align-items:flex-start !important;
}
.aw-pdp-v2 .rtwpvg-thumbnail-slider { width:64px !important; max-width:64px !important; height:auto !important; max-height:none !important; overflow:visible !important; align-self:flex-start !important; }
.aw-pdp-v2 .rtwpvg-thumbnail-slider .swiper-wrapper { display:flex !important; flex-direction:column !important; height:auto !important; overflow:visible !important; transform:none !important; justify-content:flex-start !important; align-content:flex-start !important; }
.aw-pdp-v2 .rtwpvg-thumbnail-slider .rtwpvg-thumbnail-image { opacity:1 !important; }
.aw-pdp-v2 .rtwpvg-thumbnail-slider .swiper-slide {
	width:56px !important; height:56px !important; margin:0 0 8px !important;
	opacity:1 !important; cursor:pointer; transition:outline-color .15s ease;
	border-radius:7px; overflow:hidden; outline:2px solid transparent; outline-offset:1px;
	box-sizing:border-box !important;
}
.aw-pdp-v2 .rtwpvg-thumbnail-slider .swiper-slide img { width:56px !important; height:56px !important; object-fit:cover !important; border-radius:7px; }
/* rtWPVG's native active is unreliable here (thumbnail slider deactivated → stuck on image 1).
   Neutralize it; ONLY our JS-driven .aw-thumb-active drives the brand outline. */
.aw-pdp-v2 .rtwpvg-thumbnail-slider .rtwpvg-thumbnail-image.swiper-slide-thumb-active { border-color:transparent !important; outline-color:transparent !important; }
.aw-pdp-v2 .rtwpvg-thumbnail-slider .swiper-slide.aw-thumb-active { outline-color:var(--aw-brand) !important; }

/* Clickable left/right navigation zones on the main image (desktop only — keep mobile swipe).
   Below the arrows/zoom (z-index 6) so those still work; center stays free for zoom-on-click. */
.aw-pdp-v2 .rtwpvg-slider .aw-gal-side { position:absolute; top:0; bottom:0; width:34%; z-index:5; background:transparent; border:0; padding:0; margin:0; cursor:pointer; outline:none !important; -webkit-tap-highlight-color:transparent; }
.aw-pdp-v2 .rtwpvg-slider .aw-gal-side:focus, .aw-pdp-v2 .rtwpvg-slider .aw-gal-side:focus-visible { outline:none !important; box-shadow:none !important; }
/* Kill any focus ring (blue line) anywhere in the gallery — slider, swiper, slides, image links, nav zones. */
.aw-pdp-v2 div.images :focus,
.aw-pdp-v2 div.images :focus-visible,
.aw-pdp-v2 .rtwpvg-slider:focus,
.aw-pdp-v2 .rtwpvg-slider .swiper:focus,
.aw-pdp-v2 .rtwpvg-slider .swiper-slide:focus,
.aw-pdp-v2 .rtwpvg-gallery-image:focus,
.aw-pdp-v2 .rtwpvg-gallery-image a:focus { outline:none !important; box-shadow:none !important; }
/* Hide any scrollbar that could read as a vertical line in the gallery column. */
.aw-pdp-v2 div.images, .aw-pdp-v2 .rtwpvg-wrapper, .aw-pdp-v2 .rtwpvg-thumbnail-wrapper { scrollbar-width:none !important; }
.aw-pdp-v2 div.images::-webkit-scrollbar, .aw-pdp-v2 .rtwpvg-thumbnail-wrapper::-webkit-scrollbar { width:0 !important; height:0 !important; display:none !important; }
.aw-pdp-v2 .rtwpvg-slider .aw-gal-side-prev { left:0; }
.aw-pdp-v2 .rtwpvg-slider .aw-gal-side-next { right:0; }
.aw-pdp-v2 .rtwpvg-slider:not(.aw-gal-multi) .aw-gal-side { display:none; }
@media (max-width:767px){ .aw-pdp-v2 .rtwpvg-slider .aw-gal-side { display:none; } }

/* Mobile sticky add-to-cart bar */
.aw-pdp-v2 .aw-sticky-atc { position:fixed; left:0; right:0; bottom:0; z-index:9999; display:flex; align-items:center; gap:.8rem; padding:.6rem .9rem; background:#fff; border-top:1px solid var(--aw-line); box-shadow:0 -4px 16px rgba(0,0,0,.08); }
.aw-pdp-v2 .aw-sticky-atc[hidden] { display:none; }
.aw-pdp-v2 .aw-sticky-price .amount,.aw-pdp-v2 .aw-sticky-price .price { font:700 1.05rem/1 'Inter',sans-serif !important; color:var(--aw-brand) !important; }
.aw-pdp-v2 .aw-sticky-btn { margin-left:auto; height:46px; padding:0 1.4rem; border:0; border-radius:11px; background:var(--aw-brand); color:#fff; font:600 .82rem/1 'Inter',sans-serif; letter-spacing:.04em; }
@media (min-width:992px){ .aw-pdp-v2 .aw-sticky-atc { display:none !important; } } /* mobile + tablet only */

/* ============================================================================
   MOBILE / TABLET (≤ 991px) — keep EVERY element, reflow for the best touch UX.
   (Desktop two-column layout lives in @media min-width:992px; below it WooCommerce
   stacks images above the summary — here we make that clean and finger-friendly.)
   ============================================================================ */
@media (max-width: 991px){

  /* ---- Gallery: full-width swipeable image on top, thumbnails as a horizontal
          scroll strip below (all thumbnails kept, nothing dropped) ---- */
  .aw-pdp-v2 div.product div.images { width:100% !important; margin:0 0 1.1rem !important; padding:0 !important; background:transparent !important; border-radius:0 !important; }
  .aw-pdp-v2 .rtwpvg-thumbnail-position-left .rtwpvg-container { flex-direction:column !important; gap:10px !important; align-items:stretch !important; }
  .aw-pdp-v2 .rtwpvg-thumbnail-position-left .rtwpvg-slider-wrapper { order:0 !important; flex:0 0 auto !important; width:100% !important; max-width:100% !important; margin:0 !important; }
  .aw-pdp-v2 .rtwpvg-thumbnail-wrapper { order:1 !important; flex:0 0 auto !important; width:100% !important; max-width:100% !important; align-self:stretch !important; }
  .aw-pdp-v2 .rtwpvg-thumbnail-slider { width:100% !important; max-width:100% !important; }
  .aw-pdp-v2 .rtwpvg-thumbnail-slider .swiper-wrapper { flex-direction:row !important; flex-wrap:nowrap !important; overflow-x:auto !important; overflow-y:hidden !important; gap:8px !important; scrollbar-width:none !important; -webkit-overflow-scrolling:touch; transform:none !important; }
  .aw-pdp-v2 .rtwpvg-thumbnail-slider .swiper-wrapper::-webkit-scrollbar { display:none !important; }
  .aw-pdp-v2 .rtwpvg-thumbnail-slider .swiper-slide { margin:0 !important; flex:0 0 auto !important; width:58px !important; height:58px !important; }
  .aw-pdp-v2 .rtwpvg-slider .aw-gal-nav { opacity:1 !important; }      /* arrows always visible on touch */
  .aw-pdp-v2 .rtwpvg-slider .aw-gal-side { display:none !important; }  /* swipe handles nav; no side-click zones */

  /* ---- Summary stacks full width, not sticky ---- */
  .aw-pdp-v2 div.product div.summary { width:100% !important; position:static !important; display:flex !important; flex-direction:column !important; }
  .aw-pdp-v2 div.product .product_title { font-size:1.3rem !important; }
  .aw-pdp-v2 div.product p.price, .aw-pdp-v2 div.product span.price { font-size:1.5rem !important; }
  .aw-pdp-v2 div.product form.cart .single_add_to_cart_button { flex:1 1 auto !important; padding:0 1.4rem !important; }

  /* Reorder (mobile only): pull the variant picker + buy up to right after the price block,
     so colour/size is visible above the fold. Everything else keeps its order — nothing dropped. */
  .aw-pdp-v2 div.product div.summary > * { order:6; }
  .aw-pdp-v2 div.product div.summary > .single-product-category { order:1; }
  .aw-pdp-v2 div.product div.summary > .product_title { order:2; }
  .aw-pdp-v2 div.product div.summary > .price { order:3; }
  .aw-pdp-v2 div.product div.summary > .legal-price-info { order:4; }
  .aw-pdp-v2 div.product div.summary > form.cart { order:5; }   /* swatches + size + qty + buy */
  .aw-pdp-v2 div.product div.summary > .aw-trust { order:5; }   /* reassurance right under the buy block */

  /* ---- Below-the-fold: comfortable padding, related stays 2-up ---- */
  .aw-pdp-v2 .aw-bf { padding:1.1rem 1rem !important; margin-top:1.1rem !important; }
  .aw-pdp-v2 .aw-rel-grid { grid-template-columns:repeat(2,1fr) !important; }
}
