/*
Theme Name: Il Bibitaio
Theme URI: https://www.ilbibitaio.it/
Author: Il Bibitaio
Description: Tema a blocchi leggero per Il Bibitaio: enoteca, ingrosso bevande Ho.Re.Ca. e shop online. Nessun page builder, font locali, compatibile con WooCommerce.
Version: 1.6.0
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bibitaio
*/

/* Poche regole che theme.json non copre. Tutto il resto è in theme.json. */

:where(a, button, input, select, textarea, summary):focus-visible {
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: 2px;
}

/* Barra superiore */
.bibitaio-topbar p { margin: 0; }

/* Header: logo, menu e azioni restano su una riga finché c'è spazio */
.bibitaio-header .wp-block-site-logo img { height: auto; }
.bibitaio-header .wp-block-navigation a { text-decoration: none; }
.bibitaio-header .wp-block-navigation a:hover { color: var(--wp--preset--color--accent); }

/* Schede (vitigni, servizi) */
.is-style-bibitaio-card {
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 16px;
	transition: border-color .15s ease;
}
.is-style-bibitaio-card:hover { border-color: var(--wp--preset--color--contrast); }
.is-style-bibitaio-card a::after { content: ""; position: absolute; inset: 0; }
.is-style-bibitaio-card { position: relative; }

/* Etichetta sopra i titoli */
.is-style-bibitaio-eyebrow {
	text-transform: uppercase;
	letter-spacing: .12em;
	font-weight: 600;
	font-size: var(--wp--preset--font-size--small);
}

/* Domande frequenti (blocco Dettagli) */
.wp-block-details { border-bottom: 1px solid var(--wp--preset--color--line); padding-block: .75rem; }
.wp-block-details summary { cursor: pointer; font-weight: 600; font-size: var(--wp--preset--font-size--medium); min-height: 44px; display: flex; align-items: center; }

/* Pulsante con solo bordo */
.wp-block-button.is-style-outline > .wp-block-button__link { border-width: 1.5px; }

/* WooCommerce: griglia prodotti più pulita */
.wc-block-components-product-name, .wp-block-post-title a { text-decoration: none; }
.wc-block-components-product-price, .wp-block-woocommerce-product-price { font-weight: 600; }
.woocommerce-store-notice { background: var(--wp--preset--color--contrast); }

/* Immagini prodotto su fondo pietra, come nella bozza */
.wp-block-woocommerce-product-image img,
.wc-block-components-product-image img { background: var(--wp--preset--color--stone); border-radius: 14px; }

/* Elenco senza puntini (footer) */
.is-style-bibitaio-plain { list-style: none; padding-left: 0; }
.is-style-bibitaio-plain li { margin-block: .35rem; }
.bibitaio-footer a { text-decoration: none; }
.bibitaio-footer a:hover { text-decoration: underline; color: inherit; }
.bibitaio-footer h2 { color: inherit; }

/* Spazi per le foto: testo centrato finché non si mette la foto vera */
.bibitaio-photo-slot { text-align: center; padding: 1.5rem; }

/* Passi numerati della pagina Ingrosso */
.bibitaio-steps { padding-left: 1.25rem; }
.bibitaio-steps li { margin-block: .6rem; padding-left: .25rem; }
.bibitaio-steps li::marker { font-weight: 700; color: var(--wp--preset--color--accent); }

/* Header su schermi piccoli: logo, carrello e menu, il pulsante va via */
/* Header su tablet: il menu resta su una riga, il pulsante listino lascia spazio */
.bibitaio-header .wp-block-navigation__container { flex-wrap: nowrap; }
.bibitaio-header .wp-block-navigation-item a { white-space: nowrap; }
.bibitaio-header-cta .wp-block-button__link { white-space: nowrap; }
@media (max-width: 1180px) {
	.bibitaio-header-cta { display: none !important; }
	.bibitaio-header .wp-block-navigation { --wp--style--block-gap: 1.1rem; }
}

/* Etichette "In offerta" / sconto con il colore del marchio */
.woocommerce span.onsale, .wc-block-components-product-sale-badge {
	background: var(--wp--preset--color--accent); color: #fff; border: 0; border-radius: 999px;
	min-height: auto; min-width: auto; line-height: 1; padding: .45rem .8rem; font-size: .8rem; font-weight: 600;
}

/* Social */
.bibitaio-social .wp-social-link a { padding: .35rem .9rem !important; }
.bibitaio-social .wp-block-social-link-label { font-weight: 600; }

/* Il blocco legale di iubenda nel footer non si rende nei temi a blocchi */
.bibitaio-footer .wp-block-iubenda-legal-block { display: none; }

/* Niente spazio bianco tra l'ultima sezione e il footer */
.wp-site-blocks > footer, .wp-site-blocks > .wp-block-template-part:last-child { margin-block-start: 0; }

/* Ricerca nell'header: solo icona, senza fondo pieno */
.bibitaio-actions .wp-block-search__button {
	background: transparent; color: var(--wp--preset--color--contrast);
	border: 1px solid var(--wp--preset--color--line); border-radius: 999px;
	min-width: 44px; min-height: 44px; padding: 0 .6rem;
}
.bibitaio-actions .wp-block-search__button:hover { border-color: var(--wp--preset--color--contrast); }

/* Titoli dentro le schede: niente sottolineatura, la scheda intera è cliccabile */
.is-style-bibitaio-card h3 a { text-decoration: none; }

/* Domande frequenti: segno + / – */
.wp-block-details summary { list-style: none; justify-content: space-between; gap: 1rem; }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after { content: "+"; font-size: 1.4rem; font-weight: 400; color: var(--wp--preset--color--accent); }
.wp-block-details[open] summary::after { content: "–"; }

@media (max-width: 781px) {
	.bibitaio-header-cta { display: none !important; }
	.bibitaio-header .wp-block-navigation { order: 3; }
	.bibitaio-actions { margin-left: auto !important; }
	.bibitaio-header .wp-block-navigation { flex: 0 0 auto; }
	.bibitaio-logo img { width: 88px !important; height: 50px !important; }
	.bibitaio-topbar .wp-block-group { justify-content: center; text-align: center; }
	.bibitaio-topbar p:last-child { display: none; }
	.bibitaio-trust { display: grid !important; grid-template-columns: 1fr 1fr; }
}

/* ---- Header bloccato in alto: la barra grigia scorre via, logo/ricerca/menu restano ---- */
.wp-site-blocks > header.wp-block-template-part {
	position: sticky; top: calc(-1 * var(--bibitaio-topbar-h, 38px)); z-index: 1000; background: #fff;
	box-shadow: 0 6px 18px -14px rgba(0,0,0,.35);
}
body.admin-bar .wp-site-blocks > header.wp-block-template-part { top: calc(32px - var(--bibitaio-topbar-h, 38px)); }
@media (max-width: 782px) { body.admin-bar .wp-site-blocks > header.wp-block-template-part { top: calc(46px - var(--bibitaio-topbar-h, 38px)); } }
@media (max-width: 600px) { body.admin-bar .wp-site-blocks > header.wp-block-template-part { top: calc(-1 * var(--bibitaio-topbar-h, 38px)); } }
.bibitaio-header { background: #fff; }
html { scroll-padding-top: 140px; }

/* ---- Header in stile enoteca online: logo, ricerca grande, menu per tipo ---- */
.bibitaio-header-row { gap: 1.25rem; }
.bibitaio-header-search { flex: 1 1 320px; max-width: 560px; margin: 0 !important; }
.bibitaio-header-search .wp-block-search__inside-wrapper {
	border: 1px solid var(--wp--preset--color--line) !important; border-radius: 999px; padding: 4px 4px 4px 1rem; background: #fff;
}
.bibitaio-header-search .wp-block-search__input { border: 0; font-size: 1rem; min-height: 40px; background: transparent; }
.bibitaio-header-search .wp-block-search__input:focus { outline: none; }
.bibitaio-header-search .wp-block-search__inside-wrapper:focus-within { border-color: var(--wp--preset--color--accent) !important; }
.bibitaio-header-search .wp-block-search__button { border-radius: 999px; min-width: 42px; min-height: 40px; margin: 0; padding: 0 .7rem; }
.bibitaio-mainnav { padding: .7rem 0 .8rem; margin-top: .6rem !important; border-top: 1px solid var(--wp--preset--color--line); font-size: .98rem; }
.bibitaio-mainnav .bibitaio-nav-promo > a { color: var(--wp--preset--color--accent) !important; }
.bibitaio-mainnav .bibitaio-nav-sep { margin-left: auto; }
.bibitaio-mainnav .wp-block-navigation__submenu-container { border: 1px solid var(--wp--preset--color--line) !important; border-radius: 12px; padding: .4rem 0; min-width: 210px !important; }
.bibitaio-mainnav .wp-block-navigation__submenu-container a { padding: .45rem 1rem !important; }

/* Icona account: WooCommerce la aggiunge anche dopo il menu, teniamo solo quella accanto al carrello */
.bibitaio-header > .wp-block-woocommerce-customer-account { display: none; }
@media (min-width: 782px) and (max-width: 1180px) {
	.bibitaio-mainnav { font-size: .9rem; --wp--style--block-gap: .95rem; }
	.bibitaio-mainnav .wp-block-navigation__container { gap: .95rem !important; }
}

/* ---- Offerta della settimana ---- */
.bibitaio-offerta h2 { line-height: 1.02; }

/* ---- Caroselli prodotti, schede in stile enoteca online ---- */
.bibitaio-carousel { position: relative; }
.bibitaio-carousel .wc-block-product-template {
	display: flex !important; flex-wrap: nowrap !important; gap: 1rem; overflow-x: auto; overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory; padding: .25rem 0 1rem !important; margin: 0 !important; scrollbar-width: none;
}
.bibitaio-carousel .wc-block-product-template::-webkit-scrollbar { display: none; }
.bibitaio-carousel .wc-block-product-template > li {
	position: relative; display: flex; flex-direction: column; align-items: center;
	flex: 0 0 clamp(190px, 23%, 260px) !important; width: auto !important; max-width: none !important; margin: 0 !important;
	scroll-snap-align: start; background: #faf9f7; border-radius: 16px; padding: 1rem 1rem 1.25rem !important;
}
.has-stone-background-color .bibitaio-carousel .wc-block-product-template > li { background: #fff; }
.bibitaio-card-top { width: 100%; min-height: 2.6rem; margin: 0 !important; }
.bibitaio-card-top .wc-block-components-product-price, .bibitaio-card-top .wp-block-woocommerce-product-price { text-align: right !important; font-size: 1.15rem; font-weight: 700; line-height: 1.2; margin: 0 !important; }
.bibitaio-card-top ins { text-decoration: none; color: var(--wp--preset--color--accent); display: block; }
.bibitaio-card-top del { display: block; font-size: .85rem; font-weight: 400; color: var(--wp--preset--color--subtle); order: 2; }
.bibitaio-card-top .wc-block-components-product-price { display: flex; flex-direction: column-reverse; align-items: flex-end; }
.bibitaio-badge {
	position: absolute; top: 1rem; left: 1rem; z-index: 2; background: var(--wp--preset--color--accent); color: #fff;
	font-size: .78rem; font-weight: 700; padding: .3rem .5rem; border-radius: 8px; line-height: 1;
}
.bibitaio-carousel .wc-block-components-product-image { margin: .5rem 0 .75rem !important; width: 100%; }
.bibitaio-carousel .wc-block-components-product-image img { border-radius: 12px; aspect-ratio: 1 / 1; object-fit: contain; background: #fff; }
.bibitaio-brand { font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; color: var(--wp--preset--color--green); margin: 0 !important; }
.bibitaio-brand a { text-decoration: none; color: inherit; }
.bibitaio-card-title { margin-top: .25rem !important; }
.bibitaio-card-title a { text-decoration: none; }
.bibitaio-carousel .wp-block-woocommerce-product-button { margin-top: auto !important; width: 100%; }
.bibitaio-carousel .bibitaio-buy .wp-block-woocommerce-product-button { width: auto; }
.bibitaio-carousel .wp-block-woocommerce-product-button .wp-block-button__link, .bibitaio-carousel .wp-block-woocommerce-product-button .wc-block-components-product-button__button {
	width: 100%; background: transparent !important; color: var(--wp--preset--color--accent) !important;
	border: 1.5px solid var(--wp--preset--color--accent) !important; border-radius: 999px !important;
}
.bibitaio-carousel .wp-block-woocommerce-product-button .wp-block-button__link:hover, .bibitaio-carousel .wp-block-woocommerce-product-button .wc-block-components-product-button__button:hover {
	background: var(--wp--preset--color--accent) !important; color: #fff !important;
}
.bibitaio-meta { font-size: .82rem; color: var(--wp--preset--color--muted); text-align: center; margin: 0 0 .2rem !important; }
.bibitaio-meta span { color: var(--wp--preset--color--line); }
.bibitaio-buy { display: flex; gap: .5rem; align-items: center; width: 100%; margin-top: auto; }
.bibitaio-buy > .wp-block-woocommerce-product-button { flex: 1 1 auto; margin-top: 0 !important; }
.bibitaio-heart { flex: 0 0 auto; }
.bibitaio-heart .tinv-wraper { margin: 0 !important; }
.bibitaio-heart a.tinvwl_add_to_wishlist_button {
	width: 42px; height: 42px; border-radius: 50%; border: 1.5px solid var(--wp--preset--color--accent); display: grid !important; place-items: center;
	color: var(--wp--preset--color--accent) !important; margin: 0 !important; padding: 0 !important; font-size: 0 !important; text-decoration: none;
}
.bibitaio-heart a.tinvwl_add_to_wishlist_button::before { margin: 0 !important; font-size: 20px !important; color: inherit !important; }
.bibitaio-heart a.tinvwl_add_to_wishlist_button { transition: background-color .15s ease, color .15s ease; }
.bibitaio-heart a.tinvwl_add_to_wishlist_button:hover, .bibitaio-heart a.tinvwl_add_to_wishlist_button:focus-visible,
.bibitaio-heart a.tinvwl_add_to_wishlist_button.tinvwl-product-in-list { background: var(--wp--preset--color--accent); color: #fff !important; }
.bibitaio-heart a.tinvwl_add_to_wishlist_button.tinvwl-product-in-list:hover { background: var(--wp--preset--color--accent-dark); }
.bibitaio-heart .tinvwl-tooltip, .bibitaio-heart .tinvwl_add_to_wishlist-text { display: none !important; }
.bibitaio-arrow {
	position: absolute; top: 40%; z-index: 3; width: 44px; height: 44px; border-radius: 50%; border: 0; cursor: pointer;
	background: var(--wp--preset--color--accent); color: #fff; font-size: 1.8rem; line-height: 1; display: grid; place-items: center;
	box-shadow: 0 2px 8px rgba(0,0,0,.15);
}
.bibitaio-arrow[hidden] { display: none; }
.bibitaio-arrow--prev { left: -12px; }
.bibitaio-arrow--next { right: -12px; }
.bibitaio-arrow:hover { background: var(--wp--preset--color--accent-dark); }

/* Riquadro colorato all'inizio del carosello promozioni */
.bibitaio-carousel-row { gap: 1rem; align-items: stretch !important; }
.bibitaio-carousel-row > .bibitaio-carousel { flex: 1 1 auto; min-width: 0; }
.bibitaio-promo-tile { flex: 0 0 260px; margin: .25rem 0 1rem !important; }

@media (max-width: 781px) {
	.bibitaio-header-search { order: 3; flex-basis: 100%; max-width: none; }
	.bibitaio-header { position: relative; }
	.bibitaio-mainnav { border-top: 0; margin-top: 0 !important; padding: 0; position: absolute; right: 1.5rem; top: calc(.75rem + 12px); }
	.bibitaio-header .bibitaio-actions { margin-right: 2.75rem; }
	.bibitaio-mainnav .bibitaio-nav-sep { margin-left: 0; }
	.bibitaio-carousel .wc-block-product-template > li { flex-basis: 70% !important; }
	.bibitaio-carousel-row { flex-wrap: wrap !important; }
	.bibitaio-promo-tile { flex-basis: 100%; }
	.bibitaio-arrow { display: none; }
	.bibitaio-offerta { min-height: 420px !important; }
}

/* ---- Pulsante "Ti serve aiuto?" ---- */
.bibitaio-help { position: fixed; right: 20px; bottom: 84px; z-index: 9990; font-size: 1rem; }
.bibitaio-help__toggle {
	width: 56px; height: 56px; border-radius: 50%; border: 0; cursor: pointer; display: grid; place-items: center;
	background: var(--wp--preset--color--accent); color: #fff; box-shadow: 0 4px 16px rgba(0,0,0,.2); margin-left: auto;
}
.bibitaio-help__toggle:hover { background: var(--wp--preset--color--accent-dark); }
.bibitaio-help__close { display: none; }
.bibitaio-help[data-open="true"] .bibitaio-help__open { display: none; }
.bibitaio-help[data-open="true"] .bibitaio-help__close { display: block; }
.bibitaio-help[data-open="true"] .bibitaio-help__toggle { background: #fff; color: var(--wp--preset--color--accent); }
.bibitaio-help__panel {
	position: absolute; right: 0; bottom: 70px; width: min(340px, calc(100vw - 40px)); max-height: calc(100vh - 180px); overflow-y: auto;
	background: #fff; border-radius: 16px; box-shadow: 0 12px 40px rgba(0,0,0,.18); padding: 1.25rem 1.25rem .5rem;
}
.bibitaio-help__title { font-family: var(--wp--preset--font-family--display); font-size: 1.4rem; font-weight: 700; margin: 0 0 .25rem; color: var(--wp--preset--color--accent); }
.bibitaio-help__intro { font-size: .9rem; color: var(--wp--preset--color--subtle); margin: 0 0 .75rem; }
.bibitaio-help__list { list-style: none; margin: 0; padding: 0; }
.bibitaio-help__list a { display: flex; gap: .9rem; align-items: center; padding: .75rem 0; text-decoration: none; color: var(--wp--preset--color--contrast); border-top: 1px solid var(--wp--preset--color--line); }
.bibitaio-help__list li:first-child a { border-top: 0; }
.bibitaio-help__list a:hover strong { color: var(--wp--preset--color--accent); }
.bibitaio-help__list svg { flex: 0 0 26px; color: var(--wp--preset--color--accent); }
.bibitaio-help__list strong { display: block; font-weight: 600; line-height: 1.3; }
.bibitaio-help__list small { display: block; color: var(--wp--preset--color--subtle); font-size: .85rem; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); white-space: nowrap; }
@media print { .bibitaio-help { display: none; } }

/* ---- Scheda prodotto in stile enoteca online ---- */
.single-product .wp-block-woocommerce-breadcrumbs { font-size: .85rem; color: var(--wp--preset--color--subtle); }
.bibitaio-gallery .woocommerce-product-gallery { background: #faf9f7; border-radius: 20px; padding: 1.5rem; }
.bibitaio-gallery .woocommerce-product-gallery img { border-radius: 14px; max-height: 620px; object-fit: contain; }
.bibitaio-buybox { position: sticky; top: 170px; align-self: flex-start; }
.bibitaio-buybox .bibitaio-brand { text-align: left; font-size: .8rem; font-weight: 600; }
.bibitaio-buybox h1.wp-block-post-title { margin: .35rem 0 .25rem; line-height: 1.15; }
.bibitaio-buybox .wp-block-separator { margin: 1rem 0 !important; border-color: var(--wp--preset--color--line); }
.bibitaio-price-row { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; }
.bibitaio-price-row .bibitaio-badge, .bibitaio-buybox .bibitaio-badge { position: static; font-size: .85rem; padding: .35rem .6rem; }
.bibitaio-buybox .wc-block-components-product-price, .bibitaio-buybox .wp-block-woocommerce-product-price { font-weight: 700; }
.bibitaio-buybox .wp-block-woocommerce-product-price ins { text-decoration: none; color: var(--wp--preset--color--contrast); order: -1; margin-right: .5rem; }
.bibitaio-buybox .wp-block-woocommerce-product-price del { font-weight: 400; font-size: 1rem; color: var(--wp--preset--color--subtle); }
.bibitaio-buybox form.cart { display: flex; gap: .75rem; align-items: stretch; margin: 1rem 0 .5rem !important; }
.bibitaio-buybox form.cart .quantity input.qty { height: 52px; width: 84px; border: 1.5px solid var(--wp--preset--color--accent); border-radius: 999px; text-align: center; font: inherit; font-weight: 600; }
.bibitaio-buybox form.cart .single_add_to_cart_button {
	flex: 1 1 auto; height: 52px; border-radius: 999px !important; background: var(--wp--preset--color--accent) !important; color: #fff !important;
	border: 0 !important; font-weight: 700; font-size: 1.05rem; padding: 0 1.5rem !important;
}
.bibitaio-buybox form.cart .single_add_to_cart_button:hover { background: var(--wp--preset--color--accent-dark) !important; }
.bibitaio-delivery { padding-left: 2rem; background: no-repeat left center / 22px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239B5500' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7h11v9H3zM14 10h4l3 3v3h-7'/%3E%3Ccircle cx='7' cy='18' r='1.6'/%3E%3Ccircle cx='17' cy='18' r='1.6'/%3E%3C/svg%3E"); }
.bibitaio-azioni { display: flex; flex-wrap: wrap; gap: 1rem 2rem; align-items: center; margin-bottom: 1.25rem; }
.bibitaio-azioni > a, .bibitaio-azioni__wish a { display: inline-flex; gap: .5rem; align-items: center; color: var(--wp--preset--color--contrast); text-decoration: underline; font-size: .95rem; }
.bibitaio-azioni svg { color: var(--wp--preset--color--accent); }
.bibitaio-azioni__wish .tinv-wraper { margin: 0 !important; }
.bibitaio-azioni__wish a.tinvwl_add_to_wishlist_button::before { color: var(--wp--preset--color--accent) !important; }
.bibitaio-azioni__wish a.tinvwl_add_to_wishlist_button:hover::before { color: var(--wp--preset--color--accent-dark) !important; }
.bibitaio-scheda { list-style: none; margin: 0 0 1.25rem; padding: 0; }
.bibitaio-scheda li { display: flex; gap: 1rem; align-items: center; padding: .6rem 0; font-size: 1.05rem; }
.bibitaio-scheda svg { color: var(--wp--preset--color--accent); flex: 0 0 26px; }
@media (max-width: 781px) { .bibitaio-buybox { position: static; } .bibitaio-gallery .woocommerce-product-gallery { padding: .75rem; } }

/* Pulsante "Aggiungi" con icona del carrello nelle schede */
.bibitaio-carousel .wp-block-woocommerce-product-button .wp-block-button__link::after,
.bibitaio-carousel .wp-block-woocommerce-product-button .wc-block-components-product-button__button::after {
	content: ""; display: inline-block; width: 20px; height: 20px; margin-left: .5rem; vertical-align: -4px; background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.4 11h10.2L20 7H6.2'/%3E%3Ccircle cx='9' cy='19.5' r='1.4'/%3E%3Ccircle cx='17' cy='19.5' r='1.4'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.4 11h10.2L20 7H6.2'/%3E%3Ccircle cx='9' cy='19.5' r='1.4'/%3E%3Ccircle cx='17' cy='19.5' r='1.4'/%3E%3C/svg%3E") center / contain no-repeat;
}
.bibitaio-carousel .wp-block-woocommerce-product-button .wp-block-button__link, .bibitaio-carousel .wp-block-woocommerce-product-button .wc-block-components-product-button__button { font-weight: 500 !important; font-size: 1rem !important; padding: .55rem 1.25rem !important; }

/* Correzioni 1.4.1 */
.wc-block-product { position: relative; }
.bibitaio-gallery .onsale, .bibitaio-gallery .wc-block-components-product-sale-badge { display: none !important; }
.bibitaio-carousel .yith-wcbm-badge, .bibitaio-gallery .yith-wcbm-badge, .bibitaio-carousel [class*="yith-wcbm-badge"], .bibitaio-gallery [class*="yith-wcbm-badge"] { display: none !important; }

/* ---- Shop e categorie: filtri a sinistra, schede a griglia ---- */
.bibitaio-shop .wp-block-query-title { margin-top: 0; }
.bibitaio-shop-bar { margin: 1rem 0 1.25rem !important; font-size: .95rem; }
.bibitaio-shop-bar select { border: 1px solid var(--wp--preset--color--line); border-radius: 999px; padding: .45rem 2rem .45rem 1rem; font: inherit; background-color: #fff; }
.bibitaio-grid .wc-block-product-template {
	display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; overflow: visible; padding: 0 !important; scroll-snap-type: none;
}
.bibitaio-grid .wc-block-product-template > li { flex: none !important; width: auto !important; }
.bibitaio-grid .bibitaio-arrow { display: none !important; }
.bibitaio-filtri { position: sticky; top: 170px; max-height: calc(100vh - 190px); overflow-y: auto; padding-right: .5rem; }
.bibitaio-filtri > summary { font-family: var(--wp--preset--font-family--display); font-weight: 700; font-size: 1.15rem; margin-bottom: .5rem; list-style: none; cursor: default; }
.bibitaio-filtri > summary::-webkit-details-marker { display: none; }
.bibitaio-filtri__group { border-bottom: 1px solid var(--wp--preset--color--line); padding: .9rem 0; }
.bibitaio-filtri__title { font-weight: 700; margin: 0 0 .5rem; }
.bibitaio-filtri ul { list-style: none; margin: 0; padding: 0; }
.bibitaio-filtri li a { display: flex; align-items: center; gap: .6rem; padding: .3rem 0; text-decoration: none; color: var(--wp--preset--color--contrast); font-size: .95rem; }
.bibitaio-filtri li a:hover { color: var(--wp--preset--color--accent); }
.bibitaio-filtri small { color: var(--wp--preset--color--subtle); }
.bibitaio-check { width: 18px; height: 18px; border: 1.5px solid var(--wp--preset--color--contrast); border-radius: 3px; flex: 0 0 18px; display: grid; place-items: center; }
.bibitaio-filtri li.is-on .bibitaio-check { background: var(--wp--preset--color--accent); border-color: var(--wp--preset--color--accent); }
.bibitaio-filtri li.is-on .bibitaio-check::after { content: ""; width: 9px; height: 5px; border: 2px solid #fff; border-top: 0; border-right: 0; transform: rotate(-45deg) translate(1px, -1px); }
.bibitaio-filtri__reset a { color: var(--wp--preset--color--accent); font-weight: 600; font-size: .9rem; }
@media (max-width: 1000px) { .bibitaio-grid .wc-block-product-template { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 781px) {
	.bibitaio-filtri { position: static; max-height: none; border: 1px solid var(--wp--preset--color--line); border-radius: 14px; padding: .75rem 1rem; }
	.bibitaio-filtri > summary { cursor: pointer; margin: 0; }
	.bibitaio-filtri > summary::after { content: " +"; color: var(--wp--preset--color--accent); }
	.bibitaio-filtri[open] > summary::after { content: " –"; }
	.bibitaio-grid .wc-block-product-template { gap: .75rem; }
	.bibitaio-grid .wc-block-product-template > li { padding: .6rem .6rem .9rem !important; }
}

/* ---- Menu grande "Tutti i vini" ---- */
.bibitaio-header { position: relative; }
.bibitaio-has-mega > a::after { content: ""; display: inline-block; width: 6px; height: 6px; margin-left: .45rem; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg) translateY(-3px); }
.bibitaio-has-mega.is-mega-open > a { color: var(--wp--preset--color--accent); box-shadow: inset 0 -2px 0 var(--wp--preset--color--accent); }
.bibitaio-mega {
	position: absolute; left: 0 !important; right: 0 !important; top: 100%; z-index: 999; background: #fff; max-width: none !important; width: auto !important; margin: 0 !important;
	box-shadow: 0 18px 30px -18px rgba(0,0,0,.3); border-top: 1px solid var(--wp--preset--color--line);
}
.bibitaio-mega[hidden] { display: none; }
.bibitaio-mega__inner { max-width: 1200px; margin: 0 auto; padding: 2rem 1.5rem 2.25rem; display: grid; grid-template-columns: 260px repeat(4, minmax(0, 1fr)); gap: 2rem; }
.bibitaio-mega__tile { background: var(--wp--preset--color--green); color: #fff; border-radius: 6px; padding: 2rem 1.5rem; text-align: center; display: flex; flex-direction: column; justify-content: center; gap: .5rem; min-height: 300px; }
.bibitaio-mega__tile-title { font-family: var(--wp--preset--font-family--display); font-size: 1.35rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; line-height: 1.15; margin: 0 0 .5rem; }
.bibitaio-mega__tile p { margin: 0; }
.bibitaio-mega__tile a { color: #fff; font-weight: 700; margin-top: .75rem; }
.bibitaio-mega__col { border-left: 1px solid var(--wp--preset--color--line); padding-left: 1.5rem; }
.bibitaio-mega__title { font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .12em; margin: 0 0 1rem; }
.bibitaio-mega ul { list-style: none; margin: 0; padding: 0; }
.bibitaio-mega li { margin: 0 0 .6rem; font-size: .95rem; }
.bibitaio-mega li a { color: var(--wp--preset--color--muted); text-decoration: none; }
.bibitaio-mega li a:hover { color: var(--wp--preset--color--accent); text-decoration: underline; }
.bibitaio-mega__all a { font-weight: 700; color: var(--wp--preset--color--contrast) !important; }
.bibitaio-mega__tag { font-size: .65rem; font-weight: 700; text-transform: uppercase; background: var(--wp--preset--color--accent); color: #fff; padding: .15rem .4rem; border-radius: 4px; margin-left: .35rem; vertical-align: 1px; }
@media (max-width: 999px) { .bibitaio-mega { display: none !important; } .bibitaio-has-mega > a::after { display: none; } }

/* ---- Striscia scorrevole in basso ---- */
.bibitaio-ticker {
	position: fixed; left: 0; right: 0; bottom: 0; z-index: 9980; height: 44px; display: flex; align-items: center;
	background: var(--wp--preset--color--accent); color: #fff; font-size: .92rem; overflow: hidden;
}
.bibitaio-ticker[hidden] { display: none; }
.bibitaio-ticker__track { display: flex; width: max-content; animation: bibitaio-ticker 38s linear infinite; }
.bibitaio-ticker:hover .bibitaio-ticker__track, .bibitaio-ticker:focus-within .bibitaio-ticker__track { animation-play-state: paused; }
.bibitaio-ticker ul { display: flex; list-style: none; margin: 0; padding: 0; }
.bibitaio-ticker li { white-space: nowrap; padding: 0 2.5rem; position: relative; }
.bibitaio-ticker li::before { content: "✦"; position: absolute; left: -.35rem; opacity: .7; font-size: .7rem; top: .2rem; }
.bibitaio-ticker a { color: #fff; text-decoration: none; }
.bibitaio-ticker a:hover { text-decoration: underline; }
.bibitaio-ticker__close {
	position: absolute; right: 0; top: 0; bottom: 0; width: 52px; border: 0; cursor: pointer; font-size: 1.6rem; line-height: 1; color: #fff;
	background: linear-gradient(90deg, rgba(155,85,0,0), var(--wp--preset--color--accent) 35%);
}
@keyframes bibitaio-ticker { from { transform: translateX(0); } to { transform: translateX(-50%); } }
body.has-bibitaio-ticker { padding-bottom: 44px; }
body.has-bibitaio-ticker .bibitaio-help { bottom: 128px; }
body.has-bibitaio-ticker .iubenda-tp-btn { bottom: 56px !important; }
@media (prefers-reduced-motion: reduce) { .bibitaio-ticker__track { animation: none; } .bibitaio-ticker { overflow-x: auto; } }

@media (prefers-reduced-motion: reduce) {
	* { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}
