/* =========================================
   PADDOCK (paddock.php) — monde 3D three.js explorable (voie des stands, garages, intérieurs) ; la visite photo a été retirée le 06/11
   ========================================= */
.paddock-section { padding-top: 10px; }
.paddock-note { font-size: 13px; margin-top: 12px; }
.paddock-logo { width: 38px; height: 38px; border-radius: 9px; background: linear-gradient(135deg, #ff3b3b, #9d0000); display: grid; place-items: center; font-weight: 900; font-size: 12px; color: #fff; }

/* ---------- MODE 3D ---------- */
.paddock-scene { position: relative; width: 100%; height: min(82vh, 900px); min-height: 480px; border-radius: var(--rayon-grand, 10px); overflow: hidden; background: #0b0e19; outline: none; box-shadow: var(--ombre); user-select: none; -webkit-user-select: none; touch-action: none; }
.paddock-scene:fullscreen { border-radius: 0; height: 100vh; }
.paddock-scene:focus-visible { box-shadow: 0 0 0 3px var(--rouge-vif), var(--ombre); }
.paddock-canvas { position: absolute; inset: 0; width: 100% !important; height: 100% !important; display: block; cursor: grab; }
.paddock-canvas:active { cursor: grabbing; }
.paddock-scene.verrouille .paddock-canvas { cursor: none; }
.t { font-family: var(--titre); text-transform: uppercase; }
/* Écran de chargement */
.paddock-chargement { position: absolute; inset: 0; z-index: 20; display: grid; place-items: center; background: radial-gradient(900px 500px at 50% 30%, #1a2238, #070a14 70%); transition: opacity .6s ease; }
.paddock-chargement.fini { opacity: 0; pointer-events: none; }
.paddock-chargement-cadre { text-align: center; color: var(--texte); display: grid; gap: 6px; justify-items: center; width: min(360px, 80%); }
.paddock-chargement b { font-size: 30px; letter-spacing: 1px; }
.paddock-chargement small { font-size: 11px; letter-spacing: 3px; color: var(--texte-3); text-transform: uppercase; }
.paddock-barre-fond { width: 100%; height: 6px; background: #1c2130; border-radius: 3px; overflow: hidden; margin-top: 12px; }
.paddock-barre { width: 0; height: 100%; background: linear-gradient(90deg, var(--rouge), var(--rouge-vif)); transition: width .2s; }
.paddock-chargement i { font-style: normal; font-size: 12px; color: var(--texte-2); font-variant-numeric: tabular-nums; }
.paddock-logo { width: 38px; height: 38px; border-radius: 9px; background: linear-gradient(135deg, #ff3b3b, #9d0000); display: grid; place-items: center; font-weight: 900; font-size: 12px; color: #fff; }
.paddock-logo.grand { width: 64px; height: 64px; font-size: 20px; border-radius: 14px; margin-bottom: 8px; }
/* HUD discret */
.paddock-hud { position: absolute; z-index: 3; background: rgba(8, 10, 18, .72); border: 1px solid var(--bordure-2); border-radius: 12px; padding: 10px 14px; color: var(--texte); backdrop-filter: blur(8px); }
.paddock-hud small { display: block; font-family: var(--titre); font-size: 10px; letter-spacing: 3px; color: var(--rouge-vif); font-weight: 700; }
.paddock-hud b { display: block; font-family: var(--titre); font-size: 18px; text-transform: uppercase; letter-spacing: .5px; line-height: 1.15; }
.paddock-hud i { display: block; font-style: normal; font-size: 12px; color: var(--texte-2); margin-top: 2px; }
.paddock-hud-gauche { left: 14px; top: 14px; background: none; border: 0; padding: 0; backdrop-filter: none; display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
.paddock-hud-bloc { background: rgba(8, 10, 18, .72); border: 1px solid var(--bordure-2); border-radius: 12px; padding: 8px 14px; backdrop-filter: blur(8px); }
.paddock-hud-droite { right: 14px; top: 14px; text-align: right; }
.paddock-hud-gp { right: 14px; top: 92px; text-align: right; }
.paddock-bouton { background: rgba(8, 10, 18, .78); border: 1px solid var(--bordure-2); color: #fff; border-radius: 10px; padding: 9px 14px; font-weight: 700; font-size: 13px; letter-spacing: .5px; cursor: pointer; backdrop-filter: blur(8px); }
.paddock-bouton:hover { border-color: var(--rouge-vif); }
.paddock-retour { position: absolute; z-index: 3; left: 14px; bottom: 14px; }
.paddock-retour[hidden] { display: none; }
.paddock-quitter-voiture { position: absolute; z-index: 3; left: 50%; bottom: 60px; transform: translateX(-50%); }
.paddock-quitter-voiture[hidden] { display: none; }
#paddock-volume { width: 140px; accent-color: var(--rouge); }
/* Menu */
.paddock-menu { position: absolute; z-index: 6; left: 14px; top: 62px; width: min(340px, calc(100% - 28px)); max-height: calc(100% - 80px); overflow: auto; background: rgba(8, 10, 18, .92); border: 1px solid var(--bordure-2); border-radius: 14px; padding: 14px; color: var(--texte); backdrop-filter: blur(10px); display: grid; gap: 12px; }
.paddock-menu[hidden] { display: none; }
.paddock-menu h3 { font-size: 18px; margin: 0; }
.paddock-menu-groupe small { display: block; font-family: var(--titre); font-size: 10px; letter-spacing: 3px; color: var(--texte-3); margin-bottom: 6px; }
.paddock-saisons { display: flex; gap: 4px; flex-wrap: wrap; }
.paddock-saisons a, .paddock-saisons button { background: #10141f; border: 1px solid var(--bordure-2); color: var(--texte-2); padding: 7px 11px; border-radius: 8px; font-size: 12px; font-weight: 700; letter-spacing: .5px; text-decoration: none; cursor: pointer; }
.paddock-saisons a.actif, .paddock-saisons button.actif { background: var(--rouge); color: #fff; border-color: var(--rouge); }
.paddock-liste-ecuries { display: grid; gap: 4px; }
.paddock-liste-ecuries button { --couleur: var(--rouge); text-align: left; background: #10141f; border: 1px solid var(--bordure-2); border-left: 4px solid var(--couleur); color: var(--texte); padding: 7px 10px; border-radius: 8px; font-size: 13px; cursor: pointer; }
.paddock-liste-ecuries button:hover { border-color: #fff; border-left-color: var(--couleur); }
.paddock-menu-actions { display: flex; gap: 6px; flex-wrap: wrap; }
/* Bandeau d'entrée (nom de l'écurie), étiquette de survol, réticule */
.paddock-bandeau { position: absolute; z-index: 4; left: 50%; top: 18%; transform: translateX(-50%) translateY(10px); text-align: center; color: #fff; pointer-events: none; opacity: 0; transition: opacity .5s, transform .5s; }
.paddock-bandeau.visible { opacity: 1; transform: translateX(-50%) translateY(0); }
.paddock-bandeau b { display: block; font-family: var(--titre); font-size: clamp(28px, 5vw, 64px); letter-spacing: 2px; text-transform: uppercase; text-shadow: 0 4px 30px rgba(0, 0, 0, .9); }
.paddock-bandeau small { display: block; font-size: 13px; letter-spacing: 4px; color: #e6e8ef; text-shadow: 0 2px 12px #000; }
.paddock-etiquette { position: absolute; z-index: 4; transform: translate(14px, -110%); background: rgba(8, 10, 18, .9); border: 1px solid var(--bordure-2); border-left: 3px solid var(--rouge); border-radius: 8px; padding: 6px 10px; pointer-events: none; white-space: nowrap; color: var(--texte); }
.paddock-etiquette b { display: block; font-family: var(--titre); font-size: 15px; text-transform: uppercase; }
.paddock-etiquette small { display: block; font-size: 10px; letter-spacing: 2px; color: var(--texte-2); }
.paddock-vise { position: absolute; left: 50%; top: 50%; width: 12px; height: 12px; margin: -6px; border: 2px solid rgba(255, 255, 255, .55); border-radius: 50%; z-index: 2; pointer-events: none; }
.paddock-aide { left: 50%; bottom: 14px; transform: translateX(-50%); font-size: 12px; letter-spacing: .5px; color: var(--texte-2); white-space: nowrap; max-width: calc(100% - 28px); overflow: hidden; text-overflow: ellipsis; }
.paddock-aide[hidden] { display: none; }
.paddock-aide kbd { background: #171c29; border: 1px solid #2b3245; border-bottom-width: 3px; border-radius: 5px; padding: 1px 6px; font-weight: 700; color: #fff; font-family: inherit; margin: 0 1px; }
/* Tactile : joystick */
.paddock-joystick { position: absolute; z-index: 4; left: 18px; bottom: 18px; width: 110px; height: 110px; border-radius: 50%; background: rgba(8, 10, 18, .5); border: 1px solid var(--bordure-2); display: none; touch-action: none; }
.paddock-joystick-pouce { position: absolute; left: 50%; top: 50%; width: 46px; height: 46px; margin: -23px; border-radius: 50%; background: rgba(255, 255, 255, .85); box-shadow: 0 4px 12px rgba(0, 0, 0, .6); }
@media (hover: none) { .paddock-joystick { display: block; } .paddock-aide { display: none; } .paddock-retour { left: auto; right: 14px; } }
/* Panneaux d'information et fiche pilote */
.paddock-panneau, .paddock-fiche { position: absolute; z-index: 5; right: 14px; top: 50%; transform: translateY(-50%); width: min(380px, calc(100% - 28px)); max-height: calc(100% - 28px); overflow: auto; background: linear-gradient(180deg, rgba(18, 23, 38, .96), rgba(10, 13, 24, .97)); border: 1px solid var(--bordure-2); border-top: 4px solid var(--rouge); border-radius: 16px; padding: 18px; box-shadow: 0 30px 60px rgba(0, 0, 0, .8); backdrop-filter: blur(10px); color: var(--texte); }
.paddock-panneau[hidden], .paddock-fiche[hidden] { display: none; }
.paddock-panneau h3 { font-size: 22px; margin: 0 24px 10px 0; }
.paddock-panneau h4 { font-size: 11px; letter-spacing: 3px; color: var(--rouge-vif); margin: 12px 0 6px; }
.paddock-panneau-corps { display: grid; gap: 6px; }
.paddock-panneau-corps > div { display: flex; justify-content: space-between; gap: 12px; background: rgba(11, 14, 25, .9); border: 1px solid #232a3d; border-radius: 8px; padding: 7px 10px; font-size: 13px; }
.paddock-panneau-corps > div span { color: var(--texte-2); }
.paddock-panneau-corps > div b { text-align: right; font-variant-numeric: tabular-nums; }
.paddock-panneau-note { font-size: 11px; color: var(--texte-3); margin: 6px 0 0; }
.paddock-fermer { position: absolute; right: 10px; top: 8px; background: none; border: 0; color: var(--texte-3); font-size: 18px; cursor: pointer; }
.paddock-fiche-tete { display: flex; gap: 12px; align-items: center; margin-bottom: 12px; }
.paddock-av { width: 62px; height: 62px; border-radius: 50%; border: 3px solid #fff; background: var(--rouge) center / cover no-repeat; display: grid; place-items: center; font-family: var(--titre); font-weight: 900; font-size: 22px; color: #fff; flex: none; }
.paddock-f-nom { display: block; font-family: var(--titre); font-size: 26px; line-height: 1; text-transform: uppercase; }
.paddock-fiche-tete small { display: block; font-size: 11px; letter-spacing: 2px; color: var(--texte-2); margin-top: 4px; }
.paddock-f-num { margin-left: auto; font-family: var(--titre); font-size: 36px; color: var(--rouge-vif); font-weight: 900; }
.paddock-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.paddock-stats div { background: rgba(11, 14, 25, .9); border: 1px solid #232a3d; border-radius: 10px; padding: 8px 4px; text-align: center; }
.paddock-stats b { display: block; font-family: var(--titre); font-size: 24px; }
.paddock-stats small { font-size: 9px; letter-spacing: 2px; color: var(--texte-3); }
.paddock-lien { display: block; margin-top: 12px; text-align: center; background: var(--rouge); color: #fff; padding: 10px; border-radius: 9px; font-size: 12px; font-weight: 800; letter-spacing: 2px; text-decoration: none; }
.paddock-lien:hover { background: var(--rouge-vif); }
.paddock-sans-3d { display: none; position: absolute; inset: 0; z-index: 21; margin: 0; padding: 40px 20px; text-align: center; color: var(--texte-2); background: #0b0e19; }
.paddock-sans-3d:not([hidden]) { display: block; }
.paddock-note { font-size: 13px; margin-top: 12px; }
@media (max-width: 900px) { .paddock-hud-gp { display: none; } .paddock-hud b { font-size: 15px; } .paddock-panneau, .paddock-fiche { right: 50%; transform: translate(50%, -50%); } }
@media (max-width: 700px) { .paddock-scene { height: 72vh; min-height: 420px; } }
@media (prefers-reduced-motion: reduce) { .paddock-bandeau, .paddock-chargement, .paddock-barre { transition: none; } }
