/* ==========================================================================
   TENDENZA GRAFICA - THEME STYLING & BRAND IDENTITY (KADENCE)
   Brand Colors:
     - Primary Accent: #FA6932 (Coral Orange)
     - Primary Hover:  #E0531D (Deep Warm Terracotta)
     - Typography:     #111111 (Deep Jet Black)
     - Dark Accent:    #1E1E1E
     - Neutral Soft:   #F8F9FA
     - Brand Soft:     #FFF4EE
   ========================================================================== */

/* 1. Global Kadence Palette Override */
:root {
  --global-palette1: #FA6932 !important;
  --global-palette2: #E0531D !important;
  --global-palette3: #111111 !important;
  --global-palette4: #1E1E1E !important;
  --global-palette5: #4A5568 !important;
  --global-palette6: #E2E8F0 !important;
  --global-palette7: #F8F9FA !important;
  --global-palette8: #FFFFFF !important;
  --global-palette9: #FFFFFF !important;
  --global-palette-highlight: #FA6932 !important;
  --global-palette-highlight-alt: #E0531D !important;
  
  --tg-coral: #FA6932;
  --tg-coral-hover: #E0531D;
  --tg-coral-light: #FFF4EE;
  --tg-black: #111111;
  --tg-charcoal: #1E1E1E;
  --tg-border: #EAEAEA;
}

/* 2. Typography & Page Titles */
h1, h2, h3, h4, h5, h6,
.entry-title, .product_title, .woocommerce-products-header__title {
  color: var(--tg-black) !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
}

.woocommerce-products-header__title {
  font-size: 2.2rem !important;
  margin-bottom: 8px !important;
  position: relative;
  display: inline-block;
}

.woocommerce-products-header__title::after {
  content: "";
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 42px;
  height: 3px;
  background: var(--tg-coral);
  border-radius: 2px;
}

/* 3. Navigation & Header */
.site-header {
  border-bottom: 1px solid var(--tg-border) !important;
  background: #ffffff !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.02) !important;
}

.primary-menu-container .menu-item a {
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  color: var(--tg-charcoal) !important;
  transition: color 0.2s ease !important;
}

.primary-menu-container .menu-item a:hover,
.primary-menu-container .menu-item.current-menu-item > a {
  color: var(--tg-coral) !important;
}

/* Header Cart Count Badge */
.header-cart-wrap .header-cart-button .cart-count,
.kadence-cart-count, .cart-contents-count {
  background: var(--tg-coral) !important;
  color: #ffffff !important;
  font-weight: 700 !important;
}

/* 4. WooCommerce Product Cards Enhancement */
ul.products {
  gap: 28px !important;
}

ul.products li.product {
  background: #ffffff !important;
  border: 1px solid var(--tg-border) !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  padding: 0 !important;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.25s ease !important;
  display: flex !important;
  flex-direction: column !important;
}

ul.products li.product:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 16px 36px rgba(17, 17, 17, 0.08), 0 4px 16px rgba(250, 105, 50, 0.08) !important;
  border-color: rgba(250, 105, 50, 0.35) !important;
}

ul.products li.product img {
  border-top-left-radius: 15px !important;
  border-top-right-radius: 15px !important;
  transition: transform 0.4s ease !important;
  display: block !important;
  width: 100% !important;
  object-fit: cover !important;
}

ul.products li.product:hover img {
  transform: scale(1.03);
}

ul.products li.product .woocommerce-loop-product__title {
  padding: 16px 18px 6px !important;
  font-size: 1.12rem !important;
  font-weight: 600 !important;
  color: var(--tg-black) !important;
  line-height: 1.35 !important;
  transition: color 0.2s ease !important;
}

ul.products li.product:hover .woocommerce-loop-product__title {
  color: var(--tg-coral) !important;
}

ul.products li.product .price {
  padding: 0 18px 18px !important;
  color: var(--tg-coral) !important;
  font-weight: 700 !important;
  font-size: 1.18rem !important;
  margin-bottom: 0 !important;
}

ul.products li.product .price del {
  color: #A0AEC0 !important;
  font-weight: 400 !important;
  font-size: 0.95rem !important;
  margin-right: 6px !important;
}

ul.products li.product .price ins {
  text-decoration: none !important;
}

/* 5. Modern Buttons (Solid & Gradients with smooth micro-interactions) */
.button, .button.alt,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.single_add_to_cart_button {
  background: linear-gradient(135deg, #FA6932 0%, #FF7A47 100%) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 12px 26px !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  box-shadow: 0 4px 14px rgba(250, 105, 50, 0.28) !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.button:hover, .button.alt:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.single_add_to_cart_button:hover {
  background: linear-gradient(135deg, #E0531D 0%, #FA6932 100%) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 22px rgba(250, 105, 50, 0.38) !important;
  color: #ffffff !important;
}

/* 6. CookieAdmin Banner Harmonization */
:root {
  --cookieadmin-primary: #FA6932 !important;
  --cookieadmin-primary-hover: #E0531D !important;
}

#cookieadmin-accept-all, 
.cookieadmin-btn-primary,
.cookieadmin_btn-primary,
button.cookieadmin-btn-primary,
.cookieadmin-buttons .cookieadmin-btn-primary {
  background: linear-gradient(135deg, #FA6932 0%, #FF7A47 100%) !important;
  background-color: #FA6932 !important;
  border-color: #FA6932 !important;
  color: #ffffff !important;
  border-radius: 8px !important;
  font-weight: 600 !important;
  box-shadow: 0 4px 12px rgba(250, 105, 50, 0.25) !important;
  transition: all 0.2s ease !important;
}

#cookieadmin-accept-all:hover, 
.cookieadmin-btn-primary:hover,
.cookieadmin_btn-primary:hover,
button.cookieadmin-btn-primary:hover {
  background: linear-gradient(135deg, #E0531D 0%, #FA6932 100%) !important;
  background-color: #E0531D !important;
  border-color: #E0531D !important;
  box-shadow: 0 6px 16px rgba(250, 105, 50, 0.35) !important;
}

/* 7. Badges, Sale Labels, Sconti */
.onsale, .woocommerce span.onsale {
  background: var(--tg-coral) !important;
  color: #ffffff !important;
  border-radius: 50px !important;
  font-weight: 700 !important;
  font-size: 0.76rem !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  padding: 5px 14px !important;
  box-shadow: 0 4px 12px rgba(250, 105, 50, 0.35) !important;
  min-height: auto !important;
  line-height: 1.4 !important;
  top: 12px !important;
  right: 12px !important;
  left: auto !important;
}

/* 8. MODERN SELECT & DROPDOWN MENUS (Fix menu a tendina) */
select,
.woocommerce-ordering select,
table.variations select,
.variations select,
.woocommerce select,
.country_select,
.state_select {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  background-color: #ffffff !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23FA6932' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: calc(100% - 16px) center !important;
  background-size: 16px 16px !important;
  border: 1.5px solid #E2E8F0 !important;
  border-radius: 12px !important;
  padding: 12px 46px 12px 18px !important;
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  color: var(--tg-charcoal) !important;
  line-height: 1.4 !important;
  cursor: pointer !important;
  min-height: 48px !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.02) !important;
}

select:hover,
.woocommerce-ordering select:hover,
table.variations select:hover,
.variations select:hover {
  border-color: #FA6932 !important;
  background-color: #FFFDFB !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 14px rgba(250, 105, 50, 0.1) !important;
}

select:focus,
.woocommerce-ordering select:focus,
table.variations select:focus,
.variations select:focus {
  border-color: #FA6932 !important;
  outline: none !important;
  box-shadow: 0 0 0 4px rgba(250, 105, 50, 0.16), 0 4px 14px rgba(250, 105, 50, 0.1) !important;
  background-color: #ffffff !important;
}

/* Variations Table Modernization */
table.variations {
  border: none !important;
  margin-bottom: 24px !important;
  width: 100% !important;
}

table.variations tr {
  border: none !important;
  display: flex !important;
  flex-direction: column !important;
  margin-bottom: 16px !important;
}

table.variations td {
  border: none !important;
  padding: 0 !important;
  display: block !important;
}

table.variations td.label {
  margin-bottom: 8px !important;
}

table.variations td.label label {
  font-size: 0.96rem !important;
  font-weight: 700 !important;
  color: var(--tg-black) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
}

table.variations td.value {
  position: relative !important;
  width: 100% !important;
  max-width: 380px !important;
}

table.variations td.value select {
  width: 100% !important;
}

a.reset_variations {
  display: inline-flex !important;
  align-items: center !important;
  margin-top: 10px !important;
  font-size: 0.84rem !important;
  font-weight: 600 !important;
  color: #718096 !important;
  text-decoration: none !important;
  padding: 4px 12px !important;
  background: #F1F5F9 !important;
  border-radius: 20px !important;
  transition: all 0.2s ease !important;
}

a.reset_variations:hover {
  background: #FFF4EE !important;
  color: #FA6932 !important;
}

/* Quantity Input Modernization */
.quantity {
  margin-right: 14px !important;
  display: inline-flex !important;
}

.quantity input.qty {
  border: 1.5px solid #E2E8F0 !important;
  border-radius: 12px !important;
  min-height: 48px !important;
  width: 70px !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: var(--tg-black) !important;
  text-align: center !important;
  transition: all 0.2s ease !important;
}

.quantity input.qty:focus {
  border-color: #FA6932 !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(250, 105, 50, 0.15) !important;
}

/* Header Dropdown Menu (Sub-menu Navigation - 100% Clickable & No Hover Gap) */
.primary-menu-container .menu-item-has-children,
.header-navigation .menu-item-has-children {
  position: relative !important;
}

/* Invisible hover bridge to eliminate gap between parent and submenu */
.primary-menu-container .menu-item-has-children::after,
.header-navigation .menu-item-has-children::after {
  content: "" !important;
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  width: 100% !important;
  height: 16px !important;
  background: transparent !important;
  pointer-events: auto !important;
  z-index: 99998 !important;
}

.primary-menu-container ul.sub-menu,
.header-navigation ul.sub-menu,
.nav--toggle-sub ul.sub-menu,
.header-menu-container ul.sub-menu {
  background: #ffffff !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  border-radius: 14px !important;
  box-shadow: 0 16px 36px rgba(17, 17, 17, 0.12), 0 2px 8px rgba(0, 0, 0, 0.04) !important;
  padding: 8px !important;
  min-width: 220px !important;
  margin: 0 !important;
  top: 100% !important;
  z-index: 99999 !important;
  pointer-events: auto !important;
}

.primary-menu-container ul.sub-menu li,
.header-navigation ul.sub-menu li {
  margin: 0 !important;
  list-style: none !important;
  pointer-events: auto !important;
}

.primary-menu-container ul.sub-menu li a,
.header-navigation ul.sub-menu li a {
  padding: 10px 16px !important;
  border-radius: 8px !important;
  font-size: 0.92rem !important;
  font-weight: 500 !important;
  color: #1E1E1E !important;
  display: block !important;
  transition: all 0.15s ease !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  position: relative !important;
  z-index: 100000 !important;
}

.primary-menu-container ul.sub-menu li a:hover,
.header-navigation ul.sub-menu li a:hover {
  background-color: #FFF4EE !important;
  color: #FA6932 !important;
  font-weight: 600 !important;
}

/* 9. Grid & List Layout Toggle Buttons */
.kadence-grid-list-toggle button.active,
.kadence-grid-list-toggle button:hover {
  color: var(--tg-coral) !important;
}

/* 10. Modern Footer Styling */
.site-footer {
  border-top: 1px solid var(--tg-border) !important;
  background: #FDFDFD !important;
  padding: 32px 0 24px !important;
}

.site-footer .site-info {
  color: #718096 !important;
  font-size: 0.9rem !important;
}



/* ==========================================================================
   11. LUXURY E-COMMERCE FOOTER & LEGAL SECTIONS
   ========================================================================== */
.site-footer {
  display: none !important; /* Hide minimal empty Kadence footer in favor of rich e-commerce footer */
}

#tg-site-footer {
  background: #111111 !important;
  color: #A0AEC0 !important;
  font-family: inherit !important;
  border-top: 3px solid #FA6932 !important;
  padding: 60px 0 0 !important;
  margin-top: 60px !important;
}

.tg-footer-container {
  max-width: 1240px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
}

.tg-footer-grid {
  display: grid !important;
  grid-template-columns: 1.4fr 1fr 1.2fr 1.3fr !important;
  gap: 40px !important;
  padding-bottom: 50px !important;
}

@media (max-width: 900px) {
  .tg-footer-grid {
    grid-template-columns: 1fr 1fr !important;
  }
}

@media (max-width: 600px) {
  .tg-footer-grid {
    grid-template-columns: 1fr !important;
    gap: 30px !important;
  }
}

.tg-footer-col h4.tg-footer-heading {
  color: #FFFFFF !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  margin-bottom: 20px !important;
  position: relative !important;
  letter-spacing: -0.01em !important;
  padding-bottom: 8px !important;
}

.tg-footer-col h4.tg-footer-heading::after {
  content: "" !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 28px !important;
  height: 2px !important;
  background: #FA6932 !important;
  border-radius: 2px !important;
}

.tg-footer-brand-title {
  color: #FFFFFF !important;
  font-size: 1.35rem !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
  display: block !important;
  margin-bottom: 12px !important;
}

.tg-footer-desc {
  color: #8C98A9 !important;
  font-size: 0.9rem !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

.tg-footer-links {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.tg-footer-links li {
  margin-bottom: 10px !important;
  list-style: none !important;
}

.tg-footer-links li a {
  color: #CBD5E0 !important;
  font-size: 0.92rem !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  display: inline-block !important;
}

.tg-footer-links li a:hover {
  color: #FA6932 !important;
  transform: translateX(4px) !important;
}

.tg-company-details p {
  margin: 0 0 8px 0 !important;
  font-size: 0.88rem !important;
  color: #CBD5E0 !important;
  line-height: 1.5 !important;
}

.tg-company-details p strong {
  color: #FFFFFF !important;
}

.tg-company-details a {
  color: #FA6932 !important;
  text-decoration: none !important;
}

.tg-company-details a:hover {
  text-decoration: underline !important;
}

.tg-regime-note {
  font-size: 0.78rem !important;
  color: #718096 !important;
  margin-top: 10px !important;
  font-style: italic !important;
}

.tg-footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  padding: 24px 0 !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  font-size: 0.85rem !important;
  color: #718096 !important;
  flex-wrap: wrap !important;
  gap: 14px !important;
}

.tg-footer-copy strong {
  color: #E2E8F0 !important;
}

.tg-badge-ssl {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  padding: 6px 14px !important;
  border-radius: 20px !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  color: #E2E8F0 !important;
  font-size: 0.8rem !important;
}

/* Barra Dati Societari a 8px sotto a tutto in footer (solo P.IVA con VIES, no CF) */
.tg-footer-legal-bar {
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  padding: 12px 10px 16px !important;
  font-size: 8px !important;
  line-height: 1.6 !important;
  color: #718096 !important;
  text-align: center !important;
  letter-spacing: 0.03em !important;
  text-transform: uppercase !important;
}
