/*
 Theme Name:   Listing Hive Child
 Theme URI:    https://hivepress.io/themes/listinghive/
 Description:  Listing Hive Child Theme
 Author:       Jane Doe
 Author URI:   http://example.com
 Template:     listinghive
 Version:      1.0.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Tags:         light, dark, two-columns, right-sidebar, responsive-layout, accessibility-ready
 Text Domain:  listinghive-child
*/
/* Palette globale */
/* ====== Design tokens (palette) ====== */
:root {
    /* Brand */
    --brand: #006A4E;
    /* primaire */
    --brand-600: #005A42;
    /* hover (plus sombre) */
    --brand-300: #338771;
    /* état actif/lien visité doux */

    /* Secondaire / accents */
    --secondary: #3B6F72;
    /* bleu pétrole */
    --accent: #E07B39;
    /* orange doré (badge/attention) */
    --accent-100: #FFF4E8;
    /* fond d’avertissement très clair */

    /* Neutres / fonds */
    --text: #2C2C2C;
    /* texte principal */
    --muted: #626A68;
    /* texte atténué (labels, meta) */
    --bg: #FFFFFF;
    /* fond principal */
    --bg-soft: #F5F0E6;
    /* crème, sections alternées */
    --surface: #FFFFFF;
    /* cartes */
    --surface-alt: #FAF7F1;
    /* surface douce (légèrement crème) */
    --border: #E3E7E4;
    /* traits, séparateurs */

    /* États/feedback (accessibles) */
    --success-bg: #E6F4EF;
    --success-fg: #004D3B;
    --info-bg: #E8F3F4;
    --info-fg: #164A4E;
    --warn-bg: #FFF4E8;
    /* dérivé de l’orange */
    --warn-fg: #7A3E06;
}

/* ====== Couleurs globales ====== */
body {
    color: var(--text);
    background: var(--bg);
}

hr,
.card,
.widget,
.hp-card {
    border-color: var(--border);
}

/* Liens */
a {
    color: var(--brand);
}

a:hover,
a:focus {
    color: var(--brand-600);
}

a:visited {
    color: var(--brand-300);
}

/* Boutons génériques (adapter aux classes du thème si besoin) */
button,
input[type=submit],
.button,
.btn {
    background: var(--brand);
    color: #fff;
    border: 1px solid var(--brand);
    border-radius: 10px;
}

button:hover,
input[type=submit]:hover,
.button:hover,
.btn:hover {
    background: var(--brand-600);
    border-color: var(--brand-600);
}

/* Bouton secondaire (si tu en as besoin) */
.btn--secondary {
    background: #fff;
    color: var(--secondary);
    border: 1px solid var(--secondary);
}

.btn--secondary:hover {
    background: var(--secondary);
    color: #fff;
}

/* Blocs d’info (succès / info / avertissement) */
.notice--success {
    background: var(--success-bg);
    color: var(--success-fg);
    border: 1px solid #B6E1D5;
}

.notice--info {
    background: var(--info-bg);
    color: var(--info-fg);
    border: 1px solid #B9D9DD;
}

.notice--warn {
    background: var(--warn-bg);
    color: var(--warn-fg);
    border: 1px solid #F1C99E;
}

/* Sections alternées crème (optionnel) */
.section--soft {
    background: var(--bg-soft);
}

/* Focus visible (accessibilité) */
:focus-visible {
    outline: 2px solid var(--brand-600);
    outline-offset: 2px;
}

/* Liens dans les cartes/popups plus discrets */
.leaflet-popup a {
    color: var(--secondary);
}

.leaflet-popup a:hover {
    color: var(--brand);
}

/* ===== ListingHive x Palette ===== */

/* Header / menu */
.site-header .menu>li>a {
    color: var(--text);
}

.site-header .menu>li.current-menu-item>a,
.site-header .menu>li>a:hover {
    color: var(--brand);
}

.site-title a {
    color: var(--brand);
}

/* Liens génériques + transitions */
a {
    transition: color .18s ease, background-color .18s ease, border-color .18s ease;
}

/* Boutons primaires (HivePress & theme) */
.hp-button,
.hp-button--primary,
.button,
.btn,
input[type="submit"],
.hp-form .hp-form__actions .hp-button {
    background: var(--brand);
    border: 1px solid var(--brand);
    color: #fff;
    border-radius: 10px;
}

.hp-button:hover,
.hp-button--primary:hover,
.button:hover,
.btn:hover,
input[type="submit"]:hover {
    background: var(--brand-600);
    border-color: var(--brand-600);
    color: #fff;
}

/* Bouton secondaire / outline */
.hp-button--secondary,
.button.is-secondary,
.btn--secondary {
    background: #fff;
    color: var(--secondary);
    border: 1px solid var(--secondary);
}

.hp-button--secondary:hover,
.button.is-secondary:hover,
.btn--secondary:hover {
    background: var(--secondary);
    color: #fff;
}

/* Champs & focus */
.hp-field input[type="text"],
.hp-field input[type="search"],
.hp-field input[type="email"],
.hp-field input[type="url"],
.hp-field input[type="number"],
.hp-field select,
.hp-field textarea {
    border-color: var(--border);
}

.hp-field input:focus,
.hp-field select:focus,
.hp-field textarea:focus {
    border-color: var(--brand-300);
    box-shadow: 0 0 0 3px rgb(0 106 78 / .15);
    /* #006A4E @15% */
    outline: 0;
}

/* Barre de recherche / filtres – bouton submit */
.hp-search__form .hp-button,
.hp-filters__actions .hp-button {
    background: var(--brand);
    border-color: var(--brand);
}

.hp-search__form .hp-button:hover,
.hp-filters__actions .hp-button:hover {
    background: var(--brand-600);
    border-color: var(--brand-600);
}

/* Cartes / vignettes de résultats */
.hp-card,
.card {
    border-color: var(--border);
    background: var(--surface);
}

.hp-listing__title a,
.entry-title a {
    color: var(--text);
}

.hp-listing__title a:hover,
.entry-title a:hover {
    color: var(--brand);
}

.hp-badge,
.badge,
.tag {
    background: var(--accent);
    color: var(--text);
    border: 1px solid #D66D28;
}

/* Pagination */
.nav-links .page-numbers,
.page-numbers {
    border: 1px solid var(--border);
    color: var(--text);
}

.nav-links .page-numbers.current,
.page-numbers.current {
    background: var(--brand);
    border-color: var(--brand);
    color: #fff;
}

.nav-links a.page-numbers:hover,
a.page-numbers:hover {
    border-color: var(--brand);
    color: var(--brand);
}

/* Tabs HivePress */
.hp-tabs__nav a {
    color: var(--muted);
    border-bottom: 2px solid transparent;
}

.hp-tabs__nav .is-active a,
.hp-tabs__nav a:hover {
    color: var(--brand);
    border-color: var(--brand);
}

/* Breadcrumbs */
.hp-breadcrumbs a,
.breadcrumbs a {
    color: var(--secondary);
}

.hp-breadcrumbs .current,
.breadcrumbs .current {
    color: var(--muted);
}

/* Sections alternées crème (si tu veux rythmer la page) */
.section--soft,
.hp-section--alt {
    background: var(--bg-soft);
}

/* Messages (si le thème utilise .notice) */
.notice-success {
    background: var(--success-bg);
    color: var(--success-fg);
    border: 1px solid #B6E1D5;
}

.notice-info {
    background: var(--info-bg);
    color: var(--info-fg);
    border: 1px solid #B9D9DD;
}

.notice-warning {
    background: var(--warn-bg);
    color: var(--warn-fg);
    border: 1px solid #F1C99E;
}

/* ===== VelvetEdge — overrides ListingHive (ciblés, spécifiques) ===== */

/* Liens (général + zone contenu single) */
body.single-couturiers a,
.single-couturiers .entry-content a {
    color: var(--brand);
}

body.single-couturiers a:hover,
.single-couturiers .entry-content a:hover {
    color: var(--brand-600);
}

/* Boutons (y compris ceux générés par HivePress/ListingHive) */
body.single-couturiers .hp-button,
body.single-couturiers .hp-button--primary,
body.single-couturiers .button,
body.single-couturiers .btn,
body.single-couturiers input[type="submit"] {
    background: var(--brand);
    border: 1px solid var(--brand);
    color: #fff;
    border-radius: 10px;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease;
}

body.single-couturiers .hp-button:hover,
body.single-couturiers .hp-button--primary:hover,
body.single-couturiers .button:hover,
body.single-couturiers .btn:hover,
body.single-couturiers input[type="submit"]:hover {
    background: var(--brand-600);
    border-color: var(--brand-600);
    color: #fff;
}

/* Bouton “secondaire / outline” éventuel */
body.single-couturiers .btn--secondary,
body.single-couturiers .button.is-secondary {
    background: #fff;
    color: var(--secondary);
    border: 1px solid var(--secondary);
}

body.single-couturiers .btn--secondary:hover,
body.single-couturiers .button.is-secondary:hover {
    background: var(--secondary);
    color: #fff;
}

/* Cartes/encarts (bords + fond) */
body.single-couturiers .card,
body.single-couturiers .hp-card {
    background: var(--surface);
    border-color: var(--border);
}

/* Titres / liens de titre */
body.single-couturiers .entry-title a,
body.single-couturiers .hp-listing__title a {
    color: var(--text);
}

body.single-couturiers .entry-title a:hover,
body.single-couturiers .hp-listing__title a:hover {
    color: var(--brand);
}

/* Badges / tags (accent orange, texte sombre accessible) */
body.single-couturiers .hp-badge,
body.single-couturiers .badge,
body.single-couturiers .tag {
    background: var(--accent);
    color: var(--text);
    border: 1px solid #D66D28;
}

/* Champs de formulaire + focus (modal, filtres, etc.) */
body.single-couturiers .hp-field input,
body.single-couturiers .hp-field select,
body.single-couturiers .hp-field textarea {
    border-color: var(--border);
}

body.single-couturiers .hp-field input:focus,
body.single-couturiers .hp-field select:focus,
body.single-couturiers .hp-field textarea:focus {
    border-color: var(--brand-300);
    box-shadow: 0 0 0 3px rgb(0 106 78 / .15);
    outline: 0;
}

/* Leaflet popup (liens discrets) */
body.single-couturiers .leaflet-popup a {
    color: var(--secondary);
}

body.single-couturiers .leaflet-popup a:hover {
    color: var(--brand);
}

/* Pagination (au cas où présente sur la page) */
body.single-couturiers .page-numbers {
    border: 1px solid var(--border);
    color: var(--text);
}

body.single-couturiers .page-numbers.current {
    background: var(--brand);
    border-color: var(--brand);
    color: #fff;
}

body.single-couturiers a.page-numbers:hover {
    border-color: var(--brand);
    color: var(--brand);
}

/* ===== VelvetEdge — Home overrides ===== */

/* 1) Boutons & liens d’action (site-wide) */
.hp-button--primary,
input[type="submit"] {
    background: var(--brand);
    border: 1px solid var(--brand);
    color: #fff;
    border-radius: 10px;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease;
}

.hp-button:hover,
.hp-button--primary:hover,
.button:hover,
.btn:hover,
input[type="submit"]:hover {
    background: var(--brand-600);
    border-color: var(--brand-600);
    color: #fff;
}

/* 2) Étiquettes / badges / “featured” → plus de jaune */
.hp-badge,
.hp-badge--primary,
.hp-listing__badge,
.hp-label,
.hp-label--primary,
.hp-featured-badge {
    background: var(--accent);
    /* orange doré de ta palette */
    color: var(--text);
    border: 1px solid #D66D28;
}

.hp-badge--secondary,
.hp-label--secondary {
    background: var(--secondary);
    color: #fff;
    border: 1px solid var(--secondary);
}

/* 3) Petits éléments qui restaient jaune (certaines skins HivePress) */
.hp-chip,
.hp-tag,
.badge,
.tag {
    background: var(--accent);
    color: var(--text);
    border: 1px solid #D66D28;
}

/* 4) Inputs & focus (harmonisation) */
.hp-field input,
.hp-field select,
.hp-field textarea {
    border-color: var(--border);
}

.hp-field input:focus,
.hp-field select:focus,
.hp-field textarea:focus {
    border-color: var(--brand-300);
    box-shadow: 0 0 0 3px rgb(0 106 78 / .15);
    outline: 0;
}

/* 5) Home hero — sous-titre avec fond (sur /) */
.home .hp-hero__subtitle,
.home .hp-hero__text,
.home .page-header .page-subtitle,
.home .entry-subtitle {
    display: inline-block;
    background: var(--bg-soft);
    /* crème */
    color: var(--text);
    padding: .45rem .75rem;
    border-radius: .6rem;
    line-height: 1.35;
}

/* (optionnel) un peu d’air autour du sous-titre */
.home .hp-hero__subtitle,
.home .hp-hero__text {
    margin-top: .5rem;
}

/* ===== Home: corrections couleurs ===== */

/* Barre décorative devant les titres de section */
.home .title::before,
.home .hp-section__title::before {
    background-color: var(--brand);
    /* #006A4E */
}

/* Tags / pastilles : plus d'orange */

.home .hp-hero,
.home .page-header {
    background: var(--bg-soft);
}

.home .tag {
    background: none;
    border: none;
}

.home .hp-tag,
.home .hp-chip {
    background: var(--brand);
    color: #fff;
    border: 1px solid var(--brand);
}

.home .tag a,
.home .hp-tag a {
    color: #fff;
}

/* (ceinture & bretelles si un style du thème insiste) */
.home .content .title::before {
    background-color: var(--brand) !important;
}

/* === Bouton "Réinitialiser" (ghost) – texte plus foncé et meilleur hover === */
.cl-btn.cl-ghost {
    color: var(--text);
    /* texte lisible */
    background: transparent;
    border: 1px solid var(--border);
}

.cl-btn.cl-ghost:hover {
    color: var(--brand-600);
    border-color: var(--brand-600);
    background: rgba(0, 106, 78, .06);
    /* léger fond au survol */
}

/* === Pagination (Préc. / Suiv.) === */
.cl-pager {
    display: flex;
    align-items: center;
    gap: 10px;
}

.cl-pager button {
    padding: 8px 12px;
    background: var(--surface);
    color: var(--text);
    /* texte foncé */
    border: 1px solid var(--border);
    border-radius: 10px;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease;
}

.cl-pager button:hover:not(:disabled) {
    background: var(--brand);
    border-color: var(--brand);
    color: #fff;
    /* contraste fort au hover */
}

.cl-pager button:disabled {
    background: var(--surface-alt);
    color: var(--muted);
    border-color: var(--border);
    cursor: not-allowed;
}

.cl-pager .cl-page-info {
    color: var(--muted);
}

/* === Accessibilité focus === */
.cl-btn:focus-visible,
.cl-pager button:focus-visible {
    outline: 2px solid var(--brand-600);
    outline-offset: 2px;
    box-shadow: 0 0 0 3px rgb(0 106 78 / .15);
}

/* Ceinture & bretelles si un style plus spécifique écrase encore la couleur */
.cl-wrap .cl-btn.cl-ghost,
.cl-wrap .cl-pager button {
    color: var(--text) !important;
}

/* Fiche couturier : empiler label + contenu */
body.single-couturiers .hero .meta .row {
    display: block;
}

body.single-couturiers .hero .meta .row .label {
    display: block;
    margin: 0 0 6px;
    color: var(--muted);
}

/* Bouton RECHERCHER (plein, vert) */
.cl-toolbar .cl-btn:not(.cl-ghost) {
    background: var(--brand);
    border: 1px solid var(--brand);
    color: #fff;
    border-radius: 12px;
    padding: 10px 16px;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease;
}

.cl-toolbar .cl-btn:not(.cl-ghost):hover {
    background: var(--brand-600);
    border-color: var(--brand-600);
    color: #fff;
}

/* Bouton RÉINITIALISER (ghost lisible) */
.cl-toolbar .cl-btn.cl-ghost {
    color: var(--text);
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 10px 16px;
}

.cl-toolbar .cl-btn.cl-ghost:hover {
    color: var(--brand-600);
    border-color: var(--brand-600);
    background: rgba(0, 106, 78, .06);
}