/*
 * =========================================================
 * 123tractoshop.com — Identité visuelle custom  v1.2.1
 * Polices : Montserrat + Inter (Google Fonts)
 * Palette : Bleu #1A64B7 + Vert #5EB229 + Navy #0a1e3c
 * =========================================================
 */

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@700;800;900&family=Inter:wght@400;500;600;700&display=swap');

:root {
  --ts-blue:         #1A64B7;
  --ts-blue-dark:    #12437a;
  --ts-blue-light:   #e8f0fb;
  --ts-green:        #5EB229;
  --ts-green-dark:   #448a1e;
  --ts-navy:         #0a1e3c;
  --ts-navy-mid:     #003070;
  --ts-text:         #1a1a2e;
  --ts-text-muted:   #7a869a;
  --ts-border:       #e0e8f5;
  --ts-bg:           #f4f7fc;
  --ts-radius:       16px;
  --ts-radius-sm:    10px;
  --ts-transition:   all 0.18s ease;
  --ts-font:         'Inter', system-ui, sans-serif;
  --ts-font-heading: 'Montserrat', system-ui, sans-serif;
}

body { font-family: var(--ts-font); background-color: var(--ts-bg); color: var(--ts-text); }
a { color: var(--ts-blue); }
a:hover { color: var(--ts-blue-dark); }

/* TOP BAR */
#header .header-top, .header-top-bar {
  background: #ffffff !important; border-bottom: 1px solid #e5e7eb !important;
  padding: 5px 0 !important; font-size: 13px !important;
}
#header .header-top a.ts-phone-link, .header-top-bar a.ts-phone-link {
  color: #1A64B7 !important; font-weight: 700 !important;
  display: inline-flex !important; align-items: center !important;
  gap: 6px !important; text-decoration: none !important;
}
#header .header-top a.ts-phone-link:hover { color: #12437a !important; text-decoration: none !important; }
#header .header-top a[href*="contact"],
#header .header-top a[href*="contactez"],
.header-top-bar a[href*="contact"] { display: none !important; }

/* LOGO */
@media (min-width: 992px) {
  #header .header__logo img, #_desktop_logo img, .header__logo img, .logo.img-fluid {
    max-height: 90px !important; width: auto !important; height: auto !important;
  }
  .header__logo { padding: 8px 0 !important; }
  #search_widget { max-width: 380px; margin-left: auto; }
}
@media (min-width: 768px) and (max-width: 991px) { .header__logo img { max-height: 64px !important; width: auto !important; } }
@media (max-width: 767px) { .header__logo img { max-height: 48px !important; width: auto !important; } }
#header nav#header-nav, #header .main-header-row {
  background: #ffffff !important; border-bottom: 2px solid var(--ts-border) !important;
  box-shadow: 0 1px 6px rgba(0,0,0,0.07) !important; padding: 0 !important;
}

/* LIENS TOP-MENU gras (comme tractoland) */
@media (min-width: 992px) {
  #top-menu > li > a.nav-link, #top-menu > li > a, #top-menu > li > a > span,
  .js-top-menu > li > a.nav-link, .js-top-menu > li > a,
  .main-menu__tree > li > a.nav-link, .main-menu__tree > li > a,
  .js-menu-desktop > li > a.nav-link, .js-menu-desktop > li > a,
  #header .nav > li > a.nav-link, #header .nav > li > a { font-weight: 700 !important; }
}
#top-menu > li > a, #top-menu > li > .dropdown-toggle {
  font-family: var(--ts-font) !important; font-weight: 700 !important; font-size: 14px !important;
  color: var(--ts-text) !important; padding: 16px 14px !important;
  display: inline-flex !important; align-items: center !important; gap: 6px !important;
  border-bottom: 3px solid transparent !important; transition: var(--ts-transition) !important;
  text-decoration: none !important; white-space: nowrap !important;
}
#top-menu > li > a:hover, #top-menu > li.sfHover > a {
  color: var(--ts-blue) !important; border-bottom-color: var(--ts-green) !important;
  background: var(--ts-blue-light) !important;
}

/* ═══════════════════════════════════════════════════════════
   BARRE ENTONNOIR — fond navy exact tractoland + CENTRÉ
   ═══════════════════════════════════════════════════════════ */
.tractoshop-funnel-bar {
  background: linear-gradient(135deg, #0a1e3c 0%, #003070 100%) !important;
  padding: 9px 24px !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  gap: 12px !important; border-bottom: 3px solid var(--ts-green) !important;
  flex-wrap: wrap !important; box-shadow: 0 4px 12px rgba(0,74,153,0.15) !important;
}
.tractoshop-funnel-bar__label {
  color: #ffffff !important; font-size: 13px !important; font-weight: 700 !important;
  white-space: nowrap !important;
}
.tractoshop-funnel-bar select, .tractoshop-funnel-bar .funnel-select {
  appearance: none !important; -webkit-appearance: none !important;
  background: #ffffff !important; color: #0a1e3c !important;
  border: 1.5px solid #ffffff !important; border-radius: 8px !important;
  padding: 9px 32px 9px 14px !important; font-size: 0.88rem !important; font-weight: 600 !important;
  min-width: 160px !important; max-width: 220px !important; cursor: pointer !important;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' stroke='%230a1e3c' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>") !important;
  background-repeat: no-repeat !important; background-position: right 12px center !important;
  transition: var(--ts-transition) !important;
}
.tractoshop-funnel-bar select:focus, .tractoshop-funnel-bar .funnel-select:focus {
  outline: 2px solid var(--ts-green) !important; outline-offset: 2px !important;
}
.tractoshop-funnel-bar select:disabled, .tractoshop-funnel-bar .funnel-select:disabled {
  background-color: rgba(255,255,255,0.55) !important; color: #6b7280 !important;
  cursor: not-allowed !important; opacity: 0.7 !important;
}
.tractoshop-funnel-bar__btn, .tractoshop-funnel-bar button[type="submit"], .tractoshop-funnel-bar .btn-funnel {
  background: var(--ts-green) !important; color: #ffffff !important; border: none !important;
  border-radius: 8px !important; padding: 10px 22px !important;
  font-family: var(--ts-font-heading) !important; font-weight: 800 !important;
  font-size: 0.85rem !important; letter-spacing: 0.06em !important; text-transform: uppercase !important;
  cursor: pointer !important; white-space: nowrap !important;
  box-shadow: 0 4px 12px rgba(94,178,41,0.35) !important; transition: var(--ts-transition) !important;
}
.tractoshop-funnel-bar__btn:hover:not(:disabled), .tractoshop-funnel-bar button[type="submit"]:hover {
  background: var(--ts-green-dark) !important; transform: translateY(-1px) !important;
}
.tractoshop-funnel-bar__btn:disabled, .tractoshop-funnel-bar button[type="submit"]:disabled {
  background: #6b7280 !important; cursor: not-allowed !important; opacity: 0.7 !important;
}
@media (max-width: 991px) {
  .tractoshop-funnel-bar { justify-content: flex-start !important; padding: 10px 12px !important; gap: 8px !important; }
  .tractoshop-funnel-bar__label { width: 100% !important; }
  .tractoshop-funnel-bar select { flex: 1 1 calc(50% - 4px) !important; min-width: 0 !important; max-width: none !important; }
  .tractoshop-funnel-bar__btn { width: 100% !important; }
}
@media (max-width: 575px) { .tractoshop-funnel-bar select { flex: 1 1 100% !important; } }

/* BOUTONS GLOBAUX */
.btn-primary, button.btn-primary, .add-to-cart, #add-to-cart-or-refresh .btn,
.product-add-to-cart .add, .cart-summary-totals .btn, .checkout a, .order-confirmation .btn {
  background-color: var(--ts-green) !important; border-color: var(--ts-green) !important;
  color: #ffffff !important; font-family: var(--ts-font) !important; font-weight: 700 !important;
  border-radius: var(--ts-radius) !important; transition: var(--ts-transition) !important;
}
.btn-primary:hover, .add-to-cart:hover { background-color: var(--ts-green-dark) !important; border-color: var(--ts-green-dark) !important; }
.btn-secondary, button.btn-secondary { background-color: transparent !important; border-color: var(--ts-blue) !important; color: var(--ts-blue) !important; border-radius: var(--ts-radius) !important; font-weight: 600 !important; }
.btn-secondary:hover { background-color: var(--ts-blue) !important; color: #ffffff !important; }
.product-flag.new, .product-flag.online-only { background-color: var(--ts-blue) !important; color: #ffffff !important; border-radius: 6px !important; font-size: 11px !important; font-weight: 700 !important; padding: 2px 10px !important; }
.product-flag.discount, .product-flag.on-sale { background-color: var(--ts-green) !important; color: #ffffff !important; border-radius: 6px !important; font-size: 11px !important; font-weight: 700 !important; }

/* BARRE RECHERCHE */
#search_widget form input[type="text"] { border: 2px solid var(--ts-blue) !important; border-radius: 50px !important; padding-left: 20px !important; height: 48px; font-size: 16px; }
#search_widget form button[type="submit"] { background-color: var(--ts-blue) !important; color: white !important; border-radius: 0 50px 50px 0 !important; }

/* PANIER icone */
#header .blockcart .cart-products-count, #header .shopping-cart .count {
  background: var(--ts-green) !important; color: #ffffff !important; border-radius: 50% !important;
  min-width: 20px !important; height: 20px !important; font-size: 11px !important; font-weight: 700 !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  position: absolute !important; top: -6px !important; right: -8px !important;
}

/* FIL D'ARIANE */
nav.breadcrumb, .breadcrumb-wrapper { background: #ffffff !important; border-bottom: 1px solid #eaeff7 !important; padding: 9px 0 !important; font-size: 13px !important; }
nav.breadcrumb ol li a, .breadcrumb-wrapper a { color: var(--ts-blue) !important; }
nav.breadcrumb ol li.active, nav.breadcrumb ol li span { color: var(--ts-text) !important; font-weight: 600 !important; }

/* ═══════════════════════════════════════════════════════════
   CARDS PRODUIT
   ═══════════════════════════════════════════════════════════ */
.product-miniature { border-radius: 8px !important; overflow: hidden; transition: transform 0.2s ease, box-shadow 0.2s ease; border: 1px solid #dee2e6 !important; }
.product-miniature:hover { transform: translateY(-5px); box-shadow: 0 10px 20px rgba(0,0,0,0.1); border-color: var(--ts-blue) !important; }
.product-miniature .product-title a { color: var(--ts-text) !important; font-weight: 600 !important; font-size: 14px !important; }
.product-miniature .product-title a:hover { color: var(--ts-blue) !important; }
.product-miniature .price, .product-miniature .product-price { color: var(--ts-blue-dark) !important; font-weight: 800 !important; font-size: 1.1rem !important; }
.product-miniature .add-to-cart, .product-miniature button.add { background: var(--ts-green) !important; border-color: var(--ts-green) !important; color: #fff !important; border-radius: var(--ts-radius-sm) !important; font-size: 12px !important; font-weight: 700 !important; padding: 7px 14px !important; }
.product-miniature .add-to-cart:hover { background: var(--ts-green-dark) !important; }

/* ═══════════════════════════════════════════════════════════
   SOUS-CATÉGORIES — Boutons pill SANS images
   (identique tractoland, palette tractoshop)
   ═══════════════════════════════════════════════════════════ */
#subcategories .subcategory__image,
.page-category .subcategory-image,
.subcategory-image,
.subcategory img { display: none !important; }

#subcategories .subcategory__wrapper { padding: 5px !important; }

#subcategories a.subcategory,
.page-category .subcategory-list a,
.page-category .subcategories a {
  display: flex !important; align-items: center !important; justify-content: center !important;
  width: 100% !important; height: 100% !important; padding: 11px 18px !important;
  border: 2px solid #1A64B7 !important; border-radius: 50px !important;
  background: #ffffff !important; text-decoration: none !important;
  transition: background 0.2s ease, color 0.2s ease, transform 0.18s ease, box-shadow 0.2s ease !important;
}
#subcategories a.subcategory:hover,
.page-category .subcategory-list a:hover,
.page-category .subcategories a:hover {
  background: #1A64B7 !important; color: #ffffff !important;
  transform: translateY(-3px) !important; box-shadow: 0 6px 18px rgba(26,100,183,0.22) !important;
}
#subcategories a.subcategory.active,
#subcategories a.subcategory[aria-current="page"],
.page-category .subcategories a.active,
.page-category .subcategories a[aria-current="page"] {
  background: #0a1e3c !important; border-color: #0a1e3c !important; color: #ffffff !important;
}
#subcategories p.subcategory__name {
  margin: 0 !important; font-size: 0.85rem !important; font-weight: 600 !important;
  color: #1A64B7 !important; text-align: center !important; line-height: 1.3 !important; transition: color 0.2s !important;
}
#subcategories a.subcategory:hover p.subcategory__name,
#subcategories a.subcategory.active p.subcategory__name { color: #ffffff !important; }

@media (max-width: 575px) {
  #subcategories a.subcategory,
  .page-category .subcategory-list a,
  .page-category .subcategories a { border-radius: 10px !important; padding: 9px 12px !important; }
}

/* ═══════════════════════════════════════════════════════════
   PAGE MARQUES — Boutons pill SANS images
   (identique tractoland, palette tractoshop)
   ═══════════════════════════════════════════════════════════ */
body.page-manufacturer .brand__img,
body.page-manufacturer .brand__products { display: none !important; }
body.page-manufacturer li.brand, body.page-manufacturer .brand.card {
  background: transparent !important; border: none !important; box-shadow: none !important;
  padding: 5px !important; margin: 0 !important; display: flex !important; align-items: stretch !important;
}
body.page-manufacturer .brand__infos { width: 100% !important; margin: 0 !important; display: flex !important; }
body.page-manufacturer .brand__infos p { margin: 0 !important; width: 100% !important; display: flex !important; }
body.page-manufacturer .brand__link,
body.page-manufacturer .brand__infos a {
  display: flex !important; align-items: center !important; justify-content: center !important;
  text-align: center !important; width: 100% !important; min-height: 56px !important;
  padding: 11px 18px !important; border: 2px solid #1A64B7 !important;
  border-radius: 50px !important; background: #ffffff !important; color: #1A64B7 !important;
  font-family: var(--ts-font) !important; font-size: 0.85rem !important; font-weight: 600 !important;
  line-height: 1.3 !important; text-decoration: none !important; word-break: break-word !important;
  transition: background 0.2s ease, color 0.2s ease, transform 0.18s ease, box-shadow 0.2s ease !important;
}
body.page-manufacturer .brand__link:hover, body.page-manufacturer .brand__infos a:hover {
  background: #1A64B7 !important; color: #ffffff !important;
  transform: translateY(-3px) !important; box-shadow: 0 6px 18px rgba(26,100,183,0.22) !important;
}
@media (max-width: 575px) {
  body.page-manufacturer .brand__link, body.page-manufacturer .brand__infos a {
    border-radius: 10px !important; padding: 9px 12px !important;
    min-height: 48px !important; font-size: 0.8rem !important;
  }
}
body.page-manufacturer h1 { font-family: var(--ts-font-heading) !important; font-weight: 900 !important; font-size: 1.8rem !important; color: #1a1a2e !important; }

/* ═══════════════════════════════════════════════════════════
   PAGE CATÉGORIE / LISTE — styles intermédiaires
   ═══════════════════════════════════════════════════════════ */
.page-category h1.page-title, .page-category h1, #category .page-title, #category h1 {
  font-family: var(--ts-font-heading) !important; font-weight: 900 !important; font-size: 1.8rem !important; color: #1a1a2e !important;
}
.page-category .total-products, #js-product-list-top .showing, .products-selection .showing {
  font-size: 0.9rem !important; color: var(--ts-text-muted) !important; font-style: italic !important;
}
.page-category .sort-by-row, .products-selection {
  background: #ffffff !important; border: 1px solid var(--ts-border) !important;
  border-radius: var(--ts-radius-sm) !important; padding: 8px 16px !important;
  margin-bottom: 20px !important; display: flex !important; align-items: center !important;
  justify-content: space-between !important; flex-wrap: wrap !important; gap: 8px !important;
}
.page-category .products-sort-order select, .page-category #js-product-list-top select {
  border: 1.5px solid var(--ts-border) !important; border-radius: 8px !important;
  padding: 6px 14px !important; font-size: 0.88rem !important; color: var(--ts-text) !important;
  font-weight: 600 !important; background: #fff !important; cursor: pointer !important;
}
#left-column .block-categories, #left-column .links {
  background: #ffffff !important; border: 1px solid var(--ts-border) !important;
  border-radius: var(--ts-radius-sm) !important; margin-bottom: 16px !important; overflow: hidden !important;
}
#left-column .block-title {
  font-family: var(--ts-font-heading) !important; font-weight: 800 !important;
  font-size: 0.88rem !important; color: var(--ts-navy) !important;
  text-transform: uppercase !important; letter-spacing: 0.05em !important;
  padding: 14px 18px !important; border-bottom: 2px solid var(--ts-green) !important; margin: 0 !important;
}
#left-column .category-sub-menu li a, #left-column .links ul li a {
  display: block !important; padding: 9px 18px !important; color: var(--ts-text) !important;
  font-size: 0.88rem !important; font-weight: 500 !important; text-decoration: none !important;
  border-bottom: 1px solid #f1f5f9 !important; transition: var(--ts-transition) !important;
}
#left-column .category-sub-menu li a:hover, #left-column .links ul li a:hover {
  background: var(--ts-blue-light) !important; color: var(--ts-blue) !important; padding-left: 24px !important;
}
.facet__title, #search_filters .h6 {
  font-family: var(--ts-font) !important; font-weight: 700 !important; font-size: 0.88rem !important;
  color: var(--ts-navy) !important; text-transform: uppercase !important; letter-spacing: 0.04em !important;
}
.facet__label { font-size: 0.85rem !important; color: var(--ts-text) !important; }
.page-category .pagination .page-link { color: var(--ts-blue) !important; border-color: var(--ts-border) !important; border-radius: 6px !important; font-weight: 600 !important; }
.page-category .pagination .page-link:hover, .page-category .pagination .active .page-link { background: var(--ts-blue) !important; color: #fff !important; border-color: var(--ts-blue) !important; }

/* ═══════════════════════════════════════════════════════════
   PAGE PRODUIT — fond prix dégradé navy (base)
   complété par product.css
   ═══════════════════════════════════════════════════════════ */
body.page-product { background-color: #f7f9fc !important; }
body.page-product h1, body.page-product .page-title {
  font-family: var(--ts-font-heading) !important; font-weight: 900 !important;
  font-size: 1.65rem !important; line-height: 1.2 !important; letter-spacing: -0.02em !important; color: #1a1a2e !important;
}
body.page-product .product-prices,
body.page-product .product__prices {
  background: linear-gradient(135deg, #1A64B7 0%, #003070 100%) !important;
  border-radius: 16px !important; padding: 1.25rem 1.5rem !important;
  margin: 1.25rem 0 !important; box-shadow: 0 4px 20px rgba(26,100,183,0.28) !important;
}
body.page-product .product-prices .current-price,
body.page-product .product-prices .price,
body.page-product .product__prices .current-price,
body.page-product .product__prices .price,
body.page-product .product-prices span.price {
  font-family: var(--ts-font-heading) !important; font-size: 2.5rem !important;
  font-weight: 900 !important; color: #ffffff !important; line-height: 1 !important;
}
body.page-product .product-prices .tax-shipping-included,
body.page-product .product-prices small,
body.page-product .product__prices small,
body.page-product .product-prices .without-taxes { color: rgba(255,255,255,0.75) !important; font-size: 0.8rem !important; }

/* PAGE PANIER — étapes + tel + barre */
.checkout-process .step-number, ol.checkout-steps .step-title .step-number {
  background: var(--ts-bg) !important; color: var(--ts-text-muted) !important;
  border: 2px solid var(--ts-border) !important; border-radius: 50% !important;
  font-weight: 700 !important; width: 34px !important; height: 34px !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
}
.checkout-process .step-current .step-number,
ol.checkout-steps li.-current .step-title .step-number,
ol.checkout-steps li.-complete .step-title .step-number {
  background: var(--ts-green) !important; border-color: var(--ts-green) !important; color: #ffffff !important;
}
.ts-cart-phone-block { background: var(--ts-blue-light) !important; border: 1px solid var(--ts-border) !important; border-radius: 8px !important; padding: 12px 16px !important; margin-top: 16px !important; text-align: center !important; font-size: 0.9rem !important; }
.ts-cart-phone-block a { color: var(--ts-blue) !important; font-weight: 700 !important; font-size: 1rem !important; }
/* ─── Barre livraison gratuite ─── */
.ts-free-shipping-bar-wrapper {
  background:#f0f5ff; border-radius:8px; padding:10px 14px; margin:10px 0;
}
.ts-free-ship-text { font-size:12px; color:#7a869a; margin:0 0 6px; line-height:1.4; }
.ts-free-ship-text strong { color:#0a1e3c; font-weight:700; }
.ts-free-ship-reached { font-size:13px; font-weight:700; color:#5EB229; margin:0; display:flex; align-items:center; gap:6px; }
.ts-free-shipping-bar { width:100%; background:#d8e3f5; border-radius:6px; height:8px; overflow:hidden; }
.ts-free-shipping-bar .progress-bar.fill { height:100%; background:linear-gradient(90deg,#1A64B7,#5EB229); border-radius:6px; transition:width 0.5s ease; }


/* ─────────────────────────────────────────────────────────
   TÉLÉPHONE HEADER — Texte blanc sans bordure (phone-tweaks.js)
   La classe .ts-phone-link est ajoutée par JS sur le lien tel:
   Backup : sélecteurs natifs a[href^="tel:"] dans le header
───────────────────────────────────────────────────────── */

/* ─── Téléphone header — pilule bleue PERMANENTE (fond toujours rempli)
   Même logique que .hydra-phone sur 123hydra.com.
   phone-tweaks.js injecte aussi ce style en fin de <body> pour priorité max.
─────────────────────────────────────────────────────────────────── */
a.ts-phone-link,
#header a.ts-phone-link,
.header-top a.ts-phone-link,
.header-top-bar a.ts-phone-link,
body a.ts-phone-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 800 !important;
  font-size: 0.88rem !important;
  letter-spacing: 0.02em !important;
  color: #ffffff !important;            /* blanc TOUJOURS */
  background-color: #1A64B7 !important; /* bleu TOUJOURS */
  border: none !important;
  border-radius: 999px !important;
  padding: 5px 14px 5px 10px !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition: background-color 0.18s ease !important;
  box-sizing: border-box !important;
}
a.ts-phone-link svg,
#header a.ts-phone-link svg,
body a.ts-phone-link svg {
  stroke: #ffffff !important;
  fill: none !important;
  width: 16px !important;
  height: 16px !important;
  flex-shrink: 0 !important;
}
a.ts-phone-link:hover,
#header a.ts-phone-link:hover,
body a.ts-phone-link:hover {
  background-color: #1258a0 !important;
  color: #ffffff !important;
  text-decoration: none !important;
}
a.ts-phone-link .ts-phone-num,
a.ts-phone-link:hover .ts-phone-num { color: #ffffff !important; }

/* ─── MODAL BLOCKCART — Produit ajouté au panier (toutes pages) ─── */
#blockcart-modal .modal-header {
  background-color: #1A64B7 !important; border-radius: 8px 8px 0 0;
}
#blockcart-modal .modal-title {
  color: #ffffff !important; font-family: 'Montserrat', sans-serif !important; font-weight: 700 !important;
}
#blockcart-modal .modal-title .material-icons,
#blockcart-modal .modal-title i { color: #5EB229 !important; }
#blockcart-modal .modal-header .close,
#blockcart-modal .modal-header .btn-close { color: #ffffff !important; opacity: 1 !important; filter: brightness(0) invert(1); }
#blockcart-modal .product-price,
#blockcart-modal .price,
#blockcart-modal .current-price,
#blockcart-modal .current-price-value { color: #1A64B7 !important; font-weight: 800 !important; }
#blockcart-modal .product-name { font-weight: 700 !important; color: #0a1e3c !important; }
/* Bouton "Continuer mes achats" — outlined navy, blanc au hover
   Sélecteurs étendus pour couvrir tous les cas PS9 Hummingbird */
#blockcart-modal .cart-content-btn .btn-secondary,
#blockcart-modal .cart-content-btn .btn-outline-primary,
#blockcart-modal .cart-content-btn a.continue,
#blockcart-modal .cart-content-btn a.btn-outline-primary,
#blockcart-modal .cart-content-btn a[data-dismiss],
#blockcart-modal .continue-shopping,
#blockcart-modal a[href*="index.php"]:not([href*="order"]) {
  color: #0a1e3c !important;
  border: 2px solid #0a1e3c !important;
  background-color: #ffffff !important;
  text-transform: uppercase !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  font-size: 0.8rem !important;
  letter-spacing: 0.04em !important;
  border-radius: 8px !important;
  padding: 10px 18px !important;
  transition: background-color 0.2s ease, color 0.2s ease !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}
#blockcart-modal .cart-content-btn .btn-secondary:hover,
#blockcart-modal .cart-content-btn .btn-outline-primary:hover,
#blockcart-modal .cart-content-btn a.continue:hover,
#blockcart-modal .cart-content-btn a.btn-outline-primary:hover,
#blockcart-modal .continue-shopping:hover {
  background-color: #0a1e3c !important;
  color: #ffffff !important;
  border-color: #0a1e3c !important;
}

/* Bouton "Commander" — VERT comme page panier */
#blockcart-modal .cart-content-btn .btn-primary,
#blockcart-modal .cart-content-btn a.checkout,
#blockcart-modal .cart-content-btn a[href*="order"],
#blockcart-modal .cart-content-btn a[href*="commande"] {
  background-color: #5EB229 !important;
  border-color: #5EB229 !important;
  color: #ffffff !important;
  text-transform: uppercase !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 800 !important;
  font-size: 0.82rem !important;
  letter-spacing: 0.06em !important;
  border-radius: 8px !important;
  padding: 10px 22px !important;
  box-shadow: 0 4px 14px rgba(94,178,41,0.35) !important;
  transition: background-color 0.2s ease, box-shadow 0.2s ease !important;
  text-decoration: none !important;
}
#blockcart-modal .cart-content-btn .btn-primary:hover,
#blockcart-modal .cart-content-btn a.checkout:hover,
#blockcart-modal .cart-content-btn a[href*="order"]:hover {
  background-color: #448a1e !important;
  border-color: #448a1e !important;
  box-shadow: 0 6px 20px rgba(94,178,41,0.50) !important;
}

/* ─── TUNNEL DE COMMANDE — Boutons cohérents (checkout, confirmation) ─── */

/* Bouton principal (Continuer, Valider, Confirmer) → VERT */
.page-order-confirmation .btn-primary,
.checkout-step .continue.btn-primary,
.checkout-step .btn-primary,
.page-checkout .btn-primary,
#checkout .btn-primary {
  background-color: #5EB229 !important;
  border-color: #5EB229 !important;
  color: #ffffff !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  border-radius: 10px !important;
  box-shadow: 0 4px 14px rgba(94,178,41,0.35) !important;
  transition: background-color 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease !important;
}
.page-order-confirmation .btn-primary:hover,
.checkout-step .continue.btn-primary:hover,
.checkout-step .btn-primary:hover,
.page-checkout .btn-primary:hover,
#checkout .btn-primary:hover {
  background-color: #448a1e !important;
  border-color: #448a1e !important;
  box-shadow: 0 6px 20px rgba(94,178,41,0.50) !important;
  transform: translateY(-1px) !important;
}

/* Bouton secondaire (Modifier, Retour) → BLEU outlined */
.checkout-step .step-edit,
.checkout-step .btn-secondary,
.page-checkout .btn-secondary,
#checkout .btn-secondary {
  color: #1A64B7 !important;
  border: 2px solid #1A64B7 !important;
  background-color: transparent !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  font-size: 0.82rem !important;
  letter-spacing: 0.04em !important;
  border-radius: 8px !important;
  transition: background-color 0.2s ease, color 0.2s ease !important;
}
.checkout-step .step-edit:hover,
.checkout-step .btn-secondary:hover,
.page-checkout .btn-secondary:hover,
#checkout .btn-secondary:hover {
  background-color: #1A64B7 !important;
  color: #ffffff !important;
}

/* Étapes checkout — numéros et titres */
.checkout-step .step-title,
.checkout-step .nav-link .step-number {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
}
.checkout-step.-current .step-title,
.checkout-step.-reachable.-complete .step-title { color: #0a1e3c !important; }
.checkout-step .nav-link .step-number { background: #1A64B7 !important; border-color: #1A64B7 !important; color: #fff !important; }
.checkout-step.-reachable.-complete .nav-link .step-number { background: #5EB229 !important; border-color: #5EB229 !important; }

/* Prix dans le récapitulatif checkout */
.checkout-order-summary .product-line-info .value,
.checkout-order-summary .subtotals .amount,
.page-checkout .product-price { color: #1A64B7 !important; font-weight: 700 !important; }

/* Lien "Continuer mes achats" en dehors du panier (page confirmation) */
.page-order-confirmation a.btn-outline-primary,
.page-order-confirmation a[href*="panier"],
.page-order-confirmation .continue { color: #1A64B7 !important; border-color: #1A64B7 !important; font-weight: 700 !important; }
