/* =========================================================================
   Proactive Available Rentals — front-end stylesheet
   Every selector is namespaced under .pps-rentals- so this can never
   collide with the theme, Elementor, WooCommerce, or any other plugin.
   Brand: Navy #082B57, Green #16A637, White, light bg #F6F8FA.
   Headings: Montserrat. Body: Source Sans 3.
   ========================================================================= */

.pps-rentals-wrap{
  --pps-r-navy:#082B57;
  --pps-r-navy-08:rgba(8,43,87,.08);
  --pps-r-navy-12:rgba(8,43,87,.12);
  --pps-r-green:#16A637;
  --pps-r-green-dark:#0F7E28;
  --pps-r-white:#FFFFFF;
  --pps-r-bg:#F6F8FA;
  --pps-r-ink:#4A5568;
  --pps-r-blue:#1D6FD1;
  --pps-r-blue-bg:#E9F2FE;
  --pps-r-green-bg:#E7F8EA;
  --pps-r-head:"Montserrat","Helvetica Neue",Arial,sans-serif;
  --pps-r-body:"Source Sans 3","Source Sans Pro","Segoe UI",Arial,sans-serif;
  --pps-r-radius:14px;
  --pps-r-ease:cubic-bezier(.22,1,.36,1);

  font-family:var(--pps-r-body);
  color:var(--pps-r-ink);
  background-color:var(--pps-r-bg);
}
.pps-rentals-wrap,.pps-rentals-wrap *,.pps-rentals-wrap *::before,.pps-rentals-wrap *::after{
  box-sizing:border-box;
}
.pps-rentals-wrap :where(h1,h2,h3,h4,p,ul,ol,li,dl,dd,dt,figure){ margin:0; padding:0; }
.pps-rentals-wrap :where(ul,ol){ list-style:none; }
.pps-rentals-wrap img{ max-width:100%; display:block; }
.pps-rentals-wrap a{ color:inherit; }

/* =========================================================================
   THEME SIDEBAR COMPATIBILITY
   This stylesheet only ever loads on an Available Rental page (see
   class-assets.php), so these rules can never affect the rest of the site.
   Many WordPress themes (Astra, GeneratePress, Kadence, OceanWP, the
   Twenty-* themes, etc.) reserve a widget-area/sidebar column in their own
   header.php layout wrapper before our custom template ever runs, and we
   never call get_sidebar() to fill it. That leaves an empty, oddly-shaded
   column next to our content — the "gray box" next to the inquiry form.
   Hiding the common sidebar containers removes them from the layout
   entirely (display:none takes them out of flex/grid flow, not just out
   of view) and lets our own content area expand to fill the freed space.
   ========================================================================= */
body.single-available_rental #secondary,
body.single-available_rental .widget-area,
body.single-available_rental aside.widget-area,
body.single-available_rental .sidebar,
body.single-available_rental .site-sidebar,
body.single-available_rental .ast-sidebar,
body.single-available_rental .sidebar-main,
body.single-available_rental .inside-right-sidebar,
body.single-available_rental #right-sidebar,
body.single-available_rental #left-sidebar,
body.single-available_rental .kadence-sidebar,
body.single-available_rental .ocean-sidebar,
body.single-available_rental #ocean-sidebar,
body.post-type-archive-available_rental #secondary,
body.post-type-archive-available_rental .widget-area,
body.post-type-archive-available_rental aside.widget-area,
body.post-type-archive-available_rental .sidebar,
body.post-type-archive-available_rental .site-sidebar,
body.post-type-archive-available_rental .ast-sidebar,
body.post-type-archive-available_rental .sidebar-main,
body.post-type-archive-available_rental .inside-right-sidebar,
body.post-type-archive-available_rental #right-sidebar,
body.post-type-archive-available_rental #left-sidebar,
body.post-type-archive-available_rental .kadence-sidebar,
body.post-type-archive-available_rental .ocean-sidebar,
body.post-type-archive-available_rental #ocean-sidebar{
  display:none !important;
}
body.single-available_rental #primary,
body.single-available_rental #main,
body.single-available_rental .site-main,
body.single-available_rental .content-area,
body.single-available_rental .ast-container > .ast-row > div,
body.post-type-archive-available_rental #primary,
body.post-type-archive-available_rental #main,
body.post-type-archive-available_rental .site-main,
body.post-type-archive-available_rental .content-area,
body.post-type-archive-available_rental .ast-container > .ast-row > div{
  width:100% !important; max-width:100% !important;
  flex:0 0 100% !important; grid-column:1 / -1 !important;
  margin-inline:0 !important; float:none !important;
}

.pps-rentals-container{
  width:min(100% - 48px, 1280px);
  margin-inline:auto;
}

/* ---------- shared buttons ---------- */
.pps-rentals-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:12px 22px; border-radius:999px;
  font-family:var(--pps-r-body); font-size:14.5px; font-weight:600;
  text-decoration:none; white-space:nowrap; cursor:pointer;
  border:1.6px solid transparent;
  transition:background-color .22s var(--pps-r-ease), color .22s var(--pps-r-ease), transform .22s var(--pps-r-ease), border-color .22s var(--pps-r-ease);
}
.pps-rentals-btn svg{
  width:15px; height:15px; flex:none;
  fill:none; stroke:currentColor; stroke-width:2;
  stroke-linecap:round; stroke-linejoin:round;
}
.pps-rentals-btn-primary{
  background-color:var(--pps-r-green); color:var(--pps-r-white); border-color:var(--pps-r-green);
}
.pps-rentals-btn-primary:hover,.pps-rentals-btn-primary:focus-visible{
  background-color:var(--pps-r-green-dark); border-color:var(--pps-r-green-dark); transform:translateY(-1px);
}
.pps-rentals-btn-outline{
  background-color:var(--pps-r-white); color:var(--pps-r-navy); border-color:var(--pps-r-navy-12);
}
.pps-rentals-btn-outline:hover,.pps-rentals-btn-outline:focus-visible{
  border-color:var(--pps-r-navy); background-color:var(--pps-r-bg);
}
.pps-rentals-wrap a:focus-visible,
.pps-rentals-wrap button:focus-visible,
.pps-rentals-wrap input:focus-visible,
.pps-rentals-wrap select:focus-visible,
.pps-rentals-wrap textarea:focus-visible{
  outline:2px solid var(--pps-r-green); outline-offset:2px;
}

.pps-rentals-accent{ color:var(--pps-r-green); }

/* =========================================================================
   HERO
   ========================================================================= */
.pps-rentals-hero{
  background:linear-gradient(180deg,#EFF5FB 0%,var(--pps-r-bg) 100%);
  padding-block:clamp(38px,4.5vw,58px);
  border-bottom:1px solid var(--pps-r-navy-08);
}
.pps-rentals-hero-title{
  font-family:var(--pps-r-head); font-weight:800;
  font-size:clamp(30px,3.6vw,46px); line-height:1.12;
  letter-spacing:-.02em; color:var(--pps-r-navy);
}
.pps-rentals-hero-title .pps-rentals-accent{ display:block; }
.pps-rentals-hero-copy{
  margin-top:14px; max-width:620px;
  font-size:clamp(15.5px,1.2vw,17.5px); line-height:1.5;
}
.pps-rentals-hero-points{
  display:flex; flex-wrap:wrap; gap:12px 30px; margin-top:24px;
}
.pps-rentals-hero-points li{
  display:flex; align-items:center; gap:9px;
  font-size:14px; font-weight:600; color:var(--pps-r-navy);
}
.pps-rentals-hero-points svg{
  width:20px; height:20px; flex:none;
  fill:none; stroke:var(--pps-r-navy); stroke-width:1.6;
  stroke-linecap:round; stroke-linejoin:round;
}

/* =========================================================================
   LISTING SECTION / FILTERS
   ========================================================================= */
.pps-rentals-listing{ padding-block:clamp(36px,4vw,54px); }
.pps-rentals-section-head{ text-align:center; max-width:760px; margin-inline:auto; }
.pps-rentals-section-title{
  font-family:var(--pps-r-head); font-weight:700;
  font-size:clamp(23px,2.5vw,32px); line-height:1.2; letter-spacing:-.015em;
  color:var(--pps-r-navy);
}
.pps-rentals-section-copy{ margin-top:10px; font-size:15.5px; line-height:1.5; }

.pps-rentals-filters{
  display:flex; flex-wrap:wrap; align-items:end; gap:14px;
  margin-top:30px; padding:18px; background-color:var(--pps-r-white);
  border:1px solid var(--pps-r-navy-08); border-radius:var(--pps-r-radius);
  box-shadow:0 2px 10px rgba(8,43,87,.05);
}
.pps-rentals-field{ display:flex; flex-direction:column; gap:6px; flex:1 1 160px; min-width:140px; }
.pps-rentals-field label{ font-size:12.5px; font-weight:600; color:var(--pps-r-navy); text-transform:uppercase; letter-spacing:.03em; }
.pps-rentals-field select{
  padding:10px 12px; border:1px solid #D7E2EC; border-radius:8px;
  font-family:var(--pps-r-body); font-size:14.5px; color:var(--pps-r-navy);
  background-color:var(--pps-r-white);
}
.pps-rentals-filters .pps-rentals-btn{ flex:none; height:41px; margin-top:auto; }

.pps-rentals-count{ margin-top:18px; font-size:14px; font-weight:600; color:var(--pps-r-navy); }

/* =========================================================================
   GRID / CARDS
   ========================================================================= */
.pps-rentals-grid{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px; margin-top:16px;
}
.pps-rentals-empty{
  grid-column:1 / -1; text-align:center; padding:40px 20px;
  font-size:15.5px; color:var(--pps-r-ink);
}

.pps-rentals-card{
  display:flex; flex-direction:column;
  background-color:var(--pps-r-white);
  border:1px solid var(--pps-r-navy-08); border-radius:var(--pps-r-radius);
  overflow:hidden;
  box-shadow:0 1px 3px rgba(8,43,87,.05);
  transition:box-shadow .26s var(--pps-r-ease), transform .26s var(--pps-r-ease);
}
.pps-rentals-card:hover{
  box-shadow:0 14px 30px rgba(8,43,87,.12); transform:translateY(-3px);
}
.pps-rentals-card-image{ position:relative; aspect-ratio:16/10; overflow:hidden; background-color:#DCE6EF; }
.pps-rentals-card-image img{ width:100%; height:100%; object-fit:cover; transition:transform .5s var(--pps-r-ease); }
.pps-rentals-card:hover .pps-rentals-card-image img{ transform:scale(1.05); }
.pps-rentals-card-placeholder{
  display:flex; align-items:center; justify-content:center; height:100%;
  font-size:13px; font-weight:600; color:var(--pps-r-navy); background-color:#DCE6EF;
}
.pps-rentals-badges{ position:absolute; top:12px; left:12px; display:flex; gap:8px; }
.pps-rentals-badge{
  padding:5px 11px; border-radius:999px; font-size:11.5px; font-weight:700;
  color:var(--pps-r-white); letter-spacing:.01em;
}
.pps-rentals-badge-blue{ background-color:var(--pps-r-blue); }
.pps-rentals-badge-green{ background-color:var(--pps-r-green); }

.pps-rentals-card-content{ display:flex; flex-direction:column; flex:1; padding:18px; }
.pps-rentals-card-top{ display:flex; justify-content:space-between; align-items:start; gap:10px; }
.pps-rentals-card-title{
  font-family:var(--pps-r-head); font-weight:700; font-size:17px; line-height:1.3;
  color:var(--pps-r-navy);
}
.pps-rentals-card-title a{ text-decoration:none; }
.pps-rentals-card-title a:hover{ color:var(--pps-r-green); }
.pps-rentals-price{ flex:none; text-align:right; font-size:11.5px; color:var(--pps-r-ink); }
.pps-rentals-price-from{ display:block; font-size:10.5px; text-transform:uppercase; letter-spacing:.04em; }
.pps-rentals-price{ font-weight:700; }
.pps-rentals-price-term{ display:block; font-size:11px; font-weight:500; color:var(--pps-r-ink); }
.pps-rentals-price{ color:var(--pps-r-green); font-size:16px; }

.pps-rentals-location{
  display:flex; align-items:center; gap:6px; margin-top:8px;
  font-size:13.5px; color:var(--pps-r-ink);
}
.pps-rentals-location svg{ width:14px; height:14px; flex:none; fill:none; stroke:var(--pps-r-navy); stroke-width:1.7; }

.pps-rentals-meta{
  display:flex; flex-wrap:wrap; gap:12px 16px; margin-top:12px;
  padding-top:12px; border-top:1px solid var(--pps-r-navy-08);
}
.pps-rentals-meta li{
  display:flex; align-items:center; gap:6px; font-size:13px; font-weight:600; color:var(--pps-r-navy);
}
.pps-rentals-meta svg{ width:15px; height:15px; flex:none; fill:none; stroke:var(--pps-r-green); stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }

.pps-rentals-card-btn{ margin-top:16px; width:100%; }

/* =========================================================================
   LOAD MORE
   ========================================================================= */
.pps-rentals-loadmore-wrap{ text-align:center; margin-top:32px; }

/* =========================================================================
   SINGLE PROPERTY PAGE
   ========================================================================= */
.pps-rentals-single{ padding-block:clamp(28px,3.5vw,46px); }
.pps-rentals-single-container{ max-width:1180px; }
.pps-rentals-breadcrumb{ font-size:14px; font-weight:600; margin-bottom:16px; }
.pps-rentals-breadcrumb a{ text-decoration:none; color:var(--pps-r-navy); }
.pps-rentals-breadcrumb a:hover{ color:var(--pps-r-green); }

/* gallery */
.pps-rentals-gallery{ margin-bottom:28px; }
.pps-rentals-gallery-main{
  position:relative; border-radius:var(--pps-r-radius); overflow:hidden;
  aspect-ratio:16/9; background-color:#DCE6EF;
}
.pps-rentals-gallery-slide{
  position:absolute; inset:0; padding:0; border:0; background:none; cursor:zoom-in;
  opacity:0; pointer-events:none; transition:opacity .3s var(--pps-r-ease);
}
.pps-rentals-gallery-slide.is-active{ opacity:1; pointer-events:auto; }
.pps-rentals-gallery-slide img{ width:100%; height:100%; object-fit:cover; }
.pps-rentals-gallery-thumbs{
  display:flex; gap:10px; margin-top:12px; overflow-x:auto; padding-bottom:4px;
}
.pps-rentals-gallery-thumb{
  flex:none; width:88px; height:64px; padding:0; border-radius:8px; overflow:hidden;
  border:2px solid transparent; cursor:pointer; background:none;
}
.pps-rentals-gallery-thumb img{ width:100%; height:100%; object-fit:cover; }
.pps-rentals-gallery-thumb.is-active{ border-color:var(--pps-r-green); }
.pps-rentals-gallery-placeholder{
  padding:60px 20px; text-align:center; background-color:#DCE6EF;
  border-radius:var(--pps-r-radius); color:var(--pps-r-navy); font-weight:600; margin-bottom:28px;
}

.pps-rentals-lightbox{
  position:fixed; inset:0; z-index:9999; background-color:rgba(8,20,36,.92);
  display:flex; align-items:center; justify-content:center; padding:32px;
}
.pps-rentals-lightbox[hidden]{ display:none; }
.pps-rentals-lightbox img{ max-width:100%; max-height:88vh; border-radius:8px; }
.pps-rentals-lightbox-close,.pps-rentals-lightbox-prev,.pps-rentals-lightbox-next{
  position:absolute; background:rgba(255,255,255,.12); color:#fff; border:0; border-radius:50%;
  width:44px; height:44px; font-size:24px; cursor:pointer; display:grid; place-items:center;
}
.pps-rentals-lightbox-close{ top:20px; right:20px; }
.pps-rentals-lightbox-prev{ left:20px; top:50%; transform:translateY(-50%); }
.pps-rentals-lightbox-next{ right:20px; top:50%; transform:translateY(-50%); }
.pps-rentals-lightbox-close:hover,.pps-rentals-lightbox-prev:hover,.pps-rentals-lightbox-next:hover{ background:rgba(255,255,255,.24); }

/* single grid layout
   Flexbox with wrap + flex-basis rather than a fixed-width grid column.
   This stacks correctly whenever the AVAILABLE SPACE is narrow — a real
   phone, a narrow theme content column, or an Elementor preview pane —
   instead of only reacting to the full browser viewport width the way a
   @media query does. That mismatch (container narrower than the browser
   window) was the cause of the sidebar being squeezed into a sliver. */
.pps-rentals-single-grid{
  display:flex; flex-wrap:wrap; gap:32px; align-items:flex-start;
}
.pps-rentals-single-main{
  flex:999 1 560px; min-width:0; max-width:100%;
}
.pps-rentals-single-sidebar{
  flex:1 1 320px; min-width:280px; max-width:100%; width:100%;
}
@media (min-width:920px){
  .pps-rentals-single-sidebar{ max-width:380px; }
}
.pps-rentals-single-title{
  font-family:var(--pps-r-head); font-weight:800; font-size:clamp(26px,2.8vw,36px);
  line-height:1.16; letter-spacing:-.02em; color:var(--pps-r-navy);
}
.pps-rentals-single-location{
  display:flex; align-items:center; gap:7px; margin-top:10px; font-size:15px; color:var(--pps-r-ink);
}
.pps-rentals-single-location svg{ width:16px; height:16px; flex:none; fill:none; stroke:var(--pps-r-navy); stroke-width:1.7; }
.pps-rentals-neighborhood{ color:var(--pps-r-ink); }
.pps-rentals-single-prices{ display:flex; flex-wrap:wrap; gap:20px; margin-top:16px; }
.pps-rentals-single-price{ font-size:26px; font-weight:800; color:var(--pps-r-green); }
.pps-rentals-single-price span{ font-size:14px; font-weight:500; color:var(--pps-r-ink); margin-left:4px; }

.pps-rentals-quickfacts{
  display:flex; flex-wrap:wrap; gap:14px; margin-top:22px; padding:16px;
  background-color:var(--pps-r-white); border:1px solid var(--pps-r-navy-08); border-radius:12px;
}
.pps-rentals-quickfacts li{
  flex:1 1 120px; text-align:center; font-size:13px; color:var(--pps-r-ink);
}
.pps-rentals-quickfacts strong{
  display:block; font-family:var(--pps-r-head); font-size:20px; color:var(--pps-r-navy); font-weight:700;
}

.pps-rentals-section{ margin-top:34px; }
.pps-rentals-section h2{
  font-family:var(--pps-r-head); font-weight:700; font-size:21px; color:var(--pps-r-navy); margin-bottom:14px;
}
.pps-rentals-description{ font-size:15.5px; line-height:1.65; }
.pps-rentals-description p{ margin-bottom:14px; }

.pps-rentals-highlights{ display:grid; gap:9px; }
.pps-rentals-highlights li{
  position:relative; padding-left:24px; font-size:15px; line-height:1.5;
}
.pps-rentals-highlights li::before{
  content:""; position:absolute; left:0; top:6px; width:14px; height:14px; border-radius:50%;
  background-color:var(--pps-r-green);
}

.pps-rentals-features{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }
.pps-rentals-features li{ display:flex; align-items:center; gap:9px; font-size:14.5px; font-weight:600; color:var(--pps-r-navy); }
.pps-rentals-features svg{
  width:18px; height:18px; flex:none; border-radius:50%; padding:3px;
  background-color:var(--pps-r-green-bg); fill:none; stroke:var(--pps-r-green); stroke-width:2.6;
  stroke-linecap:round; stroke-linejoin:round;
}

.pps-rentals-details{ display:grid; gap:0; border-top:1px solid var(--pps-r-navy-08); }
.pps-rentals-details-row{
  display:flex; justify-content:space-between; gap:14px; padding:11px 0;
  border-bottom:1px solid var(--pps-r-navy-08); font-size:14.5px;
}
.pps-rentals-details-row dt{ color:var(--pps-r-ink); }
.pps-rentals-details-row dd{ font-weight:700; color:var(--pps-r-navy); text-align:right; }
.pps-rentals-note{ margin-top:12px; font-size:14px; line-height:1.55; color:var(--pps-r-ink); }
.pps-rentals-address{ font-size:15.5px; font-weight:600; color:var(--pps-r-navy); }

/* ---------- inquiry sidebar ---------- */
@media (min-width:920px){
  .pps-rentals-single-sidebar{ position:sticky; top:24px; }
}
.pps-rentals-inquiry{
  width:100%; box-sizing:border-box;
  background-color:var(--pps-r-white); border:1px solid var(--pps-r-navy-08);
  border-radius:var(--pps-r-radius); padding:22px; box-shadow:0 10px 30px rgba(8,43,87,.09);
}
.pps-rentals-inquiry-title{ font-family:var(--pps-r-head); font-weight:700; font-size:19px; color:var(--pps-r-navy); }
.pps-rentals-inquiry-copy{ margin-top:8px; font-size:13.5px; line-height:1.5; }
.pps-rentals-inquiry-contact{ margin-top:14px; padding:12px; background-color:var(--pps-r-bg); border-radius:10px; display:grid; gap:6px; }
.pps-rentals-inquiry-contact li{ font-size:13.5px; font-weight:600; color:var(--pps-r-navy); }
.pps-rentals-inquiry-contact a{ text-decoration:none; }
.pps-rentals-inquiry-contact a:hover{ color:var(--pps-r-green); }

.pps-rentals-contact-btn{
  display:flex; width:100%; box-sizing:border-box; margin-top:18px;
  padding:16px 22px; font-size:16px; font-weight:700;
  color:var(--pps-r-white) !important;
  text-align:center; justify-content:center; align-items:center;
  box-shadow:0 10px 24px rgba(22,166,55,.3);
}
.pps-rentals-contact-btn:hover,.pps-rentals-contact-btn:focus-visible{
  color:var(--pps-r-white) !important;
  box-shadow:0 12px 28px rgba(22,166,55,.36);
}

.pps-rentals-form{ display:grid; gap:12px; margin-top:16px; }
.pps-rentals-form-row{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.pps-rentals-form-field{ display:flex; flex-direction:column; gap:5px; }
.pps-rentals-form-field label{ font-size:12.5px; font-weight:600; color:var(--pps-r-navy); }
.pps-rentals-form input,.pps-rentals-form textarea{
  padding:11px 12px; border:1px solid #D7E2EC; border-radius:8px;
  font-family:var(--pps-r-body); font-size:14.5px; color:var(--pps-r-navy);
  background-color:var(--pps-r-white);
}
.pps-rentals-form textarea{ resize:vertical; min-height:80px; }
.pps-rentals-form input[aria-invalid="true"],.pps-rentals-form textarea[aria-invalid="true"]{ border-color:#C0392B; }
.pps-rentals-hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.pps-rentals-form-submit{ width:100%; margin-top:4px; }
.pps-rentals-form-submit[disabled]{ opacity:.65; cursor:progress; }
.pps-rentals-form-note{
  margin:0; padding:10px 12px; border-radius:8px; font-size:13.5px; line-height:1.45;
  background-color:#FFF4E5; border:1px solid #F0C98A; color:#6A4A10;
}
.pps-rentals-form-note.pps-note-ok{ background-color:#E8F6E8; border-color:#9FCF9F; color:#1C5E1C; }
.pps-rentals-form-note.pps-note-bad{ background-color:#FDECEC; border-color:#E6A9A9; color:#7A2020; }

/* =========================================================================
   ADMIN META BOX STYLING (shared file, scoped by parent context)
   ========================================================================= */
.pps-field-grid{ display:grid; grid-template-columns:1fr 1fr; gap:0 20px; }
.pps-field-row{ margin-bottom:12px; }
.pps-field-label{ display:block; font-weight:600; margin-bottom:4px; }
.pps-feature-checklist{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.pps-feature-check{ font-size:13px; }
.pps-gallery-list{ display:flex; flex-wrap:wrap; gap:10px; padding:0; margin:0 0 10px; list-style:none; }
.pps-gallery-item{ position:relative; width:80px; height:80px; border:1px solid #ddd; border-radius:6px; overflow:hidden; cursor:move; }
.pps-gallery-item img{ width:100%; height:100%; object-fit:cover; }
.pps-gallery-remove{ position:absolute; top:2px; right:2px; background:rgba(0,0,0,.6); color:#fff; width:20px; height:20px; line-height:18px; border-radius:50%; text-align:center; padding:0; }

/* =========================================================================
   RESPONSIVE
   ========================================================================= */
@media (max-width:1024px){
  .pps-rentals-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:768px){
  .pps-rentals-container{ width:min(100% - 36px, 1280px); }
  .pps-rentals-filters{ flex-direction:column; align-items:stretch; }
  .pps-rentals-filters .pps-rentals-btn{ width:100%; }
  .pps-rentals-hero-points{ gap:10px 20px; }
  .pps-rentals-features{ grid-template-columns:1fr; }
  .pps-rentals-form-row{ grid-template-columns:1fr; }
}
@media (max-width:640px){
  .pps-rentals-grid{ grid-template-columns:1fr; }
  .pps-rentals-quickfacts li{ flex:1 1 45%; }
  .pps-rentals-single-title{ font-size:26px; }
}
@media (prefers-reduced-motion:reduce){
  .pps-rentals-wrap *{ transition-duration:.01ms !important; animation-duration:.01ms !important; }
}
