/* ============================================================
   BRIANNE HOWEY GALLERY — THEME CUSTOM
   Palette : #c6918b (rose) / #fff7f3 (creme) / #6f5b55 (brun)
   Version : 1.0 — Base propre Coppermine 1.5.x
   ============================================================ */

/* ------------------------------------------------------------
   VARIABLES
   ------------------------------------------------------------ */
:root {
    --color-rose:      #c6918b;
    --color-rose-dark: #8c6157;
    --color-rose-light:#e6d6d1;
    --color-cream:     #fff7f3;
    --color-bg:        #f5ece8;
    --color-text:      #6f5b55;
    --color-text-dark: #3d2b26;
    --color-border:    #e0cdc8;
    --font-main:       'Open Sans', sans-serif;
    --font-title:      'Poppins', sans-serif;
    --max-width:       1220px;
}

/* ------------------------------------------------------------
   RESET & BASE
   ------------------------------------------------------------ */
*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    font-size: 13px;
    scroll-behavior: smooth;
}

body {
    font-family: var(--font-main);
    font-weight: 400;
    line-height: 1.8;
    color: var(--color-text);
    background-color: var(--color-bg);
    word-wrap: break-word;
    overflow-x: hidden;
}

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

a {
    color: var(--color-rose-dark);
    text-decoration: none;
    transition: color 0.2s ease, background 0.2s ease;
}

a:hover,
a:focus {
    color: var(--color-text-dark);
}

strong, b {
    font-weight: 600;
    color: var(--color-rose);
}

::selection {
    color: var(--color-cream);
    background: var(--color-rose);
}

/* Scrollbar */
::-webkit-scrollbar { width: 8px; background: var(--color-cream); }
::-webkit-scrollbar-thumb { background: var(--color-rose-light); border-radius: 4px; }

/* ------------------------------------------------------------
   SLOGAN TOP
   ------------------------------------------------------------ */
.site-slogan {
    width: 100%;
    padding: 7px 20px;
    background-color: var(--color-cream);
    border-bottom: 1px solid var(--color-border);
    font-family: var(--font-title);
    font-size: 7px;
    font-weight: 700;
    letter-spacing: 6px;
    text-transform: uppercase;
    text-align: center;
    color: var(--color-text);
}

.slogan-sep {
    margin: 0 16px;
    color: var(--color-rose);
}

/* ------------------------------------------------------------
   HEADER GLOBAL
   ------------------------------------------------------------ */
.site-header {
    width: 100%;
    max-width: var(--max-width);
    margin: 0 auto;
    background: var(--color-cream);
}

/* ------------------------------------------------------------
   1. BANNIERE PLEINE LARGEUR
   ------------------------------------------------------------ */
.header-banner {
    position: relative;
    width: 100%;
    height: 580px;
    overflow: visible;
}

.header-banner-img {
    width: 100%;
    height: 100%;
    background: url(./imgs/header1.png) center top no-repeat;
    background-size: cover;
}

/* Cercle photo + SVG texte tournant — droite de la banniere */
.header-circle-wrap {
    position: absolute;
    top: 50%;
    right: 80px;
    transform: translateY(-50%);
    width: 350px;
    height: 350px;
    z-index: 10;
}

/* Photo ronde au centre */
.circle-photo {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 240px;
    height: 240px;
    border-radius: 50%;
    background: url(./imgs/circle.png) center center no-repeat;
    background-size: cover;
    border: 3px solid var(--color-cream);
    outline: 2px solid var(--color-rose);
    outline-offset: 5px;
    z-index: 2;
}

/* SVG texte tournant */
.circle-svg {
    position: absolute;
    top: 0;
    left: 0;
    width: 350px;
    height: 350px;
    animation: spin 20s linear infinite;
    transform-origin: center center;
}

.circle-svg text {
    font-family: var(--font-title);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 16px;
    text-transform: uppercase;
    fill: var(--color-rose-dark);
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

/* ------------------------------------------------------------
   2. NAVIGATION
   ------------------------------------------------------------ */
.site-nav {
    width: 100%;
    background-color: var(--color-rose);
    margin-top: 0px;
    position: relative;
    z-index: 5;
}

.nav-inner {
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 0;
    text-align: center;
    line-height: 1;
}

/* Liens Coppermine injectes via {SYS_MENU} */
.site-nav a,
.nav-inner a {
    display: inline-block;
    padding: 5px 5px;
    font-family: var(--font-title);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0px;
    text-transform: uppercase;
    color: var(--color-cream);
    border-right: 1px solid rgba(255,255,255,0.15);
    transition: background 0.2s ease;
}

.site-nav a:hover,
.site-nav a:focus,
.nav-inner a:hover {
    background: rgba(0,0,0,0.12);
    color: #fff;
}

/* Nav mobile : cachee sur desktop */
.site-nav-mobile {
    display: none;
}

/* ------------------------------------------------------------
   3. BLOC SOUS LA NAV : texte / cercle2 / photo droite
   ------------------------------------------------------------ */
.header-sub {
    display: flex;
    align-items: stretch;
    width: 100%;
    min-height: 280px;
    background: var(--color-cream);
    border-bottom: 1px solid var(--color-border);
}

/* Colonne gauche : texte + reseaux */
.header-sub-text {
    flex: 0 0 280px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 20px;
    padding: 30px 25px;
}

.welcome-text p {
    font-family: var(--font-main);
    font-size: 11.5px;
    line-height: 1.9;
    color: var(--color-text);
}

.welcome-text strong {
    color: var(--color-rose);
    font-weight: 600;
}

/* Reseaux sociaux */
.social-links {
    display: flex;
    gap: 8px;
}

.social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 1.5px solid var(--color-rose);
    color: var(--color-rose);
    font-size: 13px;
    background: transparent;
    transition: all 0.2s ease;
}

.social-link:hover {
    background: var(--color-rose);
    color: var(--color-cream);
}

/* Colonne centre : cercle 2 — chevauche header2 */
.header-sub-circle {
    flex: 0 0 0px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 5;
    margin-right: -90px;
}

.circle-photo-2 {
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background: url(./imgs/circle2.png) center center no-repeat;
    background-size: cover;
    border: 3px solid var(--color-cream);
    outline: 2px solid var(--color-rose);
    outline-offset: 5px;
}

/* Colonne droite : header2 pleine largeur */
.header-sub-img {
    flex: 1 1 auto;
    background: url(./imgs/header2.png) center center no-repeat;
    background-size: cover;
    min-height: 280px;
}

/* ------------------------------------------------------------
   CONTENU GALERIE
   ------------------------------------------------------------ */
.site-content {
    width: 100%;
    max-width: var(--max-width);
    margin: 0 auto;
    background: #fff;
    padding: 0;
}

.gallery-wrap {
    padding: 20px;
}

/* Titres des sections Coppermine */
.tableh1 {
    font-family: var(--font-title);
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--color-cream);
    background-color: var(--color-rose);
    padding: 10px 16px;
    margin: 0;
}

.tableh2 {
    font-family: var(--font-title);
    font-size: 8px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--color-text);
    background-color: var(--color-rose-light);
    padding: 8px 16px;
    margin: 0;
}

/* Liens de navigation galerie */
.statlink h2,
.statlink a {
    font-family: var(--font-title);
    font-size: 8px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--color-rose-dark);
}

/* Miniatures */
.image {
    padding: 3px;
    border: 1px solid var(--color-border);
    background: var(--color-cream);
    transition: border-color 0.2s;
}

.image:hover {
    border-color: var(--color-rose);
}

.thumb_title {
    font-size: 10px;
    color: var(--color-text);
    text-align: center;
    padding: 3px 0;
}

/* Boutons */
.button,
input[type="submit"],
input[type="button"],
input[type="reset"] {
    font-family: var(--font-title);
    font-size: 8px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    padding: 7px 16px;
    background: var(--color-rose);
    color: var(--color-cream);
    border: none;
    cursor: pointer;
    transition: background 0.2s ease;
}

.button:hover,
input[type="submit"]:hover {
    background: var(--color-rose-dark);
}

/* Champs de formulaire */
input[type="text"],
input[type="password"],
input[type="email"],
textarea,
select {
    font-family: var(--font-main);
    font-size: 12px;
    padding: 6px 10px;
    border: 1px solid var(--color-border);
    background: var(--color-cream);
    color: var(--color-text-dark);
    width: 100%;
}

input[type="text"]:focus,
textarea:focus {
    outline: none;
    border-color: var(--color-rose);
}

/* Messages systeme */
.message_box {
    padding: 10px 16px;
    background: var(--color-rose-light);
    border-left: 3px solid var(--color-rose);
    color: var(--color-text-dark);
    font-size: 12px;
    margin-bottom: 14px;
}

/* Albums */
.alblink a {
    font-family: var(--font-title);
    font-size: 11px;
    font-weight: 600;
    color: var(--color-rose-dark);
}

.catlink a {
    font-family: var(--font-title);
    font-size: 11px;
    color: var(--color-text-dark);
}

.album_stat {
    font-size: 10px;
    color: var(--color-text);
}

/* ------------------------------------------------------------
   FOOTER
   ------------------------------------------------------------ */
.site-footer {
    width: 100%;
    background: var(--color-cream);
    border-top: 2px solid var(--color-border);
    margin-top: 0;
}

.footer-inner {
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 28px 25px 30px;
    text-align: center;
}

.footer-links {
    font-family: var(--font-title);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--color-text);
    background: var(--color-rose-light);
    display: inline-block;
    padding: 10px 20px;
    margin-bottom: 14px;
}

.footer-links a {
    color: var(--color-rose-dark);
    font-weight: 700;
}

.footer-links a:hover {
    color: var(--color-text-dark);
}

.footer-disclaimer {
    font-size: 10px;
    line-height: 1.7;
    color: var(--color-text);
    max-width: 800px;
    margin: 0 auto;
    padding-top: 12px;
    border-top: 1px solid var(--color-border);
}

.footer-disclaimer a {
    color: var(--color-rose);
}

/* ------------------------------------------------------------
   MOBILE (max 966px)
   ------------------------------------------------------------ */
@media screen and (max-width: 966px) {

    .site-header,
    .site-content {
        max-width: 100%;
    }

    /* Cacher le header PC */
    .header-banner,
    .header-sub,
    .site-nav {
        display: none;
    }

    /* Afficher nav mobile */
    .site-nav-mobile {
        display: block;
        background: var(--color-rose);
        text-align: center;
        padding: 6px 0;
    }

    .site-nav-mobile a {
        display: inline-block;
        padding: 6px 10px;
        font-family: var(--font-title);
        font-size: 8px;
        font-weight: 600;
        letter-spacing: 1px;
        text-transform: uppercase;
        color: var(--color-cream);
    }

    .gallery-wrap {
        padding: 10px;
    }

    .header-sub-img {
        display: none;
    }

}

/* ============================================================
   STYLES COPPERMINE — ADAPTES PALETTE ROSE/BEIGE
   ============================================================ */

/* ------------------------------------------------------------
   TABLES PRINCIPALES
   ------------------------------------------------------------ */
.maintable {
    padding: 1%;
    background: #f8f3f1;
    width: 100%;
    color: #1d1d1d;
}

.tableb,
.tablef {
    padding: 5px 10px;
    font-family: var(--font-main);
    font-size: 13px;
}

.tableb_alternate {
    background: transparent;
}

.tablef {
    padding: 10px;
    background: #f7eeeb;
}

/* ------------------------------------------------------------
   EN-TETES DE SECTIONS (tableh1, tableh2)
   ------------------------------------------------------------ */
.tableh1 {
    font-family: var(--font-title);
    font-weight: 700;
    font-size: 10pt;
    letter-spacing: 2px;
    text-transform: uppercase;
    background-color: var(--color-rose);
    color: var(--color-cream);
    padding: 10px 14px;
    display: inline-block;
}

.tableh1 a { color: var(--color-cream); }
.tableh1 a:hover, .tableh1 a:focus { color: #fff; }

.tableh1-2 {
    font-family: var(--font-title);
    font-weight: 700;
    font-size: 14pt;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--color-rose-dark);
    padding: 10px 14px;
    display: inline-block;
}

.tableh2,
.tableh2_compact {
    font-size: 12px;
    color: var(--color-text);
    background: transparent;
    padding: 6px;
    text-align: left;
}

/* ------------------------------------------------------------
   STATLINKS (navigation galerie)
   ------------------------------------------------------------ */
.statlink {
    display: inline;
    position: relative;
    padding: 2px 4px;
    font-family: var(--font-title);
    font-weight: 600;
    font-size: 10pt;
    line-height: 26px;
    color: var(--color-cream);
}

.statlink a {
    font-family: var(--font-title);
    font-weight: 600;
    font-size: 11pt;
    color: var(--color-rose-dark);
    text-decoration: none;
    letter-spacing: 0;
}

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

.statlink h2 {
    display: inline-block;
    font-family: var(--font-title);
    font-weight: 600;
    font-size: 11pt;
    color: var(--color-rose);
    border: 2px solid var(--color-rose-light);
    padding: 4px;
    line-height: 15px;
    margin: 0;
}

.stats {
    padding: 5px;
    background: var(--color-rose-dark);
    font-weight: 700;
    font-size: 10px;
    font-family: var(--font-title);
    color: var(--color-cream);
    text-transform: uppercase;
    letter-spacing: 2px;
}

/* ------------------------------------------------------------
   CATEGORIES
   ------------------------------------------------------------ */
.catrow_noalb,
.catrow {
    color: #4a3a35;
    font-weight: 400;
    line-height: 18px;
    padding: 20px 10px;
    background-color: #faf6f4;
    border-bottom: 1px solid var(--color-border);
}

.catrow_noalb .image,
.catrow .image {
    padding: 5px;
    margin: 0 10px 0 0;
    background-color: #fffdfb;
    border-radius: 30px;
}

.catlink {
    display: block;
    font-weight: 700;
}

.catlink a {
    font-family: var(--font-title);
    font-weight: 700;
    font-size: 11pt;
    color: var(--color-text-dark);
    text-decoration: none;
    transition: color 250ms linear;
}

.catlink a:hover,
.catlink a:focus {
    color: var(--color-rose-dark);
}

.catlink:before {
    content: '\0276F';
    font-weight: 400;
    font-size: 11px;
    color: var(--color-rose);
    margin-right: 10px;
    position: relative;
    top: -1px;
}

/* ------------------------------------------------------------
   ALBUMS
   ------------------------------------------------------------ */
.alblink {
    color: #5f403b;
    margin: 2px;
    padding: 5px 15px;
    vertical-align: middle;
    background-color: #f3e7e3;
    font-family: var(--font-title);
    font-weight: 600;
    font-size: 9pt;
    text-align: left;
    border: 1px solid var(--color-border);
}

.alblink:before {
    content: "\f07c";
    font-family: fontawesome;
    font-weight: 400;
    color: var(--color-rose-dark);
    font-size: 10px;
    margin-right: 6px;
}

.alblink a {
    text-decoration: none;
    color: #5f403b;
    letter-spacing: 1px;
}

.album_stat {
    color: #1d1d1d;
    font-size: 8pt;
    display: inline-block;
    padding: 10px;
    margin-left: 10px;
}

/* ------------------------------------------------------------
   MINIATURES
   ------------------------------------------------------------ */
.thumbnails {
    background-color: transparent;
    padding: 3vh 1vw;
    vertical-align: top;
    margin: 2px;
}

.thumbnails table { border: none; border-collapse: collapse; }
.thumbnails table td { padding: 0; border: 0; }
.thumbnails img, .thumbnails br { display: none; }
.thumbnails a img { display: block; margin: 0 0 8px; }

.image {
    padding: 8px;
    margin: 3px;
    margin-bottom: 10px;
    background-color: #fffdfb;
    border: 1px solid #d8c2bb;
    transition: all 0.4s ease-out;
}

.image:hover {
    border: 1px solid var(--color-rose-dark);
    opacity: 0.85;
}

.thumb_title,
.thumb_title_title {
    color: #4a3a35;
    font-size: 8.25pt;
    font-family: var(--font-title);
    font-weight: 500;
    text-transform: none;
    line-height: 14px;
    text-align: center;
    display: block;
    margin: 0 auto 10px;
    padding-top: 6px;
}

.thumb_title_views,
.thumb_caption,
.thumb_dimensions {
    max-width: 75%;
    background-color: transparent;
    color: #5f4a45;
    font-family: var(--font-title);
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    margin: 2px;
    padding: 8px;
    border: none;
    display: block;
    position: relative;
    z-index: 25;
}

.thumb_title_views    { background-color: #eadeda; }
.thumb_caption        { background-color: #f3e7e3; }
.thumb_dimensions     { background-color: #eadeda; }
.thumb_resolution     { background-color: #f3e7e3; }
.thumb_caption_ctime  { background-color: #f3e7e3; }

.thumb_filename {
    display: block;
    font-size: 80%;
    line-height: 1.5;
}

.thumb_num_comments {
    font-weight: normal;
    font-size: 85%;
    padding: 2px;
    font-style: italic;
    display: block;
}

/* ------------------------------------------------------------
   NAVIGATION PHOTO (prev/next)
   ------------------------------------------------------------ */
.navmenu {
    font-family: var(--font-title);
    font-weight: 900;
    font-size: 13px;
    letter-spacing: 2px;
    color: var(--color-rose-dark);
    line-height: 15px;
    margin: 0 0 5px;
}

.navmenu img { margin: 0; padding: 5px 10px 5px 0; }

.navmenu-active {
    padding: 5px 10px;
    background: #f5ede9;
    font-weight: 700;
    border-right: 1px solid var(--color-border);
}

.navmenu a,
.navmenu a:hover,
.navmenu a:focus {
    display: block;
    padding: 0 10px;
    color: #5f403b;
}

.display_media { padding: 0 10px 10px; }

/* Filmstrip */
#film, .tape { width: 99% !important; margin: 0 !important; }

.strip_image {
    padding: 4px;
    margin: 8px;
    background: #fff;
    width: auto;
    height: auto;
}

.prev_strip a:before,
.next_strip a:before {
    display: inline-block;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 200%;
}
.prev_strip img, .next_strip img { display: none; }
.prev_strip a:before { content: "\f104"; }
.next_strip a:before { content: "\f105"; }

#slideshow_button img, #pic_info_button img { display: none; }
#slideshow_button a:before {
    display: inline-block;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f144";
}
#pic_info_button a:before {
    display: block;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f15c";
}

/* ------------------------------------------------------------
   TRI / SORT ORDER
   ------------------------------------------------------------ */
.sortorder_cell {
    font-size: 0;
    letter-spacing: 0;
    color: #8a7a75;
}

.sortorder_options { white-space: nowrap; }

/* ------------------------------------------------------------
   MENU ADMIN
   ------------------------------------------------------------ */
.admin_menu_wrapper {
    padding: 10px 15px;
    background: #fff;
}

.admin_menu {
    background: #fff;
    font-size: 10px;
    font-weight: 700;
    border: 1px solid var(--color-rose-dark);
    text-align: center;
}

.admin_menu a,
.admin_menu a:hover,
.admin_menu a:focus {
    padding: 5px;
    display: block;
    color: #5a5a5a;
}

.admin_float {
    margin: 1px;
    float: left;
    display: block;
    position: relative;
    line-height: 1;
    white-space: nowrap;
}

/* ------------------------------------------------------------
   MESSAGES SYSTEME COPPERMINE
   ------------------------------------------------------------ */
.cpg_message_info,
.cpg_message_success,
.cpg_message_warning,
.cpg_message_error,
.cpg_message_validation {
    margin: 10px 0;
    padding: 15px 10px 15px 50px;
    border: 1px solid;
    background-repeat: no-repeat;
    background-position: 10px center;
}

.cpg_message_info       { color: #00529b; background-color: #bde5f8; background-image: url('../../images/message/info.png'); }
.cpg_message_success    { color: #4f8a10; background-color: #dff2bf; background-image: url('../../images/message/ok.png'); }
.cpg_message_warning    { color: #9f6000; background-color: #feefb3; background-image: url('../../images/message/warning.png'); }
.cpg_message_error      { color: #d8000c; background-color: #ffbaba; background-image: url('../../images/message/stop.png'); }
.cpg_message_validation { color: #d63301; background-color: #ffccba; background-image: url('../../images/message/error.png'); }

.cpg_summary {
    font-size: 0.9em;
    margin: 20px auto 10px;
    padding: 8px 14px;
    text-align: center;
    color: #4a2f2a;
    border: 1px solid var(--color-border);
    background-color: #fff7f4;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* ------------------------------------------------------------
   PHOTO AFFICHAGE PLEIN
   ------------------------------------------------------------ */
.img_caption_table {
    width: 100%;
    margin: 0;
    border: none;
    background-color: #fffaf8;
}

.img_caption_table th {
    font-size: 100%;
    padding: 4px 10px;
    color: #4a2f2a;
    border-top: 1px solid #f3ddd7;
    background: #f1d7d2;
}

.img_caption_table td {
    padding: 6px 10px;
    white-space: normal;
    border-top: 1px solid #fff;
    background: #f2f5f7;
}

.detail_body .maintable {
    background: #121212;
    color: #fff;
    width: 99.5% !important;
}

.detail_head_collapsed,
.detail_head_expanded {
    font-size: 14px;
    border-bottom: 1px solid #efefef;
    font-weight: normal;
    color: #fff;
    padding-left: 18px;
}

/* ------------------------------------------------------------
   COMMENTAIRES
   ------------------------------------------------------------ */
.comment_date {
    font-size: 90%;
    vertical-align: middle;
    color: #8a7a75;
}

/* ------------------------------------------------------------
   DIVERS
   ------------------------------------------------------------ */
.bblink a, .bblink a:focus { color: var(--color-rose-dark); text-decoration: none; }
.bblink a:hover { color: var(--color-rose); text-decoration: underline; }

.icon { vertical-align: middle; margin-right: 1px; }

.listbox_lang {
    font-family: Arial, sans-serif;
    font-size: 80%;
    vertical-align: middle;
    color: #4a2f2a;
    border: 1px solid var(--color-border);
    background-color: #fff7f4;
}

.filmstip_related {
    padding: 5px;
    color: #000;
    letter-spacing: 2px;
    display: inline-block;
}
#cpg_copyright,        /* id utilisé classiquement par Coppermine */
.credits,
footer .footer-cpg {   /* au cas où ton thème ajoute une classe */
  display: none !important;
}
/* Cache header mobile sur desktop */
.only-mobile-header { display: none !important; }

