/*
Theme Name: Flynova Boutique
Description: Boutique monoproduit Flynova avec Elementor et WooCommerce.
Version: 1.1.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: flynova-boutique
*/
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(assets/fonts/dm-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(assets/fonts/dm-latin.woff2) format('woff2');
  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: 'Space Grotesk';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(assets/fonts/space-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(assets/fonts/space-latin.woff2) format('woff2');
  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 {
  --fnb-paper: #faf9fd;
  --fnb-white: #fff;
  --fnb-ink: #191428;
  --fnb-muted: #60596e;
  --fnb-line: #e8e4ee;
  --fnb-accent: #632edf;
  --fnb-accent-dark: #4e20bf;
  --fnb-soft: #f1eaff;
  --fnb-body: 'DM Sans', Arial, sans-serif;
  --fnb-title: 'Space Grotesk', 'DM Sans', Arial, sans-serif;
  --fnb-width: 1192px;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-padding-top: 22px; }
body { margin: 0; color: var(--fnb-ink); background: var(--fnb-paper); font: 400 16px/1.5 var(--fnb-body); }
a { color: var(--fnb-accent-dark); }
img { max-width: 100%; height: auto; }
button, select, input, textarea { font: inherit; }
button, summary { cursor: pointer; }
a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid #8e65f2; outline-offset: 4px; }
h1, h2, h3 { margin: 0; font-family: var(--fnb-title); line-height: 1.05; letter-spacing: -.045em; }
h2 { font-size: clamp(2rem, 4vw, 3.3rem); }
h3 { font-size: 1.45rem; }
p { margin: 0; }
[hidden] { display: none !important; }
.screen-reader-text, .fnb-skip:not(:focus) { clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); width: 1px; height: 1px; overflow: hidden; position: absolute !important; white-space: nowrap; }
.fnb-skip:focus { position: fixed; top: 8px; left: 8px; z-index: 60; padding: 10px; background: white; }
.fnb-container { width: min(var(--fnb-width), calc(100% - 80px)); margin-inline: auto; }
.fnb-header { background: #fff; border-bottom: 1px solid var(--fnb-line); }
.fnb-promo { display: flex; align-items: center; justify-content: center; gap: 9px; min-height: 36px; background: #201334; color: #fff; font-size: 13px; font-weight: 700; text-align: center; }
.fnb-promo svg, .fnb-promo span { color: #d1baff; }
.fnb-header-inner { min-height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.fnb-brand { display: inline-flex; align-items: center; gap: 8px; color: var(--fnb-ink); text-decoration: none; font: 700 28px/.95 var(--fnb-title); letter-spacing: -.085em; white-space: nowrap; }
.fnb-brand > span:first-child { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; color: #fff; background: var(--fnb-accent); }
.fnb-brand .fnb-brand-dot { margin-left: -7px; color: var(--fnb-accent); }
.fnb-header nav, .fnb-footer nav { display: flex; flex-wrap: wrap; gap: 29px; }
.fnb-header nav a, .fnb-footer nav a, .fnb-header-cart { color: var(--fnb-muted); text-decoration: none; font-size: 14px; font-weight: 700; }
.fnb-header a:hover, .fnb-footer a:hover { color: var(--fnb-accent); }
.fnb-header-cart { display: inline-flex; align-items: center; gap: 7px; min-height: 42px; }
.fnb-hero { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(0,1fr); align-items: start; gap: clamp(26px, 5vw, 73px); padding-block: 38px 53px; }
.fnb-gallery { min-width: 0; }
.fnb-stage { position: relative; isolation: isolate; overflow: hidden; display: grid; place-items: center; aspect-ratio: 1.17; border-radius: 24px; background: radial-gradient(ellipse at 52% 43%,#eee7ff 2%,#d8c5ff 56%,#ad8cf2 100%); }
.fnb-stage[data-color="rose"] { background: radial-gradient(ellipse at 52% 42%, #ffe7fa, #f7c6e6 59%, #e292c9); }
.fnb-stage[data-color="rouge"] { background: radial-gradient(ellipse at 52% 42%, #ffe9ec, #ffcacc 59%, #ed979e); }
.fnb-stage-label, .fnb-stage-bottom { position: absolute; z-index: 3; color: #311b57; font-size: 11px; font-weight: 800; letter-spacing: .09em; }
.fnb-stage-label { display: flex; align-items: center; gap: 7px; left: 20px; top: 19px; padding: 6px 11px; border-radius: 99px; background: #ffffffbf; }
.fnb-stage-bottom { right: 20px; bottom: 17px; text-transform: uppercase; }
.fnb-orbits { position: absolute; inset: 0; pointer-events: none; }
.fnb-orbits i { position: absolute; top: 51%; left: 50%; width: 91%; height: 44%; border: 1px solid #fff9; border-radius: 50%; transform: translate(-50%,-50%) rotate(-21deg); }
.fnb-orbits i:nth-child(2) { width: 87%; height: 48%; transform: translate(-50%,-50%) rotate(24deg); }
.fnb-orbits i:nth-child(3) { width: 54%; height: 76%; border-color: #fff6; transform: translate(-50%,-50%) rotate(46deg); }
.fnb-stage img { display: block; position: relative; width: 62%; height: auto; aspect-ratio: 1; object-fit: contain; filter: drop-shadow(0 29px 21px #1b104a55); user-select: none; }
.fnb-stage[data-kind="photo"] img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: none; }
.fnb-stage[data-kind="photo"] .fnb-stage-bottom { background: #201334e6; padding: 5px 9px; border-radius: 7px; color: #fff; }
.fnb-gallery-nav { display: grid; grid-template-columns: repeat(6, minmax(0,1fr)); gap: 8px; margin-top: 10px; }
.fnb-gallery-nav button { padding: 0; position: relative; overflow: hidden; display: flex; align-items: center; justify-content: center; border: 1px solid #e3d8f4; background: #f0e8fd; border-radius: 12px; aspect-ratio: 1.28; min-width: 0; }
.fnb-gallery-nav button[aria-pressed="true"] { border: 2px solid var(--fnb-accent); }
.fnb-gallery-nav button[data-photo="rose"] { background: #ffe7f6; }
.fnb-gallery-nav button[data-photo="rouge"] { background: #ffe8e9; }
.fnb-gallery-nav button img { width: 59%; height: auto; object-fit: contain; }
.fnb-gallery-nav button[data-kind="photo"] img { width: 100%; height: 100%; object-fit: cover; }
.fnb-product-copy { padding-top: 3px; min-width: 0; }
.fnb-eyebrow { display: flex; align-items: center; gap: 7px; margin-bottom: 12px; font: 700 .78rem/1.2 var(--fnb-body); text-transform: uppercase; letter-spacing: .14em; color: var(--fnb-accent-dark); }
.fnb-product-copy h1 { font-size: clamp(3.15rem, 5.7vw, 5.3rem); letter-spacing: -.087em; }
.fnb-product-copy h1 span { color: var(--fnb-accent); }
.fnb-lead { margin-top: 14px; max-width: 44ch; font-size: 1.06rem; color: var(--fnb-muted); }
.fnb-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 19px 0 22px; }
.fnb-chips > span { display: inline-flex; align-items: center; gap: 6px; padding: 6px 8px; border-radius: 7px; font-size: .75rem; font-weight: 800; color: #4f2999; background: #efe9fa; white-space: nowrap; }
.fnb-order { scroll-margin-top: 10px; }
.fnb-order fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.fnb-order legend { padding: 0; margin-bottom: 8px; font-size: .91rem; font-weight: 800; }
.fnb-offers { display: grid; gap: 7px; }
.fnb-offer { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; min-height: 50px; background: #fff; border: 1px solid var(--fnb-line); padding: 8px 11px; border-radius: 11px; cursor: pointer; }
.fnb-offer:has(:checked) { border-color: var(--fnb-accent); background: #f0e8ff; box-shadow: inset 0 0 0 1px var(--fnb-accent); }
.fnb-offer:has(:disabled), .fnb-swatch:has(:disabled) { opacity: .54; cursor: default; }
.fnb-offer input { margin: 0; width: 16px; height: 16px; accent-color: var(--fnb-accent); }
.fnb-offer span, .fnb-offer strong { font-weight: 800; font-size: .92rem; }
.fnb-offer small { display: inline-block; margin-left: 4px; color: #4d2495; background: #e6d8ff; border-radius: 5px; padding: 2px 5px; font-size: .67rem; white-space: nowrap; }
.fnb-colors { margin-block: 13px 15px; display: grid; gap: 10px; }
.fnb-swatch-list { display: flex; flex-wrap: wrap; gap: 6px; }
.fnb-swatch { position: relative; cursor: pointer; }
.fnb-swatch input { position: absolute; inset: 0; opacity: 0; margin: 0; width: 100%; height: 100%; cursor: inherit; }
.fnb-swatch > span { display: flex; align-items: center; gap: 6px; min-height: 35px; border: 1px solid var(--fnb-line); border-radius: 8px; background: white; padding: 4px 9px; font-size: .83rem; font-weight: 700; }
.fnb-swatch input:checked + span { border-color: #7440dd; background: #f5efff; }
.fnb-swatch input:focus-visible + span { outline: 2px solid var(--fnb-accent); outline-offset: 2px; }
.fnb-swatch i { display: inline-block; width: 13px; height: 13px; border-radius: 50%; background: #3d60e4; }
.fnb-swatch i[data-swatch="rose"] { background: #e05ba4; }
.fnb-swatch i[data-swatch="rouge"] { background: #d84449; }
.fnb-button, .woocommerce .button.alt, .woocommerce .button.checkout-button, .wc-block-components-button:not(.is-link).contained { display: inline-flex; justify-content: center; align-items: center; gap: 10px; min-height: 49px; padding: 9px 19px; border: 0; border-radius: 10px; background: var(--fnb-accent); color: #fff; font-size: .93rem; font-weight: 800; text-decoration: none; cursor: pointer; }
.fnb-button:hover, .woocommerce .button.alt:hover, .woocommerce .button.checkout-button:hover { background: var(--fnb-accent-dark); color: #fff; }
.fnb-button:disabled { background: #dfd9e9; color: #40374c; cursor: default; }
.fnb-button-main { position: relative; width: 100%; min-height: 53px; }
.fnb-button-main svg:last-child { position: absolute; right: 16px; }
.fnb-order-note { margin-top: 8px; display: flex; gap: 5px; justify-content: center; align-items: center; font-size: .78rem; color: var(--fnb-muted); }
.fnb-order-note svg { color: var(--fnb-accent); }
.fnb-sticky { position: fixed; left: max(12px, env(safe-area-inset-left)); right: max(12px, env(safe-area-inset-right)); bottom: max(12px, env(safe-area-inset-bottom)); z-index: 20; display: flex; align-items: center; justify-content: space-between; margin-inline: auto; gap: 14px; width: auto; max-width: 420px; background: #fff; border: 1px solid #e5dcee; border-radius: 15px; box-shadow: 0 6px 30px #21143836; padding: 8px 8px 8px 15px; }
.fnb-sticky > div { display: grid; line-height: 1.3; white-space: nowrap; }
.fnb-sticky > div span { font-size: .74rem; color: var(--fnb-muted); }
.fnb-sticky .fnb-button { min-height: 43px; padding-inline: 13px; }
.fnb-demo { padding-bottom: 54px; }
.fnb-demo-panel { display: grid; grid-template-columns: .85fr 1.15fr; align-items: stretch; border-radius: 22px; overflow: hidden; background: #211435; color: #fff; }
.fnb-demo-copy { padding: clamp(25px, 5vw, 61px); align-self: center; }
.fnb-demo-copy .fnb-eyebrow { color: #d6bcff; }
.fnb-demo-copy p:not(.fnb-eyebrow) { color: #e4d9f2; margin: 13px 0 21px; max-width: 37ch; }
.fnb-demo-panel img, .fnb-demo-panel video { display: block; width: 100%; height: 100%; max-height: 500px; object-fit: cover; min-width: 0; }
.fnb-demo-panel video { object-fit: contain; background: #130b20; }
.fnb-reviews, .fnb-faq { padding-block: 33px; border-top: 1px solid var(--fnb-line); }
.fnb-reviews h2, .fnb-faq h2 { margin-bottom: 17px; }
.fnb-muted { color: var(--fnb-muted); }
.fnb-rating-summary { display: grid; grid-template-columns: 1fr 2fr; gap: 18px; margin: 22px 0; }
.fnb-rating-summary > div:first-child { display: grid; place-content: center; gap: 3px; min-height: 145px; text-align: center; background: var(--fnb-soft); border-radius: 13px; }
.fnb-rating-summary strong { font: 700 2rem var(--fnb-title); }
.fnb-rating-bars > div { display: grid; grid-template-columns: 28px 1fr 34px; align-items: center; gap: 8px; font-size: .82rem; min-height: 28px; }
.fnb-rating-bars progress { width: 100%; height: 8px; appearance: none; accent-color: var(--fnb-accent); }
.fnb-rating-bars progress::-webkit-progress-bar { border-radius: 99px; background: #e5dbfb; }
.fnb-rating-bars progress::-webkit-progress-value { border-radius: 99px; background: var(--fnb-accent); }
.fnb-review { border-top: 1px solid var(--fnb-line); padding-block: 15px; }
.fnb-review header { display: flex; justify-content: space-between; gap: 10px; }
.fnb-review header time { display: block; color: var(--fnb-muted); font-size: .78rem; }
.fnb-review small { color: #4e247f; display: inline-flex; align-items: center; gap: 4px; margin-block: 4px; }
.fnb-stars { color: var(--fnb-accent); letter-spacing: .05em; white-space: nowrap; }
.fnb-review-pager { display: flex; gap: 16px; align-items: center; margin-block: 13px; }
.fnb-review-status { background: var(--fnb-soft); padding: 10px; margin-bottom: 13px; border-radius: 8px; }
.fnb-reviews details, .fnb-faq details { padding: 12px 0; border-bottom: 1px solid var(--fnb-line); }
.fnb-reviews details { margin-top: 12px; max-width: 640px; }
.fnb-reviews details summary, .fnb-faq details summary { display: flex; justify-content: space-between; align-items: center; gap: 12px; list-style: none; font-weight: 800; }
.fnb-reviews details summary::-webkit-details-marker, .fnb-faq details summary::-webkit-details-marker { display: none; }
.fnb-faq details[open] summary svg, .fnb-reviews details[open] summary svg { transform: rotate(45deg); }
.fnb-faq details p { margin-top: 9px; color: var(--fnb-muted); max-width: 67ch; }
.fnb-review-form form > p { margin-block: 8px; }
.fnb-review-form label { display: block; margin-bottom: 4px; font-weight: 700; }
.fnb-review-form input:not([type="submit"]), .fnb-review-form select, .fnb-review-form textarea, .fnb-inner-page .woocommerce form .form-row input.input-text, .fnb-inner-page .woocommerce form .form-row select, .fnb-inner-page .woocommerce form .form-row textarea { width: 100%; min-height: 45px; border: 1px solid #d6cde1; border-radius: 8px; background: #fff; color: var(--fnb-ink); padding: 9px 11px; }
.fnb-footer { margin-top: 30px; padding: 25px 0 88px; border-top: 1px solid var(--fnb-line); }
.fnb-footer-inner { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.fnb-footer-inner > span { color: var(--fnb-muted); font-size: .83rem; }
.fnb-inner-page { padding-block: 46px; min-height: 53vh; }
.fnb-inner-page > h1 { font-size: clamp(2.15rem, 4.5vw, 3.8rem); margin-bottom: 25px; }
.fnb-inner-page .woocommerce-checkout h3 { margin: 14px 0; }
.fnb-inner-page .woocommerce-checkout #customer_details .col-1 { width: 100%; float: none; }
.fnb-inner-page .woocommerce-checkout #customer_details .col-2:empty { display: none; }
.fnb-inner-page .woocommerce-checkout label { font-weight: 700; }
.fnb-inner-page .woocommerce-checkout form { max-width: 100%; }
.fnb-inner-page .woocommerce-checkout #payment { background: #f1ebf9; border-radius: 12px; }
body.woocommerce-checkout .fnb-inner-page { max-width: 840px; }
.fnb-elementor-section.e-con { padding: 0; }
.fnb-elementor-section .elementor-widget-shortcode { width: 100%; }

@media (max-width: 800px) {
  .fnb-container { width: calc(100% - 36px); }
  .fnb-hero { gap: 24px; }
  .fnb-stage { aspect-ratio: .98; }
  .fnb-offer { gap: 7px; }
  .fnb-offer small { margin-left: 1px; }
}
@media (max-width: 640px) {
  .fnb-container { width: calc(100% - 32px); }
  .fnb-promo { min-height: 31px; font-size: 12px; }
  .fnb-header-inner { min-height: 55px; }
  .fnb-header nav { display: none; }
  .fnb-brand { font-size: 25px; }
  .fnb-brand > span:first-child { width: 30px; height: 30px; }
  .fnb-brand > span:first-child svg { width: 22px; }
  .fnb-hero { grid-template-columns: 1fr; gap: 16px; padding-block: 16px 34px; }
  .fnb-stage { aspect-ratio: 1.27; border-radius: 16px; }
  .fnb-stage img { width: 57%; }
  .fnb-stage-label { left: 11px; top: 10px; font-size: 9px; padding: 4px 7px; }
  .fnb-stage-label svg { width: 14px; }
  .fnb-stage-bottom { right: 11px; bottom: 9px; font-size: 9px; }
  .fnb-gallery-nav { margin-top: 6px; gap: 5px; }
  .fnb-gallery-nav button { border-radius: 8px; aspect-ratio: 1.4; }
  .fnb-product-copy { padding-top: 0; }
  .fnb-product-copy h1 { font-size: clamp(2.5rem, 12vw, 4.5rem); }
  .fnb-product-copy .fnb-eyebrow { margin-bottom: 5px; }
  .fnb-lead { margin-top: 7px; font-size: .93rem; }
  .fnb-chips { margin-block: 10px 14px; }
  .fnb-chips > span { padding: 5px 6px; gap: 4px; }
  .fnb-demo { padding-bottom: 25px; }
  .fnb-demo-panel { grid-template-columns: 1fr; border-radius: 15px; }
  .fnb-demo-panel img { aspect-ratio: 1.65; }
  .fnb-footer-inner { align-items: flex-start; flex-direction: column; gap: 13px; }
  .fnb-footer nav { gap: 10px; }
  .fnb-inner-page { padding-block: 22px; }
}

/* Illustrated product details. The French labels remain selectable and accessible. */
.fnb-order-note { flex-wrap: wrap; gap: 4px 6px; }
.fnb-order-note strong { color: var(--fnb-accent-dark); }
.fnb-detail { display: grid; gap: clamp(26px, 5vw, 68px); padding-top: clamp(28px, 5vw, 66px); }
.fnb-detail-section > h2 { margin-bottom: clamp(15px, 2.6vw, 29px); }
.fnb-detail-section h2 { font-size: clamp(1.9rem, 3.9vw, 3.2rem); }
.fnb-detail-copy p { margin-top: 12px; max-width: 65ch; color: var(--fnb-muted); }
.fnb-detail-copy h3 { margin-top: 20px; }
.fnb-benefits { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.fnb-benefits article { padding: 22px; border: 1px solid var(--fnb-line); border-radius: 16px; background: var(--fnb-white); }
.fnb-benefits h3 { margin-top: 11px; font-size: 1.29rem; }
.fnb-benefits p { margin-top: 7px; color: var(--fnb-muted); font-size: .93rem; }
.fnb-benefit-icon { display: block; width: 52px; height: 52px; background-repeat: no-repeat; }
.fnb-benefit-chocs { aspect-ratio: 180 / 180; background-image: url('assets/illustrations/avantages.webp'); background-size: 772.22% 333.33%; background-position: 11.16% 7.62%; }
.fnb-benefit-protection { aspect-ratio: 180 / 180; background-image: url('assets/illustrations/avantages.webp'); background-size: 772.22% 333.33%; background-position: 45.29% 8.57%; }
.fnb-benefit-boomerang { aspect-ratio: 180 / 180; background-image: url('assets/illustrations/avantages.webp'); background-size: 772.22% 333.33%; background-position: 84.71% 7.14%; }
.fnb-benefit-baguette { aspect-ratio: 180 / 180; background-image: url('assets/illustrations/avantages.webp'); background-size: 772.22% 333.33%; background-position: 10.74% 71.19%; }
.fnb-benefit-batterie { aspect-ratio: 180 / 180; background-image: url('assets/illustrations/avantages.webp'); background-size: 772.22% 333.33%; background-position: 45.29% 71.19%; }
.fnb-benefit-lumieres { aspect-ratio: 180 / 180; background-image: url('assets/illustrations/avantages.webp'); background-size: 772.22% 333.33%; background-position: 84.71% 71.19%; }
.fnb-detail-split { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(20px, 5vw, 66px); align-items: center; }
.fnb-detail-split img, .fnb-exploded img { width: 100%; height: auto; display: block; border-radius: 17px; }
.fnb-detail-reverse > :last-child { grid-column: 1; grid-row: 1; }
.fnb-specs { display: grid; gap: 3px; margin: 14px 0; }
.fnb-specs > div { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; padding: 8px 12px; border-radius: 7px; background: var(--fnb-soft); }
.fnb-specs dd { margin: 0; color: var(--fnb-accent-dark); font-weight: 800; text-align: right; }
.fnb-charge-figure, .fnb-exploded, .fnb-kit figure { margin: 0; }
.fnb-charge-figure { position: relative; overflow: hidden; border-radius: 17px; }
.fnb-charge-figure img { width: 100%; height: auto; }
.fnb-charge-figure figcaption { position: absolute; left: 56%; top: 2%; width: 26%; height: 17%; padding: 2px; display: grid; place-items: center; background: #eeece6; font-weight: 800; font-size: clamp(.6rem, 1.55vw, 1.17rem); text-align: center; }
.fnb-construction { background: #211435; border-radius: 19px; color: #fff; padding: clamp(18px, 4vw, 44px); }
.fnb-construction .fnb-detail-copy p { color: #e5dcf2; }
.fnb-exploded { position: relative; margin-top: 20px; overflow: hidden; border-radius: 17px; background: #202020; }
.fnb-part { position: absolute; display: grid; align-content: center; min-height: 4.2%; padding: .35% .6%; color: #fff; font-size: clamp(.5rem, 1.55vw, 1.03rem); line-height: 1.05; }
.fnb-part-upper { left: 46.5%; top: 9.7%; width: 18.2%; background: #1b1b1b; }
.fnb-part-brace { left: 34%; top: 19%; width: 24.3%; background: #272727; }
.fnb-part-power { left: 18.3%; top: 29.3%; width: 31.6%; min-height: 6.9%; background: #303030; }
.fnb-part-propeller { left: 8.3%; top: 46.3%; width: 24%; background: #2a2a2a; }
.fnb-part-board { left: 68.4%; top: 55.8%; width: 26%; min-height: 6.3%; background: #373737; }
.fnb-part-led { left: 57.9%; top: 75.6%; width: 20%; background: #2d2d2d; }
.fnb-part-lower { left: 43.6%; top: 88.2%; width: 19%; background: #202020; }
.fnb-parts-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin: 16px 0 0; }
.fnb-parts-list > div { padding: 10px 12px; background: #ffffff10; border-radius: 9px; }
.fnb-parts-list dt { font-weight: 800; }
.fnb-parts-list dd { color: #e5dcf2; margin: 2px 0 0; font-size: .9rem; }
.fnb-compare { border: 1px solid var(--fnb-line); border-radius: 16px; overflow: hidden; background: #fff; }
.fnb-compare table { width: 100%; table-layout: fixed; border-collapse: collapse; font-size: .95rem; }
.fnb-compare th, .fnb-compare td { padding: 10px; text-align: center; }
.fnb-compare thead th { vertical-align: bottom; font-family: var(--fnb-title); }
.fnb-compare tbody th { text-align: left; padding-left: 16px; }
.fnb-compare tbody td, .fnb-compare tbody th { border-top: 1px solid var(--fnb-line); }
.fnb-compare :is(th,td):nth-child(2) { background: #f2ebff; }
.fnb-crop { display: block; width: 100%; background-repeat: no-repeat; margin-inline: auto; }
.fnb-model-pro, .fnb-model-original { max-width: 140px; }
.fnb-model-pro { aspect-ratio: 300 / 300; background-image: url('assets/illustrations/comparatif.webp'); background-size: 463.33% 596.67%; background-position: 50.00% 3.36%; }
.fnb-model-original { aspect-ratio: 300 / 290; background-image: url('assets/illustrations/comparatif.webp'); background-size: 463.33% 617.24%; background-position: 93.12% 4.80%; }
.fnb-kit-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin-top: 18px; }
.fnb-kit-grid figure { border: 1px solid var(--fnb-line); border-radius: 14px; background: white; overflow: hidden; text-align: center; padding-bottom: 10px; }
.fnb-kit-grid .fnb-crop { max-width: 225px; }
.fnb-kit-notice { aspect-ratio: 520 / 528; background-image: url('assets/illustrations/coffret.webp'); background-size: 267.31% 229.73%; background-position: 12.07% 9.05%; }
.fnb-kit-box { aspect-ratio: 575 / 548; background-image: url('assets/illustrations/coffret.webp'); background-size: 241.74% 221.35%; background-position: 80.00% 7.52%; }
.fnb-kit-ball { aspect-ratio: 525 / 482; background-image: url('assets/illustrations/coffret.webp'); background-size: 264.76% 251.66%; background-position: 12.02% 90.56%; }
.fnb-kit-usb { aspect-ratio: 520 / 505; background-image: url('assets/illustrations/coffret.webp'); background-size: 267.31% 240.20%; background-position: 80.11% 90.11%; }
.fnb-kit-grid figcaption { padding-inline: 6px; font-size: .9rem; font-weight: 800; }
.fnb-detail-cta { display: flex; align-items: center; justify-content: space-between; gap: 12px; background: var(--fnb-soft); padding: clamp(14px, 3vw, 28px); border-radius: 14px; }
.fnb-detail-cta div { display: grid; gap: 4px; }
.fnb-detail-cta div span { color: var(--fnb-accent-dark); }
.fnb-review-status strong { color: var(--fnb-accent-dark); }

@media (max-width: 640px) {
  .fnb-benefits { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
  .fnb-benefits article { padding: 12px; }
  .fnb-benefits h3 { font-size: 1.03rem; }
  .fnb-benefits p, .fnb-parts-list dd { font-size: .83rem; }
  .fnb-detail-split, .fnb-parts-list { grid-template-columns: 1fr; gap: 11px; }
  .fnb-detail-reverse > :last-child { grid-row: auto; }
  .fnb-part { font-size: clamp(.38rem, 1.56vw, .55rem); }
  .fnb-compare table, .fnb-kit-grid figcaption { font-size: .79rem; }
  .fnb-compare th, .fnb-compare td { padding: 6px 4px; }
  .fnb-compare tbody th { padding-left: 7px; }
  .fnb-kit-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
  .fnb-detail-cta { flex-wrap: wrap; }
  .fnb-detail-cta .fnb-button { width: 100%; }
}

@media (min-width: 801px) { .fnb-sticky { display: none; } }
