/* ============================================================
   MALEKA SALHI — Custom CSS
   Surcharge du thème Classic PrestaShop 8
   ============================================================ */

/* ── Google Fonts ── */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&display=swap');

/* ── Variables ── */
:root {
  --blue: #0055A4;
  --blue-light: #1a6fc4;
  --blue-pale: #e8f0fb;
  --blue-dark: #003a70;
  --gold: #c9a84c;
  --text: #1a1a1a;
  --muted: #6b6b6b;
  --bg: #fafaf8;
  --white: #ffffff;
}

/* ── Base ── */
html { scroll-behavior: smooth; }

body {
  font-family: 'Georgia', 'Times New Roman', serif;
  background: var(--bg) !important;
  color: var(--text) !important;
  line-height: 1.7;
}

a { text-decoration: none !important; color: inherit; }

/* ── NOM DU SITE (header-nav gauche) ── */
a.shop-name {
  font-family: 'Cormorant Garamond', 'Georgia', serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  font-style: normal !important;
  letter-spacing: 4px !important;
  text-transform: uppercase !important;
  color: var(--blue-dark) !important;
  text-decoration: none !important;
  line-height: 1 !important;
  display: inline-block !important;
  position: relative !important;
  padding-bottom: 4px !important;
  background: none !important;
  -webkit-text-fill-color: var(--blue-dark) !important;
  white-space: nowrap !important;
}

a.shop-name-mobile {
  font-size: 13px !important;
  letter-spacing: 2px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  flex: 1 !important;
  text-align: center !important;
}

a.shop-name::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, var(--blue) 0%, var(--gold) 100%);
  opacity: 0.5;
}

/* ── NAVBAR ── */
#header {
  position: fixed !important;
  top: 0; left: 0; right: 0;
  z-index: 999;
  box-shadow: none;
}

.header-banner { display: none !important; }

#header .header-nav,
#header nav.header-nav {
  background: #fafaf8 !important;
  border-bottom: 1px solid rgba(0,85,164,0.12) !important;
  box-shadow: none !important;
  padding: 0 48px !important;
  min-height: 56px;
  position: relative !important;
  z-index: 10 !important;
  overflow: visible !important;
}

/* ── DESKTOP nav ── */
.header-desktop {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 56px;
}
.header-desktop-left { display: flex; align-items: center; }
.header-desktop-right { display: flex; align-items: center; gap: 28px; }

/* ── MOBILE nav ── */
.header-mobile { display: none; }

@media (max-width: 991px) {
  .header-desktop { display: none !important; }
  #header nav.header-nav {
    padding: 0 !important;
  }
  .header-mobile {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    min-height: 56px;
    width: 100%;
    padding: 0 12px;
    box-sizing: border-box;
  }
  .mobile-left,
  .mobile-right {
    display: flex;
    align-items: center;
    gap: 2px;
    flex-shrink: 0;
    height: 56px;
  }
  #menu-icon {
    cursor: pointer;
  }
  .shop-name-mobile {
    flex: 1;
    text-align: center;
    font-family: 'Cormorant Garamond', 'Georgia', serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--blue-dark);
    text-decoration: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding: 0 8px;
  }
  .mobile-icon-btn {
    align-items: center;
    padding: 6px;
    color: var(--blue-dark);
    text-decoration: none;
    position: relative;
  }
  .mobile-icon-btn .material-icons {
    font-size: 24px;
    display: inline !important;
    color: var(--blue-dark);
    line-height: 1;
  }
  .mobile-cart-btn {
    position: relative;
  }
  .mobile-cart-count {
    position: absolute;
    top: 0;
    right: 0;
    background: var(--blue);
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

/* ── Bouton loupe mobile (reset style button) ── */
#mobile-search-toggle {
  background: none !important;
  border: none !important;
  padding: 6px !important;
  cursor: pointer !important;
  color: var(--blue-dark) !important;
  display: flex !important;
  align-items: center !important;
  line-height: 1 !important;
}

#mobile-search-toggle .material-icons {
  font-size: 24px !important;
  color: var(--blue-dark) !important;
  display: inline !important;
}

/* ── Barre de recherche mobile déroulante ── */
#mobile-search-bar {
  display: none;
  position: fixed;
  top: 56px;
  left: 0;
  right: 0;
  z-index: 997;
  background: #fafaf8;
  border-bottom: 1px solid rgba(0, 85, 164, 0.12);
  box-shadow: 0 6px 20px rgba(0, 30, 80, 0.08);
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.3s ease;
}

#mobile-search-bar.is-open {
  display: block;
  max-height: 80px;
}

#mobile-search-bar form {
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
  padding: 12px 16px !important;
  border: none !important;
  border-bottom: none !important;
}

#mobile-search-bar input[type="text"] {
  flex: 1 !important;
  border: none !important;
  border-bottom: 1px solid rgba(0, 85, 164, 0.2) !important;
  border-radius: 0 !important;
  padding: 8px 0 !important;
  font-family: 'Georgia', 'Times New Roman', serif !important;
  font-size: 15px !important;
  background: transparent !important;
  color: var(--text) !important;
  outline: none !important;
  box-shadow: none !important;
}

#mobile-search-bar input[type="text"]::placeholder {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: var(--muted) !important;
}

#mobile-search-bar button[type="submit"] {
  background: none !important;
  border: none !important;
  padding: 8px 0 8px 12px !important;
  cursor: pointer !important;
  color: var(--blue) !important;
  display: flex !important;
  align-items: center !important;
}

#mobile-search-bar button[type="submit"] .material-icons {
  font-size: 20px !important;
  color: var(--blue) !important;
  display: inline !important;
}

@media (min-width: 992px) {
  #mobile-search-bar { display: none !important; }
}

#header .header-nav .col-md-5 {
  display: flex !important;
  align-items: center !important;
  flex: 0 0 41.6666% !important;
  max-width: 41.6666% !important;
}

#header .header-nav .col-md-7.right-nav {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 28px !important;
  flex: 0 0 58.3333% !important;
  max-width: 58.3333% !important;
}

#header .header-nav .col-md-7.right-nav > *,
#header .header-nav .col-md-7.right-nav .blockcart,
#header .header-nav .col-md-7.right-nav .user-info,
#header .header-nav .col-md-7.right-nav .language-selector-wrapper,
#header .header-nav .col-md-7.right-nav #_desktop_cart,
#header .header-nav .col-md-7.right-nav #_desktop_user_info,
#header .header-nav .col-md-7.right-nav #_desktop_language_selector,
#header .header-nav .col-md-7.right-nav #_desktop_currency_selector {
  display: flex !important;
  align-items: center !important;
  line-height: 1 !important;
}

#header .header-nav .blockcart {
  background: none !important;
  padding: 0 !important;
  height: 3rem !important;
  display: flex !important;
  align-items: center !important;
}

#header .header-nav .blockcart .cart-link {
  display: flex !important;
  align-items: center !important;
  height: 3rem !important;
  gap: 6px !important;
}

/* Aligner connexion et langue sur la même hauteur que le panier */
#header .header-nav #_desktop_user_info,
#header .header-nav #_desktop_user_info .user-info,
#header .header-nav #_desktop_user_info a,
#header .header-nav #_desktop_language_selector,
#header .header-nav #_desktop_language_selector .language-selector-wrapper,
#header .header-nav #_desktop_language_selector .language-selector,
#header .header-nav #_desktop_language_selector button,
#header .header-nav #_desktop_currency_selector,
#header .header-nav #_desktop_currency_selector .currency-selector,
#header .header-nav #_desktop_currency_selector button {
  height: 3rem !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  display: flex !important;
  align-items: center !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}


/* Style unifié pour tous les éléments nav du header-nav */
.nav-item,
#header .user-info a,
#header .blockcart a.cart-link,
#header .language-selector button.nav-item,
#header .currency-selector button.nav-item {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: var(--muted) !important;
  background: none !important;
  border: none !important;
  padding: 0 !important;
  cursor: pointer !important;
  transition: color 0.2s !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.nav-item:hover,
#header .user-info a:hover,
#header .blockcart a.cart-link:hover,
#header .language-selector button.nav-item:hover,
#header .currency-selector button.nav-item:hover {
  color: var(--blue) !important;
}

/* Masquer les icônes material-icons résiduelles dans le header-nav */
#header .header-nav .material-icons { display: none !important; }
#header .header-nav .header-mobile .material-icons { display: inline !important; }

/* Garder la flèche des sélecteurs langue et devise */
#header .language-selector .material-icons,
#header .currency-selector .material-icons {
  display: inline-block !important;
  font-size: 14px !important;
  vertical-align: middle !important;
  color: var(--muted) !important;
}

/* Style de la liste déroulante langue / devise */
#header .language-selector .dropdown-menu,
#header .currency-selector .dropdown-menu {
  background: rgba(250,250,248,0.98) !important;
  border: 1px solid rgba(0,85,164,0.12) !important;
  border-radius: 0 !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.08) !important;
  padding: 8px 0 !important;
  min-width: 120px !important;
}

#header .language-selector .dropdown-menu a,
#header .currency-selector .dropdown-menu a {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: var(--muted) !important;
  padding: 8px 16px !important;
  display: block !important;
  transition: color 0.2s !important;
  background: none !important;
}

#header .language-selector .dropdown-menu a:hover,
#header .currency-selector .dropdown-menu a:hover {
  color: var(--blue) !important;
  background: none !important;
}

#header .language-selector .dropdown-menu li.current a,
#header .currency-selector .dropdown-menu li.current a {
  color: var(--blue) !important;
}

/* Compteur panier */
.blockcart .cart-products-count {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  color: #fff !important;
  background: var(--blue) !important;
  border-radius: 50% !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-left: 4px !important;
  padding: 0 !important;
}

/* Liens nav menu principal */
#_desktop_top_menu .top-menu > li > a {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: var(--blue) !important;
  border: 1.5px solid var(--blue) !important;
  padding: 8px 16px !important;
  background: transparent !important;
  transition: background 0.25s, color 0.25s !important;
  display: inline-block !important;
  margin: 0 4px !important;
}

#_desktop_top_menu .top-menu > li > a:hover {
  background: var(--blue) !important;
  color: #fff !important;
}

/* Masquer le menu desktop sur mobile */
@media (max-width: 991px) {
  #_desktop_top_menu { display: none !important; }
}

/* Menu mobile — liens simples */
@media (max-width: 991px) {
  #mobile_top_menu_wrapper .top-menu > li > a,
  #mobile_top_menu_wrapper .top-menu li a {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
    font-size: 13px !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    color: var(--blue) !important;
    border: none !important;
    padding: 12px 16px !important;
    background: transparent !important;
    display: block !important;
    margin: 0 !important;
    border-bottom: 1px solid rgba(0,85,164,0.08) !important;
  }
  #mobile_top_menu_wrapper .top-menu > li > a:hover,
  #mobile_top_menu_wrapper .top-menu li a:hover {
    background: var(--blue-pale) !important;
    color: var(--blue) !important;
  }
}

/* Logo */
#header .logo,
.logo img,
#header ._desktop_logo img {
  max-height: 40px;
}

/* Sélecteur de langue — positionnement dropdown */
#header .header-nav .right-nav,
#header .header-nav .col-md-7,
#header .header-nav #_desktop_language_selector,
#header .header-nav #_desktop_currency_selector,
#header .header-nav .language-selector-wrapper,
#header .header-nav .currency-selector-wrapper,
#header .header-nav .language-selector,
#header .header-nav .currency-selector {
  overflow: visible !important;
}

#header .language-selector,
#header .currency-selector {
  position: relative !important;
  z-index: 1000 !important;
}

#header .language-selector .dropdown-menu,
#header .currency-selector .dropdown-menu {
  position: absolute !important;
  top: 100% !important;
  right: 0 !important;
  left: auto !important;
  z-index: 9999 !important;
  transform: none !important;
  margin-top: 0 !important;
}

/* ── HEADER TOP ── */
#header .header-top {
  background: #fafaf8 !important;
  border-bottom: 1px solid rgba(0,85,164,0.12) !important;
  padding: 0 48px !important;
  min-height: 56px;
}

/* Masquer le header-top (barre nav) sur mobile — remplacé par le menu hamburger */
@media (max-width: 991px) {
  #header .header-top {
    display: none !important;
  }
}

/* Menu hamburger ouvert — afficher le menu mobile en overlay */
#mobile_top_menu_wrapper {
  position: fixed !important;
  top: 56px !important;
  left: 0; right: 0;
  background: #fafaf8 !important;
  z-index: 998 !important;
  border-bottom: 1px solid rgba(0,85,164,0.12) !important;
  box-shadow: 0 8px 24px rgba(0,85,164,0.08) !important;
  max-height: calc(100vh - 56px);
  overflow-y: auto;
  margin: 0 !important;
}

#header .header-top .row:not(#mobile_top_menu_wrapper) {
  display: flex !important;
  align-items: center !important;
  min-height: 56px;
}


/* Masquer la barre de recherche dupliquée hors de notre zone dédiée */
#header .header-top .header-top-right #search_widget,
#header .header-top .header-top-right .search-widgets {
  display: none !important;
}

/* Barre de recherche */
#_desktop_search_bar {
  display: flex !important;
  align-items: center !important;
}

#search_widget {
  width: 100% !important;
}

#search_widget form {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  position: static !important;
  border-bottom: 1px solid rgba(0,85,164,0.2) !important;
  padding: 4px 0 !important;
  gap: 8px !important;
}

#search_widget .material-icons.search {
  font-size: 16px !important;
  color: var(--blue) !important;
  flex-shrink: 0 !important;
  line-height: 1 !important;
  display: flex !important;
  align-items: center !important;
  order: 0 !important;
  position: static !important;
  transform: none !important;
}

#search_widget input {
  order: 1 !important;
  border: none !important;
  border-radius: 0 !important;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 1.5px !important;
  padding: 4px 0 !important;
  background: transparent !important;
  color: var(--text) !important;
  width: 100% !important;
  outline: none !important;
  min-width: 0 !important;
}

#search_widget input::placeholder {
  color: var(--muted) !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
}

#search_widget .material-icons.clear {
  display: none !important;
}

/* Bouton submit : positionné en static dans le flux flex */
#search_widget button[type=submit] {
  position: static !important;
  transform: none !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  background: none !important;
  border: none !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  order: 0 !important;
  cursor: pointer !important;
}

#search_widget button[type=submit] .material-icons.search {
  font-size: 16px !important;
  color: var(--blue) !important;
}

/* ── Offset body pour navbar fixe ── */
@media (min-width: 992px) {
  #wrapper { padding-top: 112px !important; }
}

@media (max-width: 991px) {
  #wrapper { padding-top: 56px !important; }
}

/* ── BOUTONS ── */
.btn-primary,
button.btn-primary,
.add-to-cart,
button.add-to-cart {
  background: var(--blue) !important;
  border: 1.5px solid var(--blue) !important;
  border-radius: 0 !important;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  padding: 14px 36px !important;
  transition: background 0.25s, color 0.25s !important;
  color: #fff !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.add-to-cart .material-icons,
button.add-to-cart .material-icons {
  font-size: 18px !important;
  line-height: 1 !important;
  vertical-align: middle !important;
}

.btn-primary:hover,
button.btn-primary:hover,
.add-to-cart:hover {
  background: var(--blue-dark) !important;
  border-color: var(--blue-dark) !important;
  color: #fff !important;
}

.btn-secondary,
button.btn-secondary {
  background: transparent !important;
  border: 1.5px solid var(--blue) !important;
  border-radius: 0 !important;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  padding: 14px 36px !important;
  color: var(--blue) !important;
  transition: background 0.25s, color 0.25s !important;
}

.btn-secondary:hover { background: var(--blue) !important; color: #fff !important; }

/* ── BREADCRUMB ── */
.breadcrumb-nav {
  background: transparent !important;
  padding: 10px 0 !important;
  margin: 0 !important;
}

.breadcrumb-list {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  gap: 4px !important;
}

.breadcrumb-step {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
}

.breadcrumb-link,
.breadcrumb-current,
.breadcrumb-sep {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}

.breadcrumb-link { color: var(--muted) !important; transition: color 0.2s !important; }
.breadcrumb-link:hover { color: var(--blue) !important; }
.breadcrumb-sep { color: var(--muted) !important; font-size: 13px !important; }
.breadcrumb-current { color: var(--blue-dark) !important; }

/* ── TYPOGRAPHIE GLOBALE ── */

/* Titres h1–h3 : Cormorant Garamond, artistique */
h1, .h1,
.page-heading,
h1.page-heading,
* h1, * .h1 {
  font-family: 'Cormorant Garamond', 'Georgia', serif !important;
  font-weight: 700 !important;
  font-style: normal !important;
  color: var(--blue-dark) !important;
  letter-spacing: 2px !important;
  line-height: 1.2 !important;
}

h2, h3,
.h2, .h3,
* h2, * h3, * .h2, * .h3 {
  font-family: 'Cormorant Garamond', 'Georgia', serif !important;
  font-weight: 700 !important;
  font-style: normal !important;
  color: var(--blue-dark) !important;
  letter-spacing: 2px !important;
  line-height: 1.2 !important;
}

h1, .h1 { font-size: clamp(28px, 5vw, 48px) !important; }
h2, .h2 { font-size: clamp(22px, 4vw, 36px) !important; }
h3, .h3 { font-size: clamp(18px, 3vw, 26px) !important; }

/* Titres h4–h6 : Cormorant non italique */
h4, h5, h6,
.h4, .h5, .h6 {
  font-family: 'Cormorant Garamond', 'Georgia', serif !important;
  font-weight: 600 !important;
  font-style: normal !important;
  color: var(--text) !important;
  letter-spacing: 1px !important;
}

h4, .h4 { font-size: clamp(15px, 2vw, 20px) !important; }
h5, .h5 { font-size: clamp(13px, 1.5vw, 17px) !important; }
h6, .h6 { font-size: 13px !important; }

/* Corps de texte */
p, li, td, th, blockquote {
  font-family: 'Georgia', 'Times New Roman', serif !important;
  font-size: 15px !important;
  color: var(--muted) !important;
  line-height: 1.8 !important;
}

/* Liens dans le contenu */
#main a:not(.btn):not(.nav-item):not(.shop-name):not(.breadcrumb-link) {
  color: var(--blue) !important;
  transition: color 0.2s !important;
}
#main a:not(.btn):not(.nav-item):not(.shop-name):not(.breadcrumb-link):hover {
  color: var(--blue-dark) !important;
}

/* Petits labels, textes utilitaires */
.label, label,
.small, small,
.form-control-label {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: var(--text) !important;
}

/* Prix et montants */
.price, .product-price,
span.price,
.cart-summary-line .value,
.cart-summary-line .label,
.cart-total .value,
.cart-total .label,
#cart .cart-summary .cart-subtotals,
#cart .cart-summary .cart-total,
#cart .cart-summary .cart-subtotals span,
#cart .cart-summary .cart-total span,
#cart .product-price,
#cart .cart-item .product-price,
.order-summary .cart-summary-line,
.order-summary .cart-summary-line span {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  color: var(--blue) !important;
  font-weight: 500 !important;
  font-style: normal !important;
}

/* Textes de réassurance, bloc info */
.block-contact,
.footer-container p,
.cms-block p {
  font-family: 'Georgia', 'Times New Roman', serif !important;
  font-size: 14px !important;
  color: var(--muted) !important;
  line-height: 1.8 !important;
}

.section-title {
  font-family: 'Cormorant Garamond', 'Georgia', serif !important;
  font-size: clamp(28px, 4vw, 42px) !important;
  font-weight: 400 !important;
  font-style: italic !important;
  color: var(--blue-dark) !important;
  letter-spacing: 2px !important;
}

/* ── CATÉGORIE — header ── */
#category .category-top-menu,
#category .breadcrumb-wrapper { background: var(--bg) !important; }

.block-category {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 48px 0 0 !important;
  margin-bottom: 0 !important;
  text-align: center !important;
  border-bottom: none !important;
  position: relative !important;
}

.category-divider {
  width: 60px !important;
  height: 2px !important;
  background: linear-gradient(90deg, var(--blue), var(--gold)) !important;
  border: none !important;
  margin: 16px auto 0 !important;
}

.block-category h1.h1 {
  font-family: 'Cormorant Garamond', 'Georgia', serif !important;
  font-size: clamp(28px, 5vw, 48px) !important;
  font-weight: 400 !important;
  font-style: italic !important;
  color: var(--blue-dark) !important;
  letter-spacing: 3px !important;
  text-transform: none !important;
  margin-bottom: 16px !important;
}

.block-category-inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 0 !important;
}

#category-description {
  font-family: 'Georgia', 'Times New Roman', serif !important;
  font-size: 15px !important;
  line-height: 1.8 !important;
  color: var(--muted) !important;
  font-style: italic !important;
  max-width: 100% !important;
  width: 100vw !important;
  position: relative !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  margin: 32px 0 40px !important;
  text-align: center !important;
  background: var(--white) !important;
  padding: 32px 48px !important;
  border-top: 1px solid rgba(0,85,164,0.08) !important;
  border-bottom: 1px solid rgba(0,85,164,0.08) !important;
}

.category-cover {
  display: none !important;
}

/* ── PRODUITS — grille ── */
#products,
#js-product-list {
  padding: 0 !important;
}

.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 40px 32px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.products .js-product {
  width: 100% !important;
  padding: 0 !important;
  float: none !important;
}

/* ── PRODUITS — carte ── */
.products article.product-miniature,
.products .product-miniature {
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
  background: transparent !important;
}

.products .product-miniature .thumbnail-container {
  overflow: hidden !important;
  border-radius: 0 !important;
  position: relative !important;
  background: var(--blue-pale) !important;
}

.products .product-miniature .thumbnail-container img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 3/4 !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.5s ease !important;
  border-radius: 0 !important;
}

/* ── Overlay hover ── */
.products .product-miniature .thumbnail-top {
  position: relative !important;
  overflow: hidden !important;
}

.products .product-miniature .highlighted-informations {
  position: absolute !important;
  inset: 0 !important;
  background: rgba(0,30,70,0.55) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  opacity: 0 !important;
  transition: opacity 0.35s ease !important;
}

.products .product-miniature:hover .highlighted-informations {
  opacity: 1 !important;
}

.products .product-miniature .highlighted-informations .quick-view,
.products .product-miniature .highlighted-informations a.quick-view {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: var(--blue) !important;
  -webkit-text-fill-color: var(--blue) !important;
  background: var(--blue-pale) !important;
  border: 1px solid var(--blue) !important;
  padding: 10px 24px !important;
  transition: background 0.2s, color 0.2s !important;
  text-decoration: none !important;
}

.products .product-miniature .highlighted-informations .quick-view:hover,
.products .product-miniature .highlighted-informations a.quick-view:hover {
  background: var(--blue) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

.products .product-miniature .highlighted-informations .quick-view i {
  display: none !important;
}

.products .product-miniature:hover .thumbnail-container img {
  transform: scale(1.04) !important;
}

/* ── Infos produit sous l'image ── */
.products .product-miniature .product-description {
  background: transparent !important;
  padding: 16px 0 0 !important;
  position: static !important;
  opacity: 1 !important;
  transform: none !important;
}

.products .product-miniature .product-title {
  margin-bottom: 6px !important;
}

.products .product-miniature .product-title a {
  font-family: 'Cormorant Garamond', 'Georgia', serif !important;
  font-size: 17px !important;
  font-style: italic !important;
  color: var(--text) !important;
  letter-spacing: 0.5px !important;
  transition: color 0.2s !important;
}

.products .product-miniature:hover .product-title a {
  color: var(--blue) !important;
}

.products .product-miniature .price {
  color: var(--blue) !important;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  letter-spacing: 1px !important;
}

/* ── Grille artistique — masonry + ombres + bordure dégradée ── */

/* Masonry légère — produit central de chaque rangée plus court */
.products .js-product:nth-child(3n+2) .thumbnail-container img {
  aspect-ratio: 2/3 !important;
}

/* Ombres flottantes + élévation au hover */
.products .product-miniature {
  transition: transform 0.4s ease, box-shadow 0.4s ease !important;
}

.products .product-miniature:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 20px 40px rgba(0, 30, 80, 0.12) !important;
}

/* Bordure dégradée bleue→dorée subtile */
.products .product-miniature .thumbnail-top {
  position: relative !important;
}

.products .product-miniature .thumbnail-top::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  border: 1px solid transparent !important;
  background: linear-gradient(135deg, rgba(0,85,164,0.25) 0%, rgba(201,168,76,0.25) 100%) border-box !important;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) !important;
  mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) !important;
  -webkit-mask-composite: destination-out !important;
  mask-composite: exclude !important;
  pointer-events: none !important;
  z-index: 1 !important;
  transition: opacity 0.4s ease !important;
  opacity: 0.6 !important;
}

.products .product-miniature:hover .thumbnail-top::after {
  opacity: 1 !important;
}

/* ── PAGE CONTACT ── */
#contact #main {
  max-width: 760px !important;
  margin: 60px auto !important;
  padding: 0 24px 80px !important;
}

#contact .login-form {
  background: var(--white) !important;
  padding: 56px 64px !important;
  border: 1px solid rgba(0,85,164,0.1) !important;
  box-shadow: 0 8px 40px rgba(0,0,0,0.06) !important;
}

/* Header */
#contact .login-form header {
  text-align: center !important;
  margin-bottom: 12px !important;
  padding-bottom: 0 !important;
  border-bottom: none !important;
  position: relative !important;
}

#contact .login-form header h1 {
  font-family: 'Cormorant Garamond', 'Georgia', serif !important;
  font-size: clamp(26px, 4vw, 38px) !important;
  font-weight: 400 !important;
  font-style: italic !important;
  color: var(--blue-dark) !important;
  letter-spacing: 2px !important;
  margin-bottom: 0 !important;
}

#contact .login-form header p:not(.contact-intro) {
  display: none !important;
}

#contact .login-form header .contact-title-divider {
  width: 60px !important;
  height: 2px !important;
  background: linear-gradient(90deg, var(--blue), var(--gold)) !important;
  border: none !important;
  margin: 16px auto 28px !important;
}

#contact .login-form header h1.h3 {
  font-size: clamp(28px, 4vw, 42px) !important;
  font-weight: 700 !important;
  font-style: normal !important;
  color: var(--blue-dark) !important;
  letter-spacing: 1px !important;
  margin-bottom: 20px !important;
}

/* Phrase intro */
#contact .contact-intro {
  font-family: 'Georgia', 'Times New Roman', serif !important;
  font-size: 15px !important;
  font-style: italic !important;
  color: var(--muted) !important;
  text-align: center !important;
  margin-bottom: 40px !important;
  line-height: 1.8 !important;
  padding-bottom: 32px !important;
  border-bottom: 1px solid rgba(0,85,164,0.08) !important;
}

/* Champs */
#contact .form-fields {
  display: flex !important;
  flex-direction: column !important;
  gap: 28px !important;
}

#contact .form-fields label {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

#contact .form-fields label span {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 10px !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  color: var(--blue) !important;
}

#contact .form-fields input,
#contact .form-fields select {
  border: none !important;
  border-bottom: 1px solid rgba(0,85,164,0.2) !important;
  border-radius: 0 !important;
  padding: 10px 0 !important;
  font-family: 'Georgia', 'Times New Roman', serif !important;
  font-size: 15px !important;
  color: var(--text) !important;
  background: transparent !important;
  transition: border-color 0.2s !important;
  outline: none !important;
  width: 100% !important;
}

#contact .form-fields input:focus,
#contact .form-fields select:focus {
  border-bottom-color: var(--blue) !important;
  box-shadow: none !important;
}

#contact .form-fields textarea {
  resize: vertical !important;
  min-height: 140px !important;
  background: var(--blue-pale) !important;
  border: 1px solid rgba(0,85,164,0.15) !important;
  border-radius: 0 !important;
  padding: 16px !important;
  font-family: 'Georgia', 'Times New Roman', serif !important;
  font-size: 15px !important;
  color: var(--text) !important;
  width: 100% !important;
  outline: none !important;
  transition: border-color 0.2s !important;
}

#contact .form-fields textarea:focus {
  border-color: var(--blue) !important;
  box-shadow: none !important;
}

/* Bouton choisir un fichier */
#contact .form-fields input[type="file"] {
  border: 1px dashed rgba(0,85,164,0.3) !important;
  padding: 12px !important;
  background: var(--blue-pale) !important;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 1px !important;
  color: var(--muted) !important;
  cursor: pointer !important;
  width: 100% !important;
}

#contact .form-fields input[type="file"]::file-selector-button {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 10px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  background: var(--blue) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 8px 16px !important;
  margin-right: 12px !important;
  cursor: pointer !important;
  transition: background 0.2s !important;
}

#contact .form-fields input[type="file"]::file-selector-button:hover {
  background: var(--blue-dark) !important;
}

/* Bouton */
#contact .form-footer {
  margin-top: 40px !important;
  text-align: center !important;
  border-top: 1px solid rgba(0,85,164,0.08) !important;
  padding-top: 36px !important;
}

#contact .form-footer button[type=submit] {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  background: var(--blue) !important;
  color: #fff !important;
  border: 1.5px solid var(--blue) !important;
  border-radius: 0 !important;
  padding: 16px 56px !important;
  cursor: pointer !important;
  transition: background 0.25s, border-color 0.25s !important;
}

#contact .form-footer button[type=submit]:hover {
  background: var(--blue-dark) !important;
  border-color: var(--blue-dark) !important;
}

/* Notifications */
#contact .notification {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 1px !important;
  padding: 14px 20px !important;
  margin-bottom: 28px !important;
  border-radius: 0 !important;
  border-left: 3px solid !important;
  background: transparent !important;
  list-style: none !important;
}

#contact .notification-success {
  border-color: #2e7d32 !important;
  color: #2e7d32 !important;
  background: rgba(46,125,50,0.04) !important;
}

#contact .notification-error {
  border-color: var(--blue) !important;
  color: var(--blue-dark) !important;
  background: rgba(0,85,164,0.04) !important;
}

@media (max-width: 600px) {
  #contact .login-form { padding: 32px 20px !important; }
}

/* ── DISPONIBILITÉ produit ── */
#product-availability {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  margin-top: 10px !important;
  padding: 6px 12px !important;
  border-left: 2px solid !important;
}

#product-availability .product-available,
#product-availability:has(.product-available) {
  color: #2e7d32 !important;
  border-color: #2e7d32 !important;
  background: rgba(46,125,50,0.06) !important;
}

#product-availability .product-unavailable,
#product-availability:has(.product-unavailable) {
  color: var(--muted) !important;
  border-color: rgba(0,85,164,0.3) !important;
  background: rgba(0,85,164,0.04) !important;
}

#product-availability .product-last-items,
#product-availability:has(.product-last-items) {
  color: var(--gold) !important;
  border-color: var(--gold) !important;
  background: rgba(201,168,76,0.07) !important;
}

#product-availability .material-icons {
  font-size: 14px !important;
  display: inline-flex !important;
  align-items: center !important;
}

/* ── QUICKVIEW modal ── */
.quickview .modal-dialog {
  max-width: 860px !important;
}

.quickview .modal-content {
  border: none !important;
  border-radius: 0 !important;
  box-shadow: 0 20px 60px rgba(0,0,0,0.15) !important;
  background: var(--white) !important;
}

.quickview .modal-header {
  border-bottom: none !important;
  padding: 16px 20px 0 !important;
  background: transparent !important;
}

.quickview .modal-header .close {
  font-size: 24px !important;
  color: var(--muted) !important;
  opacity: 1 !important;
  font-weight: 300 !important;
  transition: color 0.2s !important;
}

.quickview .modal-header .close:hover {
  color: var(--blue) !important;
}

.quickview .modal-body {
  padding: 24px 32px 32px !important;
}

.quickview .modal-body img {
  width: 100% !important;
  height: auto !important;
  object-fit: cover !important;
  border-radius: 0 !important;
}

.quickview .modal-body h1 {
  font-family: 'Cormorant Garamond', 'Georgia', serif !important;
  font-size: clamp(20px, 3vw, 28px) !important;
  font-weight: 400 !important;
  font-style: italic !important;
  color: var(--blue-dark) !important;
  letter-spacing: 1px !important;
  margin-bottom: 12px !important;
}

.quickview .modal-body .current-price .price {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  color: var(--blue) !important;
  letter-spacing: 1px !important;
}

.quickview .modal-body #product-description-short {
  font-family: 'Georgia', 'Times New Roman', serif !important;
  font-size: 14px !important;
  color: var(--muted) !important;
  line-height: 1.8 !important;
  margin: 16px 0 24px !important;
  border-top: 1px solid rgba(0,85,164,0.1) !important;
  padding-top: 16px !important;
}

.quickview .modal-footer {
  border-top: 1px solid rgba(0,85,164,0.1) !important;
  background: transparent !important;
  padding: 16px 32px !important;
}

/* ── FLAGS produit ── */
.product-flags {
  position: absolute !important;
  top: 12px !important;
  left: 12px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  z-index: 2 !important;
}

.product-flag {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 10px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  padding: 4px 10px !important;
  border-radius: 0 !important;
  display: inline-block !important;
}

.product-flag.new {
  background: var(--blue) !important;
  color: #fff !important;
}

.product-flag.out_of_stock {
  background: transparent !important;
  color: var(--muted) !important;
  border: 1px solid rgba(0,85,164,0.3) !important;
}

.product-flag.discount,
.product-flag.on_sale {
  background: var(--gold) !important;
  color: #fff !important;
}

/* ── Barre tri / résultats ── */
#js-product-list-top {
  border-bottom: 1px solid rgba(0,85,164,0.1) !important;
  padding-bottom: 16px !important;
  margin-bottom: 32px !important;
  align-items: center !important;
}

.total-products p {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: var(--muted) !important;
  margin: 0 !important;
}

/* Label "Trier par :" */
.sort-by-row .sort-by {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: var(--gold) !important;
  display: flex !important;
  align-items: center !important;
}

/* Bouton dropdown */
.products-sort-order .select-title {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: var(--blue) !important;
  border: 1.5px solid var(--blue) !important;
  padding: 8px 16px !important;
  background: var(--white) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  width: 100% !important;
  transition: background 0.2s, color 0.2s !important;
}
.products-sort-order .select-title:hover {
  background: var(--blue) !important;
  color: var(--white) !important;
}
.products-sort-order .select-title .material-icons {
  font-size: 18px !important;
  color: var(--gold) !important;
  transition: color 0.2s !important;
}
.products-sort-order .select-title:hover .material-icons {
  color: var(--white) !important;
}

/* Menu déroulant */
.products-sort-order .dropdown-menu {
  border: 1.5px solid rgba(0,85,164,0.15) !important;
  border-radius: 0 !important;
  padding: 4px 0 !important;
  box-shadow: 0 8px 24px rgba(0,85,164,0.08) !important;
  min-width: 100% !important;
}
.products-sort-order .dropdown-menu .select-list {
  display: block !important;
  padding: 9px 18px !important;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: var(--muted) !important;
  text-decoration: none !important;
  transition: background 0.15s, color 0.15s !important;
}
.products-sort-order .dropdown-menu .select-list:hover {
  background: var(--blue-pale) !important;
  color: var(--blue) !important;
}
.products-sort-order .dropdown-menu .select-list.current {
  color: var(--blue) !important;
  font-weight: 600 !important;
  border-left: 2px solid var(--gold) !important;
  padding-left: 16px !important;
}

/* ── Responsive produits ── */
@media (max-width: 991px) {
  .products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 32px 24px !important;
  }
}

@media (max-width: 576px) {
  .products {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }
}

/* ── FICHE PRODUIT — image ── */
.product-cover img,
.product-cover-modal {
  background: transparent !important;
}

/* ── FICHE PRODUIT ── */
#product h1.page-heading,
#product .page-header h1 {
  font-size: clamp(28px, 4vw, 42px) !important;
  font-weight: 400 !important;
  color: var(--blue-dark) !important;
  letter-spacing: 1px !important;
}

#product .current-price .price {
  color: var(--blue) !important;
  font-size: 28px !important;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

#product .product-description,
#product .product-description-short {
  font-family: 'Georgia', 'Times New Roman', serif !important;
  color: var(--muted) !important;
  line-height: 1.8 !important;
}

/* ── Galerie images — bordure dégradée + ombres ── */

/* Image principale — ombre + bordure dégradée */
#product .product-cover {
  position: relative !important;
  overflow: hidden !important;
  background: var(--blue-pale) !important;
  box-shadow: 0 8px 32px rgba(0, 30, 80, 0.08) !important;
  transition: box-shadow 0.4s ease !important;
}

#product .product-cover::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  border: 1px solid transparent !important;
  background: linear-gradient(135deg, rgba(0,85,164,0.2) 0%, rgba(201,168,76,0.3) 100%) border-box !important;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) !important;
  mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) !important;
  -webkit-mask-composite: destination-out !important;
  mask-composite: exclude !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

/* Image principale — zoom au hover */
#product .product-cover img {
  transition: transform 0.6s ease !important;
  display: block !important;
  width: 100% !important;
}

#product .product-cover:hover img {
  transform: scale(1.03) !important;
}

/* Thumbnails — élévation + opacité */
#product .thumb-container {
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
  cursor: pointer !important;
}

#product .thumb-container:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 20px rgba(0, 30, 80, 0.1) !important;
}

#product img.thumb {
  display: block !important;
  transition: opacity 0.3s ease !important;
}

#product img.thumb:not(.selected) {
  opacity: 0.72 !important;
}

#product img.thumb:hover,
#product img.thumb.selected {
  opacity: 1 !important;
}

/* ── PANIER ── */
#cart .page-header h1,
#checkout .page-header h1 {
  font-weight: 400 !important;
  color: var(--blue-dark) !important;
}

.cart-item .product-name a { color: var(--text) !important; }

/* ── FORMULAIRES — ciblé dans les cartes uniquement ── */
#authentication .login-form input[type="tel"],
#authentication .login-form textarea,
#registration .register-form input[type="tel"],
#registration .register-form textarea,
#password .forgotten-password input[type="tel"],
#password .forgotten-password textarea {
  border: 1px solid rgba(0,85,164,0.2) !important;
  border-radius: 0 !important;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  padding: 10px 14px !important;
  transition: border-color 0.2s !important;
}

#authentication .login-form label,
#registration .register-form label,
#password .forgotten-password label {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  color: var(--text) !important;
}

/* ── FOOTER ── */
#footer {
  background: var(--blue-dark) !important;
  color: rgba(255,255,255,0.4) !important;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 1.5px !important;
}

#footer a,
#footer .footer-container a {
  color: rgba(255,255,255,0.4) !important;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  transition: color 0.2s !important;
}

#footer a:hover { color: rgba(255,255,255,0.85) !important; }

#footer .footer-container h3,
#footer .footer-container .h3,
#footer .block-title {
  font-family: 'Georgia', 'Times New Roman', serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.7) !important;
  border: none !important;
}

#footer .footer-container { background: var(--blue-dark) !important; }
#footer .footer-container .container {
  max-width: 1200px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

#footer .footer-container .links ul li a { color: rgba(255,255,255,0.4) !important; }
#footer .footer-container .links ul li a:hover { color: rgba(255,255,255,0.85) !important; }

/* Copyright bar */
#footer .footer-bottom-container,
#footer .bottom-footer { background: rgba(0,0,0,0.15) !important; }


/* ── CUSTOM TEXT ── */
.custom-text,
.custom-text,
.custom-text *,
#custom-text,
.block_custom_text {
  background: transparent !important;
}

/* ── NEWSLETTER ── */
.block_newsletter { background: var(--blue) !important; }

.block_newsletter h2,
.block_newsletter .h2 {
  font-family: 'Georgia', 'Times New Roman', serif !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  letter-spacing: 2px !important;
  color: #fff !important;
}

.block_newsletter p { color: rgba(255,255,255,0.65) !important; }

.block_newsletter input[type="email"] {
  border: 1.5px solid rgba(255,255,255,0.4) !important;
  background: rgba(255,255,255,0.1) !important;
  color: #fff !important;
  border-radius: 0 !important;
}

.block_newsletter button,
.block_newsletter input[type="submit"] {
  background: #fff !important;
  color: var(--blue) !important;
  border: none !important;
  border-radius: 0 !important;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
}

.block_newsletter button:hover { background: var(--blue-dark) !important; color: #fff !important; }

/* ── PAGINATION ── */
.pagination .page-list li a,
.pagination .page-list li span {
  border: 1px solid rgba(0,85,164,0.2) !important;
  border-radius: 0 !important;
  color: var(--blue) !important;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

.pagination .page-list li.active a,
.pagination .page-list li.current a {
  background: var(--blue) !important;
  color: #fff !important;
  border-color: var(--blue) !important;
}

/* ── NOTIFICATIONS ── */
.alert-success { background: rgba(0,85,164,0.08) !important; border-color: var(--blue) !important; color: var(--blue-dark) !important; }
.alert-danger { border-radius: 0 !important; }
.alert { border-radius: 0 !important; }

/* ── PLEINE LARGEUR ── */
.container,
.container-fluid {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 48px !important;
  padding-right: 48px !important;
}

#wrapper,
#main,
#content,
#content-wrapper,
.page-content,
#index #content,
#category #content,
#product .container {
  max-width: 100% !important;
  width: 100% !important;
}

/* ── RESPONSIVE 1200px ── */
@media (max-width: 1200px) {
  .container,
  .container-fluid {
    padding-left: 32px !important;
    padding-right: 32px !important;
  }
}

/* ── RESPONSIVE 900px ── */
@media (max-width: 900px) {
  .container,
  .container-fluid,
  #header .header-nav,
  #header .header-top {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
}

@media (max-width: 600px) {
  .container,
  .container-fluid,
  #header .header-nav,
  #header .header-top {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

}

/* ── Hero ── */
#hero {
  min-height: clamp(320px, 50vh, 600px);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 80px 24px 40px;
  background:
    radial-gradient(ellipse 80% 60% at 50% 100%, rgba(0,85,164,0.08) 0%, transparent 70%),
    var(--bg);
  position: relative;
  overflow: hidden;
}
#hero::before {
  content: '';
  position: absolute;
  top: -120px; right: -120px;
  width: 500px; height: 500px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(0,85,164,0.06) 0%, transparent 70%);
}
#hero::after {
  content: '';
  position: absolute;
  bottom: -80px; left: -80px;
  width: 400px; height: 400px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(201,168,76,0.07) 0%, transparent 70%);
}
.hero-inner { position: relative; z-index: 1; max-width: 760px; }
.hero-eyebrow {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 4px !important;
  text-transform: uppercase !important;
  color: var(--gold) !important;
  margin-bottom: 24px !important;
  font-style: normal !important;
}
.hero-name {
  font-family: 'Cormorant Garamond', 'Georgia', serif !important;
  font-size: clamp(42px, 8vw, 80px) !important;
  font-weight: 700 !important;
  font-style: normal !important;
  color: var(--blue-dark) !important;
  letter-spacing: 4px !important;
  line-height: 1.1 !important;
  text-transform: uppercase !important;
  margin-bottom: 8px !important;
}
.hero-name span { color: var(--blue) !important; }
.hero-tagline {
  font-family: 'Georgia', 'Times New Roman', serif !important;
  font-size: clamp(16px, 2.5vw, 22px) !important;
  font-style: italic !important;
  color: var(--muted) !important;
  margin-bottom: 40px !important;
  font-weight: 400 !important;
}
.hero-divider {
  width: 60px;
  height: 2px;
  background: linear-gradient(90deg, var(--blue), var(--gold));
  margin: 0 auto 40px;
  border: none;
}
.hero-cta {
  display: inline-block !important;
  padding: 14px 36px !important;
  border: 1.5px solid var(--blue) !important;
  color: var(--blue) !important;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  font-style: normal !important;
  transition: background 0.25s, color 0.25s !important;
}
.hero-cta:hover { background: var(--blue) !important; color: #fff !important; }

/* Masquer le titre h1 sur la page "À propos de l'artiste" (cms id=6) */
#main:has(.page-cms-6) .page-header { display: none !important; }

/* ── À propos ── */
#about {
  background: var(--white);
  padding: 80px 0;
}
.about-inner {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 5fr 6fr;
  gap: 48px;
  align-items: center;
}
.about-image-wrap {
  position: relative;
}
.about-image-wrap img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}
.about-image-placeholder {
  width: 100%;
  aspect-ratio: 3/4;
  background: linear-gradient(135deg, var(--blue-pale) 0%, rgba(0,85,164,0.12) 100%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  color: var(--blue);
  font-style: italic;
  font-size: 14px;
}
.about-image-placeholder::before {
  content: '✦';
  font-size: 36px;
  color: var(--gold);
  font-style: normal;
}
.about-image-wrap::after {
  content: '';
  position: absolute;
  bottom: -14px; right: -14px;
  width: 100%; height: 100%;
  border: 2px solid var(--blue);
  z-index: -1;
  opacity: 0.25;
  pointer-events: none;
}
.about-text {
  padding-left: 8px;
}
.about-text .section-label {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 11px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 12px;
}
.about-text .section-title {
  margin-bottom: 16px;
}
.about-text .section-divider {
  width: 40px;
  height: 2px;
  background: linear-gradient(90deg, var(--blue), var(--gold));
  border: none;
  margin: 0 0 24px 0;
}
.about-description p,
.about-text p {
  color: var(--muted);
  font-size: 16px;
  margin-bottom: 18px;
}
.about-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}
.tag {
  padding: 6px 16px;
  border: 1px solid rgba(0,85,164,0.25);
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 12px;
  letter-spacing: 1px;
  color: var(--blue);
  text-transform: uppercase;
  transition: background 0.2s, color 0.2s;
}
.tag:hover {
  background: var(--blue);
  color: #fff;
}

/* ── À propos — responsive ── */
@media (max-width: 900px) {
  #about { padding: 60px 0; }
  .about-inner {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .about-image-wrap {
    max-width: 420px;
    margin: 0 auto;
  }
  .about-image-wrap::after {
    bottom: -10px; right: -10px;
  }
  .about-text { padding-left: 0; }
}

@media (max-width: 600px) {
  #about { padding: 48px 0; }
  .about-inner { gap: 32px; }
  .about-image-wrap { max-width: 100%; }
  .about-image-wrap::after { display: none; }
}

/* ── Quickview: Masquer le sélecteur de quantité ── */
.quickview .control-label {
  display: none;
}

.quickview .qty {
  display: none;
}

/* ── Panier: Masquer le sélecteur de quantité ── */
.product-line-actions .qty {
  display: none;
}


/* ══════════════════════════════════════════════
   AUTHENTICATION & REGISTRATION — Design premium
   ══════════════════════════════════════════════ */

/* ── Contexte de page ── */
#authentication #main,
#registration #main,
#password #main {
  min-height: 70vh !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 60px 24px 80px !important;
}

/* ── Titre de page ── */
#authentication .page-header,
#registration .page-header,
#password .page-header {
  text-align: center !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  border-bottom: none !important;
  width: 100% !important;
  max-width: 680px !important;
}

#authentication .page-header h1,
#registration .page-header h1,
#password .page-header h1 {
  font-family: 'Cormorant Garamond', 'Georgia', serif !important;
  font-size: clamp(28px, 4vw, 40px) !important;
  font-weight: 400 !important;
  font-style: italic !important;
  color: var(--blue-dark) !important;
  letter-spacing: 2px !important;
  margin-bottom: 0 !important;
}

/* ── Carte formulaire — connexion & mot de passe ── */
#authentication .login-form,
#authentication section.login-form,
#password .forgotten-password {
  background: var(--white) !important;
  border: 1px solid rgba(0, 85, 164, 0.1) !important;
  box-shadow: 0 12px 48px rgba(0, 30, 80, 0.08) !important;
  padding: 52px 56px !important;
  width: 100% !important;
  max-width: 680px !important;
  position: relative !important;
  margin: 0 auto !important;
}

/* ── Carte formulaire — inscription (plus large) ── */
#registration .register-form,
#registration section.register-form {
  background: var(--white) !important;
  border: 1px solid rgba(0, 85, 164, 0.1) !important;
  box-shadow: 0 12px 48px rgba(0, 30, 80, 0.08) !important;
  padding: 52px 64px !important;
  width: 100% !important;
  max-width: 860px !important;
  position: relative !important;
  margin: 0 auto !important;
}

/* Titre page inscription — même largeur que la carte ── */
#registration .page-header {
  max-width: 860px !important;
}

/* Ligne décorative en haut de la carte */
#authentication .login-form::before,
#registration .register-form::before,
#password .forgotten-password::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 3px !important;
  background: linear-gradient(90deg, var(--blue), var(--gold)) !important;
}

/* ── Accroche intro dans la carte registration ── */
#registration .register-form > p,
#authentication .login-form > p {
  font-family: 'Georgia', 'Times New Roman', serif !important;
  font-size: 14px !important;
  font-style: italic !important;
  color: var(--muted) !important;
  text-align: center !important;
  margin: 0 0 32px !important;
  line-height: 1.7 !important;
  padding-bottom: 28px !important;
  border-bottom: 1px solid rgba(0, 85, 164, 0.08) !important;
}

#registration .register-form > p a,
#authentication .login-form > p a {
  color: var(--blue) !important;
  font-style: normal !important;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  transition: color 0.2s !important;
}

#registration .register-form > p a:hover,
#authentication .login-form > p a:hover {
  color: var(--blue-dark) !important;
}

/* ── Labels ── */
#authentication .login-form .form-group label,
#authentication .login-form .form-group .label,
#registration .register-form .form-group label,
#registration .register-form .form-group .label,
#password .forgotten-password .form-group label {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 10px !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  color: var(--blue) !important;
  font-weight: 500 !important;
  margin-bottom: 6px !important;
  display: block !important;
}

/* ── Champs texte/email/password — ciblés dans les cartes formulaire uniquement ── */
#authentication .login-form input[type="text"],
#authentication .login-form input[type="email"],
#authentication .login-form input[type="password"],
#registration .register-form input[type="text"],
#registration .register-form input[type="email"],
#registration .register-form input[type="password"],
#password .forgotten-password input[type="text"],
#password .forgotten-password input[type="email"],
#password .forgotten-password input[type="password"],
#authentication .login-form select,
#registration .register-form select {
  width: 100% !important;
  padding: 10px 0 !important;
  border: none !important;
  border-bottom: 1px solid rgba(0, 85, 164, 0.18) !important;
  border-radius: 0 !important;
  font-family: 'Georgia', 'Times New Roman', serif !important;
  font-size: 15px !important;
  color: var(--text) !important;
  background: transparent !important;
  box-sizing: border-box !important;
  transition: border-color 0.25s !important;
  outline: none !important;
  box-shadow: none !important;
}

#authentication .login-form input[type="text"]:focus,
#authentication .login-form input[type="email"]:focus,
#authentication .login-form input[type="password"]:focus,
#registration .register-form input[type="text"]:focus,
#registration .register-form input[type="email"]:focus,
#registration .register-form input[type="password"]:focus,
#password .forgotten-password input[type="text"]:focus,
#password .forgotten-password input[type="email"]:focus,
#password .forgotten-password input[type="password"]:focus,
#authentication .login-form select:focus,
#registration .register-form select:focus {
  border-bottom-color: var(--blue) !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* ── Groupes de champs ── */
#authentication .login-form .form-group,
#registration .register-form .form-group {
  margin-bottom: 28px !important;
}

/* ── Inscription : layout row Bootstrap → flex horizontal ── */
#registration .form-group.row {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: 0 32px !important;
  flex-wrap: wrap !important;
}

/* Label colonne gauche (col-md-3) */
#registration .form-group.row > label.col-md-3,
#registration .form-group.row > .col-md-3 {
  flex: 0 0 160px !important;
  max-width: 160px !important;
  padding: 12px 0 0 !important;
  text-align: left !important;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 10px !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  color: var(--blue) !important;
  font-weight: 500 !important;
}

/* Champ colonne centrale (col-md-6) */
#registration .form-group.row > .col-md-6 {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  padding: 0 !important;
}

/* Colonne commentaire (col-md-3) */
#registration .form-group.row > .col-md-3.form-control-comment {
  flex: 0 0 80px !important;
  max-width: 80px !important;
  padding: 12px 0 0 !important;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 10px !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  color: var(--muted) !important;
  font-style: normal !important;
}

/* Champ dans la colonne centrale : pleine largeur */
#registration .form-group.row .col-md-6 input,
#registration .form-group.row .col-md-6 select {
  width: 100% !important;
}

/* Responsive inscription : empiler sur mobile */
@media (max-width: 767px) {
  /* Passer en block simple — évite tous les conflits flex/float */
  #registration .form-group.row {
    display: block !important;
    margin-bottom: 20px !important;
  }

  /* Toutes les colonnes Bootstrap en block pleine largeur */
  #registration .form-group.row > .col-md-3,
  #registration .form-group.row > .col-md-6,
  #registration .form-group.row > label.col-md-3,
  #registration .form-group.row > .js-input-column {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    position: static !important;
  }

  /* Label : juste en dessous du précédent, petit espace */
  #registration .form-group.row > label.col-md-3,
  #registration .form-group.row > .col-md-3:not(.form-control-comment) {
    margin-bottom: 4px !important;
    padding-top: 0 !important;
  }

  /* Masquer la colonne commentaire "Optionnel" */
  #registration .form-group.row > .col-md-3.form-control-comment {
    display: none !important;
  }

  #registration .register-form,
  #registration section.register-form {
    padding: 36px 20px !important;
    max-width: 100% !important;
  }
}

/* ── Indicateur de robustesse du mot de passe ── */
#authentication .field-password-policy,
#registration .field-password-policy {
  position: relative !important;
}

/* ── Radio buttons (civilité — structure PS: label.radio-inline > span.custom-radio > input + span) ── */
#authentication .form-control-valign,
#registration .form-control-valign {
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  flex-wrap: wrap !important;
  padding: 8px 0 !important;
}

#authentication label.radio-inline,
#registration label.radio-inline {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: var(--text) !important;
  cursor: pointer !important;
  margin: 0 !important;
}

/* Le span.custom-radio est le conteneur du cercle */
#authentication span.custom-radio,
#registration span.custom-radio {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 18px !important;
  height: 18px !important;
  flex-shrink: 0 !important;
}

/* Input caché derrière le span décoratif */
#authentication span.custom-radio input[type="radio"],
#registration span.custom-radio input[type="radio"] {
  position: absolute !important;
  opacity: 0 !important;
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  cursor: pointer !important;
  z-index: 1 !important;
  border: none !important;
  border-radius: 50% !important;
}

/* Cercle décoratif (le span vide après l'input) */
#authentication span.custom-radio > span,
#registration span.custom-radio > span {
  display: block !important;
  width: 18px !important;
  height: 18px !important;
  border: 1.5px solid rgba(0, 85, 164, 0.35) !important;
  border-radius: 50% !important;
  background: transparent !important;
  transition: border-color 0.2s, background 0.2s !important;
  flex-shrink: 0 !important;
  position: relative !important;
}

/* Point central quand coché */
#authentication span.custom-radio > span::after,
#registration span.custom-radio > span::after {
  content: '' !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) scale(0) !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background: var(--blue) !important;
  transition: transform 0.2s !important;
}

#authentication span.custom-radio input[type="radio"]:checked ~ span,
#registration span.custom-radio input[type="radio"]:checked ~ span {
  border-color: var(--blue) !important;
  background: transparent !important;
}

#authentication span.custom-radio input[type="radio"]:checked ~ span::after,
#registration span.custom-radio input[type="radio"]:checked ~ span::after {
  transform: translate(-50%, -50%) scale(1) !important;
}

/* ── Checkboxes (CGV, newsletter) ── */
#authentication .custom-checkbox,
#registration .custom-checkbox {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  margin-bottom: 16px !important;
}

#authentication .custom-checkbox input[type="checkbox"],
#registration .custom-checkbox input[type="checkbox"] {
  width: 16px !important;
  height: 16px !important;
  border: 1.5px solid rgba(0, 85, 164, 0.3) !important;
  border-radius: 0 !important;
  padding: 0 !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  flex-shrink: 0 !important;
  margin-top: 2px !important;
  transition: background 0.2s, border-color 0.2s !important;
  cursor: pointer !important;
}

#authentication .custom-checkbox input[type="checkbox"]:checked,
#registration .custom-checkbox input[type="checkbox"]:checked {
  background: var(--blue) !important;
  border-color: var(--blue) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='10' viewBox='0 0 12 10'%3E%3Cpath fill='%23fff' d='M1 5l3 3 7-7'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 10px !important;
}

#authentication .custom-checkbox label,
#registration .custom-checkbox label {
  font-size: 12px !important;
  letter-spacing: 0.5px !important;
  text-transform: none !important;
  color: var(--muted) !important;
  line-height: 1.5 !important;
  cursor: pointer !important;
}

#authentication .custom-checkbox label a,
#registration .custom-checkbox label a {
  color: var(--blue) !important;
  transition: color 0.2s !important;
}

#authentication .custom-checkbox label a:hover,
#registration .custom-checkbox label a:hover {
  color: var(--blue-dark) !important;
}

/* ── Lien mot de passe oublié ── */
.forgot-password {
  text-align: right !important;
  margin: -12px 0 20px !important;
}

.forgot-password a {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 10px !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: var(--muted) !important;
  transition: color 0.2s !important;
}

.forgot-password a:hover {
  color: var(--blue) !important;
}

/* ── Footer formulaire ── */
#authentication .form-footer,
#registration .form-footer,
#password .form-footer {
  margin-top: 40px !important;
  text-align: center !important;
  padding-top: 32px !important;
  border-top: 1px solid rgba(0, 85, 164, 0.08) !important;
}

/* ── Bouton principal ── */
#authentication .login-form .btn-primary,
#authentication .login-form button[type="submit"],
#registration .register-form .btn-primary,
#registration .register-form button[type="submit"],
#password .forgotten-password .btn-primary,
#password .forgotten-password button[type="submit"] {
  display: inline-block !important;
  background: var(--blue) !important;
  color: #fff !important;
  border: 1.5px solid var(--blue) !important;
  border-radius: 0 !important;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  padding: 16px 52px !important;
  cursor: pointer !important;
  transition: background 0.25s, border-color 0.25s !important;
  min-width: 200px !important;
}

#authentication .login-form .btn-primary:hover,
#authentication .login-form button[type="submit"]:hover,
#registration .register-form .btn-primary:hover,
#registration .register-form button[type="submit"]:hover,
#password .forgotten-password .btn-primary:hover,
#password .forgotten-password button[type="submit"]:hover {
  background: var(--blue-dark) !important;
  border-color: var(--blue-dark) !important;
  color: #fff !important;
}

/* ── Lien « Pas de compte / Connexion » ── */
.no-account {
  text-align: center !important;
  margin-top: 32px !important;
}

.no-account a {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: var(--blue) !important;
  border-bottom: 1px solid transparent !important;
  padding-bottom: 2px !important;
  transition: border-color 0.2s, color 0.2s !important;
}

.no-account a:hover {
  color: var(--blue-dark) !important;
  border-bottom-color: var(--blue-dark) !important;
}

/* ── Messages d'erreur ── */
#authentication .alert,
#registration .alert,
#password .alert {
  border-radius: 0 !important;
  border: none !important;
  border-left: 3px solid !important;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 0.5px !important;
  padding: 14px 20px !important;
  margin-bottom: 28px !important;
  background: transparent !important;
}

#authentication .alert-danger,
#registration .alert-danger {
  border-color: #c0392b !important;
  color: #c0392b !important;
  background: rgba(192, 57, 43, 0.04) !important;
}

#authentication .alert-success,
#registration .alert-success {
  border-color: #2e7d32 !important;
  color: #2e7d32 !important;
  background: rgba(46, 125, 50, 0.04) !important;
}

/* ── Séparateur avec HR ── */
#authentication hr {
  border: none !important;
  border-top: 1px solid rgba(0, 85, 164, 0.1) !important;
  margin: 32px 0 !important;
  width: 100% !important;
  max-width: 680px !important;
}

/* ── Responsive ── */
@media (max-width: 600px) {
  #authentication .login-form,
  #registration .register-form,
  #password .forgotten-password {
    padding: 36px 24px !important;
  }

  #authentication #main,
  #registration #main,
  #password #main {
    padding: 40px 16px 60px !important;
  }
}

#password .forgotten-password header {
  margin-bottom: 32px !important;
  padding-bottom: 24px !important;
  border-bottom: 1px solid rgba(0, 85, 164, 0.08) !important;
}

#password .forgotten-password .send-renew-password-link {
  font-family: 'Georgia', 'Times New Roman', serif !important;
  font-size: 14px !important;
  font-style: italic !important;
  color: var(--muted) !important;
  text-align: center !important;
  line-height: 1.7 !important;
  margin: 0 !important;
}

/* Neutraliser la grid Bootstrap du form-group */
#password .forgotten-password .form-group {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  align-items: stretch !important;
  margin-bottom: 0 !important;
}

#password .forgotten-password .form-group > * {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
  padding: 0 !important;
}

#password .forgotten-password label {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 10px !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  color: var(--blue) !important;
  float: none !important;
  width: auto !important;
  text-align: left !important;
  margin-bottom: 4px !important;
}

#password .forgotten-password input[type="email"] {
  width: 100% !important;
  float: none !important;
  border: none !important;
  border-bottom: 1px solid rgba(0, 85, 164, 0.18) !important;
  border-radius: 0 !important;
  padding: 10px 0 !important;
  font-family: 'Georgia', 'Times New Roman', serif !important;
  font-size: 15px !important;
  background: transparent !important;
  color: var(--text) !important;
  outline: none !important;
  box-shadow: none !important;
  transition: border-color 0.25s !important;
  margin-bottom: 32px !important;
}

#password .forgotten-password input[type="email"]:focus {
  border-bottom-color: var(--blue) !important;
  box-shadow: none !important;
}

/* Boutons submit (desktop caché xs / mobile caché sm) */
#password .forgotten-password button[type="submit"] {
  display: block !important;
  width: 100% !important;
  background: var(--blue) !important;
  color: #fff !important;
  border: 1.5px solid var(--blue) !important;
  border-radius: 0 !important;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  padding: 16px !important;
  cursor: pointer !important;
  transition: background 0.25s, border-color 0.25s !important;
  float: none !important;
  margin-top: 0 !important;
}

/* Masquer le doublon bouton mobile (hidden-sm-up) */
#password .forgotten-password .hidden-sm-up {
  display: none !important;
}

#password .forgotten-password button[type="submit"]:hover {
  background: var(--blue-dark) !important;
  border-color: var(--blue-dark) !important;
}

/* Lien retour connexion */
#password #back-to-login {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin-top: 24px !important;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: var(--muted) !important;
  transition: color 0.2s !important;
}

#password #back-to-login:hover { color: var(--blue) !important; }
#password #back-to-login .material-icons { font-size: 16px !important; }

/* Erreurs */
#password .ps-alert-error {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 24px !important;
  width: 100% !important;
}

#password .ps-alert-error .item {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  background: rgba(192, 57, 43, 0.04) !important;
  border-left: 3px solid #c0392b !important;
  padding: 12px 16px !important;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 12px !important;
  color: #c0392b !important;
}

#password .ps-alert-error .item i {
  width: 20px !important;
  height: 20px !important;
  flex-shrink: 0 !important;
  background: #c0392b !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 3px !important;
}

#password .ps-alert-error .item svg { width: 14px !important; height: 14px !important; }

