/* ==========================================================
   Thème Epicurus — Gentlemen's Club (Cigares & Spiritueux)
   Fichier : galette_local.css (chargé après le thème Galette)
   ========================================================== */
@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@500;700&family=Cormorant+Garamond:ital,wght@0,500;0,600;1,500&display=swap');

:root {
  --ep-bg:        #120d0a;   /* fond : noir tabac            */
  --ep-bg-2:      #1c1410;   /* panneaux                     */
  --ep-bg-3:      #261b15;   /* survols, en-têtes de tableau */
  --ep-line:      #3d2c20;   /* filets                       */
  --ep-gold:      #c9a24d;   /* or                           */
  --ep-gold-hi:   #e3c27a;   /* or clair                     */
  --ep-text:      #eadcc0;   /* texte parchemin              */
  --ep-muted:     #a8957a;   /* texte secondaire             */
  --ep-wine:      #7a1f1f;   /* bordeaux (alertes)           */
  --ep-serif:     'Cormorant Garamond', Georgia, serif;
  --ep-title:     'Cinzel', 'Trajan Pro', Georgia, serif;
}

/* ---------- Base ---------- */
html, body, .pusher, #main, .page-footer {
  background: var(--ep-bg) !important;
  color: var(--ep-text) !important;
}
body {
  background-image:
    radial-gradient(ellipse at top, rgba(201,162,77,.08), transparent 60%),
    radial-gradient(ellipse at bottom, rgba(122,31,31,.10), transparent 55%) !important;
  background-attachment: fixed !important;
}
a { color: var(--ep-gold); }
a:hover { color: var(--ep-gold-hi); }
::selection { background: var(--ep-gold); color: var(--ep-bg); }

h1, h2, h3, h4, .ui.header, .ui.brand.header, .ui.block.header {
  font-family: var(--ep-title) !important;
  letter-spacing: .06em;
  color: var(--ep-gold) !important;
}
.ui.header .sub.header { color: var(--ep-muted) !important; font-family: var(--ep-serif) !important; letter-spacing: .02em; }

/* ---------- Barre du haut ---------- */
#top-navbar.ui.menu {
  background: linear-gradient(180deg, #1f1611, #120d0a) !important;
  border-bottom: 1px solid var(--ep-gold) !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.6) !important;
}
#top-navbar.ui.menu .item, #top-navbar.ui.menu .header { color: var(--ep-text) !important; }

/* ---------- Menus latéraux ---------- */
#sidemenu, #sidebarmenu, aside.toc {
  background: var(--ep-bg-2) !important;
  border-right: 1px solid var(--ep-line) !important;
}
#sidemenu .ui.menu, #sidebarmenu.ui.menu, .ui.vertical.menu {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.ui.vertical.menu .item, .ui.vertical.menu .item > .title, .ui.vertical.menu .header.title {
  color: var(--ep-text) !important;
  font-family: var(--ep-serif) !important;
  font-size: 1.05em;
}
.ui.vertical.menu .item .content .item { color: var(--ep-muted) !important; }
.ui.vertical.menu a.item:hover, .ui.vertical.menu .content a.item:hover {
  background: var(--ep-bg-3) !important;
  color: var(--ep-gold-hi) !important;
}
.ui.vertical.menu .active.item, .ui.vertical.menu a.active.item {
  background: linear-gradient(90deg, rgba(201,162,77,.22), transparent) !important;
  color: var(--ep-gold-hi) !important;
  border-left: 3px solid var(--ep-gold) !important;
}
.ui.brand.header { font-size: 1.6em !important; }
#sidemenu img.icon { max-width: 140px !important; height: auto !important; filter: drop-shadow(0 4px 10px rgba(0,0,0,.6)); }

/* ---------- Panneaux / cartes / segments ---------- */
.ui.segment, .ui.segments, .ui.card, .ui.cards > .card, .ui.form .fields .field .ui.segment,
.ui.styled.accordion, .ui.styled.accordion .accordion, .ui.modal, .ui.modal > .content,
.ui.modal > .header, .ui.modal > .actions, .ui.popup, .ui.dropdown .menu {
  background: var(--ep-bg-2) !important;
  color: var(--ep-text) !important;
  border-color: var(--ep-line) !important;
  box-shadow: 0 2px 10px rgba(0,0,0,.45) !important;
}
.ui.basic.segment { background: transparent !important; box-shadow: none !important; }
.ui.horizontal.segments.header, .ui.block.header, .ui.top.attached.header, .ui.attached.header {
  background: linear-gradient(180deg, #2c2018, #1c1410) !important;
  border: 1px solid var(--ep-line) !important;
  border-bottom: 1px solid var(--ep-gold) !important;
}
.ui.card > .content > .header, .ui.cards > .card > .content > .header { color: var(--ep-gold) !important; font-family: var(--ep-title) !important; }
.ui.card .meta, .ui.card .description { color: var(--ep-muted) !important; }
.ui.divider { border-color: var(--ep-line) !important; color: var(--ep-gold) !important; }

/* Tuiles du tableau de bord */
.ui.cards > .card:hover, a.ui.card:hover {
  border-color: var(--ep-gold) !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(201,162,77,.18) !important;
}
.ui.cards > .card i.icon, a.ui.card i.icon { color: var(--ep-gold) !important; }

/* ---------- Tableaux ---------- */
.ui.table {
  background: var(--ep-bg-2) !important;
  color: var(--ep-text) !important;
  border: 1px solid var(--ep-line) !important;
}
.ui.table thead th, .ui.table tfoot th {
  background: var(--ep-bg-3) !important;
  color: var(--ep-gold) !important;
  font-family: var(--ep-serif) !important;
  font-size: 1.05em;
  border-bottom: 1px solid var(--ep-gold) !important;
}
.ui.table td, .ui.table tr td { border-top: 1px solid var(--ep-line) !important; }
.ui.striped.table > tbody > tr:nth-child(2n), .ui.striped.table > tr:nth-child(2n) { background: rgba(255,255,255,.02) !important; }
.ui.selectable.table tbody tr:hover, .ui.table tbody tr:hover { background: var(--ep-bg-3) !important; color: var(--ep-gold-hi) !important; }

/* ---------- Formulaires ---------- */
.ui.form .field > label, .ui.form .fields > label, .ui.checkbox label, .ui.form .inline.field > label {
  color: var(--ep-text) !important;
}
.ui.form input:not([type]), .ui.form input[type=text], .ui.form input[type=email], .ui.form input[type=password],
.ui.form input[type=number], .ui.form input[type=date], .ui.form input[type=url], .ui.form input[type=tel],
.ui.form input[type=search], .ui.form textarea, .ui.form select, .ui.input > input, .ui.selection.dropdown,
.ui.search.dropdown > input.search {
  background: #0e0a08 !important;
  color: var(--ep-text) !important;
  border: 1px solid var(--ep-line) !important;
}
.ui.form input:focus, .ui.form textarea:focus, .ui.input > input:focus, .ui.selection.dropdown:focus, .ui.selection.active.dropdown {
  border-color: var(--ep-gold) !important;
  box-shadow: 0 0 0 2px rgba(201,162,77,.25) !important;
}
.ui.selection.dropdown .menu > .item { background: var(--ep-bg-2) !important; color: var(--ep-text) !important; border-color: var(--ep-line) !important; }
.ui.selection.dropdown .menu > .item:hover, .ui.dropdown .menu .selected.item { background: var(--ep-bg-3) !important; color: var(--ep-gold-hi) !important; }
.ui.dropdown .menu > .item { color: var(--ep-text) !important; }
.ui.checkbox label:before, .ui.checkbox .box:before { background: #0e0a08 !important; border-color: var(--ep-gold) !important; }
.ui.checkbox input:checked ~ label:after { color: var(--ep-gold) !important; }

/* ---------- Boutons ---------- */
.ui.button {
  font-family: var(--ep-serif) !important;
  font-weight: 600 !important;
  letter-spacing: .04em;
  background: var(--ep-bg-3) !important;
  color: var(--ep-text) !important;
  border: 1px solid var(--ep-line) !important;
}
.ui.button:hover { border-color: var(--ep-gold) !important; color: var(--ep-gold-hi) !important; }
.ui.primary.button, .ui.primary.buttons .button, .ui.positive.button, .ui.green.button, .ui.action.button {
  background: linear-gradient(180deg, var(--ep-gold-hi), var(--ep-gold) 55%, #a8832f) !important;
  color: #1a120c !important;
  border: 1px solid #8a6a25 !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.3) !important;
}
.ui.primary.button:hover, .ui.positive.button:hover { filter: brightness(1.08); color: #000 !important; }
.ui.red.button, .ui.negative.button { background: var(--ep-wine) !important; color: #f6e7e7 !important; border-color: #5a1515 !important; }

/* ---------- Messages, étiquettes ---------- */
.ui.message { background: var(--ep-bg-3) !important; color: var(--ep-text) !important; box-shadow: 0 0 0 1px var(--ep-line) inset !important; }
.ui.info.message, .ui.blue.message { box-shadow: 0 0 0 1px var(--ep-gold) inset !important; }
.ui.success.message, .ui.positive.message, .ui.green.message { box-shadow: 0 0 0 1px #5c7a3a inset !important; color: #cfe3b5 !important; }
.ui.error.message, .ui.negative.message, .ui.red.message { box-shadow: 0 0 0 1px var(--ep-wine) inset !important; color: #f0c9c9 !important; }
.ui.warning.message, .ui.yellow.message { box-shadow: 0 0 0 1px #9a7a2a inset !important; color: #f3e2b0 !important; }
.ui.message .header { color: inherit !important; font-family: var(--ep-title) !important; }
.ui.label { background: var(--ep-bg-3) !important; color: var(--ep-text) !important; border: 1px solid var(--ep-line) !important; }
.ui.label.green, .ui.green.label { background: #3e5326 !important; color: #e6f0d8 !important; }
.ui.label.red, .ui.red.label { background: var(--ep-wine) !important; color: #fbe9e9 !important; }

/* Statut des cotisations dans la liste des adhérents */
.ui.table tr.cotis-ok td      { background: rgba(111,143,69,.14) !important; color: var(--ep-text) !important; }
.ui.table tr.cotis-soon td    { background: rgba(201,162,77,.14) !important; color: var(--ep-text) !important; }
.ui.table tr.cotis-late td,
.ui.table tr.cotis-never td   { background: rgba(122,31,31,.22) !important; color: var(--ep-text) !important; }
.ui.table tr.cotis-exempt td  { background: rgba(120,110,160,.14) !important; color: var(--ep-text) !important; }
.ui.table tr.cotis-ok td:first-child    { box-shadow: inset 3px 0 0 #6f8f45 !important; }
.ui.table tr.cotis-soon td:first-child  { box-shadow: inset 3px 0 0 var(--ep-gold) !important; }
.ui.table tr.cotis-late td:first-child,
.ui.table tr.cotis-never td:first-child { box-shadow: inset 3px 0 0 #b03a3a !important; }
.ui.table tr.inactive-account td { opacity: .6; }
.ui.table tr:hover td { background: var(--ep-bg-3) !important; color: var(--ep-gold-hi) !important; }
.legend .cotis-ok, .legend .cotis-soon, .legend .cotis-late, .legend .cotis-never { color: var(--ep-text) !important; }

/* ---------- Onglets, pagination ---------- */
.ui.tabular.menu { border-bottom: 1px solid var(--ep-line) !important; }
.ui.tabular.menu .item { color: var(--ep-muted) !important; font-family: var(--ep-serif) !important; }
.ui.tabular.menu .active.item {
  background: var(--ep-bg-2) !important;
  color: var(--ep-gold) !important;
  border-color: var(--ep-line) var(--ep-line) transparent !important;
}
.ui.pagination.menu { background: var(--ep-bg-2) !important; border-color: var(--ep-line) !important; }
.ui.pagination.menu .item { color: var(--ep-text) !important; }
.ui.pagination.menu .active.item { background: var(--ep-gold) !important; color: #1a120c !important; }

/* ---------- Page de connexion / pages publiques ---------- */
#login, .login-page, body.login, body:has(form[action*="login"]) .pusher {
  background:
    linear-gradient(rgba(10,7,5,.82), rgba(10,7,5,.92)),
    radial-gradient(ellipse at center, #3a2717, #120d0a) !important;
}
body:has(form[action*="login"]) .ui.segment {
  border: 1px solid var(--ep-gold) !important;
  box-shadow: 0 10px 40px rgba(0,0,0,.7), 0 0 0 4px rgba(201,162,77,.08) !important;
}

/* ---------- Pied de page ---------- */
.page-footer, .page-footer a { color: var(--ep-muted) !important; border-top: 1px solid var(--ep-line) !important; }
#back2top.ui.button { background: var(--ep-gold) !important; color: #1a120c !important; }

/* ---------- Plugin Événements ---------- */
.event-color, .ui.label.event { border: 1px solid var(--ep-gold) !important; }

/* ---------- Sélections, focus et éléments actifs : or au lieu du bleu ---------- */
:root { accent-color: var(--ep-gold); }
::selection, *::selection { background: var(--ep-gold) !important; color: #1a120c !important; }
::-moz-selection { background: var(--ep-gold) !important; color: #1a120c !important; }
*:focus-visible { outline: 2px solid var(--ep-gold) !important; outline-offset: 1px; }
.ui.input > input:focus, .ui.input.focus > input, .ui.labeled.input input:focus,
.ui[class*="right labeled"].input > input:focus, .ui.action.input > input:focus,
.ui.form textarea:focus, .ui.form select:focus, .ui.search.dropdown.active > input.search {
  border-color: var(--ep-gold) !important;
  box-shadow: 0 0 0 2px rgba(201,162,77,.25) !important;
}
.ui.selection.active.dropdown, .ui.selection.active.dropdown:hover, .ui.selection.active.dropdown .menu,
.ui.selection.dropdown:focus, .ui.selection.dropdown:focus .menu, .ui.dropdown.active {
  border-color: var(--ep-gold) !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.5) !important;
}
.ui.dropdown .menu > .active.item, .ui.dropdown .menu > .selected.item, .ui.dropdown .menu .item.selected,
.ui.selection.dropdown .menu > .item.active, .ui.multiple.dropdown > .label {
  background: rgba(201,162,77,.20) !important;
  color: var(--ep-gold-hi) !important;
  font-weight: 600;
}
.ui.multiple.dropdown > .label { border: 1px solid var(--ep-gold) !important; }
.ui.menu .active.item, .ui.secondary.menu .active.item, .ui.secondary.pointing.menu .active.item {
  background: rgba(201,162,77,.18) !important;
  color: var(--ep-gold-hi) !important;
  border-color: var(--ep-gold) !important;
}
.ui.table tr.active, .ui.table td.active, .ui.table tr.selected td, .ui.table tr.active td,
.ui.selectable.table tr.active:hover, .ui.table tr:has(input[type=checkbox]:checked) td {
  background: rgba(201,162,77,.16) !important;
  color: var(--ep-gold-hi) !important;
}
.ui.checkbox input:checked ~ .box:before, .ui.checkbox input:checked ~ label:before,
.ui.checkbox input:focus ~ label:before, .ui.checkbox input:checked:focus ~ label:before {
  border-color: var(--ep-gold) !important;
  background: #0e0a08 !important;
}
.ui.checkbox input:checked ~ .box:after, .ui.checkbox input:checked ~ label:after,
.ui.radio.checkbox input:checked ~ label:after { color: var(--ep-gold) !important; background-color: var(--ep-gold) !important; }
.ui.checkbox:not(.radio):not(.toggle):not(.slider) input:checked ~ label:after { background-color: transparent !important; }
.ui.toggle.checkbox input:checked ~ label:before, .ui.toggle.checkbox input:focus:checked ~ label:before { background-color: var(--ep-gold) !important; }
.ui.blue.label, .ui.ui.ui.blue.label, .ui.blue.button, .ui.primary.label, .ui.teal.label, .ui.teal.button {
  background: var(--ep-gold) !important; border-color: var(--ep-gold) !important; color: #1a120c !important;
}
i.blue.icon.icon.icon.icon.icon.icon, i.teal.icon.icon.icon.icon.icon.icon { color: var(--ep-gold) !important; }
.ui.blue.header, .ui.teal.header { color: var(--ep-gold) !important; }
input:-webkit-autofill, input:-webkit-autofill:hover, input:-webkit-autofill:focus, textarea:-webkit-autofill, select:-webkit-autofill {
  -webkit-text-fill-color: var(--ep-text) !important;
  -webkit-box-shadow: 0 0 0 1000px #0e0a08 inset !important;
  caret-color: var(--ep-text);
  transition: background-color 9999s ease-in-out 0s;
}
.ui.calendar .ui.table tr td.active, .ui.calendar .ui.table tr td.focus, .ui.calendar .ui.table td.today {
  background: rgba(201,162,77,.25) !important; color: var(--ep-gold-hi) !important; box-shadow: none !important;
}

/* ---------- Mode sombre désactivé : le thème Epicurus est déjà sombre ---------- */
.ui.darkmode.button, button.darkmode, .darkmode { display: none !important; }

/* ---------- Cartes : zone basse lisible (prix, statut) ---------- */
.ui.card > .extra, .ui.cards > .card > .extra {
  color: var(--ep-text) !important;
  border-top: 1px solid var(--ep-line) !important;
}
.ui.card > .extra strong, .ui.cards > .card > .extra strong { color: var(--ep-gold-hi) !important; font-size: 1.15em; }
.ui.card .description { color: var(--ep-text) !important; }
.ui.orange.label { background: #6b4a12 !important; color: #f6e2b5 !important; border-color: #8a6a25 !important; }
