.gr-is-property .gr-content-area {
  width: 100%;
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}

.gr-is-property .gr-entry--property,
.gr-is-property .gr-entry-content--property {
  width: 100%;
  margin: 0;
  padding: 0;
}

.grcp-wrap {
  --grcp-primary: #04acbf;
  --grcp-heading: #111827;
  --grcp-text: #374151;
  --grcp-muted: #6b7280;
  --grcp-line: #e5e7eb;
  width: 100%;
  color: var(--grcp-text);
  font-family: var(--gr-font, Manrope, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
  box-sizing: border-box;
}

.grcp-wrap *,
.grcp-wrap *::before,
.grcp-wrap *::after {
  box-sizing: border-box;
}

.grcp-wrap button,
.grcp-wrap a {
  font: inherit;
}

.grcp-wrap svg {
  display: block;
  width: 1em;
  height: 1em;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.grcp-mobile,
.grcp-desktop {
  width: 100%;
}

.grcp-mode-mobile .grcp-desktop,
.grcp-mode-desktop .grcp-mobile,
.grcp-mode-auto .grcp-mobile {
  display: none;
}

.grcp-no-scroll {
  overflow: hidden !important;
}

/* =========================================================
   DESKTOP
   ========================================================= */
@media (min-width: 1025px) {
  .grcp-mode-auto .grcp-desktop {
    display: block;
  }

  .grcp-desktop {
    width: 100%;
  }

  .grcp-breadcrumb {
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 0 0 17px;
    color: var(--grcp-muted);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.4;
  }

  .grcp-breadcrumb-separator {
    color: #a4abb4;
    font-size: 17px;
    line-height: 1;
  }

  .grcp-desktop-title-block {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 18px;
  }

  .grcp-desktop-title-copy {
    min-width: 0;
  }

  .grcp-title-row {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
  }

  .grcp-title {
    margin: 0;
    color: var(--grcp-heading);
    font-size: 27px;
    font-weight: 500;
    line-height: 1.25;
    letter-spacing: -.025em;
  }

  .grcp-verified {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    color: var(--grcp-primary);
  }

  .grcp-verified svg {
    width: 20px;
    height: 20px;
    fill: var(--grcp-primary);
    stroke: #fff;
    stroke-width: 1.7;
  }

  .grcp-property-meta {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-top: 7px;
    color: var(--grcp-text);
    font-size: 12px;
    line-height: 1.4;
  }

  .grcp-property-location {
    display: inline-flex;
    align-items: center;
    gap: 5px;
  }

  .grcp-property-location svg {
    width: 15px;
    height: 15px;
  }

  .grcp-meta-dot {
    color: #9ca3af;
  }

  .grcp-desktop-actions {
    display: flex;
    align-items: center;
    gap: 20px;
    padding-bottom: 2px;
  }

  .grcp-desktop-action {
    appearance: none;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 3px 0;
    border: 0;
    background: transparent;
    color: var(--grcp-heading);
    cursor: pointer;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.2;
  }

  .grcp-desktop-action:hover {
    color: var(--grcp-primary);
  }

  .grcp-desktop-action svg {
    width: 18px;
    height: 18px;
  }

  .grcp-heart.is-favorite svg {
    fill: var(--grcp-primary);
    stroke: var(--grcp-primary);
  }

  /* Gallery proportions inspired by the reference, not copied. */
  .grcp-grid-gallery {
    position: relative;
    display: grid;
    grid-template-columns: 2.35fr .9fr .9fr;
    grid-template-rows: 210px 210px;
    gap: 6px;
    width: 100%;
    overflow: hidden;
    border-radius: 20px;
    background: #f3f4f6;
  }

  .grcp-grid-item {
    appearance: none;
    position: relative;
    min-width: 0;
    overflow: hidden;
    padding: 0;
    border: 0;
    background: #f3f4f6;
    cursor: pointer;
  }

  .grcp-grid-0 {
    grid-row: 1 / 3;
  }

  .grcp-grid-item img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .2s ease, filter .2s ease;
  }

  .grcp-grid-item:hover img {
    transform: scale(1.012);
    filter: brightness(.98);
  }

  .grcp-desktop-rating {
    position: absolute;
    left: 16px;
    bottom: 16px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 40px;
    padding: 8px 12px;
    border: 1px solid rgba(17,24,39,.10);
    border-radius: 11px;
    background: rgba(255,255,255,.96);
    color: var(--grcp-heading);
    text-decoration: none;
    box-shadow: 0 2px 10px rgba(17,24,39,.07);
    font-size: 12px;
    font-weight: 500;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
  }

  .grcp-desktop-rating svg {
    width: 15px;
    height: 15px;
    fill: var(--grcp-heading);
    stroke: var(--grcp-heading);
  }

  .grcp-desktop-rating strong {
    font-weight: 700;
  }

  .grcp-desktop-rating small {
    color: var(--grcp-muted);
    font-size: inherit;
    font-weight: 400;
  }

  .grcp-desktop-view-photos {
    appearance: none;
    position: absolute;
    right: 14px;
    bottom: 14px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 40px;
    padding: 8px 13px;
    border: 1px solid rgba(17,24,39,.16);
    border-radius: 11px;
    background: #fff;
    color: var(--grcp-heading);
    box-shadow: 0 2px 8px rgba(17,24,39,.07);
    cursor: pointer;
    font-size: 12px;
    font-weight: 500;
  }

  .grcp-desktop-view-photos svg {
    width: 15px;
    height: 15px;
  }

  .grcp-desktop-facts {
    padding-top: 24px;
  }

  .grcp-summary {
    display: grid;
    grid-template-columns: repeat(var(--grcp-cols, 4), minmax(0, 1fr));
    width: 100%;
    padding: 0 0 22px;
    border-bottom: 1px solid var(--grcp-line);
  }

  .grcp-summary--1 { --grcp-cols: 1; }
  .grcp-summary--2 { --grcp-cols: 2; }
  .grcp-summary--3 { --grcp-cols: 3; }
  .grcp-summary--4 { --grcp-cols: 4; }
  .grcp-summary--5 { --grcp-cols: 5; }

  .grcp-summary-item {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-width: 0;
    padding: 0 16px;
  }

  .grcp-summary-item:first-child {
    justify-content: flex-start;
    padding-left: 0;
  }

  .grcp-summary-item:last-child {
    justify-content: flex-end;
    padding-right: 0;
  }

  .grcp-summary-item:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 3px;
    right: 0;
    width: 1px;
    height: 36px;
    background: var(--grcp-line);
  }

  .grcp-summary-item svg {
    width: 26px;
    height: 26px;
    flex: 0 0 26px;
    color: var(--grcp-heading);
    stroke-width: 1.55;
  }

  .grcp-summary-copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    min-width: 0;
    white-space: nowrap;
  }

  .grcp-summary-copy strong {
    color: var(--grcp-heading);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.2;
  }

  .grcp-summary-copy small {
    color: var(--grcp-muted);
    font-size: 11.5px;
    font-weight: 400;
    line-height: 1.2;
  }

  .grcp-summary-item:last-child .grcp-summary-copy strong {
    font-size: 13px;
    white-space: normal;
  }
}

@media (min-width: 768px) and (max-width: 1040px) {
  .grcp-title {
    font-size: 25px;
  }

  .grcp-grid-gallery {
    grid-template-rows: 190px 190px;
  }

  .grcp-summary-item {
    gap: 7px;
    padding-inline: 9px;
  }

  .grcp-summary-item svg {
    width: 23px;
    height: 23px;
    flex-basis: 23px;
  }

  .grcp-summary-copy strong {
    font-size: 13px;
  }

  .grcp-summary-copy small {
    font-size: 10.5px;
  }
}

/* =========================================================
   MOBILE
   ========================================================= */
@media (max-width: 767px) {
  .grcp-mode-auto .grcp-mobile {
    display: block;
  }

  .grcp-mode-auto .grcp-desktop {
    display: none;
  }

  .grcp-wrap {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    background: #fff;
  }

  .grcp-gallery-mobile {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / .77;
    overflow: hidden;
    background: #f3f4f6;
  }

  .grcp-slider-track {
    display: flex;
    width: 100%;
    height: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .grcp-slider-track::-webkit-scrollbar {
    display: none;
  }

  .grcp-slide {
    appearance: none;
    position: relative;
    flex: 0 0 100%;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    background: #f3f4f6;
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }

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

  .grcp-top-actions {
    position: absolute;
    z-index: 4;
    top: 17px;
    left: 17px;
    right: 17px;
    display: flex;
    align-items: center;
    gap: 8px;
    pointer-events: none;
  }

  .grcp-spacer {
    flex: 1;
  }

  .grcp-action {
    appearance: none;
    pointer-events: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid rgba(17,24,39,.08);
    border-radius: 50%;
    background: rgba(255,255,255,.97);
    color: var(--grcp-heading);
    box-shadow: 0 3px 12px rgba(17,24,39,.10);
    cursor: pointer;
  }

  .grcp-action svg {
    width: 20px;
    height: 20px;
  }

  .grcp-heart.is-favorite svg {
    fill: var(--grcp-primary);
    stroke: var(--grcp-primary);
  }

  .grcp-counter {
    appearance: none;
    position: absolute;
    z-index: 4;
    right: 16px;
    bottom: 16px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 34px;
    padding: 7px 10px;
    border: 0;
    border-radius: 11px;
    background: rgba(17,24,39,.58);
    color: #fff;
    cursor: pointer;
    font-size: 11px;
    font-weight: 600;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
  }

  .grcp-counter svg {
    width: 14px;
    height: 14px;
  }

  .grcp-mobile-info {
    position: relative;
    z-index: 5;
    margin-top: -15px;
    padding: 24px 20px 18px;
    border-radius: 25px 25px 0 0;
    background: #fff;
    box-shadow: 0 -3px 14px rgba(17,24,39,.035);
  }

  .grcp-mobile-info .grcp-title-row {
    display: flex;
    align-items: center;
    gap: 7px;
    min-width: 0;
  }

  .grcp-mobile-info .grcp-title {
    min-width: 0;
    margin: 0;
    color: var(--grcp-heading);
    font-size: 26px;
    font-weight: 500;
    line-height: 1.22;
    letter-spacing: -.025em;
  }

  .grcp-mobile-info .grcp-verified {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    color: var(--grcp-primary);
  }

  .grcp-mobile-info .grcp-verified svg {
    width: 19px;
    height: 19px;
    fill: var(--grcp-primary);
    stroke: #fff;
  }

  .grcp-mobile-info .grcp-subtitle {
    margin: 7px 0 9px;
    color: var(--grcp-muted);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.45;
  }

  .grcp-rating-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0 0 14px;
    color: var(--grcp-primary);
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
  }

  .grcp-rating-link svg {
    width: 15px;
    height: 15px;
    fill: currentColor;
    stroke: currentColor;
  }

  .grcp-rating-link strong {
    font-weight: 700;
  }

  .grcp-rating-link small {
    color: var(--grcp-muted);
    font-size: 11px;
    font-weight: 400;
  }

  .grcp-summary {
    display: grid;
    grid-template-columns: repeat(var(--grcp-cols, 4), minmax(0, 1fr));
    margin: 0;
    padding: 13px 0;
    overflow: hidden;
    border: 1px solid #edf0f2;
    border-radius: 18px;
    background: #fff;
  }

  .grcp-summary--1 { --grcp-cols: 1; }
  .grcp-summary--2 { --grcp-cols: 2; }
  .grcp-summary--3 { --grcp-cols: 3; }
  .grcp-summary--4 { --grcp-cols: 4; }
  .grcp-summary--5 { --grcp-cols: 5; }

  .grcp-summary-item {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    min-width: 0;
    padding: 0 5px;
    text-align: center;
  }

  .grcp-summary-item:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 2px;
    right: 0;
    width: 1px;
    height: 38px;
    background: var(--grcp-line);
  }

  .grcp-summary-item svg {
    width: 19px;
    height: 19px;
    color: var(--grcp-primary);
  }

  .grcp-summary-copy {
    min-width: 0;
  }

  .grcp-summary-copy strong {
    display: block;
    color: var(--grcp-heading);
    font-size: 12.5px;
    font-weight: 600;
    line-height: 1.15;
  }

  .grcp-summary-copy small {
    display: block;
    margin-top: 2px;
    color: var(--grcp-muted);
    font-size: 9.8px;
    font-weight: 400;
    line-height: 1.15;
  }

  .grcp-summary-item:last-child .grcp-summary-copy strong {
    font-size: 11px;
    line-height: 1.15;
    white-space: normal;
  }
}

/* =========================================================
   GALLERY MODAL
   ========================================================= */
.grcp-modal {
  position: fixed;
  z-index: 999999;
  inset: 0;
  overflow: auto;
  padding: 86px 18px 40px;
  background: #fff;
}

.grcp-modal[hidden] {
  display: none !important;
}

.grcp-modal-bar {
  position: fixed;
  z-index: 2;
  top: 0;
  left: 0;
  right: 0;
  display: flex;
  align-items: center;
  gap: 14px;
  height: 68px;
  padding: 0 18px;
  border-bottom: 1px solid var(--grcp-line);
  background: #fff;
}

.grcp-modal-close {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid var(--grcp-line);
  border-radius: 50%;
  background: #fff;
  color: var(--grcp-heading);
  cursor: pointer;
}

.grcp-modal-close svg {
  width: 20px;
  height: 20px;
}

.grcp-modal-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 13px;
  max-width: 1080px;
  margin: 0 auto;
}

.grcp-modal-grid img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 18px;
  background: #f3f4f6;
}

@media (max-width: 767px) {
  .grcp-modal {
    padding: 80px 10px 28px;
  }

  .grcp-modal-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .grcp-modal-grid img {
    border-radius: 14px;
  }
}

/* Accessibility */
.grcp-wrap button:focus-visible,
.grcp-wrap a:focus-visible {
  outline: 2px solid var(--grcp-primary);
  outline-offset: 3px;
}


@media (min-width: 768px) {
  .grcp-breadcrumb { margin-bottom: 14px; font-size: 11.5px; }
  .grcp-desktop-title-block { align-items: center; margin-bottom: 15px; }
  .grcp-title { font-size: 27px; font-weight: 500; }
  .grcp-property-meta { margin-top: 6px; max-width: 720px; color: #4b5563; font-size: 12.5px; }
  .grcp-property-location { min-width: 0; }
  .grcp-property-location span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .grcp-property-location svg { flex: 0 0 16px; width: 16px; height: 16px; color: #374151; }

  .grcp-desktop-actions { gap: 18px; }
  .grcp-desktop-action { gap: 6px; color: #111827; font-size: 12.5px; }
  .grcp-desktop-action svg { width: 17px; height: 17px; }

  .grcp-grid-gallery { grid-template-columns: 2.35fr .9fr .9fr; grid-template-rows: 208px 208px; border-radius: 20px; }
  .grcp-desktop-rating { min-height: 38px; padding: 7px 11px; border-radius: 11px; font-size: 12px; }
  .grcp-desktop-rating svg { width: 15px; height: 15px; color: #111827; fill: #111827; stroke: #111827; }
  .grcp-desktop-view-photos { min-height: 38px; padding: 7px 12px; border-radius: 11px; font-size: 12px; }

  .grcp-desktop-facts { padding-top: 19px; }
  .grcp-summary { padding-bottom: 18px; }
  .grcp-summary-item { gap: 9px; padding-inline: 18px; }
  .grcp-summary-item svg { width: 23px; height: 23px; flex-basis: 23px; color: #111827; stroke-width: 1.55; }
  .grcp-summary-copy strong { font-size: 13.5px; font-weight: 600; }
  .grcp-summary-copy small { font-size: 11px; }
  .grcp-summary-item:not(:last-child)::after { top: 2px; height: 34px; }
}

@media (max-width: 767px) {
  .grcp-mobile-info .grcp-verified svg { width: 18px; height: 18px; }
  .grcp-rating-link svg { width: 14px; height: 14px; }
  .grcp-summary-item svg { width: 18px; height: 18px; }
}


@media (min-width: 768px) {
  .grcp-desktop-title-block {
    margin-bottom: 15px;
  }

  .grcp-title {
    font-size: 28px;
    font-weight: 500;
    letter-spacing: -.03em;
  }

  .grcp-property-meta {
    margin-top: 6px;
    font-size: 12px;
    color: #6b7280;
  }

  .grcp-property-location svg {
    width: 14px;
    height: 14px;
    color: #4b5563;
  }

  .grcp-desktop-actions {
    gap: 18px;
  }

  .grcp-desktop-action {
    gap: 6px;
    font-size: 12.5px;
  }

  .grcp-desktop-action svg {
    display: block !important;
    width: 17px !important;
    height: 17px !important;
    color: #111827 !important;
    stroke: currentColor !important;
    stroke-width: 1.65 !important;
  }

  .grcp-grid-gallery {
    grid-template-columns: 2.45fr .92fr .92fr;
    grid-template-rows: 212px 212px;
    gap: 6px;
    border-radius: 20px;
  }

  .grcp-desktop-rating {
    left: 17px;
    bottom: 17px;
    min-height: 38px;
    padding: 7px 11px;
    border-radius: 11px;
    background: rgba(255,255,255,.97);
    font-size: 11.8px;
  }

  .grcp-desktop-rating svg {
    display: block !important;
    width: 15px !important;
    height: 15px !important;
    color: var(--grcp-primary) !important;
    fill: var(--grcp-primary) !important;
    stroke: var(--grcp-primary) !important;
  }

  .grcp-desktop-view-photos {
    right: 13px;
    bottom: 13px;
    min-height: 38px;
    padding: 7px 12px;
    border-radius: 10px;
    font-size: 11.8px;
    box-shadow: 0 2px 7px rgba(17,24,39,.06);
  }

  .grcp-desktop-view-photos svg {
    display: block !important;
    width: 15px !important;
    height: 15px !important;
    color: #111827 !important;
    stroke: currentColor !important;
  }

  .grcp-desktop-facts {
    padding-top: 18px;
  }

  .grcp-summary {
    padding-bottom: 16px;
  }

  .grcp-summary-item {
    min-height: 42px;
    gap: 9px;
    padding-inline: 18px;
  }

  .grcp-summary-item svg {
    display: block !important;
    width: 24px !important;
    height: 24px !important;
    flex: 0 0 24px !important;
    color: var(--grcp-primary) !important;
    stroke: currentColor !important;
    stroke-width: 1.55 !important;
  }

  .grcp-summary-copy strong {
    font-size: 13.5px;
    font-weight: 600;
  }

  .grcp-summary-copy small {
    font-size: 11px;
    color: #727985;
  }

  .grcp-summary-item:not(:last-child)::after {
    top: 4px;
    height: 34px;
    background: #e7e9ec;
  }

  .grcp-summary-item:last-child .grcp-summary-copy strong {
    color: var(--grcp-heading);
    font-size: 12.5px;
  }
}

@media (max-width: 767px) {
  .grcp-mobile-info {
    padding: 22px 18px 16px;
    border-radius: 24px 24px 0 0;
  }

  .grcp-mobile-info .grcp-title {
    font-size: 25px;
    line-height: 1.2;
  }

  .grcp-mobile-info .grcp-subtitle {
    margin-top: 6px;
    font-size: 15px;
  }

  .grcp-rating-link {
    margin-bottom: 12px;
    font-size: 12.5px;
  }

  .grcp-rating-link svg,
  .grcp-action svg,
  .grcp-counter svg {
    display: block !important;
  }

  .grcp-summary {
    padding: 12px 0;
    border-radius: 17px;
  }

  .grcp-summary-item {
    gap: 4px;
  }

  .grcp-summary-item svg {
    display: block !important;
    width: 18px !important;
    height: 18px !important;
    color: var(--grcp-primary) !important;
    stroke: currentColor !important;
    stroke-width: 1.55 !important;
  }

  .grcp-summary-copy strong {
    font-size: 12px;
    font-weight: 600;
  }

  .grcp-summary-copy small {
    font-size: 9.5px;
  }
}


@media (min-width: 768px) {
  /* Rating: smaller, lighter and less dominant over the photo. */
  .grcp-desktop-rating {
    left: 14px;
    bottom: 14px;
    min-height: 32px;
    padding: 5px 9px;
    gap: 5px;
    border-radius: 9px;
    font-size: 10.8px;
    line-height: 1.15;
  }

  .grcp-desktop-rating svg {
    width: 13px !important;
    height: 13px !important;
    flex: 0 0 13px !important;
  }

  .grcp-desktop-rating strong {
    font-size: 11.4px;
    line-height: 1;
  }

  .grcp-desktop-rating .grcp-rating-count,
  .grcp-desktop-rating span {
    font-size: 10.6px;
  }

  /* View photos: same compact visual weight as rating. */
  .grcp-desktop-view-photos {
    right: 12px;
    bottom: 12px;
    min-height: 32px;
    padding: 5px 9px;
    gap: 5px;
    border-radius: 9px;
    font-size: 10.8px;
    line-height: 1.15;
  }

  .grcp-desktop-view-photos svg {
    width: 13px !important;
    height: 13px !important;
    flex: 0 0 13px !important;
  }

  /* Facts: icon + copy form one compact centered unit. */
  .grcp-desktop-facts {
    padding-top: 16px;
  }

  .grcp-summary {
    align-items: stretch;
    padding-bottom: 15px;
  }

  .grcp-summary-item {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 15px;
    gap: 8px;
  }

  .grcp-summary-item svg {
    width: 20px !important;
    height: 20px !important;
    flex: 0 0 20px !important;
    margin: 0 !important;
    stroke-width: 1.55 !important;
  }

  .grcp-summary-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 1px;
    line-height: 1.05;
  }

  .grcp-summary-copy strong {
    margin: 0;
    font-size: 12.5px;
    line-height: 1.05;
    font-weight: 600;
  }

  .grcp-summary-copy small {
    margin: 0;
    font-size: 10px;
    line-height: 1.15;
  }

  .grcp-summary-item:last-child .grcp-summary-copy strong {
    font-size: 11.8px;
    white-space: nowrap;
  }

  .grcp-summary-item:not(:last-child)::after {
    top: 5px;
    height: 30px;
  }
}

@media (max-width: 767px) {
  .grcp-rating-link {
    min-height: 30px;
    font-size: 11.5px;
  }

  .grcp-summary-item svg {
    width: 17px !important;
    height: 17px !important;
    flex: 0 0 17px !important;
    margin: 0 auto 2px !important;
  }

  .grcp-summary-copy {
    align-items: center;
    text-align: center;
  }
}


@media (min-width: 768px) {
  .grcp-desktop-actions {
    align-self: flex-end;
    padding-bottom: 3px;
  }

  .grcp-desktop-rating {
    min-height: 30px;
    padding: 5px 8px;
    gap: 4px;
    border-radius: 9px;
    font-size: 10.5px;
  }

  .grcp-desktop-rating svg {
    width: 12px !important;
    height: 12px !important;
    flex: 0 0 12px !important;
  }

  .grcp-desktop-rating strong {
    font-size: 11px;
  }

  .grcp-desktop-rating small {
    font-size: 10.2px;
  }

  .grcp-desktop-view-photos {
    min-height: 30px;
    padding: 5px 8px;
    gap: 4px;
    border-radius: 9px;
    font-size: 10.5px;
  }

  .grcp-desktop-view-photos svg {
    width: 12px !important;
    height: 12px !important;
    flex: 0 0 12px !important;
  }

  .grcp-desktop-facts {
    padding-top: 17px;
  }

  .grcp-summary {
    grid-template-columns: repeat(var(--grcp-cols, 5), minmax(0, 1fr));
    padding-bottom: 17px;
    border-bottom-color: #eceef1;
  }

  .grcp-summary--1 { --grcp-cols: 1; }
  .grcp-summary--2 { --grcp-cols: 2; }
  .grcp-summary--3 { --grcp-cols: 3; }
  .grcp-summary--4 { --grcp-cols: 4; }
  .grcp-summary--5 { --grcp-cols: 5; }

  .grcp-summary-item,
  .grcp-summary-item:first-child,
  .grcp-summary-item:last-child {
    justify-content: center;
    min-height: 42px;
    padding-inline: 12px;
  }

  .grcp-summary-item {
    gap: 7px;
  }

  .grcp-summary-item svg {
    width: 20px !important;
    height: 20px !important;
    flex: 0 0 20px !important;
    color: var(--grcp-primary) !important;
  }

  .grcp-summary-copy {
    align-items: flex-start;
    justify-content: center;
  }

  .grcp-summary-copy strong,
  .grcp-summary-item:last-child .grcp-summary-copy strong {
    font-size: 12.2px;
    line-height: 1.05;
    font-weight: 600;
  }

  .grcp-summary-copy small {
    margin-top: 2px;
    font-size: 9.8px;
    line-height: 1.1;
  }

  .grcp-summary-item:not(:last-child)::after {
    top: 6px;
    height: 28px;
    background: #e8eaed;
  }
}

@media (max-width: 767px) {
  .grcp-summary--5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .grcp-summary--5 .grcp-summary-item {
    padding-inline: 3px;
  }

  .grcp-summary--5 .grcp-summary-item svg {
    width: 16px !important;
    height: 16px !important;
  }

  .grcp-summary--5 .grcp-summary-copy strong {
    font-size: 10.5px;
  }

  .grcp-summary--5 .grcp-summary-copy small {
    font-size: 8.8px;
  }
}


@media (min-width: 768px) {
  .grcp-desktop-facts {
    padding-top: 18px;
  }

  .grcp-compact-details {
    width: 100%;
    padding: 0 0 18px;
    border-bottom: 1px solid #eceef1;
  }

  .grcp-compact-title {
    margin: 0;
    color: var(--grcp-heading);
    font-size: 22px;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: -.02em;
  }

  .grcp-compact-meta {
    margin: 7px 0 0;
    color: var(--grcp-text);
    font-size: 15px;
    font-weight: 400;
    line-height: 1.45;
  }

  /* Old icon summary is no longer part of the active header. */
  .grcp-desktop-facts > .grcp-summary {
    display: none !important;
  }
}

@media (max-width: 767px) {
  .grcp-mobile-info .grcp-compact-details {
    margin-top: 2px;
  }

  .grcp-mobile-info .grcp-compact-title {
    margin: 0;
    color: var(--grcp-heading);
    font-size: 20px;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: -.015em;
  }

  .grcp-mobile-info .grcp-compact-meta {
    margin: 6px 0 0;
    color: var(--grcp-text);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.45;
  }

  .grcp-mobile-info > .grcp-summary {
    display: none !important;
  }
}


@media (min-width: 768px) {
  .grcp-desktop-rating {
    display: none !important;
  }

  .grcp-compact-meta {
    letter-spacing: 0;
    word-spacing: 1px;
  }
}

@media (max-width: 767px) {
  .grcp-compact-meta {
    letter-spacing: 0;
    word-spacing: 1px;
  }
}


@media (min-width: 768px) {
  .grcp-compact-details {
    padding-bottom: 18px;
  }

  .grcp-compact-title {
    margin-bottom: 6px;
  }

  .grcp-inline-reviews {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin: 0 0 7px;
    color: var(--grcp-heading);
    text-decoration: none;
    font-size: 12.5px;
    font-weight: 500;
    line-height: 1.25;
  }

  .grcp-inline-reviews:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
  }

  .grcp-inline-reviews svg {
    width: 13px;
    height: 13px;
    flex: 0 0 13px;
    color: var(--grcp-primary);
    fill: var(--grcp-primary);
    stroke: var(--grcp-primary);
  }

  .grcp-inline-rating {
    color: var(--grcp-heading);
    font-weight: 650;
  }

  .grcp-inline-rating-label,
  .grcp-inline-review-count {
    color: var(--grcp-text);
    font-weight: 400;
  }

  .grcp-inline-review-separator {
    display: inline-block;
    color: #7a828d;
    font-size: 15px;
    font-weight: 700;
    line-height: 1;
    transform: translateY(-.5px);
  }

  .grcp-compact-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0;
    margin-top: 0;
  }

  .grcp-meta-separator {
    display: inline-block;
    margin: 0 9px;
    color: #6b7280;
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
    transform: translateY(-1px);
  }
}

@media (max-width: 767px) {
  .grcp-inline-reviews {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin: 0 0 7px;
    color: var(--grcp-heading);
    text-decoration: none;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.25;
  }

  .grcp-inline-reviews svg {
    width: 12px;
    height: 12px;
    color: var(--grcp-primary);
    fill: var(--grcp-primary);
    stroke: var(--grcp-primary);
  }

  .grcp-inline-review-separator {
    color: #7a828d;
    font-size: 14px;
    font-weight: 700;
  }

  .grcp-compact-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0;
  }

  .grcp-meta-separator {
    display: inline-block;
    margin: 0 7px;
    color: #6b7280;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
  }
}


@media (min-width: 768px) {
  .grcp-compact-heading-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    width: 100%;
    margin-bottom: 8px;
  }

  .grcp-compact-heading-row .grcp-compact-title {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
  }

  .grcp-compact-heading-row .grcp-inline-reviews {
    flex: 0 0 auto;
    margin: 0;
    white-space: nowrap;
    font-size: 12px;
  }

  .grcp-compact-heading-row .grcp-inline-reviews svg {
    width: 13px;
    height: 13px;
  }

  .grcp-compact-heading-row .grcp-inline-rating {
    font-weight: 650;
  }

  .grcp-compact-meta {
    margin-top: 0;
  }
}

@media (max-width: 767px) {
  .grcp-compact-heading-row {
    display: block;
  }

  .grcp-compact-heading-row .grcp-inline-reviews {
    margin-top: 7px;
    margin-bottom: 7px;
  }
}


@media (min-width: 768px) {
  .grcp-compact-heading-row {
    display: block;
    margin-bottom: 8px;
  }

  .grcp-compact-heading-row .grcp-compact-title {
    width: 100%;
  }

  .grcp-inline-reviews {
    display: none !important;
  }

  .grcp-desktop-view-photos {
    right: 14px;
    bottom: 14px;
    min-height: 34px;
    padding: 7px 11px;
    gap: 6px;
    border: 1px solid rgba(17,24,39,.12);
    border-radius: 999px;
    background: rgba(255,255,255,.96);
    color: #111827;
    box-shadow: 0 2px 8px rgba(17,24,39,.08);
    font-size: 11px;
    font-weight: 500;
    line-height: 1;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
  }

  .grcp-desktop-view-photos:hover {
    transform: translateY(-1px);
    border-color: rgba(4,172,191,.34);
    box-shadow: 0 4px 12px rgba(17,24,39,.10);
  }

  .grcp-desktop-view-photos svg {
    width: 14px !important;
    height: 14px !important;
    flex: 0 0 14px !important;
    color: var(--grcp-primary) !important;
    stroke: currentColor !important;
    stroke-width: 1.7 !important;
  }
}

@media (max-width: 767px) {
  .grcp-inline-reviews {
    display: none !important;
  }

  .grcp-compact-heading-row {
    display: block;
  }

  .grcp-counter {
    min-height: 32px;
    padding: 6px 9px;
    border-radius: 999px;
    font-size: 10.5px;
  }
}


.gr-amenidades-wrap {
  --gr-amenities-text: #111827;
  --gr-amenities-body: #374151;
  --gr-amenities-line: #e5e7eb;
  width: 100%;
  margin: 30px 0;
  padding: 28px 0;
  border-top: 1px solid var(--gr-amenities-line);
  border-bottom: 1px solid var(--gr-amenities-line);
  color: var(--gr-amenities-body);
  font-family: var(--gr-font, Manrope, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
}

.gr-amenidades-title {
  margin: 0 0 18px;
  color: var(--gr-amenities-text);
  font-family: inherit;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: -.015em;
}

.gr-amenidades-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: clamp(28px, 5vw, 58px);
  row-gap: 16px;
  max-width: 920px;
}

.gr-amenidad {
  display: flex;
  align-items: center;
  gap: 11px;
  min-width: 0;
  color: var(--gr-amenities-body);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.45;
}

.gr-amenidad[hidden] {
  display: none !important;
}

.gr-amenidad-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  color: #24272c;
}

.gr-amenidad-icon svg {
  display: block;
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.gr-amenidad-label {
  min-width: 0;
  overflow-wrap: anywhere;
}

.gr-mostrar-todas {
  appearance: none;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  min-height: 50px;
  margin-top: 22px;
  padding: 10px 18px;
  border: 1px solid transparent;
  border-radius: 20px;
  background: #f6f7f8;
  color: #374151;
  font: inherit;
  font-size: 14px;
  font-weight: 400;
  line-height: 1;
  cursor: pointer;
  box-shadow: none;
  transition: background-color .16s ease, color .16s ease;
}

.gr-mostrar-todas:hover {
  border-color: transparent;
  background: #eef0f2;
  color: #111827;
}

.gr-mostrar-todas svg {
  display: none;
}

@media (min-width: 768px) {
  .gr-is-property .gr-mostrar-todas,
  .gr-is-property .gr-property-template-reviews .gr-load-more {
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 240px;
    max-width: 100%;
    min-height: 46px;
    margin-top: 22px;
    padding: 10px 20px;
    border: 1px solid transparent;
    border-radius: 16px;
    background: #f6f7f8;
    color: #374151;
    font-family: var(--gr-font, Manrope, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
    font-size: 14px;
    font-weight: 400;
    line-height: 1;
    text-align: center;
    box-shadow: none;
    cursor: pointer;
    transition: background-color .16s ease, color .16s ease;
  }

  .gr-is-property .gr-mostrar-todas:hover,
  .gr-is-property .gr-property-template-reviews .gr-load-more:hover {
    border-color: transparent;
    background: #eef0f2;
    color: #111827;
  }

  .gr-is-property .gr-property-template-reviews .gr-load-more-chevron {
    display: none;
  }
}

@media (max-width: 767px) {
  .gr-amenidades-wrap {
    margin: 24px 0;
    padding: 24px 0;
  }

  .gr-amenidades-title {
    margin-bottom: 16px;
    font-size: 22px;
    font-weight: 500;
  }

  .gr-amenidades-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 16px;
    row-gap: 15px;
  }

  .gr-amenidad {
    align-items: flex-start;
    gap: 9px;
    font-size: 15px;
    line-height: 1.4;
  }

  .gr-amenidad-icon {
    flex-basis: 21px;
    width: 21px;
    height: 21px;
    margin-top: 1px;
  }

  .gr-amenidad-icon svg {
    width: 20px;
    height: 20px;
  }

  .gr-mostrar-todas {
    min-height: 50px;
    margin-top: 20px;
    padding: 12px 20px;
    font-size: 15px;
  }
}


.gr-property-description {
  width: 100%;
  margin: 34px 0 0;
  padding: 30px 0;
  border-top: 1px solid #e7e9ec;
  border-bottom: 1px solid #e7e9ec;
  font-family: var(--gr-font, Manrope, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
}

.gr-property-description__title {
  margin: 0 0 16px;
  color: #111827;
  font-family: inherit;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: -.015em;
}

.gr-property-description__content {
  position: relative;
  max-width: 820px;
  color: #374151;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.65;
}

.gr-property-description__content > :first-child {
  margin-top: 0;
}

.gr-property-description__content > :last-child {
  margin-bottom: 0;
}

.gr-property-description__content p {
  margin: 0 0 14px;
}

.gr-property-description__content.is-collapsed {
  max-height: 7.9em;
  overflow: hidden;
}

.gr-property-description__content.is-collapsed::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 2.5em;
  background: linear-gradient(to bottom, rgba(255,255,255,0), #fff 75%);
  pointer-events: none;
}

.gr-property-description__toggle {
  appearance: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 14px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #111827;
  font: inherit;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.2;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}

.gr-property-description__toggle svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform .16s ease;
}

.gr-property-description__toggle[aria-expanded="true"] svg {
  transform: rotate(180deg);
}

/* Amenidades: more breathing room after description. */
.gr-property-description + .gr-amenidades-wrap,
.gr-amenidades-wrap {
  margin-top: 34px;
}

@media (max-width: 767px) {
  .gr-property-description {
    margin-top: 26px;
    padding: 24px 0;
  }

  .gr-property-description__title {
    margin-bottom: 14px;
    font-size: 22px;
  }

  .gr-property-description__content {
    max-width: none;
    font-size: 16px;
    line-height: 1.6;
  }

  .gr-property-description__content.is-collapsed {
    max-height: 7.7em;
  }

  .gr-property-description__toggle {
    margin-top: 12px;
    font-size: 15px;
  }

  .gr-property-description + .gr-amenidades-wrap,
  .gr-amenidades-wrap {
    margin-top: 28px;
  }
}


.gr-property-description .elementor-widget-container,
.gr-property-description .elementor-text-editor {
  margin: 0;
  padding: 0;
}

.gr-property-description__content > .elementor,
.gr-property-description__content > .elementor-element {
  max-width: 100%;
}

@media (min-width: 768px) {
  .gr-property-description {
    margin-top: 36px;
    padding-top: 28px;
    padding-bottom: 30px;
  }

  .gr-property-description__title {
    margin-bottom: 14px;
  }
}


.gr-property-description__title--native {
  margin: 28px 0 14px;
  padding: 0;
  font-family: inherit;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.3;
  color: #111827;
}

@media (max-width: 799px) {
  .gr-property-description__title--native {
    margin: 24px 0 12px;
    font-size: 25px;
  }
}


.gr-property-description__title--native {
  margin-top: 30px;
  margin-bottom: 14px;
  padding-top: 28px;
  border-top: 1px solid #e7e9ec;
}

@media (max-width: 767px) {
  .gr-property-description__title--native {
    margin-top: 24px;
    margin-bottom: 12px;
    padding-top: 22px;
  }
}


.gr-property-description__title--native {
  margin: 0 0 12px !important;
  padding: 0 !important;
  border: 0 !important;
  color: #111827;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: -.015em;
}

.gr-property-description__native-content {
  max-width: 840px;
  margin: 0 !important;
  padding: 0 !important;
  color: #374151;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.62;
}

.gr-property-description__native-content .elementor-widget-container,
.gr-property-description__native-content .elementor-text-editor {
  margin: 0 !important;
  padding: 0 !important;
}

.gr-property-description__native-content p {
  margin-top: 0 !important;
  margin-bottom: 14px !important;
}

.gr-property-description__native-content p:last-child {
  margin-bottom: 0 !important;
}

/* The existing summary already ends with a divider.
   Keep only breathing room before the description heading. */
.gr-property-description__title--native {
  margin-top: 26px !important;
}

/* Avoid a second divider introduced by old description rules. */
.gr-property-description__title--native::before,
.gr-property-description__native-content::before {
  display: none !important;
  content: none !important;
}

@media (max-width: 767px) {
  .gr-property-description__title--native {
    margin-top: 22px !important;
    margin-bottom: 10px !important;
    font-size: 22px;
  }

  .gr-property-description__native-content {
    max-width: none;
    font-size: 16px;
    line-height: 1.58;
  }
}


@media (min-width:783px){
  .gr-is-property .grbb-desktop-stack{
    width:100%;
    max-width:360px;
    margin:0 auto;
  }

  .gr-is-property .grbb-desktop-card.grbb-desktop-card-v411{
    width:100%!important;
    max-width:360px!important;
    padding:28px!important;
    border:1px solid #e5e7eb!important;
    border-radius:24px!important;
    background:#fff!important;
    box-shadow:0 10px 28px rgba(17,24,39,.055)!important;
    overflow:visible!important;
    color:#111827!important;
  }

  .gr-is-property .grbb-desktop-card-v411 .grbb-desktop-price-row{
    margin:0 0 24px!important;
    padding:0!important;
  }

  .gr-is-property .grbb-desktop-card-v411 .grbb-desktop-price{
    margin:0!important;
    color:#111827!important;
    font-size:25px!important;
    font-weight:500!important;
    line-height:1.2!important;
    letter-spacing:-.025em!important;
  }

  .gr-is-property .grbb-desktop-card-v411 .grbb-desktop-price-label{
    margin:7px 0 0!important;
    color:#6b7280!important;
    font-size:14px!important;
    font-weight:400!important;
    line-height:1.45!important;
  }

  .gr-is-property .grbb-desktop-date-grid{
    position:relative!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr)!important;
    align-items:stretch!important;
    width:100%!important;
    min-height:76px!important;
    margin:0 0 14px!important;
    padding:0!important;
    border:1px solid #dfe3e7!important;
    border-radius:14px!important;
    background:#fff!important;
    box-shadow:none!important;
    color:#111827!important;
    cursor:pointer!important;
    overflow:hidden!important;
    text-align:left!important;
  }

  .gr-is-property .grbb-desktop-date-item{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    min-width:0!important;
    padding:15px 36px 14px 16px!important;
  }

  .gr-is-property .grbb-desktop-date-item::after{
    content:"";
    position:absolute;
    right:13px;
    top:50%;
    width:18px;
    height:18px;
    transform:translateY(-50%);
    background-repeat:no-repeat;
    background-position:center;
    background-size:18px 18px;
    opacity:.85;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23374151' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18'/%3E%3C/svg%3E");
  }

  .gr-is-property .grbb-desktop-date-divider{
    display:block!important;
    align-self:center!important;
    width:1px!important;
    height:42px!important;
    margin:0!important;
    background:#e5e7eb!important;
  }

  .gr-is-property .grbb-desktop-date-text{
    display:flex!important;
    flex-direction:column!important;
    gap:5px!important;
    min-width:0!important;
  }

  .gr-is-property .grbb-desktop-date-text small,
  .gr-is-property .grbb-guests-copy small{
    color:#6b7280!important;
    font-size:12px!important;
    font-weight:400!important;
    line-height:1.15!important;
  }

  .gr-is-property .grbb-desktop-date-text strong{
    color:#374151!important;
    font-size:13px!important;
    font-weight:400!important;
    line-height:1.2!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  .gr-is-property .grbb-desktop-guests-line{
    position:relative!important;
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    border:1px solid #dfe3e7!important;
    border-radius:14px!important;
    background:#fff!important;
  }

  .gr-is-property .grbb-guests-trigger{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    width:100%!important;
    min-height:76px!important;
    padding:15px 16px!important;
    border:0!important;
    border-radius:14px!important;
    background:transparent!important;
    box-shadow:none!important;
    color:#111827!important;
    text-align:left!important;
    cursor:pointer!important;
  }

  .gr-is-property .grbb-guests-copy{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:5px!important;
  }

  .gr-is-property .grbb-guests-trigger [data-grbb-guests-summary]{
    color:#111827!important;
    font-size:14px!important;
    font-weight:500!important;
    line-height:1.2!important;
    text-decoration:none!important;
  }

  .gr-is-property .grbb-guests-trigger:hover [data-grbb-guests-summary],
  .gr-is-property .grbb-guests-trigger:hover .grbb-guests-copy small{
    text-decoration:none!important;
  }

  .gr-is-property .grbb-guests-chevron{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:20px!important;
    height:20px!important;
    color:#111827!important;
    font-size:18px!important;
    line-height:1!important;
    transform:none!important;
    transition:transform .16s ease!important;
  }

  .gr-is-property .grbb-guests-trigger[aria-expanded="true"] .grbb-guests-chevron{
    transform:rotate(180deg)!important;
  }

  .gr-is-property .grbb-desktop-btn{
    width:100%!important;
    min-height:52px!important;
    margin:22px 0 0!important;
    padding:12px 22px!important;
    border:0!important;
    border-radius:55px!important;
    background:#04acbf!important;
    color:#fff!important;
    box-shadow:none!important;
    font-size:15px!important;
    font-weight:500!important;
    line-height:1.1!important;
    text-decoration:none!important;
    transition:filter .16s ease,transform .16s ease!important;
  }

  .gr-is-property .grbb-desktop-btn:hover{
    filter:brightness(.97)!important;
    transform:translateY(-1px)!important;
  }

  .gr-is-property .grbb-desktop-secure{
    position:relative!important;
    display:none!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    margin:14px 0 0!important;
    color:#6b7280!important;
    font-size:12px!important;
    font-weight:400!important;
    line-height:1.3!important;
    text-align:center!important;
  }

  .gr-is-property .grbb-desktop-card-v411.grbb-has-dates .grbb-desktop-secure{
    display:flex!important;
  }

  .gr-is-property .grbb-desktop-secure::before{
    content:""!important;
    display:inline-block!important;
    flex:0 0 15px!important;
    width:15px!important;
    height:15px!important;
    background-repeat:no-repeat!important;
    background-position:center!important;
    background-size:15px 15px!important;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2304acbf' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='10' width='14' height='10' rx='2'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E")!important;
  }

  .gr-is-property .grbb-desktop-secure svg,
  .gr-is-property .grbb-desktop-secure i,
  .gr-is-property .grbb-desktop-secure .icon{
    display:none!important;
  }

  .gr-is-property .grbb-guests-popover{
    top:auto!important;
    right:28px!important;
    left:28px!important;
    width:auto!important;
    margin-top:8px!important;
    border:1px solid #e5e7eb!important;
    border-radius:18px!important;
    background:#fff!important;
    box-shadow:0 14px 34px rgba(17,24,39,.12)!important;
  }
}


@media (min-width:783px){
  .gr-is-property .grbb-desktop-stack{
    max-width:350px;
  }

  .gr-is-property .grbb-desktop-card.grbb-desktop-card-v411{
    max-width:350px!important;
    padding:22px 20px 20px!important;
    border-color:#e2e5e8!important;
    border-radius:18px!important;
    box-shadow:0 7px 22px rgba(17,24,39,.045)!important;
  }

  .gr-is-property .grbb-desktop-card-v411 .grbb-desktop-price-row{
    margin-bottom:18px!important;
  }

  /* Empty state: smaller and more integrated than the price state. */
  .gr-is-property .grbb-desktop-card-v411.grbb-empty-state .grbb-desktop-price{
    font-size:20px!important;
    font-weight:500!important;
    line-height:1.22!important;
    letter-spacing:-.018em!important;
  }

  .gr-is-property .grbb-desktop-card-v411.grbb-empty-state .grbb-desktop-price-label{
    margin-top:5px!important;
    font-size:13px!important;
    line-height:1.35!important;
  }

  /* Real price remains visually important after dates are selected. */
  .gr-is-property .grbb-desktop-card-v411:not(.grbb-empty-state) .grbb-desktop-price{
    font-size:24px!important;
    font-weight:600!important;
  }

  .gr-is-property .grbb-desktop-card-v411:not(.grbb-empty-state) .grbb-desktop-price-label{
    margin-top:5px!important;
    font-size:13px!important;
  }

  .gr-is-property .grbb-desktop-date-grid{
    min-height:64px!important;
    margin-bottom:12px!important;
    border-color:#dfe3e7!important;
    border-radius:11px!important;
  }

  .gr-is-property .grbb-desktop-date-item{
    padding:11px 31px 10px 13px!important;
  }

  .gr-is-property .grbb-desktop-date-item::after{
    right:11px!important;
    width:16px!important;
    height:16px!important;
    background-size:16px 16px!important;
  }

  .gr-is-property .grbb-desktop-date-divider{
    height:34px!important;
  }

  .gr-is-property .grbb-desktop-date-text{
    gap:3px!important;
  }

  .gr-is-property .grbb-desktop-date-text small,
  .gr-is-property .grbb-guests-copy small{
    font-size:12px!important;
    line-height:1.1!important;
  }

  .gr-is-property .grbb-desktop-date-text strong{
    font-size:12px!important;
    line-height:1.15!important;
  }

  .gr-is-property .grbb-desktop-guests-line{
    border-radius:11px!important;
  }

  .gr-is-property .grbb-guests-trigger{
    min-height:64px!important;
    padding:11px 13px!important;
    border-radius:11px!important;
  }

  .gr-is-property .grbb-guests-copy{
    gap:3px!important;
  }

  .gr-is-property .grbb-guests-trigger [data-grbb-guests-summary]{
    font-size:13px!important;
    line-height:1.15!important;
  }

  .gr-is-property .grbb-guests-chevron{
    width:18px!important;
    height:18px!important;
    font-size:16px!important;
  }

  .gr-is-property .grbb-desktop-btn{
    min-height:48px!important;
    margin-top:18px!important;
    padding:11px 18px!important;
    font-size:14px!important;
  }

  .gr-is-property .grbb-desktop-secure{
    gap:6px!important;
    margin-top:12px!important;
    font-size:11px!important;
    line-height:1.25!important;
  }

  .gr-is-property .grbb-desktop-secure::before{
    flex-basis:14px!important;
    width:14px!important;
    height:14px!important;
    background-size:14px 14px!important;
  }

  .gr-is-property .grbb-guests-popover{
    right:20px!important;
    left:20px!important;
    margin-top:7px!important;
    border-radius:14px!important;
  }
}


@media (min-width:768px){

  .gr-is-property .gr-airbnb-calendar{
    --gr-accent:#04acbf!important;
    --gr-accent-soft:rgba(4,172,191,.12)!important;
    width:min(100%,900px)!important;
    max-width:900px!important;
    margin:0!important;
    padding:0!important;
    color:#111827!important;
    background:#fff!important;
    font-family:Manrope,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  }

  /* Heading area */
  .gr-is-property .gr-airbnb-calendar__header{
    margin:0 0 30px!important;
    padding:0!important;
  }

  .gr-is-property .gr-airbnb-calendar__title{
    margin:0 0 8px!important;
    color:#111827!important;
    font-size:26px!important;
    font-weight:500!important;
    line-height:1.25!important;
    letter-spacing:-.025em!important;
  }

  .gr-is-property .gr-airbnb-calendar__subtitle{
    margin:0 0 4px!important;
    color:#6b7280!important;
    font-size:14px!important;
    font-weight:400!important;
    line-height:1.45!important;
  }

  .gr-is-property .gr-airbnb-calendar__summary{
    margin:0!important;
    color:#6b7280!important;
    font-size:14px!important;
    font-weight:400!important;
    line-height:1.45!important;
  }

  /* Two-month layout */
  .gr-is-property .gr-airbnb-calendar__months{
    width:100%!important;
    max-width:900px!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:46px!important;
    justify-content:stretch!important;
  }

  .gr-is-property .gr-airbnb-calendar__months::after{
    display:none!important;
  }

  .gr-is-property .gr-airbnb-calendar__month{
    width:100%!important;
    max-width:none!important;
  }

  .gr-is-property .gr-airbnb-calendar__month-title{
    position:static!important;
    top:auto!important;
    margin:0 0 20px!important;
    color:#111827!important;
    font-size:18px!important;
    font-weight:500!important;
    line-height:1.25!important;
    letter-spacing:-.015em!important;
    text-align:center!important;
  }

  /* Navigation */
  .gr-is-property .gr-airbnb-calendar__nav{
    height:32px!important;
    align-items:center!important;
  }

  .gr-is-property .gr-airbnb-calendar__arrow{
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
    min-height:32px!important;
    color:#111827!important;
    border-radius:50%!important;
  }

  .gr-is-property .gr-airbnb-calendar__arrow:hover{
    background:#f5f6f7!important;
  }

  .gr-is-property .gr-airbnb-calendar__arrow svg,
  .gr-is-property .gr-airbnb-calendar__arrow svg path{
    width:17px!important;
    height:17px!important;
    stroke-width:2.2!important;
  }

  /* Week labels */
  .gr-is-property .gr-airbnb-calendar__weekdays{
    margin-bottom:8px!important;
  }

  .gr-is-property .gr-airbnb-calendar__weekdays,
  .gr-is-property .gr-airbnb-calendar__days{
    row-gap:7px!important;
  }

  .gr-is-property .gr-airbnb-calendar__weekday{
    height:24px!important;
    color:#6b7280!important;
    font-size:12px!important;
    font-weight:500!important;
  }

  /* Calendar dates */
  .gr-is-property .gr-airbnb-calendar__day{
    height:40px!important;
    color:#111827!important;
    font-size:13px!important;
    font-weight:500!important;
    -webkit-font-smoothing:antialiased!important;
  }

  .gr-is-property .gr-airbnb-calendar__day:hover:not(.is-disabled):not(.is-blocked):not(.is-selected):not(.is-range-start):not(.is-range-end)::after,
  .gr-is-property .gr-airbnb-calendar__day.is-blocked.is-checkout-allowed:hover::after{
    width:36px!important;
    height:36px!important;
    border:1px solid #04acbf!important;
    background:#fff!important;
  }

  /* Selected range */
  .gr-is-property .gr-airbnb-calendar__day.is-in-range::before,
  .gr-is-property .gr-airbnb-calendar__day.is-range-start::before,
  .gr-is-property .gr-airbnb-calendar__day.is-range-end::before{
    height:32px!important;
    background:rgba(4,172,191,.12)!important;
  }

  .gr-is-property .gr-airbnb-calendar__day.is-selected::after,
  .gr-is-property .gr-airbnb-calendar__day.is-range-start::after,
  .gr-is-property .gr-airbnb-calendar__day.is-range-end::after{
    width:38px!important;
    height:38px!important;
    border:0!important;
    background:#04acbf!important;
  }

  .gr-is-property .gr-airbnb-calendar__day.is-selected,
  .gr-is-property .gr-airbnb-calendar__day.is-range-start,
  .gr-is-property .gr-airbnb-calendar__day.is-range-end{
    color:#fff!important;
  }

  /* Occupied / unavailable dates */
  .gr-is-property .gr-airbnb-calendar__day.is-disabled,
  .gr-is-property .gr-airbnb-calendar__day.is-blocked{
    color:#a1a6ae!important;
    text-decoration:line-through!important;
    text-decoration-thickness:1px!important;
    text-decoration-color:#9ca3af!important;
  }

  /* A blocked date may still be used as checkout. Keep it visibly different
     from a normal available date, but selectable. */
  .gr-is-property .gr-airbnb-calendar__day.is-blocked.is-checkout-allowed{
    color:#6b7280!important;
    cursor:pointer!important;
    text-decoration:none!important;
  }

  /* Footer */
  .gr-is-property .gr-airbnb-calendar__footer{
    width:100%!important;
    max-width:900px!important;
    margin:22px 0 0!important;
    padding-top:16px!important;
    border-top:1px solid #eceef1!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:20px!important;
  }

  .gr-is-property .gr-airbnb-calendar__price-tip{
    display:block!important;
    color:#7a818d!important;
    font-size:12px!important;
    font-weight:400!important;
    line-height:1.35!important;
  }

  .gr-is-property .gr-airbnb-calendar__clear{
    flex:0 0 auto!important;
    color:#04acbf!important;
    font-size:12px!important;
    font-weight:500!important;
    padding:4px 0!important;
  }

  .gr-is-property .gr-airbnb-calendar__clear:hover{
    color:#028a99!important;
  }
}


@media (max-width:767px){
  .gr-is-property .gr-airbnb-calendar{
    --gr-accent:#04acbf!important;
    --gr-accent-soft:rgba(4,172,191,.12)!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    color:#111827!important;
    background:#fff!important;
    font-family:Manrope,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  }

  .gr-is-property .gr-airbnb-calendar__header{
    margin:0 0 18px!important;
    padding:0!important;
  }

  .gr-is-property .gr-airbnb-calendar__title{
    margin:0 0 6px!important;
    color:#111827!important;
    font-size:24px!important;
    font-weight:500!important;
    line-height:1.22!important;
    letter-spacing:-.02em!important;
  }

  .gr-is-property .gr-airbnb-calendar__subtitle,
  .gr-is-property .gr-airbnb-calendar__summary{
    margin:0!important;
    color:#6b7280!important;
    font-size:13px!important;
    font-weight:400!important;
    line-height:1.4!important;
  }

  .gr-is-property .gr-airbnb-calendar__months{
    display:block!important;
    width:100%!important;
    max-width:none!important;
  }

  .gr-is-property .gr-airbnb-calendar__month{
    width:100%!important;
    max-width:none!important;
  }

  .gr-is-property .gr-airbnb-calendar__month:nth-child(n+2){
    display:none!important;
  }

  .gr-is-property .gr-airbnb-calendar__month-title{
    position:static!important;
    margin:0 0 16px!important;
    color:#111827!important;
    font-size:17px!important;
    font-weight:500!important;
    line-height:1.25!important;
    text-align:center!important;
    letter-spacing:-.01em!important;
  }

  .gr-is-property .gr-airbnb-calendar__nav{
    height:34px!important;
    margin-bottom:4px!important;
    align-items:center!important;
  }

  .gr-is-property .gr-airbnb-calendar__arrow{
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    min-height:34px!important;
    border-radius:50%!important;
    color:#111827!important;
  }

  .gr-is-property .gr-airbnb-calendar__arrow:hover,
  .gr-is-property .gr-airbnb-calendar__arrow:active{
    background:#f4f5f6!important;
  }

  .gr-is-property .gr-airbnb-calendar__weekday{
    height:24px!important;
    color:#7a818d!important;
    font-size:11px!important;
    font-weight:500!important;
  }

  .gr-is-property .gr-airbnb-calendar__weekdays{
    margin-bottom:6px!important;
  }

  .gr-is-property .gr-airbnb-calendar__weekdays,
  .gr-is-property .gr-airbnb-calendar__days{
    row-gap:6px!important;
  }

  .gr-is-property .gr-airbnb-calendar__day{
    height:42px!important;
    color:#111827!important;
    font-size:13px!important;
    font-weight:500!important;
    -webkit-tap-highlight-color:transparent!important;
    touch-action:manipulation!important;
  }

  .gr-is-property .gr-airbnb-calendar__day:hover:not(.is-disabled):not(.is-blocked):not(.is-selected):not(.is-range-start):not(.is-range-end)::after,
  .gr-is-property .gr-airbnb-calendar__day:active:not(.is-disabled):not(.is-blocked):not(.is-selected):not(.is-range-start):not(.is-range-end)::after,
  .gr-is-property .gr-airbnb-calendar__day.is-blocked.is-checkout-allowed:hover::after,
  .gr-is-property .gr-airbnb-calendar__day.is-blocked.is-checkout-allowed:active::after{
    width:38px!important;
    height:38px!important;
    border:1px solid #04acbf!important;
    background:#fff!important;
  }

  .gr-is-property .gr-airbnb-calendar__day.is-in-range::before,
  .gr-is-property .gr-airbnb-calendar__day.is-range-start::before,
  .gr-is-property .gr-airbnb-calendar__day.is-range-end::before{
    height:34px!important;
    background:rgba(4,172,191,.12)!important;
  }

  .gr-is-property .gr-airbnb-calendar__day.is-selected::after,
  .gr-is-property .gr-airbnb-calendar__day.is-range-start::after,
  .gr-is-property .gr-airbnb-calendar__day.is-range-end::after{
    width:40px!important;
    height:40px!important;
    border:0!important;
    background:#04acbf!important;
  }

  .gr-is-property .gr-airbnb-calendar__day.is-selected,
  .gr-is-property .gr-airbnb-calendar__day.is-range-start,
  .gr-is-property .gr-airbnb-calendar__day.is-range-end{
    color:#fff!important;
  }

  .gr-is-property .gr-airbnb-calendar__day.is-disabled,
  .gr-is-property .gr-airbnb-calendar__day.is-blocked{
    color:#a5aab2!important;
    text-decoration:line-through!important;
    text-decoration-thickness:1px!important;
    text-decoration-color:#9ca3af!important;
  }

  .gr-is-property .gr-airbnb-calendar__day.is-blocked.is-checkout-allowed{
    color:#6b7280!important;
    cursor:pointer!important;
    text-decoration:none!important;
  }

  .gr-is-property .gr-airbnb-calendar__footer{
    width:100%!important;
    margin:18px 0 0!important;
    padding-top:14px!important;
    border-top:1px solid #eceef1!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:14px!important;
  }

  .gr-is-property .gr-airbnb-calendar__price-tip{
    display:block!important;
    max-width:70%!important;
    color:#7a818d!important;
    font-size:11px!important;
    line-height:1.35!important;
  }

  .gr-is-property .gr-airbnb-calendar__clear{
    flex:0 0 auto!important;
    color:#04acbf!important;
    font-size:11px!important;
    font-weight:500!important;
    padding:4px 0!important;
  }
}


@media (min-width:1180px){
	.gr-is-property .gr-content-area{
		width:min(
			calc(100% - (var(--gr-page-gutter, 28px) * 2)),
			var(--gr-content-wide, 1520px)
		);
		margin-inline:auto;
	}

	.grcp-grid-gallery{
		grid-template-rows:
			clamp(210px,13vw,250px)
			clamp(210px,13vw,250px);
	}

	.grcp-desktop-facts{
		padding-top:26px;
	}
}

@media (min-width:1440px){
	.grcp-grid-gallery{
		grid-template-columns:2.3fr .95fr .95fr;
		grid-template-rows:
			clamp(225px,13vw,265px)
			clamp(225px,13vw,265px);
		gap:7px;
	}

	.grcp-desktop-title-block{
		margin-bottom:20px;
	}

	.grcp-desktop-facts{
		padding-top:28px;
	}

	.gr-property-description__native-content,
	.gr-property-description__content{
		max-width:900px;
	}
}

@media (min-width:1720px){
	.grcp-grid-gallery{
		grid-template-rows:270px 270px;
	}

	.gr-property-description__native-content,
	.gr-property-description__content{
		max-width:960px;
	}
}


@media (min-width:783px){
	.gr-property-template .gr-amenidades-grid{
		display:grid!important;
		grid-template-columns:repeat(2,minmax(0,1fr))!important;
		width:100%!important;
		max-width:none!important;
	}

	.gr-property-template .gr-amenidad{
		min-width:0;
	}
}
