/* =====================================================================
   KsportS9 — Feuille de style personnalisée pour le thème PrestaShop "classic"
   Chargée après theme.css par le module ksports9theme. v1.0.3
   Palette : bleu nuit #0F1B2D · vert terrain #00B865 · orange promo #F2600C
   ===================================================================== */

/* ---------- Polices (auto-hébergées, conformes RGPD) ---------- */
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/barlow-condensed-latin-600-normal.woff2") format("woff2")}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/barlow-condensed-latin-700-normal.woff2") format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/inter-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/inter-latin-600-normal.woff2") format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/inter-latin-700-normal.woff2") format("woff2")}

:root{
  --ks-bleu:#0F1B2D;
  --ks-bleu-2:#16263D;
  --ks-vert:#00B865;
  --ks-vert-fonce:#009A54;
  --ks-orange:#F2600C;
  --ks-fond:#FFFFFF;
  --ks-fond-2:#F4F6F8;
  --ks-ligne:#E1E6EB;
  --ks-texte:#2A3441;
  --ks-texte-2:#6B7887;
  --ks-titre:"Barlow Condensed","Oswald","Arial Narrow",sans-serif;
  --ks-texte-font:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --ks-radius:6px;
  --ks-ombre:0 6px 24px rgba(15,27,45,.08);
}

/* ---------- Base ---------- */
body{font-family:var(--ks-texte-font);color:var(--ks-texte);background:var(--ks-fond);font-size:.9375rem;line-height:1.55}
#wrapper{background:var(--ks-fond);box-shadow:none;padding-top:1.25rem}
a{color:var(--ks-bleu)}
a:hover{color:var(--ks-vert-fonce)}
h1,h2,h3,h4,.h1,.h2,.h3,.h4,.page-header h1,.products-section-title,.product-title,#main .page-header h1,
.block-categories .h6,.card-block .h6,.modal-title,#checkout .card-block h1{
  font-family:var(--ks-titre);font-weight:700;color:var(--ks-bleu);letter-spacing:.01em;text-transform:none}
h1,.h1,#main .page-header h1{font-size:2.25rem;line-height:1.1}
h2,.h2,.products-section-title{font-size:1.9rem;line-height:1.15}
.products-section-title,.featured-products > h2,.block-reassurance-title{
  text-transform:uppercase;letter-spacing:.04em;text-align:left !important;margin:0 0 1.25rem;position:relative;padding-bottom:.6rem;display:block;width:100%}
.products-section-title::after,.featured-products > h2::after{content:"";position:absolute;left:0;bottom:0;width:52px;height:4px;background:var(--ks-vert);border-radius:2px}
.products-section-title a{color:inherit}
.products-section-title a:hover{color:var(--ks-vert-fonce)}

/* ---------- Boutons ---------- */
.btn{font-family:var(--ks-texte-font);font-weight:600;text-transform:none;letter-spacing:0;border-radius:var(--ks-radius);box-shadow:none;padding:.7rem 1.4rem;transition:background .15s,color .15s,border-color .15s}
.btn-primary,.btn-primary:focus,.btn-primary:not(:disabled):not(.disabled):active,
.add-to-cart,.add-to-cart:focus,.btn.add-to-cart{background-color:var(--ks-vert);border-color:var(--ks-vert);color:#fff}
.btn-primary:hover,.add-to-cart:hover,.btn-primary:not(:disabled):not(.disabled):active:hover{background-color:var(--ks-vert-fonce);border-color:var(--ks-vert-fonce);color:#fff}
.btn-primary:disabled,.btn-primary.disabled{background-color:#9CA7B3;border-color:#9CA7B3}
.btn-secondary,.btn-tertiary,.btn-secondary:focus{background:transparent;border:2px solid var(--ks-bleu);color:var(--ks-bleu);box-shadow:none}
.btn-secondary:hover,.btn-tertiary:hover{background:var(--ks-bleu);border-color:var(--ks-bleu);color:#fff}
.btn-outline-light,.ks-btn-light{background:#fff;border-color:#fff;color:var(--ks-bleu)}
.btn-outline-light:hover,.ks-btn-light:hover{background:var(--ks-vert);border-color:var(--ks-vert);color:#fff}
.btn-unstyle{font-family:inherit}

/* ---------- Formulaires ---------- */
.form-control{border:1px solid var(--ks-ligne);border-radius:var(--ks-radius);background:#fff;color:var(--ks-texte);box-shadow:none;font-family:var(--ks-texte-font)}
.form-control:focus{outline:none;border-color:var(--ks-vert);box-shadow:0 0 0 3px rgba(0,184,101,.18);background:#fff;color:var(--ks-texte)}
.custom-checkbox input[type=checkbox]:checked+span.color,.custom-checkbox input[type=checkbox]+span .checkbox-checked,
.custom-radio input[type=radio]:checked+span{background-color:var(--ks-vert);color:var(--ks-vert)}
.custom-radio input[type=radio]:checked+span{background-color:var(--ks-vert)}
.input-group .input-group-btn>.btn{border-radius:0 var(--ks-radius) var(--ks-radius) 0;background:var(--ks-bleu);color:#fff;box-shadow:none}
.input-group .input-group-btn>.btn:hover{background:var(--ks-vert)}

/* ---------- En-tête ---------- */
#header{background:#fff;color:var(--ks-texte);box-shadow:0 1px 0 var(--ks-ligne)}
#header .header-banner{background:var(--ks-vert);color:#fff;text-align:center;font-weight:600;font-size:.85rem;padding:.4rem 0}
#header .header-nav{background:var(--ks-bleu);color:#D7DEE6;max-height:none;border-bottom:0;margin-bottom:0}
#header .header-nav,#header .header-nav a,#header .header-nav .language-selector,#header .header-nav .currency-selector,
#header .header-nav #_desktop_contact_link,#header .header-nav .user-info a,#header .header-nav .blockcart{color:#D7DEE6;font-size:.85rem}
#header .header-nav .material-icons{color:#D7DEE6}
#header .header-nav a:hover,#header .header-nav .user-info a:hover{color:#fff}
#header .header-nav .blockcart{background:transparent}
#header .header-nav .blockcart.active a:hover{color:var(--ks-vert)}
#header .header-nav .blockcart .header .cart-products-count{color:var(--ks-vert);font-weight:700}
#header .header-nav .language-selector .expand-more,#header .header-nav .currency-selector .expand-more{color:#D7DEE6}
#header .header-nav .top-logo{display:none}
#header .header-top{padding:1rem 0 .5rem}
#header .logo{max-height:64px;width:auto}
#_desktop_logo h1{margin:0}
#header .header-top .search-widget{float:none;width:100%;max-width:420px;margin:0 auto}
.search-widget form input[type=text]{border:2px solid var(--ks-ligne);border-radius:var(--ks-radius);background:var(--ks-fond-2);padding:.65rem 3rem .65rem 1rem;min-width:100%}
.search-widget form input[type=text]:focus{border-color:var(--ks-vert);background:#fff;outline:none}
.search-widget form button[type=submit]{color:var(--ks-bleu);bottom:.5rem}
.search-widget form button[type=submit]:hover{color:var(--ks-vert)}
/* Menu principal */
#header .menu{margin-bottom:0}
#_desktop_top_menu{margin-top:.5rem}
#_desktop_top_menu .top-menu[data-depth="0"]{margin-bottom:0}
#_desktop_top_menu .top-menu a[data-depth="0"]{font-family:var(--ks-titre);font-weight:700;font-size:1.2rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ks-bleu);padding:.6rem 1.1rem;position:relative}
#_desktop_top_menu .top-menu a[data-depth="0"]:hover,#_desktop_top_menu .top-menu li:hover>a[data-depth="0"]{color:var(--ks-vert-fonce)}
#_desktop_top_menu .top-menu a[data-depth="0"]::after{content:"";position:absolute;left:1.1rem;right:1.1rem;bottom:0;height:3px;background:var(--ks-vert);border-radius:2px;transform:scaleX(0);transition:transform .15s}
#_desktop_top_menu .top-menu li:hover>a[data-depth="0"]::after{transform:scaleX(1)}
#_desktop_top_menu .top-menu .sub-menu{border-top:3px solid var(--ks-vert);box-shadow:var(--ks-ombre);border-radius:0 0 var(--ks-radius) var(--ks-radius)}
#_desktop_top_menu .top-menu .sub-menu a[data-depth="1"]{font-family:var(--ks-titre);font-weight:600;font-size:1.05rem;text-transform:uppercase;letter-spacing:.03em;color:var(--ks-bleu)}
#_desktop_top_menu .top-menu .sub-menu a:not([data-depth="0"]):hover{color:var(--ks-vert-fonce)}
#_desktop_top_menu .top-menu a.dropdown-item{color:var(--ks-texte)}
/* Mobile */
#mobile_top_menu_wrapper{background:#fff;box-shadow:var(--ks-ombre)}
#mobile_top_menu_wrapper .top-menu a[data-depth="0"]{font-family:var(--ks-titre);font-weight:700;text-transform:uppercase;font-size:1.15rem;letter-spacing:.03em;color:var(--ks-bleu)}
#mobile_top_menu_wrapper .top-menu .collapse-icons .add,#mobile_top_menu_wrapper .top-menu .collapse-icons .remove{color:var(--ks-vert)}
#header .header-nav .mobile .material-icons{color:#fff}
#header .header-nav .hidden-md-up .text-sm-center{background:#fff;padding:.5rem 0}

/* ---------- Fil d'Ariane ---------- */
.breadcrumb{background:transparent;padding:.5rem 0;font-size:.85rem}
.breadcrumb li:after{color:var(--ks-texte-2)}
.breadcrumb li a,.breadcrumb li span{color:var(--ks-texte-2)}
.breadcrumb li:last-child span{color:var(--ks-bleu);font-weight:600}

/* ---------- Carrousel d'accueil (ps_imageslider) ---------- */
#carousel{margin-bottom:2rem;box-shadow:none;border-radius:var(--ks-radius);overflow:hidden}
#carousel .carousel-inner{height:auto}
#carousel .carousel-item{position:relative}
#carousel .carousel-item img,#carousel .carousel-item figure img{width:100%;height:auto;max-width:100%;margin-left:0;display:block}
#carousel .carousel-item figure:has(.caption) img{filter:brightness(.62) saturate(1.05)}
#carousel .carousel-item .caption{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);bottom:auto;max-width:58%;color:#fff;padding:0 0 0 7%}
#carousel .carousel-item .caption .display-1,#carousel .caption .display-1{font-family:var(--ks-titre);font-weight:700;font-size:3.6rem;line-height:1;text-transform:uppercase;letter-spacing:.01em;text-shadow:0 2px 14px rgba(0,0,0,.35);color:#fff;margin-bottom:1rem}
#carousel .carousel-item .caption .caption-description,#carousel .caption .caption-description{font-size:1.05rem;line-height:1.5;text-shadow:0 1px 8px rgba(0,0,0,.45)}
#carousel .carousel-item .caption .caption-description p{color:#fff}
#carousel .direction .carousel-control .icon-prev,#carousel .direction .carousel-control .icon-next{background:rgba(15,27,45,.55);border-radius:50%;width:44px;height:44px}
#carousel .direction .carousel-control .icon-prev::before,#carousel .direction .carousel-control .icon-next::before{color:#fff;line-height:44px}
#carousel .carousel-indicators li{background:rgba(255,255,255,.5);width:10px;height:10px;border-radius:50%;border:0}
#carousel .carousel-indicators .active{background:var(--ks-vert)}
@media (max-width:767px){
  #carousel .carousel-item .caption{max-width:92%;padding-left:5%}
  #carousel .carousel-item .caption .display-1{font-size:2rem}
  #carousel .carousel-item .caption .caption-description{display:none}
}

/* ---------- Fiches produit en liste (product-miniature) ---------- */
.product-miniature{margin-bottom:1.5rem}
.product-miniature .thumbnail-container{box-shadow:0 0 0 1px var(--ks-ligne);border-radius:var(--ks-radius);overflow:hidden;background:#fff;transition:box-shadow .15s,transform .15s;margin-bottom:0;height:auto}
.product-miniature .thumbnail-container:hover{box-shadow:var(--ks-ombre),0 0 0 1px var(--ks-ligne);transform:translateY(-2px)}
.product-miniature .thumbnail-container .product-thumbnail img{width:100%;height:auto}
.product-miniature .product-description{padding:.9rem .9rem 1rem;text-align:left;box-shadow:none;background:#fff}
.product-miniature .product-title{text-transform:none;font-size:.95rem;font-family:var(--ks-texte-font);font-weight:600;margin:0 0 .35rem;letter-spacing:0}
.product-miniature .product-title a{color:var(--ks-bleu)}
.product-miniature .product-title a:hover{color:var(--ks-vert-fonce)}
.product-miniature .product-price-and-shipping{font-weight:700;font-family:var(--ks-titre);font-size:1.35rem;color:var(--ks-bleu)}
.product-miniature .product-price-and-shipping .price{color:var(--ks-bleu)}
.product-miniature .product-price-and-shipping .regular-price{color:var(--ks-texte-2);font-family:var(--ks-texte-font);font-size:.85rem;font-weight:400;margin-right:.4rem}
.product-miniature .product-price-and-shipping .discount-product,.product-miniature .product-price-and-shipping .discount-percentage,.product-miniature .product-price-and-shipping .discount-amount{display:none}
.product-miniature .highlighted-informations{box-shadow:none;background:transparent;bottom:auto;top:.5rem;right:.5rem;width:auto;padding:0;height:auto;transform:none;display:none}
.product-miniature .thumbnail-container:hover .highlighted-informations{display:block}
.product-miniature .quick-view{color:var(--ks-bleu);background:#fff;border-radius:var(--ks-radius);padding:.25rem .6rem;font-size:.8rem;box-shadow:var(--ks-ombre)}
.product-miniature .quick-view:hover{color:var(--ks-vert-fonce)}
.product-miniature .variant-links{display:none}
/* Étiquettes */
.product-flags .product-flag,.product-flag{font-family:var(--ks-texte-font);font-weight:700;font-size:.72rem;letter-spacing:.05em;text-transform:uppercase;border-radius:4px;padding:.25rem .5rem;box-shadow:none;min-width:0}
li.product-flag.discount,li.product-flag.discount-percentage,li.product-flag.discount-amount,li.product-flag.on-sale,.product-flag.discount{background:var(--ks-orange)}
li.product-flag.new,.product-flag.new{background:var(--ks-bleu)}
li.product-flag.pack,.product-flag.pack{background:var(--ks-vert)}
li.product-flag.out_of_stock,.product-flag.out_of_stock{background:var(--ks-texte-2)}
/* Page liste */
#products .products-selection,#search_filters_wrapper,#left-column .block-categories{box-shadow:none;border:1px solid var(--ks-ligne);border-radius:var(--ks-radius);background:#fff}
#search_filters .facet .facet-title,#search_filters .facet .h6{font-family:var(--ks-titre);font-weight:700;text-transform:uppercase;font-size:1.05rem;letter-spacing:.03em;color:var(--ks-bleu)}
#search_filters .facet .facet-label a{color:var(--ks-texte)}
#search_filters .facet .facet-label a:hover{color:var(--ks-vert-fonce)}
.block-category{box-shadow:none;border:0;background:var(--ks-fond-2);border-radius:var(--ks-radius);min-height:0;padding:1.5rem}
.block-category #category-description p,.block-category #category-description{color:var(--ks-texte)}
.pagination .current a,.pagination a:hover{color:var(--ks-vert-fonce);font-weight:700}
.pagination .disabled{color:var(--ks-texte-2)}
#js-product-list-top .sort-by-row .select-title{border-radius:var(--ks-radius);border:1px solid var(--ks-ligne);box-shadow:none}

/* ---------- Fiche produit ---------- */
#product #content{max-width:none}
.product-cover{box-shadow:none;border:1px solid var(--ks-ligne);border-radius:var(--ks-radius);overflow:hidden}
.product-cover img{box-shadow:none}
.product-images>li.thumb-container>.thumb{box-shadow:none;border:1px solid var(--ks-ligne);border-radius:var(--ks-radius)}
.product-images>li.thumb-container>.thumb.selected,.product-images>li.thumb-container>.thumb:hover{border-color:var(--ks-vert)}
.product-information{color:var(--ks-texte)}
#product .h1,#product h1{font-family:var(--ks-titre);font-size:2rem;font-weight:700}
.product-prices .current-price span:first-child,.product-prices .current-price .current-price-value,.product-prices .current-price-display{font-family:var(--ks-titre);font-size:2.2rem;font-weight:700;color:var(--ks-bleu)}
.product-prices .regular-price{color:var(--ks-texte-2);text-decoration:line-through;font-size:1rem}
.product-prices .discount,.product-prices .badge.discount,.has-discount .discount{background:var(--ks-orange);color:#fff;border-radius:4px;font-weight:700;font-size:.8rem;padding:.3rem .5rem}
.product-prices .tax-shipping-delivery-label{color:var(--ks-texte-2);font-size:.8rem}
.product-actions .add-to-cart{font-size:1rem;padding:.85rem 1.6rem;min-width:220px}
.product-actions .add-to-cart .material-icons{margin-right:.4rem}
.product-quantity .qty .bootstrap-touchspin .btn{background:var(--ks-fond-2);color:var(--ks-bleu);box-shadow:none;border:1px solid var(--ks-ligne)}
.product-quantity .qty #quantity_wanted{border:1px solid var(--ks-ligne)}
.product-variants>.product-variants-item select{border:1px solid var(--ks-ligne);border-radius:var(--ks-radius);box-shadow:none;height:2.6rem}
.product-variants>.product-variants-item .control-label{font-weight:600}
.product-variants>.product-variants-item ul li .input-container .radio-label{box-shadow:none;border:1px solid var(--ks-ligne);border-radius:var(--ks-radius);padding:.4rem .7rem}
.product-variants>.product-variants-item ul li .input-container input:checked+.radio-label{border-color:var(--ks-vert);background:rgba(0,184,101,.08);font-weight:600}
#product-availability{font-weight:600}
#product-availability .product-available{color:var(--ks-vert-fonce)}
#product-availability .product-unavailable,#product-availability .product-last-items{color:var(--ks-orange)}
.tabs{box-shadow:none;border:1px solid var(--ks-ligne);border-radius:var(--ks-radius);padding:1.5rem}
.tabs .nav-tabs{border-bottom:1px solid var(--ks-ligne)}
.tabs .nav-tabs .nav-link{font-family:var(--ks-titre);font-weight:700;text-transform:uppercase;letter-spacing:.03em;font-size:1.1rem;color:var(--ks-texte-2);border:0}
.tabs .nav-tabs .nav-link.active,.tabs .nav-tabs .nav-link:hover{color:var(--ks-bleu);border-bottom:3px solid var(--ks-vert)}
.product-features>dl.data-sheet dt.name,.product-features>dl.data-sheet dd.value{background:var(--ks-fond-2);border-radius:4px}
.product-features>dl.data-sheet dt.name{font-weight:600;color:var(--ks-bleu)}
.product-features>dl.data-sheet dt.name:nth-of-type(even),.product-features>dl.data-sheet dd.value:nth-of-type(even){background:#fff;border:1px solid var(--ks-ligne)}
.social-sharing li{box-shadow:none;border:1px solid var(--ks-ligne)}
#blockcart-modal .modal-header{background:var(--ks-vert);color:#fff}
#blockcart-modal .modal-header .modal-title,#blockcart-modal .modal-header .close{color:#fff}
#blockcart-modal .product-name{color:var(--ks-bleu);font-family:var(--ks-titre)}
.product-description ul,#description ul{padding-left:1.2rem}
.product-description h2,.product-description h3,#description h2,#description h3{margin-top:1.2rem}

/* ---------- Bloc réassurance (module blockreassurance, fiche produit) ---------- */
.blockreassurance_product .item-product{color:var(--ks-vert)}
#block-reassurance,.blockreassurance_product{box-shadow:none;border:1px solid var(--ks-ligne);border-radius:var(--ks-radius)}
#block-reassurance li{border-bottom:1px solid var(--ks-ligne)}
#block-reassurance li:last-child{border-bottom:0}
#block-reassurance li .block-reassurance-item{padding:.9rem 1rem}
#block-reassurance img{width:1.4rem;margin-right:.7rem;filter:invert(52%) sepia(93%) saturate(1500%) hue-rotate(115deg) brightness(95%) contrast(101%)}
.blockreassurance_product .block-title,.blockreassurance_product p{color:var(--ks-texte)}

/* ---------- Page d'accueil : blocs du module ksports9theme ---------- */
.ks-section{margin:0 0 3rem}
.ks-section-title{font-family:var(--ks-titre);font-weight:700;font-size:1.9rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ks-bleu);margin:0 0 .25rem;position:relative;padding-bottom:.6rem;text-align:left}
.ks-section-title::after{content:"";position:absolute;left:0;bottom:0;width:52px;height:4px;background:var(--ks-vert);border-radius:2px}
.ks-section-sub{color:var(--ks-texte-2);margin:0 0 1.5rem;font-size:1rem}
.ks-reassurance{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:-.5rem 0 3rem}
.ks-reassurance .ks-r{display:flex;align-items:flex-start;gap:.85rem;padding:1rem 1.1rem;background:var(--ks-fond-2);border-radius:var(--ks-radius)}
.ks-reassurance .ks-r svg{flex:0 0 30px;width:30px;height:30px;color:var(--ks-vert)}
.ks-reassurance .ks-r strong{display:block;font-family:var(--ks-titre);font-size:1.15rem;font-weight:700;color:var(--ks-bleu);line-height:1.1;margin-bottom:.2rem;text-transform:uppercase;letter-spacing:.02em}
.ks-reassurance .ks-r span{font-size:.85rem;color:var(--ks-texte-2);line-height:1.4}
.ks-univers{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.ks-univers a{position:relative;display:block;min-height:230px;border-radius:var(--ks-radius);overflow:hidden;background:var(--ks-bleu);color:#fff;text-decoration:none;isolation:isolate}
.ks-univers a::before{content:"";position:absolute;inset:0;background:var(--ks-img,none) center/cover no-repeat;opacity:.55;transition:transform .35s,opacity .25s;z-index:-2}
.ks-univers a::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,27,45,0) 25%,rgba(15,27,45,.92) 100%);z-index:-1}
.ks-univers a:hover::before{transform:scale(1.05);opacity:.7}
.ks-univers .ks-u-body{position:absolute;left:0;right:0;bottom:0;padding:1.2rem}
.ks-univers .ks-u-title{font-family:var(--ks-titre);font-weight:700;font-size:1.6rem;text-transform:uppercase;letter-spacing:.03em;line-height:1;display:block;margin-bottom:.3rem;color:#fff}
.ks-univers .ks-u-desc{font-size:.85rem;color:#D7DEE6;display:block;line-height:1.35}
.ks-univers .ks-u-cta{display:inline-block;margin-top:.7rem;font-size:.8rem;font-weight:700;color:var(--ks-vert);text-transform:uppercase;letter-spacing:.06em}
.ks-univers a:hover .ks-u-cta{color:#fff}
.ks-univers a.ks-u-football{--ks-img:url("../img/univers-football.jpg")}
.ks-univers a.ks-u-tennis{--ks-img:url("../img/univers-tennis.jpg")}
.ks-univers a.ks-u-running{--ks-img:url("../img/univers-running.jpg")}
.ks-univers a.ks-u-clubs{--ks-img:url("../img/univers-clubs.jpg");background:var(--ks-vert-fonce)}
.ks-marque{display:grid;grid-template-columns:1.1fr 1fr;gap:2.5rem;align-items:center;background:var(--ks-fond-2);border-radius:var(--ks-radius);padding:2.5rem}
.ks-marque h2{font-size:2.1rem;margin:0 0 1rem;text-transform:none}
.ks-marque p{font-size:1rem;color:var(--ks-texte);margin-bottom:1rem}
.ks-marque .ks-marque-visuel{min-height:260px;border-radius:var(--ks-radius);background:var(--ks-bleu) url("../img/marque.jpg") center/cover no-repeat}
.ks-clubs{background:var(--ks-bleu);color:#fff;border-radius:var(--ks-radius);padding:2.5rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;margin:0 0 2.5rem;position:relative;overflow:hidden}
.ks-clubs::before{content:"";position:absolute;right:-80px;top:-80px;width:320px;height:320px;border-radius:50%;background:rgba(0,184,101,.18)}
.ks-clubs h2{color:#fff;font-size:2rem;margin:0 0 .5rem;text-transform:none}
.ks-clubs p{color:#D7DEE6;margin:0;max-width:640px}
.ks-clubs .btn{white-space:nowrap;position:relative}
@media (max-width:991px){
  .ks-reassurance,.ks-univers{grid-template-columns:repeat(2,1fr)}
  .ks-marque{grid-template-columns:1fr}
  .ks-clubs{flex-direction:column;align-items:flex-start}
}
@media (max-width:575px){
  .ks-marque,.ks-clubs{padding:1.5rem}
  .ks-reassurance{grid-template-columns:1fr}
  .ks-univers{grid-template-columns:1fr}
  .ks-univers a{min-height:170px}
}

/* ---------- Produits phares (ps_featuredproducts) ---------- */
.featured-products{margin-bottom:3rem}
.featured-products .all-product-link{font-weight:600;color:var(--ks-bleu);margin-top:.5rem;float:none;display:inline-block}
.featured-products .all-product-link:hover{color:var(--ks-vert-fonce)}
.featured-products .all-product-link .material-icons{color:var(--ks-vert)}

/* ---------- Bannière / texte personnalisé par défaut (à désactiver, sinon neutralisés) ---------- */
.banner{margin:0 0 2rem}
#custom-text{box-shadow:none;border:1px solid var(--ks-ligne);border-radius:var(--ks-radius);background:#fff}
#custom-text h2{text-transform:none}

/* ---------- Newsletter ---------- */
.block_newsletter{background:var(--ks-fond-2);padding:2rem 0;font-size:.95rem}
.block_newsletter p{color:var(--ks-texte)}
.block_newsletter form input[type=email]{border:1px solid var(--ks-ligne);border-radius:var(--ks-radius) 0 0 var(--ks-radius);padding:.7rem 1rem;background:#fff}
.block_newsletter form input[type=email]:focus{border-color:var(--ks-vert);outline:none}
.block_newsletter form .input-btn,.block_newsletter form .btn{border-radius:0 var(--ks-radius) var(--ks-radius) 0;background:var(--ks-bleu);color:#fff;font-weight:600;padding:.7rem 1.2rem}
.block_newsletter form .btn:hover{background:var(--ks-vert)}
.block_newsletter form .input-wrapper{overflow:visible}
.block_newsletter .alert{margin-top:.5rem}
.block_newsletter .block_newsletter_alert{color:var(--ks-texte-2)}
.block_newsletter h5,.block_newsletter .h5{font-family:var(--ks-titre);font-weight:700;font-size:1.4rem;color:var(--ks-bleu);text-transform:uppercase;letter-spacing:.03em}

/* ---------- Pied de page ---------- */
.footer-container{background:var(--ks-bleu);color:#C5CEDA;padding-top:3rem;margin-top:0;box-shadow:none;border-top:4px solid var(--ks-vert)}
.footer-container .h3,.footer-container h3,.footer-container .h4,.footer-container .footer-title,#footer .h3{font-family:var(--ks-titre);font-weight:700;font-size:1.2rem;text-transform:uppercase;letter-spacing:.05em;color:#fff}
.footer-container li a,.footer-container .links a{color:#C5CEDA;font-size:.9rem}
.footer-container li a:hover,.footer-container .links a:hover{color:var(--ks-vert)}
.footer-container .links .collapse{display:block}
.footer-container .hidden-sm-down .h3{margin-bottom:1rem}
.block-contact{color:#C5CEDA;font-size:.9rem}
.block-contact .block-contact-title{color:#fff;font-family:var(--ks-titre);text-transform:uppercase;letter-spacing:.05em;font-size:1.2rem}
.block-contact strong,.block-contact b{color:#fff}
.block-social{text-align:left;margin-top:1rem}
.block-social li{background:rgba(255,255,255,.1);border-radius:50%;width:2.5rem;height:2.5rem}
.block-social li:hover{background:var(--ks-vert)}
.footer-container .copyright,.footer-container .copyright a,.footer-container .text-sm-center{color:#8D9AA9;font-size:.8rem}
.footer-container .copyright a:hover{color:#fff}
.footer-container .row:last-child{border-top:1px solid rgba(255,255,255,.1);margin-top:1.5rem;padding-top:1rem}
#footer .links .title{border-bottom:1px solid rgba(255,255,255,.12)}
#footer .links .title .h3{color:#fff}
#footer .links .navbar-toggler .material-icons{color:#fff}
@media (max-width:767px){
  .footer-container .links .collapse{display:none}
  .footer-container .links .collapse.in,.footer-container .links .collapse.show{display:block}
}

/* ---------- Compte, panier, commande ---------- */
.cart-grid-body,.cart-summary,.card,.page-my-account #content .links a span,.login-form,#checkout-personal-information-step,#checkout-addresses-step,#checkout-delivery-step,#checkout-payment-step,.address{box-shadow:none;border:1px solid var(--ks-ligne);border-radius:var(--ks-radius)}
.page-my-account #content .links a:hover i{color:var(--ks-vert)}
.page-my-account #content .links a span.link-item{box-shadow:none;border:1px solid var(--ks-ligne);border-radius:var(--ks-radius)}
.page-my-account #content .links a:hover span.link-item{border-color:var(--ks-vert)}
.cart-summary .cart-summary-line.cart-total .label,.cart-summary .cart-summary-line.cart-total .value{color:var(--ks-bleu);font-family:var(--ks-titre);font-size:1.3rem}
.cart-item .product-line-info .label{color:var(--ks-bleu)}
.cart-item .product-price strong,.cart-item .product-line-grid-right .price{color:var(--ks-bleu);font-weight:700}
#checkout .custom-checkbox input:checked+span .checkbox-checked{color:var(--ks-vert)}
body#checkout section.checkout-step .step-number{color:var(--ks-vert)}
body#checkout section.checkout-step .step-title{font-family:var(--ks-titre);color:var(--ks-bleu);text-transform:uppercase;font-size:1.3rem;letter-spacing:.03em}
body#checkout .continue,body#checkout #payment-confirmation .btn{background:var(--ks-vert);border-color:var(--ks-vert)}
body#checkout .continue:hover,body#checkout #payment-confirmation .btn:hover{background:var(--ks-vert-fonce)}
body#checkout section.checkout-step .address-item.selected{border-color:var(--ks-vert)}
body#checkout section.checkout-step .delivery-option{background:var(--ks-fond-2);border-radius:var(--ks-radius)}
.page-order-confirmation .card .card-title{color:var(--ks-vert-fonce)}
.alert-success{background:rgba(0,184,101,.12);color:#0B6B3E;border-color:rgba(0,184,101,.3)}
.alert-danger{background:rgba(242,96,12,.1);color:#8A3606;border-color:rgba(242,96,12,.3)}
.done{color:var(--ks-vert)}

/* ---------- Pages CMS ---------- */
#cms #content-wrapper,#cms .page-content.page-cms{box-shadow:none;border:1px solid var(--ks-ligne);border-radius:var(--ks-radius);background:#fff;padding:2.5rem;max-width:900px}
#cms .page-header{border-bottom:0;padding:0;margin-bottom:1.25rem}
#cms .page-header h1{font-size:2.25rem;text-align:left;text-transform:none}
.page-cms h2{font-size:1.55rem;margin:1.75rem 0 .6rem}
.page-cms h3{font-size:1.2rem;margin:1.25rem 0 .4rem}
.page-cms p,.page-cms li{font-size:.95rem;color:var(--ks-texte);line-height:1.65}
.page-cms ul,.page-cms ol{padding-left:1.3rem;margin-bottom:1rem}
.page-cms table{width:100%;border-collapse:collapse;margin:1rem 0 1.5rem;font-size:.9rem}
.page-cms table th{background:var(--ks-bleu);color:#fff;font-weight:600;text-align:left;padding:.6rem .8rem}
.page-cms table td{border:1px solid var(--ks-ligne);padding:.6rem .8rem;vertical-align:top}
.page-cms table tr:nth-child(even) td{background:var(--ks-fond-2)}
.page-cms blockquote{border-left:4px solid var(--ks-vert);background:var(--ks-fond-2);padding:1rem 1.25rem;margin:1rem 0;border-radius:0 var(--ks-radius) var(--ks-radius) 0;font-size:.9rem}
.page-content.page-cms a,#content.page-cms a{color:var(--ks-vert-fonce);text-decoration:underline;text-underline-offset:2px}
.page-content.page-cms a:hover,#content.page-cms a:hover{color:var(--ks-bleu)}
.page-content.page-cms .btn,.page-content.page-cms a.btn,#content.page-cms a.btn{text-decoration:none;color:#fff}
#contact .contact-rich,#contact .contact-form,.contact-rich,.contact-form{box-shadow:none;border:1px solid var(--ks-ligne);border-radius:var(--ks-radius);background:#fff}
.contact-rich h4,.contact-form h3{font-family:var(--ks-titre);color:var(--ks-bleu);text-transform:uppercase;letter-spacing:.03em}
.contact-rich .icon i{color:var(--ks-vert)}
#sitemap .sitemap-title{color:var(--ks-bleu)}

/* ---------- Divers ---------- */
.material-icons.done,.material-icons.success{color:var(--ks-vert)}
#notifications .notification-success{background:rgba(0,184,101,.12);color:#0B6B3E}
.modal-content{border-radius:var(--ks-radius);border:0}
.quickview .modal-content{border-radius:var(--ks-radius)}
.page-not-found{box-shadow:none;border:1px solid var(--ks-ligne);border-radius:var(--ks-radius)}
#back-to-top,.back-to-top,#scrollToTop{background:var(--ks-vert)}
::selection{background:rgba(0,184,101,.3)}
.sr-only-ks{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
