/* Fichier fabriqué par generer_site.py : ne pas le modifier à la main. */
.mac3d {color-scheme: dark; --fond: #0b0c0e; --scene-clair: #7c828b; --scene-moyen: #3a3d43; --scene-sombre: #131417; --texte: #f3f2ef; --sourd: #a9adb3; --trait: #2c2f34; --rouge: #d0243f; --titre: "Poppins", "Segoe UI", Helvetica, Arial, sans-serif; --courant: "Roboto", "Segoe UI", Helvetica, Arial, sans-serif; --accent: "Instrument Serif", Georgia, "Times New Roman", serif; }
.mac3d {background: var(--fond); color: var(--texte); font-family: var(--courant); font-weight: 300; font-size: 16px; line-height: 1.55; }
.mac3d .page {max-width: 1180px; margin: 0 auto; padding-block: 28px 56px; padding-left: max(16px, env(safe-area-inset-left, 0px)); padding-right: max(16px, env(safe-area-inset-right, 0px)); display: grid; gap: 28px; }
.mac3d .surtitre {font-family: var(--titre); font-weight: 500; font-size: 11px; letter-spacing: 0.3em; text-transform: uppercase; display: flex; align-items: center; gap: 12px; margin: 0; }
.mac3d .surtitre::after {content: ""; width: 48px; height: 1px; background: var(--rouge); }
.mac3d h1 {font-family: var(--titre); font-weight: 300; font-size: clamp(30px, 5vw, 54px); line-height: 1.05; letter-spacing: -0.02em; margin: 0; text-wrap: balance; }
.mac3d h1 em {font-family: var(--accent); font-style: italic; color: var(--rouge); }
.mac3d .scene {position: relative; width: 100%; max-width: 100%; aspect-ratio: 16 / 10; overflow: hidden; background: radial-gradient(circle at 50% 44%, var(--scene-clair) 0%, var(--scene-moyen) 42%, var(--scene-sombre) 100%); }
.mac3d .scene canvas {position: absolute; inset: 0; width: 100%; height: 100%; display: block; cursor: grab; touch-action: pan-y; }
.mac3d .scene canvas:active {cursor: grabbing; }
.mac3d .repere {position: absolute; left: 16px; right: 16px; margin: 0; font-family: var(--titre); font-weight: 500; font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--texte); pointer-events: none; }
.mac3d .repere--haut {top: 14px; right: 70px; opacity: 0.75; }
.mac3d .zoom {position: absolute; top: 10px; right: 10px; display: grid; gap: 6px; }
.mac3d .zoom button {width: 44px; min-height: 44px; padding: 0; font-size: 22px; line-height: 1; background: rgba(11, 12, 14, 0.55); border-color: rgba(243, 242, 239, 0.45); }
.mac3d .repere--bas {bottom: 14px; }
.mac3d .calque-cotes {position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; overflow: visible; }
.mac3d .calque-cotes .fond {fill: none; stroke: rgba(11, 12, 14, 0.62); stroke-width: 3.6; stroke-linecap: round; }
.mac3d .calque-cotes .trait {fill: none; stroke: var(--texte); stroke-width: 1.25; stroke-linecap: round; }
.mac3d .calque-cotes text {font-family: var(--titre); font-weight: 600; font-size: 12.5px; letter-spacing: 0.02em; fill: var(--texte); paint-order: stroke; stroke: rgba(11, 12, 14, 0.82); stroke-width: 3.4px; stroke-linejoin: round; text-anchor: middle; dominant-baseline: central; font-variant-numeric: tabular-nums; }
.mac3d .attente {position: absolute; inset: 0; margin: 0; display: flex; align-items: center; justify-content: center; text-align: center; padding: 0 24px; font-family: var(--titre); font-size: 12px; letter-spacing: 0.25em; text-transform: uppercase; color: var(--sourd); }
.mac3d .commandes {display: grid; gap: 22px; }
.mac3d .groupe {display: grid; gap: 10px; min-width: 0; }
.mac3d .etiquette {font-family: var(--titre); font-weight: 500; font-size: 11px; letter-spacing: 0.25em; text-transform: uppercase; color: var(--sourd); margin: 0; }
.mac3d .rangee {display: flex; flex-wrap: wrap; gap: 8px; }
.mac3d .grille {display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; align-items: end; }
.mac3d .grille--cinq {grid-template-columns: repeat(6, minmax(0, 1fr)); }
.mac3d .grille > button {width: 100%; }
.mac3d .grille .groupe {grid-column: 1; }
.mac3d button {font-family: var(--titre); font-weight: 500; font-size: 14px; letter-spacing: 0.02em; color: var(--texte); background: transparent; border: 1px solid #5a5e66; min-height: 46px; padding: 0 16px; cursor: pointer; transition: background-color 0.15s, color 0.15s, border-color 0.15s; }
.mac3d button:hover {border-color: var(--texte); }
.mac3d button[aria-pressed="true"] {background: var(--texte); color: var(--fond); border-color: var(--texte); }
.mac3d button:focus-visible {outline: 2px solid var(--rouge); outline-offset: 3px; }
.mac3d button:disabled {opacity: 0.35; cursor: default; border-color: #5a5e66; }
.mac3d .teinte {width: 46px; padding: 0; background: var(--couleur); }
.mac3d .teinte[aria-pressed="true"] {outline: 2px solid var(--texte); outline-offset: 3px; background: var(--couleur); border-color: var(--texte); }
.mac3d .cotes {border-top: 1px solid var(--trait); padding-top: 24px; display: grid; gap: 18px; }
.mac3d .cotes h2 {font-family: var(--titre); font-weight: 300; font-size: 24px; margin: 0; letter-spacing: -0.01em; }
.mac3d .tableau {overflow-x: auto; }
.mac3d table {border-collapse: collapse; width: 100%; min-width: 520px; font-variant-numeric: tabular-nums; }
.mac3d th, .mac3d td {text-align: left; padding: 11px 16px 11px 0; border-bottom: 1px solid var(--trait); vertical-align: top; }
.mac3d th {font-family: var(--titre); font-weight: 500; font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--sourd); }
.mac3d td.valeur {font-family: var(--titre); font-weight: 500; font-size: 18px; white-space: nowrap; }
.mac3d td.detail {color: var(--sourd); }
.mac3d .source {color: var(--sourd); font-size: 14px; margin: 0; max-width: 70ch; }
@media (max-width: 640px) {
.mac3d .scene {aspect-ratio: 4 / 5; }
.mac3d button {padding: 0 14px; font-size: 13px; }
.mac3d .teinte {padding: 0; }
.mac3d .grille, .mac3d .grille--cinq {grid-template-columns: minmax(0, 1fr); }
.mac3d table {min-width: 0; }
.mac3d thead {display: none; }
.mac3d tbody tr {display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 12px; row-gap: 2px; padding: 12px 0; border-bottom: 1px solid var(--trait); }
.mac3d tbody td {border: 0; padding: 0; }
.mac3d tbody td:nth-child(1) {grid-column: 1; grid-row: 1; font-family: var(--titre); font-weight: 500; font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--sourd); }
.mac3d tbody td:nth-child(2) {grid-column: 1; grid-row: 2; }
.mac3d tbody td.valeur {grid-column: 2; grid-row: 1 / span 2; align-self: center; }
.mac3d tbody td.detail {grid-column: 1 / -1; grid-row: 3; font-size: 14px; }
}
.mac3d { background: transparent; --titre: var(--font-poppins), "Segoe UI", Helvetica, Arial, sans-serif; --courant: var(--font-roboto), "Segoe UI", Helvetica, Arial, sans-serif; --accent: var(--font-instrument-serif), Georgia, serif; }
.mac3d .page { max-width: none; margin: 0; padding: 0; }
.mac3d[data-etat="attente"] { min-height: 60vh; }
