/* =====================================================================
   bk-lot-d.css — lot D (refuges, photos) de la refonte UX
   Complète css/bivouak-ui.css, chargé juste après header.html.
   ===================================================================== */

/* ---------- listes ---------- */
.bk-lotd-pager-top{ display:flex; justify-content:flex-end; margin-top:4px }
.bk-lotd-search{ position:relative }
.bk-lotd-search .bk-sugg{ top:calc(100% + 6px) }
.bk-lotd-search .bk-sugg li{ display:flex; align-items:baseline; gap:6px; border-top:1px solid #efece6 }
.bk-lotd-search .bk-sugg li:first-child{ border-top:0 }
.bk-lotd-search .bk-sugg li a{ border:0; padding-right:4px }
.bk-lotd-search .bk-sugg li i{ padding-right:18px }
.bk-lotd-ico{ width:22px; height:22px; object-fit:contain; vertical-align:middle; margin-right:8px }
.bk-lotd-ico[src=""]{ visibility:hidden }
.bk-lotd-cell-title{ font-weight:600; color:var(--bk-ink) }
.bk-filters .switch-btn{ flex:none }
.bk-filters .bk-btn .bk-badge{ min-width:20px; height:20px; font-size:11px }

/* ---------- page « Où dormir » ---------- */
.bk-lotd-map{ position:relative; min-height:0 }
.bk-lotd-map #map{ width:100%; height:520px }
@media (max-width:600px){ .bk-lotd-map #map{ height:380px } }
.bk-lotd-mapbar{ display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin-bottom:12px }
.bk-lotd-mapbar .bk-filters__search{ max-width:520px }
#infoposition:empty{ display:none }

/* ---------- fiche refuge ---------- */
.bk-lotd-head-actions .button,
.bk-lotd-head-actions button{ font:inherit }
.bk-lotd-act{ display:inline-grid; place-items:center; width:40px; height:40px; border-radius:50%; border:1px solid var(--bk-line); background:var(--bk-surface); color:var(--bk-ink-2); cursor:pointer; padding:0; font-size:16px; transition:border-color .15s,color .15s }
.bk-lotd-act:hover{ border-color:var(--bk-ink-3); color:var(--bk-ink) }
.bk-lotd-act .glyphicon{ top:0 }
.bk-lotd-act--danger:hover{ border-color:var(--bk-danger); color:var(--bk-danger) }
.bk-lotd-kpis{ margin:4px 0 20px }
.bk-lotd-kpis .bk-kpi{ flex:1 0 22%; border-left:1px solid var(--bk-line); padding-inline:14px }
.bk-lotd-kpis .bk-kpi:first-child{ border-left:0; padding-left:0 }
.bk-lotd-kpis .bk-kpi:nth-child(3n+1){ border-left:1px solid var(--bk-line); padding-left:14px }
.bk-lotd-kpis .bk-kpi:first-child{ border-left:0; padding-left:0 }
.bk-lotd-kpis .bk-kpi b{ white-space:normal }
@media (max-width:600px){
  .bk-lotd-kpis .bk-kpi{ flex:1 0 45% }
  .bk-lotd-kpis .bk-kpi:nth-child(3){ border-left:0; padding-left:0 }
}
.bk-lotd-cover{ display:block; position:relative; border-radius:var(--bk-r); overflow:hidden; margin-bottom:24px; aspect-ratio:16/9 }
.bk-lotd-cover img{ width:100%; height:100%; object-fit:cover; display:block }
.bk-lotd-cover .bk-cap{ position:absolute; left:14px; right:14px; bottom:12px; color:#fff; font-weight:600; font-size:14px; text-shadow:0 1px 6px rgba(0,0,0,.6) }
.bk-lotd-cover:hover .bk-cap{ text-decoration:underline }
.bk-lotd-sec{ margin-top:36px }
.bk-lotd-sec:first-child{ margin-top:0 }
.bk-lotd-sec>h2,.bk-lotd-sec .bk-sechead h2{ font-size:clamp(20px,2.2vw,26px) }
.bk-lotd-sec .bk-sechead{ margin-bottom:14px; align-items:center }
.bk-lotd-map-refuge #map{ width:100%; height:420px }
@media (max-width:600px){ .bk-lotd-map-refuge #map{ height:320px } }
.bk-lotd-ext{ margin-top:16px; border-left:4px solid var(--bk-accent) }
.bk-lotd-ext h3{ font-size:17px; margin:0 0 8px }
.bk-lotd-ext .bk-note{ margin-top:8px }
.bk-lotd-attrib{ font-size:14px; color:var(--bk-ink-2) }
.bk-lotd-attrib p{ margin:0 0 6px }
.bk-lotd-attrib .fa-creative-commons{ font-size:18px; margin-right:4px; color:var(--bk-ink) }
.bk-lotd-meteo iframe{ width:100%; max-width:100%; height:350px; border:0; display:block }
.bk-lotd-rayon{ display:flex; align-items:center; gap:8px }
.bk-lotd-rayon select{ min-width:0; width:auto; border-radius:999px; min-height:36px; padding:4px 28px 4px 12px; font-size:14px }
.bk-lotd-sec .switch-btn2{ cursor:pointer }
#list_topos_around .table{ margin-bottom:0 }
.bk-lotd-sec small{ font-family:var(--bk-body); font-weight:400 }

/* galerie de photos de la fiche refuge (photos/portfolio.html + photo_item.html) */
.bk-lotd-gallery{ display:grid; grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); gap:10px }
.bk-lotd-gallery>.bk-lotd-gallery__item{ min-width:0; padding:0 }
.bk-lotd-gallery .photo{ margin:0; border-radius:var(--bk-r-sm); overflow:hidden; aspect-ratio:1; position:relative; background:var(--bk-line) }
.bk-lotd-gallery .photo>img{ width:100%; height:100%; object-fit:cover; display:block; cursor:pointer; max-width:none }

/* ---------- photos ---------- */
.bk-photo-card .bk-card__ph img{ cursor:zoom-in }
.bk-photo-card .bk-card__ph{ background-color:var(--bk-line) }
.bk-photo-card .bk-card__body{ gap:6px }
.bk-photo-card__src{ position:absolute; right:10px; bottom:10px; z-index:2; width:30px; height:30px; border-radius:50%; background:rgba(255,255,255,.9); color:var(--bk-ink); display:grid; place-items:center; font-size:12px; font-weight:700; text-transform:uppercase }
.bk-photo-card__src:hover{ color:var(--bk-accent-ink) }
.bk-photo-card__link{ font-size:13px; color:var(--bk-ink-2); margin:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap }
.bk-photo-card__link a{ color:var(--bk-accent-ink); font-weight:600 }
.bk-photo-card__acts{ margin-left:auto; display:flex; align-items:center; gap:2px; color:var(--bk-ink-3) }
.bk-photo-card__acts .button,.bk-photo-card__acts button{ background:none !important; border:0; padding:4px 6px; min-height:0; color:var(--bk-ink-3); cursor:pointer; line-height:1 }
.bk-photo-card__acts sub{ bottom:0; font-size:12px; font-variant-numeric:tabular-nums }
.bk-photo-card .bk-card__foot{ padding-top:8px; border-top:1px solid var(--bk-line) }
.bk-photo-card .bk-author{ font-size:13px; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap }
.bk-photo-card .concours_titre{ min-height:0; margin:0; text-transform:none; color:var(--bk-ink); font-weight:600 }
.bk-photo-card p.concours_rattachement{ margin:0; text-align:left }

/* fiche photo */
.bk-photo-view{ border-radius:var(--bk-r); overflow:hidden; background:var(--bk-anth); display:grid; place-items:center; min-height:200px }
.bk-photo-view img{ max-width:100%; max-height:78vh; width:auto; display:block }
.bk-photo-view .darkroom-container,.bk-photo-view .darkroom-image-container{ max-width:100% }
.bk-photo-cc{ display:flex; justify-content:flex-end; margin-top:8px }
.bk-lotd-actions{ display:grid; gap:8px }
.bk-lotd-actions .bk-btn{ justify-content:flex-start; width:100%; white-space:normal; text-align:left }
.bk-photo-thumb{ width:100%; border-radius:var(--bk-r-sm); display:block; margin-bottom:12px }

/* carrousels partagés (reskin minimal) */
.bk-lotd-carousel .carousel-caption{ text-shadow:0 1px 8px rgba(0,0,0,.6) }

/* ---------- formulaires ---------- */
.bk-lotd-radios{ display:flex; gap:18px; align-items:center; min-height:42px }
.bk-lotd-radios label{ font-weight:400; margin:0; display:inline-flex; gap:6px; align-items:center }
.bk-lotd-preview{ max-width:220px; border-radius:var(--bk-r-sm); display:block }
.bk-lotd-check{ display:flex; gap:10px; align-items:flex-start; font-weight:400 }
.bk-lotd-check input{ margin-top:4px }
.bk-form .plupload_wrapper{ font-family:var(--bk-body) }
@media (max-width:600px){
  .bk-lotd-search{ flex-basis:100% }
  .bk-lotd-pager-top{ display:none }
}
.bk-lotd-gallery>[class*="col-"]{ width:auto; float:none; padding:0 !important }
.bk-lotd-intro{ font-size:18px; color:var(--bk-ink-2); max-width:68ch; margin:0 0 20px }
.bk-lotd-banner{ background:var(--bk-anth) center/cover no-repeat; min-height:200px; display:flex; align-items:flex-end }
.bk-lotd-banner__in{ display:flex; align-items:flex-end; gap:12px; padding-block:20px; width:100% }
.bk-lotd-banner__av img{ width:96px; height:96px; border-radius:50%; object-fit:cover; border:4px solid var(--bk-surface); box-shadow:var(--bk-shadow); display:block }
.bk-pagehead__sub .attribution-external{ font-size:14px; color:var(--bk-ink-3) }
.bk-lotd-act[disabled]{ opacity:.4; cursor:not-allowed }
.bk-lotd-av{ position:relative }
.bk-lotd-av img{ position:absolute; inset:0 }
.bk-lotd-cover.bk-card__ph{ display:block }
.bk-lotd-cover .bk-cap{ z-index:2 }
