/*
Theme Name: Inizia Starter
Theme URI: https://iniziainmobiliaria.es
Description: Custom child theme for Inizia Inmobiliaria
Author: Inizia Inmobiliaria
Template: astra
Version: 1.0.0
Text Domain: inizia-starter
*/

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;0,800;1,400;1,600&family=DM+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&family=Lora:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');

:root {
  --navy: #1a2332;
  --navy-deep: #0f1720;
  --navy-light: #243044;
  --gold: #c8a45c;
  --gold-light: #dcc48a;
  --gold-pale: #f5ecd8;
  --white: #ffffff;
  --offwhite: #fafbfc;
  --gray-100: #f5f6fa;
  --gray-200: #e8eaef;
  --gray-300: #cdd1da;
  --gray-500: #7a8194;
  --gray-700: #3d4455;
  --teal: #2d8c9e;
  --teal-dark: #1f6e7d;
  --teal-light: #e6f4f7;
  --font-display: 'Playfair Display', Georgia, 'Times New Roman', serif;
  --font-body: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-article: 'Lora', Georgia, 'Times New Roman', serif;
}

body {
  font-family: var(--font-body) !important;
  color: var(--navy);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-display) !important;
  color: var(--navy);
}

a { color: var(--teal); transition: color 0.25s ease; }
a:hover { color: var(--teal-dark); }

/* ========== ASTRA HEADER ========== */
.ast-primary-header-bar, .ast-primary-header, header.site-header, .main-header-bar {
  background-color: var(--navy) !important;
}
.ast-primary-header-bar .site-title a, .main-header-bar .site-title a, .site-title a, .site-branding .site-title a {
  color: var(--white) !important;
  font-family: var(--font-display) !important;
  font-weight: 700 !important;
}
.ast-primary-header-bar .site-description, .main-header-bar .site-description, .site-description {
  color: var(--gold) !important;
}
.ast-primary-header-bar .menu-item > a, .main-header-bar .menu-item > a,
.ast-header-sections-navigation .menu-item > a, .main-navigation .menu-item > a,
.ast-builder-menu-1 .menu-item > a {
  color: rgba(255,255,255,0.75) !important;
  font-family: var(--font-body) !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
}
.ast-primary-header-bar .menu-item > a:hover, .main-header-bar .menu-item > a:hover,
.ast-builder-menu-1 .menu-item > a:hover, .main-navigation .menu-item > a:hover {
  color: var(--white) !important;
}
.ast-primary-header-bar .current-menu-item > a, .main-header-bar .current-menu-item > a {
  color: var(--gold) !important;
}
.ast-mobile-menu-trigger-minimal, .ast-button-wrap .menu-toggle {
  color: var(--white) !important;
}
.ast-hfb-header .ast-builder-menu-mobile .main-navigation ul li a,
.ast-mobile-popup-drawer .main-navigation ul li a {
  color: var(--white) !important;
}
.ast-mobile-popup-drawer, .ast-mobile-popup-inner {
  background: var(--navy-deep) !important;
}

/* ========== ARTICLE CONTENT (.entry-content) ========== */
.entry-content, .ast-article-single .entry-content {
  font-family: var(--font-article) !important;
  font-size: 1.1rem !important;
  line-height: 1.85 !important;
  color: var(--gray-700) !important;
}
.entry-content h2 {
  font-family: var(--font-display) !important;
  font-size: 1.7rem !important;
  font-weight: 700 !important;
  color: var(--navy) !important;
  margin: 2.5rem 0 1rem !important;
  line-height: 1.25 !important;
}
.entry-content h3 {
  font-family: var(--font-display) !important;
  font-size: 1.3rem !important;
  font-weight: 700 !important;
  color: var(--navy) !important;
  margin: 2rem 0 0.75rem !important;
  line-height: 1.3 !important;
}
.entry-content h4 {
  font-family: var(--font-display) !important;
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  color: var(--navy) !important;
}
.entry-content p {
  margin-bottom: 1.5rem !important;
  font-family: var(--font-article) !important;
}
.entry-content a {
  color: var(--teal) !important;
  text-decoration: underline !important;
  text-decoration-color: rgba(45,140,158,0.3) !important;
  text-underline-offset: 3px !important;
}
.entry-content a:hover { text-decoration-color: var(--teal) !important; }
.entry-content strong { font-weight: 600 !important; color: var(--navy) !important; }
.entry-content ul, .entry-content ol { margin: 0 0 1.5rem 1.5rem !important; }
.entry-content li { margin-bottom: 0.5rem !important; }
.entry-content li::marker { color: var(--gold) !important; }

/* Tables */
.entry-content table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 2rem 0 !important;
  font-family: var(--font-body) !important;
  font-size: 0.9rem !important;
}
.entry-content th {
  background: var(--navy) !important;
  color: var(--white) !important;
  padding: 12px 16px !important;
  text-align: left !important;
  font-weight: 600 !important;
  font-size: 0.82rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
}
.entry-content th:first-child { border-radius: 8px 0 0 0 !important; }
.entry-content th:last-child { border-radius: 0 8px 0 0 !important; }
.entry-content td {
  padding: 12px 16px !important;
  border-bottom: 1px solid var(--gray-200) !important;
  color: var(--gray-700) !important;
}
.entry-content tr:hover td { background: var(--gray-100) !important; }

/* Blockquote */
.entry-content blockquote {
  border-left: 3px solid var(--gold) !important;
  padding: 8px 0 8px 24px !important;
  margin: 2rem 0 !important;
  font-style: italic !important;
  color: var(--gray-500) !important;
  font-size: 1.15rem !important;
  background: transparent !important;
}

/* Images */
.entry-content img { border-radius: 12px !important; }
.entry-content figcaption {
  font-family: var(--font-body) !important;
  font-size: 0.8rem !important;
  color: var(--gray-500) !important;
  text-align: center !important;
  font-style: italic !important;
}

/* ========== FOOTER ========== */
.site-footer, .ast-footer-overlay, footer.site-footer,
.ast-small-footer, .ast-footer-copyright,
.ast-primary-footer-bar, .ast-above-footer-bar, .ast-below-footer-bar {
  background-color: var(--navy-deep) !important;
  color: rgba(255,255,255,0.4) !important;
}
.site-footer a, .ast-small-footer a, .ast-footer-copyright a, footer a {
  color: rgba(255,255,255,0.4) !important;
}
.site-footer a:hover, .ast-small-footer a:hover, footer a:hover {
  color: var(--gold) !important;
}
.site-footer .widget-title, footer .widget-title {
  font-family: var(--font-display) !important;
  color: var(--white) !important;
}

/* ========== FULL-WIDTH PAGE ========== */
.page-template-default .site-content > .ast-container,
.page-template-page-builder .site-content > .ast-container {
  max-width: 100% !important;
  padding: 0 !important;
}
body.page .entry-content { padding: 0; }
body.home.page .entry-content { max-width: 100%; }

/* Single post max width */
.ast-separate-container .ast-article-single {
  max-width: 780px;
  margin: 0 auto;
}

/* Breadcrumbs */
.ast-breadcrumbs a { color: var(--teal) !important; }

/* Post meta */
.entry-meta, .entry-meta * {
  font-family: var(--font-body) !important;
  color: var(--gray-500) !important;
}

/* Category/Tag badges */
.cat-links a, .tag-links a {
  background: rgba(200,164,92,0.15) !important;
  color: var(--gold) !important;
  border: 1px solid rgba(200,164,92,0.2) !important;
  padding: 4px 12px !important;
  border-radius: 6px !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  display: inline-block !important;
  margin: 2px !important;
}
.cat-links a:hover, .tag-links a:hover {
  background: rgba(200,164,92,0.25) !important;
}

/* Noise texture overlay */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  opacity: 0.018;
  z-index: 9999;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
}

@media (max-width: 768px) {
  .entry-content h2 { font-size: 1.4rem !important; }
  .entry-content h3 { font-size: 1.15rem !important; }
  .entry-content { font-size: 1rem !important; }
}

/* Fix: force reveal elements visible (JS IntersectionObserver may not fire in WP context) */
.reveal {
  opacity: 1 !important;
  transform: none !important;
}

/* Remove noise texture overlay that causes rendering issues */
body::before {
  display: none !important;
}
