/*!
 * BIS - bis-ficha.css - Estilos de la FICHA de producto (Creative Studio).
 * Diseño responsive con color corporativo #d09000. Aplica a cualquier
 * contenedor con clase .bisf (envolver el bloque de producto en el tema).
 * Cárgalo en el tema junto a bis-ficha.js. Versión: 2026-08-19.
 */
.bisf{ --oro:#d09000; --oro-osc:#9c6b00; --tinta:#2b3a46; --gris:#8a8f98; --crema:#f6f4f0; --verde:#4e9a2f;
    font-family:inherit; color:var(--tinta); max-width:1160px; margin:0 auto; }
  .bisf *{ box-sizing:border-box; }
  .bisf .bisf-crumb{ font-size:.8rem; color:var(--oro-osc); margin:6px 0 14px; }
  .bisf-top{ display:grid; grid-template-columns:minmax(0,42%) 1fr; gap:28px; align-items:stretch; }
  .bisf-foto{ position:relative; border:1px solid #e7e9ec; border-radius:14px; background:#fff;
    display:grid; place-items:center; min-height:380px; height:100%; padding:14px; }
  .bisf-foto img{ width:100%; height:100%; max-height:560px; object-fit:contain; }
  .bisf-noimg{ font-size:5rem; opacity:.3; place-items:center; display:grid; }
  .bisf-nuevo{ position:absolute; top:12px; left:12px; background:var(--verde); color:#fff; font-size:.72rem; font-weight:700; border-radius:6px; padding:4px 10px; }
  .bisf-topline{ display:flex; align-items:center; gap:12px; }
  .bisf-brand{ font-size:.76rem; letter-spacing:.12em; text-transform:uppercase; color:var(--oro-osc); font-weight:800; }
  .bisf-logo{ max-height:74px; max-width:180px; margin-left:auto; object-fit:contain; }
  .bisf-top h1{ margin:.2rem 0 .3rem; font-size:2rem; line-height:1.14; color:var(--tinta); }
  .bisf-stars{ color:var(--oro); font-size:1rem; } .bisf-stars b{ color:var(--gris); font-weight:600; font-size:.8rem; }
  .bisf-precio{ margin:14px 0 2px; } .bisf-precio .p{ font-size:2.1rem; font-weight:800; color:var(--oro); }
  .bisf-precio .iva{ color:var(--gris); font-size:.74rem; font-weight:600; margin-left:6px; }
  .bisf-tach{ color:#b3b0a8; text-decoration:line-through; font-size:1rem; margin-left:8px; }
  .bisf-ahorro{ display:inline-block; background:#eaf6e8; color:var(--verde); border-radius:7px; font-weight:800; font-size:.82rem; padding:2px 9px; margin-left:8px; }
  .bisf-corta{ color:var(--tinta); font-size:1rem; line-height:1.6; margin:12px 0; }
  .bisf-trust{ display:flex; gap:8px; flex-wrap:wrap; margin:12px 0; }
  .bisf-trust span{ font-size:.8rem; color:var(--tinta); background:var(--crema); border:1px solid #e7e9ec; border-radius:999px; padding:6px 12px; font-weight:600; }
  .bisf-chips{ display:grid; grid-template-columns:1fr 1fr; gap:9px; margin:14px 0; }
  .bisf-chip{ background:var(--crema); border:1px solid #e7e9ec; border-radius:10px; padding:9px 12px; display:flex; gap:9px; align-items:center; }
  .bisf-chip .i{ font-size:1.2rem; } .bisf-chip b{ display:block; font-size:.88rem; } .bisf-chip em{ font-style:normal; font-size:.74rem; color:var(--gris); }
  .bisf-buy{ display:flex; gap:10px; align-items:center; margin-top:16px; flex-wrap:wrap; }
  /* Contador: oculto sin JS (evita controles inertes); visible y funcional
     cuando el archivo del tema añade la clase .bisf-js. */
  .bisf-qty{ display:none; align-items:center; border:1px solid #e7e9ec; border-radius:10px; overflow:hidden; }
  .bisf-js .bisf-qty{ display:inline-flex; }
  .bisf-qty button{ border:0; background:var(--crema); width:44px; height:48px; font-size:1.3rem; cursor:pointer; color:var(--tinta); line-height:1; }
  .bisf-qty button:hover{ background:#ece7dd; }
  .bisf-qty b{ min-width:44px; text-align:center; padding:0 6px; font-size:1.05rem; font-weight:700; }
  /* !important y color forzado para que el tema (cuyo color de enlace es el
     naranja corporativo) no deje el texto invisible sobre el botón naranja. */
  .bisf-add{ background:var(--oro)!important; color:#fff!important; font-weight:800; border:0; border-radius:10px; padding:15px 30px; font-size:1.02rem; text-decoration:none!important; cursor:pointer; box-shadow:0 6px 16px rgba(208,144,0,.32); display:inline-block; }
  .bisf .bisf-add:link, .bisf .bisf-add:visited, .bisf .bisf-add:hover, .bisf .bisf-add:active{ color:#fff!important; text-decoration:none!important; }
  .bisf-mini{ color:var(--gris); font-size:.82rem; margin-top:10px; }
  /* acordeón grande y claro */
  .bisf-acc{ margin:26px 0 0; }
  .bisf details{ border:1px solid #e7e9ec; border-radius:12px; margin:10px 0; overflow:hidden; }
  .bisf summary{ list-style:none; cursor:pointer; padding:16px 18px; font-weight:800; color:var(--tinta);
    display:flex; align-items:center; font-size:1.08rem; background:var(--crema); }
  .bisf summary::-webkit-details-marker{ display:none; }
  .bisf summary::after{ content:"⌄"; margin-left:auto; color:var(--oro); font-weight:900; font-size:1.4rem; line-height:1; transition:transform .2s; }
  .bisf details[open] summary::after{ transform:rotate(180deg); }
  .bisf details[open] summary{ border-bottom:2px solid var(--oro); }
  .bisf .in{ padding:16px 18px; font-size:.96rem; line-height:1.7; color:#3a4650; }
  .bisf .in p{ margin:0 0 12px; }
  .bisf table.ft{ width:100%; max-width:640px; border-collapse:collapse; font-size:.92rem; }
  .bisf table.ft tr:nth-child(odd){ background:#f5f6f7; } .bisf table.ft td{ padding:10px 12px; } .bisf table.ft td:first-child{ color:var(--gris); width:40%; }
  /* carrusel */
  .bisf-rel{ margin:28px 0 6px; } .bisf-rel .h{ display:flex; align-items:baseline; gap:10px; }
  .bisf-rel .h b{ font-size:1.2rem; color:var(--tinta); } .bisf-rel .h span{ color:var(--gris); font-size:.82rem; }
  .bisf-track{ display:flex; gap:12px; overflow-x:auto; padding:12px 2px 10px; scroll-snap-type:x mandatory; }
  .bisf-track::-webkit-scrollbar{ height:6px; } .bisf-track::-webkit-scrollbar-thumb{ background:#e0e0e0; border-radius:3px; }
  .bisf-rcard{ flex:0 0 155px; scroll-snap-align:start; border:1px solid #e7e9ec; border-radius:12px; padding:12px; background:#fff; text-align:center; text-decoration:none; color:var(--tinta); transition:box-shadow .15s; }
  .bisf-rcard:hover{ box-shadow:0 8px 20px rgba(43,58,70,.1); }
  .bisf-rcard .th{ height:120px; display:grid; place-items:center; } .bisf-rcard img{ max-height:120px; max-width:100%; object-fit:contain; }
  .bisf-rnoimg{ font-size:2.4rem; opacity:.3; }
  .bisf-rcard .nm{ font-size:.82rem; margin:8px 0 3px; height:2.6em; overflow:hidden; } .bisf-rcard .pr{ font-weight:800; color:var(--oro); font-size:.95rem; }
  .bisf-relwrap{ position:relative; }
  .bisf-swipe{ text-align:center; color:var(--gris); font-size:.76rem; margin-top:2px; }
  @media (hover:hover) and (pointer:fine){ .bisf-swipe{ display:none; } }
  /* Flechas: ocultas sin JS; visibles y funcionales con .bisf-js (tema). */
  .bisf-arrow{ display:none; }
  .bisf-js .bisf-arrow{ position:absolute; top:calc(50% - 22px); width:42px; height:42px; border-radius:50%; border:1px solid #e7e9ec;
    background:#fff; color:var(--tinta); font-size:1.5rem; cursor:pointer; box-shadow:0 4px 14px rgba(20,23,28,.16); z-index:3; display:grid; place-items:center; line-height:1; }
  .bisf-js .bisf-arrow:hover{ background:var(--crema); } .bisf-arrow.prev{ left:-8px; } .bisf-arrow.next{ right:-8px; }
  .bisf-js .bisf-swipe{ display:none; }
  /* Barra de compra flotante — aparece al hacer scroll (control por JS: .bisf-show).
     position:fixed para flotar de verdad sobre cualquier tema, en PC y móvil. */
  .bisf-buybar{ display:none; align-items:center; gap:14px; position:fixed; left:50%; transform:translateX(-50%);
    bottom:16px; width:calc(100% - 40px); max-width:1100px; z-index:9999;
    background:#fff; border:1px solid #e7e9ec; border-radius:14px; padding:12px 18px;
    box-shadow:0 12px 30px rgba(20,23,28,.18); }
  .bisf-buybar.bisf-show{ display:flex; }
  .bisf-buybar .nm{ font-weight:700; color:var(--tinta); }
  .bisf-buybar .p{ line-height:1.15; }
  .bisf-buybar .p b{ font-size:1.35rem; color:var(--oro); white-space:nowrap; } .bisf-buybar .p em{ font-style:normal; display:block; font-size:.68rem; color:var(--gris); white-space:nowrap; }
  .bisf-buybar .bisf-add{ margin-left:auto; text-align:center; white-space:nowrap; font-size:1.1rem; padding:15px 46px; }

  /* Reseñas: CTA con texto incentivo + botón corporativo */
  .bisf-rev-cta{ display:flex; align-items:center; gap:16px; flex-wrap:wrap; background:var(--crema);
    border:1px solid #ece7dd; border-radius:12px; padding:16px 18px; margin-bottom:14px; }
  .bisf-rev-cta .t{ flex:1 1 260px; }
  .bisf-rev-cta .t b{ display:block; font-size:1.02rem; color:var(--tinta); }
  .bisf-rev-cta .t span{ display:block; font-size:.9rem; color:#5a6570; margin-top:3px; }
  /* Formulario nativo de reseña (Product Comments): colores y botones SEPARADOS */
  .fancybox-inner .tvall-inner-btn, #new_comment_form .tvall-inner-btn, #submitNewMessage{
    margin:6px 10px !important; padding:12px 28px !important; border-radius:10px !important;
    background:var(--oro)!important; color:#fff!important; border:0!important; }
  #new_comment_form_footer{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
  #new_comment_form_footer .fr{ float:none !important; }
  #new_comment_form input[type="text"], #new_comment_form textarea,
  .fancybox-inner input[type="text"], .fancybox-inner textarea{ border:1px solid #e7e9ec !important; border-radius:8px !important; }
  /* "Clear" del reset de estrellas está en CSS content: lo traducimos */
  .star_content .cancel a::after{ content:"Borrar" !important; text-transform:none !important; }

  @media (max-width:768px){
    .bisf-top{ grid-template-columns:1fr; gap:14px; }
    .bisf-top h1{ font-size:1.55rem; }
    .bisf-chips{ grid-template-columns:1fr 1fr; }
    .bisf-logo{ max-height:56px; max-width:150px; }
    .bisf-buy{ display:none; }
    /* En MÓVIL la barra de compra es fija abajo y visible DESDE EL INICIO
       (no depende del scroll ni de .bisf-show), igual que el diseño BIS. */
    .bisf-buybar, .bisf-buybar.bisf-show{ display:flex !important; }
    .bisf-buybar{ left:0; transform:none; bottom:0; width:100%; max-width:none; border:0;
      border-top:1px solid #e7e9ec; border-radius:0; gap:10px 12px; padding:10px 12px; flex-wrap:wrap;
      box-shadow:0 -6px 18px rgba(20,23,28,.10); }
    /* Deja hueco al final para que la barra fija no tape el contenido */
    body.page-product{ padding-bottom:96px; }
    .bisf-buybar .nm{ display:none; }
    .bisf-buybar .p em{ display:none; }
    .bisf-buybar .p b{ font-size:1.3rem; }
    .bisf-js .bisf-buybar .bisf-qty{ margin-left:auto; }
    .bisf-buybar .bisf-qty button{ width:38px; height:44px; }
    .bisf-buybar .bisf-add{ flex:1 0 100%; margin-left:0; text-align:center; padding:14px; font-size:1.06rem; }
    .bisf-js .bisf-arrow{ display:none; }
    .bisf-rev-cta{ flex-direction:column; align-items:stretch; }
  }

/* ===== CARRITO DE CABECERA (todas las páginas) =====
   El desplegable del carrito quedaba TAPADO por la marquesina/Elementor (que crea
   un contexto de apilado con transform). Al abrirlo, elevamos el bloque por encima
   de todo. El icono además es clicable (cursor). Solo actúa al pasar el ratón, así
   no interfiere con los modales de "producto añadido". */
.blockcart.tv-header-cart.__bisCartOpen,
.blockcart.__bisCartOpen { position:relative !important; z-index:99990 !important; }
.tvcmscart-show-dropdown.__bisShow,
.blockcart .cart_block.__bisShow,
.blockcart .block_content.__bisShow {
  visibility:visible !important; opacity:1 !important; z-index:99991 !important;
  pointer-events:auto !important; display:block !important; }
.tvheader-cart-btn-wrapper, .tvcart-icon-text-wrapper,
.blockcart.tv-header-cart .tvcart-icon-text-wrapper { cursor:pointer; }
