/* Product page overrides. No changes to cart, checkout or account layouts. */
body.single-product #main > .ct-container,
body.single-product #main > .ct-container-full { padding-top: 28px !important; }
.single-product div.product .summary { padding: clamp(20px, 3vw, 32px) !important; }
.single-product .product_title { font-size: clamp(28px, 3vw, 40px) !important; line-height: 1.12 !important; }
.single-product .summary .price { margin: 10px 0 4px !important; font-size: 30px !important; }
.single-product .summary .price del { color: #aaa6b8 !important; }
.single-product .ous-ahorro { margin: 0 0 14px !important; }
.single-product .ous-benefit { color: #d1cedc; font-size: 16px; line-height: 1.6; margin: 0 0 16px; }
.single-product .ous-includes { list-style: none; padding: 0; margin: 16px 0; display: grid; gap: 8px; }
.single-product .ous-includes li { display: flex; gap: 10px; margin: 0; color: #f7f7fa; }
.single-product .ous-includes li::before { content: '✓'; color: var(--ou-verde); font-weight: 700; }
.single-product .ous-facts { margin: 16px 0; border: 1px solid var(--ou-border); border-radius: 14px; padding: 4px 16px; }
.single-product .ous-facts > div { display: grid; grid-template-columns: 100px minmax(0,1fr); gap: 14px; padding: 10px 0; border-bottom: 1px solid var(--ou-border); font-size: 14px; }
.single-product .ous-facts > div:last-child { border-bottom: 0; }
.single-product .ous-facts dt { color: #aaa6b8; font-weight: 500; }
.single-product .ous-facts dd { margin: 0; color: #f7f7fa; overflow-wrap: anywhere; }
.single-product .ous-conditions { background: rgba(109,92,255,.09); border-left: 3px solid var(--ou-purple); border-radius: 0 10px 10px 0; padding: 12px 16px; font-size: 13px; line-height: 1.6; margin: 16px 0; color: #d1cedc; }
.single-product .ous-conditions strong { color: #f7f7fa; }
.single-product .ous-conditions p { margin: 4px 0 0; }
.single-product .ous-stock { color: #ffbd8a; font-size: 13px; margin: 12px 0; }
.single-product .ous-support { font-size: 13px; color: #c7c3d4; margin: 12px 0; }
.single-product .summary form.cart { margin-top: 18px !important; margin-bottom: 12px !important; }
.single-product .summary .single_add_to_cart_button { min-height: 54px; }
.single-product .ous-garantias { margin-top: 16px; padding-top: 16px; gap: 10px; }
.single-product .ous-contador { margin: 12px 0; padding: 12px 16px; }
.single-product .ous-contador__reloj { font-variant-numeric: tabular-nums; }
.single-product .ous-contador[hidden], .ous-barra[hidden] { display: none !important; }
.single-product .ous-barra { left: 50%; right: auto; bottom: max(12px, env(safe-area-inset-bottom)); width: min(760px, calc(100% - 24px)); border: 1px solid var(--ou-border); border-radius: 18px; padding: 12px 18px; transform: translate(-50%, calc(100% + 32px)); }
.single-product .ous-barra.is-visible { transform: translate(-50%, 0); }
.single-product:has(.ous-barra) { padding-bottom: 110px; }
html body.single-product .woocommerce-product-gallery { padding: clamp(20px, 3vw, 40px) !important; }
html body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image img { width: 100% !important; height: auto !important; max-width: 420px !important; max-height: none !important; object-fit: contain !important; }
html body.single-product .woocommerce-product-gallery:hover img { transform: none !important; }
html body.single-product .woocommerce-product-gallery .flex-control-thumbs { display: flex !important; flex-wrap: wrap; gap: 10px; padding: 0; margin: 20px 0 0; list-style: none; }
html body.single-product .woocommerce-product-gallery .flex-control-thumbs li { width: 64px !important; margin: 0; }
html body.single-product .woocommerce-product-gallery .flex-control-thumbs img { width: 64px !important; height: 64px !important; max-width: 64px !important; max-height: 64px !important; border-radius: 8px !important; object-fit: contain !important; }
@media (max-width: 768px) {
  .single-product .ous-facts > div { grid-template-columns: 82px minmax(0,1fr); gap: 10px; }
  html body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image img { max-width: 240px !important; }
  .single-product .ous-barra { gap: 10px; padding: 10px 12px; }
  .single-product .ous-barra__boton { padding: 12px; font-size: 12px; white-space: normal; }
  .single-product .ous-contador { flex-wrap: wrap; gap: 6px; }
}

/* v2.3: preserve the v2.2 side description; keep buying before lower blocks. */
.single-product div.product::before,
.single-product div.product::after { display: none !important; }
@media (max-width: 1100px) {
  .single-product div.product > * { order: 4; }
  .single-product div.product > .woocommerce-product-gallery { order: 1; }
  .single-product div.product > .summary { order: 2; }
  .single-product div.product > .ous-detalle { order: 3; }
}
@media (max-width: 768px) {
  .single-product .ous-contador { flex-wrap: wrap !important; }
  .single-product .ous-contador__etiqueta { white-space: normal !important; }
}

/* Blocksy 2.1.48: the grid belongs to product-entry-wrapper, not its parent. */
body.single-product div.product:has(> .product-entry-wrapper) {display:block !important;}
body.single-product div.product > .product-entry-wrapper {
 display:grid !important;grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
 gap:24px !important;align-items:start !important;
}
body.single-product .product-entry-wrapper > .woocommerce-product-gallery {grid-column:1 !important;grid-row:1 !important;}
body.single-product .product-entry-wrapper > .ous-detalle {grid-column:1 !important;grid-row:2 !important;align-self:start !important;height:auto !important;}
body.single-product .product-entry-wrapper > .summary {grid-column:2 !important;grid-row:1 / span 2 !important;align-self:start !important;}
html body.single-product .woocommerce-product-gallery .ct-media-container img {
 width:100% !important;height:auto !important;max-width:420px !important;max-height:none !important;
 aspect-ratio:1 / 1 !important;object-fit:contain !important;
}
body.single-product .ous-complements,
body.single-product .ous-faq,
body.single-product .ous-cifras,
body.single-product .related,
body.single-product .woocommerce-tabs {
 width:calc(100% - 40px) !important;max-width:1290px !important;
 margin:32px auto !important;box-sizing:border-box;
}
.ous-complements {display:none;}
.ous-complements:has([id^="asnp_weuc_upsell_cross_sell_"]) {display:block;}
.ous-complements .asnp-weuc-upsell-title-styleOne {display:none !important;}
.ous-complements [id^="asnp_weuc_upsell_cross_sell_"] {max-width:100%;}
.ous-complements h2 {font-size:24px;margin-bottom:16px;}
body.single-product .ous-detalle__lista {gap:10px;}
@media(max-width:1100px) {
 body.single-product div.product > .product-entry-wrapper {grid-template-columns:minmax(0,1fr) !important;}
 body.single-product .product-entry-wrapper > .woocommerce-product-gallery {grid-column:1 !important;grid-row:1 !important;}
 body.single-product .product-entry-wrapper > .summary {grid-column:1 !important;grid-row:2 !important;}
 body.single-product .product-entry-wrapper > .ous-detalle {grid-column:1 !important;grid-row:3 !important;}
}
@media(max-width:768px) {
 html body.single-product .woocommerce-product-gallery .ct-media-container img {max-width:230px !important;}
 body.single-product .ous-complements,body.single-product .ous-faq,body.single-product .ous-cifras,body.single-product .related,body.single-product .woocommerce-tabs {width:calc(100% - 24px) !important;}
}

/* 2.4: offer first, detailed content in full-width sections. */
body.single-product .ous-offer-note {font-size:12px;line-height:1.6;color:#c6c2d2;margin:14px 0;padding:12px 14px;border-left:2px solid #9c8cff;background:rgba(109,92,255,.07);}
body.single-product .ous-story,body.single-product .ous-specification {width:calc(100% - 40px);max-width:1290px;margin:48px auto;box-sizing:border-box;}
body.single-product .ous-story h2,body.single-product .ous-specification h2,body.single-product .ous-complements h2 {color:#faf9ff!important;font-size:clamp(24px,3vw,34px);line-height:1.2;margin:10px 0 24px;}
body.single-product .ous-eyebrow {color:#b3a5ff;font-size:11px;font-weight:700;letter-spacing:.15em;}
body.single-product .ous-story-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
body.single-product .ous-story-grid article {padding:28px;border:1px solid #33303f;border-radius:20px;background:linear-gradient(135deg,#1b1828,#111019);}
body.single-product .ous-step {display:inline-grid;place-items:center;width:42px;height:42px;background:#302444;color:#ffb579;border-radius:12px;font-weight:700;margin-bottom:22px;}
body.single-product .ous-story h3,body.single-product .ous-specification h3 {color:#faf9ff;font-size:19px;margin:0 0 12px;}
body.single-product .ous-story p,body.single-product .ous-specification p {color:#c8c4d4;font-size:15px;line-height:1.8;margin:0;}
body.single-product .ous-specification {display:grid;grid-template-columns:1fr 1.6fr;gap:40px;padding:32px;background:#15121f;border:1px solid #33303f;border-radius:20px;}
body.single-product .ous-specification-items article+article {border-top:1px solid #33303f;padding-top:20px;margin-top:20px;}
body.single-product .ous-complements .asnp-weuc-products-wrapper {display:flex!important;flex-wrap:wrap!important;gap:20px!important;justify-content:flex-start!important;}
body.single-product .ous-complements .asnp-weuc-App-GridItem-wrapper {width:100%!important;max-width:100%!important;}
body.single-product .ous-complements .asnp-weuc-upsell-grid-item-one {width:260px!important;max-width:100%!important;flex:0 1 260px!important;}
body.single-product .ous-complements input {color:#191522!important;}
body.single-product .woocommerce-tabs {padding:24px!important;}
body.single-product #reviews #comments,body.single-product #reviews #review_form_wrapper {min-height:0!important;padding:20px!important;}
body.single-product #reviews textarea {min-height:100px!important;height:100px!important;}
body.single-product #reviews .woocommerce-noreviews {min-height:0!important;padding:16px!important;}
@media(min-width:1101px) {body.single-product .product-entry-wrapper > .woocommerce-product-gallery {position:sticky;top:60px;}}
@media(max-width:768px) {
 body.single-product .ous-story,body.single-product .ous-specification {width:calc(100% - 24px);margin:28px auto;}
 body.single-product .ous-story-grid,body.single-product .ous-specification {grid-template-columns:1fr;gap:16px;}
 body.single-product .ous-specification,body.single-product .ous-story-grid article {padding:22px;}
}
body.single-product .ous-complements .asnp-weuc-App-GridItem-wrapper {display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px!important;}
body.single-product .ous-complements .asnp-weuc-upsell-grid-item-one {width:100%!important;max-width:none!important;box-sizing:border-box;}
body.single-product .ous-complements .asnp-weuc-CollectionGridItem-ProductBox {width:100%!important;max-width:none!important;display:flex!important;align-items:center;gap:20px;padding:20px!important;box-sizing:border-box;}
body.single-product .ous-complements .asnp-weuc-image-field-wrapper {flex:0 0 110px;}
body.single-product .ous-complements .asnp-weuc-CollectionGridItem-imageBox {width:110px!important;height:110px!important;}
body.single-product .ous-complements .asnp-weuc-CollectionGridItem-product-info {flex:1;min-width:0;}
body.single-product .ous-complements .asnp-weuc-collection-button {width:100%!important;box-sizing:border-box;}
body.single-product div.product:has(.ous-complements [id^="asnp_weuc_upsell_cross_sell_"] .asnp-weuc-upsell-product-item) > .related {display:none!important;}
@media(max-width:768px) {body.single-product .ous-complements .asnp-weuc-App-GridItem-wrapper {grid-template-columns:1fr!important;}}
/* Ajuste de alineación y espacios */
body.single-product .product-entry-wrapper {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

body.single-product .ous-story {
  margin-top: 32px !important;
}

/* Tarjetas de productos complementarios */
body.single-product .ous-complements
.asnp-weuc-CollectionGridItem-ProductBox {
  flex-direction: row !important;
  justify-content: flex-start !important;
  align-items: center !important;
  height: auto !important;
  min-height: 0 !important;
}

body.single-product .ous-complements
.asnp-weuc-upsell-product-item {
  height: auto !important;
  min-height: 0 !important;
  align-self: start !important;
}

body.single-product .ous-complements
.asnp-weuc-CollectionGridItem-product-info {
  text-align: left !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.single-product .ous-complements
.asnp-weuc-image-field-wrapper {
  margin: 0 !important;
}

/* Evitar que la caja vacía de reseñas se estire */
body.single-product #reviews {
  align-items: start !important;
}

body.single-product #reviews #comments {
  align-self: start !important;
  height: auto !important;
}

/* Tarjetas en una columna en pantallas pequeñas */
@media (max-width: 768px) {
  body.single-product .ous-complements
  .asnp-weuc-App-GridItem-wrapper {
    grid-template-columns: 1fr !important;
  }

  body.single-product .ous-complements
  .asnp-weuc-image-field-wrapper {
    flex: 0 0 80px !important;
  }

  body.single-product .ous-complements
  .asnp-weuc-CollectionGridItem-imageBox {
    width: 80px !important;
    height: 80px !important;
  }
}
