:root{--green:#0d766b;--green-dark:#075b53;--mint:#dff8f0;--orange:#ffb02e;--ink:#15302b;--muted:#65756f;--bg:#f4f8f6;--white:#fff;--line:#dfe9e4;--danger:#b42318;--shadow:0 18px 50px rgba(23,74,61,.12)}
*{box-sizing:border-box}body{margin:0;font-family:Manrope,Arial,sans-serif;background:var(--bg);color:var(--ink)}a{text-decoration:none;color:inherit}.container{width:min(1200px,92%);margin:auto}.topbar{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav-wrap{min-height:76px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:10px;align-items:center;font-size:25px;font-weight:800;color:var(--green)}.accent{color:var(--orange)}.brand-icon{font-size:31px}.nav{display:flex;align-items:center;gap:21px;font-weight:700}.nav a:hover{color:var(--green)}.nav-account{background:var(--mint);padding:10px 14px;border-radius:12px}.menu-toggle{display:none;background:none;border:0;font-size:30px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:13px;padding:13px 20px;background:var(--green);color:#fff;font-weight:800;cursor:pointer}.btn:hover{background:var(--green-dark)}.btn.orange{background:var(--orange);color:#24342f}.btn.outline{background:#fff;color:var(--green);border:2px solid var(--green)}.btn.small{padding:9px 13px}.hero{padding:76px 0 64px;background:radial-gradient(circle at 90% 10%,#fff4cd,transparent 32%),linear-gradient(135deg,#ddf9f0,#fff)}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:46px;align-items:center}.hero h1{font-size:clamp(40px,5vw,70px);line-height:1.02;margin:16px 0}.hero p{font-size:19px;color:#4c625a}.hero-photo{border-radius:28px;overflow:hidden;box-shadow:var(--shadow);position:relative}.hero-photo img{width:100%;height:480px;object-fit:cover;display:block}.hero-float{position:absolute;left:22px;bottom:22px;background:#fff;padding:18px;border-radius:16px;box-shadow:var(--shadow)}.badge,.chip{display:inline-flex;align-items:center;gap:7px;background:var(--mint);color:var(--green-dark);padding:7px 11px;border-radius:999px;font-size:13px;font-weight:800}.sponsored{background:#fff2c7;color:#7b5200}.recommended{background:#e9efff;color:#294ea1}.hero-actions,.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.section{padding:62px 0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:26px}.section h1,.section h2{margin:0 0 8px}.section h2{font-size:34px}.muted{color:var(--muted)}.grid-3,.listing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card,.panel,.stat,.feature{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}.card{overflow:hidden}.card img{width:100%;height:230px;object-fit:cover}.card-body,.panel{padding:24px}.card h3{margin:12px 0 6px}.card-topline,.contact-strip{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.contact-strip a{background:#fff;border:1px solid var(--line);padding:10px 12px;border-radius:11px}.amenities{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.amenity{display:flex;align-items:center;gap:10px;background:#f5faf8;border:1px solid var(--line);padding:12px;border-radius:13px}.amenity i{font-size:21px;color:var(--green)}.map{height:480px;border-radius:22px;overflow:hidden;box-shadow:var(--shadow)}.searchbar{background:#fff;padding:12px;border-radius:18px;box-shadow:var(--shadow);display:grid;grid-template-columns:1.4fr 1fr auto;gap:10px}.searchbar input,.searchbar select{border:0;background:#f4f7f6}.form-wrap{max-width:920px;margin:45px auto}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.form-group{display:flex;flex-direction:column;gap:7px}.form-group.full{grid-column:1/-1}label{font-weight:800}input,select,textarea{width:100%;padding:13px 14px;border:1px solid #cbd9d3;border-radius:12px;font:inherit;background:#fff}textarea{min-height:125px}.upload-preview{width:100%;max-height:340px;object-fit:cover;border-radius:15px;display:none}.dashboard-layout{display:grid;grid-template-columns:250px 1fr;gap:24px;padding:44px 0}.sidebar{background:#fff;border:1px solid var(--line);padding:20px;border-radius:20px;height:max-content;box-shadow:var(--shadow)}.sidebar a{display:block;padding:12px;border-radius:11px;font-weight:700}.sidebar a:hover{background:var(--mint);color:var(--green)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stat{padding:20px}.stat strong{display:block;font-size:30px;color:var(--green)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px;border-bottom:1px solid var(--line)}.status{font-size:12px;font-weight:800;padding:5px 8px;border-radius:999px;background:#eef2f0}.booking-box{position:sticky;top:100px}.price{font-size:28px;font-weight:800}.flash{margin-top:18px;padding:14px 18px;border-radius:12px}.flash.success{background:#dcfce7;color:#166534}.flash.error{background:#fee2e2;color:#991b1b}.empty{padding:28px;text-align:center;background:#fff;border:1px dashed #bfd0c8;border-radius:18px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:30px}footer{background:#102d27;color:#c6d6d1;padding:55px 0 20px}footer a{display:block;margin-top:10px}.footer-brand{color:#fff}.copyright{text-align:center;border-top:1px solid rgba(255,255,255,.12);margin-top:35px;padding-top:20px}
@media(max-width:900px){.menu-toggle{display:block}.nav{display:none;position:absolute;left:4%;right:4%;top:72px;background:#fff;padding:18px;border-radius:16px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.nav.open{display:flex}.hero-grid,.dashboard-layout{grid-template-columns:1fr}.hero-photo img{height:380px}.grid-3,.listing-grid,.grid-4{grid-template-columns:repeat(2,1fr)}.amenities{grid-template-columns:repeat(2,1fr)}.stats{grid-template-columns:repeat(2,1fr)}.booking-box{position:static}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.container{width:min(94%,1200px)}.hero{padding:46px 0}.hero-photo img{height:300px}.grid-3,.listing-grid,.grid-4,.amenities,.stats,.form-grid,.searchbar,.footer-grid{grid-template-columns:1fr}.section{padding:44px 0}.section-heading{align-items:flex-start;flex-direction:column}.dashboard-layout{padding:25px 0}.card img{height:210px}.actions .btn{width:100%}}

.map-pin{background:var(--green);color:#fff;border:3px solid #fff;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 6px 18px rgba(0,0,0,.22);display:flex!important;align-items:center;justify-content:center}
.map-pin i{transform:rotate(45deg);font-size:17px}
.icon-tile{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid var(--line);padding:16px;border-radius:16px}
.icon-tile .icon-circle{width:48px;height:48px;border-radius:15px;background:var(--mint);color:var(--green);display:grid;place-items:center;font-size:23px;flex:0 0 auto}
.page-hero{padding:42px 0;background:linear-gradient(135deg,#e0f8f1,#fff8df);border-bottom:1px solid var(--line)}
.page-hero h1{font-size:clamp(32px,4vw,50px);margin:0 0 8px}
.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}
.avatar{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-weight:800}
.tabs{display:flex;gap:8px;flex-wrap:wrap}.tabs a{padding:10px 13px;border-radius:11px;background:#fff;border:1px solid var(--line);font-weight:700}.tabs a.active{background:var(--green);color:#fff}
.danger-zone{border-color:#fecaca;background:#fffafa}
@media(max-width:900px){.quick-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.quick-grid{grid-template-columns:1fr}}

.pitch-specs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0}
.pitch-spec{background:#f4faf7;border:1px solid var(--line);border-radius:13px;padding:12px;text-align:center}
.pitch-spec i{display:block;font-size:23px;color:var(--green);margin-bottom:5px}
.nearby-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.nearby{background:#fff;border:1px solid var(--line);border-radius:15px;padding:16px;display:flex;gap:12px;align-items:center}
.nearby i{font-size:25px;color:var(--green)}
.vehicle-check{background:#fff8dd;border:1px solid #f3d783;border-radius:15px;padding:15px}
.stripe-note{background:#eef2ff;color:#263e86;border:1px solid #cad4ff;border-radius:14px;padding:15px}
@media(max-width:900px){.pitch-specs,.nearby-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.pitch-specs,.nearby-grid{grid-template-columns:1fr}}

html{scroll-behavior:smooth}
body{overflow-x:hidden}
img{max-width:100%}
.nav-wrap,.hero-grid,.dashboard-layout,.listing-grid,.stats,.pitch-specs,.nearby-grid,.amenities,.form-grid{min-width:0}
.card,.panel,.stat,.sidebar,.hero-photo{min-width:0}
.card-body,.panel{overflow-wrap:anywhere}
.table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.table-wrap table{min-width:760px}
.distance-badge{display:inline-flex;align-items:center;gap:7px;background:#e8f6ff;color:#165b86;padding:7px 10px;border-radius:999px;font-size:13px;font-weight:800}
.location-status{margin-top:12px;padding:12px 14px;border-radius:12px;background:#fff;border:1px solid var(--line)}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.metric-card{background:#f6faf8;border:1px solid var(--line);border-radius:14px;padding:14px;text-align:center}
.metric-card .metric-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;margin:0 auto 8px;background:var(--mint);color:var(--green);font-size:21px}
.metric-card strong{display:block;font-size:17px}
.metric-card small{display:block;color:var(--muted);margin-top:4px}
.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.feature-item{display:flex;align-items:flex-start;gap:10px;background:#fff;border:1px solid var(--line);padding:12px;border-radius:13px}
.feature-item i{font-size:20px;color:var(--green);flex:0 0 auto}
.feature-item.disabled{opacity:.45;filter:grayscale(1)}
.pet-box{background:#fff8e1;border:1px solid #f1d88a;border-radius:15px;padding:16px}
.pet-box .pet-title{display:flex;align-items:center;gap:10px;font-weight:800;margin-bottom:8px}
.sticky-filter{position:sticky;top:88px;z-index:20}
@media(max-width:1000px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sticky-filter{position:static}}
@media(max-width:620px){.metric-grid,.feature-grid{grid-template-columns:1fr}.card img{height:200px}.hero-photo img{height:280px}.section{padding:38px 0}.nav-wrap{min-height:68px}.brand{font-size:22px}.btn{padding:11px 14px}.pitch-specs{grid-template-columns:1fr 1fr}.nearby-grid{grid-template-columns:1fr}.amenities{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}}

/* =========================================================
   CAMPGO V12 — CARTES STABLES ET ALIGNÉES
   ========================================================= */

.cg-results-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px;
    align-items:stretch;
}

.cg-place-card{
    display:flex;
    flex-direction:column;
    min-width:0;
    height:100%;
    overflow:hidden;
    background:#fff;
    border:1px solid #dce7e2;
    border-radius:20px;
    box-shadow:0 12px 34px rgba(22,70,58,.09);
    transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}

.cg-place-card:hover{
    transform:translateY(-3px);
    border-color:#b8d5ca;
    box-shadow:0 18px 42px rgba(22,70,58,.14);
}

.cg-place-media{
    position:relative;
    height:215px;
    overflow:hidden;
    background:#dce9e4;
}

.cg-place-media img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}

.cg-place-top-badge{
    position:absolute;
    top:14px;
    left:14px;
    z-index:2;
    padding:7px 10px;
    border-radius:9px;
    background:#0d766b;
    color:#fff;
    font-size:11px;
    font-weight:900;
    letter-spacing:.02em;
    text-transform:uppercase;
}

.cg-place-top-badge.sponsored{
    background:#ffc928;
    color:#463400;
}

.cg-favorite{
    position:absolute;
    top:12px;
    right:12px;
    width:40px;
    height:40px;
    border:1px solid rgba(15,55,45,.12);
    border-radius:50%;
    background:rgba(255,255,255,.95);
    color:#123f35;
    display:grid;
    place-items:center;
    font-size:19px;
    cursor:pointer;
    box-shadow:0 5px 15px rgba(0,0,0,.12);
}

.cg-distance-overlay{
    position:absolute;
    left:14px;
    bottom:13px;
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:7px 10px;
    border-radius:9px;
    background:rgba(7,70,60,.92);
    color:#fff;
    font-size:12px;
    font-weight:800;
    backdrop-filter:blur(5px);
}

.cg-place-content{
    display:flex;
    flex-direction:column;
    flex:1;
    padding:19px;
}

.cg-place-title-row{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:12px;
}

.cg-place-title{
    margin:0;
    font-size:23px;
    line-height:1.15;
    letter-spacing:-.02em;
}

.cg-place-price-mobile{
    display:none;
    white-space:nowrap;
    font-size:18px;
    font-weight:900;
}

.cg-rating{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:7px;
    margin:10px 0 7px;
    font-size:13px;
}

.cg-stars{
    color:#ffad00;
    letter-spacing:1px;
    font-size:15px;
}

.cg-score{
    padding:4px 7px;
    border-radius:7px;
    background:#0d766b;
    color:#fff;
    font-size:11px;
    font-weight:900;
}

.cg-location{
    display:flex;
    align-items:center;
    gap:7px;
    margin:0 0 16px;
    color:#667a73;
    font-size:14px;
}

.cg-quick-specs{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:7px;
    margin-bottom:9px;
}

.cg-spec{
    min-width:0;
    min-height:94px;
    padding:10px 5px 8px;
    border:1px solid #dce7e2;
    border-radius:12px;
    background:#f7fbf9;
    text-align:center;
}

.cg-spec-icon{
    width:36px;
    height:36px;
    display:grid;
    place-items:center;
    margin:0 auto 7px;
    border-radius:10px;
    background:#dff8f0;
    color:#08786c;
    font-size:18px;
}

.cg-spec strong{
    display:block;
    min-height:31px;
    font-size:12px;
    line-height:1.2;
    overflow-wrap:anywhere;
}

.cg-spec small{
    display:block;
    margin-top:3px;
    color:#72827c;
    font-size:10px;
    line-height:1.15;
}

.cg-extra-features{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:7px;
    margin-bottom:16px;
}

.cg-feature{
    min-width:0;
    min-height:88px;
    padding:9px 5px 7px;
    border:1px solid #dce7e2;
    border-radius:12px;
    background:#fbfdfc;
    text-align:center;
}

.cg-feature i{
    display:block;
    margin-bottom:5px;
    color:#08786c;
    font-size:19px;
}

.cg-feature strong{
    display:block;
    font-size:11px;
    line-height:1.15;
}

.cg-feature small{
    display:block;
    margin-top:3px;
    color:#72827c;
    font-size:9px;
    line-height:1.1;
}

.cg-card-footer{
    display:grid;
    grid-template-columns:minmax(85px,auto) 1fr 1fr;
    gap:10px;
    align-items:center;
    margin-top:auto;
    padding-top:13px;
    border-top:1px solid #edf2ef;
}

.cg-price{
    min-width:0;
}

.cg-price strong{
    display:block;
    font-size:25px;
    line-height:1;
}

.cg-price small{
    display:block;
    margin-top:4px;
    color:#72827c;
    font-size:11px;
}

.cg-card-footer .btn{
    width:100%;
    min-width:0;
    padding:11px 8px;
    white-space:nowrap;
    font-size:12px;
}

.cg-card-footer .btn.outline{
    border-width:1px;
}

.cg-location-banner{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:0;
    margin-top:28px;
    border:1px solid #dce7e2;
    border-radius:18px;
    background:linear-gradient(135deg,#f2faf7,#eef7f8);
    overflow:hidden;
}

.cg-assurance{
    display:flex;
    align-items:center;
    gap:12px;
    min-width:0;
    padding:18px;
}

.cg-assurance + .cg-assurance{
    border-left:1px solid #cddfd8;
}

.cg-assurance-icon{
    width:44px;
    height:44px;
    flex:0 0 auto;
    display:grid;
    place-items:center;
    border-radius:13px;
    background:#fff;
    color:#0d766b;
    font-size:21px;
    box-shadow:0 6px 15px rgba(18,70,58,.08);
}

.cg-assurance strong{
    display:block;
    font-size:13px;
}

.cg-assurance small{
    display:block;
    margin-top:3px;
    color:#687a73;
    font-size:11px;
}

/* No forced word-breaking in specification cards. */
.cg-spec,.cg-feature,.cg-place-card{
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
}

@media(max-width:1180px){
    .cg-results-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:780px){
    .cg-results-grid{grid-template-columns:1fr}
    .cg-place-card{border-radius:16px}
    .cg-place-media{height:205px}
    .cg-place-content{padding:15px}
    .cg-place-title{font-size:19px}
    .cg-place-price-mobile{display:block}
    .cg-rating{margin-top:7px}
    .cg-quick-specs,.cg-extra-features{
        grid-template-columns:repeat(5,minmax(58px,1fr));
        overflow-x:auto;
        padding-bottom:5px;
        scroll-snap-type:x proximity;
    }
    .cg-spec,.cg-feature{
        min-width:68px;
        scroll-snap-align:start;
    }
    .cg-card-footer{
        grid-template-columns:1fr 1fr;
    }
    .cg-card-footer .cg-price{
        display:none;
    }
    .cg-location-banner{
        grid-template-columns:1fr 1fr;
    }
    .cg-assurance:nth-child(3){
        border-left:0;
        border-top:1px solid #cddfd8;
    }
    .cg-assurance:nth-child(4){
        border-top:1px solid #cddfd8;
    }
}

@media(max-width:480px){
    .cg-place-media{height:180px}
    .cg-place-title{font-size:18px}
    .cg-card-footer{grid-template-columns:1fr 1fr}
    .cg-card-footer .btn{font-size:11px;padding:10px 5px}
    .cg-location-banner{grid-template-columns:1fr}
    .cg-assurance + .cg-assurance{
        border-left:0;
        border-top:1px solid #cddfd8;
    }
}

.message-list{display:flex;flex-direction:column;gap:12px;max-height:520px;overflow:auto;padding:8px}
.message-bubble{max-width:78%;padding:12px 14px;border-radius:16px;background:#eef4f1;border:1px solid var(--line)}
.message-bubble.mine{align-self:flex-end;background:var(--mint);border-color:#b9dfd1}
.message-bubble p{margin:5px 0}.message-bubble small{color:var(--muted)}
.stats{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}


.form-grid>*{min-width:0}.actions form{display:flex;gap:7px;flex-wrap:wrap}.full{grid-column:1/-1}@media(max-width:700px){.dashboard-layout{display:block}.sidebar{position:static;margin-bottom:18px}.panel{padding:16px}.actions .btn{width:100%}}

/* Affichage stable des tuiles/équipements : pas de coupure au milieu des mots (desktop + mobile) */
.metric-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
.feature-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.amenities{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.metric-card,.metric-card strong,.metric-card small,.feature-item,.feature-item strong,.feature-item span,.feature-item small,.amenity,.amenity *{overflow-wrap:normal;word-break:keep-all;hyphens:none}
.metric-card strong{line-height:1.25}

/* ===== Classes manquantes : blog, articles, admin, listes (affichage propre) ===== */
.eyebrow{display:inline-flex;align-items:center;gap:7px;font-weight:800;font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--green)}
.section-intro{color:var(--muted);max-width:640px;margin:6px 0 0}
.text-link{display:inline-flex;align-items:center;gap:7px;color:var(--green);font-weight:800}
.text-link:hover{color:var(--green-dark)}
.article-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin-top:26px}
.article-card{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column}
.article-image{height:190px;background-size:cover;background-position:center;background-color:var(--mint);position:relative}
.article-image .recommended{position:absolute;left:12px;top:12px}
.article-body{padding:22px;display:flex;flex-direction:column;gap:8px;flex:1}
.article-icon{font-size:26px;color:var(--green)}
.article-body h2{margin:2px 0 0;font-size:22px}
.article-body p{color:var(--muted);margin:0;flex:1}
.article-page{max-width:840px;padding:36px 0}
.article-hero{border-radius:24px;overflow:hidden;background-size:cover;background-position:center;color:#fff;padding:48px 34px;min-height:280px;display:flex;align-items:flex-end;box-shadow:var(--shadow)}
.article-hero h1{margin:12px 0 6px;font-size:clamp(28px,4vw,44px);color:#fff}
.article-hero p{margin:0;font-size:18px;opacity:.95}
.article-content{max-width:760px;margin:30px auto 0;font-size:17px;line-height:1.7;color:var(--ink)}
.article-content h2{margin:28px 0 10px}
.article-content p{margin:0 0 16px}
.article-content img{max-width:100%;border-radius:16px;margin:16px 0}
.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.list-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#fff;margin-bottom:10px}
.icon{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:var(--mint);color:var(--green);font-size:24px;margin-bottom:8px}
@media(max-width:600px){.article-hero{padding:32px 20px;min-height:220px}.article-grid{grid-template-columns:1fr}}

/* Filtre catégorie / chips sur la recherche */
.cg-filter-chip{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:11px 14px;font-weight:700;color:var(--ink);cursor:pointer;white-space:nowrap}
.cg-filter-chip input{width:auto;margin:0}
.cg-cat-badge{display:inline-flex;align-items:center;gap:6px;background:var(--mint);color:var(--green-dark);padding:5px 10px;border-radius:999px;font-size:12px;font-weight:800}

/* ---- Ajouter: bouton nav + page choix ---- */
.nav-add{background:var(--orange)!important;color:#3a2600!important;border:none!important}
.add-choice-head{text-align:center;max-width:640px;margin:0 auto 30px}
.add-choice-head h1{margin:12px 0 8px}
.add-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px;max-width:900px;margin:0 auto}
.add-choice-card{display:flex;flex-direction:column;align-items:flex-start;gap:12px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px 26px;text-decoration:none;color:var(--ink);box-shadow:var(--shadow);transition:transform .15s ease,border-color .15s ease}
.add-choice-card:hover{transform:translateY(-4px);border-color:var(--green)}
.add-choice-card.pro{background:linear-gradient(180deg,#fff, #f6fbf9)}
.add-choice-icon{width:58px;height:58px;border-radius:16px;display:grid;place-items:center;background:var(--mint);color:var(--green-dark);font-size:26px}
.add-choice-card h2{margin:0;font-size:22px}
.add-choice-card p{margin:0;color:var(--muted)}
.add-choice-tag{display:inline-flex;align-items:center;gap:6px;background:#fff3df;color:#8a5a00;padding:5px 12px;border-radius:999px;font-size:12.5px;font-weight:800}
.add-choice-cta{margin-top:auto;font-weight:800;color:var(--green-dark);display:inline-flex;align-items:center;gap:8px}
.add-choice-card:hover .add-choice-cta i{transform:translateX(4px);transition:transform .15s ease}
/* ---- Carte emplacement partagé ---- */
.cg-loc-desc{color:var(--muted);margin:6px 0 10px;line-height:1.5}
.cg-loc-tag{display:inline-flex;align-items:center;gap:7px;background:var(--mint);color:var(--green-dark);padding:7px 12px;border-radius:12px;font-weight:700;font-size:13px}

/* ===== Emplacement détail (style park4night) ===== */
.p4n-head h1{margin:8px 0 4px}
.p4n-actions{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0 22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0}
.p4n-act{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:88px;padding:6px 12px;background:none;border:none;cursor:pointer;color:var(--muted);font-weight:700;font-size:13px;text-decoration:none}
.p4n-act i{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#eef4f1;color:var(--muted);font-size:19px;transition:.15s}
.p4n-act:hover i{background:var(--mint);color:var(--green-dark)}
.p4n-act.primary i{background:var(--green);color:#fff}
.p4n-act.on i,.p4n-act#favBtn.on i{background:var(--orange);color:#3a2600}
.p4n-grid{display:grid;grid-template-columns:1fr 340px;gap:28px;align-items:start}
.p4n-photo-main img{width:100%;height:360px;object-fit:cover;border-radius:16px}
.p4n-thumbs{display:flex;gap:10px;margin-top:10px}
.p4n-thumbs img{width:96px;height:70px;object-fit:cover;border-radius:10px;cursor:pointer;opacity:.65;border:2px solid transparent}
.p4n-thumbs img.active,.p4n-thumbs img:hover{opacity:1;border-color:var(--green)}
.p4n-desc{margin:20px 0;line-height:1.6;font-size:16px}
.p4n-info{border:1px solid var(--line);border-radius:14px;overflow:hidden}
.p4n-info-row{display:flex;justify-content:space-between;gap:16px;padding:13px 16px;border-bottom:1px solid var(--line)}
.p4n-info-row:last-child{border-bottom:none}
.p4n-info-k{color:var(--muted);font-weight:700}
.p4n-info-v{font-weight:700;text-align:right}
.p4n-shared{margin-top:16px}
.p4n-map{height:230px;border-radius:16px;overflow:hidden}
.p4n-coord{display:flex;gap:12px;align-items:flex-start;margin-top:16px}
.p4n-pin{color:var(--green);font-size:20px;line-height:1}
.p4n-coord strong{display:block}
.p4n-coord small{color:var(--muted)}
.p4n-dms{color:var(--muted);font-size:13px;margin-top:2px}
@media(max-width:860px){.p4n-grid{grid-template-columns:1fr}.p4n-photo-main img{height:240px}}
.loc-photos{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
@media(max-width:640px){.loc-photos{grid-template-columns:1fr}}
/* ===== Admin: gestion annonces ===== */
.adm-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 18px}
.adm-tab{padding:8px 15px;border-radius:999px;background:#eef4f1;color:var(--muted);font-weight:700;text-decoration:none;font-size:14px}
.adm-tab.on{background:var(--green);color:#fff}
.adm-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.status.ok{background:#e5f6ec;color:#177245}
.status.pend{background:#fff3df;color:#8a5a00}
.status.ko{background:#fdecea;color:#b42318}
.btn.small.red{background:var(--danger);color:#fff;border:none}

/* ===== Itinéraire multi-app menu ===== */
.p4n-navwrap{position:relative}
.p4n-navmenu{position:absolute;top:100%;left:0;z-index:60;margin-top:8px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);min-width:210px;padding:8px;flex-direction:column;gap:2px;display:flex}
.p4n-navmenu[hidden]{display:none}
.p4n-navmenu-title{font-size:12px;font-weight:800;color:var(--muted);padding:6px 10px}
.p4n-navmenu a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;font-weight:700;color:var(--ink)}
.p4n-navmenu a:hover{background:var(--mint);color:var(--green-dark)}
/* ===== Choix paiement pro ===== */
.pay-opt{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-top:10px;cursor:pointer}
.pay-opt input{width:auto;margin-top:3px}
.pay-opt span{display:flex;flex-direction:column;gap:2px}
.pay-opt small{color:var(--muted);font-weight:600}
.pay-opt:has(input:checked){border-color:var(--green);background:var(--mint)}
/* ===== Admin mobile : sidebar pills + tableau en cartes ===== */
@media(max-width:700px){
 .sidebar{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:8px;padding:12px;-webkit-overflow-scrolling:touch}
 .sidebar strong{display:none}
 .sidebar a{white-space:nowrap;padding:9px 14px;background:#f4f7f6;border-radius:999px}
 .sidebar a.active{background:var(--green);color:#fff}
}
@media(max-width:640px){
 .adm-table table{min-width:0}
 .adm-table tr:first-child{display:none}
 .adm-table table,.adm-table tbody,.adm-table tr,.adm-table td{display:block;width:auto}
 .adm-table tr{border:1px solid var(--line);border-radius:14px;margin-bottom:14px;padding:8px 12px;background:#fff;box-shadow:var(--shadow)}
 .adm-table td{border:none;border-bottom:1px solid #f0f4f2;padding:9px 2px;display:flex;justify-content:space-between;gap:14px;align-items:center}
 .adm-table td:last-child{border-bottom:none}
 .adm-table td::before{content:attr(data-label);font-weight:800;color:var(--muted);font-size:12.5px;flex:0 0 auto}
 .adm-table td[data-label=""]{justify-content:flex-start}
 .adm-table td[data-label=""]::before{content:none}
 .adm-table td[data-label="Actions"]{flex-direction:column;align-items:stretch}
 .adm-table .adm-actions{width:100%}
 .adm-table .adm-actions .btn{flex:1}
}

/* ===== Cartes annonces v2 (accueil + liste) ===== */
.cg-grid,.cg-results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:20px}
.cg-card2{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:transform .15s}
.cg-card2:hover{transform:translateY(-4px)}
.cg-card2-media{position:relative;display:block;height:190px;background:var(--mint)}
.cg-card2-media img{width:100%;height:100%;object-fit:cover;display:block}
.cg-card2-noimg{position:absolute;inset:0;display:grid;place-items:center;color:var(--green);font-size:34px}
.cg-card2-badge{position:absolute;top:10px;left:10px;background:rgba(255,255,255,.94);color:var(--green-dark);padding:5px 10px;border-radius:999px;font-weight:800;font-size:12px;display:inline-flex;align-items:center;gap:5px}
.cg-card2-badge.is-sponsored{background:#fff2c7;color:#7b5200}
.cg-card2-badge.is-featured{background:#e9efff;color:#294ea1}
.cg-card2-type{position:absolute;bottom:10px;left:10px;background:rgba(21,48,43,.82);color:#fff;padding:4px 10px;border-radius:999px;font-weight:700;font-size:11.5px;display:inline-flex;align-items:center;gap:5px}
.cg-card2-body{padding:14px 16px;display:flex;flex-direction:column;gap:6px;flex:1}
.cg-card2-title{margin:0;font-size:18px;line-height:1.2}
.cg-card2-title a{color:var(--ink)}
.cg-card2-city{margin:0;color:var(--muted);font-size:13px;display:flex;align-items:center;gap:5px}
.cg-card2-desc{margin:2px 0 0;color:var(--muted);font-size:13.5px;line-height:1.45}
.cg-card2-foot{margin-top:auto;padding-top:12px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.cg-card2-price strong{display:block;font-size:18px;color:var(--green-dark)}
.cg-card2-price small{color:var(--muted);font-size:11.5px}
/* pagination */
.pager{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:28px}
.pager-btn{padding:9px 14px;border-radius:11px;border:1px solid var(--line);background:#fff;font-weight:700;color:var(--ink);display:inline-flex;align-items:center;gap:6px}
.pager-btn.on{background:var(--green);color:#fff;border-color:var(--green)}
.pager-btn:hover{border-color:var(--green)}
/* admin table: pas de retour à la ligne moche sur les libellés */
.status{white-space:nowrap}
.dashboard-layout thead th{white-space:nowrap}
.adm-table td[data-label="Nom"],.adm-table td[data-label="Ajouté par"],.adm-table td[data-label="Catégorie"]{white-space:normal}

/* ===== Distance badge + favori sur cartes v2 ===== */
.cg-card2{position:relative}
.cg-card2-dist{position:absolute;bottom:10px;right:10px;background:rgba(13,118,107,.94);color:#fff;padding:5px 10px;border-radius:999px;font-weight:800;font-size:12px;display:inline-flex;align-items:center;gap:5px}
.cg-card2-dist:empty{display:none}
.cg-card2-fav{position:absolute;top:10px;right:10px;z-index:3;width:36px;height:36px;border-radius:50%;border:none;background:rgba(255,255,255,.92);color:var(--green-dark);cursor:pointer;display:grid;place-items:center;font-size:16px;box-shadow:0 4px 12px rgba(0,0,0,.12)}
.cg-card2-fav.on{color:#e0245e}
.cg-card2-fav:hover{background:#fff}
/* ===== Bandeau association (comme Signalement24) ===== */
.site-ribbon{background:var(--green-dark);color:#fff;font-size:13px;padding:7px 0;text-align:center}
.site-ribbon i{margin-right:5px}
.site-ribbon a{color:#ffe9b8;text-decoration:underline;font-weight:800}
.location-status{background:var(--mint);color:var(--green-dark);border-radius:12px;padding:11px 15px;font-weight:600;display:flex;align-items:center;gap:8px}

/* ===== Logo réel + badges divers ===== */
.brand-logo{height:50px;width:auto;display:block}
@media(max-width:620px){.brand-logo{height:38px}}
.cg-card2-pending{position:absolute;top:10px;left:50%;transform:translateX(-50%);background:#ffce54;color:#5a4200;font-weight:800;font-size:11px;padding:5px 11px;border-radius:999px;z-index:3;display:inline-flex;align-items:center;gap:5px;white-space:nowrap;box-shadow:0 3px 10px rgba(0,0,0,.15)}
.pay-warn{background:#fff3cd;color:#5a4200;border:1px solid #ffe08a;border-radius:12px;padding:12px 14px;margin:14px 0 12px;font-weight:600;display:flex;gap:9px;align-items:flex-start}
.qr-ticket .qr-fields{display:flex;flex-direction:column;gap:2px;margin:16px 0}
.qr-field{display:flex;justify-content:space-between;gap:14px;padding:9px 4px;border-bottom:1px solid var(--line);text-align:left}
.qr-field span{color:var(--muted);font-weight:700}
.qr-field:last-child{border-bottom:none}

/* ===== FIX cases à cocher (ne pas hériter du style input plein largeur) ===== */
input[type=checkbox],input[type=radio]{width:auto;padding:0;border:0;box-shadow:none;min-height:0;accent-color:var(--green)}
.amenity input,.feature-item input{flex:0 0 auto}
/* ===== Boutons colorés (appeler / site / partage) ===== */
.p4n-act.call i{background:var(--green);color:#fff}
.p4n-act.web i{background:#1d6fdb;color:#fff}
.p4n-act.wa i{background:#25d366;color:#fff}
.p4n-act.fb i{background:#1877f2;color:#fff}
.p4n-act.copy i{background:#6b7280;color:#fff}
.contact-strip .btn.call{background:var(--green);color:#fff;border:0}
.contact-strip .btn.web{background:#1d6fdb;color:#fff;border:0}
.contact-strip .btn.wa{background:#25d366;color:#fff;border:0}
.contact-strip .btn.fb{background:#1877f2;color:#fff;border:0}
.contact-strip{gap:10px;margin-top:10px}
.loc-price-row{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.radio-inline{display:inline-flex;align-items:center;gap:6px;font-weight:700}
.p4n-navmenu a.sh-fb i{color:#1877f2}
.p4n-navmenu a.sh-wa i{color:#25d366}

/* ===== Détail réservation (style pitchup) ===== */
.resa-wrap{max-width:760px;margin:0 auto}
.resa-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:18px}
.resa-head h1{margin:0;font-size:26px}
.resa-card{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:20px;margin-bottom:16px}
.resa-card h3{margin:0 0 4px}
.resa-camp{display:flex;gap:16px;align-items:center}
.resa-camp img{width:120px;height:90px;object-fit:cover;border-radius:12px;flex:0 0 auto}
.resa-camp-info h2{margin:0 0 4px;font-size:20px}
.resa-btns{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.resa-people{color:var(--muted);font-weight:700;margin:6px 0 14px}
.resa-dates{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#f5faf8;border:1px solid var(--line);border-radius:12px;padding:14px}
.resa-dates>div{display:flex;flex-direction:column;gap:2px}
.resa-dates .muted{font-size:12px}
.resa-dates strong{font-size:16px}
.resa-nights{color:var(--green-dark);font-weight:800;text-align:center}
.resa-veh,.resa-msg{margin-top:12px}
.resa-pay-row{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid var(--line)}
.resa-pay-row:last-child{border-bottom:none}
.resa-pay-row.total{border-top:2px solid var(--line);padding-top:12px}
.resa-pay-row.total strong,.resa-pay-row.net strong{font-size:18px;color:var(--green-dark)}
.resa-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
@media(max-width:560px){.resa-camp{flex-direction:column;align-items:flex-start}.resa-camp img{width:100%;height:170px}.resa-dates{flex-direction:column;align-items:flex-start;text-align:left}}
/* Fiche parcelle pleine largeur (au lieu d'une colonne étroite sur PC) */
.pitch-cards{display:flex;flex-direction:column;gap:22px;max-width:920px}
/* En-têtes de tableaux: pas de coupure sur PC */
.dashboard-layout table th{white-space:nowrap}

/* ===== Boutons: pas de coupure + animation survol ===== */
.btn{white-space:nowrap;transition:transform .12s ease,background .2s ease,box-shadow .2s ease}
.btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(13,118,107,.18)}
.btn.outline:hover,.btn.small.red:hover{box-shadow:0 6px 16px rgba(0,0,0,.10)}
/* ===== Menu plus pro + animation au survol ===== */
.topbar{box-shadow:0 1px 0 rgba(0,0,0,.04)}
.nav a:not(.btn){transition:color .18s ease}
.nav a:not(.btn):not(.nav-account){position:relative;padding:6px 2px}
.nav a:not(.btn):not(.nav-account)::after{content:'';position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--green);border-radius:2px;transform:scaleX(0);transform-origin:left;transition:transform .22s ease}
.nav a:not(.btn):not(.nav-account):hover::after{transform:scaleX(1)}
.nav-account{transition:transform .12s ease,background .2s ease}
.nav-account:hover{transform:translateY(-1px);background:#cdeede}
/* colonne Outils : boutons alignés, pas de retour à la ligne */
.actions .btn{white-space:nowrap}

/* ===== Accueil refonte pitchup ===== */
.hero2{position:relative;isolation:isolate;color:#fff;padding:74px 0 84px;overflow:hidden}
.hero2-bg{position:absolute;inset:0;z-index:-1;background-size:cover;background-position:center}
.hero2-inner{text-align:center;max-width:860px}
.hero2-eyebrow{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(4px);padding:8px 15px;border-radius:999px;font-weight:800;font-size:13px}
.hero2 h1{font-size:clamp(30px,4.6vw,54px);line-height:1.06;margin:18px 0 12px;text-shadow:0 2px 18px rgba(0,0,0,.28)}
.hero2 p{font-size:clamp(16px,2vw,20px);color:#eaf6f1;margin:0 auto 30px;max-width:640px;text-shadow:0 1px 10px rgba(0,0,0,.25)}
.hero2-search{display:grid;grid-template-columns:1.6fr 1.1fr auto;gap:10px;background:#fff;padding:12px;border-radius:20px;box-shadow:0 24px 60px rgba(8,45,40,.35);text-align:left;max-width:820px;margin:0 auto}
.hs-field{display:flex;flex-direction:column;gap:3px;padding:6px 12px;border-radius:13px;background:#f4f7f6;min-width:0}
.hs-field label{font-size:11.5px;font-weight:800;color:var(--green-dark);display:flex;align-items:center;gap:5px;text-transform:uppercase;letter-spacing:.03em}
.hs-field input,.hs-field select{border:0;background:transparent;padding:4px 0;font-size:15px;font-weight:600;color:var(--ink)}
.hs-field input:focus,.hs-field select:focus{outline:none}
.hs-btn{border:0;border-radius:14px;background:var(--green);color:#fff;font-weight:800;font-size:15px;padding:0 24px;display:inline-flex;align-items:center;gap:8px;cursor:pointer;transition:background .2s}
.hs-btn:hover{background:var(--green-dark)}
.hero2-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 26px;margin-top:26px;font-weight:700;font-size:14.5px}
.hero2-stats span{display:inline-flex;align-items:center;gap:7px;color:#f2fbf7}
.hero2-stats strong{color:#fff}

.cat-strip{background:#fff;border-bottom:1px solid var(--line);padding:22px 0}
.cat-tiles{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.cat-tile{display:flex;flex-direction:column;align-items:center;gap:10px;padding:16px 8px;border-radius:16px;border:1px solid var(--line);background:#fff;font-weight:800;font-size:13.5px;text-align:center;color:var(--ink);transition:transform .14s,border-color .18s,box-shadow .18s}
.cat-tile:hover{transform:translateY(-4px);border-color:var(--green);box-shadow:var(--shadow)}
.cat-tile.on{border-color:var(--green);background:var(--mint)}
.cat-ico{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;background:var(--mint);color:var(--green-dark);font-size:24px}
.cat-tile.on .cat-ico{background:var(--green);color:#fff}
.section-heading-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}

.how{padding:64px 0;background:linear-gradient(135deg,#eef9f4,#fff8e9)}
.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:8px}
.how-step{position:relative;background:#fff;border:1px solid var(--line);border-radius:22px;padding:30px 26px;box-shadow:var(--shadow)}
.how-step i{font-size:30px;color:var(--green);display:block;margin-bottom:12px}
.how-step h3{margin:0 0 6px;font-size:21px}
.how-step p{margin:0;color:var(--muted);line-height:1.55}
.how-num{position:absolute;top:20px;right:22px;width:34px;height:34px;border-radius:50%;background:var(--mint);color:var(--green-dark);font-weight:800;display:grid;place-items:center}
.how-cta{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:34px}

@media(max-width:900px){.cat-tiles{grid-template-columns:repeat(3,1fr)}.how-grid{grid-template-columns:1fr}}
@media(max-width:700px){.hero2-search{grid-template-columns:1fr;gap:8px}.hs-btn{padding:14px;justify-content:center}}
@media(max-width:520px){.cat-tiles{grid-template-columns:repeat(2,1fr)}.hero2{padding:54px 0 60px}.hero2-stats{gap:8px 16px;font-size:13px}}

/* ===== Pitchup-style results page (liste + carte) ===== */
.results-hero{background:linear-gradient(135deg,#e0f8f1,#fff8df);border-bottom:1px solid var(--line);padding:26px 0}
.results-hero h1{font-size:clamp(24px,3vw,34px);margin:0 0 4px}
.results-hero p{margin:0 0 16px;color:var(--muted)}
.results-search{display:grid;grid-template-columns:1.6fr 1.1fr .8fr auto;gap:10px;background:#fff;padding:10px;border-radius:16px;box-shadow:var(--shadow)}
.results-search .hs-field{display:flex;flex-direction:column;gap:3px;padding:6px 12px;border-radius:11px;background:#f4f7f6}
.results-search .hs-field label{font-size:11.5px;color:var(--muted);font-weight:800;display:flex;align-items:center;gap:5px;text-transform:uppercase;letter-spacing:.03em}
.results-search .hs-field input,.results-search .hs-field select{border:0;background:transparent;padding:2px 0;font-weight:700}
.results-search .hs-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;background:var(--green);color:#fff;font-weight:800;cursor:pointer;padding:0 22px}
.results-search .hs-btn:hover{background:var(--green-dark)}
.chip-row{display:flex;gap:9px;overflow-x:auto;padding:14px 0 2px;scrollbar-width:none}
.chip-row::-webkit-scrollbar{display:none}
.chip-cat{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;padding:9px 15px;border-radius:999px;border:1px solid var(--line);background:#fff;font-weight:800;font-size:13.5px;color:var(--ink);white-space:nowrap;transition:border-color .15s,background .15s}
.chip-cat:hover{border-color:var(--green)}
.chip-cat.on{background:var(--green);border-color:var(--green);color:#fff}
.results-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:22px 0 16px}
.results-count{font-weight:800;font-size:16px}
.results-count span{color:var(--muted);font-weight:600}
.results-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.results-sort{display:flex;align-items:center;gap:8px}
.results-sort label{font-size:13px;color:var(--muted);font-weight:700}
.results-sort select{width:auto;padding:9px 12px;border-radius:11px;font-weight:700}
.view-toggle{display:none;background:#eef4f1;border-radius:12px;padding:4px}
.view-toggle button{border:0;background:transparent;padding:9px 16px;border-radius:9px;font-weight:800;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.view-toggle button.on{background:#fff;color:var(--green);box-shadow:0 2px 8px rgba(0,0,0,.08)}
.results-split{display:grid;grid-template-columns:minmax(0,1fr) 460px;gap:26px;align-items:start}
.results-main .cg-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.results-aside{position:sticky;top:92px}
.results-map{height:calc(100vh - 130px);min-height:460px;border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}
.results-map-hint{margin:10px 2px 0;font-size:12.5px;color:var(--muted);display:flex;align-items:center;gap:6px}
@media(max-width:1150px){.results-split{grid-template-columns:minmax(0,1fr) 380px}.results-main .cg-grid{grid-template-columns:1fr}}
@media(max-width:960px){
 .results-search{grid-template-columns:1fr 1fr;gap:8px}
 .results-search .hs-btn{grid-column:1/-1;padding:13px}
 .view-toggle{display:inline-flex}
 .results-split{grid-template-columns:1fr}
 .results-main .cg-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .results-aside{position:static}
 .results-map{height:70vh;min-height:380px}
 .results-split.show-map .results-main{display:none}
 .results-split:not(.show-map) .results-aside{display:none}
}
@media(max-width:560px){.results-search{grid-template-columns:1fr}.results-main .cg-grid{grid-template-columns:1fr}}

/* ===== Pitchup-style camping detail ===== */
.detail2-top{padding:28px 0 0}
.detail2-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px 24px;flex-wrap:wrap;margin-bottom:16px}
.detail2-head h1{margin:8px 0 6px;font-size:clamp(26px,3vw,38px);line-height:1.08}
.detail2-loc{color:var(--muted);display:flex;align-items:center;gap:6px;font-size:15px}
.detail2-actions{display:flex;gap:9px;flex-wrap:wrap}
.detail2-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:30px;align-items:start;margin-top:28px}
.detail2-side{position:sticky;top:92px;display:flex;flex-direction:column;gap:16px}
.detail2-book{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:22px}
.detail2-price{color:var(--muted);font-size:14px;margin-bottom:14px}
.detail2-price strong{display:block;font-size:30px;color:var(--green-dark);line-height:1.1}
.detail2-facts{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:10px}
.detail2-facts li{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--ink)}
.detail2-facts i{color:var(--green);font-size:17px;width:20px;text-align:center}
.detail2-book .btn{width:100%}
.detail2-trust{margin-top:14px;font-size:12px;color:var(--muted);display:flex;flex-direction:column;gap:6px}
.detail2-trust span{display:flex;align-items:center;gap:7px}
.detail2-trust i{color:var(--green)}
.detail2-block{margin-bottom:34px}
.detail2-block h2{font-size:24px;margin:0 0 14px}
.detail2-map{height:340px;border-radius:20px;overflow:hidden;box-shadow:var(--shadow);margin-top:6px}
@media(max-width:960px){.detail2-grid{grid-template-columns:1fr}.detail2-side{position:static;order:-1}}
/* admin listing thumbnail (must beat global img{max-width:100%} in squished table cell) */
.adm-thumb{width:54px;min-width:54px;max-width:none;height:40px;object-fit:cover;border-radius:8px;display:block;background:var(--mint)}
/* service checkboxes (add-location / admin camping opening) */
.svc-checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px}
.svc-check{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer;font-weight:600;font-size:14px}
.svc-check input{width:auto;margin:0;accent-color:var(--green)}
.svc-check i{color:var(--green);font-size:17px}
.svc-check:has(input:checked){border-color:var(--green);background:var(--mint)}
.loc-photos .upload-preview{max-height:120px;margin-top:6px}
/* YouTube embed */
.yt-embed{position:relative;padding-bottom:56.25%;height:0;border-radius:18px;overflow:hidden;box-shadow:var(--shadow);background:#000}
.yt-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
/* Avis & commentaires */
.rev-stars{color:#f5a623;letter-spacing:1px;white-space:nowrap}
.rating-badge{display:inline-flex;align-items:center;gap:5px;font-weight:800;color:#1f2d2a;white-space:nowrap}
.rating-badge i{color:#f5a623;font-size:1.05em}
.rating-badge .rb-count{color:var(--muted);font-weight:600}
.cg-card2-rating{margin:2px 0 0;font-size:13.5px}
.rev-form{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:18px;display:flex;flex-direction:column;gap:12px;margin-bottom:22px}
.rev-form-top{display:flex;align-items:center;gap:12px}
.rev-form-top label{font-weight:800}
.rev-form-top select{width:auto}
.rev-form textarea{min-height:80px}
.rev-form .btn{align-self:flex-start}
.rev-list{display:flex;flex-direction:column;gap:14px}
.rev-item{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 18px}
.rev-head{display:flex;align-items:center;gap:12px}
.rev-avatar{width:42px;height:42px;border-radius:50%;background:var(--mint);color:var(--green-dark);font-weight:800;display:grid;place-items:center;flex:none;font-size:18px}
.rev-meta{color:var(--muted);font-size:13px;display:flex;align-items:center;gap:6px}
.rev-del{margin-left:auto;margin-bottom:0}
.rev-body{margin:12px 0 0;line-height:1.55}
/* Google Maps buttons */
.btn.gmaps{background:#1a73e8;color:#fff}
.btn.gmaps:hover{background:#1666cc}
.p4n-act.gmaps i{color:#1a73e8}
/* Documents de vérification */
.doc-list{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}
.doc-item{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#f7faf9;border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.doc-item>i{color:var(--green);font-size:18px}
.doc-item a{font-weight:700;color:var(--green-dark);text-decoration:underline}
.doc-mod{display:flex;gap:6px;margin-left:auto;flex-wrap:wrap}
.doc-mod .btn{margin:0}
/* Wider admin / pro / member personal space (client: "plus large") */
.container.dashboard-layout{width:min(1760px,96%)}
@media(max-width:1100px){.container.dashboard-layout{width:min(96%,1760px)}}
/* Live booking price summary (pitchup-style) */
.book-summary{background:#f5faf8;border:1px solid var(--line);border-radius:14px;padding:14px 16px}
.bs-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-weight:800;font-size:17px;color:var(--green-dark)}
.bs-row span:first-child{font-weight:700;color:var(--ink);font-size:14px}
.bs-note{margin-top:6px;font-size:12px;color:var(--muted);display:flex;align-items:center;gap:6px}

.nav-bell{position:relative}
.notif-badge{position:absolute;top:-2px;right:-4px;background:#ef4444;color:#fff;font-size:.66rem;font-weight:800;min-width:16px;height:16px;line-height:16px;text-align:center;border-radius:999px;padding:0 4px;box-shadow:0 0 0 2px #fff}
