/*
 * sanctuaire_design.css — reconstructed minimal stylesheet
 *
 * The original `sanctuaire_design.css` / `sanctuaire_page.css` / etc. are not
 * recoverable from Wayback (CDX claims captures but the content endpoint
 * serves 0 bytes; some were never archived at all). This is a modern, minimal
 * reconstruction keyed to the HTML's actual id/class structure. Goal: clean,
 * readable, mobile-friendly. Not a 1:1 visual match to the original.
 */

/* ---------- Reset & base ---------- */
*, *::before, *::after { box-sizing: border-box; }

html { font-size: 16px; }

body {
    margin: 0;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    line-height: 1.55;
    color: #222;
    background: #f4f1e8;
}

a { color: #1d4f8c; text-decoration: none; }
a:hover { text-decoration: underline; }

img { max-width: 100%; height: auto; }

h1, h2, h3, h4 { font-family: Georgia, "Times New Roman", serif; color: #2b3a55; line-height: 1.25; }
h1 { font-size: 1.75rem; margin: 0.75em 0 0.5em; }
h2 { font-size: 1.35rem; margin: 1em 0 0.5em; }
h3 { font-size: 1.15rem; margin: 0.8em 0 0.4em; }

table { border-collapse: collapse; }

/* ---------- Page frame ---------- */
#cadre_remplace_body {
    max-width: 1024px;
    margin: 0 auto;
    background: #fff;
    box-shadow: 0 0 30px rgba(0,0,0,0.08);
    min-height: 100vh;
}

#banniere {
    background: linear-gradient(135deg, #2b3a55 0%, #4a6b8a 100%);
    color: #fff;
    padding: 1.2rem 1.5rem;
    font-family: Georgia, serif;
    font-size: 1.8rem;
    font-weight: bold;
    letter-spacing: 0.5px;
}

#menu_horizontal {
    background: #1f2a3d;
    padding: 0.5rem 1rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
}

.lien_menus, .lien_menu {
    margin: 0;
    padding: 0.35rem 0.6rem;
}
.lien_menus a, .lien_menu a {
    color: #d8e6ff;
    font-size: 0.95rem;
    font-weight: 500;
}
.lien_menus a:hover, .lien_menu a:hover {
    color: #fff;
    text-decoration: none;
    background: rgba(255,255,255,0.08);
    border-radius: 3px;
}

#recherche {
    background: #ecebe2;
    padding: 0.6rem 1rem;
    border-bottom: 1px solid #d4d2c5;
}
#recherche input[type="text"] {
    padding: 0.3rem 0.5rem;
    border: 1px solid #bfbdaf;
    border-radius: 3px;
    font-size: 0.95rem;
    width: 250px;
}
#img_bouton_rechercher {
    padding: 0.3rem 0.9rem;
    background: #2b3a55;
    color: #fff;
    border: none;
    border-radius: 3px;
    cursor: pointer;
    font-size: 0.95rem;
}
#img_bouton_rechercher::after { content: "Rechercher"; }

/* hide the decorative bottom-magnifier element from the original design */
#bas_loupe { display: none; }

#conteneur {
    padding: 1.2rem 1.5rem;
    min-height: 60vh;
}

#pied {
    background: #1f2a3d;
    color: #cad3df;
    text-align: center;
    padding: 1.2rem 1rem;
    font-size: 0.85rem;
    margin-top: 2rem;
}
#pied a { color: #88b3e0; }

/* ---------- Game data sheet (fichejeux / jeu-N-*.html) ---------- */
#titre_jeu {
    font-family: Georgia, serif;
    font-size: 2rem;
    color: #2b3a55;
    border-bottom: 3px solid #d4d2c5;
    padding-bottom: 0.4rem;
    margin-bottom: 1rem;
}

#packshot {
    float: right;
    margin: 0 0 1rem 1.5rem;
    max-width: 220px;
    border: 1px solid #d4d2c5;
    padding: 4px;
    background: #fff;
}
#packshot img { display: block; }

#histoire {
    font-size: 1rem;
    text-align: justify;
    margin-bottom: 1.5rem;
}

#infos_generales {
    background: #f4f1e8;
    border: 1px solid #d4d2c5;
    border-radius: 6px;
    padding: 1rem 1.2rem;
    margin: 1.5rem 0;
    clear: both;
}
/* The original used corner-image divs — hide them, the border-radius does the job */
#angle_hg, #angle_hd, #angle_bg, #angle_bd { display: none; }

#info_generales_titre {
    font-family: Georgia, serif;
    font-weight: bold;
    font-size: 1.2rem;
    color: #2b3a55;
    margin-bottom: 0.6rem;
}

#contenu_infos_generales { font-size: 0.95rem; line-height: 1.7; }

/* ---------- Article body content blocks ---------- */
.bloc_fichejeu {
    background: #fafaf5;
    border: 1px solid #e3e1d5;
    border-radius: 4px;
    padding: 1rem 1.2rem;
    margin: 1rem 0;
}
.titre_bloc_fichejeu {
    font-family: Georgia, serif;
    font-weight: bold;
    color: #2b3a55;
    font-size: 1.1rem;
    margin-bottom: 0.5rem;
    border-bottom: 1px solid #e3e1d5;
    padding-bottom: 0.3rem;
}
.p_bloc_fiche {
    margin: 0.5rem 0;
    text-align: justify;
}

.western { font-family: Georgia, serif; }
.gras_rouge { color: #a02828; font-weight: bold; }

/* MS-Word paste artifact — normalize to body type */
.MsoNormal { margin: 0.5rem 0; font-family: inherit; }

/* ---------- News articles & topic indices ---------- */
.titre_newsentiere, .titre_newsent {
    font-family: Georgia, serif;
    font-size: 1.4rem;
    color: #2b3a55;
    margin: 1.2rem 0 0.3rem;
}
.date_newsent {
    color: #888;
    font-size: 0.85rem;
    margin-bottom: 0.6rem;
    font-style: italic;
}
.contenu_news {
    font-size: 1rem;
    text-align: justify;
    margin-bottom: 1.5rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid #e3e1d5;
}

.titre_derniersart, .titre_bloc_avis {
    font-family: Georgia, serif;
    font-size: 1.2rem;
    color: #2b3a55;
    background: #f4f1e8;
    border-left: 4px solid #4a6b8a;
    padding: 0.5rem 0.8rem;
    margin: 1rem 0 0.6rem;
}

/* ---------- Reviews ---------- */
.avis, .poster_avis {
    background: #fafaf5;
    border: 1px solid #e3e1d5;
    border-radius: 4px;
    padding: 0.8rem 1rem;
    margin: 0.8rem 0;
}

/* ---------- Galleries & screenshots ---------- */
#screenshots {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 0.6rem;
    margin: 1rem 0;
}
#screenshots img {
    width: 100%;
    height: auto;
    border: 1px solid #d4d2c5;
    padding: 3px;
    background: #fff;
}

#galerie_complete {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 0.8rem;
    margin: 1rem 0;
}

/* The carousel from the original (carousel.css/js never archived) — hide */
.carousel-component, #dhtml-carousel { display: none; }

#separation_bleue, #barre_transversale {
    border-top: 2px solid #4a6b8a;
    margin: 1.5rem 0;
    height: 0;
}

/* ---------- Ads (we don't have them, hide the placeholder divs) ---------- */
.div_pub_everlight2 { display: none; }

/* ---------- Responsive ---------- */
@media (max-width: 768px) {
    #banniere { font-size: 1.3rem; padding: 1rem; }
    #menu_horizontal { padding: 0.4rem 0.6rem; gap: 0.3rem 0.8rem; }
    .lien_menus a, .lien_menu a { font-size: 0.85rem; }
    #conteneur { padding: 1rem; }
    #packshot { float: none; margin: 0 0 1rem 0; max-width: 100%; text-align: center; }
    #titre_jeu { font-size: 1.5rem; }
    #recherche input[type="text"] { width: 60%; }
}

/* ---------- Small print / footer text ---------- */
.copyright, #pied p { margin: 0.2rem 0; }
