/*
Theme Name: Amoriva
Theme URI: https://amoriva.es
Description: Tema hijo de Twenty Twenty-Five con la marca Amoriva. La paleta y la tipografía son las mismas que las de las páginas de regalo, para que la tienda y el producto se vean de la misma casa.
Author: Consultoría EHERO S.L.U.
Author URI: https://consultoriaehero.com
Template: twentytwentyfive
Version: 1.0.0
Requires at least: 6.7
Tested up to: 7.1
Requires PHP: 8.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: amoriva
*/

/* El grueso del estilo va en theme.json. Aquí solo lo que los bloques no cubren. */

/* Los titulares editoriales piden un interletraje más cerrado del que trae el navegador. */
h1, h2, h3, .wp-block-post-title, .wp-block-heading {
  letter-spacing: -0.005em;
}

/* Ojo de la primera línea de un párrafo destacado. */
.amoriva-entradilla p {
  font-size: clamp(1.05rem, 0.98rem + 0.4vw, 1.25rem);
  line-height: 1.7;
}

/* Los botones no llevan sombra ni degradado: el lujo es sobrio. */
.wp-block-button__link {
  box-shadow: none;
  transition: background-color .35s ease, color .35s ease, border-color .35s ease;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background-color: var(--wp--preset--color--vino);
  color: var(--wp--preset--color--marfil);
}

/* Cabecera pegada arriba, discreta.
   OJO: aquí NO puede haber backdrop-filter, transform ni filter. Cualquiera de
   los tres convierte la cabecera en bloque contenedor de sus descendientes
   «fixed», y el menú desplegable del móvil pasa a medirse contra ella (48 px de
   alto) en vez de contra la pantalla. Con fondo sólido, además, no aportaba nada. */
.amoriva-cabecera {
  position: sticky;
  top: 0;
  z-index: 20;
}

/* La marca, en versalitas espaciadas. */
.wp-block-site-title.amoriva-marca,
.wp-block-site-title.amoriva-marca a,
.amoriva-marca a,
.amoriva-marca {
  font-family: var(--wp--preset--font-family--editorial);
  letter-spacing: .34em;
  text-transform: uppercase;
  text-decoration: none;
}

/* WooCommerce: quitar el aire raro de las notificaciones y respetar la paleta. */
.woocommerce-message,
.woocommerce-info {
  border-top-color: var(--wp--preset--color--vino);
}
.woocommerce ul.products li.product .price {
  color: var(--wp--preset--color--vino);
}

/* ---------- WooCommerce ---------- */

/* Rejilla de la tienda: mucho aire y sin cajas. */
.woocommerce ul.products {
  gap: var(--wp--preset--spacing--40);
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  margin: 0;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after { content: none; }
.woocommerce ul.products li.product {
  width: 100%;
  margin: 0;
  float: none;
  text-align: center;
}
.woocommerce ul.products li.product img {
  border-radius: 10px;
  margin-bottom: 1rem;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--wp--preset--font-family--editorial);
  font-size: 1.3rem;
  font-weight: 400;
  padding: 0;
}
.woocommerce ul.products li.product .button {
  margin-top: .6rem;
}

/* Ficha de producto: la imagen manda y el precio se lee en serif. */
.woocommerce div.product .product_title {
  font-family: var(--wp--preset--font-family--editorial);
  font-weight: 400;
  line-height: 1.1;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-family: var(--wp--preset--font-family--editorial);
  font-size: 2rem;
  color: var(--wp--preset--color--vino);
}
.woocommerce div.product .woocommerce-product-details__short-description {
  font-size: 1.05rem;
  line-height: 1.75;
  margin-bottom: 1.6rem;
}
.woocommerce div.product form.cart .button {
  padding: 1.05em 2.4em;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border-bottom-color: var(--wp--preset--color--champan); }
.woocommerce div.product images img { border-radius: 12px; }
.woocommerce-product-gallery__image img { border-radius: 12px; }

/* Sin envío que mostrar: el aviso de «calcular envío» sobra. */
.woocommerce-shipping-calculator,
.woocommerce-shipping-destination,
.cart-collaterals .shipping { display: none !important; }

/* Botones de Woo con la misma forma que los del tema. */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt {
  background: var(--wp--preset--color--vino);
  color: var(--wp--preset--color--marfil);
  border-radius: 999px;
  font-size: .8125rem;
  font-weight: 500;
  letter-spacing: .14em;
  text-transform: uppercase;
  padding: 1.05em 2.2em;
  transition: background-color .35s ease;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
  background: var(--wp--preset--color--vino-claro);
  color: var(--wp--preset--color--marfil);
}

/* Avisos con la paleta de la casa. */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  background: var(--wp--preset--color--marfil-calido);
  border-top-color: var(--wp--preset--color--vino);
  color: var(--wp--preset--color--tinta);
}

/* Pago: campos sobrios, sin cajas grises. */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.wc-block-components-text-input input {
  border: 1px solid #d9cec0;
  border-radius: 6px;
  padding: .85em 1em;
  background: #fff;
}
.woocommerce table.shop_table {
  border-radius: 10px;
  border-color: var(--wp--preset--color--champan);
}
.woocommerce table.shop_table th { font-weight: 500; }

/* La ficha de producto no es una portada: el titular tiene que ceder
   protagonismo a la imagen y al precio. */
.woocommerce div.product .product_title,
body.single-product .wp-block-post-title {
  font-size: clamp(1.85rem, 1.3rem + 2.2vw, 2.6rem);
  line-height: 1.08;
  margin-bottom: .35rem;
}
body.single-product .woocommerce-product-gallery { margin-bottom: 1.6rem; }
body.single-product div.product .summary { margin-top: 0; }
body.single-product .woocommerce-breadcrumb {
  font-size: .8125rem;
  color: var(--wp--preset--color--tenue);
  margin-bottom: 1.4rem;
}
body.single-product .product_meta { font-size: .8125rem; color: var(--wp--preset--color--tenue); }

/* Las miniaturas de la galería, alineadas y sin salto. */
.woocommerce div.product .flex-control-thumbs li { padding: 0 6px 0 0; }
.woocommerce div.product .flex-control-thumbs img { border-radius: 8px; }

/* ---------- Menú desplegable del móvil ---------- */
/* Se define aquí explícitamente y no se deja al azar del tema padre: es la
   primera cosa que toca quien entra desde el móvil. */
/* Los colores los pone el propio bloque (overlayBackgroundColor); aquí solo
   la geometría, que el núcleo deja a medias cuando el menú va centrado. */
.wp-block-navigation__responsive-container.is-menu-open {
  padding: clamp(28px, 9vw, 56px);
  align-items: center;
  justify-content: center;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 100%;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
  width: 100%;
  align-items: center;
  justify-content: center;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
  gap: 1.6rem;
  align-items: center;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
  font-family: var(--wp--preset--font-family--editorial);
  font-size: clamp(1.7rem, 7vw, 2.3rem);
  letter-spacing: 0;
  text-transform: none;
  color: var(--wp--preset--color--marfil);
  text-decoration: none;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover {
  color: var(--wp--preset--color--champan);
}
.wp-block-navigation__responsive-container-close,
.wp-block-navigation__responsive-container-open {
  color: currentColor;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
  color: var(--wp--preset--color--champan);
  top: clamp(22px, 6vw, 40px);
  right: clamp(22px, 6vw, 40px);
}

/* La lista de las siete escenas no lleva viñetas: es una enumeración editorial. */
.wp-block-list.is-style-none,
#que-pasa .wp-block-list {
  list-style: none;
  padding-left: 0;
  margin-left: 0;
}

/* Menú del móvil: enlaces centrados y cierre arriba a la derecha. */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-page-list {
  width: 100%;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
  justify-content: center;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
  position: absolute;
  top: clamp(20px, 5vw, 34px);
  right: clamp(20px, 5vw, 34px);
}
