/* Retouches de la V3 : les composants, typographies et contenus d'origine restent en place. */
:root {
  --black:#0c0c0e; --black-soft:#151516; --grey-dark:#202022; --grey-text:#c0bec4;
  --purple-deep:#242127; --purple:#795699; --purple-bright:#8d68ac; --purple-light:#b29ac8;
  --v-bg:#101012; --v-panel:#1a1a1d; --v-muted:#b9b6bf; --v-accent:#b29ac8; --v-action:#795699;
}
html {scroll-padding-top:90px}
body {overflow-x:visible}
img {height:auto}
button,input,select,textarea {font:inherit}
button,a,input,select {touch-action:manipulation}
input,select,textarea {min-width:0;max-width:100%}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible {outline:2px solid #bba2d0;outline-offset:3px}
.btn {white-space:normal;text-align:center;line-height:1.45;min-height:44px}
.btn-purple {background:#795699;box-shadow:0 4px 14px #0003}
.btn-purple:hover {background:#8a64aa;box-shadow:0 6px 18px #0004}
.btn-black {background:#1b1b1e}
.services {background:linear-gradient(180deg,#101012,#232225);border-bottom:1px solid #84708d35}
.faq {background:linear-gradient(180deg,#121214,#222124)}
.marquee-strip {background:#252228;border-block:1px solid #a08ab22a}
.catalog-hero,.configurator-promo {background:linear-gradient(140deg,#1c1b1f,#101012)}
.carousel-card.value {background:linear-gradient(160deg,#29262e,#131315)}
.stat-number {background:linear-gradient(135deg,#bdaacb,#fff);background-clip:text;-webkit-background-clip:text}
.chip.active {background:#302737;border-color:#8c709f;color:#f7f3fb}
.compat-badge {background:#352b40}
.wheel-category-tile {background:#29252e!important;border-color:#806b92!important}
.wheel-shop-hero .btn-purple {background:#795699}
.v-button {background:#795699;white-space:normal;text-align:center}
.v-button:hover {background:#8a64aa}
.v-last-call {background:radial-gradient(ellipse at 50% 100%,#76617d19,transparent 65%),#111113}
.v-card-label {background:#222026e8;border-color:#ac93c14d}
.v-material-section {background:#efeeee}
.v-material-content h2 em {color:#827589}
.v-nav {background-color:transparent}
.v-announcement {background:#19181b}
/* En-têtes existants : pas de nouveau logo ni de nouvelle navigation. */
.header-inner {gap:20px}
.header-actions {gap:14px;flex-shrink:0}
.header-actions>.icon-btn {display:none}
.cart-link {width:44px;height:44px;align-items:center;justify-content:center}
.header-actions .cart-link .icon-btn {display:block!important}
.cart-badge {top:1px;right:1px;min-width:17px;width:auto;padding-inline:4px}
nav.main-nav .dropdown {display:block}
nav.main-nav>ul>li:focus-within .dropdown {visibility:visible;opacity:1}
nav.main-nav .dropdown a {min-height:44px;display:flex;align-items:center}
.mobile-nav-overlay {visibility:hidden;opacity:0;pointer-events:none;transform:none;transition:opacity .2s,visibility .2s;overflow-y:auto;overscroll-behavior:contain;max-height:100dvh;padding-bottom:calc(28px + env(safe-area-inset-bottom,0px))}
.mobile-nav-overlay.open {visibility:visible;opacity:1;pointer-events:auto;transform:none}
.mobile-nav-close,.menu-toggle {min-width:44px;min-height:44px}
.mobile-nav-overlay .cta-mobile {padding-top:24px}
.mobile-nav-overlay .sub-menu a {display:block;min-height:44px}
.mobile-nav-overlay .btn {font-size:13px;padding-inline:18px}
/* Seul le héros d'accueil est remplacé, à la demande du propriétaire. */
.hero.hero-responsive {display:block;min-height:0;height:auto;aspect-ratio:1672 / 941;padding:0;overflow:hidden;background:#0c0c0e}
.hero.hero-responsive:before {display:none}
.hero-responsive picture {display:block}
.hero-responsive img {display:block;position:static;width:100%;height:auto}
.hero-responsive .hero-cta {position:absolute;left:4.2%;top:58%;margin:0;justify-content:flex-start}
.hero-responsive .hero-cta .btn {display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:clamp(11px,1.05vw,16px);line-height:1.35;padding:13px 22px;min-height:44px;background:#ededee;color:#19171c;border:1px solid #d6c9e0;box-shadow:0 4px 18px #0003}
.hero-responsive .hero-cta .btn svg {flex-shrink:0}
.hero-responsive .hero-cta .btn:hover {background:#fff;border-color:#b29ac8}
@media(min-width:601px) and (max-width:900px) {
  .hero-responsive .hero-cta .btn {gap:7px;padding:10px 12px;font-size:11px}
}
.ns-visually-hidden {position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
/* Visuels Instagram : image entière et une seule cible accessible pour image + bouton. */
.instagram-banner {background:#0c0c0e}
.instagram-banner-link {position:relative;display:block;color:inherit;text-decoration:none}
.instagram-banner picture {display:block}
.instagram-banner img {display:block;width:100%;height:auto}
.instagram-banner-cta {position:absolute;left:6%;bottom:7%;display:flex;justify-content:flex-start}
.instagram-banner-button {display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 24px;border:1px solid #c9b6d7;border-radius:999px;background:#f3f1f5;color:#19171c;font-size:clamp(13px,1vw,16px);font-weight:600;line-height:1.4;box-shadow:0 4px 20px #0005}
.instagram-banner-button svg {flex-shrink:0}
.instagram-banner-link:hover .instagram-banner-button {background:#fff;border-color:#b29ac8}
.instagram-banner-link:focus-visible {outline:3px solid #bba2d0;outline-offset:-3px}
.instagram-banner-link:focus-visible .instagram-banner-button {outline:3px solid #bba2d0;outline-offset:4px}
@media(max-width:600px) {
  .instagram-banner-cta {position:static;justify-content:center;padding:14px 18px 20px}
  .instagram-banner-button {width:100%;max-width:420px;font-size:14px;padding:12px 16px}
}
/* Cartes identiques, mais hauteurs et actions alignées. */
.service-card {display:flex;flex-direction:column;min-width:0}
.service-card>.btn {align-self:center;margin-top:auto}
.service-card>a:first-child {display:block}
.product-grid,.services-grid {grid-template-columns:repeat(3,minmax(0,1fr))}
.product-card {display:flex;flex-direction:column;min-width:0}
.product-card>.btn {margin-top:auto}
.product-card h3,.product-card p,.service-card h3 {overflow-wrap:anywhere}
.product-card .price {padding-top:4px}
.product-card .img-placeholder {flex-shrink:0}
.category-tiles {grid-template-columns:repeat(4,minmax(0,1fr))}
.category-tile {min-width:0;font-family:inherit}
.boutique-image {min-width:0}
.boutique-image img {max-height:600px}
.wheel-shop-photo {max-width:none}
.reveal {opacity:1;transform:none}
.faq-item.open .faq-answer {max-height:none!important}
.account-card input {font-size:16px;min-height:48px}
.account-card,.account-header-row,.cart-item-info {min-width:0}
.account-header-row h1,.cart-item-details {overflow-wrap:anywhere}
.account-section-wide>.container {width:100%}
.vin-followup input {font-size:16px!important}
/* Sélection et panier V3 : on garde les cartes et les titres. */
.c-selection-page,.c-cart-page {background:#101012}
.c-selection-page .v-header {background:#101012f5}
.c-selection-page .v-brand-card,.c-model-card {background:#1b1b1e}
.c-help {background:#201e23;border-color:#a68bbb}
.c-progress li[aria-current]:after {background:#a68bbb}
.c-selection-page .v-card-action>span:last-child,.c-model-action b {background:#b29ac8}
.c-cart-item {background:#1b1b1e}
.c-cart-summary {background:#211f24;border-color:#685971}
.c-cart-summary .v-button {background:#795699;color:#fff}
.c-cart-install {color:#cec3d8}
.c-cart-placeholder {background:radial-gradient(ellipse,#2d2931,#151517);color:#b29ac8}
.c-cart-info h2 {overflow-wrap:normal}
.c-cart-summary .c-cart-error {padding:12px;font-size:12px}
/* Même configurateur continu, mêmes options et même moteur de rendu. */
.ns-configurateur {--purple:#ac88c5;--purple2:#795699;background:#101012}
.ns-configurateur .config {background:#151517;scrollbar-color:#716477 #151517}
.ns-configurateur .preview {background:radial-gradient(ellipse at 50% 50%,#29252e50,transparent 68%),#0d0d10}
.ns-configurateur .mark b {background:linear-gradient(90deg,#ac8fc3,#d3cbdc);background-clip:text;-webkit-background-clip:text}
.ns-configurateur .option {background:#202023}
.ns-configurateur .option.active {border-color:#b29ac8;box-shadow:0 0 0 1px #b29ac8}
.ns-configurateur .option-price {color:#c3b5ce}
.ns-configurateur .price-card {background:#222025;border-color:#685a72}
.ns-configurateur .atelier-primary,.ns-configurateur .interior-primary {background:#795699;border-color:#9677b0;color:#fff}
.ns-configurateur .atelier-primary:hover,.ns-configurateur .interior-primary:hover:not(:disabled) {background:#8a64aa}
.ns-configurateur .atelier-final {background:#111113}
.ns-configurateur .atelier-order {background:#1c1b1f}
.ns-configurateur .atelier-install {background:#242128;border-color:#75637e}
.ns-configurateur .atelier-install:has(input:checked) {background:#2d2733;border-color:#b29ac8}
.ns-configurateur .atelier-install b {color:#e3dce9}
.ns-configurateur .atelier-order input:not([type=checkbox]),.ns-configurateur .atelier-order select {background:#151417;border-color:#62566b}
.ns-configurateur .interior-dialog {background:#151418}
.ns-configurateur .interior-empty {background:#1b191f}
@media(min-width:1101px) {
  nav.main-nav {position:static;transform:none;margin-inline:auto}
  nav.main-nav>ul {gap:24px}
  .header-inner {max-width:1500px;margin:auto}
}
@media(max-width:1100px) {
  .ns-home nav.main-nav,.ns-shop nav.main-nav {display:none}
  .ns-home .menu-toggle,.ns-shop .menu-toggle {display:block}
}
@media(max-width:900px) {.product-grid {grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:880px) {
  .ns-configurateur .preview {padding:5px 0 50px;gap:0;background:#101012;box-shadow:0 5px 18px #0005}
  .ns-configurateur .preview .canvas-wrap {width:clamp(145px,24svh,220px);max-width:60vw}
  .ns-configurateur .preview canvas {transform:none}
  .ns-configurateur .preview .visual-price {left:16px;bottom:10px;gap:7px}
  .ns-configurateur .preview .visual-price strong {font-size:26px}
  .ns-configurateur .preview .visual-price span {font-size:10px}
  .ns-configurateur .expand-preview {right:16px;bottom:6px;min-height:44px;font-size:11px;padding:9px 12px;background:#242128}
  .ns-configurateur .config {padding:20px 16px 28px;min-width:0}
  .ns-configurateur .config .brand {margin-bottom:8px}
  .ns-configurateur .config-title {font-size:30px;margin-block:10px 13px}
  .ns-configurateur .intro {font-size:12px;line-height:1.6;margin-bottom:18px}
  .ns-configurateur .back-model {font-size:12px;margin-bottom:8px}
  .ns-configurateur .config-step {padding:18px 0;scroll-margin-top:290px}
  .ns-configurateur .step-kicker {font-size:9px;letter-spacing:1.1px}
  .ns-configurateur .step-title {font-size:21px}
  .ns-configurateur .step-copy {font-size:12px;line-height:1.5}
  .ns-configurateur .option img {height:66px;aspect-ratio:auto;object-fit:cover}
  .ns-configurateur .config-step:first-child .option img {height:92px;object-fit:contain;aspect-ratio:auto}
  .ns-configurateur .option strong {font-size:12px}
  .ns-configurateur .option-price {font-size:10px}
  .ns-configurateur .stitch-option img {display:none}
  .ns-configurateur .stitch-option {min-height:46px;display:flex;align-items:center;padding:10px 7px}
  .ns-configurateur .stitch-label strong,.ns-configurateur .marker-color strong {font-size:11px}
  .ns-configurateur .paddle-option img {object-fit:contain;height:80px}
  .ns-configurateur .shiftled-option img {height:76px}
  .ns-configurateur .atelier-final-grid {width:calc(100% - 32px);padding-top:24px}
  .ns-configurateur .atelier-reveal h2 {font-size:30px;letter-spacing:-1px;margin-bottom:18px}
  .ns-configurateur .atelier-reveal img {width:min(100%,280px);margin:auto}
  .ns-configurateur .atelier-order {margin-top:24px;padding:22px 18px}
  .ns-configurateur .atelier-order h2 {font-size:27px}
  .ns-configurateur .atelier-fields {gap:15px 12px;margin-top:20px}
  .ns-configurateur .atelier-install {flex-wrap:nowrap;padding:15px 12px;gap:9px}
  .ns-configurateur .atelier-install b {margin:0;font-size:14px}
  .ns-configurateur .atelier-install strong {font-size:12px}
  .ns-configurateur .atelier-preview-finish {display:none}
}
@media(max-width:760px) {
  .container {padding-inline:18px}
  .header-inner {padding:9px 16px;gap:12px;min-height:64px}
  .header-actions {gap:6px}
  .header-actions>.btn {font-size:11px!important;padding:10px 12px!important;display:flex;align-items:center}
  .logo {font-size:21px}
  .mobile-nav-overlay {padding:72px 24px 28px}
  .mobile-nav-overlay>ul>li>a,.mobile-nav-overlay>ul>li>span {font-size:21px;padding-block:11px}
  .announcement-bar {padding:7px 0}
  .announcement-bar .marquee-track span {font-size:10px}
  .services {padding:36px 18px 40px}
  .services-title {font-size:25px;line-height:1.3;margin-bottom:12px}
  .services-subtitle {font-size:13px;margin-bottom:22px}
  .services-swipe-hint {font-size:11px;margin:0 0 17px}
  .services-grid {display:flex;gap:14px;padding:0 18px 8px;margin-inline:-18px}
  .service-card {flex:0 0 min(72vw,300px);scroll-snap-align:start}
  .service-card img {aspect-ratio:4/3;border-radius:14px;margin-bottom:15px}
  .service-card h3 {font-size:18px;margin-bottom:9px}
  .service-card p {font-size:12px;line-height:1.65;padding:0;margin-bottom:14px}
  .service-card .btn {font-size:12px;padding:12px 20px}
  .trust-badges {padding:24px 18px}
  .trust-badges-inner {gap:20px 14px}
  .trust-badge {font-size:11px;gap:8px}
  .trust-badge svg {width:24px;height:24px}
  .boutique-banner {min-height:0}
  .boutique-image {padding:0;flex:0 0 auto}
  .boutique-image img {max-height:255px;width:100%;object-fit:contain}
  .boutique-content {padding:24px 20px 32px;flex:0 0 auto}
  .boutique-content h2 {font-size:27px;margin-bottom:12px}
  .boutique-content p {font-size:13px;margin-bottom:20px}
  .boutique-content .btn {padding:12px 24px;font-size:12px}
  .marquee-strip {padding:12px 0}
  .marquee-strip .marquee-track span {font-size:12px}
  .hero-secondary {min-height:290px;padding:42px 20px}
  .hero-secondary-content h2 {font-size:27px;line-height:1.25;margin-bottom:20px}
  .hero-secondary-content .eyebrow {font-size:12px}
  .hero-secondary-content .btn {font-size:12px;padding:13px 22px}
  .stats {padding:32px 18px}
  .stats-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
  .stat-number {font-size:29px}
  .stat-label {font-size:11px;line-height:1.5;margin:10px 0 7px}
  .stat-sub {font-size:10px;line-height:1.5}
  .before-after {padding:30px 18px 35px}
  .faq,.testimonials,.about {padding:36px 18px}
  .faq .container {padding:0}
  .faq h2,.testimonials h2,.about h2 {font-size:26px;line-height:1.25}
  .faq-intro,.faq-hours-top,.faq-hours {font-size:12px}
  .faq-hours-top {margin-bottom:22px}
  .faq-question {padding:17px 18px;font:600 13px/1.55 var(--font-body)}
  .faq-answer {padding-inline:18px;font-size:12px;line-height:1.7}
  .testimonials h2 {margin-bottom:18px}
  .verified-badge {margin:0 0 23px;font-size:11px}
  .carousel-track {gap:14px;padding-bottom:10px}
  .carousel-card {flex-basis:min(76vw,300px);padding:22px}
  .carousel-card p.quote {font-size:12px}
  .carousel-card .headline {font-size:13px}
  .carousel-dots {margin-top:12px;gap:1px}
  .carousel-dots button {width:30px;height:32px;border-radius:0;background:transparent;position:relative}
  .carousel-dots button:after {content:'';position:absolute;width:7px;height:7px;left:12px;top:12px;border-radius:50%;background:#ffffff50}
  .carousel-dots button.active {background:transparent}
  .carousel-dots button.active:after {background:#b29ac8}
  .about-grid {grid-template-columns:1fr;gap:25px}
  .about p {font-size:13px;line-height:1.7}
  .about-list a {font-size:12px;min-height:44px}
  .newsletter {padding:30px 18px}
  .newsletter h2 {font-size:19px;margin-bottom:20px}
  .newsletter-form {flex-wrap:nowrap;gap:8px}
  .newsletter-form input {min-width:0;width:100%;font-size:16px;padding:12px 15px}
  .newsletter-form button {padding:12px 16px;font-size:12px}
  footer.site-footer {padding:28px 18px}
  .payment-icons {gap:6px;margin-block:14px}
  .payment-icons span {font-size:9px;padding:5px 7px}
  /* Boutique : héro, catégories et produits d'origine, simplement plus compacts. */
  .boutique-hero.wheel-shop-hero {min-height:0;padding:210px 0 30px}
  .wheel-shop-photo {height:300px;object-position:85% center}
  .wheel-shop-hero:before {background:linear-gradient(0deg,#08090d 4%,#08090d 35%,transparent 79%)}
  .wheel-shop-hero h1 {font-size:34px;letter-spacing:-1.4px;margin:13px 0}
  .wheel-shop-hero .catalog-sub {font-size:12px;line-height:1.7}
  .wheel-shop-hero .boutique-hero-cta {flex-direction:row;align-items:stretch;gap:9px;margin-top:20px}
  .wheel-shop-hero .btn {flex:1;padding:12px 13px;font-size:11px;min-height:44px}
  .wheel-shop-note {font-size:10px;margin-top:16px}
  .category-showcase {padding:26px 18px}
  .category-showcase>.container,.vehicle-selector>.container,.category-filters>.container,.product-section>.container {padding:0}
  .section-title-center {font-size:20px;margin-bottom:18px}
  .category-tiles {grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .category-tile {flex-direction:row;justify-content:flex-start;text-align:left;padding:12px 11px;gap:9px;font-size:11px;border-radius:12px;min-height:60px}
  .category-tile .cat-icon {font-size:21px;flex-shrink:0}
  .vehicle-selector {padding:22px 18px}
  .vs-label {font-size:12px;line-height:1.6;margin-bottom:12px}
  .vs-row {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .vs-row select {min-width:0;width:100%;font-size:16px;padding:12px 10px;border-radius:12px;min-height:46px}
  .vs-row .btn {grid-column:1/-1;justify-self:end;width:auto;padding:8px 17px;font-size:11px;min-height:44px}
  .category-filters {padding:15px 18px}
  .chip-row {gap:7px}
  .chip {padding:11px 14px;font-size:11px;min-height:44px}
  .product-section {padding:25px 18px 40px}
  .results-count {font-size:12px;margin-bottom:18px}
  .product-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .product-card {padding:10px;border-radius:13px}
  .product-card img,.product-card .img-placeholder {aspect-ratio:1.15;border-radius:9px;margin-bottom:12px}
  .product-card .img-placeholder {font-size:11px}
  .product-card h3 {font-size:13px;line-height:1.4;margin-bottom:8px}
  .product-card p {font-size:11px;line-height:1.6;margin-bottom:10px}
  .product-card .price {font-size:12px}
  .product-card .btn {font-size:10px;padding:10px 6px;min-height:44px}
  .compat-badge {position:static;align-self:flex-start;font-size:9px;padding:4px 7px;margin-bottom:9px}
  .configurator-promo {padding:20px 16px;gap:16px;margin-bottom:22px;align-items:stretch}
  .configurator-promo h3 {font-size:17px}
  .configurator-promo p {font-size:12px}
  .configurator-promo .btn {font-size:12px}
  /* Collection de volants : on garde le héros photographique et toutes les rubriques. */
  .v-hero {min-height:0;height:auto}
  .v-hero-image {height:325px;object-position:85% center}
  .v-hero-content {padding-top:250px;padding-bottom:65px}
  .v-hero-shade {background:linear-gradient(0deg,#08090c 6%,#08090c 40%,transparent 78%),linear-gradient(90deg,#08090c30,transparent)}
  .v-hero h1 {font-size:38px;letter-spacing:-1.8px;margin-top:13px}
  .v-hero-copy {font-size:13px;line-height:1.6;margin-top:16px}
  .v-hero-copy span {font-size:12px}
  .v-hero-actions {margin-top:20px;gap:13px}
  .v-hero-actions .v-button {min-height:46px;padding:13px 16px}
  .v-price {margin-top:17px}
  .v-hero-bottom {bottom:17px}
  .v-section {padding-block:40px}
  .v-section-heading h2,.v-faq-grid h2 {font-size:30px}
  .v-section-heading {margin-bottom:24px}
  .v-benefits>.v-container {padding-block:21px;gap:19px 12px}
  .v-brand-grid,.c-selection-page .v-brand-grid {grid-template-columns:repeat(2,minmax(0,1fr));max-width:none;gap:13px}
  .v-brand-visual,.v-selection .v-brand-visual {aspect-ratio:1}
  .v-brand-info,.c-selection-page .v-brand-info {padding:15px 12px 0}
  .v-brand-info h3 {font-size:18px;line-height:1.2;margin-top:9px;letter-spacing:-.3px}
  .v-brand-info>p:not(.v-brand-number) {font-size:11px;line-height:1.6;margin-top:9px}
  .v-brand-number {font-size:8px;letter-spacing:.6px}
  .v-card-action,.c-selection-page .v-card-action {font-size:10px;gap:7px;margin-top:14px;padding-block:12px;min-height:48px}
  .v-card-label,.c-selection-page .v-card-label {font-size:7px;letter-spacing:.2px;top:8px;left:7px;right:7px;width:fit-content;max-width:calc(100% - 14px);padding:4px 5px}
  .v-image-note {font-size:8px;bottom:7px;right:7px}
  .v-material-section {padding-block:35px}
  .v-material-grid {gap:23px}
  .v-material-visual {aspect-ratio:1.6;max-height:260px}
  .v-material-content h2 {font-size:36px;margin-top:13px}
  .v-material-intro {font-size:13px;margin-top:15px}
  .v-selector-label {margin-top:22px}
  .v-swatches {justify-content:space-between;gap:12px;max-width:340px}
  .v-material-description {min-height:0;margin-top:23px}
  .v-steps {gap:18px;padding-top:23px}
  .v-steps article {padding-bottom:18px}
  .v-steps h3 {font-size:21px}
  .v-steps p {font-size:12px;line-height:1.7}
  .v-faq-section {padding-block:38px}
  .v-faq-list summary {padding-block:17px}
  .v-last-call {padding-block:40px}
  .v-last-call h2 {font-size:36px}
  .v-header-inner {height:64px;gap:12px}
  .v-mobile-cta {padding-top:9px;padding-bottom:calc(9px + env(safe-area-inset-bottom,0px))}
  .v-footer {padding-bottom:calc(95px + env(safe-area-inset-bottom,0px))}
  .v-nav {background:#1c1a20}
  .c-selection-page .v-selection {padding-block:20px 40px}
  .c-progress {margin:9px 0 22px;gap:9px}
  .c-progress li {font-size:9px}
  .c-heading {margin-bottom:22px}
  .c-selection-page .c-heading h1 {font-size:33px;letter-spacing:-1.3px;margin-top:12px}
  .c-selection-page .v-selection-intro {font-size:12px;margin-top:14px}
  .c-model-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;max-width:none}
  .c-model-info {padding:15px 12px 0}
  .c-model-info h2 {font-size:19px;line-height:1.2;letter-spacing:-.4px;margin-block:9px}
  .c-model-info p {font-size:11px;line-height:1.6}
  .c-model-action {gap:7px;font-size:11px;padding-block:12px;margin-top:14px}
  .c-model-action b,.c-selection-page .v-card-action>span:last-child {width:24px;height:24px;flex-shrink:0;font-size:16px}
  .c-help {padding:18px;gap:10px;margin-top:24px}
  .c-help strong {font-size:14px}
  .c-help p {font-size:12px}
  .c-selection-page .v-footer,.c-cart-page .v-footer {padding-bottom:28px}
  .c-cart-main h1 {font-size:36px;letter-spacing:-1.5px;margin-block:13px 18px}
  .c-cart-intro {font-size:12px;margin-bottom:22px}
  .c-cart-item {grid-template-columns:100px minmax(0,1fr);border-radius:9px;margin-bottom:12px;padding:12px;gap:12px}
  .c-cart-visual {width:100%;max-width:none;align-self:start;border-radius:6px;overflow:hidden}
  .c-cart-placeholder {min-height:100px;font-size:11px}
  .c-cart-info {padding:0}
  .c-cart-kicker {font-size:8px;letter-spacing:.5px}
  .c-cart-info h2 {font-size:16px;line-height:1.35;margin:7px 0;overflow-wrap:anywhere}
  .c-cart-vehicle {font-size:11px}
  .c-cart-install {font-size:10px;margin-top:8px}
  .c-cart-item-bottom {gap:9px;padding-top:7px;flex-wrap:wrap}
  .c-cart-price {font-size:20px}
  .c-cart-remove {font-size:10px;min-height:44px}
  .c-cart-summary {padding:21px 18px}
  .c-cart-summary h2 {font-size:23px;margin-bottom:20px}
  .c-cart-summary .v-button {font-size:12px;min-height:48px}
  .c-cart-main .v-back {font-size:11px;margin-bottom:15px}
  .account-section {padding:28px 18px;min-height:0}
  .account-card {padding:27px 20px;border-radius:16px}
  .account-card h1 {font-size:25px}
  .account-sub {font-size:13px;line-height:1.7;margin-bottom:22px}
  .account-card label {font-size:12px}
  .account-card .btn {font-size:13px;padding-inline:15px}
  .account-switch {font-size:12px}
  .account-header-row {margin-bottom:27px}
  .account-header-row h1 {font-size:25px}
  .account-header-row .btn {font-size:12px}
  .account-section-wide {padding-inline:0}
  .ns-account .header-inner {flex-wrap:wrap;gap:8px}
  .ns-account nav.main-nav {display:block;position:static;transform:none;margin-left:auto}
  .ns-account nav.main-nav>ul {gap:12px;flex-wrap:wrap}
  .ns-account nav.main-nav a {font-size:10px;text-transform:none;letter-spacing:0;min-height:44px;display:flex;align-items:center}
  .ns-account .header-actions {display:none}
  .ns-account .cart-item {padding:17px 15px;gap:12px}
  .ns-account .cart-item h3 {font-size:15px}
  .ns-account .cart-item-details {font-size:12px}
}
@media(max-width:640px) {
  body {padding-bottom:0}
  .ns-home,.ns-shop {padding-bottom:calc(70px + env(safe-area-inset-bottom,0px))}
  .ns-home .whatsapp-float,.ns-shop .whatsapp-float {display:none}
  .mobile-sticky-cta {padding:9px 16px calc(9px + env(safe-area-inset-bottom,0px))}
  .mobile-sticky-cta .btn {padding:12px 20px;font-size:13px}
  .ns-account .whatsapp-float {position:static;margin:20px auto;width:46px;height:46px}
}
@media(max-width:600px) {
  .hero.hero-responsive {aspect-ratio:1 / 1;height:auto;max-height:none}
  .hero-responsive .hero-cta {top:31.5%;left:5.2%}
  .hero-responsive .hero-cta .btn {padding:10px 14px;gap:8px;font-size:clamp(11px,2.9vw,15px);min-height:44px}
}
@media(max-width:374px) {
  .hero.hero-responsive {aspect-ratio:auto}
  .hero-responsive .hero-cta {position:static;margin:0 16px;padding:0 0 16px}
  .hero-responsive .hero-cta .btn {width:100%;font-size:12px}
}
@media(max-width:360px) {
  .product-section,.category-showcase,.vehicle-selector,.category-filters {padding-inline:14px}
  .product-grid {gap:9px}
  .product-card {padding:8px}
  .product-card h3 {font-size:12px}
  .header-actions>.btn {padding-inline:9px!important;font-size:10px!important}
  .v-brand-info,.c-selection-page .v-brand-info,.c-model-info {padding-inline:10px}
  .v-brand-info h3,.c-model-info h2 {font-size:17px}
  .v-card-action,.c-selection-page .v-card-action {font-size:9px}
  .c-cart-item {grid-template-columns:82px minmax(0,1fr);padding:10px;gap:10px}
  .c-cart-placeholder {min-height:82px}
  .c-cart-info h2 {font-size:14px}
  .c-cart-price {font-size:18px}
  .ns-configurateur .atelier-install strong {font-size:11px}
  .ns-configurateur .atelier-final-header {gap:8px}
  .ns-configurateur .atelier-final-header>span {font-size:7px}
}
@media(max-width:880px) and (max-height:500px) {
  .ns-configurateur .preview {position:relative}
  .ns-configurateur .preview .canvas-wrap {width:160px}
}
@media(prefers-reduced-motion:reduce) {
  html {scroll-behavior:auto}
  .reveal,.marquee-track,.mobile-nav-overlay {animation:none;transition:none;transform:none}
  .mobile-nav-overlay:not(.open) {display:none}
}
