/* ==========================================================
   HQDiesel-Paris — Coppermine theme
   Palette: rose poudre / gris studio glam
   ========================================================== */

:root {
    --gng-accent-light: #7B8FD4;
    --gng-accent:       #4B5DAA;
    --gng-dark:         #2A306A;
    --gng-border-light: #c8cce8;
    --gng-fond-sombre:  #1c2050;
    --gng-fond:         #ECEEF8;
    --gng-texte:        #2d2d2d;
    --gng-gold:         #ffe79a;

    --gng-font-display: 'Poppins', sans-serif;
    --gng-font-ui: 'Poppins', sans-serif;
}

* { box-sizing: border-box; }

table { border-collapse: collapse; }
table, tr, td, th { border: none; }

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

a { color: var(--gng-accent); text-decoration: none; }
a:hover { color: var(--gng-dark); }

strong, b {
    color: var(--gng-accent);
    border-bottom: none;
}

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

p { font-family: var(--gng-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 -------
   Ratio calé sur la dimension réelle du header (2000x600 = 10:3),
   pour ne plus rogner l'image comme le faisait la hauteur fixe 520px. */
.hero-banner {
    width: 100%;
    aspect-ratio: 10 / 3;
    position: relative;
    z-index: 100;
    background: var(--gng-dark) url("imgs/header.png") top center no-repeat;
    background-size: cover;
}

.hero-fade {
    position: absolute;
    bottom: 0; left: 0;
    width: 100%;
    height: 5px;
    background: linear-gradient(90deg, var(--gng-dark) 0%, var(--gng-accent) 50%, var(--gng-accent-light) 100%);
}


/* --- principal ------- */
#conteudo {
    position: relative;
    width: 92%;
    max-width: 1600px;
    margin: 0 auto;
}

#main {
    margin-bottom: 0;
    float: left;
    width: 100%;
    overflow: hidden;
    margin-top: 0;
    margin-bottom: 10px;
    padding: 25px 10px;
    position: relative;
    background: #ffffff;
    box-sizing: border-box;
}

#sidebar { display: none; }


/* ------- VAGUE avant la colonne blanche (comme le thème wood) -------
   Le remplissage doit être BLANC (couleur de #main) : les découpes du
   clip-path laissent alors transparaître le fond lavande ambiant
   au-dessus, ce qui crée le contraste visible de la vague. Un remplissage
   de la même couleur que le fond de page (comme avant) rendait la vague
   invisible car tout se fondait dans la même teinte. */
.clipwave-divider {
    height: 24px;
    width: 100%;
    background: #ffffff;
    clip-path: polygon(0 0, 10% 30%, 20% 10%, 30% 30%, 40% 10%, 50% 30%, 60% 10%, 70% 30%, 80% 10%, 90% 30%, 100% 0, 100% 100%, 0 100%);
}


/* ------- MENU ------- */
.menutopo {
    font-size: 0;
    height: auto;
    margin-top: -40px;
    position: relative;
    background: transparent;
    text-align: center;
    z-index: 1000;
    overflow: hidden;
    padding: 16px 20px;
    margin-bottom: 24px;
}

.menutopo a {
    font-family: var(--gng-font-ui);
    font-weight: 600;
    display: inline-block;
    border: none;
    background: var(--gng-dark);
    font-size: 11px;
    color: var(--gng-fond);
    margin: 0 6px 6px 0;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    padding: 8px 16px;
    transition: background 0.3s ease-in-out;
}

.menutopo a:hover {
    color: var(--gng-fond);
    background: var(--gng-accent);
}


/* ------- WELCOME BLOCK ------- */
.welcome-block {
    display: flex;
    align-items: stretch;
    gap: 20px;
    margin: 0 0 30px;
}

.welcome-text {
    flex: 1;
    background: var(--gng-accent-light);
    border-radius: 6px;
    padding: 20px 30px;
    display: flex;
    align-items: center;
}

.welcome-text p {
    margin: 0;
    font-family: var(--gng-font-ui);
    font-size: 13px;
    line-height: 1.8;
    color: #ffffff;
}

.welcome-text em {
    font-style: italic;
    color: var(--gng-gold);
}

.welcome-highlight {
    background-color: var(--gng-dark);
    color: #ffffff;
    padding: 2px 8px;
    border-radius: 3px;
    font-weight: 700;
}

.welcome-photos {
    display: flex;
    gap: 10px;
    flex-shrink: 0;
}

.welcome-photo-frame {
    width: 90px;
    height: 140px;
    background: var(--gng-dark);
    border-radius: 4px;
    overflow: hidden;
    flex-shrink: 0;
}

.welcome-photo-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

@media screen and (max-width: 900px) {
    .welcome-block { flex-direction: column; }
    .welcome-photos { justify-content: center; }
}


/* ------- corpo galeria ---- */
.maintable {
    background: transparent;
    width: 100%;
    margin: 0 0 10px;
    padding: 0;
    text-align: justify;
}

.anunchasds {
    background: var(--gng-fond);
    border: 1px solid var(--gng-accent);
    display: block;
    margin-bottom: 20px;
    padding: 10px;
    height: 90px;
    text-align: center;
}


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


.sdsmdsmds {
    letter-spacing: 0.5px;
    font-family: var(--gng-font-ui);
    font-weight: 500;
    text-align: center;
    border: 1px solid var(--gng-accent);
    background: var(--gng-fond);
    text-transform: uppercase;
    font-size: 10px;
    color: var(--gng-dark);
    padding: 20px;
}


/* ------- BARRE AVANT LES PHOTOS ---- */
.tableh1 {
    letter-spacing: 1px;
    font-family: var(--gng-font-ui);
    font-weight: 700;
    font-style: normal;
    border: none;
    border-bottom: 1px solid var(--gng-border-light);
    background: transparent;
    text-transform: uppercase;
    font-size: 16px;
    color: var(--gng-dark);
    padding: 18px 20px;
    position: relative;
    z-index: 0;
}

.tableh1::before,
.tableh1::after {
    content: '';
    position: absolute;
    bottom: 12px;
    height: 15px;
    z-index: -1;
    mix-blend-mode: multiply;
}
.tableh1::before {
    left: 20px;
    width: 170px;
    background: var(--gng-accent);
    opacity: 0.55;
}
.tableh1::after {
    left: 85px;
    width: 170px;
    background: var(--gng-accent-light);
    opacity: 0.6;
}

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

.tableh1 img { display: none; }

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

.pic_title { padding: 10px; font-size: 10px; }
.pic_caption {
    padding: 20px;
    display: block;
    margin: 0;
    border: 1px solid var(--gng-accent);
    font-weight: 400;
    font-size: 13px;
    font-family: var(--gng-font-ui);
    font-style: normal;
    color: var(--gng-dark);
}


/* ------- ops 2 ---- */
.tableh2 {
    font-weight: 600;
    border: none;
    border-bottom: 1px solid var(--gng-border-light);
    background: transparent;
    font-family: var(--gng-font-ui);
    text-transform: uppercase;
    font-size: 13px;
    color: var(--gng-dark);
    letter-spacing: 1px;
    padding: 20px;
    position: relative;
    z-index: 0;
    transition: all 0.3s ease-in-out;
}

.tableh2::before,
.tableh2::after {
    content: '';
    position: absolute;
    bottom: 15px;
    height: 12px;
    z-index: -1;
    mix-blend-mode: multiply;
}
.tableh2::before {
    left: 20px;
    width: 140px;
    background: var(--gng-accent);
    opacity: 0.55;
}
.tableh2::after {
    left: 70px;
    width: 140px;
    background: var(--gng-accent-light);
    opacity: 0.6;
}


/* ------- ops 3 ---- */
.tableb { padding: 0 10px; }
.tableb_compact { padding: 0; border: 1px solid var(--gng-accent); 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(--gng-dark);
    border: 1px solid var(--gng-accent);
    line-height: 22px;
    margin-bottom: -1px;
    font-family: var(--gng-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(--gng-font-ui);
    font-weight: 600;
    text-transform: uppercase;
    font-style: normal;
    font-size: 11px;
    display: inline-block;
    color: var(--gng-dark);
    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(--gng-accent); }

.buttonlist a { color: var(--gng-accent); display: inline-block; }


/* ------- outros ---- */
.album_stat {
    padding: 6px;
    color: var(--gng-texte);
    line-height: 22px;
    display: block;
    letter-spacing: 0.5px;
    font-family: var(--gng-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(--gng-font-ui);
    font-size: 9px;
    letter-spacing: 1px;
    width: 110px;
    background: rgba(26, 26, 26, 0.55);
    color: var(--gng-fond);
    text-align: center;
    text-transform: uppercase;
    margin: 0;
    padding: 10px;
    line-height: 10px;
    display: block;
    transition: all ease-out 0.3s;
}

.thumbnails:hover .thumb_title_title {
    background: var(--gng-accent);
    color: var(--gng-fond);
}


.thumb_title_views {
    display: block;
    position: static;
    width: auto;
    height: auto;
    overflow: visible;
    margin: 8px auto 0;
    text-align: center;
    font-family: var(--gng-font-ui);
    font-weight: 600;
    font-size: 9px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: #ffffff;
    background: var(--gng-dark);
    padding: 5px 10px;
    border-radius: 20px;
    width: fit-content;
}

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

.thumb_caption,
.thumb_caption_ctime,
.thumb_caption_mtime {
    display: none;
}


.thumbnails .image {
    display: block;
    margin: 10px auto -3px;
    height: auto;
    opacity: 1;
    filter: grayscale(0%);
    transition: all ease-out 0.35s, filter ease-out 0.35s;
}

.thumbnails:hover .image {
    opacity: 0.9;
    filter: grayscale(100%);
}

/* ------- Cadre qui se resserre vers le centre au survol ------- */
.thumbnails a {
    position: relative;
    display: inline-block;
    overflow: hidden;
}

.thumbnails a::after {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    border: 2px solid var(--gng-accent-light);
    opacity: 0;
    transition: all ease-out 0.35s;
    pointer-events: none;
}

.thumbnails a:hover::after {
    top: 12px; left: 12px; right: 12px; bottom: 12px;
    opacity: 1;
}

.albums .image {
    margin-bottom: 0;
    padding: 10px;
    border-radius: 4px;
    background: var(--gng-fond);
    border: 1px solid var(--gng-accent);
    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;
    border-bottom: 1px solid var(--gng-border-light);
    position: relative;
    margin-top: 5px;
    padding: 10px;
    background: transparent;
    transition: all 0.3s ease-in-out;
}

.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(--gng-fond);
    border: 1px solid var(--gng-accent);
    text-align: center;
    padding: 0;
}

.display_media .image {
    margin: 10px;
    background: var(--gng-fond-sombre);
    border: 1px solid var(--gng-accent);
    padding: 20px;
    transition: opacity ease-out 0.3s;
}


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

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

.tableh1 .statlink a:hover { color: var(--gng-dark); }


.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(--gng-dark); }
.user_thumb_infobox a:hover { color: var(--gng-accent); text-decoration: none; }

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


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

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

.navmenu a:hover { color: var(--gng-dark); }
.navmenu a img,
.navmenu a img:hover { border: 0; padding: 0; filter: brightness(0); }


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


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

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

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

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

.clickable_option { cursor: default; }

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


/* ------- formulaires ---- */
.textinput {
    font-family: var(--gng-font-ui);
    font-size: 100%;
    margin-top: 10px;
    background: var(--gng-fond);
    border: 1px solid var(--gng-accent);
    padding: 0 5px;
}

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

.button {
    font-family: var(--gng-font-ui);
    font-size: 100%;
    border: 1px solid var(--gng-accent);
    background: var(--gng-accent);
    color: var(--gng-fond);
    padding: 6px 14px;
    border-radius: 3px;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.button:hover { background: var(--gng-dark); border-color: var(--gng-dark); }

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

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


/* ------- admin menu ---- */
.admin_menu { display: inline-block; width: auto; }
.admin_menu_wrapper {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    width: 100%;
    background: var(--gng-dark);
    padding: 15px 20px;
    margin-bottom: 10px;
}
.admin_menu_wrapper a {
    color: var(--gng-fond);
    background: none;
    border-radius: 0;
    text-decoration: none;
    text-transform: uppercase;
    font-family: var(--gng-font-ui);
    font-weight: 600;
    font-size: 11px;
    letter-spacing: 0.5px;
    display: inline-block;
    position: relative;
    padding: 5px 10px;
    margin: 0 5px 5px 0;
    transition: color 0.3s ease-in-out;
}
.admin_menu_wrapper a:hover { color: var(--gng-accent); }
.admin_menu_wrapper img { display: none; }


/* ==========================================================
   FOOTER — HQDiesel-Paris
   ========================================================== */
#footer-bandeau {
    width: 100%;
    background: var(--gng-dark);
    margin-top: 20px;
    position: relative;
}

#footer-bandeau::before {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 3px;
    background: linear-gradient(90deg, var(--gng-accent) 0%, var(--gng-fond) 100%);
    z-index: 2;
}

.footer-inner {
    position: relative;
    z-index: 1;
}

.footer-inner {
    display: flex;
    align-items: center;
    gap: 30px;
    max-width: 1400px;
    margin: 0 auto;
    padding: 24px 40px;
}

.footer-col { flex: 1; }

/* colonne : titre + texte légal, centrée */
.footer-brand {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    flex: 1.4;
}
.footer-brand-sub {
    font-family: var(--gng-font-ui);
    font-weight: 700;
    font-size: 68px;
    letter-spacing: 2px;
    line-height: 1;
    background: linear-gradient(to bottom, var(--gng-accent-light) 0%, var(--gng-dark) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}
.footer-brand-hollow {
    -webkit-text-fill-color: transparent;
    color: transparent;
    -webkit-text-stroke: 1.5px var(--gng-accent-light);
}
.footer-legal {
    font-family: var(--gng-font-ui);
    font-size: 10px;
    line-height: 1.6;
    color: rgba(250, 247, 245, 0.55);
    margin: 14px auto 0;
    max-width: 480px;
    text-align: left;
}
.footer-legal strong { color: rgba(250, 247, 245, 0.8); border: none; }


/* ------- footer natif Coppermine ("Powered by...") ------- */
.footer {
    font-family: var(--gng-font-ui);
    font-size: 10px;
    color: var(--gng-texte);
}
.footer a { color: var(--gng-accent); }
.footer a:hover { color: var(--gng-dark); }


/* ------- responsive fallback (desktop-first, 1050px fixe comme l'original) ---- */
@media screen and (max-width: 1080px) {
    #conteudo, .maintable, #main { width: 100%; }
    .footer-inner { flex-direction: column; text-align: center; padding: 24px 20px; }
    .footer-brand { align-items: center; text-align: center; }
    .footer-legal-col { text-align: center; max-width: 100%; }
}
