/* gameworld.fr — identite « l'atlas des mondes jouables ».
   Additive, sans valeur en dur hors palette. Interactions et rythme vertical. */
:root{
  --gw-ink:#111018; --gw-paper:#ffffff; --gw-paper-soft:#f2f0f8;
  --gw-accent:#5141a6; --gw-accent-2:#c74634; --gw-line:#cdc8dc;
}
/* 8 roles : focus clavier visible, jamais de deplacement */
a:focus-visible, button:focus-visible, input:focus-visible,
textarea:focus-visible, select:focus-visible, [tabindex]:focus-visible{
  outline:2px solid var(--gw-accent); outline-offset:2px; border-radius:2px;
}
/* hover coherent des elements cliquables, geometrie stable */
main a:hover, footer a:hover, .dn-breadcrumb a:hover,
.dn-gw-share__link:hover, .dn-loop-post a:hover{ color:var(--gw-accent); }
footer.dn-fleet-footer a:hover, footer.dn-site-footer a:hover,
.dn-fleet-footer__sections a:hover{ color:var(--gw-accent); text-decoration:underline; text-underline-offset:3px; }
/* footer exploitable : corps et liens lisibles */
footer.dn-fleet-footer, footer.dn-site-footer{ font-size:15px; line-height:1.65; }
footer.dn-fleet-footer a, footer.dn-site-footer a, footer a[href]{ font-size:14px; }
footer .dn-fleet-footer__sections, footer .dn-fleet-footer__links, footer .dn-site-footer__links{ row-gap:8px; }
/* rythme vertical : fil d'Ariane jamais colle au header */
.dn-breadcrumb, nav.breadcrumb{ margin-top:max(14px,0.5em); margin-bottom:max(22px,1em); }
/* cartes auteur/redaction jamais collees a la section precedente */
.dn-author-grid, [class*="author-grid"], [class*="team-grid"], [class*="author-cards"]{
  row-gap:24px; column-gap:24px;
}
[class*="author-grid"] > *, [class*="author-card"], [class*="author-card"] *{ min-width:0; }
[class*="author-card"]{ padding:20px 20px 18px; }
/* rail publicitaire : strictement vide et visuellement neutre */
.dn-article-rail, .dn-article-rail__slot, aside[class*="rail"]{
  background:transparent !important; border:0 !important; box-shadow:none !important;
}
@media (max-width:480px){
  .dn-article-rail, .dn-article-rail__slot, aside[class*="rail"]{ display:none !important; }
}
/* formulaires : centres ou pleine largeur utile, jamais colles a gauche */
.dn-contact-form{ margin-left:auto; margin-right:auto; max-width:760px; width:100%; }
.dn-contact-form input:not([type=hidden]):not([type=checkbox]), .dn-contact-form textarea,
.dn-contact-form select, .dn-contact-form button, .dn-contact-form .dn-field{ width:100%; box-sizing:border-box; }
/* sous-menu desktop : cible lisible et cliquable */
.smart-head-main .menu > .menu-item-has-children > .sub-menu,
.navigation-main .menu > .menu-item-has-children > .sub-menu{
  background:var(--gw-paper); border:1px solid var(--gw-line);
  box-shadow:0 10px 28px rgba(17,16,24,.14);
}
.navigation-main .sub-menu a{ display:block; padding:9px 16px; }
.navigation-main .sub-menu a:hover{ background:var(--gw-paper-soft); color:var(--gw-accent); }
/* bloc partage / liens sociaux (in-flow, jamais flottant) */
.dn-gw-share{ margin:34px 0 10px; padding-top:20px; border-top:1px solid var(--gw-line); }
.dn-gw-share__label{ font-size:13px; letter-spacing:.08em; text-transform:uppercase; color:var(--gw-ink); margin:0 0 10px; }
.dn-gw-share__list{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:10px; }
.dn-gw-share__link{ display:inline-block; padding:8px 14px; border:1px solid var(--gw-line);
  border-radius:6px; font-size:14px; line-height:1; color:var(--gw-ink); text-decoration:none; }
.dn-gw-share__link:hover{ border-color:var(--gw-accent); color:var(--gw-accent); }
