/* ================================================================
   PMH KARUKERA — CSS COMPLET v3.0 (FINAL)
   Design + Correctifs + Améliorations — Tout en un
   ================================================================ */

:root {
  --dk:     #0d1510;
  --dk2:    #131d18;
  --dk3:    #1a2820;
  --dk4:    #0a110d;
  --green:  #1a3325;
  --gold:   #c9a84c;
  --gold2:  #e8c76a;
  --cream:  #f0ece0;
  --light:  #c0d4c8;
  --muted:  #8aaa94;
  --border: #2a3d30;
  --r:      2px;
}

/* ── RESET & BASE ───────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
::selection { background: var(--gold); color: var(--dk); }
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: var(--dk); }
::-webkit-scrollbar-thumb { background: var(--border); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--gold); }

body, .site, #page, .site-content, main, .ct-main {
  background-color: var(--dk) !important;
  color: var(--cream) !important;
  font-family: 'Jost', sans-serif !important;
  font-weight: 300;
  font-size: 16px;
  line-height: 1.75;
}

.ct-container, .entry, article, .ct-blog-grid article,
.ct-post-card, .ct-main-content-container,
.page-content, .entry-content, .site-main {
  background: transparent !important;
  color: var(--cream) !important;
}

/* ── TYPOGRAPHIE ────────────────────────────────────────────── */
h1,h2,h3,h4,h5,h6 {
  font-family: 'Cormorant Garamond', serif !important;
  font-weight: 700 !important;
  color: var(--cream) !important;
  line-height: 1.1;
}
h1 { font-size: clamp(38px, 6vw, 64px); }
h2 { font-size: clamp(28px, 4vw, 46px); }
h3 { font-size: clamp(20px, 3vw, 30px); }
h4 { font-size: 18px; }
p  { color: var(--light); font-size: 15px; line-height: 1.8; }
a  { color: var(--gold); text-decoration: none; transition: color .2s; }
a:hover { color: var(--gold2); }
strong { color: var(--cream); font-weight: 500; }
em { color: var(--gold); font-style: normal; }

/* ── NAVIGATION ─────────────────────────────────────────────── */
.site-header, header.site-header, .ct-header {
  background: rgba(10,17,13,0.97) !important;
  border-bottom: 1px solid var(--border) !important;
  backdrop-filter: blur(10px);
  position: sticky !important;
  top: 0 !important;
  z-index: 9999 !important;
  transition: box-shadow .3s;
}
.site-header.pmh-scrolled { box-shadow: 0 4px 30px rgba(0,0,0,.7) !important; }

.site-title a, .ct-site-title, .ct-site-title a {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: var(--gold) !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}
.site-description, .ct-site-description {
  font-family: 'Jost', sans-serif !important;
  font-size: 9px !important;
  letter-spacing: 4px !important;
  text-transform: uppercase !important;
  color: var(--muted) !important;
}
.ct-header .ct-nav-links > li > a, .main-navigation ul li a {
  font-family: 'Jost', sans-serif !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: var(--muted) !important;
  padding: 8px 12px !important;
  transition: color .2s !important;
}
.ct-header .ct-nav-links > li > a:hover,
.ct-header .ct-nav-links > li.current-menu-item > a {
  color: var(--gold) !important;
}
.ct-header .ct-nav-links > li.current-menu-item > a {
  position: relative;
}
.ct-header .ct-button {
  background: var(--gold) !important;
  color: var(--dk) !important;
  font-family: 'Jost', sans-serif !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  border: none !important;
  border-radius: var(--r) !important;
  padding: 9px 20px !important;
}
.ct-toggle-dropdown-mobile, .ct-drawer-toggle { color: var(--gold) !important; }
.ct-header-mobile-offcanvas, .ct-panel { background: var(--dk2) !important; }
.ct-header-mobile-offcanvas a { color: var(--cream) !important; font-size: 16px !important; }

/* ── HERO ───────────────────────────────────────────────────── */
.pmh-hero {
  position: relative;
  min-height: 580px;
  background: linear-gradient(150deg,#091210 0%,#1a3325 55%,#0a1a10 100%);
  display: flex;
  align-items: flex-end;
  overflow: hidden;
}
.pmh-hero-bg {
  position: absolute; inset: 0;
  background-size: cover;
  background-position: center 35%;
  background-repeat: no-repeat;
  opacity: 0.28;
  mix-blend-mode: luminosity;
  transition: transform 8s ease;
}
.pmh-hero:hover .pmh-hero-bg { transform: scale(1.04); }
.pmh-hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top,
    rgba(8,14,10,.98) 0%,
    rgba(8,14,10,.72) 40%,
    rgba(8,14,10,.3) 80%,
    transparent 100%);
}
.pmh-hero-inner {
  position: relative; z-index: 2;
  padding: 0 56px 70px;
  max-width: 760px; width: 100%;
}
.pmh-badge {
  display: inline-flex; align-items: center; gap: 8px;
  border: 1px solid var(--gold); padding: 5px 16px; margin-bottom: 28px;
}
.pmh-badge span {
  font-size: 10px; letter-spacing: 3px; text-transform: uppercase;
  color: var(--gold); font-family: 'Jost', sans-serif; font-weight: 400;
}
.pmh-dot { width:4px; height:4px; background:var(--gold); border-radius:50%; display:inline-block; flex-shrink:0; }
.pmh-hero-inner h1 {
  font-size: clamp(40px,7vw,68px) !important;
  color: var(--cream) !important;
  text-shadow: 0 2px 30px rgba(0,0,0,.5);
  margin-bottom: 14px;
}
.pmh-hero-sub {
  font-size: 15px !important; color: var(--light) !important;
  letter-spacing: 1.5px; margin-bottom: 38px; font-weight: 300;
}
.pmh-btn-row { display: flex; gap: 14px; flex-wrap: wrap; }

/* ── BOUTONS ────────────────────────────────────────────────── */
.pmh-btn-gold, a.pmh-btn-gold {
  display: inline-block; background: var(--gold); color: var(--dk) !important;
  font-family: 'Jost', sans-serif; font-size: 11px; font-weight: 500;
  letter-spacing: 2px; text-transform: uppercase; padding: 14px 30px;
  border: none; border-radius: var(--r); cursor: pointer;
  transition: background .2s, transform .15s; text-decoration: none !important;
  position: relative; overflow: hidden;
}
.pmh-btn-gold:hover { background: var(--gold2); transform: translateY(-2px); color: var(--dk) !important; }
.pmh-btn-outline, a.pmh-btn-outline {
  display: inline-block; background: transparent; color: var(--cream) !important;
  font-family: 'Jost', sans-serif; font-size: 11px; letter-spacing: 2px;
  text-transform: uppercase; padding: 14px 30px; border: 1px solid var(--border);
  border-radius: var(--r); cursor: pointer;
  transition: border-color .2s, color .2s; text-decoration: none !important;
}
.pmh-btn-outline:hover { border-color: var(--gold); color: var(--gold) !important; }

/* ── COUNTDOWN ──────────────────────────────────────────────── */
.pmh-countdown-strip {
  background: linear-gradient(135deg,#0f2018,#1a3325,#0f2018);
  border-top: 1px solid var(--border); border-bottom: 1px solid var(--border);
  padding: 22px 56px; display: flex; align-items: center; gap: 28px; flex-wrap: wrap;
  position: relative; overflow: hidden;
}
.pmh-countdown-strip::before {
  content:''; position:absolute; top:0; left:0; right:0; height:1px;
  background: linear-gradient(90deg,transparent,var(--gold),transparent);
}
.pmh-cd-label {
  font-family: 'Jost', sans-serif; font-size:10px; letter-spacing:3px;
  text-transform:uppercase; color:var(--muted); display:block; margin-bottom:4px;
}
.pmh-cd-date { font-family:'Cormorant Garamond',serif; font-size:20px; color:var(--gold); }
.pmh-cd-sep { width:1px; height:48px; background:var(--border); flex-shrink:0; }
.pmh-cd-blocks { display:flex; gap:10px; }
.pmh-cd-block {
  text-align:center; background:rgba(0,0,0,.35); padding:8px 16px;
  border:1px solid var(--border); min-width:62px;
  transition: border-color .3s;
}
.pmh-cd-block:hover { border-color: var(--gold); }
.pmh-cd-num { font-family:'Cormorant Garamond',serif; font-size:34px; color:var(--cream); display:block; line-height:1; }
.pmh-cd-unit { font-family:'Jost',sans-serif; font-size:9px; letter-spacing:2px; text-transform:uppercase; color:var(--muted); display:block; margin-top:4px; }

/* ── MÉTÉO ──────────────────────────────────────────────────── */
.pmh-meteo {
  background: var(--dk3); border-top: 2px solid var(--gold);
  border-bottom: 1px solid var(--border); padding: 24px 56px;
  display: flex; align-items: center; gap: 32px; flex-wrap: wrap;
}
.pmh-meteo-icon { font-size:52px; line-height:1; }
.pmh-meteo-temp { font-family:'Cormorant Garamond',serif; font-size:56px; color:var(--cream); line-height:1; }
.pmh-meteo-unit { font-size:22px; color:var(--gold); vertical-align:super; }
.pmh-meteo-location { font-family:'Jost',sans-serif; font-size:10px; letter-spacing:3px; text-transform:uppercase; color:var(--gold); margin-bottom:4px; }
.pmh-meteo-desc { font-size:14px; color:var(--light); text-transform:capitalize; margin-top:4px; }
.pmh-meteo-details { display:flex; flex-direction:column; gap:8px; }
.pmh-meteo-row { display:flex; align-items:center; gap:10px; font-size:13px; color:var(--muted); }
.pmh-meteo-row .val { color:var(--cream); }
.pmh-meteo-forecast { display:flex; gap:14px; border-left:1px solid var(--border); padding-left:28px; }
.pmh-meteo-day { text-align:center; min-width:52px; }
.pmh-meteo-day-name { font-family:'Jost',sans-serif; font-size:9px; letter-spacing:2px; text-transform:uppercase; color:var(--muted); margin-bottom:6px; }
.pmh-meteo-day-icon { font-size:24px; display:block; margin-bottom:4px; }
.pmh-meteo-day-temp { font-family:'Cormorant Garamond',serif; font-size:20px; color:var(--cream); }
.pmh-meteo-loading, .pmh-meteo-error { color:var(--muted); font-size:13px; padding:16px 0; }

/* ── SECTIONS ───────────────────────────────────────────────── */
.pmh-section { padding: 64px 56px; }
.pmh-section-alt { background: var(--dk3); }
.pmh-section + .pmh-section-alt,
.pmh-section-alt + .pmh-section { border-top: 1px solid var(--border); position: relative; }
.pmh-section-header { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:40px; gap:16px; flex-wrap:wrap; }
.pmh-section-title { font-family:'Cormorant Garamond',serif; font-size:clamp(26px,4vw,40px); color:var(--cream); }
.pmh-section-title span { display:block; font-family:'Jost',sans-serif; font-size:10px; letter-spacing:4px; text-transform:uppercase; color:var(--gold); font-weight:400; margin-bottom:8px; }
.pmh-section-link { font-family:'Jost',sans-serif; font-size:10px; letter-spacing:2px; text-transform:uppercase; color:var(--muted); border-bottom:1px solid var(--border); padding-bottom:2px; white-space:nowrap; transition:color .2s, border-color .2s; }
.pmh-section-link:hover { color:var(--gold); border-color:var(--gold); }
.pmh-page-hero { background:linear-gradient(155deg,#091210,#1a3325,#0a1a10); padding:64px 56px 48px; border-bottom:1px solid var(--border); }
.pmh-page-tag { font-family:'Jost',sans-serif; font-size:10px; letter-spacing:4px; text-transform:uppercase; color:var(--gold); margin-bottom:14px; display:block; }
.pmh-page-hero h1, .pmh-page-hero h2 { color:var(--cream) !important; margin-bottom:12px; }
.pmh-page-hero p { font-size:15px; color:var(--light); }

/* ── GRILLES ────────────────────────────────────────────────── */
.pmh-grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.pmh-grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.pmh-grid-4 { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.pmh-col-2  { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start; }
.pmh-col-2-stats { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }

/* ── CARTES COURSES ─────────────────────────────────────────── */
.pmh-race-card {
  background:var(--dk2); border:1px solid var(--border); padding:28px;
  position:relative; overflow:hidden; cursor:pointer;
  text-decoration:none !important; display:block; color:inherit;
  transition: border-color .25s, transform .2s;
}
.pmh-race-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:2px;
  background:var(--gold); transform:scaleX(0); transform-origin:left; transition:transform .35s;
}
.pmh-race-card:hover { border-color:var(--gold); transform:translateY(-3px); }
.pmh-race-card:hover::before { transform:scaleX(1); }
.pmh-race-card-prestige { border-color:#3a5030; background:linear-gradient(135deg,#131d18,#1a2820) !important; }
.pmh-card-tag { font-family:'Jost',sans-serif; font-size:10px; letter-spacing:3px; text-transform:uppercase; color:var(--muted); margin-bottom:18px; display:block; }
.pmh-card-tag-gold { color:var(--gold) !important; }
.pmh-card-date { font-family:'Cormorant Garamond',serif; font-size:30px; color:var(--cream); line-height:1.1; margin-bottom:6px; }
.pmh-card-day { font-family:'Jost',sans-serif; font-size:11px; color:var(--gold); text-transform:uppercase; letter-spacing:2px; margin-bottom:18px; }
.pmh-card-desc { font-size:13px; color:var(--muted); margin-bottom:10px; line-height:1.5; }
.pmh-card-divider { height:1px; background:var(--border); margin:14px 0; }
.pmh-card-info { display:flex; justify-content:space-between; align-items:center; gap:8px; }
.pmh-card-courses { font-size:12px; color:var(--muted); }
.pmh-card-type { font-family:'Jost',sans-serif; font-size:9px; letter-spacing:2px; text-transform:uppercase; color:var(--gold); border:1px solid var(--gold); padding:3px 10px; white-space:nowrap; }

/* ── CARTES NEWS ────────────────────────────────────────────── */
.pmh-news-card { background:var(--dk2); border:1px solid var(--border); overflow:hidden; transition:border-color .25s, transform .2s; display:block; text-decoration:none !important; color:inherit; }
.pmh-news-card:hover { border-color:var(--gold); transform:translateY(-3px); }
.pmh-news-img { height:150px; background:linear-gradient(135deg,var(--green),var(--dk4)); display:flex; align-items:center; justify-content:center; border-bottom:1px solid var(--border); overflow:hidden; font-size:44px; }
.pmh-news-img img { width:100%; height:100%; object-fit:cover; opacity:.7; transition:opacity .3s,transform .3s; }
.pmh-news-card:hover .pmh-news-img img { opacity:.9; transform:scale(1.04); }
.pmh-news-body { padding:22px; }
.pmh-news-cat { font-family:'Jost',sans-serif; font-size:9px; letter-spacing:3px; text-transform:uppercase; color:var(--gold); margin-bottom:10px; display:block; }
.pmh-news-title { font-family:'Cormorant Garamond',serif; font-size:20px; color:var(--cream); line-height:1.3; margin-bottom:10px; }
.pmh-news-excerpt { font-size:13px; color:var(--muted); line-height:1.6; margin-bottom:14px; }
.pmh-news-date { font-size:11px; color:var(--muted); }

/* ── PARIS ──────────────────────────────────────────────────── */
.pmh-pari-card { background:var(--dk2); border:1px solid var(--border); padding:20px; transition:border-color .2s, transform .2s; }
.pmh-pari-card:hover { border-color:var(--gold); transform:translateY(-2px); }
.pmh-pari-name { font-family:'Cormorant Garamond',serif; font-size:22px; color:var(--gold); margin-bottom:8px; }
.pmh-pari-desc { font-size:13px; color:var(--muted); line-height:1.6; }
.pmh-steps { display:flex; flex-direction:column; }
.pmh-step { display:flex; gap:18px; padding:22px 0; border-bottom:1px solid var(--border); }
.pmh-step:last-child { border-bottom:none; }
.pmh-step-num { font-family:'Cormorant Garamond',serif; font-size:38px; color:var(--gold); opacity:.55; min-width:40px; line-height:1; }
.pmh-step-text h4 { font-family:'Jost',sans-serif !important; font-size:14px !important; color:var(--cream) !important; font-weight:500 !important; margin-bottom:6px; }
.pmh-step-text p { font-size:13px; color:var(--muted); line-height:1.7; }

/* ── STATS ──────────────────────────────────────────────────── */
.pmh-stats-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.pmh-stat-box { border-left:2px solid var(--gold); padding:14px 18px; }
.pmh-stat-num { font-family:'Cormorant Garamond',serif; font-size:36px; color:var(--cream); line-height:1; }
.pmh-stat-label { font-family:'Jost',sans-serif; font-size:10px; letter-spacing:2px; text-transform:uppercase; color:var(--muted); margin-top:6px; }

/* ── VISITE ─────────────────────────────────────────────────── */
.pmh-info-table { width:100%; border-collapse:collapse; }
.pmh-info-table td { padding:12px 0; font-size:14px; border-bottom:1px solid var(--border); }
.pmh-info-table td:first-child { color:var(--muted); }
.pmh-info-table td:last-child { text-align:right; color:var(--cream); font-weight:400; }
.pmh-amenities { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:24px; }
.pmh-amenity { background:var(--dk2); border:1px solid var(--border); padding:16px; display:flex; gap:14px; align-items:flex-start; transition:border-color .2s; }
.pmh-amenity:hover { border-color:var(--gold); }
.pmh-am-icon { width:32px; height:32px; border:1px solid var(--gold); display:flex; align-items:center; justify-content:center; font-size:14px; color:var(--gold); flex-shrink:0; }
.pmh-am-text { font-size:12px; color:var(--muted); line-height:1.6; }
.pmh-am-text strong { display:block; color:var(--cream); font-weight:500; font-size:13px; margin-bottom:3px; }
.pmh-map-embed { width:100%; height:260px; border:1px solid var(--border); filter:grayscale(1) invert(.88) hue-rotate(100deg) brightness(.85); margin-top:20px; display:block; }

/* ── CONTACT ────────────────────────────────────────────────── */
.pmh-contact-info-block { margin-bottom:28px; }
.pmh-ci-label { font-family:'Jost',sans-serif; font-size:9px; letter-spacing:3px; text-transform:uppercase; color:var(--gold); margin-bottom:8px; display:block; }
.pmh-ci-val { font-size:15px; color:var(--cream); line-height:1.7; }
.pmh-ci-val a { color:var(--muted); }
.pmh-ci-val a:hover { color:var(--gold); }
.pmh-social-links { display:flex; gap:10px; margin-top:8px; flex-wrap:wrap; }
.pmh-social-btn { border:1px solid var(--border); padding:7px 16px; font-size:11px; color:var(--muted); cursor:pointer; transition:border-color .2s,color .2s; font-family:'Jost',sans-serif; text-decoration:none; }
.pmh-social-btn:hover { border-color:var(--gold); color:var(--gold); }

/* WPForms */
.wpforms-container, .wpforms-form { background:transparent !important; }
.wpforms-field-label, .wpforms-field-sublabel { font-family:'Jost',sans-serif !important; font-size:10px !important; letter-spacing:2px !important; text-transform:uppercase !important; color:var(--muted) !important; font-weight:400 !important; }
.wpforms-field input[type="text"], .wpforms-field input[type="email"],
.wpforms-field input[type="tel"], .wpforms-field textarea, .wpforms-field select {
  background:var(--dk2) !important; border:1px solid var(--border) !important;
  border-radius:var(--r) !important; color:var(--cream) !important;
  font-family:'Jost',sans-serif !important; font-size:14px !important;
  font-weight:300 !important; padding:12px 16px !important; width:100% !important;
  transition:border-color .2s !important; box-shadow:none !important;
}
.wpforms-field input:focus, .wpforms-field textarea:focus { border-color:var(--gold) !important; outline:none !important; }
.wpforms-field textarea { height:130px !important; resize:none !important; }
.wpforms-field select option { background:var(--dk2); color:var(--cream); }
.wpforms-submit { background:var(--gold) !important; color:var(--dk) !important; font-family:'Jost',sans-serif !important; font-size:11px !important; font-weight:500 !important; letter-spacing:2px !important; text-transform:uppercase !important; border:none !important; padding:14px 32px !important; border-radius:var(--r) !important; cursor:pointer !important; width:100% !important; transition:background .2s !important; }
.wpforms-submit:hover { background:var(--gold2) !important; }
.wpforms-confirmation-container-full { background:var(--green) !important; color:var(--cream) !important; border:1px solid var(--gold) !important; padding:20px !important; }

/* ── EVENTS CALENDAR ────────────────────────────────────────── */
/* MASQUER les liens admin aux visiteurs — CSS protection */
body:not(.logged-in) .tribe-events-cal-links,
body:not(.logged-in) .tribe-events-widget-link,
body:not(.logged-in) .tribe-events-addevent,
body:not(.logged-in) a[href*="post-new.php"],
body:not(.logged-in) .tribe-events-toolbar .tribe-events-toolbar-admin,
.tribe-events-cal-links,
.tribe-events-addevent { display:none !important; }

#tribe-events, .tribe-events-pg-template,
.tribe-events-calendar, .tribe-events-list,
.tribe-events-single { background:transparent !important; color:var(--cream) !important; }
.tribe-events-calendar th { font-family:'Jost',sans-serif !important; font-size:10px !important; letter-spacing:3px !important; text-transform:uppercase !important; color:var(--gold) !important; padding:14px 8px !important; border:none !important; background:var(--dk3) !important; }
.tribe-events-calendar td { border:1px solid var(--border) !important; background:var(--dk2) !important; color:var(--muted) !important; padding:8px !important; vertical-align:top !important; }
.tribe-events-calendar td.tribe-events-present { background:var(--green) !important; border-color:var(--gold) !important; }
.tribe-events-calendar td.tribe-events-has-events { background:#151f1a !important; }
.tribe-events-calendar td a, .tribe-events a { color:var(--gold) !important; }
.tribe-events-header h1,.tribe-events-header h2,.tribe-events-title { font-family:'Cormorant Garamond',serif !important; color:var(--cream) !important; }
.tribe-events-nav-pagination a { font-family:'Jost',sans-serif !important; font-size:10px !important; letter-spacing:2px !important; text-transform:uppercase !important; color:var(--muted) !important; text-decoration:none !important; }
.tribe-events-nav-pagination a:hover { color:var(--gold) !important; }
.tribe-events-list-event-title a { font-family:'Cormorant Garamond',serif !important; font-size:24px !important; color:var(--cream) !important; }
.tribe-event-schedule-details, .tribe-events-schedule { color:var(--muted) !important; font-size:13px !important; }
.tribe-events-button, .tribe-button { background:var(--gold) !important; color:var(--dk) !important; border:none !important; font-family:'Jost',sans-serif !important; }
/* Masquer la barre de recherche Events Calendar */
#tribe-bar-form, .tribe-events-bar { display:none !important; }

/* ── FILTRE MOIS ────────────────────────────────────────────── */
.pmh-month-filter { display:flex; gap:8px; margin-bottom:36px; flex-wrap:wrap; }
.pmh-filter-btn { background:var(--dk2); border:1px solid var(--border); color:var(--muted); font-family:'Jost',sans-serif; font-size:10px; letter-spacing:2px; text-transform:uppercase; padding:8px 18px; cursor:pointer; transition:all .2s; }
.pmh-filter-btn:hover, .pmh-filter-btn.active { border-color:var(--gold); color:var(--gold); background:rgba(201,168,76,.08); }

/* ── WHATSAPP ───────────────────────────────────────────────── */
.pmh-whatsapp-btn { position:fixed; bottom:28px; right:28px; background:#25d366; width:54px; height:54px; border-radius:50%; display:flex; align-items:center; justify-content:center; cursor:pointer; z-index:99999; box-shadow:0 4px 20px rgba(37,211,102,.4); text-decoration:none; font-size:26px; transition:transform .2s,box-shadow .2s; }
.pmh-whatsapp-btn:hover { transform:scale(1.12); box-shadow:0 6px 30px rgba(37,211,102,.6); }

/* ── FOOTER ─────────────────────────────────────────────────── */
.site-footer, footer.site-footer { background:var(--dk4) !important; border-top:1px solid var(--border) !important; position:relative; }
.site-footer::before { content:''; position:absolute; top:0; left:10%; right:10%; height:1px; background:linear-gradient(90deg,transparent,var(--gold),transparent); }
.site-footer .widget-title,.site-footer h3,.site-footer h4 { font-family:'Jost',sans-serif !important; font-size:9px !important; letter-spacing:3px !important; text-transform:uppercase !important; color:var(--gold) !important; font-weight:400 !important; margin-bottom:18px !important; }
.site-footer p,.site-footer li { font-size:12px !important; color:var(--muted) !important; line-height:1.9 !important; }
.site-footer a { color:var(--muted) !important; font-size:12px !important; }
.site-footer a:hover { color:var(--gold) !important; }
.pmh-footer-logo { font-family:'Cormorant Garamond',serif; font-size:20px; color:var(--gold); letter-spacing:3px; display:block; margin-bottom:12px; }
.pmh-footer-badges { display:flex; gap:10px; margin-top:16px; flex-wrap:wrap; }
.pmh-footer-badge { font-family:'Jost',sans-serif; font-size:8px; letter-spacing:2px; text-transform:uppercase; color:var(--muted); border:1px solid var(--border); padding:4px 10px; }

/* ── ARTICLES ───────────────────────────────────────────────── */
.entry-title,.entry-title a { font-family:'Cormorant Garamond',serif !important; color:var(--cream) !important; font-size:28px !important; }
.entry-title a:hover { color:var(--gold) !important; }
.entry-meta,.entry-meta a,.ct-meta-element { color:var(--muted) !important; font-size:12px !important; }
.entry-content p { color:var(--light) !important; font-size:15px !important; }
.ct-pagination a,.page-numbers { background:var(--dk2) !important; color:var(--muted) !important; border:1px solid var(--border) !important; border-radius:var(--r) !important; }
.ct-pagination .current,.page-numbers.current { background:var(--gold) !important; color:var(--dk) !important; border-color:var(--gold) !important; }
.ct-breadcrumbs,.ct-breadcrumbs a,.ct-breadcrumbs span { color:var(--muted) !important; font-size:12px !important; }

/* ── RESPONSIVE ─────────────────────────────────────────────── */
@media (max-width:1024px) {
  .pmh-section { padding:56px 40px; }
  .pmh-hero-inner { padding:0 40px 60px; }
  .pmh-countdown-strip,.pmh-meteo { padding:20px 40px; }
  .pmh-page-hero { padding:56px 40px 40px; }
  .pmh-grid-4 { grid-template-columns:1fr 1fr; }
}
@media (max-width:900px) {
  .pmh-grid-3 { grid-template-columns:1fr 1fr; }
  .pmh-col-2,.pmh-col-2-stats { grid-template-columns:1fr; gap:40px; }
}
@media (max-width:700px) {
  .pmh-section { padding:44px 20px; }
  .pmh-hero-inner { padding:0 20px 48px; }
  .pmh-countdown-strip,.pmh-meteo { padding:16px 20px; flex-direction:column; align-items:flex-start; }
  .pmh-meteo-forecast { border-left:none; padding-left:0; border-top:1px solid var(--border); padding-top:16px; }
  .pmh-grid-2,.pmh-grid-3,.pmh-grid-4 { grid-template-columns:1fr; }
  .pmh-stats-grid { grid-template-columns:1fr 1fr; }
  .pmh-amenities { grid-template-columns:1fr; }
  .pmh-cd-sep { display:none; }
  .pmh-cd-block { padding:6px 10px; min-width:50px; }
  .pmh-cd-num { font-size:26px; }
  .pmh-section-header { flex-direction:column; align-items:flex-start; }
  .pmh-page-hero { padding:44px 20px 32px; }
}
@media (max-width:480px) {
  .pmh-hero-inner h1 { font-size:32px !important; }
  .pmh-btn-gold,.pmh-btn-outline { padding:12px 20px; font-size:10px; }
  .pmh-btn-row { flex-direction:column; }
  .pmh-cd-blocks { gap:6px; }
}
