/* Shared styles for Vaytax French (/fr/) marketing pages. Loaded after styles-v2 + nav.css. */
.frhome-hero{background:linear-gradient(180deg,#f8f9fb 0%,#fff 100%);padding:64px 20px 40px;text-align:center}
.frhome-hero .eyebrow-flag{display:inline-flex;align-items:center;gap:8px;font-family:'Montserrat',sans-serif;font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:#8a6d3b;margin-bottom:18px}
.frhome-hero .flag{display:inline-flex;width:22px;height:14px;border-radius:2px;overflow:hidden;box-shadow:0 0 0 1px rgba(0,0,0,.06)}
.frhome-hero .flag span{flex:1}
.frhome-hero h1{font-family:'Marcellus',serif;color:#233985;font-size:clamp(1.9rem,4.4vw,3rem);line-height:1.15;margin:0 auto 18px;max-width:820px}
.frhome-hero h1 em{font-style:italic;color:#8a6d3b}
.frhome-hero .lede{font-family:'Roboto',sans-serif;font-size:17px;line-height:1.7;color:#555;max-width:680px;margin:0 auto 28px}
.frhome-cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.frbtn-primary,.frbtn-secondary{display:inline-block;font-family:'Montserrat',sans-serif;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:1px;padding:14px 28px;border-radius:4px;text-decoration:none;transition:transform .15s,box-shadow .15s}
.frbtn-primary{background:#233985;color:#fff}
.frbtn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(35,57,133,.25)}
.frbtn-secondary{background:transparent;color:#233985;border:1.5px solid #233985}
.frbtn-secondary:hover{background:#f2f4fb}
.frhome-kpis{display:flex;gap:36px;justify-content:center;flex-wrap:wrap;margin:36px auto 0;max-width:760px}
.frhome-kpis>div{text-align:center}
.frhome-kpis .num{font-family:'Marcellus',serif;font-size:30px;color:#233985;line-height:1}
.frhome-kpis .lbl{font-family:'Montserrat',sans-serif;font-size:11px;letter-spacing:.5px;text-transform:uppercase;color:#7a7a7a;margin-top:6px}
.fr-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
@media(max-width:780px){.fr-card-grid{grid-template-columns:1fr}}
.fr-card{background:#fff;border:1px solid #ece8e0;border-radius:8px;padding:26px}
.fr-card.warn{background:#fffdf8;border-color:#f0e9dd;border-left:3px solid #8a6d3b}
.fr-card .ic{font-size:26px;margin-bottom:12px}
.fr-card .kicker{font-family:'Montserrat',sans-serif;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:#8a6d3b;margin-bottom:10px}
.fr-card h3{font-family:'Marcellus',serif;font-size:19px;color:#233985;margin:0 0 10px}
.fr-card p{font-family:'Roboto',sans-serif;font-size:14px;color:#7a7a7a;line-height:1.65;margin:0}
.fr-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
@media(max-width:780px){.fr-steps{grid-template-columns:1fr 1fr}}
.fr-step .n{font-family:'Marcellus',serif;font-size:34px;color:#8a6d3b;line-height:1}
.fr-step h3{font-family:'Marcellus',serif;font-size:17px;color:#233985;margin:8px 0 6px}
.fr-step p{font-family:'Roboto',sans-serif;font-size:13.5px;color:#7a7a7a;line-height:1.6;margin:0}
.fr-trust{background:#fffdf8;border:1px solid #f0e9dd;border-left:3px solid #8a6d3b;border-radius:8px;padding:28px 30px;max-width:860px;margin:0 auto}
.fr-trust h2{font-family:'Marcellus',serif;color:#233985;font-size:23px;margin:0 0 12px}
.fr-trust p{font-family:'Roboto',sans-serif;font-size:15px;color:#555;line-height:1.7;margin:0}
.fr-price-card{max-width:520px;margin:0 auto;background:#fff;border:1px solid #e4e7ee;border-radius:12px;padding:30px;text-align:center}
.fr-price-card .amount{font-family:'Marcellus',serif;font-size:44px;color:#233985}
.fr-price-card .unit{font-family:'Montserrat',sans-serif;font-size:13px;color:#7a7a7a;text-transform:uppercase;letter-spacing:1px}
.fr-price-card .allin{font-family:'Roboto',sans-serif;font-size:14px;color:#555;margin:14px 0 0}
.fr-reassure{background:#f7f8fb;border-radius:12px;padding:30px;max-width:860px;margin:0 auto;text-align:center}
.fr-reassure h2{font-family:'Marcellus',serif;color:#233985;font-size:23px;margin:0 0 10px}
.fr-reassure p{font-family:'Roboto',sans-serif;font-size:15px;color:#555;line-height:1.7;margin:0 auto 18px;max-width:640px}
.fr-prose{max-width:760px;margin:0 auto}
.fr-prose h2{font-family:'Marcellus',serif;color:#233985;font-size:24px;margin:34px 0 12px}
.fr-prose h3{font-family:'Marcellus',serif;color:#233985;font-size:19px;margin:24px 0 8px}
.fr-prose p,.fr-prose li{font-family:'Roboto',sans-serif;font-size:15.5px;color:#444;line-height:1.75}
.fr-prose ul{padding-left:22px}
.fr-prose strong{color:#233985}
.fr-faq{max-width:760px;margin:0 auto}
.fr-faq details{border-bottom:1px solid #e4e7ee;padding:16px 0}
.fr-faq summary{font-family:'Montserrat',sans-serif;font-size:15px;font-weight:600;color:#233985;cursor:pointer;list-style:none}
.fr-faq summary::-webkit-details-marker{display:none}
.fr-faq p{font-family:'Roboto',sans-serif;font-size:14.5px;color:#555;line-height:1.7;margin:12px 0 0}
.fr-darkcta{background:#14203b;color:#fff;text-align:center;padding:56px 20px}
.fr-darkcta h2{font-family:'Marcellus',serif;font-size:28px;margin:0 0 14px}
.fr-darkcta p{font-family:'Roboto',sans-serif;font-size:15px;color:#c7d0e4;max-width:560px;margin:0 auto 26px;line-height:1.7}
.fr-darkcta .frbtn-primary{background:#f4e8d0;color:#14203b}
.fr-darkcta .frbtn-secondary{color:#fff;border-color:rgba(255,255,255,.4)}
.nav-lang{font-family:'Montserrat',sans-serif;font-size:12px;font-weight:600;letter-spacing:1px;color:#7a7a7a;text-decoration:none;padding:0 6px}
.nav-lang:hover{color:#233985}
/* Wedge / régularisation */
.fr-letter-stage{max-width:360px;margin:0 auto;border:1px solid #e4e7ee;border-radius:10px;background:#fff;padding:22px;box-shadow:0 10px 30px rgba(20,32,59,.08);position:relative}
.fr-letter-stage .ag{font-family:'Roboto',sans-serif;font-size:12px;color:#7a7a7a}
.fr-letter-stage .ag strong{color:#233985}
.fr-letter-stage .bet{font-family:'Marcellus',serif;color:#233985;font-size:16px;margin:10px 0}
.fr-letter-stage .row{display:flex;justify-content:space-between;font-family:'Roboto Mono',monospace;font-size:13px;color:#444;padding:3px 0}
.fr-letter-stage .row.tot{border-top:1px solid #e4e7ee;margin-top:6px;padding-top:8px;font-weight:600;color:#b3261e}
.fr-letter-stage .stamp{position:absolute;right:-10px;bottom:18px;background:#233985;color:#fff;font-family:'Montserrat',sans-serif;font-size:11px;font-weight:600;letter-spacing:.5px;padding:7px 12px;border-radius:4px;transform:rotate(-4deg)}
.fr-letter-stage .stamp small{display:block;font-weight:400;opacity:.85;font-size:9px}
.fr-intake{max-width:560px;margin:0 auto;background:#fff;border:1px solid #e4e7ee;border-radius:12px;padding:28px}
.fr-intake .f-lbl{display:block;font-family:'Montserrat',sans-serif;font-size:12px;font-weight:600;letter-spacing:.5px;color:#233985;margin:14px 0 6px}
.fr-intake .f-in,.fr-intake textarea,.fr-intake select{width:100%;font-family:'Roboto',sans-serif;font-size:15px;padding:11px 13px;border:1px solid #c5c5c5;border-radius:6px;background:#fff}
.fr-intake textarea{min-height:90px;resize:vertical}
.fr-intake .split{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:560px){.fr-intake .split{grid-template-columns:1fr}}
.fr-intake .consent{display:flex;gap:8px;align-items:flex-start;margin-top:14px;font-family:'Roboto',sans-serif;font-size:13px;color:#555}
.fr-intake .err{background:#fef2f2;border:1px solid #fca5a5;color:#991b1b;border-radius:6px;padding:10px 12px;font-family:'Roboto',sans-serif;font-size:13.5px;margin-bottom:12px;display:none}
.fr-intake .ok{background:#ecfdf5;border:1px solid #6ee7b7;color:#065f46;border-radius:6px;padding:14px;font-family:'Roboto',sans-serif;font-size:14px;display:none}
/* Footer: FR pages have 4 content columns + brand = 5 children; the shared grid is built for 6 (EN footer). Use 5 tracks on desktop so there's no empty column. Responsive collapse (<=1180/720/420) is inherited from styles-v2-pages.css unchanged. */
@media (min-width: 1181px) { .v2-footer-grid { grid-template-columns: 1.6fr 1fr 1fr 1fr 1fr; } }
/* Responsive grid modifiers (inline grid-template-columns beats media queries, so use classes that collapse on mobile) */
.fr-hero-2col{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
@media (max-width:780px){ .fr-hero-2col{grid-template-columns:1fr;gap:28px} }
@media (min-width:781px){ .fr-card-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))} .fr-steps.three{grid-template-columns:repeat(3,minmax(0,1fr))} }
