:root {
  --bg: #f4f6f3;
  --surface: #ffffff;
  --text: #172019;
  --muted: #69736d;
  --line: #dde3de;
  --accent: #d7ff3f;
  --accent-dark: #243300;
  --dark: #172019;
  --ok-bg: #eefbd8;
  --warn-bg: #fff4d5;
  --no-bg: #fff0eb;
  --radius: 22px;
  --shadow: 0 18px 60px rgba(23,32,25,.09);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color:var(--text); background:var(--bg); }
a { color:inherit; }
.topbar { max-width:1180px; margin:0 auto; padding:24px 26px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:flex; align-items:center; gap:10px; text-decoration:none; font-weight:850; letter-spacing:-.02em; }
.brand-mark { width:38px; height:38px; display:grid; place-items:center; background:var(--dark); border-radius:12px; }
.topbar nav { display:flex; gap:24px; }
.topbar nav a { text-decoration:none; font-size:14px; color:var(--muted); font-weight:650; }
main { max-width:1180px; margin:0 auto; padding:0 26px 70px; }
.hero { min-height:420px; display:grid; grid-template-columns:1.25fr .75fr; align-items:center; gap:40px; padding:55px 0 45px; }
.eyebrow { display:inline-flex; font-size:12px; font-weight:900; letter-spacing:.14em; margin-bottom:16px; }
.hero h1, .company-hero h1 { font-size:clamp(48px,7vw,86px); line-height:.92; letter-spacing:-.065em; margin:0; max-width:820px; }
.hero h1 span { display:inline-block; background:var(--accent); padding:0 .12em .1em; transform:rotate(-1deg); }
.hero-copy > p { max-width:660px; color:var(--muted); font-size:18px; line-height:1.65; margin:25px 0; }
.trust-row { display:flex; flex-wrap:wrap; gap:12px 18px; color:#475149; font-size:13px; font-weight:700; }
.hero-bag { display:grid; place-items:center; min-height:280px; }
.bag-shape { width:220px; height:250px; border:8px solid var(--dark); border-radius:34px; position:relative; transform:rotate(5deg); background:var(--accent); box-shadow:22px 22px 0 rgba(23,32,25,.12); }
.bag-shape:before { content:""; position:absolute; width:80px; height:35px; border:8px solid var(--dark); border-bottom:0; left:62px; top:-42px; border-radius:18px 18px 0 0; }
.bag-shape span { position:absolute; background:var(--dark); color:#fff; font-size:12px; font-weight:900; padding:6px 9px; border-radius:999px; }
.bag-shape span:nth-child(1){ left:85px; bottom:-20px; }.bag-shape span:nth-child(2){ right:-22px; top:110px; }.bag-shape span:nth-child(3){ left:-22px; top:65px; }
.checker-wrap { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr); gap:24px; align-items:start; }
.checker-card, .result-card, .mini-card, .fare-card { background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); }
.checker-card { padding:34px; }
.section-heading { display:flex; gap:16px; align-items:flex-start; margin-bottom:26px; }
.step { width:42px; height:42px; flex:0 0 42px; display:grid; place-items:center; background:var(--dark); color:#fff; font-weight:900; border-radius:13px; font-size:12px; }
.section-heading h2 { margin:0 0 5px; font-size:27px; letter-spacing:-.035em; }.section-heading p { margin:0; color:var(--muted); }
.check-form { display:grid; gap:20px; }
.field-grid.two { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
label > span, .label-row > span { display:block; font-size:13px; font-weight:800; margin-bottom:8px; }
label em { font-style:normal; color:var(--muted); font-weight:600; }
input, select { width:100%; border:1px solid #cfd7d1; border-radius:13px; background:#fbfcfa; color:var(--text); font:inherit; padding:13px 14px; outline:none; }
input:focus, select:focus { border-color:#869834; box-shadow:0 0 0 4px rgba(215,255,63,.22); }
.dimensions-block { border:1px solid var(--line); border-radius:17px; padding:17px; background:#f9faf8; }
.label-row { display:flex; justify-content:space-between; gap:10px; align-items:center; }.label-row small { color:var(--muted); }
.dimension-grid { display:grid; grid-template-columns:1fr auto 1fr auto 1fr; gap:10px; align-items:center; }
.dimension-grid label { display:block; }.dimension-grid label span { margin:7px 0 0; font-size:11px; color:var(--muted); font-weight:650; }.dimension-grid input { font-size:22px; font-weight:850; text-align:center; }.times { font-weight:900; color:#909a93; }
.input-suffix { position:relative; }.input-suffix input { padding-right:48px; }.input-suffix b { position:absolute; right:14px; top:50%; transform:translateY(-50%); font-size:12px; color:var(--muted); }
.remember-line { display:flex; align-items:center; gap:9px; width:max-content; max-width:100%; cursor:pointer; }.remember-line input { width:17px; height:17px; }.remember-line span { margin:0; font-weight:650; color:var(--muted); }
.primary-btn { border:0; border-radius:14px; background:var(--dark); color:#fff; padding:16px 18px; font:inherit; font-weight:850; display:flex; align-items:center; justify-content:space-between; text-decoration:none; cursor:pointer; }.primary-btn:hover { transform:translateY(-1px); }.primary-btn span { color:var(--accent); font-size:22px; }
.alert { border-radius:13px; padding:12px 14px; margin-bottom:18px; font-weight:700; }.alert.error { background:#fff0ed; color:#8b2818; }
.side-info { display:grid; gap:16px; }.mini-card { padding:25px; box-shadow:none; }.mini-icon { width:42px; height:42px; display:grid; place-items:center; background:var(--accent); border-radius:12px; font-weight:900; }.mini-card h3 { margin:18px 0 8px; }.mini-card p { color:var(--muted); line-height:1.6; margin:0; }
.result-card { padding:28px; position:sticky; top:20px; }.result-card.ok { background:var(--ok-bg); }.result-card.paid { background:var(--warn-bg); }.result-card.no { background:var(--no-bg); }
.result-icon { width:50px; height:50px; border-radius:16px; display:grid; place-items:center; background:var(--dark); color:var(--accent); font-size:25px; font-weight:900; }.result-kicker { font-size:11px; font-weight:950; letter-spacing:.13em; margin:18px 0 6px; }.result-card h2 { margin:0; font-size:30px; letter-spacing:-.04em; }.rule-main { color:var(--muted); font-weight:700; }.rule-box { margin:18px 0; border-top:1px solid rgba(23,32,25,.14); }.rule-box > div { display:flex; justify-content:space-between; gap:16px; padding:11px 0; border-bottom:1px solid rgba(23,32,25,.10); }.rule-box span { color:var(--muted); font-size:12px; }.rule-box strong { text-align:right; font-size:13px; }.overage { padding:12px 14px; background:rgba(255,255,255,.55); border-radius:12px; font-size:13px; }.overage p { margin:4px 0; }.note, .source-line { font-size:11px; line-height:1.5; color:var(--muted); }.source-line a { font-weight:800; }
.companies, .how { padding-top:90px; }.company-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }.company-card { background:#fff; border:1px solid var(--line); border-radius:18px; padding:20px; text-decoration:none; display:grid; gap:12px; transition:.2s ease; }.company-card:hover { transform:translateY(-3px); box-shadow:var(--shadow); }.iata { width:48px; height:48px; border-radius:14px; display:grid; place-items:center; background:var(--dark); color:var(--accent); font-weight:950; }.company-card strong { font-size:18px; }.company-card > span:last-child { color:var(--muted); font-size:12px; font-weight:700; }
.how-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }.how-grid article { padding:26px; border-top:3px solid var(--dark); background:#fff; }.how-grid b { display:inline-grid; place-items:center; width:32px; height:32px; border-radius:10px; background:var(--accent); }.how-grid h3 { margin:28px 0 8px; }.how-grid p { color:var(--muted); margin:0; }
footer { border-top:1px solid var(--line); max-width:1180px; margin:0 auto; padding:25px 26px 40px; color:var(--muted); font-size:12px; }
.company-page { padding-top:30px; }.back { color:var(--muted); font-weight:700; text-decoration:none; }.company-hero { display:flex; align-items:center; gap:25px; margin:40px 0 50px; }.iata.big { width:90px; height:90px; border-radius:25px; flex:0 0 90px; font-size:20px; }.company-hero h1 { font-size:clamp(45px,6vw,72px); }.company-hero p { color:var(--muted); max-width:650px; }.fare-list { display:grid; gap:18px; }.fare-card { padding:27px; box-shadow:none; }.fare-title { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; margin-bottom:20px; }.fare-title span { font-size:11px; color:var(--muted); font-weight:800; text-transform:uppercase; letter-spacing:.08em; }.fare-title h2 { margin:4px 0 0; }.fare-title p { margin:0; color:var(--muted); max-width:500px; text-align:right; }.rule-table { border-top:1px solid var(--line); }.rule-row { display:grid; grid-template-columns:1.5fr 1fr .8fr .6fr auto; gap:18px; align-items:center; padding:16px 0; border-bottom:1px solid var(--line); }.rule-row div { display:grid; gap:4px; }.rule-row div > span { font-size:10px; color:var(--muted); text-transform:uppercase; letter-spacing:.06em; font-weight:800; }.rule-row strong { font-size:13px; }.rule-row > a { font-size:12px; font-weight:800; color:var(--muted); }.pill { width:max-content; padding:6px 9px; border-radius:999px; }.pill.included { background:var(--ok-bg); }.pill.paid { background:var(--warn-bg); }.primary-btn.inline { width:max-content; margin-top:25px; gap:30px; }
@media (max-width: 900px) { .hero { grid-template-columns:1fr; min-height:0; }.hero-bag { display:none; }.checker-wrap { grid-template-columns:1fr; }.result-card { position:static; }.company-grid { grid-template-columns:repeat(2,1fr); }.how-grid { grid-template-columns:1fr; }.rule-row { grid-template-columns:1fr 1fr; }.rule-row > a { grid-column:1/-1; }.fare-title { display:block; }.fare-title p { text-align:left; margin-top:10px; }.company-hero { align-items:flex-start; } }
@media (max-width: 620px) { .topbar { padding:18px; }.topbar nav { display:none; } main { padding-left:16px; padding-right:16px; }.hero { padding-top:30px; }.hero h1 { font-size:50px; }.checker-card { padding:20px; }.field-grid.two { grid-template-columns:1fr; }.dimension-grid { grid-template-columns:1fr; gap:8px; }.times { display:none; }.label-row { display:block; }.label-row small { display:block; margin-bottom:8px; }.company-grid { grid-template-columns:1fr; }.company-hero { display:block; }.iata.big { margin-bottom:18px; }.rule-row { grid-template-columns:1fr; gap:10px; }.rule-row > a { grid-column:auto; } }


.compare-promo { margin-top:90px; padding:38px; border-radius:28px; background:var(--dark); color:#fff; display:flex; align-items:flex-end; justify-content:space-between; gap:34px; overflow:hidden; position:relative; }
.compare-promo:after { content:""; width:210px; height:210px; border-radius:50%; background:var(--accent); position:absolute; right:-90px; top:-115px; opacity:.9; }
.compare-promo > * { position:relative; z-index:1; }
.compare-promo .eyebrow { color:var(--accent); }
.compare-promo h2 { font-size:clamp(31px,4.6vw,55px); line-height:.98; letter-spacing:-.055em; margin:0 0 16px; }
.compare-promo p { color:#bcc6bf; line-height:1.65; max-width:720px; margin:0; }
.compare-promo .primary-btn { background:var(--accent); color:var(--dark); flex:0 0 auto; }
.compare-promo .primary-btn span { color:var(--dark); }

.compare-page { padding-top:30px; }
.compare-hero { padding:34px 0 36px; max-width:900px; }
.compare-hero h1 { font-size:clamp(44px,7vw,78px); line-height:.94; letter-spacing:-.06em; margin:0 0 20px; }
.compare-hero h1 span { background:var(--accent); padding:0 .12em .08em; }
.compare-hero p { color:var(--muted); max-width:760px; font-size:18px; line-height:1.65; }
.compare-layout { display:grid; grid-template-columns:minmax(290px,.72fr) minmax(0,1.28fr); gap:24px; align-items:start; }
.compare-form-card { position:sticky; top:20px; background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:28px; box-shadow:var(--shadow); }
.compare-form-card .dimension-grid { grid-template-columns:1fr; }
.compare-form-card .times { display:none; }
.compare-form-card .label-row { display:block; }
.compare-form-card .label-row small { display:block; margin-top:3px; }
.compare-summary { display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:15px; color:var(--muted); font-size:13px; }
.compare-summary strong { color:var(--text); }
.compare-results { display:grid; gap:12px; }
.compare-empty { min-height:330px; display:grid; place-items:center; text-align:center; border:1px dashed #c9d1cb; border-radius:var(--radius); padding:35px; color:var(--muted); }
.compare-empty b { display:block; color:var(--text); font-size:23px; margin-bottom:8px; }
.compare-row { background:#fff; border:1px solid var(--line); border-radius:19px; padding:19px; display:grid; grid-template-columns:auto minmax(125px,.8fr) minmax(170px,1.4fr) auto; gap:16px; align-items:center; }
.compare-row.ok { background:var(--ok-bg); }
.compare-row.paid { background:var(--warn-bg); }
.compare-row.upgrade { background:#eef3ff; }
.compare-row.no { background:var(--no-bg); }
.compare-airline { display:flex; align-items:center; gap:12px; }
.compare-airline .iata { flex:0 0 45px; }
.compare-airline strong { display:block; font-size:17px; }
.compare-airline small { color:var(--muted); }
.compare-verdict { min-width:0; }
.compare-verdict b { display:block; font-size:13px; margin-bottom:3px; }
.compare-verdict small { color:var(--muted); line-height:1.4; display:block; }
.compare-rule { min-width:0; }
.compare-rule strong { display:block; font-size:14px; }
.compare-rule small { display:block; margin-top:4px; color:var(--muted); }
.status-chip { width:max-content; max-width:100%; border-radius:999px; padding:7px 10px; background:rgba(255,255,255,.72); font-size:11px; font-weight:900; white-space:nowrap; }
.compare-source { font-size:11px; color:var(--muted); text-decoration:none; font-weight:800; }
.compare-source:hover { text-decoration:underline; }
.compare-legend { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 16px; }
.compare-legend span { font-size:11px; font-weight:800; padding:6px 9px; border-radius:999px; background:#fff; border:1px solid var(--line); }

@media (max-width: 900px) {
  .compare-promo { align-items:flex-start; flex-direction:column; }
  .compare-layout { grid-template-columns:1fr; }
  .compare-form-card { position:static; }
  .compare-row { grid-template-columns:auto 1fr auto; }
  .compare-rule { grid-column:2/-1; }
}
@media (max-width: 620px) {
  .compare-promo { margin-top:65px; padding:25px; }
  .compare-row { grid-template-columns:1fr; }
  .compare-airline, .compare-rule { grid-column:auto; }
  .status-chip { white-space:normal; }
}

/* V1.18 — pages SEO compagnie / tarif */
.seo-page { padding-bottom:90px; }
.breadcrumbs { display:flex; flex-wrap:wrap; align-items:center; gap:8px; color:var(--muted); font-size:12px; font-weight:750; margin:8px 0 26px; }
.breadcrumbs a { text-decoration:none; }
.breadcrumbs a:hover { text-decoration:underline; }
.breadcrumbs strong { color:var(--text); }
.seo-hero { margin-top:24px; margin-bottom:34px; }
.seo-hero .freshness, .fare-seo-hero .freshness { width:max-content; max-width:100%; margin-top:16px; padding:8px 11px; border:1px solid #cfd7d1; border-radius:999px; background:#fff; color:var(--muted); font-size:11px; font-weight:750; }
.seo-summary, .fare-facts { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:0 0 48px; }
.seo-summary article, .fare-facts article { min-height:120px; background:#fff; border:1px solid var(--line); border-radius:18px; padding:20px; display:flex; flex-direction:column; justify-content:space-between; }
.seo-summary article > span, .fare-facts article > span { color:var(--muted); text-transform:uppercase; letter-spacing:.08em; font-size:10px; font-weight:900; }
.seo-summary article > strong, .fare-facts article > strong { margin:12px 0 4px; font-size:24px; letter-spacing:-.04em; }
.seo-summary article > small, .fare-facts article > small { color:var(--muted); line-height:1.4; }
.seo-intro { max-width:850px; margin-bottom:54px; }
.seo-intro h2 { font-size:clamp(30px,4vw,46px); letter-spacing:-.05em; margin:0 0 14px; }
.seo-intro p { color:var(--muted); font-size:17px; line-height:1.7; }
.format-chips { display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; }
.format-chips span { background:var(--dark); color:#fff; border-radius:999px; padding:8px 11px; font-size:12px; font-weight:850; }
.section-heading.compact { margin-top:14px; }
.section-heading.compact h2 { font-size:clamp(27px,3.6vw,39px); }
.seo-fare-card { border-radius:20px; }
.seo-fare-card .fare-title h3 { margin:4px 0 0; font-size:24px; letter-spacing:-.035em; }
.seo-fare-card .fare-title h3 a { text-decoration:none; }
.seo-fare-card .fare-title h3 a:hover { text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:4px; }
.seo-rule-row { grid-template-columns:1.4fr 1fr .8fr .6fr; }
.fare-card-footer { display:flex; justify-content:space-between; align-items:center; gap:20px; padding-top:16px; }
.fare-card-footer small { color:var(--muted); }
.text-link { font-size:12px; font-weight:900; text-decoration:none; }
.text-link:hover { text-decoration:underline; }
.seo-cta { margin:62px 0; padding:34px; border-radius:26px; background:var(--dark); color:#fff; display:flex; justify-content:space-between; align-items:flex-end; gap:30px; }
.seo-cta .eyebrow { color:var(--accent); }
.seo-cta h2 { margin:0 0 8px; font-size:clamp(30px,4.4vw,50px); line-height:.98; letter-spacing:-.055em; }
.seo-cta p { margin:0; color:#bac3bd; max-width:700px; }
.seo-cta .primary-btn { background:var(--accent); color:var(--dark); flex:0 0 auto; }
.seo-cta .primary-btn span { color:var(--dark); }
.faq-section { margin-top:54px; }
.faq-list { display:grid; gap:10px; }
.faq-list details { background:#fff; border:1px solid var(--line); border-radius:16px; padding:0 18px; }
.faq-list summary { cursor:pointer; list-style:none; padding:18px 34px 18px 0; font-weight:850; position:relative; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary:after { content:'+'; position:absolute; right:0; top:50%; transform:translateY(-50%); width:25px; height:25px; display:grid; place-items:center; border-radius:8px; background:var(--accent); font-size:17px; }
.faq-list details[open] summary:after { content:'−'; }
.faq-list details p { margin:0 0 18px; color:var(--muted); line-height:1.65; }
.fare-seo-hero { display:grid; grid-template-columns:auto 1fr; gap:26px; align-items:start; padding:28px 0 38px; }
.fare-seo-hero h1 { font-size:clamp(48px,7vw,82px); line-height:.91; letter-spacing:-.065em; margin:0; }
.fare-seo-hero h1 span { display:inline-block; background:var(--accent); padding:0 .12em .08em; }
.fare-seo-hero p { max-width:760px; color:var(--muted); font-size:17px; line-height:1.65; }
.fare-rules-section { margin-top:8px; }
.fare-rule-cards { display:grid; gap:14px; }
.fare-rule-card { background:#fff; border:1px solid var(--line); border-radius:20px; padding:24px; }
.fare-rule-card.is-included { border-left:5px solid #8fbf24; }
.fare-rule-card.is-option { border-left:5px solid #d5a22b; }
.fare-rule-head { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; margin-bottom:20px; }
.fare-rule-head span { color:var(--muted); text-transform:uppercase; letter-spacing:.08em; font-size:10px; font-weight:900; }
.fare-rule-head h3 { margin:5px 0 0; font-size:23px; letter-spacing:-.035em; }
.fare-rule-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.fare-rule-grid > div { background:#f7f9f6; border-radius:13px; padding:14px; }
.fare-rule-grid span { display:block; color:var(--muted); text-transform:uppercase; letter-spacing:.06em; font-size:9px; font-weight:900; margin-bottom:6px; }
.fare-rule-grid strong { font-size:13px; line-height:1.4; }
.price-note, .rule-note { margin:16px 0 0; color:var(--muted); font-size:13px; line-height:1.6; }
.rule-note { padding:13px 15px; border-radius:12px; background:#f7f9f6; }
.fare-rule-card .source-line { margin-top:15px; }
.related-fares { margin-top:58px; }
.related-fare-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.related-fare-grid a { min-height:105px; background:#fff; border:1px solid var(--line); border-radius:16px; padding:17px; text-decoration:none; display:flex; flex-direction:column; justify-content:space-between; gap:15px; }
.related-fare-grid a:hover { box-shadow:var(--shadow); transform:translateY(-2px); }
.related-fare-grid strong { line-height:1.3; }
.related-fare-grid span { color:var(--muted); font-size:11px; font-weight:800; }

@media (max-width:900px) {
  .seo-summary, .fare-facts { grid-template-columns:1fr 1fr; }
  .seo-summary article:last-child, .fare-facts article:last-child { grid-column:1/-1; }
  .seo-cta { align-items:flex-start; flex-direction:column; }
  .fare-rule-grid { grid-template-columns:1fr 1fr; }
  .related-fare-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:620px) {
  .breadcrumbs { margin-top:4px; }
  .seo-summary, .fare-facts { grid-template-columns:1fr; }
  .seo-summary article:last-child, .fare-facts article:last-child { grid-column:auto; }
  .fare-card-footer { align-items:flex-start; flex-direction:column; gap:8px; }
  .seo-cta { padding:24px; }
  .fare-seo-hero { grid-template-columns:1fr; }
  .fare-seo-brand .iata.big { margin-bottom:0; }
  .fare-rule-head { flex-direction:column; }
  .fare-rule-grid { grid-template-columns:1fr; }
  .related-fare-grid { grid-template-columns:1fr; }
}

/* V1.19 — pages SEO dimensions */
.dimension-hub { margin-top:72px; }
.dimension-hub-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:10px; }
.dimension-hub-grid a { min-height:145px; padding:18px; border:1px solid var(--line); border-radius:18px; background:#fff; text-decoration:none; display:flex; flex-direction:column; justify-content:space-between; gap:8px; }
.dimension-hub-grid a:hover { transform:translateY(-2px); box-shadow:var(--shadow); }
.dimension-hub-grid strong { font-size:20px; letter-spacing:-.04em; }
.dimension-hub-grid span { color:var(--muted); font-size:11px; line-height:1.45; }
.dimension-hub-grid b { font-size:11px; }
.format-chips a { background:var(--dark); color:#fff; border-radius:999px; padding:8px 11px; font-size:12px; font-weight:850; text-decoration:none; }
.format-chips a:hover { background:var(--accent); color:var(--dark); }
.dimension-page { padding-bottom:90px; }
.dimension-hero { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(240px,.6fr); gap:40px; align-items:center; padding:28px 0 38px; }
.dimension-hero h1 { margin:7px 0 16px; font-size:clamp(56px,9vw,118px); line-height:.84; letter-spacing:-.075em; }
.dimension-hero h1 span { color:var(--muted); font-size:.34em; letter-spacing:-.03em; }
.dimension-hero p { max-width:760px; color:var(--muted); font-size:18px; line-height:1.65; }
.dimension-hero .freshness { width:max-content; max-width:100%; margin-top:16px; padding:8px 11px; border:1px solid #cfd7d1; border-radius:999px; background:#fff; color:var(--muted); font-size:11px; font-weight:750; }
.dimension-visual { aspect-ratio:1/1; max-width:330px; justify-self:end; border:2px solid var(--dark); border-radius:34px; background:var(--accent); display:grid; grid-template-columns:1fr 1fr; grid-template-rows:1fr 1fr; place-items:center; transform:rotate(3deg); box-shadow:14px 14px 0 var(--dark); overflow:hidden; }
.dimension-visual span { font-size:clamp(34px,5vw,64px); font-weight:950; letter-spacing:-.07em; }
.dimension-visual span:first-child { grid-column:1/-1; border-bottom:2px solid var(--dark); width:100%; height:100%; display:grid; place-items:center; }
.dimension-visual span:nth-child(2) { border-right:2px solid var(--dark); width:100%; height:100%; display:grid; place-items:center; }
.dimension-visual span:nth-child(3) { width:100%; height:100%; display:grid; place-items:center; }
.dimension-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:12px 0 18px; }
.dimension-stats article { background:#fff; border:1px solid var(--line); border-radius:20px; padding:20px; min-height:125px; display:flex; flex-direction:column; justify-content:space-between; }
.dimension-stats article.is-ok { background:var(--ok-bg); }
.dimension-stats article.is-alt { background:var(--warn-bg); }
.dimension-stats span { color:var(--muted); text-transform:uppercase; letter-spacing:.07em; font-size:10px; font-weight:900; }
.dimension-stats strong { font-size:38px; letter-spacing:-.06em; }
.dimension-stats small { color:var(--muted); }
.dimension-warning { margin:0 0 56px; padding:16px 18px; border-radius:15px; background:#fff7d8; border:1px solid #e8d792; line-height:1.55; font-size:13px; }
.dimension-result-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.dimension-result-card { background:#fff; border:1px solid var(--line); border-radius:20px; padding:19px; }
.dimension-result-card.ok { border-left:5px solid #8fbf24; }
.dimension-result-card.paid { border-left:5px solid #d5a22b; }
.dimension-result-card.upgrade { border-left:5px solid #6b83d6; }
.dimension-result-card.no { border-left:5px solid #cf6b61; }
.dimension-company-head { display:grid; grid-template-columns:auto 1fr auto; gap:12px; align-items:center; }
.dimension-company-head h3 { margin:0; font-size:18px; }
.dimension-company-head h3 a { text-decoration:none; }
.dimension-company-head h3 a:hover { text-decoration:underline; }
.dimension-company-head small { color:var(--muted); }
.dimension-result-rule { margin-top:16px; padding:13px 14px; border-radius:13px; background:#f7f9f6; }
.dimension-result-rule > span { display:block; color:var(--muted); font-size:9px; font-weight:900; letter-spacing:.07em; text-transform:uppercase; margin-bottom:5px; }
.dimension-result-rule strong { display:block; font-size:16px; }
.dimension-result-rule small { display:block; color:var(--muted); margin-top:4px; }
.dimension-result-card > p { margin:12px 0 0; color:var(--muted); font-size:12px; line-height:1.5; }
.dimension-card-links { margin-top:15px; padding-top:13px; border-top:1px solid var(--line); display:flex; justify-content:space-between; gap:15px; }
.dimension-card-links a { font-size:11px; font-weight:850; text-decoration:none; }
.dimension-card-links a:hover { text-decoration:underline; }
.dimension-cta { margin-top:62px; }
.related-dimensions { margin-top:62px; }
.dimension-link-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.dimension-link-grid a { min-height:115px; background:#fff; border:1px solid var(--line); border-radius:16px; padding:16px; display:flex; flex-direction:column; justify-content:space-between; text-decoration:none; }
.dimension-link-grid a:hover { transform:translateY(-2px); box-shadow:var(--shadow); }
.dimension-link-grid strong { font-size:18px; }
.dimension-link-grid span { color:var(--muted); font-size:10px; line-height:1.45; }

@media (max-width:1050px) {
  .dimension-hub-grid { grid-template-columns:repeat(3,1fr); }
  .dimension-link-grid { grid-template-columns:repeat(3,1fr); }
}
@media (max-width:800px) {
  .dimension-hero { grid-template-columns:1fr; }
  .dimension-visual { justify-self:start; width:min(70vw,300px); }
  .dimension-stats { grid-template-columns:1fr; }
  .dimension-result-grid { grid-template-columns:1fr; }
  .dimension-link-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:620px) {
  .dimension-hub-grid, .dimension-link-grid { grid-template-columns:1fr; }
  .dimension-company-head { grid-template-columns:auto 1fr; }
  .dimension-company-head .status-chip { grid-column:1/-1; }
  .dimension-card-links { flex-direction:column; gap:8px; }
}
.dimension-inline-link { color:inherit; text-decoration:none; border-bottom:1px dashed #a9b1ac; }
.dimension-inline-link:hover { border-bottom-style:solid; }

/* V1.20 — classement des formats universels */
.ranking-home { margin-top:72px; }
.ranking-home-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.ranking-home-grid a { min-height:180px; padding:22px; border:1px solid var(--line); border-radius:20px; background:#fff; text-decoration:none; display:flex; flex-direction:column; align-items:flex-start; gap:9px; position:relative; overflow:hidden; }
.ranking-home-grid a:first-child { background:var(--accent); border-color:var(--dark); box-shadow:8px 8px 0 var(--dark); }
.ranking-home-grid a:hover { transform:translateY(-2px); }
.home-rank { display:inline-grid; place-items:center; min-width:38px; height:30px; padding:0 9px; border-radius:9px; background:var(--dark); color:var(--accent); font-size:12px; font-weight:950; }
.ranking-home-grid strong { margin-top:8px; font-size:25px; letter-spacing:-.045em; }
.ranking-home-grid b { font-size:14px; }
.ranking-home-grid small { color:var(--muted); line-height:1.5; }
.ranking-home-grid a:first-child small { color:#455126; }
.ranking-home-link { display:inline-block; margin-top:20px; }
.ranking-page { padding-bottom:95px; }
.ranking-hero { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr); gap:42px; align-items:center; padding:35px 0 46px; }
.ranking-hero h1 { margin:0; font-size:clamp(56px,8vw,104px); line-height:.86; letter-spacing:-.075em; }
.ranking-hero h1 span { display:inline-block; background:var(--accent); padding:0 .1em .08em; transform:rotate(-1deg); }
.ranking-hero > div > p { max-width:760px; color:var(--muted); font-size:18px; line-height:1.65; margin:24px 0; }
.ranking-winner { min-height:330px; border:2px solid var(--dark); border-radius:28px; background:#fff; padding:26px; box-shadow:13px 13px 0 var(--dark); display:flex; flex-direction:column; align-items:flex-start; position:relative; }
.winner-rank { position:absolute; right:22px; top:20px; display:grid; place-items:center; width:54px; height:54px; border-radius:17px; background:var(--accent); font-weight:950; font-size:21px; }
.ranking-winner > small { color:var(--muted); font-weight:900; letter-spacing:.1em; font-size:10px; }
.ranking-winner > strong { margin:30px 0 22px; max-width:240px; font-size:38px; line-height:.95; letter-spacing:-.06em; }
.winner-score { display:flex; align-items:baseline; gap:10px; }
.winner-score b { font-size:36px; letter-spacing:-.06em; }
.winner-score span { color:var(--muted); font-size:11px; font-weight:750; }
.winner-meta { display:flex; flex-wrap:wrap; gap:7px; margin:12px 0 22px; }
.winner-meta span { border-radius:999px; background:#f2f5f1; padding:7px 9px; font-size:10px; font-weight:800; }
.ranking-winner > a { margin-top:auto; font-size:12px; font-weight:900; text-decoration:none; }
.ranking-method { margin-bottom:58px; padding:20px 22px; border:1px solid #cfd7d1; border-radius:17px; background:#fff; display:grid; grid-template-columns:190px 1fr; gap:22px; align-items:start; }
.ranking-method strong { font-size:15px; }
.ranking-method p { margin:0; color:var(--muted); line-height:1.65; font-size:13px; }
.ranking-section { margin-top:54px; }
.ranking-table-wrap { overflow-x:auto; border:1px solid var(--line); border-radius:22px; background:#fff; }
.ranking-table { width:100%; min-width:980px; border-collapse:collapse; }
.ranking-table th { padding:13px 15px; background:#f2f5f1; color:var(--muted); font-size:9px; letter-spacing:.07em; text-transform:uppercase; text-align:left; white-space:nowrap; }
.ranking-table td { padding:16px 15px; border-top:1px solid var(--line); vertical-align:middle; font-size:13px; }
.ranking-table tr.top-rank td { background:#fbfff0; }
.ranking-table tr:first-child td { background:var(--accent); }
.rank-number { display:grid; place-items:center; width:34px; height:34px; border-radius:10px; background:var(--dark); color:#fff; font-weight:950; }
.ranking-table tr:first-child .rank-number { color:var(--accent); }
.rank-format { font-size:16px; font-weight:900; text-decoration:none; white-space:nowrap; }
.rank-format:hover { text-decoration:underline; }
.ranking-table td small { display:block; color:var(--muted); margin-top:3px; font-size:10px; }
.rank-ok { color:#405d00; font-weight:850; white-space:nowrap; }
.rank-alt { color:#7a6120; font-size:11px; white-space:nowrap; }
.score-meter { width:86px; height:8px; border-radius:999px; background:#e4e9e4; overflow:hidden; }
.score-meter span { display:block; height:100%; background:var(--dark); border-radius:inherit; }
.table-link { font-size:11px; font-weight:900; text-decoration:none; white-space:nowrap; }
.table-link:hover { text-decoration:underline; }
.ranking-cta { margin-top:58px; }
.ranking-card-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.ranking-card { min-height:260px; padding:20px; border:1px solid var(--line); border-radius:19px; background:#fff; display:flex; flex-direction:column; }
.ranking-card:first-child { border:2px solid var(--dark); box-shadow:7px 7px 0 var(--accent); }
.ranking-card-head { display:flex; justify-content:space-between; gap:10px; align-items:center; }
.ranking-card-head span { display:grid; place-items:center; min-width:32px; height:29px; border-radius:9px; background:var(--dark); color:var(--accent); padding:0 8px; font-size:11px; font-weight:950; }
.ranking-card-head b { color:var(--muted); font-size:10px; }
.ranking-card h3 { margin:26px 0 20px; font-size:24px; letter-spacing:-.045em; }
.ranking-card-stats { display:grid; gap:8px; }
.ranking-card-stats span { color:var(--muted); font-size:10px; }
.ranking-card-stats strong { color:var(--text); font-size:13px; }
.ranking-card-links { margin-top:auto; padding-top:20px; display:flex; justify-content:space-between; gap:12px; }
.ranking-card-links a { font-size:11px; font-weight:900; text-decoration:none; }
.ranking-card-links a:hover { text-decoration:underline; }

@media (max-width:1000px) {
  .ranking-card-grid { grid-template-columns:repeat(2,1fr); }
  .ranking-home-grid { grid-template-columns:1fr 1fr; }
  .ranking-home-grid a:first-child { grid-column:1/-1; }
}
@media (max-width:800px) {
  .ranking-hero { grid-template-columns:1fr; }
  .ranking-winner { max-width:520px; }
  .ranking-method { grid-template-columns:1fr; gap:8px; }
}
@media (max-width:620px) {
  .ranking-home-grid, .ranking-card-grid { grid-template-columns:1fr; }
  .ranking-home-grid a:first-child { grid-column:auto; }
  .ranking-hero h1 { font-size:clamp(50px,16vw,78px); }
  .ranking-winner { min-height:300px; }
}

/* V1.21 — objets autorisés / interdits en cabine */
.objects-page, .object-detail-page { padding-bottom:90px; }
.objects-hero { display:grid; grid-template-columns:minmax(0,1fr) 260px; gap:38px; align-items:center; padding:30px 0 38px; }
.objects-hero h1, .object-detail-hero h1 { margin:7px 0 18px; font-size:clamp(52px,8vw,100px); line-height:.88; letter-spacing:-.07em; }
.objects-hero h1 span, .object-detail-hero h1 span { display:inline-block; background:var(--accent); padding:0 .12em .08em; }
.objects-hero p, .object-detail-hero p { max-width:780px; color:var(--muted); font-size:18px; line-height:1.65; }
.objects-count { min-height:220px; border:2px solid var(--dark); border-radius:30px; background:var(--accent); box-shadow:12px 12px 0 var(--dark); display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; transform:rotate(2deg); }
.objects-count strong { font-size:76px; line-height:.9; letter-spacing:-.08em; }
.objects-count span { margin-top:10px; max-width:150px; font-size:12px; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.object-search-card { margin:8px 0 54px; padding:24px; border:1px solid var(--line); border-radius:22px; background:#fff; box-shadow:var(--shadow); }
.object-search-card label { display:block; margin-bottom:10px; font-size:13px; font-weight:900; }
.object-search-row { display:grid; grid-template-columns:1fr auto; gap:10px; }
.object-search-row input { min-width:0; height:56px; padding:0 17px; border:1px solid var(--line); border-radius:14px; background:#f8faf7; font:inherit; font-size:16px; }
.object-search-row input:focus { outline:2px solid var(--accent); outline-offset:1px; }
.popular-object-links { display:flex; flex-wrap:wrap; gap:7px; margin-top:15px; }
.popular-object-links a, .object-category-chips a { padding:8px 11px; border:1px solid var(--line); border-radius:999px; background:#f8faf7; text-decoration:none; color:var(--dark); font-size:11px; font-weight:850; }
.popular-object-links a:hover, .object-category-chips a:hover, .object-category-chips a.active { border-color:var(--dark); background:var(--dark); color:#fff; }
.object-categories { margin-bottom:44px; }
.object-category-chips { display:flex; flex-wrap:wrap; gap:8px; }
.object-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.object-card { min-height:300px; padding:20px; border:1px solid var(--line); border-radius:20px; background:#fff; text-decoration:none; display:flex; flex-direction:column; color:var(--dark); transition:transform .18s ease, box-shadow .18s ease; }
.object-card:hover { transform:translateY(-3px); box-shadow:var(--shadow); }
.object-card-top { display:flex; align-items:center; gap:9px; color:var(--muted); }
.object-cat-icon { width:34px; height:34px; border-radius:10px; background:#f3f5f2; display:grid; place-items:center; }
.object-card-top small { font-size:10px; font-weight:900; text-transform:uppercase; letter-spacing:.07em; }
.object-card h3 { margin:20px 0 8px; font-size:23px; letter-spacing:-.04em; }
.object-card p { margin:0; color:var(--muted); font-size:13px; line-height:1.55; }
.object-statuses { display:grid; gap:6px; margin-top:auto; padding-top:20px; }
.object-statuses span { border-radius:10px; padding:9px 10px; font-size:10px; font-weight:850; }
.object-statuses span b { display:inline-grid; width:18px; height:18px; place-items:center; border-radius:50%; margin-right:4px; }
.object-more { display:block; margin-top:14px; font-size:11px; }
.allowed { background:#edf8de !important; color:#345f12 !important; }
.conditional { background:#fff4cf !important; color:#725710 !important; }
.prohibited { background:#fde9e5 !important; color:#8a342a !important; }
.check { background:#e9effb !important; color:#375486 !important; }
.neutral { background:#f0f2f0 !important; color:#5e665f !important; }
.object-empty { padding:28px; border:1px dashed #b9c2bc; border-radius:18px; background:#fff; }
.object-empty strong { font-size:22px; }
.object-empty p { margin-bottom:0; color:var(--muted); }
.object-safety-note, .object-context-note { margin-top:46px; padding:20px 22px; border:1px solid #d8d0a8; border-radius:17px; background:#fff9df; }
.object-safety-note strong, .object-context-note strong { display:block; margin-bottom:6px; }
.object-safety-note p, .object-context-note p { margin:0; color:#625c3d; line-height:1.65; font-size:13px; }
.object-detail-hero { display:grid; grid-template-columns:minmax(0,1fr) 290px; gap:44px; align-items:center; padding:30px 0 34px; }
.object-detail-hero .freshness { width:max-content; max-width:100%; margin-top:16px; padding:8px 11px; border:1px solid #cfd7d1; border-radius:999px; background:#fff; color:var(--muted); font-size:11px; font-weight:750; }
.object-main-verdict { min-height:270px; border:2px solid var(--dark); border-radius:32px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; box-shadow:12px 12px 0 var(--dark); transform:rotate(2deg); }
.object-main-verdict > span { width:68px; height:68px; border:2px solid currentColor; border-radius:50%; display:grid; place-items:center; font-size:38px; font-weight:950; margin-bottom:18px; }
.object-main-verdict small { font-size:10px; font-weight:950; letter-spacing:.1em; }
.object-main-verdict strong { margin-top:7px; max-width:210px; font-size:25px; line-height:1.05; letter-spacing:-.04em; }
.object-verdict-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:8px 0 54px; }
.object-verdict-grid article { min-height:120px; padding:18px; border-radius:18px; border:1px solid rgba(0,0,0,.08); display:flex; flex-direction:column; justify-content:space-between; }
.object-verdict-grid span { font-size:10px; font-weight:900; text-transform:uppercase; letter-spacing:.08em; opacity:.72; }
.object-verdict-grid b { font-size:18px; letter-spacing:-.025em; }
.object-rule-box { margin-top:16px; }
.object-rule-content { padding:26px; border:1px solid var(--line); border-radius:22px; background:#fff; }
.object-rule-content h3 { margin:0; max-width:900px; font-size:22px; line-height:1.5; letter-spacing:-.025em; }
.object-warning { margin-top:20px; padding:16px 18px; border-radius:14px; background:#fff1d1; }
.object-warning strong { font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.object-warning p { margin:6px 0 0; color:#67552a; line-height:1.6; font-size:13px; }
.object-rule-content .source-line { margin-top:20px; }
.related-objects { margin-top:54px; }
.related-object-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.related-object-grid a { min-height:145px; padding:18px; border:1px solid var(--line); border-radius:17px; background:#fff; text-decoration:none; display:flex; flex-direction:column; gap:10px; }
.related-object-grid a:hover { transform:translateY(-2px); box-shadow:var(--shadow); }
.related-object-grid a > span { font-size:23px; }
.related-object-grid strong { font-size:17px; }
.related-object-grid small { margin-top:auto; color:var(--muted); }
.objects-home { margin-top:72px; }
.objects-home-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.objects-home-grid a { min-height:150px; padding:18px; border:1px solid var(--line); border-radius:18px; background:#fff; text-decoration:none; display:flex; flex-direction:column; gap:10px; }
.objects-home-grid a:hover { transform:translateY(-2px); box-shadow:var(--shadow); }
.objects-home-grid a > span { font-size:25px; }
.objects-home-grid strong { font-size:17px; line-height:1.2; }
.objects-home-grid small { margin-top:auto; width:max-content; max-width:100%; padding:6px 8px; border-radius:8px; font-size:9px; font-weight:900; }
.objects-home-link { margin-top:16px; }
.object-cta { margin-top:58px; }

@media (max-width:900px) {
  .objects-hero, .object-detail-hero { grid-template-columns:1fr; }
  .objects-count, .object-main-verdict { width:min(100%,380px); min-height:190px; justify-self:start; }
  .object-grid, .related-object-grid { grid-template-columns:repeat(2,1fr); }
  .objects-home-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:620px) {
  .objects-hero h1, .object-detail-hero h1 { font-size:48px; }
  .object-search-row { grid-template-columns:1fr; }
  .object-search-row .primary-btn { width:100%; justify-content:center; }
  .object-grid, .related-object-grid, .objects-home-grid { grid-template-columns:1fr; }
  .object-verdict-grid { grid-template-columns:1fr; }
  .object-card { min-height:260px; }
  .objects-count strong { font-size:60px; }
}

/* V1.22 — recommandations partenaires contextuelles */
.affiliate-block { margin:58px 0; padding:30px; border:2px solid var(--dark); border-radius:26px; background:#faffef; box-shadow:9px 9px 0 var(--dark); }
.affiliate-heading { display:flex; justify-content:space-between; gap:24px; align-items:flex-start; margin-bottom:22px; }
.affiliate-heading h2 { margin:5px 0 8px; font-size:clamp(28px,4vw,44px); letter-spacing:-.055em; line-height:1; }
.affiliate-heading p { margin:0; max-width:760px; color:var(--muted); line-height:1.6; }
.affiliate-label { flex:0 0 auto; padding:7px 10px; border:1px solid var(--dark); border-radius:999px; background:#fff; font-size:9px; font-weight:950; letter-spacing:.08em; text-transform:uppercase; }
.affiliate-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; }
.affiliate-card { min-width:0; padding:16px; border:1px solid var(--line); border-radius:18px; background:#fff; display:flex; flex-direction:column; }
.affiliate-card-top { min-height:25px; display:flex; align-items:center; justify-content:space-between; gap:8px; }
.product-type { font-size:10px; font-weight:900; color:var(--muted); }
.product-badge { padding:4px 7px; border-radius:999px; background:var(--accent); color:var(--dark); font-size:8px; font-weight:950; text-transform:uppercase; letter-spacing:.05em; }
.affiliate-image { height:128px; margin:13px 0; border-radius:13px; overflow:hidden; background:#f2f5f1; display:grid; place-items:center; }
.affiliate-image img { width:100%; height:100%; object-fit:contain; }
.affiliate-image.placeholder { font-size:44px; }
.affiliate-card h3 { margin:0 0 10px; font-size:17px; line-height:1.18; letter-spacing:-.025em; }
.affiliate-specs { display:flex; flex-wrap:wrap; gap:6px 8px; align-items:center; margin-bottom:9px; }
.affiliate-specs strong { width:100%; font-size:13px; }
.affiliate-specs span { color:var(--muted); font-size:10px; font-weight:750; }
.affiliate-card p { margin:0 0 14px; color:var(--muted); font-size:10px; line-height:1.5; }
.affiliate-btn { margin-top:auto; padding:11px 12px; border-radius:11px; background:var(--dark); color:#fff; text-decoration:none; font-size:10px; font-weight:900; display:flex; align-items:center; justify-content:space-between; gap:8px; }
.affiliate-btn:hover { transform:translateY(-1px); }
.affiliate-disclosure { margin:16px 0 0; color:var(--muted); font-size:9px; line-height:1.55; }

@media (max-width:980px) {
  .affiliate-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:620px) {
  .affiliate-block { padding:19px; box-shadow:6px 6px 0 var(--dark); }
  .affiliate-heading { flex-direction:column; gap:12px; }
  .affiliate-grid { grid-template-columns:1fr; }
  .affiliate-image { height:150px; }
}

/* V1.23 — historique et traçabilité */
.history-inline-link { display:inline-block; margin-top:13px; font-size:11px; font-weight:900; text-decoration:none; border-bottom:1px dashed currentColor; }
.history-inline-link:hover { border-bottom-style:solid; }
.history-home { margin:72px 0 0; padding:30px; border:2px solid var(--dark); border-radius:26px; background:#fff; box-shadow:9px 9px 0 var(--accent); display:flex; align-items:flex-end; justify-content:space-between; gap:32px; }
.history-home h2 { margin:7px 0 12px; font-size:clamp(32px,5vw,54px); line-height:.96; letter-spacing:-.06em; }
.history-home h2 span { background:var(--accent); padding:0 .08em .06em; }
.history-home p { max-width:780px; margin:0; color:var(--muted); line-height:1.65; }
.history-page, .history-detail-page { padding-bottom:95px; }
.history-hero { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:48px; align-items:center; padding:34px 0 48px; }
.history-hero h1, .history-detail-hero h1 { margin:0; font-size:clamp(54px,7.7vw,96px); line-height:.88; letter-spacing:-.075em; }
.history-hero h1 span, .history-detail-hero h1 span { display:inline-block; background:var(--accent); padding:0 .08em .07em; transform:rotate(-1deg); }
.history-hero p, .history-detail-hero p { max-width:790px; margin:24px 0 0; color:var(--muted); font-size:17px; line-height:1.65; }
.history-stamp { min-height:290px; border:2px solid var(--dark); border-radius:30px; background:#fff; box-shadow:12px 12px 0 var(--dark); display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; transform:rotate(2deg); }
.history-stamp > span { padding:6px 10px; border-radius:999px; background:var(--accent); font-size:10px; font-weight:950; letter-spacing:.1em; }
.history-stamp strong { margin:13px 0 3px; font-size:78px; line-height:1; letter-spacing:-.08em; }
.history-stamp small { color:var(--muted); font-weight:800; }
.history-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:4px 0 36px; }
.history-stats article { min-height:130px; padding:19px; border:1px solid var(--line); border-radius:19px; background:#fff; display:flex; flex-direction:column; justify-content:space-between; }
.history-stats article > span { color:var(--muted); font-size:9px; font-weight:950; text-transform:uppercase; letter-spacing:.08em; }
.history-stats article strong { font-size:37px; letter-spacing:-.06em; }
.history-stats article small { color:var(--muted); font-size:10px; line-height:1.4; }
.history-method, .history-interpretation { margin:0 0 56px; padding:20px 22px; border:1px solid #cfd7d1; border-radius:17px; background:#fff; display:grid; grid-template-columns:210px 1fr; gap:24px; }
.history-method strong, .history-interpretation strong { font-size:14px; }
.history-method p, .history-interpretation p { margin:0; color:var(--muted); font-size:13px; line-height:1.65; }
.history-airline-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:11px; }
.history-airline-card { min-height:210px; padding:18px; border:1px solid var(--line); border-radius:18px; background:#fff; color:var(--dark); text-decoration:none; display:flex; flex-direction:column; transition:transform .18s ease, box-shadow .18s ease; }
.history-airline-card:hover { transform:translateY(-2px); box-shadow:var(--shadow); }
.history-airline-head { display:flex; justify-content:space-between; gap:10px; align-items:center; }
.history-airline-head > span:last-child { color:var(--muted); font-size:9px; font-weight:850; text-transform:uppercase; letter-spacing:.05em; }
.history-airline-card h3 { margin:23px 0 14px; font-size:21px; line-height:1.08; letter-spacing:-.04em; }
.history-airline-meta { display:flex; flex-wrap:wrap; gap:8px; }
.history-airline-meta span { padding:6px 8px; border-radius:8px; background:#f2f5f1; color:var(--muted); font-size:9px; }
.history-airline-meta b { color:var(--dark); }
.history-airline-card > small { margin-top:auto; padding-top:15px; color:var(--muted); font-size:9px; }
.history-checks { margin-top:62px; }
.history-check-list { border:1px solid var(--line); border-radius:20px; background:#fff; overflow:hidden; }
.history-check-list article { display:grid; grid-template-columns:1fr auto; gap:18px; align-items:center; padding:16px 18px; border-top:1px solid var(--line); }
.history-check-list article:first-child { border-top:0; }
.history-check-list article > div:first-child { display:grid; grid-template-columns:auto minmax(130px,1fr) minmax(100px,.7fr); gap:10px; align-items:center; }
.history-check-list article > div:last-child { display:flex; gap:16px; align-items:center; }
.history-check-list strong { font-size:13px; }
.history-check-list small, .history-check-list time { color:var(--muted); font-size:10px; }
.history-check-list a { font-size:10px; font-weight:900; text-decoration:none; white-space:nowrap; }
.history-result { width:max-content; padding:5px 7px; border-radius:999px; font-size:8px; font-weight:950; text-transform:uppercase; letter-spacing:.06em; background:#edf8de; color:#345f12; }
.history-result.changed { background:#fff4cf; color:#725710; }
.history-result.needs_review { background:#fde9e5; color:#8a342a; }
.history-cta { margin-top:62px; }
.history-detail-hero { display:grid; grid-template-columns:170px minmax(0,1fr); gap:34px; align-items:center; padding:30px 0 42px; }
.history-company-id { min-height:170px; border:2px solid var(--dark); border-radius:26px; background:#fff; display:grid; place-items:center; box-shadow:8px 8px 0 var(--accent); }
.history-company-id .iata { width:94px; height:94px; font-size:26px; }
.history-item-icon { width:170px; height:170px; border:2px solid var(--dark); border-radius:30px; background:#fff; box-shadow:8px 8px 0 var(--accent); display:grid; place-items:center; font-size:72px; }
.history-timeline-section { margin-top:55px; }
.history-groups { display:grid; gap:28px; }
.history-group { border:1px solid var(--line); border-radius:24px; background:#fff; padding:22px; }
.history-group > header { display:flex; justify-content:space-between; gap:20px; align-items:flex-end; padding-bottom:18px; border-bottom:1px solid var(--line); }
.history-group > header span { color:var(--muted); font-size:9px; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.history-group > header h2 { margin:5px 0 0; font-size:26px; letter-spacing:-.045em; }
.history-group > header > a { font-size:10px; font-weight:900; text-decoration:none; }
.history-timeline { position:relative; padding:22px 0 0 28px; }
.history-timeline::before { content:""; position:absolute; top:20px; bottom:4px; left:8px; width:2px; background:#dfe4df; }
.history-version { position:relative; padding:0 0 20px; }
.history-version:last-child { padding-bottom:0; }
.history-dot { position:absolute; left:-26px; top:22px; width:13px; height:13px; border:3px solid #fff; border-radius:50%; background:#9aa49d; box-shadow:0 0 0 2px #dfe4df; }
.history-version.current .history-dot { background:var(--accent); box-shadow:0 0 0 2px var(--dark); }
.history-version-card { padding:18px; border:1px solid var(--line); border-radius:18px; background:#fbfcfa; }
.history-version.current .history-version-card { border-color:var(--dark); background:#fff; box-shadow:5px 5px 0 var(--accent); }
.history-version-head { display:flex; justify-content:space-between; gap:18px; align-items:flex-start; }
.history-version-head > div { display:flex; flex-direction:column; gap:7px; }
.history-version-head strong { font-size:15px; }
.history-version-head > a { font-size:10px; font-weight:900; text-decoration:none; }
.history-state { width:max-content; padding:5px 7px; border-radius:999px; background:#eef1ee; color:var(--muted); font-size:8px; font-weight:950; text-transform:uppercase; letter-spacing:.07em; }
.history-state.current { background:var(--accent); color:var(--dark); }
.history-rule-facts { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-top:17px; }
.history-rule-facts > span { min-width:0; padding:11px; border-radius:11px; background:#f0f3ef; }
.history-rule-facts small, .history-object-statuses small { display:block; margin-bottom:5px; color:var(--muted); font-size:8px; font-weight:900; text-transform:uppercase; letter-spacing:.05em; }
.history-rule-facts b { display:block; font-size:11px; line-height:1.35; }
.history-changes { margin-top:17px; padding:14px; border-radius:13px; background:#f6f8f5; }
.history-changes > strong { display:block; margin-bottom:9px; font-size:10px; text-transform:uppercase; letter-spacing:.06em; }
.history-changes > div { display:grid; grid-template-columns:100px minmax(0,1fr) auto minmax(0,1fr); gap:8px; align-items:start; padding:7px 0; border-top:1px solid #e2e6e1; font-size:10px; line-height:1.4; }
.history-changes > div:first-of-type { border-top:0; }
.history-changes span { color:var(--muted); font-weight:850; }
.history-changes del { color:#8a4c45; text-decoration-thickness:1px; }
.history-changes ins { color:#345f12; text-decoration:none; font-weight:850; }
.history-changes b { color:var(--muted); }
.history-no-change { margin:15px 0 0; padding:11px 13px; border-radius:11px; background:#f3f5f2; color:var(--muted); font-size:10px; line-height:1.5; }
.history-note { margin:14px 0 0; color:var(--muted); font-size:11px; line-height:1.55; }
.history-version-foot { margin-top:15px; padding-top:12px; border-top:1px solid var(--line); display:flex; flex-wrap:wrap; gap:8px 16px; color:var(--muted); font-size:9px; }
.history-empty { padding:28px; border:1px dashed #b8c0ba; border-radius:18px; background:#fff; }
.history-empty strong { font-size:20px; }
.history-empty p { margin:6px 0 0; color:var(--muted); }
.history-object-statuses { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:17px; }
.history-object-statuses > span { padding:11px; border-radius:11px; }
.history-object-statuses b { display:block; font-size:11px; }
.history-condition { margin-top:15px; padding:14px; border:1px solid var(--line); border-radius:13px; background:#fff; }
.history-condition > strong { font-size:10px; text-transform:uppercase; letter-spacing:.06em; }
.history-condition p { margin:7px 0 0; color:var(--text); font-size:11px; line-height:1.6; }
.history-condition small { display:block; margin-top:8px; color:var(--muted); font-size:9px; line-height:1.5; }
.object-history-timeline { max-width:1040px; }

@media (max-width:1050px) {
  .history-airline-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .history-rule-facts { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:800px) {
  .history-home { align-items:flex-start; flex-direction:column; }
  .history-hero { grid-template-columns:1fr; }
  .history-stamp { width:min(100%,320px); min-height:220px; }
  .history-detail-hero { grid-template-columns:1fr; }
  .history-company-id, .history-item-icon { width:145px; min-height:145px; height:145px; }
  .history-airline-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .history-check-list article, .history-check-list article > div:first-child { grid-template-columns:1fr; }
  .history-check-list article > div:last-child { justify-content:space-between; }
  .history-method, .history-interpretation { grid-template-columns:1fr; gap:8px; }
}
@media (max-width:620px) {
  .history-stats, .history-airline-grid, .history-rule-facts, .history-object-statuses { grid-template-columns:1fr; }
  .history-group { padding:15px; }
  .history-group > header, .history-version-head { flex-direction:column; align-items:flex-start; }
  .history-timeline { padding-left:22px; }
  .history-dot { left:-20px; }
  .history-changes > div { grid-template-columns:1fr; gap:4px; }
  .history-changes > div b { display:none; }
  .history-home { padding:20px; box-shadow:6px 6px 0 var(--accent); }
}

/* V1.25 — plan du site / finitions lancement */
.sitemap-page { padding-bottom:90px; }
.sitemap-hero { margin-bottom:42px; }
.sitemap-hero h1 { margin:0; font-size:clamp(52px,7vw,88px); letter-spacing:-.065em; line-height:.92; }
.sitemap-hero p { max-width:760px; margin:18px 0 0; color:var(--muted); font-size:16px; line-height:1.65; }
.sitemap-section { margin:48px 0 0; }
.sitemap-section > h2 { margin:0 0 18px; font-size:30px; letter-spacing:-.045em; }
.sitemap-section > h3 { margin:26px 0 11px; font-size:17px; }
.sitemap-links { display:flex; flex-wrap:wrap; gap:9px; }
.sitemap-links a { padding:9px 11px; border:1px solid var(--line); border-radius:11px; background:#fff; color:var(--dark); text-decoration:none; font-size:11px; font-weight:800; }
.sitemap-links a:hover { border-color:var(--dark); box-shadow:3px 3px 0 var(--accent); }
.sitemap-links.compact-links a { font-size:12px; }
.sitemap-company-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.sitemap-company-grid article { display:flex; flex-direction:column; gap:7px; padding:16px; border:1px solid var(--line); border-radius:16px; background:#fff; }
.sitemap-company-grid article > a { color:var(--muted); text-decoration:none; font-size:10px; line-height:1.35; }
.sitemap-company-grid article > a:hover { color:var(--dark); text-decoration:underline; }
.sitemap-company-grid .sitemap-company-title { margin-bottom:5px; color:var(--dark); font-size:15px; font-weight:950; text-decoration:none; }
.sitemap-company-grid .muted-link { margin-top:5px; padding-top:8px; border-top:1px solid var(--line); font-weight:850; }
footer a { color:inherit; font-weight:800; }

@media (max-width:980px) {
  .sitemap-company-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:720px) {
  .sitemap-company-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:480px) {
  .sitemap-company-grid { grid-template-columns:1fr; }
}

/* V1.26 — identité premium inspirée du nouveau concept */
:root {
  --bg: #f7f7f2;
  --surface: #ffffff;
  --text: #151a17;
  --muted: #66706a;
  --line: #e2e5df;
  --accent: #c8f000;
  --accent-soft: #f2f9d5;
  --accent-dark: #283200;
  --dark: #151a17;
  --radius: 24px;
  --shadow: 0 20px 55px rgba(18, 25, 21, .08);
  --shadow-soft: 0 10px 28px rgba(18, 25, 21, .055);
}
body { background:linear-gradient(180deg,#fbfbf7 0,#f6f7f2 52%,#f4f5f0 100%); }
.topbar {
  max-width:1320px;
  min-height:78px;
  padding:16px 28px;
  position:relative;
  z-index:20;
}
.brand { gap:12px; }
.brand-mark {
  width:42px;
  height:42px;
  border-radius:13px;
  background:#151a17 url('../icons/favicon.svg') center/cover no-repeat;
  font-size:0;
  box-shadow:0 7px 18px rgba(21,26,23,.13);
}
.brand-copy { display:grid; gap:1px; }
.brand-copy strong { font-family:Georgia,"Times New Roman",serif; font-size:20px; letter-spacing:-.035em; }
.brand-copy small { color:#7a837d; font-size:9px; font-weight:800; letter-spacing:.055em; text-transform:uppercase; }
.topbar nav { align-items:center; gap:8px; }
.topbar nav a { padding:10px 12px; border-radius:11px; color:#3e4641; font-size:12px; font-weight:760; }
.topbar nav a:hover { background:#eef1eb; color:#111612; }
.topbar nav .nav-cta { margin-left:6px; padding:11px 15px; background:#151a17; color:#fff; }
.topbar nav .nav-cta span { color:var(--accent); margin-left:8px; }
.topbar nav .nav-cta:hover { background:#262d29; color:#fff; }
main { max-width:1320px; padding:0 28px 80px; }

.hero {
  min-height:520px;
  grid-template-columns:minmax(0,1.1fr) minmax(390px,.9fr);
  gap:0;
  padding:0;
  margin-top:4px;
  overflow:hidden;
  border:1px solid #e1e4dd;
  border-radius:34px;
  background:
    radial-gradient(circle at 63% 14%, rgba(200,240,0,.10), transparent 24%),
    linear-gradient(112deg,#fff 0%,#fbfbf7 56%,#eff0ea 100%);
  box-shadow:0 22px 70px rgba(21,26,23,.07);
}
.hero-copy { padding:58px 20px 56px 54px; position:relative; z-index:3; }
.eyebrow { align-items:center; gap:8px; margin-bottom:18px; color:#466000; font-size:10px; letter-spacing:.11em; }
.eyebrow i { width:8px; height:8px; border-radius:50%; background:#87bd00; box-shadow:0 0 0 5px rgba(135,189,0,.12); }
.hero h1 { max-width:760px; font-family:Georgia,"Times New Roman",serif; font-size:clamp(54px,6.2vw,88px); font-weight:650; line-height:.91; letter-spacing:-.065em; }
.hero h1 span { margin-top:7px; padding:0 .08em .08em; background:linear-gradient(180deg,transparent 55%,var(--accent) 55%); transform:none; }
.hero-copy > p { max-width:620px; margin:24px 0 25px; color:#58615c; font-size:17px; line-height:1.6; }
.hero-actions { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-bottom:26px; }
.hero-primary { width:max-content; min-width:190px; background:var(--accent); color:#151a17; box-shadow:0 8px 24px rgba(144,181,0,.18); }
.hero-primary span { color:#151a17; }
.secondary-btn { display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:0 16px; border:1px solid #d9ded8; border-radius:14px; background:#fff; color:#29312c; text-decoration:none; font-size:12px; font-weight:850; }
.secondary-btn:hover { border-color:#aeb7b0; background:#f9faf7; }
.trust-row { gap:11px; color:#39423d; }
.trust-row span { display:inline-flex; align-items:center; gap:7px; padding:7px 9px; border:1px solid #e4e8e0; border-radius:999px; background:rgba(255,255,255,.72); font-size:10px; font-weight:800; }
.trust-row b { display:grid; place-items:center; width:20px; height:20px; border-radius:50%; background:var(--accent-soft); color:#557300; }
.hero-visual { position:relative; min-height:520px; overflow:hidden; background:linear-gradient(145deg,#eceee9,#dcded9); }
.hero-visual:before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(251,251,247,.65),transparent 35%),radial-gradient(circle at 70% 30%,rgba(255,255,255,.82),transparent 27%); }
.hero-visual:after { content:""; position:absolute; left:0; right:0; bottom:0; height:110px; background:linear-gradient(180deg,transparent,rgba(24,29,26,.14)); }
.plane-window { position:absolute; top:56px; left:50%; width:218px; height:285px; transform:translateX(-50%); border:18px solid #c7cbc5; border-radius:50% 50% 43% 43% / 42% 42% 58% 58%; background:linear-gradient(180deg,#cde6f3 0,#ecf3f4 48%,#e9e9e3 49%,#f8f7f0 100%); box-shadow:inset 0 0 0 7px #f5f5ef,0 16px 40px rgba(31,37,33,.11); }
.plane-window span { position:absolute; left:25px; right:25px; top:88px; height:1px; background:rgba(255,255,255,.8); box-shadow:0 21px 0 rgba(255,255,255,.42); }
.hero-suitcase { position:absolute; right:52px; bottom:34px; width:214px; height:282px; border-radius:32px; background:linear-gradient(135deg,#222925,#111512); box-shadow:-14px 24px 42px rgba(17,22,19,.28); transform:rotate(-2deg); }
.hero-suitcase:before,.hero-suitcase:after { content:""; position:absolute; top:29px; bottom:30px; width:10px; border-radius:8px; background:#343b37; }
.hero-suitcase:before { left:30px; }.hero-suitcase:after { right:30px; }
.hero-suitcase-handle { position:absolute; width:92px; height:74px; left:61px; top:-58px; border:16px solid #171c19; border-bottom:0; border-radius:26px 26px 0 0; }
.hero-suitcase-lines { position:absolute; left:22px; right:22px; top:98px; height:10px; border-radius:8px; background:#303733; box-shadow:0 70px 0 #303733; }
.hero-suitcase-check { position:absolute; right:22px; bottom:20px; display:grid; place-items:center; width:48px; height:48px; border-radius:15px; background:var(--accent); color:#151a17; font-size:26px; font-weight:950; }
.hero-format-chip { position:absolute; left:30px; bottom:34px; z-index:4; display:grid; gap:2px; padding:12px 14px; border:1px solid rgba(255,255,255,.6); border-radius:15px; background:rgba(255,255,255,.82); box-shadow:0 10px 32px rgba(28,34,30,.10); backdrop-filter:blur(8px); }
.hero-format-chip strong { font-size:15px; letter-spacing:-.03em; }
.hero-format-chip span { color:#6f7872; font-size:9px; font-weight:750; }

.checker-wrap { position:relative; z-index:5; margin-top:-34px; padding:0 20px; grid-template-columns:minmax(0,1.55fr) minmax(280px,.45fr); gap:16px; }
.checker-card,.result-card,.mini-card,.fare-card { border-color:#e1e5df; box-shadow:var(--shadow-soft); }
.checker-card { padding:28px 30px; border-radius:25px; }
.section-heading { margin-bottom:22px; }
.step { width:40px; height:40px; flex-basis:40px; border-radius:12px; background:#151a17; color:var(--accent); }
.section-heading h2 { font-size:25px; }
.section-heading p { font-size:12px; }
.check-form { gap:16px; }
input,select { min-height:48px; border-color:#d7ddd6; border-radius:12px; background:#fff; }
.dimensions-block { padding:14px; background:#f8faf5; border-radius:15px; }
.primary-btn { min-height:50px; border-radius:13px; background:#151a17; box-shadow:none; }
.primary-btn:hover { box-shadow:0 8px 22px rgba(21,26,23,.13); }
.side-info { gap:12px; }
.mini-card { padding:20px; border-radius:20px; background:rgba(255,255,255,.92); }
.mini-icon { background:var(--accent-soft); color:#486400; }
.result-card { border-radius:24px; }

.home-overview { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:30px 0 68px; }
.overview-card { min-height:210px; position:relative; display:grid; grid-template-columns:auto 1fr; gap:13px; align-items:start; padding:20px; border:1px solid #e1e5df; border-radius:20px; background:#fff; color:var(--text); text-decoration:none; box-shadow:0 8px 24px rgba(18,25,21,.035); transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease; }
.overview-card:hover { transform:translateY(-3px); border-color:#c8cec8; box-shadow:var(--shadow-soft); }
.overview-card.featured { background:linear-gradient(145deg,#f9ffe7,#fff); border-color:#d8e7a3; }
.overview-icon { display:grid; place-items:center; width:42px; height:42px; border-radius:14px; background:var(--accent-soft); color:#4b6500; font-size:17px; font-weight:950; }
.overview-card div { min-width:0; }
.overview-card small { display:block; margin:2px 0 6px; color:#68726c; font-size:9px; font-weight:850; text-transform:uppercase; letter-spacing:.07em; }
.overview-card strong { display:block; margin-bottom:8px; font-family:Georgia,"Times New Roman",serif; font-size:36px; line-height:.95; letter-spacing:-.055em; }
.overview-card.featured strong { font-family:inherit; font-size:22px; line-height:1.05; }
.overview-card p { margin:0; color:#747d77; font-size:11px; line-height:1.5; }
.overview-card > b { grid-column:1/-1; align-self:end; color:#3b443f; font-size:10px; }

.compare-promo,.history-home { border:1px solid #e0e4de!important; border-radius:28px!important; background:linear-gradient(135deg,#151a17,#232b26)!important; color:#fff!important; box-shadow:var(--shadow-soft)!important; }
.compare-promo p,.history-home p { color:#b9c2bc!important; }
.compare-promo .eyebrow,.history-home .eyebrow { color:var(--accent)!important; }
.compare-promo .primary-btn,.history-home .primary-btn { background:var(--accent); color:#151a17; }
.compare-promo .primary-btn span,.history-home .primary-btn span { color:#151a17; }

.company-card,.dimension-hub-grid a,.ranking-home-grid a,.objects-home-grid a,.how-grid article { border-color:#e1e5df!important; box-shadow:0 7px 20px rgba(18,25,21,.03); }
.company-card:hover,.dimension-hub-grid a:hover,.ranking-home-grid a:hover,.objects-home-grid a:hover { box-shadow:var(--shadow-soft); }
.iata { background:#151a17; color:var(--accent); }

.home-confidence-strip { display:grid; grid-template-columns:auto minmax(0,1fr) auto auto; gap:18px; align-items:center; margin:70px 0 0; padding:21px 24px; border:1px solid #dfe4dc; border-radius:20px; background:#fff; box-shadow:0 8px 26px rgba(18,25,21,.035); }
.confidence-icon { display:grid; place-items:center; width:50px; height:50px; border-radius:16px; background:var(--accent-soft); color:#587800; font-size:23px; font-weight:950; }
.home-confidence-strip strong { display:block; font-family:Georgia,"Times New Roman",serif; font-size:18px; letter-spacing:-.025em; }
.home-confidence-strip p { margin:4px 0 0; color:#747d77; font-size:10px; line-height:1.5; }
.confidence-pills { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:6px; }
.confidence-pills span { padding:7px 9px; border-radius:999px; background:#f4f6f1; color:#59635d; font-size:9px; font-weight:800; }
.home-confidence-strip > a { color:#28312c; font-size:10px; font-weight:900; text-decoration:none; white-space:nowrap; }

footer { max-width:1320px; padding-left:28px; padding-right:28px; }

@media(max-width:1100px) {
  .hero { grid-template-columns:minmax(0,1.1fr) minmax(330px,.9fr); }
  .hero-copy { padding-left:38px; }
  .hero-suitcase { right:30px; }
  .home-overview { grid-template-columns:repeat(2,1fr); }
  .home-confidence-strip { grid-template-columns:auto 1fr auto; }
  .confidence-pills { grid-column:2/-1; justify-content:flex-start; }
}
@media(max-width:900px) {
  .hero { grid-template-columns:1fr; min-height:auto; }
  .hero-copy { padding:44px 34px 36px; }
  .hero-visual { min-height:330px; }
  .plane-window { top:20px; left:28%; width:190px; height:250px; }
  .hero-suitcase { width:175px; height:230px; right:17%; bottom:20px; }
  .hero-suitcase-handle { width:76px; left:49px; }
  .checker-wrap { margin-top:-20px; grid-template-columns:1fr; padding:0 12px; }
  .side-info { grid-template-columns:1fr 1fr; }
  .home-confidence-strip { grid-template-columns:auto 1fr; }
  .confidence-pills,.home-confidence-strip > a { grid-column:2; }
}
@media(max-width:760px) {
  .topbar { padding:13px 18px; }
  .brand-copy small { display:none; }
  .topbar nav { display:flex; max-width:58%; overflow:auto; scrollbar-width:none; }
  .topbar nav::-webkit-scrollbar { display:none; }
  .topbar nav a { display:none; white-space:nowrap; }
  .topbar nav .nav-cta { display:inline-flex; margin-left:auto; }
  main { padding-left:16px; padding-right:16px; }
  .hero-copy { padding:36px 24px 30px; }
  .hero-copy > p { font-size:15px; }
  .hero-actions { align-items:stretch; }
  .hero-actions a { flex:1 1 180px; }
  .hero-visual { min-height:270px; }
  .plane-window { width:160px; height:205px; border-width:14px; }
  .hero-suitcase { width:145px; height:190px; right:10%; border-radius:24px; }
  .hero-suitcase-handle { width:64px; height:58px; left:40px; top:-45px; border-width:13px; }
  .hero-suitcase-check { width:40px; height:40px; font-size:21px; }
  .hero-format-chip { left:18px; bottom:18px; }
  .home-overview { grid-template-columns:1fr 1fr; }
}
@media(max-width:620px) {
  .topbar nav { display:flex; }
  .hero { border-radius:24px; }
  .hero h1 { font-size:clamp(49px,15vw,66px); }
  .hero-copy { padding:32px 20px 27px; }
  .trust-row span { padding:6px 8px; }
  .hero-visual { min-height:245px; }
  .checker-wrap { padding:0 5px; }
  .checker-card { padding:20px 17px; }
  .side-info { grid-template-columns:1fr; }
  .home-overview { grid-template-columns:1fr; margin-bottom:54px; }
  .overview-card { min-height:160px; }
  .home-confidence-strip { grid-template-columns:1fr; text-align:left; }
  .confidence-icon { width:44px; height:44px; }
  .confidence-pills,.home-confidence-strip > a { grid-column:auto; }
  .confidence-pills { justify-content:flex-start; }
}

/* ========================================================================== */
/* V1.27 — DESIGN UNIFIÉ : même langage visuel sur TOUTES les pages          */
/* ========================================================================== */

.site-body {
  --site-max: 1320px;
  --site-pad: 28px;
  --site-radius-xl: 30px;
  --site-radius-lg: 22px;
  --site-radius-md: 15px;
  min-height: 100vh;
  background:
    radial-gradient(circle at 8% 0%, rgba(200,240,0,.07), transparent 24rem),
    linear-gradient(180deg,#fbfbf8 0,#f6f7f2 58%,#f3f4ef 100%);
}

/* Header commun */
.site-topbar {
  max-width: var(--site-max);
  margin: 0 auto;
  padding: 15px var(--site-pad);
  min-height: 78px;
}
.site-topbar .brand { flex:0 0 auto; }
.site-topbar .brand-copy strong { font-size:21px; }
.site-topbar .brand-copy small { font-size:9px; }
.site-nav { min-width:0; display:flex; align-items:center; justify-content:flex-end; gap:3px!important; }
.site-nav .site-nav-link {
  position:relative;
  padding:10px 11px;
  color:#4d5650;
  border-radius:11px;
  font-size:12px;
  font-weight:780;
  text-decoration:none;
  white-space:nowrap;
}
.site-nav .site-nav-link:hover { background:#f0f2ed; color:#151a17; }
.site-nav .site-nav-link.is-active { background:#eff5d7; color:#4c6500; }
.site-nav .site-nav-link.is-active:after {
  content:""; position:absolute; left:11px; right:11px; bottom:4px; height:2px;
  border-radius:2px; background:#9bc300;
}
.site-nav .nav-cta { margin-left:7px; min-height:42px; display:inline-flex; align-items:center; }

/* Cadre commun aux pages internes */
.site-page {
  max-width:var(--site-max);
  width:100%;
  margin:0 auto;
  padding:8px var(--site-pad) 88px;
}
.site-page .breadcrumbs {
  min-height:38px;
  display:flex;
  align-items:center;
  gap:8px;
  margin:4px 0 14px;
  color:#7a837d;
  font-size:10px;
  font-weight:760;
}
.site-page .breadcrumbs a { color:#68716b; text-decoration:none; }
.site-page .breadcrumbs a:hover { color:#151a17; }
.site-page .breadcrumbs span { color:#b6bdb7; }
.site-page .breadcrumbs strong { color:#39413c; font-weight:850; }

.site-page-hero {
  position:relative;
  min-height:268px;
  margin:0 0 22px!important;
  padding:38px 42px!important;
  overflow:hidden;
  border:1px solid #e0e4dd!important;
  border-radius:var(--site-radius-xl)!important;
  background:
    radial-gradient(circle at 83% 26%,rgba(200,240,0,.16),transparent 15rem),
    radial-gradient(circle at 67% 110%,rgba(21,26,23,.055),transparent 24rem),
    linear-gradient(112deg,#fff 0%,#fbfbf7 65%,#f0f2e8 100%)!important;
  box-shadow:0 18px 55px rgba(18,25,21,.06)!important;
}
.site-page-hero:after {
  content:"";
  position:absolute;
  right:-48px;
  bottom:-82px;
  width:260px;
  height:260px;
  border:42px solid rgba(21,26,23,.035);
  border-radius:50%;
  pointer-events:none;
}
.site-page-hero > * { position:relative; z-index:2; }
.site-page-hero .eyebrow { margin-bottom:14px; color:#557300; }
.site-page-hero h1 {
  margin:0;
  max-width:900px;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(48px,5.3vw,72px)!important;
  line-height:.94!important;
  letter-spacing:-.058em!important;
  font-weight:650!important;
}
.site-page-hero h1 span {
  display:inline;
  color:inherit;
  background:linear-gradient(180deg,transparent 59%,var(--accent) 59%);
  padding:0 .04em .04em;
}
.site-page-hero p {
  max-width:760px;
  margin:17px 0 0;
  color:#66706a;
  font-size:14px;
  line-height:1.62;
}
.site-page-hero .freshness {
  display:inline-flex;
  align-items:center;
  gap:5px;
  margin-top:16px;
  padding:8px 10px;
  border:1px solid #dfe8bc;
  border-radius:999px;
  background:#f7fbe9;
  color:#536900;
  font-size:10px;
  font-weight:800;
}

/* Les éléments visuels spécifiques restent présents mais suivent la même grille. */
.company-hero.site-page-hero,
.fare-seo-hero.site-page-hero,
.object-detail-hero.site-page-hero,
.history-detail-hero.site-page-hero {
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:28px;
}
.ranking-hero.site-page-hero,
.dimension-hero.site-page-hero,
.history-hero.site-page-hero {
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(270px,.55fr);
  align-items:center;
  gap:28px;
}
.objects-hero.site-page-hero { display:block; }
.sitemap-hero.site-page-hero { min-height:230px; display:flex; align-items:center; }
.compare-hero.site-page-hero { min-height:250px; }

.site-page-hero .iata.big,
.site-page-hero .history-company-id,
.site-page-hero .history-item-icon,
.site-page-hero .object-main-verdict,
.site-page-hero .fare-seo-brand {
  position:relative;
  z-index:3;
}
.site-page-hero .iata.big {
  width:92px;
  height:92px;
  border-radius:25px;
  box-shadow:0 12px 28px rgba(18,25,21,.12);
}

/* Bandeaux de chiffres : même composant partout */
.seo-summary,
.fare-facts,
.dimension-stats,
.history-stats {
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
  margin:0 0 18px!important;
}
.seo-summary article,
.fare-facts article,
.dimension-stats article,
.history-stats article {
  min-height:132px;
  padding:20px!important;
  border:1px solid #e1e5df!important;
  border-radius:19px!important;
  background:#fff!important;
  box-shadow:0 7px 22px rgba(18,25,21,.035)!important;
}
.seo-summary article > span,
.fare-facts article > span,
.dimension-stats article > span,
.history-stats article > span {
  display:block;
  margin-bottom:10px;
  color:#7a837d;
  font-size:9px!important;
  font-weight:900;
  letter-spacing:.075em;
  text-transform:uppercase;
}
.seo-summary article > strong,
.fare-facts article > strong,
.dimension-stats article > strong,
.history-stats article > strong {
  display:block;
  font-family:Georgia,"Times New Roman",serif;
  font-size:30px!important;
  line-height:1.02;
  letter-spacing:-.04em;
}
.seo-summary article > small,
.fare-facts article > small,
.dimension-stats article > small,
.history-stats article > small {
  display:block;
  margin-top:8px;
  color:#7a837d;
  font-size:9px!important;
  line-height:1.4;
}

/* Sections : mêmes surfaces, titres et espacements */
.site-page .section-heading { margin-bottom:20px; }
.site-page .section-heading.compact { margin-bottom:18px; }
.site-page .section-heading h2 { font-size:25px; }
.site-page .section-heading p { max-width:760px; font-size:11px; line-height:1.5; }
.site-page .step { background:#151a17; color:var(--accent); }

.seo-intro,
.ranking-method,
.fare-rules-section,
.related-fares,
.dimension-results,
.related-dimensions,
.object-search-card,
.object-categories,
.object-results,
.object-safety-note,
.object-rule-box,
.object-context-note,
.related-objects,
.history-method,
.history-airlines,
.history-checks,
.history-timeline-section,
.history-interpretation,
.sitemap-section,
.faq-section {
  margin:16px 0 0!important;
  padding:24px!important;
  border:1px solid #e1e5df!important;
  border-radius:var(--site-radius-lg)!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 7px 24px rgba(18,25,21,.035)!important;
}

/* Les sections contenant beaucoup de cartes n'ajoutent pas d'ombres parasites. */
.fare-list,
.ranking-section {
  margin:16px 0 0!important;
  padding:24px!important;
  border:1px solid #e1e5df;
  border-radius:var(--site-radius-lg);
  background:#fff;
  box-shadow:0 7px 24px rgba(18,25,21,.035);
}
.fare-list .fare-card,
.ranking-section .ranking-card,
.dimension-result-card,
.object-card,
.history-airline-card,
.related-fare-grid a,
.dimension-link-grid a,
.related-object-grid a,
.sitemap-company-grid article {
  border-color:#e1e5df!important;
  border-radius:16px!important;
  box-shadow:none!important;
  background:#fbfcf9!important;
}
.fare-list .fare-card:hover,
.ranking-section .ranking-card:hover,
.dimension-result-card:hover,
.object-card:hover,
.history-airline-card:hover,
.related-fare-grid a:hover,
.dimension-link-grid a:hover,
.related-object-grid a:hover {
  border-color:#cbd2ca!important;
  background:#fff!important;
  box-shadow:0 9px 25px rgba(18,25,21,.055)!important;
}

/* CTA identique sur toutes les pages */
.site-page .seo-cta {
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:28px!important;
  margin:18px 0 0!important;
  padding:28px 30px!important;
  border:1px solid #252c28!important;
  border-radius:var(--site-radius-lg)!important;
  background:linear-gradient(135deg,#151a17,#242c27)!important;
  color:#fff!important;
  box-shadow:0 12px 34px rgba(18,25,21,.10)!important;
}
.site-page .seo-cta .eyebrow { margin-bottom:8px; color:var(--accent)!important; }
.site-page .seo-cta h2 { margin:0; color:#fff; font-family:Georgia,"Times New Roman",serif; font-size:28px; letter-spacing:-.04em; }
.site-page .seo-cta p { margin:7px 0 0; max-width:720px; color:#bcc5bf!important; font-size:11px; line-height:1.5; }
.site-page .seo-cta .primary-btn { flex:0 0 auto; margin:0; background:var(--accent); color:#151a17; }
.site-page .seo-cta .primary-btn span { color:#151a17; }

/* Comparateur : même architecture que les pages SEO */
.compare-layout {
  grid-template-columns:minmax(330px,.75fr) minmax(0,1.25fr)!important;
  gap:16px!important;
}
.compare-form-card,
.compare-empty,
.compare-summary,
.compare-legend {
  border:1px solid #e1e5df!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:0 7px 24px rgba(18,25,21,.035)!important;
}
.compare-form-card { padding:24px!important; }
.compare-summary { padding:14px 16px!important; }
.compare-legend { margin-top:8px!important; padding:11px 14px!important; }
.compare-results { gap:8px!important; margin-top:10px; }
.compare-row {
  border:1px solid #e1e5df!important;
  border-radius:15px!important;
  background:#fff!important;
  box-shadow:none!important;
}
.compare-row.ok { border-left:4px solid #8bbd00!important; }
.compare-row.paid,.compare-row.upgrade { border-left:4px solid #e4b342!important; }
.compare-row.no { border-left:4px solid #d57b69!important; }
.compare-empty { min-height:330px; display:grid; place-items:center; padding:28px!important; color:#7a837d; }

/* Tableaux / grilles harmonisés */
.ranking-table-wrap,
.rule-table,
.history-check-list,
.history-groups { border-radius:15px; overflow:hidden; }
.ranking-table { width:100%; border-collapse:separate; border-spacing:0; }
.ranking-table th { background:#f6f8f3!important; color:#737d76!important; font-size:9px!important; letter-spacing:.06em; text-transform:uppercase; }
.ranking-table td { border-color:#ecefeb!important; }
.score-meter { background:#edf0ea!important; }
.score-meter span { background:linear-gradient(90deg,#93bd00,var(--accent))!important; }

/* Objets */
.object-search-card form { margin-top:0; }
.object-search-row { gap:10px!important; }
.object-category-chips a,
.format-chips a,
.sitemap-links a {
  border-color:#e0e5de!important;
  background:#f9faf7!important;
}
.object-category-chips a:hover,
.format-chips a:hover,
.sitemap-links a:hover {
  border-color:#b8c0b8!important;
  background:#fff!important;
  box-shadow:none!important;
}
.object-verdict-grid { gap:12px!important; margin:0 0 18px!important; }
.object-verdict-grid > article,
.object-verdict-grid > div {
  border-radius:18px!important;
  box-shadow:0 7px 22px rgba(18,25,21,.035)!important;
}

/* Historique */
.history-version-card,
.history-group {
  border-color:#e1e5df!important;
  border-radius:17px!important;
  box-shadow:none!important;
}
.history-version.current .history-version-card { border-color:#cadf77!important; background:#fcfff4!important; }
.history-dot { background:#151a17!important; box-shadow:0 0 0 5px #f1f5e4!important; }
.history-version.current .history-dot { background:#9bc300!important; }
.history-state.current,.history-result.verified { background:#edf7d1!important; color:#536f00!important; }

/* FAQ */
.faq-list { display:grid; gap:8px; }
.faq-list details {
  border:1px solid #e5e9e3!important;
  border-radius:13px!important;
  background:#fafbf8!important;
  overflow:hidden;
}
.faq-list details[open] { background:#fff!important; border-color:#ccd3cb!important; }
.faq-list summary { padding:14px 15px!important; font-size:12px!important; font-weight:850!important; cursor:pointer; }
.faq-list details p { margin:0!important; padding:0 15px 15px!important; color:#69736d!important; font-size:11px!important; line-height:1.55!important; }

/* Plan du site */
.sitemap-section > h2 { margin-top:0!important; font-family:Georgia,"Times New Roman",serif; font-size:25px!important; }
.sitemap-section > h3 { color:#59635d; }

/* Footer commun */
.site-footer {
  max-width:var(--site-max);
  margin:0 auto;
  padding:0 var(--site-pad) 34px!important;
  border:0!important;
  color:#68716b;
  font-size:11px;
}
.site-footer-grid {
  display:grid;
  grid-template-columns:minmax(300px,1.6fr) repeat(3,minmax(140px,.65fr));
  gap:26px;
  padding:28px;
  border:1px solid #dfe4dd;
  border-radius:24px 24px 0 0;
  background:#fff;
}
.site-footer-brand .brand { width:max-content; margin-bottom:13px; }
.site-footer-brand p { max-width:500px; margin:0; color:#7a837d; line-height:1.6; }
.site-footer-column { display:flex; flex-direction:column; gap:8px; }
.site-footer-column > strong { margin-bottom:4px; color:#151a17; font-size:11px; }
.site-footer-column a { color:#66706a; text-decoration:none; font-weight:700; }
.site-footer-column a:hover { color:#151a17; text-decoration:underline; }
.site-footer-column span { color:#8a938d; line-height:1.45; }
.site-footer-bottom {
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:12px 18px;
  border:1px solid #dfe4dd;
  border-top:0;
  border-radius:0 0 18px 18px;
  background:#f8faf6;
  color:#8a938d;
  font-size:9px;
}

/* Accueil : même rythme que les pages internes */
.home-page-main { max-width:var(--site-max); margin:0 auto; padding:0 var(--site-pad) 86px; }
.home-page-main .companies,
.home-page-main .how,
.home-page-main .dimension-hub,
.home-page-main .ranking-home,
.home-page-main .objects-home {
  padding-top:0!important;
  margin-top:18px!important;
  padding:24px!important;
  border:1px solid #e1e5df;
  border-radius:var(--site-radius-lg);
  background:#fff;
  box-shadow:0 7px 24px rgba(18,25,21,.035);
}
.home-page-main .history-home,.home-page-main .compare-promo { margin-top:18px!important; }
.home-page-main .home-confidence-strip { margin-top:18px!important; }
.home-page-main .home-overview { margin:22px 0 18px!important; }

@media (max-width:1100px) {
  .site-nav .site-nav-link:nth-of-type(3),
  .site-nav .site-nav-link:nth-of-type(6) { display:none; }
  .ranking-hero.site-page-hero,
  .dimension-hero.site-page-hero,
  .history-hero.site-page-hero { grid-template-columns:1fr minmax(240px,.5fr); }
  .site-footer-grid { grid-template-columns:1.4fr repeat(2,1fr); }
  .site-footer-column:last-child { grid-column:2/-1; }
}
@media (max-width:900px) {
  .site-topbar { padding-left:18px; padding-right:18px; }
  .site-page,.home-page-main { padding-left:18px; padding-right:18px; }
  .site-page-hero { padding:30px!important; min-height:230px; }
  .company-hero.site-page-hero,
  .fare-seo-hero.site-page-hero,
  .object-detail-hero.site-page-hero,
  .history-detail-hero.site-page-hero,
  .ranking-hero.site-page-hero,
  .dimension-hero.site-page-hero,
  .history-hero.site-page-hero { grid-template-columns:1fr; }
  .compare-layout { grid-template-columns:1fr!important; }
  .seo-summary,.fare-facts,.dimension-stats,.history-stats { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  .site-page .seo-cta { align-items:flex-start!important; flex-direction:column; }
  .site-footer { padding-left:18px!important; padding-right:18px!important; }
  .site-footer-grid { grid-template-columns:1fr 1fr; }
  .site-footer-brand { grid-column:1/-1; }
}
@media (max-width:760px) {
  .site-topbar .brand-copy small { display:none; }
  .site-nav { max-width:none!important; overflow:visible!important; }
  .site-nav .site-nav-link { display:none!important; }
  .site-nav .site-nav-link.is-active { display:inline-flex!important; }
  .site-nav .nav-cta { display:inline-flex!important; }
  .site-page,.home-page-main { padding-left:14px; padding-right:14px; }
  .site-page-hero { padding:25px 22px!important; border-radius:23px!important; }
  .site-page-hero h1 { font-size:clamp(42px,12vw,58px)!important; }
  .seo-intro,.ranking-method,.fare-rules-section,.related-fares,.dimension-results,.related-dimensions,.object-search-card,.object-categories,.object-results,.object-safety-note,.object-rule-box,.object-context-note,.related-objects,.history-method,.history-airlines,.history-checks,.history-timeline-section,.history-interpretation,.sitemap-section,.faq-section,.fare-list,.ranking-section { padding:18px!important; border-radius:18px!important; }
  .site-footer { padding-left:14px!important; padding-right:14px!important; }
  .site-footer-grid { grid-template-columns:1fr; padding:21px; }
  .site-footer-brand,.site-footer-column:last-child { grid-column:auto; }
  .site-footer-bottom { flex-direction:column; gap:4px; }
}
@media (max-width:520px) {
  .site-topbar .brand-copy strong { font-size:18px; }
  .site-topbar .brand-mark { width:38px; height:38px; }
  .site-nav .site-nav-link.is-active { display:none!important; }
  .site-nav .nav-cta { padding:10px 12px!important; font-size:10px!important; }
  .seo-summary,.fare-facts,.dimension-stats,.history-stats { grid-template-columns:1fr!important; }
  .site-page .seo-cta { padding:22px!important; }
  .site-page .seo-cta h2 { font-size:25px; }
}
