/* Grid variants: shape only (couleurs viennent du theme) */
body[data-grid-variant="v1"] [class$="-card"]{border-radius:calc(var(--radius-l) * 1.4)}
body[data-grid-variant="v1"] [class$="-card__img"]{aspect-ratio:3/4}

body[data-grid-variant="v2"] [class$="-grid"]{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
body[data-grid-variant="v2"] [class$="-card"]{border-radius:var(--radius-s)}
body[data-grid-variant="v2"] [class$="-card__img"]{aspect-ratio:4/5}
body[data-grid-variant="v2"] [class$="-cta"]{border-radius:0}

body[data-grid-variant="v3"] [class$="-grid"]{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}
body[data-grid-variant="v3"] [class$="-card"]{border-radius:var(--radius-l);position:relative;overflow:hidden}
body[data-grid-variant="v3"] [class$="-card__img"]{aspect-ratio:3/4}
body[data-grid-variant="v3"] [class$="-card__info"]{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(to top,rgba(15,23,42,.9),transparent);color:#fff;padding:14px}
body[data-grid-variant="v3"] [class$="-card__top"]{padding:0;color:#fff}
body[data-grid-variant="v3"] [class$="-card__name"]{color:#fff;font-size:1rem}
body[data-grid-variant="v3"] [class$="-card__rate"]{padding:0;margin:4px 0 8px}
body[data-grid-variant="v3"] [class$="-rating"]{color:#fef3c7}
body[data-grid-variant="v3"] [class$="-cta"]{position:static;border-radius:999px;padding:8px 14px;font-size:.85rem}

body[data-grid-variant="v4"] [class$="-grid"]{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px}
body[data-grid-variant="v4"] [class$="-card"]{border-radius:var(--radius-s);background:var(--page-bg);box-shadow:none;border:1px solid var(--line);transition:border-color .25s}
body[data-grid-variant="v4"] [class$="-card"]:hover{transform:none;box-shadow:none;border-color:var(--accent)}
body[data-grid-variant="v4"] [class$="-card__img"]{aspect-ratio:1/1;object-position:center}
body[data-grid-variant="v4"] [class$="-cta"]{border-radius:var(--radius-s);font-weight:700;text-transform:uppercase;letter-spacing:.5px;font-size:.8rem}
body[data-grid-variant="v4"] [class$="-cta"]::after{display:none}

/* Carousel variants: shape only */
body[data-carousel-variant="c2"] [class$="-carousel__track"]{gap:8px}
body[data-carousel-variant="c2"] [class$="-carousel__item"]{border-radius:var(--radius-s);flex-basis:200px}
body[data-carousel-variant="c2"] [class$="-carousel__item"] img{aspect-ratio:1/1}

body[data-carousel-variant="c3"] [class$="-carousel__item"]{flex-basis:260px;border-radius:9999px 9999px var(--radius-l) var(--radius-l);overflow:hidden}
body[data-carousel-variant="c3"] [class$="-carousel__item"] img{aspect-ratio:3/4;object-position:top center}

body[data-carousel-variant="c4"] [class$="-carousel__track"]{gap:4px}
body[data-carousel-variant="c4"] [class$="-carousel__item"]{border-radius:0;flex-basis:220px}
body[data-carousel-variant="c4"] [class$="-carousel__item"] img{aspect-ratio:9/16;filter:saturate(1.1)}
body[data-carousel-variant="c4"] [class$="-carousel__btn"]{display:none}

/* Header variants */
body[data-header="compact"] [class$="-hd__row"]{height:50px}
body[data-header="tall"] [class$="-hd__row"]{height:80px}
body[data-header="tall"] [class$="-hd__brand"]{font-size:1.15rem}
body[data-header="tall"] [class$="-hd__brand"] img{width:32px;height:32px}
body[data-header="transparent"] [class$="-hd"]{background:transparent;border-bottom:0;backdrop-filter:blur(10px);position:absolute;top:0;left:0;right:0}
body[data-header="transparent"] [class$="-hero"]{padding-top:90px}

/* Footer variants */
body[data-footer="columns"] [class$="-ft__row"]{display:grid;grid-template-columns:1fr 2fr;align-items:start;gap:30px}
body[data-footer="columns"] [class$="-ft__nav"]{flex-direction:column;align-items:flex-start}
body[data-footer="centered"] [class$="-ft__row"]{flex-direction:column;align-items:center;text-align:center}
body[data-footer="centered"] [class$="-ft__nav"]{justify-content:center}

/* FAQ layouts */
body[data-faq="two-col"] [class$="-faq__list"]{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
body[data-faq="accordion-single"] [class$="-faq__item"]{border-radius:0;border-left:3px solid var(--accent);border-right:0;border-top:0;background:transparent}
body[data-faq="accordion-single"] [class$="-faq__item"]:first-child{border-top:1px solid var(--line)}
body[data-faq="accordion-single"] [class$="-faq__item"]{border-bottom:1px solid var(--line)}
@media (max-width:768px){body[data-faq="two-col"] [class$="-faq__list"]{grid-template-columns:1fr}}

/* Desktop grid columns: 2/3/4 fixed */
@media (min-width:769px){
  body[data-cols="2"] [class$="-grid"]{grid-template-columns:repeat(2,1fr);max-width:820px;margin:0 auto}
  body[data-cols="3"] [class$="-grid"]{grid-template-columns:repeat(3,1fr)}
  body[data-cols="4"] [class$="-grid"]{grid-template-columns:repeat(4,1fr)}
  body[data-cols="2"] [class$="-card__img"]{aspect-ratio:4/5}
}

/* Hover effects on cards */
body[data-hover-fx="lift"] [class$="-card"]:hover{transform:translateY(-6px)}
body[data-hover-fx="scale"] [class$="-card"]:hover{transform:scale(1.03)}
body[data-hover-fx="glow"] [class$="-card"]:hover{box-shadow:0 0 0 2px var(--accent),var(--shadow)}
body[data-hover-fx="border"] [class$="-card"]:hover{outline:2px solid var(--accent);outline-offset:-2px}
body[data-hover-fx="none"] [class$="-card"]:hover{transform:none}
body[data-hover-fx="none"] [class$="-card"]:hover [class$="-card__img"]{transform:none}

/* Badge shapes */
body[data-badge="square"] [class$="-badge"]{border-radius:var(--radius-s)}
body[data-badge="outline"] [class$="-badge"]{background:transparent;border:1.5px solid var(--accent);color:var(--accent)}
body[data-badge="sticker"] [class$="-badge"]{border-radius:3px;padding:3px 8px;transform:rotate(-4deg);box-shadow:0 2px 6px rgba(0,0,0,.15)}

/* Stars color */
body[data-stars="accent"] [class$="-stars"]{color:var(--accent)}
body[data-stars="orange"] [class$="-stars"]{color:#f97316}
body[data-stars="amber"] [class$="-stars"]{color:#d97706}

/* CTA shapes */
body[data-cta="sharp"] [class$="-cta"],body[data-cta="sharp"] [class$="-pd__cta"]{border-radius:0}
body[data-cta="slight"] [class$="-cta"],body[data-cta="slight"] [class$="-pd__cta"]{border-radius:var(--radius-s)}
body[data-cta="pill"] [class$="-cta"],body[data-cta="pill"] [class$="-pd__cta"]{border-radius:999px}
body[data-cta="stepped"] [class$="-cta"]{clip-path:polygon(4% 0,96% 0,100% 50%,96% 100%,4% 100%,0 50%)}

/* Shine fx */
body[data-shine="off"] [class$="-cta"]::after{display:none}

/* Section dividers */
body[data-divider="line"] [class$="-h2"]::before,body[data-divider="line"] h2::before{content:"";display:block;width:48px;height:2px;background:var(--line);margin:0 0 .5em}
body[data-divider="accent-line"] [class$="-h2"],body[data-divider="accent-line"] h2{border-left:3px solid var(--accent);padding-left:.85rem}
body[data-divider="space"] section{padding-top:28px;padding-bottom:28px}

/* Card borders */
body[data-cardb="subtle"] [class$="-card"]{border:1px solid var(--line);box-shadow:none}
body[data-cardb="accent"] [class$="-card"]{border:1px solid var(--accent);box-shadow:none}
body[data-cardb="shadow-only"] [class$="-card"]{border:0}
body[data-cardb="none"] [class$="-card"]{border:0;box-shadow:none;background:transparent}

/* Footer lang switcher */
[class$="-ft__lang"]{display:flex;justify-content:center;padding:14px 0 0;border-top:1px solid var(--line);margin-top:14px}

/* Hero variants */
body[data-hero="left"] [class$="-hero"]{text-align:left}
body[data-hero="left"] [class$="-summary"]{margin:0}
body[data-hero="boxed"] [class$="-hero"]{padding:36px 0}
body[data-hero="boxed"] [class$="-hero"] [class$="-wrap"]{background:var(--surface);padding:40px 32px;border-radius:var(--radius-l);border:1px solid var(--line)}
body[data-hero="boxed"] [class$="-h1"]{margin:0 0 .4em}

@media (max-width:768px){
  body[data-header="transparent"] [class$="-hero"]{padding-top:70px}
  body[data-hero="boxed"] [class$="-hero"] [class$="-wrap"]{padding:28px 20px}
}
