/* ═══ GV · ritocchi (caricato per ultimo) ═══ */

/* griglie prodotti nelle pagine: card più larghe (meno spazio tra loro), 4 / 2 / 1 colonne */
.gv .gv-products .blog-stream.masonry { column-gap: 22px !important; row-gap: 26px !important; }
/* il tema dà all'article 0 14px di padding (vecchia masonry): la card bianca restava 28px più stretta della colonna */
.gv .gv-products .blog-stream.masonry > article.product { padding-left: 0 !important; padding-right: 0 !important; margin-bottom: 0 !important; }
/* spazio sotto il testo ≥ fascia del pulsante (≈71px), altrimenti il prezzo finisce sotto il bottone */
body .gv .gv-products .blog-stream.masonry article.product .hentry-middle { padding-bottom: 92px !important; }
@media (min-width: 768px) and (max-width: 1024px) {
    .gv .gv-products .blog-stream.masonry { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 767px) {
    .gv .gv-products .blog-stream.masonry { grid-template-columns: minmax(0, 1fr) !important; row-gap: 18px !important; }
}

/* wishlist / confronto in scheda: la span dell'icona era colorata dal child */
body.gv-site.single-product .summary form.cart .tk-cart-extra-btn a .tkwssw-btn-icon,
body.gv-site.single-product .summary form.cart .tk-cart-extra-btn a .tkwssc-btn-icon {
    background: transparent !important; background-color: transparent !important; width: auto !important; height: auto !important;
    border: 0 !important; border-radius: 0 !important; box-shadow: none !important; outline: 0 !important;
}
body.gv-site.single-product .summary form.cart .tk-cart-extra-btn { border: 0 !important; background: none !important; box-shadow: none !important; }

/* schede descrizione prodotto: staccate tra loro, testo uniforme */
.gv-site.single-product .woocommerce-tabs ul.tabs { display: flex !important; flex-wrap: wrap; justify-content: center; gap: 10px !important; padding: 0 12px !important; background: #fff; }
.gv-site.single-product .woocommerce-tabs ul.tabs li { margin: 0 !important; border: 1px solid var(--gv-line) !important; background: #fff !important; }
.gv-site.single-product .woocommerce-tabs ul.tabs li a { color: var(--gv-ink-2) !important; background: none !important; -webkit-text-fill-color: currentColor !important; padding: 12px 22px !important; }
.gv-site.single-product .woocommerce-tabs ul.tabs li:hover a { color: var(--gv-bx) !important; }
.gv-site.single-product .woocommerce-tabs ul.tabs li.active { background: var(--gv-bx) !important; border-color: var(--gv-bx) !important; }
.gv-site.single-product .woocommerce-tabs ul.tabs li.active a { color: #fff !important; }
.gv-site.single-product .woocommerce-tabs ul.tabs li::before, .gv-site.single-product .woocommerce-tabs ul.tabs li::after { display: none !important; }

/* menu mobile aperto = pannello fisso a tutto schermo, pagina sotto bloccata */
@media (max-width: 991px) {
    html:has(.site-header #site-navigation.is-active), body:has(.site-header #site-navigation.is-active) { overflow: hidden !important; overscroll-behavior: none; }
    .gv-site .site-header:has(#site-navigation.is-active) {
        position: fixed !important; inset: 0 !important; width: 100% !important; height: 100vh !important; height: 100dvh !important;
        max-height: none !important; overflow-y: auto !important; z-index: 2147483000 !important; transform: none !important;
    }
    .gv-site .site-header:has(#site-navigation.is-active) .header-wrap { min-height: 100%; }
    .gv-site .site-header:has(#site-navigation.is-active) .header-wrap-inner { background: transparent !important; }
    .gv-site .site-header #site-navigation.is-active, .gv-site .site-header #site-navigation.is-active .layout-medium,
    .gv-site .site-header #site-navigation.is-active .nav-menu, .gv-site .site-header #site-navigation.is-active .search-container,
    .gv-site .site-header #site-navigation.is-active .search-box, .gv-site .site-header #site-navigation.is-active .search-form { background: transparent !important; box-shadow: none !important; }
    .gv-site .site-header #site-navigation.is-active .search-container input[type="search"] { -webkit-text-fill-color: #fff !important; }
    .gv-site .site-header #site-navigation.is-active .search-container input[type="search"]::placeholder { -webkit-text-fill-color: rgba(255, 255, 255, .65) !important; color: rgba(255, 255, 255, .65) !important; }
    /* pulsanti flottanti (WhatsApp, consenso cookie, torna su) nascosti finché il menu è aperto */
    body:has(.site-header #site-navigation.is-active) [class*="tkcw"],
    body:has(.site-header #site-navigation.is-active) [class*="tk-chat"],
    body:has(.site-header #site-navigation.is-active) [class*="tkprv"],
    body:has(.site-header #site-navigation.is-active) .scroll-to-top,
    body:has(.site-header #site-navigation.is-active) #tk-top { visibility: hidden !important; }
    /* logo dell'header chiuso: non tocca più la linea sotto */
    .gv-site .site-header .site-title img { max-height: 34px !important; }
    .gv-site .site-header.original .site-branding { top: 7px !important; }
}

/* carrello: totali a destra (come di default WooCommerce), campo codice leggibile */
.gv.gv-woo .cart-collaterals { display: flex !important; justify-content: flex-end; width: 100%; }
.gv.gv-woo .cart-collaterals .cart_totals { float: none !important; width: 46% !important; max-width: 520px; margin: 0 0 0 auto !important; }
.gv.gv-woo .cart-collaterals .cart_totals h2 { text-align: left !important; }
/* il child dava al ::before una barretta di 82px centrata e spostata in alto: torna filetto sul bordo del riquadro */
.gv.gv-woo .cart-collaterals .cart_totals { position: relative !important; }
.gv.gv-woo .cart-collaterals .cart_totals::before {
    left: 0 !important; right: 0 !important; top: 0 !important; bottom: auto !important; width: auto !important; height: 3px !important;
    margin: 0 !important; transform: none !important; border-radius: 0 !important;
}
.gv.gv-woo .cart-collaterals .cross-sells { display: none; }
.gv.gv-woo table.cart td.actions .coupon { display: flex; gap: 10px; align-items: center; }
/* riga codice/aggiorna compatta: una sola riga, niente spazio vuoto sotto */
.gv.gv-woo table.cart td.actions { padding: 14px 16px !important; }
.gv.gv-woo table.cart td.actions .coupon { display: inline-flex !important; float: left !important; margin: 0 !important; }
.gv.gv-woo table.cart td.actions > .button { float: right !important; margin: 4px 0 0 !important; }
.gv.gv-woo table.cart td.actions::after { content: ""; display: table; clear: both; }
.gv.gv-woo table.cart td.actions > input:not([type="hidden"]), .gv.gv-woo table.cart td.actions > input.input-text { display: none !important; }
.gv.gv-woo table.cart td.actions .coupon .button, .gv.gv-woo table.cart td.actions > .button { padding: 13px 22px !important; }
.gv.gv-woo table.cart td.actions .coupon input#coupon_code { width: 230px !important; min-height: 46px; padding: 0 16px !important; }
@media (max-width: 767px) {
    .gv.gv-woo .cart-collaterals .cart_totals { width: 100% !important; max-width: none; }
    .gv.gv-woo table.cart td.actions .coupon { flex-wrap: wrap; }
    .gv.gv-woo table.cart td.actions .coupon input#coupon_code { width: 100% !important; }
}

/* prodotti correlati / upsell nella scheda: 3 / 2 / 1 colonne, card piene nella colonna */
body.gv-site.single-product .related .blog-stream.masonry, body.gv-site.single-product .upsells .blog-stream.masonry {
    display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; column-gap: 22px !important; row-gap: 22px !important;
    height: auto !important; position: static !important;
}
body.gv-site.single-product .related .blog-stream.masonry > article.product, body.gv-site.single-product .upsells .blog-stream.masonry > article.product {
    position: relative !important; left: auto !important; top: auto !important; width: auto !important; padding-left: 0 !important; padding-right: 0 !important; margin: 0 !important;
}
body.gv-site.single-product .related .blog-stream.masonry article.product .hentry-middle,
body.gv-site.single-product .upsells .blog-stream.masonry article.product .hentry-middle { padding-bottom: 92px !important; }
@media (min-width: 768px) and (max-width: 1024px) {
    body.gv-site.single-product .related .blog-stream.masonry, body.gv-site.single-product .upsells .blog-stream.masonry { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 767px) {
    body.gv-site.single-product .related .blog-stream.masonry, body.gv-site.single-product .upsells .blog-stream.masonry { grid-template-columns: minmax(0, 1fr) !important; row-gap: 18px !important; }
}

/* foto con cornice: il filetto dorato sfalsato non deve finire dietro lo sfondo della sezione
   (isolation crea il contesto di sovrapposizione) + filetto chiaro interno come nelle categorie */
.gv .gv-photo--arch .elementor-widget-container { isolation: isolate; }
.gv .gv-photo--arch .elementor-widget-container::before {
    content: ""; position: absolute; inset: 12px; border: 1px solid rgba(255, 255, 255, .7); z-index: 2; pointer-events: none;
}
.gv .gv-photo--arch img { position: relative; z-index: 1; }

/* griglia a rotazione: prima che lo script scelga, solo i primi 8 (i più economici) */
.gv-rotate:not(.gv-rotate-ok) .blog-stream > article.product:nth-child(n+9) { display: none !important; }

/* footer: riga "Spediamo in tutta Italia" */
.gv-site .site-footer .gv-foot-ship { display: flex !important; align-items: center; gap: 10px; color: var(--gv-gold-l) !important; font-weight: 500; letter-spacing: .02em; margin: 2px 0 16px !important; }
.gv-site .site-footer .gv-foot-ship svg { width: 20px; height: 20px; flex: 0 0 20px; fill: none; stroke: var(--gv-gold-l); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }

/* schede "I nostri prodotti" cliccabili: invito in fondo al testo */
.gv a.gv-fam { text-decoration: none !important; cursor: pointer; }
.gv a.gv-fam .gv-fam-body::after {
    content: "Vedi i prodotti →"; display: block; margin-top: 6px; font-family: var(--gv-sans); font-size: 12px; font-weight: 600;
    letter-spacing: .16em; text-transform: uppercase; color: var(--gv-bx); transition: transform .25s var(--gv-ease), color .2s;
}
.gv a.gv-fam.gv-fam--contact .gv-fam-body::after { content: "Chiedi un preventivo →"; }
.gv a.gv-fam:hover .gv-fam-body::after { color: var(--gv-bx-d); transform: translateX(4px); }
.gv a.gv-fam:hover .gv-fam-title .elementor-heading-title { color: var(--gv-bx); }
.gv a.gv-fam:focus-visible { outline: 2px solid var(--gv-bx); outline-offset: 3px; }

/* Fraunces: cifre allineate nei prezzi e nei numeri */
.gv-site .gv, .gv-site.single-product .summary .price { font-variant-numeric: lining-nums; }

/* 2026-10-07 — card prodotto dopo "Aggiungi al carrello": il quadratino restava vuoto
   (la spunta era un carattere del font WooCommerce, ma il pulsante ha font-size 0). Spunta in SVG. */
body .blog-stream.masonry article.product .featured-image .cart-button:has(> .added_to_cart) > a.button.added::after {
	content: "" !important; display: block !important; position: static !important;
	width: 20px !important; height: 20px !important; margin: 0 !important;
	font-size: 0 !important; background: #fff !important; animation: none !important;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27%3E%3Cpath fill=%27none%27 stroke=%27%23000%27 stroke-width=%273%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 d=%27M5 12.5l4.5 4.5L19 7.5%27/%3E%3C/svg%3E") center/contain no-repeat !important;
	mask: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27%3E%3Cpath fill=%27none%27 stroke=%27%23000%27 stroke-width=%273%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 d=%27M5 12.5l4.5 4.5L19 7.5%27/%3E%3C/svg%3E") center/contain no-repeat !important;
}

/* 2026-10-08 — FidelityCard inclinata in 3D: con la scheda video Chrome disegnava angolini neri
   sui riquadri interni che usano backdrop-filter (prossimo premio) e ombra (logo). Senza quei due effetti spariscono. */
.tkfc .tkfc-next { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; background: rgba(255, 255, 255, .2) !important; }
.tkfc .tkfc-logo { box-shadow: none !important; }

/* 2026-10-08 — ricerca prodotti nella sidebar negozio: campo e pulsante sulla stessa riga, uniti */
body .widget_product_search form.woocommerce-product-search { display: flex !important; align-items: stretch !important; gap: 0 !important; width: 100% !important; margin: 0 !important; }
body .widget_product_search .search-field { flex: 1 1 auto !important; min-width: 0 !important; width: auto !important; height: 46px !important; margin: 0 !important; padding: 0 14px !important; border: 1px solid var(--gv-line, #e6dbcf) !important; border-right: 0 !important; border-radius: 10px 0 0 10px !important; background: #fff !important; font-size: 14px !important; box-shadow: none !important; }
body .widget_product_search .search-field:focus { outline: 0 !important; border-color: var(--gv-bx) !important; box-shadow: 0 0 0 3px rgba(154, 47, 62, .12) !important; }
body .widget_product_search form.woocommerce-product-search button[type="submit"] { flex: 0 0 48px !important; width: 48px !important; height: 46px !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 10px 10px 0 !important; background: var(--gv-bx) !important; color: transparent !important; font-size: 0 !important; position: relative !important; cursor: pointer !important; box-shadow: none !important; }
body .widget_product_search form.woocommerce-product-search button[type="submit"]:hover { background: var(--gv-bx-d) !important; }
body .widget_product_search form.woocommerce-product-search button[type="submit"]::before { content: "" !important; position: absolute !important; inset: 0 !important; margin: auto !important; width: 19px !important; height: 19px !important; background: #fff !important;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27%3E%3Cg fill=%27none%27 stroke=%27%23000%27 stroke-width=%272.4%27 stroke-linecap=%27round%27%3E%3Ccircle cx=%2711%27 cy=%2711%27 r=%277%27/%3E%3Cpath d=%27M20 20l-4-4%27/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat !important;
	mask: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27%3E%3Cg fill=%27none%27 stroke=%27%23000%27 stroke-width=%272.4%27 stroke-linecap=%27round%27%3E%3Ccircle cx=%2711%27 cy=%2711%27 r=%277%27/%3E%3Cpath d=%27M20 20l-4-4%27/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat !important; }
body .widget_product_search form.woocommerce-product-search button[type="submit"]::after { display: none !important; }
