/* Theme */
:root{
  --brand:#032075;
  --ink:#0f172a;
  --muted:#6b7280;
  --success:#137333;
  --danger:#d93025;
  --border:#e5e7eb;
  --chip:#eef2ff;
  --chip2:#f3f4f6;
}
*{box-sizing:border-box}

/* ✅ Scoped typography (avoid affecting entire site) */
.hat-wrapper,
.hat-gallery,
.hat-brand-carousel{
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  color:var(--ink);
}

.hat-availability-result{
    margin-top: 20px;
}

.hat-wrapper{margin:10px auto;}

/* Date form (scoped to hotel availability widget) */
.hat-availability-form {
  background:#fff;
  border-radius:12px;
  box-shadow:0 1px 4px rgba(0,0,0,.06);
  padding:20px;
  margin-bottom:0 !important;
}
.hat-datepicker-wrapper{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  align-items:center;
  justify-content:space-between;
}
.hat-field{
  display:flex;
  flex-direction:column;
  width:35%;
  min-width:220px;
}
.hat-daterange,
.hat-guests{
  font-size:14px;
  padding:10px 14px !important;
  border:1px solid #ddd;
  border-radius:9999px !important;
}
.hat-submit{
  background:var(--brand);
  color:#fff;
  padding:13px 25px;
  border:0;
  border-radius:9999px;
  font-weight:700;
  cursor:pointer;
}

/* Header */
.hat-rooms-header{background:#f5f7fb;padding:16px 20px;border-radius:8px;display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.header-rooms{font-size:20px}
.hat-date-display{font-size:14px;color:var(--muted)}
.hat-note{background:#e7ecf7;color:var(--brand);padding:10px 14px;font-size:13px;font-weight:600;border-left:4px solid var(--brand);border-radius:4px;margin-bottom:16px}

/* Card (2 columns) */
.hat-room-card{
  display:grid;
  grid-template-columns: 1fr 250px;
  gap:18px;
  background:#fff;border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:20px;
}
.hat-col-left{min-width:0}
.hat-room-title{font-size:20px;font-weight:700;margin:2px 0 8px !important; padding: 0 !important}
.hat-room-desc{font-size:14px;color:#222;margin-bottom: 10px !important;line-height:1.5}

.hat-badges{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 8px}
.hat-chip{display:inline-flex;align-items:center;gap:6px;background:var(--chip);color:var(--brand);border-radius:9999px;padding:0 10px;font-size:13px;font-weight:600}
.hat-chip-alt{background:var(--chip2);border-radius:8px;padding:6px 8px;font-size:13px;color:#374151}
.hat-view-facilities{background:none;border:none;color:var(--brand);font-weight:700;cursor:pointer;font-size:13px;padding:0}
.hat-view-facilities:hover{background:none;text-decoration:underline;color:var(--brand)}
.hat-facilities-teaser{display:flex;gap:10px;align-items:center;margin:10px 0}

.hat-room-facts{list-style:none;margin:12px 0 0;padding:0 !important}
.hat-room-facts li{font-size:14px;margin-bottom:6px; line-height:1.2}
.hat-room-facts .green{color:var(--success)}
.hat-room-facts .red{color:var(--danger)}

/* Right dark panel */
.hat-price-panel{
  background:var(--brand);color:#fff;border-radius:12px;padding:20px;
  display:flex;flex-direction:column;justify-content:space-between;align-items:center;
}
.hat-price-label{font-size:12px;opacity:.9}
.hat-price{font-size:34px;font-weight:800;line-height:1;margin-top:6px}
.hat-price-sub{font-size:12px;opacity:.9;margin-top:6px}
.btn-book{
  background:#fff;
  color:var(--brand);
  text-decoration:none !important;
  padding:8px 45px;
  border-radius:9999px;
  font-weight:800;
  font-size:20px;
  margin-top:14px;
  display:inline-block;
}
.hat-panel-warning{color:#ff6b6b;font-size:12px;margin-top:10px}

/* Modal */
.hat-modal[hidden]{display:none}
.hat-modal.is-open{display:block}
.hat-modal{position:fixed;inset:0;z-index:9999}
.hat-modal__overlay{position:absolute;inset:0;background:rgba(0,0,0,.45)}
.hat-modal__panel{position:relative;top:10%;max-width:780px;width:calc(100% - 32px);margin:40px auto;background:#fff;border-radius:12px;padding:20px 20px 14px;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.hat-modal__close{
  position:absolute;
  top:10px;
  right:10px;
  display:flex;
  background:#032075;
  border:0;
  width:50px;
  height:50px;
  border-radius:9999px;
  font-size:50px;
  cursor:pointer;
  padding:0 !important;
  flex-wrap:wrap;
  align-content:center;
  justify-content:center;
}
.hat-modal__title{font-size:18px;font-weight:700;margin:0 0 12px}
.hat-modal__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:0 20px;max-height:60vh;overflow:auto;padding:6px 2px 10px}
.hat-facility{font-size:14px;color:#111;display:flex;gap:8px}
.hat-facility .tick{color:var(--success);font-weight:700}

/* ---------------- Photo gallery (Booking-style) ------------------------- */
.hat-gallery{
  max-width:1200px;
  margin:0 auto;
  border-radius:12px;
  overflow:hidden;
}
.hat-gallery-lock{overflow:hidden}
.hat-gallery-header{margin-bottom:8px}
.hat-gallery-title{font-size:27px;font-weight:700;line-height:1.2;margin:0 0 2px !important}
.hat-gallery-address{font-size:15px;color:var(--muted)}

/* Collage layout */
.hat-gallery-collage{display:flex;flex-direction:column;gap:0}
.hat-collage-top{display:grid;grid-template-columns:3fr 2fr;gap:12px}
.hat-collage-main,.hat-collage-item,.hat-collage-thumb{border:0;padding:0;cursor:pointer;position:relative}
.hat-collage-main img,.hat-collage-item img,.hat-collage-thumb img{width:100%;height:100%;object-fit:cover;display:block;border-radius:8px}
.hat-collage-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-auto-rows:1fr;gap:12px}
.hat-collage-item.is-more::after,.hat-collage-more{
  position:absolute;inset:0;background:rgba(0,0,0,0.45);color:#fff;font-weight:600;font-size:20px;
  display:flex;align-items:center;justify-content:center;border-radius:8px
}
.hat-collage-thumb{flex:1;height:80px}

/* Lightbox */
.hat-gallery-lightbox[hidden]{display:none}
.hat-gallery-lightbox.is-open{display:block}
.hat-gallery-lightbox{position:fixed;inset:0;z-index:9999}
.hat-gallery-lightbox__overlay{position:absolute;inset:0;background:rgba(0,0,0,.75)}
.hat-gallery-lightbox__inner{
  position:relative;top:5%;max-width:1100px;width:calc(100% - 32px);height: 80%;margin:40px auto;
  background:#efeff5d4;border-radius:12px;padding:60px;
  display:flex;flex-direction:column;align-items:center;justify-content:center
}
.hat-gallery-lightbox__img{max-width:100%;max-height:70vh;object-fit:contain}
.hat-gallery-lightbox__caption{margin-top:8px;font-size:13px;color:#f3f4f6;text-align:center}
.hat-gallery-lightbox__close{
  position:absolute;top:5px;right:15px;width:50px;height:50px;border-radius:9999px;border:0;
  background:#032075;color:#fff;cursor:pointer;font-size:50px;line-height:1;
  display:flex;flex-wrap:wrap;align-content:center;justify-content:center;padding:0; padding-bottom:8px}
.hat-gallery-lightbox__close:hover{background:#032075b6}
.hat-gallery-lightbox__nav{
  position:absolute;top:50%;transform:translateY(-50%);
  width:40px;height:40px;border-radius:9999px;border:0;background:rgba(15,23,42,.85);color:#fff;
  cursor:pointer;font-size:50px;line-height:1;display:flex;align-items:center;justify-content:center;
  padding:0 0 2px 1px
}
button.hat-gallery-lightbox__nav.hat-gallery-lightbox__nav--next,
button.hat-gallery-lightbox__nav.hat-gallery-lightbox__nav--prev{padding-bottom:10px}
.hat-gallery-lightbox__nav--prev{left:10px}
.hat-gallery-lightbox__nav--next{right:10px}

.hat-hotel-description p{font-size:18px !important;margin-bottom:15px !important;line-height:1.5}

.hat-brand-box{margin-bottom:16px;padding:12px 14px;border:1px solid var(--border);border-radius:8px;background:white}
.hat-brand-label{font-size:13px;color:var(--muted);margin-bottom:4px}
.hat-brand-name{font-size:16px;font-weight:700;color:var(--ink)}

.hat-fac-list{list-style:none;margin:0;font-size:15px;background:#EFEFF5;padding:10px !important;border-radius:5px}
.hat-fac-list li{display:flex;align-items:center;gap:10px;margin-bottom:12px;line-height:1.5}
.hat-fa{width:18px;text-align:center;color:var(--brand)}

.hat-review-ui{display:flex;gap:10px;align-items:center}
.hat-review-score{background:#032075;color:#ffffff;padding:3px;border-radius:5px 0}

.hat-important-information p{font-size:15px;margin-bottom:10px !important;line-height:1.5}
.hat-important-information{padding:10px;border:1px solid var(--border);border-radius:10px;margin-bottom:30px}

/* Utilities */
.hat-price-today{font-weight:700;font-size:16px;color:var(--brand);margin:12px 0}
.hat-loading{padding:12px 0;color:var(--muted)}

/* Responsive */
@media (max-width: 860px){
  .hat-room-card{grid-template-columns: 1fr}
  .btn-book,.hat-submit{width:100%;text-align:center}
  .hat-price-panel{align-items:stretch}
  .hat-rooms-header{flex-direction:column;gap:8px;align-items:flex-start}
  .hat-field{width:100%}
  .hat-gallery-lightbox__inner{margin:20px auto;padding:12px;position:relative;top:30%; height:40%;}
  .hat-collage-top{grid-template-columns:3fr 3fr}
}

/* Flatpickr brand color overrides */
.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected.inRange,
.flatpickr-day.startRange.inRange,
.flatpickr-day.endRange.inRange{
  background:var(--brand);
  color:#fff;
}

/* ========================================================================
 * Brand carousel (Booking-style) – theme-proof
 * ====================================================================== */
.hat-brand-carousel{max-width:1200px;margin:30px auto;padding:0 16px}
.hat-brand-carousel__header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}
.hat-brand-carousel__title{font-size:20px;font-weight:800;margin:0}

/* Arrows */
.hat-brand-carousel__nav{display:flex;gap:8px}
.hat-brand-carousel .hat-carousel-btn{
  width:40px;height:40px;border-radius:8px;border:0;background:var(--brand);color:#fff;
  font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;padding:0
}
.hat-brand-carousel .hat-carousel-btn:hover{opacity:.9}

/* Scroll area */
.hat-brand-carousel__viewport{
  overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;padding-bottom:8px;
  cursor:grab;
}
.hat-brand-carousel__viewport::-webkit-scrollbar{height:10px}
.hat-brand-carousel__viewport::-webkit-scrollbar-thumb{background:#d7dbe6;border-radius:9999px}
.hat-brand-carousel__viewport.is-dragging{cursor:grabbing;user-select:none}

.hat-brand-carousel__track{display:flex;gap:18px;min-width:max-content;align-items:stretch}

/* Hard reset in carousel */
.hat-brand-carousel a.hat-hotel-card,
.hat-brand-carousel a.hat-hotel-card:visited,
.hat-brand-carousel a.hat-hotel-card:hover{
  color:inherit !important;
  text-decoration:none !important;
}

.hat-review-text {
    font-size: 15px;
}

.hat-review-link { color: inherit; text-decoration: none !important}
.hat-review-link:hover { text-decoration: none !important; opacity: 0.92; }

/* Card */
.hat-brand-carousel a.hat-hotel-card{
  width:275px !important;
  flex:0 0 auto !important;
  display:block !important;
  background:#fff !important;
  border-radius:10px !important;
  overflow:hidden !important;
  border:1px solid #e5e7eb !important;
  box-shadow:0 2px 6px rgba(0,0,0,.12) !important;
  transition:transform .12s ease, box-shadow .12s ease;
}
.hat-brand-carousel a.hat-hotel-card:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 20px rgba(0,0,0,.14) !important;
}

/* Image wrapper */
.hat-brand-carousel .hat-hotel-card__img{
  height:165px !important;
  background:#f3f4f6 !important;
  overflow:hidden !important;
}
.hat-brand-carousel .hat-hotel-card__img img{
  width:100% !important;height:100% !important;
  max-width:none !important;max-height:none !important;
  object-fit:cover !important;display:block !important;margin:0 !important;
}
.hat-brand-carousel .hat-hotel-card__img--placeholder{
  width:100% !important;height:100% !important;
  background:linear-gradient(135deg,#eef2ff,#f3f4f6) !important;
}

/* Body */
.hat-brand-carousel .hat-hotel-card__body{padding:12px 12px 14px !important}

button.hat-collage-main, button.hat-collage-item {
    background: transparent;
}

/* Name */
.hat-brand-carousel .hat-hotel-card__name{
  font-size:16px !important;font-weight:900 !important;line-height:1.2 !important;
  margin:0 !important;color:#111827 !important;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}

/* Rating */
.hat-brand-carousel .hat-hotel-card__rating{display:flex !important;align-items:baseline !important;gap:6px !important;margin:0 !important}
.hat-brand-carousel .hat-hotel-card__score{font-weight:900 !important;font-size:14px !important;color:#111827 !important}
.hat-brand-carousel .hat-hotel-card__label{font-size:13px !important;font-weight:600 !important;color:#6b7280 !important}

/* Distance */
.hat-brand-carousel .hat-hotel-card__meta{font-size:13px !important;color:#6b7280 !important;margin:0 0 10px !important}

/* Starting from + price */
.hat-brand-carousel .hat-hotel-card__from{font-size:12px !important;color:#6b7280 !important;margin:0 0 2px !important}
.hat-brand-carousel .hat-hotel-card__price{font-size:22px !important;font-weight:900 !important;color:#111827 !important;margin:0 !important}

/* Loading */
.hat-brand-carousel .hat-carousel-loading{padding:12px;color:#6b7280;font-weight:700}

/* Mobile tweaks */
@media (max-width: 860px){
  .hat-brand-carousel__title{font-size:18px}
  .hat-brand-carousel a.hat-hotel-card{width:250px !important}
  .hat-brand-carousel .hat-hotel-card__img{height:150px !important}
  .hat-collage-top.is-vertical-layout{grid-template-columns: 3fr 2fr !important;}
}

/* ========================================================================
 * Booking Search Box
 * ====================================================================== */
.hat-bsearch{margin-bottom: 20px;}
.hat-bsearch-card{
  background: #0b1220;
  border-radius: 14px;
  padding: 15px;
  color: #fff;
}
.hat-bsearch-field{margin-bottom:5px}
.hat-bsearch-label{display:block;font-size:14px;font-weight:500;margin:0 0 6px;color:#fff}
.hat-bsearch-destination,
.hat-bsearch-daterange,
.hat-bsearch-guests{
  width:100%;
  border-radius:10px;
  border:0;
  padding:12px 12px;
  font-size:14px;
}
.hat-bsearch-submit {
  width: 100%;
  border-radius: 7px;
  border: 0;
  padding: 5px 10px;
  font-size: 17px;
  font-weight: 500;
  cursor: pointer;
  background-color: #fff;
  color: var(--global-palette3);
}
.hat-bsearch-submit:hover {
  background-color: var(--brand);
  color: #fff;
}
.hat-bsearch-footnote{
  margin-top:10px;
  font-size:11px;
  text-align:center;
  line-height: 1.2;
}
.hat-bsearch-footnote a{color:#fff !important;text-decoration:underline}

/* ========================================================================
 * Gallery video tiles (vertical + horizontal-in-grid)
 * ====================================================================== */
.hat-video{width:100%}
.hat-video__label{
  font-weight:900;
  font-size:13px;
  margin:0 0 8px;
  color:#eef2ff;
  background:var(--brand);
  display:inline-block;
  padding:5px;
  border-radius:9999px;
  line-height:1.5;
}

.hat-video__frame{
  width:100%;
  border-radius:8px;
  overflow:hidden;
  background:#0b1220;
  position:relative;
}

/* Aspect ratios */
.hat-video__frame--16x9{aspect-ratio:16/9;}
.hat-video__frame--9x16{aspect-ratio:9/16;}

/* Make oEmbed iframes + <video> fill */
.hat-video__frame iframe,
.hat-video__frame video{
  width:100%;
  height:100%;
  display:block;
  border:0;
}

/* Horizontal video goes in the red rectangle: span both columns of the grid */
.hat-video--grid.hat-video--horizontal{
  grid-column: 1 / -1;
}

/* Keep vertical video tile looking good next to photos */
.hat-video--grid.hat-video--vertical .hat-video__frame--9x16{
  max-height: 520px;
}

/* ========================================================================
 * Vertical layout = 3 columns: [thumb][thumb] + [video spanning two rows]
 * ====================================================================== */
.hat-gallery--video-vertical .hat-collage-top{
  display:grid;
  grid-template-columns: 3fr 2fr;
  gap:12px;
}

/* Right side becomes a 3-column grid */
.hat-gallery--video-vertical .hat-collage-grid{
  display:grid;
  grid-template-columns: 1fr 1fr 1fr; /* col2 thumbs, col2 thumbs, col3 video */
  grid-template-rows: 1fr 1fr;       /* two stacked rows */
  gap:12px;
}

/* Place the two photo thumbs in columns 1-2 */
.hat-gallery--video-vertical .hat-collage-item:nth-of-type(1){
  grid-column: 1 / span 2;
  grid-row: 1;
}
.hat-gallery--video-vertical .hat-collage-item:nth-of-type(2){
  grid-column: 1 / span 2;
  grid-row: 2;
}

/* Video goes in the 3rd column spanning both rows (RED rectangle) */
.hat-gallery--video-vertical .hat-video--vertical{
  grid-column: 3;
  grid-row: 1 / span 2;
}

/* Make the vertical video fill the full height cleanly */
.hat-gallery--video-vertical .hat-video__frame--9x16{
  height:100%;
  width:100%;
}

/* Ensure images fill their tiles */
.hat-gallery--video-vertical .hat-collage-item img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* ========================================================================
 * Vertical gallery layout: thumbnail below main (red rectangle) + video right
 * ====================================================================== */
.hat-collage-top.is-vertical-layout{
  display:grid;
  grid-template-columns: 4fr 2fr; /* left main+thumb, right video */
  gap:12px;
}

.hat-collage-top.is-vertical-layout .hat-collage-left{
  display:flex;
  flex-direction:column;
  gap:12px;
  min-width:0;
}

.hat-collage-top.is-vertical-layout .hat-collage-main img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  border-radius:8px;
}

/* Wide thumbnail under main (red rectangle) */
.hat-collage-underthumb{
  border:0;
  padding:0;
  cursor:pointer;
  position:relative;
}
.hat-collage-underthumb img{
  width:100%;
  height:140px;              /* adjust if you want taller */
  object-fit:cover;
  display:block;
  border-radius:8px;
}

/* Reuse your overlay style */
.hat-collage-underthumb.is-more .hat-collage-more{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,0.45);
  color:#fff;
  font-weight:600;
  font-size:20px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:8px;
}

/* Right-side video fills column height nicely */
.hat-collage-top.is-vertical-layout .hat-video__frame--9x16{
  width:100%;
  height:100%;
}

/* Vertical layout: enforce main photo ratio */
.hat-collage-top.is-vertical-layout .hat-collage-main{
  aspect-ratio: 4 / 3; /* change to 3 / 2 if preferred */
  height:auto;
}

.hat-collage-top.is-vertical-layout .hat-collage-main img{
  width:100%;
  height:100%;
  object-fit:cover;
}

/* Two+ thumbnails under main */
.hat-collage-top.is-vertical-layout .hat-collage-understrip{
  display:grid;
  grid-template-columns: repeat(2, 1fr); /* change to 3 for 3 thumbs */
  gap:12px;
}

.hat-collage-top.is-vertical-layout .hat-collage-underthumb{
  height:140px;
  border:0;
  padding:0;
  cursor:pointer;
  position:relative;
}

.hat-collage-top.is-vertical-layout .hat-collage-underthumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  border-radius:8px;
}

.hat-collage-top.is-vertical-layout .hat-collage-main {
    aspect-ratio: 4 / 3 !important;
    width: 100%;
    height: auto !important;
    overflow: hidden; /* Ensures image doesn't overflow */
    padding: 0;
    border: none;
}

.hat-collage-top.is-vertical-layout .hat-collage-main img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.hat-gallery--video-vertical .hat-collage-item:nth-of-type(2) {
    grid-column: 2 / span 1;
    grid-row: 1;
}

.hat-gallery--video-vertical .hat-collage-item:nth-of-type(1) {
    grid-column: 1 / span 1;
    grid-row: 1;
}

.hat-collage-right {
    background-color: #d7e1ff;
    border-radius: 10px;
    padding: 10px;
    display: flex;
    align-items: center;
}

.hat-video.hat-video--grid.hat-video--horizontal{
    background-color: #d7e1ff;
    border-radius: 10px;
    padding: 10px;    display: flex;
    align-items: flex-start;
    flex-direction: column;
}

/* Video poster cover overlay (for oEmbed iframes) */
.hat-video__frame{ position:relative; }

.hat-video-cover{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  cursor:pointer;
  border-radius:8px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.hat-video-cover::after{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.25);
  border-radius:8px;
}

.hat-video-cover__btn{
  position:relative;
  z-index:1;
  width:64px;
  height:64px;
  border-radius:9999px;
  background:rgba(3,32,117,.92);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:26px;
  line-height:1;
}

.hat-video-cover:focus{
  outline:3px solid rgba(3,32,117,.5);
  outline-offset:3px;
}

.hat-collage-main {
  aspect-ratio: 1 / 1;
  width: 100%;
  height: auto;
  overflow: hidden;
}

.hat-collage-main img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ========================================================================
 * Booking Sticky Search Box (responsive)
 * ====================================================================== */
.hat-stickysearch{margin:0;max-width:64.5%}
.hat-stickysearch-bar{
  position: relative;
  display:flex;
  gap:3px;
  align-items:center;
  padding:3px 3px 20px;
  border-radius:10px;
  background:#febb02;
}

.hat-stickysearch-seg{
  min-width: 0;
  background:#fff;
  border-radius:10px;
  display:flex;
  gap:10px;
  align-items:center;
  padding:8px 10px;
}

.hat-stickysearch-seg--hotel{
  flex: 1.2 1 350px;
}

.hat-stickysearch-seg--dates{
  flex: 2 1 350px;
}

.hat-stickysearch-seg--guests{
  flex: 0 0 120px;   
  max-width:120px;
}

.hat-stickysearch-ico{
  width:18px;
  text-align:center;
  color: var(--brand);
  font-size:16px;
}

.hat-stickysearch-stack{display:flex;flex-direction:column;gap:4px;min-width:0;width:100%;}
.hat-stickysearch-label{font-size:12px;font-weight:800;color:var(--muted);line-height:1;}

.hat-stickysearch-hotel,
.hat-stickysearch-daterange,
.hat-stickysearch-guests{
  width:100%;
  border:0 !important;
  outline:0 !important;
  background:transparent !important;
  padding:0 !important;
  font-size:16px;
  font-weight:800;
  color: var(--ink);
  border-radius:0 !important;
}

.hat-stickysearch-submit{
  flex: 0 0 140px;
  border:0;
  cursor:pointer;
  border-radius:10px;
  padding:5px;
  font-size:27px;
  font-weight:900;
  background:#006ce4;
  color:#fff;
}
.hat-stickysearch-submit:hover{filter:brightness(.95);}

a.hat-stickysearch-submit {
    color: #fff !important;
    text-decoration: none !important;
    text-align: center;
}

.hat-stickysearch-powered{
  position:absolute;
  top: 40px;
  left:50%;
  transform:translateX(-50%);
  font-size:10px;
  color:#111827;
  pointer-events:none;
}

/* Responsive */
@media (max-width: 980px){
  .hat-stickysearch-bar{flex-wrap:wrap;}
  .hat-stickysearch-submit{flex:1 1 100%;}
  .hat-stickysearch-powered{text-align:center;}
  .hat-stickysearch{max-width: 100%}
    .hat-stickysearch-powered{top: 78%;}
}

@media (max-width: 876px) {
  .hat-stickysearch-bar {
    display: flex;
    flex-wrap: wrap;
  }

  .hat-stickysearch-seg--hotel {
    flex: 0 0 100%;
  }

  .hat-stickysearch-seg--dates {
    flex: 0 0 75%;
  }

  .hat-stickysearch-seg--guests {
    flex: 0 0 25%;
    max-width: 24%;
  }

  .hat-stickysearch-submit {
    width: 100%;
    flex: 0 0 100%;
  }
  .hat-stickysearch-powered{
      top: 84%;
  }
}