@import url('https://fonts.googleapis.com/css2?family=Jost:wght@400;500;600&display=swap');

.cs-liste                  { max-width:100%;width:100%;font-family:'Century Gothic','Futura','Trebuchet MS',sans-serif;background:#f7f2e8;padding:40px; }
.cs-liste *                { box-sizing:border-box; }
@media (max-width: 640px) {
    .cs-liste { padding:20px; }
}
.cs-liste-titre            { margin-bottom:20px;display:flex;flex-direction:column;gap:4px; }
.cs-liste-titre h2         { font-family:inherit!important;font-size:24px!important;font-weight:600!important;color:#bb872b!important;margin:0!important;line-height:1.4!important;text-transform:none!important; }
.cs-liste-subtitle         { font-family:inherit!important;font-size:12px!important;font-weight:500!important;letter-spacing:.04em!important;color:#444!important;text-transform:uppercase!important; }

.cs-liste-recherche-wrap   { position:relative;margin:0 0 16px; }
.cs-liste-recherche-icon   { position:absolute;left:14px;top:50%;transform:translateY(-50%);display:flex;color:#999; }
.cs-liste-recherche        { width:100%;box-sizing:border-box;padding:11px 16px 11px 38px;border-radius:24px;border:1.5px solid #e0d6c6;font-size:13.5px;font-family:inherit;background:#fff;transition:border-color .15s; }
.cs-liste-recherche:focus  { border-color:#ae4a27;outline:none; }
.cs-liste-aucun-resultat   { background:#fff8ee;border:1px dashed #e0c9a0;border-radius:8px;padding:18px;text-align:center;color:#8a6d3b;font-size:13.5px;margin:0 0 16px; }

.cs-commune                { border-bottom:1px solid rgba(187,135,43,.25);overflow:hidden;background:#fefcf8; }
.cs-commune:last-child     { border-bottom:none; }
.cs-commune-hd             { width:100%;min-height:73px;display:flex;align-items:center;gap:14px;padding:16px 24px;border:none;cursor:pointer;text-align:left;background:#fefcf8;transition:background .15s; }
.cs-commune.open .cs-commune-hd { background:#ae4a27; }
.cs-commune-icon           { width:36px;height:36px;border-radius:18px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff;background:#ae4a27; }
.cs-commune.open .cs-commune-icon { background:#fff;color:#ae4a27; }
.cs-commune-info           { display:flex;flex-direction:column;gap:2px; }
.cs-commune-nom            { font-family:inherit!important;font-size:18.4px!important;font-weight:600!important;line-height:1.1!important;color:#ae4a27!important;text-transform:none!important; }
.cs-commune.open .cs-commune-nom { color:#fff!important;font-size:20px!important; }
.cs-commune-count          { font-family:inherit!important;font-size:10.9px!important;font-weight:600!important;letter-spacing:.09em!important;text-transform:uppercase!important;color:#444!important; }
.cs-commune.open .cs-commune-count { color:#fefcf8!important;font-size:10px!important; }
.cs-commune-chevron        { margin-left:auto;color:#ae4a27;transition:transform .25s;display:flex; }
.cs-commune.open .cs-commune-chevron { transform:rotate(180deg);color:#fff; }
.cs-commune-body           { display:none;background:#fefcf8; }
.cs-commune.open .cs-commune-body { display:block; }

.cs-chateau-card           { padding:24px;border-bottom:1px solid rgba(187,135,43,.25); }
.cs-chateau-card:last-child{ border-bottom:none; }
.cs-chateau-card-inner     { display:flex;gap:18px;align-items:flex-start; }
.cs-chateau-contenu        { flex:1;min-width:0; }
.cs-chateau-photo          { width:300px;height:140px;flex-shrink:0;object-fit:cover;border-radius:6px;display:block; }
@media (max-width: 820px) {
    .cs-chateau-card-inner { flex-direction:column; }
    .cs-chateau-photo      { width:100%;height:auto;aspect-ratio:300/140; }
}
@media (max-width: 640px) {
    .cs-chateau-card       { padding:16px; }
    .cs-commune-hd         { padding:14px 16px;gap:10px; }
}
.cs-chateau-nom            { font-family:inherit!important;font-size:18.4px!important;font-weight:600!important;margin:0 0 8px!important;color:#ae4a27!important;line-height:1.1!important;text-transform:none!important;letter-spacing:normal!important; }
.cs-chateau-contact        { font-family:inherit!important;font-size:12px!important;font-weight:600!important;color:#7a3e10!important;margin:0 0 8px!important; }
.cs-chateau-desc-label     { font-family:inherit!important;font-size:11px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.04em!important;color:#7a3e10!important;margin:0 0 3px!important; }
.cs-chateau-mention        { font-family:inherit!important;display:inline-block!important;font-size:11px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.03em!important;color:#fff!important;background:#e03131!important;border-radius:20px!important;padding:5px 12px!important;margin:0 0 10px!important; }
.cs-chateau-desc           { font-family:inherit!important;font-size:12.5px!important;font-weight:400!important;color:#444!important;margin:0 0 16px!important;line-height:1.65!important;white-space:pre-line!important; }
.cs-chateau-badges         { display:flex;flex-wrap:wrap;gap:6px;margin:0 0 16px; }
.cs-badge                  { display:inline-flex;align-items:center;font-family:inherit!important;font-size:10px!important;font-weight:700!important;letter-spacing:.04em!important;text-transform:uppercase!important;color:#fff!important;background:var(--badge-couleur,#bb872b);border:none;border-radius:20px;padding:6px 14px; }
.cs-badge-info-wrap        { position:relative;display:inline-flex; }
.cs-badge-info             { display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:rgba(255,255,255,.3);color:#fff;font-size:10px;font-weight:700;font-style:italic;font-family:Georgia,serif;cursor:help;margin-left:6px; }
.cs-badge-info-popover {
    position:absolute;bottom:calc(100% + 9px);left:50%;transform:translateX(-50%);
    background:#2c2a24;color:#fff;font-family:inherit;font-size:11.5px;font-weight:500;
    text-transform:none;letter-spacing:normal;white-space:nowrap;
    padding:7px 12px;border-radius:6px;box-shadow:0 4px 14px rgba(0,0,0,.18);
    opacity:0;visibility:hidden;transition:opacity .15s ease;pointer-events:none;z-index:20;
}
.cs-badge-info-popover::after {
    content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);
    border:5px solid transparent;border-top-color:#2c2a24;
}
.cs-badge-info-wrap:hover .cs-badge-info-popover,
.cs-badge-info-wrap:focus-within .cs-badge-info-popover { opacity:1;visibility:visible; }
.cs-voir-carte             { display:inline-flex;align-items:center;gap:8px;background:#bb872b;color:#fff!important;border:1px solid #bb872b;border-radius:2px;padding:14px 20px;font-family:'Jost',sans-serif!important;font-size:10.7px!important;font-weight:500!important;letter-spacing:.1em!important;text-transform:uppercase!important;cursor:pointer;transition:opacity .15s; }
.cs-voir-carte:hover       { opacity:.85; }
