/* =========================================================================
   GELO IN — RESTYLING SITEWIDE per tema Bacola (KlbTheme) + WooCommerce
   Caricato per ultimo (vedi functions.php, priorita' 100) cosi' vince sempre
   la cascata su base.css e sul vero style.css del tema padre.

   Selettori verificati leggendo il codice sorgente reale del tema/plugin:
   parent/bacola/includes/header/header-type1.php e header-type2.php
   parent/bacola/includes/footer/main_footer.php
   parent/bacola/includes/woocommerce.php (bacola_product_type1, bacola_sale_percentage)
   parent/bacola/woocommerce/{cart,checkout,myaccount,single-product}/*
   bacola-core/woocommerce-filter/{wishlist,compare,swatches,grid-list,side-cart}/*

   Il sito usa l'header di default (header-type2) a meno che tu non abbia
   impostato "Header Type" su "Type 1" in Personalizza > Header: in quel caso
   sono presenti anche le icone account/carrello in testata (.header-cart,
   .header-login) gia' coperte qui sotto.
   ========================================================================= */

:root {
  --geloin-blue: #2EA3F2;
  --geloin-blue-dark: #1a85cc;
  --geloin-blue-pale: #EFF8FF;
  --geloin-orange: #F7941D;
  --geloin-orange-dark: #d97c0e;
  --geloin-orange-pale: #FFF7ED;
  --geloin-bg: #F5F7FA;
  --geloin-white: #FFFFFF;
  --geloin-text: #1F2937;
  --geloin-muted: #6B7280;
  --geloin-border: #E5E7EB;
  --geloin-radius: 10px;
  --geloin-radius-lg: 14px;
  --geloin-shadow: 0 2px 12px rgba(15,23,42,0.07);
  --geloin-shadow-lg: 0 8px 32px rgba(15,23,42,0.12);
  --geloin-red: #DC2626;
  --geloin-green: #16A34A;
}

/* =========================================================================
   1. BASE / TIPOGRAFIA
   ========================================================================= */
body {
  color: var(--geloin-text);
  background: var(--geloin-bg);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5, h6 { color: var(--geloin-text); }
a { color: var(--geloin-blue); }
a:hover { color: var(--geloin-blue-dark); }
::selection { background: var(--geloin-blue-pale); color: var(--geloin-text); }

/* =========================================================================
   2. BOTTONI (generici + WooCommerce)
   ========================================================================= */
.button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce #respond input#submit,
.woocommerce input.button,
input[type="submit"] {
  background: var(--geloin-orange) !important;
  color: #fff !important;
  border: 2px solid var(--geloin-orange) !important;
  border-radius: 999px !important;
  padding: 12px 26px !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  transition: all 0.2s ease !important;
  box-shadow: none !important;
}
.button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce input.button:hover,
input[type="submit"]:hover {
  background: var(--geloin-orange-dark) !important;
  border-color: var(--geloin-orange-dark) !important;
  transform: translateY(-2px);
}
.button.wc-backward,
a.button.wc-backward {
  background: var(--geloin-blue) !important;
  border-color: var(--geloin-blue) !important;
}
.button.wc-backward:hover { background: var(--geloin-blue-dark) !important; border-color: var(--geloin-blue-dark) !important; }

/* =========================================================================
   3. HEADER (header-type1.php e header-type2.php — struttura comune)
   ========================================================================= */
#masthead.site-header { background: var(--geloin-white); border-bottom: 1px solid var(--geloin-border); }
.header-top.header-wrapper { background: var(--geloin-blue); }
.header-top .topbar-notice, .header-top .text-content, .header-top a { color: #fff; }
.header-top .site-menu a { color: rgba(255,255,255,0.9); }

.site-brand a { color: var(--geloin-text); }
.site-brand .brand-text { font-weight: 800; font-size: 20px; color: var(--geloin-text); }
.site-brand .brand-description { color: var(--geloin-muted); font-size: 12px; }

.header-search .search-form { border-radius: 999px; overflow: hidden; }
.header-search .search-form input[type="search"] {
  border: 1px solid var(--geloin-border);
  background: var(--geloin-bg);
}
.header-search .search-form button { background: var(--geloin-orange); color: #fff; }

.header-nav.header-wrapper { background: var(--geloin-white); border-top: 1px solid var(--geloin-border); }
.site-menu.primary-menu > .menu > li > a { color: var(--geloin-text); font-weight: 600; font-size: 14px; }
.site-menu.primary-menu > .menu > li > a:hover { color: var(--geloin-blue); }
.site-menu .menu ul.sub-menu, .site-menu .menu .children {
  background: var(--geloin-white);
  border: 1px solid var(--geloin-border);
  border-radius: var(--geloin-radius);
  box-shadow: var(--geloin-shadow-lg);
}

/* Icone account/carrello (solo header-type1) */
.header-login.button-item, .header-cart.button-item {
  border-color: var(--geloin-border) !important;
}
.header-cart .button-icon, .header-login .button-icon { color: var(--geloin-text); }
.header-cart .cart-price { color: var(--geloin-text); font-weight: 700; }
.header-cart .cart-count-icon, .cart-count {
  background: var(--geloin-orange) !important;
  color: #fff !important;
  border-radius: 999px;
}
.cart-dropdown { border: 1px solid var(--geloin-border); border-radius: var(--geloin-radius); box-shadow: var(--geloin-shadow-lg); }
.cart-dropdown .cart-noticy { background: var(--geloin-blue-pale); color: var(--geloin-text); }

/* =========================================================================
   4. FOOTER
   ========================================================================= */
footer.site-footer { background: var(--geloin-text); color: rgba(255,255,255,0.7); }
.footer-subscribe { background: var(--geloin-blue); }
.footer-subscribe .entry-title, .footer-subscribe .entry-subtitle { color: #fff; }
.footer-subscribe .form-wrapper input[type="email"] {
  border-radius: 999px; border: none; padding: 12px 18px;
}
.footer-subscribe .form-wrapper button, .footer-subscribe .form-wrapper input[type="submit"] {
  background: var(--geloin-orange) !important; border-color: var(--geloin-orange) !important;
}
.site-footer .footer-subscribe .entry-teaser { opacity: 1; }
.site-footer .footer-iconboxes { background: #111827 !important; }
.footer-iconboxes .iconbox-icon { color: var(--geloin-orange); }
.footer-iconboxes .iconbox-detail span { color: rgba(255,255,255,0.85); }
.footer-widgets .widget-title, .footer-widgets .widget h3, .footer-widgets .widget h4 {
  color: #fff; font-size: 15px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.6px;
  border-bottom: 2px solid var(--geloin-orange); padding-bottom: 8px; display: inline-block;
}
.footer-widgets a { color: rgba(255,255,255,0.7); }
.footer-widgets a:hover { color: var(--geloin-orange); }
.footer-contacts { background: #111827; }
.footer-contacts .entry-title { color: #fff; }
.footer-contacts .phone-icon, .footer-contacts .app-content h6 { color: var(--geloin-orange); }
.site-social ul li a {
  width: 34px; height: 34px; border-radius: 50%; background: rgba(255,255,255,0.1);
  display: inline-flex; align-items: center; justify-content: center; color: #fff; transition: background 0.2s;
}
.site-social ul li a:hover { background: var(--geloin-orange); }
.footer-bottom { background: #0b1220; color: rgba(255,255,255,0.55); font-size: 13px; }
.footer-bottom .site-copyright a, .footer-menu a { color: rgba(255,255,255,0.8); }

/* =========================================================================
   5. SHOP — griglia prodotti (bacola_product_type1, vista grid)
   ========================================================================= */
.before-shop-loop { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-bottom: 20px; }
.before-shop-loop .shop-view-selector .shop-view { border-radius: var(--geloin-radius); border: 1px solid var(--geloin-border); }
.before-shop-loop .shop-view-selector .shop-view.active { background: var(--geloin-blue); color: #fff; border-color: var(--geloin-blue); }
.before-shop-loop select.perpage, .woocommerce-ordering select.orderby {
  border: 1px solid var(--geloin-border); border-radius: var(--geloin-radius); background: var(--geloin-white); padding: 8px 14px;
}

.woocommerce ul.products li.product {
  transition: transform 0.2s ease;
}
.woocommerce ul.products li.product:hover { transform: translateY(-4px); }

.product-wrapper.product-type-1 {
  background: var(--geloin-white);
  border: 1px solid var(--geloin-border);
  border-radius: var(--geloin-radius);
  box-shadow: var(--geloin-shadow);
  overflow: hidden;
  transition: box-shadow 0.2s ease;
}
.woocommerce ul.products li.product:hover .product-wrapper.product-type-1 { box-shadow: var(--geloin-shadow-lg); }
.product-wrapper.product-type-1 .thumbnail-wrapper { position: relative; background: var(--geloin-blue-pale); }
.product-wrapper.product-type-1 .content-wrapper { padding: 16px 18px 18px; }

.product-title, .product-wrapper .product-title { font-size: 15px; font-weight: 700; }
.product-title a { color: var(--geloin-text); }
.product-title a:hover { color: var(--geloin-blue); }

.product-meta .product-unit { color: var(--geloin-muted); font-size: 12px; }
.product-available.in-stock { color: var(--geloin-green); font-weight: 600; font-size: 12px; }
.product-available.outof-stock { color: var(--geloin-red); font-weight: 600; font-size: 12px; }

.product-rating .star-rating { color: var(--geloin-orange); }
.count-rating { color: var(--geloin-muted); font-size: 12px; }
.count-rating .rating-text { color: var(--geloin-muted); }

.product-wrapper .price, .content-wrapper > span.price { color: var(--geloin-text); font-weight: 800; font-size: 16px; }
.product-wrapper .price del { color: var(--geloin-muted); font-weight: 400; font-size: 13px; opacity: 1; }
.product-wrapper .price ins { text-decoration: none; }

/* Badge sconto/etichette */
.product-badges { position: absolute; top: 12px; left: 12px; z-index: 2; display: flex; flex-direction: column; gap: 6px; }
.product-badges .badge {
  display: inline-block; font-size: 11px; font-weight: 800; padding: 4px 10px;
  border-radius: 999px; color: #fff; letter-spacing: 0.3px;
}
.product-badges .badge.onsale { background: var(--geloin-red); }
.product-badges .badge.style-1 { background: var(--geloin-red); }
.product-badges .badge.style-2, .product-badges .badge.organic { background: var(--geloin-green); }
.product-badges .badge.type-3 { background: var(--geloin-blue); }
.product-badges .badge.type-4 { background: var(--geloin-orange); }
.product-badges .badge.type-5 { background: var(--geloin-text); }

/* Pulsanti overlay su hover (quick view, wishlist) */
.product-buttons { position: absolute; top: 12px; right: 12px; z-index: 2; display: flex; flex-direction: column; gap: 8px; opacity: 0; transform: translateX(6px); transition: all 0.2s ease; }
.woocommerce ul.products li.product:hover .product-buttons { opacity: 1; transform: translateX(0); }
.product-buttons .detail-bnt, .product-buttons a.wishlist {
  width: 36px; height: 36px; border-radius: 50%; background: #fff; box-shadow: var(--geloin-shadow);
  display: flex; align-items: center; justify-content: center; color: var(--geloin-text);
}
.product-buttons .detail-bnt svg { width: 16px; height: 16px; fill: currentColor; }
.product-buttons a:hover, .product-buttons .detail-bnt:hover { background: var(--geloin-orange); color: #fff; }
a.wishlist.klbwl-product-in-list { background: var(--geloin-orange); color: #fff; }

/* Aggiungi al carrello nella card */
.product-fade-block .product-button-group,
.content-wrapper .product-button-group {
  margin-top: 10px;
}
.product-button-group .add_to_cart_button,
.product-button-group .ajax_add_to_cart,
.product-button-group a.button {
  width: 100%; text-align: center; border-radius: 999px !important;
  background: var(--geloin-blue-pale) !important; color: var(--geloin-blue-dark) !important;
  border: 1px solid #D9EEFF !important; font-size: 13px !important; font-weight: 700 !important;
}
.product-button-group .add_to_cart_button:hover,
.product-button-group .ajax_add_to_cart:hover,
.product-button-group a.button:hover {
  background: var(--geloin-blue) !important; color: #fff !important; border-color: var(--geloin-blue) !important;
}
.product-button-group.cart-with-quantity .quantity.ajax-quantity {
  display: flex; align-items: center; border: 1px solid var(--geloin-border); border-radius: 999px; overflow: hidden;
}
.product-button-group .quantity-button { background: var(--geloin-bg); cursor: pointer; }
.product-button-group .quantity-button:hover { background: var(--geloin-blue-pale); }
.product-button-group input.qty { border: none; text-align: center; }

/* Vista lista */
.klb-product-list.product-content { background: var(--geloin-white); border: 1px solid var(--geloin-border); border-radius: var(--geloin-radius); box-shadow: var(--geloin-shadow); overflow: hidden; margin-bottom: 16px; }
.klb-product-list .thumbnail-wrapper { background: var(--geloin-blue-pale); position: relative; }
.klb-product-list .content-wrapper { padding: 20px; }

/* Swatches colore/immagine */
.klbtheme-terms .klbtheme-term, .klbtheme-loop-swatches .klbtheme-term {
  border: 2px solid var(--geloin-border); border-radius: 50%; width: 26px; height: 26px; display: inline-block;
  cursor: pointer; transition: border-color 0.2s;
}
.klbtheme-terms .klbtheme-term:hover, .klbtheme-loop-swatches .klbtheme-term:hover { border-color: var(--geloin-blue); }
.klbtheme-terms .klbtheme-term.selected, .klbtheme-loop-swatches .klbtheme-term.selected { border-color: var(--geloin-orange); }
.klbtheme-btn-reset { color: var(--geloin-blue); font-size: 12px; }

/* =========================================================================
   6. SCHEDA PRODOTTO SINGOLO
   ========================================================================= */
.product-header .entry-title { font-size: 24px; font-weight: 800; }
.product-header .sku-wrapper .sku { color: var(--geloin-muted); }

.woocommerce-product-gallery { border-radius: var(--geloin-radius-lg); overflow: hidden; border: 1px solid var(--geloin-border); }
.woocommerce-product-gallery .product-badges { top: 16px; left: 16px; }

.product-detail .product_title, .product-detail .entry-title { font-size: 26px; font-weight: 800; color: var(--geloin-text); }
.product-detail p.price, .product-detail .price { font-size: 28px; font-weight: 800; color: var(--geloin-text); }
.product-detail p.price del { font-size: 16px; color: var(--geloin-muted); font-weight: 400; }
.woocommerce-product-rating .star-rating { color: var(--geloin-orange); }
.woocommerce-product-rating .count-rating a { color: var(--geloin-blue); }

.product-detail form.cart .quantity input.qty {
  border: 1px solid var(--geloin-border); border-radius: var(--geloin-radius); background: var(--geloin-bg); text-align: center; height: 46px;
}
.product-detail form.cart .single_add_to_cart_button { font-size: 15px !important; padding: 14px 32px !important; }

.product_meta.product-meta, .product-meta.bottom { border-top: 1px solid var(--geloin-border); margin-top: 20px; padding-top: 14px; font-size: 13px; color: var(--geloin-muted); }
.product_meta a { color: var(--geloin-blue); }

.product-actions { display: flex; gap: 10px; margin-top: 14px; }
.product-actions .wishlist.klbwl-btn, .product-actions .klbcp-btn {
  display: inline-flex; align-items: center; gap: 6px; padding: 10px 16px; border-radius: 999px;
  border: 1px solid var(--geloin-border); color: var(--geloin-text); font-size: 13px; font-weight: 600;
}
.product-actions .wishlist.klbwl-btn:hover { border-color: var(--geloin-orange); color: var(--geloin-orange); }
.product-actions .klbcp-btn:hover { border-color: var(--geloin-blue); color: var(--geloin-blue); }
.product-actions .wishlist.klbwl-product-in-list { background: var(--geloin-orange-pale); border-color: var(--geloin-orange); color: var(--geloin-orange-dark); }

.product-share .social-share ul.social-container li a {
  width: 32px; height: 32px; border-radius: 50%; background: var(--geloin-bg); display: inline-flex;
  align-items: center; justify-content: center; color: var(--geloin-text); transition: all 0.2s;
}
.product-share .social-share ul.social-container li a:hover { background: var(--geloin-blue); color: #fff; }

.klb-module.up-sells .klb-title.module-header .entry-title,
.klb-module.related .klb-title.module-header .entry-title {
  font-size: 22px; font-weight: 800; margin-bottom: 20px;
}

.product-icons .icon-messages li { display: flex; align-items: center; gap: 12px; padding: 10px 0; }
.product-icons .icon-messages .icon { color: var(--geloin-blue); font-size: 20px; }
.product-icons .icon-messages .message { font-size: 13px; color: var(--geloin-muted); }

/* Tabs descrizione/recensioni (stock WooCommerce, se usate) */
.woocommerce-tabs ul.tabs li a { color: var(--geloin-muted); font-weight: 700; }
.woocommerce-tabs ul.tabs li.active a { color: var(--geloin-text); border-bottom: 2px solid var(--geloin-orange); }

/* =========================================================================
   7. CARRELLO
   ========================================================================= */
.cart-wrapper { background: transparent; }
.cart-wrapper table.cart, .cart-wrapper table.shop_table {
  background: var(--geloin-white); border: 1px solid var(--geloin-border); border-radius: var(--geloin-radius);
  overflow: hidden; box-shadow: var(--geloin-shadow);
}
.cart-wrapper table.cart th { background: var(--geloin-bg); font-size: 12px; text-transform: uppercase; letter-spacing: 0.5px; }
.cart-wrapper .product-remove a.remove { color: var(--geloin-red) !important; }
.cart-wrapper .product-remove a.remove:hover { background: var(--geloin-red) !important; color: #fff !important; }
.actions-wrapper .coupon input#coupon_code { border: 1px solid var(--geloin-border); border-radius: 999px; padding: 10px 16px; background: var(--geloin-bg); }
.cart-collaterals .cart_totals { background: var(--geloin-white); border: 1px solid var(--geloin-border); border-radius: var(--geloin-radius); box-shadow: var(--geloin-shadow); padding: 8px; }
.cart-collaterals .cart_totals .order-total .amount { color: var(--geloin-orange); font-weight: 800; }
.cart-collaterals .wc-proceed-to-checkout a.checkout-button { width: 100%; text-align: center; }

.cart-empty-page { text-align: center; padding: 48px 24px; }
.cart-empty-page .empty-icon { color: var(--geloin-blue); margin-bottom: 16px; }
.cart-empty-page .empty-icon svg { width: 64px; height: 64px; fill: currentColor; }

.klb-module.cross-sells .klb-title.module-header .entry-title { font-size: 20px; font-weight: 800; }

/* =========================================================================
   8. MINI-CARRELLO / SIDE-CART
   ========================================================================= */
.cart-widget-side { background: var(--geloin-white); }
.cart-side-header { background: var(--geloin-blue); color: #fff; padding: 18px 20px; display: flex; align-items: center; justify-content: space-between; }
.cart-side-title { font-weight: 800; }
.cart-side-close { cursor: pointer; color: #fff; }

.woocommerce-mini-cart-item .product-wrapper { display: flex; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--geloin-border); }
.woocommerce-mini-cart-item .thumbnail-wrapper { width: 64px; height: 64px; border-radius: var(--geloin-radius); overflow: hidden; background: var(--geloin-blue-pale); flex-shrink: 0; }
.woocommerce-mini-cart-item .product-title { font-size: 14px; font-weight: 700; }
.woocommerce-mini-cart-item .entry-price .quantity { color: var(--geloin-muted); font-size: 13px; }
.woocommerce-mini-cart-item a.remove.remove_from_cart_button { color: var(--geloin-red) !important; }
.woocommerce-mini-cart__total.total { border-top: 1px solid var(--geloin-border); font-weight: 800; padding-top: 14px; }
.woocommerce-mini-cart__buttons.buttons a.button { display: block; text-align: center; margin-bottom: 8px; }
.cart-empty .empty-icon { color: var(--geloin-blue); }
.cart-empty .empty-text { color: var(--geloin-muted); }

/* =========================================================================
   9. CHECKOUT
   ========================================================================= */
.order-review-wrapper #order_review_heading { font-size: 18px; font-weight: 800; margin-bottom: 16px; }
#order_review.woocommerce-checkout-review-order,
.woocommerce-checkout .col-1, .woocommerce-checkout .col-2 {
  background: var(--geloin-white); border: 1px solid var(--geloin-border); border-radius: var(--geloin-radius);
  box-shadow: var(--geloin-shadow); padding: 24px;
}
.woocommerce-checkout .form-row label { font-size: 13px; font-weight: 700; color: var(--geloin-text); }
.woocommerce-checkout input.input-text, .woocommerce-checkout select, .woocommerce-checkout textarea {
  border: 1px solid var(--geloin-border) !important; border-radius: var(--geloin-radius) !important;
  padding: 11px 14px !important; background: var(--geloin-bg) !important;
}
.woocommerce-checkout input.input-text:focus, .woocommerce-checkout select:focus, .woocommerce-checkout textarea:focus {
  border-color: var(--geloin-blue) !important; box-shadow: 0 0 0 3px rgba(46,163,242,0.12) !important; background: #fff !important; outline: none;
}
.woocommerce-checkout table.shop_table th { background: var(--geloin-bg); }
.woocommerce-checkout #payment { background: var(--geloin-bg) !important; border-radius: var(--geloin-radius); }
.woocommerce-checkout #payment ul.payment_methods li { border-bottom-color: var(--geloin-border) !important; }
.woocommerce-checkout #payment div.payment_box { background: var(--geloin-blue-pale) !important; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--geloin-blue-pale) !important; }
.woocommerce-checkout #place_order { width: 100%; font-size: 16px !important; padding: 16px !important; }

/* =========================================================================
   10. IL MIO ACCOUNT
   ========================================================================= */
.my-account-wrapper { background: transparent; }
.my-account-navigation .account-toggle-menu { color: var(--geloin-text); font-weight: 700; }
.woocommerce-MyAccount-navigation ul { border: none; }
.woocommerce-MyAccount-navigation ul li {
  border: 1px solid var(--geloin-border); border-radius: var(--geloin-radius); margin-bottom: 8px; background: var(--geloin-white);
}
.woocommerce-MyAccount-navigation ul li a { padding: 12px 16px; display: block; color: var(--geloin-text); font-weight: 600; font-size: 14px; }
.woocommerce-MyAccount-navigation ul li.is-active a {
  background: var(--geloin-blue-pale); color: var(--geloin-blue-dark); border-radius: var(--geloin-radius); font-weight: 700;
}
.woocommerce-MyAccount-content table.shop_table, .account-orders-table { border-radius: var(--geloin-radius); overflow: hidden; }
.klb-orders-style1 .order-list .order-item { display: flex; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--geloin-border); }
.klb-orders-style1 .order-item .product-thumbnail { width: 48px; height: 48px; border-radius: var(--geloin-radius); overflow: hidden; background: var(--geloin-blue-pale); }
.klb-orders-style1 .order-item .product-name a { color: var(--geloin-text); font-weight: 600; }
.klb-orders-style1 .order-item .product-quantity { color: var(--geloin-muted); }

.site-login .login-page-tab li a.active { color: var(--geloin-blue); border-bottom: 2px solid var(--geloin-blue); }
.site-login .login-form-container input.input-text, .site-login input[type="password"] {
  border: 1px solid var(--geloin-border); border-radius: var(--geloin-radius); padding: 11px 14px; background: var(--geloin-bg);
}

/* =========================================================================
   11. WISHLIST (klbwl-*)
   ========================================================================= */
.klbwl-list table.shop_table { border-radius: var(--geloin-radius); overflow: hidden; border: 1px solid var(--geloin-border); }
.klbwl-list .klbwl-item--remove a, .klbcp-remove { color: var(--geloin-red); cursor: pointer; }
.klbwl-no-result .empty-icon, .klbcp-no-result .empty-icon { color: var(--geloin-orange); }
.klbwl-popup .klbwl-popup-inner { background: #fff; border-radius: var(--geloin-radius-lg); box-shadow: var(--geloin-shadow-lg); }
.klbwl-popup .klbwl-page { background: var(--geloin-orange) !important; border-color: var(--geloin-orange) !important; }
.klbwl-popup .klbwl-popup-close { background: transparent !important; color: var(--geloin-text) !important; border: 1px solid var(--geloin-border) !important; }

/* =========================================================================
   12. CONFRONTO PRODOTTI (klbcp-*)
   ========================================================================= */
.klbcp-list.compare-page table.shop_table { border-radius: var(--geloin-radius); overflow: hidden; border: 1px solid var(--geloin-border); }
.klbcp-list td.td-label { background: var(--geloin-bg); font-weight: 700; font-size: 13px; }

/* =========================================================================
   13. BREADCRUMB / NOTIFICHE
   ========================================================================= */
.klb-product-nav-wrapper, .woocommerce-breadcrumb { font-size: 13px; color: var(--geloin-muted); padding: 16px 0; }
.woocommerce-breadcrumb a { color: var(--geloin-muted); }
.woocommerce-breadcrumb a:hover { color: var(--geloin-blue); }

.woocommerce-message, .woocommerce-info {
  background: var(--geloin-blue-pale) !important; border-top-color: var(--geloin-blue) !important;
  color: var(--geloin-text) !important; border-radius: var(--geloin-radius);
}
.woocommerce-error { background: #FEF2F2 !important; border-top-color: var(--geloin-red) !important; color: var(--geloin-text) !important; border-radius: var(--geloin-radius); }
.woocommerce-message .button, .woocommerce-info .button { background: var(--geloin-orange) !important; border-color: var(--geloin-orange) !important; }

/* =========================================================================
   14. RESPONSIVE
   ========================================================================= */
@media (max-width: 768px) {
  .product-wrapper.product-type-1 .content-wrapper { padding: 12px 14px 14px; }
  .order-review-wrapper #order_review, .woocommerce-checkout .col-1, .woocommerce-checkout .col-2 { padding: 16px; }
  .product-buttons { opacity: 1; transform: none; position: static; flex-direction: row; margin-top: 8px; }
}


/* Griglia prodotti Negozio/Categoria: da 3 a 4 colonne su desktop (>=1200px) */
@media screen and (min-width: 75rem) {
  .products.column-3 .product {
    flex-basis: 25%;
    flex: 0 0 25%;
    max-width: 25%;
  }
}


/* Banner Negozio: promo GELO5 + CTA conversione */
.geloin-shop-banner__promo {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.3);
  border-radius: var(--geloin-radius, 10px);
  padding: 12px 18px;
  margin-bottom: 1.2rem;
}
.geloin-shop-banner__promo-text {
  color: #fff;
  font-size: 14px;
  font-weight: 600;
}
.geloin-shop-banner__promo-text strong {
  background: rgba(255,255,255,0.25);
  padding: 2px 8px;
  border-radius: 4px;
  letter-spacing: 0.5px;
}
.geloin-shop-banner__cta {
  display: inline-block;
  background: var(--geloin-orange, #F7941D);
  color: #fff !important;
  font-weight: 800;
  font-size: 14px;
  padding: 10px 20px;
  border-radius: 999px;
  text-decoration: none !important;
  white-space: nowrap;
  transition: all 0.2s ease;
  margin-left: auto;
}
.geloin-shop-banner__cta:hover {
  background: var(--geloin-orange-dark, #d97c0e);
  transform: translateY(-2px);
}
@media (max-width: 640px) {
  .geloin-shop-banner__promo { flex-direction: column; align-items: flex-start; }
  .geloin-shop-banner__cta { margin-left: 0; }
}

/* Card prodotto Negozio/Categoria: colori piu' in linea col brand */
.products .product .product-wrapper {
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.products .product:hover .product-wrapper {
  border-color: var(--geloin-orange, #F7941D) !important;
  box-shadow: var(--geloin-shadow-lg, 0 8px 32px rgba(15,23,42,0.12));
}
.products .product .price .amount {
  color: var(--geloin-orange, #F7941D) !important;
}
.products .product .price del .amount {
  color: var(--geloin-muted, #6B7280) !important;
}

/* Barra filtri Negozio: leggermente piu' grande */
body.woocommerce .site-sidebar .widget .widget-title {
  font-size: 1.0625rem;
  margin-bottom: 1.4rem;
}
body.woocommerce .site-sidebar .widget .widget-body,
body.woocommerce .site-sidebar .widget .widget-body ul {
  font-size: 0.9375rem;
}


/* Scheda prodotto singolo: gerarchia titolo / sottotitolo / descrizione */
.product-header .product_title.entry-title {
  margin-bottom: 10px;
  line-height: 1.25;
}
.product-header .product-meta.top {
  color: var(--geloin-muted, #6B7280);
  font-size: 0.8125rem;
  letter-spacing: 0.2px;
}
.product-header .product-meta.top .woocommerce-product-attributes-item__label {
  font-weight: 600;
  color: var(--geloin-text, #374151);
}
.product-detail .column > .price {
  margin-top: 4px;
}
.product-detail .column > .woocommerce-product-details__short-description {
  margin-top: 8px;
  padding-top: 18px;
  border-top: 1px solid var(--geloin-border, #E5E7EB);
  line-height: 1.65;
  color: #4B5563;
  font-size: 0.9375rem;
}
.product-detail .column > .woocommerce-product-details__short-description p {
  margin: 0;
}


/* Scheda prodotto singola: colori del brand su prezzo e badge disponibilita' */
.product-detail .column > .price .amount,
.product-detail .column > .price .woocommerce-Price-amount {
  color: var(--geloin-orange, #F7941D) !important;
}
.product-detail .column .stock.in-stock,
.product-detail .column .product-available.in-stock {
  color: var(--geloin-green, #16A34A) !important;
}
.woocommerce-tabs .tabs li.active,
.woocommerce-tabs .tabs li a[aria-selected="true"] {
  border-bottom-color: var(--geloin-orange, #F7941D) !important;
}


/* Scheda prodotto singola: la colonna immagine non deve stirarsi per pareggiare l'altezza
   della colonna dettagli (molto piu' alta) - lasciava un grande vuoto sotto la foto */
.single-product .product-content .row {
  align-items: flex-start;
}
.single-product .product-images {
  position: sticky;
  top: 100px;
}
@media (max-width: 991px) {
  .single-product .product-images {
    position: static;
  }
}


/* Scheda prodotto singola: la foto caricata e' panoramica (16:9) e risultava piccola
   e sproporzionata rispetto alla colonna dei dettagli - forziamo un riquadro piu'
   quadrato con la foto centrata, senza deformarla */
.single-product .woocommerce-product-gallery {
  aspect-ratio: 1 / 1;
  display: flex !important;
  align-items: center;
  justify-content: center;
  background: var(--geloin-white, #fff);
  border: 1px solid var(--geloin-border, #E5E7EB);
  border-radius: var(--geloin-radius-lg, 14px);
  overflow: hidden;
}
.single-product .woocommerce-product-gallery__wrapper {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.single-product .woocommerce-product-gallery__image {
  width: 100%;
  height: 100%;
  display: flex !important;
  align-items: center;
  justify-content: center;
}
.single-product .woocommerce-product-gallery__image img {
  width: auto;
  height: auto;
  max-width: 85%;
  max-height: 85%;
  object-fit: contain;
}

/* Box descrizione categoria prodotti */
.woocommerce-products-header .term-description {
  background: var(--geloin-blue-pale, #EFF8FF);
  border: 1px solid var(--geloin-border, #E5E7EB);
  border-left: 4px solid var(--geloin-blue, #2EA3F2);
  border-radius: var(--geloin-radius, 10px);
  padding: 16px 20px;
  margin: 0 0 24px;
}
.woocommerce-products-header .term-description p {
  margin: 0;
  color: var(--geloin-muted, #6B7280);
  font-size: 0.9375rem;
  line-height: 1.65;
}
