/* ═══════════════════════════════════════════════════════════════
   Real Estate Manager — Frontend CSS v1.0
   Brand: Trivium Estate
   ═══════════════════════════════════════════════════════════════ */

:root {
  --re-primary:      #F16334;
  --re-primary-dark: #d4512a;
  --re-secondary:    #2EA3F2;
  --re-dark:         #154B5B;
  --re-dark-text:    #262020;
  --re-font-color:   #262020;
  --re-price-color:  #262020;
  --re-light:        #FFFFFF;
  --re-border:       #E8E8E8;
  --re-bg:           #F8F8F8;
  --re-success:      #27AE60;
  --re-warning:      #F39C12;
  --re-danger:       #E74C3C;
  --re-info:         #2EA3F2;
  --re-radius:       8px;
  --re-shadow:       0 2px 12px rgba(0,0,0,0.08);
  --re-shadow-hover: 0 8px 24px rgba(0,0,0,0.14);
  --re-transition:   all 0.25s ease;
}

/* ── Grid System ──────────────────────────────────────────────── */
.re-grid { display: grid; gap: 24px; }
.re-cols--1 .re-grid { grid-template-columns: 1fr; }
.re-cols--2 .re-grid { grid-template-columns: repeat(2, 1fr); }
.re-cols--3 .re-grid { grid-template-columns: repeat(3, 1fr); }
.re-cols--4 .re-grid { grid-template-columns: repeat(4, 1fr); }

/* ── Cards ────────────────────────────────────────────────────── */
.re-card {
  background: var(--re-light);
  border: 1px solid var(--re-border);
  border-radius: var(--re-radius);
  overflow: hidden;
  transition: var(--re-transition);
  display: flex;
  flex-direction: column;
  height: 100%;
}
.re-card:hover {
  box-shadow: var(--re-shadow-hover);
  transform: translateY(-3px);
}

/* Card image */
.re-card__image {
  position: relative;
  aspect-ratio: 16/10;
  overflow: hidden;
  background: var(--re-bg);
}
.re-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}
.re-card:hover .re-card__image img { transform: scale(1.04); }
.re-card__image--placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--re-border);
  font-size: 48px;
}

/* Card badges */
.re-card__badges {
  position: absolute;
  top: 12px;
  left: 12px;
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.re-badge {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--re-light);
}
.re-badge--primary      { background: var(--re-primary); }
.re-badge--secondary    { background: var(--re-secondary); }
.re-badge--success      { background: var(--re-success); }
.re-badge--warning      { background: var(--re-warning); }
.re-badge--danger       { background: var(--re-danger); }
.re-badge--sold         { background: var(--re-danger); }
.re-badge--ready        { background: var(--re-success); }
.re-badge--construction { background: var(--re-warning); }
.re-badge--off-plan     { background: var(--re-secondary); }
.re-badge--resale       { background: #8B5CF6; color: #fff; }

/* Card body */
.re-card__body {
  padding: 16px;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.re-card__title {
  font-size: 16px;
  font-weight: 700;
  color: var(--re-dark);
  line-height: 1.3;
  margin: 0;
}
.re-card__title a { color: inherit; text-decoration: none; }
.re-card__title a:hover { color: var(--re-primary); }
.re-card__subtitle {
  font-size: 13px;
  color: #777;
  display: flex;
  align-items: center;
  gap: 4px;
}
.re-card__subtitle i { color: var(--re-primary); font-size: 11px; }

/* Card meta row */
.re-card__meta {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  font-size: 13px;
  color: var(--re-font-color);
  padding: 8px 0;
  border-top: 1px solid var(--re-border);
  border-bottom: 1px solid var(--re-border);
}
.re-card__meta-item { display: flex; align-items: center; gap: 5px; }
.re-card__meta-item i { color: var(--re-primary); }

/* Card price */
.re-card__price { margin-top: auto; }
.re-card__price-main {
  font-size: 18px;
  font-weight: 700;
  color: var(--re-price-color);
}
.re-card__price-usd {
  font-size: 12px;
  color: #999;
  margin-top: 2px;
}
.re-card__price-plan {
  font-size: 12px;
  color: var(--re-font-color);
  margin-top: 4px;
}
.re-card__price-coming {
  font-size: 13px;
  font-style: italic;
  color: #888;
}

/* Card CTA */
.re-card__cta {
  display: flex;
  gap: 8px;
  padding: 12px 16px;
  background: var(--re-bg);
  border-top: 1px solid var(--re-border);
}
.re-card__cta .re-btn { flex: 1; font-size: 12px; padding: 8px 10px; }

/* Sold out card */
.re-card--sold-out { opacity: 0.75; }
.re-card--sold-out .re-card__image::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.3);
}

/* Location card */
.re-card--location .re-card__stats {
  display: flex;
  gap: 16px;
  font-size: 13px;
  color: var(--re-font-color);
}
.re-card--location .re-stat { display: flex; align-items: center; gap: 5px; }

/* Developer card */
.re-card--developer .re-card__logo {
  padding: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 120px;
  background: var(--re-bg);
}
.re-card--developer .re-card__logo img { max-height: 80px; object-fit: contain; }

/* ── Buttons ───────────────────────────────────────────────────── */
.re-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 10px 18px;
  border-radius: var(--re-radius);
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  transition: var(--re-transition);
  border: 2px solid transparent;
  white-space: nowrap;
}
.re-btn--primary   { background: var(--re-primary); color: var(--re-light); border-color: var(--re-primary); }
.re-btn--primary:hover { background: var(--re-primary-dark); border-color: var(--re-primary-dark); color: var(--re-light); }
.re-btn--secondary { background: var(--re-secondary); color: var(--re-light); border-color: var(--re-secondary); }
.re-btn--outline   { background: transparent; color: var(--re-primary); border-color: var(--re-primary); }
.re-btn--outline:hover { background: var(--re-primary); color: var(--re-light); }
.re-btn--wa        { background: #25D366; color: var(--re-light); border-color: #25D366; }
.re-btn--wa:hover  { background: #1da851; border-color: #1da851; color: var(--re-light); }
.re-btn--call      { background: var(--re-dark); color: var(--re-light); border-color: var(--re-dark); }
.re-btn--sm        { padding: 7px 12px; font-size: 12px; }
.re-btn--full      { width: 100%; }

/* ── Lead Gen Section ─────────────────────────────────────────── */
.re-lead-gen {
  background: var(--re-bg);
  border: 1px solid var(--re-border);
  border-radius: var(--re-radius);
  padding: 24px;
}
.re-lead-gen__label {
  font-size: 13px;
  font-weight: 600;
  color: #777;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 12px;
}
.re-lead-gen__buttons {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}
.re-lead-gen__buttons .re-btn { flex: 1; min-width: 120px; }
.re-lead-gen__form { margin-top: 16px; }

/* ── Filter Widget ────────────────────────────────────────────── */
.re-filter-widget {
  background: var(--re-light);
  border: 1px solid var(--re-border);
  border-radius: var(--re-radius);
  padding: 24px;
  margin-bottom: 32px;
  box-shadow: var(--re-shadow);
  width: 100%;
  box-sizing: border-box;
}
.re-filter-widget__title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 16px;
  color: var(--re-dark);
}
.re-filter-autocomplete-wrap { position: relative; margin-bottom: 16px; }
.re-filter-autocomplete-wrap input {
  width: 100%;
  padding: 12px 16px 12px 42px;
  border: 2px solid var(--re-border);
  border-radius: var(--re-radius);
  font-size: 15px;
  transition: var(--re-transition);
  box-sizing: border-box;
}
.re-filter-autocomplete-wrap input:focus { border-color: var(--re-primary); outline: none; }
.re-filter-autocomplete-wrap .re-search-icon {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: #aaa;
}
.re-autocomplete-results {
  position: absolute;
  top: 100%;
  left: 0; right: 0;
  background: var(--re-light);
  border: 1px solid var(--re-border);
  border-top: none;
  border-radius: 0 0 var(--re-radius) var(--re-radius);
  box-shadow: var(--re-shadow-hover);
  z-index: 100;
  max-height: 280px;
  overflow-y: auto;
  display: none;
}
.re-autocomplete-results.is-open { display: block; }
.re-autocomplete-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  cursor: pointer;
  transition: background 0.15s;
}
.re-autocomplete-item:hover { background: var(--re-bg); }
.re-autocomplete-item__icon { font-size: 16px; }
.re-autocomplete-item__text { flex: 1; }
.re-autocomplete-item__title { font-size: 14px; font-weight: 600; color: var(--re-dark); }
.re-autocomplete-item__subtitle { font-size: 12px; color: #888; }
.re-autocomplete-item__type {
  font-size: 11px;
  background: var(--re-bg);
  padding: 2px 6px;
  border-radius: 3px;
  color: #666;
}
.re-filter-row { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-bottom: 12px; }
.re-filter-group { display: flex; flex-direction: column; gap: 4px; }
.re-filter-group label { font-size: 12px; font-weight: 600; color: #666; text-transform: uppercase; }
.re-filter-group select,
.re-filter-group input {
  padding: 9px 12px;
  border: 2px solid var(--re-border);
  border-radius: var(--re-radius);
  font-size: 14px;
  background: var(--re-light);
  transition: var(--re-transition);
}
.re-filter-group select:focus,
.re-filter-group input:focus { border-color: var(--re-primary); outline: none; }
.re-filter-actions { display: flex; gap: 12px; margin-top: 16px; }
.re-filter-results-count { font-size: 14px; color: #777; margin-bottom: 16px; }
.re-filter-results-count strong { color: var(--re-dark); }

/* Search page layout */
.re-search-layout { display: grid; grid-template-columns: 300px 1fr; gap: 32px; align-items: start; }
.re-search-sidebar { position: sticky; top: 20px; }
.re-search-results__header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; flex-wrap: wrap; gap: 8px; }
.re-search-results__header label { white-space: nowrap; }
.re-sort-select { padding: 8px 12px; border: 1px solid var(--re-border); border-radius: var(--re-radius); }

/* ── Gallery Slider ───────────────────────────────────────────── */
.re-gallery { position: relative; }
.re-gallery .swiper { border-radius: var(--re-radius); overflow: hidden; }
.re-gallery .swiper-slide { aspect-ratio: 16/9; }
.re-gallery .swiper-slide img { width: 100%; height: 100%; object-fit: cover; cursor: zoom-in; }
.re-gallery-thumbs { margin-top: 10px; }
.re-gallery-thumbs .swiper-slide { aspect-ratio: 16/9; opacity: 0.6; cursor: pointer; border-radius: 4px; overflow: hidden; }
.re-gallery-thumbs .swiper-slide-thumb-active { opacity: 1; outline: 2px solid var(--re-primary); }
.re-gallery-video-btn {
  position: absolute;
  bottom: 12px;
  right: 12px;
  z-index: 10;
  background: var(--re-primary);
  color: var(--re-light);
  padding: 8px 14px;
  border-radius: var(--re-radius);
  font-size: 13px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
}

/* Lightbox */
.re-lightbox {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.92);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  display: none;
}
.re-lightbox.is-open { display: flex; }
.re-lightbox img { max-width: 90vw; max-height: 90vh; object-fit: contain; }
.re-lightbox__close {
  position: absolute;
  top: 20px;
  right: 24px;
  color: white;
  font-size: 32px;
  cursor: pointer;
  line-height: 1;
}

/* ── Amenities ─────────────────────────────────────────────────── */
.re-amenities { display: flex; flex-wrap: wrap; gap: 10px; margin: 12px 0; }
.re-amenity {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  background: var(--re-bg);
  border: 1px solid var(--re-border);
  border-radius: 20px;
  font-size: 13px;
  color: var(--re-dark-text);
}
.re-amenity i { color: var(--re-primary); }

/* ── Payment Section ──────────────────────────────────────────── */
.re-payment-section { border: 1px solid var(--re-border); border-radius: var(--re-radius); overflow: hidden; margin: 16px 0; }
.re-payment-option { padding: 16px; border-bottom: 1px solid var(--re-border); }
.re-payment-option:last-child { border-bottom: none; }
.re-payment-option__label { font-size: 12px; font-weight: 700; text-transform: uppercase; color: #888; margin-bottom: 6px; display: flex; align-items: center; gap: 6px; }
.re-payment-option__price { font-size: 22px; font-weight: 700; color: var(--re-price-color); }
.re-payment-option__usd { font-size: 12px; color: #aaa; }
.re-payment-option__detail { font-size: 13px; color: var(--re-font-color); margin-top: 4px; }
.re-payment-option--cash .re-payment-option__label { color: var(--re-success); }
.re-payment-option--cash .re-payment-option__price { color: var(--re-success); }
.re-save-badge { background: var(--re-success); color: white; padding: 2px 8px; border-radius: 10px; font-size: 11px; margin-left: 8px; }

/* ── FAQ Section ──────────────────────────────────────────────── */
.re-faq { margin: 32px 0; }
.re-faq__title { font-size: 22px; font-weight: 700; margin-bottom: 16px; color: var(--re-dark); }
.re-faq__item { border: 1px solid var(--re-border); border-radius: var(--re-radius); margin-bottom: 8px; overflow: hidden; }
.re-faq__question {
  padding: 16px 20px;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--re-light);
  transition: background 0.2s;
  user-select: none;
}
.re-faq__question:hover { background: var(--re-bg); }
.re-faq__question.is-open { background: var(--re-bg); color: var(--re-primary); }
.re-faq__icon { transition: transform 0.25s; color: var(--re-primary); }
.re-faq__question.is-open .re-faq__icon { transform: rotate(45deg); }
.re-faq__answer { display: none; padding: 0 20px 16px; color: var(--re-font-color); line-height: 1.7; font-size: 15px; }
.re-faq__answer.is-open { display: block; }

/* ── Dates ─────────────────────────────────────────────────────── */
.re-dates { font-size: 12px; color: #aaa; display: flex; gap: 16px; flex-wrap: wrap; }
.re-dates span { display: flex; align-items: center; gap: 4px; }

/* ── Brochure Modal ───────────────────────────────────────────── */
.re-brochure-modal {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.6);
  z-index: 9998;
  display: flex;
  align-items: center;
  justify-content: center;
  display: none;
}
.re-brochure-modal.is-open { display: flex; }
.re-brochure-modal__box {
  background: var(--re-light);
  border-radius: var(--re-radius);
  padding: 32px;
  max-width: 420px;
  width: 90%;
  position: relative;
}
.re-brochure-modal__title { font-size: 20px; font-weight: 700; margin-bottom: 8px; }
.re-brochure-modal__subtitle { font-size: 14px; color: #666; margin-bottom: 20px; }
.re-brochure-modal__close { position: absolute; top: 16px; right: 16px; cursor: pointer; font-size: 20px; color: #999; }

/* ── Brochure download button (v4.5.8) ────────────────────── */
.re-brochure-btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    background: var(--re-dark, #154B5B);
    color: #fff;
    border: none;
    border-radius: 10px;
    padding: 14px 18px;
    cursor: pointer;
    font-family: inherit;
    text-align: left;
    transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
    box-shadow: 0 2px 8px rgba(21,75,91,0.18);
    margin-top: 12px;
}
.re-brochure-btn:hover {
    background: var(--re-primary, #F16334);
    box-shadow: 0 4px 16px rgba(241,99,52,0.25);
    transform: translateY(-1px);
}
.re-brochure-btn:active { transform: translateY(0); }
.re-brochure-btn__left {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
}
.re-brochure-btn__icon {
    font-size: 22px;
    opacity: 0.9;
    flex-shrink: 0;
}
.re-brochure-btn__text {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}
.re-brochure-btn__title {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: -0.2px;
    white-space: nowrap;
}
.re-brochure-btn__sub {
    font-size: 12px;
    opacity: 0.72;
    font-weight: 400;
    white-space: nowrap;
}
.re-brochure-btn__arrow {
    font-size: 16px;
    opacity: 0.7;
    flex-shrink: 0;
    transition: transform 0.2s;
}
.re-brochure-btn:hover .re-brochure-btn__arrow {
    transform: translateY(2px);
    opacity: 1;
}

/* ── Debug boxes ──────────────────────────────────────────────── */
.re-debug { background: #fffbe6; border: 3px solid #f0a500; padding: 15px; margin: 10px 0; font-family: monospace; font-size: 13px; border-radius: 4px; }
.re-debug--verbose { border-color: #2EA3F2; background: #e8f4fd; }
.re-debug--error { border-color: #e74c3c; background: #fdf0ef; }

/* ── No results ───────────────────────────────────────────────── */
.re-no-results { text-align: center; padding: 48px 24px; color: #888; font-size: 16px; }

/* ── Loading spinner ──────────────────────────────────────────── */
.re-loading { text-align: center; padding: 48px; }
.re-spinner { width: 40px; height: 40px; border: 3px solid var(--re-border); border-top-color: var(--re-primary); border-radius: 50%; animation: re-spin 0.7s linear infinite; margin: 0 auto; }
@keyframes re-spin { to { transform: rotate(360deg); } }

/* ── Single property/project layout ──────────────────────────── */
.re-single { max-width: 1240px; margin: 0 auto; padding: 32px 20px; }
.re-single__header { margin-bottom: 24px; }
.re-single__title { font-size: 28px; font-weight: 700; color: var(--re-dark); margin-bottom: 8px; }
.re-single__meta { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.re-single__content { display: grid; grid-template-columns: 1fr 360px; gap: 40px; align-items: start; }
.re-single__main { min-width: 0; }
.re-single__sidebar { position: sticky; top: 20px; }
.re-single__section { margin-bottom: 32px; }
.re-single__section-title { font-size: 18px; font-weight: 700; color: var(--re-dark); margin-bottom: 16px; padding-bottom: 8px; border-bottom: 2px solid var(--re-primary); }
.re-spec-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 12px; }
.re-spec-item { background: var(--re-bg); border-radius: var(--re-radius); padding: 14px; text-align: center; }
.re-spec-item__icon { font-size: 20px; color: var(--re-primary); margin-bottom: 4px; }
.re-spec-item__value { font-size: 18px; font-weight: 700; color: var(--re-dark); }
.re-spec-item__label { font-size: 12px; color: #888; }

/* ── Archive header ───────────────────────────────────────────── */
.re-archive-header { margin-bottom: 32px; }
.re-archive-title { font-size: 28px; font-weight: 700; color: var(--re-dark); }
.re-archive-desc { font-size: 16px; color: #666; margin-top: 8px; }

/* ── Pagination ───────────────────────────────────────────────── */
.re-pagination { display: flex; justify-content: center; gap: 8px; margin-top: 40px; flex-wrap: wrap; }
.re-page-btn {
    padding: 8px 16px;
    border: 2px solid var(--re-border);
    border-radius: var(--re-radius);
    cursor: pointer;
    font-size: 14px;
    font-weight: 600;
    transition: var(--re-transition);
    background: var(--re-light);
    color: var(--re-font-color);
    min-width: 40px;
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    outline: none !important;
    -webkit-tap-highlight-color: transparent;
}
.re-page-btn:hover,
.re-page-btn.active {
    background: var(--re-primary);
    border-color: var(--re-primary);
    color: #fff !important;
    outline: none !important;
}
.re-page-btn:focus {
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(241,99,52,0.25);
}

/* ══════════════════════════════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════════════════════════════ */

/* Tablet — max 1024px */
@media (max-width: 1024px) {
  .re-cols--3 .re-grid,
  .re-cols--4 .re-grid { grid-template-columns: repeat(2, 1fr); }
  .re-single__content { grid-template-columns: 1fr; }
  .re-single__sidebar { position: static; }
  .re-search-layout { grid-template-columns: 260px 1fr; gap: 20px; }
}

/* Mobile Landscape — max 767px */
@media (max-width: 767px) {
  .re-cols--2 .re-grid,
  .re-cols--3 .re-grid,
  .re-cols--4 .re-grid { grid-template-columns: 1fr; }

  .re-filter-widget { padding: 16px; }
  .re-filter-row { grid-template-columns: 1fr 1fr; }
  .re-filter-actions { flex-direction: column; }

  .re-search-layout { grid-template-columns: 1fr; }
  .re-search-sidebar { position: static; }
  .re-search-sidebar .re-filter-widget { display: none; }
  .re-search-sidebar .re-filter-widget.is-mobile-open { display: block; }

  .re-lead-gen__buttons { flex-direction: column; }
  .re-lead-gen__buttons .re-btn { flex: none; width: 100%; }

  .re-single__title { font-size: 22px; }
  .re-archive-title { font-size: 22px; }
  .re-spec-grid { grid-template-columns: repeat(2, 1fr); }
}

/* Mobile Portrait — max 480px */
@media (max-width: 480px) {
  .re-filter-row { grid-template-columns: 1fr; }
  .re-card__cta { flex-direction: column; }
  .re-card__cta .re-btn { width: 100%; }
  .re-brochure-modal__box { padding: 20px; }
  .re-spec-grid { grid-template-columns: 1fr 1fr; }
  .re-dates { flex-direction: column; gap: 4px; }
  /* Horizontal card → vertical on mobile */
  .re-card--h {
    grid-template-columns: 1fr !important;
    grid-template-rows: 220px auto !important;
  }
  .re-card--h .re-card__image {
    width: 100% !important; height: 220px !important;
    border-radius: 12px 12px 0 0 !important;
  }
  .re-card--h .re-card__body { padding: 14px !important; }
  .re-card--h .re-card__cta { grid-column: 1 !important; }
}

/* ── Additional fixes v1.1 ────────────────────────────────── */

/* Filter widget always full width, 2-col grid */
.re-filter-widget { width: 100%; box-sizing: border-box; }
.re-filter-row { grid-template-columns: repeat(2, 1fr) !important; }

/* Cards — 2 per row on tablet */
@media (max-width: 1024px) and (min-width: 481px) {
  .re-cols--3 .re-grid,
  .re-cols--4 .re-grid { grid-template-columns: repeat(2, 1fr) !important; }
}

/* Cards — 2 per row on mobile landscape */
@media (max-width: 767px) and (min-width: 481px) {
  .re-cols--3 .re-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .re-filter-row { grid-template-columns: repeat(2, 1fr) !important; }
}

/* Cards — 1 per row on mobile portrait */
@media (max-width: 480px) {
  .re-cols--3 .re-grid,
  .re-cols--2 .re-grid { grid-template-columns: 1fr !important; }
  .re-filter-row { grid-template-columns: 1fr !important; }
}

/* Units grid — always 2 per row */
.re-units-grid .re-grid { grid-template-columns: repeat(2, 1fr) !important; }
@media (max-width: 480px) {
  .re-units-grid .re-grid { grid-template-columns: 1fr !important; }
}

/* Project overview specs — mobile shows financial only */
@media (max-width: 767px) {
  .re-spec-desktop { display: none !important; }
  .re-spec-mobile  { display: grid !important; }
}
@media (min-width: 768px) {
  .re-spec-mobile  { display: none !important; }
  .re-spec-desktop { display: grid !important; }
}

/* Single page responsive */
@media (max-width: 1024px) {
  .re-proj-content { grid-template-columns: 1fr !important; }
  .re-proj-sidebar { position: static !important; }
}

/* Gallery fix */
.re-gallery-main .swiper { border-radius: 8px; overflow: hidden; }
.re-gallery-main .swiper-slide { aspect-ratio: 16/9; background: #f0f0f0; }
.re-gallery-main .swiper-slide img { width: 100%; height: 100%; object-fit: cover; }
.re-gallery-thumbs .swiper-slide { aspect-ratio: 16/9; cursor: pointer; border-radius: 4px; overflow: hidden; opacity: 0.6; }
.re-gallery-thumbs .swiper-slide-thumb-active { opacity: 1; outline: 2px solid var(--re-primary); }

/* ══════════════════════════════════════════════════════════════
   ASTRA FULL-WIDTH OVERRIDE — CPT + PSEO Pages
   Targets: ast-separate-container, ast-two-container
   ══════════════════════════════════════════════════════════════ */

/* Override Astra's hardcoded max-width on the container */
body.re-cpt-page .ast-container {
    max-width: 100% !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
}

/* Remove two-column layout on CPT pages */
body.re-cpt-page.ast-two-container #content,
body.re-cpt-page.ast-separate-container #content {
    padding: 0 !important;
}

/* Content area full width */
body.re-cpt-page .site-main,
body.re-cpt-page .content-area,
body.re-cpt-page .ast-article-single,
body.re-cpt-page .entry-content {
    max-width: 100% !important;
    width: 100% !important;
    float: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Kill Astra's sidebar on CPT pages */
body.re-cpt-page #secondary,
body.re-cpt-page .widget-area,
body.re-cpt-page .ast-right-sidebar-area,
body.re-cpt-page .ast-left-sidebar-area {
    display: none !important;
}

/* Kill Astra's post header (author/date/category) on CPT pages */
body.re-cpt-page .entry-header,
body.re-cpt-page .ast-post-format,
body.re-cpt-page .post-navigation,
body.re-cpt-page .ast-author-box,
body.re-cpt-page .comments-area {
    display: none !important;
}

/* PSEO archive URL pages */
body.re-cpt-page .re-archive,
body.re-cpt-page .re-single {
    padding: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
}
/* ═══════════════════════════════════════════════════════════════
   OFFER CARDS — v2
   4 cols desktop / 2 tablet / 1 mobile
   CTA: Get Offer only → WhatsApp slides in on hover
   ═══════════════════════════════════════════════════════════════ */

/* ── Grid ─────────────────────────────────────────────────── */
.re-offers-wrap {
    width: 100%;
    box-sizing: border-box;
}
.re-offers-grid {
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 1024px) {
    .re-offers-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
    .re-offers-grid { grid-template-columns: 1fr; }
}

/* Shortcode inside entry-content — force grid */
/* Protect offer cards inside Astra entry-content from CSS resets */
.entry-content .re-offer-card {
    background: #fff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    position: relative !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important;
}
.entry-content .re-offer-card__accent {
    height: 4px !important;
    background: var(--re-primary) !important;
    width: 100% !important;
    display: block !important;
}
.entry-content .re-offer-card__body {
    padding: 18px 16px 14px !important;
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
}
.entry-content .re-offer-card__value {
    font-size: 48px !important;
    font-weight: 800 !important;
    color: var(--re-primary) !important;
    line-height: 1 !important;
}
.entry-content .re-offer-card__type {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
}
.entry-content .re-offer-card__cta {
    display: flex !important;
    border-top: 1px solid #f0f0f0 !important;
    min-height: 52px !important;
    overflow: hidden !important;
}
.entry-content .re-offer-card__btn-offer {
    display: flex !important;
    flex: 1 !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 10px 12px !important;
    color: var(--re-primary) !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    background: transparent !important;
}
.entry-content .re-offer-card__btn-wa {
    display: flex !important;
    flex: 0 !important;
    width: 0 !important;
    overflow: hidden !important;
    background: #25D366 !important;
    color: #fff !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    transition: flex 0.3s ease, padding 0.3s ease !important;
}
.entry-content .re-offer-card:hover .re-offer-card__btn-offer {
    flex: 1 !important;
    border-right: 1px solid #f0f0f0 !important;
}
.entry-content .re-offer-card:hover .re-offer-card__btn-wa {
    flex: 1 !important;
    width: auto !important;
    padding: 10px 8px !important;
}

.entry-content .re-offers-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
}
@media (max-width: 1024px) {
    /* Protect offer cards inside Astra entry-content from CSS resets */
.entry-content .re-offer-card {
    background: #fff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    position: relative !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important;
}
.entry-content .re-offer-card__accent {
    height: 4px !important;
    background: var(--re-primary) !important;
    width: 100% !important;
    display: block !important;
}
.entry-content .re-offer-card__body {
    padding: 18px 16px 14px !important;
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
}
.entry-content .re-offer-card__value {
    font-size: 48px !important;
    font-weight: 800 !important;
    color: var(--re-primary) !important;
    line-height: 1 !important;
}
.entry-content .re-offer-card__type {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
}
.entry-content .re-offer-card__cta {
    display: flex !important;
    border-top: 1px solid #f0f0f0 !important;
    min-height: 52px !important;
    overflow: hidden !important;
}
.entry-content .re-offer-card__btn-offer {
    display: flex !important;
    flex: 1 !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 10px 12px !important;
    color: var(--re-primary) !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    background: transparent !important;
}
.entry-content .re-offer-card__btn-wa {
    display: flex !important;
    flex: 0 !important;
    width: 0 !important;
    overflow: hidden !important;
    background: #25D366 !important;
    color: #fff !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    transition: flex 0.3s ease, padding 0.3s ease !important;
}
.entry-content .re-offer-card:hover .re-offer-card__btn-offer {
    flex: 1 !important;
    border-right: 1px solid #f0f0f0 !important;
}
.entry-content .re-offer-card:hover .re-offer-card__btn-wa {
    flex: 1 !important;
    width: auto !important;
    padding: 10px 8px !important;
}

.entry-content .re-offers-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}
@media (max-width: 480px) {
    /* Protect offer cards inside Astra entry-content from CSS resets */
.entry-content .re-offer-card {
    background: #fff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    position: relative !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important;
}
.entry-content .re-offer-card__accent {
    height: 4px !important;
    background: var(--re-primary) !important;
    width: 100% !important;
    display: block !important;
}
.entry-content .re-offer-card__body {
    padding: 18px 16px 14px !important;
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
}
.entry-content .re-offer-card__value {
    font-size: 48px !important;
    font-weight: 800 !important;
    color: var(--re-primary) !important;
    line-height: 1 !important;
}
.entry-content .re-offer-card__type {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
}
.entry-content .re-offer-card__cta {
    display: flex !important;
    border-top: 1px solid #f0f0f0 !important;
    min-height: 52px !important;
    overflow: hidden !important;
}
.entry-content .re-offer-card__btn-offer {
    display: flex !important;
    flex: 1 !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 10px 12px !important;
    color: var(--re-primary) !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    background: transparent !important;
}
.entry-content .re-offer-card__btn-wa {
    display: flex !important;
    flex: 0 !important;
    width: 0 !important;
    overflow: hidden !important;
    background: #25D366 !important;
    color: #fff !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    transition: flex 0.3s ease, padding 0.3s ease !important;
}
.entry-content .re-offer-card:hover .re-offer-card__btn-offer {
    flex: 1 !important;
    border-right: 1px solid #f0f0f0 !important;
}
.entry-content .re-offer-card:hover .re-offer-card__btn-wa {
    flex: 1 !important;
    width: auto !important;
    padding: 10px 8px !important;
}

.entry-content .re-offers-grid {
        grid-template-columns: 1fr !important;
    }
}

/* ── Card shell ───────────────────────────────────────────── */
.re-offer-card {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    position: relative;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    transition: box-shadow 0.25s, transform 0.25s;
}
.re-offer-card:hover {
    box-shadow: 0 8px 24px rgba(241,99,52,0.15);
    transform: translateY(-2px);
}

/* ── Top accent bar ───────────────────────────────────────── */
.re-offer-card__accent {
    height: 4px;
    background: var(--re-primary);
    width: 100%;
    flex-shrink: 0;
}

/* ── Corner bracket decoration (reference style) ─────────── */
.re-offer-card__bracket {
    position: absolute;
    width: 18px;
    height: 18px;
    pointer-events: none;
}
.re-offer-card__bracket--tl {
    top: 12px;
    left: 12px;
    border-top: 2px solid var(--re-primary);
    border-left: 2px solid var(--re-primary);
    border-radius: 3px 0 0 0;
}
.re-offer-card__bracket--br {
    bottom: 56px; /* above CTA */
    right: 12px;
    border-bottom: 2px solid var(--re-primary);
    border-right: 2px solid var(--re-primary);
    border-radius: 0 0 3px 0;
}

/* ── Body ─────────────────────────────────────────────────── */
.re-offer-card__body {
    padding: 18px 16px 14px;
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

/* ── Label tag ────────────────────────────────────────────── */
.re-offer-card__tag {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: var(--re-primary);
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    padding: 3px 10px;
    border-radius: 20px;
    margin-bottom: 12px;
}

/* ── Value ────────────────────────────────────────────────── */
.re-offer-card__value {
    font-size: 48px;
    font-weight: 800;
    color: var(--re-primary);
    line-height: 1;
    margin-bottom: 2px;
}
.re-offer-card__type {
    font-size: 15px;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 12px;
}

/* ── Meta ─────────────────────────────────────────────────── */
.re-offer-card__meta {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 12px;
    width: 100%;
}
.re-offer-card__meta-row {
    font-size: 13px;
    color: var(--re-font-color);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
}
.re-offer-card__expiry {
    color: #999;
    font-size: 12px;
}

/* ── Project info ─────────────────────────────────────────── */
.re-offer-card__project {
    margin-top: auto;
    padding-top: 12px;
    border-top: 1px solid #f0f0f0;
    width: 100%;
}
.re-offer-card__proj-name {
    display: block;
    font-size: 14px;
    font-weight: 700;
    color: #1a1a1a;
    text-decoration: none;
    margin-bottom: 3px;
    transition: color 0.2s;
}
.re-offer-card__proj-name:hover { color: var(--re-primary); }
.re-offer-card__dev-name {
    font-size: 11px;
    color: #888;
}

/* ── CTA — hover interaction ──────────────────────────────── */
.re-offer-card__cta {
    display: flex;
    align-items: stretch;
    border-top: 1px solid #f0f0f0;
    min-height: 52px;
    overflow: hidden;
}

/* Get Offer button — full width default, shrinks on hover */
.re-offer-card__btn-offer {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex: 1;
    padding: 10px 12px;
    border: none;
    background: transparent;
    color: var(--re-primary);
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    text-align: center;
    line-height: 1.2;
    transition: flex 0.3s ease, background 0.2s;
    border-right: 0px solid #f0f0f0;
    white-space: nowrap;
}
.re-offer-card__btn-offer:hover {
    background: #fff8f5;
}
.re-offer-btn-label { font-size: 13px; font-weight: 700; }
.re-offer-btn-sub   { font-size: 10px; font-weight: 400; color: #aaa; }

/* WhatsApp button — hidden (width:0), slides in on card hover */
.re-offer-card__btn-wa {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    flex: 0;
    width: 0;
    overflow: hidden;
    padding: 0;
    background: #25D366;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
    transition: flex 0.3s ease, padding 0.3s ease, border 0.3s ease;
    border-left: 0px solid transparent;
}

/* On card hover — WhatsApp slides in, Get Offer shrinks */
.re-offer-card:hover .re-offer-card__btn-offer {
    flex: 1;
    border-right: 1px solid #f0f0f0;
}
.re-offer-card:hover .re-offer-card__btn-wa {
    flex: 1;
    width: auto;
    padding: 10px 8px;
}
.re-offer-card:hover .re-offer-card__btn-wa:hover {
    background: #1da952;
}

/* Offer badge on project card */
.re-badge--offer {
    background: var(--re-primary);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
}

/* ═══════════════════════════════════════════════════════════════
   NEW LAUNCHES — card, grid, pill filter, page template
   ═══════════════════════════════════════════════════════════════ */

/* ── New Launch badge on project cards ───────────────────── */
.re-badge--new-launch {
    background: #7C3AED;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
}

/* ── Grid ─────────────────────────────────────────────────── */
.re-launch-grid {
    display: grid;
    gap: 24px;
    grid-template-columns: repeat(3, 1fr);
}
.re-launch-grid--cols-1 { grid-template-columns: 1fr; }
.re-launch-grid--cols-2 { grid-template-columns: repeat(2, 1fr); }
.re-launch-grid--cols-3 { grid-template-columns: repeat(3, 1fr); }
.re-launch-grid--cols-4 { grid-template-columns: repeat(4, 1fr); }

@media (max-width: 1024px) {
    .re-launch-grid,
    .re-launch-grid--cols-3,
    .re-launch-grid--cols-4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
    .re-launch-grid,
    .re-launch-grid--cols-2,
    .re-launch-grid--cols-3,
    .re-launch-grid--cols-4 { grid-template-columns: 1fr; }
}

/* ── Card shell ───────────────────────────────────────────── */
.re-launch-card {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0,0,0,0.08);
    transition: transform 0.25s, box-shadow 0.25s;
    display: flex;
    flex-direction: column;
}
.re-launch-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 28px rgba(0,0,0,0.12);
}

/* ── Image ────────────────────────────────────────────────── */
.re-launch-card__img-wrap {
    position: relative;
    display: block;
    overflow: hidden;
    height: 220px;
    background: #1a1a1a;
    flex-shrink: 0;
}
.re-launch-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s;
}
.re-launch-card:hover .re-launch-card__img {
    transform: scale(1.04);
}
.re-launch-card__img-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #1a1a1a, #2d2d2d);
    color: rgba(255,255,255,0.2);
    font-size: 56px;
}

/* ── Launch badge overlay ─────────────────────────────────── */
.re-launch-card__launch-badge {
    position: absolute;
    bottom: 12px;
    left: 12px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: var(--re-primary);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 5px 12px;
    border-radius: 20px;
}

/* ── Body ─────────────────────────────────────────────────── */
.re-launch-card__body {
    padding: 16px 16px 12px;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.re-launch-card__location {
    font-size: 12px;
    color: #888;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: 600;
}
.re-launch-card__location:hover { color: var(--re-primary); }
.re-launch-card__title {
    display: block;
    font-size: 17px;
    font-weight: 700;
    color: #1a1a1a;
    text-decoration: none;
    line-height: 1.3;
    margin-top: 2px;
}
.re-launch-card__title:hover { color: var(--re-primary); }
.re-launch-card__developer {
    font-size: 13px;
    color: #666;
    margin-top: 2px;
}
.re-launch-card__price {
    font-size: 16px;
    font-weight: 700;
    color: var(--re-primary);
    margin-top: 6px;
    display: flex;
    align-items: baseline;
    gap: 6px;
}
.re-launch-card__price-label {
    font-size: 11px;
    font-weight: 400;
    color: #999;
}

/* ── CTA bar ──────────────────────────────────────────────── */
.re-launch-card__cta {
    display: flex;
    border-top: 1px solid #f0f0f0;
    min-height: 48px;
}
.re-launch-card__btn-details {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 12px;
    color: var(--re-primary);
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    border-right: 1px solid #f0f0f0;
    transition: background 0.2s;
}
.re-launch-card__btn-details:hover { background: #fff8f5; }
.re-launch-card__btn-wa {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 12px;
    background: transparent;
    color: #25D366;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.2s, color 0.2s;
}
.re-launch-card__btn-wa:hover {
    background: #25D366;
    color: #fff;
}

/* ── Location pill filter ─────────────────────────────────── */
.re-launch-filter {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 32px;
}
.re-launch-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 18px;
    border: none;
    border-radius: 24px;
    background: #f0f0f0;
    color: #444;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
    white-space: nowrap;
}
.re-launch-pill:hover {
    background: #e0e0e0;
    color: #1a1a1a;
}
.re-launch-pill--active {
    background: var(--re-primary) !important;
    border: none !important;
    color: #fff !important;
}
.re-launch-pill--active:hover {
    background: #d95a2b !important;
    color: #fff !important;
}
.re-launch-pill__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(0,0,0,0.15);
    color: inherit;
    font-size: 10px;
    font-weight: 700;
    width: 18px;
    height: 18px;
    border-radius: 50%;
}
.re-launch-pill--active .re-launch-pill__count {
    background: rgba(255,255,255,0.3);
    color: #fff;
}

/* ── Responsive ───────────────────────────────────────────── */
@media (max-width: 600px) {
    .re-launch-card__img-wrap { height: 180px; }
    .re-launch-filter { gap: 6px; }
    .re-launch-pill { padding: 6px 12px; font-size: 12px; }
}

/* ═══════════════════════════════════════════════════════════════
   PAGINATION — desktop numbered pages
   ═══════════════════════════════════════════════════════════════ */
.re-pagination {
    display: flex;
    justify-content: center;
    margin-top: 40px;
}
.re-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    list-style: none;
    padding: 0;
    margin: 0;
    flex-wrap: wrap;
}
.re-pagination .page-numbers li { list-style: none; }
.re-pagination .page-numbers a,
.re-pagination .page-numbers span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 38px;
    height: 38px;
    padding: 0 10px;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
    color: #444;
    text-decoration: none;
    transition: all 0.2s;
    background: #fff;
}
.re-pagination .page-numbers a:hover {
    background: var(--re-primary);
    border-color: var(--re-primary);
    color: #fff;
}
.re-pagination .page-numbers .current {
    background: var(--re-primary);
    border-color: var(--re-primary);
    color: #fff;
    font-weight: 700;
}
.re-pagination .page-numbers .dots {
    border: none;
    background: transparent;
    color: #999;
}

/* Both load more and pagination always visible */
.re-pagination--desktop { display: flex; }
.re-load-more--mobile   { display: flex; }

/* Mobile: stack them */
@media (max-width: 767px) {
    .re-pagination--desktop { flex-wrap: wrap; gap: 6px; }
}

/* ═══════════════════════════════════════════════════════════════
   LOAD MORE BUTTON
   ═══════════════════════════════════════════════════════════════ */
.re-load-more-wrap {
    display: flex;
    justify-content: center;
    margin-top: 32px;
    padding-bottom: 8px;
}
.re-load-more-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 32px;
    background: #fff;
    border: 2px solid var(--re-primary);
    border-radius: 8px;
    color: var(--re-primary);
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s;
    white-space: nowrap;
    outline: none !important;
    -webkit-tap-highlight-color: transparent;
}
.re-load-more-btn:hover,
.re-load-more-btn:active {
    background: var(--re-primary);
    color: #fff;
    outline: none !important;
    border-color: var(--re-primary);
}
.re-load-more-btn:focus {
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(241,99,52,0.25);
}
.re-load-more-btn:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}
.re-load-more-btn--loading {
    pointer-events: none;
}
.re-load-more-btn--loading::after {
    content: '';
    width: 16px;
    height: 16px;
    border: 2px solid currentColor;
    border-top-color: transparent;
    border-radius: 50%;
    animation: re-spin 0.7s linear infinite;
    display: inline-block;
}
.re-load-more-count {
    font-size: 12px;
    font-weight: 400;
    opacity: 0.7;
}
@keyframes re-spin {
    to { transform: rotate(360deg); }
}

/* ═══════════════════════════════════════════════════════════════
   CONTACT FORM + MEETING POPUP
   ═══════════════════════════════════════════════════════════════ */

/* ── Form wrapper ─────────────────────────────────────────── */
.re-contact-wrap {
    background: #fff;
    border: 1px solid var(--re-border, #e5e7eb);
    border-radius: 12px;
    overflow: hidden;
}

/* ── Field group ──────────────────────────────────────────── */
.re-field-group {
    margin-bottom: 14px;
}
.re-field-label {
    display: block;
    font-size: 12px;
    font-weight: 600;
    color: #444;
    margin-bottom: 5px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}
.re-field-input {
    width: 100%;
    box-sizing: border-box;
    padding: 11px 14px;
    border: 1.5px solid #e5e7eb;
    border-radius: 8px;
    font-size: 14px;
    color: #1a1a1a;
    background: #fff;
    transition: border-color 0.2s, box-shadow 0.2s;
    outline: none;
}
.re-field-input:focus {
    border-color: var(--re-primary);
    box-shadow: 0 0 0 3px rgba(241,99,52,0.1);
}
.re-field-input.re-field--error {
    border-color: #e74c3c;
}
.re-field-textarea {
    resize: vertical;
    min-height: 80px;
    line-height: 1.5;
}
.re-field-error {
    display: block;
    font-size: 11px;
    color: #e74c3c;
    margin-top: 3px;
    min-height: 14px;
}

/* ── Phone field ──────────────────────────────────────────── */
.re-phone-wrap {
    display: flex;
    align-items: stretch;
    border: 1.5px solid #e5e7eb;
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
    transition: border-color 0.2s, box-shadow 0.2s;
}
.re-phone-wrap:focus-within {
    border-color: var(--re-primary);
    box-shadow: 0 0 0 3px rgba(241,99,52,0.1);
}
.re-country-selector { position: relative; flex-shrink: 0; }
.re-cc-trigger {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 0 10px;
    background: #f8f9fa;
    border: none;
    border-right: 1.5px solid #e5e7eb;
    cursor: pointer;
    font-size: 13px;
    height: 100%;
    white-space: nowrap;
    color: #333;
}
.re-cc-trigger:hover { background: #f0f0f0; }
.re-cc-arrow { font-size: 10px; color: #888; }
.re-cc-dropdown {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    min-width: 220px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.12);
    z-index: 9999;
    max-height: 240px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.re-cc-search-wrap { padding: 8px; border-bottom: 1px solid #f0f0f0; }
.re-cc-search {
    width: 100%;
    box-sizing: border-box;
    padding: 7px 10px;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    font-size: 13px;
    outline: none;
}
.re-cc-list {
    list-style: none;
    margin: 0;
    padding: 4px 0;
    overflow-y: auto;
    flex: 1;
}
.re-cc-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    cursor: pointer;
    font-size: 13px;
    transition: background 0.15s;
}
.re-cc-item:hover { background: #f5f5f5; }
.re-phone-input {
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    flex: 1;
    min-width: 0;
}

/* ── Location autocomplete ────────────────────────────────── */
.re-location-dropdown-group {
    padding: 6px 0 2px;
}
.re-location-group-label {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #999;
    padding: 4px 12px;
}
.re-location-option {
    padding: 9px 12px;
    cursor: pointer;
    font-size: 13px;
    color: #333;
    transition: background 0.15s;
    display: flex;
    align-items: center;
    gap: 6px;
}
.re-location-option:hover { background: #f5f7ff; }
.re-location-option-icon { font-size: 11px; color: #aaa; }

/* ── Submit button ────────────────────────────────────────── */
.re-contact-submit {
    width: 100%;
    padding: 14px;
    background: var(--re-primary);
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}
.re-contact-submit:hover { background: var(--re-dark,#154B5B); }
.re-contact-submit:disabled { opacity: 0.7; cursor: not-allowed; }

/* ── Request a Meeting button ─────────────────────────────── */
.re-meeting-trigger {
    width: 100%;
    padding: 13px;
    background: #fff;
    color: var(--re-primary);
    border: 2px solid #e5e7eb;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}
.re-meeting-trigger:hover {
    border-color: var(--re-primary);
    background: #fff8f5;
}

/* ── Meeting popup overlay ────────────────────────────────── */
.re-meeting-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.55);
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    backdrop-filter: blur(2px);
}
.re-meeting-modal {
    background: #fff;
    border-radius: 16px;
    width: 100%;
    max-width: 560px;
    max-height: 90vh;
    overflow-y: auto;
    position: relative;
    box-shadow: 0 24px 64px rgba(0,0,0,0.2);
}
.re-meeting-close {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 1px solid #e5e7eb;
    background: #fff;
    font-size: 14px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #666;
    transition: all 0.2s;
    z-index: 1;
}
.re-meeting-close:hover { background: #f5f5f5; color: #333; }

/* ── Meeting type tabs ────────────────────────────────────── */
.re-meeting-tabs {
    display: flex;
    border-bottom: 2px solid #f0f0f0;
    padding: 0 24px;
}
.re-meeting-tab {
    flex: 1;
    padding: 12px;
    background: none;
    border: none;
    border-bottom: 3px solid transparent;
    margin-bottom: -2px;
    font-size: 14px;
    font-weight: 600;
    color: #888;
    cursor: pointer;
    transition: all 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}
.re-meeting-tab--active {
    color: var(--re-primary);
    border-bottom-color: var(--re-primary);
}
.re-meeting-tab:hover { color: var(--re-primary); }

/* ── Date chips ───────────────────────────────────────────── */
.re-date-chips {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    margin-top: 6px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 6px;
    scrollbar-width: none;
}
.re-date-chips::-webkit-scrollbar { display: none; }
.re-time-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 6px;
}
.re-date-chip {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 8px 12px;
    border: 1.5px solid #e5e7eb;
    border-radius: 8px;
    background: #fff;
    cursor: pointer;
    transition: all 0.2s;
    min-width: 54px;
}
.re-date-chip:hover {
    border-color: var(--re-primary);
    background: #f5f7fa;
}
.re-date-chip--active {
    background: var(--re-primary) !important;
    border-color: var(--re-primary) !important;
    color: #fff !important;
}
.re-chip-day {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.5px;
    opacity: 0.7;
}
.re-chip-date { font-size: 12px; font-weight: 600; margin-top: 2px; }

/* ── Time chips ───────────────────────────────────────────── */
.re-time-chip {
    padding: 7px 12px;
    border: 1.5px solid #e5e7eb;
    border-radius: 20px;
    background: #fff;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
    color: #333;
}
.re-time-chip:hover {
    border-color: var(--re-primary);
    color: var(--re-primary);
    background: #fff5f2;
}
.re-time-chip--active {
    background: var(--re-primary) !important;
    border-color: var(--re-primary) !important;
    color: #fff !important;
    font-weight: 600;
}

/* ── Form message ─────────────────────────────────────────── */
.re-form-msg--success { background: #e8f5e9; color: #2e7d32; border: 1px solid #c8e6c9; }
.re-form-msg--error   { background: #fdecea; color: #c62828; border: 1px solid #ffcdd2; }

/* ── Mobile ───────────────────────────────────────────────── */
@media (max-width: 480px) {
    .re-meeting-modal { border-radius: 12px; }
    .re-date-chips { gap: 6px; }
    .re-date-chip { min-width: 46px; padding: 7px 8px; }
}

/* ═══════════════════════════════════════════════════════════════
   UX/UI IMPROVEMENTS v1.8
   Typography scale, touch targets, contrast fixes
   ═══════════════════════════════════════════════════════════════ */

/* ── Property Card Typography ─────────────────────────────── */
.re-card__title {
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    color: #1a1a1a !important;
    margin-bottom: 4px !important;
}
.re-card__location {
    font-size: 13px !important;
    color: #666 !important;
}
.re-card__price-egp,
.re-card__price {
    font-size: 22px !important;
    font-weight: 700 !important;
    color: var(--re-price-color) !important;
    line-height: 1.2 !important;
}
.re-card__price-usd {
    font-size: 13px !important;
    color: #888 !important;
}
.re-card__price-plan {
    font-size: 13px !important;
    color: var(--re-font-color) !important;
}

/* ── Badges ───────────────────────────────────────────────── */
.re-badge {
    font-size: 11px !important;
    font-weight: 700 !important;
    padding: 4px 10px !important;
    letter-spacing: 0.3px !important;
}

/* ── Card CTA Buttons — minimum 44px touch target ────────── */
.re-btn {
    min-height: 44px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    padding: 10px 14px !important;
    border-radius: 8px !important;
}
.re-btn--wa {
    font-size: 13px !important;
    min-height: 44px !important;
}
.re-btn--call {
    font-size: 13px !important;
    min-height: 44px !important;
}
.re-btn--outline {
    font-size: 13px !important;
    min-height: 44px !important;
    padding: 10px 14px !important;
    font-weight: 600 !important;
}

/* ── Card Specs ───────────────────────────────────────────── */
.re-card__spec,
.re-card__specs span {
    font-size: 13px !important;
    color: #444 !important;
}

/* ── Card image — prevent layout shift (CLS) ─────────────── */
.re-card__image img,
.re-card__img {
    width: 100%;
    height: auto;
    display: block;
    aspect-ratio: 3 / 2;
    object-fit: cover;
}

/* ── Project Card Typography ──────────────────────────────── */
.re-card__proj-title,
.re-card--project .re-card__title {
    font-size: 17px !important;
    font-weight: 700 !important;
}
.re-card__dev-name {
    font-size: 13px !important;
    color: #666 !important;
}
.re-card__location-name {
    font-size: 13px !important;
    color: #888 !important;
}
.re-card__price-range {
    font-size: 16px !important;
    font-weight: 700 !important;
}

/* ── Date/Time chips — fix active text contrast ───────────── */
.re-date-chip--active,
.re-date-chip--active .re-chip-day,
.re-date-chip--active .re-chip-date,
.re-date-chip--active span {
    color: #fff !important;
    background: var(--re-primary) !important;
    border-color: var(--re-primary) !important;
}
.re-time-chip--active {
    color: #fff !important;
    background: var(--re-primary) !important;
    border-color: var(--re-primary) !important;
    font-weight: 700 !important;
}
/* Default chip text */
.re-date-chip {
    color: #1a1a1a !important;
}
.re-chip-day {
    font-size: 10px !important;
    font-weight: 700 !important;
    opacity: 0.7;
}
.re-chip-date {
    font-size: 13px !important;
    font-weight: 600 !important;
}

/* ── Meeting popup typography ─────────────────────────────── */
.re-meeting-tab {
    font-size: 14px !important;
    font-weight: 600 !important;
}
.re-meeting-tab--active {
    color: var(--re-primary) !important;
    border-bottom-color: var(--re-primary) !important;
}

/* ── Archive page headings ────────────────────────────────── */
.re-archive-title {
    font-size: clamp(22px, 4vw, 32px) !important;
    font-weight: 800 !important;
    color: #1a1a1a !important;
    margin-bottom: 8px !important;
}
.re-archive-desc {
    font-size: 15px !important;
    color: #666 !important;
    margin-bottom: 24px !important;
}

/* ── New Launch card typography ───────────────────────────── */
.re-launch-card__title {
    font-size: 18px !important;
    font-weight: 700 !important;
}
.re-launch-card__location {
    font-size: 12px !important;
    font-weight: 600 !important;
}
.re-launch-card__developer {
    font-size: 13px !important;
}
.re-launch-card__price {
    font-size: 17px !important;
    font-weight: 700 !important;
}
.re-launch-card__btn-details,
.re-launch-card__btn-wa {
    font-size: 13px !important;
    font-weight: 600 !important;
    min-height: 44px !important;
}

/* ── Offer card typography ────────────────────────────────── */
.re-offer-card__value {
    font-size: 52px !important;
}
.re-offer-card__type {
    font-size: 16px !important;
    font-weight: 700 !important;
}
.re-offer-card__proj-name {
    font-size: 15px !important;
    font-weight: 700 !important;
}

/* ── Form labels and inputs ───────────────────────────────── */
.re-field-label {
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
}
.re-field-input {
    font-size: 15px !important;
    min-height: 44px !important;
    padding: 12px 14px !important;
}

/* ── Breadcrumb ───────────────────────────────────────────── */
.re-breadcrumb {
    font-size: 13px !important;
}

/* ── Pagination ───────────────────────────────────────────── */
.re-pagination .page-numbers a,
.re-pagination .page-numbers span {
    min-width: 40px !important;
    height: 40px !important;
    font-size: 14px !important;
}

/* ── Mobile responsive typography ────────────────────────── */
@media (max-width: 768px) {
    .re-card__title { font-size: 16px !important; }
    .re-card__price-egp, .re-card__price { font-size: 20px !important; }
    .re-btn { font-size: 13px !important; min-height: 44px !important; }
    .re-launch-card__title { font-size: 17px !important; }
}

/* ═══════════════════════════════════════════════════════════════
   SEARCH WIDGET v2 — Compact Nawy-style
   ═══════════════════════════════════════════════════════════════ */

/* ── Widget wrapper ───────────────────────────────────────── */
.re-search-widget {
    background: #fff;
    border-radius: 12px;
    padding: 16px;
    box-shadow: 0 2px 16px rgba(0,0,0,0.08);
    width: 100%;
    box-sizing: border-box;
}

/* ── Search bar row ───────────────────────────────────────── */
.re-search-widget__bar {
    position: relative;
    margin-bottom: 12px;
}
.re-search-widget__icon {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: #aaa;
    font-size: 16px;
    pointer-events: none;
}
.re-search-widget__input {
    width: 100% !important;
    box-sizing: border-box !important;
    height: 52px !important;
    padding: 0 16px 0 46px !important;
    border: 1.5px solid #e5e7eb !important;
    border-radius: 8px !important;
    font-size: 15px !important;
    color: #1a1a1a !important;
    background: #f9fafb !important;
    outline: none !important;
    transition: border-color 0.2s, box-shadow 0.2s;
    font-family: inherit !important;
    margin: 0 !important;
}
.re-search-widget__input:focus {
    border-color: var(--re-primary);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(241,99,52,0.1);
}
.re-search-widget__input::placeholder { color: #999; }

/* ── Controls row ─────────────────────────────────────────── */
.re-search-widget__controls {
    display: flex;
    gap: 10px;
    align-items: stretch;
}

/* ── Select dropdowns ─────────────────────────────────────── */
.re-search-widget__select-wrap {
    flex: 1;
    min-width: 0;
}
.re-search-widget__select {
    width: 100%;
    height: 48px;
    padding: 0 32px 0 14px;
    border: 1.5px solid #e5e7eb;
    border-radius: 8px;
    font-size: 14px;
    color: #333;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24'%3E%3Cpath fill='%23999' d='M7 10l5 5 5-5z'/%3E%3C/svg%3E") no-repeat right 12px center;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
    outline: none;
    transition: border-color 0.2s;
    font-family: inherit;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.re-search-widget__select:focus {
    border-color: var(--re-primary);
    box-shadow: 0 0 0 3px rgba(241,99,52,0.08);
}

/* ── More Filters button ──────────────────────────────────── */
.re-search-widget__more-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 48px;
    padding: 0 16px;
    border: 1.5px solid #e5e7eb;
    border-radius: 8px;
    background: #fff;
    color: #444;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    white-space: nowrap;
    transition: all 0.2s;
    font-family: inherit;
    flex-shrink: 0;
}
.re-search-widget__more-btn:hover {
    border-color: var(--re-primary);
    color: var(--re-primary);
}
.re-search-widget__more-btn--active {
    border-color: var(--re-primary);
    color: var(--re-primary);
    background: #fff8f5;
}
.re-search-widget__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: var(--re-primary);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
}

/* ── Search submit button ─────────────────────────────────── */
.re-search-widget__submit {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 48px;
    padding: 0 24px;
    background: var(--re-primary);
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.2s;
    font-family: inherit;
    flex-shrink: 0;
}
.re-search-widget__submit:hover {
    background: #d4582a;
}

/* ── Advanced Filters Overlay ─────────────────────────────── */
.re-filters-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.45);
    z-index: 99998;
    backdrop-filter: blur(2px);
}
.re-filters-overlay.is-open { display: block; }

/* ── Slide-in Panel ───────────────────────────────────────── */
.re-filters-panel {
    position: fixed;
    top: 0;
    right: 0;
    width: 360px;
    max-width: 90vw;
    height: 100vh;
    background: #fff;
    z-index: 99999;
    display: flex;
    flex-direction: column;
    box-shadow: -4px 0 24px rgba(0,0,0,0.12);
    transform: translateX(100%);
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.re-filters-panel.is-open {
    transform: translateX(0);
}

/* ── Panel Header ─────────────────────────────────────────── */
.re-filters-panel__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 24px;
    border-bottom: 1px solid #f0f0f0;
    flex-shrink: 0;
}
.re-filters-panel__title {
    font-size: 17px;
    font-weight: 700;
    color: #1a1a1a;
    display: flex;
    align-items: center;
    gap: 8px;
}
.re-filters-panel__title i { color: var(--re-primary); }
.re-filters-panel__close {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 1px solid #e5e7eb;
    background: #fff;
    font-size: 16px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #666;
    transition: all 0.2s;
}
.re-filters-panel__close:hover {
    background: #f5f5f5;
    color: #333;
}

/* ── Panel Body ───────────────────────────────────────────── */
.re-filters-panel__body {
    flex: 1;
    overflow-y: auto;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.re-filters-panel__group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.re-filters-panel__label {
    font-size: 12px;
    font-weight: 700;
    color: #444;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.re-filters-panel__select {
    width: 100%;
    height: 46px;
    padding: 0 14px;
    border: 1.5px solid #e5e7eb;
    border-radius: 8px;
    font-size: 14px;
    color: #333;
    background: #fff;
    outline: none;
    font-family: inherit;
    transition: border-color 0.2s;
    box-sizing: border-box;
}
.re-filters-panel__select:focus {
    border-color: var(--re-primary);
}

/* ── Panel Footer ─────────────────────────────────────────── */
.re-filters-panel__footer {
    padding: 16px 24px;
    border-top: 1px solid #f0f0f0;
    display: flex;
    gap: 12px;
    flex-shrink: 0;
}
.re-filters-panel__reset {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    height: 46px;
    border: 1.5px solid #e5e7eb;
    border-radius: 8px;
    color: #666;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.2s;
}
.re-filters-panel__reset:hover {
    border-color: #ccc;
    color: #333;
}
.re-filters-panel__apply {
    flex: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    height: 46px;
    background: var(--re-primary);
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    font-family: inherit;
    transition: background 0.2s;
}
.re-filters-panel__apply:hover { background: #d4582a; }

/* ── Mobile ───────────────────────────────────────────────── */
@media (max-width: 900px) {
    .re-search-widget__controls {
        flex-wrap: wrap;
        gap: 8px;
    }
    .re-search-widget__select-wrap {
        flex: 1 1 calc(50% - 4px);
        min-width: 0;
    }
    .re-search-widget__more-btn { flex: 1; justify-content: center; }
    .re-search-widget__submit   { flex: 1; justify-content: center; }
}
@media (max-width: 480px) {
    .re-search-widget { padding: 12px; }
    .re-search-widget__select-wrap { flex: 1 1 100%; }
    .re-search-widget__more-btn,
    .re-search-widget__submit { flex: 1 1 calc(50% - 4px); }
    .re-filters-panel { width: 100%; max-width: 100%; }
}

/* ── Autocomplete results (reuse existing style) ──────────── */
.re-search-widget .re-autocomplete-results {
    top: calc(100% + 4px);
}


/* ══════════════════════════════════════════════════════════
   TRIVIUM v2.9 — DEFINITIVE OVERRIDES (single source)
══════════════════════════════════════════════════════════ */

/* ── Search input — defeat Astra ─────────────────────────── */
.re-search-widget__input,
.re-search-widget .re-search-widget__input {
    padding-left: 46px !important;
    padding-right: 16px !important;
    height: 52px !important;
    line-height: normal !important;
    margin-bottom: 0 !important;
    box-sizing: border-box !important;
}

/* ── Sidebar vertical stacked layout ─────────────────────── */
.re-search-sidebar .re-search-widget__controls {
    flex-wrap: wrap;
    flex-direction: row;
    gap: 8px;
}
.re-search-sidebar .re-search-widget__select-wrap {
    flex: 1 1 100%;
    min-width: 0;
}
.re-search-sidebar .re-search-widget__select {
    width: 100% !important;
    height: 46px !important;
}
.re-search-sidebar .re-search-widget__more-btn,
.re-search-sidebar .re-search-widget__submit {
    flex: 1 1 calc(50% - 4px);
    justify-content: center;
}

/* ── Filters button — defeat Astra hover blue ─────────────── */
button.re-search-widget__more-btn,
.re-search-widget button.re-search-widget__more-btn {
    background: #ffffff !important;
    background-color: #ffffff !important;
    color: #444 !important;
    border: 1.5px solid #e5e7eb !important;
    box-shadow: none !important;
}
button.re-search-widget__more-btn:hover,
.re-search-widget button.re-search-widget__more-btn:hover {
    background: #fff8f5 !important;
    background-color: #fff8f5 !important;
    border-color: var(--re-primary) !important;
    color: var(--re-primary) !important;
}

/* ── Search button — consistent orange everywhere ─────────── */
.re-search-widget__submit,
.re-search-sidebar .re-search-widget__submit,
aside .re-search-widget__submit {
    background: var(--re-primary) !important;
    color: #fff !important;
    border: none !important;
}
.re-search-widget__submit:hover,
aside .re-search-widget__submit:hover {
    background: #d4582a !important;
    color: #fff !important;
}

/* ── Filters panel — full height always ───────────────────── */
.re-filters-panel {
    top: 0 !important;
    height: 100vh !important;
    height: 100dvh !important;
    overflow: hidden !important;
}
.re-filters-panel__header {
    flex-shrink: 0 !important;
}

/* ── Close button — force circular ────────────────────────── */
button.re-filters-panel__close,
#re-filters-close {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
    border-radius: 50% !important;
    border: 1.5px solid #e5e7eb !important;
    background: #fff !important;
    background-color: #fff !important;
    font-size: 16px !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #666 !important;
    padding: 0 !important;
    box-shadow: none !important;
    flex-shrink: 0 !important;
}
button.re-filters-panel__close:hover,
#re-filters-close:hover {
    background: #f5f5f5 !important;
    background-color: #f5f5f5 !important;
    color: #333 !important;
}

/* ── Reset All button — defeat Astra blue ─────────────────── */
button.re-filters-panel__reset,
#re-reset-filters {
    background: #ffffff !important;
    background-color: #ffffff !important;
    color: var(--re-font-color) !important;
    border: 1.5px solid #d1d5db !important;
    box-shadow: none !important;
    border-radius: 8px !important;
    padding: 0 20px !important;
    height: 46px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    font-family: inherit !important;
}
button.re-filters-panel__reset:hover,
#re-reset-filters:hover {
    background: #f5f5f5 !important;
    background-color: #f5f5f5 !important;
    border-color: #9ca3af !important;
    color: #333 !important;
}

/* ── Search page container ─────────────────────────────────── */
.re-search-page {
    max-width: 1240px !important;
    margin: 0 auto !important;
    padding: 32px 20px !important;
    box-sizing: border-box !important;
    width: 100% !important;
    align-self: center !important;
    flex-shrink: 0 !important;
}
.re-search-page .re-search-layout {
    grid-template-columns: 300px 1fr !important;
    width: 100% !important;
    align-items: start !important;
}
.re-search-sidebar {
    align-self: start !important;
}
.re-search-results {
    min-width: 0;
    width: 100% !important;
    min-height: 400px !important;
}
.re-search-results #re-filter-results {
    width: 100% !important;
    min-height: 300px !important;
}
.re-search-results #re-filter-results .re-grid {
    grid-template-columns: repeat(2, 1fr) !important;
}
@media (max-width: 900px) {
    .re-search-results #re-filter-results .re-grid {
        grid-template-columns: 1fr !important;
    }
}

/* ── Dual range price slider ───────────────────────────────── */
.re-range-wrap {
    position: relative !important;
    height: 36px !important;
    display: flex !important;
    align-items: center !important;
    margin-top: 12px !important;
    margin-bottom: 8px !important;
}
/* Grey track bar — sits behind everything */
.re-range-track {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    height: 4px !important;
    background: #e5e7eb !important;
    border-radius: 99px !important;
    z-index: 1 !important;
    display: block !important;
    pointer-events: none !important;
}
/* Orange fill — positioned by JS between thumbs */
.re-range-track-fill {
    position: absolute !important;
    height: 100% !important;
    background: #F16334 !important;
    border-radius: 99px !important;
    left: 0 !important;
    width: 100% !important;
    z-index: 2 !important;
    pointer-events: none !important;
}
/* Range inputs — transparent, sit above track */
.re-range-input {
    position: absolute !important;
    left: 0 !important;
    width: 100% !important;
    height: 4px !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    background: transparent !important;
    pointer-events: none !important;
    outline: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    box-shadow: none !important;
    z-index: 3 !important;
}
/* Webkit track — transparent so fill div shows through */
.re-range-input::-webkit-slider-runnable-track {
    background: transparent !important;
    height: 4px !important;
    border-radius: 99px !important;
}
/* Webkit thumb — white circle, orange border, sits above fill */
.re-range-input::-webkit-slider-thumb,
.re-filters-panel .re-range-input::-webkit-slider-thumb,
input.re-range-input::-webkit-slider-thumb {
    -webkit-appearance: none !important;
    appearance: none !important;
    width: 22px !important;
    height: 22px !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    border: 3px solid #F16334 !important;
    box-shadow: 0 1px 6px rgba(0,0,0,0.15) !important;
    cursor: pointer !important;
    pointer-events: all !important;
    position: relative !important;
    z-index: 10 !important;
}
/* Firefox thumb */
.re-range-input::-moz-range-thumb,
input.re-range-input::-moz-range-thumb {
    width: 22px !important;
    height: 22px !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    border: 3px solid #F16334 !important;
    cursor: pointer !important;
    pointer-events: all !important;
    box-shadow: 0 1px 6px rgba(0,0,0,0.15) !important;
}
input.re-range-input::-moz-range-track {
    background: transparent !important;
    height: 4px !important;
}

/* ── Price value boxes ─────────────────────────────────────── */
.re-price-boxes {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-top: 4px !important;
}
.re-price-box {
    flex: 1 !important;
    border: 1.5px solid #e5e7eb !important;
    border-radius: 8px !important;
    padding: 8px 12px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    background: #fff !important;
}
.re-price-box__label {
    font-size: 11px !important;
    font-weight: 600 !important;
    color: #999 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}
.re-price-box__value {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
}
.re-price-box__sep {
    font-size: 16px !important;
    color: #ccc !important;
    flex-shrink: 0 !important;
    padding-top: 12px !important;
}

/* ══════════════════════════════════════════════════════════
   ACCESSIBILITY FIXES (v3.7)
   WCAG 2.1 AA — focus, contrast, labels, motion
══════════════════════════════════════════════════════════ */

/* Global focus-visible — keyboard nav only, not mouse */
:focus { outline: none; }
:focus-visible {
    outline: 3px solid #F16334 !important;
    outline-offset: 2px !important;
    border-radius: 4px !important;
}

/* Skip to content link */
.re-skip-link {
    position: absolute;
    top: -100%;
    left: 16px;
    z-index: 999999;
    background: #F16334;
    color: #fff !important;
    padding: 12px 20px;
    border-radius: 0 0 8px 8px;
    font-weight: 700;
    font-size: 14px;
    text-decoration: none;
    transition: top 0.2s;
}
.re-skip-link:focus { top: 0; }

/* Form labels — always visible, high contrast */
.re-field-label {
    color: #333 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}

/* Inputs — sufficient contrast border */
.re-field-input,
.re-search-widget__input,
.re-search-widget__select,
.re-filters-panel__select {
    border-color: #767676 !important;
}
.re-field-input:focus,
.re-search-widget__input:focus,
.re-search-widget__select:focus,
.re-filters-panel__select:focus {
    border-color: #F16334 !important;
    box-shadow: 0 0 0 3px rgba(241,99,52,0.25) !important;
    outline: none !important;
}

/* Buttons — minimum 44px touch target */
.re-btn,
.re-search-widget__submit,
.re-search-widget__more-btn,
.re-filters-panel__apply,
.re-filters-panel__reset,
#re-reset-filters {
    min-height: 44px !important;
}

/* Card title links — accessible color */
.re-card__title a {
    color: #1a1a1a !important;
    text-decoration: none;
}
.re-card__title a:hover,
.re-card__title a:focus {
    color: #F16334 !important;
    text-decoration: underline;
}

/* Badge contrast fixes */
.re-badge--off-plan { background: #0077cc !important; } /* higher contrast blue */

/* Error messages — sufficient contrast */
.re-field-error { color: #c0392b !important; font-size: 12px !important; }

/* Reduce motion for users who prefer it */
@media (prefers-reduced-motion: reduce) {
    .re-card,
    .re-card__image img,
    .re-gallery-hero img,
    .re-gallery-strip__item img,
    .re-gallery-lightbox,
    .re-filters-panel,
    .re-contact-submit,
    .re-btn {
        transition: none !important;
        animation: none !important;
    }
}

/* Screen reader only utility */
.re-sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* ── Emergency: hide old floating video btn until theme deploys ─ */
.re-gallery-video-btn {
    display: none !important;
}

/* ══════════════════════════════════════════════════════════
   HOMEPAGE (v3.9.2)
   Sections: Hero, New Launches, Projects, Locations,
             Properties, Trust Strip, Contact
══════════════════════════════════════════════════════════ */

/* ── Global section layout ─────────────────────────────── */
.re-homepage {
    --re-section-pad: 72px 0;
    --re-section-pad-mobile: 48px 0;
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
    box-sizing: border-box;
}
.re-section {
    padding: var(--re-section-pad);
    width: 100%;
}
.re-section--alt {
    background: #f8f9fb;
}
.re-section__head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    width: 100%;
    max-width: 1240px;
    margin: 0 auto 36px;
    padding: 0 40px;
    gap: 16px;
    box-sizing: border-box;
}
.re-section__title {
    font-size: clamp(22px, 3vw, 32px);
    font-weight: 700;
    color: #154B5B;
    margin: 0 0 6px;
    line-height: 1.2;
}
.re-section__sub {
    font-size: 15px;
    color: #666;
    margin: 0;
}
.re-section__link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #F16334;
    font-weight: 600;
    font-size: 14px;
    text-decoration: none;
    white-space: nowrap;
    transition: gap 0.2s;
    flex-shrink: 0;
}
.re-section__link:hover { gap: 10px; }
.re-section__body {
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 40px;
    box-sizing: border-box;
}

/* ── 1. HERO ───────────────────────────────────────────── */
.re-hero {
    background: linear-gradient(135deg, #0d3542 0%, #154B5B 55%, #1a6070 100%);
    padding: 80px 24px 64px;
    text-align: center;
    position: relative;
    overflow: hidden;
}
/* Subtle pattern overlay — zero extra request */
.re-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle at 20% 80%, rgba(241,99,52,0.12) 0%, transparent 50%),
                      radial-gradient(circle at 80% 20%, rgba(255,255,255,0.04) 0%, transparent 50%);
    pointer-events: none;
}
.re-hero__inner {
    position: relative;
    max-width: 860px;
    margin: 0 auto;
}
.re-hero__headline {
    font-size: clamp(32px, 5vw, 56px);
    font-weight: 800;
    color: #ffffff;
    line-height: 1.15;
    margin: 0 0 16px;
    letter-spacing: -0.5px;
}
.re-hero__headline br { display: block; }
.re-hero__sub {
    font-size: clamp(15px, 2vw, 18px);
    color: rgba(255,255,255,0.75);
    margin: 0 0 36px;
    line-height: 1.6;
}
.re-hero__search {
    background: #fff;
    border-radius: 16px;
    padding: 20px;
    box-shadow: 0 20px 60px rgba(0,0,0,0.25);
    text-align: left;
}
/* Override search widget margins inside hero */
.re-hero__search .re-search-widget {
    margin: 0 !important;
    box-shadow: none !important;
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
}

/* ── 2. TRUST STRIP ────────────────────────────────────── */
.re-trust {
    background: #154B5B;
    padding: 56px 24px;
}
.re-trust__inner {
    max-width: 1240px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
    text-align: center;
}
.re-trust__icon {
    width: 56px;
    height: 56px;
    background: rgba(241,99,52,0.15);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 14px;
    font-size: 22px;
    color: #F16334;
}
.re-trust__title {
    font-size: 17px;
    font-weight: 700;
    color: #fff;
    margin: 0 0 8px;
}
.re-trust__desc {
    font-size: 13px;
    color: rgba(255,255,255,0.65);
    margin: 0;
    line-height: 1.6;
}

/* ── 3. CONTACT SECTION ────────────────────────────────── */
.re-section--contact {
    background: #fff;
    padding: var(--re-section-pad);
}
/* Homepage contact — use existing contact-form partial layout */
.re-homepage-contact .re-section__head {
    text-align: center;
    justify-content: center;
}
.re-homepage-contact .re-section__title,
.re-homepage-contact .re-section__sub {
    text-align: center;
}
.re-homepage-contact .re-section__body {
    max-width: 860px;
}
.re-homepage-contact .re-contact-wrap {
    max-width: 860px;
    margin: 0 auto;
    grid-template-columns: 1fr;
}
.re-homepage-contact .re-contact-wrap .re-contact-card {
    display: none;
}

/* ── Astra full-width on homepage ──────────────────────── */
body.home .ast-container,
body.home .site-content > .ast-container {
    max-width: 100% !important;
    padding: 0 !important;
}
body.home .entry-content {
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}
body.home #primary,
body.home .content-area {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
}

/* ── Responsive ────────────────────────────────────────── */
@media (max-width: 900px) {
    .re-trust__inner {
        grid-template-columns: repeat(2, 1fr);
        gap: 28px;
    }
    .re-contact-wrap {
        grid-template-columns: 1fr;
        gap: 36px;
    }
}
@media (max-width: 600px) {
    .re-homepage { --re-section-pad: var(--re-section-pad-mobile); }
    .re-hero { padding: 56px 16px 48px; }
    .re-hero__search { padding: 16px; border-radius: 12px; }
    .re-section__head { flex-direction: column; align-items: flex-start; gap: 8px; }
    .re-trust__inner { grid-template-columns: 1fr 1fr; gap: 20px; }
    .re-trust__icon { width: 44px; height: 44px; font-size: 18px; }
    .re-section__body,
    .re-section__head,
    .re-contact-wrap { padding-left: 16px; padding-right: 16px; }
}

/* ══════════════════════════════════════════════════════════
   ITEMS 8, 9 — Property Header + Amenity Chips (v4.0.1)
══════════════════════════════════════════════════════════ */

/* ── Item 8: Property page breadcrumb + header ─────────── */
.re-prop-breadcrumb,
.re-breadcrumb {
    font-size: 13px;
    color: rgb(102,102,102);
    padding-top: 20px;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}
.re-prop-breadcrumb a,
.re-breadcrumb a {
    color: rgb(102,102,102) !important;
    text-decoration: none;
    transition: color 0.2s;
}
.re-prop-breadcrumb a:hover,
.re-breadcrumb a:hover { color: var(--re-primary) !important; }
.re-prop-breadcrumb span,
.re-breadcrumb span { color: rgb(102,102,102); }
.re-prop-breadcrumb span[aria-hidden],
.re-breadcrumb span[aria-hidden] { color: #ccc; }

.re-prop-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 20px;
}
.re-prop-header__title {
    font-size: clamp(22px, 3vw, 30px);
    font-weight: 800;
    color: var(--re-dark);
    margin: 0 0 10px;
    line-height: 1.2;
}
.re-prop-header__meta {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.re-prop-header__link {
    font-size: 14px;
    color: var(--re-font-color);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    transition: color 0.2s;
}
.re-prop-header__link:hover { color: var(--re-primary); }
.re-prop-header__dates {
    font-size: 12px;
    color: #aaa;
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    flex-shrink: 0;
}

/* ── Item 9: Shared amenity chip — property + project ──── */
.re-section-block { margin-top: 28px; }
.re-amenity-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 12px;
}
.re-amenity-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 14px;
    background: var(--re-bg);
    border: 1px solid var(--re-border);
    border-radius: 20px;
    font-size: 13px;
    color: var(--re-font-color);
    font-weight: 500;
    transition: border-color 0.2s, background 0.2s;
}
.re-amenity-chip:hover {
    border-color: var(--re-primary);
    background: #fff5f2;
}
.re-amenity-chip i,
.re-amenity-chip svg {
    color: var(--re-primary);
    font-size: 13px;
    flex-shrink: 0;
}

/* ── Mobile responsive ─────────────────────────────────── */
@media (max-width: 600px) {
    .re-prop-header { flex-direction: column; gap: 8px; }
    .re-prop-header__dates { flex-direction: row; }
    .re-section__head { padding: 0 16px; }
    .re-section__body { padding: 0 16px; }
}

/* ══════════════════════════════════════════════════════════
   TOP SEARCH BAR (v4.3 — static, before breadcrumb)
   Injected via astra_primary_content_top
══════════════════════════════════════════════════════════ */
.re-topbar-search {
    /* Positioned by JS after #masthead — natural document flow */
    display: block;
    width: 100%;
    background: #fff;
    border-bottom: 1px solid var(--re-border);
    box-shadow: 0 2px 6px rgba(0,0,0,0.06);
    padding: 10px 24px;
    box-sizing: border-box;
    position: relative;
    z-index: 1;
}
/* Hide topbar on desktop search page — show only on mobile */
@media (min-width: 768px) {
    .re-topbar-search--mobile-only {
        display: none !important;
    }
}
.re-topbar-search__inner {
    max-width: 100%;
    padding: 0;
    display: flex;
    align-items: center;
    gap: 10px;
}
/* Search input bar — matches .re-search-widget__bar style */
.re-topbar-search__bar {
    flex: 1;
    position: relative;
    min-width: 0;
}
.re-topbar-search__icon {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: #aaa;
    font-size: 15px;
    pointer-events: none;
    z-index: 1;
}
.re-topbar-search__input {
    width: 100% !important;
    box-sizing: border-box !important;
    height: 46px !important;
    padding: 0 16px 0 44px !important;
    border: 1.5px solid #e5e7eb !important;
    border-radius: 8px !important;
    font-size: 15px !important;
    color: var(--re-font-color) !important;
    background: #f9fafb !important;
    outline: none !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
    font-family: inherit !important;
    margin: 0 !important;
}
.re-topbar-search__input:focus {
    border-color: var(--re-primary) !important;
    background: #fff !important;
    box-shadow: 0 0 0 3px rgba(241,99,52,0.1) !important;
}
.re-topbar-search__input::placeholder { color: #999 !important; }

/* Filter button — square shape like image 2 */
.re-topbar-filter-btn {
    white-space: nowrap;
    flex-shrink: 0;
    width: 46px !important;
    height: 46px !important;
    min-height: 46px !important;
    padding: 0 !important;
    border-radius: 8px !important;
    border: 1.5px solid #e5e7eb !important;
    background: #f9fafb !important;
    color: #666 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer;
    transition: border-color 0.2s, color 0.2s;
    font-size: 16px !important;
}
.re-topbar-filter-btn:hover {
    border-color: var(--re-primary) !important;
    color: var(--re-primary) !important;
    background: #fff5f2 !important;
}
/* Hide text inside filter btn — icon only like image 2 */
.re-topbar-filter-btn .re-topbar-filter-text { display: none !important; }

/* Submit/Search button */
.re-topbar-submit-btn {
    flex-shrink: 0;
}

/* Mobile: hide Search button, keep input + filter icon only */
@media (max-width: 767px) {
    .re-topbar-submit-btn { display: none !important; }
    .re-topbar-search__inner { padding: 0 12px; gap: 8px; }
    .re-topbar-filter-btn { font-size: 15px !important; }
    /* Sticky topbar on mobile — z-index BELOW Astra mobile nav (9999) */
    .re-topbar-search {
        position: sticky !important;
        top: 0 !important;
        z-index: 9 !important;
        background: #fff !important;
    }
}
/* When Astra mobile menu is open — hide topbar completely */
.ast-header-break-point.toggled-on .re-topbar-search,
body.ast-mobile-header-active .re-topbar-search {
    z-index: 0 !important;
}

/* ══════════════════════════════════════════════════════════
   HORIZONTAL PROPERTY CARD — .re-card--h (v4.2)
   Search results: image left, content right
   Works on both mobile and desktop
══════════════════════════════════════════════════════════ */

/* Results list container — stacked column */
.re-results-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* Horizontal card layout */
.re-card--h {
    display: grid !important;
    grid-template-columns: 40% 1fr !important;
    width: 100% !important;
    grid-template-rows: 1fr auto !important;
    grid-template-areas:
        "image body"
        "image cta" !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    min-height: 180px;
}
.re-card--h .re-card__image {
    grid-area: image !important;
    width: 100% !important;
    height: 100% !important;
    flex-shrink: 0 !important;
    border-radius: 0 !important;
}
.re-card--h .re-card__image a,
.re-card--h .re-card__image--placeholder {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 180px !important;
}
.re-card--h .re-card__image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}
.re-card--h .re-card__body {
    grid-area: body !important;
    padding: 16px 16px 8px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    min-width: 0 !important;
}
.re-card--h .re-card__cta {
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    padding: 12px 16px !important;
    gap: 8px !important;
    border-top: 1px solid var(--re-border) !important;
    border-left: none !important;
    width: 100% !important;
    flex-shrink: 0 !important;
}
.re-card--h .re-card__title {
    font-size: 16px !important;
    margin-bottom: 6px !important;
}
.re-card--h .re-card__subtitle {
    font-size: 13px !important;
    margin-bottom: 8px !important;
}
.re-card--h .re-card__meta {
    margin-bottom: 8px !important;
}
.re-card--h .re-card__price {
    margin-top: auto !important;
}
.re-card--h .re-card__price-main {
    font-size: 18px !important;
}
.re-card--h .re-btn--sm {
    width: 100% !important;
    justify-content: center !important;
    font-size: 13px !important;
    padding: 8px 12px !important;
}

/* CTA area */
.re-card--h .re-card__cta { grid-area: cta !important; }

/* Mobile: revert horizontal card back to vertical layout */
@media (max-width: 767px) {
    .re-card--h {
        display: flex !important;
        flex-direction: column !important;
        grid-template-columns: unset !important;
        grid-template-areas: unset !important;
        min-height: unset !important;
    }
    .re-card--h .re-card__image {
        width: 100% !important;
        min-width: unset !important;
        max-width: unset !important;
        height: 200px !important;
    }
    .re-card--h .re-card__image a,
    .re-card--h .re-card__image--placeholder {
        height: 200px !important;
        min-height: 200px !important;
    }
    .re-card--h .re-card__body {
        padding: 14px !important;
        grid-area: unset !important;
    }
    .re-card--h .re-card__cta {
        grid-area: unset !important;
        flex-direction: row !important;
        border-left: none !important;
        border-top: 1px solid var(--re-border) !important;
        padding: 12px 14px !important;
        width: 100% !important;
        gap: 8px !important;
    }
    .re-topbar-search__inner { padding: 0 12px; }
}

/* Override Astra breadcrumb colors — all links #666 */
.ast-breadcrumbs a,
.ast-breadcrumbs-wrapper a,
.breadcrumbs a,
.trail-items a,
.breadcrumb-trail a {
    color: rgb(102,102,102) !important;
    text-decoration: none !important;
}
.ast-breadcrumbs .trail-end,
.ast-breadcrumbs-wrapper .trail-end,
.ast-breadcrumbs span,
.breadcrumb-trail span {
    color: rgb(102,102,102) !important;
}
.ast-breadcrumbs a:hover,
.breadcrumb-trail a:hover {
    color: var(--re-primary) !important;
}
/* ══════════════════════════════════════════════════════════
   SIDEBAR FILTERS — Desktop search page (v4.5)
   Full expanded filters, no slide panel
══════════════════════════════════════════════════════════ */
.re-sidebar-filters {
    background: #fff;
    border: 1px solid var(--re-border);
    border-radius: 12px;
    overflow: hidden;
    position: sticky;
    top: 20px;
    max-height: calc(100vh - 40px);
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--re-border) transparent;
}
.re-sidebar-filters::-webkit-scrollbar { width: 4px; }
.re-sidebar-filters::-webkit-scrollbar-track { background: transparent; }
.re-sidebar-filters::-webkit-scrollbar-thumb { background: var(--re-border); border-radius: 2px; }
.re-sidebar-filters__header {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 16px 20px;
    font-size: 15px;
    font-weight: 700;
    color: var(--re-dark);
    border-bottom: 1px solid var(--re-border);
    background: #f9fafb;
}
.re-sidebar-filters__header i { color: var(--re-primary); }
.re-sidebar-filters__reset {
    margin-left: auto;
    font-size: 12px;
    font-weight: 600;
    color: var(--re-primary);
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px 8px;
    border-radius: 4px;
    transition: background 0.2s;
}
.re-sidebar-filters__reset:hover { background: #fff5f2; }
.re-sidebar-filters__group {
    padding: 14px 20px;
    border-bottom: 1px solid var(--re-border);
}
.re-sidebar-filters__group:last-child { border-bottom: none; }
.re-sidebar-filters__label {
    display: block;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #888;
    margin-bottom: 8px;
}
.re-sidebar-filters__input-wrap {
    position: relative;
}
.re-sidebar-filters__input-wrap i {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: #aaa;
    font-size: 13px;
    pointer-events: none;
}
.re-sidebar-filters__input {
    width: 100%;
    box-sizing: border-box;
    height: 40px;
    padding: 0 12px 0 36px;
    border: 1.5px solid var(--re-border);
    border-radius: 8px;
    font-size: 14px;
    color: var(--re-font-color);
    background: #f9fafb;
    outline: none;
    transition: border-color 0.2s;
}
.re-sidebar-filters__input:focus {
    border-color: var(--re-primary);
    background: #fff;
}
.re-sidebar-filters__select {
    width: 100%;
    height: 40px;
    padding: 0 12px;
    border: 1.5px solid var(--re-border);
    border-radius: 8px;
    font-size: 14px;
    color: var(--re-font-color);
    background: #f9fafb;
    outline: none;
    cursor: pointer;
    transition: border-color 0.2s;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23999' d='M6 8L0 0h12z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    padding-right: 32px;
}
.re-sidebar-filters__select:focus { border-color: var(--re-primary); background-color: #fff; }

/* ── Project card unit types (v4.5.4) ─────────────────────── */
.re-card__unit-types {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 10px;
}
.re-card__unit-type {
    font-size: 11px;
    font-weight: 600;
    color: var(--re-dark);
    background: #eef4f6;
    border: 1px solid #cde0e6;
    padding: 3px 9px;
    border-radius: 20px;
    letter-spacing: 0.2px;
    white-space: nowrap;
}

/* ── Unit Price Table — single project page (v4.5.6) ──────── */
.re-unit-price-table-wrap { margin-top: 32px; }
.re-unit-price-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid var(--re-border);
}
.re-unit-price-table thead tr {
    background: var(--re-dark);
}
.re-unit-price-table thead th {
    padding: 12px 16px;
    text-align: left;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.re-unit-price-table tbody tr {
    border-bottom: 1px solid var(--re-border);
    transition: background 0.15s;
}
.re-unit-price-table tbody tr:last-child { border-bottom: none; }
.re-unit-price-table tbody tr:hover { background: #f8f9fa; }
.re-unit-price-table tbody tr:nth-child(even) { background: #fafbfc; }
.re-unit-price-table tbody tr:nth-child(even):hover { background: #f0f4f6; }
.re-unit-price-table__type {
    padding: 13px 16px;
    font-weight: 600;
    color: var(--re-dark);
}
.re-unit-price-table__price {
    padding: 13px 16px;
    color: var(--re-font-color);
}
.re-unit-price-table__price strong {
    font-size: 15px;
    font-weight: 700;
    color: var(--re-price-color);
}
.re-unit-price-table__currency {
    font-size: 12px;
    color: #888;
    margin-left: 4px;
}
.re-unit-price-table__tba {
    font-size: 13px;
    color: #aaa;
    font-style: italic;
}
@media (max-width: 600px) {
    .re-unit-price-table { font-size: 13px; }
    .re-unit-price-table thead th { padding: 10px 12px; font-size: 11px; }
    .re-unit-price-table__type,
    .re-unit-price-table__price { padding: 11px 12px; }
    .re-unit-price-table__price strong { font-size: 14px; }
}

/* ══════════════════════════════════════════════════════════
   GLOBAL FOOTER (v4.5.6)
══════════════════════════════════════════════════════════ */
.re-footer {
    background: var(--re-dark, #154B5B);
    color: rgba(255,255,255,0.75);
    font-size: 14px;
    font-family: inherit;
    margin-top: 60px;
}

/* ── Columns ─────────────────────────────────────────────── */
.re-footer__columns {
    border-bottom: 1px solid rgba(255,255,255,0.1);
    padding: 48px 0 40px;
}
.re-footer__columns-inner {
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 24px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px;
}
.re-footer__col-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    background: none;
    border: none;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    padding: 0 0 14px 0;
    border-bottom: 1px solid rgba(255,255,255,0.15);
    margin-bottom: 14px;
    cursor: default;
    font-family: inherit;
}
.re-footer__toggle-icon { display: none; }
.re-footer__col-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: block;
}
.re-footer__col-list li { margin-bottom: 8px; }
.re-footer__col-list a {
    color: rgba(255,255,255,0.65);
    text-decoration: none;
    font-size: 13px;
    transition: color 0.2s;
    display: block;
    line-height: 1.4;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}
.re-footer__col-list a:hover { color: #fff; }
.re-footer__empty { color: rgba(255,255,255,0.35); font-style: italic; font-size: 12px; }

/* ── Middle ──────────────────────────────────────────────── */
.re-footer__middle {
    border-bottom: 1px solid rgba(255,255,255,0.1);
    padding: 32px 0;
}
.re-footer__middle-inner {
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 24px;
    display: flex;
    align-items: center;
    gap: 32px;
    flex-wrap: wrap;
}
.re-footer__logo { flex-shrink: 0; }
.re-footer__logo img { max-height: 44px; width: auto; filter: brightness(0) invert(1); opacity: 0.9; }
.re-footer__logo-text {
    color: #fff;
    font-size: 20px;
    font-weight: 800;
    text-decoration: none;
    letter-spacing: -0.5px;
}
.re-footer__nav { flex: 1; min-width: 0; }
.re-footer__nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 6px 20px;
}
.re-footer__nav a {
    color: rgba(255,255,255,0.65);
    text-decoration: none;
    font-size: 13px;
    transition: color 0.2s;
    white-space: nowrap;
}
.re-footer__nav a:hover { color: #fff; }
.re-footer__social {
    display: flex;
    gap: 10px;
    flex-shrink: 0;
}
.re-footer__social-link {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255,255,255,0.1);
    color: rgba(255,255,255,0.75);
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-size: 14px;
    transition: background 0.2s, color 0.2s;
}
.re-footer__social-link:hover {
    background: var(--re-primary);
    color: #fff;
}

/* ── Bottom ──────────────────────────────────────────────── */
.re-footer__bottom {
    padding: 18px 0;
}
.re-footer__bottom-inner {
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
}
.re-footer__copy {
    margin: 0;
    font-size: 12px;
    color: rgba(255,255,255,0.4);
}
.re-footer__copy a {
    color: rgba(255,255,255,0.55);
    text-decoration: none;
}
.re-footer__copy a:hover { color: #fff; }

/* ── Cookie Banner ───────────────────────────────────────── */
.re-cookie-banner {
    position: fixed;
    bottom: 24px;
    right: 24px;
    width: 340px;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.18), 0 2px 8px rgba(0,0,0,0.08);
    padding: 18px 20px 16px;
    z-index: 99999;
    transform: translateY(120px);
    opacity: 0;
    transition: transform 0.4s cubic-bezier(0.34,1.56,0.64,1), opacity 0.3s ease;
    pointer-events: none;
}
.re-cookie-banner.is-visible {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
}
.re-cookie-banner__text {
    font-size: 13px;
    color: #444;
    margin: 0 0 14px 0;
    line-height: 1.5;
}
.re-cookie-banner__text i {
    color: var(--re-primary);
    margin-right: 6px;
}
.re-cookie-banner__actions {
    display: flex;
    gap: 8px;
    align-items: center;
}
.re-cookie-banner__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    min-height: 40px;
    padding: 0 16px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
    transition: all 0.2s;
    white-space: nowrap;
    font-family: inherit;
    box-sizing: border-box;
    line-height: 1;
}
.re-cookie-banner__btn--ghost {
    background: #f5f5f5;
    color: #555;
    border: 1.5px solid #e5e5e5;
}
.re-cookie-banner__btn--ghost:hover { background: #eee; color: #333; }
.re-cookie-banner__btn--accept {
    background: var(--re-primary);
    color: #fff;
    border: none;
    flex: 1;
}
.re-cookie-banner__btn--accept:hover { background: var(--re-primary-dark, #d4512a); }

/* ── Mobile footer: accordion columns ───────────────────── */
@media (max-width: 767px) {
    .re-footer { margin-top: 40px; }
    .re-footer__columns { padding: 0; }
    .re-footer__columns-inner {
        grid-template-columns: 1fr;
        gap: 0;
        padding: 0;
    }
    .re-footer__col {
        border-bottom: 1px solid rgba(255,255,255,0.08);
    }
    .re-footer__col-toggle {
        cursor: pointer;
        padding: 16px 20px;
        margin: 0;
        border-bottom: none;
        font-size: 13px;
    }
    .re-footer__toggle-icon {
        display: block;
        font-size: 11px;
        transition: transform 0.3s ease;
        opacity: 0.7;
    }
    .re-footer__col-toggle[aria-expanded="true"] .re-footer__toggle-icon {
        transform: rotate(180deg);
    }
    .re-footer__col-list {
        display: none;
        padding: 0 20px 16px;
    }
    .re-footer__col-list.is-open { display: block; }
    .re-footer__middle { padding: 24px 0; }
    .re-footer__middle-inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
        padding: 0 20px;
    }
    .re-footer__nav ul { gap: 6px 14px; }
    .re-footer__bottom-inner {
        flex-direction: column;
        align-items: flex-start;
        padding: 0 20px;
        gap: 4px;
    }
    .re-cookie-banner {
        width: calc(100vw - 32px);
        left: 16px;
        right: 16px;
        bottom: 16px;
    }
}

/* ══════════════════════════════════════════════════════════
   CONTACT PAGE (v4.6)
══════════════════════════════════════════════════════════ */
.re-page-contact__hero {
    background: linear-gradient(135deg, #0d3542 0%, #154B5B 55%, #1a6070 100%);
    padding: 60px 24px 50px;
    text-align: center;
}
.re-page-contact__hero-inner { max-width: 680px; margin: 0 auto; }
.re-page-contact__eyebrow {
    display: inline-flex; align-items: center; gap: 8px;
    background: rgba(255,255,255,0.12);
    color: rgba(255,255,255,0.9);
    font-size: 13px; font-weight: 600; letter-spacing: 0.5px;
    padding: 6px 14px; border-radius: 20px; margin-bottom: 16px;
}
.re-page-contact__title {
    font-size: clamp(26px,4vw,40px); font-weight: 800;
    color: #fff; margin: 0 0 14px; line-height: 1.2;
}
.re-page-contact__subtitle { font-size: 16px; color: rgba(255,255,255,0.75); margin: 0; line-height: 1.6; }

.re-page-contact__body { padding: 56px 24px; background: #f8f9fb; }
.re-page-contact__body-inner {
    max-width: 1100px; margin: 0 auto;
    display: grid; grid-template-columns: 1fr 360px; gap: 40px; align-items: start;
}
.re-page-contact__form-card {
    background: #fff; border-radius: 16px;
    padding: 36px; box-shadow: 0 2px 20px rgba(0,0,0,0.06);
}
.re-page-contact__form-title {
    font-size: 20px; font-weight: 700; color: var(--re-dark);
    margin: 0 0 24px; display: flex; align-items: center; gap: 10px;
}
.re-page-contact__form-title i { color: var(--re-primary); }

/* Info cards */
.re-contact-info-card {
    display: flex; align-items: flex-start; gap: 16px;
    background: #fff; border-radius: 12px; padding: 20px;
    margin-bottom: 14px; text-decoration: none;
    box-shadow: 0 1px 8px rgba(0,0,0,0.06);
    transition: box-shadow 0.2s, transform 0.15s;
}
.re-contact-info-card:hover { box-shadow: 0 4px 16px rgba(0,0,0,0.1); transform: translateY(-1px); }
.re-contact-info-card__icon {
    width: 44px; height: 44px; border-radius: 10px;
    background: #eef4f6; color: var(--re-dark);
    display: flex; align-items: center; justify-content: center;
    font-size: 18px; flex-shrink: 0;
}
.re-contact-info-card--whatsapp .re-contact-info-card__icon { background: #e7f7ee; color: #25d366; }
.re-contact-info-card__body { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.re-contact-info-card__label { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; color: #888; }
.re-contact-info-card__value { font-size: 14px; font-weight: 600; color: var(--re-dark); word-break: break-word; }
.re-contact-info-card--whatsapp .re-contact-info-card__value { color: #1a9e50; }
.re-contact-info-card__ext { margin-left: auto; font-size: 12px; color: #aaa; flex-shrink: 0; align-self: center; }

.re-page-contact__map { height: 380px; overflow: hidden; }
.re-page-contact__map iframe { width: 100%; height: 100%; border: none; display: block; }

/* Native fallback form */
.re-contact-native__field { margin-bottom: 18px; }
.re-contact-native__field label { display: block; font-size: 13px; font-weight: 600; color: var(--re-dark); margin-bottom: 6px; }
.re-contact-native__field input,
.re-contact-native__field select,
.re-contact-native__field textarea {
    width: 100%; box-sizing: border-box; padding: 10px 14px;
    border: 1.5px solid var(--re-border); border-radius: 8px;
    font-size: 14px; font-family: inherit; color: var(--re-font-color);
    background: #f9fafb; outline: none; transition: border-color 0.2s;
}
.re-contact-native__field input:focus,
.re-contact-native__field select:focus,
.re-contact-native__field textarea:focus { border-color: var(--re-primary); background: #fff; }

@media (max-width: 900px) {
    .re-page-contact__body-inner { grid-template-columns: 1fr; }
    .re-page-contact__info-col { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
    .re-contact-info-card { margin-bottom: 0; }
}
@media (max-width: 600px) {
    .re-page-contact__form-card { padding: 24px; }
    .re-page-contact__body { padding: 32px 16px; }
    .re-page-contact__info-col { grid-template-columns: 1fr; }
}

/* ══════════════════════════════════════════════════════════
   HOW IT WORKS PAGE (v4.6)
══════════════════════════════════════════════════════════ */
.re-page-hiw__hero {
    background: linear-gradient(135deg, #0d3542 0%, #154B5B 60%, #1a6070 100%);
    padding: 60px 24px 50px; text-align: center;
}
.re-page-hiw__hero-inner { max-width: 680px; margin: 0 auto; }
.re-page-hiw__title { font-size: clamp(28px,4vw,44px); font-weight: 800; color: #fff; margin: 0 0 14px; }
.re-page-hiw__subtitle { font-size: 16px; color: rgba(255,255,255,0.75); margin: 0; line-height: 1.6; }

.re-page-hiw__steps { padding: 64px 24px; background: #fff; }
.re-page-hiw__steps-inner {
    max-width: 1100px; margin: 0 auto;
    display: grid; grid-template-columns: repeat(4,1fr);
    gap: 0; position: relative;
}
.re-hiw-step {
    text-align: center; padding: 0 24px; position: relative;
}
.re-hiw-step__number {
    font-size: 56px; font-weight: 900; line-height: 1; margin-bottom: 16px; opacity: 0.15;
}
.re-hiw-step__icon-wrap {
    width: 72px; height: 72px; border-radius: 18px;
    display: flex; align-items: center; justify-content: center; margin: 0 auto 20px;
}
.re-hiw-step__icon { font-size: 28px; }
.re-hiw-step__title { font-size: 17px; font-weight: 700; color: var(--re-dark); margin: 0 0 10px; }
.re-hiw-step__desc { font-size: 14px; color: #666; line-height: 1.6; margin: 0; }
.re-hiw-step__connector {
    position: absolute; top: 88px; right: -12px;
    color: #ddd; font-size: 18px; z-index: 1;
}

.re-page-hiw__cta-strip {
    background: var(--re-dark); padding: 52px 24px;
}
.re-page-hiw__cta-inner {
    max-width: 1100px; margin: 0 auto;
    display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap;
}
.re-page-hiw__cta-title { font-size: 26px; font-weight: 700; color: #fff; margin: 0 0 8px; }
.re-page-hiw__cta-sub { font-size: 15px; color: rgba(255,255,255,0.7); margin: 0; }
.re-page-hiw__cta-btns { display: flex; gap: 12px; flex-shrink: 0; flex-wrap: wrap; }
.re-btn--outline-white {
    background: transparent; color: #fff;
    border: 2px solid rgba(255,255,255,0.4);
    padding: 12px 22px; border-radius: var(--re-radius);
    font-size: 14px; font-weight: 600; text-decoration: none;
    display: inline-flex; align-items: center; gap: 8px;
    transition: all 0.2s; cursor: pointer; font-family: inherit;
}
.re-btn--outline-white:hover { background: rgba(255,255,255,0.1); border-color: rgba(255,255,255,0.7); color: #fff; }

.re-page-hiw__faq { padding: 64px 24px; background: #f8f9fb; }
.re-page-hiw__faq-inner { max-width: 780px; margin: 0 auto; }
.re-page-hiw__faq-title { font-size: 26px; font-weight: 700; color: var(--re-dark); margin: 0 0 32px; text-align: center; }
.re-faq__item { background: #fff; border-radius: 12px; margin-bottom: 10px; overflow: hidden; box-shadow: 0 1px 6px rgba(0,0,0,0.05); }
.re-faq__question {
    width: 100%; text-align: left; background: none; border: none;
    padding: 18px 20px; display: flex; align-items: center; justify-content: space-between; gap: 16px;
    font-size: 15px; font-weight: 600; color: var(--re-dark);
    cursor: pointer; font-family: inherit; transition: color 0.2s;
}
.re-faq__question:hover { color: var(--re-primary); }
.re-faq__chevron { font-size: 12px; color: #aaa; flex-shrink: 0; transition: transform 0.3s; }
.re-faq__question[aria-expanded="true"] .re-faq__chevron { transform: rotate(180deg); color: var(--re-primary); }
.re-faq__answer { padding: 0 20px 18px; }
.re-faq__answer p { font-size: 14px; color: #555; line-height: 1.7; margin: 0; }

@media (max-width: 900px) {
    .re-page-hiw__steps-inner { grid-template-columns: repeat(2,1fr); gap: 32px; }
    .re-hiw-step__connector { display: none; }
    .re-page-hiw__cta-inner { flex-direction: column; text-align: center; }
}
@media (max-width: 600px) {
    .re-page-hiw__steps-inner { grid-template-columns: 1fr; gap: 28px; }
    .re-page-hiw__steps { padding: 40px 16px; }
    .re-page-hiw__cta-btns { width: 100%; }
    .re-btn--outline-white { flex: 1; justify-content: center; }
}

/* ══════════════════════════════════════════════════════════
   LEGAL PAGES: Terms & Privacy (v4.6)
══════════════════════════════════════════════════════════ */
.re-legal-page { padding: 48px 24px 64px; }
.re-legal-page__inner { max-width: 820px; margin: 0 auto; }
.re-legal-page__header {
    padding-bottom: 24px; margin-bottom: 32px;
    border-bottom: 2px solid var(--re-primary);
}
.re-legal-page__header h1 { font-size: 32px; font-weight: 800; color: var(--re-dark); margin: 0 0 8px; }
.re-legal-page__updated { font-size: 13px; color: #888; margin: 0; }
.re-legal-page__body h2 {
    font-size: 18px; font-weight: 700; color: var(--re-dark);
    margin: 32px 0 12px; padding-bottom: 8px;
    border-bottom: 1px solid var(--re-border);
}
.re-legal-page__body p { font-size: 15px; color: #444; line-height: 1.75; margin: 0 0 14px; }
.re-legal-page__body ul { padding-left: 20px; margin: 0 0 14px; }
.re-legal-page__body ul li { font-size: 15px; color: #444; line-height: 1.7; margin-bottom: 6px; }
.re-legal-page__body a { color: var(--re-primary); text-decoration: underline; }
.re-legal-page__body a:hover { color: var(--re-dark); }
@media (max-width: 600px) {
    .re-legal-page { padding: 32px 16px 48px; }
    .re-legal-page__header h1 { font-size: 24px; }
}

/* ══════════════════════════════════════════════════════════
   ABOUT PAGE (v4.6.1)
══════════════════════════════════════════════════════════ */
.re-page-about__hero {
    background: linear-gradient(135deg, #0d3542 0%, #154B5B 55%, #1a6070 100%);
    padding: 60px 24px 50px; text-align: center;
}
.re-page-about__hero-inner { max-width: 720px; margin: 0 auto; }
.re-page-about__title { font-size: clamp(28px,4vw,44px); font-weight: 800; color: #fff; margin: 0 0 14px; }
.re-page-about__subtitle { font-size: 16px; color: rgba(255,255,255,0.75); margin: 0; line-height: 1.6; }
.re-page-about__label {
    display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: 1px;
    text-transform: uppercase; color: var(--re-primary); margin-bottom: 12px;
}
.re-page-about__mission { padding: 64px 24px; background: #fff; }
.re-page-about__section-inner { max-width: 1100px; margin: 0 auto; }
.re-page-about__mission .re-page-about__section-inner {
    display: grid; grid-template-columns: 1fr 340px; gap: 60px; align-items: center;
}
.re-page-about__mission-text h2 { font-size: 28px; font-weight: 700; color: var(--re-dark); margin: 0 0 16px; }
.re-page-about__mission-text p { font-size: 15px; color: #555; line-height: 1.75; margin: 0 0 14px; }
.re-page-about__mission-stats {
    display: grid; grid-template-columns: 1fr 1fr; gap: 20px;
}
.re-about-stat {
    background: #f8f9fb; border-radius: 14px; padding: 22px 18px; text-align: center;
    border: 1px solid var(--re-border);
}
.re-about-stat__icon { font-size: 24px; color: var(--re-primary); margin-bottom: 10px; }
.re-about-stat__value { font-size: 28px; font-weight: 800; color: var(--re-dark); line-height: 1; margin-bottom: 6px; }
.re-about-stat__label { font-size: 12px; color: #888; font-weight: 600; }

.re-page-about__values { padding: 64px 24px; background: #f8f9fb; }
.re-page-about__section-head { text-align: center; margin-bottom: 40px; }
.re-page-about__section-head h2 { font-size: 28px; font-weight: 700; color: var(--re-dark); margin: 0 0 10px; }
.re-page-about__section-head p { font-size: 15px; color: #666; margin: 0; }
.re-page-about__values-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.re-about-value-card {
    background: #fff; border-radius: 16px; padding: 32px 28px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06); text-align: center;
    transition: transform 0.2s, box-shadow 0.2s;
}
.re-about-value-card:hover { transform: translateY(-3px); box-shadow: 0 6px 24px rgba(0,0,0,0.1); }
.re-about-value-card__icon {
    width: 64px; height: 64px; border-radius: 16px;
    background: #eef4f6; color: var(--re-dark);
    display: flex; align-items: center; justify-content: center;
    font-size: 26px; margin: 0 auto 20px;
}
.re-about-value-card__title { font-size: 18px; font-weight: 700; color: var(--re-dark); margin: 0 0 10px; }
.re-about-value-card__desc { font-size: 14px; color: #666; line-height: 1.65; margin: 0; }

.re-page-about__cta {
    background: var(--re-dark); padding: 60px 24px; text-align: center;
}
.re-page-about__cta-inner { max-width: 680px; margin: 0 auto; }
.re-page-about__cta h2 { font-size: 28px; font-weight: 700; color: #fff; margin: 0 0 12px; }
.re-page-about__cta p { font-size: 16px; color: rgba(255,255,255,0.7); margin: 0 0 28px; }
.re-page-about__cta .re-page-hiw__cta-btns { justify-content: center; }

@media (max-width: 900px) {
    .re-page-about__mission .re-page-about__section-inner { grid-template-columns: 1fr; gap: 40px; }
    .re-page-about__values-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
    .re-page-about__mission-stats { grid-template-columns: 1fr 1fr; }
    .re-page-about__values-grid { grid-template-columns: 1fr; }
    .re-page-about__mission { padding: 40px 16px; }
    .re-page-about__values { padding: 40px 16px; }
}

/* ══════════════════════════════════════════════════════════
   BLOG ARCHIVE (v4.6.2)
══════════════════════════════════════════════════════════ */
.re-blog-archive__hero {
    background: linear-gradient(135deg, #0d3542 0%, #154B5B 55%, #1a6070 100%);
    padding: 52px 24px 44px; text-align: center;
}
.re-blog-archive__hero-inner { max-width: 680px; margin: 0 auto; }
.re-blog-archive__title { font-size: clamp(26px,4vw,40px); font-weight: 800; color: #fff; margin: 0 0 10px; }
.re-blog-archive__subtitle { font-size: 15px; color: rgba(255,255,255,0.72); margin: 0; line-height: 1.6; }
.re-blog-archive__body { padding: 52px 24px; background: #f8f9fb; }
.re-blog-archive__inner { max-width: 1160px; margin: 0 auto; }

/* Blog grid — 3 col */
.re-blog-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
    margin-bottom: 48px;
}
.re-blog-grid--related { margin-bottom: 0; }

/* Blog card */
.re-blog-card {
    background: #fff;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06);
    transition: transform 0.2s, box-shadow 0.2s;
    display: flex;
    flex-direction: column;
}
.re-blog-card:hover { transform: translateY(-3px); box-shadow: 0 6px 24px rgba(0,0,0,0.1); }
.re-blog-card__thumb {
    display: block;
    aspect-ratio: 16/9;
    overflow: hidden;
    background: #eef4f6;
}
.re-blog-card__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.3s; }
.re-blog-card:hover .re-blog-card__thumb img { transform: scale(1.03); }
.re-blog-card__thumb--placeholder {
    display: flex; align-items: center; justify-content: center;
    color: var(--re-dark); font-size: 36px; opacity: 0.3;
}
.re-blog-card__body { padding: 20px; flex: 1; display: flex; flex-direction: column; }
.re-blog-card__meta {
    display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
    margin-bottom: 10px;
}
.re-blog-card__cat {
    font-size: 11px; font-weight: 700; text-transform: uppercase;
    letter-spacing: 0.5px; color: var(--re-primary);
    background: rgba(241,99,52,0.08); padding: 3px 8px; border-radius: 4px;
    text-decoration: none; transition: background 0.2s;
}
.re-blog-card__cat:hover { background: rgba(241,99,52,0.15); }
.re-blog-card__date { font-size: 12px; color: #888; display: flex; align-items: center; gap: 5px; }
.re-blog-card__title {
    font-size: 16px; font-weight: 700; color: var(--re-dark);
    margin: 0 0 10px; line-height: 1.4;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.re-blog-card__title a { color: inherit; text-decoration: none; transition: color 0.2s; }
.re-blog-card__title a:hover { color: var(--re-primary); }
.re-blog-card__excerpt {
    font-size: 13px; color: #666; line-height: 1.6; margin: 0 0 16px;
    flex: 1;
    display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.re-blog-card__link {
    display: inline-flex; align-items: center; gap: 6px; margin-top: auto;
    font-size: 13px; font-weight: 600; color: var(--re-primary); text-decoration: none;
    transition: gap 0.2s;
}
.re-blog-card__link:hover { gap: 10px; }

/* Blog pagination */
.re-blog-pagination .nav-links { display: flex; align-items: center; gap: 8px; justify-content: center; flex-wrap: wrap; }
.re-blog-pagination .page-numbers {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 40px; height: 40px; padding: 0 12px;
    border: 1.5px solid var(--re-border); border-radius: 8px;
    font-size: 14px; font-weight: 600; color: var(--re-dark);
    text-decoration: none; transition: all 0.2s;
}
.re-blog-pagination .page-numbers:hover { border-color: var(--re-primary); color: var(--re-primary); }
.re-blog-pagination .page-numbers.current { background: var(--re-primary); border-color: var(--re-primary); color: #fff; }
.re-blog-pagination .page-numbers.dots { border: none; color: #aaa; }

.re-blog-empty { text-align: center; padding: 60px 24px; color: #888; }
.re-blog-empty i { font-size: 40px; margin-bottom: 16px; display: block; opacity: 0.4; }

/* ══════════════════════════════════════════════════════════
   SINGLE POST (v4.6.2)
══════════════════════════════════════════════════════════ */
.re-single-post__breadcrumb {
    background: #f8f9fb; border-bottom: 1px solid var(--re-border); padding: 10px 24px;
}
.re-single-post__breadcrumb-inner {
    max-width: 1160px; margin: 0 auto;
    display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
    font-size: 12px; color: rgb(102,102,102);
}
.re-single-post__breadcrumb-inner a { color: rgb(102,102,102); text-decoration: none; }
.re-single-post__breadcrumb-inner a:hover { color: var(--re-primary); }
.re-single-post__breadcrumb-inner span[aria-hidden] { color: #ccc; }

.re-single-post__hero {
    background: linear-gradient(135deg, #0d3542 0%, #154B5B 60%, #1a6070 100%);
    padding: 48px 24px 40px;
}
.re-single-post__hero-inner { max-width: 820px; margin: 0 auto; }
.re-single-post__meta {
    display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 16px;
}
.re-single-post__date, .re-single-post__author {
    font-size: 13px; color: rgba(255,255,255,0.7);
    display: flex; align-items: center; gap: 6px;
}
.re-single-post__title {
    font-size: clamp(22px,3.5vw,36px); font-weight: 800; color: #fff;
    margin: 0; line-height: 1.25;
}

.re-single-post__featured { padding: 0 24px; max-height: 480px; overflow: hidden; }
.re-single-post__featured-inner { max-width: 1160px; margin: 0 auto; border-radius: 0 0 12px 12px; overflow: hidden; }
.re-single-post__featured img { width: 100%; height: 480px; object-fit: cover; display: block; }

.re-single-post__body { padding: 48px 24px; }
.re-single-post__body-inner {
    max-width: 1160px; margin: 0 auto;
    display: grid; grid-template-columns: 1fr 300px; gap: 48px; align-items: start;
}

/* Post content typography */
.re-post-content { font-size: 16px; line-height: 1.8; color: #333; }
.re-post-content h2 { font-size: 22px; font-weight: 700; color: var(--re-dark); margin: 32px 0 16px; }
.re-post-content h3 { font-size: 18px; font-weight: 700; color: var(--re-dark); margin: 24px 0 12px; }
.re-post-content p { margin: 0 0 18px; }
.re-post-content ul, .re-post-content ol { padding-left: 24px; margin-bottom: 18px; }
.re-post-content li { margin-bottom: 8px; }
.re-post-content img { max-width: 100%; height: auto; border-radius: 8px; margin: 8px 0; }
.re-post-content a { color: var(--re-primary); }
.re-post-content blockquote {
    border-left: 4px solid var(--re-primary); padding: 16px 20px;
    background: #fff8f5; border-radius: 0 8px 8px 0; margin: 24px 0; font-style: italic;
}

/* Tags */
.re-single-post__tags {
    display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
    padding: 20px 0; border-top: 1px solid var(--re-border); margin-top: 32px;
}
.re-single-post__tags-label { font-size: 13px; font-weight: 600; color: #888; }
.re-post-tag {
    font-size: 12px; font-weight: 600; color: var(--re-dark);
    background: #f0f4f6; border: 1px solid #d8e4e8; padding: 4px 10px; border-radius: 20px;
    text-decoration: none; transition: all 0.2s;
}
.re-post-tag:hover { background: var(--re-dark); color: #fff; border-color: var(--re-dark); }

/* Post navigation */
.re-single-post__nav {
    display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 32px;
    padding-top: 24px; border-top: 1px solid var(--re-border);
}
.re-post-nav-btn {
    display: flex; align-items: center; gap: 14px;
    background: #f8f9fb; border: 1px solid var(--re-border); border-radius: 10px;
    padding: 16px; text-decoration: none; transition: all 0.2s;
}
.re-post-nav-btn:hover { border-color: var(--re-primary); background: #fff5f2; }
.re-post-nav-btn i { font-size: 16px; color: var(--re-primary); flex-shrink: 0; }
.re-post-nav-btn--next { justify-content: flex-end; text-align: right; }
.re-post-nav-btn__label { display: block; font-size: 11px; text-transform: uppercase; letter-spacing: 0.5px; color: #888; margin-bottom: 4px; }
.re-post-nav-btn__title {
    display: block; font-size: 13px; font-weight: 600; color: var(--re-dark); line-height: 1.3;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}

/* Sidebar */
.re-single-post__sidebar { position: sticky; top: 80px; }
.re-post-sidebar-card { background: #fff; border-radius: 12px; margin-bottom: 20px; overflow: hidden; box-shadow: 0 1px 8px rgba(0,0,0,0.06); }
.re-post-sidebar-card__header {
    display: flex; align-items: center; gap: 8px;
    padding: 14px 18px; font-size: 13px; font-weight: 700;
    color: var(--re-dark); background: #f8f9fb; border-bottom: 1px solid var(--re-border);
}
.re-post-sidebar-card__header i { color: var(--re-primary); }
.re-post-sidebar-card__body { padding: 16px 18px; }
.re-post-author { display: flex; align-items: flex-start; gap: 12px; }
.re-post-author__avatar { border-radius: 50%; width: 52px; height: 52px; flex-shrink: 0; }
.re-post-author__name { display: block; font-size: 14px; font-weight: 700; color: var(--re-dark); margin-bottom: 4px; }
.re-post-author__bio { font-size: 12px; color: #666; margin: 0; line-height: 1.5; }
.re-post-sidebar-cats { list-style: none; padding: 0; margin: 0; }
.re-post-sidebar-cats li {
    display: flex; align-items: center; justify-content: space-between;
    padding: 8px 0; border-bottom: 1px solid var(--re-border); font-size: 13px;
}
.re-post-sidebar-cats li:last-child { border-bottom: none; }
.re-post-sidebar-cats a { color: var(--re-dark); text-decoration: none; transition: color 0.2s; }
.re-post-sidebar-cats a:hover { color: var(--re-primary); }
.re-post-sidebar-cats__count { font-size: 11px; color: #aaa; background: #f5f5f5; padding: 2px 6px; border-radius: 10px; }
.re-post-sidebar-cta {
    background: linear-gradient(135deg, #154B5B, #1a6070);
    border-radius: 12px; padding: 24px; text-align: center;
}
.re-post-sidebar-cta i { font-size: 28px; color: rgba(255,255,255,0.6); margin-bottom: 12px; display: block; }
.re-post-sidebar-cta h3 { font-size: 16px; font-weight: 700; color: #fff; margin: 0 0 8px; }
.re-post-sidebar-cta p { font-size: 13px; color: rgba(255,255,255,0.7); margin: 0 0 16px; line-height: 1.5; }

/* Related posts section */
.re-single-post__related { padding: 48px 24px; background: #f8f9fb; }
.re-single-post__related-inner { max-width: 1160px; margin: 0 auto; }
.re-single-post__related-title {
    font-size: 22px; font-weight: 700; color: var(--re-dark);
    margin: 0 0 28px; display: flex; align-items: center; gap: 10px;
}
.re-single-post__related-title i { color: var(--re-primary); }

/* Responsive */
@media (max-width: 900px) {
    .re-blog-grid { grid-template-columns: repeat(2, 1fr); }
    .re-single-post__body-inner { grid-template-columns: 1fr; }
    .re-single-post__sidebar { position: static; }
}
@media (max-width: 600px) {
    .re-blog-grid { grid-template-columns: 1fr; }
    .re-blog-archive__body { padding: 32px 16px; }
    .re-single-post__nav { grid-template-columns: 1fr; }
    .re-single-post__body { padding: 32px 16px; }
    .re-single-post__featured { padding: 0; }
    .re-single-post__featured img { height: 220px; }
}

/* ── Fix: page wrappers need width:100% inside Astra's flex container ── */
.ast-container > .re-page-contact,
.ast-container > .re-page-about,
.ast-container > .re-page-hiw,
.ast-container > .re-legal-page,
.ast-container > .re-blog-archive,
.ast-container > .re-single-post,
.ast-container > .re-archive,
.ast-container > .re-single {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    flex-shrink: 0;
}

/* ══════════════════════════════════════════════════════════
   v4.7 — PAYMENT PLANS SECTION
══════════════════════════════════════════════════════════ */
.re-payment-plans-section { margin-top: 32px; }
.re-payment-plans-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 14px;
}
.re-payment-plan {
    background: #f8f9fb;
    border: 1.5px solid var(--re-border, #e8e8e8);
    border-radius: 12px;
    padding: 18px;
    text-align: center;
    transition: box-shadow 0.2s;
}
.re-payment-plan:hover { box-shadow: 0 4px 16px rgba(0,0,0,0.08); }
.re-payment-plan--primary {
    border-color: var(--re-primary, #F16334);
    background: #fff5f2;
}
.re-payment-plan__badge {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    color: #888;
    margin-bottom: 10px;
    display: block;
}
.re-payment-plan--primary .re-payment-plan__badge { color: var(--re-primary, #F16334); }
.re-payment-plan__badge--alt { color: var(--re-dark, #154B5B); }
.re-payment-plan__down {
    font-size: 32px;
    font-weight: 900;
    color: var(--re-primary, #F16334);
    line-height: 1;
    margin-bottom: 4px;
}
.re-payment-plan__label { font-size: 12px; color: #888; margin-bottom: 8px; }
.re-payment-plan__years { font-size: 13px; font-weight: 600; color: var(--re-dark, #154B5B); }
.re-payment-plan__monthly { font-size: 12px; color: #555; margin-top: 4px; }
.re-payment-plan__note { font-size: 11px; color: var(--re-primary, #F16334); margin-top: 6px; font-weight: 600; }

/* ══════════════════════════════════════════════════════════
   v4.7 — HEART / WISHLIST BUTTON
══════════════════════════════════════════════════════════ */
.re-card { position: relative; }
.re-heart-btn {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 10;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: rgba(255,255,255,0.92);
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0,0,0,0.12);
    transition: background 0.2s, transform 0.2s;
    font-size: 14px;
    color: #ccc;
    backdrop-filter: blur(4px);
}
.re-heart-btn:hover { background: #fff; transform: scale(1.1); color: #e74c3c; }
.re-heart-btn.is-saved { color: #e74c3c; background: #fff; }
.re-heart-btn.is-saved i { animation: none; }
@keyframes re-heart-pop {
    0%   { transform: scale(1); }
    40%  { transform: scale(1.4); }
    70%  { transform: scale(0.9); }
    100% { transform: scale(1); }
}
.re-heart-btn.re-heart-pop i { animation: re-heart-pop 0.35s ease; }

/* ══════════════════════════════════════════════════════════
   v4.7 — READY TO MOVE BADGE
══════════════════════════════════════════════════════════ */
.re-badge--rtm,
.re-project-card__delivery--rtm {
    color: #16a34a !important;
    background: #f0fdf4 !important;
    border-color: #bbf7d0 !important;
}
.re-spec-item--success .re-spec-item__label { color: #16a34a; }

/* ══════════════════════════════════════════════════════════
   v4.7 — BREADCRUMBS STANDARDIZATION
   One consistent style across all pages
══════════════════════════════════════════════════════════ */
.re-breadcrumb,
.re-prop-breadcrumb,
.re-single-post__breadcrumb-inner {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    flex-wrap: wrap !important;
    font-size: 13px !important;
    color: rgb(102,102,102) !important;
    padding: 10px 0 !important;
    line-height: 1.4 !important;
}
.re-breadcrumb a,
.re-prop-breadcrumb a,
.re-single-post__breadcrumb-inner a {
    color: rgb(102,102,102) !important;
    text-decoration: none !important;
    transition: color 0.2s !important;
}
.re-breadcrumb a:hover,
.re-prop-breadcrumb a:hover,
.re-single-post__breadcrumb-inner a:hover {
    color: var(--re-primary, #F16334) !important;
}
.re-breadcrumb .fa-house,
.re-prop-breadcrumb .fa-house { font-size: 12px; }

/* ══════════════════════════════════════════════════════════
   v4.7 — MEETING POPUP TAB ACTIVE STATE
══════════════════════════════════════════════════════════ */
.re-meeting-tab { transition: all 0.2s; }
.re-meeting-tab--active {
    background: var(--re-primary, #F16334) !important;
    color: #fff !important;
    border-color: var(--re-primary, #F16334) !important;
}

/* ══════════════════════════════════════════════════════════
   v4.7 — MOBILE CARD IMPROVEMENTS
══════════════════════════════════════════════════════════ */
@media (max-width: 767px) {
    .re-card__title { font-size: 15px !important; line-height: 1.35 !important; }
    .re-card__price { font-size: 17px !important; }
    .re-card__body { padding: 14px !important; }
    .re-card__meta { font-size: 12px !important; gap: 10px !important; }
    .re-card__meta i { font-size: 12px !important; }
    .re-card__cta { padding: 12px 14px !important; }
    .re-card--h .re-card__image { min-height: 160px !important; }
}

/* ══════════════════════════════════════════════════════════
   v4.7 — LANDING PAGE BUTTONS in header
══════════════════════════════════════════════════════════ */
.re-lp-header .re-btn--wa {
    background: #25D366; color: #fff; border: none;
    padding: 9px 16px; border-radius: 8px; font-size: 13px; font-weight: 700;
    display: inline-flex; align-items: center; gap: 7px; text-decoration: none;
    transition: background 0.2s;
}
.re-lp-header .re-btn--wa:hover { background: #1da852; color: #fff; }
.re-lp-header .re-btn--call {
    background: var(--re-dark, #154B5B); color: #fff; border: none;
    padding: 9px 16px; border-radius: 8px; font-size: 13px; font-weight: 700;
    display: inline-flex; align-items: center; gap: 7px; text-decoration: none;
    transition: background 0.2s;
}
.re-lp-header .re-btn--call:hover { background: #1a6070; color: #fff; }
