/*
 * WEEDILY THEME CHILD - PrestaShop Classical
 * Version: 1.0
 * Description: Thème personnalisé aux couleurs Weedily
 */

/* ============================================
   VARIABLES CSS
   ============================================ */
:root {
  --weedily-green: #1C3F35;
  --weedily-green-hover: #215246;
  --weedily-lime: #8CCF85;
  --weedily-beige: #F5F1E6;
  --weedily-charcoal: #2B2B2B;
  --weedily-gold: #C5A25F;
  --weedily-white: #FFFFFF;
  --weedily-light-gray: #EEEEEE;
  --weedily-border: #E7E1D2;
  --weedily-shadow: 0 8px 24px rgba(28, 63, 53, 0.06);
  --weedily-shadow-hover: 0 12px 32px rgba(28, 63, 53, 0.12);
  --weedily-radius: 1rem;
  --weedily-radius-sm: 0.5rem;
  --weedily-transition: all 0.3s ease;
}

/* ============================================
   TYPOGRAPHIE GLOBALE
   ============================================ */
body,
.h1, .h2, .h3, .h4, .h5, .h6,
h1, h2, h3, h4, h5, h6,
button, input, textarea, select,
.btn, .form-control,
.product-title, .category-name {
  font-family: "Montserrat", "Avenir Next", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  color: var(--weedily-charcoal);
}

h1, .h1 {
  font-weight: 700;
  letter-spacing: 0.2px;
  font-size: 2.5rem;
  line-height: 1.2;
}

h2, .h2 {
  font-weight: 600;
  font-size: 2rem;
  line-height: 1.3;
}

h3, .h3 {
  font-weight: 600;
  font-size: 1.5rem;
}

h4, .h4 {
  font-weight: 600;
  font-size: 1.25rem;
}

body {
  color: var(--weedily-charcoal);
  background: var(--weedily-beige);
  font-size: 1rem;
  line-height: 1.6;
}

/* ============================================
   HEADER & NAVIGATION
   ============================================ */
#header,
.header-top,
.header-nav,
.top-menu,
._desktop_top_menu {
  background: var(--weedily-beige);
}

.header-nav {
  background: rgba(245, 241, 230, 0.95);
  backdrop-filter: saturate(1.2) blur(4px);
  box-shadow: 0 2px 8px rgba(28, 63, 53, 0.08);
}

.top-menu .navbar,
.header-top {
  background: rgba(245, 241, 230, 0.95);
}

.top-menu a,
.header-top a,
#_desktop_top_menu a,
.top-menu .navbar a {
  color: var(--weedily-green);
  transition: var(--weedily-transition);
}

.top-menu a:hover,
.header-top a:hover,
#_desktop_top_menu a:hover,
.top-menu .navbar a:hover {
  color: var(--weedily-green-hover);
  text-decoration: none;
}

/* Logo */
#_desktop_logo a,
.logo {
  display: inline-block;
  transition: transform 0.3s ease;
}

#_desktop_logo a:hover,
.logo:hover {
  transform: scale(1.05);
}

/* Menu dropdown */
.dropdown-menu {
  border: 1px solid var(--weedily-border);
  border-radius: var(--weedily-radius-sm);
  box-shadow: var(--weedily-shadow);
  background: var(--weedily-white);
}

.dropdown-item {
  color: var(--weedily-charcoal);
  transition: var(--weedily-transition);
}

.dropdown-item:hover {
  background: var(--weedily-beige);
  color: var(--weedily-green);
}

/* ============================================
   RECHERCHE
   ============================================ */
#search_widget input[type="text"],
.search-widget input[type="text"],
input[name="s"] {
  border: 1px solid var(--weedily-border);
  border-radius: var(--weedily-radius-sm);
  background: var(--weedily-white);
  padding: 0.75rem 1rem;
  transition: var(--weedily-transition);
}

#search_widget input[type="text"]:focus,
.search-widget input[type="text"]:focus,
input[name="s"]:focus {
  border-color: var(--weedily-lime);
  box-shadow: 0 0 0 0.2rem rgba(140, 207, 133, 0.25);
  outline: none;
}

#search_widget .btn,
.search-widget .btn {
  background: var(--weedily-green);
  border-color: var(--weedily-green);
  color: var(--weedily-white);
  border-radius: var(--weedily-radius-sm);
  transition: var(--weedily-transition);
}

#search_widget .btn:hover,
.search-widget .btn:hover {
  background: var(--weedily-green-hover);
  border-color: var(--weedily-green-hover);
  transform: translateY(-1px);
}

/* ============================================
   BOUTONS
   ============================================ */
.btn,
.btn-primary,
button.btn-primary {
  background: var(--weedily-green);
  border-color: var(--weedily-green);
  color: var(--weedily-white);
  border-radius: var(--weedily-radius-sm);
  box-shadow: 0 6px 14px rgba(28, 63, 53, 0.18);
  transition: var(--weedily-transition);
  font-weight: 600;
  padding: 0.6rem 1.5rem;
}

.btn:hover,
.btn-primary:hover,
button.btn-primary:hover {
  background: var(--weedily-green-hover);
  border-color: var(--weedily-green-hover);
  color: var(--weedily-white);
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(28, 63, 53, 0.25);
}

.btn-outline-primary,
.btn-secondary {
  color: var(--weedily-green);
  border-color: var(--weedily-green);
  border-radius: var(--weedily-radius-sm);
  background: transparent;
  transition: var(--weedily-transition);
  font-weight: 600;
}

.btn-outline-primary:hover,
.btn-secondary:hover {
  background: var(--weedily-green);
  border-color: var(--weedily-green);
  color: var(--weedily-white);
}

/* Boutons spécifiques */
.btn-primary.btn-add-to-cart,
.add-to-cart,
button[data-button-action="add-to-cart"] {
  background: var(--weedily-green);
  border-color: var(--weedily-green);
  color: var(--weedily-white);
}

.btn-primary.btn-add-to-cart:hover,
.add-to-cart:hover,
button[data-button-action="add-to-cart"]:hover {
  background: var(--weedily-green-hover);
  border-color: var(--weedily-green-hover);
}

/* Boutons liens */
a.btn-link {
  color: var(--weedily-green);
  transition: var(--weedily-transition);
}

a.btn-link:hover {
  color: var(--weedily-green-hover);
  text-decoration: none;
}

/* ============================================
   CARDS PRODUITS
   ============================================ */
.product-miniature,
.product-miniature-item,
.featured-products .product-miniature,
.js-product-miniature {
  border: 1px solid var(--weedily-light-gray);
  border-radius: var(--weedily-radius);
  box-shadow: var(--weedily-shadow);
  overflow: hidden;
  transition: var(--weedily-transition);
  background: var(--weedily-white);
}

.product-miniature:hover,
.js-product-miniature:hover {
  box-shadow: var(--weedily-shadow-hover);
  transform: translateY(-4px);
  border-color: var(--weedily-lime);
}

.product-miniature .thumbnail-container,
.product-miniature .product-thumbnail {
  background: var(--weedily-white);
  position: relative;
  overflow: hidden;
}

.product-miniature .thumbnail-container img,
.product-miniature .product-thumbnail img {
  transition: transform 0.4s ease;
}

.product-miniature:hover .thumbnail-container img,
.product-miniature:hover .product-thumbnail img {
  transform: scale(1.05);
}

.product-miniature .product-title a,
.product-title a,
.product-name {
  color: var(--weedily-charcoal);
  font-weight: 600;
  transition: var(--weedily-transition);
  text-decoration: none;
}

.product-miniature .product-title a:hover,
.product-title a:hover,
.product-name:hover {
  color: var(--weedily-green);
}

.product-miniature .product-description,
.product-description {
  color: #666;
  font-size: 0.9rem;
  line-height: 1.5;
}

/* Prix produits */
.product-miniature .product-price,
.product-price,
.current-price,
.price,
.product-price-and-shipping {
  color: var(--weedily-green);
  font-weight: 700;
  font-size: 1.25rem;
}

.regular-price,
.product-discount .regular-price {
  color: #999;
  text-decoration: line-through;
  font-size: 1rem;
  font-weight: 400;
}

.discount-percentage,
.discount-amount {
  background: var(--weedily-gold);
  color: #1a1a1a;
  font-weight: 600;
  padding: 0.25rem 0.5rem;
  border-radius: 0.25rem;
}

/* ============================================
   FLAGS / BADGES PRODUITS
   ============================================ */
.product-flags,
.product-flag {
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
  z-index: 10;
}

.product-flags .new,
.product-flag.new {
  background: var(--weedily-lime);
  color: #113327;
  font-weight: 600;
  padding: 0.35rem 0.75rem;
  border-radius: 0.5rem;
  font-size: 0.8rem;
  box-shadow: 0 2px 8px rgba(140, 207, 133, 0.3);
}

.product-flags .on-sale,
.product-flag.on-sale,
.product-flags .discount,
.discount-percentage {
  background: var(--weedily-gold);
  color: #1a1a1a;
  font-weight: 600;
  padding: 0.35rem 0.75rem;
  border-radius: 0.5rem;
  font-size: 0.8rem;
  box-shadow: 0 2px 8px rgba(197, 162, 95, 0.3);
}

.product-flags .online-only {
  background: var(--weedily-green);
  color: var(--weedily-white);
  font-weight: 600;
  padding: 0.35rem 0.75rem;
  border-radius: 0.5rem;
  font-size: 0.8rem;
}

/* ============================================
   FILTRES & FACETTES
   ============================================ */
#search_filters,
.facets,
.block-categories,
.faceted-search {
  background: var(--weedily-white);
  border: 1px solid var(--weedily-light-gray);
  border-radius: var(--weedily-radius);
  box-shadow: var(--weedily-shadow);
  padding: 1.5rem;
}

#search_filters .facet .title,
.facets .facet .title,
#search_filters h4,
.facets h4 {
  color: var(--weedily-green);
  font-weight: 600;
  font-size: 1.1rem;
  margin-bottom: 1rem;
}

.facet-label {
  color: var(--weedily-charcoal);
  transition: var(--weedily-transition);
  cursor: pointer;
}

.facet-label:hover {
  color: var(--weedily-green);
}

.facet-label input[type="checkbox"]:checked + span {
  color: var(--weedily-green);
  font-weight: 600;
}

/* Slider de prix */
.faceted-slider {
  background: var(--weedily-beige);
}

.ui-slider-horizontal .ui-slider-range {
  background: var(--weedily-green);
}

.ui-slider-horizontal .ui-slider-handle {
  background: var(--weedily-green);
  border: 2px solid var(--weedily-white);
  box-shadow: 0 2px 6px rgba(28, 63, 53, 0.3);
}

/* ============================================
   BREADCRUMB (FIL D'ARIANE)
   ============================================ */
.breadcrumb,
nav[data-depth] {
  background: transparent;
  padding: 1rem 0;
}

.breadcrumb li a,
.breadcrumb-item a,
nav[data-depth] a {
  color: var(--weedily-green);
  transition: var(--weedily-transition);
  text-decoration: none;
}

.breadcrumb li a:hover,
.breadcrumb-item a:hover,
nav[data-depth] a:hover {
  color: var(--weedily-green-hover);
  text-decoration: underline;
}

.breadcrumb li.active,
.breadcrumb-item.active {
  color: var(--weedily-charcoal);
}

/* ============================================
   PAGINATION
   ============================================ */
.pagination {
  margin-top: 2rem;
}

.pagination .page-link,
.pagination .page-item a {
  color: var(--weedily-green);
  border-color: #e6e6e6;
  border-radius: 0.35rem;
  margin: 0 0.25rem;
  transition: var(--weedily-transition);
  font-weight: 500;
}

.pagination .page-link:hover,
.pagination .page-item a:hover {
  background: var(--weedily-beige);
  color: var(--weedily-green-hover);
  border-color: var(--weedily-lime);
}

.pagination .active .page-link,
.page-item.active .page-link {
  background: var(--weedily-green);
  border-color: var(--weedily-green);
  color: var(--weedily-white);
}

/* ============================================
   PAGE PRODUIT
   ============================================ */
.product-container,
#product {
  background: var(--weedily-white);
  border-radius: var(--weedily-radius);
  #padding: 2rem;
  box-shadow: var(--weedily-shadow);
}

.product-images {
  border-radius: var(--weedily-radius-sm);
  overflow: hidden;
}

/* Onglets produit */
.tabs,
.product-tabs {
  margin-top: 2rem;
}

.tabs .nav-tabs,
.product-tabs .nav-tabs {
  border-bottom: 2px solid var(--weedily-light-gray);
}

.tabs .nav-tabs .nav-link,
.product-tabs .nav-tabs .nav-link {
  color: var(--weedily-green);
  border-radius: var(--weedily-radius-sm) var(--weedily-radius-sm) 0 0;
  border: none;
  padding: 0.75rem 1.5rem;
  font-weight: 600;
  transition: var(--weedily-transition);
}

.tabs .nav-tabs .nav-link:hover,
.product-tabs .nav-tabs .nav-link:hover {
  background: var(--weedily-beige);
  color: var(--weedily-green-hover);
}

.tabs .nav-tabs .nav-link.active,
.product-tabs .nav-tabs .nav-link.active {
  color: var(--weedily-white);
  background: var(--weedily-green);
  border-color: var(--weedily-green);
}

.tab-content {
  background: var(--weedily-white);
  padding: 1.5rem;
  border: 1px solid var(--weedily-light-gray);
  border-top: none;
  border-radius: 0 0 var(--weedily-radius-sm) var(--weedily-radius-sm);
}

/* ============================================
   FORMULAIRES
   ============================================ */
.form-control,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="number"],
textarea,
select {
  border: 1px solid var(--weedily-border);
  border-radius: var(--weedily-radius-sm);
  background: var(--weedily-white);
  padding: 0.75rem 1rem;
  transition: var(--weedily-transition);
  font-size: 1rem;
}

.form-control:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
textarea:focus,
select:focus {
  border-color: var(--weedily-lime);
  box-shadow: 0 0 0 0.2rem rgba(140, 207, 133, 0.25);
  outline: none;
}

.form-group label,
.form-control-label {
  color: var(--weedily-charcoal);
  font-weight: 600;
  margin-bottom: 0.5rem;
}

/* Checkbox & Radio */
.custom-checkbox .custom-control-label::before,
.custom-radio .custom-control-label::before {
  border-color: var(--weedily-border);
}

.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before,
.custom-radio .custom-control-input:checked ~ .custom-control-label::before {
  background-color: var(--weedily-green);
  border-color: var(--weedily-green);
}

/* ============================================
   PANIER & CHECKOUT
   ============================================ */
.cart-summary,
.checkout-step,
.card,
.cart-grid-body,
.cart-overview {
  background: var(--weedily-white);
  border: 1px solid var(--weedily-light-gray);
  border-radius: var(--weedily-radius);
  box-shadow: var(--weedily-shadow);
  padding: 1.5rem;
}

.cart-grid-body a,
.cart-overview a {
  color: var(--weedily-green);
  transition: var(--weedily-transition);
}

.cart-grid-body a:hover,
.cart-overview a:hover {
  color: var(--weedily-green-hover);
  text-decoration: none;
}

.cart-summary-line {
  border-bottom: 1px solid var(--weedily-light-gray);
  padding: 0.75rem 0;
}

.cart-summary-line.cart-total {
  font-weight: 700;
  font-size: 1.25rem;
  color: var(--weedily-green);
  border-top: 2px solid var(--weedily-green);
  margin-top: 1rem;
  padding-top: 1rem;
}

/* Étapes checkout */
.checkout-step.-reachable.-complete h1 .step-edit {
  color: var(--weedily-green);
}

.checkout-step h1 {
  color: var(--weedily-charcoal);
}

.checkout-step.-current {
  border-color: var(--weedily-green);
}

/* ============================================
   ALERTES
   ============================================ */
.alert {
  border-radius: var(--weedily-radius-sm);
  padding: 1rem 1.25rem;
  margin-bottom: 1rem;
}

.alert-success {
  background: #EAF6ED;
  border: 1px solid #cfe8d3;
  color: #1b4b3c;
}

.alert-info {
  background: #F2F6FB;
  border: 1px solid #d8e2f0;
  color: #1e3d6e;
}

.alert-warning {
  background: #FFF7E6;
  border: 1px solid #FFE1A6;
  color: #7a4c00;
}

.alert-danger {
  background: #FEECEB;
  border: 1px solid #F5C2C0;
  color: #8B1E1E;
}

/* ============================================
   FOOTER
   ============================================ */
#footer,
.footer-container {
  background: var(--weedily-green);
  color: var(--weedily-white);
  padding: 3rem 0 1rem;
  margin-top: 4rem;
}

#footer a,
.footer-container a {
  color: var(--weedily-white);
  opacity: 0.9;
  transition: var(--weedily-transition);
  text-decoration: none;
}

#footer a:hover,
.footer-container a:hover {
  opacity: 1;
  color: var(--weedily-lime);
  text-decoration: none;
}

#footer h3,
#footer h4,
.footer-container h3,
.footer-container h4,
.block-contact h4,
.links h4 {
  color: var(--weedily-white);
  font-weight: 600;
  margin-bottom: 1rem;
}

.block-contact,
.links {
  color: var(--weedily-white);
}

.block-contact a,
.links a {
  color: var(--weedily-white);
  opacity: 0.9;
}

.block-contact a:hover,
.links a:hover {
  opacity: 1;
  color: var(--weedily-lime);
}

/* Footer copyright */
.footer-copyright {
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  padding-top: 1.5rem;
  margin-top: 2rem;
  text-align: center;
  opacity: 0.8;
}

/* ============================================
   BADGES & TAGS
   ============================================ */
.badge,
.label {
  font-weight: 600;
  padding: 0.35em 0.65em;
  border-radius: 0.35rem;
  font-size: 0.85rem;
}

.badge.badge-primary,
.badge-primary {
  background: var(--weedily-green);
  color: var(--weedily-white);
}

.badge.badge-success,
.badge-success {
  background: var(--weedily-lime);
  color: #113327;
}

.badge-premium {
  background: var(--weedily-gold);
  color: #1a1a1a;
}

/* ============================================
   CATÉGORIES
   ============================================ */
.category-cover img {
  border-radius: var(--weedily-radius);
}

.category-description {
  background: var(--weedily-white);
  padding: 1.5rem;
  border-radius: var(--weedily-radius);
  margin: 1.5rem 0;
  box-shadow: var(--weedily-shadow);
}

.subcategory-image {
  border-radius: var(--weedily-radius-sm);
  overflow: hidden;
  transition: var(--weedily-transition);
}

.subcategory-image:hover {
  transform: scale(1.05);
  box-shadow: var(--weedily-shadow-hover);
}

/* ============================================
   LIENS GÉNÉRAUX
   ============================================ */
a {
  color: var(--weedily-green);
  transition: var(--weedily-transition);
}

a:hover {
  color: var(--weedily-green-hover);
  text-decoration: none;
}

/* ============================================
   TOOLTIP & POPOVER
   ============================================ */
.tooltip-inner {
  background: var(--weedily-green);
  border-radius: var(--weedily-radius-sm);
}

.bs-tooltip-auto[x-placement^=top] .arrow::before,
.bs-tooltip-top .arrow::before {
  border-top-color: var(--weedily-green);
}

.bs-tooltip-auto[x-placement^=bottom] .arrow::before,
.bs-tooltip-bottom .arrow::before {
  border-bottom-color: var(--weedily-green);
}

.popover {
  border: 1px solid var(--weedily-light-gray);
  box-shadow: var(--weedily-shadow);
}

/* ============================================
   IMAGES & PLACEHOLDER
   ============================================ */
.placeholder {
  background: #fafaf8;
  border: 1px dashed var(--weedily-border);
  border-radius: var(--weedily-radius-sm);
}

img {
  max-width: 100%;
  height: auto;
}

/* ============================================
   MODAL
   ============================================ */
.modal-content {
  border-radius: var(--weedily-radius);
  border: none;
  box-shadow: 0 16px 48px rgba(28, 63, 53, 0.2);
}

.modal-header {
  background: var(--weedily-beige);
  border-bottom: 1px solid var(--weedily-border);
  border-radius: var(--weedily-radius) var(--weedily-radius) 0 0;
}

.modal-title {
  color: var(--weedily-green);
  font-weight: 600;
}

.modal-footer {
  border-top: 1px solid var(--weedily-border);
}

.close {
  color: var(--weedily-charcoal);
  opacity: 0.6;
  transition: var(--weedily-transition);
}

.close:hover {
  opacity: 1;
  color: var(--weedily-green);
}

/* ============================================
   LISTE DE SOUHAITS
   ============================================ */
.wishlist-button,
.wishlist-button-add {
  color: var(--weedily-gold);
  transition: var(--weedily-transition);
}

.wishlist-button:hover,
.wishlist-button-add:hover {
  color: var(--weedily-green);
  transform: scale(1.1);
}

/* ============================================
   COMPTE CLIENT
   ============================================ */
.page-my-account #content {
  background: var(--weedily-white);
  padding: 2rem;
  border-radius: var(--weedily-radius);
  box-shadow: var(--weedily-shadow);
}

.account-list a {
  color: var(--weedily-charcoal);
  padding: 1rem;
  display: block;
  border: 1px solid var(--weedily-light-gray);
  border-radius: var(--weedily-radius-sm);
  margin-bottom: 0.75rem;
  transition: var(--weedily-transition);
}

.account-list a:hover {
  background: var(--weedily-beige);
  border-color: var(--weedily-lime);
  color: var(--weedily-green);
  text-decoration: none;
  transform: translateX(4px);
}

/* ============================================
   RESPONSIVE
   ============================================ */
@media (max-width: 991px) {
  h1, .h1 {
    font-size: 2rem;
  }
  
  h2, .h2 {
    font-size: 1.75rem;
  }
  
  .product-miniature {
    margin-bottom: 1.5rem;
  }
  
  #footer {
    padding: 2rem 0 1rem;
  }
}

@media (max-width: 767px) {
  h1, .h1 {
    font-size: 1.75rem;
  }
  
  h2, .h2 {
    font-size: 1.5rem;
  }
  
  .btn {
    padding: 0.5rem 1rem;
    font-size: 0.95rem;
  }
  
  .cart-summary,
  .checkout-step {
    padding: 1rem;
  }
  
  .product-container,
  #product {
    padding: 1rem;
  }
}

@media (max-width: 575px) {
  body {
    font-size: 0.95rem;
  }
  
  .product-miniature .product-price,
  .product-price {
    font-size: 1.1rem;
  }
  
  .btn {
    width: 100%;
    margin-bottom: 0.5rem;
  }
}

/* ============================================
   ANIMATIONS & TRANSITIONS
   ============================================ */
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.product-miniature,
.cart-summary,
.checkout-step {
  animation: fadeIn 0.5s ease;
}

/* Hover smooth sur les images */
.product-miniature img,
.category-cover img {
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ============================================
   BLOCKS CMS & PAGES STATIQUES
   ============================================ */
.cms-page #content,
.page-content {
  background: var(--weedily-white);
  padding: 2rem;
  border-radius: var(--weedily-radius);
  box-shadow: var(--weedily-shadow);
}

.cms-page h2,
.page-content h2 {
  color: var(--weedily-green);
  margin-top: 2rem;
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid var(--weedily-lime);
}

.cms-page p,
.page-content p {
  margin-bottom: 1rem;
  line-height: 1.7;
}

/* ============================================
   BLOG / ARTICLES
   ============================================ */
.post,
.article {
  background: var(--weedily-white);
  border-radius: var(--weedily-radius);
  box-shadow: var(--weedily-shadow);
  margin-bottom: 2rem;
  overflow: hidden;
  transition: var(--weedily-transition);
}

.post:hover,
.article:hover {
  box-shadow: var(--weedily-shadow-hover);
  transform: translateY(-4px);
}

.post-title,
.article-title {
  color: var(--weedily-charcoal);
  font-weight: 600;
  margin-bottom: 1rem;
}

.post-title a,
.article-title a {
  color: var(--weedily-charcoal);
  transition: var(--weedily-transition);
}

.post-title a:hover,
.article-title a:hover {
  color: var(--weedily-green);
}

.post-meta,
.article-meta {
  color: #999;
  font-size: 0.9rem;
  margin-bottom: 1rem;
}

.post-excerpt,
.article-excerpt {
  color: #666;
  line-height: 1.6;
}

/* ============================================
   NEWSLETTER
   ============================================ */
.block_newsletter,
#block_newsletter {
  background: var(--weedily-white);
  border: 1px solid var(--weedily-light-gray);
  border-radius: var(--weedily-radius);
  padding: 2rem;
  box-shadow: var(--weedily-shadow);
}

.block_newsletter h4,
#block_newsletter h4 {
  color: var(--weedily-green);
  font-weight: 600;
  margin-bottom: 1rem;
}

.block_newsletter input[type="email"],
#block_newsletter input[type="email"] {
  border: 1px solid var(--weedily-border);
  border-radius: var(--weedily-radius-sm);
  padding: 0.75rem 1rem;
}

.block_newsletter .btn,
#block_newsletter .btn {
  background: var(--weedily-green);
  border-color: var(--weedily-green);
  color: var(--weedily-white);
  border-radius: var(--weedily-radius-sm);
}

/* ============================================
   RÉASSURANCE
   ============================================ */
.block-reassurance,
.reassurance {
  background: var(--weedily-white);
  border: 1px solid var(--weedily-light-gray);
  border-radius: var(--weedily-radius);
  padding: 1.5rem;
  text-align: center;
  transition: var(--weedily-transition);
}

.block-reassurance:hover,
.reassurance:hover {
  box-shadow: var(--weedily-shadow);
  transform: translateY(-2px);
}

.block-reassurance .reassurance-icon,
.reassurance .icon {
  color: var(--weedily-green);
  font-size: 2.5rem;
  margin-bottom: 1rem;
}

.block-reassurance h3,
.reassurance h3 {
  color: var(--weedily-charcoal);
  font-size: 1.1rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
}

.block-reassurance p,
.reassurance p {
  color: #666;
  font-size: 0.9rem;
  margin-bottom: 0;
}

/* ============================================
   SLIDERS & CARROUSELS
   ============================================ */
.carousel-inner,
.slick-slide {
  border-radius: var(--weedily-radius);
  overflow: hidden;
}

.carousel-control-prev,
.carousel-control-next {
  width: 50px;
  height: 50px;
  background: var(--weedily-green);
  border-radius: 50%;
  top: 50%;
  transform: translateY(-50%);
  opacity: 0.9;
  transition: var(--weedily-transition);
}

.carousel-control-prev:hover,
.carousel-control-next:hover {
  opacity: 1;
  background: var(--weedily-green-hover);
}

.carousel-indicators li {
  background: var(--weedily-green);
  border-radius: 50%;
  width: 12px;
  height: 12px;
}

.carousel-indicators .active {
  background: var(--weedily-lime);
}

/* ============================================
   COMPARATEUR PRODUITS
   ============================================ */
.product-comparison,
#product-comparison {
  background: var(--weedily-white);
  border-radius: var(--weedily-radius);
  box-shadow: var(--weedily-shadow);
  padding: 1.5rem;
}

.product-comparison table th {
  background: var(--weedily-green);
  color: var(--weedily-white);
  font-weight: 600;
  padding: 1rem;
}

.product-comparison table td {
  padding: 1rem;
  border-bottom: 1px solid var(--weedily-light-gray);
}

/* ============================================
   AVIS CLIENTS
   ============================================ */
.product-comments,
.reviews {
  background: var(--weedily-white);
  border-radius: var(--weedily-radius);
  padding: 1.5rem;
  margin-top: 2rem;
}

.comment,
.review {
  border-bottom: 1px solid var(--weedily-light-gray);
  padding: 1.5rem 0;
}

.comment:last-child,
.review:last-child {
  border-bottom: none;
}

.comment-author,
.review-author {
  color: var(--weedily-green);
  font-weight: 600;
  margin-bottom: 0.5rem;
}

.comment-rating,
.review-rating {
  color: var(--weedily-gold);
  margin-bottom: 0.5rem;
}

.star-rating {
  color: var(--weedily-gold);
}

.star-rating .star {
  font-size: 1.2rem;
}

/* ============================================
   QUANTITÉ PRODUIT
   ============================================ */
.product-quantity .input-group {
  border: 1px solid var(--weedily-border);
  border-radius: var(--weedily-radius-sm);
  overflow: hidden;
}

.product-quantity .btn {
  background: var(--weedily-beige);
  border: none;
  color: var(--weedily-green);
  font-weight: 600;
}

.product-quantity .btn:hover {
  background: var(--weedily-green);
  color: var(--weedily-white);
}

.product-quantity input {
  border: none;
  text-align: center;
  font-weight: 600;
}

/* ============================================
   VARIANTES PRODUIT
   ============================================ */
.product-variants {
  margin: 1.5rem 0;
}

.product-variants .control-label {
  color: var(--weedily-charcoal);
  font-weight: 600;
  margin-bottom: 0.75rem;
  display: block;
}

.product-variants select {
  width: 100%;
  padding: 0.75rem;
  border: 1px solid var(--weedily-border);
  border-radius: var(--weedily-radius-sm);
  background: var(--weedily-white);
}

.product-variants .color {
  display: inline-block;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  margin-right: 0.5rem;
  border: 2px solid var(--weedily-border);
  cursor: pointer;
  transition: var(--weedily-transition);
}

.product-variants .color:hover,
.product-variants .color.active {
  border-color: var(--weedily-green);
  transform: scale(1.1);
  box-shadow: 0 2px 8px rgba(28, 63, 53, 0.3);
}

/* ============================================
   DISPONIBILITÉ PRODUIT
   ============================================ */
.product-availability {
  margin: 1rem 0;
  padding: 0.75rem;
  border-radius: var(--weedily-radius-sm);
  font-weight: 600;
}

.product-availability.product-available {
  background: #EAF6ED;
  color: #1b4b3c;
  border: 1px solid #cfe8d3;
}

.product-availability.product-unavailable {
  background: #FEECEB;
  color: #8B1E1E;
  border: 1px solid #F5C2C0;
}

.product-availability.product-last-items {
  background: #FFF7E6;
  color: #7a4c00;
  border: 1px solid #FFE1A6;
}

/* ============================================
   CODES PROMO
   ============================================ */
.promo-code,
.discount-code {
  background: var(--weedily-white);
  border: 1px solid var(--weedily-light-gray);
  border-radius: var(--weedily-radius);
  padding: 1rem;
  margin: 1rem 0;
}

.promo-code input {
  border: 1px solid var(--weedily-border);
  border-radius: var(--weedily-radius-sm);
  padding: 0.75rem;
}

.promo-code .btn {
  background: var(--weedily-green);
  color: var(--weedily-white);
  border-radius: var(--weedily-radius-sm);
}

.promo-highlighted {
  background: linear-gradient(135deg, var(--weedily-lime) 0%, var(--weedily-green) 100%);
  color: var(--weedily-white);
  padding: 1rem 1.5rem;
  border-radius: var(--weedily-radius-sm);
  font-weight: 600;
  text-align: center;
  box-shadow: var(--weedily-shadow);
}

/* ============================================
   LOADER / SPINNER
   ============================================ */
.loader,
.spinner {
  border: 3px solid var(--weedily-beige);
  border-top: 3px solid var(--weedily-green);
  border-radius: 50%;
  width: 40px;
  height: 40px;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* ============================================
   MESSAGES DE STATUT
   ============================================ */
.success-message {
  background: #EAF6ED;
  border-left: 4px solid var(--weedily-lime);
  color: #1b4b3c;
  padding: 1rem 1.25rem;
  border-radius: var(--weedily-radius-sm);
  margin-bottom: 1rem;
}

.error-message {
  background: #FEECEB;
  border-left: 4px solid #F5C2C0;
  color: #8B1E1E;
  padding: 1rem 1.25rem;
  border-radius: var(--weedily-radius-sm);
  margin-bottom: 1rem;
}

.info-message {
  background: #F2F6FB;
  border-left: 4px solid var(--weedily-green);
  color: #1e3d6e;
  padding: 1rem 1.25rem;
  border-radius: var(--weedily-radius-sm);
  margin-bottom: 1rem;
}

/* ============================================
   TABLES
   ============================================ */
.table {
  background: var(--weedily-white);
}

.table thead th {
  background: var(--weedily-green);
  color: var(--weedily-white);
  font-weight: 600;
  border: none;
  padding: 1rem;
}

.table tbody tr {
  border-bottom: 1px solid var(--weedily-light-gray);
  transition: var(--weedily-transition);
}

.table tbody tr:hover {
  background: var(--weedily-beige);
}

.table tbody td {
  padding: 1rem;
  vertical-align: middle;
}

/* ============================================
   MODE SOMBRE (OPTIONNEL)
   ============================================ */
body.dark-mode {
  background: #121212;
  color: #E7E7E7;
}

body.dark-mode #header,
body.dark-mode .header-nav {
  background: #1a1a1a;
}

body.dark-mode #footer {
  background: #0f2721;
}

body.dark-mode .product-miniature,
body.dark-mode .card,
body.dark-mode .cart-summary {
  background: #1e1e1e;
  border-color: #333;
}

body.dark-mode .form-control,
body.dark-mode input[type="text"],
body.dark-mode input[type="email"] {
  background: #2a2a2a;
  border-color: #444;
  color: #E7E7E7;
}

/* ============================================
   ACCESSIBILITÉ
   ============================================ */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Focus visible pour navigation clavier */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid var(--weedily-lime);
  outline-offset: 2px;
}

/* ============================================
   PRINT STYLES
   ============================================ */
@media print {
  body {
    background: white;
  }
  
  #header,
  #footer,
  .breadcrumb,
  .btn,
  .product-flags {
    display: none;
  }
  
  .product-miniature,
  .card {
    box-shadow: none;
    border: 1px solid #ddd;
  }
}

/* ============================================
   PERSONNALISATIONS SUPPLÉMENTAIRES
   ============================================ */

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

/* Sélection de texte */
::selection {
  background: var(--weedily-lime);
  color: #113327;
}

::-moz-selection {
  background: var(--weedily-lime);
  color: #113327;
}

/* Scrollbar personnalisée (Webkit) */
::-webkit-scrollbar {
  width: 12px;
}

::-webkit-scrollbar-track {
  background: var(--weedily-beige);
}

::-webkit-scrollbar-thumb {
  background: var(--weedily-green);
  border-radius: 6px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--weedily-green-hover);
}

/* ============================================
   FIN DU FICHIER
   ============================================ */
   
   /* ============================================
   PATCH Weedily — wrapper + header-nav/header-top
   ============================================ */

/* 1) Wrapper : remplacer le fond #f6f6f6 par le beige Weedily */
#wrapper {
  padding-top: 1.563rem;             /* conforme à ton test */
  background: var(--weedily-beige) !important;
}

/* 2) Header-top : fond beige Weedily */
.header-top {
  background: var(--weedily-beige) !important;
}

/* 3) Header-nav : comme le footer (fond vert, texte/liens blancs, hover lime) */
.header-nav {
  background: var(--weedily-green) !important;
  color: var(--weedily-white) !important;
  box-shadow: none !important;       /* sobre comme le footer */
  backdrop-filter: none !important;  /* on désactive le flou translucide */
}

/* Liens dans le header-nav */
.header-nav a {
  color: var(--weedily-white) !important;
  text-decoration: none !important;
  transition: var(--weedily-transition);
}
.header-nav a:hover {
  color: var(--weedily-lime) !important;
  text-decoration: none !important;
}

/* ============================================
   PATCH Weedily — Appliquer le style "header-nav" sur header-top
   ============================================ */

/* Header-top : fond vert Weedily, texte/liens blancs, hover lime */
.header-top {
  background: var(--weedily-green) !important;
  color: var(--weedily-white) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

.header-top a {
  color: var(--weedily-white) !important;
  text-decoration: none !important;
  transition: var(--weedily-transition);
}
.header-top a:hover,
.header-top a:focus {
  color: var(--weedily-lime) !important;
  text-decoration: none !important;
}

/* Dropdowns du menu dans header-top : héritent du style vert */
.header-top .dropdown-menu {
  background: var(--weedily-green) !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  border-radius: var(--weedily-radius-sm) !important;
  box-shadow: none !important;
  padding: .5rem 0 !important;
  min-width: 12rem;
}

.header-top .dropdown-item {
  color: var(--weedily-white) !important;
  background: transparent !important;
  transition: var(--weedily-transition);
}

.header-top .dropdown-item:hover,
.header-top .dropdown-item:focus {
  color: var(--weedily-lime) !important;
  background: rgba(255, 255, 255, 0.06) !important;
  text-decoration: none !important;
}

.header-top .dropdown-divider {
  border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
}

.header-top .dropdown-toggle::after {
  border-top-color: var(--weedily-white) !important;
}

/* ============================================
   PATCH Weedily — dropdown-item + top sub-menu + état actif
   ============================================ */

/* 1) Liens des dropdown-item (dans le header-top)
   - fond : weedily-lime
   - texte : weedily-white
   - texte hover : weedily-lime
*/
.header-top .dropdown-item,
.header-top .dropdown-item a {
  background: var(--weedily-green) !important;
  color: var(--weedily-white) !important;
  transition: var(--weedily-transition);
}

.header-top .dropdown-item:hover,
.header-top .dropdown-item:focus,
.header-top .dropdown-item a:hover,
.header-top .dropdown-item a:focus {
  color: var(--weedily-lime) !important;
  background: var(--weedily-green) !important;
  text-decoration: none !important;
}

/* 2) Liens du top sub-menu
   - fond : weedily-beige
   - texte : weedily-charcoal
   - texte hover : weedily-lime
*/
.top-menu .dropdown-menu .dropdown-item,
.top-menu .sub-menu a {
  background: var(--weedily-beige) !important;
  color: var(--weedily-charcoal) !important;
  transition: var(--weedily-transition);
}

.top-menu .dropdown-menu .dropdown-item:hover,
.top-menu .dropdown-menu .dropdown-item:focus,
.top-menu .sub-menu a:hover,
.top-menu .sub-menu a:focus {
  color: var(--weedily-lime) !important;
  background: var(--weedily-green) !important;
  text-decoration: none !important;
}

/* 3) État actif / sélectionné pour les menus et sous-menus
   - texte lime, fond transparent (ou beige clair pour cohérence)
*/
.header-top .dropdown-item.active,
.header-top .dropdown-item[aria-current="page"],
.top-menu .dropdown-menu .dropdown-item.active,
.top-menu .dropdown-menu .dropdown-item[aria-current="page"],
.top-menu .sub-menu a.active,
.top-menu .sub-menu a[aria-current="page"] {
  color: var(--weedily-lime) !important;
  background: var(--weedily-beige) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

/* ============================================
   PATCH Weedily — État actif & séparateurs top-menu
   ============================================ */

/* 1) État actif du menu top
   - texte lime Weedily
   - suppression des effets parasites
   - souligne subtilement (facultatif)
*/
.top-menu > .navbar > ul > li > a.active,
.top-menu > .navbar > ul > li > a[aria-current="page"],
.header-top .navbar > ul > li > a.active,
.header-top .navbar > ul > li > a[aria-current="page"] {
  color: var(--weedily-lime) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  border-bottom: 2px solid var(--weedily-lime) !important;
  padding-bottom: 0.25rem !important;
}

/* Effet hover cohérent */
.top-menu > .navbar > ul > li > a:hover,
.header-top .navbar > ul > li > a:hover {
  color: var(--weedily-lime) !important;
  text-decoration: none !important;
}

/* 2) Suppression des séparateurs verticaux entre items */
.top-menu > .navbar > ul > li,
.header-top .navbar > ul > li {
  border-right: none !important;
}

/* Si certains thèmes injectent un pseudo-élément (|) ou (::before) */
.top-menu > .navbar > ul > li::before,
.header-top .navbar > ul > li::before {
  display: none !important;
  content: none !important;
}

/* 3) Harmonisation du spacing horizontal entre items */
.top-menu > .navbar > ul > li,
.header-top .navbar > ul > li {
  margin: 0 0.75rem !important;
}

/* ============================================
   PATCH Weedily — Fond header/menu + actif responsive
   ============================================ */

/* 1) Forcer le fond weedily-green (remplace l'ancien fond beige) */
#header,
.header-top,
.header-nav,
.top-menu,
._desktop_top_menu {
  background: var(--weedily-green) !important;
}

/* (facultatif mais utile lisibilité)
   Si tu veux que tout lien soit blanc par défaut sur ces fonds verts, décommente :
#header a,
.header-top a,
.header-nav a,
.top-menu a,
._desktop_top_menu a {
  color: var(--weedily-white) !important;
}
*/

/* 2) Variante responsive : item actif du top-menu visible sur mobile */
@media (max-width: 767px) {
  .top-menu > .navbar > ul > li > a.active,
  .top-menu > .navbar > ul > li > a[aria-current="page"],
  .header-top .navbar > ul > li > a.active,
  .header-top .navbar > ul > li > a[aria-current="page"] {
    background: var(--weedily-lime) !important;
    color: var(--weedily-white) !important;
    border-bottom: none !important;
    border-radius: 0.5rem !important;
    padding: 0.4rem 0.75rem !important;
  }

  .top-menu > .navbar > ul > li > a:hover,
  .header-top .navbar > ul > li > a:hover {
    background: var(--weedily-lime) !important;
    color: var(--weedily-white) !important;
  }
}

/* ============================================
   PATCH Weedily — Popover / Sous-menu (Submenu)
   avec ombre verte sur hover
   ============================================ */

/* Popover / sous-menu de navigation */
.top-menu .popover,
.top-menu .dropdown-menu,
.header-top .popover,
.header-top .dropdown-menu,
.header-nav .popover,
.header-nav .dropdown-menu {
  background: var(--weedily-beige) !important;
  color: var(--weedily-charcoal) !important;
  border: 1px solid var(--weedily-border) !important;
  border-radius: var(--weedily-radius-sm) !important;
  box-shadow: var(--weedily-shadow) !important;
  transition: var(--weedily-transition);
}

/* Survol complet du bloc sous-menu : ombre verte douce */
.top-menu .popover:hover,
.top-menu .dropdown-menu:hover,
.header-top .popover:hover,
.header-top .dropdown-menu:hover,
.header-nav .popover:hover,
.header-nav .dropdown-menu:hover {
  box-shadow: var(--weedily-shadow-hover) !important;
}

/* Liens à l'intérieur des popovers / sous-menus */
.top-menu .popover a,
.top-menu .dropdown-menu a,
.header-top .popover a,
.header-top .dropdown-menu a,
.header-nav .popover a,
.header-nav .dropdown-menu a {
  color: var(--weedily-charcoal) !important;
  text-decoration: none !important;
  transition: var(--weedily-transition);
}

/* Hover / focus : texte lime sur fond beige */
.top-menu .popover a:hover,
.top-menu .dropdown-menu a:hover,
.header-top .popover a:hover,
.header-top .dropdown-menu a:hover,
.header-nav .popover a:hover,
.header-nav .dropdown-menu a:hover {
  color: var(--weedily-lime) !important;
  background: var(--weedily-beige) !important;
  text-decoration: none !important;
}

/* Séparateurs des sous-menus */
.top-menu .popover .dropdown-divider,
.header-top .popover .dropdown-divider,
.header-nav .popover .dropdown-divider {
  border-top: 1px solid var(--weedily-border) !important;
}


/* ============================================
   PATCH Weedily — Harmonisation btn-primary.add-to-cart
   ============================================ */

/* Style par défaut identique à btn-primary */
.btn-primary.add-to-cart,
.add-to-cart,
button[data-button-action="add-to-cart"] {
  background: var(--weedily-green) !important;
  border-color: var(--weedily-green) !important;
  color: var(--weedily-white) !important;
  border-radius: var(--weedily-radius-sm);
  box-shadow: 0 6px 14px rgba(28, 63, 53, 0.18);
  font-weight: 600;
  padding: 0.6rem 1.5rem;
  transition: var(--weedily-transition);
}

/* Hover : vert plus clair, texte toujours blanc */
.btn-primary.add-to-cart:hover,
.add-to-cart:hover,
button[data-button-action="add-to-cart"]:hover {
  background: var(--weedily-green-hover) !important;
  border-color: var(--weedily-green-hover) !important;
  color: var(--weedily-white) !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(28, 63, 53, 0.25);
}

/* Focus/active : cohérence du retour visuel */
.btn-primary.add-to-cart:focus,
.add-to-cart:focus,
button[data-button-action="add-to-cart"]:focus,
.btn-primary.add-to-cart:active,
.add-to-cart:active,
button[data-button-action="add-to-cart"]:active {
  background: var(--weedily-green-hover) !important;
  border-color: var(--weedily-green-hover) !important;
  color: var(--weedily-white) !important;
  outline: none !important;
  box-shadow: 0 0 0 0.2rem rgba(140, 207, 133, 0.25);
}

/* ============================================
   PATCH Weedily — Tabs (active lime + hover underline vert)
   ============================================ */

/* Hover : bordure inférieure verte */
.tabs .nav-tabs .nav-link:hover,
.product-tabs .nav-tabs .nav-link:hover {
  border-bottom: 3px solid var(--weedily-green) !important;
  color: var(--weedily-green) !important;
  background: var(--weedily-lime) !important;
  text-decoration: none !important;
}

/* Onglet actif : fond lime, texte vert */
.tabs .nav-tabs .nav-link.active,
.product-tabs .nav-tabs .nav-link.active {
  background: var(--weedily-beige) !important;
  color: var(--weedily-green) !important;
  border-bottom: 3px solid var(--weedily-green) !important;
  border-radius: var(--weedily-radius-sm) var(--weedily-radius-sm) 0 0;
  font-weight: 600;
}


/* ============================================
   PATCH Weedily — Fix newsletter mobile (input visible)
   ============================================ */
@media (max-width: 575px) {
  /* Empêche le bouton de prendre 100% dans ce composant */
  #block_newsletter .btn,
  .block_newsletter .btn,
  #block_newsletter .input-group .btn,
  .block_newsletter .input-group .btn {
    width: auto !important;
    flex: 0 0 auto;
    margin-left: .5rem;
  }

  /* Forcer une ligne unique input + bouton */
  #block_newsletter .input-group,
  .block_newsletter .input-group {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
  }

  /* L’input occupe l’espace restant, reste visible */
  #block_newsletter input[type="email"],
  .block_newsletter input[type="email"] {
    flex: 1 1 auto;
    min-width: 0;        /* évite la compression à 0px en flex */
    width: auto;
  }

  /* Harmonisation des arrondis si nécessaire */
  #block_newsletter .input-group > input[type="email"] {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }
  #block_newsletter .input-group > .btn {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }
}

/* ============================================
   PATCH Weedily — Background du block newsletter
   ============================================ */

/* Bloc principal : fond beige Weedily */
#block_newsletter,
.block_newsletter {
  background: var(--weedily-beige) !important;
  border: 1px solid var(--weedily-border);
  border-radius: var(--weedily-radius);
  box-shadow: var(--weedily-shadow);
}

/* Input email : fond blanc Weedily */
#block_newsletter input[type="email"],
.block_newsletter input[type="email"] {
  background: var(--weedily-white) !important;
  border: 1px solid var(--weedily-border);
  color: var(--weedily-charcoal);
}

/* Focus : effet lime doux */
#block_newsletter input[type="email"]:focus,
.block_newsletter input[type="email"]:focus {
  border-color: var(--weedily-lime);
  box-shadow: 0 0 0 0.2rem rgba(140, 207, 133, 0.25);
}

/* Bouton : vert Weedily, inchangé */
#block_newsletter .btn,
.block_newsletter .btn {
  background: var(--weedily-green);
  border-color: var(--weedily-green);
  color: var(--weedily-white);
  border-radius: var(--weedily-radius-sm);
  transition: var(--weedily-transition);
}

#block_newsletter .btn:hover,
.block_newsletter .btn:hover {
  background: var(--weedily-green-hover);
  border-color: var(--weedily-green-hover);
}

/* ============================================
   PATCH Weedily — Titres du footer (h3 / h4 hidden-sm-down)
   ============================================ */

/* Titres de section footer : p.h3.hidden-sm-down et p.h4.hidden-sm-down */
#footer p.h3.hidden-sm-down,
#footer p.h4.hidden-sm-down,
.footer-container p.h3.hidden-sm-down,
.footer-container p.h4.hidden-sm-down {
  color: var(--weedily-lime) !important;
  font-weight: 700;
  letter-spacing: 0.5px;
  margin-bottom: 1rem;
}

/* Si le titre contient un lien */
#footer p.h3.hidden-sm-down a,
#footer p.h4.hidden-sm-down a,
.footer-container p.h3.hidden-sm-down a,
.footer-container p.h4.hidden-sm-down a {
  color: var(--weedily-lime) !important;
  text-decoration: none;
  transition: var(--weedily-transition);
}

/* Effet au survol du lien : texte blanc sur fond vert */
#footer p.h3.hidden-sm-down a:hover,
#footer p.h4.hidden-sm-down a:hover,
.footer-container p.h3.hidden-sm-down a:hover,
.footer-container p.h4.hidden-sm-down a:hover {
  color: var(--weedily-white) !important;
  text-decoration: none;
}

