/* SunPowerFlex — Theme vert pastel */

:root {
  --spf-green-dark: #2D6A4F;
  --spf-green: #40916C;
  --spf-green-light: #52B788;
  --spf-green-pastel: #B7E4C7;
  --spf-green-bg: #D8F3DC;
  --spf-green-pale: #F0FFF4;
  --spf-accent: #1B4332;
  --spf-warm: #95D5B2;
  --spf-text: #2D3748;
  --spf-text-light: #4A5568;
  --spf-white: #FFFFFF;
}

/* General */
body { background: var(--spf-green-pale) !important; color: var(--spf-text); }
a { color: var(--spf-green-dark); }
a:hover { color: var(--spf-green-light); }
h1, .h1, h2, .h2, h3, .h3 { color: var(--spf-accent) !important; }

/* Header */
#header {
  background: var(--spf-white) !important;
  border-bottom: 3px solid var(--spf-green-light) !important;
  box-shadow: 0 2px 12px rgba(45, 106, 79, 0.08);
}
#header .header-nav {
  background: var(--spf-accent) !important;
  color: var(--spf-green-pastel) !important;
}
#header .header-nav a,
#header .header-nav .material-icons { color: var(--spf-green-pastel) !important; }
#header .header-nav a:hover { color: var(--spf-white) !important; }
#header .header-top { background: var(--spf-white) !important; }
#header .header-top a { color: var(--spf-accent) !important; }
#header .header-top a:hover { color: var(--spf-green-light) !important; }

/* Top menu */
#_desktop_top_menu .top-menu a {
  color: var(--spf-accent) !important;
  font-weight: 500;
}
#_desktop_top_menu .top-menu a:hover,
#_desktop_top_menu .top-menu .current a {
  color: var(--spf-green-light) !important;
  border-bottom: 2px solid var(--spf-green-light);
}

/* Boutons */
.btn-primary, .add-to-cart, #search_widget button {
  background: var(--spf-green) !important;
  border-color: var(--spf-green) !important;
  color: var(--spf-white) !important;
  border-radius: 8px !important;
  transition: all 0.2s ease;
}
.btn-primary:hover, .add-to-cart:hover {
  background: var(--spf-green-dark) !important;
  border-color: var(--spf-green-dark) !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(45, 106, 79, 0.3);
}
.btn-secondary {
  background: var(--spf-green-bg) !important;
  border-color: var(--spf-green-pastel) !important;
  color: var(--spf-green-dark) !important;
  border-radius: 8px !important;
}
.btn-secondary:hover {
  background: var(--spf-green-pastel) !important;
}

/* Prix */
.product-price, .current-price span, .price {
  color: var(--spf-green-dark) !important;
  font-weight: 700;
  font-size: 1.4em;
}

/* Produits */
.product-miniature {
  border-radius: 12px !important;
  overflow: hidden;
  border: 1px solid var(--spf-green-pastel) !important;
  background: var(--spf-white) !important;
  transition: all 0.2s ease;
}
.product-miniature:hover {
  box-shadow: 0 8px 24px rgba(45, 106, 79, 0.12);
  transform: translateY(-2px);
}
.product-miniature .product-title a { color: var(--spf-accent) !important; }
.product-miniature .product-title a:hover { color: var(--spf-green) !important; }
.product-miniature .product-description { color: var(--spf-text-light); }

/* Fiches produit */
.product-add-to-cart .add-to-cart {
  padding: 12px 32px !important;
  font-size: 1.1em !important;
  font-weight: 600 !important;
}
.product-quantity .qty { border-radius: 8px !important; }
.tabs .nav-link.active {
  color: var(--spf-green-dark) !important;
  border-bottom: 3px solid var(--spf-green) !important;
}

/* Breadcrumb */
.breadcrumb {
  background: var(--spf-green-bg) !important;
  border-radius: 8px;
  padding: 10px 16px !important;
}
.breadcrumb a { color: var(--spf-green) !important; }

/* Footer */
#footer {
  background: var(--spf-accent) !important;
  color: var(--spf-green-pastel) !important;
}
#footer a { color: var(--spf-green-pastel) !important; }
#footer a:hover { color: var(--spf-white) !important; }
#footer .footer-container {
  border-top: 3px solid var(--spf-green-light);
}
#footer h4, #footer .h4 { color: var(--spf-white) !important; }

/* Banniere / slider */
#carousel, .carousel { border-radius: 12px; overflow: hidden; }

/* Search */
#search_widget input {
  border-radius: 8px 0 0 8px !important;
  border: 2px solid var(--spf-green-pastel) !important;
}
#search_widget input:focus {
  border-color: var(--spf-green) !important;
  box-shadow: 0 0 0 3px rgba(82, 183, 136, 0.2);
}
#search_widget button { border-radius: 0 8px 8px 0 !important; }

/* Blocs CMS / texte */
.block-cms, .custom-text { 
  background: var(--spf-white) !important; 
  border-radius: 12px;
  border: 1px solid var(--spf-green-pastel) !important;
  padding: 24px !important;
}

/* Newsletter */
.block_newsletter {
  background: var(--spf-green-bg) !important;
  border-radius: 12px;
  padding: 24px !important;
}
.block_newsletter .btn { 
  background: var(--spf-green) !important;
  border-color: var(--spf-green) !important;
}

/* Tags new/promo */
.product-flag.new { background: var(--spf-green-light) !important; }
.product-flag.on-sale { background: #E53E3E !important; }
.product-flag.discount { background: var(--spf-green-dark) !important; }

/* Scrollbar */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: var(--spf-green-pale); }
::-webkit-scrollbar-thumb { background: var(--spf-green-pastel); border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: var(--spf-green-light); }
