/*
Theme Name: Avidis Gourmet
Theme URI: https://nuevo.avidis.es/
Author: Avidis Gourmet
Description: Tema clásico a medida para Avidis Gourmet (distribución gourmet en Asturias). Compatible con WooCommerce: tienda, ficha de producto, carrito, pago y mi cuenta con la identidad de la marca. Productos sin precio muestran «Consultar precio» y un botón de WhatsApp en lugar de «Añadir al carrito».
Version: 1.0.0
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: avidis-gourmet
Tags: e-commerce, custom-menu, custom-logo, featured-images, translation-ready
WC requires at least: 8.0
WC tested up to: 11.0
*/

/*
 * Los estilos reales se cargan desde functions.php:
 *   assets/css/tokens.css       variables de diseño (color, tipografía, espacio)
 *   assets/css/styles.css       componentes del sitio (cabecera, home, tarjetas, pie)
 *   assets/css/woocommerce.css  tienda, ficha, carrito, pago, mi cuenta y avisos
 * Este archivo solo contiene la cabecera del tema y pequeños ajustes de WordPress.
 */

/* Ajustes propios de WordPress */
.alignleft { float: left; margin: 0 var(--sp-5) var(--sp-4) 0; }
.alignright { float: right; margin: 0 0 var(--sp-4) var(--sp-5); }
.aligncenter { display: block; margin-inline: auto; }
.wp-caption, .wp-block-image figcaption { font-size: var(--fs-xs); color: var(--c-tinta-suave); }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.screen-reader-text:focus { position: static !important; width: auto; height: auto; margin: 0; clip: auto; }
.sticky, .bypostauthor, .gallery-caption { /* clases requeridas por WordPress */ }

/* Utilidades que sustituyen los estilos en línea de la maqueta */
.m-0 { margin: 0; }
.ratio-4-5 { aspect-ratio: 4 / 5; }
.ratio-3-2 { aspect-ratio: 3 / 2; }
.lead-muted { margin-bottom: var(--sp-6); color: var(--c-tinta-suave); font-size: var(--fs-lg); max-width: 40rem; }
.text-muted { color: var(--c-tinta-suave); }
.text-muted-dark { color: var(--c-crema-suave); }
.eyebrow--center { justify-content: center; }
.hero__link { color: var(--c-oro-claro); }
.hero__link:hover { color: #fff; }
.trust li p { margin: 0; }
.brands-wrap { margin-top: var(--sp-8); }
.brands-wrap .section-head { margin-bottom: var(--sp-5); }
.zone__map { margin: 0; }
.section--tight { padding-top: var(--sp-6); }
.empty-state.is-visible { display: block; }
.empty-state__ph { max-width: 20rem; margin: 0 auto var(--sp-4); aspect-ratio: 4 / 3; border-radius: var(--r-md); }

/* Buscador de la cabecera */
.site-search { background: var(--c-carbon-800); border-top: 1px solid var(--c-carbon-700); padding-block: var(--sp-3); }
.site-search__form { display: flex; gap: var(--sp-2); max-width: 40rem; margin: var(--sp-4) 0; }
.site-header .site-search__form { margin: 0 auto; }
.site-search__form .input { flex: 1; min-width: 0; }
.site-search__form .btn { padding-inline: 1rem; }
.search-form { display: flex; gap: var(--sp-2); justify-content: center; }
.search-form .search-field { min-height: 48px; padding: .7rem .9rem; border: 1px solid var(--c-piedra-oscura); border-radius: var(--r-sm); }
.search-form .search-submit { min-height: 48px; padding: 0 1.25rem; border: 0; border-radius: var(--r-sm); background: var(--c-burdeos); color: #fff; font-weight: var(--fw-semibold); cursor: pointer; }

/* Menú: reservar aria-current que WordPress añade a los elementos actuales */
.primary-nav .current-menu-item > a { color: var(--c-oro-claro); }

/* Pie: los menús de WordPress usan <ul> sin clases */
.footer-bottom ul { list-style: none; margin: 0; padding: 0; }

/* Contenido editorial (páginas, entradas, textos legales) */
.entry-content > * + * { margin-top: var(--sp-4); }
.entry-content h2 { margin-top: var(--sp-7); }
.entry-content h3 { margin-top: var(--sp-6); }
.entry-content ul, .entry-content ol { padding-left: 1.25rem; }
.entry-content img { border-radius: var(--r-sm); }
.entry-content blockquote { margin: var(--sp-5) 0; padding-left: var(--sp-5); border-left: 3px solid var(--c-oro); font-family: var(--f-serif); font-style: italic; font-size: var(--fs-lg); }
.entry-content table { width: 100%; border-collapse: collapse; font-size: var(--fs-sm); }
.entry-content th, .entry-content td { padding: var(--sp-2) var(--sp-3); border-bottom: 1px solid var(--c-piedra); text-align: left; }
.entry-meta { font-size: var(--fs-xs); color: var(--c-tinta-suave); letter-spacing: .06em; text-transform: uppercase; }
.entry-card { padding-block: var(--sp-6); border-bottom: 1px solid var(--c-piedra); }
.entry-card__title { font-size: var(--fs-xl); margin-bottom: var(--sp-2); }
.entry-card__title a { color: var(--c-tinta); text-decoration: none; }
.entry-thumb { border-radius: var(--r-md); margin-bottom: var(--sp-5); }
.page-links, .nav-links { display: flex; flex-wrap: wrap; gap: var(--sp-2); margin-top: var(--sp-6); }
.nav-links .page-numbers { display: inline-grid; place-items: center; min-width: 44px; height: 44px; padding: 0 .75rem; border: 1px solid var(--c-piedra-oscura); border-radius: var(--r-sm); text-decoration: none; color: var(--c-tinta); }
.nav-links .page-numbers.current { background: var(--c-carbon); color: var(--c-crema-texto); border-color: var(--c-carbon); }

/* 404 */
.not-found { min-height: 60vh; display: grid; align-items: center; }
.not-found h1 { font-size: var(--fs-3xl); }

/* Formulario de contacto: estados */
.form-notice { padding: var(--sp-3) var(--sp-4); border-radius: var(--r-sm); font-size: var(--fs-sm); margin-bottom: var(--sp-5); border: 1px solid; }
.form-notice--success { background: #E8F2EC; border-color: #B9D8C5; color: var(--c-exito); }
.form-notice--error { background: #F8E6E6; border-color: #E5BDBE; color: var(--c-error); }
.map-link { margin-top: var(--sp-3); }

/* Comentarios */
.comments-area { margin-top: var(--sp-7); }
.comment-list { list-style: none; padding: 0; }
.comment-form input:not([type="checkbox"]):not([type="submit"]), .comment-form textarea { width: 100%; min-height: 44px; padding: .6rem .8rem; border: 1px solid var(--c-piedra-oscura); border-radius: var(--r-sm); background: #fff; }
