/*
Theme Name: AfricaPlaisir Premium
Theme URI: https://africaplaisir.com/
Author: AfricaPlaisir
Description: Thème enfant premium pour Vehica — interface noir mat, rouge rubis et or champagne, grille compacte et navigation internationale.
Template: vehica
Version: 1.3.0
License: GNU General Public License v2 or later
Text Domain: africaplaisir-premium
*/

:root {
    --ap-black: #050505;
    --ap-black-soft: #0a0a0c;
    --ap-panel: #101014;
    --ap-panel-2: #15151a;
    --ap-ruby: #B11226;
    --ap-ruby-dark: #86101d;
    --ap-gold: #D4AF37;
    --ap-gold-soft: #ead77b;
    --ap-white: #ffffff;
    --ap-muted: #a7a7ad;
    --ap-border: rgba(212, 175, 55, .20);
    --ap-radius: 14px;
}

body.africaplaisir-premium {
    background: var(--ap-black);
    color: var(--ap-white);
}

body.africaplaisir-premium a { transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease; }

/* Header / navigation */
body.africaplaisir-premium .vehica-menu,
body.africaplaisir-premium .vehica-menu__wrapper,
body.africaplaisir-premium .vehica-mobile-menu,
body.africaplaisir-premium .vehica-mobile-menu__wrapper {
    background: #080809 !important;
    border-color: var(--ap-border) !important;
}

body.africaplaisir-premium .vehica-menu a:hover,
body.africaplaisir-premium .vehica-menu .current-menu-item > a { color: var(--ap-gold) !important; }

/* Buttons */
body.africaplaisir-premium .vehica-button,
body.africaplaisir-premium button[type="submit"],
body.africaplaisir-premium input[type="submit"] {
    border-radius: 10px !important;
    background: var(--ap-ruby) !important;
    color: #fff !important;
    border: 1px solid var(--ap-ruby) !important;
    box-shadow: none !important;
}
body.africaplaisir-premium .vehica-button:hover,
body.africaplaisir-premium button[type="submit"]:hover,
body.africaplaisir-premium input[type="submit"]:hover {
    background: var(--ap-ruby-dark) !important;
    border-color: var(--ap-gold) !important;
}

/* Search / filters */
body.africaplaisir-premium .vehica-inventory-v1__top,
body.africaplaisir-premium .vehica-inventory-v1__middle,
body.africaplaisir-premium .vehica-results__fields,
body.africaplaisir-premium .vehica-search-v1,
body.africaplaisir-premium .vehica-search-v2 {
    background: var(--ap-panel) !important;
    border-color: var(--ap-border) !important;
}
body.africaplaisir-premium input,
body.africaplaisir-premium select,
body.africaplaisir-premium textarea,
body.africaplaisir-premium .vs__dropdown-toggle {
    background: #08080a !important;
    color: var(--ap-white) !important;
    border-color: rgba(255,255,255,.14) !important;
    border-radius: 10px !important;
}
body.africaplaisir-premium input:focus,
body.africaplaisir-premium select:focus,
body.africaplaisir-premium textarea:focus,
body.africaplaisir-premium .vs--open .vs__dropdown-toggle { border-color: var(--ap-gold) !important; }

/* Cards Vehica — sélecteurs précis (ne jamais cibler les sous-éléments image) */
body.africaplaisir-premium .vehica-car-card {
    height: 100%;
    border-radius: var(--ap-radius) !important;
}

body.africaplaisir-premium .vehica-car-card__inner,
body.africaplaisir-premium .vehica-car-card-v1 .vehica-car-card__inner,
body.africaplaisir-premium .vehica-car-card-v2 .vehica-car-card__inner,
body.africaplaisir-premium .vehica-car-card-v3 .vehica-car-card__inner,
body.africaplaisir-premium .vehica-car-card-v4 .vehica-car-card__inner {
    background: var(--ap-panel) !important;
    border: 1px solid var(--ap-border) !important;
    border-radius: var(--ap-radius) !important;
    overflow: hidden !important;
    box-shadow: none !important;
    transition: transform .22s ease, border-color .22s ease !important;
}

@media (min-width: 1023px) {
    body.africaplaisir-premium .vehica-car-card__inner:hover {
        transform: translateY(-3px);
        border-color: var(--ap-gold) !important;
    }
}

/* Zone photo : conserver l'image réelle fournie par Vehica */
body.africaplaisir-premium .vehica-car-card__image-bg {
    position: relative !important;
    background: #16161a !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 0 !important;
    height: auto !important;
}

body.africaplaisir-premium .vehica-car-card__image {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
}

body.africaplaisir-premium .vehica-car-card__image img {
    display: block !important;
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: center top !important;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 1 !important;
}

body.africaplaisir-premium .vehica-car-card__image-info,
body.africaplaisir-premium .vehica-car-card__image__favorite {
    z-index: 4 !important;
}

body.africaplaisir-premium .vehica-car-card__content,
body.africaplaisir-premium .vehica-car-card-v2 .vehica-car-card__content,
body.africaplaisir-premium .vehica-car-card-v4 .vehica-car-card__content {
    background: var(--ap-panel) !important;
    color: var(--ap-white) !important;
}

body.africaplaisir-premium .vehica-car-card__name,
body.africaplaisir-premium .vehica-car-card__name:focus,
body.africaplaisir-premium .vehica-car-card__name:hover,
body.africaplaisir-premium .vehica-car-card h3,
body.africaplaisir-premium .vehica-car-card h4 {
    color: var(--ap-white) !important;
}

body.africaplaisir-premium .vehica-car-card__price,
body.africaplaisir-premium .vehica-car-card [class*="price"] {
    color: var(--ap-gold) !important;
}

body.africaplaisir-premium .vehica-car-card__separator {
    background: rgba(212,175,55,.18) !important;
}

body.africaplaisir-premium .vehica-car-card__info__single,
body.africaplaisir-premium .vehica-car-card__info__features {
    color: var(--ap-muted) !important;
}

body.africaplaisir-premium .vehica-car-card__info__single:first-child {
    color: #fff !important;
    background: var(--ap-ruby) !important;
}

/* Force a dense four-column directory on desktop where Vehica uses CSS grid/flex */
@media (min-width: 1200px) {
    body.africaplaisir-premium .vehica-inventory-v1__cars > .vehica-grid,
    body.africaplaisir-premium .vehica-inventory-v1__cars > div[class*="grid"],
    body.africaplaisir-premium .vehica-car-grid,
    body.africaplaisir-premium .vehica-grid--cars {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 16px !important;
    }
}
@media (min-width: 768px) and (max-width: 1199px) {
    body.africaplaisir-premium .vehica-inventory-v1__cars > .vehica-grid,
    body.africaplaisir-premium .vehica-car-grid,
    body.africaplaisir-premium .vehica-grid--cars {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 14px !important;
    }
}
@media (max-width: 767px) {
    body.africaplaisir-premium .vehica-inventory-v1__cars > .vehica-grid,
    body.africaplaisir-premium .vehica-car-grid,
    body.africaplaisir-premium .vehica-grid--cars {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
    }
}

/* AfricaPlaisir country sidebar shortcode */
.ap-directory-shell { display:grid; grid-template-columns: 250px minmax(0,1fr); gap:20px; align-items:start; }
.ap-country-sidebar {
    background: var(--ap-black-soft);
    border: 1px solid var(--ap-border);
    border-radius: var(--ap-radius);
    overflow:hidden;
    position:sticky;
    top:18px;
}
.ap-country-sidebar__head { padding:18px; border-bottom:1px solid var(--ap-border); }
.ap-country-sidebar__title { margin:0; font-size:18px; color:#fff; }
.ap-country-sidebar__subtitle { margin:5px 0 0; font-size:12px; color:var(--ap-muted); }
.ap-country-sidebar__continent { padding:14px 14px 7px; color:var(--ap-gold); font-size:11px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.ap-country-group { border-top:1px solid rgba(255,255,255,.055); }
.ap-country-toggle { width:100%; display:flex; align-items:center; justify-content:space-between; gap:8px; padding:11px 14px; background:transparent; color:#eee; border:0; cursor:pointer; text-align:left; }
.ap-country-toggle:hover { background:#151518; color:var(--ap-gold); }
.ap-country-toggle__left { display:flex; align-items:center; gap:9px; }
.ap-country-count { color:var(--ap-muted); font-size:12px; }
.ap-country-arrow { color:var(--ap-gold); transition:transform .2s ease; }
.ap-country-group.is-open .ap-country-arrow { transform:rotate(45deg); }
.ap-city-list { display:none; padding:0 10px 10px 37px; }
.ap-country-group.is-open .ap-city-list { display:block; }
.ap-city-list a { display:block; padding:7px 8px; color:var(--ap-muted); font-size:13px; border-radius:7px; }
.ap-city-list a:hover { color:#fff; background:var(--ap-ruby); }
.ap-sidebar-mobile-toggle { display:none; width:100%; margin-bottom:12px; padding:11px 14px; border-radius:10px; background:var(--ap-ruby); color:#fff; border:1px solid var(--ap-gold); font-weight:700; }

.ap-premium-content { min-width:0; }
.ap-premium-title { margin:0 0 5px; color:#fff; }
.ap-premium-kicker { color:var(--ap-gold); font-size:11px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }

/* Helper badges */
.ap-badge { display:inline-flex; align-items:center; border-radius:999px; padding:4px 8px; font-size:11px; font-weight:800; }
.ap-badge--vip { background:var(--ap-gold); color:#050505; }
.ap-badge--premium { background:var(--ap-ruby); color:#fff; }
.ap-badge--verified { background:#121212; color:var(--ap-gold); border:1px solid var(--ap-gold); }

@media (max-width: 991px) {
    .ap-directory-shell { display:block; }
    .ap-sidebar-mobile-toggle { display:block; }
    .ap-country-sidebar { display:none; position:static; margin-bottom:16px; }
    .ap-country-sidebar.is-mobile-open { display:block; }
}


/* =========================================================
   V3 — STRUCTURE EURO : SIDEBAR GAUCHE + CONTENU À DROITE
   ========================================================= */
body.africaplaisir-premium.ap-directory-ready .ap-legacy-home-hero {
    display: none !important;
}

.ap-euro-layout {
    width: 100%;
    max-width: 1920px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 285px minmax(0, 1fr);
    align-items: start;
    gap: 0;
    background: #f3f3f3;
    color: #111;
}

.ap-euro-layout__sidebar {
    min-height: 100%;
    padding: 0;
    background: #090909;
    border-right: 1px solid rgba(212,175,55,.24);
}

.ap-euro-layout__sidebar .ap-country-sidebar {
    position: sticky;
    top: 0;
    border: 0;
    border-radius: 0;
    min-height: 100vh;
}

.ap-euro-layout__main {
    min-width: 0;
    padding: 22px 24px 40px;
    background: #f4f4f4;
}

.ap-euro-layout__main > * {
    max-width: none !important;
}

.ap-premium-banner-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 8px 0 18px;
}

.ap-premium-banner {
    min-height: 86px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    color: #fff;
    text-align: center;
    font-weight: 800;
    letter-spacing: .04em;
    background: linear-gradient(135deg, #050505 0%, #1b0a0e 55%, #B11226 100%);
    border: 1px solid rgba(212,175,55,.38);
}

.ap-premium-banner span { color: #D4AF37; }

body.africaplaisir-premium.ap-directory-ready .ap-euro-layout__main h1,
body.africaplaisir-premium.ap-directory-ready .ap-euro-layout__main h2,
body.africaplaisir-premium.ap-directory-ready .ap-euro-layout__main h3 {
    color: #B11226 !important;
}

/* White/grey directory canvas like Euro, while cards remain dark premium */
body.africaplaisir-premium.ap-directory-ready .ap-euro-layout__main .elementor,
body.africaplaisir-premium.ap-directory-ready .ap-euro-layout__main .elementor-section,
body.africaplaisir-premium.ap-directory-ready .ap-euro-layout__main .e-con,
body.africaplaisir-premium.ap-directory-ready .ap-euro-layout__main [class*="vehica-inventory"] {
    background-color: transparent !important;
}

body.africaplaisir-premium.ap-directory-ready .ap-euro-layout__main .vehica-car-card__inner {
    background: #101014 !important;
}

.ap-euro-mobile-countries {
    display: none;
    width: 100%;
    margin: 0 0 14px;
    padding: 12px 14px;
    background: #B11226;
    color: #fff;
    border: 1px solid #D4AF37;
    border-radius: 8px;
    font-weight: 800;
}

@media (max-width: 991px) {
    .ap-euro-layout { display: block; }
    .ap-euro-layout__sidebar { display: none; }
    .ap-euro-layout.is-sidebar-open .ap-euro-layout__sidebar { display: block; }
    .ap-euro-layout__sidebar .ap-country-sidebar { position: static; min-height: 0; }
    .ap-euro-mobile-countries { display: block; }
    .ap-euro-layout__main { padding: 14px 10px 28px; }
    .ap-premium-banner-row { grid-template-columns: 1fr; }
}


/* =========================================================
   V4 — FIL D’ARIANE PREMIUM, DESKTOP + MOBILE
   ========================================================= */
.ap-breadcrumb-slot {
    width: 100%;
    margin: 0 0 16px;
}

.ap-breadcrumb {
    width: 100%;
    overflow: hidden;
    background: #f1f1f2;
    border: 1px solid rgba(5, 5, 5, .07);
    border-radius: 999px;
    box-shadow: 0 8px 24px rgba(5, 5, 5, .05);
}

.ap-breadcrumb__list {
    display: flex;
    align-items: center;
    gap: 0;
    min-height: 64px;
    margin: 0;
    padding: 0 28px;
    list-style: none;
    white-space: nowrap;
}

.ap-breadcrumb__item {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: .01em;
    color: #18181b;
}

.ap-breadcrumb__item:not(:last-child)::after {
    content: '›';
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0 22px;
    color: #77777d;
    font-size: 24px;
    font-weight: 400;
    line-height: 1;
}

.ap-breadcrumb__item a,
.ap-breadcrumb__item span {
    color: inherit !important;
    text-decoration: none !important;
}

.ap-breadcrumb__item a:hover,
.ap-breadcrumb__item a:focus-visible {
    color: var(--ap-ruby) !important;
}

.ap-breadcrumb__item.is-current {
    color: #9a7411;
    font-weight: 800;
}

.ap-breadcrumb__item a:focus-visible {
    outline: 2px solid var(--ap-gold);
    outline-offset: 5px;
    border-radius: 4px;
}

/* Tablet */
@media (max-width: 991px) {
    .ap-breadcrumb-slot { margin-bottom: 12px; }
    .ap-breadcrumb__list {
        min-height: 56px;
        padding: 0 20px;
    }
    .ap-breadcrumb__item { font-size: 15px; }
    .ap-breadcrumb__item:not(:last-child)::after { margin: 0 15px; }
}

/* Mobile: one line, finger-friendly horizontal scroll */
@media (max-width: 600px) {
    .ap-breadcrumb {
        border-radius: 18px;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }
    .ap-breadcrumb::-webkit-scrollbar { display: none; }
    .ap-breadcrumb__list {
        width: max-content;
        min-width: 100%;
        min-height: 50px;
        padding: 0 15px;
    }
    .ap-breadcrumb__item {
        min-height: 44px;
        font-size: 13px;
    }
    .ap-breadcrumb__item:not(:last-child)::after {
        margin: 0 10px;
        font-size: 20px;
    }
}
