/* ==========================================================
   Yvonne News — Coppermine theme
   (base structurelle : HQDiesel-Paris)
   Palette : noir & blanc, accents jaunes
   Bandeaux "glam" avec cœur décoratif inspirés de sabrinacarpenter.net
   ========================================================== */

:root {
    --hq-jaune-doux: #F5EC85;
    --hq-jaune-vif:  #F0DF3F;
    --hq-noir:        #1A1A1A;
    --hq-argent:      #C9CDD3;
    --hq-fond-gris:   #E5E4E2;
    --hq-blanc-creme: #FAF7F5;
    --hq-texte:       #4a4a4a;

    --hq-font-display: 'Playfair Display', serif;
    --hq-font-ui: 'Poppins', sans-serif;
}

* { box-sizing: border-box; }

body {
    line-height: 1.5;
    background: var(--hq-blanc-creme);
    font-family: var(--hq-font-ui);
    font-size: 13px;
    color: var(--hq-texte);
    margin: 0;
}

a { color: var(--hq-jaune-vif); text-decoration: none; }
a:hover { color: var(--hq-noir); }

strong, b {
    color: var(--hq-jaune-vif);
    border-bottom: none;
}

h1 { line-height: 120%; color: var(--hq-noir); margin: 0; font-family: var(--hq-font-display); }
h2 { padding-left: 0; font-size: 13px; margin: 0; font-family: var(--hq-font-ui); }
h3 { font-weight: normal; font-size: 11px; margin: 0; }

p { font-family: var(--hq-font-ui); font-size: 12px; margin: 2px 0; }

ul { list-style-type: none; margin-left: 5px; padding: 0; }
li { margin: 4px 0 4px 10px; padding: 0; list-style-type: none; }


/* ------- HERO BANNER ------- */
.hero-banner {
    width: 100%;
    height: 620px;
    position: relative;
    z-index: 100;
    background: var(--hq-noir) url("imgs/header.png") top center no-repeat;
    background-size: cover;
}

/* séparateur en alternance jaune / crème, à la place du fondu */
.hero-separator {
    width: 100%;
    height: 12px;
    background: repeating-linear-gradient(
        45deg,
        var(--hq-jaune-vif) 0px, var(--hq-jaune-vif) 20px,
        var(--hq-blanc-creme) 20px, var(--hq-blanc-creme) 40px
    );
}

/* ------- WELCOME BLOCK (message d'accueil + derniers projets) ------- */
.welcome-block {
    width: 1050px;
    margin: 30px auto;
    display: flex;
    gap: 40px;
    border: 1px solid var(--hq-jaune-vif);
    border-radius: 6px;
    padding: 24px 30px;
    background: var(--hq-blanc-creme);
}

.welcome-col { flex: 1; }

.welcome-col h2 {
    position: relative;
    display: inline-block;
    font-family: var(--hq-font-ui);
    font-size: 13px !important;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--hq-noir);
    z-index: 1;
    padding: 0 2px;
    margin-bottom: 12px !important;
}

/* surlignage deux couleurs décalé (façon marqueur/sticker) */
.welcome-col h2::before,
.welcome-col h2::after {
    content: "";
    position: absolute;
    left: -3px;
    right: -3px;
    top: 20%;
    bottom: 20%;
}

.welcome-col h2::before {
    background: var(--hq-jaune-doux);
    transform: rotate(-2deg) translate(-2px, 1px);
    z-index: -2;
}

.welcome-col h2::after {
    background: var(--hq-jaune-vif);
    transform: rotate(2deg) translate(2px, -1px);
    z-index: -1;
    opacity: 0.85;
}

.welcome-col p {
    font-size: 12.5px;
    line-height: 1.9;
    color: var(--hq-noir);
}

.welcome-col p strong {
    color: var(--hq-noir);
    font-weight: 700;
}

.projects-list { margin: 0; padding: 0; }
.projects-list li {
    list-style: none;
    margin: 0 0 10px 0;
    padding: 0;
    font-size: 12px;
    color: var(--hq-texte);
}

.project-badge {
    display: inline-block;
    background: var(--hq-noir);
    color: var(--hq-blanc-creme);
    border: 1px solid var(--hq-jaune-vif);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-size: 11px;
    padding: 4px 8px;
    border-radius: 3px;
    margin-right: 6px;
}


/* --- principal ------- */
#conteudo {
    position: relative;
    width: 1050px;
    margin: 0 auto;
}

#main {
    margin-bottom: 0;
    float: left;
    width: 1050px;
    overflow: hidden;
    margin-top: 10px;
    margin-bottom: 10px;
    padding: 0;
    position: relative;
}

#sidebar { display: none; }


/* ------- MENU ------- */
.menutopo {
    font-size: 0;
    height: auto;
    width: 1150px;
    margin: -40px auto 24px;
    position: relative;
    background: linear-gradient(135deg, var(--hq-blanc-creme) 0%, var(--hq-jaune-doux) 140%);
    border: 1px solid var(--hq-jaune-doux);
    border-radius: 10px;
    text-align: center;
    white-space: nowrap;
    z-index: 1000;
    padding: 12px 16px;
    box-shadow: 0 6px 18px rgba(0,0,0,0.15);
}

.menutopo a {
    font-family: var(--hq-font-ui);
    font-weight: 600;
    display: inline-block;
    border: 1px solid var(--hq-jaune-vif);
    background: rgba(250, 247, 245, 0.6);
    font-size: 10px;
    color: var(--hq-noir);
    border-radius: 3px;
    margin: 0 4px 0 0;
    letter-spacing: 0.3px;
    text-transform: uppercase;
    padding: 6px 10px;
    transition: all 0.3s ease-in-out;
}

.menutopo a:hover {
    color: var(--hq-noir);
    background: var(--hq-jaune-vif);
    border-color: var(--hq-jaune-vif);
}


/* ------- corpo galeria ---- */
.maintable {
    background: var(--hq-blanc-creme);
    width: 1050px;
    margin: 0 0 10px;
    padding: 0;
    text-align: justify;
}

/* ------- BANDEAUX GLAM (Yvonne News) --------------------------------
   Le sélecteur [colspan] cible uniquement les bandeaux pleine largeur
   (ex: "Photos aléatoires", "Derniers ajouts") et laisse les petits
   en-têtes de colonnes ("Catégories" / "Albums" / "Fichiers") avec un
   style plus discret plus bas.
---------------------------------------------------------------------- */
.tableh1[colspan] {
    position: relative;
    overflow: visible;
    text-align: center;
    background: url("imgs/section-bg.jpg") center / cover no-repeat;
    border: none;
    border-radius: 6px;
    padding: 20px 90px 20px 20px;
    color: var(--hq-blanc-creme);
}

.tableh1[colspan] img.icon {
    display: inline-block !important;
    width: 14px;
    height: 14px;
    vertical-align: middle;
    margin-right: 10px;
    opacity: 0.9;
    filter: drop-shadow(0 0 0 var(--hq-jaune-vif));
}

/* éclat décoratif, en SVG inline, qui déborde en haut à droite du bandeau */
.tableh1[colspan]::after {
    content: "";
    position: absolute;
    top: -22px;
    right: 10px;
    width: 90px;
    height: 70px;
    pointer-events: none;
    z-index: 5;
    background-repeat: no-repeat;
    background-size: contain;
    transform: rotate(8deg);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 100'%3E%3Cpath d='M65 2C68 32 78 46 100 50 78 54 68 68 65 98 62 68 52 54 30 50 52 46 62 32 65 2Z' fill='%23F0DF3F' opacity='0.9'/%3E%3Cpath d='M27 38C28.5 51 35 57 49 59 35 61 28.5 67 27 80 25.5 67 19 61 5 59 19 57 25.5 51 27 38Z' fill='%23F0DF3F' opacity='0.55'/%3E%3C/svg%3E");
}

/* petit en-tête de colonnes (ex: Catégories / Albums / Fichiers) : même fond photo, sans éclat */
.tableh1:not([colspan]) {
    background: url("imgs/section-bg.jpg") center / cover no-repeat;
    border: none;
    border-bottom: 1px solid var(--hq-jaune-vif);
    color: var(--hq-blanc-creme);
}

.anunchasds {
    background: var(--hq-blanc-creme);
    border: 1px solid var(--hq-jaune-vif);
    display: block;
    margin-bottom: 20px;
    padding: 10px;
    height: 90px;
    text-align: center;
}


/* ------- LINK ALBUM DENTRO ---- */
.alblink a {
    text-decoration: none;
    color: var(--hq-noir);
    font-size: 11px;
    font-family: var(--hq-font-ui);
    font-weight: 700;
}
.alblink a:hover { color: var(--hq-jaune-vif); }


.sdsmdsmds {
    letter-spacing: 0.5px;
    font-family: var(--hq-font-ui);
    font-weight: 500;
    text-align: center;
    border: 1px solid var(--hq-jaune-vif);
    background: var(--hq-blanc-creme);
    text-transform: uppercase;
    font-size: 10px;
    color: var(--hq-noir);
    padding: 20px;
}


/* ------- BARRE AVANT LES PHOTOS ---- */
.tableh1 {
    letter-spacing: 1px;
    font-family: var(--hq-font-ui);
    font-weight: 700;
    font-style: normal;
    border: none;
    border-bottom: 1px solid var(--hq-jaune-vif);
    background: var(--hq-blanc-creme);
    text-transform: uppercase;
    font-size: 13px;
    color: var(--hq-noir);
    padding: 18px 20px;
}

.tableb {
    background: transparent;
    color: var(--hq-texte);
    line-height: 22px;
}

.tableh1 img { display: none; }

.tableh1_compact {
    font-family: var(--hq-font-ui);
    text-transform: uppercase;
    font-size: 10px;
    color: var(--hq-jaune-vif);
    letter-spacing: 1px;
    padding: 10px;
}

.pic_title { padding: 10px; font-size: 10px; }
.pic_caption {
    padding: 20px;
    display: block;
    margin: 0;
    border: 1px solid var(--hq-jaune-vif);
    font-weight: 400;
    font-size: 14px;
    font-family: var(--hq-font-display);
    font-style: italic;
    color: var(--hq-noir);
}


/* ------- ops 2 ---- */
.tableh2 {
    font-weight: 600;
    border: 1px solid var(--hq-jaune-vif);
    font-family: var(--hq-font-ui);
    text-transform: uppercase;
    font-size: 10px;
    color: var(--hq-jaune-vif);
    letter-spacing: 1px;
    padding: 20px;
    transition: all 0.3s ease-in-out;
}


/* ------- ops 3 ---- */
.tableb { padding: 0 10px; }
.tableb_compact { padding: 0; border: 1px solid var(--hq-jaune-vif); overflow: hidden; }
.tableb_alternate { overflow: hidden; margin-bottom: 10px; padding: 0; }
.tablef { padding: 0 10px; overflow: hidden; }
.tableb_alternate .tableb_alternate { border: none; }


/* ------- CATEGORIES ---- */
.catrow_noalb,
.catrow {
    overflow: hidden;
    color: var(--hq-noir);
    border: none;
    border-bottom: 1px solid var(--hq-jaune-vif);
    line-height: 22px;
    margin-bottom: 0;
    font-family: var(--hq-font-ui);
    font-style: normal;
    font-weight: 400;
    font-size: 11px;
    padding: 10px 0;
    transition: all ease-out 0.3s;
}

.catrow_noalb img,
.catrow img {
    border-radius: 4px;
    width: 60px;
    height: 60px;
    float: left;
    margin-right: 20px;
    object-fit: cover;
}

.catlink {
    margin-bottom: 0;
    font-style: normal;
    padding: 0;
    margin: 0 0 0 10px;
    display: block;
}

.catlink a {
    font-family: var(--hq-font-ui);
    font-weight: 600;
    text-transform: uppercase;
    font-style: normal;
    font-size: 11px;
    display: inline-block;
    color: var(--hq-noir);
    letter-spacing: 1.5px;
    text-decoration: none;
    transition: color 0.3s ease-in-out;
}

.catrow_noalb:hover .catlink a,
.catrow:hover .catlink a { color: var(--hq-jaune-vif); }

.buttonlist a { color: var(--hq-jaune-vif); display: inline-block; }


/* ------- outros ---- */
.album_stat {
    padding: 6px;
    color: var(--hq-texte);
    line-height: 22px;
    display: block;
    letter-spacing: 0.5px;
    font-family: var(--hq-font-ui);
    font-style: italic;
    font-size: 12px;
    margin: 30px 20px -5px;
}

.thumb_filename { font-size: 10px; display: block; }


/* ------- TITRE ALBUM (overlay sur vignette) ---- */
.thumb_title_title {
    position: relative;
    z-index: 100;
    font-weight: 600;
    font-family: var(--hq-font-ui);
    font-size: 9px;
    letter-spacing: 1px;
    width: 110px;
    background: none;
    color: var(--hq-noir);
    text-align: center;
    text-transform: uppercase;
    margin: 0;
    padding: 10px;
    line-height: 12px;
    display: block;
    transition: all ease-out 0.3s;
}

.thumbnails:hover .thumb_title_title {
    background: none;
    color: var(--hq-noir);
}


.thumb_title_views {
    display: block;
    width: 110px;
    box-sizing: border-box;
    font-weight: 400;
    text-transform: uppercase;
    color: var(--hq-noir);
    background: var(--hq-jaune-doux);
    margin: 0 0 2px;
    font-family: var(--hq-font-ui);
    font-size: 9px;
    letter-spacing: 1px;
    padding: 5px;
}

.thumb_resolution {
    position: absolute;
    width: 140px;
    top: 10px; left: 10px;
    background: rgba(26, 26, 26, 0.7);
    color: var(--hq-blanc-creme);
    padding: 10px 5px;
}

.thumb_caption {
    background: var(--hq-blanc-creme);
    text-transform: uppercase;
    color: var(--hq-jaune-vif);
    margin-top: 0;
    width: 110px;
    font-family: var(--hq-font-ui);
    font-weight: 500;
    font-size: 10px;
    padding: 10px;
}

.thumb_caption_ctime,
.thumb_caption_mtime {
    font-weight: 400;
    text-transform: uppercase;
    color: var(--hq-noir);
    border-radius: 0 0 4px 4px;
    background: var(--hq-jaune-doux);
    margin: 0;
    font-family: var(--hq-font-ui);
    font-size: 9px;
    letter-spacing: 1px;
    padding: 5px;
    display: block;
    width: 110px;
    box-sizing: border-box;
}


.thumbnails .image {
    margin: 10px 0 -3px;
    height: auto;
    opacity: 1;
    transition: all ease-out 0.3s;
    border: 6px solid transparent;
    border-radius: 2px;
    background:
        linear-gradient(var(--hq-blanc-creme), var(--hq-blanc-creme)) padding-box,
        linear-gradient(135deg, var(--hq-jaune-doux), var(--hq-jaune-vif)) border-box;
}

.thumbnails:hover .image {
    opacity: 0.85;
    filter: none;
}

.albums .image {
    margin-bottom: 0;
    padding: 10px;
    border-radius: 4px;
    background: var(--hq-blanc-creme);
    border: 1px solid var(--hq-jaune-vif);
    transition: all ease-out 0.3s;
}

.tableb_alternate .image {
    margin-bottom: 0;
    float: left;
    padding: 10px;
    transition: all ease-out 0.3s;
}

.imageborder { margin: 0; }

.thumb_caption_rating { display: none; }

.thumbnails {
    text-align: center;
    border: none;
    position: relative;
    margin-top: 5px;
    padding: 10px;
    background: var(--hq-blanc-creme);
    transition: all 0.3s ease-in-out;
}

/* remplace le tile.gif "pellicule" par défaut de Coppermine (posé en style inline) par une bande noire épurée */
.filmstrip_background {
    background-image: none !important;
    background-color: var(--hq-noir) !important;
    border-top: 2px solid var(--hq-jaune-vif);
    border-bottom: 2px solid var(--hq-jaune-vif);
}

.filmstrip_background .thumbnails {
    text-align: center;
    width: 160px;
    background: rgba(26, 26, 26, 0.15);
    position: relative;
    margin-top: 5px;
    padding-bottom: 12px;
    transition: all 0.3s ease-in-out;
}


/* ------- tamanho do midia (page image seule) ---- */
.display_media {
    background: var(--hq-blanc-creme);
    border: 1px solid var(--hq-jaune-vif);
    text-align: center;
    padding: 0;
}

.display_media .image {
    margin: 10px;
    background: var(--hq-fond-gris);
    border: 1px solid var(--hq-jaune-vif);
    padding: 20px;
    transition: opacity ease-out 0.3s;
}


/* ------- statistiques ---- */
.tableh1 .statlink {
    padding: 0;
    font-family: var(--hq-font-ui);
    font-weight: 400;
    text-align: center;
    text-transform: uppercase;
    font-size: 10px;
    letter-spacing: 0;
    color: var(--hq-blanc-creme);
}

.tableh1 .statlink a {
    text-decoration: none;
    font-size: 10px;
    margin-bottom: 1px;
    text-transform: uppercase;
    color: var(--hq-jaune-vif);
    display: inline-block;
    font-family: var(--hq-font-ui);
    font-weight: 600;
}

.tableh1 .statlink a:hover { color: var(--hq-blanc-creme); }


.user_thumb_infobox { margin: 1px 0; }
.user_thumb_infobox th { font-weight: bold; font-size: 100%; margin: 1px 0; text-align: center; }
.user_thumb_infobox td { font-size: 85%; margin: 1px 0; text-align: center; }
.user_thumb_infobox a { text-decoration: none; color: var(--hq-noir); }
.user_thumb_infobox a:hover { color: var(--hq-jaune-vif); text-decoration: none; }

.sortorder_cell { display: none; }
.sortorder_options { display: none; }


/* ------- navigation d'images ---- */
.navmenu {
    background: var(--hq-blanc-creme);
    font-weight: 400;
    font-family: var(--hq-font-ui);
    text-transform: uppercase;
    font-size: 10px;
    color: var(--hq-texte);
    letter-spacing: 1px;
    padding: 10px;
}

.navmenu a {
    font-weight: 500;
    font-family: var(--hq-font-ui);
    text-transform: uppercase;
    font-size: 10px;
    color: var(--hq-jaune-vif);
    letter-spacing: 1px;
    padding: 0 5px;
}

.navmenu a:hover { color: var(--hq-noir); }
.navmenu a img,
.navmenu a img:hover { border: 0; padding: 0; }


/* ------- commentaires ---- */
.comment_date { color: var(--hq-argent); font-size: 90%; vertical-align: middle; }


/* ------- image table (EXIF/infos) ---- */
.img_caption_table {
    border: none;
    border-radius: 4px;
    background: var(--hq-fond-gris);
    width: 100%;
    margin: 0;
}

.img_caption_table th {
    background: var(--hq-fond-gris);
    border-radius: 4px;
    font-size: 100%;
    color: var(--hq-noir);
    padding: 4px 10px;
}

.img_caption_table td {
    background: var(--hq-fond-gris);
    padding: 6px 10px;
    border-radius: 4px;
    border-top: 1px solid var(--hq-blanc-creme);
    white-space: normal;
}

.debug_text {
    background: var(--hq-fond-gris);
    padding: 6px;
    border-radius: 4px;
    width: 100%;
    margin: 0;
}

.clickable_option { cursor: default; }

.listbox_lang {
    color: var(--hq-texte);
    background: var(--hq-fond-gris);
    font-size: 80%;
    font-family: var(--hq-font-ui);
    vertical-align: middle;
}


/* ------- formulaires ---- */
.textinput {
    font-family: var(--hq-font-ui);
    font-size: 100%;
    margin-top: 10px;
    background: var(--hq-blanc-creme);
    border: 1px solid var(--hq-jaune-vif);
    padding: 0 5px;
}

.listbox {
    font-family: var(--hq-font-ui);
    font-size: 100%;
    border: 1px solid var(--hq-noir);
    vertical-align: middle;
}

.button {
    font-family: var(--hq-font-ui);
    font-size: 100%;
    border: 1px solid var(--hq-jaune-vif);
    background: var(--hq-jaune-vif);
    color: var(--hq-blanc-creme);
    padding: 6px 14px;
    border-radius: 3px;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.button:hover { background: var(--hq-noir); border-color: var(--hq-noir); }

.comment_button {
    font-family: var(--hq-font-ui);
    font-size: 100%;
    border: 1px solid var(--hq-jaune-vif);
    padding: 0 3px;
}

.radio, .checkbox {
    font-family: var(--hq-font-ui);
    font-size: 100%;
    vertical-align: middle;
}


/* ------- admin menu ---- */
.admin_menu { display: inline-block; }
.admin_menu_wrapper a {
    color: var(--hq-noir);
    background: var(--hq-fond-gris);
    border-radius: 4px;
    text-decoration: none;
    display: inline-block;
    position: relative;
    padding: 5px 10px;
    margin: 0 10px 10px 0;
}
.admin_menu_wrapper img { display: none; }

/* recoloration des icônes de navigation par défaut de Coppermine (flèches image suivante/précédente...) en noir */
.navmenu img {
    filter: brightness(0) saturate(100%);
}


/* "Powered by Coppermine" — généré par le core, style inline à surcharger */
.footer {
    font-size: 8px !important;
    padding: 2px !important;
}
.footer a { color: var(--hq-jaune-vif); }

/* ==========================================================
   FOOTER — Yvonne News
   ========================================================== */
#footer-bandeau {
    width: 100%;
    background: linear-gradient(135deg, var(--hq-jaune-doux) 0%, var(--hq-jaune-vif) 100%);
    margin-top: 20px;
}

.footer-inner {
    display: flex;
    gap: 50px;
    max-width: 1050px;
    margin: 0 auto;
    padding: 34px 20px 0;
}

.footer-col { flex: 1; }

.footer-col h3 {
    font-family: var(--hq-font-ui);
    font-weight: 700;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: var(--hq-noir);
    margin: 0 0 14px;
}

.affiliates-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.affiliate-card {
    width: 70px;
    height: 70px;
    border-radius: 4px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}

.affiliate-card img { width: 100%; height: 100%; object-fit: cover; display: block; }

.affiliate-empty {
    border: 1px dashed var(--hq-noir);
    opacity: 0.55;
    font-size: 18px;
    color: var(--hq-noir);
    background: transparent;
}

.footer-disclaimer-col .footer-legal {
    font-family: var(--hq-font-ui);
    font-weight: 400;
    font-size: 12px;
    line-height: 1.7;
    text-align: justify;
    color: var(--hq-noir);
    margin: 0;
}

.footer-disclaimer-col .footer-legal a { color: var(--hq-noir); text-decoration: underline; }

.footer-bottom {
    max-width: 700px;
    margin: 0 auto;
    padding: 24px 20px 30px;
    text-align: center;
}

.footer-copyright {
    font-family: var(--hq-font-ui);
    font-weight: 700;
    font-size: 14px;
    letter-spacing: 0.5px;
    color: var(--hq-noir);
    margin: 0;
}

.footer-sep {
    border: none;
    border-top: 1px solid var(--hq-noir);
    max-width: 1050px;
    margin: 30px auto 0;
    opacity: 0.35;
}


/* ------- responsive fallback (desktop-first, 1050px fixe comme HQDiesel-Paris) ---- */
@media screen and (max-width: 1080px) {
    #conteudo, .maintable, #main { width: 100%; }
    .footer-inner { padding: 18px 20px; }
}
