*{box-sizing:border-box}
html,body{margin:0;background:#e9edf2;color:#082a55;font-family:Arial,Helvetica,sans-serif}
body{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
.cs-print-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;justify-content:center;padding:14px;position:sticky;top:0;z-index:100;background:rgba(238,241,245,.97);backdrop-filter:blur(10px);box-shadow:0 4px 18px rgba(12,30,55,.08)}
.cs-print-toolbar button,.cs-print-toolbar a{border:1px solid #c7d0da;border-radius:9px;padding:9px 12px;background:#fff;color:#12375f;text-decoration:none;font-weight:800;cursor:pointer;font-size:13px}
.cs-print-toolbar button{background:#082a55;color:#fff;border-color:#082a55}
.cs-print-toolbar .cs-print-close{background:#fff;color:#12375f;border-color:#9fb0c1}
.cs-print-toolbar a.active{background:#c7922c;color:#fff;border-color:#c7922c}

/*
 * La page affichée à l'écran ET imprimée fait exactement A4.
 * Les 5 mm extérieurs restent volontairement blancs : ils servent de zone de sécurité
 * pour les imprimantes jet d'encre non borderless. Le contenu utile ne change donc
 * plus de géométrie au moment de l'impression.
 */
.cs-a4-page{width:210mm;height:297mm;margin:0 auto 24px;padding:5mm;background:#fff;box-shadow:0 24px 70px rgba(15,35,60,.18);overflow:hidden}
.cs-a4-poster{--navy:#082a55;--gold:#c7922c;--cream:#fffaf0;width:200mm;height:287mm;margin:0;background:linear-gradient(180deg,#fffdf8 0%,#fffaf0 100%);color:var(--navy);position:relative;overflow:hidden;display:grid;grid-template-rows:79mm 108mm 87mm 13mm;font-family:Georgia,'Times New Roman',serif}
.cs-a4-poster:before{content:"";position:absolute;inset:.65mm;border:.28mm solid rgba(199,146,44,.85);pointer-events:none;z-index:5}
.cs-a4-poster img{max-width:100%}

/* Bandeau optionnel : volontairement très visible, mais son texte reste dans la zone sûre. */
.cs-a4-ribbon{position:absolute;z-index:30;right:-24mm;top:10mm;width:112mm;transform:rotate(39deg);background:var(--navy);color:#fff;border-top:.7mm solid var(--gold);border-bottom:.7mm solid var(--gold);padding:4.2mm 3.5mm 4.4mm;text-align:center;box-shadow:0 1mm 3mm rgba(0,0,0,.12);font-family:Arial,Helvetica,sans-serif;line-height:.9}
.cs-a4-ribbon strong{display:block;font-size:21pt;font-weight:950;letter-spacing:.02em;white-space:nowrap}
.cs-a4-ribbon span{display:block;font-size:20pt;font-weight:950;letter-spacing:.015em;white-space:nowrap;margin-top:1.1mm}
.cs-a4-ribbon svg{width:7mm;height:7mm;vertical-align:-1.2mm;margin-left:1.2mm;fill:var(--gold)}

.cs-a4-header{padding:3.5mm 7mm 1.2mm;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;overflow:hidden}
.cs-a4-logo-wrap{height:39mm;width:74mm;display:flex;align-items:center;justify-content:center}
.cs-a4-logo{display:block;width:68mm;height:38mm;object-fit:contain}
.cs-a4-logo-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5mm}.cs-a4-logo-fallback span{width:19mm;height:19mm;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--navy);color:var(--gold);border:.6mm solid var(--gold);font-size:17pt;font-weight:700}.cs-a4-logo-fallback strong{font:900 15pt Arial,sans-serif;letter-spacing:.04em}
.cs-a4-rule,.cs-a4-date,.cs-a4-mini-rule,.cs-a4-owner-rule{display:flex;align-items:center;justify-content:center;gap:2.5mm;color:var(--gold)}
.cs-a4-rule{width:65mm;margin:.4mm 0 1.6mm}.cs-a4-rule i,.cs-a4-date i,.cs-a4-mini-rule i,.cs-a4-owner-rule i{display:block;height:.26mm;background:var(--gold);flex:1}.cs-a4-rule b,.cs-a4-mini-rule b,.cs-a4-owner-rule b{font-size:6pt}
.cs-a4-header h2{margin:0;font-size:16pt;font-weight:500;letter-spacing:.14em;text-transform:uppercase;line-height:1;color:var(--navy)}
.cs-a4-date{width:42mm;margin:1.5mm 0 2.4mm}.cs-a4-date span{font-size:9.8pt;color:var(--gold);white-space:nowrap}
.cs-a4-header h1{margin:0;font-size:22pt;line-height:1.03;font-weight:600;letter-spacing:.008em;text-transform:uppercase;color:var(--navy);max-width:186mm;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.cs-a4-photo{margin:0 4mm;position:relative;overflow:hidden;border:.42mm solid var(--gold);border-radius:3.4mm;background:#e7e7e7;z-index:6}
.cs-a4-photo img{width:100%;height:100%;display:block;object-fit:contain;object-position:center center;background:#f5f1e5}
.cs-a4-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font:900 15pt Arial,sans-serif;color:#8793a0;background:#e7e9ec}
.cs-a4-number{position:absolute;right:3.2mm;bottom:3mm;background:rgba(8,42,85,.94);color:#fff;border:.4mm solid #fff;border-radius:1.4mm;padding:1.1mm 2.4mm;font:900 8.5pt Arial,sans-serif;box-shadow:0 .8mm 2mm rgba(0,0,0,.12)}

/* Largeurs FIXES dans la zone utile : aucune somme de pourcentages + gap, donc plus de débordement QR. */
.cs-a4-info{padding:5mm 4mm 2.5mm;display:grid;grid-template-columns:55mm 50mm minmax(0,1fr);gap:3.5mm;min-height:0;align-items:stretch;z-index:6}
.cs-a4-spec-card,.cs-a4-owner-card,.cs-a4-qr-card{border:.42mm solid var(--gold);border-radius:3mm;background:rgba(255,255,255,.42)}
.cs-a4-spec-card{padding:3mm 3mm 2mm;align-self:stretch;min-width:0}
.cs-a4-card-title{display:flex;align-items:center;gap:2.2mm;padding-bottom:2mm;border-bottom:.25mm solid rgba(199,146,44,.55)}
.cs-a4-gear{font:900 14pt Arial,sans-serif;color:var(--gold)}
.cs-a4-card-title strong{font-size:10pt;letter-spacing:.012em;white-space:nowrap}
.cs-a4-spec-row{display:grid;grid-template-columns:8.5mm 1fr;gap:1.5mm;align-items:center;padding:2.8mm 0;border-bottom:.23mm solid rgba(199,146,44,.52);font-size:8.6pt;line-height:1.18}
.cs-a4-spec-row:last-child{border-bottom:0}
.cs-a4-spec-icon{width:7.8mm;height:7.8mm;display:flex;align-items:center;justify-content:center;color:var(--navy)}
.cs-a4-spec-icon svg{width:6.8mm;height:6.8mm;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cs-a4-spec-row b{font-weight:800}.cs-a4-spec-row span{font-weight:400}

.cs-a4-center-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:.2mm 0 0;min-width:0}
.cs-a4-description{margin:0;font-size:11.8pt;line-height:1.45;color:#17375c;max-height:62mm;overflow:hidden;font-style:italic}
.cs-a4-mini-rule{width:35mm;margin:4.2mm 0 3.6mm}
.cs-a4-owner-card{margin-top:auto;width:100%;min-height:43mm;padding:2.6mm 2.5mm 2.3mm;display:flex;flex-direction:column;align-items:center;justify-content:center}
.cs-a4-avatar{width:12mm;height:12mm;border-radius:50%;background:var(--navy);position:relative;flex:none;margin-bottom:2mm}
.cs-a4-avatar:before{content:"";position:absolute;top:2mm;left:3.8mm;width:4.4mm;height:4.4mm;border-radius:50%;background:#fff}.cs-a4-avatar:after{content:"";position:absolute;bottom:1.7mm;left:2.3mm;width:7.4mm;height:4.1mm;border-radius:4mm 4mm 1.5mm 1.5mm;background:#fff}
.cs-a4-owner-card small{display:block;font:800 6.7pt Arial,sans-serif;letter-spacing:.035em}.cs-a4-owner-card strong{display:block;margin-top:1mm;font-size:13pt;font-weight:500;line-height:1.05;max-width:44mm;overflow-wrap:anywhere}
.cs-a4-owner-rule{width:32mm;margin-top:2.2mm}

.cs-a4-qr-card{padding:2.8mm 3mm 2.5mm;display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0;overflow:hidden}
.cs-a4-qr-card h3{margin:0 0 2.1mm;font:950 15.6pt Arial,sans-serif;letter-spacing:.008em;color:var(--navy);white-space:nowrap}
.cs-a4-qrbox{width:61mm;height:61mm;background:#fff;border:.42mm solid var(--gold);border-radius:2.5mm;padding:2mm;display:flex;align-items:center;justify-content:center;flex:none}
.cs-a4-qrbox img{width:100%;height:100%;object-fit:contain;display:block}
.cs-a4-cta{margin-top:2.2mm;width:100%;display:block;text-align:center}
.cs-a4-phone{display:none}
.cs-a4-cta p{margin:0;font-size:8.6pt;line-height:1.3;color:#17375c}

.cs-a4-footer{display:flex;align-items:center;justify-content:center;gap:4mm;padding:0 4mm;color:var(--navy);z-index:6}
.cs-a4-footer i{height:.28mm;background:var(--gold);flex:1}.cs-a4-footer strong{font-size:10.8pt;letter-spacing:.02em;white-space:nowrap}

@page{size:A4 portrait;margin:0}
@media print{
  html,body{width:210mm;height:auto;margin:0!important;padding:0!important;background:#fff!important}
  .cs-print-toolbar{display:none!important}
  .cs-a4-page{width:210mm;height:297mm;margin:0!important;padding:5mm!important;background:#fff!important;box-shadow:none!important;overflow:hidden!important;page-break-after:always;break-after:page}
  .cs-a4-poster{width:200mm!important;height:287mm!important;margin:0!important;box-shadow:none!important}
}

/* V0.9.13 — portrait propriétaire sur la fiche A4 */
.cs-a4-owner-photo{width:25mm;height:25mm;border-radius:50%;overflow:hidden;display:block;flex:none;margin-bottom:2.2mm;border:.55mm solid var(--gold);background:#fff;box-shadow:0 .8mm 2.2mm rgba(8,42,85,.10)}.cs-a4-owner-photo img{width:100%;height:100%;object-fit:cover;display:block}.cs-a4-owner-card.has-photo{padding-top:2.2mm}.cs-a4-owner-card.has-photo small{font-size:6.6pt}.cs-a4-owner-card.has-photo strong{font-size:12.5pt;margin-top:.7mm}.cs-a4-owner-card.has-photo .cs-a4-owner-rule{margin-top:1.4mm}

/* V0.9.49 — fiche personnelle + À vendre / À louer */
.cs-a4-market-ribbon{position:absolute;z-index:29;left:-24mm;top:10mm;width:112mm;transform:rotate(-39deg);background:#b92727;color:#fff;border-top:.7mm solid var(--gold);border-bottom:.7mm solid var(--gold);padding:4.2mm 3.5mm 4.4mm;text-align:center;box-shadow:0 1mm 3mm rgba(0,0,0,.14);font-family:Arial,Helvetica,sans-serif;line-height:.9;text-transform:uppercase}.cs-a4-market-ribbon.rent{background:#0b6f6a}.cs-a4-market-ribbon strong{display:block;font-size:21pt;font-weight:950;letter-spacing:.04em;white-space:nowrap}.cs-a4-market-ribbon span{display:block;font-size:10pt;font-weight:900;letter-spacing:.025em;white-space:nowrap;margin-top:1.4mm}.cs-a4-poster.is-personal .cs-a4-header h2{letter-spacing:.2em;font-size:13pt}.cs-a4-poster.is-personal .cs-a4-date{display:none}

/* CarStory V0.10.75 — impression propre des fiches événement */
@media print{
  /* Certains moteurs d'impression rasterisent l'ombre du bandeau diagonal sous forme de grand carré. */
  .cs-a4-ribbon,.cs-a4-market-ribbon{box-shadow:none!important;filter:none!important}
  .cs-a4-poster{isolation:isolate;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  .cs-a4-ribbon,.cs-a4-market-ribbon{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
}
