:root{
  --grsb-font: 'DM Sans', Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  --grsb-radius: 999px;
  --grsb-card-radius: 14px;
  --grsb-shadow: 0 10px 30px rgba(0,0,0,.18);
  --grsb-border: rgba(0,0,0,.08);
  --grsb-bg: #ffffff;
  --grsb-muted: rgba(0,0,0,.55);
  --grsb-text: #111;
  --grsb-accent: #04acbf;
  --grsb-search-bg: #04acbf; /* Guate.Rentals */
}

.grsb-wrap{position:relative;font-family: var(--grsb-font);}
.grsb-bar{
  display:flex;
  align-items:stretch;
  background: rgba(255,255,255,.85);
  backdrop-filter: blur(6px);
  border-radius: var(--grsb-radius);
  box-shadow: none !important;
  /* allow internal absolute button without clipping */
  overflow: visible;
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
  transition: box-shadow .15s ease, background-color .15s ease;

  /* Reserve space for the internal circular search button */
  padding-right: 74px;
  position: relative;
}

.grsb-field{
  appearance:none;
  border:0;
  background:transparent;
  padding: 14px 18px;
  text-align:left;
  flex: 1 1 0;
  cursor:pointer;
  display:flex;
  flex-direction:column;
  gap:4px;
  transition: background-color .15s ease;
}

.grsb-field:focus{outline:none;}
.grsb-field.is-active{background: rgba(0,0,0,.04);}
.grsb-field:hover{background: rgba(0,0,0,.03);}
.grsb-field:focus-visible{box-shadow: none !important;}

.grsb-field__label{
  font-size: 13px;
  font-weight: 700;
  color: #222222;
  line-height: 1;
}
.grsb-field__value{
  font-size: 16px;
  font-weight: 400;
  color: #717171;
  line-height: 1.1;
}

.grsb-divider{width:1px;background: rgba(0,0,0,.10); margin: 10px 0;}

/* Search button (Airbnb-like, but using Guate.Rentals brand color)
   IMPORTANT: we force background/padding/border with !important to override theme button styles.
*/
.grsb-searchbtn{
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);

  width: 44px;
  height: 44px;
  border-radius: 999px;

  background: var(--grsb-search-bg) !important;
  border: 0 !important;
  padding: 0 !important;
  line-height: 0;

  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 2;

  box-shadow: 0 10px 22px rgba(0,0,0,.18) !important;
  appearance: none;
}
.grsb-searchbtn:focus{outline:none; box-shadow: 0 10px 22px rgba(0,0,0,.18) !important;}
.grsb-searchbtn:hover{transform: translateY(calc(-50% - 1px));}
.grsb-searchbtn:active{transform: translateY(-50%) scale(.98);}

/* White magnifier SVG */
.grsb-searchbtn__svg{
  width: 20px;
  height: 20px;
  fill: #fff;
  display: block;
}

@media (max-width: 767px){
  .grsb-bar{padding-right: 68px;}
  .grsb-searchbtn{right: 12px;}
  .grsb-searchbtn{width: 42px; height: 42px;}
  .grsb-searchbtn__svg{width: 19px; height: 19px;}
}



/* Mobile actions (full-width CTA shown only on small screens) */
.grsb-mobile-actions{display:none;}
.grsb-searchbtn-full{display:none;}

/* Keep mobile CTA aligned with the bar width */
.grsb-mobile-actions{
  max-width: 1000px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
/* Portal */
#grsb-portal-root{position:fixed; inset:0; z-index: 999999; pointer-events:none;}
.grsb-portal__overlay{position:absolute; inset:0; background: rgba(0,0,0,.0); pointer-events:auto;}
.grsb-portal__panel{
  position:absolute;
  min-width: 340px;
  font-family: var(--grsb-font);
  background: var(--grsb-bg);
  border-radius: var(--grsb-card-radius);
  box-shadow: none !important;
  border: 1px solid var(--grsb-border);
  padding: 18px;
  pointer-events:auto;
  max-width: calc(100vw - 24px);
}

/* Dates panel needs extra width to show 2 months side-by-side */
.grsb-portal__panel--dates{
  min-width: 680px;
}

.grsb-pop__title{font-size:18px;font-weight:700;margin:0 0 14px;color:var(--grsb-text);}

.grsb-dest__list{display:flex;flex-direction:column;gap:10px;}
.grsb-dest__item{
  display:flex;align-items:center;gap:12px;
  padding:10px 12px;border-radius:12px;
  cursor:pointer;
}
.grsb-dest__item:hover{background: rgba(0,0,0,.04);}
.grsb-pin{width:18px;height:18px;border-radius:6px;position:relative;}
.grsb-pin:before{
  content:"";position:absolute;left:3px;top:1px;width:12px;height:12px;
  border:2px solid var(--grsb-accent);border-radius:999px;
}
.grsb-pin:after{
  content:"";position:absolute;left:8px;top:10px;width:2px;height:8px;background:var(--grsb-accent);border-radius:2px;
}
.grsb-dest__name{font-size:16px;font-weight:700;color:var(--grsb-text);}
.grsb-empty{color: var(--grsb-muted); font-weight:600;}

/* Guests */
.grsb-guest__row{display:flex;align-items:center;justify-content:space-between; gap:16px; padding:10px 0;}
.grsb-guest__label{font-size:16px;font-weight:700;color:var(--grsb-text);}
.grsb-stepper{display:flex;align-items:center;gap:10px;}
.grsb-stepper button{
  width:34px;
  height:34px;
  border-radius:999px;
  border:1px solid var(--grsb-border);
  background:#fff;
  cursor:pointer;
  font-size:18px;
  line-height:1;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  margin:0;
  font-family:inherit;
  font-weight:700;
  color:var(--grsb-text) !important;
  -webkit-text-fill-color: var(--grsb-text) !important;
  opacity: 1 !important;
  -webkit-appearance:none;
  appearance:none;
}

/* Force + / − to remain visible even if theme styles hide button text until hover */
.grsb-stepper button .grsb-stepper__icon{
  display:block;
  line-height:1;
  color: var(--grsb-text) !important;
  -webkit-text-fill-color: var(--grsb-text) !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.grsb-stepper button:hover .grsb-stepper__icon,
.grsb-stepper button:focus .grsb-stepper__icon{
  opacity: 1 !important;
}
.grsb-stepper button:disabled{opacity:.35;cursor:not-allowed;}
.grsb-stepper .grsb-stepper__val{min-width:26px;text-align:center;font-size:16px;font-weight:700;color:var(--grsb-text);}

.grsb-pop__actions{margin-top:14px;display:flex;justify-content:flex-end;}
.grsb-btn{background: var(--grsb-accent); color:#fff; border:0; border-radius:12px; padding:10px 18px; font-weight:700; cursor:pointer;}

/* Flatpickr inside panel */
.grsb-fp-wrap .flatpickr-calendar{box-shadow: none !important;border:0;}

/* Flatpickr theme: Guate.Rentals accent (#04acbf) */
.grsb-fp-wrap .flatpickr-months .flatpickr-prev-month svg,
.grsb-fp-wrap .flatpickr-months .flatpickr-next-month svg{
  fill: var(--grsb-accent);
}

.grsb-fp-wrap .flatpickr-day.selected,
.grsb-fp-wrap .flatpickr-day.startRange,
.grsb-fp-wrap .flatpickr-day.endRange,
.grsb-fp-wrap .flatpickr-day.selected.inRange,
.grsb-fp-wrap .flatpickr-day.startRange.inRange,
.grsb-fp-wrap .flatpickr-day.endRange.inRange{
  background: var(--grsb-accent);
  border-color: var(--grsb-accent);
  color: #fff;
}

.grsb-fp-wrap .flatpickr-day.today{
  border-color: rgba(4,172,191,.35);
}

.grsb-fp-wrap .flatpickr-day.inRange,
.grsb-fp-wrap .flatpickr-day.prevMonthDay.inRange,
.grsb-fp-wrap .flatpickr-day.nextMonthDay.inRange{
  background: rgba(4,172,191,.14);
  border-color: transparent;
  color: var(--grsb-text);
  box-shadow: none !important;
}

.grsb-fp-wrap .flatpickr-day:hover{
  border-color: rgba(4,172,191,.55);
}

/* Tablet tweaks */
@media (max-width: 920px){
  .grsb-bar{max-width: 100%;}
  .grsb-field{padding: 12px 14px;}
  .grsb-field__value{font-size:16px;}
  .grsb-searchbtn{width: 62px;}
  .grsb-searchbtn__icon{width: 46px; height: 46px;}
}

/* Mobile layout inspired by Airbnb (2 rows + big search button) */
@media (max-width: 640px){
  /* Mobile layout inspired by VRBO/Airbnb: stacked fields + full-width CTA */
  .grsb-bar{
    flex-direction: column;
    border-radius: 20px;
    overflow: hidden;
    background: rgba(255,255,255,.96);
  }

  .grsb-divider{display:none;}

  .grsb-field{
    flex: 0 0 auto;
    width: 100%;
    padding: 14px 16px;
  }

  /* Hairline separators between rows (works even with hidden divider nodes in-between) */
  .grsb-field{border-top: 1px solid rgba(0,0,0,.10);}
  .grsb-field:first-of-type{border-top: 0;}

  .grsb-field__label{font-size: 12px;}
  .grsb-field__value{font-size: 18px;}

  /* Hide the icon button on mobile; use the full-width CTA below */
  .grsb-searchbtn{display:none;}

  .grsb-mobile-actions{display:block; margin-top: 12px; padding: 0 2px;}
  .grsb-searchbtn-full{
    display: block;
    width: 100%;
    height: 54px;
    border: 0;
    border-radius: 16px;
    background: var(--grsb-search-bg);
    color: #fff;
    font-family: var(--grsb-font);
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .01em;
    cursor: pointer;
    box-shadow: none !important;
  }
  .grsb-searchbtn-full:hover{filter: brightness(.98);}
  .grsb-searchbtn-full:active{transform: translateY(1px);}

  /* Panels: full width on mobile */
  .grsb-portal__panel,
  .grsb-portal__panel--dates{
    min-width: unset;
    width: calc(100vw - 24px);
    left: 12px !important;
  }
}


/* === v1.6.5 Airbnb-inspired visual pass (Manrope) === */
:root{
  --gr-accent:#04acbf;
  --gr-accent-hover:#0397a8;
  --gr-text:#111827;
  --gr-muted:#6b7280;
  --gr-border:rgba(17,24,39,.10);
  --gr-shadow:0 10px 30px rgba(0,0,0,.12);
  --gr-radius:999px;
}

/* Force font everywhere (bar + portal popups) */
.gr-searchbar-wrap,
.gr-searchbar-wrap *,
#gr-portal-root,
#gr-portal-root *{
  font-family:'Manrope', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif !important;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

/* Bar shell */
.gr-searchbar-wrap .gr-sb{
  border-radius: var(--gr-radius) !important;
  border: 1px solid var(--gr-border) !important;
  box-shadow: none !important;
  background: rgba(255,255,255,.96) !important;
  backdrop-filter: blur(8px);
}

/* Sections */
.gr-searchbar-wrap .gr-sb__section{
  padding: 14px 18px !important;
}

/* Label vs value */
.gr-searchbar-wrap .gr-sb__label{
  font-size: 12px !important;
  line-height: 1.1 !important;
  color: var(--gr-text) !important;
  font-weight: 700 !important;
  letter-spacing: .01em !important;
  margin-bottom: 4px !important;
  opacity: .95;
}

.gr-searchbar-wrap .gr-sb__value{
  font-size: 16px !important;
  line-height: 1.2 !important;
  color: var(--gr-muted) !important;
  font-weight: 600 !important;
}

/* Divider lines */
.gr-searchbar-wrap .gr-sb__divider{
  width:1px !important;
  background: rgba(17,24,39,.12) !important;
}

/* Search button */
.gr-searchbar-wrap .gr-sb__btn{
  width: 48px !important;
  height: 48px !important;
  border-radius: 999px !important;
  background: var(--gr-accent) !important;
  box-shadow: none !important;
}
.gr-searchbar-wrap .gr-sb__btn:hover{
  background: var(--gr-accent-hover) !important;
}

/* Popups */
#gr-portal-root .gr-pop{
  border-radius: 16px !important;
  border: 1px solid rgba(17,24,39,.10) !important;
  box-shadow: none !important;
  background:#fff !important;
}

#gr-portal-root .gr-pop__title{
  font-size: 18px !important;
  font-weight: 800 !important;
  color: var(--gr-text) !important;
}

/* CTA button */
#gr-portal-root .gr-sb__cta{
  background: var(--gr-accent) !important;
  border-radius: 12px !important;
  font-weight: 800 !important;
}
#gr-portal-root .gr-sb__cta:hover{ background: var(--gr-accent-hover) !important; }

/* Stepper buttons (+/-) */
#gr-portal-root .gr-sb__stepper button{
  color: var(--gr-accent) !important;
  border-color: rgba(4,172,191,.35) !important;
  background: rgba(4,172,191,.06) !important;
}
#gr-portal-root .gr-sb__stepper button:hover{
  background: rgba(4,172,191,.12) !important;
}

/* Mobile polish */
@media (max-width: 767px){
  .gr-searchbar-wrap .gr-sb{
    border-radius: 20px !important;
  }
  .gr-searchbar-wrap .gr-sb__section{
    padding: 12px 14px !important;
  }
}

/* === GR v1.7.4 Visual Update === */
.grsb-searchbar,
.grsb-input,
.grsb-popup,
.grsb-button {
    font-family: 'Poppins', sans-serif;
    box-shadow: none !important;
}
.grsb-input,
.grsb-popup {
    box-shadow: none !important;
}


/* === GR v1.7.5 Visual: Poppins/Poppies + No Shadows === */
.grsb, .grsb * {
  font-family: 'Poppins','Poppies', sans-serif !important;
  box-shadow: none !important;
}
.grsb *:focus, .grsb *:focus-visible {
  box-shadow: none !important;
}

/* === GR v1.7.6 Typography Enforcement === */
.grsb,
.grsb * {
    font-family: 'Poppins', sans-serif !important;
}

.grsb .flatpickr-calendar,
.grsb .flatpickr-calendar * {
    font-family: 'Poppins', sans-serif !important;
}

.grsb-popup,
.grsb-popup * {
    font-family: 'Poppins', sans-serif !important;
}


/* === GR v1.7.6 Typography Fix (scoped) === */
.grsb,
.grsb * {
  font-family: 'Poppins', sans-serif !important;
}

.grsb .flatpickr-calendar,
.grsb .flatpickr-calendar * {
  font-family: 'Poppins', sans-serif !important;
}

.grsb .grsb-popup,
.grsb .grsb-popup * {
  font-family: 'Poppins', sans-serif !important;
}


/* === GR v1.7.7-UX Visual Only (CSS-safe) === */

/* Remove all shadows */
.grsb, .grsb * { box-shadow: none !important; }

/* Brand color */
:root { --gr-brand: #04acbf; }

/* Inputs & button radius */
.grsb-input, .grsb-button { border-radius: 12px; }
@media (max-width: 768px){
  .grsb-input, .grsb-button { border-radius: 18px; }
}

/* Micro paddings */
.grsb-input { padding: 14px 16px; }
.grsb-button { padding: 14px 20px; }

/* Calendar polish (Airbnb-like) */
.flatpickr-day.inRange { background: rgba(4,172,191,.15); }
.flatpickr-day.startRange,
.flatpickr-day.endRange {
  background: var(--gr-brand);
  color:#fff;
  border-radius:50%;
}
.flatpickr-prev-month, .flatpickr-next-month { color: var(--gr-brand); }

/* Text tweaks */
.grsb-destination .grsb-placeholder { content: 'Elegir destino'; }

/* Mobile button text */
@media (max-width: 768px){
  .grsb-button .label-search { display:none; }
  .grsb-button::after { content:'Ver casas'; }
}

/* Icons safety (keep previous positions) */
.grsb .grsb-ico{ pointer-events:none; color: var(--gr-brand); }



/* Mobile button label */
@media (max-width: 768px){
  .grsb-mobile-actions .grsb-searchbtn-full{ border-radius: 18px; }
  .grsb-mobile-actions .grsb-searchbtn-full{ font-weight: 600; }
}





/* === GR v1.8.0-UX Icons layout (like example: icon beside title+subtitle) === */
.grsb-bar .grsb-field{
  display: grid;
  grid-template-columns: 26px 1fr;
  grid-template-rows: auto auto;
  column-gap: 10px;
  align-items: center;
  text-align: left;
}

.grsb-bar .grsb-field__label{
  grid-column: 2;
  grid-row: 1;
}

.grsb-bar .grsb-field__value{
  grid-column: 2;
  grid-row: 2;
  padding-left: 0 !important;
}

.grsb-bar .grsb-field::before{
  content: "";
  grid-column: 1;
  grid-row: 1 / span 2;
  width: 22px;
  height: 22px;
  justify-self: center;
  align-self: center;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 22px 22px;
  pointer-events: none;
}

.grsb-bar .grsb-field[data-grsb-open="destination"]::before{
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDRhY2JmIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTEyIDIyczctNC41IDctMTFhNyA3IDAgMSAwLTE0IDBjMCA2LjUgNyAxMSA3IDExWiIvPjxjaXJjbGUgY3g9IjEyIiBjeT0iMTEiIHI9IjIuNSIvPjwvc3ZnPg==");
}
.grsb-bar .grsb-field[data-grsb-open="dates"]::before{
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDRhY2JmIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTggM3YzTTE2IDN2MyIvPjxwYXRoIGQ9Ik00IDhoMTYiLz48cmVjdCB4PSI0IiB5PSI1IiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHJ4PSIyIi8+PHBhdGggZD0iTTcgMTJoMk0xMSAxMmgyTTE1IDEyaDJNNyAxNmgyTTExIDE2aDIiLz48L3N2Zz4=");
}
.grsb-bar .grsb-field[data-grsb-open="guests"]::before{
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDRhY2JmIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTE2IDIxdi0yYTQgNCAwIDAgMC00LTRINmE0IDQgMCAwIDAtNCA0djIiLz48Y2lyY2xlIGN4PSI5IiBjeT0iNyIgcj0iNCIvPjxwYXRoIGQ9Ik0yMiAyMXYtMmE0IDQgMCAwIDAtMy0zLjg3Ii8+PHBhdGggZD0iTTE2IDMuMTNhNCA0IDAgMCAxIDAgNy43NSIvPjwvc3ZnPg==");
}

@media (max-width: 480px){
  .grsb-bar .grsb-field{ grid-template-columns: 24px 1fr; column-gap: 8px; }
  .grsb-bar .grsb-field::before{ width: 20px; height: 20px; background-size: 20px 20px; }
}



/* 1) Icon consistency + text alignment */
.grsb-bar .grsb-field{
  align-items: center;
}
.grsb-bar .grsb-field__label{
  line-height: 1.1;
  margin-bottom: 2px;
}
.grsb-bar .grsb-field__value{
  line-height: 1.2;
}

/* Ensure icons read same size across breakpoints */
.grsb-bar .grsb-field::before{
  width: 22px;
  height: 22px;
  background-size: 22px 22px;
}
@media (max-width: 480px){
  .grsb-bar .grsb-field::before{
    width: 22px;
    height: 22px;
    background-size: 22px 22px;
  }
}

/* Softer desktop dividers */
@media (min-width: 1024px){
  .grsb-bar .grsb-divider,
  .grsb-bar .grsb-sep,
  .grsb-bar .grsb-field + .grsb-field{
    /* fallback for whatever separator implementation exists */
  }
  .grsb-bar .grsb-field{
    border-right-color: rgba(0,0,0,.08) !important;
  }
  .grsb-bar .grsb-field:last-of-type{
    border-right-color: transparent !important;
  }
}

/* keep mobile CTA pill-rounded */
@media (max-width: 768px){
  .grsb-mobile-actions .grsb-searchbtn-full{ border-radius: 999px !important; }
}

/* === GR v1.8.2 Calendar fix ===
   Some themes/plugins set .prevMonthDay/.nextMonthDay to display:none, which breaks
   the weekday alignment (e.g., Feb 1 appears under "Lun"). We force them to keep
   their slots in the grid while staying visually subtle.
*/
.grsb-fp-wrap .flatpickr-day.prevMonthDay,
.grsb-fp-wrap .flatpickr-day.nextMonthDay{
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  visibility: hidden; /* keep spacing, hide out-of-month numbers */
  pointer-events: none;
}

/* If a range crosses months, allow in-range styling to be visible */
.grsb-fp-wrap .flatpickr-day.prevMonthDay.inRange,
.grsb-fp-wrap .flatpickr-day.nextMonthDay.inRange{
  visibility: visible;
}
