/* ==========================================================================
   KOOKLA PRO — habillage « éditorial » (issu de la maquette Statistiques)
   Feuille de surcharge chargée APRÈS kookla-v2.css et espace-gerant.css
   sur toute la zone Pro. Se retire en une ligne (inc/pro/functions-pro.php).
   Principes : serif chaleureuse (Fraunces) pour titres et grands chiffres,
   DM Sans pour le texte, fond crème, cartes très arrondies, ombres douces,
   pastilles et boutons en pilule, tuiles pastel.
   ========================================================================= */

/* ── Lien « Kookla Pro » mis en avant dans l'en-tête grand public ─────────── */
body.kookla-btoc .header__nav-pro {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-left: 4px;
    padding: 4px 5px 4px 10px;
    border-radius: 999px;
    background: var(--color-brand, #d4746c);
    color: #fff;
    text-decoration: none;
    white-space: nowrap;
    transition: background .2s ease, transform .2s ease;
}
body.kookla-btoc .header__nav-pro:hover,
body.kookla-btoc .header__nav-pro:focus-visible { background: var(--color-brand, #d4746c); color: #fff; filter: brightness(.94); transform: translateY(-1px); }
body.kookla-btoc .header__nav-pro-k {
    font-family: 'Fraunces', Georgia, serif;
    font-size: 15px;
    font-weight: 600;
    line-height: 1;
}
body.kookla-btoc .header__nav-pro-badge {
    padding: 3px 6px;
    border-radius: 999px;
    background: #fff;
    color: var(--color-brand, #d4746c);
    font: 800 11px 'DM Sans', sans-serif;
    letter-spacing: .08em;
    line-height: 1;
}

/* Menu téléphone : même pastille compacte, à la largeur de son contenu. */
body.kookla-btoc .header__mobile-pro {
    display: inline-flex !important;
    align-self: flex-start;
    width: auto !important;
    align-items: center;
    gap: 6px;
    margin: 4px 0;
    padding: 6px 7px 6px 14px !important;
    border-radius: 999px;
    background: var(--color-brand, #d4746c);
    color: #fff !important;
    text-decoration: none;
}
body.kookla-btoc .header__mobile-pro .header__nav-pro-k { font-size: 17px; color: #fffdf8; }
body.kookla-btoc .header__mobile-pro small { display: none; }

/* ── Tokens (zone Pro ET zone grand public) ──────────────────────────────── */
body.kookla-pro, body.kookla-btoc {
    --font-family: 'DM Sans', 'Inter', system-ui, sans-serif;
    --font-family-serif: 'Fraunces', 'Noto Serif', Georgia, serif;
    --color-primary: #2f1f1c;
    --color-primary-rgb: 47, 31, 28;
    --color-beige-light: #fdf6f3;
    --color-beige-dark: #f1e6e1;
    --color-beige-dark-rgb: 241, 230, 225;
    --color-brand-light: #fde8e6;
    --color-brand-very-light: #fff4f2;
    --border-radius-sm: 0.8rem;
    --border-radius: 1.2rem;
    --border-radius-lg: 1.8rem;
    --border-radius-xl: 2.2rem;
    --shadow-sm: 0 4px 12px rgba(60, 40, 35, .05);
    --shadow: 0 8px 22px rgba(60, 40, 35, .07);
    --pe-ink: #2f1f1c;
    --pe-muted: #7a625d;
    --pe-page: #f6efe9;
    --pe-card: #ffffff;
    --pe-soft: #fdf6f3;
    --pe-line: #f1e6e1;
}

body.kookla-pro, body.kookla-btoc { font-family: var(--font-family); color: var(--pe-ink); }

/* Titres en serif partout */
body.kookla-pro h1, body.kookla-pro h2, body.kookla-pro h3,
body.kookla-btoc h1, body.kookla-btoc h2, body.kookla-btoc h3,
body.kookla-pro .account-btob__main h2 {
    font-family: var(--font-family-serif);
    color: var(--pe-ink);
    letter-spacing: -.01em;
}
body.kookla-pro .account-btob__main h2 { font-weight: 700; font-size: 3rem; }
body.kookla-pro .account-btob__main h3 { font-family: var(--font-family-serif); font-size: 1.8rem; font-weight: 700; color: var(--pe-ink); }

/* ── Boutons et pastilles en pilule ──────────────────────────────────────── */
body.kookla-pro .btn,
body.kookla-pro button.button,
body.kookla-pro .account-btob__shortcut-link {
    border-radius: 999px;
    font-family: var(--font-family);
    font-weight: 600;
}
body.kookla-pro .btn-primary { box-shadow: 0 6px 14px rgba(212,116,108,.28); }
body.kookla-pro .account-btob__page-count,
body.kookla-pro .account-btob__page-subtitle {
    border-radius: 999px;
    background: var(--pe-soft);
    border-color: var(--pe-line);
    color: var(--pe-muted);
    font-weight: 600;
}
body.kookla-pro .account-btob__badge,
body.kookla-pro .account-btoc__badge { border-radius: 999px; font-weight: 700; }

/* ── Champs ──────────────────────────────────────────────────────────────── */
body.kookla-pro .account-btob__field-input,
body.kookla-pro .account-btob__search-input,
body.kookla-pro select.account-btob__field-input {
    border-radius: 1.2rem;
    border-color: var(--pe-line);
    background: #fff;
    font-family: var(--font-family);
}
body.kookla-pro .account-btob__field-input:focus,
body.kookla-pro .account-btob__search-input:focus {
    border-color: var(--color-brand);
    box-shadow: 0 0 0 3px rgba(212,116,108,.15);
    outline: none;
}
body.kookla-pro .account-btob__field-label { color: var(--pe-muted); font-weight: 600; }

/* ── Espace gérant : structure ───────────────────────────────────────────── */
body.kookla-pro .account-btob { background: var(--pe-page); }
body.kookla-pro .account-btob__sidebar {
    border-radius: 2.2rem;
    box-shadow: var(--shadow);
    padding: 1rem;
}
body.kookla-pro .account-btob__sidebar-centre {
    background: transparent;
    border-bottom: 0;
    padding: 1.2rem 1.2rem 0.6rem;
}
body.kookla-pro .account-btob__sidebar-centre-label { color: var(--pe-muted); }
body.kookla-pro .account-btob__sidebar-centre-name { font-family: var(--font-family-serif); font-size: 1.6rem; font-weight: 700; white-space: normal; }
body.kookla-pro .account-btob__nav li + li,
body.kookla-pro .account-btob__nav li { border-top: 0 !important; }
body.kookla-pro .account-btob__nav li a {
    border-radius: 1.2rem;
    padding: 1rem 1.2rem;
    margin: 0.15rem 0;
    color: #5b4643;
    font-weight: 500;
}
body.kookla-pro .account-btob__nav li a:hover { background: var(--pe-soft); color: var(--pe-ink); }
body.kookla-pro .account-btob__nav li.is-active a { background: var(--color-brand-light); color: var(--color-brand); font-weight: 700; }
body.kookla-pro .account-btob__sidebar-footer { border-top: 1px solid var(--pe-line); margin-top: 0.6rem; }
body.kookla-pro .account-btob__main {
    border-radius: 2.2rem;
    box-shadow: var(--shadow);
    padding: 3.6rem 4rem;
}

/* ── Tableau de bord ─────────────────────────────────────────────────────── */
body.kookla-pro .account-btob__dash-kpi {
    border: 0;
    border-radius: 1.8rem;
    padding: 2rem 2.2rem 1.8rem;
    box-shadow: 0 8px 22px rgba(60,40,35,.07);
    background: linear-gradient(150deg, #fff, #fdf6f3);
}
body.kookla-pro .account-btob__dash-kpi-grid > .account-btob__dash-kpi:nth-child(1) { background: linear-gradient(150deg, #ffe4df, #ffcfc6); }
body.kookla-pro .account-btob__dash-kpi-grid > .account-btob__dash-kpi:nth-child(2) { background: linear-gradient(150deg, #fff0dc, #ffdcb0); }
body.kookla-pro .account-btob__dash-kpi-grid > .account-btob__dash-kpi:nth-child(3) { background: linear-gradient(150deg, #efe9f9, #dccff3); }
body.kookla-pro .account-btob__dash-kpi-grid > .account-btob__dash-kpi:nth-child(4) { background: linear-gradient(150deg, #e6f4ea, #cbe8d5); }
body.kookla-pro .account-btob__dash-kpi-grid > .account-btob__dash-kpi:nth-child(5) { background: linear-gradient(150deg, #fff6d9, #ffe9b0); }
body.kookla-pro .account-btob__dash-kpi__value {
    font-family: var(--font-family-serif);
    font-size: 3.2rem;
    color: var(--pe-ink);
    letter-spacing: -.02em;
}
body.kookla-pro .account-btob__dash-kpi__label { color: #5b4643; font-weight: 600; }
body.kookla-pro .account-btob__dash-kpi__sub { opacity: .7; }

body.kookla-pro .account-btob__dash-section__title {
    font-family: var(--font-family-serif);
    font-size: 2rem !important;
    font-weight: 700;
    color: var(--pe-ink) !important;
}
body.kookla-pro .account-btob__dash-section--alerts { border-block: 0; padding-block: 1rem 2rem; }
body.kookla-pro .account-btob__dash-alert {
    border: 0;
    border-radius: 1.8rem;
    background: #fff;
    box-shadow: 0 6px 18px rgba(60,40,35,.06);
}
body.kookla-pro .account-btob__dash-alert__count { font-family: var(--font-family-serif); }
body.kookla-pro .account-btob__dash-today-row,
body.kookla-pro .account-btoc__resa-card,
body.kookla-pro .account-btob__param-row,
body.kookla-pro .account-btob__remise-row,
body.kookla-pro .account-btob__dashboard-card {
    border-radius: 1.6rem;
    border-color: var(--pe-line);
    background: var(--pe-soft);
}
body.kookla-pro .account-btob__dash-today-row.js-dash-seance-row:hover { box-shadow: 0 8px 20px rgba(212,116,108,.12); }
body.kookla-pro .account-btob__card-count { font-family: var(--font-family-serif); }

/* ── Listes / cartes génériques de l'espace ──────────────────────────────── */
body.kookla-pro .account-btoc__resa-card { box-shadow: 0 4px 14px rgba(60,40,35,.04); }
body.kookla-pro .account-btoc__resa-header { border-radius: 1.6rem 1.6rem 0 0; }
body.kookla-pro .account-btoc__resa-section-title { font-family: var(--font-family-serif); font-size: 1.6rem; font-weight: 700; }
body.kookla-pro .account-btob__filters-wrap { border-bottom-color: var(--pe-line); }
body.kookla-pro .account-btob__notice { border-radius: 1.4rem; }
body.kookla-pro .account-btob__modal-card { border-radius: 2.2rem; }
body.kookla-pro table th { font-family: var(--font-family); }

/* ── En-tête et pied de la zone Pro (pages publiques et connectées) ──────── */
body.kookla-pro .logo--pro, body.kookla-pro .logo { font-family: var(--font-family-serif); }

/* ══ Zone grand public (kookla-btoc) ═══════════════════════════════════════ */

/* Boutons, pastilles, champs : mêmes règles que la zone Pro */
body.kookla-btoc .btn,
body.kookla-btoc button.button,
body.kookla-btoc .woocommerce-button,
body.kookla-btoc .rbk-kcoin-spinner__btn { border-radius: 999px; font-family: var(--font-family); font-weight: 600; }
body.kookla-btoc .btn-primary { box-shadow: 0 6px 14px rgba(212,116,108,.28); }
body.kookla-btoc .account-btoc__badge,
body.kookla-btoc .account-btoc__resa-status,
body.kookla-btoc .rbk-pack-gift { border-radius: 999px; font-weight: 700; }
body.kookla-btoc input[type="text"], body.kookla-btoc input[type="email"], body.kookla-btoc input[type="tel"],
body.kookla-btoc input[type="password"], body.kookla-btoc input[type="number"], body.kookla-btoc input[type="date"],
body.kookla-btoc input[type="search"], body.kookla-btoc select, body.kookla-btoc textarea {
    border-radius: 1.2rem;
    font-family: var(--font-family);
}
body.kookla-btoc input:focus, body.kookla-btoc select:focus, body.kookla-btoc textarea:focus {
    border-color: var(--color-brand);
    box-shadow: 0 0 0 3px rgba(212,116,108,.15);
    outline: none;
}

/* Espace client */
body.kookla-btoc .account-btoc { background: var(--pe-page); }
body.kookla-btoc .account-btoc__sidebar { border-radius: 2.2rem; box-shadow: var(--shadow); padding: 1rem; }
body.kookla-btoc .account-btoc__nav li + li { border-top: 0; }
body.kookla-btoc .account-btoc__nav li a { border-radius: 1.2rem; padding: 1rem 1.2rem !important; margin: 0.15rem 0; color: #5b4643; font-weight: 500; }
body.kookla-btoc .account-btoc__nav li a:hover { background: var(--pe-soft); color: var(--pe-ink); }
body.kookla-btoc .account-btoc__nav li.is-active a,
body.kookla-btoc .account-btoc__nav li.woocommerce-MyAccount-navigation-link--is-active a { background: var(--color-brand-light); color: var(--color-brand); font-weight: 700; }
body.kookla-btoc .account-btoc__main { border-radius: 2.2rem; box-shadow: var(--shadow); padding: 3.6rem 4rem; }
body.kookla-btoc .account-btoc__main h2 { font-weight: 700; font-size: 3rem; }
body.kookla-btoc .account-btoc__resa-card { border-radius: 1.6rem; border-color: var(--pe-line); background: var(--pe-soft); box-shadow: 0 4px 14px rgba(60,40,35,.04); }
body.kookla-btoc .account-btoc__resa-header { border-radius: 1.6rem 1.6rem 0 0; }
body.kookla-btoc .account-btoc__resa-section-title { font-family: var(--font-family-serif); font-size: 1.6rem; font-weight: 700; }
body.kookla-btoc .account-btoc__notice--remise { border-radius: 1.4rem; }

/* Tunnel de réservation et paiement */
body.kookla-btoc .rbk-card,
body.kookla-btoc .pbt-card,
body.kookla-btoc .pbt-card--panier,
body.kookla-btoc .rbk-kcoin-encart { border-radius: 2.2rem; box-shadow: var(--shadow); border-color: var(--pe-line); }
body.kookla-btoc .rbk-card__title,
body.kookla-btoc .pbt-card__title { font-family: var(--font-family-serif); font-weight: 700; }
body.kookla-btoc .rbk-page { background: var(--pe-page); }
body.kookla-btoc .rbk-cart-nom { font-family: var(--font-family-serif); font-weight: 700; }
body.kookla-btoc .rbk-tfoot-value--total { font-family: var(--font-family-serif); font-size: 2.2rem; }

/* Accueil grand public et fiches centre */
body.kookla-btoc .hb-adv-card,
body.kookla-btoc .hb-kcoins-promo__cards article,
body.kookla-btoc .centre-card,
body.kookla-btoc .cf-card { border-radius: 2.2rem; box-shadow: var(--shadow); }
body.kookla-btoc .hb-kcoins-promo__title em,
body.kookla-btoc h1 em, body.kookla-btoc h2 em { font-style: italic; color: var(--color-brand); }

/* ── Mobile ──────────────────────────────────────────────────────────────── */
@media (max-width: 900px) {
    body.kookla-btoc .account-btoc__main { padding: 2.2rem 1.8rem; border-radius: 1.8rem; }
    body.kookla-btoc .account-btoc__sidebar { border-radius: 1.8rem; padding: 0.6rem; }
    body.kookla-btoc .account-btoc__main h2 { font-size: 2.4rem; }
    body.kookla-btoc .rbk-card, body.kookla-btoc .pbt-card { border-radius: 1.8rem; }
    body.kookla-pro .account-btob__main { padding: 2.2rem 1.8rem; border-radius: 1.8rem; }
    body.kookla-pro .account-btob__sidebar { border-radius: 1.8rem; padding: 0.6rem; }
    body.kookla-pro .account-btob__main h2 { font-size: 2.4rem; }
}
@media (max-width: 600px) {
    body.kookla-btoc .account-btoc__main { padding: 1.8rem 1.4rem; }
    body.kookla-pro .account-btob__main { padding: 1.8rem 1.4rem; }
    body.kookla-pro .account-btob__dash-kpi { padding: 1.6rem 1.6rem 1.4rem; }
    body.kookla-pro .account-btob__dash-kpi__value { font-size: 2.6rem; }
}
