/*
Theme Name:   InmoFlores Child
Theme URI:    https://inmoflores.es
Description:  Tema hijo de Astra para InmoFlores.es — Inmobiliaria Madrid
Author:       thinking5zero
Author URI:   https://thinking5zero.com
Template:     astra
Version:      1.0.0
Text Domain:  inmoflores-child
*/

/* ═══════════════════════════════════════════════════════════
   DESIGN TOKENS — InmoFlores
   ══════════════════════════════════════════════════════════ */
:root {
  --navy:         #1C2B4A;
  --navy-dk:      #131F36;
  --navy-md:      #2D4570;
  --gold:         #D4AF6E;
  --gold-light:   #E8CFA0;
  --cream:        #FAFAF5;
  --surface:      #F2EEE5;
  --surface2:     #E5E0D5;
  --white:        #FAFAF8;
  --text:         #131F36;
  --text-mid:     #5A5A52;
  --text-light:   #9A9A8A;
  --font-serif:   'Fraunces', Georgia, serif;
  --font-sans:    'Figtree', 'Helvetica Neue', sans-serif;
}

/* ═══════════════════════════════════════════════════════════
   RESET & BASE
   ══════════════════════════════════════════════════════════ */
*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  font-family: var(--font-sans);
  background-color: var(--cream);
  color: var(--text);
  font-size: 16px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-serif);
  font-weight: 300;
  color: var(--navy);
  line-height: 1.1;
}

a { color: var(--navy); text-decoration: none; }
a:hover { color: var(--gold); }

img { display: block; max-width: 100%; height: auto; }

/* ═══════════════════════════════════════════════════════════
   ASTRA HEADER — Navegación principal
   ══════════════════════════════════════════════════════════ */

/* Header base */
.site-header,
#masthead {
  border-bottom: none !important;
  box-shadow: none !important;
}

/* ── FONDO DEL HEADER: blanco sólido, sin blur ──────────── */
.main-header-bar,
.ast-header-break-point .main-header-bar,
.ast-header-transparent .main-header-bar,
.ast-above-header-wrap,
#ast-fixed-header .main-header-bar {
  background-color: #ffffff !important;
  background: #ffffff !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-bottom: 1px solid rgba(28,43,74,0.1) !important;
  box-shadow: 0 1px 4px rgba(28,43,74,0.06) !important;
  padding: 0 !important;
}

/* ── LOGO en header ─────────────────────────────────────── */
.site-logo-img,
.custom-logo {
  max-height: 48px !important;
  width: auto !important;
  display: block !important;
}
/* Si el logo SVG tiene demasiado alto (tagline), lo recortamos */
.ast-site-identity img,
.custom-logo-link img {
  max-height: 48px !important;
  width: auto !important;
}
/* Ocultar tagline del sitio si Astra la muestra como texto */
.site-description { display: none !important; }

/* ── LINKS DEL MENÚ: siempre navy oscuro visibles ──────── */
.main-header-bar .ast-nav-menu > li > a,
.main-header-bar .ast-nav-menu > li > a:visited,
#masthead .ast-nav-menu > li > a,
.ast-header-break-point .ast-nav-menu > li > a,
.ast-header-transparent .ast-nav-menu > li > a,
header .ast-nav-menu > li > a {
  font-family: var(--font-sans) !important;
  font-size: 0.78rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #5A5A52 !important;
  padding: 0 0 4px !important;
  position: relative;
  text-decoration: none !important;
}

/* Hover y página activa */
.main-header-bar .ast-nav-menu > li > a:hover,
.main-header-bar .ast-nav-menu > li.current-menu-item > a,
.main-header-bar .ast-nav-menu > li.current_page_item > a {
  color: #1C2B4A !important;
}

/* Línea subrayado dorado en hover */
.main-header-bar .ast-nav-menu > li > a::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 100%;
  height: 1px;
  background: #D4AF6E;
  transition: right 0.3s ease;
}
.main-header-bar .ast-nav-menu > li > a:hover::after,
.main-header-bar .ast-nav-menu > li.current-menu-item > a::after,
.main-header-bar .ast-nav-menu > li.current_page_item > a::after { right: 0; }

/* Separación entre items */
.main-header-bar .ast-nav-menu > li { margin: 0 1.2rem !important; }

/* Nombre del sitio (si no hay logo imagen) */
.site-title a,
.site-title a:visited {
  color: #1C2B4A !important;
  font-family: var(--font-serif) !important;
  font-weight: 300 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}

/* Menú mobile: hamburguesa y links */
.ast-mobile-menu-buttons .menu-toggle,
.ast-mobile-menu-buttons .menu-toggle span { color: #1C2B4A !important; }
.ast-mobile-header-wrap .main-header-bar {
  background: #FAFAF5 !important;
}
.ast-mobile-header-wrap .ast-nav-menu > li > a {
  color: #1C2B4A !important;
}

/* ═══════════════════════════════════════════════════════════
   ASTRA FOOTER
   ══════════════════════════════════════════════════════════ */

/* ── Footer de Astra — visible y con estilos InmoFlores ──── */
.site-footer,
#colophon {
  display: block !important;
  background-color: #131F36 !important;
  background: #131F36 !important;
}

/* Fila superior del footer */
.ast-footer-copyright,
.footer-widget-area,
.ast-footer-widget-area {
  background: #131F36 !important;
}

/* Texto copyright */
.ast-footer-copyright,
.ast-footer-copyright p,
.ast-footer-copyright a {
  color: rgba(255,255,255,0.35) !important;
  font-family: var(--font-sans) !important;
  font-size: 0.75rem !important;
  font-weight: 300 !important;
  letter-spacing: 0.06em !important;
}
.ast-footer-copyright a:hover { color: #D4AF6E !important; }

/* Widgets del footer */
.footer-widget-area .widget-title,
.ast-footer-widget-area .widget-title {
  font-family: var(--font-serif) !important;
  font-size: 0.68rem !important;
  letter-spacing: 0.24em !important;
  text-transform: uppercase !important;
  color: #D4AF6E !important;
  margin-bottom: 1rem !important;
}
.footer-widget-area a,
.ast-footer-widget-area a {
  color: rgba(255,255,255,0.45) !important;
  font-size: 0.88rem !important;
  font-weight: 300 !important;
  transition: color 0.25s !important;
}
.footer-widget-area a:hover,
.ast-footer-widget-area a:hover { color: #D4AF6E !important; }

/* Si se usa el footer de Astra: */
/*
.site-footer { background: var(--navy-dk) !important; }
.ast-footer-copyright { color: rgba(255,255,255,0.3) !important; font-size: 0.75rem; }
*/

/* ═══════════════════════════════════════════════════════════
   ELEMENTOR — ajustes globales
   ══════════════════════════════════════════════════════════ */

/* Quitar padding por defecto de Elementor en páginas full width */
.elementor-page .ast-container,
.elementor-page .ast-article-single,
.elementor-page #content,
.elementor-page .ast-content-layout-fill {
  padding: 0 !important;
  max-width: 100% !important;
}

/* Asegurar que sections de Elementor toquen los bordes */
.elementor-section.elementor-section-stretched {
  left: 0 !important;
  width: 100% !important;
}

/* ═══════════════════════════════════════════════════════════
   TIPOGRAFÍA GLOBAL
   ══════════════════════════════════════════════════════════ */

p {
  font-family: var(--font-sans);
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.85;
  color: var(--text-mid);
}

strong { font-weight: 600; }

/* ═══════════════════════════════════════════════════════════
   BOTONES WORDPRESS (Gutenberg / otros)
   ══════════════════════════════════════════════════════════ */

.wp-block-button__link,
.ast-button {
  font-family: var(--font-sans) !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  padding: 0.95rem 2rem !important;
  background-color: var(--navy) !important;
  color: var(--white) !important;
  transition: background 0.3s ease !important;
}
.wp-block-button__link:hover,
.ast-button:hover {
  background-color: var(--navy-md) !important;
}

/* ═══════════════════════════════════════════════════════════
   FORMULARIOS (Contact Form 7 / WPForms)
   ══════════════════════════════════════════════════════════ */

.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form select,
.wpcf7-form textarea {
  width: 100%;
  padding: 0.85rem 1rem;
  background: var(--white);
  border: 1px solid var(--surface2);
  color: var(--text);
  font-family: var(--font-sans);
  font-size: 0.9rem;
  font-weight: 300;
  border-radius: 0;
  outline: none;
  transition: border-color 0.25s;
  -webkit-appearance: none;
}
.wpcf7-form input:focus,
.wpcf7-form select:focus,
.wpcf7-form textarea:focus {
  border-color: var(--gold);
  box-shadow: none;
}

.wpcf7-form input[type="submit"] {
  background: var(--navy) !important;
  color: var(--white) !important;
  font-family: var(--font-sans) !important;
  font-size: 0.78rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 1rem 2rem !important;
  cursor: pointer;
  transition: background 0.3s !important;
  width: 100%;
}
.wpcf7-form input[type="submit"]:hover {
  background: var(--navy-md) !important;
}

/* Mensajes de validación CF7 */
.wpcf7-not-valid-tip { color: #e05252; font-size: 0.78rem; }
.wpcf7-mail-sent-ok  { color: var(--gold); border-color: var(--gold); }

/* ═══════════════════════════════════════════════════════════
   UTILIDADES
   ══════════════════════════════════════════════════════════ */

.text-navy    { color: var(--navy) !important; }
.text-gold    { color: var(--gold) !important; }
.text-mid     { color: var(--text-mid) !important; }
.bg-navy      { background-color: var(--navy) !important; }
.bg-gold      { background-color: var(--gold) !important; }
.bg-cream     { background-color: var(--cream) !important; }
.bg-surface   { background-color: var(--surface) !important; }

/* ═══════════════════════════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  .main-header-bar {
    background: rgba(250,250,245,0.98) !important;
  }
}
