/*
Theme Name: Salle Web
Description: Thème sobre pour les cours et devoirs du module Programmation Web (L1 SIL). Pensé pour accueillir la salle d'examen du plugin « Devoir 1 — HTML & CSS » en pleine largeur.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Author: Module Programmation Web
License: GPL-2.0-or-later
Text Domain: salle-web
*/

/* Mise en page : bandeau titre + menu, colonne de lecture 760px, pages « pleine largeur » à 1180px */
:root{
  --sw-bg:#F3F5F8; --sw-surface:#FFFFFF; --sw-ink:#152233; --sw-muted:#5A6878; --sw-line:#D8DEE6;
  --sw-accent:#1C5FD4; --sw-accent-soft:#E3ECFB; --sw-band:#152233; --sw-band-ink:#E8EEF6;
  --sw-display:"Bricolage Grotesque","Segoe UI",system-ui,sans-serif;
  --sw-body:"IBM Plex Sans","Segoe UI",system-ui,sans-serif;
  --sw-mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--sw-bg);color:var(--sw-ink);font-family:var(--sw-body);font-size:16px;line-height:1.65}
img{max-width:100%;height:auto}
a{color:var(--sw-accent);text-underline-offset:2px}
a:hover{text-decoration-thickness:2px}
h1,h2,h3,h4{font-family:var(--sw-display);line-height:1.15;text-wrap:balance;margin:1.4em 0 .5em}
h1{font-size:clamp(28px,4.5vw,42px)} h2{font-size:clamp(22px,3vw,28px)} h3{font-size:20px}
code,pre,kbd{font-family:var(--sw-mono);font-size:.92em}
:not(pre)>code{background:var(--sw-accent-soft);padding:1px 5px;border-radius:4px}
pre{background:#0F1A2A;color:#DCE6F2;padding:14px;border-radius:8px;overflow:auto}
:focus-visible{outline:2px solid var(--sw-accent);outline-offset:2px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.skip-link:focus{position:fixed;top:8px;left:8px;width:auto;height:auto;clip:auto;z-index:100000;background:var(--sw-surface);padding:8px 12px;border-radius:6px}

.sw-wrap{max-width:1180px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}

/* En-tête */
.sw-header{background:var(--sw-band);color:var(--sw-band-ink)}
.sw-header .sw-wrap{display:flex;flex-wrap:wrap;gap:10px 28px;align-items:center;justify-content:space-between;padding-block:16px}
.sw-brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;min-width:0}
.sw-brand:hover{text-decoration:none}
.sw-mark{flex:none;width:38px;height:38px;border-radius:8px;background:var(--sw-accent);display:grid;place-items:center;font-family:var(--sw-mono);font-weight:500;font-size:14px;color:#fff;letter-spacing:-.04em}
.sw-brand .custom-logo{max-height:40px;width:auto}
.sw-site{display:flex;flex-direction:column;line-height:1.2;min-width:0}
.sw-site b{font-family:var(--sw-display);font-size:19px;font-weight:700}
.sw-site span{font-size:13px;opacity:.75}
.sw-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px}
.sw-nav a{display:block;color:var(--sw-band-ink);text-decoration:none;padding:6px 12px;border-radius:6px;font-weight:500;font-size:15px}
.sw-nav a:hover,.sw-nav .current-menu-item>a,.sw-nav .current_page_item>a{background:rgba(255,255,255,.1)}
.sw-nav .sub-menu{display:none}

/* Contenu */
.sw-main{padding-block:32px 64px}
.sw-article{background:var(--sw-surface);border:1px solid var(--sw-line);border-radius:12px;padding:clamp(20px,4vw,40px);max-width:820px;margin:0 auto 24px}
.sw-article > :first-child{margin-top:0}
.sw-article .entry-content > *{max-width:100%}
.sw-wide .sw-article{max-width:none;background:none;border:0;padding:0}
.sw-wide .sw-article .entry-title{display:none}
.sw-meta{color:var(--sw-muted);font-size:14px;margin:-4px 0 18px}
.entry-title{margin-top:0}
.entry-title a{color:inherit;text-decoration:none}
.entry-content table{border-collapse:collapse;width:100%;display:block;overflow-x:auto}
.entry-content th,.entry-content td{border:1px solid var(--sw-line);padding:8px 10px;text-align:left}
.entry-content blockquote{margin:1em 0;padding:4px 0 4px 16px;border-left:3px solid var(--sw-accent);color:var(--sw-muted)}
.wp-block-button__link,.sw-button{display:inline-block;background:var(--sw-accent);color:#fff;border-radius:7px;padding:10px 18px;text-decoration:none;font-weight:500}
.alignwide{max-width:1180px}
.alignfull{max-width:none}
.sw-pager{display:flex;justify-content:space-between;gap:12px;max-width:820px;margin:0 auto}
.sw-empty{text-align:center;color:var(--sw-muted)}

/* Pied de page */
.sw-footer{border-top:1px solid var(--sw-line);background:var(--sw-surface);color:var(--sw-muted);font-size:14px}
.sw-footer .sw-wrap{padding-block:20px;display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between}

@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
