/* V386 — Compact accommodation category cards + dedicated hotel details. */
#accommodationsTab .hotel-grid{align-items:stretch!important}
#accommodationsTab .hotel-info-card.v386-accommodation-card{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  height:100%!important;
  gap:8px!important;
}
#accommodationsTab .v386-accommodation-card .hotel-card-hero{
  flex:0 0 auto!important;
  margin-bottom:10px!important;
}
#accommodationsTab .v386-accommodation-card .hotel-stars{
  margin:0!important;
  align-self:flex-start;
}
#accommodationsTab .v386-accommodation-card > strong{
  display:block;
  flex:0 0 auto!important;
  font-size:18px;
  line-height:1.35;
}
#accommodationsTab .v386-accommodation-card > .hotel-kind{
  display:none!important;
}
#accommodationsTab .v386-hotel-overview{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
  min-height:58px;
  margin:0 0 10px;
  color:#5a6870;
  font-size:13px;
  line-height:1.5;
}
#accommodationsTab .v386-accommodation-card > .hotel-quick-details,
#accommodationsTab .v386-accommodation-card > .hotel-photo-gallery,
#accommodationsTab .v386-accommodation-card > .hotel-request,
#accommodationsTab .v386-accommodation-card > .v359-room-rate-panel{
  display:none!important;
}
#accommodationsTab .v386-hotel-view-details{
  width:100%;
  margin-top:auto;
  padding:11px 14px;
  border:0;
  border-radius:9px;
  background:#062a47;
  color:#fff;
  font:800 14px/1.2 inherit;
  cursor:pointer;
  box-shadow:0 7px 18px rgba(6,42,71,.14);
  transition:background .18s ease,transform .18s ease,box-shadow .18s ease;
}
#accommodationsTab .v386-hotel-view-details:hover,
#accommodationsTab .v386-hotel-view-details:focus-visible{
  background:#f56b16;
  transform:translateY(-1px);
  outline:2px solid #fff;
  outline-offset:2px;
}

/* Dedicated hotel view */
.v386-hotel-detail-modal{
  position:fixed;
  inset:0;
  z-index:12180;
  display:none;
  overflow:auto;
  padding:18px;
  background:rgba(3,25,43,.87);
  backdrop-filter:blur(5px);
}
.v386-hotel-detail-modal.is-open{display:block}
.v386-hotel-detail-panel{
  position:relative;
  width:min(1180px,97vw);
  min-height:calc(100vh - 36px);
  margin:0 auto;
  overflow:hidden;
  border-radius:22px;
  background:#fff;
  box-shadow:0 30px 90px rgba(0,0,0,.42);
}
.v386-hotel-detail-back{
  position:fixed;
  top:30px;
  left:max(28px,calc((100vw - min(1180px,97vw))/2 + 18px));
  z-index:12200;
  min-width:92px;
  height:42px;
  padding:0 15px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:2px solid #f56b16;
  border-radius:999px;
  background:#062a47;
  color:#fff;
  font-size:15px;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 8px 24px rgba(0,0,0,.24);
}
.v386-hotel-detail-back:hover,.v386-hotel-detail-back:focus-visible{background:#f56b16;outline:2px solid #fff;outline-offset:2px}
.v386-hotel-detail-hero{
  position:relative;
  min-height:440px;
  display:flex;
  align-items:flex-end;
  padding:68px clamp(22px,6vw,72px) 46px;
  background:#062a47 center/cover no-repeat;
  color:#fff;
  isolation:isolate;
}
.v386-hotel-detail-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(180deg,rgba(6,42,71,.08) 12%,rgba(6,42,71,.45) 58%,rgba(6,42,71,.94) 100%);
}
.v386-hotel-detail-hero-copy{max-width:860px}
.v386-hotel-detail-stars{
  display:inline-flex;
  padding:8px 12px;
  margin-bottom:10px;
  border-radius:999px;
  background:#f56b16;
  color:#fff;
  font-weight:900;
  box-shadow:0 8px 22px rgba(0,0,0,.22);
}
.v386-hotel-detail-hero-copy h2{margin:0 0 10px;color:#fff;font-size:clamp(38px,6vw,66px);line-height:1.04}
.v386-hotel-detail-hero-copy p{margin:0;max-width:780px;color:#eef5f7;font-size:16px;line-height:1.55;font-weight:700}
.v386-hotel-detail-body{padding:34px clamp(18px,5vw,60px) 54px}
.v386-hotel-section{max-width:1100px;margin:0 auto 30px}
.v386-hotel-section>h3{margin:0 0 13px;color:#062a47;font-size:28px}
.v386-hotel-overview-full{margin:0;color:#455863;font-size:16px;line-height:1.78}
.v386-hotel-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.v386-hotel-fact{padding:18px 20px;border:1px solid #dce6ea;border-left:4px solid #f56b16;border-radius:12px;background:#f8fbfc}
.v386-hotel-fact strong{display:block;margin-bottom:6px;color:#062a47;font-size:15px}
.v386-hotel-fact span{display:block;color:#52616b;line-height:1.65;font-size:14px}
.v386-hotel-gallery-section .horse-riding-gallery{margin-left:auto!important;margin-right:auto!important}
.v386-hotel-gallery-section .universal-gallery-carousel{max-width:1000px!important}
.v386-hotel-gallery-empty{padding:20px;border-radius:12px;background:#f5f8fa;color:#52616b}
.v386-hotel-reservation{
  max-width:1100px;
  margin:34px auto 0;
  padding:24px;
  border:1px solid #dce6ea;
  border-radius:16px;
  background:#f5f8fa;
  text-align:center;
}
.v386-hotel-reservation h3{margin:0 0 8px;color:#062a47;font-size:25px}
.v386-hotel-reservation p{max-width:760px;margin:0 auto 17px;color:#52616b;line-height:1.65}
.v386-hotel-reservation-btn{
  min-width:min(100%,330px);
  padding:13px 20px;
  border:0;
  border-radius:10px;
  background:#f56b16;
  color:#fff;
  font:900 15px/1.2 inherit;
  cursor:pointer;
  box-shadow:0 8px 20px rgba(245,107,22,.22);
}
.v386-hotel-reservation-btn:hover,.v386-hotel-reservation-btn:focus-visible{background:#062a47;outline:2px solid #f56b16;outline-offset:2px}
body.v386-hotel-detail-open{overflow:hidden!important}

@media(max-width:800px){
  .v386-hotel-detail-modal{padding:0}
  .v386-hotel-detail-panel{width:100%;min-height:100vh;border-radius:0}
  .v386-hotel-detail-back{top:10px;left:10px;height:40px;min-width:86px}
  .v386-hotel-detail-hero{min-height:360px;padding:70px 20px 34px}
  .v386-hotel-detail-body{padding:26px 16px 40px}
  .v386-hotel-section>h3{font-size:24px}
  .v386-hotel-facts{grid-template-columns:1fr}
  .v386-hotel-reservation{padding:20px 16px}
}
