/*
Theme Name: Excursionamos
Theme URI: https://excursionamos.com
Description: Tema hijo de Astra para el blog Excursionamos. Personaliza colores, tipografía y componentes con identidad de marca.
Author: Excursionamos
Author URI: https://excursionamos.com
Template: astra
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
*/

/* ============================================================
   EXCURSIONAMOS — Variables de marca
   ============================================================ */
:root {
  --exc-primary:        #1d3557;  /* Azul profundo */
  --exc-primary-dark:   #14253e;
  --exc-accent:         #52b788;  /* Verde medio (acción) */
  --exc-accent-dark:    #2d6a4f;  /* Verde oscuro (hover) */
  --exc-bg-soft:        #f1faee;  /* Crema verdosa muy clara */
  --exc-bg-card:        #d8f3dc;  /* Verde menta claro */
  --exc-text:           #1b1b1b;
  --exc-text-muted:     #555f6e;
  --exc-border:         #e2e8f0;
  --exc-radius:         10px;
  --exc-shadow-sm:      0 1px 3px rgba(0,0,0,0.06);
  --exc-shadow-md:      0 6px 18px rgba(29,53,87,0.08);
}

/* ============================================================
   Tipografía general
   ============================================================ */
body,
.ast-container,
.entry-content {
  font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  color: var(--exc-text);
  font-size: 1.05rem;
  line-height: 1.7;
}

h1, h2, h3, h4, h5, h6,
.entry-title {
  font-family: 'Merriweather', Georgia, 'Times New Roman', serif;
  color: var(--exc-primary);
  letter-spacing: -0.01em;
  line-height: 1.25;
}

h1, .entry-title { font-weight: 700; }
h2 { font-weight: 700; }
h3 { font-weight: 600; }

/* Enlaces */
a {
  color: var(--exc-accent-dark);
  text-decoration: underline;
  text-underline-offset: 0.18em;
  text-decoration-thickness: 1px;
  transition: color 0.2s ease;
}
a:hover, a:focus {
  color: var(--exc-primary);
  text-decoration-thickness: 2px;
}

/* ============================================================
   Header / navegación principal
   ============================================================ */
.site-header,
header.site-header {
  background-color: #ffffff;
  border-bottom: 1px solid var(--exc-border);
  box-shadow: var(--exc-shadow-sm);
}

.main-header-menu > li > a,
.ast-header-break-point .main-header-menu .menu-item a {
  color: var(--exc-primary);
  font-weight: 500;
  transition: color 0.2s ease;
}
.main-header-menu > li > a:hover,
.main-header-menu > .current-menu-item > a {
  color: var(--exc-accent-dark);
}

/* Logo / site title fallback */
.site-title a {
  color: var(--exc-primary) !important;
  font-family: 'Merriweather', Georgia, serif;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.site-description {
  color: var(--exc-text-muted);
  font-style: italic;
}

/* ============================================================
   Botones (Gutenberg + WP)
   ============================================================ */
.wp-block-button__link,
.wp-block-button .wp-element-button,
button[type="submit"],
input[type="submit"] {
  background-color: var(--exc-accent);
  color: var(--exc-primary) !important;
  border: none;
  border-radius: var(--exc-radius);
  padding: 0.75rem 1.75rem;
  font-weight: 600;
  font-size: 1rem;
  cursor: pointer;
  transition: all 0.25s ease;
  box-shadow: var(--exc-shadow-sm);
}
.wp-block-button__link:hover,
.wp-block-button .wp-element-button:hover,
button[type="submit"]:hover,
input[type="submit"]:hover {
  background-color: var(--exc-accent-dark);
  color: #ffffff !important;
  transform: translateY(-1px);
  box-shadow: var(--exc-shadow-md);
}

.wp-block-button.is-style-outline .wp-block-button__link {
  background-color: transparent;
  color: var(--exc-primary) !important;
  border: 2px solid var(--exc-primary);
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background-color: var(--exc-primary);
  color: #ffffff !important;
}

/* ============================================================
   Cards / columnas (página de inicio)
   ============================================================ */
.wp-block-column.has-background {
  box-shadow: var(--exc-shadow-sm);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.wp-block-column.has-background:hover {
  transform: translateY(-4px);
  box-shadow: var(--exc-shadow-md);
}

/* ============================================================
   Hero cover - asegurar contraste de texto blanco
   ============================================================ */
.wp-block-cover h1,
.wp-block-cover h2 {
  color: #ffffff !important;
}

/* ============================================================
   Listados de entradas (blog) — Astra archive
   ============================================================ */
.ast-archive-description {
  background: var(--exc-bg-soft);
  padding: 2rem;
  border-radius: var(--exc-radius);
  margin-bottom: 2rem;
}

.ast-post-format-blog-grid {
  background: #ffffff;
  border: 1px solid var(--exc-border);
  border-radius: var(--exc-radius);
  overflow: hidden;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.ast-post-format-blog-grid:hover {
  transform: translateY(-3px);
  box-shadow: var(--exc-shadow-md);
}

.entry-title a {
  color: var(--exc-primary);
  text-decoration: none;
}
.entry-title a:hover {
  color: var(--exc-accent-dark);
}

/* Meta info */
.entry-meta, .ast-blog-meta-container {
  color: var(--exc-text-muted);
  font-size: 0.9rem;
}

/* Categorías y tags pill */
.entry-meta a {
  background: var(--exc-bg-soft);
  color: var(--exc-primary) !important;
  padding: 0.2rem 0.6rem;
  border-radius: 4px;
  text-decoration: none;
  font-size: 0.85rem;
  display: inline-block;
  margin: 0.1rem 0.15rem;
}
.entry-meta a:hover {
  background: var(--exc-bg-card);
}

/* ============================================================
   Sidebar widgets
   ============================================================ */
.widget {
  background: var(--exc-bg-soft);
  padding: 1.5rem;
  border-radius: var(--exc-radius);
  margin-bottom: 1.5rem;
}

.widget-title {
  font-size: 1.15rem;
  margin-bottom: 1rem;
  border-bottom: 2px solid var(--exc-accent);
  padding-bottom: 0.5rem;
  display: inline-block;
}

/* ============================================================
   Footer
   ============================================================ */
.footer-adv,
.site-footer,
.ast-small-footer {
  background: var(--exc-primary) !important;
  color: #ffffff;
}

.site-footer a,
.ast-small-footer a {
  color: #d8f3dc !important;
}
.site-footer a:hover,
.ast-small-footer a:hover {
  color: #ffffff !important;
}

.footer-adv-widget .widget-title,
.site-footer .widget-title {
  color: #ffffff;
  border-bottom-color: var(--exc-accent);
}

/* ============================================================
   Cookie banner (compatibilidad con CookieAdmin)
   ============================================================ */
.cookieadmin-notice,
.cookieadmin-banner {
  border-radius: var(--exc-radius) !important;
  box-shadow: var(--exc-shadow-md) !important;
}

/* ============================================================
   Adsense placeholders — espacio reservado para que no haya CLS
   ============================================================ */
.adsbygoogle {
  display: block;
  margin: 2rem auto;
  background: var(--exc-bg-soft);
  min-height: 90px;
  border-radius: 6px;
}

/* ============================================================
   Comentarios
   ============================================================ */
.comments-area {
  background: var(--exc-bg-soft);
  padding: 2rem;
  border-radius: var(--exc-radius);
  margin-top: 2rem;
}

/* ============================================================
   Responsive ajustes
   ============================================================ */
@media (max-width: 920px) {
  body { font-size: 1rem; }
  h1, .entry-title { font-size: 2rem; }
  h2 { font-size: 1.6rem; }
  .wp-block-column { padding: 1rem !important; }
}

@media (max-width: 600px) {
  .wp-block-buttons { justify-content: center !important; }
  .wp-block-cover { min-height: 380px !important; }
  .wp-block-cover h1 { font-size: 2.25rem !important; }
}

/* ============================================================
   Accesibilidad
   ============================================================ */
:focus-visible {
  outline: 3px solid var(--exc-accent);
  outline-offset: 2px;
  border-radius: 4px;
}

.skip-link {
  background: var(--exc-primary);
  color: #ffffff;
  padding: 0.5rem 1rem;
  border-radius: var(--exc-radius);
}
