/* ============================================
   NXS THEME - Custom Styles
   ============================================ */

/* ============================================
   MAIN HEADER - Single Row Layout (Sticky)
   ============================================ */
.header-main {
  background: #fff;
  padding: 12px 0;
  border-bottom: 1px solid #e0e0e0;
  position: relative;
  z-index: 999;
  transition: all 0.3s ease;
}

.header-main.sticky {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  padding: 8px 0;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  z-index: 1001;
}

/* Spacer to prevent content jump when header becomes fixed */
.header-spacer {
  display: none;
}

.header-spacer.active {
  display: block;
}

.header-main .container-fluid {
  max-width: 100%;
  padding: 0 20px;
}

/* Header Row - Flexbox layout */
.header-row {
  display: flex;
  align-items: center;
  gap: 20px;
}

/* Mobile Menu Toggle */
.header-mobile-toggle {
  display: none;
}

/* 1. Logo */
.header-logo {
  flex-shrink: 0;
}

.logo-wrapper {
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
}

.logo-wrapper img,
.header-logo img {
  max-height: 50px;
  width: auto;
  transition: max-height 0.3s ease;
}

.header-main.sticky .logo-wrapper img,
.header-main.sticky .header-logo img {
  max-height: 40px;
}

/* Header Navigation Links */
.header-nav-links {
  display: flex;
  align-items: center;
  margin-left: 30px;
}

.header-nav-link {
  color: #333;
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
  display: inline-block;
  margin-right: 20px;
  position: relative;
  padding-bottom: 3px;
  transition: color 0.3s ease;
}

/* Underline animato all'hover */
.header-nav-link::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 2px;
  background: #2e7d32;
  transition: width 0.3s ease;
}

.header-nav-link:hover {
  color: #2e7d32 !important;
  text-decoration: none;
}

.header-nav-link:hover::after {
  width: 100%;
}

/* Link Offerte in rosso */
.header-nav-link--offers {
  color: #e30613 !important;
  font-weight: 600;
}

.header-nav-link--offers::after {
  background: #e30613;
}

.header-nav-link--offers:hover {
  color: #b8050f !important;
}

/* 2. Search */
.header-search {
  flex: 1;
  max-width: 400px;
}

.header-search #_desktop_search {
  width: 100%;
}

/* 3 & 4. User Info */
.header-user {
  flex-shrink: 0;
  margin-left: auto;
}

.header-user .user-info {
  display: flex;
  align-items: center;
  gap: 15px;
}

/* User Account Link (when logged in) */
.user-info .user-account-link {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #333;
  text-decoration: none;
  padding: 8px 12px;
  border-radius: 6px;
  transition: all 0.2s ease;
}

.user-info .user-account-link:hover {
  background: #f5f5f5;
  color: #2e7d32;
}

.user-info .user-account-link i {
  font-size: 20px;
  color: #2e7d32;
}

.user-info .user-name {
  font-weight: 500;
  font-size: 14px;
}

/* Logout Button */
.user-info .user-logout-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #666;
  text-decoration: none;
  padding: 8px 14px;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 13px;
  transition: all 0.2s ease;
}

.user-info .user-logout-btn:hover {
  background: #f5f5f5;
  border-color: #ccc;
  color: #333;
}

.user-info .user-logout-btn i {
  font-size: 18px;
}

/* Login Button (when not logged in) */
.user-info .user-login-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #fff !important;
  background: #2e7d32;
  text-decoration: none;
  padding: 10px 18px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  transition: all 0.2s ease;
}

.user-info .user-login-btn:hover {
  background: #1b5e20;
  color: #fff !important;
}

.user-info .user-login-btn i,
.user-info .user-login-btn span {
  color: #fff !important;
}

/* 5. Cart */
.header-cart {
  flex-shrink: 0;
}

.header-cart .blockcart .header {
  margin: 0;
}

.header-cart .cart-link {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #fff !important;
  background: #2e7d32;
  text-decoration: none;
  padding: 10px 18px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  transition: all 0.2s ease;
  position: relative;
}

.header-cart .cart-link:hover {
  background: #1b5e20;
  color: #fff !important;
}

.header-cart .cart-link i,
.header-cart .cart-link .cart-label {
  color: #fff !important;
}

.header-cart .cart-link i {
  font-size: 20px;
}

.header-cart .cart-label {
  font-weight: 500;
}

/* Badge stile Bootstrap */
.header-cart .cart-products-count {
  position: absolute;
  top: -8px;
  right: -8px;
  background: #dc3545;
  color: #fff;
  font-size: 11px;
  font-weight: bold;
  padding: 4px 7px;
  border-radius: 50%;
  min-width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

/* ============================================
   HEADER RESPONSIVE
   ============================================ */
@media (max-width: 991px) {
  .header-row {
    gap: 15px;
  }

  .header-mobile-toggle {
    display: block;
  }

  .header-search {
    display: none;
  }

  .logo-wrapper img,
  .header-logo img {
    max-height: 40px;
  }

  .header-main.sticky .logo-wrapper img,
  .header-main.sticky .header-logo img {
    max-height: 35px;
  }

  .header-user {
    display: none;
  }

  .header-cart .cart-label {
    display: none;
  }

  .header-cart .cart-link {
    padding: 10px 14px;
  }
}

@media (max-width: 767px) {
  .header-main .container-fluid {
    padding: 0 15px;
  }

  .header-row {
    gap: 10px;
  }

  .logo-wrapper img,
  .header-logo img {
    max-height: 35px;
  }

  .header-main.sticky .logo-wrapper img,
  .header-main.sticky .header-logo img {
    max-height: 30px;
  }

  .header-cart .cart-link {
    padding: 8px 12px;
  }

  .header-cart .cart-link i {
    font-size: 18px;
  }
}

/* Category toggle button style */
.category-sidebar-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  background: #2e7d32;
  color: #fff;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.category-sidebar-toggle:hover {
  background: #1b5e20;
}

.category-sidebar-toggle i {
  font-size: 24px;
}

/* ============================================
   UTILITY CLASSES
   ============================================ */
.align-items-center {
  align-items: center;
}

/* ============================================
   OLD CAROUSEL (disabled - now using homepage hero)
   ============================================ */
/*
   The old carousel has been replaced with a new
   Homepage Hero section with category sidebar.
   See HOMEPAGE HERO SECTION styles below.
*/

/* ============================================
   SEARCH OVERLAY EFFECT
   ============================================ */
.search-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.85);
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.search-overlay.active {
  opacity: 1;
  visibility: visible;
}

.search-overlay-content {
  width: 100%;
  max-width: 700px;
  padding: 0 20px;
  text-align: center;
}

.search-overlay-box {
  display: flex;
  align-items: center;
  background: #fff;
  border-radius: 50px;
  padding: 15px 25px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
  animation: searchSlideIn 0.3s ease;
}

@keyframes searchSlideIn {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.search-overlay-box i.material-icons {
  font-size: 28px;
  color: #2E7D32;
  margin-right: 15px;
}

.search-overlay-input {
  flex: 1;
  border: none;
  font-size: 20px;
  padding: 10px 0;
  outline: none;
  background: transparent;
  outline: none;
  box-shadow: none;
}

.search-overlay-input::placeholder {
  color: #999;
}

.search-overlay-close {
  background: none;
  border: none;
  cursor: pointer;
  padding: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.2s ease;
}

.search-overlay-close:hover {
  transform: scale(1.1);
}

.search-overlay-close i {
  font-size: 24px;
  color: #666;
}

.search-overlay-hint {
  color: rgba(255, 255, 255, 0.7);
  font-size: 14px;
  margin-top: 20px;
}

/* Mobile overlay */
@media (max-width: 767px) {
  .search-overlay-box {
    padding: 12px 20px;
  }

  .search-overlay-input {
    font-size: 16px;
  }

  .search-overlay-box i.material-icons {
    font-size: 24px;
  }
}

/* Search widget styles (header) */
#search_widget form {
  display: flex;
  align-items: center;
  border: 2px solid #2E7D32;
  border-radius: 25px;
  background: #fff;
  overflow: hidden;
  cursor: pointer;
}

#search_widget form input[type="text"] {
  flex: 1;
  border: none;
  padding: 12px 15px 12px 30px;
  font-size: 14px;
  outline: none;
  background: transparent;
  cursor: pointer;
}

#search_widget form i.search {
  color: #2E7D32;
  padding: 2px 0 0 6px;
}

/* ============================================
   AGE VERIFICATION MODAL (18+)
   ============================================ */
.age-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.85);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.age-modal-overlay.hidden {
  display: none;
}

.age-modal {
  background: #fff;
  border-radius: 12px;
  max-width: 500px;
  width: 100%;
  text-align: center;
  padding: 40px 30px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
  animation: modalSlideIn 0.4s ease;
}

@keyframes modalSlideIn {
  from {
    opacity: 0;
    transform: translateY(-30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.age-modal-logo {
  margin-bottom: 25px;
}

.age-modal-logo img {
  max-height: 60px;
  width: auto;
}

.age-modal-logo .logo-text {
  font-size: 36px;
  font-weight: 700;
  color: #333;
  letter-spacing: 2px;
}

.age-modal h2 {
  font-size: 20px;
  color: #333;
  margin-bottom: 10px;
  font-weight: 600;
}

.age-modal h2 .highlight {
  color: #2E7D32;
}

.age-modal p {
  color: #666;
  font-size: 14px;
  margin-bottom: 30px;
}

.age-modal-buttons {
  display: flex;
  gap: 15px;
  justify-content: center;
  flex-wrap: wrap;
}

.age-modal-btn {
  padding: 14px 40px;
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  border: none;
  border-radius: 30px;
  cursor: pointer;
  transition: all 0.3s ease;
  min-width: 160px;
}

.age-modal-btn.btn-deny {
  background: #222;
  color: #fff;
}

.age-modal-btn.btn-deny:hover {
  background: #000;
}

.age-modal-btn.btn-confirm {
  background: #2E7D32;
  color: #fff;
}

.age-modal-btn.btn-confirm:hover {
  background: #1B5E20;
}

/* Mobile modal */
@media (max-width: 480px) {
  .age-modal {
    padding: 30px 20px;
  }

  .age-modal h2 {
    font-size: 18px;
  }

  .age-modal-buttons {
    flex-direction: column;
  }

  .age-modal-btn {
    width: 100%;
    min-width: auto;
  }
}

/* ============================================
   FOOTER STYLES
   ============================================ */
.footer-bottom {
  border-top: 1px solid #e0e0e0;
  padding-top: 25px;
  margin-top: 20px;
}

.footer-logo {
  margin-bottom: 15px;
}

.footer-logo img {
  max-height: 50px;
  width: auto;
}

.copyright-text {
  color: #666;
  font-size: 13px;
  margin: 0;
}

/* Payment Methods Section */
.payment-methods-section {
  text-align: center;
  padding: 25px 0;
  margin-top: 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.payment-methods-title {
  font-size: 10px;
  font-weight: 500;
  margin-bottom: 5px;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.payment-methods-logos {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 25px;
  flex-wrap: wrap;
}

.payment-logo {
  height: 40px;
  width: auto;
}

@media (max-width: 576px) {
  .payment-methods-logos {
    gap: 15px;
  }

  .payment-logo {
    height: 30px;
  }
}

/* ============================================
   SCROLL TO TOP BUTTON
   ============================================ */
.scroll-to-top {
  position: fixed;
  bottom: 30px;
  right: 8px;
  width: 50px;
  height: 50px;
  background: #2E7D32;
  color: #fff;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px);
  transition: all 0.3s ease;
  z-index: 999;
  box-shadow: 0 4px 15px rgba(46, 125, 50, 0.3);
}

.scroll-to-top.visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  outline: none;
}

.scroll-to-top:hover {
  background: #1B5E20;
  transform: translateY(-3px);
  box-shadow: 0 6px 20px rgba(46, 125, 50, 0.4);
}

.scroll-to-top i {
  font-size: 24px;
}

/* Smooth scroll behavior */
html {
  scroll-behavior: smooth;
}

@media (max-width: 767px) {
  .scroll-to-top {
    bottom: 20px;
    right: 20px;
    width: 45px;
    height: 45px;
  }

  .scroll-to-top i {
    font-size: 22px;
  }
}

/* ============================================
   FOOTER TOP SECTION (Logo + Features)
   ============================================ */
#footer {
    padding-top: 5rem;
    background: #3e3e3e;
    color: #fff;
    position: relative;
    z-index: 200;
    width: 100vw;
    margin-left: 50%;
    transform: translateX(-50%);
}

/* Wave separator at top of footer */
#footer::before {
    content: '';
    position: absolute;
    top: -80px;
    left: 0;
    width: 100%;
    height: 80px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3Cpath fill='%233e3e3e' d='M0,60 C360,120 720,0 1080,60 C1260,90 1380,90 1440,80 L1440,120 L0,120 Z'/%3E%3C/svg%3E") no-repeat bottom;
    background-size: 100% 100%;
    pointer-events: none;
    z-index: 201;
}

/* Ensure sidebar doesn't block footer wave */
.site-sidebar {
    z-index: 100 !important;
}

.site-layout {
    position: relative;
    z-index: 1;
}

.block-contact, .footer-container li a,
#footer p {
    color: #fff;
}

.footer-container li a:hover {
    color: #2e7d32;
}

.footer-top-section .logo-wrapper img {
  max-height: 80px;
}

.footer-top-section p {
  font-size: 14px;
}

.footer-top-section img {
  filter: brightness(0) invert(1);
}

@media (max-width: 767px) {
  .footer-top-section {
    padding: 20px;
  }

  .footer-top-section .logo-wrapper {
    margin-bottom: 20px;
  }

  .footer-top-section .logo-wrapper img {
    max-height: 60px;
  }
}

.product-flags li.product-flag {
  background: #2e7d32;
  font-size: 10px;
  margin: 5px 0 0 0;
}

.product-flags li.product-flag.discount, .product-flags li.product-flag.discount-amount, .product-flags li.product-flag.discount-percentage {
    background-color: #e30613;
}

/* ============================================
   SOCIAL SIDEBAR
   ============================================ */
.social-sidebar {
  position: fixed;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1000;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.social-sidebar__link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 45px;
  height: 45px;
  background: #2e7d32;
  color: #fff;
  text-decoration: none;
  transition: background 0.3s ease;
  border-radius: 50%;
  box-shadow: -2px 2px 8px rgba(0, 0, 0, 0.15);
}

.social-sidebar__link i {
  font-size: 18px;
}

.social-sidebar__link span {
  display: none;
}

.social-sidebar__link:focus,
.social-sidebar__link:hover {
  color: #fff;
  text-decoration: none;
  outline: none;
}

/* Individual social colors on hover */
.social-sidebar__link--facebook:hover {
  background: #1877f2;
  color: #fff !important;
}

.social-sidebar__link--instagram:hover {
  background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888);
  color: #fff !important;
}

.social-sidebar__link--youtube:hover {
  background: #ff0033;
  color: #fff !important;
}

.social-sidebar__link--whatsapp:hover {
  background: #25d366;
  color: #fff !important;
}

/* Mobile: bottom bar */
@media (max-width: 991px) {
  .social-sidebar {
    position: fixed;
    right: auto;
    left: 0;
    top: auto;
    bottom: 0;
    transform: none;
    flex-direction: row;
    width: 100%;
    gap: 0;
    background: #2e7d32;
    padding: 0;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.15);
  }

  .social-sidebar__link {
    flex: 1;
    width: auto;
    height: 50px;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
  }

  .social-sidebar__link span {
    display: none;
  }

  .social-sidebar__link:hover {
    width: auto;
    background: rgba(0, 0, 0, 0.2);
  }

  .social-sidebar__link i {
    font-size: 20px;
    min-width: auto;
  }

  /* Add bottom padding to body to account for fixed bar */
  body {
    padding-bottom: 50px;
  }
}

/* ============================================
   GLOBAL COLORS - Links & Buttons (green theme)
   ============================================ */

/* Links - Force green on hover */
a {
  color: #2e7d32;
}

a:hover,
a:focus {
  color: #1b5e20 !important;
  text-decoration: none;
}

/* Force green hover on all links */
.site-main a:hover,
.site-sidebar a:hover,
#wrapper a:hover,
#content a:hover,
.footer-container a:hover {
  color: #1b5e20 !important;
}

/* Primary buttons */
.btn-primary,
button.btn-primary,
input[type="submit"].btn-primary {
  background-color: #2e7d32;
  border-color: #2e7d32;
  color: #fff;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary:not(:disabled):not(.disabled):active,
button.btn-primary:hover,
button.btn-primary:focus,
input[type="submit"].btn-primary:hover,
input[type="submit"].btn-primary:focus {
  background-color: #1b5e20;
  border-color: #1b5e20;
  color: #fff;
  box-shadow: none;
}

.btn-primary:focus,
.btn-primary.focus {
  box-shadow: 0 0 0 0.2rem rgba(46, 125, 50, 0.5);
}

/* Secondary/Link buttons */
.btn-secondary,
.btn-link {
  color: #2e7d32;
}

.btn-secondary:hover,
.btn-secondary:focus,
.btn-link:hover,
.btn-link:focus {
  color: #1b5e20;
}

/* Form elements focus */
input:focus,
textarea:focus,
select:focus,
.form-control:focus {
  border-color: #2e7d32;
  box-shadow: 0 0 0 0.2rem rgba(46, 125, 50, 0.25);
}

/* PrestaShop specific overrides */
.ps-shown-by-js .btn-primary,
#content .btn-primary,
.page-content .btn-primary {
  background-color: #2e7d32;
  border-color: #2e7d32;
  color: #fff !important;
}

.ps-shown-by-js .btn-primary:hover,
#content .btn-primary:hover,
.page-content .btn-primary:hover {
  background-color: #1b5e20;
  border-color: #1b5e20;
  color: #fff !important;
}

/* Links in content areas */
#content a,
.page-content a,
#wrapper a,
.card a,
.alert a,
.wishlist-list-item:hover .wishlist-list-item-title {
  color: #2e7d32 !important;
}

#content a:hover,
.page-content a:hover,
#wrapper a:hover,
.card a:hover,
.alert a:hover {
  color: #1b5e20;
}

/* Pagination */
.pagination .page-item.active .page-link {
  background-color: #2e7d32;
  border-color: #2e7d32;
}

.pagination .page-link {
  color: #2e7d32;
}

.pagination .page-link:hover {
  color: #1b5e20;
}

/* Product page */
.product-add-to-cart .btn-primary,
.add-to-cart {
  background-color: #2e7d32;
  border-color: #2e7d32;
}

.product-add-to-cart .btn-primary:hover,
.add-to-cart:hover {
  background-color: #1b5e20;
  border-color: #1b5e20;
}

/* Checkout */
.checkout .btn-primary,
#checkout .btn-primary {
  background-color: #2e7d32;
  border-color: #2e7d32;
}

.checkout .btn-primary:hover,
#checkout .btn-primary:hover {
  background-color: #1b5e20;
  border-color: #1b5e20;
}

/* Cart */
.cart-summary .btn-primary,
.blockcart .btn-primary {
  background-color: #2e7d32;
  border-color: #2e7d32;
}

/* Account pages */
.page-my-account a:hover,
.page-customer-account a:hover {
  color: #1b5e20;
}

/* Breadcrumb links */
.breadcrumb a {
  color: #2e7d32;
}

.breadcrumb a:hover {
  color: #1b5e20;
}

/* Footer links override (keep white but green on hover) */
#footer a {
  color: #fff;
}

#footer a:hover {
  color: #2e7d32;
}

/* ============================================
   REGISTRATION - Account Type Toggle
   ============================================ */
.account-type-toggle {
  margin-bottom: 30px;
  padding: 20px;
  background: #f8f9fa;
  border-radius: 10px;
}

.account-type-label {
  font-weight: 600;
  margin-bottom: 15px;
  color: #333;
  font-size: 16px;
}

.account-type-buttons {
  display: flex;
  gap: 15px;
}

.account-type-btn {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 15px 25px;
  border: 2px solid #ddd;
  border-radius: 10px;
  background: #fff;
  color: #666;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
}

.account-type-btn i {
  font-size: 20px;
}

.account-type-btn:hover {
  border-color: #2e7d32;
  color: #2e7d32;
}

.account-type-btn.active {
  border-color: #2e7d32;
  background: #2e7d32;
  color: #fff;
}

.account-type-btn.active:hover {
  background: #1b5e20;
  border-color: #1b5e20;
  color: #fff;
}

/* Business Fields Section */
.business-fields-section {
  margin-top: 30px;
  padding: 25px;
  background: #f0f7f0;
  border: 1px solid #c8e6c9;
  border-radius: 10px;
}

.business-fields-header {
  margin-bottom: 20px;
  padding-bottom: 15px;
  border-bottom: 1px solid #c8e6c9;
}

.business-fields-header h4 {
  margin: 0;
  color: #2e7d32;
  font-size: 18px;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 10px;
}

.business-fields-header h4::before {
  content: '\f1ad';
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
}

/* Mobile responsive */
@media (max-width: 576px) {
  .account-type-buttons {
    flex-direction: column;
  }

  .account-type-btn {
    padding: 12px 20px;
  }

  .business-fields-section {
    padding: 15px;
  }
}

/* ============================================
   MODERN FORM STYLES
   ============================================ */

/* Required asterisk */
.required-asterisk {
  color: #e30613;
  margin-left: 3px;
  font-weight: bold;
}

/* Form layout - labels above inputs */
.customer-form-modern .form-group {
  margin-bottom: 20px;
}

.customer-form-modern .form-group.row {
  display: block;
  margin-left: 0;
  margin-right: 0;
}

.customer-form-modern .form-control-label {
  display: block;
  width: 100%;
  margin-bottom: 8px;
  font-weight: 600;
  font-size: 14px;
  color: #333;
}

.customer-form-modern .form-control-label.required {
  font-weight: 600;
}

.customer-form-modern .col-md-3,
.customer-form-modern .col-md-6 {
  max-width: 100%;
  flex: 0 0 100%;
  padding-left: 0;
  padding-right: 0;
}

.customer-form-modern .form-field-input {
  width: 100%;
}

.customer-form-modern .form-control {
  width: 100%;
  padding: 12px 15px;
  font-size: 15px;
  border: 1px solid #ddd;
  border-radius: 8px;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.customer-form-modern .form-control:focus {
  border-color: #2e7d32;
  box-shadow: 0 0 0 3px rgba(46, 125, 50, 0.1);
}

/* Remove "Opzionale" text */
.customer-form-modern .form-control-comment {
  display: none;
}

/* Two columns layout for some fields */
.form-row-2cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

@media (max-width: 576px) {
  .form-row-2cols {
    grid-template-columns: 1fr;
    gap: 0;
  }
}

/* Radio buttons inline */
.customer-form-modern .radio-buttons-group {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}

.customer-form-modern .radio-inline {
  margin-right: 0;
}

/* Password field */
.customer-form-modern .input-group {
  display: flex;
}

.customer-form-modern .input-group .form-control {
  border-radius: 8px 0 0 8px;
}

.customer-form-modern .input-group .btn {
  border-radius: 0 8px 8px 0;
  background: #f5f5f5;
  border: 1px solid #ddd;
  border-left: none;
  padding: 12px 15px;
  font-size: 14px;
}

.customer-form-modern .input-group .btn:hover {
  background: #e0e0e0;
}

/* Checkboxes */
.customer-form-modern .custom-checkbox {
  margin-bottom: 15px;
}

.customer-form-modern .custom-checkbox label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  cursor: pointer;
  font-size: 14px;
  line-height: 1.5;
}

/* Submit button */
.customer-form-modern .form-footer {
  margin-top: 30px;
  padding-top: 20px;
  border-top: 1px solid #eee;
}

.customer-form-modern .form-control-submit {
  width: 100%;
  padding: 15px 30px;
  font-size: 16px;
  font-weight: 600;
  border-radius: 8px;
}

/* Business fields section improvements */
.business-fields-section {
  margin-top: 25px;
  margin-bottom: 25px;
}

.business-fields-section .form-group {
  margin-bottom: 20px;
}

.business-fields-section .form-control-label {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
  font-size: 14px;
  color: #333;
}

.business-fields-section .form-control {
  width: 100%;
  padding: 12px 15px;
  font-size: 15px;
  border: 1px solid #ddd;
  border-radius: 8px;
}

.business-fields-section .form-control:focus {
  border-color: #2e7d32;
  box-shadow: 0 0 0 3px rgba(46, 125, 50, 0.1);
}

/* ============================================
   REGISTRATION PAGE - WIDER LAYOUT
   ============================================ */

/* Remove card padding and make form wider */
.page-registration #content,
.page-registration .page-content {
  max-width: 800px;
  padding: 0;
  background: transparent;
}

.page-registration .card,
.page-registration .card-block {
  padding: 0;
  border: none;
  box-shadow: none;
  background: transparent;
}

.page-authentication .page-content.card.card-block,
.page-registration .register-form {
  background: #fff;
  padding: 30px;
  border-radius: 12px;
  box-shadow: 0 2px 20px rgba(0,0,0,0.08);
}

/* Grid layout for form fields */
.customer-form-modern > div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 20px;
}

/* Form group structure */
.customer-form-modern .form-group {
  display: flex;
  flex-direction: column;
}

.customer-form-modern .form-group .form-control-label {
  order: 1;
  text-align: left;
  margin-bottom: 8px;
}

.customer-form-modern .form-group .form-field-input {
  order: 2;
}

/* Full width fields */
.customer-form-modern .form-group[data-field-name="id_gender"],
.customer-form-modern .form-group[data-field-name="email"],
.customer-form-modern .form-group[data-field-name="password"],
.customer-form-modern .field-password-policy,
.customer-form-modern .custom-checkbox,
.customer-form-modern #business-fields,
.customer-form-modern .form-footer {
  grid-column: 1 / -1;
}

/* Half width fields (side by side) */
.customer-form-modern .form-group[data-field-name="firstname"],
.customer-form-modern .form-group[data-field-name="lastname"],
.customer-form-modern .form-group[data-field-name="birthday"] {
  grid-column: span 1;
}

/* Account type toggle full width */
.account-type-toggle {
  grid-column: 1 / -1;
}

/* Mobile - single column */
@media (max-width: 576px) {
  .customer-form-modern > div {
    grid-template-columns: 1fr;
  }

  .customer-form-modern .form-group[data-field-name="firstname"],
  .customer-form-modern .form-group[data-field-name="lastname"],
  .customer-form-modern .form-group[data-field-name="birthday"] {
    grid-column: 1 / -1;
  }

  .page-registration .register-form {
    padding: 20px;
  }
}

.custom-checkbox input[type=checkbox]+span {
    min-width: 18px;
    min-height: 18px;
    margin: 0;
    border-radius: 4px;
}

.page-my-account #content .links a:hover i{
  color: #2e7d32;
}

.custom-radio input[type=radio]:checked+span {
    background-color: #2e7d32;
}

.page-my-account #content .links a span.link-item {
  border-radius: 12px;
  box-shadow: 0 2px 20px rgba(0, 0, 0, 0.08);
}

/* ============================================
   CATEGORY SIDEBAR TOGGLE BUTTON (Header)
   ============================================ */
.category-toggle-wrapper {
  display: flex;
  align-items: center;
  padding-right: 10px;
}

.category-sidebar-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  background: #2e7d32;
  color: #fff;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.category-sidebar-toggle:hover {
  background: #1b5e20;
}

.category-sidebar-toggle i {
  font-size: 24px;
}

/* ============================================
   CATEGORY SIDEBAR (Slide-in panel)
   ============================================ */
.category-sidebar-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 9998;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.category-sidebar-overlay.active {
  opacity: 1;
  visibility: visible;
}

.category-sidebar {
  position: fixed;
  top: 0;
  left: 0;
  width: 320px;
  height: 100vh;
  background: #fff;
  z-index: 9999;
  transform: translateX(-100%);
  transition: transform 0.3s ease;
  display: flex;
  flex-direction: column;
  box-shadow: 5px 0 25px rgba(0, 0, 0, 0.15);
}

.category-sidebar.active {
  transform: translateX(0);
}

.category-sidebar__header {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 18px 20px;
  background: #2e7d32;
  color: #fff;
  font-weight: 600;
  font-size: 16px;
  flex-shrink: 0;
}

.category-sidebar__header i:first-child {
  font-size: 22px;
}

.category-sidebar__header span {
  flex: 1;
}

.category-sidebar__close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background: rgba(255, 255, 255, 0.2);
  border: none;
  border-radius: 6px;
  color: #fff;
  cursor: pointer;
  transition: background 0.2s ease;
}

.category-sidebar__close:hover {
  background: rgba(255, 255, 255, 0.3);
}

.category-sidebar__close i {
  font-size: 20px;
}

.category-sidebar__nav {
  flex: 1;
  overflow-y: auto;
  padding: 0;
}

/* ============================================
   ACCORDION MENU STYLES
   ============================================ */
.sidebar-accordion-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.sidebar-accordion-list[data-depth="0"] {
  border: none;
}

.sidebar-accordion-item {
  border-bottom: 1px solid #f0f0f0;
}

.sidebar-accordion-item:last-child {
  border-bottom: none;
}

.sidebar-accordion-header {
  display: flex;
  align-items: center;
}

.sidebar-accordion-link {
  flex: 1;
  display: flex;
  align-items: center;
  padding: 15px 20px;
  color: #333;
  font-size: 15px;
  font-weight: 500;
  text-decoration: none;
  transition: all 0.2s ease;
}

.sidebar-accordion-link:hover {
  background: #f8f9fa;
  color: #2e7d32;
  text-decoration: none;
}

.sidebar-accordion-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  background: none;
  border: none;
  color: #666;
  cursor: pointer;
  transition: all 0.2s ease;
  margin-right: 8px;
}

.sidebar-accordion-toggle:hover {
  color: #2e7d32;
  background: #f0f0f0;
  border-radius: 6px;
}

.sidebar-accordion-toggle i {
  font-size: 24px;
  transition: transform 0.3s ease;
}

.sidebar-accordion-toggle[aria-expanded="true"] i {
  transform: rotate(180deg);
}

/* Accordion Content (Subcategories) */
.sidebar-accordion-content {
  display: none;
  background: #f8f9fa;
  border-top: 1px solid #e8e8e8;
}

.sidebar-accordion-content.open {
  display: block;
}

/* Nested levels styling */
.sidebar-accordion-content .sidebar-accordion-list {
  padding: 0;
}

.sidebar-accordion-content .sidebar-accordion-item {
  border-bottom: 1px solid #e8e8e8;
}

.sidebar-accordion-content .sidebar-accordion-item:last-child {
  border-bottom: none;
}

.sidebar-accordion-content .sidebar-accordion-link {
  padding: 12px 20px 12px 35px;
  font-size: 14px;
  font-weight: 400;
  color: #555;
}

.product-images>li.thumb-container .thumb.selected, .product-images>li.thumb-container .thumb:hover {
    border: 2px solid #2e7d32;
    border-radius: 10px;
}

.tabs .nav-tabs .nav-link.active, .tabs .nav-tabs .nav-link:hover {
    border: 0;
    border-bottom: #2e7d32 3px solid;
}

.wishlist-button-add:hover i {
    color: #fff !important;
}

.wishlist-add-to-new i,
.wishlist-list .wishlist-list-item p,
.text-primary {
  color: #2e7d32 !important;
}

.sidebar-accordion-content .sidebar-accordion-link:hover {
  color: #2e7d32;
  background: #eef5ee;
}

/* Deeper nested levels */
.sidebar-accordion-content .sidebar-accordion-content .sidebar-accordion-link {
  padding-left: 50px;
  font-size: 13px;
}

/* ============================================
   HOMEPAGE HERO SECTION (Full Width Banner)
   ============================================ */
.homepage-hero {
  padding: 20px 0 30px;
  background: #f8f9fa;
}

.homepage-hero__wrapper {
  display: block;
}

/* Banner Section - Full Width */
.homepage-hero__banners {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

/* Main Banner */
.banner-main {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0,0,0,0.1);
}

.banner-main a {
  display: block;
}

.banner-main figure {
  margin: 0;
  position: relative;
}

.banner-main__img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  max-height: 450px;
}

.banner-main__caption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 30px;
  background: linear-gradient(to top, rgba(0,0,0,0.7), transparent);
  color: #fff;
}

.banner-main__caption h2 {
  margin: 0 0 10px;
  font-size: 32px;
  font-weight: 700;
  text-shadow: 0 2px 4px rgba(0,0,0,0.3);
}

.banner-main__description {
  font-size: 16px;
  opacity: 0.9;
}

/* Secondary Banners Grid - 2 columns 50% each */
.banner-secondary {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 15px;
}

.banner-secondary__item {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(0,0,0,0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.banner-secondary__item:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 30px rgba(0,0,0,0.2);
}

.banner-secondary__item a {
  display: block;
}

.banner-secondary__item figure {
  margin: 0;
  position: relative;
}

.banner-secondary__img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  display: block;
}

.banner-secondary__caption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 20px;
  background: linear-gradient(to top, rgba(0,0,0,0.6), transparent);
  color: #fff;
}

.banner-secondary__caption span {
  font-size: 18px;
  font-weight: 600;
}

/* Responsive */
@media (max-width: 991px) {
  .category-sidebar {
    width: 280px;
  }

  .banner-main__img {
    max-height: 350px;
  }

  .banner-main__caption h2 {
    font-size: 26px;
  }

  .banner-secondary__img {
    height: 160px;
  }
}

@media (max-width: 767px) {
  .homepage-hero {
    padding: 15px 0 20px;
  }

  .banner-secondary {
    gap: 10px;
  }

  .banner-secondary__img {
    height: 140px;
  }

  .banner-main__img {
    max-height: 280px;
  }

  .banner-main__caption {
    padding: 20px;
  }

  .banner-main__caption h2 {
    font-size: 20px;
    margin-bottom: 5px;
  }

  .banner-main__description {
    font-size: 14px;
  }

  .banner-secondary__caption span {
    font-size: 15px;
  }
}

@media (max-width: 480px) {
  .banner-secondary {
    grid-template-columns: 1fr;
  }

  .banner-secondary__img {
    height: 160px;
  }
}

/* ============================================
   SITE LAYOUT - Two Column (Sidebar + Main)
   ============================================ */
.site-layout {
  display: flex;
  min-height: calc(100vh - 200px);
}

/* Left Sidebar - Always visible on desktop */
.site-sidebar {
  width: 280px;
  min-width: 280px;
  background: #fff;
  border-right: 1px solid #e0e0e0;
  display: flex;
  flex-direction: column;
  position: sticky;
  top: 0;
  height: 100vh;
  overflow-y: auto;
  z-index: 100;
  transition: top 0.3s ease;
}

/* When header is sticky, adjust sidebar position */
body.header-is-sticky .site-sidebar {
  top: 60px;
  height: calc(100vh - 60px);
}

/* Hide sidebar header on desktop - only show on mobile */
.site-sidebar__header {
  display: none;
  align-items: center;
  gap: 12px;
  padding: 18px 20px;
  background: #2e7d32;
  color: #fff;
  font-weight: 600;
  font-size: 16px;
  flex-shrink: 0;
}

.site-sidebar__header i:first-child {
  font-size: 22px;
}

.site-sidebar__header span {
  flex: 1;
}

/* Hide close button on desktop */
.site-sidebar__close {
  display: none;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background: rgba(255, 255, 255, 0.2);
  border: none;
  border-radius: 6px;
  color: #fff;
  cursor: pointer;
  transition: background 0.2s ease;
}

.site-sidebar__close:hover {
  background: rgba(255, 255, 255, 0.3);
}

.site-sidebar__close i {
  font-size: 20px;
}

.site-sidebar__nav {
  flex: 1;
  overflow-y: auto;
  padding: 0;
}

/* Main Content Area */
.site-main {
  flex: 1;
  min-width: 0;
  background: #f8f9fa;
}

/* Overlay for mobile sidebar */
.site-sidebar-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 998;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.site-sidebar-overlay.active {
  opacity: 1;
  visibility: visible;
}

/* Hide the toggle button on desktop since sidebar is always visible */
.category-sidebar-toggle {
  display: none;
}

/* Header and Footer full width */
#header,
#footer {
  width: 100%;
}

/* Container fluid for main content */
.site-main .container-fluid {
  padding-left: 20px;
  padding-right: 20px;
}

/* Hide old category sidebar elements */
.category-sidebar,
.category-sidebar-overlay {
  display: none !important;
}

/* ============================================
   MOBILE RESPONSIVE - Sidebar becomes slide-in
   ============================================ */
@media (max-width: 991px) {
  .site-layout {
    display: block;
  }

  /* Sidebar becomes slide-in panel on mobile */
  .site-sidebar {
    position: fixed;
    top: 0;
    left: 0;
    width: 300px;
    height: 100vh;
    transform: translateX(-100%);
    transition: transform 0.3s ease;
    z-index: 9999;
    box-shadow: 5px 0 25px rgba(0, 0, 0, 0.15);
  }

  .site-sidebar.active {
    transform: translateX(0);
  }

  /* Show sidebar header and close button on mobile */
  .site-sidebar__header {
    display: flex;
  }

  .site-sidebar__close {
    display: flex;
  }

  /* Show overlay on mobile */
  .site-sidebar-overlay {
    display: block;
  }

  /* Show toggle button on mobile */
  .category-sidebar-toggle {
    display: flex;
  }

  /* Main content takes full width */
  .site-main {
    width: 100%;
  }
}

@media (max-width: 767px) {
  .site-sidebar {
    width: 280px;
  }

  .site-main .container-fluid {
    padding-left: 15px;
    padding-right: 15px;
  }
}

.user-login-btn {
  color: #fff;
}

/* ============================================
   CATEGORY TREE SIDEBAR - With +/- Toggle
   ============================================ */
.category-tree-wrapper {
  padding: 0;
}

.category-tree-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.category-tree-item {
  border-bottom: 1px solid #f0f0f0;
}

.category-tree-item:last-child {
  border-bottom: none;
}

.category-tree-header {
  display: flex;
  align-items: center;
}

.category-tree-link {
  flex: 1;
  display: block;
  padding: 14px 20px;
  color: #333;
  font-size: 15px;
  font-weight: 500;
  text-decoration: none;
  transition: all 0.2s ease;
}

/* Categorie principali (livello 0) in uppercase */
.category-tree-list[data-depth="0"] > .category-tree-item > .category-tree-header > .category-tree-link {
  text-transform: uppercase;
}

.category-tree-link:hover {
  background: #f8f9fa;
  color: #2e7d32 !important;
  text-decoration: none;
}

/* +/- Toggle Button */
.category-tree-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: none;
  border: none;
  color: #2e7d32;
  cursor: pointer;
  font-size: 20px;
  font-weight: bold;
  margin-right: 10px;
  transition: all 0.2s ease;
  border-radius: 6px;
}

.category-tree-toggle:hover {
  background: #e8f5e9;
}

/* Show minus when open, plus when closed */
.category-tree-toggle .toggle-icon.plus {
  display: none;
}

.category-tree-toggle .toggle-icon.minus {
  display: block;
}

.category-tree-toggle[aria-expanded="false"] .toggle-icon.plus {
  display: block;
}

.category-tree-toggle[aria-expanded="false"] .toggle-icon.minus {
  display: none;
}

/* Subcategories container */
.category-tree-children {
  display: none;
  background: #fafafa;
  border-top: 1px solid #e8e8e8;
}

.category-tree-children.open {
  display: block;
}

/* Nested levels - indentation */
.category-tree-children .category-tree-item {
  border-bottom: 1px solid #e8e8e8;
}

.category-tree-children .category-tree-item:last-child {
  border-bottom: none;
}

.category-tree-children .category-tree-link {
  padding-left: 35px;
  font-size: 14px;
  font-weight: 400;
  color: #555;
}

.category-tree-children .category-tree-link:hover {
  background: #eef5ee;
  color: #2e7d32 !important;
}

/* Level 2 (sub-subcategories) */
.category-tree-children .category-tree-children {
  background: #f5f5f5;
}

.category-tree-children .category-tree-children .category-tree-link {
  padding-left: 50px;
  font-size: 13px;
}

/* Level 3 */
.category-tree-children .category-tree-children .category-tree-children .category-tree-link {
  padding-left: 65px;
  font-size: 13px;
}

/* Hide old block-categories styling from default template */
.site-sidebar .block-categories {
  padding: 0;
}

.site-sidebar .block-categories .category-top-menu,
.site-sidebar .block-categories .category-sub-menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

.site-sidebar .block-categories .collapse {
  display: block !important;
}

.site-sidebar .block-categories .navbar-toggler,
.site-sidebar .block-categories .arrows {
  display: none;
}

#wrapper .breadcrumb {
    margin-top: 12px; 
}

.nobr {
  white-space: nowrap;
}

.input-group.nobr {
  display: flex;
  flex-wrap: nowrap;
}

/* ============================================
   1. HIDE PRODUCT COMMENTS SECTION
   ============================================ */
#product-comments-list-header,
#product-comments-list,
.product-comments,
#product-comments,
.product-comment-list-item,
.comments-nb,
.product-comments-additional-info,
.post-product-comment,
#post-product-comment-modal,
.product-comment-modal,
[data-action="show-comments"],
.product-comment-list {
  display: none !important;
}

/* ============================================
   2. CONTACT PAGE - Nicer styling, hide attachments
   ============================================ */
/* Hide attachments section */
.contact-form .form-group.row:has(input[type="file"]),
.contact-form .form-group input[type="file"],
.contact-form label[for*="fileUpload"],
.contact-form .custom-file,
.contact-form input[name="fileUpload"],
.contact-form .form-group:has(.custom-file) {
  display: none !important;
}

/* Contact page styling */
.page-contact .page-content {
  background: #fff;
  padding: 30px;
  border-radius: 12px;
  box-shadow: 0 2px 20px rgba(0, 0, 0, 0.08);
}

.page-contact h3,
.page-contact .h3 {
  color: #2e7d32;
  font-weight: 600;
  margin-bottom: 20px;
}

.page-contact .form-control {
  border-radius: 8px;
  border: 1px solid #ddd;
  padding: 12px 15px;
}

.page-contact .form-control:focus {
  border-color: #2e7d32;
  box-shadow: 0 0 0 3px rgba(46, 125, 50, 0.15);
}

.page-contact .btn-primary {
  background: #2e7d32;
  border-color: #2e7d32;
  border-radius: 8px;
  padding: 12px 30px;
  font-weight: 500;
}

.page-contact .btn-primary:hover {
  background: #1b5e20;
  border-color: #1b5e20;
}

.page-contact .contact-rich {
  background: #f8f9fa;
  padding: 25px;
  border-radius: 12px;
  border-left: 4px solid #2e7d32;
}

.page-contact .contact-rich h4 {
  color: #2e7d32;
  font-weight: 600;
}

.page-contact .block-contact .data {
  color: #333;
}

.page-contact .block-contact i {
  color: #2e7d32;
}

/* ============================================
   3. FOOTER SITEMAP - Already in layout, ensure visibility
   ============================================ */
#footer .links .wrapper {
  display: block !important;
}

#footer .footer-container .links {
  display: flex;
  flex-wrap: wrap;
}

/* ============================================
   4. STORES PAGE - Nicer styling with green
   ============================================ */
.page-stores .page-content {
  background: #fff;
  padding: 30px;
  border-radius: 12px;
  box-shadow: 0 2px 20px rgba(0, 0, 0, 0.08);
}

.page-stores h1,
.page-stores .h1 {
  color: #2e7d32;
  font-weight: 600;
}

.page-stores .store-item {
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 20px;
  transition: all 0.3s ease;
}

.page-stores .store-item:hover {
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
  border-color: #2e7d32;
}

.page-stores .store-item h3,
.page-stores .store-item .store-name {
  color: #2e7d32;
  font-weight: 600;
}

.page-stores .store-item .store-address i,
.page-stores .store-item .store-phone i {
  color: #2e7d32;
}

.page-stores .store-picture img {
  border-radius: 8px;
}

.page-stores #stores-map {
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 15px rgba(0, 0, 0, 0.1);
}

/* ============================================
   5. SEARCH RESULTS - Product preview nicer
   ============================================ */
.ui-autocomplete,
.search-widget .dropdown-menu,
.search-results-dropdown {
  border-radius: 12px;
  box-shadow: 0 5px 25px rgba(0, 0, 0, 0.15);
  border: none;
  overflow: hidden;
}

.ui-autocomplete .ui-menu-item,
.search-widget .dropdown-item {
  padding: 12px 15px;
  border-bottom: 1px solid #f0f0f0;
  transition: all 0.2s ease;
}

.ui-autocomplete .ui-menu-item:hover,
.search-widget .dropdown-item:hover {
  background: #f8f9fa;
  box-shadow: inset 0 0 0 2px rgba(46, 125, 50, 0.2);
}

.ui-autocomplete .ui-menu-item:last-child,
.search-widget .dropdown-item:last-child {
  border-bottom: none;
}

/* Product miniature in search/listing */
.product-miniature {
  border-radius: 12px;
  transition: all 0.3s ease;
  border: 1px solid #e8e8e8;
  background: #fff;
  margin-top: 52px;
}

.product-miniature:hover {
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
  transform: translateY(-3px);
}

.product-miniature .thumbnail-container {
  overflow: hidden;
  border-radius: 12px;
  bottom: 20px;
}

.product-miniature .product-title {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
}

.product-miniature .product-title a {
  color: #333;
}

.product-miniature .product-title a:hover {
  color: #2e7d32 !important;
}

.product-miniature .product-price-and-shipping {
  font-size: 13px;
}

.product-miniature .price {
  font-size: 16px;
  font-weight: 600;
  color: #2e7d32;
}

.product-miniature .regular-price {
  font-size: 12px;
  color: #999;
}

/* Product flags - smaller labels */
.product-miniature .product-flags {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 2;
}

.product-miniature .product-flag {
  font-size: 10px;
  font-weight: 500;
  padding: 4px 8px;
  border-radius: 4px;
  margin-bottom: 4px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* ============================================
   6. PAGINATION - Better styling
   ============================================ */
.pagination {
  display: flex;
  justify-content: center;
  gap: 5px;
  margin: 30px 0;
}

.pagination .page-item .page-link {
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  padding: 10px 16px;
  color: #333;
  font-weight: 500;
  transition: all 0.2s ease;
  background: #fff;
}

.pagination .page-item .page-link:hover {
  background: #f8f9fa;
  border-color: #2e7d32;
  color: #2e7d32;
}

.pagination .page-item.active .page-link {
  background: #2e7d32;
  border-color: #2e7d32;
  color: #fff;
}

.pagination .page-item.disabled .page-link {
  background: #f5f5f5;
  color: #999;
  border-color: #e0e0e0;
}

.pagination .page-item:first-child .page-link,
.pagination .page-item:last-child .page-link {
  border-radius: 8px;
}

/* ============================================
   7. WISHLIST - Green buttons instead of blue
   ============================================ */
.page-my-account .wishlist-list a,
.page-my-account .wishlist-button,
.wishlist-button-add,
.wishlist-button-product,
.wishlist-modal .btn,
.wishlist-list .wishlist-list-item a,
#mywishlist a,
.wishlist-container a.btn,
.wishlist-container .btn-secondary,
.wishlist-products-container a,
.wishlist-products-container .btn {
  color: #2e7d32 !important;
  border-color: #2e7d32 !important;
}

.page-my-account .wishlist-list a:hover,
.wishlist-button-add:hover,
.wishlist-button-product:hover,
.wishlist-modal .btn:hover,
.wishlist-container a.btn:hover {
  background: #2e7d32 !important;
  color: #fff !important;
}

.page-my-account .wishlist-list a i,
.wishlist-button-add i,
.wishlist-button-product i,
#mywishlist a i,
.wishlist-container a i,
.wishlist-products-container a i,
.wishlist-products-container .btn i {
  color: #2e7d32 !important;
}

/* Wishlist footer links */
.wishlist-footer a,
.wishlist-products-container .wishlist-footer .btn,
.wishlist-list-footer a,
a[href*="my-account"],
a[href*="wishlist"] {
  color: #2e7d32;
}

.wishlist-footer a:hover,
.wishlist-list-footer a:hover {
  color: #1b5e20 !important;
}

/* Specific wishlist icon fix */
.wishlist-button-add svg,
.wishlist-button-product svg {
  fill: #2e7d32;
}

.wishlist-button-add:hover svg,
.wishlist-button-product:hover svg {
  fill: #fff;
}

/* ============================================
   8. GDPR PAGE - White text on green buttons
   ============================================ */
.page-module-psgdpr-gdpr .btn,
.psgdpr_all_data_selector .btn,
.psgdpr-section .btn,
#gdpr-displayGDPRConsent .btn,
.gdpr-consent-container .btn,
[class*="gdpr"] .btn-primary,
[class*="gdpr"] .btn-secondary,
.psgdpr_data_to_export .btn,
.psgdpr_data_to_delete .btn,
button[name*="gdpr"],
a[href*="gdpr"].btn,
.page-customer-account .gdpr-actions .btn,
.page-module-psgdpr-gdpr button,
.page-module-psgdpr-gdpr a.btn {
  background: #2e7d32 !important;
  border-color: #2e7d32 !important;
  color: #fff !important;
  border-radius: 8px !important;
  padding: 10px 20px;
  font-weight: 500;
}

.page-module-psgdpr-gdpr .btn:hover,
.psgdpr_all_data_selector .btn:hover,
.psgdpr-section .btn:hover,
[class*="gdpr"] .btn-primary:hover,
[class*="gdpr"] .btn-secondary:hover,
.page-module-psgdpr-gdpr button:hover,
.page-module-psgdpr-gdpr a.btn:hover {
  background: #1b5e20 !important;
  border-color: #1b5e20 !important;
  color: #fff !important;
}

/* GDPR page general styling */
.page-module-psgdpr-gdpr .page-content {
  background: #fff;
  padding: 30px;
  border-radius: 12px;
  box-shadow: 0 2px 20px rgba(0, 0, 0, 0.08);
}

.page-module-psgdpr-gdpr h2,
.page-module-psgdpr-gdpr .h2 {
  color: #2e7d32;
  font-weight: 600;
}

/* ============================================
   FOOTER - Layout colonne (Prodotti 25%, Azienda 25%, Contatti 50%)
   ============================================ */
#footer .footer-container > .row {
  display: flex !important;
  flex-wrap: wrap !important;
  width: 100%;
}

/* Prima colonna links (contiene Prodotti + La nostra azienda) = 50% */
#footer .footer-container > .row > .col-md-6.links {
  flex: 0 0 50%;
  max-width: 50%;
}

/* Prodotti e La nostra azienda = 50% ciascuno della prima colonna */
#footer .links > .row {
  display: flex !important;
  width: 100%;
}

#footer .links > .row > .col-md-6.wrapper {
  flex: 0 0 50%;
  max-width: 50%;
  padding: 0 15px;
}

/* Blocco contatti = 50% */
#footer .footer-container > .row > .block-contact.col-md-6 {
  flex: 0 0 50%;
  max-width: 50%;
}

/* Force collapse to show */
#footer .links .collapse,
#footer .block-contact .collapse {
  display: block !important;
  height: auto !important;
  visibility: visible !important;
}

/* Hide mobile toggle icons */
#footer .links .navbar-toggler,
#footer .links .collapse-icons,
#footer .block-contact .navbar-toggler,
#footer .block-contact .collapse-icons,
#footer .title.hidden-md-up {
  display: none !important;
}

/* Footer titles */
#footer .links .h3,
#footer .block-contact .h4 {
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  text-transform: uppercase;
  margin-bottom: 15px;
}

/* Footer lists */
#footer .links ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

#footer .links ul li {
  margin-bottom: 8px;
}

#footer .links ul li a {
  color: #fff;
  text-decoration: none;
  font-size: 14px;
  transition: color 0.2s ease;
}

#footer .links ul li a:hover {
  color: #2e7d32;
}

/* Block contact address styling */
#footer .block-contact b {
  display: block;
  margin-bottom: 15px;
  font-size: 14px;
}

#footer .block-contact hr {
  display: none;
}

#footer .block-contact iframe {
  border-radius: 8px;
  margin-top: 10px;
}

/* ============================================
   CART MODAL FIXES
   ============================================ */

/* 1. Titolo prodotto nel popup carrello - verde invece di blu */
#blockcart-modal .product-name,
#blockcart-modal .product-name a,
#blockcart-modal h6.product-name {
  color: #2e7d32 !important;
}

#blockcart-modal .product-name:hover,
#blockcart-modal .product-name a:hover {
  color: #1b5e20 !important;
}

/* 2. Fix hover pulsante "Procedi con il checkout" - testo bianco */
#blockcart-modal .btn-primary,
#blockcart-modal .btn-primary:hover,
#blockcart-modal .btn-primary:focus,
#blockcart-modal .btn-primary:active,
#blockcart-modal .cart-content-btn .btn-primary,
#blockcart-modal .cart-content-btn .btn-primary:hover,
#blockcart-modal .cart-content-btn a.btn-primary,
#blockcart-modal .cart-content-btn a.btn-primary:hover {
  color: #fff !important;
  background-color: #2e7d32;
  border-color: #2e7d32;
}

#blockcart-modal .btn-primary:hover,
#blockcart-modal .cart-content-btn .btn-primary:hover,
#blockcart-modal .cart-content-btn a.btn-primary:hover {
  background-color: #1b5e20;
  border-color: #1b5e20;
}

/* 3. Nascondere label "Solo online" */
.product-flag.online-only {
  display: none !important;
}

/* 4. Prezzo prodotto verde */
.product-price,
.product-prices .current-price-value,
.product-prices .current-price span,
.current-price .price,
.product-price-and-shipping .price,
h1 + .product-prices .current-price-value {
  color: #2e7d32 !important;
}

/* 5. Disabilita zoom/lightbox immagine prodotto */
.product-cover .layer,
.product-cover .zoom-in {
  display: none !important;
}

.product-cover {
  cursor: default !important;
  pointer-events: none;
}

.product-cover img {
  pointer-events: auto;
}

/* 6. Nascondi carosello miniature immagini prodotto */
.images-container .mask,
.images-container .js-qv-mask,
.images-container .product-images,
.images-container .js-qv-product-images {
  display: none !important;
}

/* Nascondi anche il modal delle immagini */
#product-modal {
  display: none !important;
}

/* Mobile responsive */
@media (max-width: 767px) {
  #footer .footer-container > .row > .col-md-6.links,
  #footer .footer-container > .row > .block-contact.col-md-6 {
    flex: 0 0 100%;
    max-width: 100%;
    margin-bottom: 25px;
  }

  #footer .links > .row > .col-md-6.wrapper {
    flex: 0 0 100%;
    max-width: 100%;
    margin-bottom: 20px;
    text-align: center;
  }

  #footer .block-contact {
    text-align: center;
  }
}