/* Ajustes del tema sobre el diseño aprobado (piezas que en el prototipo eran botones y aquí son enlaces de WordPress) */
.btn-carrito-cabecera { display: inline-flex; align-items: center; gap: 8px; text-decoration: none; }
.nav-item-enlace.activo { color: #fff !important; box-shadow: inset 0 -3px 0 var(--rojo-onofre); }
.pie-logo { background: #fff; padding: 6px; border-radius: 2px; display: block; margin-bottom: 12px; }
.pie-texto { font-size: 14px; color: var(--gris-borde); line-height: 1.45; }
.pie-contacto-box a { color: #fff; font-weight: 700; }
.nota-horario { display: block; font-size: 12px; color: var(--gris-onofre-medio); margin-top: 6px; }
.contenido-general { padding-top: 24px; padding-bottom: 48px; min-height: 50vh; }
.btn-agregar-tarjeta { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.btn-agregar-tarjeta.added::after { content: " ✓"; }
.added_to_cart { display: block; font-size: 12px; margin-top: 6px; color: var(--gris-onofre-oscuro); text-decoration: underline; }
.fila-top-compra .precio-regular { font-size: 12px; text-decoration: line-through; color: var(--gris-onofre-medio); }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); }
.logo-enlace { flex: none; }
/* En los listados, ".woocommerce-page img { height: auto }" de WooCommerce dejaba el logo en 0 */
.logo-enlace .logo-img { height: 38px; max-width: none; }
@media (max-width: 768px) { .logo-enlace .logo-img { height: 32px; } }
    @media (max-width: 390px) { .logo-enlace .logo-img { height: 28px; } }
.modal-cp-aviso { min-height: 18px; margin: 8px 0 0; font-size: 13px; color: var(--rojo-onofre); }
.selector-ubicacion-valor { white-space: nowrap; }
@media (max-width: 768px) { .selector-ubicacion-valor { max-width: none !important; overflow: visible !important; } .selector-ubicacion-cambiar { display: none; } }
/* Avisos de WooCommerce sin su ícono, que se encimaba al texto */
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { display: none !important; }
.woocommerce-message, .woocommerce-info, .woocommerce-error { padding-left: 16px !important; }
mark { background: none; color: inherit; font-weight: 700; }
.selector-ubicacion-cambiar::before { content: "· "; color: var(--gris-onofre-medio); }
/* Páginas de texto y formulario */
.pagina-texto { max-width: 860px; padding-top: 28px; padding-bottom: 56px; }
.pagina-texto h1 { margin: 0 0 16px; font-size: 30px; }
.pagina-texto-cuerpo { font-size: 15px; line-height: 1.65; color: var(--gris-onofre); }
.pagina-texto-cuerpo h2 { margin: 28px 0 8px; font-size: 19px; color: var(--gris-onofre-oscuro); }
.pagina-texto-cuerpo h3 { margin: 18px 0 6px; font-size: 16px; color: var(--gris-onofre-oscuro); }
.pagina-texto-cuerpo ul { padding-left: 20px; list-style: disc; }
.formulario-queja label { display: block; margin-bottom: 4px; font-size: 13px; font-weight: 600; }
.formulario-queja input[type=text], .formulario-queja input[type=email], .formulario-queja select, .formulario-queja textarea { width: 100%; padding: 10px 12px; font: inherit; font-size: 15px; background: var(--blanco); border: 1px solid var(--gris-borde-fuerte); border-radius: var(--radius-xs); }
.campo-trampa { position: absolute; left: -9999px; }
.aviso-formulario { margin: 12px 0; padding: 12px 16px; background: var(--ambar-alerta-fondo); border: 1px solid var(--ambar-alerta-borde); }
.aviso-formulario.exito { background: var(--verde-stock-fondo); border-color: var(--verde-stock-borde); }
.pagina-ofertas { padding-top: 24px; padding-bottom: 48px; }
.titulo-busqueda { margin: 0 0 18px; font-size: 26px; }
.consejos-busqueda { margin-top: 14px; font-size: 14px; color: var(--gris-onofre-medio); }
/* Buscador con sugerencias (FiboSearch) con el aspecto del diseño */
.buscador-global .dgwt-wcas-search-wrapp { max-width: none !important; width: 100%; }
.buscador-global .dgwt-wcas-sf-wrapp { border: 2px solid var(--gris-onofre-oscuro); border-radius: var(--radius-xs); background: var(--blanco); }
.buscador-global input.dgwt-wcas-search-input { height: 40px; font: inherit; font-size: 15px; border: 0 !important; }
.buscador-global .dgwt-wcas-sf-wrapp { display: flex; align-items: stretch; padding: 0 !important; overflow: hidden; }
.buscador-global input.dgwt-wcas-search-input { flex: 1; border-radius: 0 !important; background: var(--blanco) !important; padding-left: 12px !important; box-shadow: none !important; }
.buscador-global .dgwt-wcas-ico-magnifier { display: none; }
.buscador-global button.dgwt-wcas-search-submit { position: static !important; flex: none; width: auto !important; height: auto !important; min-width: 0 !important; padding: 0 18px !important; background: var(--rojo-onofre) !important; color: var(--blanco) !important; font-weight: 700; border-radius: 0 !important; }
.buscador-global button.dgwt-wcas-search-submit::before { display: none !important; }
.buscador-global button.dgwt-wcas-search-submit svg { display: none; }
.buscador-global button.dgwt-wcas-search-submit:empty::after, .buscador-global button.dgwt-wcas-search-submit::after { content: "Buscar"; font-size: 15px; }
/* Productos que solo se entregan en la zona: fuera de ella no se ofrecen */
html[data-zona="nacional"] .tarjeta-producto.solo-cerca { display: none; }
.ver-todos-seccion { margin-left: auto; font-size: 14px; font-weight: 600; white-space: nowrap; color: var(--gris-onofre-oscuro); text-decoration: underline; }
.hero-accion-principal { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.hero-btn-app { display: inline-flex; align-items: center; gap: 8px; padding: 12px 22px; background: var(--gris-onofre-oscuro); color: var(--blanco) !important; font-size: 16px; font-weight: 700; text-decoration: none; border-radius: var(--radius-xs); }
.hero-btn-app:hover { background: var(--gris-onofre); }
.hero-btn-app svg { width: 20px; height: 20px; }
@media (max-width: 640px) { .hero-accion-principal > a { flex: 1 1 100%; justify-content: center; text-align: center; } }
.hero-btn-app, .hero-btn-app span, .hero-btn-app svg { color: var(--blanco) !important; fill: currentColor; }
.hero-btn-app svg, .hero-btn-app svg path { fill: #fff !important; }

/* Chat del CRM: no debe tapar el filtro de celular ni la ventana de código postal */
body:has(.panel-filtros-lateral.abierto-movil) #onofre-chat,
body:has(.modal-overlay.activo) #onofre-chat { display: none; }
