/* Compléments communs du site Kinetic : navigation, recherche, menu, cartes produit, galerie, pages. */
[hidden]{display:none!important}
.k-small{font-size:13px}
.k-eyebrow{display:flex;align-items:center;gap:8px}
.k-eyebrow .k-star{width:13px;height:13px}
.k-eyebrow a:hover{text-decoration:underline}
.k-nav{grid-template-columns:auto 1fr auto;gap:24px}
.k-links{justify-self:center}
.k-nav-r{display:flex;align-items:center;gap:10px;justify-self:end}
.k-ico{width:44px;height:44px;border-radius:50%;border:0;background:transparent;display:grid;place-items:center}
.k-ico:hover{background:rgba(0,0,0,.05)}
.k-burger{display:none;position:relative}
.k-burger i{position:absolute;left:13px;right:13px;height:1.5px;background:var(--ink);transition:transform .3s var(--ease)}
.k-burger i:first-child{top:18px}.k-burger i:last-child{top:25px}
.k-menu-open .k-burger i:first-child{transform:translateY(3.5px) rotate(45deg)}.k-menu-open .k-burger i:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.k-search{position:fixed;inset:0;z-index:60;background:rgba(247,247,246,.96);backdrop-filter:blur(12px);display:grid;place-items:center;padding:20px}
.k-search form{width:min(720px,100%);display:flex;gap:10px;border-bottom:1px solid var(--ink);padding-bottom:10px}
.k-search input{flex:1;border:0;background:transparent;font:inherit;font-size:clamp(22px,3vw,36px);letter-spacing:-.02em;outline:none;color:var(--ink)}
.k-search button{width:52px;height:52px;border-radius:50%;border:0;background:var(--ink);color:#fff;display:grid;place-items:center}
.k-x{position:fixed;top:20px;right:20px;width:48px;height:48px;border-radius:50%;border:1px solid var(--ink);background:transparent;font-size:16px;z-index:2}
.k-menu{position:fixed;inset:0;z-index:40;background:var(--panel);padding:100px 24px 40px}
.k-menu div{display:flex;flex-direction:column;gap:6px}
.k-menu a{font-size:34px;letter-spacing:-.03em;padding:6px 0;border-bottom:1px solid var(--line)}
.k-menu-open .k-nav{position:fixed;left:0;right:0;top:0;z-index:50;background:var(--panel)}

/* pied enrichi */
.k-foot-cols{display:grid;grid-template-columns:repeat(3,minmax(0,auto));gap:24px clamp(24px,5vw,72px)}
.k-foot-cols div{display:flex;flex-direction:column;gap:8px;font-size:13px;color:var(--ink)}
.k-foot-cols b{font-weight:700;font-size:12px;color:var(--t2);margin-bottom:4px}
.k-foot-cols a:hover{text-decoration:underline}
.k-foot-top{align-items:flex-start}
.k-foot-reas{display:flex;flex-wrap:wrap;gap:8px}
.k-foot-reas span{height:30px;padding:0 14px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--line);display:inline-flex;align-items:center;font-size:12px;color:var(--ink)}
.k-legal{font-size:11px;line-height:1.55;max-width:920px}

/* carte produit et grille */
.k-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.4vw,20px)}
.k-pcard{display:flex;flex-direction:column;gap:12px}
.k-pcard-img{position:relative;aspect-ratio:1;border-radius:24px;background:var(--panel);display:flex;align-items:center;justify-content:center;overflow:hidden}
.k-pcard-img img{max-width:76%;max-height:76%;object-fit:contain;transition:transform .6s var(--ease)}
.k-pcard:hover .k-pcard-img img{transform:scale(1.04)}
.k-chip-r{position:absolute;left:14px;top:14px;color:var(--redt);background:#fff;box-shadow:none}
.k-pcard-t{display:flex;flex-direction:column;gap:2px;padding:0 4px}
.k-pcard-ref{font-size:11px;color:var(--t2);letter-spacing:.02em}
.k-pcard-n{font-size:15px;line-height:1.3;letter-spacing:-.01em}
.k-pcard-p{display:flex;justify-content:space-between;align-items:center;margin-top:6px;font-size:14px}
.k-pcard-go{width:34px;height:34px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--ink);display:grid;place-items:center;transition:background .2s,color .2s}
.k-pcard:hover .k-pcard-go{background:var(--ink);color:#fff}

/* options produit */
.k-opt{display:flex;flex-wrap:wrap;gap:6px}
.k-opt button{display:flex;align-items:center;gap:8px;height:34px;padding:0 14px;border-radius:999px;border:0;background:rgba(255,255,255,.6);box-shadow:inset 0 0 0 1px var(--line);font-size:13px}
.k-opt button i{width:12px;height:12px;border-radius:50%}
.k-opt button[aria-checked="true"]{background:#fff;box-shadow:inset 0 0 0 1.5px var(--ink)}

/* vidéo dans la carte flottante */
.k-float-v{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.k-float-card::before{z-index:1}.k-float-card>*:not(video){z-index:2}

/* points forts */
.k-hl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.4vw,20px);padding:clamp(48px,6vw,96px) max(40px,4vw) 0}
.k-hlc{border-top:1px solid var(--ink);padding-top:16px;display:flex;flex-direction:column;gap:8px}
.k-hlc b{font-size:clamp(36px,4.4vw,64px);font-weight:300;letter-spacing:-.045em;line-height:1}
.k-hlc b small{font-size:.38em;font-weight:400;letter-spacing:-.02em;margin-left:4px}
.k-hlc span{font-size:13px;color:var(--t2);max-width:220px}
.k-hlc-r b{color:var(--red)}

/* fonctions */
.k-feats{display:flex;flex-direction:column;gap:clamp(12px,1.4vw,20px);padding:0 max(40px,4vw) clamp(80px,9vw,140px)}
.k-feat{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:center;background:#fff;border-radius:32px;padding:clamp(16px,2vw,24px)}
.k-feat.rev .k-feat-img{order:2}
.k-feat-img{aspect-ratio:4/3;border-radius:24px;background:var(--panel);display:flex;align-items:center;justify-content:center;overflow:hidden}
.k-feat-img img{max-width:80%;max-height:84%;object-fit:contain}
.k-feat-t{display:flex;flex-direction:column;gap:14px;padding:clamp(4px,2vw,28px)}
.k-feat-t h3{font-size:clamp(26px,2.8vw,42px);font-weight:400;letter-spacing:-.03em;line-height:1.06}
.k-feat-t h3 span{color:var(--grey)}
.k-feat-t p{font-size:15px;line-height:1.55;color:var(--t2);max-width:520px}
.k-fine{font-size:12px!important}
.k-sec-h{padding:0 max(40px,4vw) 36px;text-align:center}
.k-sec-h .k-h2{max-width:900px;margin:0 auto;text-wrap:balance}

/* galerie */
.k-gal-w{padding:0 max(40px,4vw) clamp(80px,9vw,140px)}
.k-gal-h{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 24px;margin-bottom:28px}
.k-gal-h .k-eyebrow{width:100%}
.k-gal-n{font-size:13px;color:var(--t2)}
.k-gal{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:clamp(120px,13vw,210px);gap:clamp(8px,1vw,14px)}
.k-gal-i{border:0;padding:0;border-radius:20px;background:var(--panel);overflow:hidden;display:flex;align-items:center;justify-content:center;cursor:zoom-in;grid-column:span 2}
.k-gal-i img{max-width:84%;max-height:84%;object-fit:contain;transition:transform .6s var(--ease)}
.k-gal-ph img{max-width:none;max-height:none;width:100%;height:100%;object-fit:cover}
.k-gal-i:hover img{transform:scale(1.04)}
.k-gal-i:nth-child(6n+1){grid-column:span 3;grid-row:span 2}
.k-gal-i:nth-child(6n+2){grid-column:span 3}
.k-gal-i:nth-child(6n+3){grid-column:span 3}
.k-lb{position:fixed;inset:0;z-index:70;background:rgba(14,14,15,.92);display:flex;align-items:center;justify-content:center;padding:40px}
.k-lb img{max-width:min(1100px,86vw);max-height:84vh;object-fit:contain;border-radius:16px;background:#fff}
.k-lb .k-x{border-color:#fff;color:#fff}
.k-lb-p,.k-lb-n{position:fixed;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;border:1px solid #fff;background:transparent;color:#fff;font-size:24px}
.k-lb-p{left:20px}.k-lb-n{right:20px}

/* coloris */
.k-sw{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(24px,4vw,64px);align-items:center;padding:0 max(40px,4vw) clamp(80px,9vw,140px)}
.k-sw>div:first-child{display:flex;flex-direction:column;gap:14px}
.k-p{font-size:15px;line-height:1.55;color:var(--t2);max-width:480px}
.k-dots{display:flex;gap:12px}
.k-dots button{width:34px;height:34px;border-radius:50%;border:0;padding:4px;background:transparent;box-shadow:inset 0 0 0 1px var(--line)}
.k-dots button[aria-checked="true"]{box-shadow:inset 0 0 0 2px var(--ink)}
.k-dots i{display:block;width:100%;height:100%;border-radius:50%}
.k-sw-img{aspect-ratio:4/3;border-radius:32px;background:var(--panel);display:flex;align-items:center;justify-content:center;overflow:hidden}
.k-sw-img img{max-width:78%;max-height:84%;object-fit:contain}

.k-box{display:flex;gap:18px;align-items:center}
.k-box img{width:96px;height:96px;object-fit:contain;border-radius:14px;background:#fff;flex:none}
.k-notes-w{padding:0 max(40px,4vw) 60px;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px 28px}
.k-notes-w p{font-size:12px;line-height:1.5;color:var(--t2)}
.k-more{padding:0 max(40px,4vw) 100px}
.k-more-a{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--ink);margin-left:12px;vertical-align:middle;border-bottom:1px solid currentColor}

/* apparitions */
.k-rv{transition:opacity .9s var(--ease),transform .9s var(--ease)}
body.k-ready .k-rv:not(.in){opacity:0;transform:translateY(24px)}
@media (prefers-reduced-motion:reduce){body.k-ready .k-rv:not(.in){opacity:1;transform:none}}

/* ===== accueil ===== */
.h-panel{min-height:min(60vw,900px)}
.h-cards .k-card{aspect-ratio:.72}
.h-cards a.k-card:hover{transform:translateY(-6px)}
.h-cards a.k-card{transition:transform .5s var(--ease)}
.k-card-n{position:absolute;right:16px;top:16px;font-size:12px;opacity:.8}
.k-card-v{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.k-photo .k-card-v~*{z-index:2}
.k-photo::before{z-index:1}
.h-sec{padding:0 max(40px,4vw) clamp(80px,9vw,140px)}
.h-pro{margin:0 max(12px,1vw) clamp(80px,9vw,140px);background:var(--night);color:#fff;border-radius:32px;padding:clamp(32px,5vw,72px);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:center;overflow:hidden}
.h-pro h2{font-size:clamp(30px,3.6vw,54px);font-weight:400;letter-spacing:-.035em;line-height:1.04}
.h-pro h2 span{color:#8a8b8d}
.h-pro p{font-size:15px;line-height:1.55;color:#b7b8ba;max-width:520px;margin-top:16px}
.h-pro ul{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.h-pro li{height:30px;padding:0 14px;border-radius:999px;box-shadow:inset 0 0 0 1px #3a3b3d;display:inline-flex;align-items:center;font-size:12px}
.h-pro-media{position:relative;aspect-ratio:1.2;border-radius:24px;overflow:hidden;background:#1b1b1c}
.h-pro-media video,.h-pro-media img{width:100%;height:100%;object-fit:cover}
.k-btn{display:inline-flex;align-items:center;gap:10px;height:50px;padding:0 24px;border-radius:999px;border:1px solid currentColor;font-size:14px;font-weight:700;margin-top:26px;transition:background .2s,color .2s}
.k-btn:hover{background:#fff;color:var(--ink)}
.k-btn-d{background:var(--ink);color:#fff;border-color:var(--ink)}
.k-btn-d:hover{background:#000;color:#fff}
.h-strip{display:flex;gap:clamp(8px,1vw,14px);overflow-x:auto;scroll-snap-type:x mandatory;padding:0 max(40px,4vw) 20px;margin-bottom:clamp(60px,7vw,110px);scrollbar-width:none}
.h-strip::-webkit-scrollbar{display:none}
.h-strip figure{flex:0 0 clamp(220px,22vw,320px);aspect-ratio:.66;margin:0;border-radius:24px;overflow:hidden;position:relative;scroll-snap-align:start;background:#111}
.h-strip video{width:100%;height:100%;object-fit:cover}
.h-strip figcaption{position:absolute;left:14px;bottom:14px;right:14px;color:#fff;font-size:13px;z-index:2}
.h-strip figure::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.55))}

/* ===== univers ===== */
.u-panel{min-height:min(44vw,640px)}
.u-panel .k-giant{font-size:min(17vw,280px)}
.u-chips{display:flex;flex-wrap:wrap;gap:8px;padding:28px max(40px,4vw) 0}
.u-chips a{height:36px;padding:0 16px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--line);display:inline-flex;align-items:center;font-size:13px}
.u-chips a[aria-current]{background:var(--ink);color:#fff;box-shadow:none}
.u-fam{padding:clamp(48px,6vw,96px) max(40px,4vw) 0}
.u-fam-h{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:24px}
.u-fam-h p{font-size:15px;color:var(--t2);max-width:560px}
.u-count{font-size:13px;color:var(--t2)}
.u-empty{padding:60px max(40px,4vw);font-size:15px;color:var(--t2)}

/* ===== pages ===== */
.p-panel{min-height:min(36vw,520px)}
.p-panel .k-giant{font-size:min(15vw,240px)}
.p-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:clamp(24px,5vw,80px);padding:clamp(56px,7vw,110px) max(40px,4vw)}
.p-side{display:flex;flex-direction:column;gap:14px;position:sticky;top:24px;align-self:start}
.p-text{max-width:760px;display:flex;flex-direction:column;gap:18px;font-size:16px;line-height:1.65;color:#2a2b2d}
.p-text h2{font-size:clamp(24px,2.4vw,34px);font-weight:400;letter-spacing:-.025em;line-height:1.1;margin-top:22px;color:var(--ink)}
.p-text h3{font-size:18px;font-weight:700;margin-top:8px}
.p-text ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}
.p-text a{border-bottom:1px solid currentColor}
.p-text .p-card{background:#fff;border-radius:24px;padding:24px;display:flex;flex-direction:column;gap:6px}
.p-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.p-note{font-size:13px;color:var(--t2)}
.p-form{display:grid;gap:12px}
.p-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--t2)}
.p-form input,.p-form textarea,.p-form select{font:inherit;font-size:15px;padding:14px 16px;border-radius:16px;border:1px solid var(--line);background:#fff;color:var(--ink)}
.p-form button{justify-self:start}

@media (max-width:1100px){.k-links{gap:18px}}
@media (max-width:900px){
  .k-burger{display:grid}.k-nav-r .k-cart{padding:0 18px}
  .k-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .k-hl{grid-template-columns:repeat(2,minmax(0,1fr));padding-left:20px;padding-right:20px}
  .k-feats,.k-gal-w,.k-sw,.k-more,.k-notes-w,.h-sec,.u-fam,.u-chips,.k-sec-h{padding-left:20px;padding-right:20px}
  .k-feat,.k-sw,.h-pro,.p-body{grid-template-columns:1fr}
  .k-feat.rev .k-feat-img{order:0}
  .k-gal{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:42vw}
  .k-gal-i,.k-gal-i:nth-child(6n+1),.k-gal-i:nth-child(6n+2),.k-gal-i:nth-child(6n+3){grid-column:span 1;grid-row:span 1}
  .k-gal-i:nth-child(5n+1){grid-column:span 2}
  .k-foot-cols{grid-template-columns:1fr 1fr}
  .p-body{padding-left:20px;padding-right:20px}.p-side{position:static}
  .p-grid{grid-template-columns:1fr}
  .h-strip{padding-left:20px;padding-right:20px}
}
@media (max-width:520px){.k-foot-cols{grid-template-columns:1fr}.k-hlc b{font-size:40px}}
.u-panel .k-prod,.h-cards .k-light img{mix-blend-mode:multiply}
.k-photo .k-card-t,.k-photo .k-card-t h3,.k-photo .k-card-t p,.k-photo .k-card-n{color:#fff}
.k-photo .k-card-t p{opacity:.85}
.k-photo .k-chip{border-color:#fff;color:#fff}
@media (max-width:720px){
  .h-panel .k-giant{font-size:19.5vw}
  .k-cta{white-space:nowrap;font-size:13px;gap:10px;padding-right:20px}
  .k-cta .k-cta-img{width:56px;height:40px}
}
/* images détourées : même cadrage partout */
.k-pcard-img img{width:88%;height:88%;max-width:none;max-height:none;object-fit:contain}
.h-cards .k-card-img img{width:100%;height:100%;object-fit:contain}
.k-dark .k-card-t,.k-dark .k-card-t h3,.k-dark .k-card-n{color:#fff}
.k-dark .k-card-t p{color:rgba(255,255,255,.72)}
.k-dark .k-chip{border-color:rgba(255,255,255,.8);color:#fff}

/* nom de marque en capitales (charte) : plus large que les minuscules */

/* grand titre des pages : blanc, plein, entier */
.k-giant{color:#fff;line-height:1;transform:none;bottom:-.14em}
.fx-rise{bottom:-.14em}
.fx-foot{height:clamp(90px,15vw,250px)}

/* charte : boutons noir et blanc — noir plein, texte blanc ; au survol ils s'inversent (blanc, texte noir).
   La photo dans le bouton garde ses couleurs : aucun filtre. */
body.k-page .k-cta,body.k-page .k-btn,body.k-page .k-cart{background:#000!important;color:#fff!important;border:1px solid #000!important;transition:background .2s,color .2s}
body.k-page .k-cta .k-cta-p{color:#B1B3B4!important}
body.k-page .k-cta:not(:disabled):hover,body.k-page .k-btn:hover,body.k-page .k-cart:hover{background:#fff!important;color:#000!important}
body.k-page .k-cta:not(:disabled):hover .k-cta-p{color:#5F6164!important}
body.k-page .k-cta-img{filter:none!important;opacity:1!important}
body.k-page .k-cart svg{stroke:currentColor}

/* le grand mot ne chevauche jamais le texte ni le bouton Acheter : le panneau lui réserve sa place en bas */
.k-panel{--gs:min(12.5vw,200px);padding-bottom:calc(var(--gs) * .76 + 32px)}
.k-panel:has(.k-brand){--gs:min(14.4vw,236px)}
body.k-page .k-panel .k-giant{font-size:var(--gs)}
@media (max-width:900px){.k-panel{--gs:14vw}.k-panel:has(.k-brand){--gs:14.6vw}}

/* le titre pose ses lettres exactement sur la lisière du cartouche (ligne de base = bord bas) */
@supports (text-box: trim-both cap alphabetic){body.k-page .k-giant,body.k-page .fx-rise{text-box:trim-both cap alphabetic;bottom:0}}
