/* ==========================================================================
   Pages légales et pratiques · Service VTC Reims (étape 7, 26/10/2026)
   CGV, Annulation, Confidentialité, Cookies, Mentions légales, Crédits photos
   (FR/EN/JA). Chargée après pages-vitrine.css par mu-plugins/vtc-reims-pages-vitrine.php,
   seulement sur ces 18 pages (classe body.pv-legal-on). Le texte des pages
   n'est pas réécrit : on lui donne un en-tête, une colonne de lecture et un sommaire.
   ========================================================================== */

body.pv-on.pv-legal-on { background: #0a0a0a !important; }
/* services-theme.css borne le contenu de ces pages à 920 px (ancienne mise en page) : le gabarit prend la pleine largeur */
body.pv-legal-on main#vtc-contenu, body.pv-legal-on .entry-content { max-width: none !important; width: auto !important; padding: 0 !important; margin: 0 !important; }
body.pv-legal-on .pv-legal { --lg-col: 760px; }

/* ---------- En-tête de page ---------- */
body.pv-legal-on .pv-lg-hero { padding: calc(var(--pv-head) + clamp(32px, 4.5vw, 56px)) 0 clamp(28px, 4vw, 44px); border-bottom: 1px solid var(--pv-line-soft); background: radial-gradient(120% 140% at 0% 0%, rgba(201,169,97,.08), rgba(10,10,10,0) 55%); }
@media (max-width: 767px) { body.pv-legal-on .pv-lg-hero { padding-top: 36px; } }
body.pv-legal-on .pv-lg-crumbs { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin: 0 0 18px !important; font-family: var(--pv-sans) !important; font-size: 11.5px !important; letter-spacing: .16em; text-transform: uppercase; color: var(--pv-gold) !important; font-weight: 500; line-height: 1.5 !important; }
html[lang^="ja"] body.pv-legal-on .pv-lg-crumbs { letter-spacing: .08em; }
body.pv-legal-on .pv-lg-crumbs a { color: var(--pv-gold) !important; border-bottom: 1px solid rgba(201,169,97,.4); }
body.pv-legal-on .pv-lg-crumbs a:hover { color: var(--pv-gold-2) !important; }
body.pv-legal-on .pv-lg-crumbs span[aria-hidden] { color: rgba(201,169,97,.5); }
body.pv-legal-on .pv-lg-hero h1 { font-family: var(--pv-serif) !important; color: var(--pv-cream) !important; font-weight: 500 !important; font-size: clamp(36px, 4.6vw, 58px) !important; line-height: 1.06 !important; letter-spacing: -.015em; margin: 0 0 16px !important; max-width: 22ch; text-wrap: balance; }
html[lang^="ja"] body.pv-legal-on .pv-lg-hero h1 { font-size: clamp(28px, 3.4vw, 42px) !important; line-height: 1.35 !important; letter-spacing: 0; max-width: 24em; }
body.pv-legal-on .pv-lg-hero h1 em { color: var(--pv-gold) !important; font-style: italic; }
html[lang^="ja"] body.pv-legal-on .pv-lg-hero h1 em { font-style: normal; }
body.pv-legal-on .pv-lg-lede { max-width: 64ch; margin: 0 0 18px !important; color: var(--pv-dim) !important; font-size: 16.5px !important; line-height: 1.65 !important; }
body.pv-legal-on .pv-lg-meta { list-style: none; display: flex; flex-wrap: wrap; gap: 6px 26px; margin: 0 !important; padding: 16px 0 0 !important; border-top: 1px solid rgba(201,169,97,.24); max-width: var(--lg-col); }
body.pv-legal-on .pv-lg-meta li { margin: 0 !important; font-size: 12.5px !important; letter-spacing: .08em; text-transform: uppercase; color: rgba(225,224,204,.72) !important; line-height: 1.6 !important; }
html[lang^="ja"] body.pv-legal-on .pv-lg-meta li { letter-spacing: .02em; text-transform: none; font-size: 13px !important; }

/* ---------- Colonne de lecture + sommaire ---------- */
body.pv-legal-on .pv-lg-layout { display: grid; grid-template-columns: minmax(0, 1fr); padding-top: clamp(28px, 4vw, 52px); padding-bottom: clamp(56px, 8vw, 96px); }
@media (min-width: 1100px) {
  body.pv-legal-on .pv-lg-layout { grid-template-columns: minmax(0, var(--lg-col)) 270px; justify-content: space-between; gap: 64px; }
  body.pv-legal-on .pv-lg-aside { grid-column: 2; grid-row: 1; position: sticky; top: calc(var(--pv-head) + 28px); align-self: start; max-height: calc(100vh - var(--pv-head) - 56px); overflow-y: auto; scrollbar-width: thin; }
  body.pv-legal-on .pv-lg-body { grid-column: 1; grid-row: 1; }
  body.pv-legal-on .pv-lg-toc-m { display: none; }
}
@media (max-width: 1099px) {
  body.pv-legal-on .pv-lg-aside { display: none; }
}

/* Sommaire (ordinateur : liste ; téléphone : repliable en tête de texte) */
body.pv-legal-on .pv-lg-box { border: 1px solid var(--pv-line); border-radius: 14px; background: rgba(20,20,20,.6); padding: 16px 18px; }
body.pv-legal-on .pv-lg-box + .pv-lg-box { margin-top: 14px; }
body.pv-legal-on .pv-lg-box .pv-label, body.pv-legal-on .pv-lg-toc-m summary { font-family: var(--pv-sans) !important; font-size: 11.5px !important; letter-spacing: .18em; text-transform: uppercase; color: var(--pv-gold) !important; font-weight: 500; }
html[lang^="ja"] body.pv-legal-on .pv-lg-box .pv-label, html[lang^="ja"] body.pv-legal-on .pv-lg-toc-m summary { letter-spacing: .08em; }
body.pv-legal-on .pv-lg-box .pv-label { display: block; margin: 0 !important; line-height: 1.4 !important; }
body.pv-legal-on .pv-lg-box ol, body.pv-legal-on .pv-lg-box ul, body.pv-legal-on .pv-lg-toc-m ol { list-style: none; margin: 8px 0 0 !important; padding: 0 !important; }
body.pv-legal-on .pv-lg-box li, body.pv-legal-on .pv-lg-toc-m li { margin: 0 !important; padding: 0 !important; font-size: 13.5px !important; line-height: 1.45 !important; }
body.pv-legal-on .pv-lg-box li::before, body.pv-legal-on .pv-lg-toc-m li::before { content: none !important; }
body.pv-legal-on .pv-lg-box a, body.pv-legal-on .pv-lg-toc-m a { display: block; padding: 6px 0; color: rgba(225,224,204,.74) !important; border-bottom: 0 !important; transition: color .2s; }
body.pv-legal-on .pv-lg-box a:hover, body.pv-legal-on .pv-lg-toc-m a:hover { color: var(--pv-cream) !important; }
body.pv-legal-on .pv-lg-box a[aria-current="page"] { color: var(--pv-gold-2) !important; }
body.pv-legal-on .pv-lg-toc-m { border: 1px solid var(--pv-line); border-radius: 14px; background: rgba(20,20,20,.6); padding: 4px 18px; margin: 0 0 32px; }
body.pv-legal-on .pv-lg-toc-m summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; min-height: 44px; }
body.pv-legal-on .pv-lg-toc-m summary::-webkit-details-marker { display: none; }
body.pv-legal-on .pv-lg-toc-m summary::after { content: ""; width: 9px; height: 9px; border-right: 1.5px solid var(--pv-gold); border-bottom: 1.5px solid var(--pv-gold); transform: rotate(45deg) translate(-2px, -2px); transition: transform .3s var(--pv-ease); }
body.pv-legal-on .pv-lg-toc-m[open] summary::after { transform: rotate(225deg) translate(-2px, -2px); }
body.pv-legal-on .pv-lg-toc-m ol { margin: 0 0 12px !important; }
body.pv-legal-on .pv-lg-toc-m a { min-height: 40px; display: flex; align-items: center; }

/* ---------- Texte ---------- */
body.pv-legal-on .pv-lg-body { min-width: 0; }
body.pv-legal-on .pv-lg-sec { scroll-margin-top: calc(var(--pv-head) + 24px); }
body.pv-legal-on .pv-lg-sec + .pv-lg-sec, body.pv-legal-on :is(.pv-lg-intro, .pv-lg-ident) + .pv-lg-sec { margin-top: clamp(30px, 4vw, 44px); padding-top: clamp(26px, 3.5vw, 38px); border-top: 1px solid var(--pv-line-soft); }
body.pv-legal-on .pv-lg-body h2 { font-family: var(--pv-serif) !important; color: var(--pv-cream) !important; font-weight: 500 !important; font-size: clamp(25px, 2.6vw, 32px) !important; line-height: 1.18 !important; margin: 0 0 16px !important; letter-spacing: -.005em; text-wrap: balance; }
body.pv-legal-on .pv-lg-body h3 { font-family: var(--pv-serif) !important; color: var(--pv-cream) !important; font-weight: 500 !important; font-size: clamp(19px, 1.8vw, 22px) !important; line-height: 1.25 !important; margin: 26px 0 10px !important; }
html[lang^="ja"] body.pv-legal-on .pv-lg-body h2 { font-size: clamp(21px, 2.2vw, 26px) !important; line-height: 1.45 !important; letter-spacing: 0; }
html[lang^="ja"] body.pv-legal-on .pv-lg-body h3 { font-size: clamp(17px, 1.6vw, 19px) !important; line-height: 1.5 !important; }
body.pv-legal-on .pv-lg-body p, body.pv-legal-on .pv-lg-body li, body.pv-legal-on .pv-lg-body td, body.pv-legal-on .pv-lg-body th { font-family: var(--pv-sans) !important; font-size: 16px !important; line-height: 1.75 !important; color: var(--pv-text) !important; }
html[lang^="ja"] body.pv-legal-on .pv-lg-body p, html[lang^="ja"] body.pv-legal-on .pv-lg-body li, html[lang^="ja"] body.pv-legal-on .pv-lg-body td, html[lang^="ja"] body.pv-legal-on .pv-lg-body th { font-size: 15.5px !important; line-height: 1.9 !important; line-break: strict; overflow-wrap: anywhere; }
body.pv-legal-on .pv-lg-body p { margin: 0 0 14px !important; max-width: 72ch; }
body.pv-legal-on .pv-lg-body p:last-child { margin-bottom: 0 !important; }
body.pv-legal-on .pv-lg-body strong, body.pv-legal-on .pv-lg-body b { color: var(--pv-cream) !important; font-weight: 600; }
body.pv-legal-on .pv-lg-body em { color: inherit; }
body.pv-legal-on .pv-lg-body a { color: var(--pv-gold) !important; text-decoration: underline !important; text-decoration-color: rgba(201,169,97,.5) !important; text-underline-offset: 3px; overflow-wrap: anywhere; }
body.pv-legal-on .pv-lg-body a:hover { color: var(--pv-gold-2) !important; }
body.pv-legal-on .pv-lg-body ul, body.pv-legal-on .pv-lg-body ol { margin: 0 0 16px !important; padding: 0 0 0 22px !important; max-width: 70ch; }
body.pv-legal-on .pv-lg-body ul { list-style: none; padding-left: 20px !important; }
body.pv-legal-on .pv-lg-body ul > li { position: relative; margin: 0 0 8px !important; }
body.pv-legal-on .pv-lg-body ul > li::before { content: ""; position: absolute; left: -16px; top: .78em; width: 6px; height: 1px; background: var(--pv-gold); }
body.pv-legal-on .pv-lg-body ol > li { margin: 0 0 8px !important; }
body.pv-legal-on .pv-lg-body ol > li::marker { color: var(--pv-gold); }
body.pv-legal-on .pv-lg-intro p { color: var(--pv-cream) !important; }
body.pv-legal-on .pv-lg-ident { border: 1px solid var(--pv-line); border-radius: 14px; background: rgba(255,255,255,.02); padding: 18px 22px; margin: 0 0 28px; }
body.pv-legal-on .pv-lg-ident p { margin: 0 !important; font-size: 15px !important; line-height: 1.7 !important; }

/* Tableaux (annulation) : défilement horizontal sur téléphone plutôt qu'un débordement */
body.pv-legal-on .pv-lg-table { margin: 18px 0 22px; overflow-x: auto; border: 1px solid var(--pv-line); border-radius: 14px; }
body.pv-legal-on .pv-lg-table table { width: 100%; border-collapse: collapse; min-width: 480px; margin: 0; }
body.pv-legal-on .pv-lg-table th { text-align: left; font-size: 12px !important; letter-spacing: .1em; text-transform: uppercase; color: var(--pv-gold) !important; font-weight: 500; background: rgba(201,169,97,.06); }
html[lang^="ja"] body.pv-legal-on .pv-lg-table th { letter-spacing: .04em; text-transform: none; font-size: 13.5px !important; }
body.pv-legal-on .pv-lg-table th, body.pv-legal-on .pv-lg-table td { padding: 12px 16px !important; border: 0 !important; border-bottom: 1px solid var(--pv-line-soft) !important; vertical-align: top; }
body.pv-legal-on .pv-lg-table tr:last-child td { border-bottom: 0 !important; }

/* Bouton « Gérer mes cookies » et appel final */
body.pv-legal-on .pv-lg-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 18px 0 6px; }
body.pv-legal-on .pv-lg-body .pv-btn { text-decoration: none !important; }
body.pv-legal-on .pv-lg-body .pv-btn-gold, body.pv-legal-on .pv-lg-body .pv-btn-gold:hover { color: #0a0a0a !important; }
body.pv-legal-on .pv-lg-body .pv-btn-line { color: var(--pv-cream) !important; }

/* ---------- Crédits photos : grille existante, cartes sombres lisibles ---------- */
body.pv-legal-on .pv-lg-credits .svc-credits { padding: 0 !important; margin: 0 !important; background: none !important; }
body.pv-legal-on .pv-lg-credits .svc-credits-grid { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important; gap: 14px !important; margin: 0 !important; padding: 0 !important; max-width: none !important; }
body.pv-legal-on .pv-lg-credits .svc-credits-item { border: 1px solid var(--pv-line) !important; border-radius: 14px !important; background: #141414 !important; overflow: hidden; box-shadow: none !important; padding: 0 !important; margin: 0 !important; }
body.pv-legal-on .pv-lg-credits .svc-credits-item img { display: block; width: 100% !important; height: auto !important; aspect-ratio: 16 / 10; object-fit: cover; margin: 0 !important; border-radius: 0 !important; }
body.pv-legal-on .pv-lg-credits .svc-credits-meta { padding: 12px 14px 14px !important; font-family: var(--pv-sans) !important; font-size: 13px !important; line-height: 1.55 !important; color: var(--pv-dim) !important; background: none !important; }
body.pv-legal-on .pv-lg-credits .svc-credits-meta strong { display: inline-block; margin: 0 0 4px; font-family: var(--pv-sans) !important; font-size: 14px !important; font-weight: 600; color: var(--pv-cream) !important; line-height: 1.4; }
body.pv-legal-on .pv-lg-credits .svc-credits-author { color: var(--pv-text) !important; }
body.pv-legal-on .pv-lg-credits .svc-credits-licence { color: var(--pv-dim) !important; }
body.pv-legal-on .pv-lg-credits .svc-credits-meta a { color: var(--pv-gold) !important; text-decoration: underline !important; text-decoration-color: rgba(201,169,97,.5) !important; text-underline-offset: 3px; }
body.pv-legal-on .pv-lg-credits .pv-lg-sec h2 { margin-bottom: 18px !important; text-align: left !important; }
@media (min-width: 1100px) { body.pv-legal-on .pv-lg-credits .pv-lg-layout { grid-template-columns: minmax(0, 1fr) 250px; gap: 48px; } }

/* ---------- Impression : le texte seul, noir sur blanc ---------- */
@media print {
  body.pv-on.pv-legal-on { background: #fff !important; }
  body.pv-legal-on .pv-lg-aside, body.pv-legal-on .pv-lg-toc-m, body.pv-legal-on .pv-lg-actions, body.pv-legal-on .vtc-bubbles { display: none !important; }
  body.pv-legal-on .pv-lg-hero { padding: 0 0 12px; background: none; border: 0; }
  body.pv-legal-on .pv-legal :is(h1, h2, h3, p, li, td, th, strong, a, .pv-lg-crumbs, .pv-lg-meta li) { color: #000 !important; }
  body.pv-legal-on .pv-lg-layout { display: block; padding: 0; }
}
