/* ============================================================
   product-single.css — estilo UNICO de la ficha de producto.
   Extraido del <style id="uniclima-v4-css"> inline del mu-plugin
   uniclima-v4-product-ficha.php (regla de oro: CSS fuera del PHP).
   La galeria flexslider se conserva TAL CUAL (fragil).
   ============================================================ */
    /* =========  Reset pagos/iframes Stripe  ========= */
    .single-product .wc-stripe-payment-request-wrapper,
    .single-product .wc-stripe-payment-request-button,
    .single-product [id^="wc-stripe-payment-request-"],
    .single-product .wc-stripe-paymentRequest,
    .single-product .wc-stripe-payment-request-button-separator,
    .single-product .wcpay-payment-request-wrapper,
    .single-product iframe[src*="stripe.com"],
    .single-product iframe[src*="link.com"],
    .single-product iframe[name*="Stripe"],
    .single-product iframe[name^="__privateStripe"],
    .single-product form.cart ~ div:has(> iframe) { display: none !important; height: 0 !important; }

    /* =========  Hide redundancias theme  ========= */
    .single-product .woocommerce-product-details__short-description,
    .single-product .product_meta,
    .single-product .entry-summary > .summary-category-link,
    .single-product .entry-summary > a.product-category-link,
    .single-product .summary .product-category,
    .single-product .summary > p.product_category,
    .single-product .single-product-category-link,
    .single-product .entry-summary .woocommerce-breadcrumb,
    .single-product .entry-summary nav.woocommerce-breadcrumb,
    .single-product .entry-summary .breadcrumb,
    .single-product .entry-summary .ast-breadcrumbs,
    .single-product .entry-summary .astra-breadcrumbs,
    .single-product .entry-summary .ast-breadcrumbs-wrapper,
    .single-product .woocommerce-tabs > ul.tabs,
    .single-product .woocommerce-tabs ul.wc-tabs,
    .single-product #tab-additional_information,
    .single-product .woocommerce-tabs #reviews { display: none !important; }

    .single-product .summary > a[href*="/repuestos/"]:not(.button):not(.btn):not(.u-v4-share):not(.u-v4-tech) { display: none !important; }

    /* =========  Layout general  ========= */
    .single-product .entry-summary { background: #fff; border-radius: 12px; padding: 22px 24px !important; box-shadow: 0 1px 3px rgba(0,0,0,.06); }
    .single-product .woocommerce-product-gallery { background: #fff; border-radius: 12px; padding: 20px; box-shadow: 0 1px 3px rgba(0,0,0,.06); }

    /* Breadcrumb arriba del todo */
    .u-v4-breadcrumb { font-size: 13px; color: #64748b; margin: 0 0 6px; padding: 2px 0; }
    /* FIX padding: ocultar etiqueta de categoria redundante (ya esta en breadcrumb) y migas nativas; reducir hueco superior */
    .single-product .entry-summary .single-product-category,
    .single-product .summary .single-product-category,
    .single-product .entry-summary > nav.woocommerce-breadcrumb { display: none !important; }
    .single-product .entry-summary { padding-top: 14px !important; }
    .u-v4-breadcrumb a { color: #64748b; text-decoration: none; }
    .u-v4-breadcrumb a:hover { color: #dc2626; }
    .u-v4-breadcrumb .sep { margin: 0 6px; color: #cbd5e1; }
    .u-v4-breadcrumb .current { color: #0f172a; font-weight: 600; }

    /* Título */
    .single-product .product_title,
    .single-product h1.product_title { font-size: 1.25rem !important; line-height: 1.25 !important; margin: 0 0 10px !important; color: #0f172a; font-weight: 700; }

    /* Pills Ref / SKU / Marca */
    .u-v4-pills { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 14px; }
    .u-v4-pill { display: inline-flex; align-items: center; gap: 4px; padding: 4px 10px; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 999px; font-size: 12px; color: #475569; }
    .u-v4-pill strong { color: #0f172a; font-weight: 600; }
    .u-v4-pill--refurb { background: #ecfdf5 !important; border-color: #a7f3d0 !important; color: #047857 !important; font-weight: 600; }
    .u-v4-pill svg { width: 14px; height: 14px; color: #dc2626; flex: 0 0 auto; }
    .u-v4-pills--trust { margin: 6px 0 10px !important; }
    /* === COMPACTACION FICHA: que se vean las pestañas de abajo === */
    .single-product .entry-summary { padding: 16px 18px !important; }
    .single-product .entry-summary .price { margin: 2px 0 6px !important; }
    .u-v4-pills { margin: 0 0 8px !important; }
    .u-v4-divider { margin: 10px 0 !important; }
    .single-product form.cart { margin: 4px 0 0 !important; }
    .u-v4-action-row { margin: 8px 0 0 !important; }
    .single-product .woocommerce-product-gallery { padding: 16px !important; }
    /* === RESPONSIVE === */
    @media (max-width: 992px){
      .single-product div.product { display: block !important; }
      .single-product .woocommerce-product-gallery,
      .single-product .entry-summary { width: 100% !important; float: none !important; margin-left: 0 !important; }
      .single-product .woocommerce-product-gallery__image img { max-height: 300px !important; }
    }
    @media (max-width: 600px){
      .single-product h1.product_title { font-size: 1.05rem !important; }
      .single-product .entry-summary .price { font-size: 1.25rem !important; }
      .u-v4-tabs-nav { flex-wrap: wrap !important; }
      .u-v4-tab-btn { flex: 1 1 33% !important; padding: 12px 6px !important; font-size: 12px !important; }
      .u-v4-pill { font-size: 11px !important; }
      .u-v4-ficha-grid { grid-template-columns: 1fr !important; }
    }
    /* Trust badges de conversion */
    .u-v4-trust { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin: 16px 0 4px; }
    .u-v4-trust__item { display: flex; align-items: center; gap: 9px; padding: 10px 12px; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 10px; font-size: 12px; line-height: 1.3; color: #64748b; }
    .u-v4-trust__item svg { width: 22px; height: 22px; color: #dc2626; flex: 0 0 auto; }
    .u-v4-trust__item strong { display: block; color: #0f172a; font-weight: 700; font-size: 13px; }
    @media (max-width: 480px){ .u-v4-trust { grid-template-columns: 1fr; } }
    /* Ocultar etiqueta "Disponibilidad:" huerfana (el badge de stock ya se muestra junto al precio) */
    .single-product .entry-summary .ast-stock-detail,
    .single-product .entry-summary p.stock.ast-stock-detail { display: none !important; }

    /* Precio + stock */
    .single-product .entry-summary .price { font-size: 1.4rem !important; color: #dc2626 !important; font-weight: 700 !important; margin: 0 !important; display: inline-block !important; vertical-align: middle; }
    .single-product .entry-summary .price ins { text-decoration: none; background: none; }
    .single-product .entry-summary .price del { color: #94a3b8; font-size: 0.7em; margin-right: 8px; }
    .u-v4-price-row { display: flex; align-items: baseline; gap: 12px; margin: 0 0 14px; flex-wrap: wrap; }
    .u-v4-stock { display: inline-flex; align-items: center; gap: 4px; padding: 3px 10px; background: #dcfce7; color: #15803d; border-radius: 999px; font-size: 12px; font-weight: 600; }
    .u-v4-stock.out { background: #fee2e2; color: #b91c1c; }

    .u-v4-divider { height: 1px; background: #e2e8f0; margin: 14px 0; }

    /* Form cart */
    .single-product form.cart { margin: 0 !important; display: flex !important; align-items: center; gap: 10px; flex-wrap: wrap; }
    .single-product form.cart .quantity { display: inline-flex !important; align-items: center; }
    /* === ucn-ficha-fix CSS (qty pill) === */
    .single-product .u-v4-qty { display: inline-flex; align-items: stretch; border: 1px solid #cbd5e1; border-radius: 8px; overflow: hidden; background: #fff; }
    .single-product .u-v4-qty button { width: 36px; min-height: 42px; background: #f8fafc; border: none; cursor: pointer; font-size: 18px; line-height: 1; font-family: inherit; color: #0f172a; transition: background .15s; }
    .single-product .u-v4-qty button:hover { background: #e2e8f0; }
    .single-product .u-v4-qty button:disabled { opacity: .5; cursor: not-allowed; }
    .single-product .u-v4-qty input.qty { width: 56px; height: auto; border: none; border-left: 1px solid #cbd5e1; border-right: 1px solid #cbd5e1; border-radius: 0; text-align: center; font-size: 14px; font-weight: 600; -moz-appearance: textfield; appearance: textfield; }
    .single-product .u-v4-qty input.qty::-webkit-outer-spin-button,
    .single-product .u-v4-qty input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
    /* === /ucn-ficha-fix CSS === */

    .single-product form.cart .single_add_to_cart_button,
    .single-product form.cart button.single_add_to_cart_button {
        flex: 1 1 auto !important;
        min-width: 200px !important;
        height: 44px !important;
        background: #dc2626 !important;
        color: #fff !important;
        border: 0 !important;
        border-radius: 8px !important;
        font-weight: 700 !important;
        font-size: 15px !important;
        padding: 0 24px !important;
        cursor: pointer;
        transition: background .15s;
    }
    .single-product form.cart .single_add_to_cart_button:hover { background: #b91c1c !important; }

    /* Botonera secundaria: Compartir / Técnicos */
    .u-v4-action-row { display: flex; gap: 8px; margin: 12px 0 14px; flex-wrap: wrap; }
    .u-v4-btn { display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; background: #fff; border: 1px solid #e2e8f0; border-radius: 8px; font-size: 13px; color: #0f172a; text-decoration: none; cursor: pointer; font-family: inherit; transition: border-color .15s; }
    .u-v4-btn:hover { border-color: #cbd5e1; background: #f8fafc; color: #0f172a; }
    .u-v4-btn svg { width: 14px; height: 14px; }

    .u-v4-share-menu { position: relative; }
    .u-v4-share-dropdown { position: absolute; top: calc(100% + 4px); left: 0; background: #fff; border: 1px solid #e2e8f0; border-radius: 8px; padding: 6px; box-shadow: 0 6px 18px rgba(0,0,0,.1); display: none; z-index: 20; min-width: 190px; }
    .u-v4-share-menu.is-open .u-v4-share-dropdown { display: block; }
    .u-v4-share-dropdown a { display: block; padding: 8px 12px; color: #0f172a; text-decoration: none; border-radius: 4px; font-size: 13px; }
    .u-v4-share-dropdown a:hover { background: #f1f5f9; }

    /* Buscadores (2 separados) */
    .u-v4-search-box { background: #fef2f2; border: 1px solid #fecaca; border-radius: 10px; padding: 12px 14px; margin: 10px 0; }
    .u-v4-search-box.warn { background: #fefce8; border-color: #fde68a; }
    .u-v4-search-box__label { display: flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; color: #7f1d1d; margin-bottom: 8px; }
    .u-v4-search-box.warn .u-v4-search-box__label { color: #854d0e; }
    .u-v4-search-box__input-wrap { position: relative; }
    .u-v4-search-box__input { width: 100%; padding: 9px 32px 9px 12px; border: 1px solid #fecaca; border-radius: 6px; font-size: 13px; font-family: inherit; background: #fff; box-sizing: border-box; }
    .u-v4-search-box.warn .u-v4-search-box__input { border-color: #fde68a; }
    .u-v4-search-box__icon { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); color: #94a3b8; pointer-events: none; }
    .u-v4-search-box__result { margin-top: 8px; padding: 8px 10px; border-radius: 6px; font-size: 13px; display: none; }
    .u-v4-search-box__result.ok { background: #dcfce7; color: #14532d; display: block; }
    .u-v4-search-box__result.ko { background: #fee2e2; color: #7f1d1d; display: block; }

    /* Tabs principales (Compat / Averías / Ficha) — V2.1.4 — caja blanca activa con border rojo (original) */
    .u-v4-tabs-block { display: block !important; width: 100% !important; max-width: 100% !important; margin-top: 18px !important; clear: both !important; }
    .u-v4-tabs-nav { display: flex !important; width: 100% !important; max-width: 100% !important; flex-wrap: nowrap !important; background: #f8fafc; border-radius: 12px 12px 0 0; overflow: visible; box-shadow: 0 1px 3px rgba(0,0,0,.06); gap: 0; }
    .u-v4-tab-btn { flex: 1 1 0 !important; min-width: 0 !important; width: auto !important; padding: 18px 20px; background: transparent; border: 0; cursor: pointer; font-size: 14px; font-weight: 500; color: #64748b; font-family: inherit; transition: all .15s; display: inline-flex; align-items: center; justify-content: center; gap: 8px; position: relative; }
    .u-v4-tab-btn:hover { color: #0f172a; }
    .u-v4-tab-btn.is-active { color: #dc2626; font-weight: 700; background: #fff; border: 2px solid #dc2626; border-bottom: 0; border-radius: 10px 10px 0 0; padding: 16px 18px; margin-bottom: -2px; z-index: 2; }
    .u-v4-tab-count { display: inline-flex; min-width: 22px; height: 22px; padding: 0 7px; align-items: center; justify-content: center; background: #e2e8f0; color: #475569; border-radius: 999px; font-size: 11px; font-weight: 700; }
    .u-v4-tab-btn.is-active .u-v4-tab-count { background: #dc2626; color: #fff; }

    .u-v4-tab-content { width: 100%; background: #fff; padding: 22px; border-radius: 0 0 12px 12px; box-shadow: 0 1px 3px rgba(0,0,0,.06); box-sizing: border-box; }
    .u-v4-tab-panel { display: none; width: 100%; }
    .u-v4-tab-panel.is-active { display: block; }
    .u-v4-tab-panel h2 { display: none; }
    .u-v4-tab-panel ul { list-style: disc; padding-left: 24px; margin: 8px 0; }
    .u-v4-tab-panel li { margin: 4px 0; font-size: 14px; color: #334155; }
    /* Polish: compatibilidades en 2 columnas para listas largas */
    .u-v4-tab-panel[data-tab="compat"] ul { columns: 2; column-gap: 28px; }
    .u-v4-tab-panel[data-tab="compat"] li { break-inside: avoid; }
    @media (max-width: 600px){ .u-v4-tab-panel[data-tab="compat"] ul { columns: 1; } }
    /* Polish: resaltar codigos de error en negrita dentro de averias */
    .u-v4-tab-panel[data-tab="averias"] li strong { color: #b91c1c; }
    .u-v4-tab-panel p { font-size: 14px; color: #334155; margin: 8px 0; }

    /* Ocultar description original (woocommerce tabs panel) cuando nuestro tabs-block está activo */
    .single-product .woocommerce-tabs,
    .single-product #tab-description,
    .single-product .woocommerce-Tabs-panel--description,
    .single-product div[id*="tab-description"] { display: none !important; }

    /* Ficha técnica grid */
    .u-v4-ficha-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; width: 100%; }
    .u-v4-ficha-cell { background: #fff; border: 1px solid #e2e8f0; border-radius: 8px; padding: 14px 16px; }
    .u-v4-ficha-cell--full { grid-column: 1 / -1; }
    .u-v4-ficha-cell__label { font-size: 11px; text-transform: uppercase; letter-spacing: .06em; color: #64748b; font-weight: 700; margin-bottom: 6px; }
    .u-v4-ficha-cell__value { font-size: 14px; color: #0f172a; font-weight: 500; line-height: 1.45; word-break: break-word; }

    /* Mobile */
    @media (max-width: 768px) {
      .single-product .entry-summary { padding: 16px !important; }
      .single-product form.cart { flex-direction: column; align-items: stretch; }
      .single-product form.cart .single_add_to_cart_button { width: 100%; }
      .u-v4-tab-btn { padding: 12px 10px; font-size: 13px; }
      .u-v4-ficha-grid { grid-template-columns: 1fr; }
    }

    /* === ucn-ficha-cta CSS (single row: qty + ATC + share) === */
    .summary form.cart, .summary .cart {
      display: flex !important;
      flex-direction: row !important;
      align-items: stretch !important;
      flex-wrap: nowrap !important;
      gap: 10px !important;
      margin: 14px 0 !important;
    }
    .summary form.cart .quantity { flex: 0 0 auto !important; display: flex !important; align-items: center !important; }
    .summary .single_add_to_cart_button,
    .summary form.cart button.single_add_to_cart_button {
      flex: 1 1 auto !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      gap: 8px !important;
      background: #dc2626 !important;
      color: #fff !important;
      border: 0 !important;
      padding: 12px 18px !important;
      border-radius: 8px !important;
      font-size: 14px !important;
      font-weight: 700 !important;
      letter-spacing: .04em !important;
      text-transform: uppercase !important;
      line-height: 1 !important;
      min-height: 44px !important;
      transition: background-color .15s ease;
      cursor: pointer;
    }
    .summary .single_add_to_cart_button:hover,
    .summary form.cart button.single_add_to_cart_button:hover { background: #b91c1c !important; }
    .summary .single_add_to_cart_button svg { flex: 0 0 auto; width: 18px; height: 18px; display: inline-block; }
    .u-v4-share {
      flex: 0 0 auto !important;
      width: 44px !important; height: 44px !important;
      min-width: 44px !important; min-height: 44px !important;
      padding: 0 !important;
      display: inline-flex !important; align-items: center !important; justify-content: center !important;
      background: #fff !important; border: 1px solid #d1d5db !important;
      border-radius: 8px !important; color: #374151 !important;
      cursor: pointer; font-size: 0 !important; line-height: 1 !important;
      transition: background-color .15s ease, border-color .15s ease;
    }
    .u-v4-share:hover { background: #f3f4f6 !important; border-color: #9ca3af !important; }
    .u-v4-share svg { width: 18px; height: 18px; display: block; }
    .u-v4-toast {
      position: fixed; left: 50%; bottom: 32px;
      transform: translateX(-50%) translateY(8px);
      background: #111827; color: #fff; padding: 10px 16px;
      border-radius: 8px; font-size: 13px; font-weight: 600;
      box-shadow: 0 8px 24px rgba(0,0,0,.18);
      opacity: 0; pointer-events: none; z-index: 99999;
      transition: opacity .2s ease, transform .2s ease;
    }
    .u-v4-toast.is-visible { opacity: 1; transform: translateX(-50%) translateY(0); }
    /* === /ucn-ficha-cta CSS === */

    /* === ANCHO MÁXIMO FICHA (2026-06-06): contenedor ancho + galería grande para
       aprovechar al máximo el espacio y la imagen del producto. === */
    @media (min-width: 993px) {
      body.single-product .ast-container,
      body.single-product .ast-woocommerce-container,
      body.single-product #primary {
        max-width: 1760px !important;
        width: 96% !important;
      }
      /* Galería más grande que el resumen para que la imagen luzca al máximo */
      body.single-product div.product .woocommerce-product-gallery {
        width: 54% !important;
        max-width: 54% !important;
      }
      body.single-product div.product .summary,
      body.single-product div.product .entry-summary {
        width: 43% !important;
        max-width: 43% !important;
      }
    }

/* ============================================================
   ACCORDIONS horizontales (Compatibilidades / Averias / Ficha tecnica)
   Sustituyen a las antiguas pestanas .u-v4-tab-* (2026-06-07).
   Escritorio: 3 columnas en fila, cada una colapsable. Movil: apiladas.
   ============================================================ */
.u-v4-acc{ display:flex; flex-direction:column; gap:12px; margin:22px 0 8px; }
.u-v4-acc-item{ width:100%; border:1px solid #e2e8f0; border-radius:14px; background:#fff; box-shadow:0 1px 3px rgba(15,23,42,.06); overflow:hidden; }
.u-v4-acc-head{ display:flex; align-items:center; gap:10px; width:100%; margin:0; padding:16px 18px; background:#fff; border:0; cursor:pointer; text-align:left; font-family:var(--ucn-font-sans,"DM Sans",system-ui,sans-serif); font-size:15px; font-weight:700; color:#0f172a; transition:background-color .18s ease, color .18s ease; }
.u-v4-acc-head:hover{ background:#f8fafc; }
.u-v4-acc-item.is-open .u-v4-acc-head{ color:var(--ucn-brand-500,#C8102E); border-bottom:1px solid #eef2f7; }
.u-v4-acc-ico{ display:inline-flex; align-items:center; color:var(--ucn-brand-500,#C8102E); flex:0 0 auto; }
.u-v4-acc-ico svg{ width:18px; height:18px; }
.u-v4-acc-title{ flex:1 1 auto; min-width:0; display:flex; align-items:center; gap:8px; }
.u-v4-acc-count{ flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; min-width:24px; height:22px; padding:0 7px; border-radius:11px; background:var(--ucn-brand-500,#C8102E); color:#fff; font-size:12px; font-weight:700; line-height:1; }
.u-v4-acc-chev{ width:18px; height:18px; flex:0 0 auto; color:#94a3b8; transition:transform .25s ease; }
.u-v4-acc-item.is-open .u-v4-acc-chev{ transform:rotate(180deg); }
/* Cuerpo: transicion de altura fluida (grid 0fr -> 1fr) */
.u-v4-acc-body{ display:grid; grid-template-rows:0fr; transition:grid-template-rows .3s cubic-bezier(.4,0,.2,1); }
.u-v4-acc-item.is-open .u-v4-acc-body{ grid-template-rows:1fr; }
.u-v4-acc-inner{ min-height:0; overflow:hidden; }
/* El padding va en el CONTENIDO (no en .inner) para que el colapso sea limpio */
.u-v4-acc-inner h2{ display:none; }
.u-v4-acc-inner ul{ margin:0; padding:16px 22px 18px 40px; columns:2; column-gap:48px; }
.u-v4-acc-inner li{ margin:5px 0; line-height:1.45; break-inside:avoid; }
.u-v4-acc-inner .u-v4-ficha-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:14px; padding:18px 22px; }
.u-v4-acc-inner .u-v4-ficha-cell{ background:#fff; border:1px solid #e2e8f0; border-radius:10px; padding:14px 16px; }
.u-v4-acc-inner .u-v4-ficha-cell--full{ grid-column:1 / -1; }
.u-v4-acc-inner .u-v4-ficha-cell__label{ font-size:11px; font-weight:700; color:#64748b; text-transform:uppercase; letter-spacing:.05em; margin-bottom:6px; }
.u-v4-acc-inner .u-v4-ficha-cell__value{ font-size:14px; color:#0f172a; font-weight:500; }
@media (max-width:600px){
  .u-v4-acc-inner ul{ columns:1; padding:14px 18px 16px 36px; }
  .u-v4-acc-inner .u-v4-ficha-grid{ grid-template-columns:1fr; }
}

/* ============================================================
   FIXES FICHA 2026-06-08 — galeria + acordeones + movil
   1. Acordeones INVISIBLES en escritorio: .u-v4-acc quedaba atrapado
      entre la galeria (float:left) y el resumen (float:right) con ancho
      ~30px. clear:both lo libera a ancho completo. (bug "solo aparece en responsive")
   2. Acordeon: cuerpo recortado (overflow) para que el colapso sea limpio
      tambien en Safari iOS.
   3. Miniaturas de galeria alineadas y cuadradas en movil.
   4. Touch targets de cantidad a 44px (WCAG 2.5.5) y boton AÑADIR a todo
      el ancho en movil para maxima conversion.
   ============================================================ */
.u-v4-acc{ clear: both; }
.u-v4-acc-body{ overflow: hidden; }

/* Qty: touch target minimo 44x44 */
.single-product .u-v4-qty button{ width:44px !important; min-height:44px !important; }
.single-product .u-v4-qty input.qty{ height:44px !important; }

@media (max-width:768px){
  /* Boton AÑADIR a todo el ancho; cantidad y compartir en la fila superior */
  .single-product .summary form.cart{ flex-wrap:wrap !important; row-gap:12px !important; }
  .single-product .summary .single_add_to_cart_button,
  .single-product .summary form.cart button.single_add_to_cart_button{ flex:1 1 100% !important; min-width:0 !important; order:3 !important; }
  .single-product .summary .u-v4-qty{ order:1 !important; }
  .single-product .summary .u-v4-share{ order:2 !important; }
}

/* Acordeon vertical unico para todos los anchos: sin pestanas de escritorio.
   El comportamiento (uno abierto, exclusivo) lo gestiona el JS del mu-plugin;
   la transicion fluida la da .u-v4-acc-body (grid-template-rows 0fr -> 1fr). */

/* ============================================================
   LOGO DE MARCA en el pill (sustituye al texto "Marca: X")
   ============================================================ */
.u-v4-pill--brand{ padding:3px 10px; }
/* !important: vence a la regla del tema .entry-summary img{width:100%} */
.single-product .u-v4-brand-logo{ height:22px !important; width:auto !important; max-width:120px !important; min-width:0 !important; object-fit:contain; display:block; }
/* En la ficha tecnica (celda Marca): un poco mayor, alineado a la izquierda */
.single-product .u-v4-brand-logo--cell{ height:30px !important; max-width:170px !important; }

/* ============================================================
   GALERIA LIMPIA (.ucn-gallery) — montada por JS, sustituye a
   FlexSlider/PhotoSwipe/zoom nativos (desactivados en PHP).
   Reset del contenedor: el layout lo controla .ucn-gallery (flex).
   ============================================================ */
.single-product .woocommerce-product-gallery{ display:block !important; }
.single-product .woocommerce-product-gallery::before,
.single-product .woocommerce-product-gallery::after{ content:none !important; }

/* Ocultar el wrapper original de WooCommerce cuando montamos */
.woocommerce-product-gallery.ucn-g-native-hidden > .woocommerce-product-gallery__wrapper,
.woocommerce-product-gallery.ucn-g-native-hidden .flex-control-thumbs,
.woocommerce-product-gallery.ucn-g-native-hidden .flex-viewport,
.woocommerce-product-gallery.ucn-g-native-hidden .woocommerce-product-gallery__trigger{
  display:none !important;
}
.woocommerce-product-gallery.ucn-g-native-hidden{ opacity:1; overflow:visible; }

.ucn-gallery{ display:flex; gap:14px; align-items:flex-start; width:100%; box-sizing:border-box; font:inherit; }
.ucn-gallery *, .ucn-gallery *::before, .ucn-gallery *::after{ box-sizing:border-box; }

.ucn-g-thumbs{ display:flex; flex-direction:column; gap:8px; width:84px; flex:0 0 84px; max-height:430px; overflow-y:auto; overflow-x:hidden; padding:2px; scrollbar-width:thin; }
.ucn-g-thumb{ position:relative; width:100%; aspect-ratio:1/1; border:1px solid #e2e8f0; border-radius:6px; background:#fff; padding:4px; cursor:pointer; overflow:hidden; transition:border-color .18s ease, box-shadow .18s ease; display:flex; align-items:center; justify-content:center; }
.ucn-g-thumb img{ width:100%; height:100%; object-fit:contain; display:block; pointer-events:none; }
.ucn-g-thumb:hover{ border-color:#cbd5e1; }
.ucn-g-thumb:focus-visible{ outline:2px solid #dc2626; outline-offset:1px; }
.ucn-g-thumb.is-active{ border-color:#dc2626; box-shadow:0 1px 6px rgba(220,38,38,.28); }

.ucn-g-main{ flex:1 1 auto; min-width:0; }
.ucn-g-stage{ position:relative; width:100%; height:430px; background:#fff; border:1px solid #e2e8f0; border-radius:8px; overflow:hidden; cursor:zoom-in; }
.ucn-g-stage img.ucn-g-stage-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:contain; display:block; transition:opacity .22s ease; }
.ucn-g-stage img.ucn-g-stage-img.is-fading{ opacity:0; }
.ucn-g-zoomlayer{ position:absolute; inset:0; background-repeat:no-repeat; background-color:#fff; background-size:200% 200%; opacity:0; transition:opacity .15s ease; pointer-events:none; }
.ucn-g-stage.is-zooming .ucn-g-zoomlayer{ opacity:1; }

.ucn-g-lightbox{ position:fixed; inset:0; z-index:99999; display:flex; align-items:center; justify-content:center; background:rgba(15,23,42,.92); opacity:0; visibility:hidden; transition:opacity .2s ease, visibility .2s ease; -webkit-tap-highlight-color:transparent; }
.ucn-g-lightbox.is-open{ opacity:1; visibility:visible; }
.ucn-g-lb-figure{ position:relative; max-width:92vw; max-height:88vh; display:flex; align-items:center; justify-content:center; }
.ucn-g-lb-img{ max-width:92vw; max-height:88vh; object-fit:contain; display:block; user-select:none; -webkit-user-drag:none; transition:opacity .18s ease; }
.ucn-g-lb-img.is-fading{ opacity:0; }
.ucn-g-lb-btn{ position:absolute; top:50%; transform:translateY(-50%); width:48px; height:48px; border:none; border-radius:50%; background:rgba(255,255,255,.92); color:#0f172a; font-size:26px; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .15s ease, transform .15s ease; z-index:2; }
.ucn-g-lb-btn:hover{ background:#fff; }
.ucn-g-lb-btn:focus-visible{ outline:2px solid #dc2626; outline-offset:2px; }
.ucn-g-lb-prev{ left:16px; }
.ucn-g-lb-next{ right:16px; }
.ucn-g-lb-close{ position:fixed; top:18px; right:18px; width:44px; height:44px; transform:none; font-size:24px; }
.ucn-g-lb-counter{ position:fixed; bottom:18px; left:50%; transform:translateX(-50%); color:#e2e8f0; font-size:14px; letter-spacing:.03em; background:rgba(0,0,0,.35); padding:4px 12px; border-radius:999px; }

@media (max-width:768px){
  .ucn-gallery{ flex-direction:column-reverse; gap:10px; }
  .ucn-g-thumbs{ flex-direction:row; width:100%; flex:0 0 auto; max-height:none; overflow-x:auto; overflow-y:hidden; gap:8px; }
  .ucn-g-thumb{ width:64px; flex:0 0 64px; }
  .ucn-g-stage{ height:auto; aspect-ratio:1/1; cursor:pointer; }
  .ucn-g-stage.is-zooming .ucn-g-zoomlayer{ opacity:0; }
  .ucn-g-lb-btn{ width:42px; height:42px; font-size:22px; }
  .ucn-g-lb-prev{ left:6px; }
  .ucn-g-lb-next{ right:6px; }
}
@media (prefers-reduced-motion:reduce){
  .ucn-g-stage img.ucn-g-stage-img, .ucn-g-zoomlayer, .ucn-g-lightbox, .ucn-g-lb-img{ transition:none; }
}

/* ============================================================
   FICHA — imagen principal grande en móvil/tablet + 2 píldoras — 2026-06-14
   ============================================================ */
/* Píldoras: que envuelvan bien y las 2 nuevas distintas */
.u-v4-pills{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.u-v4-pill--refurb{ background:#ecfdf5 !important; border:1px solid #a7f3d0 !important; color:#047857 !important; font-weight:700; }
.u-v4-pill--warranty{ background:#eff6ff !important; border:1px solid #bfdbfe !important; color:#1d4ed8 !important; font-weight:700; }

/* Imagen principal GRANDE en móvil y tablet (hasta 992px): apilar y a todo el ancho */
@media (max-width: 992px){
  /* quitar el cap legacy que la achicaba */
  .single-product .woocommerce-product-gallery__image img{ max-height:none !important; }
  /* galería propia apilada: imagen arriba a todo el ancho, miniaturas debajo en fila */
  .single-product .ucn-gallery{ flex-direction:column-reverse !important; gap:10px !important; }
  .single-product .ucn-g-main{ width:100% !important; flex:1 1 100% !important; }
  .single-product .ucn-g-stage{ height:auto !important; aspect-ratio:1/1 !important; width:100% !important; max-height:74vh !important; }
  .single-product .ucn-g-stage img.ucn-g-stage-img{ width:100% !important; height:100% !important; object-fit:contain !important; }
  .single-product .ucn-g-thumbs{ flex-direction:row !important; width:100% !important; flex:0 0 auto !important; max-height:none !important; overflow-x:auto !important; overflow-y:hidden !important; }
  .single-product .ucn-g-thumb{ width:64px !important; flex:0 0 64px !important; }
  /* fallback: si se mostrara la galería nativa de Woo, que también salga grande */
  .single-product .woocommerce-product-gallery__image img{ width:100% !important; height:auto !important; max-height:74vh !important; object-fit:contain; }
}
@media (max-width: 480px){
  .single-product .ucn-g-thumb{ width:56px !important; flex:0 0 56px !important; }
}

/* ============================================================
   GALERÍA — la imagen principal se alinea a las miniaturas (2026-06-17)
   Manda la MINIATURA: tamaño FIJO 92x92 (nunca se estira, sea 1, 2, 3 o 4).
   La imagen principal mide justo lo que ocupan 4 miniaturas (4*92 + 3*8 = 392px),
   así con 4 cuadran exactas; con menos, mismas miniaturas pegadas arriba; con
   más de 4, scroll. Solo escritorio (>=993px). Limpio, sin !important.
   ============================================================ */
@media (min-width:993px){
  .single-product .ucn-gallery{ align-items:flex-start; gap:14px; }
  .single-product .ucn-g-thumbs{ width:92px; flex:0 0 92px; gap:8px; padding:0; max-height:392px; overflow-y:auto; overflow-x:hidden; }
  .single-product .ucn-g-thumb{ width:92px; flex:0 0 92px; }
  .single-product .ucn-g-stage{ width:392px; height:392px; flex:0 0 392px; }
}
