/* French and Simplified Chinese pages only (multilingual P1). Loaded after pages.css; English pages never load it.
   Every rule is scoped to .fpp-l10n, a class only these pages carry, or to an fpp-l10n-/fpp-est- class of its own. */

/* Simplified Chinese: there is no self-hosted CJK font, so Chinese characters fall through to the platform's own
   Simplified Chinese faces; Latin letters and figures keep the site's fonts. CJK headings get looser leading, no
   negative tracking, and eyebrows no capitals or wide letter-spacing. */
html:lang(zh-Hans){--display:Newsreader,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC","Noto Sans SC",Georgia,serif;--body:"Libre Franklin","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC","Noto Sans SC",Arial,sans-serif}
html:lang(zh-Hans) .fpp-l10n main :is(h1,h2,h3){letter-spacing:0;line-height:1.3;font-weight:500}
html:lang(zh-Hans) .fpp-l10n main h1{line-height:1.25;font-size:clamp(32px,2.6vw + 20px,58px)}
html:lang(zh-Hans) .fpp-l10n main h2{font-size:clamp(26px,1.2vw + 20px,36px)}
html:lang(zh-Hans) .fpp-l10n :is(.fpp-eyebrow,.fpp-prose .eyebrow,.fpp-result h2){letter-spacing:.06em!important;text-transform:none}
html:lang(zh-Hans) .fpp-l10n{line-height:1.75}
html:lang(zh-Hans) .fpp-l10n em{font-style:normal}

.fpp-l10n-hero-note{max-width:64ch;font-size:15px;color:var(--muted);margin-top:18px!important}
.fpp-l10n-note{margin-top:32px;padding:20px 24px;background:var(--paper);border:1px solid var(--line);border-left:3px solid var(--bronze);border-radius:4px;max-width:78ch}
.fpp-l10n-note h3{font-size:22px}
.fpp-l10n-note p:last-child{margin-bottom:0}
.fpp-prose .fpp-l10n-aside{padding:16px 20px;background:var(--paper);border-left:3px solid var(--gold);font-size:16px}
.fpp-l10n-prose{max-width:76ch}
.fpp-l10n-prose h3{margin-top:28px}
.fpp-l10n-language{margin-top:28px;max-width:76ch}
.fpp-l10n-links{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:0 32px}
.fpp-l10n-english{margin-top:40px;padding-top:24px;border-top:1px solid var(--line)}
.fpp-l10n-english h3{font-size:20px}
.fpp-l10n-english ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 28px}
.fpp-l10n-english a{display:inline-flex;align-items:center;min-height:44px}
.fpp-l10n-facts{max-width:76ch;margin:0 0 24px;padding-left:20px}
.fpp-l10n-facts li{margin-bottom:8px}
.fpp-navigator .fpp-l10n-facts li{color:var(--on-navy-soft)}
.fpp-navigator .fpp-steps span{display:block}
.fpp-l10n main .fpp-l10n-prices{padding:64px 0}
.fpp-l10n-table{width:100%;border-collapse:collapse;font-size:16px;line-height:1.55;background:var(--paper)}
.fpp-l10n-table caption{text-align:left;font-weight:600;padding:0 0 10px;color:#33404f}
.fpp-l10n-table :is(th,td){padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.fpp-l10n-table thead th{font-size:14px;color:var(--muted);font-weight:600}
.fpp-l10n-table tbody th{font-weight:600}
.fpp-l10n-table td:last-child{text-align:right;white-space:nowrap}
.fpp-l10n-prices .fpp-l10n-table td:last-child{text-align:left;white-space:normal}
.fpp-l10n-price{white-space:nowrap;font-weight:600}
.fpp-l10n-table tr[data-kind="total"] :is(th,td){font-weight:700;border-top:2px solid var(--navy)}
.fpp-l10n main .fpp-method-page{padding:8px 0 56px}

/* Acquisition-cost estimator. */
.fpp-l10n main .fpp-est{padding:8px 0 64px}
.fpp-est-term{max-width:64ch;color:#33404f;margin-top:-4px!important}
.fpp-est-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:28px;align-items:start}
.fpp-est-form fieldset{border:0;margin:0;padding:0;min-width:0}
.fpp-est-form legend{padding:0;margin-bottom:16px;font:450 26px/1.2 var(--display)}
.fpp-est-field{margin-bottom:20px}
.fpp-est-field>label{display:block;font-size:16px;font-weight:600;margin-bottom:6px}
.fpp-est-form :is(input[type="text"],input[type="date"],select){width:100%;min-height:48px;padding:10px 12px;border:1px solid var(--field-border);border-radius:3px;background:#fff;color:var(--ink);font:17px/1.3 var(--body);font-variant-numeric:tabular-nums}
.fpp-est-form select{appearance:auto}
.fpp-est-form :is(input,select):focus-visible{outline:3px solid #98711d;outline-offset:2px}
.fpp-est-range{width:100%;margin:12px 0 0;accent-color:var(--navy);min-height:24px}
.fpp-est-check{display:grid;grid-template-columns:24px minmax(0,1fr);gap:12px;align-items:start;margin:8px 0 20px;font-size:15px;line-height:1.55;cursor:pointer}
.fpp-est-check input{width:22px;height:22px;margin:2px 0 0;accent-color:var(--navy)}
.fpp-est-more{margin:4px 0 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.fpp-est-more summary{display:flex;align-items:center;min-height:48px;font-weight:600;cursor:pointer}
.fpp-est-more[open] summary{margin-bottom:12px}
.fpp-est-error{margin:16px 0 0;padding:14px 18px;border:1px solid var(--error);border-left-width:5px;border-radius:3px;background:var(--error-surface);color:var(--error);font-weight:600}
.fpp-est-result .fpp-fine{color:var(--on-navy-soft)}
.fpp-est-result .fpp-notice{color:var(--ink)}
.fpp-est-result .fpp-notice .fpp-fine,.fpp-est-result .fpp-notice p{color:var(--ink)}
.fpp-est-result noscript p{color:var(--on-navy)}
.fpp-est-result noscript a,.fpp-est-result>.fpp-fine a{color:#f5eddd}
.fpp-est-table{width:100%;border-collapse:collapse;margin:8px 0 16px;font-size:16px;line-height:1.45}
.fpp-est-table :is(th,td){padding:12px 0;border-bottom:1px solid rgba(247,243,236,.22);text-align:left;vertical-align:top;color:var(--on-navy);font-weight:500}
.fpp-est-table td{text-align:right;white-space:nowrap;padding-left:16px;font-variant-numeric:tabular-nums}
.fpp-est-table small{display:block;margin-top:4px;font-size:13px;color:var(--on-navy-soft);font-weight:400}
.fpp-est-sub{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;padding:12px 0 4px;font-weight:600}
.fpp-est-sub strong{font-variant-numeric:tabular-nums}
.fpp-est-sub p{flex-basis:100%;margin:0!important}
.fpp-est-result #est-date-line{margin-top:12px}
@media (max-width:900px){.fpp-est-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:760px){.fpp-l10n main .fpp-l10n-prices{padding:44px 0}.fpp-l10n-table :is(th,td){padding:10px 8px}}

/* Text generated by pages.css (the field-error prefix), in the page language. */
html:lang(fr) .fpp-field-error::before{content:"Erreur\00a0: "}
html:lang(zh-Hans) .fpp-field-error::before{content:"错误："}

/* French legal and consumer-information pages (candidate-02). */
.fpp-legal-box{margin:24px 0;padding:20px 24px;border:1px solid var(--line);border-left:3px solid var(--bronze);border-radius:4px;background:var(--paper)}
.fpp-legal-box h3{margin-top:0;font-size:22px}
.fpp-legal-box p:last-child{margin-bottom:0}
.fpp-legal h2{scroll-margin-top:20px}
.fpp-legal-scope{font-weight:500;color:#22324a}
/* Candidate-09 (French pages only; the Chinese table already fits): on a phone the price cell wraps (« 399 € en paiement unique ») and, on the narrowest screens, the cells' side padding is a little smaller, so the French price table fits the screen instead of hiding « Ce qui est inclus » off to the side. */
@media (max-width:760px){:lang(fr) .fpp-l10n-price{white-space:normal}}
@media (max-width:400px){:lang(fr) .fpp-l10n-prices .fpp-l10n-table :is(th,td){padding-left:6px;padding-right:6px}}
