/*
  Functionele aanvullingen op de bestaande Villa Conforts-stijl.
  De originele stylesheets, kleuren, componenten en lay-out blijven ongewijzigd.
*/
.gallery-count{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  margin-top:14px;
  padding:8px 13px;
  border:1px solid rgba(244,124,32,.34);
  border-radius:999px;
  background:#111;
  color:#fff;
  font-size:.76rem;
  font-weight:800;
}

/* Overzichtskaarten: uitsluitend de witte titel op het beeld. */
.stay-row-title-only .stay-card::after{
  background:linear-gradient(180deg,rgba(0,0,0,.02) 34%,rgba(0,0,0,.82) 100%);
}
.stay-row-title-only .stay-card>div{
  left:20px;
  right:20px;
  bottom:20px;
}
.stay-row-title-only .stay-card h3{
  margin:0;
  color:#fff!important;
  font-size:clamp(1.4rem,1.8vw,1.85rem);
  line-height:1.05;
  text-shadow:0 2px 14px rgba(0,0,0,.55);
}

/* Vier gelijkmatig uitgelijnde galeriefilters, zonder de knop 'Alles'. */
@media(min-width:1001px){
  .gallery .section-head{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(440px,520px)!important;
    column-gap:40px!important;
  }
  .gallery .section-head>div:first-child{grid-row:1 / span 2}
  .gallery .filters{grid-column:2;grid-row:1}
  .gallery .gallery-count{grid-column:2;grid-row:2;justify-self:end}
}
.gallery .filters{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  width:100%;
  gap:10px!important;
  justify-content:stretch!important;
  align-items:stretch;
}
.gallery .filter-btn{
  width:100%;
  min-height:44px;
  padding:10px 12px;
  text-align:center;
  white-space:nowrap;
}
.gallery .gallery-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-rows:280px!important;
}
.gallery .gallery-item{
  grid-column:span 1!important;
  grid-row:span 1!important;
}

/* Grote zwembadfoto met daaronder twee gelijke, exact uitgelijnde sfeerbeelden. */
.outdoor-media{
  display:grid;
  gap:14px;
}
.outdoor-media>.outdoor-media-main{
  width:100%;
  height:min(58vh,600px)!important;
}
.outdoor-media-pair{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  width:100%;
}
.outdoor-media .outdoor-media-pair img{
  width:100%;
  height:230px!important;
  object-fit:cover;
  border-radius:26px!important;
  box-shadow:var(--shadow);
}

.platform-note{
  margin:13px 0 0;
  color:rgba(255,255,255,.82);
  font-size:.8rem;
}

.gallery-item .gallery-zoom{
  position:absolute;
  top:12px;
  right:12px;
  z-index:2;
  display:grid;
  width:34px;
  height:34px;
  place-items:center;
  border-radius:50%;
  background:var(--accent-color,#f47c20);
  color:#000;
  font-size:1.1rem;
  font-weight:900;
}

.booking-bike{
  overflow:hidden;
  max-width:560px;
  margin:28px 0 0;
  border:1px solid rgba(244,124,32,.32);
  border-radius:24px;
  background:#111;
}
.booking-bike img{width:100%;aspect-ratio:1.8;object-fit:cover}
.booking-bike figcaption{padding:11px 15px;color:#fff;font-size:.82rem;font-weight:900}

.booking-details{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:20px 0 0;
}
.booking-details span{
  padding:7px 10px;
  border:1px solid rgba(244,124,32,.34);
  border-radius:999px;
  color:#fff;
  font-size:.76rem;
  font-weight:800;
}

.field-error{min-height:1.1em;margin:4px 0 0;color:#a52218;font-size:.73rem;font-weight:700}
.field [aria-invalid="true"]{border-color:#b42318!important;outline:2px solid rgba(180,35,24,.14)}
.offline-status{display:none;margin:14px 0 0;padding:12px 14px;border-radius:12px;background:#eaf8ef;color:#176b3a;font-size:.84rem;font-weight:800}

.mobile-availability{
  position:fixed;
  right:12px;
  bottom:12px;
  left:12px;
  z-index:1600;
  display:none;
  min-height:52px;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:var(--accent-color,#f47c20);
  box-shadow:0 14px 38px rgba(0,0,0,.42);
  color:#000;
  font-weight:900;
  text-decoration:none;
}

.cookie{
  right:18px!important;
  bottom:18px!important;
  left:auto!important;
  width:min(420px,calc(100% - 36px))!important;
  max-width:420px!important;
}

@media(max-width:860px){
  .mobile-availability{display:flex}
  .footer{padding-bottom:100px!important}
  .cookie{bottom:80px!important}
}

@media(max-width:1000px){
  .gallery .filters{
    max-width:620px;
    margin-top:22px!important;
  }
  .gallery .gallery-count{margin-top:14px}
}

@media(max-width:620px){
  .booking-bike img{aspect-ratio:1.45}
  .cookie{right:10px!important;width:calc(100% - 20px)!important}
  .gallery .filters{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gallery .gallery-grid{grid-template-columns:1fr!important;grid-auto-rows:250px!important}
  .outdoor-media .outdoor-media-pair img{height:150px!important;border-radius:18px!important}
}
