
      /* ============ FRANJA DE POLITICAS EN LA FICHA ============ */
      .er_pol { margin-top:1.1rem; }
      .er_pol_fila {
        padding:.7rem 0;
        border-top:1px solid #ece9f3; }
      .er_pol_fila:first-child { border-top:1px solid #ece9f3; }
      .er_pol_t {
        display:block;
        font-size:.63rem; font-weight:700;
        letter-spacing:.11em; text-transform:uppercase;
        color:#371a94; margin:0 0 .18rem 0; line-height:1.3; }
      .er_pol_d {
        display:block;
        font-size:.83rem; font-weight:400;
        color:#56516b; line-height:1.45; }
      .er_pol_terms {
        display:inline-block; margin-top:.85rem;
        font-size:.78rem; color:#8b86a0;
        text-decoration:underline; text-underline-offset:2px; }
      .er_pol_terms:hover { color:#371a94; }
      /* el bloque viejo de Odoo se va: se reemplaza por esta franja */
      .o_wsale_product_details_content_section_cta small.text-muted.er_pol_off {
        display:none !important; }
      /* ⚠️ 2026-08-13: NO basta con la clase que pone el JS. Si Odoo vuelve a
         pintar ese "small" DESPUES de que la franja ya existe, `pinta()` sale
         por el guard `if (cta.querySelector('.er_pol')) return;` y el bloque
         nuevo se queda SIN la clase -> reaparecian "Terminos y condiciones"
         duplicado, "Grantia de devolucion de 30 dias" (con la errata) y
         "Envio: 2-3 dias habiles". Se oculta por estructura, que no depende
         del orden de render: es hijo DIRECTO del bloque de compra y todo su
         contenido ya lo dice la franja de arriba. */
      .o_wsale_product_details_content_section_cta > small.text-muted {
        display:none !important; }
    