/* ============================================================
   REE Header CTA — v5.2 (Always-Visible Add Listing Button)
   Shows readable text on ALL viewports. Compact on mobile.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500;1,600&display=swap');

/* ============ Hide EN toggle ============ */
header.header#mainHeader .header-lang-toggle {
  display: none !important;
}

/* ============ Hamburger on all viewports ============ */
@media (min-width: 1025px) {
  header.header#mainHeader .hamburger-menu.ree-menu-btn {
    display: inline-flex !important;
    width: 40px; height: 40px;
    border-radius: 50%;
    border: 1px solid var(--reh-rule, rgba(15,27,44,.18));
    background: transparent;
    flex-direction: column; gap: 5px;
    align-items: center; justify-content: center;
    padding: 0; box-shadow: none;
    transition: background-color .2s, border-color .2s;
  }
  header.header#mainHeader .hamburger-menu.ree-menu-btn:hover {
    background: var(--reh-ink, #0F1B2C);
    border-color: var(--reh-ink, #0F1B2C);
  }
  header.header#mainHeader .hamburger-menu.ree-menu-btn:hover .ree-menu-line {
    background: var(--reh-paper, #F8F4EB);
  }
}
header.header#mainHeader .ree-menu-line--1,
header.header#mainHeader .ree-menu-line--2 {
  width: 16px; height: 1.5px;
  background: var(--reh-ink, #0F1B2C);
  border-radius: 0;
  transition: transform .25s, background-color .2s;
}
header.header#mainHeader .ree-menu-line--1 { width: 16px; }
header.header#mainHeader .ree-menu-line--2 { width: 11px; }
header.header#mainHeader .ree-menu-line--3 { display: none; }

header.header#mainHeader .header-actions { gap: 10px !important; }

/* ============ BASE BUTTON — all viewports ============ */
header.header#mainHeader .header-cta-btn,
header.header#mainHeader a.header-cta-btn {
  all: unset;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  height: 42px !important;
  padding: 0 16px !important;
  background: var(--reh-ink, #0F1B2C) !important;
  color: var(--reh-paper, #F8F4EB) !important;
  border: 0 !important;
  border-radius: 8px !important;
  font-family: Cairo, "Plus Jakarta Sans", system-ui, sans-serif !important;
  text-decoration: none !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  box-shadow: 0 2px 8px rgba(15,27,44,.2) !important;
  transition: background-color .2s, transform .2s, box-shadow .2s !important;
  position: relative !important;
  overflow: hidden !important;
}

/* Hide the original icon */
header.header#mainHeader .header-cta-btn > i,
header.header#mainHeader .header-cta-btn > .fas,
header.header#mainHeader .header-cta-btn > svg {
  display: none !important;
}

/* "+" icon via ::before */
header.header#mainHeader .header-cta-btn::before {
  content: "+" !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 24px !important;
  height: 24px !important;
  border: 1.5px solid rgba(248,244,235,.35) !important;
  border-radius: 6px !important;
  font-family: "Plus Jakarta Sans", system-ui, sans-serif !important;
  font-style: normal !important;
  font-weight: 300 !important;
  font-size: 20px !important;
  line-height: 1 !important;
  color: var(--reh-paper, #F8F4EB) !important;
  flex-shrink: 0 !important;
  transition: transform .3s cubic-bezier(.4,0,.2,1), border-color .2s !important;
  position: static !important;
  inset: auto !important;
  background: transparent !important;
  pointer-events: none !important;
}

/* No page-fold corner - clean design */
header.header#mainHeader .header-cta-btn::after {
  display: none !important;
}

/* Text label */
header.header#mainHeader .header-cta-btn .header-cta-text {
  position: static !important;
  display: inline !important;
  width: auto !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  clip: auto !important;
  overflow: visible !important;
  white-space: nowrap !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .3px !important;
  text-transform: none !important;
  color: var(--reh-paper, #F8F4EB) !important;
  line-height: 1 !important;
  border: 0 !important;
}

/* Kill the eyebrow pseudo — not needed */
header.header#mainHeader .header-cta-btn .header-cta-text::before {
  display: none !important;
}

/* ============ Hover ============ */
header.header#mainHeader .header-cta-btn:hover {
  background: #1E3A5F !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 14px rgba(15,27,44,.28) !important;
}
header.header#mainHeader .header-cta-btn:hover::before {
  transform: rotate(90deg) !important;
  border-color: rgba(248,244,235,.6) !important;
}

/* ============ Tablet (769–1024) ============ */
@media (min-width: 769px) and (max-width: 1024px) {
  header.header#mainHeader .header-cta-btn {
    height: 40px !important;
    padding: 0 14px !important;
    gap: 7px !important;
  }
  header.header#mainHeader .header-cta-btn::before {
    width: 22px !important; height: 22px !important;
    font-size: 18px !important;
  }
  header.header#mainHeader .header-cta-btn .header-cta-text {
    font-size: 12.5px !important;
  }
  header.header#mainHeader .header-actions { gap: 8px !important; }
}

/* ============ Mobile (541–768) ============ */
@media (min-width: 541px) and (max-width: 768px) {
  header.header#mainHeader .header-cta-btn {
    height: 38px !important;
    padding: 0 12px !important;
    gap: 6px !important;
    border-radius: 7px !important;
  }
  header.header#mainHeader .header-cta-btn::before {
    width: 20px !important; height: 20px !important;
    font-size: 16px !important;
    border-radius: 5px !important;
  }
  header.header#mainHeader .header-cta-btn .header-cta-text {
    font-size: 12px !important;
  }
  header.header#mainHeader .header-actions { gap: 8px !important; }
}

/* ============ Phone (≤540px) — Compact pill, still readable ============ */
@media (max-width: 540px) {
  header.header#mainHeader .header-cta-btn,
  header.header#mainHeader a.header-cta-btn {
    height: 36px !important;
    padding: 0 12px !important;
    gap: 6px !important;
    border-radius: 7px !important;
  }
  header.header#mainHeader .header-cta-btn::before {
    width: 20px !important; height: 20px !important;
    font-size: 16px !important;
    border-radius: 5px !important;
  }
  header.header#mainHeader .header-cta-btn .header-cta-text {
    font-size: 11.5px !important;
    letter-spacing: 0 !important;
  }
  header.header#mainHeader .header-actions { gap: 7px !important; }
  header.header#mainHeader .header-action-btn { width: 36px !important; height: 36px !important; }
  header.header#mainHeader .hamburger-menu.ree-menu-btn { width: 36px !important; height: 36px !important; }
}

/* ============ Tiny phone (≤380px) ============ */
@media (max-width: 380px) {
  header.header#mainHeader .header-cta-btn,
  header.header#mainHeader a.header-cta-btn {
    height: 34px !important;
    padding: 0 10px !important;
    gap: 5px !important;
  }
  header.header#mainHeader .header-cta-btn::before {
    width: 18px !important; height: 18px !important;
    font-size: 14px !important;
    border-width: 1px !important;
  }
  header.header#mainHeader .header-cta-btn .header-cta-text {
    font-size: 11px !important;
  }
  header.header#mainHeader .header-actions { gap: 6px !important; }
  header.header#mainHeader .header-action-btn { width: 34px !important; height: 34px !important; }
  header.header#mainHeader .hamburger-menu.ree-menu-btn { width: 34px !important; height: 34px !important; }
}
