/* R44 premium rental presentation.
   Additive and reversible: no filters, coordinates, URLs or map behavior live here. */

:root {
  --ttrc-r44-paper: #fffaf0;
  --ttrc-r44-ink: #082d34;
  --ttrc-r44-edge: rgba(255, 255, 255, .72);
  --ttrc-r44-contact: rgba(2, 24, 29, .22);
  --ttrc-r44-ease: cubic-bezier(.2, .78, .22, 1);
}

.ttrc-workspace::before {
  background: linear-gradient(132deg, rgba(255, 250, 240, .94), rgba(225, 248, 242, .78) 58%, rgba(248, 232, 198, .86));
  box-shadow: 0 42px 120px rgba(3, 29, 35, .16), inset 0 1px 0 rgba(255, 255, 255, .82);
}

.ttrc-results-shell {
  perspective: 1400px;
}

.ttrc-grid {
  gap: clamp(18px, 2vw, 28px);
}

.ttrc-card--property-result {
  position: relative;
  isolation: isolate;
  overflow: visible;
  border-color: rgba(8, 45, 52, .16);
  border-radius: 22px;
  background: linear-gradient(152deg, rgba(255, 253, 247, .99), rgba(246, 241, 229, .96));
  box-shadow:
    0 2px 0 rgba(255, 255, 255, .88) inset,
    0 20px 32px -24px rgba(2, 24, 29, .62),
    0 42px 92px -54px rgba(2, 24, 29, .5);
  transform: translateZ(0);
  transform-style: preserve-3d;
  transition: transform 200ms var(--ttrc-r44-ease), border-color 200ms ease, box-shadow 200ms ease;
}

.ttrc-card--property-result::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: 11%;
  bottom: -14px;
  left: 11%;
  height: 28px;
  border-radius: 50%;
  background: rgba(2, 24, 29, .22);
  filter: blur(14px);
  opacity: .55;
  pointer-events: none;
  transition: opacity 200ms ease, transform 200ms var(--ttrc-r44-ease);
}

.ttrc-card--property-result .ttrc-card__media {
  width: calc(100% - 20px);
  margin: -8px 10px 0;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .86);
  border-radius: 18px;
  background: #dbe9e5;
  box-shadow: 0 18px 34px -20px rgba(2, 24, 29, .76), 0 1px 0 rgba(255, 255, 255, .9) inset;
  transform: translateY(-2px) translateZ(16px);
}

.ttrc-card--property-result .ttrc-card__media img {
  transition: transform 420ms var(--ttrc-r44-ease), filter 260ms ease;
}

.ttrc-card--property-result .ttrc-card__body {
  position: relative;
  padding: 20px 17px 18px;
  transform: translateZ(8px);
}

.ttrc-card--property-result .ttrc-card__meta {
  min-height: 26px;
  color: #31575d;
  font-size: 12px;
  letter-spacing: .025em;
}

.ttrc-card--property-result h2 {
  margin-block: 10px 16px;
  font-family: Manrope, system-ui, sans-serif;
  font-size: clamp(20px, 1.65vw, 23px);
  font-weight: 600;
  line-height: 1.3;
  text-wrap: balance;
}

.ttrc-card--property-result h2 a {
  -webkit-line-clamp: 3;
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
}

.ttrc-card--property-result .ttrc-facts {
  gap: 1px;
  overflow: hidden;
  border: 1px solid rgba(8, 45, 52, .1);
  border-radius: 13px;
  background: rgba(8, 45, 52, .1);
}

.ttrc-card--property-result .ttrc-facts > div {
  background: rgba(255, 253, 247, .96);
}

.ttrc-card--property-result .ttrc-card__actions {
  align-items: stretch;
}

.ttrc-card--property-result :is(.ttrc-card__cta, .ttrc-card__maplink) {
  min-height: 48px;
  transition: transform 150ms var(--ttrc-r44-ease), box-shadow 150ms ease, background-color 150ms ease;
}

.ttrc-card--property-result :is(.ttrc-card__cta, .ttrc-card__maplink):active {
  transform: translateY(2px);
}

.ttrc-card--property-result:focus-within {
  border-color: rgba(221, 169, 93, .8);
  box-shadow: 0 0 0 3px rgba(221, 169, 93, .24), 0 32px 72px -42px rgba(2, 24, 29, .65);
}

@media (hover: hover) and (pointer: fine) {
  .ttrc-card--property-result:hover {
    border-color: rgba(221, 169, 93, .5);
    box-shadow:
      0 2px 0 rgba(255, 255, 255, .9) inset,
      0 26px 42px -25px rgba(2, 24, 29, .66),
      0 52px 110px -58px rgba(2, 24, 29, .54);
    transform: translateY(-3px) rotateX(.7deg) rotateY(-.7deg) scale(1.003);
  }

  .ttrc-card--property-result:hover::after {
    opacity: .72;
    transform: translateY(5px) scale(.94);
  }

  .ttrc-card--property-result:hover .ttrc-card__media img {
    filter: saturate(1.04) contrast(1.025);
    transform: scale(1.028);
  }
}

.ttrc-single__summary {
  gap: clamp(20px, 2.4vw, 34px);
}

.ttrc-single__facts,
.ttrc-request-card,
.ttrc-single__location,
.ttrc-single__content.ttrc-reading-plane {
  border-color: rgba(8, 45, 52, .14);
  background: rgba(255, 250, 240, .975);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .88),
    0 24px 50px -34px rgba(2, 24, 29, .58),
    0 60px 120px -78px rgba(2, 24, 29, .46);
}

.ttrc-single__facts,
.ttrc-request-card {
  border-radius: 22px;
}

.ttrc-single__facts .ttrc-facts > div {
  min-height: 70px;
  align-content: center;
  border-radius: 13px;
  background: rgba(247, 242, 231, .7);
}

.ttrc-request-card {
  position: relative;
  overflow: hidden;
}

.ttrc-request-card .ttss-button {
  min-height: 50px;
  box-shadow: 0 14px 32px -20px rgba(128, 79, 16, .68);
}

.ttrc-gallery--r43-mosaic {
  gap: 14px;
  perspective: 1600px;
}

.ttrc-gallery--r43-mosaic figure {
  /* Track height owns the mosaic. A 4:3 intrinsic ratio overflowed the last
     5/7-column row into the photograph links and map on wide screens. */
  height: 100%;
  aspect-ratio: auto;
  border: 1px solid rgba(255, 255, 255, .8);
  box-shadow: 0 26px 54px -34px rgba(2, 24, 29, .72);
  transition: transform 200ms var(--ttrc-r44-ease), box-shadow 200ms ease;
}

@media (hover: hover) and (pointer: fine) {
  .ttrc-gallery--r43-mosaic figure:hover,
  .ttrc-gallery--r43-mosaic figure:focus-within {
    box-shadow: 0 32px 64px -34px rgba(2, 24, 29, .76);
    transform: translateY(-3px) translateZ(8px);
  }
}

@media (max-width: 760px) {
  .ttrc-card--property-result {
    overflow: hidden;
    border-radius: 18px;
    transform: none;
  }

  .ttrc-card--property-result::after {
    display: none;
  }

  .ttrc-card--property-result .ttrc-card__media,
  .ttrc-card--property-result .ttrc-card__body {
    transform: none;
  }

  .ttrc-card--property-result .ttrc-card__media {
    width: calc(100% - 16px);
    margin: -6px 8px 0;
  }

  .ttrc-card--property-result h2 {
    font-size: clamp(23px, 7.2vw, 28px);
  }

  .ttrc-single__facts .ttrc-facts > div {
    min-height: 62px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ttrc-card--property-result,
  .ttrc-card--property-result::after,
  .ttrc-card--property-result .ttrc-card__media img,
  .ttrc-card--property-result :is(.ttrc-card__cta, .ttrc-card__maplink),
  .ttrc-gallery--r43-mosaic figure {
    transition: none;
  }

  .ttrc-card--property-result:hover,
  .ttrc-gallery--r43-mosaic figure:hover {
    transform: none;
  }
}

@media (forced-colors: active) {
  .ttrc-card--property-result,
  .ttrc-card--property-result .ttrc-card__media,
  .ttrc-single__facts,
  .ttrc-request-card {
    border: 2px solid CanvasText;
    background: Canvas;
    box-shadow: none;
  }

  .ttrc-card--property-result::after {
    display: none;
  }
}
