/* Information pages (livraison, retours, garantie, CGV, confidentialité, mentions légales) in the home-vert design system.
   Everything under .hv; tokens from home-vert.css. Own classes: hvi-. */

.hv .hvi{max-width:1240px;padding:20px 20px 40px;display:flex;flex-direction:column;gap:20px}
.hv .hvi ::selection{background:var(--accent);color:var(--accent-ink)}
.hv .hvi h1,.hv .hvi h2,.hv .hvi h3,.hv .hvi ul,.hv .hvi ol,.hv .hvi dl,.hv .hvi dd{margin:0}

.hv .hvi-crumbs{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;font-size:13px;color:var(--muted)}
.hv .hvi-crumbs a{color:var(--ink2)}
.hv .hvi-crumbs a:hover{color:var(--link-hover)}

.hv .hvi-head{display:flex;flex-direction:column;gap:10px;padding:12px 0 4px}
.hv .hvi-head h1{font:800 clamp(30px,2.2vw + 20px,44px)/1.06 var(--display);letter-spacing:-.025em;text-wrap:balance;color:var(--ink)}
.hv .hvi-meta{margin:0;font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}

/* shown only while a client placeholder is left in the text */
.hv .hvi-pending{margin:0;background:var(--promo-tint);color:var(--promo);border-radius:8px;padding:14px 18px;font-size:15px;line-height:1.5}

.hv .hvi-cols{display:grid;grid-template-columns:280px minmax(0,1fr);gap:20px;align-items:start}
.hv .hvi-side{position:sticky;top:20px;display:flex;flex-direction:column;gap:20px;max-height:calc(100vh - 40px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.hv .hvi-nav,.hv .hvi-toc{gap:10px;padding:18px}
.hv .hvi-nav h2,.hv .hvi-toc h2{font:700 12px/1 var(--text);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:0 10px}
.hv .hvi-nav ul,.hv .hvi-toc ol{list-style:none;padding:0;display:flex;flex-direction:column;gap:2px}
.hv .hvi-nav a,.hv .hvi-toc a{display:block;padding:11px 10px;border-radius:8px;color:var(--ink2);font-size:14px;line-height:1.35;text-decoration:none;transition:background-color .15s,color .15s}
.hv .hvi-nav a:hover,.hv .hvi-toc a:hover{background:var(--chip);color:var(--ink)}
.hv .hvi-nav a.on{background:var(--mm-tint);color:var(--mm-on);font-weight:600}
.hv .hvi-toc a{padding-block:7px;font-size:13px;color:var(--muted)}

.hv .hvi-main{display:flex;flex-direction:column;gap:20px;min-width:0}
.hv .hvi-body{padding:clamp(20px,3.4vw,48px)}

/* the page text */
.hv .hvi .hvi-prose{max-width:72ch;font-size:16px;line-height:1.7;color:var(--ink2)}
.hv .hvi .hvi-prose>*{margin:0}
.hv .hvi .hvi-prose>*+*{margin-top:1em}
.hv .hvi .hvi-prose>h2{font:700 clamp(21px,.8vw + 17px,25px)/1.2 var(--display);letter-spacing:-.01em;color:var(--ink);text-wrap:balance;margin-top:2.2em;padding-top:1.4em;border-top:1px solid var(--line2);scroll-margin-top:24px}
.hv .hvi .hvi-prose>h2:first-child{margin-top:0;padding-top:0;border-top:0}
.hv .hvi .hvi-prose>h3{font:700 17px/1.3 var(--display);color:var(--ink);margin-top:1.6em;scroll-margin-top:24px}
.hv .hvi .hvi-prose>h2+*,.hv .hvi .hvi-prose>h3+*{margin-top:.7em}
.hv .hvi-prose strong{color:var(--ink);font-weight:600}
.hv .hvi-prose a{color:var(--link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.hv .hvi-prose a:hover{color:var(--link-hover);text-decoration-thickness:2px}
.hv .hvi-prose ul,.hv .hvi-prose ol{padding-left:0;list-style:none;display:flex;flex-direction:column;gap:.45em}
.hv .hvi-prose li{position:relative;padding-left:1.6em}
.hv .hvi-prose ul>li::before{content:"";position:absolute;left:.35em;top:.68em;width:7px;height:7px;border-radius:999px;background:var(--accent)}
.hv .hvi-prose ol{counter-reset:hvio}
.hv .hvi-prose ol>li{counter-increment:hvio}
.hv .hvi-prose ol>li::before{content:counter(hvio) ".";position:absolute;left:0;font-weight:700;color:var(--nav2);font-variant-numeric:tabular-nums}

/* identity block: <dl class="hvi-facts"><div><dt>…</dt><dd>…</dd></div>…</dl> */
.hv .hvi-prose dl.hvi-facts{border:1px solid var(--line2);border-radius:8px;overflow:hidden}
.hv .hvi-prose dl.hvi-facts>div{display:grid;grid-template-columns:minmax(140px,34%) minmax(0,1fr);gap:16px;padding:12px 16px;border-bottom:1px solid var(--line2)}
.hv .hvi-prose dl.hvi-facts>div:last-child{border-bottom:0}
.hv .hvi-prose dl.hvi-facts dt{font-weight:600;color:var(--ink)}
.hv .hvi-prose dl.hvi-facts dd{overflow-wrap:anywhere}

/* tables: <div class="hvi-table"><table>… */
.hv .hvi-prose .hvi-table{overflow-x:auto;border:1px solid var(--line2);border-radius:8px}
.hv .hvi-prose table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.45;font-variant-numeric:tabular-nums}
.hv .hvi-prose th,.hv .hvi-prose td{text-align:left;padding:12px 16px;border-bottom:1px solid var(--line2);vertical-align:top}
.hv .hvi-prose thead th{font:700 12px/1.3 var(--text);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:var(--soft)}
.hv .hvi-prose tbody tr:last-child>*{border-bottom:0}

/* client placeholder: impossible to miss, in the page and in the editor's preview */
.hv .hvi-prose .hvi-todo{background:var(--promo-tint);color:var(--promo);border:1px dashed currentColor;border-radius:8px;padding:12px 16px;font:600 14px/1.5 var(--text);letter-spacing:.02em}
.hv .hvi-prose dd.hvi-todo{padding:2px 8px;border-radius:6px;justify-self:start}

.hv .hvi-contact{flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px 24px;padding:20px 24px}
.hv .hvi-contact h2{font:700 19px/1.25 var(--display);flex:1 1 100%}
.hv .hvi-contact p{margin:0;font-size:14px;color:var(--muted);flex:1 1 240px}
.hv .hvi-contact-cta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px}
.hv a.hvi-link{font-size:14px;font-weight:600;min-height:44px;display:inline-flex;align-items:center}

@media (prefers-reduced-motion:no-preference){
	html:has(.hvi-toc){scroll-behavior:smooth}
}
@media (max-width:1024px){
	.hv .hvi-cols{grid-template-columns:minmax(0,1fr)}
	.hv .hvi-side{position:static;max-height:none;overflow:visible}
	.hv .hvi-toc{display:none}
	.hv .hvi-nav ul{flex-direction:row;flex-wrap:wrap;gap:8px}
	.hv .hvi-nav h2{padding:0}
	.hv .hvi-nav a{border:1px solid var(--line);border-radius:999px;padding:11px 14px;font-weight:600;font-size:13px}
	.hv .hvi-nav a.on{background:var(--nav);border-color:var(--nav);color:#fff}
}
@media (max-width:768px){
	.hv .hvi{padding:16px 16px 32px;gap:16px}
	.hv .hvi-prose dl.hvi-facts>div{grid-template-columns:minmax(0,1fr);gap:2px}
	.hv .hvi-contact{padding:18px}
}

/* WordPress' own class for text meant for screen readers only; the theme's stylesheet normally hides it, this page must not depend on that */
.hv .screen-reader-text{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
