/*
Theme Name: Nourette para Astra
Theme URI: https://nourette.es
Template: astra
Author: Nourette
Description: Tema hijo de Astra para la pastelería Nourette · Coffee & Matcha. Colores, tipografías, barra de anuncios, pie de página y secciones de portada (carrusel, categorías, productos con filtros, oferta con cuenta atrás, opiniones, blog y newsletter). Compatible con WooCommerce.
Version: 1.10.0
Requires at least: 6.3
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: nourette
*/

/* ---------- Ajustes sobre Astra ---------- */
body { background: var(--paper); }
.ast-primary-header-bar, .ast-mobile-header-wrap .ast-primary-header-bar { background: var(--cream); border-bottom: 1px solid var(--line); }
.site-header .site-title a { font-family: var(--serif); font-weight: 600; font-size: 2rem; color: var(--brown); text-transform: lowercase; letter-spacing: .01em; }
.site-header .site-description { font-family: var(--sans); font-size: .6rem; letter-spacing: .3em; text-transform: uppercase; color: var(--matcha); margin: 0; }
/* 1.6.7 · Logo completo centrado arriba */
.site-header .site-logo-img { padding: 6px 0; }
.site-header .custom-logo-link { display: block; line-height: 0; }
.site-header .custom-logo { width: 124px; max-width: 124px; height: auto; }
.ast-desktop .ast-primary-header-bar .site-header-primary-section-center { flex: none; }
.ast-desktop .ast-primary-header-bar .site-header-primary-section-left,
.ast-desktop .ast-primary-header-bar .site-header-primary-section-right { flex: 1 1 0; }
.ast-desktop .ast-primary-header-bar .site-header-primary-section-right { justify-content: flex-end; }
.ast-desktop .site-header-primary-section-left .main-header-menu { flex-wrap: nowrap; white-space: nowrap; }
.ast-desktop .site-header-primary-section-left .main-header-menu .menu-link { padding: 0 .75em; letter-spacing: .1em; font-size: .78rem; }
/* 1.6.8 · Cabecera fija: logo grande al entrar que se encoge al bajar */
#masthead { position: sticky; top: 0; z-index: 90; }
body.admin-bar #masthead { top: 32px; }
@media (max-width: 782px) { body.admin-bar #masthead { top: 46px; } }
.site-header .custom-logo, .ast-primary-header-bar, .ast-primary-header-bar .site-primary-header-wrap { transition: width .25s ease, max-width .25s ease, min-height .25s ease; }
html.n-scrolled .ast-primary-header-bar { box-shadow: 0 8px 20px -16px rgba(60, 34, 13, .55); }
html.n-scrolled #ast-desktop-header .ast-primary-header-bar, html.n-scrolled #ast-desktop-header .site-primary-header-wrap { min-height: 70px !important; }
html.n-scrolled #ast-desktop-header .custom-logo { width: 62px !important; max-width: 62px !important; }
html.n-scrolled #ast-desktop-header .site-logo-img { padding: 2px 0; }
html.n-scrolled #ast-desktop-header .main-header-menu > .menu-item, html.n-scrolled #ast-desktop-header .main-header-menu > .menu-item > .menu-link, html.n-scrolled #ast-desktop-header .ast-header-woo-cart { line-height: 70px !important; min-height: 70px !important; }
html.n-scrolled .ast-mobile-header-wrap .ast-primary-header-bar, html.n-scrolled .ast-mobile-header-wrap .site-primary-header-wrap { min-height: 52px !important; }
html.n-scrolled .ast-mobile-header-wrap .custom-logo { width: 44px !important; max-width: 44px !important; }
html.n-scrolled .ast-mobile-header-wrap .site-logo-img { padding: 3px 0; }
@media (prefers-reduced-motion: reduce) { .site-header .custom-logo, .ast-primary-header-bar, .ast-primary-header-bar .site-primary-header-wrap { transition: none; } }
.ast-mobile-header-wrap .ast-header-search { justify-content: flex-end; }
.main-header-menu .menu-link { font-family: var(--sans); font-size: .82rem; letter-spacing: .14em; text-transform: uppercase; color: var(--brown); }
.ast-builder-menu-1 .menu-item > .menu-link:hover, .ast-builder-menu-1 .current-menu-item > .menu-link { color: var(--matcha); }
.ast-site-header-cart .ast-cart-menu-wrap .count, .ast-site-header-cart .count { background: var(--matcha); color: #fff; border-color: var(--matcha); }
.ast-site-header-cart .ast-addon-cart-wrap .ast-icon-shopping-bag .count { background: var(--matcha); }

/* Página de inicio a todo el ancho y sin márgenes de Astra. */
.home .site-content > .ast-container { padding: 0; max-width: 100%; }
.home .entry-content > .nourette, .home .entry-content > p:empty { margin: 0; }
.home .site-main > article { margin: 0; padding: 0; }
.home #primary { margin: 0; padding: 0; }
.nourette .footer { margin-top: 0; }
.nourette .footer a { color: #d9c7b0; }
.site-footer .site-below-footer-wrap, .site-footer .ast-builder-grid-row-container { background: #26160a; color: #b9a58c; border-top: 1px solid rgba(212, 173, 110, .2); }
.site-footer .ast-footer-copyright { color: #b9a58c; font-size: .85rem; }
.nourette [hidden] { display: none !important; }

/* Tarjetas de WooCommerce con el estilo de la portada. */
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; padding-bottom: 1.2rem; text-align: center; transition: box-shadow .3s, transform .3s; }
.woocommerce ul.products li.product:hover { box-shadow: var(--shadow); transform: translateY(-4px); }
.woocommerce ul.products li.product .astra-shop-summary-wrap { padding: 0 1rem; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: var(--serif); font-size: 1.35rem; color: var(--brown); }
.woocommerce ul.products li.product .ast-woo-product-category { text-transform: uppercase; letter-spacing: .18em; font-size: .72rem; color: var(--gold); }
.woocommerce span.onsale, .woocommerce-page span.onsale { background: var(--matcha); border-radius: 999px; }
.woocommerce .price ins, .woocommerce div.product p.price ins { text-decoration: none; color: var(--matcha); }

/* Neutraliza estilos de contenido de Astra dentro de las secciones. */
body .nourette a, body .nourette a:hover, body .nourette a:focus, .ast-single-post .entry-content .nourette a, .ast-single-post .entry-content .nourette a:hover { text-decoration: none; }
body .nourette blockquote { border: 0; margin: 0 0 1.2rem; padding: 0; }
body .nourette .icon-btn { padding: 0; min-height: 0; line-height: 1; background: transparent; color: var(--brown); border-radius: 50%; }
body .nourette .icon-btn:hover { background: var(--cream-2); color: var(--brown); }
body .nourette .t-nav .icon-btn { border: 1px solid var(--gold-2); }
body .nourette .product__tools .icon-btn { background: #fff; }
body .nourette .chip { padding: .55rem 1.3rem; line-height: 1.4; }
body .nourette .btn { line-height: 1.2; }
body .nourette p { margin-bottom: 0; }
body .nourette .hero p, body .nourette .offer p, body .nourette .n-post p, body .nourette .footer p { margin-bottom: .6rem; }
body .nourette input[type=email] { border: 0; box-shadow: none; }
.woocommerce div.product .product_title { font-size: clamp(2rem, 4vw, 3rem); }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--matcha); font-size: 1.5rem; }
.woocommerce div.product div.images img { border-radius: var(--radius); }

/* =====================================================================
   1.1 · Todo el sitio con el estilo de Nourette
   ===================================================================== */

/* Cabecera fija en ordenador (la barra de anuncios se queda arriba) */
@media (min-width: 922px) {
  #masthead.site-header { position: sticky; top: 0; z-index: 99; }
  .admin-bar #masthead.site-header { top: 32px; }
  body .nourette-tarta .preview { top: 104px; }
  body.admin-bar .nourette-tarta .preview { top: 136px; }
  html { scroll-padding-top: 100px; }
}

/* Cabecera de página */
.nourette .n-hero { background: var(--cream); border-bottom: 1px solid var(--line); padding: 56px 0 44px; text-align: center; position: relative; overflow: hidden; }
.nourette .n-hero::before { content: ""; position: absolute; inset: 0; background: radial-gradient(60% 120% at 50% 0%, rgba(255, 255, 255, .55), transparent 70%); pointer-events: none; }
.nourette .n-hero__inner { position: relative; display: grid; justify-items: center; gap: .55rem; }
.nourette .n-hero .eyebrow { margin: 0; }
.nourette .n-hero__title { font-size: clamp(2.2rem, 5vw, 3.4rem); font-weight: 500; margin: 0; text-wrap: balance; max-width: 18em; }
.nourette .n-hero__text { color: var(--muted); max-width: 58ch; margin: 0; }
.nourette .n-hero__actions { display: flex; gap: .6rem; flex-wrap: wrap; justify-content: center; margin: .8rem 0 0; }
.nourette .n-btn { display: inline-flex; border-radius: 999px; background: var(--brown); color: #fff; padding: .85rem 1.5rem; font-size: .82rem; letter-spacing: .1em; text-transform: uppercase; }
.nourette .n-btn:hover { background: var(--matcha); color: #fff; }
.nourette .n-btn--ghost { background: transparent; color: var(--brown); box-shadow: inset 0 0 0 1px var(--brown); }
.nourette .n-btn--ghost:hover { background: var(--brown); color: #fff; }
.nourette .n-chips { display: flex; flex-wrap: wrap; justify-content: center; gap: .45rem; margin-top: .9rem; }
.nourette .n-chip { border: 1px solid var(--line); background: #fff; color: var(--brown); border-radius: 999px; padding: .42rem 1rem; font-size: .84rem; transition: border-color .2s, background .2s; }
.nourette .n-chip:hover { border-color: var(--gold); color: var(--brown); }
.nourette .n-chip.is-active { background: var(--brown); border-color: var(--brown); color: #fff; }
.nourette .n-chip--special { border-color: var(--gold-2); background: #fffaf1; }
.nourette .n-chip--special::before { content: "✦ "; color: var(--gold); }
.nourette .n-ship { width: min(460px, 100%); margin-top: .6rem; }
.nourette .n-ship p { margin: 0 0 .45rem; font-size: .92rem; color: var(--brown-2); }
.nourette .n-ship__bar { display: block; height: 7px; border-radius: 4px; background: var(--cream-2); overflow: hidden; }
.nourette .n-ship__bar i { display: block; height: 100%; background: linear-gradient(90deg, var(--matcha), #8a9a45); border-radius: 4px; }

/* Oculta los títulos de Astra donde ya hay cabecera propia */
.has-n-hero .woocommerce-products-header,
.has-n-hero .ast-archive-description,
.has-n-hero.woocommerce-cart .entry-header,
.has-n-hero.woocommerce-checkout .entry-header,
.has-n-hero.woocommerce-account .entry-header,
.has-n-hero.search .ast-archive-description,
.has-n-hero.single-post .entry-header,
.has-n-hero.single-post .ast-single-post-featured-section,
.has-n-hero.single-post .post-thumb-img-content,
.has-n-hero.error404 .page-header { display: none; }
.has-n-hero .site-content > .ast-container { padding-top: 0; }
.has-n-hero #primary { margin-top: 40px; }

/* Entradas del blog */
.nourette .n-hero--post { padding-bottom: 0; border-bottom: 0; background: linear-gradient(var(--cream) 70%, var(--paper) 70%); }
.nourette .n-hero--post .n-hero__title { font-size: clamp(2.2rem, 5vw, 3.6rem); }
.nourette .n-hero__media { margin: 1.6rem 0 0; width: min(920px, 100%); }
.nourette .n-hero__img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 22px; box-shadow: var(--shadow); }
.single-post .entry-content { font-size: 1.08rem; line-height: 1.8; }
.single-post .entry-content > p:first-child::first-letter { font-family: var(--serif); font-size: 3.4em; float: left; line-height: .9; padding: .08em .1em 0 0; color: var(--brown); }
.single-post .entry-content h2, .single-post .entry-content h3 { font-family: var(--serif); color: var(--brown); }
.single-post .ast-single-post-order, .single-post #primary .ast-article-single { max-width: 760px; margin-inline: auto; }
.comment-form input[type=text], .comment-form input[type=email], .comment-form input[type=url], .comment-form textarea { border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.ast-single-post-order .post-navigation, .post-navigation { border-top: 1px solid var(--line); }

/* Ficha de producto */
.woocommerce div.product .product_title { font-family: var(--serif); font-weight: 600; margin-bottom: .3rem; }
.woocommerce div.product .woocommerce-product-details__short-description { color: var(--muted); font-size: 1.02rem; }
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; gap: .6rem; align-items: stretch; margin-bottom: 1.2rem; }
.woocommerce div.product form.cart .quantity .qty { height: 100%; min-height: 50px; border-radius: 999px; border: 1px solid var(--line); background: #fff; width: 5.2em; }
.woocommerce div.product form.cart .button.single_add_to_cart_button { border-radius: 999px; padding: 0 2.2rem; min-height: 50px; font-size: .84rem; letter-spacing: .1em; text-transform: uppercase; font-weight: 500; background: var(--brown); }
.woocommerce div.product form.cart .button.single_add_to_cart_button:hover { background: var(--matcha); }
.woocommerce div.product .product_meta { font-size: .85rem; color: var(--muted); border-top: 1px solid var(--line); padding-top: .9rem; }
.woocommerce div.product .product_meta a { color: var(--gold); }
.n-trust { list-style: none; margin: 0 0 1.2rem; padding: 1rem 1.1rem; display: grid; gap: .55rem; background: var(--cream); border-radius: 14px; }
.n-trust li { display: flex; align-items: center; gap: .65rem; font-size: .9rem; color: var(--brown-2); margin: 0; }
.n-ico { width: 20px; height: 20px; flex: none; fill: none; stroke: var(--gold); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; margin-bottom: 1.4rem; border-bottom: 1px solid var(--line); }
.woocommerce div.product .woocommerce-tabs ul.tabs li { border: 0; background: transparent; margin: 0 1.4rem 0 0; padding: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { font-family: var(--serif); font-size: 1.25rem; font-weight: 600; color: var(--muted); padding: .6rem 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--brown); box-shadow: inset 0 -2px 0 var(--gold); }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after, .woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
.woocommerce .related.products > h2, .woocommerce .up-sells > h2 { font-family: var(--serif); font-size: clamp(1.8rem, 3.5vw, 2.4rem); text-align: center; margin: 2.5rem 0 1.5rem; }
.woocommerce div.product div.images .woocommerce-product-gallery__trigger { background: #fff; box-shadow: 0 4px 10px rgba(0, 0, 0, .1); }

/* Tienda: tarjetas y orden */
.woocommerce .woocommerce-result-count { color: var(--muted); font-size: .88rem; }
.woocommerce .woocommerce-ordering select { border-radius: 999px; border: 1px solid var(--line); background-color: #fff; padding: .55rem 2.2rem .55rem 1rem; font-size: .88rem; }
.woocommerce ul.products li.product .button, .woocommerce-page ul.products li.product .button { border-radius: 999px; font-size: .78rem; letter-spacing: .06em; }
.woocommerce ul.products li.product .ast-woo-product-category { margin-top: .9rem; }

/* Carrito y pago */
.woocommerce-cart .wc-block-cart, .woocommerce-checkout .wc-block-checkout { background: #fff; border: 1px solid var(--line); border-radius: 20px; padding: 1.4rem 1.6rem; }
.wc-block-components-product-name { font-family: var(--serif); font-size: 1.15rem !important; color: var(--brown) !important; text-decoration: none !important; }
.wc-block-cart-item__image img { border-radius: 12px; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value, .wc-block-components-totals-footer-item .wc-block-components-totals-item__label { font-family: var(--serif); font-size: 1.5rem !important; color: var(--brown); }
.wc-block-components-text-input input, .wc-block-components-combobox .wc-block-components-combobox-control input, .wc-blocks-components-select__select { border-radius: 12px !important; }
.wc-block-components-checkout-step__title, .wc-block-cart__totals-title { font-family: var(--serif) !important; font-size: 1.35rem !important; color: var(--brown); text-transform: none !important; letter-spacing: 0 !important; }
.wc-block-components-checkout-place-order-button, .wc-block-cart__submit-button { min-height: 54px; font-size: .86rem !important; letter-spacing: .1em; text-transform: uppercase; }

/* Mi cuenta */
.woocommerce-account .woocommerce form.login, .woocommerce-account .woocommerce form.register { border: 1px solid var(--line); border-radius: 20px; background: #fff; padding: 1.6rem; max-width: 520px; margin-inline: auto; }
.woocommerce-account .woocommerce > h2 { display: none; }
.woocommerce form .form-row input.input-text { border-radius: 12px; border: 1px solid var(--line); }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; border: 1px solid var(--line); border-radius: 16px; overflow: hidden; background: #fff; }
.woocommerce-MyAccount-navigation li a { display: block; padding: .8rem 1rem; color: var(--brown); border-bottom: 1px solid var(--line); }
.woocommerce-MyAccount-navigation li.is-active a { background: var(--cream); font-weight: 500; }

/* Pie: iconos de contacto */
.nourette .footer .n-contact { display: flex; align-items: flex-start; gap: .55rem; }
.nourette .footer .n-contact .n-ico { stroke: var(--gold-2); width: 18px; height: 18px; margin-top: .15rem; }

/* Menú lateral del móvil */
.ast-mobile-popup-drawer .ast-mobile-popup-inner { background: var(--paper); }
.ast-mobile-popup-drawer .ast-mobile-popup-header { border-bottom: 1px solid var(--line); }
.ast-mobile-popup-drawer .main-header-menu .menu-link { font-family: var(--serif); font-size: 1.5rem; letter-spacing: 0; text-transform: none; color: var(--brown); padding-block: .75rem; border-bottom: 1px solid var(--line); }
.ast-mobile-popup-drawer .main-header-menu .current-menu-item > .menu-link { color: var(--matcha); }
.ast-mobile-popup-drawer .menu-toggle-close { color: var(--brown); }

/* Móvil */
@media (max-width: 921px) {
  .nourette .n-hero { padding: 36px 0 28px; }
  .nourette .n-chips { flex-wrap: nowrap; overflow-x: auto; justify-content: flex-start; width: calc(100% + 32px); margin-inline: -16px; padding: 0 16px 4px; scrollbar-width: none; }
  .nourette .n-chips::-webkit-scrollbar { display: none; }
  .nourette .n-chip { flex: none; }
  .has-n-hero #primary { margin-top: 24px; }
  .woocommerce ul.products li.product .button, .woocommerce-page ul.products li.product .button { font-size: .7rem; letter-spacing: .02em; padding: .6rem .7rem; white-space: nowrap; width: calc(100% - 1.2rem); margin-inline: .6rem; text-align: center; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 1.1rem; }
  .woocommerce-cart .wc-block-cart, .woocommerce-checkout .wc-block-checkout { padding: 1rem; border-radius: 16px; }
  .nourette .n-hero--post { background: linear-gradient(var(--cream) 78%, var(--paper) 78%); }
  .nourette .n-hero__img { border-radius: 16px; }
}
.ast-mobile-popup-drawer .ast-mobile-popup-content, .ast-mobile-popup-drawer .ast-mobile-popup-header { background: var(--paper); }
.ast-mobile-popup-drawer .ast-mobile-popup-inner { height: 100%; }
.ast-mobile-popup-drawer .main-header-menu .menu-item, .ast-mobile-popup-drawer .main-header-menu .menu-item > .menu-link, .ast-mobile-popup-drawer .main-header-menu .current-menu-item > .menu-link { background: transparent; }
.ast-mobile-popup-drawer .main-header-bar-navigation { padding: 0 20px; }
.woocommerce-cart .wc-block-cart, .woocommerce-checkout .wc-block-checkout { margin-inline: 0; max-width: 100%; }
.error404 .page-sub-title { display: none; }
.error404 .ast-404-search { margin-top: 1rem; }
.ast-mobile-popup-drawer .ast-mobile-popup-inner { background: var(--paper) !important; }
.ast-mobile-popup-drawer .main-header-menu .menu-item > .menu-link,
.ast-mobile-popup-drawer .main-header-menu .menu-item.current-menu-item > .menu-link,
.ast-mobile-popup-drawer .main-header-menu .menu-item.current-menu-ancestor > .menu-link,
.ast-mobile-popup-drawer .main-header-menu .menu-item > .menu-link:hover { background: transparent !important; }
.ast-mobile-popup-drawer .main-header-menu .menu-item > .menu-link:hover { color: var(--matcha); }

/* =====================================================================
   1.2 · Móvil estilo app: cabecera centrada y barra inferior
   ===================================================================== */
@media (max-width: 921px) {
  .ast-mobile-header-wrap .ast-primary-header-bar { border-bottom: 0; background: var(--paper); }
  .ast-mobile-header-wrap .ast-site-identity { display: flex; flex-direction: column; align-items: center; gap: 0; }
  .ast-mobile-header-wrap .site-logo-img { padding: 0; margin: 0; }
  .ast-mobile-header-wrap .site-logo-img img, .ast-mobile-header-wrap .custom-logo { max-width: 84px !important; width: 84px; height: auto; }
  .ast-mobile-header-wrap .site-title { margin: 0; line-height: 1; }
  .ast-mobile-header-wrap .site-title a { font-size: 1.7rem; }
  .ast-mobile-header-wrap .site-description { display: flex; align-items: center; gap: .5em; font-size: .5rem; letter-spacing: .32em; margin-top: .15rem; }
  .ast-mobile-header-wrap .site-description::before, .ast-mobile-header-wrap .site-description::after { content: ""; width: 14px; height: 1px; background: var(--gold); }
  .ast-mobile-header-wrap .ast-builder-layout-element.site-header-focus-item.ast-header-woo-cart { justify-content: flex-end; }
  body.has-n-tabbar { padding-bottom: 86px; }
  body.has-n-tabbar #ast-scroll-top { display: none !important; }
  body.has-n-tabbar .nourette .toast { bottom: 100px; }
  body.home .nourette .n-hero { display: none; }
}

/* Carrito de la cabecera: icono fino con número pequeño */
.ast-site-header-cart .ast-cart-menu-wrap { width: 30px !important; min-width: 30px; height: 30px !important; display: inline-block !important; position: relative; border: 0 !important; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233c220d' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.2 10.2a1.5 1.5 0 0 0 1.5 1.2h8.6a1.5 1.5 0 0 0 1.5-1.1L20.5 8H6.2'/%3E%3Ccircle cx='9.5' cy='19.5' r='1.3'/%3E%3Ccircle cx='17' cy='19.5' r='1.3'/%3E%3C/svg%3E") center / 26px no-repeat !important; }
.ast-site-header-cart .ast-cart-menu-wrap .count { position: absolute; top: -5px; right: -7px; min-width: 18px; height: 18px; padding: 0 4px; border: 2px solid var(--paper) !important; border-radius: 9px; background: var(--gold) !important; color: #fff !important; font-size: .62rem; font-weight: 600; line-height: 14px; display: grid; place-items: center; box-sizing: content-box; }
.ast-site-header-cart .ast-cart-menu-wrap .count::after, .ast-site-header-cart .ast-cart-menu-wrap .count::before { display: none !important; }
.ast-site-header-cart .ast-cart-menu-wrap .count.is-empty { display: none; }
.ast-site-header-cart .ast-cart-menu-wrap .count .ast-count-text { color: #fff; }

/* =====================================================================
   1.3 · Ficha, carrito y pago con estilo «food app»
   ===================================================================== */
:root { --caramel: #9c4d18; --soft: #f3ebe0; }

/* Ficha de producto: foto grande redondeada, título y precio en una fila */
.woocommerce div.product div.images .woocommerce-product-gallery__image img,
.woocommerce div.product div.images img { border-radius: 22px; }
.woocommerce div.product .summary { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 1rem; align-content: start; }
.woocommerce div.product .summary > * { grid-column: 1 / -1; }
.woocommerce div.product .summary > .product_title { grid-column: 1; font-family: var(--sans); font-weight: 700; font-size: clamp(1.6rem, 3vw, 2.3rem); letter-spacing: -.01em; line-height: 1.15; color: var(--ink, #2a1a0e); margin: 0 0 .5rem; }
.woocommerce div.product .summary > .price { grid-column: 2; align-self: start; margin: .25rem 0 0; font-family: var(--sans); font-weight: 600; font-size: clamp(1.25rem, 2.4vw, 1.6rem); color: var(--ink, #2a1a0e); white-space: nowrap; }
.woocommerce div.product .summary > .price ins { color: var(--caramel); }
.woocommerce div.product .woocommerce-product-details__short-description { font-size: 1rem; line-height: 1.55; color: #6f5d4d; }
.n-meta { list-style: none; display: flex; flex-wrap: wrap; gap: .5rem 1.4rem; margin: .2rem 0 1.4rem; padding: 0; }
.n-meta li { display: inline-flex; align-items: center; gap: .4rem; margin: 0; font-size: .92rem; color: #5a4633; }
.n-meta li a { display: inline-flex; align-items: center; gap: .4rem; color: inherit; text-decoration: none; }
.n-meta small { color: var(--muted); }
.n-meta .n-ico { width: 20px; height: 20px; fill: none; stroke: var(--caramel); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.woocommerce div.product form.cart { align-items: center; gap: .9rem; }
.woocommerce div.product form.cart .quantity.n-qty { display: inline-flex; align-items: center; height: 52px; padding: 0 6px; margin: 0; border-radius: 14px; background: var(--soft); }
.woocommerce div.product form.cart .quantity.n-qty .qty { width: 2.6em; min-height: 0; height: 40px; border: 0; background: transparent; padding: 0; text-align: center; font-size: 1.05rem; font-weight: 500; -moz-appearance: textfield; box-shadow: none; }
.woocommerce div.product form.cart .quantity.n-qty .qty::-webkit-inner-spin-button, .woocommerce div.product form.cart .quantity.n-qty .qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.n-step { width: 40px; height: 40px; padding: 0; border: 0; border-radius: 10px; background: transparent; color: var(--ink, #2a1a0e); font-size: 1.3rem; line-height: 1; cursor: pointer; }
.n-step:hover, .n-step:focus { background: #fff; color: var(--caramel); }
.woocommerce div.product form.cart .button.single_add_to_cart_button { flex: 1; min-width: 180px; min-height: 52px; border-radius: 14px; background: var(--caramel); font-size: 1rem; letter-spacing: .02em; text-transform: none; box-shadow: 0 12px 22px -12px rgba(156, 77, 24, .85); }
.woocommerce div.product form.cart .button.single_add_to_cart_button:hover { background: var(--brown); }
.n-trust { background: var(--soft); }
.n-trust .n-ico { stroke: var(--caramel); }

/* Carrito (bloque de WooCommerce): filas con foto redonda y cantidad en píldora gris */
.woocommerce-cart .wc-block-cart, .woocommerce-checkout .wc-block-checkout { border: 0; background: transparent; padding: 0 !important; }
.wc-block-cart-items { border: 0 !important; }
.wc-block-cart-items thead { display: none; }
.wc-block-cart-items .wc-block-cart-items__row { border: 0 !important; }
.wc-block-cart-items .wc-block-cart-items__row td { border: 0 !important; padding-top: 18px !important; padding-bottom: 18px !important; }
.wc-block-cart-item__image img { width: 68px !important; height: 68px; object-fit: cover; border-radius: 50% !important; box-shadow: 0 8px 16px -10px rgba(60, 34, 13, .6); }
.wc-block-components-product-name { font-family: var(--sans) !important; font-weight: 500; font-size: 1.05rem !important; color: var(--ink, #2a1a0e) !important; }
.wc-block-cart-item__prices, .wc-block-components-product-price { color: #6f5d4d; }
.wc-block-components-quantity-selector { border: 0 !important; border-radius: 12px !important; background: var(--soft) !important; height: 42px; }
.wc-block-components-quantity-selector::after { display: none !important; }
.wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input { background: transparent !important; font-weight: 500; font-size: 1rem !important; color: var(--ink, #2a1a0e); box-shadow: none !important; }
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button { background: transparent !important; color: var(--ink, #2a1a0e) !important; font-size: 1.2rem !important; opacity: 1; min-width: 36px; }
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:hover { color: var(--caramel) !important; }
.wc-block-cart-item__remove-link { color: var(--muted) !important; font-size: .8rem !important; }
.wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block, .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block { background: var(--soft); border: 0 !important; border-radius: 18px; padding: 6px 18px 12px; }
.wc-block-components-totals-wrapper { border-color: #e4d6c3 !important; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value, .wc-block-components-totals-footer-item .wc-block-components-totals-item__label { font-family: var(--sans); font-weight: 600; font-size: 1.2rem !important; }
.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button { border-radius: 14px !important; background: var(--caramel) !important; color: #fff !important; font-size: 1.02rem !important; letter-spacing: .02em !important; text-transform: none !important; box-shadow: 0 14px 26px -14px rgba(156, 77, 24, .9); }
.wc-block-cart__submit-button:hover, .wc-block-components-checkout-place-order-button:hover { background: var(--brown) !important; }

/* Pago: métodos como filas grises con círculo */
.wc-block-components-radio-control--highlight-checked, .wc-block-components-radio-control-accordion-option { border: 0 !important; box-shadow: none !important; }
.wc-block-components-radio-control--highlight-checked::after, .wc-block-components-radio-control-accordion-option::after { display: none !important; }
.wc-block-components-radio-control__option, .wc-block-components-radio-control-accordion-option { background: var(--soft); border-radius: 14px !important; margin-bottom: 10px !important; }
.wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__option { margin-bottom: 0 !important; }
.wc-block-components-radio-control__option-checked, .wc-block-components-radio-control-accordion-option--checked-option-highlighted { box-shadow: inset 0 0 0 2px var(--caramel) !important; }
.wc-block-components-radio-control .wc-block-components-radio-control__input { border: 2px solid #6f5d4d !important; width: 22px !important; height: 22px !important; }
.wc-block-components-radio-control .wc-block-components-radio-control__input:checked { border-color: var(--caramel) !important; }
.wc-block-components-radio-control .wc-block-components-radio-control__input:checked::before { background: var(--caramel) !important; }
.wc-block-components-text-input input, .wc-block-components-combobox .wc-block-components-combobox-control input, .wc-blocks-components-select__select { border: 1.5px solid #d9c9b3 !important; border-radius: 12px !important; }
.wc-block-components-text-input.is-active input, .wc-block-components-text-input input:focus { border-color: var(--caramel) !important; box-shadow: none !important; }

@media (max-width: 921px) {
  .woocommerce div.product .summary > .product_title { font-size: 1.55rem; }
  .woocommerce div.product .summary > .price { font-size: 1.2rem; }
  .woocommerce div.product form.cart { flex-wrap: nowrap; }
  .woocommerce div.product form.cart .button.single_add_to_cart_button { min-width: 0; padding: 0 1rem; }
  .wc-block-cart-item__image img { width: 58px !important; height: 58px; }
  .woocommerce-cart .entry-content, .woocommerce-checkout .entry-content { padding-inline: 16px; }
}
/* Orden en la ficha: título/precio, descripción y datos rápidos antes del botón */
.woocommerce div.product .summary > form.cart,
.woocommerce div.product .summary > .product_meta,
.woocommerce div.product .summary > .n-trust,
.woocommerce div.product .summary > .ast-single-product-extras { order: 2; }
.n-step:focus:not(:focus-visible) { background: transparent; color: var(--ink, #2a1a0e); }

/* 1.6 · Tarjeta regalo y WhatsApp en la ficha */
.n-gc { width: 100%; display: grid; gap: .6rem; margin: 0 0 1rem; padding: 16px; border-radius: 16px; background: var(--soft); }
.n-gc fieldset { border: 0; margin: 0; padding: 0; }
.n-gc legend, .n-gc label { font-size: .88rem; font-weight: 500; color: var(--ink, #2a1a0e); margin-bottom: .3rem; display: block; }
.n-gc__amounts { display: flex; flex-wrap: wrap; gap: 8px; }
.n-gc__amounts legend { width: 100%; }
.n-gc__amounts label { margin: 0; }
.n-gc__amounts input { position: absolute; opacity: 0; pointer-events: none; }
.n-gc__amounts span { display: inline-block; padding: .55rem 1rem; border-radius: 12px; border: 1.5px solid #d9c9b3; background: #fff; font-weight: 600; cursor: pointer; }
.n-gc__amounts input:checked + span { background: var(--caramel); border-color: var(--caramel); color: #fff; }
.n-gc__amounts input:focus-visible + span { outline: 2px solid var(--caramel); outline-offset: 2px; }
.n-gc input[type="text"], .n-gc input[type="email"], .n-gc textarea { width: 100%; border: 1.5px solid #d9c9b3; border-radius: 12px; background: #fff; padding: .6rem .8rem; }
.n-gc p { margin: 0; }
.woocommerce div.product form.cart .n-gc + .quantity { display: none; }
.n-wa-inline { order: 2; margin: 0 0 1rem; }
.n-wa-inline a { color: #1a8f4c; font-weight: 500; text-decoration: underline; }
.n-legal { max-width: 780px; margin: 0 auto; line-height: 1.7; color: #4b3a2c; }
.n-legal h2 { font-family: var(--sans, 'Jost', sans-serif); font-weight: 600; font-size: 1.2rem; margin: 1.6em 0 .4em; color: var(--ink, #2a1a0e); }
.n-legal__note { color: var(--muted, #7a6552); font-size: .85rem; margin-top: 2em; }
