/* HEROCOS PDP, scoped to the existing storefront palette and WooCommerce form. */
body.hc-studio.single-product { --pdp-ink:#211c2b; --pdp-purple:#6e46a4; --pdp-line:#e7e2ec; }
body.hc-studio.single-product [hidden] { display:none !important; }
body.hc-studio.single-product .site-main > .cwt-container > div.product { grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr); gap:38px; align-items:start; }
body.hc-studio.single-product .site-main > .cwt-container > div.product { position:relative; }
body.hc-studio.single-product .site-main > .cwt-container > div.product > .onsale { position:absolute; top:22px; left:22px; right:auto; z-index:5; }
body.hc-studio.single-product .site-main > .cwt-container > div.product > div.images { padding:12px; top:24px; }
body.hc-studio.single-product .site-main > .cwt-container > div.product > div.images .woocommerce-product-gallery__image img { object-fit:contain; max-height:690px; }
/* The parent theme declares gallery display !important at several breakpoints. */
body.hc-studio.single-product .site-main > .cwt-container > div.product > div.images .flex-control-thumbs { display:flex !important; flex-wrap:nowrap; overflow-x:auto; padding:3px 2px 10px; scrollbar-width:thin; scroll-snap-type:x proximity; }
body.hc-studio.single-product .site-main > .cwt-container > div.product > div.images .flex-control-thumbs li { flex:0 0 66px; width:66px !important; margin:0; float:none; scroll-snap-align:start; }
body.hc-studio.single-product .site-main > .cwt-container > div.product > div.images .flex-control-thumbs img { width:66px; height:70px; cursor:pointer; opacity:.65; }
body.hc-studio.single-product .site-main > .cwt-container > div.product > div.images .flex-control-thumbs img.flex-active { opacity:1; outline:1px solid var(--pdp-purple); }
.hc-pdp-gallery-hint { margin:8px 2px 2px; color:#6f6879; font-size:12px; line-height:1.5; text-align:center; }
body.hc-studio.single-product .site-main > .cwt-container > div.product > div.summary { padding-top:3px; }
.hc-pdp-kicker { margin:0 0 12px; font-size:10px; font-weight:700; letter-spacing:1.7px; color:#6e46a4; }
.hc-pdp-kicker span { padding:0 6px; color:#aaa0b4; }
body.hc-studio.single-product .site-main > .cwt-container > div.product > div.summary .product_title { font-size:clamp(25px,2.35vw,34px); line-height:1.18; margin:0 0 16px; font-weight:500; }
body.hc-studio.single-product .site-main > .cwt-container > div.product > div.summary > .price { margin:0 0 18px; padding:0; font-size:27px; line-height:1.4; border:0; }
.hc-pdp-facts { margin:0 0 16px; font-size:13px; line-height:1.6; }
.hc-pdp-facts div { display:flex; gap:12px; padding:3px 0; }
.hc-pdp-facts dt { min-width:70px; font-weight:500; color:#6f6879; }
.hc-pdp-facts dd { margin:0; color:#39313f; }
.hc-pdp-intro { color:#6f6879; font-size:14px; }
.hc-pdp-quick-links { display:flex; flex-wrap:wrap; gap:8px 22px; margin:0 0 18px; font-size:13px; }
.hc-pdp-quick-links a { min-height:36px; display:inline-flex; align-items:center; text-decoration:underline; text-underline-offset:4px; color:#5b368d; }
.hc-pdp-form-title { margin:0 0 12px; font-size:15px; font-weight:600; color:#211c2b; }
body.hc-studio.single-product .site-main > .cwt-container > div.product > div.summary form.cart { margin:0 0 16px; padding:0 0 20px; border-top:0; display:flex; flex-wrap:wrap; }
body.hc-studio.single-product .site-main .summary form.cart .variations { display:block; width:100%; margin:0 0 10px; border:0; }
body.hc-studio.single-product .site-main .summary form.cart .variations tbody { display:block; width:100%; }
body.hc-studio.single-product .site-main .summary form.cart .variations tr { display:block; margin:0 0 16px; }
body.hc-studio.single-product .site-main .summary form.cart .variations th,
body.hc-studio.single-product .site-main .summary form.cart .variations td { display:block; padding:0; border:0; background:transparent; width:auto; }
body.hc-studio.single-product .site-main .summary form.cart .variations label { display:block; margin:0 0 8px; font-size:13px; font-weight:600; }
.hc-pdp-native-hidden { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; clip-path:inset(50%) !important; white-space:nowrap !important; border:0 !important; min-height:0 !important; }
.hc-pdp-options { display:flex; flex-wrap:wrap; gap:8px; }
body.hc-studio.single-product .site-main .summary form.cart button.hc-pdp-option { width:auto; min-width:48px; min-height:44px; height:auto; padding:10px 14px; margin:0; border:1px solid #d8d0df; border-radius:3px; background:#fff; color:#453a4e; font-size:13px; font-weight:500; line-height:1.4; text-align:center; box-shadow:none; text-transform:none; letter-spacing:0; cursor:pointer; }
body.hc-studio.single-product .site-main .summary form.cart button.hc-pdp-option:hover:not(:disabled) { border-color:#6e46a4; background:#f8f4fc; color:#4f287f; }
body.hc-studio.single-product .site-main .summary form.cart button.hc-pdp-option[aria-pressed="true"] { border-color:#6e46a4; color:#4f287f; background:#f0e8f8; box-shadow:inset 0 0 0 1px #6e46a4; }
body.hc-studio.single-product .site-main .summary form.cart button.hc-pdp-option:disabled { opacity:.4; text-decoration:line-through; cursor:not-allowed; background:#f4f2f5; }
body.hc-studio.single-product .site-main > .cwt-container > div.product > div.summary form.cart table.variations tr.hc-pdp-fixed-row { display:flex; gap:10px; align-items:baseline; margin:0 0 12px; font-size:13px; }
body.hc-studio.single-product .site-main > .cwt-container > div.product > div.summary form.cart table.variations .hc-pdp-fixed-row label { margin:0; color:#6f6879; font-weight:400; }
.hc-pdp-fixed-value { color:#453a4e; }
body.hc-studio.single-product .site-main .summary form.cart .reset_variations { display:inline-block; margin-top:9px; font-size:12px; color:#6f6879; text-decoration:underline; }
body.hc-studio.single-product .site-main .summary form.cart > .reset_variations { flex:0 0 100%; margin:0 0 12px; }
.hc-pdp-selection { flex:0 0 100%; font-size:12px; color:#62536d; line-height:1.5; margin:0 0 12px; }
.hc-pdp-selection:empty { display:none; }
body.hc-studio.single-product .site-main .summary .single_variation_wrap { width:100%; }
body.hc-studio.single-product .site-main .summary .woocommerce-variation-add-to-cart { display:flex; gap:12px; flex-wrap:wrap; align-items:stretch; }
body.hc-studio.single-product .site-main .summary .woocommerce-variation-price { display:none; }
body.hc-studio.single-product .site-main .summary form.cart .quantity { flex:0 0 78px; margin:0; }
body.hc-studio.single-product .site-main .summary form.cart .quantity input.qty { width:78px; min-height:52px; }
body.hc-studio.single-product .site-main .summary form.cart .single_add_to_cart_button { flex:1; margin:0; min-height:52px; min-width:160px; border-radius:3px; font-size:15px; }
body.hc-studio.single-product .site-main .summary form.cart .single_add_to_cart_button.disabled { opacity:.5; }
.hc-pdp-purchase-help { font-size:13px; line-height:1.65; }
.hc-pdp-purchase-help p { margin:10px 0; }
.hc-pdp-purchase-help a { color:#5b368d; text-decoration:underline; text-underline-offset:3px; }
.hc-pdp-muted { color:#6f6879; font-size:13px; }
.hc-pdp-includes { border-bottom:1px solid #e7e2ec; margin-bottom:16px; padding-bottom:12px; }
.hc-pdp-includes summary,.hc-pdp-measure summary { min-height:44px; padding:10px 0; cursor:pointer; font-weight:600; }
.hc-pdp-custom { background:#f0e8f8; border-left:3px solid #6e46a4; padding:12px; }
body.hc-studio.single-product .site-main > .cwt-container > div.product > .woocommerce-tabs { margin-top:8px; min-width:0; }
body.hc-studio.single-product .site-main > .cwt-container > div.product > .woocommerce-tabs ul.tabs { display:flex; flex-wrap:nowrap; overflow-x:auto; white-space:nowrap; gap:24px; scrollbar-width:thin; }
body.hc-studio.single-product .site-main > .cwt-container > div.product > .woocommerce-tabs ul.tabs li { flex:0 0 auto; margin:0; }
body.hc-studio.single-product .site-main > .cwt-container > div.product > .woocommerce-tabs .panel { max-width:100%; padding:26px 0; }
.hc-pdp-description { max-width:950px; }
.hc-pdp-description img { max-width:100%; height:auto; }
.hc-pdp-description h3,.hc-pdp-delivery h3 { margin:24px 0 10px; font-size:18px; color:#211c2b; }
.hc-pdp-description > h3:first-child { margin-top:0; }
.hc-pdp-description ul { padding-left:22px; }
.hc-pdp-description table,.hc-pdp-chart table { border-collapse:collapse; font-size:13px; width:100%; margin:12px 0 22px; }
.hc-pdp-description td,.hc-pdp-description th,.hc-pdp-chart td,.hc-pdp-chart th { border:1px solid #e7e2ec; padding:10px; text-align:left; white-space:normal; }
.hc-pdp-chart .sec,.hc-pdp-chart .sec-alt { background:#eee8f4; color:#453453; font-weight:600; }
.hc-pdp-chart .lbl { font-weight:600; }
.hc-pdp-chart .note { font-weight:400; color:#62536d; background:#f7f4f9; font-size:12px; }
.hc-pdp-chart { max-width:100%; overflow-x:auto; }
.hc-pdp-chart h2 { font-size:20px; }
.hc-pdp-chart h3 { font-size:16px; margin:16px 0 10px; }
.hc-pdp-size-content { color:#554e60; font-size:14px; line-height:1.7; }
.hc-pdp-size-content > h2,.hc-pdp-delivery > h2 { margin:0 0 12px; font-size:25px; font-weight:500; color:#211c2b; }
.hc-pdp-size-notice { background:#f6f2f9; padding:20px; border-left:3px solid #6e46a4; margin:16px 0; }
.hc-pdp-size-notice p { margin:8px 0 0; }
.hc-pdp-size-content a,.hc-pdp-delivery a { color:#5b368d; text-decoration:underline; text-underline-offset:3px; }
.hc-pdp-measure { border-top:1px solid #e7e2ec; border-bottom:1px solid #e7e2ec; margin-top:20px; }
.hc-pdp-measure ol { padding-left:22px; }
.hc-pdp-measure li { margin-bottom:8px; }
.hc-pdp-unit-controls { display:flex; gap:8px; margin:16px 0; }
.hc-pdp-unit-controls button { min-height:44px; padding:8px 16px; border:1px solid #d8d0df; border-radius:3px; background:#fff; color:#554e60; cursor:pointer; font-size:13px; }
.hc-pdp-unit-controls button[aria-pressed="true"] { color:#4f287f; background:#f0e8f8; border-color:#6e46a4; }
.hc-pdp-fit-controls { display:flex; gap:8px; flex-wrap:wrap; margin:12px 0; }
.hc-pdp-fit-controls button,.hc-pdp-fit-controls span { display:inline-flex; align-items:center; min-height:44px; padding:8px 14px; border:1px solid #d8d0df; border-radius:3px; font-size:13px; background:#fff; color:#554e60; }
.hc-pdp-fit-controls span { border:0; padding-left:0; font-weight:600; }
.hc-pdp-fit-controls button { cursor:pointer; }
.hc-pdp-fit-controls button[aria-pressed="true"] { color:#4f287f; background:#f0e8f8; border-color:#6e46a4; }
.hc-pdp-delivery-grid { display:grid; grid-template-columns:1fr 1fr; gap:40px; max-width:1000px; font-size:14px; }
.hc-pdp-delivery-grid h3 { margin-top:6px; }
.hc-pdp-size-dialog { width:min(900px,calc(100vw - 40px)); max-height:85vh; padding:0; border:0; border-radius:6px; box-shadow:0 20px 80px #211c2b40; color:#211c2b; background:#fff; }
.hc-pdp-size-dialog::backdrop { background:#211c2b99; }
.hc-pdp-dialog-head { position:sticky; top:0; z-index:2; display:flex; justify-content:space-between; align-items:center; gap:12px; padding:18px 24px; background:#fff; border-bottom:1px solid #e7e2ec; }
.hc-pdp-dialog-head h2 { margin:0; font-size:22px; font-weight:500; }
.hc-pdp-dialog-head button { border:1px solid #d8d0df; background:#fff; color:#453453; border-radius:3px; padding:9px 16px; min-height:44px; cursor:pointer; }
.hc-pdp-size-dialog [data-hc-size-slot] { padding:24px; }
.hc-pdp-dialog-open { overflow:hidden; }
.hc-pdp-sticky { display:none; }
body.hc-studio.single-product :is(.hc-pdp-option,.hc-pdp-unit-controls button,.hc-pdp-dialog-head button,.hc-pdp-sticky button,.flex-control-thumbs img):focus-visible { outline:3px solid #9170b8; outline-offset:3px; }
@media (max-width:1000px) {
  body.hc-studio.single-product .site-main > .cwt-container > div.product { gap:24px; grid-template-columns:minmax(0,1fr) minmax(300px,1fr); }
  .hc-pdp-facts div { display:block; padding:4px 0; }
  .hc-pdp-facts dt { display:inline; margin-right:8px; }
  .hc-pdp-facts dd { display:inline; }
}
@media (max-width:767px) {
  body.hc-studio.single-product .site-main > .cwt-container { padding-top:18px; }
  body.hc-studio.single-product .site-main > .cwt-container > div.product { grid-template-columns:minmax(0,1fr); gap:26px; padding-bottom:30px; }
  body.hc-studio.single-product .site-main > .cwt-container > div.product > div.images { position:relative; top:auto; padding:8px; }
  body.hc-studio.single-product .site-main > .cwt-container > div.product > .onsale { top:16px; left:16px; }
  body.hc-studio.single-product .site-main > .cwt-container > div.product > div.summary .product_title { font-size:27px !important; line-height:1.22; }
  .hc-pdp-kicker { font-size:9px; letter-spacing:1.3px; }
  .hc-pdp-quick-links { gap:6px 20px; margin-bottom:16px; }
  .hc-pdp-delivery-grid { grid-template-columns:1fr; gap:12px; }
  .hc-pdp-size-dialog { width:calc(100vw - 20px); max-height:90dvh; max-width:none; }
  .hc-pdp-dialog-head { padding:12px 16px; }
  .hc-pdp-dialog-head h2 { font-size:20px; }
  .hc-pdp-size-dialog [data-hc-size-slot] { padding:16px; }
  .hc-pdp-chart table { font-size:11px; min-width:480px; }
  .hc-pdp-chart td,.hc-pdp-chart th { padding:8px; }
  .hc-pdp-sticky { position:fixed; z-index:80; bottom:0; left:0; right:0; display:flex; align-items:center; justify-content:space-between; gap:14px; padding:12px 16px calc(12px + env(safe-area-inset-bottom)); border-top:1px solid #e7e2ec; background:#fffffff5; box-shadow:0 -3px 20px #211c2b0a; }
  .hc-pdp-sticky > div { min-width:0; }
  .hc-pdp-sticky-label { display:block; color:#6f6879; font-size:10px; line-height:1.5; }
  .hc-pdp-sticky strong { display:block; font-size:16px; font-weight:600; color:#211c2b; line-height:1.4; }
  .hc-pdp-sticky .price { font-size:inherit; }
  .hc-pdp-sticky del { font-size:12px; color:#6f6879; }
  .hc-pdp-sticky ins { text-decoration:none; }
  .hc-pdp-sticky button { flex:0 0 auto; min-height:46px; padding:12px 20px; border:1px solid #6e46a4; border-radius:3px; background:#6e46a4; color:#fff; font-size:13px; font-weight:600; cursor:pointer; }
  body.hc-has-pdp-sticky { padding-bottom:92px; }
}
@media (prefers-reduced-motion:reduce) { .hc-pdp-option { transition:none !important; } }
