/* ============================================================
   LUDWIG PORTFOLIO V18.3.0 — OPTIMISATION
   Mobile + Microsoft Edge Xbox + stabilité de rendu.
   Aucun nouveau contenu, aucune nouvelle section.
   ============================================================ */
:root{
  --v183-touch:44px;
  --v183-tv-touch:50px;
  --v183-safe-mobile:20px;
  --v183-safe-tv:48px;
}

html[data-v183]{
  overflow-x:hidden;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
html[data-v183] body{overflow-x:hidden}

/* La navigation interne Projets / Profil / Méthode / Contact est supprimée. */
html[data-v183] .v17-section-nav{display:none!important}

/* Stabilité et coût de rendu. */
html[data-v183] img{max-width:100%;height:auto}
html[data-v183] :is(.project-card,.gallery-item,.resource-card,.work-card){contain:layout paint style}
html[data-v183] :is(.project-card,.gallery-item,.resource-card,.work-card) img{backface-visibility:hidden}
html[data-v183] :is(section,[id]){scroll-margin-top:calc(var(--v14-header-height,76px) + 18px)}

/* Mobile / tactile : densité et cibles confortables sans changer la DA. */
@media(max-width:900px){
  html[data-v183]{--v183-touch:46px}
  html[data-v183] body{overscroll-behavior-x:none}
  html[data-v183] :is(.v6-site-header,.v14-site-header){max-width:100vw}
  html[data-v183] :is(.v6-site-header,.v14-site-header) :is(a,button),
  html[data-v183] .hero-actions :is(a,button),
  html[data-v183] :is(.filter-btn,.gallery-filter,.resource-filter,#resource-filters button),
  html[data-v183] .v18-mobile-actions :is(a,button){min-height:var(--v183-touch)!important}
  html[data-v183] :is(.project-card,.gallery-item,.resource-card,.work-card){scroll-margin-block:88px}
  html[data-v183] :is(.v17-control-tabs,.v18-animated-controls,.v18-mobile-actions,.v6-site-header,.v14-site-header){
    backdrop-filter:blur(8px)!important;
    -webkit-backdrop-filter:blur(8px)!important;
  }
  html[data-v183] .v18-continuation{width:calc(100% - 32px);margin-top:28px}
  html[data-v183] .v18-continuation a{min-height:44px}
}

@media(max-width:620px){
  html[data-v183] :is(.wrap,.container,.page-shell){max-width:100%}
  html[data-v183] .sec-head{gap:16px;align-items:flex-start}
  html[data-v183] .sec-head>a{white-space:normal;text-align:left}
  html[data-v183] .hero-actions{gap:9px}
  html[data-v183] .hero-actions :is(a,button){justify-content:center}
  html[data-v183] .v18-mobile-actions{max-width:calc(100vw - 20px);overflow-x:auto;scrollbar-width:none}
  html[data-v183] .v18-mobile-actions::-webkit-scrollbar{display:none}
}

/* Appareils tactiles : pas d'effets hover coûteux qui ne servent pas. */
@media(hover:none) and (pointer:coarse){
  html[data-v183] :is(.project-card,.gallery-item,.resource-card,.work-card):hover{transform:none!important}
  html[data-v183] :is(.project-card,.gallery-item,.resource-card,.work-card):active{transform:scale(.995)!important}
  html[data-v183] :is(a,button){-webkit-tap-highlight-color:rgba(166,107,240,.16)}
}

/* Xbox Edge / grand écran TV : lisibilité à distance, focus fort, rendu léger. */
html[data-v183-console="xbox"]{
  --v183-touch:var(--v183-tv-touch);
  scroll-padding-top:92px;
}
html[data-v183-console="xbox"] body{letter-spacing:.005em}
html[data-v183-console="xbox"] :is(.wrap,.container){
  max-width:min(var(--max-width,1520px),calc(100vw - (var(--v183-safe-tv) * 2)))!important;
}
html[data-v183-console="xbox"] :is(a,button,input,select,textarea,[role="button"]):focus-visible,
html[data-v183-console="xbox"] .v183-xbox-focus{
  outline:3px solid var(--accent2,var(--accent,#A66BF0))!important;
  outline-offset:5px!important;
  box-shadow:0 0 0 2px rgba(0,0,0,.72),0 0 28px color-mix(in srgb,var(--accent,#A66BF0) 26%,transparent)!important;
}
html[data-v183-console="xbox"] :is(.v6-site-header,.v14-site-header) :is(a,button),
html[data-v183-console="xbox"] .hero-actions :is(a,button),
html[data-v183-console="xbox"] :is(.filter-btn,.gallery-filter,.resource-filter,#resource-filters button),
html[data-v183-console="xbox"] .v18-continuation a{min-height:var(--v183-tv-touch)!important}
html[data-v183-console="xbox"] :is(.v6-site-header,.v14-site-header,.v18-mobile-actions,.v18-animated-controls,.v17-control-tabs){
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
html[data-v183-console="xbox"] :is(.reveal,.reveal.in-view){opacity:1!important;transform:none!important;transition:none!important}
html[data-v183-console="xbox"] :is(.cursor,.custom-cursor,.cursor-dot,.cursor-outline){display:none!important}
html[data-v183-console="xbox"] :is(.project-card,.gallery-item,.resource-card,.work-card){scroll-margin-block:120px}

/* Réduction de mouvement : priorité à la lecture et à la stabilité. */
@media(prefers-reduced-motion:reduce){
  html[data-v183] :is(.reveal,.reveal.in-view){opacity:1!important;transform:none!important}
  html[data-v183] :is(.project-card,.gallery-item,.resource-card,.work-card):hover{transform:none!important}
}
