/* ==========================================================================
   CANDY KOSHER — Design system 100% sur-mesure (thème "candykosher")
   Écrit de zéro. Redéfinit toute l'identité visuelle par-dessus le socle grille.
   Palette bonbon premium : rose → violet, accent menthe (cacherout).
   ========================================================================== */

:root{
  --ink:#160f2b; --ink-2:#4b4363; --muted:#8b84a6;
  --bg:#fbf9ff; --bg-2:#f3efff; --surface:#ffffff;
  --line:rgba(22,15,43,.09); --line-2:rgba(22,15,43,.15);
  --pink:#ff4d97; --violet:#7b5cff; --indigo:#5a37f0; --mint:#12c8a5; --amber:#ffb020;
  --grad:linear-gradient(120deg,#ff4d97 0%,#7b5cff 55%,#5a37f0 100%);
  --grad-2:linear-gradient(120deg,#12c8a5,#12a5c8);
  --grad-soft:linear-gradient(120deg,rgba(255,77,151,.12),rgba(123,92,255,.14));
  --sh-sm:0 1px 2px rgba(22,15,43,.06),0 2px 10px rgba(22,15,43,.05);
  --sh-md:0 12px 30px -12px rgba(90,55,240,.28),0 6px 16px -10px rgba(22,15,43,.16);
  --sh-lg:0 34px 64px -22px rgba(90,55,240,.42),0 14px 30px -16px rgba(22,15,43,.20);
  --r:16px; --r-lg:26px; --pill:999px;
  --display:"Fredoka","Heebo",system-ui,sans-serif;
  --font:"Heebo",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --wrap:1240px;
}

/* ---------- base ---------- */
html{scroll-behavior:smooth;}
body{
  font-family:var(--font); color:var(--ink); line-height:1.6; letter-spacing:.1px;
  background:
    radial-gradient(1100px 620px at 6% -8%,rgba(255,77,151,.09),transparent 60%),
    radial-gradient(1000px 640px at 100% 0%,rgba(123,92,255,.11),transparent 55%),
    var(--bg);
  -webkit-font-smoothing:antialiased;
}
#wrapper,.container-fluid,main{background:transparent;}
.container{max-width:var(--wrap);}
h1,h2,h3,h4,h5,.h1,.h2,.h3,.h4{font-family:var(--display); font-weight:600; letter-spacing:-.02em; color:var(--ink); line-height:1.15;}
a{color:var(--indigo); text-decoration:none; transition:color .18s ease;}
a:hover{color:var(--pink); text-decoration:none;}
img{max-width:100%;}
::selection{background:rgba(255,77,151,.24);}
hr{border-color:var(--line);}
label,.label{color:var(--ink-2);}
small,.small{color:var(--muted);}

/* ---------- buttons ---------- */
.btn{border-radius:var(--pill); font-weight:700; letter-spacing:.2px; transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .18s,filter .18s; border:1px solid transparent;}
.btn-primary,.btn-primary:visited,.btn.btn-primary{background-image:var(--grad); background-color:var(--violet); border:0; color:#fff; box-shadow:var(--sh-md); padding:.7rem 1.5rem;}
.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn.btn-primary:hover{background-image:var(--grad); color:#fff; transform:translateY(-2px); box-shadow:var(--sh-lg); filter:saturate(1.08);}
.btn-secondary,.btn-outline-secondary,.btn-tertiary{background:var(--surface); border:1px solid var(--line-2); color:var(--ink); border-radius:var(--pill); font-weight:600;}
.btn-secondary:hover,.btn-outline-secondary:hover,.btn-tertiary:hover{background:var(--surface); color:var(--indigo); border-color:var(--violet); transform:translateY(-2px); box-shadow:var(--sh-sm);}
.btn-lg{padding:.95rem 1.9rem; font-size:1.02rem;}
.btn-primary.disabled,.btn-primary:disabled{opacity:.5;}

/* ---------- forms ---------- */
.form-control,.input-group input,select,textarea,.form-control:focus{
  border-radius:12px; border:1px solid var(--line-2); background:var(--surface); color:var(--ink);
  box-shadow:none; transition:border-color .18s,box-shadow .18s;
}
.form-control:focus,select:focus,textarea:focus{border-color:var(--violet); box-shadow:0 0 0 4px rgba(123,92,255,.14); outline:none;}
.custom-checkbox input[type=checkbox]:checked+span,.custom-radio input:checked+span{background:var(--grad); border-color:transparent;}
.input-group.focus{box-shadow:0 0 0 4px rgba(123,92,255,.14); border-radius:12px;}

/* ==========================================================================
   ANNONCE + HEADER
   ========================================================================== */
.ck-announce{background:var(--grad); color:#fff; text-align:center; font-weight:600; font-size:.84rem; letter-spacing:.2px; padding:.5rem 1rem;}
.header-banner{background:var(--grad);}
.header-banner .banner{color:#fff;}

#header{background:rgba(255,255,255,.78); -webkit-backdrop-filter:saturate(160%) blur(14px); backdrop-filter:saturate(160%) blur(14px); border-bottom:1px solid var(--line); box-shadow:0 8px 30px -22px rgba(22,15,43,.6); position:sticky; top:0; z-index:1000;}
#header .header-nav{border-bottom:1px solid var(--line); min-height:42px; font-size:.85rem;}
#header .header-nav a{color:var(--ink-2); font-weight:600;}
#header .header-nav a:hover{color:var(--pink);}
#header .header-top{padding:.9rem 0;}
.ck-brand{display:flex; align-items:center; gap:10px; font-family:var(--display); font-weight:700; font-size:1.5rem; color:var(--ink);}
.ck-brand:hover{color:var(--ink);}
.ck-brand .mark{width:42px; height:42px; border-radius:12px; background:var(--grad); display:grid; place-items:center; font-size:1.35rem; box-shadow:var(--sh-md);}
#_desktop_logo img,.logo{max-height:58px; width:auto;}

/* main menu */
#_desktop_top_menu{font-family:var(--font);}
#_desktop_top_menu .top-menu a.dropdown-item,.menu-top a,#top-menu a,#_desktop_top_menu .top-menu .sub-menu a{font-weight:600; color:var(--ink); text-transform:none;}
#_desktop_top_menu>.top-menu>li>a{padding:.4rem .1rem; font-size:.98rem;}
.menu-top a:hover,#top-menu a:hover,#_desktop_top_menu .top-menu a:hover{color:var(--pink);}
#_desktop_top_menu .sub-menu,.popover.bootstrap.sub-menu{border:1px solid var(--line); border-radius:var(--r); box-shadow:var(--sh-md); overflow:hidden; background:var(--surface);}

/* search */
#search_widget input[type=text],.ui-autocomplete-input,.ps-search-widget input{
  border-radius:var(--pill)!important; border:1px solid var(--line-2)!important; background:var(--surface); padding:.6rem 1rem .6rem 1.1rem; box-shadow:var(--sh-sm); min-width:220px;
}
#search_widget button[type=submit]{color:var(--violet);}
#search_widget button[type=submit] .search{color:var(--violet);}

/* cart + account */
.blockcart,.blockcart.active{background:transparent!important;}
#_desktop_cart .blockcart .header,.blockcart .header,.header .cart-preview .header{display:inline-flex; align-items:center; gap:.4rem; color:var(--ink); font-weight:600; padding:.35rem .8rem; border-radius:var(--pill); border:1px solid var(--line-2); background:var(--surface); box-shadow:var(--sh-sm); transition:border-color .18s,box-shadow .18s;}
#_desktop_cart .blockcart .header:hover{border-color:var(--violet); box-shadow:var(--sh-md);}
#_desktop_cart .blockcart .header a,.blockcart .header a{color:var(--ink); display:inline-flex; align-items:center; gap:.4rem;}
.blockcart .material-icons.shopping-cart{color:var(--indigo); font-size:1.25rem;}
#_desktop_cart .cart-products-count,.blockcart .cart-products-count{position:static; display:inline-block; background:var(--grad); color:#fff; border-radius:var(--pill); padding:1px .5rem; font-weight:800; font-size:.72rem; min-width:22px; line-height:1.5; text-align:center; margin-inline-start:.15rem;}
.user-info a,#_desktop_user_info a,.header-nav .user-info a{color:var(--ink-2); font-weight:600;}
.material-icons{vertical-align:middle;}

/* alignement de l'en-tête */
.header-top>.container>.row{align-items:center;}
.header-top-right{display:flex; align-items:center; gap:1.4rem; justify-content:flex-end;}
#_desktop_top_menu{flex:1 1 auto; position:static;}
#_desktop_top_menu .top-menu{display:flex; flex-wrap:wrap; align-items:center; gap:.4rem 1.3rem; margin:0; padding:0;}
#_desktop_top_menu .top-menu>li{list-style:none;}
#search_widget,.header-top-right #search_widget{flex:0 0 auto; margin-inline-start:auto; min-width:230px;}
.header-nav .right-nav{display:flex; align-items:center; justify-content:flex-end; gap:1rem; flex-wrap:wrap;}
.header-nav .right-nav>div{margin:0!important;}

/* ==========================================================================
   HERO + CHIPS + SECTION TITLES
   ========================================================================== */
.ck-hero{position:relative; margin:0 0 0; padding:clamp(3rem,6vw,6rem) 0 clamp(4rem,7vw,7rem); border-radius:0 0 var(--r-lg) var(--r-lg); overflow:hidden; color:#fff; isolation:isolate;
  background:radial-gradient(900px 500px at 12% 10%,rgba(255,77,151,.55),transparent 60%),radial-gradient(900px 520px at 88% 0%,rgba(123,92,255,.6),transparent 55%),linear-gradient(160deg,#1b1140 0%,#2a1466 45%,#3a1f8f 100%);}
.ck-hero::after{content:""; position:absolute; inset:0; z-index:-1; mix-blend-mode:screen; background:radial-gradient(circle at 20% 80%,rgba(18,200,165,.35),transparent 40%),radial-gradient(circle at 78% 70%,rgba(255,176,32,.30),transparent 42%);}
.ck-hero .container{position:relative;}
.ck-hero__badge{display:inline-flex; align-items:center; gap:.5rem; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.24); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); color:#fff; font-weight:600; font-size:.82rem; padding:.4rem .95rem; border-radius:var(--pill); margin-bottom:1.4rem;}
.ck-hero__badge .dot{width:8px; height:8px; border-radius:50%; background:var(--mint); box-shadow:0 0 0 4px rgba(18,200,165,.25);}
.ck-hero h1{color:#fff; font-family:var(--display); font-weight:700; font-size:clamp(2.3rem,5.4vw,4.4rem); line-height:1.02; margin:0 0 1.1rem; max-width:16ch;}
.ck-hero h1 .grad{background:linear-gradient(90deg,#ffd1e6,#c9b8ff,#a5ffe6); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent;}
.ck-hero p.lead{color:rgba(255,255,255,.87); font-size:clamp(1.02rem,1.5vw,1.26rem); max-width:54ch; margin:0 0 2rem;}
.ck-hero__cta{display:flex; flex-wrap:wrap; gap:.9rem; align-items:center;}
.ck-btn-light{background:#fff; color:var(--indigo)!important; border-radius:var(--pill); font-weight:800; box-shadow:var(--sh-lg); border:0; padding:.9rem 1.8rem;}
.ck-btn-light:hover{transform:translateY(-2px); color:var(--pink)!important;}
.ck-btn-ghost{background:rgba(255,255,255,.1); color:#fff!important; border:1px solid rgba(255,255,255,.38); border-radius:var(--pill); font-weight:700; -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); padding:.9rem 1.8rem;}
.ck-btn-ghost:hover{background:rgba(255,255,255,.2); transform:translateY(-2px);}
.ck-hero__trust{display:flex; flex-wrap:wrap; gap:1.6rem; margin-top:2.4rem; color:rgba(255,255,255,.92); font-weight:600; font-size:.92rem;}
.ck-hero__trust span{display:inline-flex; align-items:center; gap:.5rem;}
.ck-hero__trust .material-icons{color:var(--mint); font-size:1.2rem;}
.ck-blob{position:absolute; border-radius:50%; z-index:-1; filter:blur(1px); animation:ckfloat 9s ease-in-out infinite;}
.ck-blob.b1{width:120px;height:120px;right:6%;top:16%;background:radial-gradient(circle at 30% 30%,#ff8fc0,#ff4d97);}
.ck-blob.b2{width:70px;height:70px;right:23%;top:60%;background:radial-gradient(circle at 30% 30%,#ffe08a,#ffb020);animation-delay:1.2s;}
.ck-blob.b3{width:92px;height:92px;right:40%;top:10%;background:radial-gradient(circle at 30% 30%,#8affd8,#12c8a5);animation-delay:.6s;}
@keyframes ckfloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-18px) rotate(8deg)}}
@media(max-width:820px){.ck-blob{display:none;}}
@media(prefers-reduced-motion:reduce){.ck-blob{animation:none;}}

.ck-strip{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; max-width:var(--wrap); margin:2rem auto 0; padding:0 15px; position:relative; z-index:5;}
.ck-strip .item{background:var(--surface); border:1px solid var(--line); border-radius:var(--r); padding:16px 18px; box-shadow:var(--sh-sm); display:flex; gap:13px; align-items:center;}
.ck-strip .ic{width:46px;height:46px;flex:0 0 46px;border-radius:14px;display:grid;place-items:center;background:var(--grad-soft);color:var(--indigo);}
.ck-strip .ic .material-icons{font-size:1.5rem;}
.ck-strip b{display:block; font-family:var(--display); font-size:1rem;}
.ck-strip small{color:var(--muted); font-size:.83rem;}
@media(max-width:820px){.ck-strip{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.ck-strip{grid-template-columns:1fr;}}

.ck-secintro{text-align:center; margin:3rem auto .3rem; max-width:720px;}
.ck-secintro h2{font-family:var(--display); font-size:clamp(1.7rem,3.2vw,2.3rem); margin:0;}
.ck-secintro h2::after{content:""; display:block; width:64px; height:4px; border-radius:4px; background:var(--grad); margin:.7rem auto 0;}
.ck-secintro p{color:var(--muted); margin:.9rem auto 0;}
.ck-chips{display:flex; flex-wrap:wrap; gap:.7rem; justify-content:center; margin:1.6rem 0 .5rem;}
.ck-chip{border:1px solid var(--line-2); background:var(--surface); color:var(--ink-2); border-radius:var(--pill); padding:.55rem 1.1rem; font-weight:600; font-size:.92rem; box-shadow:var(--sh-sm); transition:transform .18s,box-shadow .18s,border-color .18s,color .18s;}
.ck-chip:hover{transform:translateY(-2px); box-shadow:var(--sh-md); border-color:var(--violet); color:var(--indigo);}

/* module product section titles */
.featured-products .products-section-title,h2.products-section-title,.products-section-title{
  font-family:var(--display); text-align:center; font-size:clamp(1.5rem,3vw,2.1rem); border:0; margin:2.6rem 0 1.6rem; text-transform:none;
}
.products-section-title::after{content:""; display:block; width:56px; height:4px; border-radius:4px; background:var(--grad); margin:.6rem auto 0;}
/* le 1er bloc (populaires) est coiffé par "Nos gourmandises casher" */
#content-wrapper .featured-products:first-of-type .products-section-title,
.page-home .featured-products .products-section-title{display:none;}

/* ==========================================================================
   PRODUCT CARDS (miniature) — sur-mesure
   ========================================================================== */
/* On CONSERVE la grille Bootstrap native (.products.row + col-*) : on gère seulement
   l'espacement vertical et la hauteur égale des cartes. */
.featured-products .products,#products .products,.products{margin-bottom:.5rem;}
.featured-products .js-product,#products .js-product,.products>.js-product{margin-bottom:26px; display:flex;}
.product-miniature{margin:0; width:100%; max-width:none;}
.product-miniature .thumbnail-container{background:var(--surface); border:1px solid var(--line); border-radius:var(--r); box-shadow:var(--sh-sm); overflow:hidden; height:100%; width:100%; display:flex; flex-direction:column; transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s,border-color .22s;}
.product-miniature:hover .thumbnail-container{transform:translateY(-6px); box-shadow:var(--sh-lg); border-color:rgba(123,92,255,.35);}
.product-miniature .thumbnail-top{position:relative; background:var(--bg-2); aspect-ratio:1/1; display:block;}
.product-miniature .thumbnail-top .product-thumbnail{display:grid; place-items:center; height:100%; padding:12px;}
.product-miniature .thumbnail-top img{width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; transition:transform .35s ease;}
.product-miniature:hover .thumbnail-top img{transform:scale(1.06) rotate(-2deg);}
.product-miniature .product-description{padding:14px 15px 16px; display:flex; flex-direction:column; gap:5px; flex:1; border:0;}
.product-miniature .ck-brand-eyebrow{font-size:.72rem; font-weight:800; letter-spacing:.5px; text-transform:uppercase; color:var(--muted);}
.product-miniature .product-title{margin:0;}
.product-miniature .product-title a{font-family:var(--display); font-weight:600; font-size:1.02rem; line-height:1.25; color:var(--ink);}
.product-miniature .product-title a:hover{color:var(--pink);}
.product-miniature .ck-kosher{display:inline-flex; align-items:center; gap:5px; font-size:.74rem; font-weight:700; color:var(--mint);}
.product-miniature .ck-kosher .material-icons{font-size:.95rem;}
.product-miniature .product-price-and-shipping{margin-top:auto; padding-top:8px; display:flex; align-items:center; gap:8px; flex-wrap:wrap;}
.product-miniature .price{font-family:var(--display); font-weight:800; font-size:1.24rem; color:var(--indigo); font-variant-numeric:tabular-nums;}
.product-miniature .regular-price{color:var(--muted); text-decoration:line-through; font-size:.9rem; font-weight:600;}
.product-miniature .ck-add{margin-inline-start:auto; width:42px; height:42px; border-radius:var(--pill); border:0; cursor:pointer; background:var(--grad); color:#fff; font-size:1.3rem; line-height:1; display:grid; place-items:center; box-shadow:var(--sh-md); transition:transform .18s,filter .18s; text-decoration:none;}
.product-miniature .ck-add:hover{transform:translateY(-2px) scale(1.05); filter:saturate(1.1); color:#fff;}

/* flags */
.product-flags{position:absolute; top:12px; inset-inline-start:12px; margin:0; padding:0; z-index:2; display:flex; flex-direction:column; gap:6px;}
.product-flag{background:var(--grad); color:#fff; border-radius:var(--pill); font-weight:800; letter-spacing:.4px; font-size:.68rem; padding:5px 11px; box-shadow:var(--sh-sm); border:0; text-transform:uppercase; position:static;}
.product-flag.new{background:var(--grad-2);}
.product-flag.discount,.product-flag.on-sale{background:var(--grad);}
.product-flag.pack{background:var(--amber); color:#3a2600;}

/* quick view + wishlist buttons on card */
.highlighted-informations{border-radius:0 0 var(--r) var(--r);}
.quick-view{color:var(--indigo); font-weight:600;}
.product-miniature .wishlist-button-add,.wishlist-button-product{border-radius:var(--pill)!important; box-shadow:var(--sh-sm);}

/* ==========================================================================
   PRODUCT PAGE
   ========================================================================== */
.page-product #wrapper{padding-top:1.4rem;}
.product-cover img,.product-cover .img-fluid{border-radius:var(--r-lg); box-shadow:var(--sh-md); background:var(--surface);}
.images-container .product-images>li img,.product-thumbnails img{border-radius:12px; border:1px solid var(--line);}
.product-thumbnails .thumb.selected,.product-images li img:hover{border-color:var(--violet);}
.product-information,.product-actions,.tabs,.product-features,.card{border-radius:var(--r); }
.tabs{background:var(--surface); border:1px solid var(--line); box-shadow:var(--sh-sm); border-radius:var(--r); padding:1.2rem 1.4rem;}
.tabs .nav-tabs{border-bottom:1px solid var(--line);}
.tabs .nav-tabs .nav-link{color:var(--ink-2); font-weight:600; border:0;}
.tabs .nav-tabs .nav-link.active{color:var(--indigo); border-bottom:3px solid var(--violet); background:transparent;}
.product-prices .current-price .price,.current-price span[itemprop=price],.product-price,.current-price-value{color:var(--indigo)!important; font-family:var(--display); font-weight:800; font-size:2rem;}
.product-discount .regular-price{color:var(--muted);}
.has-discount .discount,.product-flag.discount{background:var(--grad);}
.product-add-to-cart .add-to-cart,.product-actions .add-to-cart{border-radius:var(--pill); width:100%; padding:.95rem 1.5rem; font-size:1.05rem;}
.product-quantity #quantity_wanted,.product-quantity .input-group{border-radius:12px;}
.product-quantity .bootstrap-touchspin .btn{border-radius:12px; border:1px solid var(--line-2); background:var(--surface); color:var(--ink);}
.product-reference,.product-quantities{color:var(--muted);}
.ck-product-meta{list-style:none; padding:0; margin:1rem 0 0; display:flex; flex-direction:column; gap:.35rem;}
.ck-product-meta li{padding:.5rem .8rem; background:var(--bg-2); border-radius:10px; font-size:.92rem;}
.product-features dl.data-sheet dt.name{background:var(--bg-2); border-radius:8px;}

/* ==========================================================================
   CATEGORY / LISTING / FILTERS
   ========================================================================== */
#category #wrapper,#category #content-wrapper{padding-top:1.2rem;}
/* cartouche catégorie compact : juste le titre, pas de grosse carte vide */
.block-category,.block-category.card,.block-category.card-block,.category-header{background:transparent!important; border:0!important; box-shadow:none!important; border-radius:0!important; padding:0 0 .4rem!important; margin-bottom:1rem!important; min-height:0!important;}
.block-category h1,#category h1.h1{font-family:var(--display); font-size:clamp(1.8rem,3.6vw,2.5rem); margin:0;}
.block-category-inner:empty,.category-cover,.block-category .category-image:empty{display:none!important;}
.block-category #category-description:empty{display:none;}
#search_filters,#search_filters_wrapper,.block-categories{background:var(--surface); border:1px solid var(--line); border-radius:var(--r); box-shadow:var(--sh-sm); padding:1.1rem 1.2rem;}
#search_filters .facet-title,.block-categories .category-top-menu{color:var(--ink);}
.faceted-slider .ui-slider-range,.ui-slider .ui-slider-range{background:var(--grad);}
.ui-slider .ui-slider-handle{background:var(--violet); border:0;}
#js-product-list-top .sort-by-row,.products-sort-order .select-title{border-radius:var(--pill); border:1px solid var(--line-2); background:var(--surface);}
.pagination .page-list{border-radius:var(--pill); overflow:hidden;}
.pagination .page-item.active .page-link,.pagination .current a{background:var(--grad); border:0; color:#fff;}
.pagination .page-link{color:var(--ink); border-color:var(--line-2);}
.active_filters{background:var(--grad-soft); border-radius:var(--r); border:1px solid var(--line);}
.active_filters .filter-block{background:var(--surface); border-radius:var(--pill); box-shadow:var(--sh-sm);}

/* breadcrumb */
.breadcrumb{background:transparent; padding-left:0;}
.breadcrumb a{color:var(--muted);}
.breadcrumb li::after{color:var(--line-2);}

/* ==========================================================================
   CART + CHECKOUT + ACCOUNT (fonctionnels, restylés)
   ========================================================================== */
.cart-grid-body .card,.cart-summary,.cart-container .card,.checkout .card,#content-hook_order_confirmation,.page-authentication #content,.page-customer-account #content,.address,.card{background:var(--surface); border:1px solid var(--line); border-radius:var(--r); box-shadow:var(--sh-sm);}
.cart-summary-line .value,.cart-total .value{font-weight:800; color:var(--ink);}
.cart-summary .cart-total,.cart-detailed-totals{font-family:var(--font);}
.product-line-grid .label,.product-line-info a.label{font-family:var(--display); color:var(--ink);}
.cart-grid-right .checkout a.btn,.checkout-step .continue,.btn-primary{border-radius:var(--pill);}
#checkout .checkout-step .step-title,.checkout-step h1.step-title{font-family:var(--display); color:var(--ink);}
#checkout .checkout-step.-current .step-title,.checkout-step.-current{color:var(--indigo);}
.checkout-step .step-number,.step-edit,.done{color:var(--violet);}
.payment-options label,.delivery-option{border:1px solid var(--line); border-radius:12px; background:var(--surface);}
.payment-options label:hover,.delivery-option:hover{border-color:var(--violet);}
.nav-tabs .nav-link.active,#customer-form .form-control{border-radius:12px;}
.page-my-account #content .links a{border-radius:var(--r); border:1px solid var(--line); background:var(--surface); box-shadow:var(--sh-sm); transition:transform .18s,box-shadow .18s;}
.page-my-account #content .links a:hover{transform:translateY(-4px); box-shadow:var(--sh-md);}
.page-my-account #content .links a i,.account-link i{color:var(--violet);}

/* alerts / notifications */
.alert{border-radius:12px; border:1px solid var(--line);}
.alert-success{background:rgba(18,200,165,.12); color:#0a7a63; border-color:rgba(18,200,165,.3);}
.alert-danger{background:rgba(255,77,151,.1); color:#b31861; border-color:rgba(255,77,151,.3);}
.alert-warning{background:rgba(255,176,32,.14); color:#8a5a00; border-color:rgba(255,176,32,.35);}

/* modals (quickview) */
.modal-content{border-radius:var(--r-lg); border:0; box-shadow:var(--sh-lg);}
.modal-header{border-bottom:1px solid var(--line);}

/* ==========================================================================
   NEWSLETTER + REASSURANCE + FOOTER
   ========================================================================== */
.block_newsletter,.ps-emailsubscription-block{background:var(--grad-soft)!important; border:1px solid var(--line); border-radius:var(--r-lg); padding:1.8rem!important; box-shadow:var(--sh-sm);}
.block_newsletter p{color:var(--ink-2);}
.block_newsletter form .input-wrapper input,.block_newsletter input[type=email]{border-radius:var(--pill); border:1px solid var(--line-2);}
.block_newsletter .btn,.block_newsletter [type=submit]{border-radius:var(--pill); background-image:var(--grad); border:0; color:#fff; font-weight:700;}

.block-reassurance,#blockreassurance_product{background:transparent;}
.block-reassurance li,.block-reassurance>ul>li{background:var(--surface); border:1px solid var(--line); border-radius:var(--r); box-shadow:var(--sh-sm); margin-bottom:10px;}
.block-reassurance li .block-reassurance-item{padding:.7rem 1rem;}
.block-reassurance img,.block-reassurance svg{filter:none;}
.block-reassurance span{color:var(--ink); font-weight:600;}

.footer-container{margin-top:3.5rem; color:rgba(255,255,255,.78); border:0; box-shadow:none; border-radius:var(--r-lg) var(--r-lg) 0 0; padding-top:3rem;
  background:radial-gradient(700px 300px at 10% 0%,rgba(255,77,151,.12),transparent 60%),radial-gradient(700px 300px at 90% 0%,rgba(123,92,255,.16),transparent 60%),#160f2b;}
.footer-container .container>.row:first-child{background:transparent;}
.footer-container h3,.footer-container .h3,.footer-container .title strong{color:#fff; font-family:var(--display); font-size:1rem;}
.footer-container a,.footer-container li a{color:rgba(255,255,255,.72);}
.footer-container a:hover,.footer-container li a:hover{color:#fff;}
.footer-container li a::before{color:var(--pink);}
.footer-container .links .title{border:0; padding-bottom:.3rem;}
.footer-container hr{border-color:rgba(255,255,255,.12);}
.footer-container .links .collapse{display:block;}
#footer .copyright,.footer-container .text-sm-center,.ck-copyright{color:rgba(255,255,255,.55); font-size:.85rem;}
.footer-container .block-contact,.footer-container .block_newsletter{background:transparent!important; border:0; padding:0!important; box-shadow:none;}

/* social follow */
.ps-socialfollow ul li{background:rgba(255,255,255,.08); border-radius:12px;}
.ps-socialfollow ul li:hover{background:var(--grad);}

/* scrollbar */
@media(min-width:992px){
  ::-webkit-scrollbar{width:12px;}
  ::-webkit-scrollbar-thumb{background:linear-gradient(#7b5cff,#ff4d97); border-radius:999px; border:3px solid var(--bg);}
  ::-webkit-scrollbar-track{background:var(--bg);}
}

/* RTL tweaks */
[dir="rtl"] .ck-hero h1,[dir="rtl"] .ck-hero p.lead{max-width:none;}
[dir="rtl"] .products-section-title::after,[dir="rtl"] .ck-secintro h2::after{margin-left:auto; margin-right:auto;}

/* ============ Carrousel produits (remplace le hero) ============ */
.featured-products.ck-carousel{max-width:var(--wrap); margin:2.4rem auto 0; padding:0 15px; position:relative;}
.ck-carousel-nav{display:flex; align-items:center; justify-content:space-between; gap:1rem; margin:0 0 1rem;}
.ck-carousel-nav .ck-ctitle{font-family:var(--display); font-weight:600; font-size:clamp(1.25rem,2.4vw,1.7rem); color:var(--ink);}
.ck-carousel-nav .ck-arrows{display:flex; gap:.5rem;}
.ck-arrow{width:44px; height:44px; border-radius:var(--pill); border:1px solid var(--line-2); background:var(--surface); color:var(--indigo); font-size:1.7rem; line-height:1; cursor:pointer; box-shadow:var(--sh-sm); display:grid; place-items:center; transition:transform .18s,box-shadow .18s,background .18s,color .18s;}
.ck-arrow:hover{background:var(--grad); color:#fff; border-color:transparent; transform:translateY(-2px); box-shadow:var(--sh-md);}
.ck-carousel .products{display:flex!important; flex-wrap:nowrap!important; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; gap:22px; margin:0; padding:4px 2px 1.2rem; scrollbar-width:none; -ms-overflow-style:none;}
.ck-carousel .products::-webkit-scrollbar{display:none;}
.ck-carousel .products>.js-product{flex:0 0 clamp(215px,74vw,262px)!important; max-width:262px!important; width:auto!important; scroll-snap-align:start; margin-bottom:0!important; padding-left:0; padding-right:0;}

/* ============ Recherche = icône + modales (recherche & panier) ============ */
#search_widget,.header-top-right #search_widget{min-width:0!important; width:auto!important; margin-inline-start:auto;}
#search_widget form{width:46px; height:46px; padding:0!important; border:1px solid var(--line-2); border-radius:var(--pill); background:var(--surface); box-shadow:var(--sh-sm); display:flex; align-items:center; justify-content:center; cursor:pointer; position:relative;}
#search_widget form:hover{border-color:var(--violet); box-shadow:var(--sh-md);}
#search_widget input[type=text],#search_widget input[name=s]{display:none!important;}
#search_widget .material-icons.clear{display:none!important;}
#search_widget .material-icons.search{position:static!important; color:var(--indigo); font-size:1.4rem; margin:0; pointer-events:none;}

body.ck-modal-open{overflow:hidden;}
.ck-overlay{position:fixed; inset:0; background:rgba(21,15,43,.55); -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px); z-index:3000;}
.ck-modal{position:fixed; z-index:3001; left:50%; top:11vh; transform:translateX(-50%); width:min(560px,94vw); max-height:78vh; display:flex; flex-direction:column; background:var(--surface); border-radius:var(--r-lg); box-shadow:var(--sh-lg); overflow:hidden; animation:ckpop .18s ease;}
@keyframes ckpop{from{opacity:0; transform:translateX(-50%) translateY(-8px);} to{opacity:1; transform:translateX(-50%) translateY(0);}}
.ck-modal__head{display:flex; align-items:center; gap:.6rem; padding:1rem 1.2rem; border-bottom:1px solid var(--line);}
.ck-modal__head .material-icons{color:var(--indigo);}
.ck-modal__head strong{font-family:var(--display); font-size:1.2rem;}
.ck-modal__head input{flex:1; border:0!important; outline:none; font:inherit; font-size:1.05rem; background:transparent; color:var(--ink); box-shadow:none!important;}
.ck-modal__close{margin-inline-start:auto; border:0; background:var(--bg-2); width:36px; height:36px; border-radius:var(--pill); cursor:pointer; color:var(--ink-2); display:grid; place-items:center;}
.ck-modal__close:hover{background:var(--grad); color:#fff;}

.ck-search__results{overflow-y:auto; padding:.4rem;}
.ck-sr{display:flex; align-items:center; gap:.8rem; padding:.6rem .7rem; border-radius:12px; color:var(--ink);}
.ck-sr:hover{background:var(--bg-2); color:var(--ink);}
.ck-sr__img{width:48px; height:48px; flex:0 0 48px; border-radius:10px; background:var(--bg-2); overflow:hidden; display:grid; place-items:center;}
.ck-sr__img img{width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply;}
.ck-sr__name{flex:1; font-weight:600; font-size:.95rem; line-height:1.25;}
.ck-sr__price{font-family:var(--display); font-weight:800; color:var(--indigo); white-space:nowrap;}
.ck-search__empty{padding:1.6rem; text-align:center; color:var(--muted);}
.ck-search__all{display:block; text-align:center; padding:.9rem; border-top:1px solid var(--line); font-weight:700; color:var(--indigo);}
.ck-search__all:hover{background:var(--bg-2);}

.ck-cart__body{overflow-y:auto; padding:.3rem 1.2rem; max-height:44vh;}
.ck-ci{display:flex; align-items:center; gap:.8rem; padding:.7rem 0; border-bottom:1px solid var(--line);}
.ck-ci:last-child{border-bottom:0;}
.ck-ci__img{width:54px; height:54px; flex:0 0 54px; border-radius:10px; background:var(--bg-2); overflow:hidden; display:grid; place-items:center;}
.ck-ci__img img{width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply;}
.ck-ci__info{flex:1; display:flex; flex-direction:column; gap:2px;}
.ck-ci__name{font-weight:600; font-size:.92rem; line-height:1.25;}
.ck-ci__q{color:var(--muted); font-size:.82rem;}
.ck-ci__price{font-family:var(--display); font-weight:800; color:var(--indigo); white-space:nowrap;}
.ck-cart__empty{padding:2.4rem 1rem; text-align:center; color:var(--muted); font-size:1.05rem;}
.ck-cart__foot{border-top:1px solid var(--line); padding:1.1rem 1.2rem; background:var(--bg-2);}
.ck-cart__foot:empty{display:none;}
.ck-cart__total{display:flex; justify-content:space-between; align-items:center; margin-bottom:.9rem; font-size:1.05rem;}
.ck-cart__total strong{font-family:var(--display); font-size:1.4rem; color:var(--indigo);}
.ck-cart__actions{display:flex; gap:.7rem;}
.ck-cart__see{flex:1; background:var(--surface)!important; border:1px solid var(--line-2)!important; color:var(--ink)!important; text-align:center;}
.ck-cart__see:hover{border-color:var(--violet)!important; color:var(--indigo)!important;}
.ck-cart__checkout{flex:1; text-align:center;}
@media(max-width:520px){ .ck-modal{top:0; width:100vw; height:100%; max-height:100vh; border-radius:0;} .ck-cart__body{max-height:none;} }

/* ============ Pages listing en pleine largeur (colonne gauche vide masquée) ============ */
#category #left-column,#search #left-column,#best-sales #left-column,#new-products #left-column,#prices-drop #left-column,#manufacturer #left-column,#category #search_filters_wrapper{display:none!important;}
#category #content-wrapper,#search #content-wrapper,#best-sales #content-wrapper,#new-products #content-wrapper,#prices-drop #content-wrapper,#manufacturer #content-wrapper{flex:0 0 100%!important; max-width:100%!important; width:100%!important;}
/* grille produits 4 par ligne en pleine largeur */
#category #js-product-list .products,#search .products,#best-sales .products,#new-products .products,#prices-drop .products{margin-top:.5rem;}

/* ============ Sélecteur de langue propre + icône panier visible ============ */
.language-selector .btn-unstyle,.currency-selector .btn-unstyle{background:transparent!important; border:0!important; box-shadow:none!important; padding:.3rem .4rem!important; display:inline-flex; align-items:center; gap:.25rem; color:var(--ink-2)!important; font-weight:700; cursor:pointer;}
.language-selector .btn-unstyle:hover,.currency-selector .btn-unstyle:hover{color:var(--pink)!important;}
.language-selector .expand-more,.currency-selector .expand-more{color:inherit!important;}
.language-selector .btn-unstyle .material-icons{font-size:1.1rem; color:inherit!important;}
.language-selector .dropdown-menu,.currency-selector .dropdown-menu{border:1px solid var(--line); border-radius:var(--r); box-shadow:var(--sh-md); overflow:hidden; background:var(--surface); padding:.3rem;}
.language-selector .dropdown-menu a,.currency-selector .dropdown-menu a{border-radius:8px; padding:.4rem .8rem; color:var(--ink);}
.language-selector .dropdown-menu a:hover{background:var(--bg-2); color:var(--indigo);}

/* icône panier SVG bien colorée + libellé + compteur */
#_desktop_cart .blockcart .header .ck-cart-ico,.blockcart .header .ck-cart-ico{color:var(--indigo); flex:0 0 auto;}
#_desktop_cart .blockcart .header .ck-cart-label,.blockcart .header .ck-cart-label{color:var(--ink)!important; font-weight:700;}
#_desktop_cart .blockcart .header,.blockcart .header{color:var(--ink)!important;}
#_desktop_cart .blockcart .header a{color:var(--ink)!important;}

/* ============ Focus propre (pas de contour noir au clic souris) ============ */
a:focus:not(:focus-visible),button:focus:not(:focus-visible),.btn:focus:not(:focus-visible),.ck-brand:focus,.ck-brand:active,.blockcart .header:focus,.blockcart .header a:focus,.blockcart .header:active,#search_widget:focus,#search_widget:active,#search_widget *:focus,.ck-chip:focus:not(:focus-visible),.product-miniature a:focus:not(:focus-visible),.ck-add:focus:not(:focus-visible),.ck-arrow:focus:not(:focus-visible),.language-selector .btn-unstyle:focus:not(:focus-visible){outline:none!important; box-shadow:none!important;}
a:focus-visible,button:focus-visible,.btn:focus-visible{outline:2px solid var(--violet); outline-offset:2px; border-radius:8px;}
.ck-brand:focus,.ck-brand:active{background:transparent!important; border:0!important;}

/* ============ Boutons quantité + suppression dans la modale panier ============ */
.ck-ci__qrow{display:inline-flex; align-items:center; gap:.5rem; margin-top:.4rem;}
.ck-qbtn{width:27px; height:27px; border-radius:50%; border:1px solid var(--line-2); background:var(--surface); color:var(--indigo); font-size:1.05rem; line-height:1; font-weight:800; cursor:pointer; display:grid; place-items:center; transition:background .15s,color .15s,border-color .15s,transform .15s; padding:0;}
.ck-qbtn:hover{background:var(--grad); color:#fff; border-color:transparent; transform:translateY(-1px);}
.ck-ci__q{min-width:24px; text-align:center; font-weight:700; font-variant-numeric:tabular-nums;}
.ck-rm{margin-inline-start:.4rem; width:29px; height:29px; border-radius:50%; border:0; background:transparent; color:var(--muted); cursor:pointer; display:grid; place-items:center; transition:background .15s,color .15s; padding:0;}
.ck-rm:hover{background:rgba(255,77,151,.12); color:var(--pink);}
.ck-rm svg{display:block;}

/* ============ Bouton "Ajouter au panier" : contenu bien centré dans le bouton ============ */
.product-add-to-cart .add-to-cart,.product-actions .add-to-cart,button.add-to-cart,.add>.add-to-cart{
  display:inline-flex!important; align-items:center!important; justify-content:center!important; gap:.5rem;
  white-space:nowrap; line-height:1.1!important; min-height:54px; height:auto; padding:.6rem 1.6rem!important; text-align:center;
}
.add-to-cart .material-icons,.add-to-cart .material-icons.shopping-cart{font-size:1.35rem!important; margin:0!important; line-height:1!important; vertical-align:middle;}
.product-add-to-cart .add{display:flex; align-items:stretch;}

/* ============ Sélecteur de langue : drapeau + alignement du chevron ============ */
.language-selector .btn-unstyle{display:inline-flex!important; align-items:center!important; gap:.4rem!important; line-height:1;}
.language-selector .ck-flag{font-size:1.05rem; line-height:1; display:inline-block;}
.language-selector .ck-lang-name{line-height:1; display:inline-block;}
.language-selector .ck-lang-caret{font-size:1.15rem!important; line-height:1!important; margin:0!important; align-self:center; display:inline-flex; align-items:center; color:inherit!important;}
.language-selector .dropdown-menu a{display:flex; align-items:center; gap:.4rem;}
.language-selector .dropdown-menu .ck-flag{font-size:1rem;}

/* ============ Drapeau image + alignement barre du haut ============ */
.ck-flag-img{width:21px; height:15px; border-radius:3px; object-fit:cover; box-shadow:0 0 0 1px rgba(22,15,43,.12); display:inline-block; vertical-align:middle; flex:0 0 auto;}
.language-selector .dropdown-menu .ck-flag-img{margin-inline-end:.2rem;}

/* barre du haut : tous les éléments parfaitement alignés au centre */
.header-nav .right-nav{display:flex!important; align-items:center!important; justify-content:flex-end!important; gap:1.4rem; float:none!important;}
.header-nav .right-nav>div{display:flex!important; align-items:center!important; margin:0!important; float:none!important; height:auto;}
.header-nav .language-selector-wrapper,.header-nav .user-info,.header-nav #_desktop_cart,.header-nav .currency-selector-wrapper{display:flex!important; align-items:center!important;}
.header-nav .user-info a{display:inline-flex; align-items:center; gap:.35rem;}
.header-nav .language-selector .btn-unstyle{align-items:center!important;}

/* ============ Barre du haut : gauche (Contactez-nous) et droite au même niveau ============ */
@media(min-width:768px){
  #header .header-nav>.container>.row>.hidden-sm-down{display:flex!important; align-items:center!important; width:100%;}
  #header .header-nav .col-md-5{display:flex; align-items:center;}
}

/* ============ Bouton COMMANDER : texte blanc, bleu ciel au survol ============ */
.ck-cart__checkout,.ck-cart__checkout:visited{color:#fff!important;}
.ck-cart__checkout:hover,.ck-cart__checkout:focus{background-image:linear-gradient(120deg,#5cc6ff 0%,#3b9dff 100%)!important; color:#fff!important; box-shadow:0 12px 30px -12px rgba(59,157,255,.55)!important;}

/* ============ Hauteur de la barre du haut ============ */
#header .header-nav{max-height:60px;}

/* ============ Loupe parfaitement centrée dans le cercle ============ */
#search_widget form{width:46px; height:46px; display:flex!important; align-items:center!important; justify-content:center!important; padding:0!important; margin:0; position:relative;}
#search_widget form input,#search_widget form .material-icons.clear{display:none!important;}
#search_widget form .material-icons.search{display:flex!important; align-items:center!important; justify-content:center!important; width:100%; height:100%; line-height:1!important; font-size:1.4rem!important; color:var(--indigo); margin:0!important; padding:0!important; position:static!important; vertical-align:middle;}

/* ============ Icône Connexion alignée avec le texte ============ */
#header .header-nav .user-info a,#header #_desktop_user_info a{display:inline-flex!important; align-items:center!important; gap:.4rem; line-height:1;}
#header .header-nav .user-info a .material-icons,#header #_desktop_user_info a .material-icons{font-size:1.25rem!important; line-height:1!important; margin:0!important; vertical-align:middle; display:inline-flex; align-items:center;}
#header .header-nav .user-info a span{line-height:1!important; display:inline-flex; align-items:center;}

/* ============ Aération de la barre du haut (pas collée à la ligne du dessous) ============ */
#header .header-nav{max-height:none!important; min-height:56px; padding-top:9px!important; padding-bottom:9px!important; box-sizing:border-box;}
#header .header-nav>.container{display:flex; align-items:center; min-height:38px;}

/* ============ Chevrons des sélecteurs (devise + langue) alignés — partout ============ */
.language-selector .btn-unstyle,.currency-selector .btn-unstyle{display:inline-flex!important; align-items:center!important; gap:.4rem!important; line-height:1; background:transparent!important; border:0!important; box-shadow:none!important; padding:.3rem .4rem!important; color:var(--ink-2)!important; font-weight:700; cursor:pointer;}
.language-selector .btn-unstyle:hover,.currency-selector .btn-unstyle:hover{color:var(--pink)!important;}
.language-selector .btn-unstyle>span,.currency-selector .btn-unstyle>span{line-height:1; display:inline-flex; align-items:center;}
.language-selector .btn-unstyle .material-icons,.currency-selector .btn-unstyle .material-icons,.material-icons.expand-more{font-size:1.15rem!important; line-height:1!important; margin:0!important; align-self:center!important; color:inherit!important; display:inline-flex!important; align-items:center!important; vertical-align:middle;}
.currency-selector .dropdown-menu,.language-selector .dropdown-menu{border:1px solid var(--line); border-radius:var(--r); box-shadow:var(--sh-md); overflow:hidden; background:var(--surface); padding:.3rem;}
.currency-selector .dropdown-menu a{border-radius:8px; padding:.4rem .8rem; color:var(--ink); display:flex; align-items:center;}
.currency-selector .dropdown-menu a:hover{background:var(--bg-2); color:var(--indigo);}
/* sélecteur de tri (page catégorie) : caret aussi aligné */
.products-sort-order .select-title{display:inline-flex; align-items:center; gap:.4rem;}
.products-sort-order .material-icons{line-height:1!important; align-self:center;}

/* ==========================================================================
   PAGE PANIER + TUNNEL DE COMMANDE — refonte propre
   ========================================================================== */
#cart #wrapper, #order #wrapper, #order-confirmation #wrapper, #cart .cart-grid, #order .cart-grid{padding-top:1rem;}
#cart h1, #order h1, #cart .cart-grid-body h1{font-family:var(--display); margin-bottom:1.2rem;}

/* --- Colonne gauche : liste des articles --- */
.cart-grid-body .cart-overview,.cart-grid-body .card,.cart-container .card{background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); box-shadow:var(--sh-sm); overflow:hidden;}
.cart-grid-body .cart-overview{padding:.4rem 1.2rem;}
.cart-item{padding:1.1rem 0;}
.cart-item + .cart-item, .cart-overview .cart-item:not(:last-child){border-bottom:1px solid var(--line);}
.product-line-grid-image img{border-radius:12px; border:1px solid var(--line); background:var(--bg-2);}
.product-line-info .label, .product-line-info a.label{font-family:var(--display); font-weight:600; color:var(--ink); font-size:1.02rem;}
.product-line-info a.label:hover{color:var(--pink);}
.product-line-info .value{color:var(--ink-2);}
.product-price, .cart-line-product-actions .price, .product-line-grid-body .current-price{color:var(--indigo)!important; font-family:var(--display); font-weight:800;}
/* quantité touchspin */
.cart-line-product-quantity .input-group, .js-cart-line-product-quantity{border-radius:var(--pill); overflow:hidden; max-width:120px;}
.cart-line-product-quantity .input-group-btn>.btn, .bootstrap-touchspin .btn{border:1px solid var(--line-2)!important; background:var(--surface)!important; color:var(--indigo)!important;}
.cart-line-product-quantity input{border:1px solid var(--line-2); text-align:center; font-weight:700;}
.cart-line-product-actions .remove-from-cart{color:var(--muted);}
.cart-line-product-actions .remove-from-cart:hover{color:var(--pink);}

/* --- Colonne droite : résumé --- */
.cart-grid-right .cart-summary{position:sticky; top:90px; border:1px solid var(--line); border-radius:var(--r-lg); box-shadow:var(--sh-md); overflow:hidden;}
.cart-summary .card-block{padding:1.2rem 1.4rem;}
.cart-summary-line{display:flex; justify-content:space-between; align-items:center; padding:.45rem 0; color:var(--ink-2);}
.cart-summary-line .label, .cart-summary-line .value{font-weight:600;}
.cart-summary-line.cart-total{border-top:1px solid var(--line); margin-top:.4rem; padding-top:.9rem;}
.cart-summary-line.cart-total .label{font-family:var(--display); font-size:1.1rem; color:var(--ink);}
.cart-summary-line.cart-total .value{font-family:var(--display); font-size:1.5rem; font-weight:800; color:var(--indigo);}
.cart-detailed-actions .checkout, .checkout.card-block{padding:1.2rem 1.4rem 1.4rem;}
.cart-detailed-actions .btn, .checkout a.btn{display:flex; align-items:center; justify-content:center; width:100%; border-radius:var(--pill); padding:.95rem 1.5rem; font-size:1.05rem;}
.block-promo .promo-code .btn, .cart-summary .btn-secondary{border-radius:var(--pill);}
.block-promo{background:var(--grad-soft); border:1px solid var(--line); border-radius:var(--r); padding:.6rem;}
.block-promo .promo-code-button{color:var(--indigo); font-weight:700;}

/* --- Panier vide --- */
.cart-grid-body .no-items{padding:2.6rem 1.5rem; text-align:center; color:var(--muted); font-size:1.05rem;}
.cart-grid-body .no-items::before{content:"🛒"; display:block; font-size:2.6rem; margin-bottom:.6rem;}

/* --- Fil d'Ariane / titre étape --- */
#order .breadcrumb, #cart .breadcrumb{margin-bottom:1rem;}

/* --- Tunnel : étapes --- */
#checkout .checkout-step, .checkout-process .checkout-step{background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); box-shadow:var(--sh-sm); margin-bottom:1.1rem; overflow:hidden;}
.checkout-step .step-title, .checkout-step .h3.step-title{font-family:var(--display); color:var(--ink); font-size:1.15rem; padding:1.1rem 1.4rem; margin:0; display:flex; align-items:center; gap:.6rem;}
.checkout-step .step-number{display:inline-grid; place-items:center; width:28px; height:28px; border-radius:50%; background:var(--bg-2); color:var(--ink-2); font-size:.9rem; font-weight:800;}
.checkout-step.-current .step-title{color:var(--indigo);}
.checkout-step.-current .step-number{background:var(--grad); color:#fff;}
.checkout-step.-complete .step-number, .checkout-step .done{color:var(--mint);}
.checkout-step .step-edit{color:var(--violet); font-weight:600; font-size:.85rem;}
.checkout-step .content{padding:0 1.4rem 1.4rem;}
#checkout .checkout-step:not(.-current):not(.-reachable) .step-title{opacity:.55;}

/* adresses / livraison / paiement en "cartes cliquables" */
.address-item, .delivery-option, .payment-option, .payment-options label{border:1px solid var(--line-2)!important; border-radius:var(--r)!important; background:var(--surface); padding:1rem 1.1rem!important; margin-bottom:.7rem; transition:border-color .18s, box-shadow .18s;}
.address-item:hover, .delivery-option:hover, .payment-options label:hover{border-color:var(--violet)!important; box-shadow:var(--sh-sm);}
.address-item.selected, .delivery-option.selected{border-color:var(--violet)!important; box-shadow:0 0 0 3px rgba(123,92,255,.14);}
.delivery-option .carrier-name, .payment-option label{font-weight:600; color:var(--ink);}
.delivery-option .carrier-price, .delivery-options-list .price{color:var(--indigo); font-family:var(--display); font-weight:800;}

/* boutons continuer */
#checkout .continue, .checkout-step .btn[name=confirm-addresses], .checkout-step [type=submit]{border-radius:var(--pill); padding:.85rem 1.8rem;}

/* récap commande à droite (tunnel) */
#order .cart-summary, #checkout .cart-summary{border-radius:var(--r-lg);}
#order-detail-content, .order-confirmation-table{border:1px solid var(--line); border-radius:var(--r); overflow:hidden;}

/* page confirmation */
#order-confirmation .card, #content-hook_order_confirmation{border-radius:var(--r-lg); border:1px solid var(--line); box-shadow:var(--sh-sm);}

/* ============ Carte produit : quantité + ajout au panier ============ */
.ck-cartctl{display:flex; align-items:center; gap:.5rem; margin-top:.7rem;}
.ck-stepper{display:inline-flex; align-items:center; border:1px solid var(--line-2); border-radius:var(--pill); overflow:hidden; background:var(--surface); flex:0 0 auto;}
.ck-stepper button{width:30px; height:36px; border:0; background:transparent; color:var(--indigo); font-size:1.05rem; font-weight:800; cursor:pointer; line-height:1; padding:0;}
.ck-stepper button:hover{background:var(--bg-2);}
.ck-qty{width:32px; height:36px; border:0; border-left:1px solid var(--line); border-right:1px solid var(--line); text-align:center; font-weight:700; font-variant-numeric:tabular-nums; background:transparent; color:var(--ink); padding:0;}
.ck-qty:focus{outline:none;}
.product-miniature .ck-cartctl .ck-add{flex:1 1 auto; width:auto; height:38px; border:0; border-radius:var(--pill); background:var(--grad); color:#fff; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; gap:.4rem; box-shadow:var(--sh-md); transition:transform .15s, filter .15s; margin:0;}
.product-miniature .ck-cartctl .ck-add:hover{transform:translateY(-2px); filter:saturate(1.1); color:#fff;}
.ck-cartctl .ck-add.ck-adding{opacity:.65; pointer-events:none;}
.ck-cartctl .ck-add.ck-added{background:var(--grad-2);}
.ck-cartctl .ck-add.ck-added svg{display:none;}
.ck-cartctl .ck-add.ck-added::after{content:"\2713"; font-weight:800; font-size:1.1rem;}
.ck-add--link{display:inline-flex; align-items:center; justify-content:center; height:38px; padding:0 1rem; border-radius:var(--pill); background:var(--surface); border:1px solid var(--line-2); color:var(--ink); font-weight:700; text-decoration:none; margin-top:.7rem;}
.ck-add--link:hover{border-color:var(--violet); color:var(--indigo);}

/* masquer la modale "produit ajouté" de PrestaShop */
#blockcart-modal, .modal-backdrop.ck-hide{display:none!important;}

/* ============ Menu déroulant "Trier par" : dropdown vertical propre ============ */
.products-sort-order{position:relative;}
.products-sort-order .select-title{border:1px solid var(--line-2); background:var(--surface); border-radius:var(--pill); padding:.55rem 1rem; box-shadow:var(--sh-sm); cursor:pointer; justify-content:space-between; min-width:190px;}
.products-sort-order .dropdown-menu{display:none; position:absolute; right:0; min-width:210px; border:1px solid var(--line)!important; border-radius:var(--r)!important; box-shadow:var(--sh-md); background:var(--surface); padding:.3rem; z-index:1500; flex-direction:column;}
.products-sort-order.show .dropdown-menu,.products-sort-order .dropdown-menu.show,.products-sort-order.open .dropdown-menu{display:block!important;}
.products-sort-order .dropdown-menu .select-list,.products-sort-order .dropdown-item{display:block!important; width:100%; padding:.55rem .9rem; border-radius:8px; color:var(--ink); white-space:nowrap; text-align:start; font-weight:600;}
.products-sort-order .dropdown-menu .select-list:hover,.products-sort-order .dropdown-item:hover,.products-sort-order .dropdown-menu .current{background:var(--bg-2); color:var(--indigo);}

/* ============ Résultats de recherche : ligne avec quantité + ajout panier ============ */
.ck-sr{display:flex; align-items:center; gap:.7rem; padding:.5rem .55rem; border-radius:12px; color:var(--ink); flex-wrap:wrap;}
.ck-sr:hover{background:var(--bg-2);}
.ck-sr__link{display:flex; align-items:center; gap:.7rem; flex:1 1 190px; min-width:0; color:var(--ink); text-decoration:none;}
.ck-sr__link:hover{color:var(--pink);}
.ck-sr__name{flex:1 1 auto; min-width:0; font-weight:600; font-size:.92rem; line-height:1.25;}
.ck-sr__price{font-family:var(--display); font-weight:800; color:var(--indigo); white-space:nowrap; margin-inline-start:auto;}
.ck-sr__ctl{flex:0 0 auto; margin-top:0!important;}
.ck-sr__ctl .ck-stepper button{width:26px; height:32px; font-size:1rem;}
.ck-sr__ctl .ck-qty{width:28px; height:32px;}
/* bouton ajouter générique (cartes + recherche) */
.ck-cartctl .ck-add{flex:0 0 auto; width:auto; min-width:42px; height:36px; border:0; border-radius:var(--pill); background:var(--grad); color:#fff; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; gap:.3rem; box-shadow:var(--sh-sm); transition:transform .15s,filter .15s; padding:0 .7rem;}
.ck-cartctl .ck-add:hover{transform:translateY(-1px); filter:saturate(1.1); color:#fff;}
.ck-sr__ctl .ck-add{height:32px; min-width:38px;}
@media(max-width:520px){ .ck-sr__price{margin-inline-start:0;} .ck-sr__ctl{width:100%; justify-content:flex-end;} }

/* ============ Pagination — refonte propre ============ */
.pagination{display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem; margin:1.6rem 0 .5rem; padding:0;}
.pagination>div{margin:0; padding:0; width:auto; flex:0 0 auto;}
.pagination .col-md-4, .pagination .showing, .pagination .col-sm-12:first-child{color:var(--muted); font-size:.9rem;}
.pagination .page-list{display:inline-flex!important; align-items:center; gap:.45rem; margin:0; padding:0!important; list-style:none; background:transparent!important; border-radius:0!important; overflow:visible!important; box-shadow:none!important;}
.pagination .page-list li{margin:0; padding:0; list-style:none; float:none;}
.pagination .page-list li a, .pagination .page-list li span{display:inline-flex; align-items:center; justify-content:center; gap:.25rem; min-width:42px; height:42px; padding:0 .85rem; border-radius:var(--pill); border:1px solid var(--line-2); background:var(--surface); color:var(--ink); font-weight:700; text-decoration:none; box-shadow:var(--sh-sm); transition:transform .15s, border-color .15s, color .15s, background .15s;}
.pagination .page-list li a:hover{border-color:var(--violet); color:var(--indigo); transform:translateY(-1px); box-shadow:var(--sh-md);}
.pagination .page-list li.current a, .pagination .page-list li.current a.disabled, .pagination .page-list li.current span{background:var(--grad)!important; border-color:transparent!important; color:#fff!important; box-shadow:var(--sh-md); cursor:default; transform:none;}
.pagination .page-list li a.next, .pagination .page-list li a.previous{font-weight:700;}
.pagination .page-list li a.disabled.next, .pagination .page-list li a.disabled.previous, .pagination .page-list li.disabled a{opacity:.45; pointer-events:none; box-shadow:none;}
.pagination .page-list .material-icons{font-size:1.15rem!important; line-height:1!important; margin:0;}
.pagination .page-list li .spacer{border:0!important; background:transparent!important; box-shadow:none!important; min-width:auto;}
@media(max-width:575px){ .pagination{justify-content:center;} .pagination .page-list li a, .pagination .page-list li span{min-width:38px; height:38px; padding:0 .6rem;} }

/* ============ Captcha anti-spam ============ */
.ck-captcha-row .form-control-label{font-weight:700;}
#ck_captcha{max-width:170px;}
.ck-captcha.ck-captcha-js{display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; margin:.6rem 0;}
.ck-captcha-js .ck-cap-label{font-weight:700; font-size:.9rem; color:var(--ink-2);}
.ck-captcha-js .ck-cap-input{width:74px; height:38px; border:1px solid var(--line-2); border-radius:var(--pill); padding:.3rem .7rem; text-align:center; font-weight:800; background:var(--surface); color:var(--ink);}
.ck-captcha-js .ck-cap-input:focus{outline:none; border-color:var(--violet); box-shadow:0 0 0 3px rgba(123,92,255,.14);}
.ck-captcha-js .ck-cap-err{display:none; color:var(--pink); font-size:.82rem; font-weight:700;}
.block_newsletter .ck-captcha-js{justify-content:center;}

/* newsletter : captcha sur sa propre ligne, compact et centré */
.block_newsletter .ck-captcha-js,.ps-emailsubscription .ck-captcha-js{width:100%; justify-content:center; margin:0 0 .8rem;}
.ck-captcha-js .ck-cap-input{width:80px!important; min-width:0!important; max-width:80px; flex:0 0 auto;}
.block_newsletter .ck-captcha-js .ck-cap-label,.ps-emailsubscription .ck-captcha-js .ck-cap-label{color:var(--ink);}

/* ============ Newsletter : email + captcha + bouton sur une même ligne ============ */
.block_newsletter form .row > .col-xs-12:first-child{display:flex!important; align-items:center; gap:.6rem; flex-wrap:wrap;}
.block_newsletter .input-wrapper{order:1; flex:1 1 170px; margin:0!important;}
.block_newsletter .input-wrapper input[name=email]{width:100%; height:46px;}
.block_newsletter .ck-captcha.ck-captcha-js{order:2; width:auto!important; margin:0!important; flex:0 0 auto; justify-content:flex-start; gap:.4rem;}
.block_newsletter .ck-captcha-js .ck-cap-label{white-space:nowrap; font-weight:700; color:var(--ink-2);}
.block_newsletter .ck-captcha-js .ck-cap-input{height:46px; width:64px!important;}
.block_newsletter input[name=submitNewsletter]{order:3; float:none!important; margin:0!important; height:46px;}
.block_newsletter input[name=submitNewsletter].hidden-sm-up{order:4;}
.block_newsletter .clearfix{display:none!important;}
@media(max-width:575px){ .block_newsletter form .row > .col-xs-12:first-child{gap:.5rem;} .block_newsletter .ck-captcha-js{order:2;} .block_newsletter input[name=submitNewsletter]{order:3; width:100%;} }

/* ==========================================================================
   RESPONSIVE MOBILE — refonte propre (≤ 767px)
   ========================================================================== */
@media (max-width: 767px){
  .ck-announce{font-size:.7rem; padding:.42rem .6rem; line-height:1.3;}

  /* --- En-tête mobile : une seule barre nette --- */
  #header .header-nav{padding:.5rem 0!important; min-height:auto;}
  #header .header-top{padding:0!important;}
  #header .header-top > .container > .row:first-child{display:none!important;} /* rangée desktop (logo+menu+recherche redondante) masquée */
  .ck-mobile-bar{display:flex!important; align-items:center; gap:.5rem; width:100%;}
  .ck-mobile-bar > div, .ck-mobile-bar > a{float:none!important; margin:0!important;}
  .ck-mobile-bar #menu-icon{flex:0 0 auto; color:var(--indigo); cursor:pointer; line-height:1; display:flex; align-items:center;}
  .ck-mobile-bar #menu-icon .material-icons{font-size:1.9rem;}
  .ck-mobile-brand{flex:1 1 auto; min-width:0; font-size:1.15rem!important; justify-content:flex-start;}
  .ck-mobile-brand .mark{width:34px; height:34px; flex:0 0 34px; font-size:1rem;}
  .ck-msearch{flex:0 0 auto; width:40px; height:40px; border-radius:50%; border:1px solid var(--line-2); background:var(--surface); display:grid; place-items:center; cursor:pointer; box-shadow:var(--sh-sm);}
  .ck-msearch .material-icons{color:var(--indigo); font-size:1.3rem;}
  .ck-mobile-bar #_mobile_user_info, .ck-mobile-bar #_mobile_cart{flex:0 0 auto; display:flex; align-items:center;}
  .ck-mobile-bar #_mobile_cart .header,.ck-mobile-bar #_mobile_user_info a{padding:.3rem .5rem;}
  .ck-mobile-bar #_mobile_cart .ck-cart-label,.ck-mobile-bar #_mobile_user_info .hidden-sm-down{display:none;}

  /* --- Réassurance / intro / chips --- */
  .ck-strip{grid-template-columns:1fr; gap:10px; margin-top:1.2rem; padding:0 12px;}
  .ck-secintro{margin:1.5rem auto .2rem;}
  .ck-secintro h2{font-size:1.5rem;}
  .ck-secintro p{font-size:.9rem;}
  .ck-chips{gap:.5rem; margin:1rem 0 .3rem;}
  .ck-chip{padding:.5rem .85rem; font-size:.85rem;}

  /* --- Sections & carrousel --- */
  .products-section-title, .ck-carousel-nav .ck-ctitle{font-size:1.4rem!important;}
  .featured-products, .products.newproducts, section.block{padding-left:10px; padding-right:10px;}
  .featured-products.ck-carousel{padding:0 10px; margin-top:1.4rem;}
  .ck-carousel .products>.js-product{flex:0 0 74vw!important; max-width:74vw!important;}
  .ck-arrow{width:40px; height:40px;}

  /* --- Cartes produit --- */
  .product-miniature .product-description{padding:12px 12px 14px;}
  .product-miniature .product-title a{font-size:.98rem;}

  /* --- Page catégorie / listing --- */
  #category #js-product-list-header, .block-category h1{font-size:1.5rem;}
  .products-sort-order .select-title{min-width:0; width:100%;}

  /* --- Footer --- */
  .footer-container{padding-top:2rem; border-radius:20px 20px 0 0;}
  .footer-container [class*="col-"]{margin-bottom:.6rem;}
  .block_newsletter, .ps-emailsubscription-block{padding:1.1rem!important;}
  #block-newsletter-label{font-size:1.1rem;}
}
