/* Fiche logement façon Lodgify — mod_lodgifycarousel v3 */
.ldg-p{--ldg-accent:#fac600;--ldg-ink:#1f2328;--ldg-muted:#6b7280;--ldg-line:#e5e7eb;--ldg-radius:16px;max-width:1240px;margin:0 auto;color:var(--ldg-ink);font-size:16px;line-height:1.6}
.ldg-p *,.ldg-p *::before,.ldg-p *::after{box-sizing:border-box}
.ldg-p button{font:inherit;color:inherit}
.ldg-ico{width:20px;height:20px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;vertical-align:-4px}
.ldg-p-crumb{margin:4px 0 14px;font-size:.92rem}.ldg-p-crumb a{color:var(--ldg-muted);text-decoration:none}.ldg-p-crumb a:hover{color:var(--ldg-ink);text-decoration:underline}

/* Galerie mosaïque : 1 grande + 4 petites */
.ldg-p-gallery{position:relative;display:grid;gap:8px;border-radius:var(--ldg-radius);overflow:hidden;height:min(62vh,520px);grid-template-columns:2fr 1fr 1fr;grid-template-rows:1fr 1fr}
.ldg-p-gallery--1{grid-template-columns:1fr;grid-template-rows:1fr}
.ldg-p-gallery--2{grid-template-columns:1fr 1fr;grid-template-rows:1fr}
.ldg-p-gallery--3{grid-template-columns:2fr 1fr}
.ldg-p-gallery--4{grid-template-columns:2fr 1fr 1fr}.ldg-p-gallery--4 .ldg-p-shot:nth-child(4){grid-column:span 2}
.ldg-p-shot{all:unset;cursor:zoom-in;display:block;overflow:hidden;background:#eee;min-height:0}
.ldg-p-shot:first-child{grid-row:span 2}
.ldg-p-gallery--1 .ldg-p-shot:first-child,.ldg-p-gallery--2 .ldg-p-shot:first-child{grid-row:auto}
.ldg-p-shot img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease,filter .3s}
.ldg-p-shot:hover img{transform:scale(1.03);filter:brightness(.92)}
.ldg-p-shot:focus-visible{outline:3px solid var(--ldg-accent);outline-offset:-3px}
.ldg-p-allphotos{position:absolute;right:16px;bottom:16px;display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border:1px solid var(--ldg-ink);border-radius:10px;background:#fff;font-weight:600;font-size:.92rem;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.12)}
.ldg-p-allphotos:hover{background:#f5f5f5}

/* Deux colonnes */
.ldg-p-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:64px;margin-top:32px;align-items:start}
.ldg-p-head h1{font-size:clamp(1.7rem,3vw,2.4rem);line-height:1.2;margin:0 0 8px;font-weight:700;color:var(--ldg-ink)}
.ldg-p-loc{display:flex;flex-wrap:wrap;gap:6px 18px;color:var(--ldg-muted);margin:0}
.ldg-p-loc span{display:inline-flex;align-items:center;gap:6px}
.ldg-p-rating .ldg-ico{fill:var(--ldg-accent);stroke:var(--ldg-accent)}
.ldg-p-facts{list-style:none;margin:24px 0 0;padding:20px 0;display:flex;flex-wrap:wrap;gap:14px 32px;border-top:1px solid var(--ldg-line);border-bottom:1px solid var(--ldg-line)}
.ldg-p-facts li{display:flex;align-items:center;gap:10px;margin:0}
.ldg-p-facts .ldg-ico{width:26px;height:26px}

.ldg-p-section{padding:32px 0;border-bottom:1px solid var(--ldg-line)}
.ldg-p-section:last-child{border-bottom:0}
.ldg-p-section h2{font-size:1.4rem;line-height:1.3;margin:0 0 18px;font-weight:700;color:var(--ldg-ink)}
.ldg-p-section h3{font-size:1.05rem;margin:18px 0 8px;font-weight:600}
.ldg-p-desc{position:relative}
.ldg-p-desc p{margin:0 0 1em}.ldg-p-desc ul,.ldg-p-desc ol{margin:0 0 1em 1.2em;padding:0}
.ldg-p-desc.is-collapsed{max-height:260px;overflow:hidden}
.ldg-p-desc.is-collapsed::after{content:"";position:absolute;inset:auto 0 0 0;height:90px;background:linear-gradient(rgba(255,255,255,0),#fff)}
.ldg-p-more{all:unset;cursor:pointer;margin-top:10px;font-weight:600;text-decoration:underline}
.ldg-p-room{margin-bottom:12px}

/* Équipements */
.ldg-p-amen{columns:2;column-gap:40px}
.ldg-p-amen-group{break-inside:avoid;margin-bottom:8px}
.ldg-p-amen-group h3:first-child{margin-top:0}
.ldg-p-amen ul{list-style:none;margin:0;padding:0}
.ldg-p-amen li{display:flex;gap:12px;align-items:flex-start;padding:7px 0;margin:0}
.ldg-p-amen li .ldg-ico{color:#16794c;margin-top:2px}
.ldg-p-amen:not(.is-open) li.ldg-x{display:none}
.ldg-p-amen:not(.is-open) .ldg-p-amen-group:not(:has(li:not(.ldg-x))){display:none}
.ldg-p-outline{margin-top:18px;padding:11px 22px;border:1px solid var(--ldg-ink);border-radius:10px;background:#fff;font-weight:600;cursor:pointer}
.ldg-p-outline:hover{background:#f5f5f5}
.ldg-p-rules{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:12px}
.ldg-p-rules li{display:flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid var(--ldg-line);border-radius:999px;margin:0}

/* Calendrier */
.ldg-cal{position:relative}
.ldg-cal-nav{position:absolute;top:-2px;left:0;right:0;display:flex;justify-content:space-between;pointer-events:none}
.ldg-cal-nav button{pointer-events:auto;width:36px;height:36px;border-radius:50%;border:1px solid var(--ldg-line);background:#fff;font-size:22px;line-height:1;cursor:pointer}
.ldg-cal-nav button:disabled{opacity:.3;cursor:default}
.ldg-cal-months{display:grid;grid-template-columns:repeat(var(--m,2),minmax(0,1fr));gap:40px}
.ldg-cal-month h3{text-align:center;margin:6px 0 14px!important;font-size:1rem!important;text-transform:capitalize}
.ldg-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center;font-size:.9rem}
.ldg-cal-grid .dow{color:var(--ldg-muted);font-size:.75rem;padding-bottom:6px}
.ldg-cal-grid .d{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:50%}
.ldg-cal-grid .d.past{color:#c4c4c4}
.ldg-cal-grid .d.busy{color:#b0b0b0;text-decoration:line-through;background:#f3f4f6;border-radius:0}
.ldg-cal-grid .d.today{box-shadow:inset 0 0 0 1.5px var(--ldg-ink)}
.ldg-cal-legend{display:flex;align-items:center;gap:8px;margin:18px 0 0;font-size:.88rem;color:var(--ldg-muted)}
.ldg-cal-k{display:inline-block;width:14px;height:14px;border-radius:3px;border:1px solid var(--ldg-line)}
.ldg-cal-k--busy{background:#f3f4f6;margin-left:14px}

/* Carte */
.ldg-p-maploc{display:flex;gap:6px;align-items:center;color:var(--ldg-muted);margin:-6px 0 14px}
.ldg-p-map{border-radius:var(--ldg-radius);overflow:hidden;aspect-ratio:16/8;min-height:300px;background:#eef1f4;z-index:0;position:relative}
.ldg-p-map iframe{width:100%;height:100%;border:0;display:block}
.ldg-p-note{color:var(--ldg-muted);font-size:.9rem;margin:10px 0 0}

/* Encart réservation */
.ldg-p-aside{position:sticky;top:24px}
.ldg-p-bookbox{border:1px solid var(--ldg-line);border-radius:var(--ldg-radius);padding:24px;background:#fff;box-shadow:0 6px 28px rgba(0,0,0,.10);color:var(--ldg-ink)}
.ldg-p-price{margin:0 0 16px;font-size:1rem;color:var(--ldg-muted)}
.ldg-p-price strong{font-size:1.5rem;color:var(--ldg-ink)}
.ldg-p-bookbox #lodgify-book-now-box{width:100%;--ldg-bnb-color-primary:var(--ldg-accent);--ldg-bnb-color-primary-lighter:var(--ldg-accent);--ldg-bnb-color-primary-contrast:#222;--ldg-bnb-border-radius:10px}
.ldg-p-secure{margin:14px 0 0;text-align:center;font-size:.82rem;color:var(--ldg-muted)}
.ldg-p-mobilebar{display:none}

/* Lightbox */
.ldg-lb{border:0;padding:0;margin:0;width:100vw;height:100dvh;max-width:none;max-height:none;background:#111;color:#fff;overflow:hidden}
.ldg-lb[open]{display:grid;grid-template-rows:auto 1fr auto;grid-template-columns:64px 1fr 64px}
.ldg-lb::backdrop{background:#111}
.ldg-lb-top{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;padding:14px 18px}
.ldg-lb-close{all:unset;cursor:pointer;font-size:22px;padding:6px 10px;border-radius:8px}.ldg-lb-close:hover{background:rgba(255,255,255,.12)}
.ldg-lb-fig{margin:0;grid-column:2;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0;min-width:0}
.ldg-lb-fig img{max-width:100%;max-height:calc(100dvh - 190px);object-fit:contain;user-select:none}
.ldg-lb-fig figcaption{margin-top:10px;font-size:.9rem;opacity:.8;min-height:1.2em}
.ldg-lb-nav{all:unset;cursor:pointer;align-self:center;justify-self:center;width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.12);font-size:30px;line-height:44px;text-align:center}
.ldg-lb-nav:hover{background:rgba(255,255,255,.25)}
.ldg-lb-thumbs{grid-column:1/-1;display:flex;gap:6px;overflow-x:auto;padding:10px 18px 16px;scrollbar-width:thin}
.ldg-lb-thumbs button{all:unset;cursor:pointer;flex:0 0 auto;width:76px;height:54px;border-radius:6px;overflow:hidden;opacity:.5;outline:2px solid transparent}
.ldg-lb-thumbs button.is-active{opacity:1;outline-color:#fff}
.ldg-lb-thumbs img{width:100%;height:100%;object-fit:cover;display:block}
html.ldg-noscroll{overflow:hidden}

/* Catalogue */
.ldg-catalog .ldg-content h3 a{color:inherit;text-decoration:none}

/* Responsive */
@media (max-width:1024px){.ldg-p-layout{grid-template-columns:minmax(0,1fr) 340px;gap:36px}}
@media (max-width:860px){
 .ldg-p-layout{grid-template-columns:1fr;gap:0}
 .ldg-p-aside{position:static;margin:8px 0 32px;scroll-margin-top:16px}
 .ldg-p-gallery{height:auto;grid-template-columns:1fr!important;grid-template-rows:none!important;border-radius:12px}
 .ldg-p-gallery .ldg-p-shot{display:none}.ldg-p-gallery .ldg-p-shot:first-child{display:block;aspect-ratio:4/3;grid-row:auto}
 .ldg-p-amen{columns:1}
 .ldg-cal-months{--m:1!important}
 .ldg-cal-month:nth-child(n+2){display:none}
 .ldg-p-mobilebar{display:flex;position:fixed;z-index:999;left:0;right:0;bottom:0;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--ldg-line);box-shadow:0 -4px 16px rgba(0,0,0,.08);color:var(--ldg-muted);font-size:.9rem}
 .ldg-p-mobilebar strong{color:var(--ldg-ink);font-size:1.1rem}
 .ldg-p-mobilebar .ldg-button{background:var(--ldg-accent)}
 .ldg-p{padding-bottom:80px}
 .ldg-lb[open]{grid-template-columns:0 1fr 0}.ldg-lb-nav{display:none}
}

/* v3.1 — calendrier interactif et encart de réservation */
.ldg-cal-help{margin:-8px 0 18px;color:var(--ldg-muted);min-height:1.6em}
.ldg-cal-grid .d{border:0;background:none;padding:0;font:inherit;color:inherit;position:relative}
.ldg-cal--pick .ldg-cal-grid button.d{cursor:pointer}
.ldg-cal--pick .ldg-cal-grid button.d:hover{box-shadow:inset 0 0 0 1.5px var(--ldg-ink)}
.ldg-cal-grid .d.off{color:#c4c4c4}
.ldg-cal-grid .d.co{text-decoration:none;background:linear-gradient(135deg,transparent 50%,#f3f4f6 50%);color:var(--ldg-ink)}
.ldg-cal-grid .d.in{background:color-mix(in srgb,var(--ldg-accent) 22%,#fff);border-radius:0;color:var(--ldg-ink);text-decoration:none}
.ldg-cal-grid .d.sel{background:var(--ldg-ink);color:#fff;text-decoration:none;border-radius:50%;box-shadow:none;z-index:1}
.ldg-cal-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:18px}
.ldg-cal-foot .ldg-cal-legend{margin:0}
.ldg-cal-clear{all:unset;cursor:pointer;font-weight:600;text-decoration:underline;font-size:.92rem}

.ldg-bk-dates{display:grid;grid-template-columns:1fr 1fr;border:1px solid #b9bec7;border-radius:12px 12px 0 0;overflow:hidden}
.ldg-bk-dates button{all:unset;cursor:pointer;padding:10px 14px;display:flex;flex-direction:column;gap:2px;min-width:0}
.ldg-bk-dates button+button{border-left:1px solid #b9bec7}
.ldg-bk-dates button:hover{background:#f7f7f7}
.ldg-bk-dates small{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.ldg-bk-dates span{color:var(--ldg-muted);font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ldg-bk-dates .is-set span{color:var(--ldg-ink)}
.ldg-bk-guests{border:1px solid #b9bec7;border-top:0;border-radius:0 0 12px 12px;padding:6px 14px 10px}
.ldg-bk-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0}
.ldg-bk-row>span{display:flex;flex-direction:column;line-height:1.25}
.ldg-bk-row small{color:var(--ldg-muted);font-size:.8rem}
.ldg-bk-step{display:flex;align-items:center;gap:12px}
.ldg-bk-step button{width:32px;height:32px;border-radius:50%;border:1px solid #b9bec7;background:#fff;font-size:18px;line-height:1;cursor:pointer;padding:0}
.ldg-bk-step button:disabled{opacity:.3;cursor:default}
.ldg-bk-step output{min-width:1.2em;text-align:center;font-weight:600}
.ldg-bk-max{margin:2px 0 0;font-size:.8rem;color:var(--ldg-muted)}
.ldg-bk-result{margin-top:16px}
.ldg-bk-result:empty{display:none}
.ldg-bk-lines{list-style:none;margin:0;padding:0}
.ldg-bk-lines li{display:flex;justify-content:space-between;gap:12px;padding:5px 0;margin:0}
.ldg-bk-lines li span:first-child{color:var(--ldg-muted)}
.ldg-bk-total{border-top:1px solid var(--ldg-line);margin-top:6px!important;padding-top:12px!important;font-weight:700;font-size:1.1rem}
.ldg-bk-total span:first-child{color:var(--ldg-ink)!important}
.ldg-bk-note{margin:8px 0 0;font-size:.85rem;color:var(--ldg-muted)}
.ldg-bk-loading{margin:0;color:var(--ldg-muted)}
.ldg-bk-err{margin:0;padding:10px 12px;border-radius:10px;background:#fff4f2;color:#a3301b;font-size:.92rem}
.ldg-bk-book{display:block;width:100%;margin-top:16px;padding:14px;border:0;border-radius:12px;background:var(--ldg-accent);color:#222;font-weight:700;font-size:1.02rem;cursor:pointer}
.ldg-bk-book:hover:not(:disabled){filter:brightness(.95)}
.ldg-bk-book:disabled{background:#eceef1;color:#8a8f98;cursor:default}

/* v3.2 — carte */
.ldg-map-pin{background:none;border:0}
.ldg-map-pin span{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 4px 12px rgba(0,0,0,.3);border:3px solid #fff;box-sizing:border-box}
.ldg-map-pin svg{width:20px;height:20px;transform:rotate(45deg);fill:#222}
.ldg-p-map .leaflet-control-attribution{font-size:10px}
.ldg-p-note a{color:inherit;text-decoration:underline}
@media (max-width:860px){.ldg-p-map{aspect-ratio:4/3}}

/* v3.2.2 — aperçu au survol (souris uniquement) */
.ldg-cal-grid .d.hv{background:color-mix(in srgb,var(--ldg-accent) 22%,#fff);border-radius:0;color:var(--ldg-ink);text-decoration:none}
.ldg-cal-grid .d.hv-end{box-shadow:inset 0 0 0 2px var(--ldg-ink);border-radius:50%}
.ldg-cal-grid button.d{-webkit-tap-highlight-color:transparent;touch-action:manipulation}

/* v3.3 — jours où l'arrivée n'est pas autorisée */
.ldg-cal-grid .d.na{color:#c4c4c4}

/* v3.7 — diagnostic administrateur */
.ldg-diag{margin:0 0 22px;padding:12px 16px;border:1px dashed #c58a00;border-radius:10px;background:#fffbea;font-size:.92rem;color:#5b4500}
.ldg-diag summary{cursor:pointer;font-weight:600}
.ldg-diag ul{margin:10px 0;padding-left:20px}
.ldg-diag p{margin:8px 0 0}

/* v3.10 — boutons UIkit */
.ldg-p .ldg-uk-mt{margin-top:16px}
.ldg-p-mobilebar .uk-button{white-space:nowrap}

/* v3.11 — calendrier dans l'encart de réservation */
.ldg-bk{position:relative}
.ldg-bk-pop{position:absolute;z-index:60;top:66px;right:-24px;width:min(680px,calc(100vw - 40px));background:#fff;border-radius:16px;box-shadow:0 12px 48px rgba(0,0,0,.22);padding:20px 22px 16px;color:var(--ldg-ink)}
.ldg-bk-pop[hidden]{display:none}
.ldg-bk-pop-help{margin:0 0 12px;font-weight:600;font-size:.98rem;min-height:1.4em}
.ldg-bk-pop .ldg-cal-months{gap:28px}
.ldg-bk-pop .ldg-cal-month h3{margin:4px 0 10px!important}
.ldg-bk-pop .ldg-cal-nav{position:relative;top:auto;left:auto;right:auto;height:0;z-index:2}
.ldg-bk-pop .ldg-cal-nav button{position:absolute;top:0;width:34px;height:34px;font-size:20px}
.ldg-bk-pop .ldg-cal-nav [data-cal-prev]{left:0}.ldg-bk-pop .ldg-cal-nav [data-cal-next]{right:0}
.ldg-bk-pop .ldg-cal-month h3{line-height:34px;margin:0 0 6px!important}
.ldg-bk-pop-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px}
.ldg-bk-pop-foot>:last-child{margin-left:auto}
.ldg-bk-pop-close:not(.uk-button){all:unset;cursor:pointer;font-weight:600;padding:8px 14px;border:1px solid var(--ldg-ink);border-radius:8px}
.ldg-bk.is-picking .ldg-bk-dates{box-shadow:0 0 0 2px var(--ldg-ink)}
.ldg-p-allphotos.ldg-uk{position:absolute;right:16px;bottom:16px;background:#fff!important;display:inline-flex;align-items:center;gap:8px;box-shadow:0 2px 10px rgba(0,0,0,.12)}
@media (max-width:860px){
 .ldg-bk-pop{position:static;width:auto;box-shadow:none;border:1px solid var(--ldg-line);margin-top:10px;padding:14px 12px}
}

/* v3.12 — réservation sur le site */
.ldg-bk-form{margin-top:18px;display:grid;gap:12px}
.ldg-bk-form[hidden]{display:none}
.ldg-bk-form h3{margin:0;font-size:1.05rem;font-weight:700}
.ldg-bk-form label{display:grid;gap:4px;margin:0;font-size:.9rem}
.ldg-bk-form label>span{font-weight:600;color:var(--ldg-ink)}
.ldg-bk-form label small{font-weight:400;color:var(--ldg-muted)}
.ldg-bk-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ldg-bk-form input:not([type=checkbox]):not(.uk-input),.ldg-bk-form select:not(.uk-select),.ldg-bk-form textarea:not(.uk-textarea){width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid #b9bec7;border-radius:8px;font:inherit;font-size:16px;background:#fff;color:var(--ldg-ink)}
.ldg-bk-form .uk-input,.ldg-bk-form .uk-select,.ldg-bk-form .uk-textarea{font-size:16px}
.ldg-bk-form textarea{resize:vertical;min-height:70px}
.ldg-bk-check{display:flex!important;align-items:flex-start;gap:8px}
.ldg-bk-check a{text-decoration:underline}
.ldg-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.ldg-bk-formmsg:empty{display:none}
.ldg-bk-ok{margin:0;padding:12px 14px;border-radius:10px;background:#eefaf3;color:#16603b}
.ldg-bk-back{justify-self:center}
.ldg-bk-back:not(.uk-button){all:unset;cursor:pointer;justify-self:center;text-decoration:underline;font-size:.9rem}
.ldg-bk-form .ldg-bk-note{margin:0;text-align:center}
.ldg-bk-done{margin-top:16px}
.ldg-bk.is-booking .ldg-bk-guests button{pointer-events:none;opacity:.5}
@media (max-width:400px){.ldg-bk-two{grid-template-columns:1fr}}
