/*
 Theme Name:   Unlimited Possibilities Child
 Theme URI:    https://www.unlimited-possibilities.com
 Description:  Child theme for Unlimited Possibilities — Nordic Luxury Real Estate
 Author:       Unlimited Possibilities
 Author URI:   https://www.unlimited-possibilities.com
 Template:     hello-elementor
 Version:      2.0.0
 Text Domain:  unlimited-possibilities
*/

/* ================================================================
   UNLIMITED POSSIBILITIES — Midnight & Champagne Luxury Skin
   Paste ALL of this into:
   WordPress Admin → Appearance → Customize → Additional CSS
   OR upload this file as a Child Theme stylesheet.
================================================================ */

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

:root {
  --midnight:   #080808;
  --midnight2:  #0f0f0f;
  --midnight3:  #171717;
  --gold:       #c5a059;
  --gold-hover: #e2bc72;
  --gold-dim:   rgba(197,160,89,0.13);
  --gold-line:  rgba(197,160,89,0.22);
  --champagne:  #f4ede0;
  --cream-2:    rgba(244,237,224,0.70);
  --cream-3:    rgba(244,237,224,0.36);
  --serif:      'Cormorant Garamond', Georgia, serif;
  --sans:       'Figtree', system-ui, sans-serif;
}

/* GLOBAL */
html, body {
  background-color: var(--midnight) !important;
  color: var(--champagne) !important;
  font-family: var(--sans) !important;
  font-weight: 300 !important;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6,
.elementor-heading-title {
  font-family: var(--serif) !important;
  font-weight: 300 !important;
  color: var(--champagne) !important;
}

/* NAVIGATION */
.site-header,
.elementor-nav-menu--main,
header.site-header {
  background: rgba(8,8,8,0.96) !important;
  border-bottom: 0.5px solid var(--gold-line) !important;
  backdrop-filter: blur(20px);
}
.elementor-nav-menu a,
.site-navigation a {
  font-family: var(--sans) !important;
  font-size: 0.6rem !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: var(--cream-3) !important;
  transition: color 0.2s;
}
.elementor-nav-menu a:hover { color: var(--gold) !important; }

/* BUTTONS — Gold Primary */
.elementor-button,
.wp-block-button__link,
.btn-unlimited {
  font-family: var(--sans) !important;
  font-size: 0.58rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  background-color: var(--gold) !important;
  color: var(--midnight) !important;
  border: none !important;
  padding: 0.85rem 2rem !important;
  transition: background 0.2s !important;
  border-radius: 0 !important;
}
.elementor-button:hover,
.btn-unlimited:hover {
  background-color: var(--gold-hover) !important;
}

/* Ghost button variant */
.elementor-button.btn-ghost {
  background-color: transparent !important;
  border: 0.5px solid var(--gold) !important;
  color: var(--gold) !important;
}
.elementor-button.btn-ghost:hover {
  background-color: var(--gold-dim) !important;
}

/* SECTIONS */
.elementor-section,
.e-container {
  background-color: transparent;
}
.section-dark  { background-color: var(--midnight)  !important; }
.section-dark2 { background-color: var(--midnight2) !important; }
.section-dark3 { background-color: var(--midnight3) !important; }

/* GOLD DIVIDER LINES */
.gold-line-top    { border-top:    0.5px solid var(--gold-line) !important; }
.gold-line-bottom { border-bottom: 0.5px solid var(--gold-line) !important; }

/* SECTION LABELS (eyebrow text) */
.section-label {
  font-family: var(--sans) !important;
  font-size: 0.5rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.3em !important;
  text-transform: uppercase !important;
  color: var(--gold) !important;
  display: block !important;
  margin-bottom: 0.85rem !important;
}

/* SECTION TITLES */
.section-title {
  font-family: var(--serif) !important;
  font-size: clamp(2rem, 4vw, 3.3rem) !important;
  font-weight: 300 !important;
  line-height: 1.1 !important;
  color: var(--champagne) !important;
}
.section-title em,
.section-title .gold-text {
  color: var(--gold) !important;
  font-style: italic !important;
}

/* PROPERTY CARDS */
.property-card {
  background: var(--midnight2) !important;
  border: 0.5px solid var(--gold-line) !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  padding: 0 !important;
}
.property-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 16px 48px rgba(197,160,89,0.12) !important;
  border-color: rgba(197,160,89,0.4) !important;
}
.property-card .card-price {
  font-family: var(--serif) !important;
  font-size: 1.1rem !important;
  color: var(--gold) !important;
}
.property-card .card-location {
  font-size: 0.5rem !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: var(--gold) !important;
}
.property-card .card-name {
  font-family: var(--serif) !important;
  font-size: 1.6rem !important;
  font-weight: 300 !important;
  color: var(--champagne) !important;
}
.property-card .card-badge {
  font-size: 0.46rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  padding: 0.22rem 0.6rem !important;
  color: #fff !important;
}
.property-card .card-badge.badge-hot   { background: #c0392b !important; }
.property-card .card-badge.badge-ready { background: #0b5c50 !important; }
.property-card .card-badge.badge-new   { background: var(--gold) !important; color: var(--midnight) !important; }
.property-card .card-badge.badge-simca { background: #2c5530 !important; }

/* SPECS GRID inside cards */
.card-specs {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0.4rem !important;
  padding: 0.8rem !important;
  background: rgba(197,160,89,0.04) !important;
  border: 0.5px solid var(--gold-line) !important;
}
.spec-label {
  font-size: 0.44rem !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: var(--cream-3) !important;
}
.spec-value { font-size: 0.8rem !important; color: var(--cream-2) !important; }
.spec-value.gold { color: var(--gold) !important; font-family: var(--serif) !important; font-size: 0.95rem !important; }

/* TEAM CARDS */
.team-card {
  background: var(--midnight2) !important;
  border: 0.5px solid var(--gold-line) !important;
  padding: 2.5rem !important;
  position: relative; overflow: hidden;
  transition: background 0.2s;
}
.team-card::after {
  content: "";
  position: absolute; bottom: 0; left: 0; right: 0;
  height: 1.5px; background: var(--gold);
  transform: scaleX(0); transform-origin: left;
  transition: transform 0.4s;
}
.team-card:hover { background: rgba(197,160,89,0.05) !important; }
.team-card:hover::after { transform: scaleX(1); }
.team-name {
  font-family: var(--serif) !important;
  font-size: 1.3rem !important;
  font-weight: 300 !important;
  color: var(--champagne) !important;
}
.team-role {
  font-size: 0.5rem !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  color: var(--gold) !important;
}
.team-photo {
  width: 80px !important;
  height: 80px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  object-position: center top !important;
  border: 0.5px solid var(--gold-line) !important;
}

/* FIDEICOMISO STEPS */
.fideo-step {
  display: grid !important;
  grid-template-columns: 70px 1fr !important;
  gap: 2rem !important;
  padding: 2rem 0 !important;
  border-bottom: 0.5px solid rgba(197,160,89,0.07) !important;
}
.fideo-step:last-child { border-bottom: none !important; }
.step-num {
  font-family: var(--serif) !important;
  font-size: 2.8rem !important;
  font-weight: 300 !important;
  color: rgba(197,160,89,0.12) !important;
  line-height: 1 !important;
}
.step-title {
  font-family: var(--serif) !important;
  font-size: 1.2rem !important;
  font-weight: 300 !important;
  color: var(--champagne) !important;
  margin-bottom: 0.4rem !important;
}
.step-desc { font-size: 0.8rem !important; color: var(--cream-3) !important; line-height: 1.75 !important; }
.step-tag {
  display: inline-block !important;
  margin-top: 0.6rem !important;
  font-size: 0.44rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--gold) !important;
  border: 0.5px solid var(--gold-line) !important;
  padding: 0.18rem 0.52rem !important;
}

/* WHY MEXICO PILLARS */
.investment-pillar {
  display: grid !important;
  grid-template-columns: 28px 1fr !important;
  gap: 0.9rem !important;
  padding: 1.3rem !important;
  border-left: 1.5px solid var(--gold-line) !important;
  background: rgba(197,160,89,0.03) !important;
  margin-bottom: 2px !important;
  transition: background 0.2s, border-color 0.2s !important;
}
.investment-pillar:hover {
  background: rgba(197,160,89,0.08) !important;
  border-left-color: var(--gold) !important;
}
.pillar-icon { font-size: 0.95rem !important; color: var(--gold) !important; }
.pillar-title { font-family: var(--serif) !important; font-size: 0.95rem !important; color: var(--champagne) !important; }
.pillar-text { font-size: 0.74rem !important; color: var(--cream-3) !important; line-height: 1.7 !important; }

/* LIFESTYLE BRIDGE */
.travel-section {
  background: var(--midnight2) !important;
  border-top: 0.5px solid var(--gold-line) !important;
  border-bottom: 0.5px solid var(--gold-line) !important;
}
.travel-headline {
  font-family: var(--serif) !important;
  font-size: clamp(1.9rem, 3.2vw, 2.9rem) !important;
  font-weight: 300 !important;
  color: var(--champagne) !important;
}
.travel-headline em { color: var(--gold) !important; font-style: italic !important; }
.travel-copy { font-size: 0.88rem !important; color: var(--cream-2) !important; line-height: 1.82 !important; }

/* INFRASTRUCTURE CARDS */
.infra-card {
  padding: 2rem 1.8rem !important;
  background: var(--midnight3) !important;
  border: 0.5px solid var(--gold-line) !important;
  transition: border-color 0.2s, background 0.2s !important;
}
.infra-card:hover {
  border-color: rgba(197,160,89,0.4) !important;
  background: rgba(197,160,89,0.04) !important;
}
.infra-icon { font-size: 1.3rem !important; color: var(--gold) !important; margin-bottom: 0.75rem !important; }
.infra-title { font-family: var(--serif) !important; font-size: 1rem !important; color: var(--champagne) !important; }
.infra-desc { font-size: 0.72rem !important; color: var(--cream-3) !important; }

/* INQUIRY FORM */
.wpcf7-form input,
.wpcf7-form textarea,
.wpcf7-form select {
  background: var(--midnight3) !important;
  border: 0.5px solid rgba(244,237,224,0.12) !important;
  color: var(--champagne) !important;
  font-family: var(--sans) !important;
  padding: 0.82rem 0.95rem !important;
  width: 100% !important;
  transition: border-color 0.2s !important;
  border-radius: 0 !important;
}
.wpcf7-form input:focus,
.wpcf7-form textarea:focus { border-color: var(--gold) !important; outline: none !important; }
.wpcf7-form input[type="submit"] {
  background: var(--gold) !important;
  color: var(--midnight) !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  border: none !important;
}

/* FOOTER */
.site-footer,
footer.elementor-location-footer {
  background: #050505 !important;
  border-top: 0.5px solid var(--gold-line) !important;
  color: var(--cream-3) !important;
}
.site-footer a { color: var(--cream-3) !important; transition: color 0.2s !important; }
.site-footer a:hover { color: var(--gold) !important; }
.footer-logo {
  font-family: var(--serif) !important;
  font-size: 1rem !important;
  font-weight: 300 !important;
  letter-spacing: 0.12em !important;
  color: var(--champagne) !important;
}
.footer-logo em { color: var(--gold) !important; font-style: normal !important; }
.footer-col h4 {
  font-size: 0.46rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.24em !important;
  text-transform: uppercase !important;
  color: var(--gold) !important;
  margin-bottom: 0.95rem !important;
}

/* FLOATING WHATSAPP BUTTON */
.wa-float-btn {
  position: fixed !important;
  bottom: 1.8rem !important;
  right: 1.8rem !important;
  z-index: 9999 !important;
  background: #075e54 !important;
  color: #fff !important;
  padding: 0.75rem 1.4rem !important;
  font-family: var(--sans) !important;
  font-size: 0.58rem !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.6rem !important;
  box-shadow: 0 4px 22px rgba(7,94,84,0.4) !important;
  transition: background 0.2s, transform 0.2s !important;
  text-decoration: none !important;
}
.wa-float-btn:hover { background: #128c7e !important; transform: translateY(-2px) !important; }
.wa-dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: #25d366; flex-shrink: 0;
  animation: waPulse 2s infinite;
}
@keyframes waPulse {
  0%,100% { box-shadow: 0 0 0 2px rgba(37,211,102,0.25); }
  50%      { box-shadow: 0 0 0 7px rgba(37,211,102,0); }
}

/* FILTER BAR for properties */
.property-filter-bar {
  display: flex !important;
  gap: 0 !important;
  border-bottom: 0.5px solid var(--gold-line) !important;
  margin-bottom: 2.5rem !important;
  flex-wrap: wrap !important;
}
.filter-btn {
  font-family: var(--sans) !important;
  font-size: 0.52rem !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: var(--cream-3) !important;
  background: none !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
  padding: 0.7rem 1.4rem !important;
  cursor: pointer !important;
  transition: all 0.2s !important;
}
.filter-btn:hover { color: var(--champagne) !important; }
.filter-btn.active { color: var(--gold) !important; border-bottom-color: var(--gold) !important; }

/* EDIT MODE (for content editing) */
[contenteditable="true"] {
  outline: 1px dashed var(--gold) !important;
  background: rgba(197,160,89,0.06) !important;
  cursor: text !important;
}

/* HERO SECTION */
.hero-eyebrow {
  font-size: 0.54rem !important;
  letter-spacing: 0.32em !important;
  text-transform: uppercase !important;
  color: var(--gold) !important;
  margin-bottom: 1.2rem !important;
}
.hero-headline {
  font-family: var(--serif) !important;
  font-size: clamp(3.5rem, 9vw, 8rem) !important;
  font-weight: 300 !important;
  line-height: 0.9 !important;
  letter-spacing: 0.05em !important;
  color: var(--champagne) !important;
}
.hero-headline em { color: var(--gold) !important; font-style: italic !important; display: block !important; }
.hero-subtext { font-size: 0.9rem !important; color: var(--cream-2) !important; line-height: 1.7 !important; }

/* RESPONSIVE */
@media (max-width: 768px) {
  .fideo-step { grid-template-columns: 1fr !important; gap: 0.8rem !important; }
  .card-specs  { grid-template-columns: 1fr 1fr !important; }
}
