/*
 Theme Name:   Astra Child – VRT Asesoría
 Theme URI:    https://asesoresvrt.com
 Description:  Tema hijo de Astra para VRT Asesoría Fiscal, Laboral y Jurídica en Madrid. Paleta verde oscuro + dorado · Tipografía Playfair Display + Inter.
 Author:       VRT Asesoría
 Template:     astra
 Version:      1.0.0
 Text Domain:  astra-child-vrt
*/

/* ─── VARIABLES ──────────────────────────────────────────── */
:root {
  --vrt-verde:        #1A3C2B;
  --vrt-verde-medio:  #2E5E43;
  --vrt-dorado:       #C4962A;
  --vrt-dorado-claro: #E8C96B;
  --vrt-crema:        #F9F8F3;
  --vrt-blanco:       #FFFFFF;
  --vrt-gris:         #F3F2EE;
  --vrt-texto:        #1C1C1C;
  --vrt-texto-gris:   #5A5A5A;
  --vrt-footer:       #0F2218;
}

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

body {
  font-family: 'Inter', sans-serif;
  font-weight: 300;
  color: var(--vrt-texto);
  background: var(--vrt-blanco);
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Playfair Display', serif;
  font-weight: 400;
}

/* ─── ASTRA HEADER ───────────────────────────────────────── */
.ast-site-header-wrap,
#masthead,
.site-header,
.main-header-bar {
  border-bottom: 1px solid rgba(26,60,43,0.1) !important;
}

.site-title a,
.ast-site-name,
.site-header .site-title a {
  font-family: 'Playfair Display', serif !important;
  font-size: 22px !important;
  font-weight: 500 !important;
  color: var(--vrt-blanco) !important;
  letter-spacing: 0.05em !important;
  text-decoration: none !important;
}

/* Dorar las siglas VRT */
.site-title a::before {
  content: none;
}

/* Nav links — desktop */
.main-header-bar .main-header-menu .menu-item > a {
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #1A3C2B !important;
  transition: color .2s !important;
}

.main-header-bar .main-header-menu .menu-item > a:hover,
.main-header-bar .main-header-menu .current-menu-item > a,
.main-header-bar .main-header-menu .current_page_item > a {
  color: var(--vrt-dorado) !important;
  background: transparent !important;
}

/* Nav links — móvil */
.ast-header-break-point .main-header-menu .menu-item > a {
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: #1A3C2B !important;
  border-bottom: 1px solid rgba(26,60,43,0.08) !important;
}

.ast-header-break-point .main-header-menu .menu-item > a:hover,
.ast-header-break-point .main-header-menu .current-menu-item > a {
  color: var(--vrt-dorado) !important;
  background: transparent !important;
}

/* Header CTA button */
.ast-header-custom-item .ast-custom-button,
.header-main-layout-1 .ast-custom-button {
  background: var(--vrt-dorado) !important;
  color: var(--vrt-verde) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  border-radius: 2px !important;
  padding: 10px 22px !important;
  border: none !important;
  transition: background .2s !important;
}

.ast-header-custom-item .ast-custom-button:hover {
  background: var(--vrt-dorado-claro) !important;
  color: var(--vrt-verde) !important;
}

/* ─── ASTRA FOOTER ───────────────────────────────────────── */
#colophon,
.site-footer,
.ast-small-footer {
  background: var(--vrt-footer) !important;
  color: rgba(255,255,255,0.65) !important;
  border-top: none !important;
}

.ast-footer-copyright,
.ast-small-footer .ast-footer-copyright {
  color: rgba(255,255,255,0.4) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  font-weight: 300 !important;
}

.ast-small-footer a,
.site-footer a {
  color: rgba(255,255,255,0.65) !important;
  text-decoration: none !important;
  transition: color .2s !important;
}

.ast-small-footer a:hover,
.site-footer a:hover {
  color: var(--vrt-dorado) !important;
}

/* ─── ELEMENTOR OVERRIDES ────────────────────────────────── */
.elementor-section.elementor-section-full_width {
  width: 100% !important;
}

/* Garantizar que los colores de botones de Elementor respetan la paleta */
.elementor-button {
  border-radius: 2px !important;
  font-family: 'Inter', sans-serif !important;
  letter-spacing: 0.1em !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  transition: background .2s, color .2s, border-color .2s !important;
}

/* Counter widget */
.elementor-counter .elementor-counter-number-wrapper {
  font-family: 'Playfair Display', serif !important;
  font-weight: 300 !important;
}

/* Divider refinement */
.elementor-divider-separator {
  border-color: var(--vrt-dorado) !important;
}

/* Image object-fit */
.elementor-image img {
  object-fit: cover;
}

/* ─── FORMULARIO (fallback si se usa CF7) ────────────────── */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form select,
.wpcf7-form textarea {
  width: 100% !important;
  padding: 13px 15px !important;
  background: var(--vrt-blanco) !important;
  border: 1px solid rgba(26,60,43,0.2) !important;
  border-radius: 2px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  font-weight: 300 !important;
  color: var(--vrt-texto) !important;
  outline: none !important;
  transition: border-color .2s !important;
  margin-bottom: 16px !important;
}

.wpcf7-form input:focus,
.wpcf7-form textarea:focus {
  border-color: var(--vrt-dorado) !important;
  box-shadow: none !important;
}

.wpcf7-form input[type="submit"],
.wpcf7-submit {
  background: var(--vrt-verde) !important;
  color: var(--vrt-blanco) !important;
  border: none !important;
  border-radius: 2px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  padding: 14px 28px !important;
  cursor: pointer !important;
  transition: background .2s !important;
  width: 100% !important;
}

.wpcf7-form input[type="submit"]:hover {
  background: var(--vrt-verde-medio) !important;
}

/* ─── RESPONSIVE ─────────────────────────────────────────── */
@media (max-width: 768px) {
  .ast-mobile-header-stack .ast-mobile-header-content {
    background: var(--vrt-verde) !important;
  }

  .ast-masthead-custom-menu-items {
    display: none;
  }

  /* Stack two-column sections on mobile */
  .elementor-column[data-settings*='"_column_size":50'] {
    width: 100% !important;
  }
}

/* ─── UTILITIES ──────────────────────────────────────────── */
.vrt-dorado  { color: var(--vrt-dorado); }
.vrt-verde   { color: var(--vrt-verde); }
.bg-verde    { background: var(--vrt-verde); }
.bg-crema    { background: var(--vrt-crema); }