/* ============================================================
   ta-refresh.css
   Design des sections refondues - charte jaune #ffb927 / noir #101010
   Aucune ombre portee (box-shadow). Override agressif des CSS
   existants (styletc.css, modern-flat.css, csstc/*) via !important
   ============================================================ */

/* --- Fixes globaux fonts/icons --- */
body,
h1,
h2,
h3,
h4,
h5,
h6,
.carousel-caption h1,
.ow-navigation,
.navbar-nav li a {
    font-family: 'Helvetica', Arial, sans-serif !important;
}
.fa { font-family: 'FontAwesome' !important; }

/* --- Variables charte --- */
:root { --ta-noir:#101010; --ta-jaune:#ffb927; --ta-gris-l:#eaeaea; --ta-gris-bg:#fafafa; --ta-gris-txt:#666; }

/* ============================================================
   HERO - centrer verticalement le contenu et reduire la hauteur
   ============================================================ */
.photos-slider .carousel-inner .item { position:relative; }
.photos-slider .carousel-inner .item > img {
    width:100% !important;
    height:460px !important;
    object-fit:cover !important;
    aspect-ratio:auto !important;
    display:block;
}
.photos-slider .carousel-caption {
    top:50% !important;
    bottom:auto !important;
    transform:translateY(-50%) !important;
    padding:0 15px !important;
    text-align:center !important;
}
.photos-slider .carousel-caption,
.photos-slider .carousel-caption h1,
.photos-slider .carousel-caption p,
.photos-slider .carousel-caption .cta-subtext { text-align:center !important; }

/* Titre H1 hero : taille reduite et lisible */
.photos-slider .carousel-caption h1 {
    font-size:2.6rem !important;
    line-height:1.2 !important;
    font-weight:700 !important;
    margin:0 auto 14px !important;
    max-width:880px;
    text-shadow:0 2px 4px rgba(0,0,0,.4);
}
.photos-slider .carousel-caption h1 span { color:var(--ta-jaune) !important; }

/* Sous-titre */
.photos-slider .carousel-caption p {
    font-size:1.4rem !important;
    line-height:1.55 !important;
    margin:0 auto 10px !important;
    padding:6px 14px !important;
    max-width:760px;
    text-shadow:0 1px 3px rgba(0,0,0,.4);
}

.photos-slider .carousel-caption .slider-search-bar { margin:14px auto !important; }
.photos-slider .carousel-caption .cta-subtext { margin-top:8px !important; }

@media (max-width:1199px) {
    .photos-slider .carousel-inner .item > img { height:430px !important; }
    .photos-slider .carousel-caption h1 { font-size:2.3rem !important; }
    .photos-slider .carousel-caption p { font-size:1.3rem !important; }
}
@media (max-width:991px) {
    .photos-slider .carousel-inner .item > img { height:420px !important; }
    .photos-slider .carousel-caption h1 { font-size:2rem !important; }
    .photos-slider .carousel-caption p { font-size:1.2rem !important; }
}
@media (max-width:767px) {
    /* N1 : decaler le contenu quand la navbar passe en fixed-top (geree par jstc/functions.js) */
    body.nav-is-fixed { padding-top:60px !important; }

    /* N2 : hero pleine largeur sans bordure blanche a gauche */
    .photos-slider, .photos-slider.container-fluid {
        width:100% !important;
        max-width:100% !important;
        padding:0 !important;
        margin:0 !important;
    }
    .photos-slider #photos-slider,
    .photos-slider .carousel-inner,
    .photos-slider .carousel-inner > .item {
        width:100% !important;
        margin:0 !important;
        padding:0 !important;
    }

    .photos-slider .carousel-inner .item { position:relative; }
    .photos-slider .carousel-inner .item > img {
        width:100% !important;
        height:auto !important;
        aspect-ratio:16/12 !important;
        object-fit:cover !important;
        min-height:340px !important;
        display:block !important;
        margin:0 !important;
    }
    /* Texte hero DANS l'image (par-dessus), centre verticalement */
    .photos-slider .carousel-caption {
        position:absolute !important;
        top:50% !important;
        left:0 !important;
        right:0 !important;
        width:100% !important;
        bottom:auto !important;
        transform:translateY(-50%) !important;
        padding:0 14px !important;
        text-align:center !important;
    }
    .photos-slider .carousel-caption h1 {
        font-size:1.35rem !important;
        margin:0 0 8px !important;
        text-shadow:2px 2px 6px rgba(0,0,0,.8) !important;
    }
    .photos-slider .carousel-caption p {
        font-size:.85rem !important;
        margin:0 0 8px !important;
        padding:6px 10px !important;
        display:block !important;
        line-height:1.4 !important;
    }
    .photos-slider .carousel-caption .slider-search-bar { margin:8px auto !important; }
    .photos-slider .carousel-caption .cta-subtext { margin-top:6px !important; font-size:.78rem !important; }
}

/* ============================================================
   TITRES DE SECTION
   ============================================================ */
.ta-h2 { font-size:1.7rem; font-weight:700; color:var(--ta-noir); margin:0 0 8px; letter-spacing:-0.3px; text-align:center; }
.ta-h2::after { content:""; display:block; width:60px; height:3px; background:var(--ta-jaune); margin:14px auto 0; }
.ta-lead { text-align:center; max-width:720px; margin:0 auto 35px; color:var(--ta-gris-txt); font-size:1rem; line-height:1.6; }

/* ============================================================
   EN BREF - cartes pro (sans box-shadow)
   ============================================================ */
#At_A_Glance { padding:60px 0; background:#fff; }
#At_A_Glance > .container { width:100% !important; max-width:1400px !important; }
#At_A_Glance .brief-grid {
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:20px;
    max-width:1400px;
    margin:0 auto;
}
@media (max-width:991px) { #At_A_Glance .brief-grid { grid-template-columns:repeat(2, 1fr); gap:18px; } }
@media (max-width:575px) { #At_A_Glance .brief-grid { grid-template-columns:1fr; gap:16px; } }

.ta-brief {
    background:#fff;
    border:1px solid var(--ta-gris-l);
    border-top:3px solid var(--ta-jaune);
    border-radius:6px;
    padding:30px 20px 28px;
    text-align:center;
    display:flex;
    flex-direction:column;
    align-items:center;
    height:100%;
    transition:border-color .25s ease, transform .25s ease, background .25s ease;
}
.ta-brief:hover {
    border-color:var(--ta-jaune);
    border-top-color:var(--ta-jaune);
    transform:translateY(-3px);
    background:#fffdf6;
}
.ta-brief-ico {
    width:64px; height:64px;
    background:rgba(255,185,39,0.12);
    border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    margin:0 0 18px;
    color:var(--ta-jaune);
    font-size:1.8rem;
}
.ta-brief-ico i { color:var(--ta-jaune); }
.ta-brief h3 {
    font-size:.78rem;
    margin:0 0 10px;
    font-weight:700;
    color:#888;
    text-transform:uppercase;
    letter-spacing:1.5px;
}
.ta-brief-value {
    margin:0;
    font-weight:800;
    color:var(--ta-noir);
    font-size:1.7rem;
    line-height:1.1;
    letter-spacing:-.5px;
}
.ta-brief-sub {
    margin:8px 0 0;
    color:#999;
    font-size:.85rem;
    line-height:1.4;
}

/* Bandeau features - barre noire compacte sous les cartes */
.ta-brief-tags {
    max-width:1400px;
    margin:30px auto 0;
    padding:22px 30px;
    background:var(--ta-noir);
    border-radius:6px;
    text-align:center;
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:center;
    gap:12px 32px;
    color:#fff;
}
.ta-brief-tags span {
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size:1rem;
    color:#fff;
    font-weight:500;
    margin:0;
}
.ta-brief-tags i {
    color:var(--ta-jaune);
    font-size:1.05rem;
    margin:0;
}
@media (max-width:575px) {
    .ta-brief-tags { padding:18px 16px; gap:10px 18px; }
    .ta-brief-tags span { font-size:.92rem; }
}

/* ============================================================
   NOTRE FLOTTE - cartes centrees, features detaillees, prix valorise
   ============================================================ */
#Our_Cars { padding:55px 0; }
#Our_Cars .voitures > p { text-align:center; max-width:720px; margin:0 auto 35px; color:var(--ta-gris-txt); }
#Our_Cars .flotte-grid {
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:24px;
    max-width:1400px;
    margin:0 auto;
}
@media (max-width:991px) { #Our_Cars .flotte-grid { grid-template-columns:repeat(2, 1fr); gap:20px; } }
@media (max-width:575px) { #Our_Cars .flotte-grid { grid-template-columns:1fr; gap:18px; } }
.ta-car {
    background:#fff; border:1px solid var(--ta-gris-l); border-radius:6px;
    overflow:hidden; height:100%;
    display:flex; flex-direction:column;
    text-align:center;
    transition:border-color .25s ease, transform .25s ease;
}
.ta-car:hover { border-color:var(--ta-jaune); transform:translateY(-3px); }
.ta-car-photo { position:relative; overflow:hidden; }
.ta-car-img {
    width:100%; height:auto; display:block;
    aspect-ratio:4/3; object-fit:cover;
    border:0 !important; outline:none;
}
.ta-car-body {
    padding:22px 20px 24px;
    display:flex; flex-direction:column; flex-grow:1;
    text-align:center;
}
.ta-car-category {
    position:absolute;
    left:12px;
    bottom:12px;
    margin:0;
    padding:6px 14px;
    background:var(--ta-jaune);
    color:var(--ta-noir);
    font-size:.78rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:1.2px;
    border-radius:3px;
    z-index:2;
}
.ta-car-body h3 {
    font-size:1.25rem; margin:0 0 14px; font-weight:700; color:var(--ta-noir);
    line-height:1.2; text-align:center;
}
.ta-car-capacity {
    color:var(--ta-gris-txt); font-size:.95rem;
    margin:0 0 16px; padding:0;
    border:0 !important;
    text-align:center;
}
.ta-car-capacity strong { color:var(--ta-noir); font-weight:700; }
.ta-car-capacity i { color:var(--ta-jaune); margin-right:5px; }
.ta-car-capacity .sep { color:#ccc; margin:0 8px; }
.ta-car-features {
    list-style:none; padding:0; margin:0 0 20px;
    display:flex; flex-wrap:wrap; justify-content:center; gap:8px;
    text-align:center;
}
.ta-car-features li {
    color:#444; font-size:1.2rem;
    background:var(--ta-gris-bg);
    padding:7px 14px; border-radius:4px;
    border:0 !important;
    white-space:nowrap;
}
.ta-car-features li i { color:var(--ta-jaune); margin-right:7px; font-size:1.1rem; }

/* Bloc prix valorise - encart noir avec accent jaune */
.ta-car-price-block {
    background:var(--ta-noir);
    margin:auto -20px 0;
    padding:16px 20px;
    text-align:center;
    border-top:3px solid var(--ta-jaune);
    color:#fff;
}
.ta-car-price-label {
    display:block;
    font-size:.72rem;
    color:#999;
    text-transform:uppercase;
    letter-spacing:1.2px;
    margin-bottom:2px;
}
.ta-car-price-value {
    display:block;
    font-size:2rem;
    font-weight:800;
    color:var(--ta-jaune);
    line-height:1.1;
    letter-spacing:-1px;
}
.ta-car-price-detail {
    display:block;
    font-size:.78rem;
    color:#aaa;
    margin-top:4px;
}
.ta-car-btn {
    display:block; width:100%;
    padding:14px 16px;
    background:var(--ta-jaune); color:var(--ta-noir) !important;
    font-weight:700; text-transform:uppercase; letter-spacing:.8px; font-size:1.6rem;
    border:none;
    margin:0;
    transition:background .25s ease, color .25s ease;
}
.ta-car-btn:hover, .ta-car-btn:focus {
    background:#fff; color:var(--ta-noir) !important;
    text-decoration:none;
}
.ta-car-price-block .ta-car-btn { margin-top:12px; }

/* ============================================================
   COMMENT CA MARCHE
   ============================================================ */
#How_It_Works { padding:60px 0; background:var(--ta-gris-bg); }
.ta-step { background:#fff; padding:30px 22px; border:1px solid var(--ta-gris-l); border-radius:6px; height:100%; text-align:center; transition:border-color .25s ease, transform .25s ease; }
.ta-step:hover { border-color:var(--ta-jaune); transform:translateY(-2px); }
.ta-step-num { width:56px; height:56px; line-height:56px; margin:0 auto 18px; background:var(--ta-noir); color:var(--ta-jaune); border-radius:50%; font-weight:700; font-size:1.25rem; }
.ta-step h3 { font-size:1.05rem; margin:0 0 10px; font-weight:700; color:var(--ta-noir); }
.ta-step p { margin:0; color:var(--ta-gris-txt); font-size:.93rem; line-height:1.55; }

/* ============================================================
   TRANSFERTS PAR DESTINATION - cartes pro (sans box-shadow)
   ============================================================ */
#Transferts_Cards { padding:55px 0; background:#fff; }
#Transferts_Cards > .container { width:100% !important; max-width:1400px !important; }
#Transferts_Cards .row {
    display:grid !important;
    grid-template-columns:repeat(3, 1fr);
    gap:22px;
    margin:0 !important;
}
/* Annule le clearfix Bootstrap qui cree des cellules vides dans la grid */
#Transferts_Cards .row::before,
#Transferts_Cards .row::after { content:none !important; display:none !important; }
#Transferts_Cards .row > [class*="col-"] {
    width:100% !important;
    padding:0 !important;
    float:none !important;
}
@media (max-width:991px) { #Transferts_Cards .row { grid-template-columns:repeat(2, 1fr) !important; gap:18px; } }
@media (max-width:575px) { #Transferts_Cards .row { grid-template-columns:1fr !important; gap:16px; } }

.ta-transfert {
    background:#fff;
    border:1px solid var(--ta-gris-l);
    border-radius:8px;
    overflow:hidden;
    height:100%;
    display:flex;
    flex-direction:column;
    transition:border-color .25s ease, transform .25s ease;
}
.ta-transfert:hover { border-color:var(--ta-jaune); transform:translateY(-3px); }

.ta-transfert-photo {
    position:relative;
    display:block;
    aspect-ratio:16/10;
    overflow:hidden;
    text-decoration:none !important;
}
.ta-transfert-photo img {
    width:100% !important;
    height:100% !important;
    object-fit:cover;
    display:block;
    transition:transform .4s ease;
    border:0 !important;
}
.ta-transfert:hover .ta-transfert-photo img { transform:scale(1.05); }
.ta-transfert-photo::after {
    content:'';
    position:absolute; left:0; right:0; bottom:0; top:0;
    background:linear-gradient(to top, rgba(16,16,16,.82) 0%, rgba(16,16,16,.25) 45%, rgba(16,16,16,0) 70%);
    pointer-events:none;
}
.ta-transfert-overlay {
    position:absolute;
    left:18px; right:18px; bottom:14px;
    z-index:2;
    color:#fff;
    text-align:left;
}
.ta-transfert-city {
    font-size:1.5rem;
    font-weight:800;
    color:#fff !important;
    margin:0;
    text-transform:uppercase;
    letter-spacing:.5px;
    line-height:1.1;
}
.ta-transfert-meta {
    font-size:.9rem;
    color:var(--ta-jaune);
    margin-top:5px;
    font-weight:600;
    display:flex; align-items:center; gap:7px;
}
.ta-transfert-meta i { color:var(--ta-jaune); }

.ta-transfert-btn {
    display:flex !important;
    align-items:center;
    justify-content:center;
    gap:10px;
    background:var(--ta-noir);
    color:#fff !important;
    text-decoration:none !important;
    padding:15px 16px;
    font-size:.95rem;
    font-weight:700;
    letter-spacing:.5px;
    text-transform:uppercase;
    margin-top:auto;
    transition:background .25s ease, color .25s ease;
    border:0;
}
.ta-transfert-btn:hover, .ta-transfert-btn:focus {
    background:var(--ta-jaune);
    color:var(--ta-noir) !important;
    text-decoration:none !important;
}
.ta-transfert-btn i { transition:transform .25s ease; }
.ta-transfert-btn:hover i { transform:translateX(4px); }

/* ============================================================
   GALERIE - layout masonry CSS columns (max 1400)
   ============================================================ */
#Gallery { padding:55px 0; background:#fff; }
#Gallery .container { width:100% !important; max-width:1400px !important; }
#Gallery .gallery {
    display:block !important;
    grid-template-columns:none !important;
    column-count:4;
    column-gap:14px !important;
    row-gap:0 !important;
    gap:14px !important;
    max-width:1400px;
    margin:0 auto;
    padding:0 15px;
    width:100%;
    box-sizing:border-box;
}
#Gallery .gallery-item {
    break-inside:avoid;
    -webkit-column-break-inside:avoid;
    page-break-inside:avoid;
    display:block !important;
    margin:0 0 14px !important;
    position:relative;
    overflow:hidden;
    border-radius:4px;
    border:1px solid var(--ta-gris-l);
    aspect-ratio:auto !important;
    background:transparent !important;
    height:auto !important;
    width:auto !important;
}
#Gallery .gallery-item a { display:block; overflow:hidden; line-height:0; }
#Gallery .gallery-item img {
    width:100% !important;
    height:auto !important;
    object-fit:initial !important;
    display:block;
    transition:transform .4s ease;
}
#Gallery .gallery-item:hover img { transform:scale(1.06); }
#Gallery .gallery-item::after {
    content:""; position:absolute; left:0; right:0; bottom:0;
    height:3px; background:var(--ta-jaune);
    transform:scaleX(0); transform-origin:left;
    transition:transform .25s ease;
}
#Gallery .gallery-item:hover::after { transform:scaleX(1); }
@media (max-width:1199px) { #Gallery .gallery { column-count:3; } }
@media (max-width:767px)  { #Gallery .gallery { column-count:2; } }
@media (max-width:480px)  { #Gallery .gallery { column-count:1; } }

/* ============================================================
   FAQ - pleine largeur jusqu'a 1400px
   ============================================================ */
#FAQ .container { width:100% !important; max-width:1400px !important; }

/* ============================================================
   NOS AUTRES DESTINATIONS
   ============================================================ */
#Other_Destinations { padding:60px 0; background:#fff; }
.ta-dest { padding:22px 18px 18px; border:1px solid var(--ta-gris-l); border-radius:6px; height:100%; text-align:left; background:#fff; transition:border-color .25s ease, background .25s ease; }
.ta-dest:hover { border-color:var(--ta-jaune); background:var(--ta-gris-bg); }
.ta-dest h3 { font-size:1rem; color:var(--ta-noir); margin:0 0 14px; padding-bottom:10px; border-bottom:2px solid var(--ta-jaune); font-weight:700; }
.ta-dest h3 i { color:var(--ta-jaune); margin-right:6px; }
.ta-dest ul { list-style:none; padding:0; margin:0; }
.ta-dest ul li { line-height:2; }
.ta-dest ul li a { color:#333; transition:color .2s ease, padding-left .2s ease; }
.ta-dest ul li a::before { content:"›"; color:var(--ta-jaune); margin-right:8px; font-weight:700; }
.ta-dest ul li a:hover { color:var(--ta-noir); padding-left:4px; text-decoration:none; }
.ta-dest-cta { text-align:center; margin-top:30px; }
.ta-dest-cta a { display:inline-block; padding:14px 32px; background:var(--ta-noir); color:var(--ta-jaune) !important; font-weight:700; text-transform:uppercase; letter-spacing:.6px; font-size:1.6rem; border-radius:4px; border:1px solid var(--ta-noir); transition:background .25s ease, color .25s ease; }
.ta-dest-cta a:hover, .ta-dest-cta a:focus { background:var(--ta-jaune); color:var(--ta-noir) !important; text-decoration:none; }

/* ============================================================
   CTA RESERVATION pro (image fond + overlay, sans box-shadow)
   ============================================================ */
.ta-cta-block {
    position:relative;
    padding:65px 0;
    background-color:var(--ta-noir);
    background-image:url('../images/taxi/Arganier-voitures.jpg');
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    color:#fff;
    overflow:hidden;
}
.ta-cta-block::before {
    content:'';
    position:absolute; top:0; left:0; right:0; bottom:0;
    background:linear-gradient(135deg, rgba(16,16,16,.92) 0%, rgba(16,16,16,.72) 100%);
    z-index:0;
}
.ta-cta-block > .container {
    position:relative;
    z-index:1;
    width:100% !important;
    max-width:1100px !important;
    text-align:center;
}
.ta-cta-inner {
    background:rgba(16,16,16,.55);
    border:1px solid rgba(255,185,39,.35);
    border-radius:8px;
    padding:42px 30px;
}
.ta-cta-kicker {
    display:inline-block;
    color:var(--ta-jaune);
    font-size:.85rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:2px;
    margin:0 0 16px;
}
.ta-cta-title {
    color:#fff !important;
    font-size:2.1rem !important;
    font-weight:800 !important;
    margin:0 0 14px !important;
    letter-spacing:-.5px !important;
    line-height:1.15 !important;
    text-transform:none !important;
    text-shadow:none !important;
}
.ta-cta-title span { color:var(--ta-jaune) !important; }
.ta-cta-text {
    color:#e0e0e0 !important;
    font-size:1.05rem !important;
    line-height:1.6 !important;
    margin:0 auto 22px !important;
    max-width:780px !important;
    background:transparent !important;
    padding:0 !important;
    text-shadow:none !important;
    font-weight:400 !important;
}
.ta-cta-pills {
    list-style:none;
    padding:0; margin:0 0 28px;
    display:flex; flex-wrap:wrap; justify-content:center;
    gap:10px 12px;
}
.ta-cta-pills li {
    color:#fff !important;
    font-size:.92rem;
    font-weight:500;
    display:inline-flex; align-items:center; gap:7px;
    background:rgba(255,255,255,.06);
    padding:7px 14px;
    border-radius:30px;
    border:1px solid rgba(255,255,255,.14);
    margin:0 !important;
}
.ta-cta-pills li i { color:var(--ta-jaune); }
.ta-cta-actions {
    display:flex; flex-wrap:wrap; justify-content:center;
    gap:12px;
}
.ta-cta-btn {
    display:inline-flex !important;
    align-items:center; justify-content:center;
    gap:10px;
    padding:14px 26px !important;
    border-radius:6px;
    font-size:1.05rem !important;
    font-weight:700 !important;
    text-transform:uppercase;
    letter-spacing:.5px;
    text-decoration:none !important;
    transition:background .25s ease, color .25s ease, border-color .25s ease, transform .2s ease;
    border:2px solid transparent !important;
    line-height:1 !important;
}
.ta-cta-btn-primary {
    background:var(--ta-jaune) !important;
    color:var(--ta-noir) !important;
    border-color:var(--ta-jaune) !important;
}
.ta-cta-btn-primary:hover, .ta-cta-btn-primary:focus {
    background:#fff !important;
    border-color:#fff !important;
    color:var(--ta-noir) !important;
}
.ta-cta-btn-ghost {
    background:transparent !important;
    color:#fff !important;
    border-color:rgba(255,255,255,.45) !important;
}
.ta-cta-btn-ghost:hover, .ta-cta-btn-ghost:focus {
    background:var(--ta-jaune) !important;
    color:var(--ta-noir) !important;
    border-color:var(--ta-jaune) !important;
}
.ta-cta-btn:hover { transform:translateY(-2px); }

@media (max-width:767px) {
    .ta-cta-block { padding:50px 0; }
    .ta-cta-inner { padding:32px 18px; }
    .ta-cta-title { font-size:1.55rem !important; }
    .ta-cta-text { font-size:.98rem !important; }
    .ta-cta-btn { width:100%; }
    .ta-cta-actions { flex-direction:column; }
}

/* ============================================================
   FOOTER pro - reset agressif du CSS pre-existant (styletc.css)
   ============================================================ */
footer.footer-main { background:var(--ta-noir) !important; color:#cfcfcf !important; padding:50px 0 0 !important; font-size:1.2rem !important; line-height:1.55 !important; border-top:3px solid var(--ta-jaune) !important; }
footer.footer-main .container { padding-left:15px; padding-right:15px; }
footer.footer-main aside.widget { padding:0 !important; margin:0 0 22px !important; }
footer.footer-main h3, footer.footer-main h4 { color:var(--ta-jaune) !important; }

/* Titres uniformes */
footer.footer-main h3.widget-title,
footer.footer-main .widget-subscribe h4 {
    font-size:1.05rem !important; font-weight:700 !important; text-transform:uppercase !important; letter-spacing:1.5px !important;
    color:var(--ta-jaune) !important;
    margin:0 0 18px !important; padding:0 0 10px !important;
    border-bottom:1px solid #2a2a2a !important;
    background:none !important;
}
footer.footer-main h3.widget-title:not(:first-of-type) { margin-top:24px !important; }

/* Texte courant */
footer.footer-main p { color:#bbb !important; line-height:1.6 !important; font-size:1.2rem !important; margin:0 0 12px !important; }
footer.footer-main ul { list-style:none !important; padding:0 !important; margin:0 !important; }

/* RESET dur des listes (battre .widget-links li { margin-bottom:38px }) */
footer.footer-main .widget-links ul li,
footer.footer-main .widget-about ul li,
footer.footer-main .widget-subscribe ul li {
    margin:0 !important; padding:7px 0 !important; width:auto !important; float:none !important; display:list-item;
    line-height:1.5 !important; font-size:1.2rem !important; color:#cfcfcf !important;
    position:static !important;
}
footer.footer-main .widget-links ul li:last-child { margin-bottom:0 !important; }

/* Liens - taille unifiee */
footer.footer-main ul li a { color:#cfcfcf !important; font-size:1.2rem !important; text-decoration:none; transition:color .2s ease, padding-left .2s ease; }
footer.footer-main ul li a:hover { color:var(--ta-jaune) !important; }

/* RESET du :before en image (ftr-link.png) + ajout chevron jaune */
footer.footer-main .widget-links ul li a::before {
    content:"›" !important;
    background:none !important; background-image:none !important;
    color:var(--ta-jaune) !important;
    width:auto !important; height:auto !important;
    margin-right:8px !important; font-weight:700 !important; font-size:1.2rem !important;
    display:inline !important; position:static !important;
}
footer.footer-main .widget-links ul li a:hover { padding-left:3px !important; }

/* Widget subscribe - encart CTA */
footer.footer-main .widget-subscribe .subscribe-box {
    display:block !important;
    padding:20px !important;
    border:1px solid #2a2a2a !important; border-radius:6px;
    background:#0d0d0d !important; color:#cfcfcf !important;
    margin:0 !important;
}
footer.footer-main .widget-subscribe h4 { margin:0 0 8px !important; border:0 !important; padding:0 !important; font-size:1.1rem !important; }
footer.footer-main .widget-subscribe .subscribe-box p { font-size:1.2rem !important; margin:0 0 10px !important; line-height:1.5 !important; color:#bbb !important; }
footer.footer-main .widget-subscribe .bout_resa {
    display:block !important; width:100% !important; text-align:center !important; box-sizing:border-box !important;
    background:var(--ta-jaune) !important; color:var(--ta-noir) !important;
    padding:12px 12px !important; border-radius:4px !important;
    font-weight:700 !important; text-transform:uppercase !important; letter-spacing:.4px !important; font-size:1.35rem !important;
    border:1px solid var(--ta-jaune) !important;
    transition:background .25s ease, color .25s ease;
    text-decoration:none !important;
    margin:6px 0 0 !important;
}
footer.footer-main .widget-subscribe .bout_resa:hover { background:transparent !important; color:var(--ta-jaune) !important; }
footer.footer-main .widget-subscribe .contact-mini { margin:30px 0 0 !important; line-height:2.1 !important; font-size:1.45rem !important; }
footer.footer-main .widget-subscribe .contact-mini a { color:#fff !important; font-weight:600 !important; font-size:1.45rem !important; white-space:nowrap !important; }
footer.footer-main .widget-subscribe .contact-mini a:hover { color:var(--ta-jaune) !important; }
footer.footer-main .widget-subscribe .contact-mini i { color:var(--ta-jaune) !important; width:24px; margin-right:10px; text-align:center; font-size:1.35rem !important; }

/* ============================================================
   MENU — item actif : fond gris #555 (au lieu du soulignement jaune)
   Sous-menus : l'item actif reste en jaune
   ============================================================ */
.ow-navigation .navbar-collapse>.nav.navbar-nav>li.active>a {
    background-color:#555 !important;
    color:#fff !important;
}
.ow-navigation .navbar-collapse>.nav.navbar-nav>li.active>a:hover,
.ow-navigation .navbar-collapse>.nav.navbar-nav>li.active>a:focus {
    background-color:#555 !important;
    color:var(--ta-jaune) !important;
}
/* On retire le trait jaune sous l'item actif uniquement (le survol garde son trait) */
.ow-navigation .navbar-collapse>.nav.navbar-nav>li.active>a:before {
    display:none !important;
}
/* Survol menu principal : pas de trait, fond gris au survol */
.ow-navigation .navbar-collapse>.nav.navbar-nav>li:hover>a,
.ow-navigation .navbar-collapse>.nav.navbar-nav>li>a:hover,
.ow-navigation .navbar-collapse>.nav.navbar-nav>li>a:focus {
    background-color:#333 !important;
    color:var(--ta-jaune) !important;
}
.ow-navigation .navbar-collapse>.nav.navbar-nav>li:hover>a:before,
.ow-navigation .navbar-collapse>.nav.navbar-nav>li>a:hover:before,
.ow-navigation .navbar-collapse>.nav.navbar-nav>li>a:focus:before {
    display:none !important;
}
/* L'item actif survolé garde son fond #555 (prioritaire sur le survol gris) */
.ow-navigation .navbar-collapse>.nav.navbar-nav>li.active:hover>a,
.ow-navigation .navbar-collapse>.nav.navbar-nav>li.active>a:hover {
    background-color:#555 !important;
}

/* Sous-menu : l'élément actif/survolé reste jaune, jamais de fond gris */
.ow-navigation .navbar-nav .dropdown-menu li.active>a,
.ow-navigation .navbar-nav .dropdown-menu li>a:hover,
.ow-navigation .navbar-nav .dropdown-menu li>a:focus {
    background-color:transparent !important;
    color:var(--ta-jaune) !important;
}
/* ============================================================
   HERO BREADCRUMB — fallback global (certaines pages ne chargent
   pas ta-critical.css ni le style inline, d'où un <ol> brut)
   ============================================================ */
.ta-hero__breadcrumb{margin:0 auto 16px;font-size:.95rem}
.ta-hero__breadcrumb ol{list-style:none;margin:0;padding:0;display:inline-flex;flex-wrap:wrap;justify-content:center;gap:0}
.ta-hero__breadcrumb ol li{display:inline-flex;align-items:center;color:rgba(255,255,255,.9);text-shadow:0 1px 3px rgba(0,0,0,.55)}
.ta-hero__breadcrumb ol li a{color:rgba(255,255,255,.9) !important;text-decoration:none !important}
.ta-hero__breadcrumb ol li a:hover{color:#ffb927 !important}
.ta-hero__breadcrumb ol li:not(:last-child)::after{content:"\203A";margin:0 10px;color:rgba(255,255,255,.7)}
.ta-hero__breadcrumb ol li[aria-current="page"] span{color:#ffb927 !important;font-weight:700}
@media (max-width:767px){.ta-hero__breadcrumb{font-size:.8rem;margin:0 auto 10px}.ta-hero__breadcrumb ol li:not(:last-child)::after{margin:0 6px}}

/* Espace uniforme entre l'encart CTA et le bloc « Nos engagements » */
footer.footer-main .widget-subscribe .subscribe-box { margin-bottom:28px !important; }
footer.footer-main .widget-subscribe .subscribe-box + .widget-title { margin-top:0 !important; }

/* Reseaux sociaux - icones FA en cercles */
footer.footer-main .widget-subscribe .social-list { margin:18px 0 0 !important; padding:0 !important; display:block !important; }
footer.footer-main .widget-subscribe .social-list li { display:inline-block !important; float:none !important; margin:0 6px 0 0 !important; padding:0 !important; width:auto !important; height:auto !important; }
footer.footer-main .widget-subscribe .social-list li a {
    display:inline-block !important; width:36px !important; height:36px !important; line-height:34px !important;
    border:1px solid #2a2a2a !important; border-radius:50%;
    text-align:center; padding:0 !important;
    color:#cfcfcf !important; font-size:1rem !important;
    transition:border-color .2s ease, background .2s ease, color .2s ease;
}
footer.footer-main .widget-subscribe .social-list li a:hover {
    border-color:var(--ta-jaune) !important;
    background:var(--ta-jaune);
    color:var(--ta-noir) !important;
}
footer.footer-main .widget-subscribe .social-list li a i { font-size:.95rem !important; }

/* Widget about - contacts en flex (icones FA inline) */
footer.footer-main .widget-about p { margin-bottom:16px !important; }
footer.footer-main .widget-about ul li {
    display:flex !important; align-items:flex-start; gap:12px;
    padding:7px 0 !important; color:#cfcfcf !important;
    font-size:1.2rem !important;
}
footer.footer-main .widget-about ul li i.contact-ico {
    color:var(--ta-jaune) !important; flex-shrink:0;
    font-size:1.1rem !important; width:20px; text-align:center; margin-top:4px;
}
footer.footer-main .widget-about ul li a { color:#cfcfcf !important; font-size:1.2rem !important; }
footer.footer-main .widget-about ul li a:hover { color:var(--ta-jaune) !important; }
footer.footer-main .widget-about ul li span { color:#cfcfcf !important; font-size:1.2rem; }

/* Bottom footer - pleine largeur + separateurs propres */
footer.footer-main .bottom-footer { background:#0a0a0a !important; padding:14px 0 !important; margin-top:32px !important; border-top:1px solid #1f1f1f !important; }
footer.footer-main .bottom-footer .bf-inner {
    display:flex !important;
    justify-content:space-between !important;
    align-items:center !important;
    flex-wrap:wrap !important;
    gap:14px 30px;
    max-width:1400px !important;
    width:100% !important;
    margin:0 auto !important;
    padding-left:30px !important; padding-right:30px !important;
}
footer.footer-main .bottom-footer .bf-legal-links {
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:center;
    margin:0 !important; padding:0 !important;
    list-style:none !important;
    row-gap:6px;
    line-height:1.4 !important;
}
/* Reset complet du :before pre-existant qui colle "|" au texte */
footer.footer-main .bottom-footer .bf-legal-links li {
    display:inline-flex !important; align-items:center;
    margin:0 !important; padding:0 !important;
    font-size:.95rem !important; line-height:1.4 !important;
    float:none !important; width:auto !important;
    position:relative !important;
}
footer.footer-main .bottom-footer .bf-legal-links li::before {
    content:none !important;
    background:none !important; background-image:none !important;
    position:static !important;
    left:auto !important; top:auto !important;
    display:none !important;
}
/* Nouveau separateur "|" propre, espace egal de chaque cote, jamais sur le 1er */
footer.footer-main .bottom-footer .bf-legal-links li + li {
    padding-left:18px !important;
    margin-left:18px !important;
    border-left:1px solid #3a3a3a;
}
footer.footer-main .bottom-footer .bf-legal-links li a {
    font-size:.95rem !important; color:#cfcfcf !important;
    padding:0 !important;
    display:inline-block;
}
footer.footer-main .bottom-footer .bf-legal-links li a::before { content:none !important; display:none !important; }
footer.footer-main .bottom-footer .bf-legal-links li a:hover { color:var(--ta-jaune) !important; }
footer.footer-main .bottom-footer .copyright {
    color:#9a9a9a !important; margin:0 !important;
    font-size:.95rem !important; line-height:1.4;
    white-space:nowrap;
    text-align:left;
}
footer.footer-main .bottom-footer .copyright strong { color:var(--ta-jaune) !important; font-weight:700; }

@media (max-width:991px) {
    footer.footer-main .col-md-4,
    footer.footer-main .col-md-3 { margin-bottom:25px; }
}
@media (max-width:767px) {
    footer.footer-main { padding-top:35px !important; text-align:center; }
    footer.footer-main .widget-about ul li { justify-content:flex-start; text-align:left; }
    footer.footer-main .bottom-footer .bf-inner { justify-content:center !important; flex-direction:column; }
    footer.footer-main .bottom-footer .bf-legal-links { justify-content:center !important; }
    footer.footer-main .bottom-footer .copyright { text-align:center !important; white-space:normal !important; }
}

/* ============================================================
   FOOTER — Modes de paiement
   ============================================================ */
footer.footer-main .footer-payments {
    display:flex; flex-wrap:wrap; align-items:center; justify-content:center;
    gap:10px 26px; padding:18px 15px; margin-top:8px;
    border-top:1px solid #1f1f1f;
}
footer.footer-main .footer-payments .fp-label {
    color:#cfcfcf; font-weight:600; font-size:.92rem; letter-spacing:.2px;
}
footer.footer-main .footer-payments .fp-list {
    display:flex; flex-wrap:wrap; align-items:center; justify-content:center;
    gap:10px 22px; list-style:none; margin:0; padding:0;
}
footer.footer-main .footer-payments .fp-list li {
    display:inline-flex; align-items:center; gap:8px;
    color:#e8e8e8; font-size:.9rem; white-space:nowrap;
}
footer.footer-main .footer-payments .fp-list li i { color:var(--ta-jaune); font-size:1.2rem; }
@media (max-width:767px) {
    footer.footer-main .footer-payments { flex-direction:column; gap:12px; }
}

/* ============================================================
   FOOTER 4 colonnes — correctifs retours à la ligne
   ============================================================ */
/* Réseaux sociaux : toujours en ligne (icônes en cercles), quel que soit le widget parent
   (annule .widget-about li{display:flex} et l'ancien .widget-subscribe ul li{float:left}) */
footer.footer-main .social-list {
    display:flex !important; flex-wrap:wrap; gap:8px;
    margin:18px 0 0 !important; padding:0 !important; list-style:none !important;
}
footer.footer-main .social-list li {
    display:inline-block !important; float:none !important;
    width:auto !important; height:auto !important; margin:0 !important; padding:0 !important;
}
footer.footer-main .social-list li i.contact-ico { display:none; }
footer.footer-main .social-list li a {
    display:inline-flex !important; align-items:center; justify-content:center;
    width:36px !important; height:36px !important; overflow:visible !important;
    border:1px solid #2a2a2a !important; border-radius:50%;
    color:#cfcfcf !important; font-size:1rem !important; padding:0 !important;
    transition:border-color .2s ease, background .2s ease, color .2s ease;
}
footer.footer-main .social-list li a:hover {
    border-color:var(--ta-jaune) !important; background:var(--ta-jaune) !important; color:var(--ta-noir) !important;
}

/* Listes texte du widget « réservation » (ex. Nos engagements) : liens pleine largeur,
   annule l'ancien .widget-subscribe ul li a{width:32px;height:35px} qui cassait les mots */
footer.footer-main .widget-subscribe ul:not(.social-list) li { display:list-item !important; float:none !important; width:auto !important; }
footer.footer-main .widget-subscribe ul:not(.social-list) li a {
    display:inline !important; width:auto !important; height:auto !important;
    overflow:visible !important; white-space:normal !important; line-height:1.5 !important;
}

/* ============================================================
   RESPONSIVE GLOBAL
   ============================================================ */
@media (max-width: 767px) {
    .ta-h2 { font-size:1.4rem; }
    #At_A_Glance, #How_It_Works, #Other_Destinations, #Our_Cars, #Gallery { padding:40px 0; }
    .ta-brief-tags span { display:block; margin:6px 0; }
}

/* ============================================================
   HEADER - corrections mobile
   ============================================================ */
@media (max-width:767px) {
    /* N1 : top-links + drapeaux sur la meme ligne (centres, hauteur constante) */
    .header-main .top-header {
        height:40px !important;
        min-height:40px !important;
        padding:0 !important;
        margin:0 !important;
        display:flex !important;
        align-items:center !important;
    }
    .header-main .top-header .container {
        display:flex !important;
        flex-wrap:nowrap !important;
        align-items:center !important;
        justify-content:center !important;
        gap:0 12px !important;
        padding:0 10px !important;
        margin:0 auto !important;
        width:100% !important;
        height:40px !important;
    }
    .header-main .top-header .top-links {
        width:auto !important; float:none !important;
        padding:0 !important; margin:0 !important;
        height:40px !important;
        display:inline-flex !important; align-items:center !important;
        flex-wrap:nowrap !important;
    }
    .header-main .top-header .top-links li {
        margin:0 !important; padding:0 7px !important;
        float:none !important;
        display:inline-flex !important; align-items:center !important;
    }
    .header-main .top-header .top-links li a {
        font-size:11px !important; white-space:nowrap !important;
        line-height:1 !important; padding:0 !important; margin:0 !important;
        display:inline-block !important;
    }
    .header-main .top-header .top-menu {
        width:auto !important; float:none !important;
        padding:0 !important; margin:0 !important;
        height:40px !important;
        text-align:center !important;
        display:inline-flex !important; align-items:center !important;
    }
    .header-main .top-header .top-menu ul {
        margin:0 !important; padding:0 !important;
        display:inline-flex !important; align-items:center !important; gap:8px !important;
    }
    .header-main .top-header .top-menu ul li {
        padding:0 !important; margin:0 !important;
        float:none !important; display:inline-flex !important; align-items:center !important;
    }
    .header-main .top-header .top-menu ul li::before,
    .header-main .top-header .top-menu ul li:before { content:none !important; display:none !important; }
    .header-main .top-header .top-menu ul li img { display:block; }

    /* N2 : cacher adresse + telephone du middle-header (deja presents dans la navbar mobile) */
    .header-main .middle-header .col-md-6.pull-right,
    .header-main .middle-header .location,
    .header-main .middle-header .phone { display:none !important; }
    .header-main .middle-header { padding:14px 0 !important; }
    .header-main .middle-header .logo-block {
        width:100% !important; text-align:center !important;
        margin:0 !important; padding:0 !important; float:none !important;
    }
    .header-main .middle-header .logo-block img { max-width:170px !important; height:auto !important; margin:0 auto !important; }

    /* N3 : navbar mobile - burger visible, tel centre, bouton Reserver a droite */
    /* Hauteur correcte (eviter le crop quand sticky-fixed via JS scroll) */
    .header-main .navbar.ow-navigation,
    .navbar.ow-navigation.navbar-fixed-top {
        height:auto !important;
        min-height:58px !important;
        padding:8px 0 !important;
        margin:0 !important;
        z-index:1040 !important;
    }
    .header-main .navbar.ow-navigation > .container {
        padding-left:10px !important; padding-right:10px !important;
        width:100% !important;
        height:auto !important;
        min-height:42px !important;
    }
    .header-main .navbar.ow-navigation .navbar-header {
        display:flex !important; flex-wrap:nowrap !important;
        align-items:center !important; justify-content:space-between !important;
        width:100% !important; padding:0 !important; margin:0 !important;
    }
    .header-main .navbar.ow-navigation .navbar-toggle {
        margin:0 !important; padding:9px 11px !important;
        flex:0 0 auto !important; order:1 !important;
    }
    .header-main .navbar.ow-navigation .navbar-brand.logo-block { display:none !important; }
    .header-main .navbar.ow-navigation .mobile-phone-header {
        flex:1 1 auto !important; text-align:center !important;
        padding:0 8px !important; margin:0 !important; order:2 !important;
    }
    .header-main .navbar.ow-navigation .bout_resa {
        margin:0 !important; flex:0 0 auto !important; order:3 !important;
    }
}

/* ============================================================
   BREADCRUMB visible (utilise sur les pages internes)
   ============================================================ */
.ta-breadcrumb {
    background:#fafafa !important;
    border-bottom:1px solid #eaeaea !important;
    padding:14px 0 !important;
    font-size:1.3rem !important;
}
.ta-breadcrumb .container { max-width:1400px; }
.ta-breadcrumb ol {
    list-style:none !important;
    margin:0 !important; padding:0 !important;
    display:flex; flex-wrap:wrap; align-items:center;
}
.ta-breadcrumb ol li {
    display:inline-flex; align-items:center;
    color:#666; line-height:1.5;
}
.ta-breadcrumb ol li:not(:last-child)::after {
    content:"›"; margin:0 10px;
    color:#bbb; font-weight:bold;
}
.ta-breadcrumb ol li a {
    color:#666 !important;
    text-decoration:none !important;
    transition:color .2s;
}
.ta-breadcrumb ol li a:hover { color:var(--ta-jaune) !important; }
.ta-breadcrumb ol li[aria-current="page"] span {
    color:var(--ta-noir);
    font-weight:600;
}
@media (max-width:600px) {
    .ta-breadcrumb { font-size:1.2rem !important; padding:10px 0 !important; }
    .ta-breadcrumb ol li:not(:last-child)::after { margin:0 6px; }
}

/* --- Variante HERO : breadcrumb integre dans le carousel-caption --- */
.photos-slider .carousel-caption .ta-breadcrumb--hero,
.photos-slider .carousel-caption .ta-breadcrumb--hero ol,
.photos-slider .carousel-caption .ta-breadcrumb--hero ol li {
    background:transparent !important;
    background-color:transparent !important;
    border:none !important;
    box-shadow:none !important;
}
.photos-slider .carousel-caption .ta-breadcrumb--hero {
    padding:0 !important;
    margin:0 auto 18px !important;
    font-size:1.3rem !important;
    display:block !important;
    text-align:center !important;
    width:100% !important;
}
.photos-slider .carousel-caption .ta-breadcrumb--hero ol {
    display:inline-flex !important;
    flex-wrap:wrap;
    align-items:center;
    justify-content:center;
    gap:0;
    margin:0 auto !important;
    padding:0 !important;
    list-style:none !important;
}
.photos-slider .carousel-caption .ta-breadcrumb--hero ol li,
.photos-slider .carousel-caption .ta-breadcrumb--hero ol li a {
    color:rgba(255,255,255,.9) !important;
    text-shadow:0 1px 3px rgba(0,0,0,.55);
    text-decoration:none !important;
}
.photos-slider .carousel-caption .ta-breadcrumb--hero ol li {
    display:inline-flex;
    align-items:center;
    line-height:1.4;
}
.photos-slider .carousel-caption .ta-breadcrumb--hero ol li:not(:last-child)::after {
    content:"›";
    margin:0 10px;
    color:var(--ta-jaune) !important;
    font-weight:700;
    text-shadow:none;
}
.photos-slider .carousel-caption .ta-breadcrumb--hero ol li a:hover {
    color:var(--ta-jaune) !important;
}
.photos-slider .carousel-caption .ta-breadcrumb--hero ol li[aria-current="page"] span {
    color:var(--ta-jaune) !important;
    font-weight:700;
}
@media (max-width:600px) {
    .photos-slider .carousel-caption .ta-breadcrumb--hero {
        font-size:1.15rem !important;
        margin:0 auto 12px !important;
    }
    .photos-slider .carousel-caption .ta-breadcrumb--hero ol li:not(:last-child)::after {
        margin:0 6px;
    }
}

/* ============================================================
   ABOUT_SERVICE refondu - cartes thematiques + timeline
   Charte : jaune #ffb927 / noir #101010 - AUCUNE box-shadow
   ============================================================ */
#About_Service.ta-about {
    background:#fff !important;
    padding:80px 0 !important;
}
#About_Service.ta-about .container { max-width:1400px; }

/* --- En-tete de section : layout split photo / texte --- */
#About_Service .ta-about-header {
    display:grid !important;
    grid-template-columns:minmax(0, 5fr) minmax(0, 7fr) !important;
    gap:45px !important;
    align-items:center;
    margin:0 0 65px;
}
#About_Service .ta-about-header-media {
    position:relative;
    overflow:hidden;
    aspect-ratio:7/5;
    background:#eaeaea;
}
#About_Service .ta-about-header-media img {
    width:100% !important; height:100% !important;
    object-fit:cover;
    display:block;
    transition:transform .6s ease;
}
#About_Service .ta-about-header-media:hover img { transform:scale(1.04); }
#About_Service .ta-about-header-media::before {
    content:"";
    position:absolute; left:-12px; top:-12px;
    width:60px; height:60px;
    border-top:4px solid var(--ta-jaune);
    border-left:4px solid var(--ta-jaune);
    z-index:2;
}
#About_Service .ta-about-header-media::after {
    content:"";
    position:absolute; right:-12px; bottom:-12px;
    width:60px; height:60px;
    border-bottom:4px solid var(--ta-jaune);
    border-right:4px solid var(--ta-jaune);
    z-index:2;
}
#About_Service .ta-about-header-badge {
    position:absolute; left:0; bottom:18px;
    background:var(--ta-noir);
    color:#fff;
    padding:14px 22px;
    display:flex; flex-direction:column;
    border-left:5px solid var(--ta-jaune);
}
#About_Service .ta-about-header-badge strong {
    color:var(--ta-jaune);
    font-size:2.4rem; font-weight:800; line-height:1;
}
#About_Service .ta-about-header-badge span {
    font-size:1.25rem; margin-top:4px; opacity:.85;
}
#About_Service .ta-about-header-content { min-width:0; }

#About_Service .ta-about-kicker {
    display:inline-block;
    background:var(--ta-noir);
    color:var(--ta-jaune);
    font-size:1.2rem !important;
    letter-spacing:.18em;
    text-transform:uppercase;
    font-weight:700;
    padding:8px 18px;
    margin-bottom:18px;
}
#About_Service h2 {
    color:var(--ta-noir) !important;
    font-size:3rem !important;
    line-height:1.25 !important;
    font-weight:700 !important;
    margin:0 0 22px !important;
    padding:0 !important;
    text-align:left !important;
}
#About_Service h2::after {
    content:"";
    display:block;
    width:80px; height:4px;
    background:var(--ta-jaune);
    margin:18px 0 0;
}
#About_Service .ta-about-intro {
    color:#444 !important;
    font-size:1.5rem !important;
    line-height:1.75 !important;
    margin:0 0 15px !important;
    text-align:left;
}

/* --- Grid 2x2 des 4 cartes --- */
#About_Service .ta-about-grid {
    display:grid !important;
    grid-template-columns:repeat(2, 1fr) !important;
    gap:28px !important;
    margin-bottom:70px;
}

#About_Service .ta-about-card {
    position:relative;
    background:#fafafa;
    border:1px solid #eaeaea;
    border-left:5px solid var(--ta-jaune);
    padding:32px 34px 28px;
    display:flex;
    flex-direction:column;
    transition:background .25s ease, border-left-width .25s ease, transform .25s ease;
}
#About_Service .ta-about-card:hover {
    background:#fff;
    border-left-width:8px;
}

/* --- En-tete de carte : numero + icone + H3 --- */
#About_Service .ta-about-card-head {
    display:flex;
    align-items:center;
    gap:18px;
    margin-bottom:18px;
    padding-bottom:18px;
    border-bottom:1px solid #eaeaea;
    position:relative;
}
#About_Service .ta-about-num {
    font-size:4.4rem !important;
    line-height:1 !important;
    font-weight:800 !important;
    color:var(--ta-jaune) !important;
    letter-spacing:-.02em;
    flex:0 0 auto;
    font-family:'Helvetica', Arial, sans-serif !important;
}
#About_Service .ta-about-icon {
    width:54px; height:54px;
    background:var(--ta-noir);
    color:var(--ta-jaune);
    display:flex; align-items:center; justify-content:center;
    flex:0 0 auto;
    transition:background .25s ease, color .25s ease;
}
#About_Service .ta-about-icon i { font-size:2.4rem !important; line-height:1 !important; }
#About_Service .ta-about-card:hover .ta-about-icon {
    background:var(--ta-jaune);
    color:var(--ta-noir);
}
#About_Service .ta-about-card-head h3 {
    margin:0 !important;
    padding:0 !important;
    color:var(--ta-noir) !important;
    font-size:1.95rem !important;
    line-height:1.3 !important;
    font-weight:700 !important;
    flex:1 1 auto;
    text-transform:none !important;
}

/* --- Corps de carte : paragraphes courts --- */
#About_Service .ta-about-body p {
    color:#444 !important;
    font-size:1.45rem !important;
    line-height:1.75 !important;
    margin:0 0 13px !important;
}
#About_Service .ta-about-body p:last-child { margin-bottom:0 !important; }
#About_Service .ta-about-body a {
    color:var(--ta-noir) !important;
    font-weight:600 !important;
    text-decoration:none !important;
    border-bottom:2px solid var(--ta-jaune) !important;
    transition:background .2s ease;
    padding-bottom:1px;
}
#About_Service .ta-about-body a:hover {
    background:var(--ta-jaune) !important;
    color:var(--ta-noir) !important;
}

/* --- Section "extended" en 3 colonnes (fond clair) --- */
#About_Service .ta-about-extended {
    background:#fafafa;
    padding:50px 40px;
    border:1px solid #eaeaea;
    position:relative;
}
#About_Service .ta-about-extended-head {
    text-align:center;
    margin-bottom:40px;
    padding-bottom:30px;
    border-bottom:1px solid #e3e3e3;
}
#About_Service .ta-about-extended-head .ta-about-kicker {
    background:var(--ta-jaune);
    color:var(--ta-noir);
}
#About_Service .ta-about-extended-lead {
    color:#444 !important;
    font-size:1.6rem !important;
    line-height:1.55 !important;
    margin:14px auto 0 !important;
    font-weight:400;
    max-width:780px;
}

/* --- Blocs A/B/C en GRID 3 colonnes --- */
#About_Service .ta-about-extended > .ta-extended-block,
#About_Service .ta-about-extended {
    /* container will be grid via the wrapper below */
}
#About_Service .ta-about-extended {
    /* keep block-level; cards live in dedicated grid */
}
#About_Service .ta-about-extended .ta-extended-block { /* fallback */ }

/* Grid wrapping the 3 blocks */
#About_Service .ta-about-extended {
    display:block;
}
#About_Service .ta-about-extended .ta-extended-block + .ta-extended-block,
#About_Service .ta-about-extended .ta-extended-block:first-of-type {
    /* will be overridden by grid container below */
}

/* The 3 articles after the head must form a 3-col grid.
   We achieve it via an implicit display:grid on a sibling wrapper.
   Since the HTML has 3 articles as direct children, use display:grid
   on the parent and place head on full row 1. */
#About_Service .ta-about-extended {
    display:grid !important;
    grid-template-columns:repeat(3, 1fr) !important;
    gap:25px !important;
}
#About_Service .ta-about-extended-head {
    grid-column:1 / -1;
    margin-bottom:10px;
}
#About_Service .ta-extended-block {
    display:flex !important;
    flex-direction:column;
    background:#fff;
    border:1px solid #eaeaea;
    border-top:4px solid var(--ta-jaune);
    padding:30px 26px 26px;
    transition:border-top-width .25s ease, transform .25s ease;
}
#About_Service .ta-extended-block:hover {
    border-top-width:7px;
}

#About_Service .ta-extended-marker {
    flex:0 0 auto;
    width:58px; height:58px;
    background:var(--ta-jaune);
    border:none;
    color:var(--ta-noir);
    display:flex; align-items:center; justify-content:center;
    font-size:2.6rem !important;
    font-weight:800;
    font-family:'Helvetica', Arial, sans-serif !important;
    line-height:1;
    margin-bottom:18px;
    transition:background .25s ease, color .25s ease;
}
#About_Service .ta-extended-block:hover .ta-extended-marker {
    background:var(--ta-noir);
    color:var(--ta-jaune);
}

#About_Service .ta-extended-body { flex:1 1 auto; min-width:0; }
#About_Service .ta-extended-body h3 {
    color:var(--ta-noir) !important;
    font-size:1.85rem !important;
    line-height:1.3 !important;
    font-weight:700 !important;
    margin:0 0 14px !important;
    padding:0 !important;
    text-transform:none !important;
}
#About_Service .ta-extended-body p {
    color:#444 !important;
    font-size:1.4rem !important;
    line-height:1.75 !important;
    margin:0 0 11px !important;
}
#About_Service .ta-extended-body p:last-child { margin-bottom:0 !important; }

/* --- Galerie ville en bas de section (photos images/Villes) --- */
#About_Service .ta-about-gallery {
    margin-top:10px;
}
#About_Service .ta-about-gallery-head {
    text-align:center;
    margin:0 0 28px;
}
#About_Service .ta-about-gallery-head h3 {
    color:var(--ta-noir) !important;
    font-size:2rem !important;
    font-weight:700 !important;
    margin:14px 0 0 !important;
    padding:0 !important;
    text-transform:none !important;
}
#About_Service .ta-about-gallery-grid {
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(min(100%, 280px), 1fr));
    gap:22px;
}
#About_Service .ta-about-gallery figure {
    position:relative;
    margin:0;
    overflow:hidden;
    border-radius:12px;
    box-shadow:0 6px 24px rgba(16,16,16,.10);
}
#About_Service .ta-about-gallery img {
    width:100%;
    height:100%;
    aspect-ratio:4/3;
    object-fit:cover;
    display:block;
    transition:transform .55s ease;
}
#About_Service .ta-about-gallery figure:hover img { transform:scale(1.06); }
#About_Service .ta-about-gallery figcaption {
    position:absolute;
    left:0; right:0; bottom:0;
    background:linear-gradient(0deg, rgba(0,0,0,.62) 0%, rgba(0,0,0,0) 100%);
    color:#fff;
    padding:30px 16px 12px;
    font-weight:700;
    font-size:1.3rem;
    display:flex;
    align-items:center;
    gap:8px;
}
#About_Service .ta-about-gallery figcaption i { color:var(--ta-jaune); }

/* --- Responsive tablette --- */
@media (max-width:991px) {
    #About_Service.ta-about { padding:60px 0 !important; }
    #About_Service h2 { font-size:2.6rem !important; }
    #About_Service .ta-about-gallery-head h3 { font-size:1.8rem !important; }
    #About_Service .ta-about-header {
        grid-template-columns:1fr !important;
        gap:30px !important;
        margin-bottom:45px;
    }
    #About_Service .ta-about-header-media { max-width:560px; margin:0 auto; width:100%; }
    #About_Service .ta-about-header-content { text-align:center; }
    #About_Service h2 { text-align:center !important; }
    #About_Service h2::after { margin:18px auto 0; }
    #About_Service .ta-about-intro { text-align:center; }
    #About_Service .ta-about-grid { grid-template-columns:1fr !important; gap:22px !important; }
    #About_Service .ta-about-extended { grid-template-columns:1fr 1fr !important; padding:40px 30px; }
}

/* --- Responsive mobile --- */
@media (max-width:600px) {
    #About_Service.ta-about { padding:45px 0 !important; }
    #About_Service .ta-about-header { margin-bottom:35px; }
    #About_Service .ta-about-header-media::before,
    #About_Service .ta-about-header-media::after { width:38px; height:38px; }
    #About_Service .ta-about-header-badge { padding:10px 14px; bottom:12px; }
    #About_Service .ta-about-header-badge strong { font-size:1.9rem; }
    #About_Service .ta-about-header-badge span { font-size:1.1rem; }
    #About_Service h2 { font-size:2.1rem !important; }
    #About_Service .ta-about-intro { font-size:1.4rem !important; line-height:1.7 !important; }

    #About_Service .ta-about-card { padding:24px 20px 22px; border-left-width:4px; }
    #About_Service .ta-about-card-head {
        flex-wrap:wrap;
        gap:12px;
        margin-bottom:14px;
        padding-bottom:14px;
    }
    #About_Service .ta-about-num { font-size:3.4rem !important; }
    #About_Service .ta-about-icon { width:44px; height:44px; }
    #About_Service .ta-about-icon i { font-size:1.9rem !important; }
    #About_Service .ta-about-card-head h3 {
        font-size:1.7rem !important;
        flex:1 1 100%;
        order:3;
    }
    #About_Service .ta-about-body p { font-size:1.4rem !important; line-height:1.7 !important; }

    #About_Service .ta-about-extended { grid-template-columns:1fr !important; padding:28px 18px; margin:0 -15px; gap:18px !important; }
    #About_Service .ta-about-extended-lead { font-size:1.4rem !important; }
    #About_Service .ta-about-gallery-grid { gap:14px; }
    #About_Service .ta-about-gallery-head h3 { font-size:1.6rem !important; }
    #About_Service .ta-extended-block { padding:22px 18px; }
    #About_Service .ta-extended-marker { width:48px; height:48px; font-size:2.2rem !important; margin-bottom:14px; }
    #About_Service .ta-extended-body h3 { font-size:1.6rem !important; }
    #About_Service .ta-extended-body p { font-size:1.35rem !important; line-height:1.7 !important; }
}

/* ============================================================
   TRANSPORT_OPTIONS - 3 cartes par categorie de vehicule
   Header noir avec icone jaune + body blanc + checklist
   ============================================================ */
#Transport_Options.ta-options {
    background:#fff !important;
    padding:80px 0 !important;
    border-top:1px solid #eaeaea;
}
#Transport_Options.ta-options .container { max-width:1400px; }

#Transport_Options .ta-options-header {
    text-align:center;
    max-width:880px;
    margin:0 auto 50px;
}
#Transport_Options .ta-options-header .ta-about-kicker {
    display:inline-block;
    background:var(--ta-noir);
    color:var(--ta-jaune);
    font-size:1.2rem !important;
    letter-spacing:.18em;
    text-transform:uppercase;
    font-weight:700;
    padding:8px 18px;
    margin-bottom:18px;
}
#Transport_Options h2 {
    color:var(--ta-noir) !important;
    font-size:3rem !important;
    line-height:1.25 !important;
    font-weight:700 !important;
    margin:0 0 18px !important;
    padding:0 !important;
    text-align:center !important;
}
#Transport_Options h2::after {
    content:"";
    display:block;
    width:80px; height:4px;
    background:var(--ta-jaune);
    margin:18px auto 0;
}
#Transport_Options .ta-options-lead {
    color:#555 !important;
    font-size:1.55rem !important;
    line-height:1.6 !important;
    margin:0 !important;
}

#Transport_Options .ta-options-grid {
    display:grid !important;
    grid-template-columns:repeat(3, 1fr) !important;
    gap:28px !important;
}

#Transport_Options .ta-option-card {
    background:#fff;
    border:1px solid #eaeaea;
    display:flex;
    flex-direction:column;
    transition:border-color .25s ease, transform .25s ease;
}
#Transport_Options .ta-option-card:hover {
    border-color:var(--ta-jaune);
    transform:translateY(-3px);
}

/* Header noir avec icone + badge prix */
#Transport_Options .ta-option-head {
    background:var(--ta-noir);
    color:#fff;
    padding:28px 28px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    position:relative;
    border-bottom:4px solid var(--ta-jaune);
}
#Transport_Options .ta-option-head i {
    font-size:4.4rem !important;
    color:var(--ta-jaune) !important;
    line-height:1;
    transition:transform .3s ease;
}
#Transport_Options .ta-option-card:hover .ta-option-head i { transform:scale(1.1) rotate(-3deg); }

#Transport_Options .ta-option-price {
    background:var(--ta-jaune);
    color:var(--ta-noir);
    font-weight:800;
    font-size:1.7rem;
    padding:9px 16px;
    line-height:1;
    letter-spacing:.01em;
}

/* Featured card : highlight subtil */
#Transport_Options .ta-option-card.ta-option-featured {
    border:2px solid var(--ta-jaune);
    position:relative;
}
#Transport_Options .ta-option-card.ta-option-featured::before {
    content:"Populaire";
    position:absolute;
    top:-12px; right:20px;
    background:var(--ta-jaune);
    color:var(--ta-noir);
    font-weight:700;
    font-size:1.1rem;
    letter-spacing:.12em;
    text-transform:uppercase;
    padding:5px 14px;
    z-index:3;
}

#Transport_Options .ta-option-body {
    padding:26px 28px 28px;
    display:flex;
    flex-direction:column;
    flex:1 1 auto;
}
#Transport_Options .ta-option-tag {
    display:inline-block;
    align-self:flex-start;
    background:#fafafa;
    border:1px solid #eaeaea;
    color:#555;
    font-size:1.2rem;
    font-weight:600;
    padding:5px 12px;
    margin-bottom:14px;
    text-transform:uppercase;
    letter-spacing:.08em;
}
#Transport_Options .ta-option-body h3 {
    color:var(--ta-noir) !important;
    font-size:2.1rem !important;
    line-height:1.25 !important;
    font-weight:700 !important;
    margin:0 0 14px !important;
    padding:0 !important;
    text-transform:none !important;
}
#Transport_Options .ta-option-body > p {
    color:#444 !important;
    font-size:1.4rem !important;
    line-height:1.7 !important;
    margin:0 0 18px !important;
    flex:1 1 auto;
}

#Transport_Options .ta-option-list {
    list-style:none !important;
    margin:0 0 22px !important;
    padding:0 !important;
    border-top:1px solid #eaeaea;
    padding-top:16px !important;
}
#Transport_Options .ta-option-list li {
    display:flex;
    align-items:center;
    gap:10px;
    color:#333;
    font-size:1.35rem;
    padding:7px 0;
    line-height:1.4;
}
#Transport_Options .ta-option-list li i {
    color:var(--ta-jaune) !important;
    font-size:1.3rem !important;
    flex:0 0 auto;
    width:20px; height:20px;
    background:var(--ta-noir);
    display:inline-flex; align-items:center; justify-content:center;
}

#Transport_Options .ta-option-link {
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:var(--ta-noir) !important;
    background:var(--ta-jaune);
    font-weight:700;
    font-size:1.45rem;
    padding:13px 22px;
    text-decoration:none !important;
    align-self:flex-start;
    transition:background .25s ease, color .25s ease;
    border:2px solid var(--ta-jaune);
}
#Transport_Options .ta-option-link:hover {
    background:var(--ta-noir);
    color:var(--ta-jaune) !important;
}
#Transport_Options .ta-option-link i {
    transition:transform .25s ease;
    font-size:1.3rem;
}
#Transport_Options .ta-option-link:hover i { transform:translateX(4px); }

/* Responsive */
@media (max-width:991px) {
    #Transport_Options.ta-options { padding:60px 0 !important; }
    #Transport_Options h2 { font-size:2.5rem !important; }
    #Transport_Options .ta-options-grid { grid-template-columns:1fr !important; gap:22px !important; max-width:560px; margin:0 auto; }
}
@media (max-width:600px) {
    #Transport_Options.ta-options { padding:45px 0 !important; }
    #Transport_Options h2 { font-size:2.1rem !important; }
    #Transport_Options .ta-options-lead { font-size:1.4rem !important; }
    #Transport_Options .ta-option-head { padding:22px 20px; }
    #Transport_Options .ta-option-head i { font-size:3.6rem !important; }
    #Transport_Options .ta-option-price { font-size:1.5rem; padding:7px 13px; }
    #Transport_Options .ta-option-body { padding:22px 20px 24px; }
    #Transport_Options .ta-option-body h3 { font-size:1.85rem !important; }
}

/* ============================================================
   VOYAGER_{{CITY}} - split storytelling avec 2 photos
   2 rows alternees (photo gauche / photo droite)
   Selecteur generalise via .ta-voyager (id varie par page)
   ============================================================ */
section.ta-voyager {
    background:#fafafa !important;
    padding:80px 0 !important;
    border-top:1px solid #eaeaea;
}
section.ta-voyager .container { max-width:1400px; }

.ta-voyager .ta-voyager-header {
    text-align:center;
    max-width:880px;
    margin:0 auto 60px;
}
.ta-voyager .ta-voyager-header .ta-about-kicker {
    display:inline-block;
    background:var(--ta-noir);
    color:var(--ta-jaune);
    font-size:1.2rem !important;
    letter-spacing:.18em;
    text-transform:uppercase;
    font-weight:700;
    padding:8px 18px;
    margin-bottom:18px;
}
.ta-voyager > .container > .ta-voyager-header h2,
.ta-voyager .ta-voyager-header h2 {
    color:var(--ta-noir) !important;
    font-size:3rem !important;
    line-height:1.25 !important;
    font-weight:700 !important;
    margin:0 0 18px !important;
    padding:0 !important;
    text-align:center !important;
}
.ta-voyager .ta-voyager-header h2::after {
    content:"";
    display:block;
    width:80px; height:4px;
    background:var(--ta-jaune);
    margin:18px auto 0;
}
.ta-voyager .ta-voyager-lead {
    color:#555 !important;
    font-size:1.55rem !important;
    line-height:1.6 !important;
    margin:0 !important;
}

/* --- Une "row" : photo + texte cote a cote --- */
.ta-voyager .ta-voyager-row {
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) !important;
    gap:55px !important;
    align-items:center;
    margin-bottom:55px;
}
.ta-voyager .ta-voyager-row:last-child { margin-bottom:0; }
.ta-voyager .ta-voyager-row--rev .ta-voyager-media { order:2; }
.ta-voyager .ta-voyager-row--rev .ta-voyager-content { order:1; }

/* --- Photo + caption --- */
.ta-voyager .ta-voyager-media {
    position:relative;
    margin:0;
    overflow:visible;
}
.ta-voyager .ta-voyager-media img {
    display:block;
    width:100% !important;
    height:auto !important;
    aspect-ratio:7/5;
    object-fit:cover;
    transition:transform .5s ease;
}
.ta-voyager .ta-voyager-media:hover img { transform:scale(1.03); }

/* Cadres jaunes decoratifs (cohérent avec About_Service header) */
.ta-voyager .ta-voyager-media::before {
    content:"";
    position:absolute;
    top:-14px; left:-14px;
    width:80px; height:80px;
    border-top:5px solid var(--ta-jaune);
    border-left:5px solid var(--ta-jaune);
    z-index:1;
    pointer-events:none;
}
.ta-voyager .ta-voyager-media::after {
    content:"";
    position:absolute;
    bottom:-14px; right:-14px;
    width:80px; height:80px;
    border-bottom:5px solid var(--ta-jaune);
    border-right:5px solid var(--ta-jaune);
    z-index:1;
    pointer-events:none;
}

/* Caption en badge noir flottant en bas */
.ta-voyager .ta-voyager-caption {
    position:absolute;
    left:0;
    bottom:22px;
    background:var(--ta-noir);
    color:#fff;
    padding:14px 20px 14px 18px;
    display:flex;
    align-items:center;
    gap:14px;
    max-width:85%;
    border-left:5px solid var(--ta-jaune);
    z-index:2;
}
.ta-voyager .ta-voyager-caption i {
    color:var(--ta-jaune) !important;
    font-size:2.2rem !important;
    line-height:1;
    flex:0 0 auto;
}
.ta-voyager .ta-voyager-caption span {
    font-size:1.3rem;
    line-height:1.4;
    font-weight:500;
}

/* --- Bloc texte --- */
.ta-voyager .ta-voyager-content { min-width:0; }
.ta-voyager .ta-voyager-content h3 {
    color:var(--ta-noir) !important;
    font-size:2.2rem !important;
    line-height:1.25 !important;
    font-weight:700 !important;
    margin:0 0 18px !important;
    padding:0 0 16px !important;
    border-bottom:3px solid var(--ta-jaune);
    display:inline-block;
    text-transform:none !important;
}
.ta-voyager .ta-voyager-content p {
    color:#444 !important;
    font-size:1.45rem !important;
    line-height:1.75 !important;
    margin:0 0 14px !important;
}
.ta-voyager .ta-voyager-content p:last-of-type { margin-bottom:0 !important; }
.ta-voyager .ta-voyager-content a {
    color:var(--ta-noir) !important;
    font-weight:600 !important;
    text-decoration:none !important;
    border-bottom:2px solid var(--ta-jaune) !important;
    padding-bottom:1px;
    transition:background .2s ease;
}
.ta-voyager .ta-voyager-content a:hover {
    background:var(--ta-jaune) !important;
    color:var(--ta-noir) !important;
}

/* Liste a puces avec checks */
.ta-voyager .ta-voyager-bullets {
    list-style:none !important;
    margin:20px 0 0 !important;
    padding:0 !important;
}
.ta-voyager .ta-voyager-bullets li {
    display:flex;
    align-items:flex-start;
    gap:12px;
    color:#333;
    font-size:1.4rem;
    line-height:1.55;
    padding:9px 0;
    border-bottom:1px dashed #e3e3e3;
}
.ta-voyager .ta-voyager-bullets li:last-child { border-bottom:none; }
.ta-voyager .ta-voyager-bullets li i {
    color:var(--ta-jaune) !important;
    background:var(--ta-noir);
    width:22px; height:22px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:1.2rem !important;
    flex:0 0 auto;
    margin-top:2px;
}

/* Responsive tablette */
@media (max-width:991px) {
    section.ta-voyager { padding:60px 0 !important; }
    .ta-voyager .ta-voyager-header h2 { font-size:2.5rem !important; }
    .ta-voyager .ta-voyager-row {
        grid-template-columns:1fr !important;
        gap:35px !important;
        margin-bottom:55px;
    }
    .ta-voyager .ta-voyager-row--rev .ta-voyager-media { order:0; }
    .ta-voyager .ta-voyager-row--rev .ta-voyager-content { order:0; }
    .ta-voyager .ta-voyager-media { max-width:620px; margin:0 auto; width:100%; }
}

/* Responsive mobile */
@media (max-width:600px) {
    section.ta-voyager { padding:45px 0 !important; }
    .ta-voyager .ta-voyager-header { margin-bottom:35px; }
    .ta-voyager .ta-voyager-header h2 { font-size:2.1rem !important; }
    .ta-voyager .ta-voyager-lead { font-size:1.4rem !important; }
    .ta-voyager .ta-voyager-media::before,
    .ta-voyager .ta-voyager-media::after { width:48px; height:48px; border-width:4px; }
    .ta-voyager .ta-voyager-caption {
        padding:10px 14px;
        gap:10px;
        bottom:14px;
        max-width:92%;
    }
    .ta-voyager .ta-voyager-caption i { font-size:1.8rem !important; }
    .ta-voyager .ta-voyager-caption span { font-size:1.15rem; }
    .ta-voyager .ta-voyager-content h3 { font-size:1.8rem !important; padding-bottom:12px !important; margin-bottom:14px !important; }
    .ta-voyager .ta-voyager-content p { font-size:1.4rem !important; line-height:1.7 !important; }
    .ta-voyager .ta-voyager-bullets li { font-size:1.35rem; gap:10px; }
}

/* ============================================================
   AIRPORT_TRANSFER - split photo + grid 6 info-cards
   Photo avec badge IATA + caption, contenu a droite,
   grid 3x2 d'info-cards sous le split.
   ============================================================ */
section.ta-airport {
    background:#fff !important;
    padding:80px 0 !important;
    border-top:1px solid #eaeaea;
}
section.ta-airport .container { max-width:1400px; }

.ta-airport .ta-airport-header {
    text-align:center;
    max-width:880px;
    margin:0 auto 50px;
}
.ta-airport .ta-airport-header .ta-about-kicker {
    display:inline-block;
    background:var(--ta-noir);
    color:var(--ta-jaune);
    font-size:1.2rem !important;
    letter-spacing:.18em;
    text-transform:uppercase;
    font-weight:700;
    padding:8px 18px;
    margin-bottom:18px;
}
.ta-airport h2 {
    color:var(--ta-noir) !important;
    font-size:3rem !important;
    line-height:1.25 !important;
    font-weight:700 !important;
    margin:0 0 18px !important;
    padding:0 !important;
    text-align:center !important;
    text-transform:none !important;
}
.ta-airport h2::after {
    content:"";
    display:block;
    width:80px; height:4px;
    background:var(--ta-jaune);
    margin:18px auto 0;
}
.ta-airport .ta-airport-lead {
    color:#555 !important;
    font-size:1.55rem !important;
    line-height:1.6 !important;
    margin:0 !important;
}

/* --- Split : photo (40%) + texte (60%) --- */
.ta-airport .ta-airport-split {
    display:grid !important;
    grid-template-columns:minmax(0, 5fr) minmax(0, 7fr) !important;
    gap:50px !important;
    align-items:center;
    margin-bottom:55px;
}

.ta-airport .ta-airport-media {
    position:relative;
    margin:0;
    overflow:visible;
}
.ta-airport .ta-airport-media img {
    display:block;
    width:100% !important;
    height:auto !important;
    aspect-ratio:7/5;
    object-fit:cover;
    transition:transform .5s ease;
}
.ta-airport .ta-airport-media:hover img { transform:scale(1.03); }

/* Cadres jaunes decoratifs */
.ta-airport .ta-airport-media::before {
    content:"";
    position:absolute;
    top:-14px; left:-14px;
    width:80px; height:80px;
    border-top:5px solid var(--ta-jaune);
    border-left:5px solid var(--ta-jaune);
    pointer-events:none;
    z-index:1;
}
.ta-airport .ta-airport-media::after {
    content:"";
    position:absolute;
    bottom:-14px; right:-14px;
    width:80px; height:80px;
    border-bottom:5px solid var(--ta-jaune);
    border-right:5px solid var(--ta-jaune);
    pointer-events:none;
    z-index:1;
}

/* Badge IATA flottant en haut a droite (style boarding pass) */
.ta-airport .ta-airport-iata {
    position:absolute;
    top:18px;
    right:18px;
    background:var(--ta-jaune);
    color:var(--ta-noir);
    padding:10px 16px 12px;
    text-align:center;
    line-height:1;
    z-index:2;
    min-width:90px;
    font-family:'Helvetica', Arial, sans-serif;
}
.ta-airport .ta-airport-iata-code {
    display:block;
    font-size:2.4rem;
    font-weight:800;
    letter-spacing:.04em;
}
.ta-airport .ta-airport-iata-name {
    display:block;
    font-size:1rem;
    font-weight:700;
    letter-spacing:.06em;
    text-transform:uppercase;
    margin-top:4px;
    opacity:.85;
}

/* Caption noire flottante en bas */
.ta-airport .ta-airport-caption {
    position:absolute;
    left:0;
    bottom:22px;
    background:var(--ta-noir);
    color:#fff;
    padding:13px 20px 13px 18px;
    display:flex;
    align-items:center;
    gap:12px;
    max-width:88%;
    border-left:5px solid var(--ta-jaune);
    z-index:2;
}
.ta-airport .ta-airport-caption i {
    color:var(--ta-jaune) !important;
    font-size:2rem !important;
    line-height:1;
    flex:0 0 auto;
}
.ta-airport .ta-airport-caption span {
    font-size:1.3rem;
    line-height:1.4;
    font-weight:500;
}

/* Contenu texte a droite */
.ta-airport .ta-airport-content { min-width:0; }
.ta-airport .ta-airport-content p {
    color:#444 !important;
    font-size:1.5rem !important;
    line-height:1.75 !important;
    margin:0 0 16px !important;
}
.ta-airport .ta-airport-content p:last-child { margin-bottom:0 !important; }
.ta-airport .ta-airport-content a {
    color:var(--ta-noir) !important;
    font-weight:600 !important;
    text-decoration:none !important;
    border-bottom:2px solid var(--ta-jaune) !important;
    padding-bottom:1px;
    transition:background .2s ease;
}
.ta-airport .ta-airport-content a:hover {
    background:var(--ta-jaune) !important;
    color:var(--ta-noir) !important;
}

/* --- Grid 3x2 d'info-cards (les 6 garanties) --- */
.ta-airport .ta-airport-grid {
    list-style:none !important;
    margin:0 0 35px !important;
    padding:0 !important;
    display:grid !important;
    grid-template-columns:repeat(3, 1fr) !important;
    gap:18px;
}
.ta-airport .ta-airport-grid li {
    display:flex;
    align-items:flex-start;
    gap:16px;
    padding:22px 22px;
    background:#fafafa;
    border:1px solid #eaeaea;
    border-left:4px solid var(--ta-jaune);
    transition:background .25s ease, border-left-width .25s ease;
}
.ta-airport .ta-airport-grid li:hover {
    background:#fff;
    border-left-width:7px;
}
.ta-airport .ta-airport-grid li i {
    flex:0 0 auto;
    width:48px; height:48px;
    background:var(--ta-noir);
    color:var(--ta-jaune) !important;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:2rem !important;
    line-height:1;
    transition:background .25s ease, color .25s ease;
}
.ta-airport .ta-airport-grid li:hover i {
    background:var(--ta-jaune);
    color:var(--ta-noir) !important;
}
.ta-airport .ta-airport-grid li div { flex:1 1 auto; min-width:0; }
.ta-airport .ta-airport-grid li strong {
    display:block;
    color:var(--ta-noir);
    font-size:1.5rem;
    font-weight:700;
    line-height:1.25;
    margin-bottom:5px;
}
.ta-airport .ta-airport-grid li span {
    display:block;
    color:#555;
    font-size:1.3rem;
    line-height:1.45;
}

/* Paragraphe(s) de pied avec liens internes — accepte <p> ou <div> contenant des <p> */
.ta-airport .ta-airport-foot {
    padding:22px 26px;
    background:#fafafa;
    border-left:4px solid var(--ta-jaune);
    text-align:left;
}
.ta-airport p.ta-airport-foot {
    color:#444 !important;
    font-size:1.4rem !important;
    line-height:1.7 !important;
    margin:0 !important;
}
.ta-airport div.ta-airport-foot p {
    color:#444 !important;
    font-size:1.4rem !important;
    line-height:1.7 !important;
    margin:0 0 14px !important;
    text-align:left !important;
}
.ta-airport div.ta-airport-foot p:last-child { margin-bottom:0 !important; }
.ta-airport .ta-airport-foot a {
    color:var(--ta-noir) !important;
    font-weight:600 !important;
    text-decoration:none !important;
    border-bottom:2px solid var(--ta-jaune) !important;
    padding-bottom:1px;
    transition:background .2s ease;
}
.ta-airport .ta-airport-foot a:hover {
    background:var(--ta-jaune) !important;
}

/* About_Service : header sans image (mode plein largeur, index.html) */
#About_Service .ta-about-header--full {
    grid-template-columns:1fr !important;
    text-align:center;
    max-width:980px;
    margin-left:auto;
    margin-right:auto;
}
#About_Service .ta-about-header--full .ta-about-header-content { text-align:center; }
#About_Service .ta-about-header--full h2 { text-align:center !important; }
#About_Service .ta-about-header--full h2::after { margin:18px auto 0 !important; }
#About_Service .ta-about-header--full .ta-about-intro {
    text-align:left !important;
    max-width:880px;
    margin-left:auto !important;
    margin-right:auto !important;
}

/* About_Service : zone outro apres la grille de cartes */
#About_Service .ta-about-outro {
    margin-top:55px;
    padding:30px 32px;
    background:#fafafa;
    border-left:4px solid var(--ta-jaune);
}
#About_Service .ta-about-outro p {
    color:#444 !important;
    font-size:1.4rem !important;
    line-height:1.7 !important;
    margin:0 0 14px !important;
    text-align:left !important;
}
#About_Service .ta-about-outro p:last-child { margin-bottom:0 !important; }

/* Responsive tablette */
@media (max-width:991px) {
    section.ta-airport { padding:60px 0 !important; }
    .ta-airport h2 { font-size:2.5rem !important; }
    .ta-airport .ta-airport-split {
        grid-template-columns:1fr !important;
        gap:35px !important;
        margin-bottom:45px;
    }
    .ta-airport .ta-airport-media { max-width:620px; margin:0 auto; width:100%; }
    .ta-airport .ta-airport-grid { grid-template-columns:repeat(2, 1fr) !important; }
}

/* Responsive mobile */
@media (max-width:600px) {
    section.ta-airport { padding:45px 0 !important; }
    .ta-airport .ta-airport-header { margin-bottom:30px; }
    .ta-airport h2 { font-size:2.1rem !important; }
    .ta-airport .ta-airport-lead { font-size:1.4rem !important; }
    .ta-airport .ta-airport-media::before,
    .ta-airport .ta-airport-media::after { width:48px; height:48px; border-width:4px; }
    .ta-airport .ta-airport-iata { padding:8px 12px 9px; min-width:74px; top:14px; right:14px; }
    .ta-airport .ta-airport-iata-code { font-size:1.9rem; }
    .ta-airport .ta-airport-iata-name { font-size:.85rem; }
    .ta-airport .ta-airport-caption {
        padding:9px 14px;
        gap:10px;
        bottom:14px;
        max-width:92%;
    }
    .ta-airport .ta-airport-caption i { font-size:1.7rem !important; }
    .ta-airport .ta-airport-caption span { font-size:1.15rem; }
    .ta-airport .ta-airport-content p { font-size:1.4rem !important; line-height:1.7 !important; }
    .ta-airport .ta-airport-grid { grid-template-columns:1fr !important; gap:14px; }
    .ta-airport .ta-airport-grid li { padding:18px 16px; gap:14px; }
    .ta-airport .ta-airport-grid li i { width:42px; height:42px; font-size:1.7rem !important; }
    .ta-airport .ta-airport-grid li strong { font-size:1.4rem; }
    .ta-airport .ta-airport-grid li span { font-size:1.25rem; }
    .ta-airport .ta-airport-foot { padding:18px 18px; font-size:1.35rem !important; }
}

/* ============================================================
   TRUST BADGES — cartes plateformes + grille avis
   ============================================================ */
section.ta-trust {
    padding: 55px 0 65px !important;
    background: #fff !important;
    border-top: 3px solid var(--ta-jaune);
}
.ta-trust .ta-trust-header { margin-bottom: 40px; }
.ta-trust .ta-trust-eyebrow {
    display: inline-block;
    margin: 0 0 10px;
    padding: 6px 14px;
    background: var(--ta-jaune);
    color: var(--ta-noir);
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}
.ta-trust .ta-trust-title {
    margin: 0 0 12px;
    color: var(--ta-noir) !important;
    font-size: 2.8rem !important;
    font-weight: 800 !important;
    line-height: 1.2;
}
.ta-trust .ta-trust-lead {
    max-width: 720px;
    margin: 0 auto !important;
    color: #555 !important;
    font-size: 1.45rem !important;
    line-height: 1.65 !important;
    text-align: center !important;
}

/* Cartes plateformes — header (icone + nom + rating + count) / foot (stars + bouton) */
.ta-trust-platforms {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-bottom: 28px;
}
.ta-trust-card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px 16px;
    background: #fafafa;
    border: 1px solid #e8e8e8;
    border-left: 5px solid var(--ta-jaune);
    border-radius: 10px;
    text-align: left;
    transition: border-color 0.2s ease, background 0.2s ease;
}
.ta-trust-card:hover { background: #fff; border-color: var(--ta-noir); }
.ta-trust-card--google { border-left-color: #4285f4; }
.ta-trust-card--tripadvisor { border-left-color: #00af87; }
.ta-trust-card--trustpilot { border-left-color: #00b67a; }

.ta-trust-card-head {
    display: grid;
    grid-template-columns: 52px 1fr auto;
    align-items: center;
    column-gap: 12px;
}
.ta-trust-card-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    background: var(--ta-noir);
    color: var(--ta-jaune);
    font-size: 2.1rem;
    border-radius: 50%;
}
.ta-trust-card--google .ta-trust-card-icon { color: #fff; background: #4285f4; }
.ta-trust-card--tripadvisor .ta-trust-card-icon { color: #fff; background: #00af87; }
.ta-trust-card--trustpilot .ta-trust-card-icon { color: #fff; background: #00b67a; }
.ta-trust-card-name {
    margin: 0;
    color: var(--ta-noir);
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.2;
    align-self: center;
}
.ta-trust-count {
    margin: 0;
    color: #555;
    font-size: 1.15rem;
    font-weight: 600;
    text-align: right;
    white-space: nowrap;
    align-self: center;
}

.ta-trust-card-foot {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
}
.ta-trust-score {
    display: flex;
    flex-direction: column;
    gap: 2px;
    line-height: 1;
}
.ta-trust-rating {
    margin: 0;
    display: flex;
    align-items: baseline;
    gap: 3px;
    line-height: 1;
}
.ta-trust-rating-num {
    color: var(--ta-noir);
    font-size: 1.55rem;
    font-weight: 800;
}
.ta-trust-rating-max {
    color: #888;
    font-size: 1.05rem;
    font-weight: 600;
}
.ta-trust-stars {
    color: var(--ta-jaune);
    font-size: 1.85rem;
    letter-spacing: 3px;
    line-height: 1;
}

/* Bouton outline aux couleurs de la plateforme */
.ta-trust-btn {
    display: inline-flex;
    align-items: center;
    padding: 7px 14px;
    background: transparent;
    color: var(--ta-btn-color, var(--ta-noir)) !important;
    font-size: 1.15rem;
    font-weight: 700;
    text-decoration: none !important;
    border: 2px solid var(--ta-btn-color, var(--ta-noir));
    border-radius: 6px;
    white-space: nowrap;
    transition: background 0.2s ease, color 0.2s ease;
}
.ta-trust-btn:hover {
    background: var(--ta-btn-color, var(--ta-noir));
    color: #fff !important;
}
.ta-trust-card--google .ta-trust-btn { --ta-btn-color: #4285f4; }
.ta-trust-card--tripadvisor .ta-trust-btn { --ta-btn-color: #00af87; }
.ta-trust-card--trustpilot .ta-trust-btn { --ta-btn-color: #00b67a; }

/* Toolbar : onglets + navigation carousel sur la meme ligne */
.ta-trust-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 18px;
}
.ta-trust-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.ta-trust-tab {
    padding: 8px 18px;
    background: #f0f0f0;
    color: var(--ta-noir);
    font-size: 1.3rem;
    font-weight: 600;
    border: 2px solid transparent;
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.2s ease, border-color 0.2s ease;
}
.ta-trust-tab:hover,
.ta-trust-tab.is-active {
    background: var(--ta-jaune);
    border-color: var(--ta-noir);
}
.ta-trust-tab.is-active { font-weight: 800; }
.ta-trust-controls {
    display: flex;
    gap: 8px;
}
.ta-trust-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    background: var(--ta-noir);
    color: var(--ta-jaune) !important;
    font-size: 1.4rem;
    border: 2px solid var(--ta-noir);
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
}
.ta-trust-nav:hover {
    background: var(--ta-jaune);
    color: var(--ta-noir) !important;
}
.ta-trust-nav[disabled] { opacity: 0.35; cursor: not-allowed; }

/* Carousel horizontal des avis */
.ta-trust-carousel { position: relative; }
.ta-trust-reviews {
    display: flex;
    gap: 14px;
    padding: 4px 2px 12px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    text-align: left;
    scrollbar-width: thin;
    scrollbar-color: var(--ta-jaune) #eee;
}
.ta-trust-reviews::-webkit-scrollbar { height: 6px; }
.ta-trust-reviews::-webkit-scrollbar-track { background: #eee; }
.ta-trust-reviews::-webkit-scrollbar-thumb { background: var(--ta-jaune); }

.ta-review-card {
    flex: 0 0 290px;
    max-width: 290px;
    padding: 14px 14px 16px;
    background: #fafafa;
    border: 1px solid #eee;
    border-left: 4px solid var(--ta-jaune);
    border-bottom: 4px solid var(--ta-jaune);
    border-radius: 10px;
    scroll-snap-align: start;
}
.ta-review-card[data-platform="google"] { border-left-color: #4285f4; border-bottom-color: #4285f4; }
.ta-review-card[data-platform="tripadvisor"] { border-left-color: #00af87; border-bottom-color: #00af87; }
.ta-review-card[data-platform="trustpilot"] { border-left-color: #00b67a; border-bottom-color: #00b67a; }
.ta-review-card[hidden] { display: none !important; }
.ta-review-card-head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 6px;
    margin-bottom: 6px;
}
.ta-review-author-wrap {
    display: flex;
    flex-direction: column;
    gap: 1px;
    min-width: 0;
}
.ta-review-author {
    color: var(--ta-noir);
    font-size: 1.15rem;
    line-height: 1.2;
}
.ta-review-country {
    color: #777;
    font-size: 1rem;
    line-height: 1.2;
}
.ta-review-card-head time {
    color: #999;
    font-size: 1rem;
    white-space: nowrap;
}
.ta-review-stars {
    margin-bottom: 6px;
    color: var(--ta-jaune);
    font-size: 1.05rem;
    letter-spacing: 1px;
}
.ta-review-text {
    font-size: 14px !important;
    line-height: 1.4 !important;
    color: #444 !important;
    font-weight: 400 !important;
    margin-bottom: 20px !important;
    text-align: left !important;
    display: -webkit-box;
    -webkit-line-clamp: 6;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

@media (max-width: 991px) {
    .ta-trust-platforms { grid-template-columns: 1fr; gap: 10px; max-width: 480px; margin-left: auto; margin-right: auto; }
    .ta-trust .ta-trust-title { font-size: 2.4rem !important; }
    .ta-trust-toolbar { justify-content: center; }
}
@media (max-width: 600px) {
    section.ta-trust { padding: 40px 0 50px !important; }
    .ta-trust .ta-trust-title { font-size: 2rem !important; }
    .ta-trust .ta-trust-lead { font-size: 1.35rem; }
    .ta-trust-card-head { grid-template-columns: 44px 1fr auto; column-gap: 10px; }
    .ta-trust-card-icon { width: 44px; height: 44px; font-size: 1.8rem; }
    .ta-trust-count { font-size: 1.05rem; }
    .ta-trust-stars { font-size: 1.6rem; letter-spacing: 2px; }
    .ta-trust-btn { padding: 6px 11px; font-size: 1.05rem; }
    .ta-review-card { flex-basis: 250px; max-width: 250px; }
    .ta-trust-nav { width: 34px; height: 34px; font-size: 1.2rem; }
}

/* ============================================================
   FAQ native <details><summary>
   ============================================================ */
.ta-faq { max-width: 900px; margin: 30px auto 0; }
.ta-faq-item {
    border: 1px solid #e8e8e8;
    border-radius: 6px;
    margin-bottom: 12px;
    background: #fff;
    overflow: hidden;
    transition: border-color .2s ease;
}
.ta-faq-item[open] { border-color: var(--ta-jaune, #ffb927); }
.ta-faq-item > summary {
    list-style: none;
    cursor: pointer;
    padding: 18px 50px 18px 22px;
    position: relative;
    font-weight: 600;
    color: #101010;
    user-select: none;
    transition: background .15s ease;
}
.ta-faq-item > summary::-webkit-details-marker { display: none; }
.ta-faq-item > summary:hover { background: #fafafa; }
.ta-faq-item > summary > h3 {
    display: inline;
    margin: 0;
    font-size: 1.05rem;
    font-weight: 600;
    color: inherit;
    line-height: 1.4;
}
.ta-faq-item > summary::after {
    content: "+";
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.6rem;
    line-height: 1;
    color: var(--ta-jaune, #ffb927);
    font-weight: 400;
    transition: transform .2s ease;
}
.ta-faq-item[open] > summary::after { content: "−"; }
.ta-faq-body { padding: 0 22px 18px; color: #444; line-height: 1.6; }
.ta-faq-body p { margin: 0 0 10px; }
.ta-faq-body p:last-child { margin-bottom: 0; }
.ta-faq-body ul { margin: 0 0 10px 18px; padding: 0; }
.ta-faq-body a { color: #101010; border-bottom: 1px solid var(--ta-jaune, #ffb927); text-decoration: none; }
.ta-faq-body a:hover { color: var(--ta-jaune, #ffb927); }

/* ============================================================
   Hero secondaire (pages internes)
   ============================================================ */
.ta-page-hero {
    background: #fafafa;
    padding: 60px 0 40px;
    text-align: center;
}
.ta-page-hero h1 {
    font-size: 2.2rem;
    margin: 0 0 12px;
    color: #101010;
}
.ta-page-hero h1 span { color: var(--ta-jaune, #ffb927); }
.ta-page-hero .ta-lead { color: #555; font-size: 1.1rem; max-width: 760px; margin: 0 auto; }

/* ============================================================
   Listes engagements et contact (pages internes)
   ============================================================ */
.ta-engagements { list-style: none; padding: 0; margin: 20px 0; }
.ta-engagements li { padding: 10px 0 10px 28px; position: relative; border-bottom: 1px solid #f0f0f0; }
.ta-engagements li::before {
    content: "\f00c";
    font-family: FontAwesome;
    position: absolute;
    left: 0; top: 12px;
    color: var(--ta-jaune, #ffb927);
}
.ta-contact-list { list-style: none; padding: 0; margin: 20px 0; }
.ta-contact-list li { padding: 8px 0; }
.ta-contact-list .fa { color: var(--ta-jaune, #ffb927); margin-right: 10px; width: 18px; }
.ta-contact-list a { color: #101010; text-decoration: none; }
.ta-contact-list a:hover { color: var(--ta-jaune, #ffb927); }

/* ============================================================
   Section témoignages texte (Review schema)
   ============================================================ */
.ta-testimonials {
    padding: 60px 0;
    background: #fafafa;
}
.ta-testimonials-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
    margin-top: 30px;
}
.ta-testimonial {
    background: #fff;
    border-radius: 8px;
    padding: 24px;
    border: 1px solid #eee;
}
.ta-testimonial-stars { color: var(--ta-jaune, #ffb927); margin-bottom: 8px; letter-spacing: 2px; }
.ta-testimonial-text { color: #333; line-height: 1.6; font-style: italic; margin: 0 0 12px; }
.ta-testimonial-author { font-weight: 600; color: #101010; margin: 0; }
.ta-testimonial-meta { color: #888; font-size: .9rem; margin: 4px 0 0; }

/* ============================================================
   Bandeau cookies RGPD
   ============================================================ */
.ta-cookie-banner {
    position: fixed;
    left: 16px;
    right: 16px;
    bottom: 16px;
    z-index: 9999;
    background: #101010;
    color: #fff;
    padding: 18px 22px;
    border-radius: 10px;
    box-shadow: 0 8px 32px rgba(0,0,0,.25);
    display: none;
    max-width: 760px;
    margin: 0 auto;
    line-height: 1.5;
}
.ta-cookie-banner.is-visible { display: block; }
.ta-cookie-banner p { margin: 0 0 14px; font-size: .95rem; color: #f1f1f1; }
.ta-cookie-banner a { color: var(--ta-jaune, #ffb927); text-decoration: underline; }
.ta-cookie-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.ta-cookie-btn {
    border: none;
    border-radius: 5px;
    padding: 10px 18px;
    font-weight: 600;
    cursor: pointer;
    font-size: .9rem;
    transition: opacity .15s ease;
}
.ta-cookie-btn:hover { opacity: .9; }
.ta-cookie-accept { background: var(--ta-jaune, #ffb927); color: #101010; }
.ta-cookie-reject { background: #444; color: #fff; }
.ta-cookie-settings { background: transparent; color: #fff; border: 1px solid #555; }
@media (max-width: 600px) {
    .ta-cookie-banner { left: 8px; right: 8px; bottom: 8px; padding: 14px 16px; }
    .ta-cookie-actions { flex-direction: column; }
    .ta-cookie-btn { width: 100%; }
}

/* ============================================================
   VOYAGER_CITY — cartes destinations (12 pages transfert-*)
   Markup : #Voyager_City.ta-voyager-city
   Variante photo : #Voyager_City.ta-voyager (taxi-marrakech-casablanca, aeroport)
   ============================================================ */
#Voyager_City.ta-voyager-city {
    background: linear-gradient(180deg, #f4f4f4 0%, #fafafa 45%, #fff 100%) !important;
    padding: 80px 0 !important;
    border-top: 1px solid #e8e8e8;
    position: relative;
    overflow: hidden;
}
#Voyager_City.ta-voyager-city::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 5px;
    background: linear-gradient(90deg, var(--ta-jaune) 0%, #ffd966 50%, var(--ta-jaune) 100%);
    z-index: 1;
}
#Voyager_City.ta-voyager-city .container {
    max-width: 1400px;
    position: relative;
    z-index: 2;
}

/* --- En-tete centre --- */
#Voyager_City.ta-voyager-city .ta-voyager-city-header {
    text-align: center;
    max-width: 920px;
    margin: 0 auto 52px;
}
#Voyager_City.ta-voyager-city .ta-voyager-city-header .ta-about-kicker {
    display: inline-block;
    background: var(--ta-noir);
    color: var(--ta-jaune);
    font-size: 1.15rem !important;
    letter-spacing: .16em;
    text-transform: uppercase;
    font-weight: 700;
    padding: 8px 20px;
    margin-bottom: 20px;
}
#Voyager_City.ta-voyager-city .ta-voyager-city-header h2 {
    color: var(--ta-noir) !important;
    font-size: 2.85rem !important;
    line-height: 1.22 !important;
    font-weight: 700 !important;
    margin: 0 0 20px !important;
    padding: 0 !important;
    text-align: center !important;
    text-transform: none !important;
}
#Voyager_City.ta-voyager-city .ta-voyager-city-header h2::after {
    content: "";
    display: block;
    width: 72px;
    height: 4px;
    background: var(--ta-jaune);
    margin: 18px auto 0;
}
#Voyager_City.ta-voyager-city .ta-voyager-city-leads {
    max-width: 820px;
    margin: 0 auto;
}
#Voyager_City.ta-voyager-city .ta-voyager-city-leads p,
#Voyager_City.ta-voyager-city .ta-voyager-city-header > .ta-voyager-lead {
    color: #555 !important;
    font-size: 1.5rem !important;
    line-height: 1.65 !important;
    margin: 0 0 14px !important;
    text-align: center !important;
}
#Voyager_City.ta-voyager-city .ta-voyager-city-leads p:last-child {
    margin-bottom: 0 !important;
}

/* --- Grille de cartes --- */
#Voyager_City.ta-voyager-city .ta-voyager-city-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)) !important;
    gap: 28px !important;
    counter-reset: voyager-card;
}

/* --- Carte individuelle --- */
#Voyager_City.ta-voyager-city .ta-voyager-city-card {
    counter-increment: voyager-card;
    background: #fff;
    border-radius: 14px;
    border: 1px solid #ebebeb;
    border-left: 5px solid var(--ta-jaune);
    box-shadow: 0 6px 28px rgba(16, 16, 16, .07);
    padding: 0 0 28px;
    transition: transform .28s ease, box-shadow .28s ease;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
#Voyager_City.ta-voyager-city .ta-voyager-city-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 14px 42px rgba(16, 16, 16, .11);
}

/* --- Photo en haut de carte --- */
#Voyager_City.ta-voyager-city .ta-voyager-city-media {
    position: relative;
    margin: 0 0 22px;
    overflow: hidden;
    background: #101010;
}
#Voyager_City.ta-voyager-city .ta-voyager-city-media img {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    transition: transform .55s ease;
}
#Voyager_City.ta-voyager-city .ta-voyager-city-card:hover .ta-voyager-city-media img {
    transform: scale(1.05);
}
#Voyager_City.ta-voyager-city .ta-voyager-city-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 55%, rgba(0, 0, 0, .35) 100%);
    pointer-events: none;
}
#Voyager_City.ta-voyager-city .ta-voyager-city-media .ta-voyager-city-tag {
    position: absolute;
    left: 0;
    bottom: 14px;
    z-index: 2;
    background: var(--ta-noir);
    color: #fff;
    font-size: 1.15rem;
    font-weight: 700;
    letter-spacing: .04em;
    padding: 7px 16px 7px 14px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
#Voyager_City.ta-voyager-city .ta-voyager-city-media .ta-voyager-city-tag i {
    color: var(--ta-jaune);
    font-size: 1.2rem;
}

#Voyager_City.ta-voyager-city .ta-voyager-city-card-head {
    display: flex !important;
    align-items: flex-start !important;
    gap: 16px !important;
    margin-bottom: 18px !important;
    padding: 0 28px;
}
#Voyager_City.ta-voyager-city .ta-voyager-city-body {
    padding: 0 28px;
}
#Voyager_City.ta-voyager-city .ta-voyager-city-icon {
    flex-shrink: 0;
    width: 50px;
    height: 50px;
    background: var(--ta-noir);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .25s ease;
}
#Voyager_City.ta-voyager-city .ta-voyager-city-card:hover .ta-voyager-city-icon {
    background: var(--ta-jaune);
}
#Voyager_City.ta-voyager-city .ta-voyager-city-icon i {
    font-size: 1.35rem !important;
    color: var(--ta-jaune) !important;
    line-height: 1 !important;
    transition: color .25s ease;
}
#Voyager_City.ta-voyager-city .ta-voyager-city-card:hover .ta-voyager-city-icon i {
    color: var(--ta-noir) !important;
}
#Voyager_City.ta-voyager-city .ta-voyager-city-card-head h3 {
    color: var(--ta-noir) !important;
    font-size: 1.75rem !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
    margin: 4px 0 0 !important;
    padding: 0 !important;
    text-transform: none !important;
}

#Voyager_City.ta-voyager-city .ta-voyager-city-body p {
    color: #444 !important;
    font-size: 1.45rem !important;
    line-height: 1.72 !important;
    margin: 0 0 14px !important;
}
#Voyager_City.ta-voyager-city .ta-voyager-city-body p:last-child {
    margin-bottom: 0 !important;
}
#Voyager_City.ta-voyager-city .ta-voyager-city-body ul {
    margin: 0 0 14px !important;
    padding: 0 0 0 4px !important;
    list-style: none !important;
}
#Voyager_City.ta-voyager-city .ta-voyager-city-body ul li {
    position: relative;
    padding: 0 0 10px 22px !important;
    color: #444 !important;
    font-size: 1.42rem !important;
    line-height: 1.65 !important;
    margin: 0 !important;
}
#Voyager_City.ta-voyager-city .ta-voyager-city-body ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .55em;
    width: 8px;
    height: 8px;
    background: var(--ta-jaune);
    border-radius: 50%;
}
#Voyager_City.ta-voyager-city .ta-voyager-city-body a {
    color: var(--ta-noir) !important;
    font-weight: 600;
    text-decoration: underline !important;
    text-decoration-color: var(--ta-jaune) !important;
    text-underline-offset: 3px;
}
#Voyager_City.ta-voyager-city .ta-voyager-city-body a:hover {
    color: #c48f00 !important;
}

/* Alias : #Voyager_City avec layout photo (.ta-voyager) */
#Voyager_City.ta-voyager {
    background: #fafafa !important;
    padding: 80px 0 !important;
    border-top: 1px solid #eaeaea;
}

@media (max-width: 991px) {
    #Voyager_City.ta-voyager-city { padding: 60px 0 !important; }
    #Voyager_City.ta-voyager-city .ta-voyager-city-header h2 { font-size: 2.35rem !important; }
    #Voyager_City.ta-voyager-city .ta-voyager-city-leads p,
    #Voyager_City.ta-voyager-city .ta-voyager-city-header > .ta-voyager-lead { font-size: 1.35rem !important; }
    #Voyager_City.ta-voyager-city .ta-voyager-city-grid { gap: 22px !important; }
}

@media (max-width: 767px) {
    #Voyager_City.ta-voyager-city { padding: 48px 0 !important; }
    #Voyager_City.ta-voyager-city .ta-voyager-city-header { margin-bottom: 36px; }
    #Voyager_City.ta-voyager-city .ta-voyager-city-header h2 { font-size: 1.95rem !important; }
    #Voyager_City.ta-voyager-city .ta-voyager-city-card { padding: 24px 20px 22px; }
    #Voyager_City.ta-voyager-city .ta-voyager-city-card-head h3 { font-size: 1.55rem !important; }
    #Voyager_City.ta-voyager-city .ta-voyager-city-body p,
    #Voyager_City.ta-voyager-city .ta-voyager-city-body ul li { font-size: 1.35rem !important; }
    #Voyager_City.ta-voyager-city .ta-voyager-city-icon { width: 44px; height: 44px; }
}


 
 