/* Front-end minimal styling for search + templates */
.rtrpsu-wrap{max-width:1140px;margin:0 auto;padding:18px 14px;}
.rtrpsu-hero{border-radius:18px;padding:18px 18px;margin:0 0 14px;background:linear-gradient(180deg, rgba(17,24,39,.04), rgba(17,24,39,.02));}
.rtrpsu-title{margin:0;font-size:28px;line-height:1.1;}
.rtrpsu-subtitle{margin:6px 0 0;color:rgba(17,24,39,.70);}

.rtrpsu-filters{border:1px solid rgba(17,24,39,.10);border-radius:18px;padding:14px;background:#fff;box-shadow:0 10px 30px rgba(17,24,39,.06);margin-bottom:14px;}
.rtrpsu-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
@media (max-width: 980px){.rtrpsu-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width: 640px){.rtrpsu-grid{grid-template-columns:repeat(2,1fr);}}

/* Field spans */
.rtrpsu-field--full{grid-column:1 / -1;}
.rtrpsu-field--half{grid-column:span 2;}
@media (max-width: 980px){.rtrpsu-field--half{grid-column:span 1;}}


.rtrpsu-field label{display:block;font-size:12px;font-weight:700;margin:0 0 6px;color:rgba(17,24,39,.80);}
.rtrpsu-field input,.rtrpsu-field select{width:100%;padding:10px 10px;border-radius:12px;border:1px solid rgba(17,24,39,.16);background:#fff;outline:none;box-sizing:border-box;}
.rtrpsu-field input[type="date"]{font-size:16px;min-height:44px;}
.rtrpsu-field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:38px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath fill='rgba(17,24,39,.65)' d='M5.6 7.5 10 11.9l4.4-4.4 1.4 1.4L10 14.7 4.2 8.9z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:18px 18px;}
.rtrpsu-field input:focus,.rtrpsu-field select:focus{border-color:rgba(59,130,246,.65);box-shadow:0 0 0 4px rgba(59,130,246,.12);}
.rtrpsu-help{font-size:11px;color:rgba(17,24,39,.65);margin-top:6px;line-height:1.35;}

/* Date placeholders for mobile friendliness */
.rtrpsu-datewrap{position:relative;width:100%;}
.rtrpsu-datewrap input[type="date"]{position:relative;background:transparent;z-index:2;width:100% !important;box-sizing:border-box;}
/* Keep the placeholder visually inside the input border on very small screens */
/* Date overlay hint (used on mobile where native date inputs can appear blank). */
.rtrpsu-dateph{display:none;position:absolute;left:12px;right:12px;max-width:calc(100% - 24px);top:50%;transform:translateY(-50%);color:rgba(17,24,39,.55);font-size:14px;font-weight:600;pointer-events:none;z-index:1;white-space:nowrap;overflow:hidden;}
@media (max-width: 768px){
  .rtrpsu-dateph{display:block;}
}

/* Some mobile browsers render input[type=date] strangely; wrap it in a consistent box. */
.rtrpsu-field--date .rtrpsu-datewrap{border:1px solid rgba(17,24,39,.16);border-radius:12px;background:#fff;}
.rtrpsu-field--date .rtrpsu-datewrap input[type="date"]{border:0 !important;padding:10px 10px;box-shadow:none !important;min-height:44px;}
.rtrpsu-field--date .rtrpsu-datewrap:focus-within{border-color:rgba(59,130,246,.65);box-shadow:0 0 0 4px rgba(59,130,246,.12);}

.rtrpsu-row{display:flex;gap:10px;align-items:flex-end;justify-content:space-between;margin-top:12px;flex-wrap:wrap;}

/* Quick filters (Pool / Pets / Elevator / Seasonal) – 4-up compact */
.rtrpsu-quick{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;width:100%;}
.rtrpsu-check--compact{width:100%;}
@media (max-width: 480px){.rtrpsu-quick{grid-template-columns:repeat(2,minmax(0,1fr));}}

.rtrpsu-amenities{margin-top:10px;border-top:1px solid rgba(17,24,39,.08);padding-top:10px;}
.rtrpsu-amenities summary{cursor:pointer;font-weight:800;}
.rtrpsu-amenities__grid{margin-top:10px;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
@media (max-width: 980px){.rtrpsu-amenities__grid{grid-template-columns:repeat(3,1fr);}}
@media (max-width: 640px){.rtrpsu-amenities__grid{grid-template-columns:repeat(2,1fr);}}
.rtrpsu-check{display:flex;gap:10px;align-items:center;padding:10px;border:1px solid rgba(17,24,39,.10);border-radius:14px;background:rgba(17,24,39,.02);}
.rtrpsu-check input{transform:scale(1.05);}

.rtrpsu-actions{display:flex;gap:10px;align-items:center;}
.rtrpsu-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:12px;padding:10px 14px;border:1px solid rgba(17,24,39,.14);text-decoration:none;font-weight:800;cursor:pointer;user-select:none;}
.rtrpsu-btn--primary{background:rgba(59,130,246,1);border-color:rgba(59,130,246,1);color:#fff;}
.rtrpsu-btn--ghost{background:transparent;color:rgba(17,24,39,.90);}
.rtrpsu-btn--small{padding:9px 12px;border-radius:12px;}

.rtrpsu-results{padding-top:8px;}
.rtrpsu-results__bar{display:flex;align-items:center;justify-content:space-between;margin:0 0 10px;flex-wrap:wrap;gap:10px;}
.rtrpsu-count{font-weight:900;}

.rtrpsu-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
@media (max-width: 1024px){.rtrpsu-cards{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width: 640px){.rtrpsu-cards{grid-template-columns:1fr;}}

/* Desktop results should look like the mobile cards: image on top, content below */
.rtrpsu-card{display:flex;flex-direction:column;border:1px solid rgba(17,24,39,.10);border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 12px 32px rgba(17,24,39,.06);}
.rtrpsu-card__media{display:block;position:relative;background:rgba(17,24,39,.06);aspect-ratio:16/10;min-height:180px;}
.rtrpsu-card__media img{width:100%;height:100%;object-fit:cover;display:block;}
.rtrpsu-card__ph{width:100%;height:100%;min-height:180px;background:repeating-linear-gradient(45deg, rgba(17,24,39,.06), rgba(17,24,39,.06) 10px, rgba(17,24,39,.03) 10px, rgba(17,24,39,.03) 20px);}
.rtrpsu-card__body{padding:12px 12px 14px;}
.rtrpsu-card__title{margin:2px 0 8px;font-size:18px;line-height:1.25;}
.rtrpsu-card__title a{text-decoration:none;}
.rtrpsu-card__meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px;}
.rtrpsu-pill{display:inline-flex;gap:6px;align-items:center;padding:6px 10px;border-radius:999px;background:rgba(17,24,39,.06);font-size:12px;font-weight:900;}
.rtrpsu-pill--soft{background:rgba(59,130,246,.12);}
.rtrpsu-card__excerpt{color:rgba(17,24,39,.75);font-size:14px;line-height:1.45;margin-bottom:12px;}
.rtrpsu-card__cta{display:flex;justify-content:flex-end;}

.rtrpsu-pagination{margin:14px 0 0;}
.rtrpsu-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;margin:2px 6px 0 0;padding:8px 10px;border-radius:12px;border:1px solid rgba(17,24,39,.12);text-decoration:none;}
.rtrpsu-pagination .current{background:rgba(17,24,39,.08);font-weight:900;}

.rtrpsu-empty{border:1px dashed rgba(17,24,39,.20);border-radius:18px;padding:18px;background:rgba(17,24,39,.02);}

.rtrps-search { margin: 20px 0; }
.rtrps-search-form { padding: 16px; border: 1px solid rgba(0,0,0,.08); border-radius: 10px; background: #fff; }
.rtrps-search-grid { display:grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.rtrps-field-wide { grid-column: 1 / -1; }
.rtrps-field label { display:block; font-weight: 600; margin-bottom: 6px; }
.rtrps-field input[type="text"],
.rtrps-field input[type="number"] { width: 100%; padding: 10px 12px; border-radius: 8px; border: 1px solid rgba(0,0,0,.14); }
.rtrps-amenities { display:flex; flex-wrap:wrap; gap:10px 14px; padding: 8px 0; }
.rtrps-amenity { display:flex; align-items:center; gap: 6px; font-size: 14px; }
.rtrps-actions { display:flex; align-items:center; gap: 12px; margin-top: 12px; }
.rtrps-actions button[type="submit"] { padding: 10px 14px; border-radius: 10px; border: 1px solid rgba(0,0,0,.12); background: #f3f4f6; cursor:pointer; }
.rtrps-clear { font-size: 14px; text-decoration: none; }

.rtrps-results { margin-top: 18px; }
.rtrps-results-header { margin-bottom: 12px; }

.rtrps-cards { display:grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.rtrps-card { border: 1px solid rgba(0,0,0,.08); border-radius: 12px; overflow:hidden; background:#fff; }
.rtrps-card-image { display:block; aspect-ratio: 4 / 3; background: #f6f7f7; }
.rtrps-card-image img { width: 100%; height: 100%; object-fit: cover; display:block; }
.rtrps-card-body { padding: 12px; }
.rtrps-card-title { margin: 0 0 6px 0; font-size: 18px; line-height: 1.25; }
.rtrps-card-title a { text-decoration: none; }
.rtrps-card-meta { font-size: 13px; opacity: 0.8; }

.rtrps-pagination { display:flex; gap: 8px; margin-top: 16px; flex-wrap:wrap; }
.rtrps-pagination a { padding: 6px 10px; border-radius: 8px; border: 1px solid rgba(0,0,0,.10); text-decoration:none; }
.rtrps-pagination a.is-current { font-weight: 700; }

.rtrps-empty { padding: 16px; border: 1px dashed rgba(0,0,0,.25); border-radius: 12px; }

@media (max-width: 900px) {
  .rtrps-search-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rtrps-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .rtrps-search-grid { grid-template-columns: 1fr; }
  .rtrps-cards { grid-template-columns: 1fr; }
}

/* Single template */
.rtrps-single { padding: 18px 0; }
.rtrps-single-inner { max-width: 1100px; margin: 0 auto; padding: 0 16px; }
.rtrps-single-title { margin: 0 0 6px 0; }
.rtrps-single-sub { opacity: 0.8; margin-bottom: 16px; }
.rtrps-hero img { width: 100%; height: auto; display:block; border-radius: 14px; }
.rtrps-single-grid { display:grid; grid-template-columns: 2fr 1fr; gap: 18px; margin-top: 18px; }
.rtrps-section { margin: 0 0 22px 0; }
.rtrps-gallery { display:grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.rtrps-gallery-item { display:block; border-radius: 12px; overflow:hidden; background:#f6f7f7; }
.rtrps-gallery-item img { width:100%; height: 170px; object-fit: cover; display:block; }
.rtrps-card h3 { margin-top: 0; }
.rtrps-kv { margin: 0; padding: 0; list-style:none; }
.rtrps-kv li { display:flex; justify-content:space-between; gap:12px; padding: 8px 0; border-bottom: 1px solid rgba(0,0,0,.06); }
.rtrps-kv li strong { font-weight: 700; }
.rtrps-muted { display:block; font-size: 12px; opacity: 0.75; margin-top: 2px; }
.rtrps-chips { display:flex; flex-wrap:wrap; gap: 8px; margin-bottom: 12px; }
.rtrps-chip { padding: 6px 10px; border-radius: 999px; border: 1px solid rgba(0,0,0,.12); background: #fafafa; font-size: 13px; }
.rtrps-amenities-table { width: 100%; border-collapse: collapse; }
.rtrps-amenities-table th, .rtrps-amenities-table td { text-align:left; padding: 8px 10px; border-bottom: 1px solid rgba(0,0,0,.06); vertical-align: top; }
.rtrps-amenities-table th { width: 42%; }

@media (max-width: 900px) {
  .rtrps-single-grid { grid-template-columns: 1fr; }
  .rtrps-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Rates */
.rtrps-subhead { margin: 14px 0 8px; font-size: 16px; }
.rtrps-table-wrap { overflow-x: auto; }
.rtrps-rates-table { width: 100%; border-collapse: collapse; }
.rtrps-rates-table th, .rtrps-rates-table td { text-align:left; padding: 8px 10px; border-bottom: 1px solid rgba(0,0,0,.06); vertical-align: top; white-space: nowrap; }
.rtrps-rates-table th:last-child, .rtrps-rates-table td:last-child { white-space: normal; }


/* Quick filter checkboxes (Pool / Pets / Elevator / Seasonal) */
/* Keep this in sync with the primary .rtrpsu-quick definition above. */
.rtrpsu-quick{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;width:100%;}
.rtrpsu-row--search{align-items:flex-end;}


/* Compact checkbox style for quick filters */
.rtrpsu-check--compact{padding:7px 8px;border-radius:10px;background:rgba(17,24,39,.02);font-size:13px;}
.rtrpsu-check--compact span{font-weight:700;}
.rtrpsu-check--compact input{transform:scale(0.95);}


/* --------------------------------------------------------------------------
   Single Property (MLS-style layout) – uses .rtrpsp- prefixed classes only
   -------------------------------------------------------------------------- */
.rtrpsp-single{padding:18px 0 34px;}
.rtrpsp-wrap{max-width:980px;margin:0 auto;padding:0 14px;}
.rtrpsp-back{display:inline-block;margin:6px 0 12px;text-decoration:none;font-size:13px;opacity:.85;}
.rtrpsp-back:hover{opacity:1;}
.rtrpsp-back--bottom{margin-top:18px;}

.rtrpsp-header{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;margin-bottom:10px;}
.rtrpsp-title{margin:0;font-size:18px;line-height:1.25;}
.rtrpsp-loc{margin-top:4px;font-size:13px;opacity:.8;}
.rtrpsp-subtle{margin-top:4px;font-size:12px;opacity:.7;}
.rtrpsp-kicker{font-size:12px;opacity:.75;text-align:right;white-space:nowrap;}

.rtrpsp-media{margin:10px 0 14px;}
.rtrpsp-slider{position:relative;background:#e5e5e5;border:1px solid rgba(0,0,0,.10);padding:0;border-radius:8px;overflow:hidden;}
.rtrpsp-slides{position:relative;width:100%;aspect-ratio:16/9;min-height:340px;background:#f7f7f7;}
.rtrpsp-slide{margin:0;position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:1;}
.rtrpsp-slide[hidden]{display:none !important;}
.rtrpsp-slide img{width:100%;height:100%;object-fit:cover;display:block;background:#f7f7f7;}
@media (max-width: 640px){.rtrpsp-slides{aspect-ratio:4/3;min-height:260px;}}

.rtrpsp-nav{position:absolute;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:999px;border:0;background:rgba(0,0,0,.45);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:5;}
.rtrpsp-nav--prev{left:12px;}
.rtrpsp-nav--next{right:12px;}
.rtrpsp-nav:hover{background:rgba(0,0,0,.6);}
.rtrpsp-counter{position:absolute;bottom:10px;right:12px;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.85);font-size:12px;opacity:.9;z-index:5;}

.rtrpsp-thumbs{display:flex;gap:8px;margin-top:10px;overflow:auto;padding-bottom:6px;}
.rtrpsp-thumb{display:block;flex:0 0 auto;width:64px;height:48px;border-radius:6px;overflow:hidden;border:1px solid rgba(0,0,0,.14);background:#f3f3f3;opacity:.85;padding:0;cursor:pointer;appearance:none;-webkit-appearance:none;}
.rtrpsp-thumb:focus{outline:2px solid rgba(0,0,0,.35);outline-offset:2px;}
.rtrpsp-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.rtrpsp-thumb.is-active{opacity:1;border-color:rgba(0,0,0,.32);box-shadow:0 0 0 2px rgba(0,0,0,.10) inset;}
.rtrpsp-ctas{margin:12px 0 16px;}
.rtrpsp-cta-grid{display:grid;grid-template-columns:1fr;gap:10px;}
@media (min-width: 768px){.rtrpsp-cta-grid{grid-template-columns:1fr 1fr;}}
.rtrpsp-cta-box{padding:12px;border:0;border-radius:8px;background:transparent;}
.rtrpsp-cta-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:800;font-size:14px;line-height:1.2;padding:12px 14px;border-radius:10px;border:0;cursor:pointer;}
.rtrpsp-cta-btn{text-decoration:none;}
.rtrpsp-cta-btn--info{background:#111;color:#fff;}
.rtrpsp-cta-btn--book{background:#0b74de;color:#fff;}
.rtrpsp-cta-btn:focus{outline:2px solid rgba(0,0,0,.35);outline-offset:2px;}
.rtrpsp-cta-btn:active{transform:translateY(1px);}


.rtrpsp-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0 18px;}
@media (max-width: 900px){.rtrpsp-facts{grid-template-columns:repeat(2,1fr);} }
.rtrpsp-fact{padding:10px 12px;border:1px solid rgba(0,0,0,.10);border-radius:8px;background:#fff;}
.rtrpsp-fact__label{display:block;font-size:11px;opacity:.7;margin-bottom:4px;}
.rtrpsp-fact__value{display:block;font-size:14px;font-weight:700;}

.rtrpsp-section{margin:18px 0 0;}
.rtrpsp-h2{margin:0 0 10px;font-size:16px;font-weight:800;}
.rtrpsp-h2:after{content:"";display:block;margin-top:10px;border-bottom:1px solid rgba(0,0,0,.14);}
.rtrpsp-h3{margin:0 0 8px;font-size:13px;font-weight:800;opacity:.8;}
.rtrpsp-body{font-size:14px;line-height:1.6;opacity:.92;}

.rtrpsp-features{border:1px solid rgba(0,0,0,.10);border-radius:8px;background:#fff;}
.rtrpsp-feature-block{padding:14px 14px 6px;}
.rtrpsp-divider{border-top:1px solid rgba(0,0,0,.10);}

.rtrpsp-dl{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;}
@media (max-width: 640px){.rtrpsp-dl{grid-template-columns:1fr;}}
.rtrpsp-dl > div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-top:1px solid rgba(0,0,0,.08);}
.rtrpsp-dl > div:first-child{border-top:0;}
.rtrpsp-dl dt{font-size:12px;opacity:.75;}
.rtrpsp-dl dd{margin:0;font-size:12px;font-weight:700;text-align:right;}

.rtrpsp-amenities-grid{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0;}
.rtrpsp-amenity-chip{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;border:1px solid rgba(0,0,0,.12);background:#fff;font-size:12px;font-weight:700;}

/* Amenity Details: icon tiles */
.rtrpsp-amenity-details-grid{margin-top:10px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
@media (max-width: 900px){.rtrpsp-amenity-details-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width: 360px){.rtrpsp-amenity-details-grid{grid-template-columns:1fr;}}

.rtrpsp-amenity-item{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid rgba(0,0,0,.10);border-radius:12px;background:#fff;min-width:0;}
.rtrpsp-amenity-icon{flex:0 0 auto;width:34px;height:34px;border-radius:10px;border:1px solid rgba(0,0,0,.10);background:rgba(0,0,0,.02);display:flex;align-items:center;justify-content:center;}
.rtrpsp-amenity-icon svg{display:block;}

.rtrpsp-amenity-text{min-width:0;}
.rtrpsp-amenity-line{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;min-width:0;}
.rtrpsp-amenity-count{display:inline-flex;align-items:center;justify-content:center;height:22px;min-width:22px;padding:0 8px;border-radius:999px;border:1px solid rgba(11,116,222,.22);background:rgba(11,116,222,.10);font-weight:900;font-size:12px;line-height:1;}
.rtrpsp-amenity-label{font-weight:800;font-size:13px;line-height:1.25;opacity:.92;overflow-wrap:anywhere;word-break:break-word;hyphens:auto;}
.rtrpsp-amenity-desc{margin-top:3px;font-size:12px;opacity:.75;overflow-wrap:anywhere;word-break:break-word;hyphens:auto;}

.rtrpsp-subsection{margin-top:14px;}
.rtrpsp-muted{display:inline-block;margin-left:8px;font-size:12px;opacity:.7;}

.rtrpsp-table{overflow:auto;border:1px solid rgba(0,0,0,.10);border-radius:8px;background:#fff;}
.rtrpsp-table table{width:100%;border-collapse:collapse;min-width:720px;}
.rtrpsp-table th,.rtrpsp-table td{text-align:left;padding:10px 12px;border-bottom:1px solid rgba(0,0,0,.08);vertical-align:top;font-size:12px;white-space:normal;overflow-wrap:anywhere;word-break:break-word;hyphens:auto;}
.rtrpsp-table thead th{font-weight:800;background:rgba(0,0,0,.02);}
.rtrpsp-table tbody th{font-weight:800;width:38%;}

/* Rental Rates: use the wide table on desktop, and convert each row to a card on mobile. */
.rtrpsp-rate-cards{display:none;flex-direction:column;gap:10px;margin-top:10px;}
.rtrpsp-rate-card{border:1px solid rgba(0,0,0,.10);border-radius:14px;background:#fff;padding:12px;box-shadow:0 10px 24px rgba(17,24,39,.04);}
.rtrpsp-rate-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px;}
.rtrpsp-rate-card__range{font-size:13px;font-weight:900;line-height:1.25;}
.rtrpsp-rate-card__price{font-size:13px;font-weight:900;white-space:nowrap;}
.rtrpsp-rate-card__dl{margin:0;}
.rtrpsp-rate-card__dl > div{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid rgba(0,0,0,.08);}
.rtrpsp-rate-card__dl dt{font-size:12px;opacity:.75;}
.rtrpsp-rate-card__dl dd{margin:0;font-size:12px;font-weight:800;text-align:right;}
.rtrpsp-rate-card__desc{flex-direction:column;align-items:flex-start;}
.rtrpsp-rate-card__desc dd{text-align:left;font-weight:400;opacity:.92;overflow-wrap:anywhere;word-break:break-word;hyphens:auto;}

@media (max-width: 640px){
  .rtrpsp-table--rates{display:none;}
  .rtrpsp-rate-cards{display:flex;}
}

/* Availability Calendar */
.rtrpsp-cal{margin-top:10px;border:1px solid rgba(0,0,0,.10);border-radius:14px;background:#fff;padding:12px;box-shadow:0 10px 24px rgba(17,24,39,.04);}
.rtrpsp-cal__controls{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.rtrpsp-cal__title{font-size:13px;font-weight:900;letter-spacing:.01em;text-align:center;flex:1;}
.rtrpsp-cal__btn{appearance:none;border:1px solid rgba(0,0,0,.12);background:#fff;color:rgba(17,24,39,.85);border-radius:999px;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:20px;line-height:1;}
.rtrpsp-cal__btn:hover{color:rgba(17,24,39,.98);}
.rtrpsp-cal__btn[disabled]{opacity:.45;cursor:not-allowed;}

.rtrpsp-cal__dow{margin-top:10px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;font-size:11px;font-weight:800;opacity:.7;}
.rtrpsp-cal__dow > div{text-align:center;padding:4px 0;}

.rtrpsp-cal__days{margin-top:6px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;}
.rtrpsp-cal__day{position:relative;border:1px solid rgba(0,0,0,.08);border-radius:12px;min-height:44px;padding:7px;display:flex;align-items:flex-start;justify-content:flex-start;background:rgba(0,0,0,.01);}
.rtrpsp-cal__num{font-size:12px;font-weight:800;opacity:.92;}
.rtrpsp-cal__day.is-out{opacity:.35;}

.rtrpsp-cal__day::after{content:'';position:absolute;right:7px;bottom:7px;width:8px;height:8px;border-radius:999px;background:rgba(0,0,0,.28);}
.rtrpsp-cal__day.is-available{border-color:rgba(16,185,129,.35);background:rgba(16,185,129,.06);}
.rtrpsp-cal__day.is-available::after{background:rgba(16,185,129,.95);}
.rtrpsp-cal__day.is-unavailable{border-color:rgba(239,68,68,.25);background:rgba(239,68,68,.04);}
.rtrpsp-cal__day.is-unavailable::after{background:rgba(239,68,68,.90);}
.rtrpsp-cal__day.is-unknown{border-style:dashed;background:rgba(0,0,0,.02);}
.rtrpsp-cal__day.is-unknown::after{background:rgba(0,0,0,.35);}

.rtrpsp-cal__day.is-today{box-shadow:inset 0 0 0 2px rgba(11,116,222,.35);}
.rtrpsp-cal__day.is-selected{box-shadow:inset 0 0 0 2px rgba(11,116,222,.35);}
.rtrpsp-cal__day.is-arrive{box-shadow:inset 0 0 0 2px rgba(11,116,222,.65);}
.rtrpsp-cal__day.is-depart{box-shadow:inset 0 0 0 2px rgba(11,116,222,.65);}

.rtrpsp-cal__legend{margin-top:10px;display:flex;flex-wrap:wrap;gap:10px;font-size:12px;opacity:.85;}
.rtrpsp-cal__legend-item{display:inline-flex;align-items:center;gap:6px;}
.rtrpsp-cal__swatch{width:10px;height:10px;border-radius:999px;display:inline-block;}
.rtrpsp-cal__swatch--avail{background:rgba(16,185,129,.95);}
.rtrpsp-cal__swatch--unavail{background:rgba(239,68,68,.90);}
.rtrpsp-cal__swatch--unknown{background:rgba(0,0,0,.35);}

/* Single: availability calendar disclaimer */
.rtrpsp-disclaimer{margin-top:10px;font-size:13px;line-height:1.4;opacity:.85;font-style:italic;}

@media (max-width: 640px){
  .rtrpsp-cal__day{min-height:38px;padding:6px;border-radius:10px;}
  .rtrpsp-cal__btn{width:34px;height:34px;}
}

/* Amenity Details table is only two columns; allow it to fit on mobile without forcing horizontal scroll. */
.rtrpsp-table--amenities{overflow:visible;}
.rtrpsp-table--amenities table{min-width:0;table-layout:fixed;}
.rtrpsp-table--amenities tbody th{width:55%;}

@media (max-width: 640px){
  .rtrpsp-table--amenities tbody th{width:58%;}
}

.rtrpsp-map-slot{margin-top:10px;border:1px solid rgba(0,0,0,.10);border-radius:14px;background:#f8f8f8;min-height:260px;display:flex;align-items:center;justify-content:center;padding:14px;text-align:center;font-size:13px;opacity:.85;}
.rtrpsp-map-slot--empty{background:#f6f6f6;}

.rtrpsp-map{margin-top:10px;}
.rtrpsp-map__iframe{width:100%;height:280px;border:0;border-radius:14px;display:block;background:#f3f3f3;}
.rtrpsp-map__actions{display:flex;justify-content:flex-end;margin-top:8px;}
.rtrpsp-map__link{font-size:13px;text-decoration:none;opacity:.85;}
.rtrpsp-map__link:hover{opacity:1;text-decoration:underline;}

@media (min-width: 900px){
  .rtrpsp-map__iframe{height:360px;border-radius:16px;}
}
/* Built-in Inquiry Forms */
.rtrpsp-inquiry-grid{margin-top:10px;display:grid;grid-template-columns:1fr;gap:12px;}
@media (min-width: 768px){.rtrpsp-inquiry-grid{grid-template-columns:1fr 1fr;}}
.rtrpsp-inquiry-card{border:1px solid rgba(0,0,0,.10);border-radius:14px;background:#fff;padding:14px;box-shadow:0 10px 24px rgba(17,24,39,.04);color:#111827;}
.rtrpsp-inquiry-title{margin:0 0 6px;font-size:14px;font-weight:900;color:#111827;}
.rtrpsp-inquiry-sub{margin:0 0 10px;font-size:12px;opacity:.75;color:#111827;}
.rtrpsp-inquiry-dates{margin:0 0 10px;font-size:12px;opacity:.85;color:#111827;}
.rtrpsp-inquiry-form{display:flex;flex-direction:column;gap:10px;}
.rtrpsp-inquiry-form.is-focus{outline:2px solid rgba(11,116,222,.35);outline-offset:4px;border-radius:14px;}
.rtrpsp-inquiry-row{display:flex;flex-direction:column;gap:6px;}
.rtrpsp-inquiry-row label{font-size:12px;font-weight:800;opacity:.85;color:#374151;}
.rtrpsp-inquiry-row input,.rtrpsp-inquiry-row textarea{width:100%;border:1px solid rgba(0,0,0,.14);border-radius:10px;padding:10px 12px;font-size:14px;line-height:1.35;background:#fff;color:#111827;}
.rtrpsp-inquiry-row textarea{min-height:110px;resize:vertical;}
.rtrpsp-inquiry-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;}
.rtrpsp-inquiry-submit{appearance:none;border:0;border-radius:10px;padding:12px 14px;font-size:14px;font-weight:900;cursor:pointer;background:#111;color:#fff;}
.rtrpsp-inquiry-submit--book{background:#0b74de;}
.rtrpsp-inquiry-submit:disabled{opacity:.55;cursor:not-allowed;}
.rtrpsp-form-msg{font-size:12px;opacity:.85;}
.rtrpsp-form-msg.is-ok{opacity:1;}
.rtrpsp-form-msg.is-err{opacity:1;}


/* Search: availability pill */
.rtrpsu-pill--avail{border-color:rgba(16,185,129,.35);background:rgba(16,185,129,.10);}
.rtrpsu-pill--avail .rtrpsu-pill__dates{margin-left:6px;opacity:.85;font-size:12px;}

/* Single: availability box */
.rtrpsp-avail{margin-top:10px;border:1px solid rgba(17,24,39,.12);border-radius:14px;padding:10px 12px;min-width:180px;text-align:right;box-shadow:0 10px 24px rgba(17,24,39,.06);background:#fff;}
.rtrpsp-avail__label{font-size:12px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;}
.rtrpsp-avail__dates{margin-top:4px;font-size:12px;opacity:.8;}
.rtrpsp-avail--available{border-color:rgba(16,185,129,.35);background:rgba(16,185,129,.08);}
.rtrpsp-avail--booked{border-color:rgba(239,68,68,.35);background:rgba(239,68,68,.06);}

/* Single: header stack on small screens */
@media (max-width: 640px){
  .rtrpsp-header{flex-direction:column;align-items:flex-start;}
  .rtrpsp-header__right{width:100%;display:flex;justify-content:space-between;align-items:flex-end;gap:12px;}
  .rtrpsp-avail{text-align:left;}
}

/* --------------------------------------------------------------------------
   Search: Quick filters layout + clickability fixes
   Keeps the 3 quick filters aligned with the action buttons on desktop.
   -------------------------------------------------------------------------- */
.rtrpsu-row--search{align-items:center;}
.rtrpsu-row--search .rtrpsu-quick{flex:1 1 420px;width:auto;max-width:640px;}
.rtrpsu-row--search .rtrpsu-actions{margin-left:auto;justify-content:flex-end;}

/* Ensure quick filter labels feel clickable across themes */
.rtrpsu-check{cursor:pointer;}
.rtrpsu-check input{margin:0;}

@media (max-width: 768px){
  .rtrpsu-row--search{flex-wrap:wrap;}
  .rtrpsu-row--search .rtrpsu-quick{flex:1 1 100%;max-width:none;grid-template-columns:repeat(4,minmax(0,1fr));}
  .rtrpsu-row--search .rtrpsu-actions{width:100%;justify-content:stretch;}
  .rtrpsu-row--search .rtrpsu-actions .rtrpsu-btn{flex:1;}
}
@media (max-width: 480px){
  .rtrpsu-row--search .rtrpsu-quick{grid-template-columns:repeat(2,minmax(0,1fr));}
}


/* Rental Rates meta summary (fees + min/max) between header and rate tables */
.rtrpsp-rates-meta{
  margin:0 0 10px 0;
  line-height:1.4;
}
.rtrpsp-rates-meta__item{
  display:inline;
  white-space:nowrap;
}
.rtrpsp-rates-meta__item + .rtrpsp-rates-meta__item:before{
  content:" • ";
}
@media (max-width: 768px){
  .rtrpsp-rates-meta__item{
    display:block;
    white-space:normal;
  }
  .rtrpsp-rates-meta__item + .rtrpsp-rates-meta__item:before{
    content:"";
  }
}


/* --------------------------------------------------------------------------
   Single: Inquiry lightbox modal (desktop) / full-screen takeover (mobile)
   -------------------------------------------------------------------------- */
.rtrpsp-modal[hidden]{display:none !important;}
.rtrpsp-modal{
  position:fixed;
  top:0;
  left:0;
  right:0;
  bottom:0;
  z-index:999999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
}
.rtrpsp-modal__overlay{
  position:absolute;
  top:0;
  left:0;
  right:0;
  bottom:0;
  background:rgba(17,24,39,.60);
}
.rtrpsp-modal__dialog{
  position:relative;
  width:92vw;
  max-width:560px;
  max-height:90vh;
  background:#fff;
  color:#111827;
  border-radius:18px;
  box-shadow:0 24px 60px rgba(17,24,39,.28);
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.rtrpsp-modal__header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px;
  border-bottom:1px solid rgba(17,24,39,.10);
  color:#111827;
}
.rtrpsp-modal__title{
  font-size:16px;
  font-weight:800;
  line-height:1.2;
  color:#111827;
}
.rtrpsp-modal__subtitle{
  margin-top:4px;
  font-size:13px;
  opacity:.75;
  line-height:1.25;
}
.rtrpsp-modal__close{
  appearance:none;
  border:0;
  background:transparent;
  color:#111827;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  width:40px;
  height:40px;
  border-radius:12px;
  font-size:28px;
  line-height:40px;
  cursor:pointer;
  opacity:.8;
}
.rtrpsp-modal__close:hover{opacity:1;}
.rtrpsp-modal__body{
  padding:16px;
  overflow:auto;
  color:#111827;
}

/* Ensure form text is visible on dark themes */
.rtrpsp-modal__body .rtrpsp-inquiry-card{
  color:#111827 !important;
  background:#fff !important;
  border:0;
  box-shadow:none;
  padding:0;
}
.rtrpsp-modal__body .rtrpsp-inquiry-title,
.rtrpsp-modal__body .rtrpsp-inquiry-sub,
.rtrpsp-modal__body .rtrpsp-inquiry-dates{
  color:#111827 !important;
}
.rtrpsp-modal__body .rtrpsp-inquiry-row label{
  color:#374151 !important;
}
.rtrpsp-modal__body input,
.rtrpsp-modal__body textarea,
.rtrpsp-modal__body select{
  color:#111827 !important;
  background:#fff !important;
}
.rtrpsp-modal__body label{
  color:#374151 !important;
}

/* Nuclear override - force all text dark in modal */
#rtrpsp-modal,
#rtrpsp-modal *,
.rtrpsp-modal,
.rtrpsp-modal * {
  color:#111827 !important;
  -webkit-text-fill-color:#111827 !important;
}
#rtrpsp-modal .rtrpsp-modal__close,
.rtrpsp-modal__close {
  color:#111827 !important;
  -webkit-text-fill-color:#111827 !important;
}
#rtrpsp-modal input,
#rtrpsp-modal textarea,
#rtrpsp-modal select,
#rtrpsp-modal button,
.rtrpsp-modal input,
.rtrpsp-modal textarea,
.rtrpsp-modal select,
.rtrpsp-modal button {
  color:#111827 !important;
  -webkit-text-fill-color:#111827 !important;
  background-color:#fff !important;
}
#rtrpsp-modal .rtrpsp-inquiry-submit,
#rtrpsp-modal .rtrpsp-inquiry-submit--book,
.rtrpsp-modal .rtrpsp-inquiry-submit,
.rtrpsp-modal .rtrpsp-inquiry-submit--book {
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  background-color:#111 !important;
}
#rtrpsp-modal .rtrpsp-inquiry-submit--book,
.rtrpsp-modal .rtrpsp-inquiry-submit--book {
  background-color:#0b74de !important;
}
#rtrpsp-modal label,
.rtrpsp-modal label,
#rtrpsp-modal .rtrpsp-inquiry-row label,
.rtrpsp-modal .rtrpsp-inquiry-row label {
  color:#374151 !important;
  -webkit-text-fill-color:#374151 !important;
}
#rtrpsp-modal input::placeholder,
#rtrpsp-modal textarea::placeholder,
.rtrpsp-modal input::placeholder,
.rtrpsp-modal textarea::placeholder {
  color:#9ca3af !important;
  -webkit-text-fill-color:#9ca3af !important;
  opacity:1 !important;
}

/* Prevent duplicated headings/subtitles (modal header already shows them) */
.rtrpsp-modal__body .rtrpsp-inquiry-title,
.rtrpsp-modal__body .rtrpsp-inquiry-sub,
.rtrpsp-modal__body .rtrpsp-inquiry-dates{
  display:none !important;
}

/* Hide the inline inquiry section when the modal is enabled (JS on) - DESKTOP ONLY */
@media (min-width: 641px){
  html.rtrpsp-modal-enabled .rtrpsp-inquiry-section{display:none !important;}
}

/* Mobile: always show inline form, never use modal */
@media (max-width: 640px){
  .rtrpsp-inquiry-section{display:block !important;}
  .rtrpsp-modal{display:none !important;}
}

/* Mobile form toggle tabs */
.rtrpsp-inquiry-toggle{
  display:none; /* Hidden on desktop */
}

@media (max-width: 640px){
  .rtrpsp-inquiry-toggle{
    display:flex;
    gap:0;
    margin-bottom:16px;
    background:#f3f4f6;
    border-radius:12px;
    padding:4px;
  }
  .rtrpsp-inquiry-toggle__btn{
    flex:1;
    appearance:none;
    border:0;
    background:transparent;
    padding:12px 16px;
    font-size:14px;
    font-weight:700;
    color:#6b7280;
    border-radius:10px;
    cursor:pointer;
    transition:all 0.2s ease;
  }
  .rtrpsp-inquiry-toggle__btn.is-active{
    background:#fff;
    color:#111827;
    box-shadow:0 1px 3px rgba(0,0,0,0.1);
  }
  .rtrpsp-inquiry-toggle__btn:not(.is-active):hover{
    color:#374151;
  }
  
  /* Single column on mobile */
  .rtrpsp-inquiry-grid{
    grid-template-columns:1fr !important;
  }
  
  /* Default (before JS): show info, hide booking */
  .rtrpsp-inquiry-card[data-rtrpsp-form-card="booking"]{
    display:none;
  }
  .rtrpsp-inquiry-card[data-rtrpsp-form-card="info"]{
    display:block;
  }
  
  /* After JS initializes toggle: show only active card */
  .rtrpsp-inquiry-grid.js-toggle-init .rtrpsp-inquiry-card[data-rtrpsp-form-card]{
    display:none;
  }
  .rtrpsp-inquiry-grid.js-toggle-init .rtrpsp-inquiry-card[data-rtrpsp-form-card].is-active{
    display:block;
  }
}

/* Highlight effect when scrolling to form */
.rtrpsp-highlight{
  animation:rtrpsp-pulse 0.6s ease-in-out 2;
}
@keyframes rtrpsp-pulse{
  0%,100%{box-shadow:0 0 0 0 rgba(11,116,222,0);}
  50%{box-shadow:0 0 0 8px rgba(11,116,222,0.3);}
}

/* Lock page scroll while modal is open */
html.rtrpsp-modal-open,
html.rtrpsp-modal-open body{
  overflow:hidden !important;
  height:100%;
}

/* Mobile: no modal, use inline form instead (see JS) */
