.rd-app{--rd-radius:22px;--rd-shadow:0 18px 55px rgba(45,45,50,.12);color:var(--rd-text);font-family:inherit;line-height:1.55;max-width:1280px;margin:0 auto;background:var(--rd-background);border-radius:0;overflow:hidden}.rd-app *{box-sizing:border-box}.rd-app button,.rd-app input,.rd-app select{font:inherit}.rd-hero{position:relative;isolation:isolate;min-height:410px;padding:clamp(54px,8vw,100px) clamp(24px,7vw,92px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;overflow:hidden;background:linear-gradient(125deg,rgba(45,45,50,.95),rgba(45,45,50,.76)),radial-gradient(circle at 82% 25%,var(--rd-primary),transparent 44%),linear-gradient(145deg,var(--rd-tertiary),var(--rd-secondary));color:#fff}.rd-hero:before,.rd-hero:after{content:"";position:absolute;border-radius:0;z-index:-1;filter:blur(2px)}.rd-hero:before{width:430px;height:430px;right:-130px;top:-180px;background:color-mix(in srgb,var(--rd-primary) 78%,transparent)}.rd-hero:after{width:280px;height:280px;right:18%;bottom:-190px;background:color-mix(in srgb,var(--rd-secondary) 70%,transparent)}.rd-hero__eyebrow,.rd-section-heading>span{text-transform:uppercase;letter-spacing:.18em;font-size:.75rem;font-weight:800}.rd-hero__eyebrow{color:var(--rd-secondary);margin-bottom:12px}.rd-hero h1{margin:0;max-width:760px;font-size:clamp(2.8rem,7vw,6.3rem);line-height:.95;letter-spacing:-.055em}.rd-hero p{max-width:690px;margin:24px 0 30px;font-size:clamp(1.08rem,2vw,1.35rem);color:rgba(255,255,255,.9)}.rd-hero__button,.rd-submit,.rd-open-detail{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:0;background:var(--rd-link);color:#fff!important;text-decoration:none!important;font-weight:800;min-height:48px;padding:12px 23px;cursor:pointer;transition:transform .18s ease,filter .18s ease}.rd-hero__button:hover,.rd-submit:hover,.rd-open-detail:hover{transform:translateY(-2px);filter:brightness(.94)}.rd-hero__motif{position:absolute;right:7%;bottom:7%;font-size:clamp(4rem,11vw,9rem);opacity:.14;transform:rotate(-9deg)}.rd-featured,.rd-finder,.rd-results-section{padding:clamp(38px,6vw,76px) clamp(18px,5vw,66px)}.rd-featured{background:#fff}.rd-section-heading{max-width:750px;margin-bottom:30px}.rd-section-heading>span{color:var(--rd-link)}.rd-section-heading h2{margin:5px 0 7px;font-size:clamp(2rem,4vw,3.6rem);line-height:1.05;letter-spacing:-.035em}.rd-section-heading p{margin:0;color:color-mix(in srgb,var(--rd-text) 76%,transparent);font-size:1.08rem}.rd-section-heading--compact{margin-bottom:22px}.rd-featured-grid{display:grid;grid-template-columns:1.3fr .7fr;grid-template-rows:repeat(2,minmax(220px,1fr));gap:18px}.rd-featured-card{position:relative;min-height:240px;border-radius:0;overflow:hidden;background:var(--rd-text);color:#fff;box-shadow:var(--rd-shadow)}.rd-featured-card--primary{grid-row:1/3}.rd-card-media{position:absolute;inset:0;background:linear-gradient(135deg,var(--rd-primary),var(--rd-tertiary));display:flex;align-items:center;justify-content:center;font-size:5rem}.rd-card-media:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(20,20,24,.92) 0%,rgba(20,20,24,.18) 64%,rgba(20,20,24,.06) 100%)}.rd-card-media img{width:100%;height:100%;object-fit:cover}.rd-badge{position:absolute;z-index:1;top:17px;left:17px;background:var(--rd-secondary);color:var(--rd-text);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;font-weight:900;padding:7px 11px;border-radius:0}.rd-featured-card .rd-card-content{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:24px}.rd-card-location{margin:0;color:var(--rd-secondary);font-size:.76rem;text-transform:uppercase;letter-spacing:.13em;font-weight:900}.rd-featured-card h3{margin:4px 0 8px;font-size:clamp(1.5rem,3vw,2.7rem);line-height:1}.rd-featured-card:not(.rd-featured-card--primary) h3{font-size:1.55rem}.rd-featured-card .rd-card-content>p:not(.rd-card-location):not(.rd-editorial-note){display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 12px;color:rgba(255,255,255,.88)}.rd-featured-card:not(.rd-featured-card--primary) .rd-card-content>p:not(.rd-card-location):not(.rd-editorial-note){display:none}.rd-editorial-note{font-style:italic;color:var(--rd-secondary)!important}.rd-open-detail{min-height:40px;padding:8px 16px;font-size:.9rem}.rd-finder{background:linear-gradient(180deg,color-mix(in srgb,var(--rd-background) 92%,white),var(--rd-background))}.rd-filters{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:15px;padding:24px;background:#fff;border-radius:0;box-shadow:var(--rd-shadow)}.rd-field{display:flex;flex-direction:column;gap:6px}.rd-field label{font-size:.78rem;font-weight:850}.rd-field input,.rd-field select,.rd-location-row select{width:100%;min-height:48px;border:1px solid #c9c8cb;border-radius:0;background:#fff;color:var(--rd-text);padding:10px 12px}.rd-field input:focus,.rd-field select:focus{outline:3px solid color-mix(in srgb,var(--rd-primary) 32%,transparent);border-color:var(--rd-primary)}.rd-filter-chips,.rd-extra-filters{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:9px;align-items:center}.rd-chip{position:relative;cursor:pointer}.rd-chip input{position:absolute;opacity:0;pointer-events:none}.rd-chip span,.rd-more-toggle{display:inline-flex;align-items:center;min-height:38px;padding:8px 13px;border:1px solid #c9c8cb;border-radius:0;background:#fff;color:var(--rd-text);font-size:.85rem;font-weight:760;cursor:pointer}.rd-chip input:checked+span{background:var(--rd-tertiary);border-color:var(--rd-tertiary);color:#fff}.rd-chip input:focus-visible+span,.rd-more-toggle:focus-visible{outline:3px solid color-mix(in srgb,var(--rd-primary) 38%,transparent);outline-offset:2px}.rd-more-toggle{border-style:dashed}.rd-location-row{grid-column:1/-1;display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding-top:4px}.rd-locate,.rd-reset{border:0;background:transparent;color:var(--rd-link);font-weight:850;cursor:pointer;padding:7px 0}.rd-location-row label{display:flex;align-items:center;gap:8px;font-size:.85rem;font-weight:700}.rd-location-row select{min-height:38px;width:auto}.rd-location-status{font-size:.83rem;color:#666}.rd-filter-actions{grid-column:1/-1;display:flex;gap:12px;align-items:center}.rd-results-section{background:#fff}.rd-results-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.rd-results-count{font-size:1.15rem}.rd-view-switch{display:flex;background:var(--rd-background);padding:4px;border-radius:0}.rd-view-switch button{border:0;background:transparent;color:var(--rd-text);border-radius:0;padding:8px 13px;cursor:pointer;font-weight:800}.rd-view-switch button.is-active{background:#fff;box-shadow:0 3px 12px rgba(45,45,50,.12)}.rd-status{padding:20px;text-align:center;color:#666}.rd-status:empty{display:none}.rd-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.rd-card{display:flex;flex-direction:column;border:1px solid #e2e1e3;border-radius:0;overflow:hidden;background:#fff;box-shadow:0 10px 30px rgba(45,45,50,.075);transition:transform .18s ease,box-shadow .18s ease}.rd-card:hover{transform:translateY(-4px);box-shadow:0 16px 38px rgba(45,45,50,.13)}.rd-card__image{position:relative;aspect-ratio:4/3;background:linear-gradient(135deg,var(--rd-primary),var(--rd-secondary));display:flex;align-items:center;justify-content:center;font-size:3rem;overflow:hidden}.rd-card__image img{width:100%;height:100%;object-fit:cover}.rd-card__category{position:absolute;left:12px;bottom:12px;background:rgba(45,45,50,.88);color:#fff;font-size:.72rem;font-weight:850;padding:6px 9px;border-radius:0}.rd-card__body{display:flex;flex-direction:column;flex:1;padding:18px}.rd-card__place{color:var(--rd-link);font-size:.73rem;font-weight:900;text-transform:uppercase;letter-spacing:.11em}.rd-card h3{font-size:1.3rem;line-height:1.12;margin:5px 0 10px}.rd-card__excerpt{color:#626268;font-size:.92rem;margin:0 0 13px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.rd-card__tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:15px}.rd-card__tags span{font-size:.71rem;border-radius:0;background:color-mix(in srgb,var(--rd-primary) 18%,white);padding:5px 8px;font-weight:750}.rd-card__actions{display:flex;align-items:center;gap:12px;margin-top:auto}.rd-card__actions .rd-open-detail{min-height:38px;padding:8px 14px;font-size:.83rem}.rd-card__route{color:var(--rd-link);font-weight:800;text-decoration:none;font-size:.85rem}.rd-distance{margin-left:auto;color:#666;font-size:.78rem}.rd-pagination{display:flex;justify-content:center;gap:7px;margin-top:32px}.rd-pagination button{min-width:40px;height:40px;border:1px solid #ccc;border-radius:0;background:#fff;cursor:pointer}.rd-pagination button.is-active{background:var(--rd-text);color:#fff;border-color:var(--rd-text)}.rd-map{height:min(68vh,650px);min-height:420px;border-radius:0;overflow:hidden;border:1px solid #ddd}.rd-map .leaflet-popup-content{margin:12px;min-width:200px}.rd-map-popup strong{display:block;font-size:1rem}.rd-map-popup span{display:block;color:#666;margin:3px 0 8px}.rd-map-popup button{border:0;border-radius:0;background:var(--rd-link);color:#fff;padding:7px 11px;font-weight:800;cursor:pointer}.rd-dialog{width:min(920px,calc(100% - 28px));max-height:90vh;padding:0;border:0;border-radius:0;box-shadow:0 28px 90px rgba(0,0,0,.34);color:var(--rd-text)}.rd-dialog::backdrop{background:rgba(24,24,28,.68);backdrop-filter:blur(5px)}.rd-dialog__close{position:sticky;float:right;top:12px;right:12px;z-index:5;width:42px;height:42px;border:0;border-radius:0;background:rgba(255,255,255,.94);font-size:1.8rem;cursor:pointer;box-shadow:0 5px 18px rgba(0,0,0,.18)}.rd-detail__image{height:min(42vh,390px);background:linear-gradient(135deg,var(--rd-primary),var(--rd-tertiary));overflow:hidden}.rd-detail__image img{width:100%;height:100%;object-fit:cover}.rd-detail__body{padding:clamp(22px,4vw,44px)}.rd-detail__body h2{font-size:clamp(2rem,5vw,3.6rem);line-height:1;margin:3px 0 15px}.rd-detail__lead{font-size:1.05rem;color:#5c5c63}.rd-detail__grid{display:grid;grid-template-columns:1.3fr .7fr;gap:28px;margin-top:25px}.rd-detail__box{background:var(--rd-background);border-radius:0;padding:18px}.rd-detail__box h3{margin-top:0}.rd-detail__list{padding:0;margin:0;list-style:none}.rd-detail__list li{padding:6px 0;border-bottom:1px solid rgba(45,45,50,.11)}.rd-detail__links{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.rd-detail__links a{display:inline-flex;border-radius:0;padding:9px 14px;background:var(--rd-link);color:#fff;text-decoration:none;font-weight:800}.rd-detail__source{font-size:.73rem;color:#717177;margin-top:24px}.rd-noscript{padding:20px;background:#fff3cd}.leaflet-control-attribution{font-size:10px!important}
@media(max-width:980px){.rd-filters{grid-template-columns:1fr 1fr}.rd-field--search{grid-column:1/-1}.rd-results{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.rd-app{border-radius:0}.rd-hero{min-height:380px}.rd-featured-grid{grid-template-columns:1fr;grid-template-rows:auto}.rd-featured-card--primary{grid-row:auto;min-height:390px}.rd-featured-card:not(.rd-featured-card--primary){min-height:290px}.rd-filters{grid-template-columns:1fr;padding:18px}.rd-field--search,.rd-filter-chips,.rd-extra-filters,.rd-location-row,.rd-filter-actions{grid-column:1}.rd-results{grid-template-columns:1fr}.rd-results-toolbar{align-items:flex-start;flex-direction:column}.rd-detail__grid{grid-template-columns:1fr}.rd-map{min-height:480px}.rd-filter-actions{flex-direction:column;align-items:stretch}.rd-submit{width:100%}}
@media(prefers-reduced-motion:reduce){.rd-app *{scroll-behavior:auto!important;transition:none!important}}

/* Regroupement cartographique local, sans dépendance supplémentaire. */
.rd-map-cluster{background:transparent!important;border:0!important}.rd-map-cluster span{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:4px solid rgba(255,255,255,.88);border-radius:0;background:var(--rd-primary);color:var(--rd-text);font-weight:900;box-shadow:0 6px 18px rgba(45,45,50,.28)}

/* Cartes éditoriales — classes réellement émises par le rendu PHP. */
.rd-featured-card>img,.rd-featured-card__placeholder{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.rd-featured-card__placeholder{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--rd-primary),var(--rd-tertiary));font-size:5rem;font-weight:900;color:rgba(255,255,255,.72)}.rd-featured-card__shade{position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(20,20,24,.94) 0%,rgba(20,20,24,.48) 42%,rgba(20,20,24,.06) 100%)}.rd-featured-card__body{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:24px}.rd-featured-card__badge{display:inline-flex;margin-bottom:12px;background:var(--rd-secondary);color:var(--rd-text);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;font-weight:900;padding:7px 11px;border-radius:0}.rd-featured-card__body small{display:block;color:var(--rd-secondary);font-size:.76rem;text-transform:uppercase;letter-spacing:.13em;font-weight:900}.rd-featured-card__body>p:not(.rd-featured-card__note){display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 12px;color:rgba(255,255,255,.9)}.rd-featured-card:not(.rd-featured-card--primary) .rd-featured-card__body>p:not(.rd-featured-card__note){display:none}.rd-featured-card__note{margin:0 0 12px;font-style:italic;color:var(--rd-secondary)}

/* Galerie de fiche détaillée et défilement interne du dialogue. */
.rd-dialog{overflow:auto}.rd-detail__gallery{display:grid;grid-template-columns:1.65fr .85fr;grid-template-rows:repeat(2,minmax(160px,210px));height:min(48vh,430px);background:linear-gradient(135deg,var(--rd-primary),var(--rd-tertiary));overflow:hidden}.rd-detail__gallery figure{position:relative;min-width:0;min-height:0;margin:0;overflow:hidden}.rd-detail__gallery figure:first-child{grid-row:1/3}.rd-detail__gallery figure:nth-child(n+4){display:none}.rd-detail__gallery img{display:block;width:100%;height:100%;object-fit:cover}.rd-detail__gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:7px 10px;background:linear-gradient(transparent,rgba(0,0,0,.72));color:#fff;font-size:.7rem}.rd-detail__gallery--single{display:block;height:min(42vh,390px)}.rd-detail__gallery--single figure{height:100%}
@media(max-width:760px){.rd-detail__gallery{grid-template-columns:1fr;height:min(40vh,360px)}.rd-detail__gallery figure:first-child{grid-row:auto;height:100%}.rd-detail__gallery figure:not(:first-child){display:none}}

/* Liens de contact et crédits publics. */
.rd-card__phone{display:inline-flex;width:max-content;margin:0 0 14px;color:var(--rd-link);font-weight:850;text-decoration:none}.rd-card__phone:hover{text-decoration:underline}


/* Restaurants Dordogne 1.1.0 — hero compact, modules cartographiques et visuel sans photo. */
.rd-hero{
    min-height:320px;
    padding:30px clamp(24px,5vw,64px);
    background:
        linear-gradient(90deg,rgba(20,20,24,.94) 0%,rgba(20,20,24,.78) 32%,rgba(20,20,24,.30) 62%,rgba(20,20,24,.10) 100%),
        var(--rd-hero-image,url('../images/hero-bistrot-chic.jpg')) var(--rd-hero-position,center) 52%/cover no-repeat;
}
.rd-hero:before,.rd-hero:after,.rd-hero__motif{display:none!important}
.rd-hero h1{max-width:700px;font-size:clamp(2.3rem,4.2vw,3.7rem);line-height:.98;text-shadow:0 3px 20px rgba(0,0,0,.38)}
.rd-hero p{max-width:650px;margin:10px 0 15px;font-size:clamp(.98rem,1.45vw,1.13rem);text-shadow:0 2px 12px rgba(0,0,0,.46)}
.rd-hero__eyebrow{margin-bottom:6px;text-shadow:0 2px 8px rgba(0,0,0,.55)}
.rd-hero__button{min-height:42px;padding:9px 19px}
.rd-app--standalone{max-width:none;background:transparent;border-radius:0;overflow:visible}
.rd-app--standalone .rd-standalone-map,.rd-app--standalone .rd-finder{border-radius:0;overflow:hidden}
.rd-standalone-map{padding:clamp(14px,2vw,24px);background:#fff;box-shadow:var(--rd-shadow)}
.rd-standalone-map .rd-results-toolbar{margin-bottom:12px}
.rd-map-title{margin:0 0 18px;padding:0 clamp(4px,1vw,12px)}
.rd-app--standalone .rd-map{height:var(--rd-map-height,620px);min-height:320px;border-radius:0}
.rd-finder--below-map{margin-top:22px}
.rd-app--map-filters .rd-filters{box-shadow:none;border:1px solid rgba(45,45,50,.10)}
.rd-app--map-only .rd-status,.rd-app--map-filters .rd-status{min-height:0;padding:0 0 10px}
.rd-app--map-only .rd-status:empty,.rd-app--map-filters .rd-status:empty{display:none}
.rd-detail__placeholder{display:flex;min-height:min(38vh,360px);padding:32px;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:linear-gradient(145deg,#f8efe8,#ead6c2);color:var(--rd-text);border-bottom:1px solid rgba(45,45,50,.08)}
.rd-detail__placeholder:before{content:"";width:118px;height:76px;margin-bottom:18px;border-radius:0;border:2px solid color-mix(in srgb,var(--rd-text) 20%,transparent);background:linear-gradient(160deg,transparent 48%,color-mix(in srgb,var(--rd-primary) 28%,transparent) 49% 62%,transparent 63%),linear-gradient(25deg,transparent 48%,color-mix(in srgb,var(--rd-secondary) 58%,transparent) 49% 64%,transparent 65%)}
.rd-detail__placeholder-icon{display:none}
.rd-detail__placeholder strong{font-size:1.05rem}
.rd-detail__placeholder>span:last-child{max-width:440px;margin-top:5px;color:color-mix(in srgb,var(--rd-text) 70%,transparent);font-size:.86rem}
.rd-card__image.is-placeholder{background:linear-gradient(145deg,#f8efe8,#ead6c2);color:color-mix(in srgb,var(--rd-text) 45%,transparent)}
.rd-card__image.is-placeholder>span:not(.rd-card__category){font-size:1rem;font-weight:800;text-align:center;padding:24px}
@media(max-width:760px){
    .rd-hero{min-height:270px;padding:24px 22px;background-position:60% center}
    .rd-hero h1{font-size:clamp(2.15rem,10vw,3.1rem);max-width:92%}
    .rd-hero p{max-width:94%;font-size:.96rem;margin:9px 0 13px}
    .rd-app--standalone .rd-map{height:min(var(--rd-map-height,520px),68vh)}
    .rd-app--standalone .rd-finder{border-radius:0}
    .rd-detail__placeholder{min-height:270px;padding:26px 18px}
}


/* Restaurants Dordogne 1.2.0+ — plein écran cartographique. */
.rd-map{position:relative}
.rd-map-fullscreen{position:absolute;top:10px;right:10px;z-index:1000;width:42px;height:42px;border:2px solid rgba(0,0,0,.2);border-radius:0;background:#fff;color:#202124;font:800 1.35rem/1 inherit;display:grid;place-items:center;cursor:pointer;box-shadow:0 1px 5px rgba(0,0,0,.28)}
.rd-map-fullscreen:hover,.rd-map-fullscreen:focus-visible{background:#f3f3f3;outline:3px solid color-mix(in srgb,var(--rd-primary) 42%,transparent);outline-offset:2px}
.rd-map:fullscreen,.rd-map:-webkit-full-screen{width:100vw!important;height:100vh!important;max-height:none!important;border-radius:0;background:#e8ecef}
.rd-map.is-pseudo-fullscreen{position:fixed!important;inset:0!important;z-index:2147483000!important;width:100vw!important;height:100vh!important;max-height:none!important;border-radius:0;background:#e8ecef}
html.rd-map-fullscreen-open,body.rd-map-fullscreen-open{overflow:hidden!important}
@media(max-width:760px){.rd-map-fullscreen{width:40px;height:40px;top:9px;right:9px}}

/* Restaurants Dordogne 1.2.1 — panneau de facettes avancées. */
.rd-extra-filters[hidden]{display:none!important}
.rd-more-toggle{gap:8px}
.rd-more-toggle b{font-size:1.05rem;line-height:1}
.rd-more-toggle.is-open{background:var(--rd-primary);border-color:var(--rd-primary);border-style:solid;color:#fff}
.rd-extra-filters{grid-column:1/-1;display:block;padding:18px;border:1px solid color-mix(in srgb,var(--rd-primary) 35%,#d4d2d5);border-radius:0;background:color-mix(in srgb,var(--rd-primary) 6%,#fff)}
.rd-extra-filters__quick{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:16px}
.rd-advanced-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.rd-facet-group{min-width:0;border:1px solid rgba(45,45,50,.12);border-radius:0;background:#fff;overflow:hidden}
.rd-facet-group summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 15px;cursor:pointer;font-weight:850;list-style:none}
.rd-facet-group summary::-webkit-details-marker{display:none}
.rd-facet-group summary:after{content:'＋';font-size:1.05rem}
.rd-facet-group[open] summary:after{content:'−'}
.rd-facet-group summary small{margin-left:auto;margin-right:8px;min-width:28px;padding:2px 7px;border-radius:0;background:var(--rd-background);font-size:.72rem;text-align:center}
.rd-facet-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:0 12px 13px;max-height:310px;overflow:auto}
.rd-facet-option{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:7px;padding:7px 8px;border-radius:0;cursor:pointer;font-size:.78rem;line-height:1.3}
.rd-facet-option:hover{background:color-mix(in srgb,var(--rd-primary) 10%,#fff)}
.rd-facet-option input{width:17px;height:17px;margin:0;accent-color:var(--rd-tertiary)}
.rd-facet-option small{color:#707077;font-variant-numeric:tabular-nums}
.rd-facet-numbers{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 12px 14px}
.rd-facet-numbers label{display:flex;flex-direction:column;gap:5px;font-size:.78rem;font-weight:800}
.rd-facet-numbers select{width:100%;min-height:42px;border:1px solid #c9c8cb;border-radius:0;background:#fff;padding:8px 10px}
@media(max-width:900px){.rd-advanced-grid{grid-template-columns:1fr}.rd-facet-options{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.rd-extra-filters{padding:13px}.rd-facet-options,.rd-facet-numbers{grid-template-columns:1fr}.rd-facet-options{max-height:340px}}

/* Restaurants Dordogne 1.4.1 — galerie plein écran centrée. */
.rd-detail__gallery img{cursor:zoom-in}.rd-lightbox{position:fixed;inset:0;width:100vw;max-width:none;height:100vh;max-height:none;margin:0;padding:clamp(14px,2vw,28px);border:0;background:rgba(18,18,20,.97);color:#fff;overflow:hidden;box-sizing:border-box}.rd-lightbox[open]{display:grid;place-items:center}.rd-lightbox::backdrop{background:rgba(18,18,20,.88);backdrop-filter:blur(8px)}.rd-lightbox__stage{position:relative;display:grid;place-items:center;width:min(1380px,calc(100vw - 150px));height:calc(100vh - 48px);margin:auto}.rd-lightbox__figure{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;max-width:100%;max-height:100%;margin:0}.rd-lightbox__figure img{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100vh - 120px);object-fit:contain;border-radius:0;box-shadow:0 18px 55px rgba(0,0,0,.46)}.rd-lightbox__meta{display:flex;align-items:flex-start;justify-content:center;gap:14px;width:min(100%,980px);min-height:32px;padding-top:11px;color:#f2f2f2;text-align:center}.rd-lightbox__counter{flex:0 0 auto;font-size:.78rem;font-weight:800;letter-spacing:.08em;color:#cf86b0}.rd-lightbox__figure figcaption{margin:0;color:#f2f2f2;font-size:.88rem;line-height:1.35}.rd-lightbox button{border:0;background:rgba(255,255,255,.12);color:#fff;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.28)}.rd-lightbox__close{position:fixed;top:18px;right:18px;z-index:2;width:48px;height:48px;border-radius:0;font-size:2rem}.rd-lightbox__previous,.rd-lightbox__next{position:fixed;top:50%;z-index:2;width:54px;height:70px;border-radius:0;font-size:3rem;transform:translateY(-50%)}.rd-lightbox__previous{left:22px}.rd-lightbox__next{right:22px}.rd-lightbox__previous:hover,.rd-lightbox__next:hover,.rd-lightbox__close:hover{background:#cf86b0;color:#2d2d32}@media(max-width:700px){.rd-lightbox{padding:64px 8px 14px}.rd-lightbox__stage{width:100%;height:calc(100vh - 78px)}.rd-lightbox__figure img{max-height:calc(100vh - 145px);border-radius:0}.rd-lightbox__previous,.rd-lightbox__next{width:40px;height:58px;font-size:2rem;background:rgba(18,18,20,.68)}.rd-lightbox__previous{left:8px}.rd-lightbox__next{right:8px}.rd-lightbox__close{top:10px;right:10px;width:42px;height:42px}.rd-lightbox__meta{gap:8px;padding:9px 44px 0;font-size:.78rem}.rd-lightbox__figure figcaption{font-size:.78rem}}

/* Restaurants Dordogne 1.7.0 — studio de sélections éditoriales. */
.rd-app--selection{max-width:none;margin:0;background:transparent;border-radius:0;overflow:visible}
.rd-editorial-selection{container-type:inline-size;padding:clamp(30px,5vw,64px) clamp(16px,4vw,48px);background:#fff;color:var(--rd-text)}
.rd-editorial-selection--standalone{padding:0;background:transparent}
.rd-selection-grid{display:grid;min-width:0;gap:18px}
.rd-selection-grid>.rd-featured-card{min-width:0;aspect-ratio:var(--rd-selection-ratio,4 / 3)}
.rd-selection--mosaique .rd-selection-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);grid-auto-rows:minmax(220px,1fr)}
.rd-selection--mosaique .rd-featured-card{min-height:245px;aspect-ratio:auto}
.rd-selection--mosaique .rd-featured-card--primary{grid-row:span 2;min-height:508px}
.rd-selection--grille .rd-selection-grid,.rd-selection--compact .rd-selection-grid{grid-template-columns:repeat(var(--rd-selection-columns,3),minmax(0,1fr))}
.rd-selection--grille .rd-featured-card{min-height:0}
.rd-selection--vertical .rd-selection-grid{grid-template-columns:1fr}
.rd-selection--vertical .rd-featured-card{min-height:clamp(300px,38vw,520px);aspect-ratio:auto}
.rd-selection--compact .rd-featured-card{min-height:220px}
.rd-selection--compact .rd-featured-card__body{padding:18px}
.rd-selection--compact .rd-featured-card h3{font-size:clamp(1.25rem,2.2vw,1.75rem)}
.rd-editorial-selection .rd-featured-card__body>p:not(.rd-featured-card__note){display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rd-editorial-selection .rd-featured-card__body{max-width:100%}
.rd-editorial-selection .rd-featured-card h3{overflow-wrap:anywhere}
.rd-editorial-selection .rd-dialog{color:var(--rd-text)}
@container (max-width:1100px){
  .rd-selection--grille .rd-selection-grid,.rd-selection--compact .rd-selection-grid{grid-template-columns:repeat(var(--rd-selection-columns-tablet,2),minmax(0,1fr))}
  .rd-selection--mosaique .rd-selection-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .rd-selection--mosaique .rd-featured-card--primary{grid-column:1/-1;grid-row:auto;min-height:420px}
}
@container (max-width:620px){
  .rd-editorial-selection{padding:28px 16px}
  .rd-editorial-selection--standalone{padding:0}
  .rd-selection--grille .rd-selection-grid,.rd-selection--compact .rd-selection-grid{grid-template-columns:repeat(var(--rd-selection-columns-mobile,1),minmax(0,1fr))}
  .rd-selection--mosaique .rd-selection-grid,.rd-selection--vertical .rd-selection-grid{grid-template-columns:1fr}
  .rd-selection--mosaique .rd-featured-card--primary,.rd-selection--vertical .rd-featured-card{min-height:360px}
  .rd-selection-grid>.rd-featured-card{min-height:300px;aspect-ratio:auto}
}
@media(max-width:760px){
  .rd-selection--mosaique .rd-selection-grid,.rd-selection--vertical .rd-selection-grid{grid-template-columns:1fr}
  .rd-selection--mosaique .rd-featured-card--primary{grid-column:auto;grid-row:auto;min-height:390px}
}
.rd-app--selection-preview .rd-dialog{display:none}
.rd-selection-preview-empty{margin:0;padding:30px;border:1px dashed #c3c4c7;border-radius:0;background:#fff;text-align:center;color:#646970}

/* Restaurants Dordogne 2.0.0 — palette contextuelle et géométrie carrée. */
.rd-app{
  --rd-radius:0;
  background:var(--rd-background);
  color:var(--rd-text);
  border-radius:0;
}
.rd-app a{color:var(--rd-link)}
.rd-app a:hover,.rd-app a:focus-visible{color:var(--rd-link-hover)}
.rd-hero{color:var(--rd-hero-text)}
.rd-hero__eyebrow{color:var(--rd-hero-eyebrow)}
.rd-hero p{color:var(--rd-hero-muted)}
.rd-hero__button{background:var(--rd-hero-button-bg);color:var(--rd-hero-button-text)!important}
.rd-hero__button:hover,.rd-hero__button:focus-visible{background:var(--rd-hero-button-hover-bg);color:var(--rd-hero-button-hover-text)!important;filter:none}
.rd-submit,.rd-open-detail{background:var(--rd-button-bg);color:var(--rd-button-text)!important}
.rd-submit:hover,.rd-submit:focus-visible,.rd-open-detail:hover,.rd-open-detail:focus-visible{background:var(--rd-button-hover-bg);color:var(--rd-button-hover-text)!important;filter:none}
.rd-featured,.rd-results-section{background:var(--rd-surface)}
.rd-finder{background:var(--rd-surface-alt)}
.rd-section-heading h1,.rd-section-heading h2,.rd-section-heading h3,.rd-results-count{color:var(--rd-heading)}
.rd-section-heading>span{color:var(--rd-link)}
.rd-section-heading p,.rd-status,.rd-location-status{color:var(--rd-muted)}
.rd-filters,.rd-extra-filters,.rd-facet-group{background:var(--rd-surface);border-color:var(--rd-border)}
.rd-field input,.rd-field select,.rd-location-row select,.rd-facet-numbers select{
  background:var(--rd-field-bg);color:var(--rd-field-text);border-color:var(--rd-field-border)
}
.rd-field input:focus,.rd-field select:focus,.rd-location-row select:focus,.rd-facet-numbers select:focus{
  border-color:var(--rd-field-focus);outline-color:color-mix(in srgb,var(--rd-field-focus) 35%,transparent)
}
.rd-chip span,.rd-more-toggle,.rd-card__tags span,.rd-facet-group summary small{
  background:var(--rd-tag-bg);color:var(--rd-tag-text);border-color:var(--rd-tag-border)
}
.rd-chip span:hover,.rd-more-toggle:hover,.rd-card__tags span:hover,.rd-facet-option:hover{
  background:var(--rd-tag-hover-bg);color:var(--rd-tag-hover-text);border-color:var(--rd-tag-hover-bg)
}
.rd-chip input:checked+span,.rd-more-toggle.is-open{
  background:var(--rd-tag-active-bg);color:var(--rd-tag-active-text);border-color:var(--rd-tag-active-bg)
}
.rd-card__category,.rd-badge{background:var(--rd-overlay-label-bg);color:var(--rd-overlay-label-text)}
.rd-view-switch{background:var(--rd-surface-alt)}
.rd-view-switch button{color:var(--rd-text)}
.rd-view-switch button:hover{background:var(--rd-tag-hover-bg);color:var(--rd-tag-hover-text)}
.rd-view-switch button.is-active{background:var(--rd-tag-active-bg);color:var(--rd-tag-active-text)}
.rd-card{background:var(--rd-card-bg);border-color:var(--rd-card-border);color:var(--rd-card-text)}
.rd-card:hover{border-color:var(--rd-card-hover-border)}
.rd-card h3{color:var(--rd-card-title)}
.rd-card__excerpt{color:var(--rd-card-text)}
.rd-card__place,.rd-card__route{color:var(--rd-card-meta)}
.rd-distance{color:var(--rd-muted)}
.rd-pagination button{background:var(--rd-surface);color:var(--rd-text);border-color:var(--rd-border)}
.rd-pagination button:hover{background:var(--rd-tag-hover-bg);color:var(--rd-tag-hover-text);border-color:var(--rd-tag-hover-bg)}
.rd-pagination button.is-active{background:var(--rd-tag-active-bg);color:var(--rd-tag-active-text);border-color:var(--rd-tag-active-bg)}

/* Sélections éditoriales : palette distincte des cartes générales. */
.rd-editorial-selection{background:var(--rd-selection-bg);color:var(--rd-selection-heading)}
.rd-editorial-selection .rd-section-heading h2{color:var(--rd-selection-heading)}
.rd-editorial-selection .rd-section-heading>span{color:var(--rd-selection-eyebrow)}
.rd-editorial-selection .rd-section-heading p{color:var(--rd-selection-intro)}
.rd-featured-card{background:var(--rd-selection-overlay);color:var(--rd-selection-title)}
.rd-featured-card__shade,.rd-card-media:after{
  background:linear-gradient(to top,color-mix(in srgb,var(--rd-selection-overlay) 96%,transparent) 0%,color-mix(in srgb,var(--rd-selection-overlay) 56%,transparent) 46%,transparent 100%)
}
.rd-featured-card h3{color:var(--rd-selection-title)}
.rd-featured-card__body small,.rd-card-location,.rd-featured-card__note,.rd-editorial-note{color:var(--rd-selection-meta)!important}
.rd-featured-card__body>p:not(.rd-featured-card__note),.rd-featured-card .rd-card-content>p:not(.rd-card-location):not(.rd-editorial-note){color:var(--rd-selection-excerpt)}
.rd-featured-card__badge{background:var(--rd-selection-badge-bg);color:var(--rd-selection-badge-text)}
.rd-editorial-selection .rd-open-detail{background:var(--rd-selection-button-bg);color:var(--rd-selection-button-text)!important}
.rd-editorial-selection .rd-open-detail:hover,.rd-editorial-selection .rd-open-detail:focus-visible{background:var(--rd-selection-button-hover-bg);color:var(--rd-selection-button-hover-text)!important}

/* Carte Leaflet, pastilles et popup illustrée. */
.rd-map{border-color:var(--rd-border)}
.rd-map-cluster span{border-radius:999px;background:var(--rd-map-marker-bg);color:var(--rd-map-marker-text);border-color:color-mix(in srgb,var(--rd-map-marker-border) 30%,#fff)}
.rd-map .leaflet-popup-content-wrapper{background:var(--rd-map-popup-bg);color:var(--rd-map-popup-title);padding:0;overflow:hidden}
.rd-map .leaflet-popup-tip{background:var(--rd-map-popup-bg)}
.rd-map .leaflet-popup-content{margin:0;min-width:235px;max-width:280px}
.rd-map-popup{display:block;background:var(--rd-map-popup-bg)}
.rd-map-popup__media{width:100%;aspect-ratio:16/9;overflow:hidden;background:var(--rd-surface-alt)}
.rd-map-popup__media img{display:block;width:100%;height:100%;object-fit:cover}
.rd-map-popup__content{padding:12px}
.rd-map-popup strong{display:block;color:var(--rd-map-popup-title);font-size:1rem;line-height:1.25}
.rd-map-popup span{display:block;color:var(--rd-map-popup-meta);margin:4px 0 10px}
.rd-map-popup button{background:var(--rd-map-popup-button-bg);color:var(--rd-map-popup-button-text);border:0;padding:8px 12px;font-weight:800;cursor:pointer}
.rd-map-popup button:hover,.rd-map-popup button:focus-visible{background:var(--rd-map-popup-button-hover-bg);color:var(--rd-map-popup-button-hover-text)}
.rd-map-fullscreen{background:var(--rd-surface);color:var(--rd-text);border-color:var(--rd-border)}
.rd-map-fullscreen:hover,.rd-map-fullscreen:focus-visible{background:var(--rd-tag-hover-bg);color:var(--rd-tag-hover-text)}
.rd-map .leaflet-bar a,.rd-map .leaflet-control-layers,.rd-map .leaflet-control-layers-toggle{border-radius:0!important}

/* Fiche détaillée et galerie. */
.rd-dialog{background:var(--rd-detail-bg);color:var(--rd-detail-text)}
.rd-dialog__close{background:var(--rd-detail-bg);color:var(--rd-detail-title)}
.rd-detail__body h2,.rd-detail__body h3{color:var(--rd-detail-title)}
.rd-detail__lead,.rd-detail__source{color:var(--rd-detail-muted)}
.rd-detail__box{background:var(--rd-detail-panel-bg);color:var(--rd-detail-text)}
.rd-detail__links a{background:var(--rd-button-bg);color:var(--rd-button-text)}
.rd-detail__links a:hover,.rd-detail__links a:focus-visible{background:var(--rd-button-hover-bg);color:var(--rd-button-hover-text)}
.rd-lightbox{background:var(--rd-lightbox-bg);color:var(--rd-lightbox-text)}
.rd-lightbox__meta,.rd-lightbox__figure figcaption{color:var(--rd-lightbox-text)}
.rd-lightbox__counter{color:var(--rd-lightbox-accent)}
.rd-lightbox__previous:hover,.rd-lightbox__next:hover,.rd-lightbox__close:hover{background:var(--rd-lightbox-accent);color:var(--rd-lightbox-bg)}

/* Géométrie carrée : seules les pastilles cartographiques restent rondes. */
.rd-app,
.rd-app .rd-hero__button,.rd-app .rd-submit,.rd-app .rd-open-detail,
.rd-app .rd-featured-card,.rd-app .rd-featured-card__badge,.rd-app .rd-badge,
.rd-app .rd-filters,.rd-app input,.rd-app select,.rd-app textarea,
.rd-app .rd-chip span,.rd-app .rd-more-toggle,.rd-app .rd-extra-filters,
.rd-app .rd-facet-group,.rd-app .rd-facet-group summary small,.rd-app .rd-facet-option,
.rd-app .rd-view-switch,.rd-app .rd-view-switch button,
.rd-app .rd-card,.rd-app .rd-card__category,.rd-app .rd-card__tags span,
.rd-app .rd-pagination button,.rd-app .rd-map,.rd-app .rd-map-fullscreen,
.rd-app .leaflet-popup-content-wrapper,.rd-app .leaflet-popup-tip,
.rd-app .rd-map-popup__media,.rd-app .rd-map-popup button,
.rd-app .rd-dialog,.rd-app .rd-dialog__close,.rd-app .rd-detail__box,
.rd-app .rd-detail__links a,.rd-app .rd-detail__gallery img,
.rd-lightbox,.rd-lightbox__figure img,.rd-lightbox button,
.rd-selection-preview-empty{border-radius:0!important}



/* 2.0.3 — correction des espaces résiduels sur les sélections mobiles.
 * Certains moteurs WebKit peuvent conserver une contribution de taille pour
 * des cartes masquées dynamiquement. On retire explicitement ces cartes du
 * flux et on libère toute hauteur héritée du contexte Elementor. */
.rd-app--selection [hidden],
.rd-editorial-selection [hidden],
.rd-selection-grid > [hidden] {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
}
@media (max-width: 767px) {
  .rd-app--selection,
  .rd-editorial-selection,
  .rd-selection-grid {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }
  .rd-selection-grid {
    grid-auto-rows: auto !important;
    align-content: start !important;
  }
}
.rd-map-popup a[data-cdi-permalink]{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:0;background:var(--rd-link);color:#fff!important;padding:7px 11px;font-weight:800;cursor:pointer;text-decoration:none}.rd-map-popup a[data-cdi-permalink]:hover,.rd-map-popup a[data-cdi-permalink]:focus-visible{filter:brightness(.94);text-decoration:none}

/* v2.1.2 — fiche rapide conservée, panneau glissant et accès à la page permanente. */
@keyframes rd-drawer-enter {
    from { transform: translateX(100%); }
    to { transform: translateX(0); }
}
.rd-dialog {
    position: fixed !important;
    inset: 0 0 0 auto !important;
    width: min(820px, 92vw) !important;
    max-width: 92vw !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    overflow: auto !important;
    overscroll-behavior: contain;
}
.rd-dialog[open] { animation: rd-drawer-enter .28s ease-out both; }
.rd-dialog__close { position: sticky !important; top: 12px !important; right: 12px !important; }
.rd-detail__page-link {
    flex-basis: 100%;
    justify-content: center;
    margin-top: 6px;
    background: var(--rd-button-bg, var(--rd-link)) !important;
    color: var(--rd-button-text, #fff) !important;
}
.rd-detail__page-link:hover, .rd-detail__page-link:focus-visible {
    background: var(--rd-button-hover-bg, var(--rd-link)) !important;
    color: var(--rd-button-hover-text, #fff) !important;
}
@media (max-width: 767px) {
    .rd-dialog { width: 100vw !important; max-width: 100vw !important; }
}
