/* L'OASIS – Identité typographique 2026
 * Titres, noms de produits, prix, boutons : Outfit (géométrique, large, lisible)
 * Textes, descriptions, menus : Figtree (humaniste, très lisible sur mobile et borne)
 * Fichier chargé EN DERNIER : il ne fait que remplacer polices, graisses, tailles et espacements.
 * Retour arrière : retirer la ligne <link …typo.css> des pages (ou vider ce fichier).
 */
@font-face{font-family:"Outfit";src:url(/assets/fonts/outfit-var.woff2) format("woff2");font-weight:400 800;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Figtree";src:url(/assets/fonts/figtree-var.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--font:"Figtree",-apple-system,"Segoe UI",Roboto,system-ui,sans-serif !important;--font-d:"Outfit","Figtree",-apple-system,"Segoe UI",sans-serif !important;--font-title:var(--font-d) !important;--oc-font:var(--font) !important}
.oc,.oc-banner{--oc-font:var(--font) !important}
html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
body{font-family:var(--font)}

/* ---- brand.css ---- */
.h1, .h2, .h3, .hero-title, .cat-h, .sheet-title, .track-number, .nf-code, .pts-num, .f-title, .zone-name, .cat-name, .grp-name, .co-legend, .ctx-legend, .ups-title, .upgrade-q strong, .consent-title, .carte-kicker, .dcheck-title, .added-title, .track-thanks{font-family:var(--font-d)}
.h1, .h2{font-weight:760;letter-spacing:-.015em;line-height:1.08}
.h1{font-size:calc(clamp(2.5rem, 8vw, 4.4rem) * .84)}
.h2{font-size:calc(clamp(2rem, 6vw, 3.2rem) * .84)}
.h3{font-weight:700;font-size:calc(1.45rem * .84);letter-spacing:.01em}
.kicker, .carte-kicker{font-family:var(--font-d);font-weight:700;font-size:calc(0.92rem * .84);letter-spacing:.06em}
.btn{font-family:var(--font-d);font-weight:700;font-size:calc(1.08rem * .84);letter-spacing:.06em}
.btn--sm{font-size:calc(1rem * .84)}
.btn--lg{font-size:calc(1.22rem * .84)}
.btn-price{font-family:var(--font-d);font-weight:760;font-size:calc(1.15em * .84);letter-spacing:.01em}
.link-arrow{font-family:var(--font-d);font-weight:700;font-size:calc(1.05rem * .84);letter-spacing:.06em}
.announce{font-family:var(--font-d);font-weight:700;font-size:calc(1.02rem * .84);letter-spacing:.06em}
.logo-pill{font-family:var(--font-d);font-weight:760;font-size:calc(1.3rem * .84);letter-spacing:.01em}
.nav a{font-family:var(--font-d);font-weight:620;font-size:calc(1.04rem * .84);letter-spacing:.06em}
.hero-title{font-family:var(--font-d);font-weight:760;font-size:calc(clamp(2.9rem, 10.5vw, 6rem) * .84);letter-spacing:-.015em;line-height:1.08}
.status-pill{font-family:var(--font-d);font-weight:700;font-size:calc(0.95rem * .84);letter-spacing:.06em}
.mode-cta strong{font-family:var(--font-d);font-weight:700;font-size:calc(1.25rem * .84);letter-spacing:.06em}
.hero-photo .hero-price, .hero-price{font-family:var(--font-d);font-weight:760;letter-spacing:.01em}
.ox-ticker-track span{font-family:var(--font-d);font-weight:760;font-size:calc(clamp(1.15rem, 2.6vw, 1.6rem) * .84);letter-spacing:.06em}
.ox-ticker-track span::after{font-size:calc(0.8em * .84)}
.visual--empty span{font-family:var(--font-d);font-weight:760;font-size:calc(1.3rem * .84)}
.pcard-name, .prod-name, .mi-name{font-family:var(--font-d);font-weight:700;font-size:calc(1.3rem * .84);letter-spacing:.01em;line-height:1.08}
.price, .cl-price, .rl-price, .var-price, .opt-price{font-family:var(--font-d);font-weight:760;letter-spacing:.01em}
.price{font-size:calc(1.45rem * .84);line-height:1.08}
.prod-flag, .badge--hot{font-family:var(--font-d);font-weight:700;letter-spacing:.06em}
.badge{font-family:var(--font-d);font-weight:700;font-size:calc(0.85rem * .84);letter-spacing:.06em}
.mi-vars li span:last-child, .mi-vars li > :last-child{font-family:var(--font-d);font-weight:760;font-size:calc(1.1rem * .84)}
.cat-tile .cat-name, .cat-name{font-family:var(--font-d);font-weight:760;font-size:calc(1.65rem * .84);letter-spacing:.01em;line-height:1.08}
.chip{font-family:var(--font-d);font-weight:700;font-size:calc(1.02rem * .84);letter-spacing:.06em}
.ctx-text strong{font-family:var(--font-d);font-weight:700;font-size:calc(1.15rem * .84);letter-spacing:.01em}
.ctx-legend{font-weight:700;font-size:calc(1.3rem * .84);letter-spacing:.01em}
.mode-card strong{font-family:var(--font-d);font-weight:700;font-size:calc(1.15rem * .84);letter-spacing:.01em}
.radio-pill span{font-family:var(--font-d);font-weight:700;font-size:calc(1.02rem * .84);letter-spacing:.06em}
.tab{font-family:var(--font-d);font-weight:700;font-size:calc(1.05rem * .84);letter-spacing:.06em}
.cat-h{font-weight:760;font-size:calc(clamp(2rem, 5vw, 2.6rem) * .84);line-height:1.08}
.cart-head .h3, .cart-head h2{font-family:var(--font-d);font-weight:760;font-size:calc(1.7rem * .84);letter-spacing:.01em}
.cart-empty p:first-of-type{font-family:var(--font-d);font-size:calc(1.25rem * .84)}
.qty-val{font-family:var(--font-d);font-weight:760;font-size:calc(1.2rem * .84)}
.tot-total{font-family:var(--font-d);font-size:calc(1.6rem * .84)}
.ups-name{font-family:var(--font-d);font-weight:700;font-size:calc(1rem * .84)}
.ups-price{font-family:var(--font-d);font-weight:760;font-size:calc(1.05rem * .84)}
.cart-bar-btn{font-size:calc(1.2rem * .84)}
.cb-count{font-family:var(--font-d);font-size:calc(1.1rem * .84)}
.cb-total{font-family:var(--font-d);font-weight:760;font-size:calc(1.3rem * .84)}
.rule{font-family:var(--font-d);font-size:calc(0.85rem * .84);letter-spacing:.06em}
.var-label{font-family:var(--font-d);font-weight:700;font-size:calc(1.25rem * .84);letter-spacing:.01em}
.var-badge{font-family:var(--font-d);font-size:calc(0.9rem * .84);letter-spacing:.06em}
.wiz-step{font-family:var(--font-d);font-size:calc(0.98rem * .84);letter-spacing:.06em}
.rl-qty{font-family:var(--font-d);font-size:calc(1.15rem * .84)}
.track-number{font-family:var(--font-d);font-weight:760}
.track-label{font-family:var(--font-d);letter-spacing:.02em}
.steps li{font-family:var(--font-d);font-size:calc(0.95rem * .84);letter-spacing:.06em}
.track-status{font-family:var(--font-d);font-weight:760;font-size:calc(1.4rem * .84)}
.usp strong{font-family:var(--font-d);font-size:calc(1.2rem * .84);letter-spacing:.01em}
.table thead th{font-family:var(--font-d);letter-spacing:.06em}
.f-title{font-weight:700;font-size:calc(1.2rem * .84);letter-spacing:.02em}
.ox-hungry::before{font-family:var(--font-d);font-weight:760;font-size:calc(13rem * .84);line-height:1.08}
.ox-hungry .h2{font-size:calc(clamp(2.6rem, 8vw, 4.6rem) * .84)}
.ox-hungry .btn--dark{font-size:calc(1.25rem * .84)}
.ox-promo .ox-big{font-family:var(--font-d);font-weight:760;font-size:calc(clamp(2.3rem, 6vw, 3.4rem) * .84);line-height:1.08}
.ox-promo p{font-weight:560}
.ox-sticker{font-family:var(--font-d);font-weight:760;letter-spacing:.06em}
.ox-steps b{font-family:var(--font-d);font-weight:760;font-size:calc(1.6rem * .84);line-height:1.08}
@media (max-width: 479px){
.mode-cta strong{font-size:calc(1.05rem * .84)}
.hero-title{font-size:calc(clamp(2.6rem, 12vw, 3.4rem) * .84)}
}
.dcheck-title{font-family:var(--font-d) !important;font-weight:760 !important;font-size:calc(clamp(1.7rem, 4vw, 2.2rem) * .84) !important;line-height:1.08}
.dcheck-badge{font-family:var(--font-d);letter-spacing:.06em}
@media (max-width: 720px){
#carte .cat-tile .cat-name{font-size:calc(1.35rem * .84)}
}
.ox-rush-logo{font-family:var(--font-d);font-weight:760;line-height:1.08}
.ox-rush-logo .o{font-size:calc(clamp(4rem, 13vw, 7rem) * .84)}
.ox-rush-logo .r{font-size:calc(clamp(3.6rem, 12vw, 6.4rem) * .84);letter-spacing:.02em}
.ox-rush-tag{font-family:var(--font-d);font-weight:700;font-size:calc(1.5rem * .84)}
.ox-rush-screen{font-family:var(--font-d);font-weight:760}
.ox-rush-screen b{font-size:calc(3.4rem * .84);line-height:1.08}
.ox-rush-screen i{font-size:calc(3rem * .84);line-height:1.08}
.ox-rush-screen em{font-size:calc(1.3rem * .84)}
.hero-title.hero-title--slogan{font-family:var(--font-d);font-weight:760;font-size:calc(clamp(2rem, 10.6vw, 5.6rem) * .84);letter-spacing:-.015em;line-height:1.08}
.hero-title--slogan .ht-line{font-size:calc(min(11.4cqi, 5.6rem) * .84)}
.hero-tagline{font-family:var(--font-d);font-weight:700;font-size:calc(clamp(1.08rem, 1rem + 0.9vw, 1.6rem) * .84);letter-spacing:.01em}
@media (min-width: 900px){
.hero-title--slogan .ht-line{font-size:calc(min(17.6cqi, 7rem) * .84)}
}
.loy-kicker{font-family:var(--font-d);font-weight:700;font-size:calc(0.9rem * .84);letter-spacing:.06em}
.loy-title{font-family:var(--font-d);font-weight:760;font-size:calc(clamp(2.6rem, 9vw, 5.4rem) * .84);letter-spacing:-.015em;line-height:1.08}
.loy-steps b{font-family:var(--font-d);font-size:calc(1.2rem * .84)}
.loy-card input{font-size:calc(1.05rem * .84)}
.loy-h2{font-family:var(--font-d);font-weight:760;font-size:calc(clamp(1.7rem, 4.5vw, 2.2rem) * .84);line-height:1.08}
.loy-h3{font-family:var(--font-d);font-weight:700;font-size:calc(1.35rem * .84)}
.loy-cta{font-family:var(--font-d);font-weight:760;font-size:calc(1.2rem * .84);letter-spacing:.01em}
.loy-otp{font-family:var(--font-d);font-weight:700;font-size:calc(1.8rem * .84) !important;letter-spacing:.02em}
.loy-hello{font-family:var(--font-d);font-weight:760;font-size:calc(clamp(1.6rem, 5vw, 2.1rem) * .84);line-height:1.08}
.loy-balance{font-family:var(--font-d);font-weight:760;font-size:calc(clamp(3.6rem, 14vw, 5.2rem) * .84);line-height:1.08}
.loy-balance small{font-size:calc(0.35em * .84);letter-spacing:.06em}
.loy-reward strong{font-family:var(--font-d);font-size:calc(1.25rem * .84)}
.loy-h-p{font-family:var(--font-d);font-weight:760;font-size:calc(1.3rem * .84)}
.track-loy-t{font-family:var(--font-d);font-weight:760;font-size:calc(clamp(1.5rem, 5vw, 2rem) * .84);line-height:1.08}
.track-loy-p{font-family:var(--font-d);font-weight:760;font-size:calc(clamp(2.4rem, 9vw, 3.2rem) * .84);line-height:1.08}

/* ---- site.css ---- */
.h1, .h2, .h3, .h4{font-weight:760;letter-spacing:-.015em}
.h1{font-size:calc(clamp(1.9rem, 6vw, 3rem) * .84)}
.h2{font-size:calc(clamp(1.45rem, 4.4vw, 2.1rem) * .84)}
.h3{font-weight:700;font-size:calc(1.25rem * .84)}
.btn{font-weight:700}
.btn--sm{font-size:calc(0.95rem * .84)}
.btn--lg{font-size:calc(1.08rem * .84)}
.link-arrow{font-weight:700}
.announce{font-weight:620;font-size:calc(0.95rem * .84)}
.nav a{font-weight:620}
@media (max-width: 899px){
.nav a{font-size:calc(1.05rem * .84)}
}
.hero-title{font-weight:760;font-size:calc(clamp(2.05rem, 9vw, 4.4rem) * .84);letter-spacing:-.015em;line-height:1.08}
.status-pill{font-weight:620;font-size:calc(0.9rem * .84)}
.mode-cta strong{font-weight:700;font-size:calc(1.1rem * .84)}
.pcard-name{font-weight:700;font-size:calc(1.05rem * .84)}
.price{font-weight:700}
.cat-name{font-weight:760;font-size:calc(1.05rem * .84)}
.chip{font-weight:620}
.mi-name{font-weight:700;font-size:calc(1.05rem * .84)}
.badge{font-weight:700;font-size:calc(0.8rem * .84)}
.table thead th{font-weight:700}
.f-title{font-weight:760;font-size:calc(0.95rem * .84);letter-spacing:.06em}
.consent-title{font-weight:760}
.consent p{font-size:calc(0.93rem * .84)}
input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input:not([type]), select, textarea{font-size:calc(16px * .84)}
.ctx-legend{font-weight:760;font-size:calc(1.05rem * .84)}
.mode-card strong{font-weight:700;font-size:calc(0.98rem * .84)}
.radio-pill span{font-weight:620}
.tab{font-weight:700}
.cat-h{font-weight:760;font-size:calc(1.5rem * .84)}
.prod-name{font-weight:700;font-size:calc(1.02rem * .84)}
.cart-empty p:first-of-type{font-weight:700}
.cart-bar-btn{font-size:calc(1.05rem * .84)}
.cb-count{font-weight:760}

/* ---- oasis-choisit.min.css ---- */
.oc-banner h2{letter-spacing:-.015em}
.oc-cta{letter-spacing:.01em}
@media (max-width: 760px){
.oc-banner-q{font-size:calc(52px * .84)}
}
.oc-cta--hero{font-size:calc(clamp(17px, 1.8vw, 21px) * .84)}

/* ---- page d'accueil ---- */
#carte .h2{font-size:calc(clamp(2rem, 4vw, 3rem) * .84);letter-spacing:-.015em}
.carte-kicker{font-weight:700;font-size:calc(0.8rem * .84);letter-spacing:.06em}
#carte .cat-tile .cat-name{font-weight:700;font-size:calc(clamp(1.05rem, 1.6vw, 1.35rem) * .84);letter-spacing:.01em}
#carte .cat-tile .cat-name{font-size:calc(clamp(0.85rem, 1.1vw, 1.15rem) * .84);letter-spacing:.01em}
.btn{font-weight:620}
.h2{font-weight:700}
.status-pill{font-weight:560;font-size:calc(0.9rem * .84)}
.link-arrow{font-weight:620}
.h1, .h2, .h3, .h4, .hero-title, .cat-h, .sheet-title, .track-number{font-family:var(--font-d)}
.h1, .h2{font-weight:700;letter-spacing:-.015em}
.h2{font-size:calc(clamp(1.55rem, 4.2vw, 2.25rem) * .84)}
.h3{font-weight:620}
.btn{font-weight:620;letter-spacing:.01em}
.btn--lg{font-size:calc(1.06rem * .84)}
.nav a{font-weight:560}
.hero-title{font-weight:700;font-size:calc(clamp(2.1rem, 8.2vw, 4.2rem) * .84);letter-spacing:-.015em;line-height:1.08}
.hero-photo .hero-price{font-weight:700}
.hero-main{font-size:calc(1.12rem * .84)}
.mode-cta strong{font-weight:620}
@media (max-width: 899px){
.mode-cta strong{font-size:calc(0.92rem * .84)}
}
@media (min-width: 760px) and (max-width: 899px){
.hero-title{font-size:calc(clamp(2.1rem, 5.6vw, 3.2rem) * .84)}
}
.dcheck-badge{font-weight:620;font-size:calc(0.85rem * .84)}
.dcheck-title{font-family:var(--font-d);font-weight:700;font-size:calc(clamp(1.4rem, 5.2vw, 2rem) * .84);letter-spacing:-.015em}
.cat-tile .cat-name{font-weight:700;font-size:calc(1.02rem * .84)}
.pcard-name, .prod-name, .mi-name{font-weight:620;letter-spacing:-.015em}
.price{font-weight:700}
.cat-h{font-weight:700;letter-spacing:-.015em}
.tab{font-weight:560}
#carte .cat-grid--4 .cat-tile .cat-name{font-size:calc(clamp(1rem, 1.4vw, 1.35rem) * .84)}
@media (max-width: 899px){
#carte .cat-grid--4 .cat-tile .cat-name{font-size:calc(1.2rem * .84)}
}
@media (max-width: 599px){
#carte .cat-grid--4 .cat-tile .cat-name{font-size:calc(1rem * .84)}
}

/* ---- kiosk.css ---- */
.k-art-word{font-weight:760;font-size:calc(34vmax * .84);letter-spacing:-.015em;line-height:1.08}
.k-attract-welcome{font-weight:760;font-size:calc(48px * .84);letter-spacing:-.015em;line-height:1.08}
.k-attract-feat-name{font-weight:760;font-size:calc(40px * .84);line-height:1.08}
.k-attract-feat-price{font-weight:700;font-size:calc(28px * .84)}
.k-loy-earn{font-family:var(--font-d);font-weight:760;font-size:calc(1.8rem * .84);line-height:1.08}
.k-loy-balance{font-family:var(--font-d);font-weight:760;font-size:calc(5rem * .84);line-height:1.08}
.k-loy-ok{font-family:var(--font-d);font-weight:760;font-size:calc(1.8rem * .84)}
.k-done-loy .k-done-loy-t{font-family:var(--font-d);font-weight:760;font-size:calc(2rem * .84);line-height:1.08}
.k-done-loy .k-done-loy-p{font-family:var(--font-d);font-weight:760;font-size:calc(3rem * .84);line-height:1.08}

/* ---- kiosk-brand.css ---- */
.k-h1, .k-h2, .k-cat, .k-card-name, .k-btn, .k-chip, .k-top-title, .k-mode-title, .k-sheet-title, .k-group-head h3, .k-var-label, .k-var-price, .k-var-tag, .k-pay-title, .k-pay-total, .k-cart-total, .k-cart-total-val, .k-done-num, .k-done-thanks, .k-card-price, .k-sheet-price, .k-add-price, .k-cartbar-total, .k-cartbar-count b, .k-line-name, .k-line-price, .k-opt-price, .k-attract-welcome, .k-attract-feat-name, .k-attract-feat-price, .k-attract-cta, .k-modal-title, .k-upsell-card .k-card-price, .k-logo--text, .k-step-val, .k-badge, .k-numpad-display, .k-key, .k-kkey, .k-name-display, .k-art-word{font-family:var(--font-d)}
.k-chip{font-family:var(--font-d);font-weight:700;font-size:calc(22px * .84);letter-spacing:.02em}
.k-attract-welcome{font-weight:760;font-size:calc(92px * .84);letter-spacing:-.015em;line-height:1.08}
.k-attract-feat-name{font-weight:760;font-size:calc(40px * .84)}
.k-attract-feat-price{font-weight:760;font-size:calc(34px * .84)}
.k-art-word{font-weight:760}
.k-cat{font-family:var(--font-d);font-weight:700;font-size:calc(24px * .84);letter-spacing:.01em;line-height:1.08}
.k-visual-name{font-family:var(--font-d)}
.k-card-tag{font-family:var(--font-d);font-weight:700;font-size:calc(19px * .84);letter-spacing:.06em}
.k-card-out{font-family:var(--font-d)}
.k-pay-total b{font-family:var(--font-d);font-weight:760}
@media (orientation: landscape){
.k-attract-welcome{font-size:calc(clamp(56px, 7.4vw, 104px) * .84)}
}
.k-upsell-ok{font-family:var(--font-d)}
.k-line-var.is-menu{font-family:var(--font-d);letter-spacing:.06em}
.k-cart-mode{font-family:var(--font-d);letter-spacing:.02em}
.k-cart-total-label{font-family:var(--font-d);font-size:calc(30px * .84)}
.k-rush-kicker{font-family:var(--font-d);font-weight:700;font-size:calc(18px * .84);letter-spacing:.06em}
.k-rush-title{font-family:var(--font-d);font-weight:760;font-size:calc(34px * .84);line-height:1.08}
@media (orientation: landscape) and (max-height: 860px){
.k-rush--attract .k-rush-title{font-size:calc(28px * .84)}
}
.k-attract-welcome{font-size:calc(clamp(40px, min(6.6cqh, 11.5cqw), 92px) * .84);line-height:1.08}
.k-attract-feat-name{font-size:calc(36px * .84);line-height:1.08}
.k-attract-feat-price{font-size:calc(30px * .84)}
.k-rush--attract .k-rush-title{font-size:calc(clamp(22px, 3cqh, 34px) * .84)}
.k-rush--attract .k-rush-kicker{font-size:calc(clamp(13px, 1.6cqh, 18px) * .84)}
@media (orientation: landscape){
.k-attract-welcome{font-size:calc(clamp(44px, min(7.4cqw, 11.5cqh), 104px) * .84)}
}

/* ---- module « L'Oasis choisit pour toi » ---- */
:root,:root *{--oc-title:"Outfit","Figtree",-apple-system,"Segoe UI",sans-serif !important}
.oc-banner h2{font-weight:760;font-size:calc(clamp(34px,5.4vw,64px) * .84);line-height:1.04;letter-spacing:.005em}
.oc-cta{font-weight:760;font-size:calc(clamp(20px,2.2vw,26px) * .84);line-height:1.04;letter-spacing:.005em}
.oc-banner-q{font-weight:760;font-size:calc(clamp(56px,7vw,96px) * .84);line-height:1.04;letter-spacing:.005em}
.oc-strip b{font-weight:760;font-size:calc(22px * .84);line-height:1.04;letter-spacing:.005em}
.oc-brand{font-weight:700;font-size:calc(15px * .84);line-height:1.04;letter-spacing:.005em}
.oc-q{font-weight:760;font-size:calc(clamp(30px,6vw,40px) * .84);line-height:1.04;letter-spacing:.005em}
.oc-btn{font-weight:760;font-size:calc(20px * .84);line-height:1.04;letter-spacing:.005em}
.oc-title{font-weight:760;font-size:calc(clamp(30px,6vw,42px) * .84);line-height:1.04;letter-spacing:.005em}
.oc-kicker{font-weight:760;font-size:calc(20px * .84);line-height:1.04;letter-spacing:.005em}
.oc-price-tag{font-weight:760;font-size:calc(26px * .84);line-height:1.04;letter-spacing:.005em}
.oc-name{font-weight:760;font-size:calc(clamp(32px,6.5vw,46px) * .84);line-height:1.04;letter-spacing:.005em}
.oc-why-main{font-weight:760;font-size:calc(22px * .84);line-height:1.05;letter-spacing:.005em}

/* ---- Réglages fins : hiérarchie typographique ---- */
html body .h1{font-size:clamp(2.1rem,7.4vw,3.8rem);font-weight:760;letter-spacing:-.018em;line-height:1.04}
html body .h2{font-size:clamp(1.85rem,6.6vw,3.1rem);font-weight:760;letter-spacing:-.015em;line-height:1.06}
html body .h3{font-size:clamp(1.3rem,4.4vw,1.75rem);font-weight:700;letter-spacing:-.005em;line-height:1.12}
html body .cat-h{font-size:clamp(1.65rem,5.6vw,2.4rem);font-weight:760;letter-spacing:-.012em;line-height:1.06}
html body .dcheck-title{font-size:clamp(1.45rem,5.2vw,2.1rem);line-height:1.1}
html body .cat-name{font-size:1.02rem;letter-spacing:.02em}
html body .carte-cta{font-size:.86rem;letter-spacing:.035em}
html body .prod-name,html body .pcard-name{font-weight:700;letter-spacing:.01em;line-height:1.18}
html body .prod-desc,html body .pcard-desc,html body .cat-desc,html body .hero-sub,html body .carte-sub,html body .dcheck-sub{font-family:var(--font);font-weight:400;line-height:1.5;letter-spacing:0}
html body .price,html body .cb-total,html body .btn-price{font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.005em}
html body .btn{font-weight:700;letter-spacing:.045em}
html body .btn--lg{font-size:1.12rem}
html body .hero-title--slogan .ht-line{font-size:min(8.9cqi,4.6rem)}
@media (min-width:900px){html body .hero-title--slogan .ht-line{font-size:min(13.6cqi,5.6rem)}}
html body .pcard-name{font-size:clamp(1.02rem,.55rem + 1vw,1.22rem)}
html body .prod-name{font-size:clamp(1.02rem,.6rem + .9vw,1.18rem)}
html body .pcard-desc,html body .prod-desc{font-size:clamp(.9rem,.8rem + .25vw,.98rem)}
html body .tab{font-weight:700;letter-spacing:.03em}
@media (max-width:560px){html body .btn,html body form button[type=submit]{white-space:normal;letter-spacing:.03em;line-height:1.15;max-width:100%;text-align:center}}

/* ---- Borne (iPad) : tailles recalées pour Outfit ---- */
html body .k-top-title{font-size:clamp(26px,3.8vw,36px);font-weight:760;letter-spacing:-.01em}
html body .k-h1{font-size:clamp(32px,5.4vw,52px);font-weight:760;letter-spacing:-.015em;line-height:1.06}
html body .k-h2{font-size:clamp(28px,4.4vw,42px);font-weight:760;letter-spacing:-.012em;line-height:1.08}
html body .k-mode-title{font-weight:760;letter-spacing:-.005em}
html body .k-cat-name{font-size:clamp(15px,2.2vw,19px);font-weight:700;letter-spacing:.015em}
html body .k-chip{font-size:clamp(14px,2vw,17px);font-weight:650}
html body .k-card-name{font-size:clamp(16px,2.45vw,21px);font-weight:700;letter-spacing:.005em;line-height:1.16;-webkit-hyphens:manual;hyphens:manual;overflow-wrap:normal;word-break:normal}
html body .k-card-price{font-size:clamp(18px,2.75vw,24px);font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}
html body .k-card-tag{font-weight:650;letter-spacing:.03em}
html body .k-btn{font-weight:700;letter-spacing:.02em}
html body .k-btn--xl{font-size:clamp(20px,3.2vw,28px);white-space:nowrap}
html body .k-cancel{font-size:clamp(16px,2.5vw,22px)}
html body .k-a11y-label{font-size:clamp(16px,2.5vw,22px)}
