/* =========================================================
   Pastel Biarritz Albás · hoja de estilo del tema hijo
   Paleta: crema #F6F0E4 · marfil #FCFAF5 · azul #1E3F8F · azul oscuro #14285E
           granate #B45A4B · dorado #B99257 · tinta #2A2622 · gris #6E665B · línea #E4DACB
   ========================================================= */

:root {
  --bz-crema: #F6F0E4; --bz-marfil: #FCFAF5; --bz-azul: #1E3F8F; --bz-azul-oscuro: #14285E;
  --bz-granate: #B45A4B; --bz-dorado: #B99257; --bz-dorado-claro: #D9C08F; --bz-tinta: #2A2622;
  --bz-gris: #6E665B; --bz-linea: #E4DACB;
  --bz-caslon: "Libre Caslon Display", "Libre Caslon Text", Georgia, serif;
  --bz-caslon-t: "Libre Caslon Text", Georgia, serif;
  --bz-franklin: "Libre Franklin", "Helvetica Neue", Arial, sans-serif;
  --bz-courier: "Courier Prime", "Courier New", monospace;
  --bz-lado: clamp(1.25rem, 5vw, 5rem);
}

/* Fondo con textura de cartón */
body.biarritz-papel { background-color: var(--bz-crema); background-image: url("../img/textura-carton.png"); -webkit-font-smoothing: antialiased; }

/* ---------- Utilidades de la marca ---------- */
.biarritz-caja, .bz-caja { font-family: var(--bz-franklin); font-size: 0.6875rem; letter-spacing: 0.2em; text-transform: uppercase; font-weight: 500; }
.bz-caslon { font-family: var(--bz-caslon) !important; font-weight: 400; }
.bz-caslon-t { font-family: var(--bz-caslon-t) !important; }
.bz-courier { font-family: var(--bz-courier) !important; }
.bz-granate { color: var(--bz-granate) !important; }
.bz-dorado { color: var(--bz-dorado) !important; }
.bz-gris { color: var(--bz-gris) !important; }
.bz-azul { color: var(--bz-azul) !important; }
.bz-cursiva { font-style: italic; }

/* Etiqueta de caja: doble filete dorado */
.bz-etiqueta { border: 1px solid var(--bz-dorado); outline: 1px solid var(--bz-dorado); outline-offset: 4px; }

/* Óvalo del logo como forma */
.bz-ovalo { border-radius: 50%; overflow: hidden; }
.bz-ovalo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bz-ovalo-marco { border-radius: 50%; border: 1px solid var(--bz-dorado); padding: 8px; }

/* Botones: principal recto, secundario "sello" ovalado */
.wp-block-button .wp-block-button__link { line-height: 1; }
.bz-btn-sello .wp-block-button__link, .bz-btn-sello a { background: transparent !important; color: var(--bz-azul) !important; border: 1.5px solid var(--bz-azul) !important; border-radius: 999px !important; }
.bz-btn-sello .wp-block-button__link:hover, .bz-btn-sello a:hover { background: var(--bz-azul) !important; color: var(--bz-marfil) !important; }
.bz-btn-linea .wp-block-button__link { background: transparent !important; color: var(--bz-azul) !important; border: 1px solid var(--bz-azul) !important; }
.bz-btn-linea .wp-block-button__link:hover { border-color: var(--bz-granate) !important; color: var(--bz-granate) !important; }

/* ---------- Cabecera ---------- */
.bz-letra-caja { border-bottom: 1px solid var(--bz-azul); color: var(--bz-azul); }
.bz-letra-caja p { margin: 0; }
.bz-cabecera { padding: 1rem var(--bz-lado); display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 1rem; }
.bz-cabecera > .wp-block-navigation { justify-self: start; }
.bz-cabecera > .bz-logo { justify-self: center; }
.bz-cabecera > .wp-block-group:last-child { justify-self: end; }
.bz-cabecera .wp-block-site-logo img, .bz-cabecera .bz-logo img { height: 72px; width: auto; }
.bz-cabecera .wp-block-navigation a { font-family: var(--bz-franklin); font-size: 0.75rem; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; color: var(--bz-tinta); }
.bz-cabecera .wp-block-navigation a:hover { color: var(--bz-granate); }
.bz-cabecera .wc-block-mini-cart__button, .bz-cabecera .wc-block-customer-account__account-icon { color: var(--bz-tinta); }
.bz-cabecera .wc-block-mini-cart__amount { font-family: var(--bz-franklin); font-size: 0.6875rem; letter-spacing: 0.08em; }
@media (max-width: 781px) { .bz-cabecera .wp-block-site-logo img, .bz-cabecera .bz-logo img { height: 50px; } }

/* ---------- Hero ---------- */
.bz-hero { position: relative; min-height: 78vh; display: flex; align-items: center; overflow: hidden; }
.bz-hero .bz-hero-foto { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 58%; }
.bz-hero .bz-hero-panel { position: relative; margin: 6rem var(--bz-lado); max-width: 520px; padding: clamp(1.5rem, 3vw, 3rem); background: rgba(246,240,228,0.9); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
/* H1 de la portada: la línea pequeña en granate. El eslogan grande es un párrafo con el mismo aspecto que tenía como H1. */
.bz-hero .bz-hero-h1 { font-family: var(--bz-franklin); font-size: 0.6875rem; font-weight: 500; line-height: 1.6; letter-spacing: 0.2em; text-transform: uppercase; margin: 0; }
.bz-hero .bz-hero-titular { font-family: var(--wp--preset--font-family--caslon-display); font-size: clamp(2.5rem, 4.6vw, 4.125rem); font-weight: 400; line-height: 1; letter-spacing: -0.1px; color: var(--wp--preset--color--azul); margin: 0; }
.bz-hero .bz-hero-titular em { color: var(--bz-granate); font-style: italic; }
.bz-hero .bz-hero-texto { font-family: var(--bz-caslon-t); font-size: 1.125rem; line-height: 1.5; color: #4A433B; }
.bz-hero-sello { display: flex; align-items: center; gap: 1rem; border-top: 1px solid rgba(185,146,87,0.5); padding-top: 1rem; }
.bz-hero-sello img { height: 30px; width: auto; }
@media (max-width: 781px) {
  .bz-hero { min-height: 0; display: block; }
  .bz-hero .bz-hero-foto { position: static; height: 55vw; }
  .bz-hero .bz-hero-panel { margin: -2.5rem 1.125rem 0 1.125rem; max-width: none; }
}

/* ---------- Banda azul impresa ---------- */
.bz-banda { background: var(--bz-azul); color: var(--bz-marfil); padding: 1.25rem var(--bz-lado); display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem 1.75rem; }
.bz-banda span { font-family: var(--bz-franklin); font-size: 0.75rem; letter-spacing: 0.26em; text-transform: uppercase; font-weight: 500; }
.bz-banda i { color: var(--bz-dorado-claro); font-style: normal; }

/* ---------- Secciones ---------- */
.bz-seccion { padding: clamp(3rem, 8vw, 7rem) var(--bz-lado); }
.bz-seccion h2 { font-size: clamp(2.25rem, 4.2vw, 3.75rem); line-height: 1.02; margin: 0; }
.bz-intro { font-family: var(--bz-caslon-t); font-size: 1.125rem; line-height: 1.55; color: #4A433B; }
.bz-firma { display: block; height: 74px; width: auto; margin: 2rem auto 0; opacity: 0.9; }
.bz-tres-fotos { display: grid; grid-template-columns: 4fr 5fr 4fr; gap: 1.5rem; align-items: end; }
.bz-tres-fotos img { width: 100%; height: 520px; object-fit: cover; display: block; }
.bz-tres-fotos img:nth-child(2) { height: 620px; }
@media (max-width: 781px) { .bz-tres-fotos { grid-template-columns: 1fr 1fr; } .bz-tres-fotos img { height: 220px !important; } .bz-tres-fotos img:nth-child(2) { grid-column: span 2; height: 260px !important; } }

/* Selecto Club */
.bz-club { position: relative; margin: 0 var(--bz-lado); overflow: hidden; display: grid; grid-template-columns: 1fr 1fr; min-height: 620px; }
.bz-club .bz-club-fondo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 40%; opacity: 0.16; filter: saturate(0.8); }
.bz-club .bz-club-foto { position: relative; width: 100%; height: 100%; min-height: 620px; object-fit: cover; object-position: 50% 30%; display: block; }
.bz-club .bz-club-texto { position: relative; padding: clamp(2rem, 5vw, 4.5rem); display: flex; flex-direction: column; gap: 1.25rem; justify-content: center; }
.bz-club blockquote, .bz-club .bz-cita { font-family: var(--bz-caslon); font-size: clamp(1.5rem, 2.4vw, 2.125rem); line-height: 1.24; color: var(--bz-azul); margin: 0; }
@media (max-width: 781px) { .bz-club { grid-template-columns: 1fr; min-height: 0; margin: 0; } .bz-club .bz-club-foto { min-height: 0; height: 300px; } }

/* Libro de visitas */
.bz-visitas { display: grid; grid-template-columns: 5fr 7fr; gap: 4rem; align-items: start; }
.bz-visitas .bz-cita-grande { font-family: var(--bz-courier); font-size: 1.25rem; line-height: 1.6; border-left: 1px solid var(--bz-dorado); padding-left: 1.75rem; }
.bz-visitas .bz-citas-peq { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; font-family: var(--bz-courier); font-size: 0.875rem; line-height: 1.6; color: #4A433B; }
.bz-visitas .bz-autor { display: block; font-size: 0.8125rem; color: var(--bz-gris); margin-top: 0.4rem; }
.bz-estrellas { color: var(--bz-dorado); letter-spacing: 4px; font-size: 0.875rem; }
@media (max-width: 781px) { .bz-visitas, .bz-visitas .bz-citas-peq { grid-template-columns: 1fr; gap: 1.5rem; } }

/* Ven a vernos */
.bz-tienda { display: grid; grid-template-columns: 5fr 7fr; min-height: 520px; }
.bz-tienda .bz-tienda-panel { background: var(--bz-granate); color: var(--bz-marfil); padding: clamp(2rem, 5vw, 4.5rem) clamp(1.5rem, 4vw, 4rem) clamp(2rem, 5vw, 4.5rem) var(--bz-lado); display: flex; flex-direction: column; justify-content: center; gap: 1rem; }
.bz-tienda .bz-tienda-panel h2, .bz-tienda .bz-tienda-panel a { color: var(--bz-marfil); }
.bz-tienda .bz-tienda-panel .bz-caja { color: #FCE9D6; }
.bz-tienda .bz-tienda-panel .wp-block-button__link { background: var(--bz-marfil) !important; color: var(--bz-granate) !important; }
.bz-tienda img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 60%; display: block; }
@media (max-width: 781px) { .bz-tienda { grid-template-columns: 1fr; min-height: 0; } .bz-tienda img { height: 220px; order: -1; } }

/* ---------- Pie ---------- */
.bz-pie { border-top: 1px solid var(--bz-azul); padding: 4rem var(--bz-lado) 2.5rem; }
.bz-pie .bz-logo img { height: 64px; width: auto; }
.bz-pie a { color: var(--bz-tinta); font-size: 0.875rem; }
.bz-pie a:hover { color: var(--bz-granate); }
.bz-pie .bz-caja.bz-titulo { color: var(--bz-granate); display: block; margin-bottom: 0.75rem; }
.bz-pie-legal { border-top: 1px solid var(--bz-azul); padding-top: 1.25rem; margin-top: 2.5rem; color: var(--bz-azul); display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }

/* ---------- WooCommerce: rejilla de productos en óvalo ---------- */
.woocommerce ul.products { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.5rem; margin: 0; padding: 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { width: auto !important; margin: 0 !important; float: none !important; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 0.9rem; }
.woocommerce ul.products li.product a img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 50%; border: 1px solid var(--bz-dorado); padding: 8px; background: transparent; margin: 0; transition: transform 0.9s cubic-bezier(0.2,0.8,0.2,1); }
.woocommerce ul.products li.product a:hover img { transform: scale(1.03); }
.woocommerce ul.products li.product .woocommerce-loop-product__title, .woocommerce ul.products li.product h2 { font-family: var(--bz-caslon); font-size: 1.75rem !important; line-height: 1.05; color: var(--bz-azul); padding: 0; margin: 0; font-weight: 400; }
.woocommerce ul.products li.product .price { font-family: var(--bz-franklin); font-size: 0.6875rem; letter-spacing: 0.2em; text-transform: uppercase; font-weight: 500; color: var(--bz-granate) !important; margin: 0; }
.woocommerce ul.products li.product .price del { opacity: 0.5; }
.woocommerce ul.products li.product .button { display: inline-flex; background: transparent; color: var(--bz-azul); border: 1.5px solid var(--bz-azul); border-radius: 999px; font-family: var(--bz-franklin); font-size: 0.6875rem; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 500; padding: 0.9rem 1.5rem; line-height: 1; }
.woocommerce ul.products li.product .button:hover { background: var(--bz-azul); color: var(--bz-marfil); }
.woocommerce ul.products li.product .onsale { background: var(--bz-granate); border-radius: 999px; font-family: var(--bz-franklin); font-size: 0.625rem; letter-spacing: 0.14em; text-transform: uppercase; min-height: 0; padding: 0.5rem 0.9rem; line-height: 1; }
@media (max-width: 1024px) { .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 781px) { .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem 1rem; } .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 1.375rem !important; } }

/* Tienda (archivo) */
.bz-tienda-cabecera { display: flex; justify-content: space-between; align-items: flex-end; gap: 2rem; flex-wrap: wrap; margin-bottom: 3rem; }
.woocommerce .woocommerce-result-count { font-family: var(--bz-courier); font-size: 0.8125rem; color: var(--bz-gris); }
.woocommerce .woocommerce-ordering select { font-family: var(--bz-franklin); font-size: 0.75rem; letter-spacing: 0.1em; text-transform: uppercase; border: 1px solid #C9BBA3; background: rgba(252,250,245,0.8); padding: 0.6rem 2rem 0.6rem 0.9rem; }
.woocommerce nav.woocommerce-pagination ul { border: 0; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { font-family: var(--bz-franklin); letter-spacing: 0.1em; border: 1px solid var(--bz-dorado); border-radius: 999px; margin: 0 0.25rem; padding: 0.6rem 1rem; color: var(--bz-azul); }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--bz-azul); color: var(--bz-marfil); border-color: var(--bz-azul); }

/* Migas de pan */
.woocommerce .woocommerce-breadcrumb { font-family: var(--bz-franklin); font-size: 0.6875rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--bz-gris); margin-bottom: 2rem; }
.woocommerce .woocommerce-breadcrumb a { color: var(--bz-gris); }

/* ---------- WooCommerce: ficha de producto ---------- */
.woocommerce div.product { display: grid; grid-template-columns: 7fr 5fr; gap: 4.5rem; align-items: start; }
.woocommerce div.product .woocommerce-product-gallery { width: 100% !important; float: none !important; margin: 0; }
.woocommerce div.product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper { border: 1px solid var(--bz-dorado); outline: 1px solid var(--bz-dorado); outline-offset: 4px; padding: 1.5rem; background: rgba(252,250,245,0.8); }
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs { display: flex; justify-content: center; gap: 1.25rem; margin-top: 1.5rem; }
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li { width: 120px; float: none; }
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs img { width: 120px; height: 90px; object-fit: cover; border-radius: 50%; border: 1px solid #C9BBA3; padding: 4px; opacity: 1; }
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs img.flex-active { border: 1.5px solid var(--bz-azul); }
.woocommerce div.product div.summary { width: 100% !important; float: none !important; display: flex; flex-direction: column; gap: 1.25rem; }
.woocommerce div.product .product_title { font-family: var(--bz-caslon); font-size: clamp(2.25rem, 3.6vw, 3.375rem); line-height: 1; color: var(--bz-azul); margin: 0; }
.woocommerce div.product p.price, .woocommerce div.product span.price { font-family: var(--bz-caslon); font-size: 2.25rem; color: var(--bz-azul) !important; margin: 0; }
.woocommerce div.product p.price .woocommerce-Price-currencySymbol { font-size: 0.7em; }
.woocommerce div.product .woocommerce-product-details__short-description { font-family: var(--bz-caslon-t); font-size: 1.0625rem; line-height: 1.6; color: #4A433B; }
.woocommerce div.product form.cart table.variations { margin-bottom: 1rem; }
.woocommerce div.product form.cart table.variations th.label { font-family: var(--bz-franklin); font-size: 0.6875rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--bz-azul); padding-right: 1rem; }
.woocommerce div.product form.cart table.variations select { font-family: var(--bz-franklin); font-size: 0.75rem; letter-spacing: 0.1em; text-transform: uppercase; border: 1px solid #C9BBA3; background: rgba(252,250,245,0.8); padding: 0.8rem 2.5rem 0.8rem 1rem; border-radius: 999px; }
.woocommerce div.product form.cart .reset_variations { font-family: var(--bz-courier); font-size: 0.75rem; }
.woocommerce div.product form.cart .woocommerce-variation-price .price { font-size: 1.75rem; }
.woocommerce div.product form.cart .quantity .qty { height: 54px; width: 5rem; border: 1px solid #C9BBA3; background: rgba(252,250,245,0.8); font-family: var(--bz-franklin); }
.woocommerce div.product form.cart .button { height: 54px; border-radius: 2px; background: var(--bz-azul); color: var(--bz-marfil); font-family: var(--bz-franklin); font-size: 0.8125rem; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 500; padding: 0 2rem; line-height: 54px; }
.woocommerce div.product form.cart .button:hover { background: var(--bz-azul-oscuro); color: var(--bz-marfil); }
.woocommerce div.product .product_meta { font-family: var(--bz-franklin); font-size: 0.6875rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--bz-gris); line-height: 1.8; }
.woocommerce div.product .product_meta a { color: var(--bz-azul); }
.biarritz-ficha-notas { display: flex; flex-direction: column; gap: 0.5rem; color: var(--bz-gris); border-top: 1px solid var(--bz-dorado); padding-top: 1.125rem; line-height: 1.6; }
/* Pestañas */
.woocommerce div.product .woocommerce-tabs { grid-column: 1 / -1; border-top: 1px solid var(--bz-dorado); margin-top: 2rem; padding-top: 0.5rem; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; margin: 0 0 2rem; border-bottom: 1px solid var(--bz-linea); display: flex; gap: 2.5rem; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before, .woocommerce div.product .woocommerce-tabs ul.tabs::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: transparent; border: 0; border-radius: 0; margin: 0; padding: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { font-family: var(--bz-franklin); font-size: 0.75rem; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 500; color: var(--bz-gris); padding: 0.9rem 0; border-bottom: 2px solid transparent; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--bz-azul); border-bottom-color: var(--bz-azul); }
.woocommerce div.product .woocommerce-tabs .panel { font-family: var(--bz-caslon-t); font-size: 1.0625rem; line-height: 1.7; max-width: 62ch; }
.woocommerce div.product .woocommerce-tabs .panel h2 { display: none; }
.woocommerce table.woocommerce-product-attributes { font-family: var(--bz-caslon-t); }
.woocommerce table.woocommerce-product-attributes th { font-family: var(--bz-franklin); font-size: 0.6875rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--bz-granate); font-weight: 500; }
/* Relacionados */
.woocommerce div.product section.related, .woocommerce div.product section.upsells { grid-column: 1 / -1; margin-top: 3rem; }
.woocommerce div.product section.related > h2, .woocommerce div.product section.upsells > h2 { font-family: var(--bz-caslon); font-size: 2.5rem; color: var(--bz-azul); margin-bottom: 2.5rem; }
.woocommerce div.product section.related ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 900px) { .woocommerce div.product { grid-template-columns: 1fr; gap: 2rem; } .woocommerce div.product section.related ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Avisos de WooCommerce en tono de marca */
.woocommerce-message, .woocommerce-info, .woocommerce-error { border-top-color: var(--bz-dorado); background: rgba(252,250,245,0.9); font-family: var(--bz-franklin); }
.woocommerce-message::before, .woocommerce-info::before { color: var(--bz-dorado); }
.woocommerce .button.alt, .woocommerce button.button, .woocommerce a.button, .woocommerce input.button, .wc-block-components-button { background: var(--bz-azul); color: var(--bz-marfil); border-radius: 2px; font-family: var(--bz-franklin); font-size: 0.8125rem; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 500; }

/* ---------- Efectos de scroll ---------- */
.bz-motion [data-reveal] { opacity: 0; transform: translateY(28px); transition: opacity 0.9s cubic-bezier(0.2,0.8,0.2,1), transform 0.9s cubic-bezier(0.2,0.8,0.2,1); }
.bz-motion [data-reveal].is-visible { opacity: 1; transform: none; }
.bz-motion [data-parallax] { will-change: transform; }
.bz-no-motion [data-reveal] { opacity: 1; transform: none; }

/* ---------- Ajustes tras la primera prueba ---------- */
main.bz-seccion { padding-top: 2rem; }
.bz-pie ul { list-style: none; padding: 0; margin: 0; }
.woocommerce div.product form.cart table.variations select { line-height: 1.3; height: auto; font-size: 0.8125rem; }
.woocommerce div.product form.cart table.variations td.value { padding-bottom: 0.5rem; }
.woocommerce div.product form.cart .woocommerce-variation-availability { font-family: var(--bz-courier); font-size: 0.8125rem; color: var(--bz-gris); }
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs { flex-wrap: wrap; }
.wc-block-mini-cart__button:hover, .wc-block-customer-account__account-icon:hover { color: var(--bz-granate); }

/* ---------- Tarjetas de producto: fondo marfil, óvalo suave, botón con texto ---------- */
.woocommerce ul.products { gap: 1.5rem; }
.woocommerce ul.products li.product { background: var(--bz-marfil); border: 1px solid rgba(228,218,203,0.7); padding: 1.75rem 1.5rem 2rem; gap: 0.75rem; transition: box-shadow 0.4s ease; }
.woocommerce ul.products li.product:hover { box-shadow: 0 18px 40px rgba(42,38,34,0.08); }
.woocommerce ul.products li.product a img { border: 1px solid rgba(185,146,87,0.55); padding: 6px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title, .woocommerce ul.products li.product h2 { font-size: 1.5rem !important; }

.woocommerce ul.products li.product .added_to_cart { font-family: var(--bz-franklin); font-size: 0.6875rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--bz-granate); padding: 0.25rem 0 0; }
@media (max-width: 781px) { .woocommerce ul.products li.product { padding: 1.25rem 1rem 1.5rem; } }

/* ---------- Páginas interiores: historia y visítanos ---------- */
.bz-foto img { width: 100%; height: auto; display: block; }
.bz-intro-grande { font-family: var(--bz-caslon); font-size: clamp(1.5rem, 2.4vw, 2.125rem); line-height: 1.3; color: var(--bz-azul); }
.bz-anyo { font-family: var(--bz-caslon); font-size: clamp(2.5rem, 4vw, 4.5rem); line-height: 1; color: var(--bz-dorado); margin: 0; }
.bz-hito { margin-top: 3rem; }
.bz-hito .bz-foto img { border-radius: 50%; aspect-ratio: 4 / 3; object-fit: cover; border: 1px solid rgba(185,146,87,0.55); padding: 8px; }
.bz-club-cita { background: rgba(252,250,245,0.8); margin: 3rem 0; }
.bz-cita { font-family: var(--bz-caslon); font-size: clamp(1.375rem, 2vw, 1.75rem); line-height: 1.35; color: var(--bz-azul); }
main.bz-seccion .wp-block-post-title { font-size: clamp(2.5rem, 4.5vw, 4rem); margin-bottom: 2rem; }
main.bz-seccion .bz-firma img { height: 74px; width: auto; opacity: 0.9; }

/* ---------- Ficha de producto: más grande y más limpia ---------- */
.woocommerce div.product { grid-template-columns: 8fr 4fr; gap: 4rem; }
.woocommerce div.product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper { border: 1px solid rgba(185,146,87,0.6); outline: none; padding: 2.5rem; background: rgba(252,250,245,0.9); }
.woocommerce div.product .woocommerce-product-gallery .woocommerce-product-gallery__image img { max-height: 640px; width: 100%; object-fit: contain; }
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs { justify-content: flex-start; gap: 0.75rem; margin-top: 1rem; }
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li { width: 92px; }
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs img { width: 92px; height: 70px; border-radius: 0; border: 1px solid var(--bz-linea); padding: 0; opacity: 0.85; }
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs img.flex-active { border: 1px solid var(--bz-azul); opacity: 1; }
.woocommerce div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger { border: 1px solid var(--bz-linea); background: var(--bz-marfil); }
.woocommerce div.product div.summary { padding-top: 1rem; gap: 1.5rem; }
.woocommerce div.product .product_title { font-size: clamp(2.5rem, 3.8vw, 3.75rem); }
.woocommerce div.product .woocommerce-product-details__short-description { font-size: 1.125rem; }
.woocommerce div.product form.cart table.variations select { border-radius: 2px; min-width: 220px; }
@media (max-width: 900px) { .woocommerce div.product { grid-template-columns: 1fr; } .woocommerce div.product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper { padding: 1rem; } }

.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li { width: auto !important; flex: 0 0 auto; float: none !important; margin: 0; }

/* ---------- Rejilla de productos: bodegón rectangular grande, sin óvalo ---------- */
.woocommerce ul.products li.product { padding: 0 0 1.75rem; gap: 0.5rem; border: 0; background: transparent; box-shadow: none !important; }
.woocommerce ul.products li.product a img { aspect-ratio: 4 / 5; border-radius: 0; border: 0; padding: 0; object-fit: cover; margin-bottom: 0.75rem; }
.woocommerce ul.products li.product .woocommerce-loop-product__title, .woocommerce ul.products li.product h2 { font-size: 1.625rem !important; }
.woocommerce ul.products li.product .price { letter-spacing: 0.14em; }
.woocommerce ul.products li.product .button { margin-top: 0.5rem; }
.woocommerce ul.products li.product .onsale { top: 1rem; left: 1rem; right: auto; margin: 0; }
.woocommerce div.product section.related ul.products li.product a img { aspect-ratio: 4 / 5; }

.woocommerce ul.products.columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; }
@media (max-width: 781px) { .woocommerce ul.products.columns-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ---------- Páginas legales y de ayuda ---------- */
.wp-block-group.bz-legal { max-width: 820px; margin-left: 0 !important; font-family: var(--bz-caslon-t); font-size: 1.0625rem; line-height: 1.7; color: var(--bz-tinta); }
main.bz-seccion .bz-legal h2 { font-family: var(--bz-caslon); font-weight: 400; font-size: clamp(1.625rem, 2.4vw, 2.125rem); line-height: 1.15; color: var(--bz-azul); margin: 3rem 0 1rem; scroll-margin-top: 2rem; }
.bz-legal h3 { font-family: var(--bz-franklin); font-size: 0.75rem; letter-spacing: 0.2em; text-transform: uppercase; font-weight: 500; color: var(--bz-granate); margin: 2rem 0 0.75rem; }
.bz-legal a { color: var(--bz-azul); text-underline-offset: 3px; }
.bz-legal a:hover { color: var(--bz-granate); }
.bz-legal ul, .bz-legal ol { padding-left: 1.25rem; }
.bz-legal li { margin-bottom: 0.4rem; }
.bz-legal .wp-block-table { overflow-x: auto; margin: 1.5rem 0; }
.bz-legal table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: 0.9375rem; line-height: 1.5; background: rgba(252,250,245,0.85); }
.bz-legal th, .bz-legal td { border: 1px solid var(--bz-linea); padding: 0.75rem 0.9rem; vertical-align: top; text-align: left; }
.bz-legal th { font-family: var(--bz-franklin); font-size: 0.6875rem; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; color: var(--bz-granate); }
.bz-legal .bz-legal-datos { list-style: none; padding: 1.5rem 1.75rem; margin: 1.5rem 0 2rem; border: 1px solid var(--bz-dorado); outline: 1px solid var(--bz-dorado); outline-offset: 4px; background: rgba(252,250,245,0.85); }
.bz-legal .bz-legal-datos strong { font-family: var(--bz-franklin); font-size: 0.6875rem; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; color: var(--bz-granate); margin-right: 0.35rem; }
.bz-legal-formulario { border: 1px dashed var(--bz-dorado); padding: 1.5rem 1.75rem; background: rgba(252,250,245,0.85); font-family: var(--bz-courier); font-size: 0.9375rem; }
.bz-legal-formulario p { margin: 0 0 1rem; }
.bz-legal-fecha { font-family: var(--bz-courier); font-size: 0.8125rem; color: var(--bz-gris); margin-top: 3rem; }
.bz-legal .bz-pendiente { background: #FBE7A1; color: var(--bz-tinta); padding: 0 0.25em; }

/* ---------- Aviso de cookies ---------- */
.bz-cookies { position: fixed; left: 1.25rem; bottom: 1.25rem; z-index: 99999; max-width: 440px; background: var(--bz-marfil); border: 1px solid var(--bz-dorado); outline: 1px solid var(--bz-dorado); outline-offset: 3px; box-shadow: 0 18px 40px rgba(42,38,34,0.14); padding: 1.5rem 1.5rem 1.25rem; display: flex; flex-direction: column; gap: 0.75rem; }
.bz-cookies[hidden] { display: none; }
.bz-cookies-titulo { margin: 0; font-family: var(--bz-franklin); font-size: 0.6875rem; letter-spacing: 0.2em; text-transform: uppercase; font-weight: 500; color: #9A4538; }
.bz-cookies-texto { margin: 0; font-family: var(--bz-caslon-t); font-size: 0.9375rem; line-height: 1.55; color: var(--bz-tinta); }
.bz-cookies-texto a { color: var(--bz-azul); text-decoration: underline; text-underline-offset: 3px; }
.bz-cookies-botones { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; margin-top: 0.25rem; }
.bz-cookies-botones button { appearance: none; cursor: pointer; background: transparent; color: var(--bz-azul); border: 1px solid var(--bz-azul); border-radius: 2px; font-family: var(--bz-franklin); font-size: 0.75rem; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 500; padding: 0.95rem 1rem; line-height: 1; }
.bz-cookies-botones button:hover, .bz-cookies-botones button:focus-visible { background: var(--bz-azul); color: var(--bz-marfil); }
@media (max-width: 600px) { .bz-cookies { left: 0.75rem; right: 0.75rem; bottom: 0.75rem; max-width: none; } }
.bz-pie-credito a { color: var(--bz-azul); }
.bz-pie-credito a:hover { color: var(--bz-granate); }

/* Redes en el pie */
.bz-pie-redes { margin: 1.25rem 0 0; }
.bz-pie-redes a { display: inline-flex; align-items: center; gap: 0.6rem; color: var(--bz-azul); text-decoration: none; }
.bz-pie-redes a:hover { color: var(--bz-granate); }
.bz-pie-redes svg { flex: none; }

/* Texto solo para lectores de pantalla */
.bz-oculto { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

/* Cabecera en móvil: barra superior corta y cuenta + cesta en una sola fila */
.bz-solo-movil { display: none; }
.bz-cabecera > .wp-block-group:last-child { flex-wrap: nowrap; }
@media (max-width: 781px) {
  .bz-solo-escritorio { display: none; }
  .bz-solo-movil { display: inline; }
  .bz-cabecera { padding: 0.75rem 1.125rem; }
  .bz-cabecera > .wp-block-group:last-child { gap: 0.25rem; }
  .bz-cabecera .wc-block-mini-cart__amount { display: none; }
}

/* Móvil: botones de la rejilla en una línea, fotos de la tienda sin huecos y email del pie al tamaño del resto */
.bz-pie .bz-caja a { font-size: inherit; }
@media (max-width: 781px) {
  .woocommerce ul.products li.product .button { white-space: nowrap; padding-left: 1rem; padding-right: 1rem; letter-spacing: 0.1em; }
  .bz-tres-fotos img:nth-child(2) { order: -1; }
}

/* Pie: datos de la tienda en tres bloques con título (dónde estamos, horario, contacto) */
.bz-pie-datos { display: grid; gap: 1.75rem; margin-top: 1.75rem; }
.bz-pie .bz-pie-bloque .bz-titulo { margin: 0 0 0.5rem; }
.bz-pie-texto, .bz-pie-horario { font-family: var(--bz-franklin); font-size: 0.875rem; line-height: 1.75; color: var(--bz-tinta); margin: 0; }
.bz-pie-horario { display: grid; grid-template-columns: max-content 1fr; column-gap: 1.5rem; }
.bz-pie-horario dt, .bz-pie-horario dd { margin: 0; }
.bz-pie-horario dd { font-variant-numeric: tabular-nums; }
.bz-pie-horario .bz-cerrado { color: #6E665B; }
.bz-pie-bloque .bz-pie-redes { margin-top: 0.75rem; }

/* Libro de visitas con reseñas de Google */
.bz-nota-google { font-family: var(--bz-franklin); font-size: 0.8125rem; letter-spacing: 0.04em; color: var(--bz-tinta); margin: 0.35rem 0 0; }
.bz-nota-google strong { font-family: var(--bz-caslon); font-size: 1.625rem; font-weight: 400; color: var(--bz-azul); margin-right: 0.2rem; letter-spacing: 0; }
.bz-nota-google a, .bz-google-atribucion a, .bz-visitas .bz-autor a { color: var(--bz-azul); }
.bz-visitas .bz-texto-resena { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 6; overflow: hidden; }
.bz-visitas .bz-cita-grande .bz-texto-resena { -webkit-line-clamp: 8; }
.bz-google-atribucion { font-family: var(--bz-franklin); font-size: 0.75rem; letter-spacing: 0.02em; color: #6E665B; margin: 1.75rem 0 0; }

/* Ficha: sin gluten y sin lactosa, destacados por igual */
.biarritz-ficha-notas .biarritz-ficha-sin { color: var(--bz-azul); font-weight: 600; }

/* Barra superior en móvil: sin gluten y sin lactosa por igual, en una línea */
@media (max-width: 781px) { .bz-letra-caja .bz-caja { font-size: 0.65625rem; letter-spacing: 0.1em !important; text-wrap: balance; } }

/* Banda de foto a todo el ancho con parallax */
.bz-banda-foto { position: relative; height: clamp(340px, 70vh, 760px); overflow: hidden; margin: 0; }
.bz-banda-foto img { position: absolute; left: 0; top: -12%; width: 100%; height: 124%; object-fit: cover; object-position: 50% 55%; display: block; }
.bz-banda-foto-etiqueta { position: absolute; left: var(--bz-lado); bottom: clamp(1.25rem, 3vw, 2.5rem); margin: 0; padding: 0.7rem 1.1rem; background: rgba(252,250,245,0.94); color: var(--bz-azul); border: 1px solid var(--bz-dorado); outline: 1px solid var(--bz-dorado); outline-offset: 3px; }
@media (max-width: 781px) { .bz-banda-foto { height: 56vh; min-height: 300px; } }

/* Del obrador al mostrador: cuatro bloques con foto y texto */
.bz-cuatro-cabecera { margin-bottom: 2.5rem; }
.bz-cuatro-cabecera h2 { margin: 0.4rem 0 0; }
.bz-cuatro-rejilla { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1.25rem, 2.2vw, 2rem); }
.bz-cuatro-bloque { margin: 0; }
.bz-cuatro-bloque img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; display: block; margin-bottom: 1.1rem; }
.bz-cuatro-bloque .bz-caja { margin: 0 0 0.35rem; }
.bz-cuatro-bloque h3 { font-family: var(--bz-caslon); font-weight: 400; font-size: clamp(1.35rem, 1.8vw, 1.625rem); line-height: 1.15; color: var(--bz-azul); margin: 0 0 0.5rem; }
.bz-cuatro-bloque .bz-cuatro-texto { margin: 0; line-height: 1.55; }
.bz-motion .bz-cuatro-bloque:nth-child(2) { transition-delay: 0.12s; }
.bz-motion .bz-cuatro-bloque:nth-child(3) { transition-delay: 0.24s; }
.bz-motion .bz-cuatro-bloque:nth-child(4) { transition-delay: 0.36s; }
@media (max-width: 1024px) { .bz-cuatro-rejilla { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 2.5rem; } }
@media (max-width: 560px) { .bz-cuatro-rejilla { grid-template-columns: 1fr; } .bz-cuatro-bloque img { aspect-ratio: 4 / 3; } }

/* Libro de visitas con el widget de Trustindex: título arriba y reseñas a todo el ancho */
.bz-visitas.bz-visitas-trustindex { display: block; }
.bz-visitas-trustindex .bz-google-atribucion { margin-top: 0.75rem; }
.bz-visitas-trustindex .bz-trustindex { margin-top: 2rem; }

/* Trustindex con la tipografía de la web en lugar de Poppins */
.bz-trustindex .ti-widget, .bz-trustindex .ti-widget * { font-family: inherit !important; }
.bz-trustindex .ti-widget .ti-name { font-family: var(--bz-franklin) !important; letter-spacing: 0.02em; color: var(--bz-azul) !important; }
.bz-trustindex .ti-widget .ti-date { font-family: var(--bz-franklin) !important; }

/* Visítanos: la fila de tres fotos con el mismo formato vertical (la del centro se recorta centrada) */
.page-id-61 .wp-block-columns:has(> .wp-block-column:nth-child(3)) .bz-foto img { width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: cover; object-position: 52% 50%; }


/* Segunda franja: entrega de la caja en la bolsa de Albás */
.bz-banda-foto.bz-banda-entrega img { object-position: 50% 50%; }

/* Logo completo bajo las fotos de la tienda */
.bz-firma.bz-firma-logo { height: 118px; opacity: 1; }

/* Menú fijo al bajar en ordenador: la cabecera se queda arriba y se compacta */
@media (min-width: 782px) {
  .wp-site-blocks > header.wp-block-template-part { position: sticky; top: var(--wp-admin--admin-bar--height, 0px); z-index: 100; background-color: var(--bz-crema); background-image: url("../img/textura-carton.png"); }
  .bz-cabecera { transition: padding 0.3s ease; }
  .bz-cabecera .bz-logo img { transition: height 0.3s ease; }
  .bz-compacta .wp-site-blocks > header.wp-block-template-part { box-shadow: 0 1px 0 rgba(30,63,143,0.35), 0 10px 24px -20px rgba(42,38,34,0.45); }
  .bz-compacta .bz-letra-caja { display: none; }
  .bz-compacta .bz-cabecera { padding-top: 0.45rem; padding-bottom: 0.45rem; }
  .bz-compacta .bz-cabecera .bz-logo img { height: 46px; }
}

/* 0.4.9 · Sección unida «Una pastelería de las de antes» (cabecera en dos columnas y logo debajo) */
.bz-cuatro-cabecera { display: grid; grid-template-columns: 42fr 58fr; gap: 1.25rem 4rem; align-items: end; margin-bottom: 3rem; }
.bz-cuatro-cabecera .bz-intro { margin: 0; }
.bz-cuatro .bz-firma.bz-firma-logo { margin-top: 3.5rem; }
@media (max-width: 781px) { .bz-cuatro-cabecera { grid-template-columns: 1fr; } }

/* 0.4.9 · Móvil: banda azul más corta y «Elige tu dulce» en fila deslizable */
@media (max-width: 781px) {
  .bz-banda .bz-no-movil { display: none; }
  .bz-elige .woocommerce ul.products.columns-3 { display: flex; grid-template-columns: none; gap: 1rem; overflow-x: auto; scroll-snap-type: x mandatory; margin-right: calc(-1 * var(--bz-lado)); padding-right: var(--bz-lado); scrollbar-width: none; }
  .bz-elige .woocommerce ul.products.columns-3::-webkit-scrollbar { display: none; }
  .bz-elige .woocommerce ul.products.columns-3 li.product { flex: 0 0 74%; scroll-snap-align: start; }
}

/* 0.5.0 · Reclamos del Pastel Biarritz en la portada */
.bz-sin-lista { list-style: none; display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 1.5rem 0 0; padding: 0; }
.bz-sin-lista li { font-family: var(--bz-franklin); font-size: 0.6875rem; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; color: var(--bz-azul); border: 1px solid rgba(185,146,87,0.6); border-radius: 999px; padding: 0.4rem 0.85rem; }

/* 0.6.1 · Logo de la Asociación Celíaca Aragonesa: discreto en el pie y en la ficha */
.bz-aca { display: inline-block; line-height: 0; }
.bz-aca img { width: auto; display: block; opacity: 0.9; transition: opacity 0.3s ease; }
.bz-aca:hover img { opacity: 1; }
.bz-pie-marca { display: flex; align-items: center; gap: 0.9rem; margin: 0; }
.bz-pie-aca { line-height: 0; }
.bz-pie-aca img { height: 24px; width: auto; display: block; opacity: 0.8; }
.bz-pie-aca:hover img { opacity: 1; }
.biarritz-ficha-fila { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.bz-aca-ficha img { height: 30px; }
@media (max-width: 781px) { .bz-pie-aca { text-align: left; margin-top: 1.5rem; } }

/* 0.6.4 · Sello de la ACA en la caja del hero */
.bz-hero-sello { flex-wrap: wrap; row-gap: 0.75rem; }
.bz-hero-sello .bz-hero-aca { margin-left: auto; }
.bz-hero-sello .bz-hero-aca img { height: 26px; opacity: 0.85; }
.bz-hero-sello .bz-hero-aca:hover img { opacity: 1; }
@media (max-width: 560px) { .bz-hero-sello .bz-hero-aca { margin-left: 0; } }

/* 0.6.5 · Aire después de las franjas de foto a todo el ancho (el marco dorado se pegaba a la foto) */
.bz-banda-foto + .bz-club,
.bz-banda-foto + .bz-estrella,
.bz-banda-foto + .wp-block-group { margin-top: clamp(2.75rem, 5vw, 4.5rem); }
.bz-club + .wp-block-group { margin-top: clamp(2rem, 4vw, 3rem); }

/* 0.6.7 · Iconos «sin gluten» y «sin lactosa» bajo el título de la ficha */
.bz-ficha-iconos { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1.5rem; margin: 0.25rem 0 1.25rem; }
.bz-ficha-icono { display: inline-flex; align-items: center; gap: 0.5rem; font-family: var(--bz-franklin); font-size: 0.6875rem; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; color: var(--bz-azul); }
.bz-ficha-icono svg { width: 26px; height: 26px; flex: none; color: var(--bz-dorado); }
.bz-aca-ficha { display: inline-block; }

/* 0.6.8 · Móvil: la galería de producto (flexslider + zoom) se salía y dejaba mover la página de lado */
@media (max-width: 781px) {
  .woocommerce div.product .woocommerce-product-gallery,
  .woocommerce div.product .woocommerce-product-gallery .flex-viewport { max-width: 100%; overflow: hidden; }
  .woocommerce div.product .woocommerce-product-gallery img.zoomImg { display: none !important; }
}

/* 0.6.9 · Móvil: la columna de la ficha crecía hasta el ancho mínimo del carrusel de fotos */
@media (max-width: 900px) {
  .woocommerce div.product { grid-template-columns: minmax(0, 1fr); }
  .woocommerce div.product .woocommerce-product-gallery { min-width: 0; }
}

/* 0.7.0 · Ficha: las fotos en columna, grandes, y la compra fija al lado (estilo tienda de ropa) */
.woocommerce div.product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper { border: 0; outline: 0; padding: 0; display: grid; gap: clamp(0.75rem, 1.5vw, 1.25rem); background: transparent; }
.woocommerce div.product .woocommerce-product-gallery .woocommerce-product-gallery__image { margin: 0; width: 100%; }
.woocommerce div.product .woocommerce-product-gallery .woocommerce-product-gallery__image img { width: 100%; height: auto; display: block; border: 1px solid rgba(185,146,87,0.45); }
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs { display: none !important; }
.woocommerce div.product .woocommerce-product-gallery__trigger { top: 1.25rem; right: 1.25rem; }
@media (min-width: 901px) {
  .woocommerce div.product div.summary { position: sticky; top: calc(var(--wp-admin--admin-bar--height, 0px) + 7rem); align-self: start; }
}

/* 0.7.3 · Galería propia en columna */
.bz-galeria { display: grid; gap: clamp(0.75rem, 1.5vw, 1.25rem); }
.bz-galeria .bz-galeria-foto { width: 100%; height: auto; display: block; border: 1px solid rgba(185,146,87,0.45); background: var(--bz-marfil); }

/* 0.7.4 · La compra se queda fija solo mientras dura la galería */
.woocommerce div.product div.summary .bz-sticky { display: flex; flex-direction: column; gap: 1.25rem; }
@media (min-width: 901px) {
  .woocommerce div.product div.summary { align-self: stretch; position: static; }
  .woocommerce div.product div.summary .bz-sticky { position: sticky; top: calc(var(--wp-admin--admin-bar--height, 0px) + 7rem); }
}

/* 0.7.5 · Iconos «sin gluten» y «sin lactosa» también en las cajas de la tienda */
.woocommerce ul.products li.product .bz-ficha-iconos.bz-iconos-rejilla { justify-content: center; gap: 0.35rem 1rem; margin: 0.15rem 0 0; }
.bz-iconos-rejilla .bz-ficha-icono { font-size: 0.625rem; letter-spacing: 0.12em; gap: 0.35rem; }
.bz-iconos-rejilla .bz-ficha-icono svg { width: 20px; height: 20px; }

/* 0.7.6 · Cajas de la tienda con más aire y los iconos bajo el precio, más discretos */
.woocommerce ul.products li.product { gap: 0.9rem; padding-bottom: 2.25rem; }
.woocommerce ul.products li.product .woocommerce-loop-product__title, .woocommerce ul.products li.product h2 { line-height: 1.08; }
.woocommerce ul.products li.product .price { margin-top: -0.15rem; }
.woocommerce ul.products li.product .bz-iconos-rejilla { margin: 0.1rem 0 0; gap: 0.4rem 1.1rem; }
.bz-iconos-rejilla .bz-ficha-icono { color: var(--bz-gris); letter-spacing: 0.1em; }
.bz-iconos-rejilla .bz-ficha-icono svg { width: 18px; height: 18px; opacity: 0.85; }
.woocommerce ul.products li.product .button { margin-top: 0.35rem; }

/* 0.7.7 · Jerarquía de la caja de tienda: nombre, precio en Caslon, iconos y botón con aire */
.woocommerce ul.products li.product { gap: 0; padding-bottom: 2.5rem; }
.woocommerce ul.products li.product .woocommerce-loop-product__title, .woocommerce ul.products li.product h2 { margin: 0 0 0.5rem !important; }
.woocommerce ul.products li.product .price { font-family: var(--bz-caslon); font-size: 1.375rem; letter-spacing: 0; text-transform: none; color: var(--bz-granate) !important; margin: 0 0 0.85rem; }
.woocommerce ul.products li.product .price del { font-size: 0.85em; }
.woocommerce ul.products li.product .bz-iconos-rejilla { margin: 0 0 2.1rem; }
.woocommerce ul.products li.product .button { margin-top: 0; }

/* 0.7.9 · Separar de verdad los iconos del botón (la regla de 0.7.5 pesaba más y los dejaba pegados) */
.woocommerce ul.products li.product .bz-ficha-iconos.bz-iconos-rejilla { margin: 0 0 2rem; }

/* 0.8.0 · Aviso del libro de visitas cuando no se han aceptado las cookies */
.bz-visitas-aviso { margin-top: 1.5rem; color: var(--bz-gris); text-transform: none; letter-spacing: 0.02em; font-size: 0.8125rem; }
.bz-visitas-aviso a { color: var(--bz-azul); text-decoration: underline; text-underline-offset: 3px; }

/* 0.8.1 · Distintivo «Novedad» (cajas de la tienda y ficha) y sección de novedades en la portada */
.woocommerce ul.products li.product { position: relative; }
.bz-novedad { font-family: var(--bz-franklin); font-size: 0.625rem; font-weight: 500; letter-spacing: 0.16em; text-transform: uppercase; line-height: 1; color: var(--bz-marfil); background: var(--bz-azul); border-radius: 999px; padding: 0.55rem 0.95rem; }
.woocommerce ul.products li.product .bz-novedad { position: absolute; top: 1rem; left: 1rem; z-index: 2; }
.woocommerce ul.products li.product .bz-novedad ~ .onsale { top: 3.4rem; }
.bz-novedad.bz-novedad-ficha { display: inline-block; align-self: flex-start; margin-bottom: -0.35rem; }
.bz-colabora { display: flex; align-items: center; flex-wrap: wrap; gap: 0.45rem 0.8rem; margin: -0.4rem 0 0; }
.bz-colabora .bz-caja { color: var(--bz-gris); }
.bz-colabora img { height: 24px; width: auto; display: block; }
/* 0.8.4 · Novedades en un rectángulo azul: titular a la izquierda, las novedades y «Ver todas las novedades» al final. */
.bz-novedades { padding: clamp(0.5rem, 2vw, 1.5rem) var(--bz-lado) clamp(2.5rem, 5vw, 4rem); }
.bz-novedades-banda { display: flex; align-items: stretch; gap: clamp(1rem, 2vw, 1.75rem); background: var(--bz-azul); color: var(--bz-marfil); padding: clamp(1.25rem, 2.5vw, 2rem); }
.bz-novedades-cabecera { flex: 0 0 clamp(150px, 17%, 240px); display: flex; flex-direction: column; justify-content: center; gap: 0.6rem; }
.bz-novedades-cabecera p { margin: 0; color: var(--bz-dorado-claro); }
.bz-novedades h2 { font-size: clamp(1.625rem, 2.3vw, 2.375rem); line-height: 1.05; margin: 0; color: var(--bz-marfil); }
.bz-novedades-banda > .woocommerce { flex: 1 1 auto; min-width: 0; }
.bz-novedades .woocommerce ul.products { grid-template-columns: repeat(var(--bz-n, 3), minmax(0, 1fr)) !important; gap: 1.25rem; }
.bz-novedades .woocommerce ul.products li.product { padding-bottom: 0; }
.bz-novedades .woocommerce ul.products li.product a img { aspect-ratio: 1 / 1; margin-bottom: 0.6rem; }
.bz-novedades .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 1.125rem !important; margin: 0 0 0.2rem !important; color: var(--bz-marfil); }
.bz-novedades .woocommerce ul.products li.product .price { font-size: 1rem; margin: 0; color: var(--bz-dorado-claro) !important; }
.bz-novedades .woocommerce ul.products li.product .bz-iconos-rejilla,
.bz-novedades .woocommerce ul.products li.product .button,
.bz-novedades .woocommerce ul.products li.product .added_to_cart { display: none; }
.bz-novedades .woocommerce ul.products li.product .bz-novedad { top: 0.6rem; left: 0.6rem; font-size: 0.5625rem; padding: 0.45rem 0.75rem; background: var(--bz-marfil); color: var(--bz-azul); }
.bz-novedades-todas { flex: 0 0 clamp(120px, 12%, 170px); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.75rem; text-align: center; line-height: 1.7; color: var(--bz-marfil) !important; border: 1px solid rgba(217,192,143,0.7); padding: 1rem; text-decoration: none; transition: background 0.3s ease, color 0.3s ease; }
.bz-novedades-todas span { font-size: 1.5rem; letter-spacing: 0; line-height: 1; }
.bz-novedades-todas:hover, .bz-novedades-todas:focus-visible { background: var(--bz-marfil); color: var(--bz-azul) !important; }
@media (max-width: 1024px) {
  .bz-novedades-banda { flex-wrap: wrap; }
  .bz-novedades-cabecera { flex-basis: 100%; }
}
@media (max-width: 781px) {
  .bz-novedades-banda { flex-direction: column; }
  .bz-novedades-cabecera { flex-basis: auto; }
  .bz-novedades .woocommerce ul.products { display: flex; gap: 0.875rem; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .bz-novedades .woocommerce ul.products::-webkit-scrollbar { display: none; }
  .bz-novedades .woocommerce ul.products li.product { flex: 0 0 60%; scroll-snap-align: start; }
  .bz-novedades-todas { flex: 0 0 auto; flex-direction: row; padding: 0.9rem 1rem; }
}

/* 0.8.1 · Menos hueco entre la rejilla de productos y lo que viene después */
.woocommerce ul.products li.product { padding-bottom: 0; }
.woocommerce ul.products { row-gap: 3rem; }
.wp-block-group.bz-elige { padding-bottom: 4rem; }
