/* ==========================================================================
   Annuaire Pro – CSS Principal
   ========================================================================== */

/* --- Variables ----------------------------------------------------------- */
:root {
    --c-primary-rgb:   13,93,99;
    --c-primary:       #0d5d63;
    --c-primary-d:     #08474c;
    --c-primary-l:     #e5f5f3;
    --c-accent-rgb:    243,111,86;
    --c-accent:        #f36f56;
    --c-accent-d:      #d95640;
    --c-success-rgb:   16,185,129;
    --c-success:       #10b981;
    --c-danger-rgb:    239,68,68;
    --c-danger:        #ef4444;
    --c-warning-rgb:   245,158,11;
    --c-warning:       #f59e0b;
    --c-text:          #163336;
    --c-text-2:        #355154;
    --c-muted:         #708386;
    --c-border:        #dbe6e4;
    --c-bg:            #f4f8f7;
    --c-card:          #ffffff;
    /* La barre grandit avec le logo (--logo-max-height, réglable dans Personnalisation
       → En-tête) mais ne descend jamais sous 78px, pour rester confortable avec un
       petit logo. */
    --c-header-h:      max(78px, calc(var(--logo-max-height, 56px) + 22px));
    --shadow-sm:       0 2px 8px rgba(15,67,70,.06);
    --shadow:          0 12px 32px rgba(15,67,70,.10);
    --shadow-lg:       0 20px 50px rgba(10,54,57,.14);
    --shadow-xl:       0 28px 72px rgba(8,45,48,.20);
    --radius:          18px;
    --radius-sm:       8px;
    --radius-xs:       5px;
    --transition:      .2s cubic-bezier(.4,0,.2,1);
    --max-w:           1240px;
    --font:            -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
}

/* --- Reset base ---------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }

body {
    margin: 0;
    font-family: var(--font);
    font-size: 16px;
    line-height: 1.6;
    color: var(--c-text);
    background: var(--c-bg);
    -webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; display: block; }

a   { color: var(--c-primary); text-decoration: none; transition: color var(--transition); }
a:hover { color: var(--c-primary-d); }
ul  { margin: 0; padding: 0; list-style: none; }
h1,h2,h3,h4 { margin: 0; line-height: 1.25; }
p   { margin: 0 0 1rem; }
p:last-child { margin-bottom: 0; }
button { cursor: pointer; border: none; background: none; }

/* --- Conteneur ----------------------------------------------------------- */
.apt-container {
    max-width: var(--max-w);
    margin: 0 auto;
    padding: 0 1.5rem;
}

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

.apt-header {
    position:   sticky;
    top:        0;
    z-index:    1000;
    background: rgba(255,255,255,.94);
    box-shadow: 0 1px 0 rgba(13,93,99,.10);
    backdrop-filter: blur(18px);
    height:     var(--c-header-h);
}

.apt-header__inner {
    display:     flex;
    align-items: center;
    gap:         2rem;
    height:      var(--c-header-h);
}

/* Logo */
.apt-header__brand { flex-shrink: 0; min-width: 210px; }
.apt-header__brand img,
.apt-header__brand svg { max-height: var(--logo-max-height, 56px); width: auto; }
.apt-header__logo-text {
    display:     inline-flex;
    align-items: center;
    gap:         .7rem;
    font-size:   1.4rem;
    font-weight: 800;
    color:       var(--c-text);
    letter-spacing: -.02em;
}
.apt-header__logo-text > span:last-child { display: flex; flex-direction: column; line-height: 1.05; }
.apt-header__logo-text small {
    margin-top:     .3rem;
    color:          var(--c-muted);
    font-size:      .62rem;
    font-weight:    700;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.apt-header__logo-mark {
    width:           40px;
    height:          40px;
    display:         inline-flex;
    align-items:     center;
    justify-content: center;
    border-radius:   13px 13px 13px 4px;
    color:           #fff;
    background:      linear-gradient(135deg, var(--c-primary), var(--c-primary-d));
    box-shadow:      0 8px 20px rgba(var(--c-primary-rgb),.22);
}
.apt-header__logo-mark svg { width: 20px; height: 20px; }

/* Nav desktop */
.apt-nav-primary { flex: 1; }

.apt-nav__list {
    display:     flex;
    gap:         .15rem;
    align-items: center;
    justify-content: center;
}

.apt-nav__list li a {
    display:       block;
    padding:       .45rem .85rem;
    font-size:     .9rem;
    font-weight:   650;
    color:         var(--c-text-2);
    border-radius: 999px;
    transition:    background var(--transition), color var(--transition);
}

.apt-nav__list li a:hover,
.apt-nav__list li.current-menu-item > a {
    background: var(--c-primary-l);
    color:      var(--c-primary);
}

/* Dropdown desktop */
.apt-nav__list li {
    position: relative;
}

.apt-nav__list .sub-menu {
    position:      absolute;
    top:           100%;
    left:          0;
    min-width:     220px;
    padding:       .5rem 0;
    margin:        0;
    list-style:    none;
    background:    var(--c-card);
    border:        1px solid var(--c-border);
    border-radius: var(--radius-sm);
    box-shadow:    var(--shadow-lg);
    opacity:       0;
    visibility:    hidden;
    transform:     translateY(8px);
    transition:    opacity .2s, visibility .2s, transform .2s;
    z-index:       100;
}

.apt-nav__list li:hover > .sub-menu {
    opacity:    1;
    visibility: visible;
    transform:  translateY(0);
}

.apt-nav__list .sub-menu li a {
    display:       block;
    padding:       .5rem 1.1rem;
    font-size:     .85rem;
    font-weight:   500;
    color:         var(--c-text-2);
    border-radius: 0;
    white-space:   nowrap;
}

.apt-nav__list .sub-menu li a:hover {
    background: var(--c-primary-l);
    color:      var(--c-primary);
}

/* Flèche ↓ pour les items de niveau 1 avec enfants */
.apt-nav__list > .menu-item-has-children > a::after {
    content:      '';
    display:      inline-block;
    width:        0;
    height:       0;
    margin-left:  .35rem;
    border-left:  4px solid transparent;
    border-right: 4px solid transparent;
    border-top:   4px solid currentColor;
    vertical-align: middle;
}

/* Sous-menu niveau 3 : flyout à droite */
.apt-nav__list .sub-menu .sub-menu {
    top:       -.5rem;
    left:      100%;
    margin-top: 0;
}

/* Flèche → pour les items de niveau 2 avec enfants */
.apt-nav__list .sub-menu .menu-item-has-children > a {
    display:         flex;
    justify-content: space-between;
    align-items:     center;
    gap:             .5rem;
}

.apt-nav__list .sub-menu .menu-item-has-children > a::after {
    content:       '';
    flex-shrink:   0;
    width:         0;
    height:        0;
    border-top:    4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left:   4px solid currentColor;
}

/* Si le flyout déborde à droite, l'ouvrir à gauche */
.apt-nav__list .sub-menu .menu-item-has-children.open-left > a::after {
    border-left:  none;
    border-right: 4px solid currentColor;
}
.apt-nav__list .sub-menu .menu-item-has-children.open-left > .sub-menu {
    left:  auto;
    right: 100%;
}

/* Dropdown mobile */
.apt-mobile-nav__list .sub-menu {
    padding-left: 1rem;
    margin:       0;
    list-style:   none;
}

.apt-mobile-nav__list .sub-menu li a {
    font-size: .9rem;
    padding:   .5rem 1rem;
    color:     var(--c-text-2);
}

/* Niveau 3 mobile : indentation supplémentaire */
.apt-mobile-nav__list .sub-menu .sub-menu {
    padding-left: 1rem;
}

.apt-mobile-nav__list .sub-menu .sub-menu li a {
    font-size: .82rem;
    padding:   .4rem .75rem;
    color:     var(--c-text-2);
    opacity:   .85;
}

/* Sous-menus mobiles masqués par défaut, affichés via JS */
.apt-mobile-nav__list .sub-menu {
    display: none;
}
.apt-mobile-nav__list .sub-menu.is-open {
    display: block;
}

/* Bouton toggle sous-menu mobile */
.apt-mobile-submenu-toggle {
    display:       inline-flex;
    align-items:   center;
    justify-content: center;
    width:         32px;
    height:        32px;
    background:    none;
    border:        none;
    color:         var(--c-text-2);
    cursor:        pointer;
    border-radius: 4px;
    transition:    background .15s, transform .2s;
    vertical-align: middle;
    margin-left:   .25rem;
}
.apt-mobile-submenu-toggle:hover {
    background: var(--c-primary-l);
    color:      var(--c-primary);
}
.apt-mobile-submenu-toggle.is-rotated {
    transform: rotate(180deg);
}

/* Ligne item mobile avec toggle */
.apt-mobile-nav__list .menu-item-has-children {
    display:     flex;
    flex-wrap:   wrap;
    align-items: center;
}
.apt-mobile-nav__list .menu-item-has-children > a {
    flex:        1;
}
.apt-mobile-nav__list .menu-item-has-children > .apt-mobile-submenu-toggle + .sub-menu,
.apt-mobile-nav__list .menu-item-has-children > .sub-menu {
    width: 100%;
}

/* Actions header */
.apt-header__actions { display: flex; align-items: center; gap: .75rem; flex-shrink: 0; }

/* Hamburger */
.apt-hamburger {
    display:    none;
    padding:    .4rem;
    color:      var(--c-text);
    border-radius: var(--radius-xs);
}

/* Menu mobile */
.apt-mobile-nav {
    display:    none;
    background: var(--c-card);
    border-top: 1px solid var(--c-border);
    padding:    1rem 0;
}

.apt-mobile-nav.is-open { display: block; }

.apt-mobile-nav__list { flex-direction: column; gap: 0; }
.apt-mobile-nav__list li a {
    display:     block;
    padding:     .75rem 1rem;
    font-size:   1rem;
    font-weight: 500;
    color:       var(--c-text);
    border-radius: var(--radius-xs);
}
.apt-mobile-nav__list li a:hover { background: var(--c-primary-l); color: var(--c-primary); }
.apt-mobile-nav__cta { display: block; margin: 1rem 1rem 0; text-align: center; }

/* ==========================================================================
   BOUTONS
   ========================================================================== */

.apt-btn {
    display:         inline-flex;
    align-items:     center;
    gap:             .4rem;
    padding:         .6rem 1.2rem;
    border-radius:   var(--radius-sm);
    font-size:       .9rem;
    font-weight:     600;
    text-decoration: none;
    transition:      all var(--transition);
    cursor:          pointer;
    border:          2px solid transparent;
    white-space:     nowrap;
    line-height:     1;
}

.apt-btn--lg  { padding: .8rem 1.75rem; font-size: 1rem; }
.apt-btn--sm  { padding: .4rem .9rem; font-size: .82rem; }
.apt-btn--full { width: 100%; justify-content: center; }

.apt-btn--primary        { background: var(--c-primary); color: #fff !important; border-color: var(--c-primary); }
.apt-btn--primary:hover  { background: var(--c-primary-d); border-color: var(--c-primary-d); }
.apt-btn--accent         { background: var(--c-accent); color: #fff !important; border-color: var(--c-accent); box-shadow: 0 10px 24px rgba(var(--c-accent-rgb),.25); }
.apt-btn--accent:hover   { background: var(--c-accent-d); border-color: var(--c-accent-d); }
.apt-btn--outline        { background: transparent; color: var(--c-primary) !important; border-color: var(--c-primary); }
.apt-btn--outline:hover  { background: var(--c-primary-l); }
.apt-btn--outline-white  { background: transparent; color: #fff !important; border-color: rgba(255,255,255,.6); }
.apt-btn--outline-white:hover { background: rgba(255,255,255,.15); border-color: #fff; }
.apt-btn--glass {
    color:        #fff !important;
    border-color: rgba(255,255,255,.28);
    background:   rgba(255,255,255,.08);
    backdrop-filter: blur(12px);
}
.apt-btn--glass:hover { background: rgba(255,255,255,.16); border-color: rgba(255,255,255,.55); }

/* ==========================================================================
   HERO HOMEPAGE
   ========================================================================== */

.apt-hero {
    position:      relative;
    min-height:    610px;
    display:       flex;
    align-items:   center;
    padding:       5.5rem 0 4.5rem;
    overflow:      hidden;
}

.apt-hero__bg {
    position: absolute;
    inset:    0;
    z-index:  0;
    background:
        radial-gradient(circle at 13% 20%, rgba(var(--c-primary-rgb),.28), transparent 28%),
        radial-gradient(circle at 88% 75%, rgba(var(--c-accent-rgb),.20), transparent 25%),
        var(--c-primary-d);
}

.apt-hero__bg-img {
    width:      100%;
    height:     100%;
    object-fit: cover;
    opacity:    .34;
}

.apt-hero__overlay {
    position:   absolute;
    inset:      0;
    background: var(--hero-overlay, linear-gradient(105deg, rgba(var(--c-primary-rgb),.98) 0%, rgba(var(--c-primary-rgb),.72) 100%));
}
.apt-hero__overlay::after {
    content: "";
    position: absolute;
    width: 420px;
    height: 420px;
    right: -160px;
    top: -180px;
    border: 80px solid rgba(255,255,255,.035);
    transform: rotate(24deg);
    border-radius: 38%;
}

.apt-hero__content {
    position:   relative;
    z-index:    1;
    max-width:  var(--max-w);
}
.apt-hero__layout {
    display:               grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(420px, .95fr);
    align-items:           center;
    gap:                   4rem;
}
.apt-hero__intro { max-width: 660px; }
.apt-eyebrow {
    display:        inline-flex;
    align-items:    center;
    gap:            .5rem;
    margin-bottom:  1.25rem;
    color:          var(--c-primary-l);
    font-size:      .78rem;
    font-weight:    800;
    letter-spacing: .11em;
    text-transform: uppercase;
}
.apt-eyebrow svg { width: 15px; height: 15px; }

.apt-hero__title {
    font-size:   clamp(3rem, 5.2vw, 5.2rem);
    font-weight: 800;
    color:       #fff;
    line-height: 1.02;
    margin-bottom: 1.35rem;
    letter-spacing: -.055em;
}

.apt-hero__title--accent {
    display: block;
    color:   var(--c-accent);
}

.apt-hero__subtitle {
    max-width:     610px;
    font-size:     1.12rem;
    color:         rgba(255,255,255,.76);
    margin-bottom: 2rem;
    line-height:   1.75;
}
.apt-hero__actions { display: flex; gap: .8rem; flex-wrap: wrap; }
.apt-hero .apt-btn--accent {
    background:   var(--c-accent);
    border-color: var(--c-accent);
    box-shadow:   0 10px 24px rgba(var(--c-accent-rgb),.25);
}
.apt-hero .apt-btn--accent:hover { background: var(--c-accent-d); border-color: var(--c-accent-d); }
.apt-hero__discovery { position: relative; }
.apt-hero__search-card {
    padding:       1.4rem;
    border:        1px solid rgba(255,255,255,.16);
    border-radius: 24px;
    background:    rgba(255,255,255,.11);
    box-shadow:    0 30px 70px rgba(0,0,0,.24);
    backdrop-filter: blur(20px);
}
.apt-hero__search-heading {
    display:       flex;
    align-items:   center;
    gap:           .8rem;
    margin-bottom: 1rem;
    color:         #fff;
}
.apt-hero__search-heading strong { display: block; font-size: 1rem; }
.apt-hero__search-heading span span { display: block; margin-top: .15rem; color: rgba(255,255,255,.62); font-size: .78rem; }
.apt-hero__search-icon {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    border-radius: 13px;
    color: #fff;
    background: var(--c-accent);
}

/* Surcharge barre de recherche dans le hero */
.apt-hero .aep-search-wrapper {
    margin:       0;
    padding:      0;
    background:   transparent;
    border-color: transparent;
    box-shadow:   none;
}

.apt-hero .aep-sf__input,
.apt-hero .aep-sf__select {
    background: #fff;
}
.apt-hero .aep-search-btn {
    background: var(--c-accent);
    box-shadow: 0 8px 18px rgba(var(--c-accent-rgb),.22);
}
.apt-hero .aep-search-btn:hover { background: var(--c-accent-d); }
.apt-hero .aep-sf__input:focus,
.apt-hero .aep-sf__select:focus {
    border-color: var(--c-primary);
    box-shadow: 0 0 0 3px rgba(var(--c-primary-rgb),.14);
}

.apt-hero__stats {
    display:               grid;
    grid-template-columns: repeat(4,1fr);
    gap:                   .65rem;
    margin-top:            .8rem;
}

.apt-hero__stat {
    padding:       .85rem .5rem;
    text-align:    center;
    color:         #fff;
    border:        1px solid rgba(255,255,255,.1);
    border-radius: 14px;
    background:    rgba(0,0,0,.10);
}

.apt-hero__stat strong {
    display:     block;
    font-size:   1.45rem;
    font-weight: 800;
    line-height: 1;
}

.apt-hero__stat span {
    font-size: .72rem;
    opacity:   .66;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.apt-quick-nav {
    position:   relative;
    z-index:    4;
    margin-top: -24px;
}
.apt-quick-nav__inner {
    min-height:     68px;
    display:        flex;
    align-items:    center;
    gap:            .45rem;
    padding-top:    .7rem;
    padding-bottom: .7rem;
    border:         1px solid rgba(13,93,99,.10);
    border-radius:  18px;
    background:     var(--c-card);
    box-shadow:     var(--shadow-lg);
    overflow-x:     auto;
}
.apt-quick-nav__label {
    padding: 0 .8rem 0 .2rem;
    color: var(--c-muted);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.apt-quick-nav a {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .55rem .85rem;
    color: var(--c-text-2);
    font-size: .82rem;
    font-weight: 700;
    white-space: nowrap;
    border-radius: 999px;
    background: var(--c-bg);
}
.apt-quick-nav a:hover { color: var(--c-primary); background: var(--c-primary-l); }
.apt-quick-nav svg { width: 16px; height: 16px; }

/* ==========================================================================
   CARROUSEL PARTENAIRES
   ========================================================================== */

.apt-partners {
    padding: .5rem 0 4rem;
    background: linear-gradient(135deg, #f0faf9 0%, #e8f4f3 50%, #f4f8f7 100%);
}

.apt-partners__header {
    display:         flex;
    align-items:     center;
    justify-content: space-between;
    gap:             1rem;
    margin-bottom:   .8rem;
}

.apt-partners__label {
    display:        inline-flex;
    align-items:    center;
    gap:            .45rem;
    margin:         0;
    color:          var(--c-primary);
    font-size:      .72rem;
    font-weight:    850;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.apt-partners__label svg { width: 14px; height: 14px; color: var(--c-accent); }

.apt-partners__viewport {
    overflow:      hidden;
    border:        1px solid rgba(var(--c-primary-rgb),.15);
    border-radius: 22px;
    background:    rgba(255,255,255,.75);
    backdrop-filter: blur(16px);
    box-shadow:    0 8px 32px rgba(var(--c-primary-rgb),.08), 0 1px 3px rgba(0,0,0,.04);
}

.apt-partners__track {
    display:       flex;
    overflow-x:    auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}

.apt-partners__track::-webkit-scrollbar { display: none; }

.apt-partner-card {
    min-width:      100%;
    scroll-snap-align: start;
    padding:        1.25rem 1.4rem;
}

.apt-partner-card__main {
    display:       flex;
    align-items:   flex-start;
    gap:           1.15rem;
}

.apt-partner-card__logo {
    width:           80px;
    height:          80px;
    display:         flex;
    align-items:     center;
    justify-content: center;
    flex:            0 0 auto;
    overflow:        hidden;
    padding:         .35rem;
    border:          2px solid #D4AF37;
    border-radius:   14px;
    background:      #fff;
    box-shadow:      0 2px 10px rgba(212,175,55,.15);
}

.apt-partner-card__logo-img {
    width:      100%;
    height:     100%;
    object-fit: contain;
    border-radius: 8px;
}

.apt-partner-card__initials {
    color:       #7d5812;
    font-size:   1.45rem;
    font-weight: 900;
}

.apt-partner-card__details { flex: 1; min-width: 0; }

.apt-partner-card__heading {
    display:     flex;
    align-items: center;
    gap:         .6rem;
    flex-wrap:   wrap;
}

.apt-partner-card__badge {
    display:        inline-flex;
    align-items:    center;
    gap:            .3rem;
    padding:        .22rem .6rem;
    border:         1px solid #D4AF37;
    border-radius:  999px;
    color:          #fff;
    background:     linear-gradient(135deg, #D4AF37 0%, #C5960C 50%, #D4AF37 100%);
    font-size:      .67rem;
    font-weight:    750;
    text-shadow:    0 1px 2px rgba(0,0,0,.2);
    box-shadow:     0 2px 8px rgba(212,175,55,.3);
}

.apt-partner-card__name {
    color:       var(--c-text);
    font-size:   1.05rem;
    font-weight: 900;
}

.apt-partner-card__role {
    margin:      .28rem 0 0;
    color:       var(--c-primary);
    font-size:   .82rem;
    font-weight: 800;
}

.apt-partner-card__company {
    margin:      .25rem 0 .55rem;
    color:       var(--c-text-2);
    font-size:   .8rem;
    font-style:  italic;
}

.apt-partner-card__services {
    max-width:             760px;
    display:               grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap:                   .28rem 2rem;
    margin:                0 0 .7rem;
}

.apt-partner-card__services li {
    display:     flex;
    align-items:     center;
    gap:         .35rem;
    color:       var(--c-text-2);
    font-size:   .8rem;
}

.apt-partner-card__services svg {
    width:  13px;
    height: 13px;
    color:  var(--c-primary);
}

.apt-partner-card__contact {
    display:     flex;
    align-items: center;
    gap:         .75rem;
    flex-wrap:   wrap;
    margin-bottom: .65rem;
}

.apt-partner-card__contact a {
    display:     inline-flex;
    align-items:     center;
    gap:         .3rem;
    color:       var(--c-text-2);
    font-size:   .8rem;
    font-weight: 750;
}

.apt-partner-card__contact svg { width: 14px; height: 14px; color: var(--c-primary); }

.apt-partner-card__actions {
    display:   flex;
    gap:       .45rem;
    flex-wrap: wrap;
}

.apt-partner-card__actions a {
    display:       inline-flex;
    align-items:   center;
    gap:           .4rem;
    padding:       .43rem .72rem;
    border:        1px solid rgba(var(--c-primary-rgb),.2);
    border-radius: 8px;
    color:         var(--c-primary);
    background:    var(--c-primary-l);
    font-size:     .75rem;
    font-weight:   800;
    transition:    all var(--transition);
}

.apt-partner-card__actions a:hover { color: #fff; background: var(--c-primary); border-color: var(--c-primary); }
.apt-partner-card__actions svg { width: 14px; height: 14px; }

.apt-partners__dots {
    display:     flex;
    align-items: center;
    gap:         .35rem;
}

.apt-partners__dots button {
    width:         6px;
    height:        6px;
    padding:       0;
    border-radius: 999px;
    background:    rgba(var(--c-primary-rgb),.2);
    transition:    width var(--transition), background var(--transition);
}

.apt-partners__dots button.is-active {
    width:      20px;
    background: var(--c-primary);
}

/* ==========================================================================
   SECTIONS
   ========================================================================== */

.apt-section { padding: 5rem 0; }
.apt-section--alt { background: var(--c-bg); }

.apt-section__header {
    display:       flex;
    align-items:   center;
    justify-content: space-between;
    margin-bottom: 2rem;
    gap:           1rem;
}

.apt-section__title {
    font-size:   clamp(1.8rem, 3vw, 2.45rem);
    font-weight: 800;
    color:       var(--c-text);
}
.apt-section__kicker {
    margin-bottom:  .35rem;
    color:          var(--c-accent-d);
    font-size:      .72rem;
    font-weight:    850;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.apt-section__link {
    display:     inline-flex;
    align-items: center;
    gap:         .3rem;
    font-size:   .9rem;
    font-weight: 600;
    color:       var(--c-primary);
    white-space: nowrap;
    flex-shrink: 0;
}

/* ==========================================================================
   GRILLE CATÉGORIES HOMEPAGE
   ========================================================================== */

.apt-cats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
    gap: 1rem;
}

.apt-cat-card {
    display:        flex;
    flex-direction: column;
    align-items:    flex-start;
    gap:            .6rem;
    padding:        1.35rem;
    background:     var(--c-card);
    border:         1px solid var(--c-border);
    border-radius:  var(--radius);
    text-decoration: none;
    color:          var(--c-text);
    text-align:     left;
    transition:     all var(--transition);
    box-shadow:     var(--shadow-sm);
}

.apt-cat-card:hover {
    border-color: rgba(var(--c-primary-rgb),.38);
    box-shadow:   var(--shadow);
    transform:    translateY(-3px);
}

.apt-cat-card:hover .apt-cat-card__name { color: var(--c-primary); }

.apt-cat-card__icon {
    width:           52px;
    height:          52px;
    border-radius:   15px 15px 15px 5px;
    background:      var(--c-primary-l);
    display:         flex;
    align-items:     center;
    justify-content: center;
    transition:      transform var(--transition), box-shadow var(--transition);
}

.apt-cat-card:hover .apt-cat-card__icon {
    transform:  scale(1.12);
    box-shadow: 0 4px 12px rgba(var(--c-primary-rgb), .25);
}

.apt-cat-card__svg {
    display:         flex;
    align-items:     center;
    justify-content: center;
    color:           var(--c-primary);
}
.apt-cat-card__svg svg {
    width:  28px;
    height: 28px;
}
.apt-cat-card__name  { font-size: .98rem; font-weight: 800; line-height: 1.2; transition: color var(--transition); }
.apt-cat-card__count { font-size: .75rem; color: var(--c-muted); }

/* ==========================================================================
   CALL TO ACTION
   ========================================================================== */

.apt-cta-section { padding: 4rem 0; }

.apt-cta-box {
    background:
        radial-gradient(circle at 90% 10%, rgba(var(--c-accent-rgb),.32), transparent 28%),
        linear-gradient(135deg, var(--c-primary) 0%, var(--c-primary-d) 100%);
    border-radius: var(--radius);
    padding:       3.5rem 3rem;
    display:       flex;
    align-items:   center;
    justify-content: space-between;
    gap:           2rem;
    flex-wrap:     wrap;
}

.apt-cta-box__title {
    font-size:   2rem;
    font-weight: 800;
    color:       #fff;
    margin-bottom: .5rem;
}

.apt-cta-box__text { color: rgba(255,255,255,.85); font-size: 1.05rem; }

.apt-cta-box__actions {
    display:   flex;
    gap:       .75rem;
    flex-wrap: wrap;
    flex-shrink: 0;
}

/* ==========================================================================
   HEADER ARCHIVE / FIL D'ARIANE
   ========================================================================== */

.apt-breadcrumbs-bar {
    background:  var(--c-card);
    border-bottom: 1px solid var(--c-border);
    padding:     .75rem 0;
}

.apt-breadcrumbs ol {
    display:   flex;
    flex-wrap: wrap;
    gap:       .25rem;
    align-items: center;
    padding:   0;
    margin:    0;
    list-style: none;
    font-size: .83rem;
    color:     var(--c-muted);
}

.apt-breadcrumbs li { display: flex; align-items: center; gap: .25rem; }
.apt-breadcrumbs a  { color: var(--c-muted); }
.apt-breadcrumbs a:hover { color: var(--c-primary); }
.apt-breadcrumbs span[aria-current] { color: var(--c-text); font-weight: 500; }
.apt-breadcrumbs__sep { color: var(--c-border); }

.apt-archive-header {
    background:     var(--c-card);
    border-bottom:  1px solid var(--c-border);
    padding:        2.5rem 0;
}

.apt-archive-header__inner {
    display:     flex;
    align-items: center;
    gap:         1.25rem;
}

.apt-archive-header__icon {
    width:           56px;
    height:          56px;
    border-radius:   var(--radius-sm);
    background:      var(--c-primary-l);
    color:           var(--c-primary);
    display:         flex;
    align-items:     center;
    justify-content: center;
    flex-shrink:     0;
    font-size:       1.5rem;
}

.apt-archive-header__icon svg { width: 28px; height: 28px; }

.apt-archive-header__title { font-size: 2rem; font-weight: 800; }
.apt-archive-header__desc  { color: var(--c-muted); margin-top: .4rem; }
.apt-archive-header__count { font-size: .85rem; color: var(--c-muted); margin-top: .25rem; }

.apt-archive-search {
    background:    var(--c-bg);
    padding:       1.5rem 0;
    border-bottom: 1px solid var(--c-border);
}

/* Layout archive (main + sidebar) */
.apt-archive-layout {
    display:   grid;
    grid-template-columns: 1fr 280px;
    gap:       2.5rem;
    padding-top: 2rem;
    padding-bottom: 3rem;
    align-items: start;
}

.apt-archive-main  { min-width: 0; }
.apt-archive-sidebar { position: sticky; top: calc(var(--c-header-h) + 1rem); }

/* Filtres actifs */
.apt-active-filters {
    display:   flex;
    flex-wrap: wrap;
    gap:       .5rem;
    align-items: center;
    margin-bottom: 1.25rem;
    font-size: .85rem;
}

.apt-active-filters__label { color: var(--c-muted); font-weight: 600; }

.apt-filter-tag {
    display:       inline-flex;
    align-items:   center;
    gap:           .35rem;
    padding:       .25rem .65rem;
    background:    var(--c-primary-l);
    color:         var(--c-primary);
    border-radius: 50px;
    font-weight:   600;
    font-size:     .78rem;
    transition:    background var(--transition);
}

.apt-filter-tag:hover {
    background: var(--c-primary);
    color:      #fff;
}

/* Liste des annonces */
.apt-listings-grid {
    display:               grid;
    grid-template-columns: repeat(2, 1fr);
    gap:                   1.5rem;
}

.apt-listing-card {
    display:        flex;
    flex-direction: column;
    background:     var(--c-card);
    border:         1px solid var(--c-border);
    border-radius:  var(--radius);
    overflow:       hidden;
    text-decoration: none;
    transition:     box-shadow var(--transition), transform var(--transition);
}

.apt-listing-card:hover {
    box-shadow: var(--shadow);
    transform:  translateY(-3px);
}

.apt-listing-card__img-wrap {
    position:     relative;
    aspect-ratio: 16/9;
    overflow:     hidden;
}

.apt-listing-card__img {
    width:      100%;
    height:     100%;
    object-fit: cover;
    display:    block;
    transition: transform .4s ease;
}

.apt-listing-card:hover .apt-listing-card__img { transform: scale(1.05); }

.apt-listing-card__placeholder {
    width:      100%;
    height:     100%;
    background: linear-gradient(135deg, var(--c-primary-l) 0%, rgba(var(--c-primary-rgb),.15) 100%);
}

.apt-listing-card__price-badge {
    position:       absolute;
    top:            .75rem;
    left:           .75rem;
    background:     var(--c-accent);
    color:          #fff;
    border-radius:  var(--radius-xs);
    padding:        .25rem .65rem;
    font-size:      .8rem;
    font-weight:    700;
    box-shadow:     var(--shadow-sm);
}

.apt-listing-card__price-badge.is-free { background: var(--c-success); }

.apt-listing-card__body {
    padding:        1rem;
    display:        flex;
    flex-direction: column;
    flex:           1;
    gap:            .25rem;
}

.apt-listing-card__title {
    font-size:   1.05rem;
    font-weight: 700;
    color:       var(--c-text);
    margin:      .25rem 0 0;
    line-height: 1.3;
}

.apt-listing-card__meta {
    display:     flex;
    align-items: center;
    gap:         .4rem;
    font-size:   .8rem;
    color:       var(--c-muted);
    flex-wrap:   wrap;
    margin-top:  .25rem;
}

.apt-listing-card__rating {
    display:     inline-flex;
    align-items: center;
    gap:         .25rem;
    margin-left: auto;
}

.apt-listing-card__rating svg { color: #fbbf24; width: 14px; height: 14px; }

.apt-listing-card__footer {
    display:        flex;
    align-items:    center;
    justify-content: space-between;
    margin-top:     auto;
    padding-top:    .75rem;
}

.apt-listing-card__region {
    display:     inline-flex;
    align-items: center;
    gap:         .3rem;
    font-size:   .8rem;
    color:       var(--c-muted);
}

.apt-listing-card__cta {
    display:     inline-flex;
    align-items: center;
    gap:         .3rem;
    font-size:   .85rem;
    font-weight: 600;
    color:       var(--c-primary);
}

/* Pagination */
.apt-pagination {
    display:        flex;
    justify-content: center;
    gap:            .5rem;
    margin-top:     2rem;
    padding:        1rem 0;
}

.apt-pagination a,
.apt-pagination span {
    display:         inline-flex;
    align-items:     center;
    justify-content: center;
    width:           36px;
    height:          36px;
    border-radius:   50%;
    font-weight:     600;
    text-decoration: none;
    transition:      all var(--transition);
}

.apt-pagination a {
    color: var(--c-text-2);
    background: var(--c-bg);
}

.apt-pagination a:hover {
    background: var(--c-primary);
    color:      #fff;
}

.apt-pagination .current {
    background: var(--c-primary);
    color:      #fff;
}

/* ==========================================================================
   TAGS
   ========================================================================== */

.apt-tag {
    display:        inline-flex;
    align-items:    center;
    padding:        .3rem .7rem;
    background:     hsl(var(--cat-hue, 184) 45% 92%);
    color:          hsl(var(--cat-hue, 184) 60% 26%);
    border-radius:  999px;
    font-size:      .78rem;
    font-weight:    700;
    text-decoration: none;
    transition:     all var(--transition);
}

.apt-tag:hover { background: hsl(var(--cat-hue, 184) 55% 42%); color: #fff; }

/* Hero listing (annonce / organisateur) */
.apt-listing-hero {
    position:   relative;
    min-height: 380px;
    display:    flex;
    align-items: flex-end;
    overflow:   hidden;
}

.apt-event-hero {
    position:   relative;
    min-height: 480px;
    display:    flex;
    align-items: flex-end;
    overflow:   hidden;
}

.apt-listing-hero__cover,
.apt-event-hero__cover {
    position: absolute;
    inset:    0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.apt-listing-hero__img,
.apt-event-hero__img {
    width:      100%;
    height:     100%;
    object-fit: cover;
    object-position: center 25%;
}

.apt-listing-hero__placeholder,
.apt-event-hero__placeholder {
    width:           100%;
    height:          100%;
    display:         flex;
    align-items:     center;
    justify-content: center;
    background:
        radial-gradient(circle at 30% 70%, hsla(var(--cat-hue, 180), 45%, 35%, .3), transparent 55%),
        radial-gradient(circle at 85% 15%, hsla(calc(var(--cat-hue, 180) + 40), 50%, 45%, .2), transparent 45%),
        linear-gradient(135deg,
            hsla(var(--cat-hue, 180), 40%, 20%, 1) 0%,
            hsla(var(--cat-hue, 180), 45%, 28%, 1) 50%,
            hsla(calc(var(--cat-hue, 180) + 30), 35%, 25%, 1) 100%);
    color: rgba(255,255,255,.5);
}

.apt-listing-hero__placeholder svg,
.apt-event-hero__placeholder svg {
    opacity: .35;
    width:   100px;
    height:  100px;
    filter:  drop-shadow(0 4px 12px rgba(0,0,0,.2));
}

.apt-listing-hero__overlay,
.apt-event-hero__overlay {
    position:   absolute;
    inset:      0;
    /* Overlay avec dégradé pour améliorer la lisibilité */
    background: linear-gradient(to top, rgba(15,23,42,.75) 0%, rgba(15,23,42,.15) 60%, transparent 100%);
}

.apt-listing-hero__content,
.apt-event-hero__content {
    position:      relative;
    z-index:       1;
    padding:       2rem 0 2.5rem;
}

.apt-listing-hero__badges,
.apt-event-hero__badges { display: flex; gap: .5rem; flex-wrap: wrap; margin-bottom: .75rem; }

.apt-listing-hero__title,
.apt-event-hero__title {
    font-size:   2.6rem;
    font-weight: 800;
    color:       #fff;
    margin-bottom: .75rem;
    letter-spacing: -.02em;
}

.apt-listing-hero__meta,
.apt-event-hero__meta {
    display:   flex;
    flex-wrap: wrap;
    gap:       .75rem;
    align-items: center;
}

.apt-listing-hero__region,
.apt-listing-hero__address {
    display:     inline-flex;
    align-items: center;
    gap:         .3rem;
    font-size:   .9rem;
    color:       rgba(255,255,255,.8);
}

.apt-event-hero__date,
.apt-event-hero__price {
    display:     inline-flex;
    align-items: center;
    gap:         .4rem;
    font-size:   .95rem;
    color:       rgba(255,255,255,.9);
    font-weight: 500;
}

.apt-event-hero__price { color: var(--c-accent); font-weight: 700; }
.apt-event-hero__price--free { color: #86efac; }

/* Pills statut */
.apt-status-pill {
    display:       inline-flex;
    align-items:   center;
    gap:           .35rem;
    padding:       .3rem .8rem;
    border-radius: 50px;
    font-size:     .78rem;
    font-weight:   700;
    text-transform: uppercase;
    letter-spacing: .04em;
    backdrop-filter: blur(4px);
}

.apt-status-pill--open    { background: rgba(var(--c-success-rgb),.9);  color: #fff; }
.apt-status-pill--closed  { background: rgba(var(--c-danger-rgb),.85);  color: #fff; }

/* Contenu listing / single */
.apt-listing-layout {
    display:   grid;
    grid-template-columns: 1fr 320px;
    gap:       2.5rem;
    padding:   2rem 0 3rem;
    align-items: start;
}

.apt-listing-main   { min-width: 0; }
.apt-listing-sidebar { position: sticky; top: calc(var(--c-header-h) + 1rem); align-self: start; }

.apt-listing-section {
    margin-bottom: 2.5rem;
}

.apt-listing-section__title {
    font-size:   1.4rem;
    font-weight: 800;
    color:       var(--c-text);
    margin:      0 0 1rem;
}

.apt-listing-content { line-height: 1.7; }

/* Galerie */
.apt-gallery {
    display:               grid;
    grid-template-columns: repeat(3, 1fr);
    gap:                   .5rem;
}

.apt-gallery-item {
    display:       block;
    aspect-ratio:  4/3;
    overflow:      hidden;
    border-radius: var(--radius-xs);
    position:      relative;
    cursor:        zoom-in;
}

.apt-gallery-item img {
    width:      100%;
    height:     100%;
    object-fit: cover;
    transition: transform .35s ease;
    display:    block;
}

.apt-gallery-item:hover img { transform: scale(1.06); }

.apt-gallery-item__overlay {
    position:        absolute;
    inset:           0;
    background:      rgba(0,0,0,.35);
    display:         flex;
    align-items:     center;
    justify-content: center;
    color:           #fff;
    opacity:         0;
    transition:      opacity .25s;
}

.apt-gallery-item:hover .apt-gallery-item__overlay { opacity: 1; }

/* ==========================================================================
   VIDÉO YOUTUBE
   ========================================================================== */

.apt-video-wrapper { border-radius: var(--radius); overflow: hidden; }

.apt-video-thumb {
    position:      relative;
    aspect-ratio:  16/9;
    cursor:        pointer;
    background:    #000;
    border-radius: var(--radius);
    overflow:      hidden;
}

.apt-video-thumb img {
    width:       100%;
    height:      100%;
    object-fit:  cover;
    opacity:     .85;
    transition:  opacity var(--transition);
}

.apt-video-thumb:hover img { opacity: .7; }

.apt-video-thumb iframe {
    width:    100%;
    height:   100%;
    position: absolute;
    inset:    0;
    border:   none;
}

.apt-video-play {
    position:        absolute;
    top:             50%;
    left:            50%;
    transform:       translate(-50%, -50%);
    width:           70px;
    height:          70px;
    background:      var(--c-primary);
    border-radius:   50%;
    display:         flex;
    align-items:     center;
    justify-content: center;
    box-shadow:      0 8px 32px rgba(37,99,235,.4);
    transition:      transform var(--transition), background var(--transition);
}

.apt-video-play:hover { background: var(--c-primary-d); transform: translate(-50%,-50%) scale(1.1); }

/* ==========================================================================
   HORAIRES
   ========================================================================== */

.apt-hours-table { display: flex; flex-direction: column; gap: 0; }

.apt-hours-row {
    display:         flex;
    justify-content: space-between;
    align-items:     center;
    padding:         .65rem .85rem;
    border-radius:   var(--radius-xs);
    font-size:       .9rem;
    transition:      background var(--transition);
}

.apt-hours-row:hover { background: var(--c-bg); }

.apt-hours-row--today {
    background:  var(--c-primary-l);
    font-weight: 600;
}

.apt-hours-row__day {
    color:       var(--c-text);
    display:     flex;
    align-items: center;
    gap:         .5rem;
}

.apt-hours-today-label {
    font-size:   .72rem;
    background:  var(--c-primary);
    color:       #fff;
    padding:     .1rem .45rem;
    border-radius: 50px;
    font-weight: 700;
}

.apt-hours-row__time { color: var(--c-muted); font-variant-numeric: tabular-nums; }
.apt-hours-break     { font-size: .8rem; color: var(--c-muted); margin-left: .5rem; }
.apt-hours-closed    { color: var(--c-danger); font-weight: 600; }

/* ==========================================================================
   SIDEBAR CARDS
   ========================================================================== */

.apt-sidebar-card {
    background:    var(--c-card);
    border:        1px solid var(--c-border);
    border-radius: var(--radius);
    padding:       1.25rem 1.4rem;
    box-shadow:    var(--shadow-sm);
}

.apt-sidebar-card__title {
    font-size:     .95rem;
    font-weight:   700;
    margin-bottom: 1rem;
    padding-bottom: .65rem;
    border-bottom: 1px solid var(--c-border);
    display:       flex;
    align-items:   center;
    gap:           .4rem;
}

/* Statut dans sidebar */
.apt-sidebar-status {
    display:       flex;
    align-items:   center;
    gap:           .5rem;
    font-size:     .85rem;
    font-weight:   600;
    padding:       .5rem .75rem;
    border-radius: var(--radius-xs);
    margin-bottom: .85rem;
}

.apt-sidebar-status--open   { background: rgba(var(--c-success-rgb),.12); color: var(--c-success); }
.apt-sidebar-status--closed { background: rgba(var(--c-danger-rgb),.12);  color: var(--c-danger);  }
.apt-sidebar-status--break  { background: rgba(var(--c-warning-rgb),.15); color: var(--c-warning); }

/* Liste de contact */
.apt-contact-list { display: flex; flex-direction: column; gap: .75rem; margin-bottom: 1rem; }

.apt-contact-item {
    display:     flex;
    align-items: flex-start;
    gap:         .55rem;
    font-size:   .875rem;
    color:       var(--c-text-2);
    line-height: 1.5;
}

.apt-contact-item svg { flex-shrink: 0; margin-top: .15rem; color: var(--c-primary); }
.apt-contact-item a   { color: var(--c-text-2); }
.apt-contact-item a:hover { color: var(--c-primary); }

/* Horaires sidebar */
.apt-sidebar-card--hours { border-left: 3px solid var(--c-primary); }
.apt-sidebar-hours-today { font-size: 1rem; font-weight: 600; color: var(--c-success); margin: 0; }

/* Sociaux sidebar */
.apt-sidebar-social { display: flex; flex-direction: column; gap: .5rem; }

.apt-social-btn {
    display:         flex;
    align-items:     center;
    gap:             .5rem;
    padding:         .5rem .85rem;
    border-radius:   var(--radius-xs);
    font-size:       .85rem;
    font-weight:     600;
    text-decoration: none;
    transition:      background var(--transition), color var(--transition);
}

.apt-social-btn--fb { background: #e7f0fd; color: #1877f2; }
.apt-social-btn--fb:hover { background: #1877f2; color: #fff !important; }
.apt-social-btn--ig { background: #fce7f3; color: #e1306c; }
.apt-social-btn--ig:hover { background: #e1306c; color: #fff !important; }
.apt-social-btn--li { background: #e7f0fa; color: #0a66c2; }
.apt-social-btn--li:hover { background: #0a66c2; color: #fff !important; }

/* ==========================================================================
   CARD ÉVÉNEMENT VENUE (single-evenement)
   ========================================================================== */

.apt-event-venue-card {
    display:       flex;
    gap:           1.25rem;
    background:    var(--c-bg);
    border-radius: var(--radius-sm);
    padding:       1.25rem;
    border:        1px solid var(--c-border);
}

.apt-event-venue-card__img {
    width:         100px;
    height:        100px;
    object-fit:    cover;
    border-radius: var(--radius-xs);
    flex-shrink:   0;
}

.apt-event-venue-card__name { font-size: 1.05rem; font-weight: 700; margin-bottom: .5rem; }
.apt-event-venue-card__address,
.apt-event-venue-card__tel {
    display:     flex;
    align-items: flex-start;
    gap:         .35rem;
    font-size:   .85rem;
    color:       var(--c-muted);
    margin:      .25rem 0;
}


/* ==========================================================================
   HERO ORGANISATEUR (single-organisateur)
   ========================================================================== */

/* Le placeholder du hero organisateur utilise un dégradé de la couleur principale */
.apt-org-hero__placeholder {
    background: linear-gradient(135deg, var(--c-primary) 0%, var(--c-primary-d) 100%);
}

/* Profil dans le hero : avatar rond + texte alignés horizontalement */
.apt-org-profile {
    display:     flex;
    align-items: flex-end;
    gap:         1.5rem;
}

.apt-org-profile__avatar { flex-shrink: 0; }

.apt-org-profile__img {
    width:            110px;
    height:           110px;
    border-radius:    50%;
    object-fit:       cover;
    object-position:  center top;
    border:           4px solid rgba(255,255,255,.9);
    box-shadow:       0 4px 20px rgba(0,0,0,.35);
    display:          block;
}

.apt-org-profile__initials {
    width:           110px;
    height:          110px;
    border-radius:   50%;
    background:      rgba(255,255,255,.2);
    backdrop-filter: blur(8px);
    border:          4px solid rgba(255,255,255,.7);
    color:           #fff;
    display:         flex;
    align-items:     center;
    justify-content: center;
    font-size:       2rem;
    font-weight:     800;
    letter-spacing:  .02em;
}

.apt-org-profile__body { flex: 1; min-width: 0; }

/* ==========================================================================
   ÉVÉNEMENTS DE L'ORGANISATEUR — grille dans apt-listing-main
   ========================================================================== */

.apt-section-count {
    display:       inline-flex;
    align-items:   center;
    justify-content: center;
    min-width:     26px;
    height:        22px;
    padding:       0 .5rem;
    border-radius: 20px;
    background:    var(--c-primary-l);
    color:         var(--c-primary);
    font-size:     .75rem;
    font-weight:   700;
    margin-left:   .5rem;
    vertical-align: middle;
}

.apt-org-events-grid {
    display:               grid;
    grid-template-columns: repeat(2, 1fr);
    gap:                   1.25rem;
}

.apt-org-event-card {
    background:    var(--c-card);
    border:        1px solid var(--c-border);
    border-radius: var(--radius-sm);
    overflow:      hidden;
    transition:    box-shadow var(--transition), transform var(--transition);
}

.apt-org-event-card:hover {
    box-shadow: var(--shadow);
    transform:  translateY(-2px);
}

.apt-org-event-card__thumb-wrap {
    position:   relative;
    display:    block;
    aspect-ratio: 16/9;
    overflow:   hidden;
}

.apt-org-event-card__thumb {
    width:      100%;
    height:     100%;
    object-fit: cover;
    transition: transform .4s ease;
}

.apt-org-event-card:hover .apt-org-event-card__thumb { transform: scale(1.04); }

.apt-org-event-card__placeholder {
    width:      100%;
    height:     100%;
    background: linear-gradient(135deg, var(--c-primary-l) 0%, rgba(var(--c-primary-rgb),.15) 100%);
}

.apt-org-event-card__date-badge {
    position:        absolute;
    top:             .75rem;
    left:            .75rem;
    background:      var(--c-primary);
    color:           #fff;
    border-radius:   var(--radius-xs);
    padding:         .3rem .55rem;
    text-align:      center;
    line-height:     1.1;
    box-shadow:      var(--shadow-sm);
}

.apt-org-event-card__day   { display: block; font-size: 1.1rem; font-weight: 800; }
.apt-org-event-card__month { display: block; font-size: .65rem; font-weight: 600; text-transform: uppercase; opacity: .85; }

.apt-org-event-card__body {
    padding: 1rem;
}

.apt-org-event-card__title {
    font-size:   .95rem;
    font-weight: 700;
    margin:      .4rem 0 .6rem;
    line-height: 1.3;
}

.apt-org-event-card__title a { color: var(--c-text); }
.apt-org-event-card__title a:hover { color: var(--c-primary); }

.apt-org-event-card__meta {
    display:   flex;
    flex-wrap: wrap;
    gap:       .4rem .85rem;
    font-size: .78rem;
    color:     var(--c-muted);
}

.apt-org-event-card__meta span {
    display:     inline-flex;
    align-items: center;
    gap:         .3rem;
}

.apt-org-event-card__price        { color: var(--c-accent); font-weight: 600; }
.apt-org-event-card__price.is-free { color: var(--c-success); }

/* Stat card sidebar */
.apt-sidebar-card--stat {
    display:     flex;
    align-items: center;
    gap:         .85rem;
    padding:     1.1rem 1.25rem;
}

.apt-sidebar-card--stat svg { color: var(--c-primary); flex-shrink: 0; width: 22px; height: 22px; }
.apt-sidebar-card--stat strong { display: block; font-size: 1.5rem; font-weight: 800; color: var(--c-text); line-height: 1; }
.apt-sidebar-card--stat span   { font-size: .8rem; color: var(--c-muted); }

/* Responsive */
@media (max-width: 768px) {
    .apt-org-events-grid { grid-template-columns: 1fr; }
    .apt-org-profile { flex-direction: column; align-items: flex-start; gap: 1rem; }
}

@media (max-width: 480px) {
    .apt-org-profile__img,
    .apt-org-profile__initials { width: 80px; height: 80px; font-size: 1.5rem; }
}

/* ==========================================================================
   SPONSORS GRID (single-evenement)
   ========================================================================== */

.apt-sponsors-grid {
    display:               grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap:                   1.25rem;
}

.apt-sponsor-card {
    background:    var(--c-card);
    border:        1px solid var(--c-border);
    border-radius: var(--radius);
    padding:       1.5rem 1.15rem 1.15rem;
    text-align:    center;
    position:      relative;
    display:       flex;
    flex-direction: column;
    align-items:   center;
    transition:    box-shadow var(--transition), transform var(--transition);
}

.apt-sponsor-card:hover {
    box-shadow: var(--shadow);
    transform:  translateY(-3px);
}

.apt-sponsor-card__level {
    position:   absolute;
    top:        -.7rem;
    left:       50%;
    transform:  translateX(-50%);
    background: linear-gradient(135deg, #D4AF37 0%, #C5960C 50%, #D4AF37 100%);
    color:      #fff;
    font-size:  .65rem;
    font-weight: 700;
    padding:    .2rem .75rem;
    border-radius: 20px;
    white-space: nowrap;
    letter-spacing: .03em;
    text-transform: uppercase;
    text-shadow: 0 1px 2px rgba(0,0,0,.2);
    box-shadow: 0 2px 8px rgba(212,175,55,.35);
}

.apt-sponsor-card__logo-wrap {
    width:           100px;
    height:          100px;
    display:         flex;
    align-items:     center;
    justify-content: center;
    margin-bottom:   .85rem;
    overflow:        hidden;
    border-radius:   16px;
    border:          2px solid var(--c-border);
    padding:         .5rem;
    background:      #fff;
}

.apt-sponsor-card__logo-wrap img {
    max-height:  100%;
    max-width:   100%;
    width:       auto;
    height:      auto;
    object-fit:  contain;
}

.apt-sponsor-card__initials {
    display:         flex;
    align-items:     center;
    justify-content: center;
    width:           100%;
    height:          100%;
    border-radius:   10px;
    background:      var(--c-primary-l);
    color:           var(--c-primary);
    font-size:       1.5rem;
    font-weight:     800;
    text-transform:  uppercase;
}

.apt-sponsor-card__name {
    font-size:   .9rem;
    font-weight: 700;
    color:       var(--c-text);
    margin:      0 0 .2rem;
    line-height: 1.3;
}

.apt-sponsor-card__role {
    font-size:   .75rem;
    color:       var(--c-muted);
    margin:      0 0 .6rem;
}

.apt-sponsor-card__actions {
    display:    flex;
    gap:        .4rem;
    flex-wrap:  wrap;
    justify-content: center;
    margin-top: auto;
    padding-top: .5rem;
}

.apt-sponsor-card__btn {
    display:       inline-flex;
    align-items:   center;
    gap:           .3rem;
    padding:       .3rem .65rem;
    font-size:     .72rem;
    font-weight:   600;
    border-radius: var(--radius-xs);
    background:    var(--c-primary-l);
    color:         var(--c-primary);
    text-decoration: none;
    transition:    all var(--transition);
}

.apt-sponsor-card__btn:hover {
    background: var(--c-primary);
    color:      #fff;
}

.apt-sponsor-card__btn svg {
    width:  12px;
    height: 12px;
}

/* ==========================================================================
   SIDEBAR TERMES (archive)
   ========================================================================== */

.apt-sidebar-terms { display: flex; flex-direction: column; }

.apt-sidebar-terms li a {
    display:         flex;
    justify-content: space-between;
    align-items:     center;
    padding:         .45rem .55rem;
    border-radius:   var(--radius-xs);
    font-size:       .875rem;
    color:           var(--c-text-2);
    transition:      background var(--transition);
}

.apt-sidebar-terms li a:hover,
.apt-sidebar-terms li.is-active a {
    background: var(--c-primary-l);
    color:      var(--c-primary);
}

.apt-term-count {
    font-size:     .75rem;
    background:    var(--c-bg);
    color:         var(--c-muted);
    padding:       .1rem .4rem;
    border-radius: 50px;
    font-weight:   500;
}

/* ==========================================================================
   BARRE D'ACTIONS RAPIDES (single-annonce)
   ========================================================================== */

.apt-actions-bar {
    background:  var(--c-card);
    border-bottom: 1px solid var(--c-border);
    position:    sticky;
    top:         var(--c-header-h);
    z-index:     90;
    box-shadow:  0 2px 8px rgba(0,0,0,.06);
}

.apt-actions-bar__inner {
    display:     flex;
    align-items: center;
    gap:         .35rem;
    padding:     .65rem 0;
    overflow-x:  auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.apt-actions-bar__inner::-webkit-scrollbar { display: none; }

.apt-action-btn {
    display:         inline-flex;
    align-items:     center;
    gap:             .4rem;
    padding:         .55rem 1.1rem;
    border-radius:   var(--radius-xs);
    font-size:       .85rem;
    font-weight:     600;
    white-space:     nowrap;
    text-decoration: none;
    transition:      background var(--transition), color var(--transition);
    background:      var(--c-bg);
    color:           var(--c-text);
    border:          1px solid var(--c-border);
}

.apt-action-btn:hover { background: var(--c-primary); color: #fff !important; border-color: var(--c-primary); }

.apt-action-btn--primary { background: var(--c-primary); color: #fff; border-color: var(--c-primary); }
.apt-action-btn--primary:hover { background: var(--c-primary-d); border-color: var(--c-primary-d); }

/* ==========================================================================
   CARTE MAP (single-annonce — main + sidebar)
   ========================================================================== */

.apt-map-embed {
    border-radius: var(--radius-sm);
    overflow:      hidden;
    border:        1px solid var(--c-border);
}

.apt-map-embed iframe { display: block; }

.apt-map-actions {
    display:    flex;
    gap:        .65rem;
    flex-wrap:  wrap;
    margin-top: .85rem;
}

.apt-sidebar-card--map { padding: 1rem !important; }

.apt-sidebar-map-actions {
    display:        flex;
    flex-direction: column;
    gap:            .5rem;
}

/* ==========================================================================
   ÉVÉNEMENTS LIÉS (single-annonce) — grille dédiée
   ========================================================================== */

.apt-annonce-events {
    background:  var(--c-bg);
    border-top:  1px solid var(--c-border);
    padding:     3rem 0 4rem;
    margin-top:  2rem;
}

.apt-annonce-events__title {
    font-size:     1.4rem;
    font-weight:   800;
    color:         var(--c-text);
    margin:        0 0 1.5rem;
    padding-left:  1rem;
    border-left:   4px solid var(--c-primary);
}

.apt-annonce-events__grid {
    display:               grid;
    grid-template-columns: repeat(4, 1fr);
    gap:                   1rem;
}

/* Carte événement dans la fiche annonce */
.apt-ev-annonce-card {
    display:        flex;
    flex-direction: column;
    background:     var(--c-card);
    border:         1px solid var(--c-border);
    border-radius:  var(--radius-sm);
    overflow:       hidden;
    text-decoration: none;
    transition:     box-shadow var(--transition), transform var(--transition);
}

.apt-ev-annonce-card:hover {
    box-shadow: var(--shadow);
    transform:  translateY(-3px);
}

.apt-ev-annonce-card__img-wrap {
    position:     relative;
    aspect-ratio: 3/2;
    overflow:     hidden;
    flex-shrink:  0;
}

.apt-ev-annonce-card__img {
    width:      100%;
    height:     100%;
    object-fit: cover;
    display:    block;
    transition: transform .4s ease;
}

.apt-ev-annonce-card:hover .apt-ev-annonce-card__img { transform: scale(1.05); }

.apt-ev-annonce-card__placeholder {
    width:      100%;
    height:     100%;
    background: linear-gradient(135deg, var(--c-primary-l) 0%, rgba(var(--c-primary-rgb),.15) 100%);
}

.apt-ev-annonce-card__date-badge {
    position:        absolute;
    top:             .6rem;
    left:            .6rem;
    background:      var(--c-primary);
    color:           #fff;
    border-radius:   var(--radius-xs);
    padding:         .25rem .45rem;
    text-align:      center;
    line-height:     1.15;
    box-shadow:      var(--shadow-sm);
}

.apt-ev-annonce-card__day   { display: block; font-size: .9rem; font-weight: 800; }
.apt-ev-annonce-card__month { display: block; font-size: .55rem; font-weight: 700; text-transform: uppercase; opacity: .9; }

.apt-ev-annonce-card__price-badge {
    position:        absolute;
    top:             .6rem;
    right:           .6rem;
    background:      var(--c-accent);
    color:           #fff;
    border-radius:   var(--radius-xs);
    padding:         .25rem .55rem;
    font-size:       .78rem;
    font-weight:     700;
    box-shadow:      var(--shadow-sm);
}

.apt-ev-annonce-card__price-badge.is-free { background: var(--c-success); }

.apt-ev-annonce-card__body {
    padding:        .85rem;
    display:        flex;
    flex-direction: column;
    flex:           1;
    gap:            .3rem;
}

.apt-ev-annonce-card__title {
    font-size:   .95rem;
    font-weight: 700;
    color:       var(--c-text);
    margin:      .2rem 0 0;
    line-height: 1.3;
}

.apt-ev-annonce-card__meta {
    display:     flex;
    align-items: center;
    gap:         .35rem;
    font-size:   .78rem;
    color:       var(--c-muted);
    flex-wrap:   wrap;
}

.apt-ev-annonce-card__cta {
    display:     inline-flex;
    align-items: center;
    gap:         .3rem;
    margin-top:  auto;
    padding-top: .5rem;
    font-size:   .82rem;
    font-weight: 600;
    color:       var(--c-primary);
}

/* Utilitaire */
.apt-text-muted { color: var(--c-muted); font-size: .9rem; font-style: italic; }

/* Responsive */
@media (max-width: 1024px) {
    .apt-annonce-events__grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 768px) {
    .apt-annonce-events__grid { grid-template-columns: repeat(2, 1fr); }
    .apt-actions-bar { position: static; }
}
@media (max-width: 480px) {
    .apt-annonce-events__grid { grid-template-columns: 1fr; }
}

/* Legacy - garder la compatibilité shortcode */
.apt-listing-related-events {
    margin-top:  0;
    border-left: 4px solid var(--c-primary);
}

/* ==========================================================================
   PARTAGE
   ========================================================================== */

.apt-share-buttons { display: flex; flex-direction: column; gap: .5rem; }

.apt-share-btn {
    display:     flex;
    align-items: center;
    gap:         .5rem;
    padding:     .5rem .85rem;
    border-radius: var(--radius-xs);
    font-size:   .85rem;
    font-weight: 600;
    text-decoration: none;
    transition:  background var(--transition);
}

.apt-share-btn--fb { background: #e7f0fd; color: #1877f2; }
.apt-share-btn--fb:hover { background: #1877f2; color: #fff !important; }
.apt-share-btn--tw { background: #f0f9ff; color: #111; }
.apt-share-btn--tw:hover { background: #111; color: #fff !important; }

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

.apt-footer {
    background:
        radial-gradient(circle at 85% 10%, rgba(var(--c-accent-rgb),.12), transparent 25%),
        var(--c-primary-d);
    color: rgba(255,255,255,.75);
    margin-top: 4rem;
}

.apt-footer__widgets { padding: 4rem 0 3rem; border-bottom: 1px solid rgba(255,255,255,.08); }

.apt-footer__widgets-grid {
    display: grid;
    /* --footer-cols est fixé en ligne depuis footer.php (1 colonne "marque" + N colonnes
       configurées) ; repli auto-fit si jamais absent. Une variable (et non une valeur
       directe) est utilisée ici pour que les media queries ci-dessous restent prioritaires
       sur petit écran malgré le style en ligne. */
    grid-template-columns: repeat(var(--footer-cols, auto-fit), minmax(180px, 1fr));
    gap: 3rem;
}

.apt-footer__logo-text { font-size: 1.4rem; font-weight: 800; color: #fff; display: block; margin-bottom: .75rem; }
.apt-footer__tagline   { font-size: .9rem; opacity: .65; line-height: 1.6; }

.apt-footer__col .widget-title { color: #fff; font-size: .9rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; margin-bottom: .85rem; }
.apt-footer__col .widget a,
.apt-footer__col a { color: rgba(255,255,255,.7); font-size: .875rem; display: block; padding: .25rem 0; transition: color var(--transition); }
.apt-footer__col .widget a:hover,
.apt-footer__col a:hover { color: #fff; }

.apt-footer__minimal { padding: 2.5rem 0; border-bottom: 1px solid rgba(255,255,255,.08); }
.apt-footer__minimal-inner { display: flex; flex-wrap: wrap; gap: 2rem; }
.apt-footer__links-group strong { color: #fff; font-size: 1rem; display: block; margin-bottom: .75rem; }
.apt-footer__links-group nav { display: flex; flex-wrap: wrap; gap: .35rem 1.25rem; }
.apt-footer__links-group a { color: rgba(255,255,255,.65); font-size: .875rem; }
.apt-footer__links-group a:hover { color: rgba(255,255,255,.85); }

.apt-footer__social { padding: 1rem 0; border-top: 1px solid rgba(255,255,255,.08); }
.apt-footer__social .apt-container { display: flex; gap: .6rem; }
.apt-footer__social a {
    display: flex; align-items: center; justify-content: center;
    width: 36px; height: 36px; border-radius: 50%;
    background: rgba(255,255,255,.08); color: rgba(255,255,255,.75);
    transition: background var(--transition), color var(--transition);
}
.apt-footer__social a:hover { background: var(--c-primary); color: #fff; }
.apt-footer__social a svg { width: 16px; height: 16px; }

.apt-footer__bar { padding: 1.25rem 0; }
.apt-footer__bar-inner { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .75rem; }
.apt-footer__copy { font-size: .8rem; opacity: .5; margin: 0; }
.apt-footer__legal-list { display: flex; gap: 1rem; }
.apt-footer__legal-list a { font-size: .8rem; color: rgba(255,255,255,.45); }
.apt-footer__legal-list a:hover { color: rgba(255,255,255,.85); }

/* ==========================================================================
   PAGES BLOG / PAGE / 404
   ========================================================================== */

.apt-post-card {
    display:       grid;
    grid-template-columns: 240px 1fr;
    gap:           1.5rem;
    background:    var(--c-card);
    border:        1px solid var(--c-border);
    border-radius: var(--radius);
    overflow:      hidden;
    margin-bottom: 1.5rem;
    box-shadow:    var(--shadow-sm);
    transition:    box-shadow var(--transition);
}
.apt-post-card:hover { box-shadow: var(--shadow); }
.apt-post-card__thumb { display: block; overflow: hidden; }
.apt-post-card__img   { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.apt-post-card:hover .apt-post-card__img { transform: scale(1.04); }
.apt-post-card__body  { padding: 1.5rem 1.5rem 1.5rem 0; display: flex; flex-direction: column; gap: .5rem; }
.apt-post-card__meta  { font-size: .8rem; color: var(--c-muted); }
.apt-post-card__title { font-size: 1.15rem; font-weight: 700; }
.apt-post-card__title a { color: var(--c-text); }
.apt-post-card__title a:hover { color: var(--c-primary); }
.apt-post-card__excerpt { color: var(--c-muted); font-size: .9rem; }

.apt-page-title {
    font-size:     2rem;
    font-weight:   800;
    margin-bottom: 2rem;
    padding-bottom: 1rem;
    border-bottom: 2px solid var(--c-border);
}

.apt-error-page {
    padding:    5rem 0;
    text-align: center;
}
.apt-error-code  { font-size: 8rem; font-weight: 900; color: var(--c-border); line-height: 1; display: block; }
.apt-error-title { font-size: 2rem; font-weight: 800; margin: .5rem 0; }
.apt-error-desc  { color: var(--c-muted); margin-bottom: 2rem; }
.apt-error-actions { display: flex; gap: .75rem; justify-content: center; flex-wrap: wrap; }

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

@media (max-width: 1024px) {
    .apt-hero__layout { grid-template-columns: 1fr 420px; gap: 2rem; }
    .apt-hero__title { font-size: clamp(2.8rem, 5vw, 4rem); }
    .apt-listing-layout,
    .apt-archive-layout { grid-template-columns: 1fr; }
    .apt-listing-sidebar,
    .apt-archive-sidebar { position: static; }
    .apt-footer__widgets-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 768px) {
    :root { --c-header-h: max(60px, calc(var(--logo-max-height, 56px) + 12px)); }

    .apt-nav-primary  { display: none; }
    .apt-hamburger    { display: flex; }
    .apt-header__cta  { display: none; }
    .apt-header__actions { margin-left: auto; }

    .apt-header__brand { min-width: 0; }
    .apt-header__logo-text small { display: none; }
    .apt-header__logo-mark { width: 34px; height: 34px; }

    .apt-hero { min-height: auto; padding: 4.5rem 0 4rem; }
    .apt-hero__layout { grid-template-columns: 1fr; gap: 2.5rem; }
    .apt-hero__intro { max-width: 620px; }
    .apt-hero__title { font-size: clamp(2.6rem, 10vw, 4.2rem); }
    .apt-hero__stats { gap: .5rem; }
    .apt-hero__stat strong { font-size: 1.5rem; }
    .apt-quick-nav { margin-top: -18px; }
    .apt-partners { padding-bottom: 3rem; }
    .apt-partner-card__services { grid-template-columns: 1fr; gap: .3rem; }

    .apt-listing-hero__title,
    .apt-event-hero__title { font-size: 1.8rem; }

    .apt-cats-grid { grid-template-columns: repeat(3, 1fr); }

    .apt-cta-box { flex-direction: column; text-align: center; padding: 2.5rem 1.5rem; }
    .apt-cta-box__actions { justify-content: center; }

    .apt-post-card { grid-template-columns: 1fr; }
    .apt-post-card__body { padding: 1.25rem; }

    .apt-footer__widgets-grid { grid-template-columns: 1fr; gap: 2rem; }
}

@media (max-width: 480px) {
    .apt-container { padding-left: 1rem; padding-right: 1rem; }
    .apt-hero         { min-height: auto; padding: 3.5rem 0 3.25rem; }
    .apt-hero__title  { font-size: 2.65rem; }
    .apt-hero__subtitle { font-size: 1rem; line-height: 1.6; }
    .apt-hero__actions { flex-direction: column; align-items: stretch; }
    .apt-hero__actions .apt-btn { justify-content: center; }
    .apt-hero__search-card { padding: 1rem; border-radius: 18px; }
    .apt-hero__stats  { grid-template-columns: repeat(2,1fr); }
    .apt-quick-nav { overflow: hidden; }
    .apt-quick-nav__inner {
        width: 100%;
        border-radius: 0;
        padding-left: 1rem;
        padding-right: 1rem;
    }
    .apt-partners { padding: 0 0 2.5rem; }
    .apt-partners__viewport { border-radius: 15px; }
    .apt-partner-card { padding: 1rem; }
    .apt-partner-card__main { gap: .8rem; }
    .apt-partner-card__logo { width: 64px; height: 64px; }
    .apt-partner-card__heading { align-items: flex-start; flex-direction: column; gap: .35rem; }
    .apt-partner-card__contact { align-items: flex-start; flex-direction: column; gap: .3rem; }

    .apt-cats-grid { grid-template-columns: repeat(2, 1fr); }
    .apt-cat-card { padding: 1.1rem; }

    .apt-listing-hero__title,
    .apt-event-hero__title { font-size: 1.5rem; }

    .apt-section__header { flex-direction: column; align-items: flex-start; }
}

/* ==========================================================================
   FICHE ÉVÉNEMENT — Composants enrichis
   ========================================================================== */

/* --------------------------------------------------------------------------
   Badges de statut (hero fond sombre → couleurs solides)
-------------------------------------------------------------------------- */

.apt-ev-status-badge {
    display:        inline-flex;
    align-items:    center;
    padding:        .28rem .75rem;
    border-radius:  99px;
    font-size:      .72rem;
    font-weight:    700;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.apt-ev-status-badge--live  { background: #16a34a; color: #fff; }
.apt-ev-status-badge--ended { background: rgba(255,255,255,.18); color: rgba(255,255,255,.85); backdrop-filter: blur(4px); }
.apt-ev-status-badge--full  { background: #dc2626; color: #fff; }

/* Hero meta items (fond sombre → couleur blanche explicite) */
.apt-event-hero__meta-item {
    display:     inline-flex;
    align-items: center;
    gap:         .4rem;
    font-size:   .9rem;
    color:       rgba(255,255,255,.85);
    font-weight: 500;
}

.apt-event-hero__meta-item.is-free           { color: #86efac; }
.apt-event-hero__meta-item.apt-ev-full-badge { color: #fca5a5; }

/* --------------------------------------------------------------------------
   Compte à rebours — barre full-width sous le hero
-------------------------------------------------------------------------- */

.apt-ev-countdown-bar {
    background: linear-gradient(90deg, var(--c-primary-d) 0%, var(--c-primary) 60%, var(--c-primary-d) 100%);
    color:      #fff;
    padding:    1rem 0;
}

.apt-ev-countdown-bar__inner {
    display:         flex;
    align-items:     center;
    justify-content: center;
    flex-wrap:       wrap;
    gap:             .75rem 2rem;
    max-width:       var(--max-w);
    margin:          0 auto;
    padding:         0 1.5rem;
}

.apt-ev-countdown__status-label {
    font-size:      .82rem;
    font-weight:    700;
    letter-spacing: .06em;
    text-transform: uppercase;
    white-space:    nowrap;
    color:          rgba(255,255,255,.8);
    border-right:   1px solid rgba(255,255,255,.2);
    padding-right:  2rem;
}

.apt-ev-countdown {
    display:     flex;
    align-items: flex-start;
    gap:         .35rem;
}

.apt-ev-countdown__unit {
    display:        flex;
    flex-direction: column;
    align-items:    center;
    min-width:      58px;
    background:     rgba(255,255,255,.14);
    border:         1px solid rgba(255,255,255,.22);
    border-radius:  6px;
    padding:        .5rem .6rem .35rem;
    box-shadow:     0 2px 8px rgba(0,0,0,.15);
}

.apt-ev-countdown__num {
    font-size:            2rem;
    font-weight:          900;
    line-height:          1;
    font-variant-numeric: tabular-nums;
    letter-spacing:       -.03em;
    color:                #fff;
}

.apt-ev-countdown__lbl {
    font-size:      .6rem;
    font-weight:    600;
    opacity:        .75;
    text-transform: capitalize;
    letter-spacing: .04em;
    margin-top:     .25rem;
    color:          #fff;
}

/* Séparateur aligné sur les chiffres via margin-top = padding top de l'unité */
.apt-ev-countdown__sep {
    font-size:   2rem;
    font-weight: 800;
    opacity:     .45;
    margin-top:  .5rem;
    line-height: 1;
    color:       #fff;
}

/* --------------------------------------------------------------------------
   Programme de l'événement
-------------------------------------------------------------------------- */

.apt-ev-program {
    list-style: none;
    padding:    0;
    margin:     0;
    border-left: 3px solid var(--c-primary-l);
    padding-left: 0;
}

.apt-ev-program__entry {
    display:  flex;
    gap:      1.25rem;
    padding:  .85rem 1.25rem;
    position: relative;
    border-bottom: 1px solid var(--c-border);
}

.apt-ev-program__entry:last-child { border-bottom: none; }

.apt-ev-program__entry::before {
    content:         '';
    position:        absolute;
    left:            -7px;
    top:             1.1rem;
    width:           11px;
    height:          11px;
    border-radius:   50%;
    background:      var(--c-primary);
    border:          2px solid var(--c-card);
}

.apt-ev-program__time {
    flex-shrink:  0;
    min-width:    55px;
    font-size:    .8rem;
    font-weight:  700;
    color:        var(--c-primary);
    padding:      .2rem .5rem;
    background:   var(--c-primary-l);
    border-radius: var(--radius-xs);
    height:       fit-content;
    white-space:  nowrap;
}

.apt-ev-program__content { flex: 1; min-width: 0; }
.apt-ev-program__label   { font-size: .95rem; font-weight: 700; color: var(--c-text); display: block; }
.apt-ev-program__desc    { margin: .25rem 0 0; font-size: .85rem; color: var(--c-text-2); }

/* --------------------------------------------------------------------------
   Galerie photos — grille + lightbox
-------------------------------------------------------------------------- */

.apt-ev-gallery {
    display:               grid;
    grid-template-columns: repeat(3, 1fr);
    gap:                   .5rem;
}

.apt-ev-gallery__item {
    display:       block;
    aspect-ratio:  4/3;
    overflow:      hidden;
    border-radius: var(--radius-xs);
    position:      relative;
    cursor:        zoom-in;
    background:    var(--c-bg);
}

.apt-ev-gallery__item img {
    width:      100%;
    height:     100%;
    object-fit: cover;
    transition: transform .35s ease;
    display:    block;
}

.apt-ev-gallery__item:hover img { transform: scale(1.06); }

.apt-ev-gallery__overlay {
    position:        absolute;
    inset:           0;
    background:      rgba(0,0,0,.35);
    display:         flex;
    align-items:     center;
    justify-content: center;
    color:           #fff;
    opacity:         0;
    transition:      opacity .25s;
}

.apt-ev-gallery__item:hover .apt-ev-gallery__overlay { opacity: 1; }

/* Lightbox */
.apt-lightbox {
    position:   fixed;
    inset:      0;
    z-index:    9999;
    display:    flex;
    align-items: center;
    justify-content: center;
    visibility: hidden;
    opacity:    0;
    transition: opacity .25s, visibility .25s;
}

.apt-lightbox.is-open {
    visibility: visible;
    opacity:    1;
}

.apt-lightbox-open { overflow: hidden; }

.apt-lightbox__backdrop {
    position:   absolute;
    inset:      0;
    background: rgba(0,0,0,.92);
}

.apt-lightbox__fig {
    position:   relative;
    z-index:    1;
    max-width:  90vw;
    max-height: 90vh;
    display:    flex;
    flex-direction: column;
    align-items: center;
    gap:        .75rem;
}

.apt-lightbox__img {
    max-width:    90vw;
    max-height:   80vh;
    object-fit:   contain;
    border-radius: var(--radius-xs);
    box-shadow:   0 25px 60px rgba(0,0,0,.5);
    display:      block;
}

.apt-lightbox__caption {
    color:      rgba(255,255,255,.8);
    font-size:  .875rem;
    text-align: center;
    max-width:  600px;
}

.apt-lightbox__counter {
    position: absolute;
    bottom:   -2rem;
    left:     50%;
    transform: translateX(-50%);
    color:    rgba(255,255,255,.5);
    font-size: .8rem;
}

.apt-lightbox__close,
.apt-lightbox__prev,
.apt-lightbox__next {
    position:  absolute;
    z-index:   2;
    background: rgba(255,255,255,.12);
    border:    none;
    color:     #fff;
    cursor:    pointer;
    border-radius: 50%;
    width:     44px;
    height:    44px;
    display:   flex;
    align-items:     center;
    justify-content: center;
    transition: background .2s;
    backdrop-filter: blur(4px);
}

.apt-lightbox__close:hover,
.apt-lightbox__prev:hover,
.apt-lightbox__next:hover { background: rgba(255,255,255,.25); }

.apt-lightbox__close { top: 1rem;   right: 1rem; }
.apt-lightbox__prev  { left: 1rem;  top: 50%; transform: translateY(-50%); }
.apt-lightbox__next  { right: 1rem; top: 50%; transform: translateY(-50%); }

/* --------------------------------------------------------------------------
   Organisateur — card redessinée (avatar + actions)
-------------------------------------------------------------------------- */

.apt-event-organizer-card {
    display:       flex;
    gap:           1.5rem;
    align-items:   flex-start;
    background:    var(--c-card);
    border:        1px solid var(--c-border);
    border-radius: var(--radius-sm);
    padding:       1.5rem;
    margin-top:    1.25rem;
    margin-bottom: 1.25rem;
}

.apt-event-organizer-card__avatar { flex-shrink: 0; }

.apt-event-organizer-card__img {
    width:         80px;
    height:        80px;
    border-radius: 50%;
    object-fit:    cover;
    object-position: center top;
    border:        3px solid var(--c-primary-l);
    display:       block;
}

.apt-event-organizer-card__initials {
    width:           80px;
    height:          80px;
    border-radius:   50%;
    background:      var(--c-primary-l);
    color:           var(--c-primary);
    display:         flex;
    align-items:     center;
    justify-content: center;
    font-size:       1.4rem;
    font-weight:     800;
    letter-spacing:  .02em;
}

.apt-event-organizer-card__name {
    font-size:   1.05rem;
    font-weight: 700;
    margin:      0 0 .6rem;
}

.apt-event-organizer-card__name a { color: var(--c-text); }
.apt-event-organizer-card__name a:hover { color: var(--c-primary); }

.apt-ev-organizer-actions {
    display:    flex;
    flex-wrap:  wrap;
    gap:        .5rem;
    margin-top: .85rem;
}

/* Twitter social button (manquait) */
.apt-social-btn--tw       { background: #e7f0fd; color: #1da1f2; }
.apt-social-btn--tw:hover { background: #1da1f2; color: #fff !important; }

/* --------------------------------------------------------------------------
   Lieu de l'événement
-------------------------------------------------------------------------- */

.apt-ev-venue__card {
    display:       flex;
    align-items:   stretch;
    background:    var(--c-card);
    border:        1px solid var(--c-border);
    border-radius: var(--radius-sm);
    overflow:      hidden;
    margin-bottom: 1.25rem;
}

.apt-ev-venue__img-wrap {
    flex-shrink: 0;
    width:       200px;
    min-height:  160px;
}

.apt-ev-venue__img {
    width:      100%;
    height:     100%;
    object-fit: cover;
    display:    block;
}

.apt-ev-venue__info {
    flex:      1;
    padding:   1.25rem 1.25rem 1.25rem 1.5rem;
    min-width: 0;
}

.apt-ev-venue__name {
    font-size:   1.05rem;
    font-weight: 700;
    margin:      .5rem 0 .75rem;
}

.apt-ev-venue__name a { color: var(--c-text); }
.apt-ev-venue__name a:hover { color: var(--c-primary); }

.apt-ev-venue__actions {
    display:   flex;
    flex-wrap: wrap;
    gap:       .5rem;
    margin-top: .85rem;
}

.apt-ev-map {
    border-radius: var(--radius-sm);
    overflow:      hidden;
    border:        1px solid var(--c-border);
}

.apt-ev-map iframe { display: block; }

.apt-ev-map__actions {
    display:    flex;
    gap:        .75rem;
    flex-wrap:  wrap;
    padding:    .75rem 1rem;
    background: var(--c-card);
    border-top: 1px solid var(--c-border);
}

/* --------------------------------------------------------------------------
   Sidebar — CTA + capacité + mini countdown
-------------------------------------------------------------------------- */

.apt-ev-sidebar-cta { text-align: center; }

.apt-ev-sidebar-cta__price {
    font-size:   1.6rem;
    font-weight: 800;
    color:       var(--c-accent);
    margin-bottom: .75rem;
    line-height: 1.1;
}

.apt-ev-sidebar-cta__price.is-free { color: var(--c-success); }

.apt-ev-capacity {
    margin-bottom: .85rem;
}

.apt-ev-capacity__bar {
    height:        8px;
    background:    var(--c-bg);
    border-radius: 99px;
    overflow:      hidden;
    margin-bottom: .4rem;
    border:        1px solid var(--c-border);
}

.apt-ev-capacity__fill {
    height:        100%;
    background:    var(--c-success);
    border-radius: 99px;
    transition:    width .5s ease;
}

.apt-ev-capacity__fill.is-high { background: var(--c-warning); }
.apt-ev-capacity__fill.is-full { background: var(--c-danger);  }

.apt-ev-capacity__label {
    font-size:  .82rem;
    color:      var(--c-text-2);
    display:    flex;
    align-items: center;
    justify-content: space-between;
}

.apt-ev-capacity__pct { color: var(--c-muted); }

.apt-btn--disabled {
    cursor:      default;
    opacity:     .55;
    pointer-events: none;
    background:  var(--c-bg);
    border-color: var(--c-border);
    color:       var(--c-muted);
}

.apt-contact-sub {
    display:   block;
    font-size: .8rem;
    color:     var(--c-muted);
    font-weight: 400;
}

/* Mini countdown sidebar */
.apt-ev-sidebar__mini-countdown {
    text-align: center;
    padding:    1rem 1.25rem;
}

.apt-ev-sidebar__mini-label {
    font-size:  .75rem;
    color:      var(--c-muted);
    margin:     0 0 .5rem;
    text-transform: uppercase;
    letter-spacing: .05em;
    font-weight: 600;
}

.apt-ev-mini-countdown {
    display:     flex;
    align-items: baseline;
    justify-content: center;
    gap:         .25rem;
    font-size:   1.4rem;
    font-weight: 800;
    color:       var(--c-primary);
    font-variant-numeric: tabular-nums;
}

.apt-ev-mini-countdown__unit {
    display:     flex;
    align-items: baseline;
    gap:         .1rem;
}

.apt-ev-mini-countdown__unit em {
    font-style:  normal;
    font-size:   .65rem;
    font-weight: 600;
    color:       var(--c-muted);
    margin-left: .05rem;
}

.apt-ev-mini-countdown__sep {
    color:       var(--c-muted);
    font-weight: 400;
}

/* WhatsApp share */
.apt-share-btn--wa {
    background: #25d366;
    color:      #fff !important;
}
.apt-share-btn--wa:hover { background: #1da851; }

/* Telegram */
.apt-share-btn--tg {
    background: #0088cc;
    color:      #fff !important;
}
.apt-share-btn--tg:hover { background: #006da3; }

/* Instagram */
.apt-share-btn--ig {
    background: #fce7f3;
    color:      #e1306c;
}
.apt-share-btn--ig:hover { background: #e1306c; color: #fff !important; }
.apt-share-btn--ig.is-copied { background: var(--c-success); color: #fff !important; }

/* LinkedIn */
.apt-share-btn--li {
    background: #e7f0fa;
    color:      #0a66c2;
}
.apt-share-btn--li:hover { background: #0a66c2; color: #fff !important; }

/* Email */
.apt-share-btn--email {
    background: var(--c-bg);
    color:      var(--c-text-2);
    border:     1px solid var(--c-border);
}
.apt-share-btn--email:hover { background: var(--c-primary); color: #fff !important; border-color: var(--c-primary); }

/* Copier le lien */
.apt-share-btn--copy {
    background: var(--c-bg);
    color:      var(--c-text-2);
    border:     1px solid var(--c-border);
    cursor:     pointer;
    font-family: inherit;
}
.apt-share-btn--copy:hover { background: var(--c-primary); color: #fff !important; border-color: var(--c-primary); }
.apt-share-btn--copy.is-copied { background: var(--c-success); color: #fff !important; border-color: var(--c-success); }

/* Petit tag */
.apt-tag--sm {
    font-size:   .72rem;
    padding:     .2rem .55rem;
    margin-bottom: .35rem;
    display:     inline-flex;
}

/* --------------------------------------------------------------------------
   Événements similaires
-------------------------------------------------------------------------- */

.apt-ev-related {
    background:   var(--c-bg);
    border-top:   1px solid var(--c-border);
    padding:      3rem 0 4rem;
    margin-top:   3rem;
}

.apt-ev-related__title {
    font-size:   1.4rem;
    font-weight: 800;
    margin:      0 0 1.5rem;
    color:       var(--c-text);
}

.apt-ev-related__grid {
    display:               grid;
    grid-template-columns: repeat(4, 1fr);
    gap:                   1rem;
}

.apt-ev-related-card {
    background:     var(--c-card);
    border:         1px solid var(--c-border);
    border-radius:  var(--radius-sm);
    overflow:       hidden;
    transition:     box-shadow var(--transition), transform var(--transition);
    display:        flex;
    flex-direction: column;
}

.apt-ev-related-card:hover {
    box-shadow: var(--shadow);
    transform:  translateY(-3px);
}

.apt-ev-related-card__img-wrap {
    display:      block;
    aspect-ratio: 3/2;
    overflow:     hidden;
    position:     relative;
    flex-shrink:  0;
}

.apt-ev-related-card__img {
    width:      100%;
    height:     100%;
    object-fit: cover;
    transition: transform .4s ease;
    display:    block;
}

.apt-ev-related-card:hover .apt-ev-related-card__img { transform: scale(1.04); }

.apt-ev-related-card__placeholder {
    width:      100%;
    height:     100%;
    background: linear-gradient(135deg, var(--c-primary-l) 0%, rgba(var(--c-primary-rgb),.15) 100%);
}

.apt-ev-related-card__date {
    position:        absolute;
    top:             .65rem;
    left:            .65rem;
    background:      var(--c-primary);
    color:           #fff;
    border-radius:   var(--radius-xs);
    padding:         .3rem .5rem;
    text-align:      center;
    line-height:     1.1;
    box-shadow:      var(--shadow-sm);
}

.apt-ev-related-card__day   { display: block; font-size: 1rem;  font-weight: 800; }
.apt-ev-related-card__month { display: block; font-size: .6rem; font-weight: 600; text-transform: uppercase; opacity: .85; }

.apt-ev-related-card__body {
    padding:        .85rem;
    flex:           1;
    display:        flex;
    flex-direction: column;
}

.apt-ev-related-card__title {
    font-size:   .9rem;
    font-weight: 700;
    margin:      .3rem 0 .5rem;
    line-height: 1.3;
    flex:        1;
}

.apt-ev-related-card__title a { color: var(--c-text); }
.apt-ev-related-card__title a:hover { color: var(--c-primary); }

.apt-ev-related-card__meta {
    display:    flex;
    flex-wrap:  wrap;
    gap:        .3rem .6rem;
    font-size:  .74rem;
    color:      var(--c-muted);
    margin-top: auto;
}

.apt-ev-related-card__meta span {
    display:     inline-flex;
    align-items: center;
    gap:         .3rem;
}

.apt-ev-price-free { color: var(--c-success); font-weight: 600; }

/* --------------------------------------------------------------------------
   Responsive — Événements
-------------------------------------------------------------------------- */

@media (max-width: 1100px) {
    .apt-ev-related__grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 900px) {
    .apt-ev-venue__card       { flex-direction: column; }
    .apt-ev-venue__img-wrap   { width: 100%; min-height: 0; height: 220px; }
    .apt-ev-venue__info       { padding: 1rem; }
    .apt-ev-gallery           { grid-template-columns: repeat(2, 1fr); }
    .apt-ev-related__grid     { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
    .apt-ev-countdown__num            { font-size: 1.3rem; }
    .apt-ev-countdown__unit           { min-width: 46px; }
    .apt-ev-countdown__sep            { font-size: 1.3rem; margin-top: .5rem; }
    .apt-ev-countdown__status-label   { border-right: none; padding-right: 0; }

    .apt-event-organizer-card { flex-direction: column; align-items: flex-start; gap: 1rem; }

    .apt-lightbox__prev { left: .35rem; }
    .apt-lightbox__next { right: .35rem; }
}

@media (max-width: 540px) {
    .apt-ev-related__grid {
        display:                    flex;
        overflow-x:                 auto;
        scroll-snap-type:           x mandatory;
        -webkit-overflow-scrolling: touch;
        gap:                        .85rem;
        padding-bottom:             .5rem;
    }
    .apt-ev-related-card {
        flex:              0 0 80vw;
        max-width:         300px;
        scroll-snap-align: start;
    }
}

@media (max-width: 480px) {
    .apt-ev-countdown-bar__inner { gap: .5rem 1rem; }
    .apt-ev-countdown__unit      { min-width: 40px; padding: .35rem .4rem .25rem; }
    .apt-ev-countdown__num       { font-size: 1.1rem; }
    .apt-ev-countdown__sep       { font-size: 1.1rem; margin-top: .35rem; }
    .apt-ev-gallery              { grid-template-columns: repeat(2, 1fr); }
}

/* ==========================================================================
   PAGE CATÉGORIE — Hero, Stats, Résultats, Explorer, Sidebar enrichie
   ========================================================================== */

.apt-cat-hero {
    position:      relative;
    padding:       3rem 0 2.5rem;
    overflow:      hidden;
    text-align:    center;
    color:         #fff;
}

.apt-cat-hero__bg {
    position:   absolute;
    inset:      0;
    background:
        radial-gradient(circle at 20% 80%, rgba(var(--c-accent-rgb),.2), transparent 50%),
        radial-gradient(circle at 80% 20%, rgba(var(--c-primary-rgb),.3), transparent 50%),
        linear-gradient(135deg, var(--c-primary-d) 0%, var(--c-primary) 60%, #0a8a7a 100%);
    z-index:    0;
}

.apt-cat-hero__content {
    position: relative;
    z-index:  1;
}

.apt-cat-hero__icon-wrap {
    display:         inline-flex;
    align-items:     center;
    justify-content: center;
    width:           64px;
    height:          64px;
    border-radius:   18px;
    background:      rgba(255,255,255,.15);
    backdrop-filter: blur(8px);
    color:           #fff;
    margin-bottom:   1rem;
}

.apt-cat-hero__icon-wrap svg {
    width:  32px;
    height: 32px;
}

.apt-cat-hero__title {
    font-size:      2.2rem;
    font-weight:    800;
    margin-bottom:  .5rem;
    letter-spacing: -.02em;
}

.apt-cat-hero__desc {
    max-width:     600px;
    margin:        0 auto .75rem;
    font-size:     1rem;
    opacity:       .8;
    line-height:   1.6;
}

.apt-cat-hero__stats {
    display:         flex;
    justify-content: center;
    gap:             1rem;
}

.apt-cat-hero__stat {
    display:     inline-flex;
    align-items: center;
    gap:         .35rem;
    padding:     .35rem .85rem;
    background:  rgba(255,255,255,.12);
    border-radius: 50px;
    font-size:   .85rem;
    backdrop-filter: blur(4px);
}

.apt-cat-hero__stat strong {
    font-weight: 800;
}

/* Statistiques rapides */
.apt-cat-quickstats {
    background:  var(--c-card);
    border-bottom: 1px solid var(--c-border);
    padding:     1rem 0;
}

.apt-cat-quickstats__grid {
    display:     flex;
    gap:         .5rem;
    overflow-x:  auto;
    scrollbar-width: none;
    justify-content: center;
}

.apt-cat-quickstats__grid::-webkit-scrollbar { display: none; }

.apt-cat-quickstats__item {
    display:        flex;
    flex-direction: column;
    align-items:    center;
    padding:        .6rem 1.2rem;
    border-radius:  var(--radius-sm);
    font-size:      .75rem;
    color:          var(--c-muted);
    white-space:    nowrap;
    transition:     all var(--transition);
}

.apt-cat-quickstats__item strong {
    font-size:   1.1rem;
    font-weight: 800;
    color:       var(--c-text);
    line-height: 1;
    margin-bottom: .15rem;
}

.apt-cat-quickstats__item.is-active {
    background: var(--c-primary-l);
    color:      var(--c-primary);
}

.apt-cat-quickstats__item.is-active strong {
    color: var(--c-primary);
}

/* Sous-catégories (badges/chips) */
.apt-category-chips-bar {
    background:    var(--c-card);
    border-bottom: 1px solid var(--c-border);
    padding:       1rem 0;
}

.apt-category-chips {
    display:   flex;
    flex-wrap: wrap;
    gap:       .5rem;
}

.apt-chip {
    display:        inline-flex;
    align-items:    center;
    gap:            .4rem;
    padding:        .5rem 1.1rem;
    border-radius:  999px;
    border:         1px solid var(--c-border);
    background:     var(--c-bg);
    color:          var(--c-text);
    font-size:      .85rem;
    font-weight:    600;
    white-space:    nowrap;
    transition:     all var(--transition);
}

.apt-chip:hover {
    border-color: var(--c-primary);
    color:        var(--c-primary);
    background:   var(--c-primary-l);
}

.apt-chip--active {
    background:   var(--c-primary);
    border-color: var(--c-primary);
    color:        #fff !important;
}

.apt-chip__count {
    font-size:   .75rem;
    font-weight: 700;
    opacity:     .75;
}

.apt-chip--active .apt-chip__count {
    opacity: .85;
}

/* Barre de résultats */
.apt-results-bar {
    display:       flex;
    align-items:   center;
    justify-content: space-between;
    flex-wrap:     wrap;
    gap:           .75rem;
    margin-bottom: 1.25rem;
    padding-bottom: .75rem;
    border-bottom: 1px solid var(--c-border);
}

.apt-results-bar__count {
    font-size: .88rem;
    color:     var(--c-muted);
}

.apt-results-bar__count strong {
    color:       var(--c-text);
    font-weight: 700;
}

/* Sidebar — Événements */
.apt-sidebar-events {
    list-style: none;
    padding:    0;
    margin:     0;
    display:    flex;
    flex-direction: column;
    gap:        .5rem;
}

.apt-sidebar-events li a {
    display:       flex;
    align-items:   center;
    gap:           .75rem;
    padding:       .5rem;
    border-radius: var(--radius-xs);
    text-decoration: none;
    transition:    background var(--transition);
}

.apt-sidebar-events li a:hover {
    background: var(--c-primary-l);
}

.apt-sidebar-ev__date {
    flex-shrink: 0;
    width:       50px;
    text-align:  center;
    font-size:   .72rem;
    font-weight: 700;
    color:       var(--c-primary);
    background:  var(--c-primary-l);
    padding:     .3rem .4rem;
    border-radius: var(--radius-xs);
    text-transform: uppercase;
}

.apt-sidebar-ev__title {
    font-size:   .85rem;
    font-weight: 600;
    color:       var(--c-text);
    line-height: 1.3;
}

/* Sidebar — Sponsors */
.apt-sidebar-sponsors {
    list-style: none;
    padding:    0;
    margin:     0;
    display:    flex;
    flex-direction: column;
    gap:        .6rem;
}

.apt-sidebar-sponsors li a {
    display:         flex;
    align-items:     center;
    gap:             .75rem;
    padding:         .35rem;
    margin:          -.35rem;
    border-radius:   var(--radius-xs);
    text-decoration: none;
    transition:      background var(--transition);
}

.apt-sidebar-sponsors li a:hover {
    background: var(--c-primary-l);
}

.apt-sidebar-sponsors li a:hover .apt-sidebar-sp__name {
    color: var(--c-primary);
}

.apt-sidebar-sp__logo {
    width:           40px;
    height:          40px;
    flex-shrink:     0;
    border-radius:   10px;
    overflow:        hidden;
    border:          1px solid var(--c-border);
    display:         flex;
    align-items:     center;
    justify-content: center;
    background:      #fff;
    padding:         .2rem;
}

.apt-sidebar-sp__logo img {
    width:      100%;
    height:     100%;
    object-fit: contain;
}

.apt-sidebar-sp__logo span {
    font-size:   .7rem;
    font-weight: 800;
    color:       var(--c-primary);
}

.apt-sidebar-sp__name {
    font-size:   .85rem;
    font-weight: 600;
    color:       var(--c-text);
    transition:  color var(--transition);
}

/* Explorer également */
.apt-explore-more {
    background:  var(--c-bg);
    border-top:  1px solid var(--c-border);
    padding:     3rem 0 4rem;
    margin-top:  2rem;
}

.apt-explore-more__title {
    font-size:   1.4rem;
    font-weight: 800;
    color:       var(--c-text);
    margin:      0 0 1.5rem;
}

.apt-explore-more__grid {
    display:               grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap:                   1rem;
}

.apt-explore-more__card {
    display:        flex;
    flex-direction: column;
    align-items:    center;
    gap:            .4rem;
    padding:        1.25rem 1rem;
    background:     var(--c-card);
    border:         1px solid var(--c-border);
    border-radius:  var(--radius);
    text-decoration: none;
    text-align:     center;
    transition:     all var(--transition);
}

.apt-explore-more__card:hover {
    border-color: rgba(var(--c-primary-rgb),.3);
    box-shadow:   var(--shadow);
    transform:    translateY(-3px);
}

.apt-explore-more__icon {
    display:         flex;
    align-items:     center;
    justify-content: center;
    width:           48px;
    height:          48px;
    border-radius:   14px;
    background:      var(--c-primary-l);
    color:           var(--c-primary);
    transition:      transform var(--transition);
}

.apt-explore-more__card:hover .apt-explore-more__icon {
    transform: scale(1.1);
}

.apt-explore-more__icon svg {
    width:  24px;
    height: 24px;
}

.apt-explore-more__name {
    font-size:   .9rem;
    font-weight: 700;
    color:       var(--c-text);
}

.apt-explore-more__count {
    font-size: .75rem;
    color:     var(--c-muted);
}

/* Responsive — Page catégorie */
@media (max-width: 768px) {
    .apt-cat-hero { padding: 2rem 0 1.5rem; }
    .apt-cat-hero__title { font-size: 1.6rem; }
    .apt-cat-hero__icon-wrap { width: 50px; height: 50px; }
    .apt-cat-hero__icon-wrap svg { width: 24px; height: 24px; }
    .apt-explore-more__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 480px) {
    .apt-cat-hero__title { font-size: 1.35rem; }
    .apt-explore-more__grid { grid-template-columns: 1fr 1fr; gap: .75rem; }
    .apt-explore-more__card { padding: 1rem .75rem; }
}

/* ==========================================================================
   FICHE SPONSOR
   ========================================================================== */

.apt-sponsor-hero {
    position:   relative;
    padding:    3rem 0;
    overflow:   hidden;
    color:      #fff;
}

.apt-sponsor-hero__bg {
    position:   absolute;
    inset:      0;
    background:
        radial-gradient(circle at 20% 80%, rgba(212,175,55,.2), transparent 50%),
        radial-gradient(circle at 80% 20%, rgba(var(--c-primary-rgb),.3), transparent 50%),
        linear-gradient(135deg, var(--c-primary-d) 0%, var(--c-primary) 60%, #0a8a7a 100%);
    z-index:    0;
}

.apt-sponsor-hero__content {
    position:    relative;
    z-index:     1;
    display:     flex;
    align-items: center;
    gap:         2rem;
}

.apt-sponsor-hero__logo {
    flex-shrink:     0;
    width:           120px;
    height:          120px;
    border-radius:   20px;
    overflow:        hidden;
    background:      rgba(255,255,255,.15);
    backdrop-filter: blur(8px);
    border:          3px solid rgba(255,255,255,.3);
    display:         flex;
    align-items:     center;
    justify-content: center;
    padding:         .5rem;
}

.apt-sponsor-hero__logo-img {
    width:         100%;
    height:        100%;
    object-fit:    contain;
    border-radius: 12px;
}

.apt-sponsor-hero__initials {
    font-size:   2.5rem;
    font-weight: 800;
    color:       #fff;
    opacity:     .7;
}

.apt-sponsor-hero__badges {
    margin-bottom: .5rem;
}

.apt-sponsor-hero__title {
    font-size:      2rem;
    font-weight:    800;
    margin:         0 0 .3rem;
    letter-spacing: -.02em;
}

.apt-sponsor-hero__role {
    font-size:   1rem;
    font-weight: 600;
    opacity:     .85;
    margin:      0 0 .15rem;
}

.apt-sponsor-hero__company {
    font-size:  .9rem;
    opacity:    .7;
    margin:     0;
    font-style: italic;
}

.apt-sponsor-services {
    list-style:    none;
    padding:       0;
    margin:        0;
    display:       grid;
    grid-template-columns: repeat(2, 1fr);
    gap:           .5rem .75rem;
}

.apt-sponsor-services li {
    display:     flex;
    align-items: center;
    gap:         .4rem;
    font-size:   .9rem;
    color:       var(--c-text-2);
    padding:     .4rem .6rem;
    background:  var(--c-bg);
    border-radius: var(--radius-xs);
}

.apt-sponsor-services li svg {
    color:      var(--c-primary);
    flex-shrink: 0;
    width:      16px;
    height:     16px;
}

@media (max-width: 600px) {
    .apt-sponsor-hero__content {
        flex-direction: column;
        text-align:     center;
    }
    .apt-sponsor-hero__logo {
        width:  90px;
        height: 90px;
    }
    .apt-sponsor-hero__title { font-size: 1.5rem; }
    .apt-sponsor-services { grid-template-columns: 1fr; }
}
/* ==========================================================================
   PWA — Bouton d'installation (mobile uniquement)
   ========================================================================== */

.apt-pwa-install-btn {
    display:        none;
    position:       fixed;
    right:          1rem;
    bottom:         1rem;
    z-index:        999;
    height:         44px;
    align-items:    center;
    justify-content: center;
    gap:            .5rem;
    padding:        0 1rem 0 .8rem;
    border:         none;
    border-radius:  999px;
    background:     var(--c-primary);
    color:          #fff;
    font-size:      .85rem;
    font-weight:    600;
    white-space:    nowrap;
    box-shadow:     0 6px 18px rgba(var(--c-primary-rgb), .35);
    cursor:         pointer;
    transition:     transform var(--transition), box-shadow var(--transition);
}

.apt-pwa-install-btn svg { flex-shrink: 0; }

.apt-pwa-install-btn:hover { transform: translateY(-2px); box-shadow: 0 8px 22px rgba(var(--c-primary-rgb), .45); }

@media (max-width: 768px) {
    .apt-pwa-install-btn:not([hidden]) { display: flex; }
}

.apt-pwa-ios-tip {
    display:        none;
    position:       fixed;
    left:           1rem;
    right:          1rem;
    bottom:         1rem;
    z-index:        999;
    background:     var(--c-text);
    color:          #fff;
    border-radius:  var(--radius-sm);
    padding:        .85rem 1rem;
    box-shadow:     0 8px 24px rgba(0,0,0,.25);
    align-items:    center;
    gap:            .5rem;
}

.apt-pwa-ios-tip[data-visible="1"] { display: flex; }

.apt-pwa-ios-tip p {
    flex:        1;
    margin:      0;
    font-size:   .85rem;
    line-height: 1.4;
    display:     flex;
    align-items: center;
    gap:         .35rem;
    flex-wrap:   wrap;
}

.apt-pwa-ios-tip svg { flex-shrink: 0; }

.apt-pwa-ios-tip button {
    background: none;
    border:     none;
    color:      #fff;
    font-size:  1.3rem;
    line-height: 1;
    cursor:     pointer;
    padding:    0 .25rem;
    flex-shrink: 0;
}
