.elementor-kit-314{--e-global-color-primary:#6B7186;--e-global-color-secondary:#2B3467;--e-global-color-text:#FFFFFF;--e-global-color-accent:#FFFFFF2B;--e-global-color-d49ac81:#EB455F;--e-global-color-332724a:#2B3467;--e-global-color-4d462f5:#DEE2EC;--e-global-color-cfa1f76:#F5F6FA;--e-global-color-044b931:#222222;--e-global-color-bb890b8:#EB455F;--e-global-color-639e8dd:#A87700;--e-global-color-7dba3a4:#F3DBA0;--e-global-color-94e5f43:#2B3467;--e-global-color-301ae49:#D3F2E9;--e-global-color-2e71a09:#D3F2E9;--e-global-typography-primary-font-family:"Inter";--e-global-typography-primary-font-size:72px;--e-global-typography-primary-font-weight:600;--e-global-typography-primary-line-height:1em;--e-global-typography-primary-letter-spacing:-2px;--e-global-typography-secondary-font-family:"Inter";--e-global-typography-secondary-font-size:48px;--e-global-typography-secondary-font-weight:600;--e-global-typography-secondary-line-height:1.1em;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-size:16px;--e-global-typography-accent-font-weight:400;--e-global-typography-b2ce6af-font-family:"Inter";--e-global-typography-b2ce6af-font-size:16px;--e-global-typography-b2ce6af-font-weight:400;--e-global-typography-b2ce6af-text-transform:none;--e-global-typography-b2ce6af-font-style:normal;--e-global-typography-b2ce6af-line-height:1.5em;--e-global-typography-69c152f-font-family:"Inter";--e-global-typography-69c152f-font-size:14px;--e-global-typography-69c152f-font-weight:400;--e-global-typography-69c152f-line-height:1.6em;--e-global-typography-520c191-font-family:"Inter";--e-global-typography-520c191-font-size:16px;--e-global-typography-520c191-font-weight:600;--e-global-typography-583e54c-font-family:"Inter";--e-global-typography-583e54c-font-size:72px;--e-global-typography-583e54c-font-weight:600;--e-global-typography-583e54c-line-height:1em;--e-global-typography-583e54c-letter-spacing:-2px;--e-global-typography-5d167aa-font-family:"Inter";--e-global-typography-5d167aa-font-size:48px;--e-global-typography-5d167aa-font-weight:600;--e-global-typography-5d167aa-line-height:1.1em;--e-global-typography-5d167aa-letter-spacing:-2px;--e-global-typography-d3dae9a-font-family:"Inter";--e-global-typography-d3dae9a-font-size:36px;--e-global-typography-d3dae9a-font-weight:600;--e-global-typography-d3dae9a-text-transform:none;--e-global-typography-d3dae9a-font-style:normal;--e-global-typography-d3dae9a-line-height:1.2em;--e-global-typography-d3dae9a-letter-spacing:-1px;--e-global-typography-83682a1-font-family:"Inter";--e-global-typography-83682a1-font-size:24px;--e-global-typography-83682a1-font-weight:500;--e-global-typography-83682a1-text-transform:none;--e-global-typography-83682a1-font-style:normal;--e-global-typography-83682a1-line-height:1.3em;--e-global-typography-83682a1-letter-spacing:-1px;--e-global-typography-7044a64-font-family:"Inter";--e-global-typography-7044a64-font-size:18px;--e-global-typography-7044a64-font-weight:600;--e-global-typography-7044a64-line-height:1.4em;--e-global-typography-84ca66e-font-family:"Inter";--e-global-typography-84ca66e-font-size:21px;--e-global-typography-84ca66e-font-weight:400;--e-global-typography-84ca66e-line-height:1.5em;--e-global-typography-84ca66e-letter-spacing:0px;--e-global-typography-112b6c4-font-family:"Inter";--e-global-typography-112b6c4-font-size:13px;--e-global-typography-112b6c4-font-weight:400;--e-global-typography-a435f28-font-family:"Inter";--e-global-typography-a435f28-font-size:200px;--e-global-typography-a435f28-font-weight:700;--e-global-typography-a435f28-text-transform:capitalize;--e-global-typography-a435f28-line-height:1em;--e-global-typography-a435f28-letter-spacing:-2px;color:var( --e-global-color-primary );font-family:var( --e-global-typography-b2ce6af-font-family ), Sans-serif;font-size:var( --e-global-typography-b2ce6af-font-size );font-weight:var( --e-global-typography-b2ce6af-font-weight );text-transform:var( --e-global-typography-b2ce6af-text-transform );font-style:var( --e-global-typography-b2ce6af-font-style );line-height:var( --e-global-typography-b2ce6af-line-height );}.elementor-kit-314 button,.elementor-kit-314 input[type="button"],.elementor-kit-314 input[type="submit"],.elementor-kit-314 .elementor-button{background-color:var( --e-global-color-d49ac81 );font-weight:500;color:var( --e-global-color-secondary );border-style:solid;border-width:0px 0px 0px 0px;border-color:var( --e-global-color-d49ac81 );border-radius:30px 30px 30px 30px;}.elementor-kit-314 button:hover,.elementor-kit-314 button:focus,.elementor-kit-314 input[type="button"]:hover,.elementor-kit-314 input[type="button"]:focus,.elementor-kit-314 input[type="submit"]:hover,.elementor-kit-314 input[type="submit"]:focus,.elementor-kit-314 .elementor-button:hover,.elementor-kit-314 .elementor-button:focus{background-color:var( --e-global-color-332724a );color:var( --e-global-color-text );border-style:solid;border-width:0px 0px 0px 0px;border-color:var( --e-global-color-332724a );}.elementor-kit-314 e-page-transition{background-color:#FFBC7D;}.elementor-kit-314 a{color:var( --e-global-color-primary );}.elementor-kit-314 a:hover{color:var( --e-global-color-d49ac81 );}.elementor-kit-314 h1{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-583e54c-font-family ), Sans-serif;font-size:var( --e-global-typography-583e54c-font-size );font-weight:var( --e-global-typography-583e54c-font-weight );line-height:var( --e-global-typography-583e54c-line-height );letter-spacing:var( --e-global-typography-583e54c-letter-spacing );}.elementor-kit-314 h2{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-5d167aa-font-family ), Sans-serif;font-size:var( --e-global-typography-5d167aa-font-size );font-weight:var( --e-global-typography-5d167aa-font-weight );line-height:var( --e-global-typography-5d167aa-line-height );letter-spacing:var( --e-global-typography-5d167aa-letter-spacing );}.elementor-kit-314 h3{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-d3dae9a-font-family ), Sans-serif;font-size:var( --e-global-typography-d3dae9a-font-size );font-weight:var( --e-global-typography-d3dae9a-font-weight );text-transform:var( --e-global-typography-d3dae9a-text-transform );font-style:var( --e-global-typography-d3dae9a-font-style );line-height:var( --e-global-typography-d3dae9a-line-height );letter-spacing:var( --e-global-typography-d3dae9a-letter-spacing );}.elementor-kit-314 h4{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-83682a1-font-family ), Sans-serif;font-size:var( --e-global-typography-83682a1-font-size );font-weight:var( --e-global-typography-83682a1-font-weight );text-transform:var( --e-global-typography-83682a1-text-transform );font-style:var( --e-global-typography-83682a1-font-style );line-height:var( --e-global-typography-83682a1-line-height );letter-spacing:var( --e-global-typography-83682a1-letter-spacing );}.elementor-kit-314 h5{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-7044a64-font-family ), Sans-serif;font-size:var( --e-global-typography-7044a64-font-size );font-weight:var( --e-global-typography-7044a64-font-weight );line-height:var( --e-global-typography-7044a64-line-height );}.elementor-kit-314 h6{color:var( --e-global-color-bb890b8 );font-family:var( --e-global-typography-84ca66e-font-family ), Sans-serif;font-size:var( --e-global-typography-84ca66e-font-size );font-weight:var( --e-global-typography-84ca66e-font-weight );line-height:var( --e-global-typography-84ca66e-line-height );letter-spacing:var( --e-global-typography-84ca66e-letter-spacing );}.elementor-kit-314 label{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-520c191-font-family ), Sans-serif;font-size:var( --e-global-typography-520c191-font-size );font-weight:var( --e-global-typography-520c191-font-weight );}.elementor-kit-314 input:not([type="button"]):not([type="submit"]),.elementor-kit-314 textarea,.elementor-kit-314 .elementor-field-textual{font-family:var( --e-global-typography-b2ce6af-font-family ), Sans-serif;font-size:var( --e-global-typography-b2ce6af-font-size );font-weight:var( --e-global-typography-b2ce6af-font-weight );text-transform:var( --e-global-typography-b2ce6af-text-transform );font-style:var( --e-global-typography-b2ce6af-font-style );line-height:var( --e-global-typography-b2ce6af-line-height );color:var( --e-global-color-secondary );background-color:var( --e-global-color-cfa1f76 );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-cfa1f76 );border-radius:10px 10px 10px 10px;}.elementor-kit-314 input:focus:not([type="button"]):not([type="submit"]),.elementor-kit-314 textarea:focus,.elementor-kit-314 .elementor-field-textual:focus{color:var( --e-global-color-primary );background-color:var( --e-global-color-text );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-d49ac81 );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1280px;}.e-con{--container-max-width:1280px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-314{--e-global-typography-primary-font-size:48px;--e-global-typography-secondary-font-size:36px;--e-global-typography-text-font-size:15px;--e-global-typography-accent-font-size:15px;--e-global-typography-b2ce6af-font-size:15px;--e-global-typography-69c152f-font-size:13px;--e-global-typography-520c191-font-size:16px;--e-global-typography-583e54c-font-size:48px;--e-global-typography-5d167aa-font-size:36px;--e-global-typography-d3dae9a-font-size:24px;--e-global-typography-83682a1-font-size:18px;--e-global-typography-7044a64-font-size:16px;--e-global-typography-84ca66e-font-size:17px;--e-global-typography-112b6c4-font-size:12px;--e-global-typography-a435f28-font-size:149px;font-size:var( --e-global-typography-b2ce6af-font-size );line-height:var( --e-global-typography-b2ce6af-line-height );}.elementor-kit-314 h1{font-size:var( --e-global-typography-583e54c-font-size );line-height:var( --e-global-typography-583e54c-line-height );letter-spacing:var( --e-global-typography-583e54c-letter-spacing );}.elementor-kit-314 h2{font-size:var( --e-global-typography-5d167aa-font-size );line-height:var( --e-global-typography-5d167aa-line-height );letter-spacing:var( --e-global-typography-5d167aa-letter-spacing );}.elementor-kit-314 h3{font-size:var( --e-global-typography-d3dae9a-font-size );line-height:var( --e-global-typography-d3dae9a-line-height );letter-spacing:var( --e-global-typography-d3dae9a-letter-spacing );}.elementor-kit-314 h4{font-size:var( --e-global-typography-83682a1-font-size );line-height:var( --e-global-typography-83682a1-line-height );letter-spacing:var( --e-global-typography-83682a1-letter-spacing );}.elementor-kit-314 h5{font-size:var( --e-global-typography-7044a64-font-size );line-height:var( --e-global-typography-7044a64-line-height );}.elementor-kit-314 h6{font-size:var( --e-global-typography-84ca66e-font-size );line-height:var( --e-global-typography-84ca66e-line-height );letter-spacing:var( --e-global-typography-84ca66e-letter-spacing );}.elementor-kit-314 label{font-size:var( --e-global-typography-520c191-font-size );}.elementor-kit-314 input:not([type="button"]):not([type="submit"]),.elementor-kit-314 textarea,.elementor-kit-314 .elementor-field-textual{font-size:var( --e-global-typography-b2ce6af-font-size );line-height:var( --e-global-typography-b2ce6af-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-314{--e-global-typography-primary-font-size:38px;--e-global-typography-secondary-font-size:28px;--e-global-typography-text-font-size:14px;--e-global-typography-accent-font-size:14px;--e-global-typography-b2ce6af-font-size:14px;--e-global-typography-69c152f-font-size:12px;--e-global-typography-520c191-font-size:14px;--e-global-typography-583e54c-font-size:38px;--e-global-typography-5d167aa-font-size:28px;--e-global-typography-d3dae9a-font-size:24px;--e-global-typography-83682a1-font-size:18px;--e-global-typography-7044a64-font-size:14px;--e-global-typography-84ca66e-font-size:16px;--e-global-typography-112b6c4-font-size:11px;--e-global-typography-a435f28-font-size:89px;font-size:var( --e-global-typography-b2ce6af-font-size );line-height:var( --e-global-typography-b2ce6af-line-height );}.elementor-kit-314 h1{font-size:var( --e-global-typography-583e54c-font-size );line-height:var( --e-global-typography-583e54c-line-height );letter-spacing:var( --e-global-typography-583e54c-letter-spacing );}.elementor-kit-314 h2{font-size:var( --e-global-typography-5d167aa-font-size );line-height:var( --e-global-typography-5d167aa-line-height );letter-spacing:var( --e-global-typography-5d167aa-letter-spacing );}.elementor-kit-314 h3{font-size:var( --e-global-typography-d3dae9a-font-size );line-height:var( --e-global-typography-d3dae9a-line-height );letter-spacing:var( --e-global-typography-d3dae9a-letter-spacing );}.elementor-kit-314 h4{font-size:var( --e-global-typography-83682a1-font-size );line-height:var( --e-global-typography-83682a1-line-height );letter-spacing:var( --e-global-typography-83682a1-letter-spacing );}.elementor-kit-314 h5{font-size:var( --e-global-typography-7044a64-font-size );line-height:var( --e-global-typography-7044a64-line-height );}.elementor-kit-314 h6{font-size:var( --e-global-typography-84ca66e-font-size );line-height:var( --e-global-typography-84ca66e-line-height );letter-spacing:var( --e-global-typography-84ca66e-letter-spacing );}.elementor-kit-314 label{font-size:var( --e-global-typography-520c191-font-size );}.elementor-kit-314 input:not([type="button"]):not([type="submit"]),.elementor-kit-314 textarea,.elementor-kit-314 .elementor-field-textual{font-size:var( --e-global-typography-b2ce6af-font-size );line-height:var( --e-global-typography-b2ce6af-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* Tabla de Información adicional (ficha de producto) */
.woocommerce table.shop_attributes tr th{
    text-align: left;
    padding-left: 16px;
}
.woocommerce table.shop_attributes tr td,
.woocommerce table.shop_attributes tr td p{
    padding-left: 16px;
}

/* Rayado de la tabla: blanco y gris muy claro, no dos grises - 22/07/2026 */
.woocommerce table.shop_attributes{
    border-top: 1px solid #DEE2EC;
}
.woocommerce table.shop_attributes tr th,
.woocommerce table.shop_attributes tr td{
    background: #FFFFFF !important;
    border-bottom: 1px solid #DEE2EC !important;
}
.woocommerce table.shop_attributes tr:nth-child(odd) th,
.woocommerce table.shop_attributes tr:nth-child(odd) td{
    background: #F5F6FA !important;
}
.woocommerce table.shop_attributes tr th{
    color: #2B3467;
}

/* La fila "Peso" la genera WooCommerce sola: pone "N/D" mientras no se
   elige variacion, y cuando se elige repite lo que ya dice el desplegable
   Cantidad. Se oculta. Para recuperarla, borrar esta regla. */
.woocommerce table.shop_attributes tr.woocommerce-product-attributes-item--weight{
    display: none;
}

/* Los valores de los atributos van dentro de un <p> con sangria propia,
   pero los que escribe WooCommerce solo (como el peso) van sueltos y se
   quedaban 16 px a la izquierda y mas altos. Se pasa toda la sangria al
   td y se anula la del parrafo, para que cualquier fila caiga igual. */
.woocommerce table.shop_attributes tr td{
    padding-left: 32px;
}
.woocommerce table.shop_attributes tr td p{
    padding-left: 0;
    margin: 0;
}

/* Columna de etiquetas mas ancha: asi "Nombre cientifico" y "Metodo de
   produccion" caben en una linea y no se parten. Sobraba sitio a la
   derecha. En movil se suelta, que ahi no sobra. */
.woocommerce table.shop_attributes tr th{
    width: 230px;
    white-space: nowrap;
}
@media (max-width: 768px){
    .woocommerce table.shop_attributes tr th{
        width: auto;
        white-space: normal;
    }
}

/* Titulos de la ficha de producto - 22/07/2026.
   Venian del estilo global "Primary", que son 72 px: eso es tamano de
   portada, no de ficha (4,5 veces el texto normal). Se bajan SOLO en
   producto, para no encoger el titular grande de la home, que usa ese
   mismo estilo global y ahi si tiene sentido. */
.single-product .product_title{
    font-size: clamp(2rem, 4vw, 2.5rem) !important;
    line-height: 1.12 !important;
    letter-spacing: -.02em;
}
.single-product .woocommerce-Tabs-panel h2,
.single-product .related h2:not(.woocommerce-loop-product__title),
.single-product .upsells h2:not(.woocommerce-loop-product__title){
    font-size: clamp(1.5rem, 2.6vw, 2rem) !important;
    line-height: 1.2 !important;
}

/* Iconos de la cabecera: buscador, cuenta y carrito en una fila,
   pegados a la derecha. Sin esto se apilan uno debajo de otro.
   La cabecera de tienda estaba partida en dos mitades: todo se
   apretaba en la izquierda y la derecha la ocupaba un boton fantasma
   que apuntaba a /menu/ (404) y estaba oculto en todos los
   dispositivos. Se borro ese boton y se amplio la parte util al 100 %. */
/* OJO: los widgets traen un margen inferior de 20 px que los descuadra
   en vertical, y el del carrito colapsaba a 41 px de ancho cuando su
   boton real mide 115, asi que se cortaba contra el borde de la columna
   (que lleva overflow-x: clip). De ahi el min-width. */
.bs-icono-cabecera{
    width: auto !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
}
.bs-icono-cabecera .elementor-widget-container{ margin: 0 !important; }
/* El icono de la cuenta quedaba 3,2 px MAS ARRIBA que la lupa y el
   carrito. Su caja centraba bien, pero el dibujo se sentaba en la linea
   base y dejaba el hueco del descendente por debajo. Se centra el
   contenedor con flex y se anula el espacio de linea. */
.bs-icono-cabecera .elementor-icon-wrapper{
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 0;
    font-size: 0;
}
.bs-icono-cabecera .elementor-icon{ display: flex; align-items: center; }
.bs-icono-cabecera svg{ display: block; }
.bs-icono-cabecera .elementor-menu-cart__wrapper,
.bs-icono-cabecera .elementor-menu-cart__toggle_wrapper{ width: auto !important; }
.bs-icono-cabecera.elementor-widget-woocommerce-menu-cart{ min-width: 120px; }
/* los tres iconos en el azul del logotipo */
.bs-icono-cabecera .elementor-search-form__toggle,
.bs-icono-cabecera .elementor-search-form__toggle i,
.bs-icono-cabecera .elementor-icon{
    color: #2B3467 !important;
    fill: #2B3467 !important;
    background: transparent !important;
}
/* el contenedor del icono del buscador traia un fondo gris */
.bs-icono-cabecera .e-font-icon-svg-container{ background: transparent !important; }
.bs-icono-cabecera svg{ fill: #2B3467 !important; }

/* Buscador a pantalla completa: el campo salia BLANCO con el texto
   tambien BLANCO, ilegible. El skin espera fondo oscuro, asi que el
   campo va transparente con el texto en blanco sobre el velo. */
.elementor-search-form--full-screen .elementor-search-form__input,
.elementor-search-form__container .elementor-search-form__input{
    background: transparent !important;
    color: #FFFFFF !important;
    border-bottom: 2px solid rgba(255,255,255,.55) !important;
}
.elementor-search-form__container .elementor-search-form__input::placeholder{
    color: rgba(255,255,255,.75) !important;
}
.bs-icono-cabecera .elementor-widget-container{ margin-bottom: 0; }
header .elementor-widget-wrap:has(> .bs-icono-cabecera){
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-end;
    gap: 18px;
}

/* Titulos de las tarjetas de producto (tienda, relacionados, etc).
   Heredaban un espaciado entre letras de -2 px FIJO: en la tienda va
   escrito a mano en el widget de la pagina 2350, y en los relacionados
   viene del estilo global H2. A 48 px ese -2 px esta bien, pero estos
   titulos se pintan a 16-21 px y ahi es un -9 % o un -12 %: las letras
   se comen unas a otras. Se les quita el apretado y se les da aire.
   NO se tocaron los espaciados de los estilos globales a proposito: eso
   habria movido todos los titulares grandes de la web para arreglar un
   caso pequeno. */
.woocommerce ul.products li.product .woocommerce-loop-product__title{
    letter-spacing: normal !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
}

/* bs-tarjetas-precio: precio y boton de las tarjetas de producto.
   El precio salia a 13,7 px y en el dorado #958E09, que es color fuera
   de marca. Se pone en el azul del logotipo, igual que el titulo, y mas
   grande. El boton pasa a azul con texto blanco.
   OJO: el boton de la FICHA es CORAL a proposito (es el de comprar).
   El de las tarjetas es azul porque solo lleva a ver el producto.
   Coral = comprar, azul = ver. Si algun dia se igualan, decidirlo a
   sabiendas. */
.woocommerce ul.products li.product .price{
    color: #2B3467 !important;
    font-size: 17px !important;
    font-weight: 400 !important;
    margin-bottom: 4px !important;
}
.woocommerce ul.products li.product .button{
    background: #EB455F !important;
    color: #FFFFFF !important;
    border-radius: 6px !important;
    font-weight: 400 !important;
    padding: 9px 16px !important;
    font-size: 14px !important;
    margin-top: 8px !important;
}
.woocommerce ul.products li.product .button:hover{
    background: #D3364E !important;
}

/* Aviso de disponibilidad ("Sin existencias").
   WooCommerce lo pinta ENTRE la caja de precio y el boton, y con su
   margen abria un hueco de 56 px que partia la ficha en dos. Ahora el
   codigo "Brisa Salada - caja de precio" lo escribe DENTRO de la caja,
   debajo de la linea del kilo, y aqui se oculta el original. */
.single-product .woocommerce-variation-availability{ display: none !important; }
.bs-caja-precio .bs-stock{
    display: block;
    margin-top: 10px;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #B3261E;
}

/* UNIFICACION DE GRISES EN LA FICHA - 22/07/2026 (tarde).
   Rafa vio que se mezclaban tres grises de familias distintas:
     fila Calibre ...... gris calido al 7 % (del tema)
     caja de precio .... #F5F6FA (azulado)
     pestanas .......... #E9E6ED (tiraba a morado)
   Ahora todo va al #F5F6FA de la paleta. */
.single-product table.variations th.label,
.single-product table.variations td.value{
    background: #F5F6FA !important;
}

/* Los desplegables de Calibre y Cantidad eran TRANSPARENTES, asi que
   se veia el panel gris a traves y el campo solo se distinguia por el
   borde, que ademas era un #666666 fuera de marca. Ahora van en blanco
   con el borde de la paleta: el panel es fondo y los campos son campos. */
.single-product table.variations select{
    background-color: #FFFFFF !important;
    border: 1px solid #C9CFE0 !important;
    border-radius: 6px !important;
}

/* Antetitulo sobre el nombre del producto, como en la maqueta.
   OJO 1: es el MISMO para los 15 productos, porque va en el CSS global.
   Ya NO dice "marisco": vale igual para marisco y para pescado.
   OJO 2: es texto generado por CSS, o sea DECORATIVO. Se ve, pero
   Google NO lo lee y no se puede seleccionar ni copiar. Si se quiere
   que cuente para SEO hay que meterlo como widget de texto real en la
   plantilla de ficha (post 2559). */
.single-product .product_title::before{
    content: "Producto gallego seleccionado a mano";
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #6B7186;
    margin-bottom: 10px;
}

/* Lista de garantias (PESO JUSTO / ENVIO REFRIGERADO / ORIGEN GALLEGO).
   Iba a 16 px y competia con el texto principal; los ticks salian NEGROS
   porque el SVG no hereda el color de la lista, y quedaba muy pegada al
   boton. Ahora: 14 px, ticks del mismo color que el texto (fill
   currentColor) y mas aire por arriba.
   Los titulos en negrita NO son CSS: van con <strong> en el texto del
   widget icon-list (id 17e81d18) de la plantilla de ficha (post 2559). */
.single-product .elementor-widget-icon-list{
    margin-top: 16px;
}
.single-product .elementor-widget-icon-list .elementor-icon-list-text{
    font-size: 14px !important;
    line-height: 1.5 !important;
}
.single-product .elementor-widget-icon-list .elementor-icon-list-icon svg{
    /* CORAL a peticion de Rafa, como en la maqueta. Antes iban del color
       del texto; antes de eso salian negros porque el SVG no hereda. */
    fill: #EB455F !important;
}

/* Dentro de cada pestana, WooCommerce repite el nombre de la pestana
   en un h2 de 32 px: pone "Descripcion" en la pestana y otra vez
   "Descripcion" enorme debajo. Lo mismo con Informacion adicional y
   Valoraciones. Se oculta ese encabezado repetido. */
.woocommerce-Tabs-panel > h2:first-of-type,
.woocommerce-Tabs-panel .woocommerce-Reviews-title{
    display: none;
}

/* Pestanas de Descripcion / Informacion adicional / Valoraciones.
   Fuera el gris morado del tema. La ACTIVA va en azul con texto blanco
   y las inactivas en gris claro con texto azul: manda la que esta
   abierta, que es lo que se aprobo en la maqueta. */
.woocommerce-tabs ul.tabs li{
    background: #F5F6FA !important;
    border-color: #DEE2EC !important;
}
.woocommerce-tabs ul.tabs li a{
    color: #2B3467 !important;
    font-weight: 600 !important;
}
.woocommerce-tabs ul.tabs li.active{
    background: #2B3467 !important;
    border-color: #2B3467 !important;
}
.woocommerce-tabs ul.tabs li.active a{ color: #FFFFFF !important; }
.woocommerce-tabs ul.tabs li::before,
.woocommerce-tabs ul.tabs li::after{ display: none !important; }

/* Caja de precio y boton de compra (ficha de producto) - 22/07/2026 */
/* La caja nativa se oculta: la pinta el codigo "Brisa Salada - caja de precio" */
.single-product .woocommerce-variation-price{ display:none !important; }

.bs-caja-precio{
    background: #F5F6FA;
    border: 1px solid #C9CFE0;
    border-radius: 4px;
    padding: 26px 20px;
    margin: 0 0 18px;
    text-align: center;
}
/* El precio y el "IVA incluido" van en un bloque en linea centrado,
   para que el IVA se alinee al borde derecho DEL NUMERO (debajo del
   simbolo del euro), no al borde de la caja. Es como esta en la
   referencia del cliente. */
.bs-caja-precio .bs-precio-grupo{
    display: inline-block;
    text-align: right;
}
.bs-caja-precio .bs-cifra{
    display: block;
    font-size: 3rem;
    font-weight: 800;
    line-height: 1.05;
    color: #2B3467;
    letter-spacing: -.025em;
    font-variant-numeric: tabular-nums;
}
.bs-caja-precio .bs-desde{
    font-size: 1.1rem;
    font-weight: 700;
    letter-spacing: 0;
    color: #6B7186;
    margin-right: 6px;
}
.bs-caja-precio .bs-iva{
    display: block;
    text-align: right;
    margin-top: 2px;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #9AA1B5;
}
.bs-caja-precio .bs-kilo{
    display: block;
    margin-top: 8px;
    font-size: 12px;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #6B7186;
    font-variant-numeric: tabular-nums;
}
.bs-caja-precio .bs-kilo b{ color:#6B7186; font-weight:400; }

.single-product .woocommerce-variation-add-to-cart{
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: stretch;
}
.single-product .woocommerce-variation-add-to-cart .quantity{ flex: 0 0 auto; }
.single-product button.single_add_to_cart_button{
    flex: 1 1 auto;
    background: #EB455F !important;
    color: #fff !important;
    font-weight: 700;
    font-size: 18px !important;
    letter-spacing: .02em;
    border-radius: 6px;
    /* !important porque WooCommerce trae una regla de relleno con la
       MISMA especificidad y gana la que se cargue despues. Sin esto el
       boton encoge a 40 px de forma intermitente. */
    padding: 20px 24px !important;
}
.single-product button.single_add_to_cart_button:hover{ background: #D63A53 !important; }
/* PAGINA MI CUENTA (1741). Los enlaces salian en un celeste #5BC0DE
   que no es de la marca. Y el menu lateral estaba EN INGLES: sus
   etiquetas se escriben a mano en el widget "Mi cuenta" de Elementor,
   no vienen de la traduccion de WooCommerce. Ya traducidas.
   La franja del titulo tenia de fondo una imagen de la plantilla vieja
   (una tarta de zanahoria) que daba 404: por eso se veia gris. Ahora es
   azul #2B3467 con el titulo en blanco. */
.woocommerce-MyAccount-navigation a{
    color: #2B3467 !important;
    font-weight: 600;
}
.woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-MyAccount-navigation a:hover{
    color: #EB455F !important;
}
.woocommerce-MyAccount-content a{
    color: #EB455F !important;
}
.woocommerce-MyAccount-content a:hover{ text-decoration: underline; }

/* PANEL LATERAL DEL CARRITO y PAGINA DEL CARRITO.
   El "2 x 102,00 EUR" salia en un gris #D5D8DC sobre blanco, ilegible,
   la X de eliminar apenas se veia y los dos botones eran grises.
   El boton Comprar de la pagina del carrito estaba en el celeste de
   Bootstrap #5BC0DE, que no es de la marca.
   Criterio de siempre: CORAL = comprar, blanco/azul = lo demas. */
.elementor-menu-cart__product-name,
.elementor-menu-cart__product-name a{ color:#2B3467 !important; font-weight:600 !important; }
.elementor-menu-cart__product-price{ color:#333333 !important; font-weight:600 !important; }
.elementor-menu-cart__product-remove,
.elementor-menu-cart__product-remove a{ color:#6B7186 !important; opacity:1 !important; }
.elementor-menu-cart__product-remove:hover,
.elementor-menu-cart__product-remove a:hover{ color:#EB455F !important; }
.elementor-menu-cart__subtotal{ color:#2B3467 !important; font-weight:700 !important; }
.elementor-menu-cart__footer-buttons a.elementor-button--view-cart{
    background:#FFFFFF !important; color:#2B3467 !important;
    border:1px solid #C9CFE0 !important; border-radius:6px !important; font-weight:600 !important;
}
.elementor-menu-cart__footer-buttons a.elementor-button--checkout{
    background:#EB455F !important; color:#FFFFFF !important;
    border-radius:6px !important; font-weight:700 !important;
}
.woocommerce .wc-proceed-to-checkout a.checkout-button{
    background:#EB455F !important; color:#fff !important; border-radius:6px !important;
    font-weight:700 !important; font-size:17px !important; padding:16px 24px !important;
}
.woocommerce .cart .button[name="update_cart"]{
    background:#FFFFFF !important; color:#2B3467 !important;
    border:1px solid #C9CFE0 !important; border-radius:6px !important; font-weight:600 !important;
}
.woocommerce table.cart a{ color:#2B3467 !important; }
.woocommerce .cart_totals a{ color:#EB455F !important; }

/* Cabecera de PORTADA: los mismos iconos que en tienda, pero en
   BLANCO porque van sobre la foto. El carrito y su importe tambien. */
.bs-icono-portada .elementor-search-form__toggle,
.bs-icono-portada .elementor-search-form__toggle i,
.bs-icono-portada .elementor-icon,
.bs-icono-portada svg{
    color: #FFFFFF !important;
    fill: #FFFFFF !important;
}
.bs-icono-portada .elementor-menu-cart__toggle .elementor-button,
.bs-icono-portada .elementor-menu-cart__toggle .elementor-button-text,
.bs-icono-portada .elementor-menu-cart__toggle .elementor-button-icon{
    color: #FFFFFF !important;
    fill: #FFFFFF !important;
    border-color: rgba(255,255,255,.55) !important;
}

/* PAGINA DE CONTACTO: que pegue con la tienda.
   EL BOTON ENVIAR TENIA EL TEXTO EN AZUL SOBRE FONDO CORAL y no se
   leia. Ahora blanco, como todos los botones de compra.
   El formulario pasa a la misma caja que la de precio de la ficha
   (fondo #F5F6FA, borde #DEE2EC) y sus campos van en blanco, igual que
   los desplegables de Calibre y Cantidad. Los circulos de los iconos
   bajan de 56 a 44 px, que pesaban demasiado. */
.elementor-button[type="submit"],
.elementor-button[type="submit"] .elementor-button-text{
    color: #FFFFFF !important;
}
.elementor-button[type="submit"]{
    background: #EB455F !important;
    border-radius: 6px !important;
    padding: 16px 24px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
}
.elementor-widget-form{
    background: #F5F6FA !important;
    border: 1px solid #DEE2EC !important;
    border-radius: 8px !important;
    padding: 28px !important;
}
.elementor-field-group input,
.elementor-field-group textarea{
    background: #FFFFFF !important;
    border: 1px solid #C9CFE0 !important;
    border-radius: 6px !important;
}
.elementor-icon-box-icon .elementor-icon{
    width: 44px !important;
    height: 44px !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
}



/* ================= PAGINA DE CONTACTO (1457) =================
   Reproduce CONTACTO-PROPUESTA.html: un marco blanco con borde y
   sombra, de 1080 px como maximo, que envuelve franja azul + datos +
   formulario + mapa. Antes se intento adaptar la pagina vieja con CSS
   y no valia: las diferencias eran de estructura.
   IDs usados: franja e5ec662, datos 291ba38e, formulario 2a9ac492,
   mapa 7dc7a15c. SI SE REHACE LA PAGINA ESOS IDS CAMBIAN.            */

/* el marco: las tres secciones forman una sola pieza */
.page-id-1457 .elementor-element-e5ec662,
.page-id-1457 .elementor-element-3d836ab8,
.page-id-1457 .elementor-element-7dc7a15c{
    max-width: 1080px;
    margin-left: auto !important;
    margin-right: auto !important;
    background-color: #FFFFFF;
    border-left: 1px solid #DEE2EC;
    border-right: 1px solid #DEE2EC;
}
.page-id-1457 .elementor-element-e5ec662{
    border-top: 1px solid #DEE2EC;
    border-radius: 10px 10px 0 0;
    overflow: hidden;
    padding: 52px 28px !important;
}
.page-id-1457 .elementor-element-7dc7a15c{
    border-bottom: 1px solid #DEE2EC;
    border-radius: 0 0 10px 10px;
    overflow: hidden;
    box-shadow: 0 1px 2px rgba(44,57,104,.06), 0 12px 32px -8px rgba(44,57,104,.14);
}
.page-id-1457 .elementor-element-3d836ab8{ padding: 32px 28px !important; }

/* el fondo de la pagina, gris suave, para que el marco se despegue */
.page-id-1457 .site-main, .page-id-1457 .elementor{ background: #EEF0F6; }

/* los tres datos en fila, sin cajas, separados por una linea fina */
/* FILA DE DATOS DE CONTACTO (telefono, correo...) en horizontal.
   IMPORTANTE: cuelga del ID de la COLUMNA. OJO: Elementor NO saca al
   HTML las clases personalizadas de las columnas, solo las de los
   widgets, por eso hay que usar el identificador.
   Antes colgaba de una clase que estaba puesta en el widget del
   horario y, al borrar ese widget, se perdio TODO este estilo. */
.elementor-element-291ba38e .elementor-widget-wrap{
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    align-items: stretch;
}
/* el parrafo de introduccion ocupa toda la fila */
.elementor-element-291ba38e .elementor-widget-wrap > .elementor-widget-text-editor{
    grid-column: 1 / -1;
}
.elementor-element-291ba38e .elementor-widget-icon-box{ padding: 6px 14px; position: relative; }
.elementor-element-291ba38e .elementor-widget-icon-box + .elementor-widget-icon-box::before{
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 88px;
    background: #DEE2EC;
}
@media (max-width: 760px){
    .elementor-element-291ba38e .elementor-widget-wrap{ grid-template-columns: 1fr; }
    .elementor-element-291ba38e .elementor-widget-icon-box + .elementor-widget-icon-box::before{ display: none; }
}

.elementor-element-291ba38e .elementor-icon-box-description a{ color: #2B3467 !important; text-decoration: none; }
.elementor-element-291ba38e .elementor-icon-box-description a:hover{ color: #EB455F !important; }
/* horario entre dos lineas */
.bs-horario-contacto{
    border-top: 1px solid #DEE2EC;
    border-bottom: 1px solid #DEE2EC;
    padding: 16px 0 !important;
    margin: 28px 0 !important;
}

/* las dos columnas se apilan: datos arriba, formulario debajo */
.page-id-1457 .elementor-element-3d836ab8 > .elementor-container{ flex-wrap: wrap !important; }
.page-id-1457 .elementor-element-291ba38e,
.page-id-1457 .elementor-element-2a9ac492{
    width: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
}
.page-id-1457 .elementor-element-2a9ac492 .elementor-widget-form,
.page-id-1457 .elementor-element-2a9ac492 .elementor-widget-heading,
.page-id-1457 .elementor-element-2a9ac492 .elementor-widget-text-editor,
.page-id-1457 .elementor-element-2a9ac492 .elementor-widget-social-icons{
    max-width: 620px;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* bs-sombra-form: el formulario venia envuelto en un bloque blanco de
   1002 px con una sombra enorme (0 30px 60px), sobre un fondo tambien
   blanco. Se veia como una caja rara y con escalon respecto a la caja
   gris de 620. Se quita esa sombra y se le pone al formulario una
   normal y suave. */
.page-id-1457 .elementor-element-2a9ac492 > .elementor-widget-wrap{
    box-shadow: none !important;
    background: transparent !important;
}
.page-id-1457 .elementor-widget-form{
    box-shadow: 0 1px 2px rgba(44,57,104,.05), 0 6px 16px -6px rgba(44,57,104,.12) !important;
}


/* Desplegables del formulario: igualarlos a los campos de texto */
.elementor-field-group select.elementor-field-textual{
  background-color: #FFFFFF !important;
  border: 1px solid #C9CFE0 !important;
  border-radius: 6px !important;
  color: #2B3467 !important;
}
/* Sin elegir todavia: gris de apoyo, como el texto de sugerencia de los demas campos */
.elementor-field-group select.elementor-field-textual:has(option:first-child:checked){
  color: #6B7186 !important;
}

/* Telefono y correo, juntos al centro en vez de cada uno en el medio
   de su mitad (si no, queda un hueco enorme entre los dos). */
.elementor-element-291ba38e .elementor-element-5812a20c{ justify-self: end; max-width: 290px; }
.elementor-element-291ba38e .elementor-element-70bcea14{ justify-self: start; max-width: 290px; }
.elementor-element-291ba38e .elementor-widget-icon-box{ padding: 6px 34px; }
@media (max-width: 760px){
    .elementor-element-291ba38e .elementor-element-5812a20c,
    .elementor-element-291ba38e .elementor-element-70bcea14{ justify-self: center; }
}/* End custom CSS */