@font-face{font-family:Montserrat;font-weight:700;src:url(../fonts/montserrat-latin-700-normal.woff2)}
@font-face{font-family:Montserrat;font-weight:800;src:url(../fonts/montserrat-latin-800-normal.woff2)}
@font-face{font-family:Franklin;font-weight:400;src:url(../fonts/libre-franklin-latin-400-normal.woff2)}
@font-face{font-family:Franklin;font-weight:600;src:url(../fonts/libre-franklin-latin-600-normal.woff2)}
@font-face{font-family:Franklin;font-weight:400;font-style:italic;src:url(../fonts/libre-franklin-latin-400-italic.woff2)}

:root{--navy:#12233D;--navy2:#1C3357;--red:#CE1126;--gold:#FCD116;--green:#009460;--muted:#5B6678;--bg:#F4F6F9}
*{box-sizing:border-box;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.bro{font-family:Franklin,sans-serif;color:var(--navy);font-size:11pt;line-height:1.45}
.bro h1,.bro h2,.bro h3,.bro .disp{font-family:Montserrat,sans-serif;font-weight:800;margin:0}
.page{width:210mm;height:296.5mm;position:relative;overflow:hidden;page-break-after:always;background:#fff}
.page:last-child{page-break-after:auto}
.flag{display:none}
.inner{padding:13mm 16mm 0}
.kicker{font-family:Montserrat;font-weight:800;font-size:8.5pt;letter-spacing:2.5px;text-transform:uppercase;color:var(--red)}
.foot{position:absolute;left:16mm;right:16mm;bottom:10mm;display:flex;justify-content:space-between;font-size:8.5pt;color:var(--muted);border-top:1px solid #E1E5EC;padding-top:3mm}
.foot b{color:var(--navy)}

/* Couverture */
.cover{background:var(--navy);color:#fff}
.cover .top{background:#fff;padding:10mm 16mm;display:flex;align-items:center;justify-content:space-between}
.cover .top img{height:24mm}
.cover .top span{font-family:Montserrat;font-weight:800;font-size:9pt;letter-spacing:2px;text-transform:uppercase;color:var(--navy)}
.cover .hero{padding:22mm 16mm 0;position:relative;z-index:2}
.cover .kicker{color:var(--gold)}
.cover h1{font-size:40pt;line-height:1.03;margin:5mm 0 7mm;letter-spacing:-.5px}
.cover h1 em{font-style:normal;color:var(--gold)}
.cover p.lead{font-size:13.5pt;color:#C7CFDB;max-width:140mm;margin:0}
.tv{position:absolute;right:-12mm;bottom:70mm;width:105mm;height:74mm;border:7px solid #fff;border-radius:22px;background:linear-gradient(135deg,var(--red),#9E0D1D 55%,var(--navy2));transform:rotate(-6deg);box-shadow:0 20px 50px rgba(0,0,0,.45);padding:12mm;display:flex;flex-direction:column;justify-content:center;gap:4mm}
.tv::before,.tv::after{content:"";position:absolute;top:-15mm;width:2.2mm;height:16mm;background:#fff;border-radius:2px}
.tv::before{left:38%;transform:rotate(-30deg)}.tv::after{right:38%;transform:rotate(30deg)}
.tv .tag{align-self:flex-start;background:var(--gold);color:var(--navy);font-family:Montserrat;font-weight:800;font-size:8pt;letter-spacing:1.5px;padding:1.5mm 3mm;border-radius:3px;text-transform:uppercase}
.tv strong{font-family:Montserrat;font-weight:800;font-size:19pt;line-height:1.08}
.tv .bar{height:4px;width:55%;background:var(--gold);border-radius:2px}
.cover .stats{position:absolute;left:16mm;right:16mm;bottom:22mm;display:grid;grid-template-columns:repeat(3,1fr);gap:5mm;z-index:3}
.stat{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.15);border-radius:10px;padding:5mm}
.stat b{display:block;font-family:Montserrat;font-weight:800;font-size:20pt;color:var(--gold);line-height:1}
.stat span{font-size:9.5pt;color:#C7CFDB}
.cover .bottomflag{position:absolute;left:0;right:0;bottom:0}
.cover .site{position:absolute;left:16mm;bottom:12mm;font-family:Montserrat;font-weight:700;font-size:9pt;color:#A9B3C4;letter-spacing:1px}

/* Pages intérieures */
h2.big{font-size:23pt;line-height:1.1;margin:2mm 0 5mm}
.intro{font-size:12pt;color:var(--muted);max-width:165mm;margin:0 0 8mm}
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:5mm}
.card{background:var(--bg);border-radius:10px;padding:6mm;border-top:4px solid var(--gold)}
.card.r{border-top-color:var(--red)}.card.g{border-top-color:var(--green)}.card.n{border-top-color:var(--navy)}
.card .ico{font-size:20pt}
.card h3{font-size:13pt;margin:2mm 0 2mm}
.card p{margin:0;font-size:10pt;color:var(--muted)}
.band{margin:7mm 0 0;background:var(--navy);color:#fff;border-radius:12px;padding:8mm;display:grid;grid-template-columns:1.1fr 1fr;gap:8mm;align-items:center}
.band h3{font-size:15pt;color:#fff;margin-bottom:2mm}
.band p{margin:0;color:#C7CFDB;font-size:10.5pt}
.band ul{margin:0;padding:0;list-style:none}
.band li{padding:2mm 0 2mm 7mm;position:relative;font-size:10.5pt;border-bottom:1px solid rgba(255,255,255,.12)}
.band li:last-child{border:0}
.band li::before{content:"";position:absolute;left:0;top:3.6mm;width:3mm;height:3mm;border-radius:50%;background:var(--gold)}
.rubs{display:flex;flex-wrap:wrap;gap:2.5mm;margin-top:5mm}
.rubs span{border:1.5px solid #D5DBE4;border-radius:20px;padding:1.5mm 4mm;font-family:Montserrat;font-weight:700;font-size:9pt}
.sec{margin-top:7mm}
.sec h3.t{font-size:13pt;margin-bottom:4mm;display:flex;align-items:center;gap:3mm}
.sec h3.t::before{content:"";width:8mm;height:3px;background:var(--red)}

.formats{display:grid;grid-template-columns:repeat(2,1fr);gap:3mm}
.fmt{border:1px solid #E1E5EC;border-left:5px solid var(--navy);border-radius:8px;padding:3mm 4.5mm;break-inside:avoid}
.fmt.t{border-left-color:var(--red)}.fmt.s{border-left-color:var(--green)}
.badge{display:inline-block;font-family:Montserrat;font-weight:800;font-size:7pt;letter-spacing:1.2px;text-transform:uppercase;padding:1mm 2.2mm;border-radius:3px;background:var(--bg)}
.fmt.t .badge{background:#FBE5E8;color:#9E0D1D}.fmt.s .badge{background:#E3F4EC;color:#006B45}
.fmt h4{font-family:Montserrat;font-weight:800;font-size:11pt;margin:1.5mm 0 .8mm}
.fmt p{margin:0;font-size:9.2pt;line-height:1.35;color:var(--muted)}
.fmt .spec{margin-top:1.5mm;font-size:8.8pt;font-weight:600;color:var(--navy)}
.pack{margin-top:5mm;background:linear-gradient(120deg,var(--navy),var(--navy2) 60%,#3A0A12);color:#fff;border-radius:12px;padding:7mm 8mm;display:flex;gap:8mm;align-items:center}
.pack .kicker{color:var(--gold)}
.pack h3{font-size:17pt;margin:1mm 0 2mm;color:#fff}
.pack p{margin:0;color:#C7CFDB;font-size:10.5pt}
.pack .pill{flex:none;background:var(--gold);color:var(--navy);font-family:Montserrat;font-weight:800;padding:4mm 6mm;border-radius:30px;font-size:10pt}

.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:4mm}
.step{background:var(--bg);border-radius:10px;padding:5mm}
.step .n{display:flex;align-items:center;justify-content:center;width:10mm;height:10mm;border-radius:50%;background:var(--gold);font-family:Montserrat;font-weight:800;font-size:13pt;margin-bottom:3mm}
.step h4{font-family:Montserrat;font-weight:800;font-size:10.5pt;margin:0 0 1.5mm}
.step p{margin:0;font-size:9.2pt;color:var(--muted)}
.rules{display:grid;grid-template-columns:repeat(3,1fr);gap:4mm}
.rule{border:1px solid #E1E5EC;border-radius:10px;padding:5mm}
.rule h4{font-family:Montserrat;font-weight:800;font-size:10.5pt;margin:0 0 1.5mm;color:var(--green)}
.rule p{margin:0;font-size:9.4pt;color:var(--muted)}
.contact{margin-top:9mm;background:var(--navy);color:#fff;border-radius:14px;overflow:hidden;display:grid;grid-template-columns:1.15fr 1fr}
.contact .l{padding:9mm}
.contact .l .kicker{color:var(--gold)}
.contact h3{font-size:22pt;color:#fff;margin:2mm 0 3mm;line-height:1.1}
.contact .l p{color:#C7CFDB;margin:0 0 5mm;font-size:10.5pt}
.contact .wa{display:inline-block;background:#1FA855;color:#fff;font-family:Montserrat;font-weight:800;font-size:11pt;padding:3.5mm 6mm;border-radius:30px;text-decoration:none}
.contact .r{background:#fff;color:var(--navy);margin:6mm 6mm 6mm 0;border-radius:10px;padding:6mm}
.contact .r div{padding:2.6mm 0;border-bottom:1px solid #E1E5EC}
.contact .r div:last-child{border:0}
.contact .r span{display:block;font-size:7.5pt;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);font-weight:600}
.contact .r b{font-family:Montserrat;font-weight:800;font-size:11pt}
.note{font-style:italic;color:var(--muted);font-size:9.5pt;margin-top:4mm}

/* Visionneuse en ligne */
body.brochure-view{margin:0;background:#E9EDF2}
.bro-bar{position:sticky;top:0;z-index:10;display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;padding:10px 16px;background:var(--navy);color:#fff;font-family:Montserrat,sans-serif;font-weight:700}
.bro-bar a,.bro-bar button{font:inherit;font-size:14px;border:0;border-radius:30px;padding:10px 18px;cursor:pointer;text-decoration:none}
.bro-back{color:#fff;background:rgba(255,255,255,.12)}
.bro-dl{background:var(--gold);color:var(--navy)}
.bro-dl[disabled]{opacity:.7;cursor:wait}
.bro-stage{padding:20px 0 40px;display:flex;justify-content:center}
.bro-pages .page{margin:0 auto 18px;box-shadow:0 6px 24px rgba(18,35,61,.18)}
.bro-pages.exporting .page{margin:0;box-shadow:none}
@media print{body.brochure-view{background:#fff}.bro-bar{display:none}.bro-stage{padding:0}.bro-pages .page{margin:0;box-shadow:none}@page{size:A4;margin:0}}
