/*
Theme Name: Astra Child
Template: astra
Version: 1.0.0
*/

/* ── Variables ─────────────────────────────────────────────────────── */
:root {
    /* Brand */
    --brand:           #1800AD;
    --brand-dark:      #0f009e;
    --brand-50:        #f5f3ff;
    --brand-100:       #ede9fe;
    /* Text */
    --text:            #111827;
    --text-2:          #374151;
    --text-muted:      #6b7280;
    /* Layout */
    --border:          rgba(0,0,0,.06);
    --r-sm:            8px;
    --r-md:            12px;
    --shadow-md:       0 4px 24px rgba(0,0,0,.10), 0 0 0 1px rgba(0,0,0,.04);
    --shadow-lg:       0 8px 40px rgba(0,0,0,.14), 0 0 0 1px rgba(0,0,0,.05);
    --ease:            cubic-bezier(.16,1,.3,1);
    /* Typography */
    --font-ui:         'DM Sans', -apple-system, sans-serif;
    --font-head:       'Jost', sans-serif;
    /* Tutor LMS — aliased sur le brand pour cohérence */
    --color-primary:   var(--brand);
    --color-text-dark: #1a1a1a;
    --color-text-muted:#555;
    --color-bg-light:  #f5f8fc;
    --color-bg-page:   #f8f9fc;
    --font-base:       'DM Sans', -apple-system, sans-serif;
    --spacing-sm:      8px;
    --spacing-md:      16px;
}

/* ============================================================
   HEADER
   ============================================================ */

#site-header {
    position: sticky;
    top: 0;
    z-index: 9999;
    /* backdrop-filter retiré du header : il créerait un containing-block pour
       les enfants position:fixed (nav mobile), les confinant à la hauteur du header.
       Le blur est appliqué sur ::before à la place. */
    border-bottom: 1px solid var(--border);
    transition: box-shadow .3s var(--ease);
}

/* Frosted-glass via pseudo-élément — n'affecte pas les position:fixed enfants */
#site-header::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(255,255,255,.97);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    z-index: -1;
    pointer-events: none;
}

#site-header.is-scrolled {
    box-shadow: 0 2px 20px rgba(0,0,0,.07);
}

.header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 40px 0 16px;
    height: 68px;
    gap: 32px;
}

.header-logo { flex-shrink: 0; }

.header-logo img {
    height: 30px;
    width: auto;
    display: block;
}

/* ── Nav container ──────────────────────────────────────────────────── */

.header-nav {
    display: flex;
    align-items: center;
    gap: 24px;
    flex: 1;
    justify-content: flex-end;
}

/* ── Nav list ───────────────────────────────────────────────────────── */

.nav-menu {
    display: flex;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 2px;
}

.nav-menu > li {
    list-style: none;
    position: relative;
}

.nav-menu > li > a {
    display: flex;
    align-items: center;
    gap: 4px;
    font-family: var(--font-ui);
    font-size: 14px;
    font-weight: 500;
    color: var(--text-2);
    text-decoration: none;
    padding: 7px 12px;
    border-radius: var(--r-sm);
    transition: color .15s, background .15s;
    white-space: nowrap;
    line-height: 1;
}

.nav-menu > li > a:hover,
.nav-menu > li.current-menu-item > a,
.nav-menu > li.current-menu-ancestor > a {
    color: var(--brand);
    background: var(--brand-50);
}

/* ── Chevron on dropdown parents ───────────────────────────────────── */

.nav-menu > li.menu-item-has-children > a::after {
    content: '';
    display: inline-block;
    width: 16px;
    height: 16px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 6.5l4 3.5 4-3.5' stroke='%236b7280' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    transition: transform .2s var(--ease), background-image .15s;
    flex-shrink: 0;
}

.nav-menu > li.menu-item-has-children:hover > a::after,
.nav-menu > li.menu-item-has-children.is-open > a::after {
    transform: rotate(180deg);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 6.5l4 3.5 4-3.5' stroke='%231800AD' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* ── Dropdown ───────────────────────────────────────────────────────── */

.nav-menu > li > .sub-menu {
    position: absolute;
    top: 100%;                 /* pas de gap — padding-top crée l'espacement visuel */
    left: 50%;
    transform: translateX(-50%) translateY(-8px);
    background: #fff;
    border-radius: var(--r-md);
    box-shadow: var(--shadow-lg);
    min-width: 200px;
    padding: 10px 6px 6px;    /* 10px en haut = espacement visuel sans vrai gap */
    list-style: none;
    margin: 0;
    opacity: 0;
    pointer-events: none;
    transition: opacity .18s var(--ease), transform .18s var(--ease);
    z-index: 1000;
    /* 1-col by default */
    display: grid;
    grid-template-columns: 1fr;
}

/* 2-col for menus with 6+ items (Certifications, Packs PDF) */
.nav-menu > li:has(> .sub-menu > li:nth-child(6)) > .sub-menu {
    grid-template-columns: 1fr 1fr;
    min-width: 360px;
    left: 0;
    transform: translateY(-8px);
}

/* Show on hover — desktop */
.nav-menu > li.menu-item-has-children:hover > .sub-menu,
.nav-menu > li.menu-item-has-children:focus-within > .sub-menu {
    opacity: 1;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0);
}

.nav-menu > li:has(> .sub-menu > li:nth-child(6)):hover > .sub-menu,
.nav-menu > li:has(> .sub-menu > li:nth-child(6)):focus-within > .sub-menu {
    transform: translateY(0);
}

/* Dropdown items */
.nav-menu .sub-menu > li { list-style: none; }

.nav-menu .sub-menu > li > a {
    display: block;
    font-family: var(--font-ui);
    font-size: 13.5px;
    font-weight: 500;
    color: var(--text-2);
    text-decoration: none;
    padding: 8px 12px;
    border-radius: var(--r-sm);
    transition: background .12s, color .12s;
    white-space: nowrap;
}

.nav-menu .sub-menu > li > a:hover {
    background: var(--brand-50);
    color: var(--brand);
}

/* ── CTA Button ─────────────────────────────────────────────────────── */

.header-cta { flex-shrink: 0; }

.btn-register,
.btn-dashboard {
    display: inline-flex;
    align-items: center;
    background: var(--brand);
    color: #fff !important;
    padding: 9px 20px;
    border-radius: var(--r-sm);
    font-family: var(--font-ui);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none !important;
    white-space: nowrap;
    transition: background .2s, box-shadow .2s, transform .15s;
    box-shadow: 0 2px 8px rgba(24,0,173,.25);
    line-height: 1;
}

.btn-register:hover,
.btn-dashboard:hover {
    background: var(--brand-dark);
    box-shadow: 0 4px 16px rgba(24,0,173,.4);
    transform: translateY(-1px);
}

/* ── Hamburger ──────────────────────────────────────────────────────── */

.hamburger {
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5px;
    background: none;
    border: 1px solid rgba(0,0,0,.10);
    border-radius: var(--r-sm);
    cursor: pointer;
    padding: 0;
    width: 40px;
    height: 40px;
    flex-shrink: 0;
    transition: border-color .2s;
}

.hamburger:hover { border-color: var(--brand); }

.hamburger span {
    display: block;
    width: 18px;
    height: 1.5px;
    background: var(--text);
    transition: all .28s var(--ease);
    transform-origin: center;
}

.hamburger.is-active span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
.hamburger.is-active span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.hamburger.is-active span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }

/* ── Mobile backdrop ────────────────────────────────────────────────── */

.mobile-backdrop {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(10,0,63,.4);
    z-index: 9998;
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
    opacity: 0;
    transition: opacity .25s;
}

.mobile-backdrop.is-visible {
    display: block;
    opacity: 1;
}

/* ============================================================
   FOOTER
   ============================================================ */

#site-footer {
    background: #0a003f;
    margin-top: 5rem;
    color: #c4b5fd;
}

.footer-main {
    display: grid;
    grid-template-columns: 1.2fr 1fr 1fr;
    gap: 3rem;
    max-width: 1280px;
    margin: 0 auto;
    padding: 56px 40px 40px;
    border-bottom: 1px solid rgba(255,255,255,.06);
}

.footer-col h4 {
    font-family: var(--font-head);
    font-size: 11px;
    font-weight: 700;
    color: rgba(255,255,255,.5);
    text-transform: uppercase;
    letter-spacing: .1em;
    margin: 0 0 18px;
}

/* Liens rapide */
.footer-nav ul,
.footer-nav .menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.footer-nav ul li a,
.footer-nav .menu li a {
    font-family: var(--font-ui);
    font-size: 14px;
    color: #a78bfa;
    text-decoration: none;
    padding: 4px 0;
    display: inline-block;
    transition: color .15s;
}

.footer-nav ul li a:hover,
.footer-nav .menu li a:hover { color: #fff; }

/* Contact */
.footer-contact-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.footer-contact-list li { display: flex; align-items: center; gap: 10px; }

.footer-contact-list li svg {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    opacity: .5;
}

.footer-contact-list li a {
    font-family: var(--font-ui);
    font-size: 14px;
    color: #a78bfa;
    text-decoration: none;
    transition: color .15s;
}

.footer-contact-list li a:hover { color: #fff; }

/* Promo */
.footer-promo p {
    font-family: var(--font-ui);
    font-size: 14px;
    line-height: 1.7;
    color: rgba(167,139,250,.6);
    margin: 0 0 16px;
}

.footer-promo-cta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: var(--font-ui);
    font-size: 13px;
    font-weight: 600;
    color: #c4b5fd;
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.12);
    padding: 9px 16px;
    border-radius: var(--r-sm);
    text-decoration: none;
    transition: background .15s, color .15s;
}

.footer-promo-cta:hover {
    background: rgba(255,255,255,.14);
    color: #fff;
}

/* Disclaimer */
.footer-disclaimer {
    max-width: 1280px;
    margin: 0 auto;
    padding: 20px 40px 28px;
    font-family: var(--font-ui);
    font-size: 11px;
    line-height: 1.8;
    color: rgba(164,139,250,.35);
}

/* Copyright bar */
.footer-copyright {
    background: rgba(0,0,0,.25);
    padding: 14px 40px;
    text-align: center;
    font-family: var(--font-ui);
    font-size: 13px;
    color: rgba(255,255,255,.3);
}

/* ============================================================
   RESPONSIVE — Tablet 1024
   ============================================================ */

@media (max-width: 1024px) {
    .header-inner { padding: 0 24px; gap: 20px; }
    .nav-menu > li > a { padding: 7px 10px; font-size: 13.5px; }

    .footer-main {
        grid-template-columns: 1fr 1fr;
        padding: 48px 24px 32px;
        gap: 2rem;
    }
    .footer-col.footer-promo { grid-column: span 2; }
    .footer-disclaimer,
    .footer-copyright { padding-left: 24px; padding-right: 24px; }
}

/* ============================================================
   RESPONSIVE — Mobile 767
   ============================================================ */

@media (max-width: 767px) {
    .header-inner { padding: 0 20px; height: 60px; gap: 12px; }
    .header-logo img { height: 26px; }
    .hamburger { display: flex; }

    /* Mobile nav panel */
    .header-nav {
        display: none;
        position: fixed;
        top: 60px;
        left: 0;
        right: 0;
        bottom: 0;
        background: #0a003f;
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        padding: 0 0 40px;
        overflow-y: auto;
        z-index: 9999;
        gap: 0;
    }

    .header-nav.is-open { display: flex; z-index: 10000; }

    .nav-menu {
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        width: 100%;
    }

    .nav-menu > li > a {
        padding: 15px 20px;
        border-radius: 0;
        border-bottom: 1px solid rgba(255,255,255,.07);
        font-size: 15px;
        color: rgba(255,255,255,.88);
        justify-content: space-between;
    }

    .nav-menu > li > a:hover,
    .nav-menu > li.current-menu-item > a,
    .nav-menu > li.current-menu-ancestor > a {
        color: #fff;
        background: rgba(255,255,255,.07);
    }

    /* Chevron blanc en mobile */
    .nav-menu > li.menu-item-has-children > a::after {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 6.5l4 3.5 4-3.5' stroke='rgba(255,255,255,.6)' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    }

    /* Mobile dropdown — override desktop positioning */
    .nav-menu > li > .sub-menu {
        display: none !important;
        position: static !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        transform: none !important;
        box-shadow: none !important;
        border-radius: 0 !important;
        background: rgba(255,255,255,.05) !important;
        padding: 4px 0 4px 0 !important;
        min-width: unset !important;
        grid-template-columns: 1fr !important;
    }

    .nav-menu > li.menu-item-has-children.is-open > .sub-menu {
        display: grid !important;
    }

    .nav-menu .sub-menu > li > a {
        padding: 11px 20px 11px 32px;
        border-radius: 0;
        font-size: 14px;
        color: rgba(255,255,255,.65);
        border-bottom: 1px solid rgba(255,255,255,.04);
        white-space: normal;
    }

    .nav-menu .sub-menu > li > a:hover {
        background: rgba(255,255,255,.07);
        color: rgba(255,255,255,.95);
    }

    /* CTA in mobile panel */
    .header-cta {
        padding: 20px;
        border-top: 1px solid rgba(255,255,255,.08);
        margin-top: 4px;
        width: 100%;
    }

    .btn-register,
    .btn-dashboard {
        width: 100%;
        justify-content: center;
        padding: 14px;
        font-size: 15px;
        box-shadow: none;
    }

    /* Footer mobile */
    .footer-main {
        grid-template-columns: 1fr;
        padding: 40px 20px 24px;
        gap: 2rem;
    }

    .footer-col.footer-promo { grid-column: auto; }
    .footer-disclaimer,
    .footer-copyright { padding-left: 20px; padding-right: 20px; }
}

/* ============================================================
   TUTOR LMS + ASTRA — CSS PERSONNALISÉ
   ============================================================ */

/* Masquer breadcrumb Astra */
.ast-header-breadcrumb { display: none !important; }

/* Titre principal cours Tutor LMS */
h1.tutor-course-details-title {
    font-family: 'Jost', sans-serif !important;
    font-size: clamp(24px, 4vw, 40px) !important;
    font-weight: 800 !important;
    color: #0a003f !important;
    line-height: 1.2 !important;
    letter-spacing: -.025em;
    margin: 0 0 20px !important;
    padding: 0 0 18px !important;
    border: none !important;
    background: none !important;
    position: relative;
}

h1.tutor-course-details-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 44px;
    height: 3px;
    background: linear-gradient(90deg, #1800AD, #7c3aed);
    border-radius: 2px;
}
#content header .tutor-col:first-of-type > div {
  font-size: .9rem;
  color: var(--color-text-muted);
}
#content header .tutor-course-wishlist-btn { display: none !important; }

/* Listes Tutor LMS */
.tutor-course-details-widget-list { list-style: none; margin: 0; padding: 0; }
.tutor-course-details-widget-list li {
  display: flex;
  align-items: flex-start;
  gap: .6rem;
  background: var(--color-bg-light);
  border-left: 4px solid var(--color-primary);
  padding: .65rem .75rem;
  border-radius: 8px;
  margin-bottom: .6rem;
  font-size: .9rem;
  line-height: 1.45;
}
.tutor-course-details-widget-list .tutor-icon-bullet-point { display: none; }

/* Items contenus Tutor */
.tutor-course-content-list-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: var(--color-bg-page);
  border-left: 4px solid var(--color-primary);
  padding: .9rem 1.1rem;
  margin-bottom: .65rem;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0,0,0,.04);
}
.tutor-course-content-list-item-title {
  font-size: 1rem;
  font-weight: 600;
  color: var(--color-text-dark);
  margin: 0;
}

/* ============================================================
   PAGE /courses/ — Archive certifications Tutor LMS
   ============================================================ */

/* Bandeau hero au-dessus de la grille */
.post-type-archive-courses .ast-archive-title-area,
.post-type-archive-courses .page-header.ast-header-without-markup {
    background: linear-gradient(135deg, #0a003f 0%, #1800AD 100%) !important;
    padding: 52px 40px 60px !important;
    text-align: center;
    border-bottom: none !important;
}

.post-type-archive-courses .ast-archive-title,
.post-type-archive-courses .page-title {
    font-family: 'Jost', sans-serif !important;
    font-size: clamp(28px, 5vw, 48px) !important;
    font-weight: 800 !important;
    color: #fff !important;
    margin: 0 !important;
    letter-spacing: -.02em;
}

/* Conteneur grille — max-width et padding */
.tutor-courses-wrap .tutor-container,
.tutor-courses-wrap.tutor-container {
    max-width: 1280px !important;
    padding-left: 32px !important;
    padding-right: 32px !important;
}

/* Grille de cours */
.tutor-course-list.tutor-grid {
    gap: 24px !important;
    margin-top: 32px !important;
}

/* ── Card ─────────────────────────────────────────────── */

.tutor-card.tutor-course-card {
    border-radius: 16px !important;
    border: 1px solid rgba(0,0,0,.06) !important;
    box-shadow: 0 2px 12px rgba(24,0,173,.06) !important;
    overflow: hidden !important;
    transition: box-shadow .25s ease, transform .25s ease !important;
    background: #fff !important;
    display: flex !important;
    flex-direction: column !important;
}

.tutor-card.tutor-course-card:hover {
    box-shadow: 0 10px 36px rgba(24,0,173,.15) !important;
    transform: translateY(-5px) !important;
}

/* ── Thumbnail ─────────────────────────────────────────── */

.tutor-course-thumbnail {
    overflow: hidden;
}

.tutor-course-thumbnail .tutor-ratio {
    background: linear-gradient(135deg, #ede9fe, #c7d2fe) !important;
}

.tutor-course-thumbnail img.tutor-card-image-top {
    transition: transform .4s ease !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.tutor-card.tutor-course-card:hover .tutor-course-thumbnail img {
    transform: scale(1.05) !important;
}

/* ── Bookmark (wishlist) ───────────────────────────────── */

.tutor-course-bookmark {
    top: 12px !important;
    right: 12px !important;
}

/* ── Card body ─────────────────────────────────────────── */

.tutor-card-body {
    padding: 20px !important;
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
    gap: 0 !important;
}

/* ── Titre cours ───────────────────────────────────────── */

h3.tutor-course-name {
    font-family: 'Jost', sans-serif !important;
    font-size: 15.5px !important;
    font-weight: 700 !important;
    color: #0a003f !important;
    line-height: 1.4 !important;
    margin: 4px 0 12px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

h3.tutor-course-name a {
    color: inherit !important;
    text-decoration: none !important;
    transition: color .15s;
}

h3.tutor-course-name a:hover { color: #1800AD !important; }

/* ── Rating ────────────────────────────────────────────── */

.tutor-card .tutor-ratings {
    margin-bottom: 6px !important;
}

/* ── Meta (auteur, durée) ──────────────────────────────── */

.tutor-card-body .tutor-meta {
    font-family: 'DM Sans', sans-serif !important;
    font-size: 12px !important;
    color: #6b7280 !important;
    gap: 10px !important;
}

.tutor-card-body .tutor-meta a {
    color: #6b7280 !important;
    text-decoration: none !important;
}

/* ── Card footer (prix / CTA) ──────────────────────────── */

.tutor-card-footer {
    padding: 14px 20px !important;
    border-top: 1px solid rgba(0,0,0,.06) !important;
    background: #fafafa !important;
}

/* Bouton "Enroll" ou "Commencer" */
.tutor-card-footer .tutor-btn {
    font-family: 'DM Sans', sans-serif !important;
    font-weight: 600 !important;
    border-radius: 8px !important;
    font-size: 13.5px !important;
}

.tutor-card-footer .tutor-btn-primary {
    background: #1800AD !important;
    border-color: #1800AD !important;
    color: #fff !important;
}

.tutor-card-footer .tutor-btn-primary:hover {
    background: #0f009e !important;
    border-color: #0f009e !important;
}

/* Prix */
.tutor-card-footer .tutor-product-price {
    font-family: 'Jost', sans-serif !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    color: #0a003f !important;
}

/* Responsive */
@media (max-width: 767px) {
    .tutor-courses-wrap.tutor-container {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
    .tutor-course-list.tutor-grid { gap: 16px !important; }
}

/* ── Blog — grille et cards ──────────────────────────────── */

@media (min-width: 768px) {
  .blog .site-main,
  .archive .site-main {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
    align-items: start;
  }
  .blog .site-main .navigation,
  .archive .site-main .navigation { grid-column: 1 / -1; }
}
@media (max-width: 767px) {
  .blog .site-main,
  .archive .site-main { display: block; }
}

.blog .ast-archive-post,
.archive .ast-archive-post {
  background: #ffffff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 16px rgba(24,0,173,.08);
  transition: box-shadow .25s ease, transform .25s ease;
  border: none !important;
  margin-bottom: 0 !important;
}
.blog .ast-archive-post:hover,
.archive .ast-archive-post:hover {
  box-shadow: 0 8px 32px rgba(24,0,173,.16);
  transform: translateY(-3px);
}

.blog .ast-archive-post .post-thumb,
.archive .ast-archive-post .post-thumb {
  overflow: hidden;
  aspect-ratio: 16 / 9;
}
.blog .ast-archive-post .post-thumb img,
.archive .ast-archive-post .post-thumb img {
  width: 100%; height: 100%; object-fit: cover;
  display: block; transition: transform .35s ease;
}
.blog .ast-archive-post:hover .post-thumb img,
.archive .ast-archive-post:hover .post-thumb img { transform: scale(1.04); }

.blog .ast-archive-post .ast-blog-post-format,
.blog .ast-archive-post .entry-header,
.blog .ast-archive-post .entry-content,
.archive .ast-archive-post .ast-blog-post-format,
.archive .ast-archive-post .entry-header,
.archive .ast-archive-post .entry-content { padding: 20px 24px !important; }

.blog .ast-archive-post .cat-links a,
.archive .ast-archive-post .cat-links a {
  color: #1800AD !important; font-size: 12px; font-weight: 600;
  text-transform: uppercase; letter-spacing: .06em; text-decoration: none;
}

.blog .ast-archive-post .entry-title,
.archive .ast-archive-post .entry-title {
  font-size: 18px !important; line-height: 1.4 !important;
  margin-top: 8px !important; margin-bottom: 12px !important;
  font-family: 'Jost', sans-serif !important; font-weight: 600 !important;
}
.blog .ast-archive-post .entry-title a,
.archive .ast-archive-post .entry-title a { color: #0A003F !important; text-decoration: none !important; }
.blog .ast-archive-post .entry-title a:hover,
.archive .ast-archive-post .entry-title a:hover { color: #1800AD !important; }

.blog .ast-archive-post .entry-content p,
.archive .ast-archive-post .entry-content p { color: #555 !important; font-size: 14px !important; line-height: 1.7 !important; }

.blog .ast-archive-post .ast-read-more,
.archive .ast-archive-post .ast-read-more {
  color: #1800AD !important; font-weight: 600 !important; font-size: 14px !important;
  text-decoration: none !important; display: inline-flex; align-items: center; gap: 4px; margin-top: 8px;
}
.blog .ast-archive-post .ast-read-more:hover,
.archive .ast-archive-post .ast-read-more:hover { color: #6C57E8 !important; }

.blog .ast-archive-description,
.archive .ast-archive-description {
  background: linear-gradient(135deg, #1800AD 0%, #0A003F 100%);
  padding: 64px 40px !important; margin-bottom: 48px !important;
  border-radius: 16px; text-align: center;
}
.blog .ast-archive-description h1,
.blog .ast-archive-description .ast-archive-description-header,
.archive .ast-archive-description h1,
.archive .ast-archive-description .ast-archive-description-header {
  color: #ffffff !important; font-family: 'Jost', sans-serif !important;
  font-size: 36px !important; font-weight: 600 !important;
}
.blog .ast-archive-description p,
.archive .ast-archive-description p { color: rgba(255,255,255,.8) !important; font-size: 16px !important; }

.single-post .ast-featured-image-wrap {
  display: block !important; margin-bottom: 32px !important;
  border-radius: 12px !important; overflow: hidden !important;
}
.single-post .ast-featured-image-wrap img {
  width: 100% !important; height: auto !important;
  aspect-ratio: 16/9 !important; object-fit: cover !important;
}

/* ── Page Tarifs (classes mxp-*) ─────────────────────────── */

.mxp-wrap{max-width:860px;margin:0 auto;padding:48px 20px 60px;font-family:"DM Sans",Arial,sans-serif}
.mxp-intro{text-align:center;margin-bottom:44px}
.mxp-tag{display:inline-block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:#1800AD;background:#f0edff;padding:3px 12px;border-radius:4px;margin-bottom:14px}
.mxp-intro h2{font-size:30px;font-weight:700;color:#0A003F;line-height:1.3;margin:0 0 12px}
.mxp-intro p{color:#555;font-size:15px;margin:0}
.mxp-cards{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:24px}
@media(max-width:580px){.mxp-cards{grid-template-columns:1fr}}
.mxp-card{border:2px solid #e2daff;border-radius:14px;padding:30px 26px;background:#fff;position:relative}
.mxp-card.star{border-color:#1800AD;box-shadow:0 6px 32px rgba(24,0,173,.13)}
.mxp-badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:#1800AD;color:#fff;font-size:10px;font-weight:700;padding:3px 16px;border-radius:20px;white-space:nowrap}
.mxp-card h3{font-size:16px;font-weight:700;color:#0A003F;margin:0 0 16px}
.mxp-price{margin-bottom:4px;line-height:1}
.mxp-price b{font-size:48px;font-weight:700;color:#1800AD}
.mxp-price sup{font-size:18px;font-weight:700;color:#1800AD;vertical-align:top;margin-top:10px;display:inline-block}
.mxp-price span{font-size:14px;color:#888}
.mxp-billing{font-size:12px;color:#888;margin-bottom:20px}
.mxp-billing.green{color:#276749;font-weight:600}
.mxp-feats{list-style:none;padding:0;margin:0 0 24px;border-top:1px solid #f0f0f0;padding-top:16px}
.mxp-feats li{padding:5px 0 5px 20px;font-size:13.5px;color:#333;position:relative}
.mxp-feats li::before{content:"✓";color:#1800AD;font-weight:700;position:absolute;left:0}
.mxp-btn{display:block;text-align:center;background:#1800AD;color:#fff!important;font-weight:700;font-size:14px;padding:13px 20px;border-radius:8px;text-decoration:none}
.mxp-trial{text-align:center;background:#f0fff4;border:1px solid #9ae6b4;border-radius:8px;padding:14px 20px;font-size:13.5px;color:#276749;margin-bottom:32px}
.mxp-certifs{text-align:center}
.mxp-certifs p{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#aaa;margin-bottom:12px}
.mxp-certifs-list{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.mxp-certifs-list span{background:#f0edff;color:#1800AD;font-size:11.5px;font-weight:500;padding:4px 14px;border-radius:20px}
