/* CONDORMAN — PHASE 1 : base fixe HTML et CSS, comme Andarou. */
/* 1. Réglages généraux et typographie */
html {
    scroll-behavior: smooth;
}

body {
    background: #161616;
    color: #151515;
    font-family: Arial, sans-serif;
}

p {
    font-size: 16px;
    line-height: 1.6;
}

h1, h2, h3, .titre-bd, nav, .bouton, summary {
    font-family: 'Roboto Condensed', Impact, 'Arial Narrow', sans-serif;
    font-weight: 900;
}

a:focus-visible, summary:focus-visible, input:focus-visible, textarea:focus-visible {
    outline: 4px solid #075ac8;
    outline-offset: 5px;
}

a:hover {
    text-decoration: underline;
}

/* 2. Le conteneur et les trois colonnes : 400 + 400 + 400 = 1200 px. */
#container {
    width: 1200px;
    margin: 24px auto;
    background: #fff5df;
    outline: 5px solid #151515;
}

/* Les trois colonnes occupent exactement 1200 px. Le cadre est un contour extérieur. */
.colonne {
    width: 400px;
    float: left;
    padding: 30px;
}

.clear {
    clear: both;
}

.ligne {
    border-bottom: 5px solid #151515;
}

.bordure {
    border-left: 5px solid #151515;
}

.jaune {
    background-color: #ffdf00;
}

.bleu {
    background-color: #075ac8;
    color: #fff5df;
}

.rouge {
    background-color: #f12c1b;
}

.trame {
    background-image: url(../images/trame.svg);
}

.numero {
    display: block;
    font-size: 11px;
    letter-spacing: 2px;
    font-weight: bold;
    margin-bottom: 20px;
    text-transform: uppercase;
}

.cartouche {
    display: inline-block;
    padding: 7px 10px;
    background: #f12c1b;
    color: white;
    font-family: 'Roboto Condensed', Impact, sans-serif;
    font-size: 19px;
    font-weight: 900;
    text-transform: uppercase;
}

.bouton {
    display: inline-block;
    border: 3px solid #151515;
    background: #f12c1b;
    color: white;
    box-shadow: 5px 5px 0 #151515;
    padding: 15px 19px;
    font-size: 20px;
    text-transform: uppercase;
}

.bouton:hover {
    background: #ffdf00;
    color: #151515;
    text-decoration: none;
}

/* 3. En-tête */
header .colonne {
    height: 92px;
    padding: 23px 18px;
}

.logo {
    font-family: 'Roboto Condensed', Impact, sans-serif;
    font-size: 48px;
    font-weight: 900;
    letter-spacing: -2px;
    line-height: .9;
}

header nav.colonne {
    font-size: 14px;
    padding-top: 34px;
    text-align: center;
}

nav a {
    display: inline-block;
    margin: 0 6px 0 0;
    text-transform: uppercase;
}

.etat {
    font-family: 'Roboto Condensed', Impact, sans-serif;
    font-weight: 900;
    font-size: 23px;
    padding-top: 10px;
}

.batterie {
    display: inline-block;
    border: 3px solid #151515;
    width: 38px;
    height: 19px;
    margin-left: 8px;
    vertical-align: middle;
    padding: 2px;
    background: #fff5df;
}

.batterie span {
    display: block;
    background: #f12c1b;
    width: 5px;
    height: 9px;
}

/* 4. Accueil : texte, personnage, bulle */
#accueil .colonne {
    height: 565px;
}

h1 {
    font-size: 80px;
    letter-spacing: -4px;
    line-height: .96;
    margin: 26px 0;
}

#accueil p.accroche {
    font-family: 'Roboto Condensed', Impact, sans-serif;
    font-size: 26px;
    font-weight: 700;
    line-height: 1.25;
    margin: 25px 0;
}

#accueil .portrait {
    padding: 0;
    background: #ffdf00;
}

.portrait img {
    width: 395px;
    height: 560px;
    object-fit: contain;
}

.bulle {
    background: #fff5df;
    color: #151515;
    border: 4px solid #151515;
    border-radius: 48%;
    padding: 25px 20px;
    text-align: center;
    font-family: 'Roboto Condensed', Impact, sans-serif;
    font-size: 28px;
    font-weight: 900;
    line-height: 1.15;
    transform: rotate(-4deg);
    box-shadow: 4px 5px 0 #151515;
}

.heure {
    display: block;
    color: #ffdf00;
    font-family: 'Roboto Condensed', Impact, sans-serif;
    font-size: 113px;
    line-height: 1.15;
    font-weight: 900;
    letter-spacing: -4px;
    transform: rotate(-7deg);
    text-shadow: 5px 6px 0 #151515;
    margin: 40px 0 20px;
}

.cri {
    display: block;
    background: #f12c1b;
    border: 5px solid #151515;
    color: #fff5df;
    font-family: 'Roboto Condensed', Impact, sans-serif;
    font-weight: 900;
    font-style: italic;
    font-size: 78px;
    text-align: center;
    transform: rotate(-7deg);
    box-shadow: 7px 7px 0 #151515;
}

/* 5. Bandeaux et biographie */
.bandeau {
    padding: 18px 25px;
    border-bottom: 5px solid #151515;
    background-color: #ffdf00;
}

.bandeau h2 {
    font-size: 43px;
    line-height: 1.05;
    text-align: center;
    text-transform: uppercase;
}

#personnage .colonne {
    min-height: 355px;
}

#personnage h3 {
    font-size: 36px;
    line-height: 1;
    margin-bottom: 18px;
    text-transform: uppercase;
}

#personnage p {
    margin-bottom: 16px;
}

.grand-zero {
    display: block;
    font-family: 'Roboto Condensed', Impact, sans-serif;
    font-size: 130px;
    line-height: 1;
    font-weight: 900;
}

/* 6. Pouvoirs : deux lignes de trois articles */
.pouvoir {
    padding: 0;
}

.pouvoir h3 {
    padding: 13px 18px;
    background: #f12c1b;
    font-size: 26px;
    text-transform: uppercase;
    border-bottom: 4px solid #151515;
    color: white;
}

.pouvoir h3 span {
    color: #151515;
    margin-right: 10px;
}

.illustration-pouvoir {
    height: 190px;
    padding: 24px 15px;
    background-color: #075ac8;
    text-align: center;
    color: #ffdf00;
}

.illustration-pouvoir strong {
    display: block;
    font-family: 'Roboto Condensed', Impact, sans-serif;
    font-size: 96px;
    line-height: 1.2;
    text-shadow: 4px 4px 0 #151515;
}

.illustration-pouvoir small {
    text-transform: uppercase;
    font-size: 12px;
    font-weight: bold;
    letter-spacing: 2px;
    color: white;
}

.pouvoir p {
    padding: 19px 24px;
    min-height: 114px;
    font-size: 16px;
}

/* 7. Galerie : les images restent entières. */
.intro-section {
    padding: 20px 30px;
    border-bottom: 5px solid #151515;
}

.affiche {
    padding: 23px;
}

.affiche img {
    width: 350px;
    height: 510px;
    object-fit: contain;
    background: #151515;
}

.affiche h3 {
    font-size: 26px;
    text-transform: uppercase;
    margin: 20px 0 8px;
}

.affiche .numero {
    margin-bottom: 13px;
}

details {
    margin-top: 17px;
    border-top: 2px solid #151515;
    padding-top: 13px;
}

summary {
    cursor: pointer;
    font-size: 18px;
    text-transform: uppercase;
}

details p {
    margin-top: 12px;
    font-size: 15px;
}

.affiche details p {
    min-height: 75px;
}

.lien-image {
    display: block;
}

.lien-image:focus-visible {
    outline-offset: -5px;
}

.son {
    padding: 0;
}

.son img {
    width: 395px;
    height: 245px;
    object-fit: cover;
}

.son p {
    padding: 16px 22px;
    min-height: 87px;
}

/* 8. Blason */
#blason .colonne {
    min-height: 465px;
}

#blason h3 {
    font-size: 36px;
    line-height: 1.05;
    margin: 25px 0;
}

#blason .armoiries {
    padding: 20px;
    background: #000;
}

.armoiries img {
    width: 355px;
    height: 420px;
    object-fit: contain;
}

#blason p {
    margin-bottom: 18px;
}

.devise {
    font-family: Georgia, serif;
    font-size: 23px;
    font-style: italic;
}

/* 9. Contact fictif : details ouvre la réponse sans JavaScript. */
#contact .colonne {
    min-height: 380px;
}

#contact h3 {
    font-size: 45px;
    line-height: 1;
    text-transform: uppercase;
    margin-bottom: 22px;
}

label {
    display: block;
    font-family: 'Roboto Condensed', Impact, sans-serif;
    font-weight: 900;
    margin-bottom: 6px;
    text-transform: uppercase;
}

input, textarea {
    display: block;
    width: 100%;
    border: 3px solid #151515;
    background: #fffdf5;
    padding: 9px;
    margin-bottom: 16px;
    font-size: 16px;
    border-radius: 0;
}

textarea {
    height: 80px;
    resize: vertical;
}

.envoi {
    margin: 0;
    padding: 0;
    border: 0;
}

.envoi summary {
    list-style: none;
    width: 100%;
    text-align: center;
}

.envoi summary::-webkit-details-marker {
    display: none;
}

.erreur {
    border: 3px solid #151515;
    padding: 12px;
    background: #ffdf00;
    font-weight: bold;
}

.note {
    font-size: 11px;
    line-height: 1.4;
    margin-top: 12px;
}

.enveloppe {
    font-family: Arial, sans-serif;
    font-size: 112px;
    text-align: center;
    margin-top: 22px;
    transform: rotate(-9deg);
    color: #fff5df;
}

/* 10. Pied de page et versions pédagogiques */
footer {
    padding: 24px 30px;
    background: #151515;
    color: #fff5df;
}

footer strong {
    color: #ffdf00;
    font-family: 'Roboto Condensed', Impact, sans-serif;
    font-size: 25px;
}

footer p {
    margin-top: 12px;
    font-size: 12px;
}

footer a {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.version {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid #777;
}

/* 11. Quelques classes pour éviter les styles directement dans le HTML. */
.titre-excuses {
    font-size: 38px;
    margin-top: 45px;
}

.liste-excuses {
    margin-top: 20px;
}

.chargement {
    margin-top: 30px;
    font-weight: bold;
}

.livraison {
    text-align: center;
    font-weight: bold;
}


