/* ==========================================================================
   CAMINO DE ORACIÓN — DESIGN SYSTEM v3.0 (Baseline Noviembre 2026)
   Tokens OKLCH + light-dark() + @layer + @container + WCAG 2.2 AA
   ========================================================================== */

@font-face {
  font-family: 'Fraunces';
  src: url('../fonts/fraunces-latin-ext.woff2') format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Fraunces';
  src: url('../fonts/fraunces-latin.woff2') format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Plus Jakarta Sans';
  src: url('../fonts/plus-jakarta-sans-latin-ext.woff2') format('woff2');
  font-weight: 200 800;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Plus Jakarta Sans';
  src: url('../fonts/plus-jakarta-sans-latin.woff2') format('woff2');
  font-weight: 200 800;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+FEFF, U+FFFD;
}

@layer tokens, base, components;

@layer tokens {
  :root {
    color-scheme: light dark;

    /* Escala Tipográfica Fluida */
    --font-body:    'Plus Jakarta Sans', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
    --font-display: 'Fraunces', Georgia, 'Times New Roman', serif;
    --step--1: clamp(0.84rem, 0.81rem + 0.12vw, 0.92rem);
    --step-0:  clamp(1rem, 0.96rem + 0.18vw, 1.1rem);
    --step-1:  clamp(1.22rem, 1.12rem + 0.45vw, 1.48rem);
    --step-2:  clamp(1.52rem, 1.32rem + 0.95vw, 2.05rem);
    --step-3:  clamp(1.95rem, 1.55rem + 1.8vw, 2.85rem);

    /* Espaciado (base 4px) & Radios Concéntricos */
    --space-1:  0.25rem;
    --space-2:  0.5rem;
    --space-3:  0.75rem;
    --space-4:  1rem;
    --space-5:  1.25rem;
    --space-6:  1.5rem;
    --space-8:  2rem;
    --space-12: 3rem;

    --radius-sm:   6px;
    --radius-md:   10px;
    --radius-lg:   16px;
    --radius-xl:   22px;
    --radius-full: 9999px;

    /* Movimiento y Z-Index */
    --dur-fast: 120ms;
    --dur-base: 200ms;
    --dur-slow: 360ms;
    --ease-out: cubic-bezier(0.2, 0.8, 0.2, 1);

    --z-sticky:  40;
    --z-popover: 60;
    --target-min: 44px;

    /* ======================================================================
       PALETA 1 (POR DEFECTO): "LUZ Y SANTUARIO" (Claro + Modo Vigilia)
       ====================================================================== */
    --bg:           light-dark(oklch(0.975 0.008 80),  oklch(0.16 0.022 255));
    --surface:      light-dark(oklch(1 0 0),           oklch(0.21 0.026 255));
    --surface-2:    light-dark(oklch(0.948 0.013 80),  oklch(0.255 0.028 255));
    --text:         light-dark(oklch(0.22 0.036 255),  oklch(0.945 0.010 85));
    --text-muted:   light-dark(oklch(0.45 0.026 255),  oklch(0.75 0.015 85));
    --border:       light-dark(oklch(0.89 0.014 80),   oklch(0.32 0.025 255));

    --accent:       light-dark(oklch(0.57 0.140 62),   oklch(0.76 0.135 72));
    --accent-hover: light-dark(oklch(0.49 0.145 62),   oklch(0.82 0.125 72));
    --on-accent:    light-dark(oklch(1 0 0),           oklch(0.16 0.025 255));

    --secondary:    light-dark(oklch(0.43 0.105 250),  oklch(0.73 0.100 245));
    --accent-bg:    color-mix(in oklch, var(--accent) 13%, transparent);
    --secondary-bg: color-mix(in oklch, var(--secondary) 13%, transparent);

    /* Badges semánticos por categoría */
    --cat-oraciones:      light-dark(oklch(0.42 0.105 250), oklch(0.75 0.100 245));
    --cat-oraciones-bg:   color-mix(in oklch, var(--cat-oraciones) 13%, transparent);
    --cat-reflexiones:    light-dark(oklch(0.44 0.090 150), oklch(0.74 0.095 150));
    --cat-reflexiones-bg: color-mix(in oklch, var(--cat-reflexiones) 13%, transparent);
    --cat-predicas:       light-dark(oklch(0.54 0.135 60),  oklch(0.77 0.130 70));
    --cat-predicas-bg:    color-mix(in oklch, var(--cat-predicas) 14%, transparent);

    /* Elevación sutil calibrada */
    --shadow-1: 0 1px 3px oklch(0.18 0.03 255 / 0.06), 0 1px 2px oklch(0.18 0.03 255 / 0.04);
    --shadow-2: 0 10px 26px oklch(0.18 0.03 255 / 0.10), 0 3px 8px oklch(0.18 0.03 255 / 0.05);
    --shadow-3: 0 18px 42px oklch(0.15 0.03 255 / 0.16), 0 6px 14px oklch(0.15 0.03 255 / 0.08);

    /* Sincronización con tokens nativos de Lightning */
    --vk-color-text-body:       var(--text);
    --vk-color-text-link:       var(--accent);
    --vk-color-text-link-hover: var(--accent-hover);
    --vk-color-text-header:     var(--text);
    --vk-color-text-meta:       var(--text-muted);
    --vk-color-text-light:      var(--text-muted);
    --vk-color-border-hr:       var(--border);
    --vk-color-border-image:    var(--border);
    --vk-color-primary:         var(--accent);
    --vk-color-primary-dark:    var(--accent-hover);
    --vk-color-primary-vivid:   var(--accent);
    --vk-color-accent-bg:       var(--surface-2);
    --vk-color-header-bg:       var(--surface);
    --vk-color-footer-bg:       var(--surface-2);
    --text-color:               var(--text);
  }

  /* PALETA 2: "HUERTO DE LOS OLIVOS" (Orgánica / Esperanza) */
  :root[data-palette='olivos'] {
    --bg:           light-dark(oklch(0.976 0.008 118), oklch(0.16 0.018 155));
    --surface:      light-dark(oklch(1 0 0),            oklch(0.21 0.022 155));
    --surface-2:    light-dark(oklch(0.946 0.012 118), oklch(0.255 0.024 155));
    --text:         light-dark(oklch(0.24 0.026 150),  oklch(0.95 0.008 115));
    --text-muted:   light-dark(oklch(0.45 0.022 150),  oklch(0.75 0.014 120));
    --border:       light-dark(oklch(0.89 0.014 120),  oklch(0.32 0.022 155));

    --accent:       light-dark(oklch(0.46 0.088 150),  oklch(0.73 0.095 150));
    --accent-hover: light-dark(oklch(0.39 0.090 150),  oklch(0.79 0.090 150));
    --on-accent:    light-dark(oklch(1 0 0),            oklch(0.15 0.020 155));
    --secondary:    light-dark(oklch(0.64 0.130 82),   oklch(0.79 0.125 84));
  }

  /* PALETA 3: "CÓDICE SAGRADO" (Editorial Clásica) */
  :root[data-palette='codice'] {
    --bg:           light-dark(oklch(0.978 0.009 75),  oklch(0.165 0.014 45));
    --surface:      light-dark(oklch(0.996 0.004 80),  oklch(0.215 0.018 45));
    --surface-2:    light-dark(oklch(0.945 0.014 75),  oklch(0.26 0.020 45));
    --text:         light-dark(oklch(0.22 0.018 45),   oklch(0.95 0.010 75));
    --text-muted:   light-dark(oklch(0.46 0.018 45),   oklch(0.75 0.015 70));
    --border:       light-dark(oklch(0.88 0.016 70),   oklch(0.32 0.018 45));

    --accent:       light-dark(oklch(0.47 0.145 32),   oklch(0.72 0.135 35));
    --accent-hover: light-dark(oklch(0.40 0.145 32),   oklch(0.78 0.130 35));
    --on-accent:    light-dark(oklch(1 0 0),            oklch(0.15 0.015 45));
    --secondary:    light-dark(oklch(0.62 0.115 80),   oklch(0.78 0.115 80));
  }

  /* Interruptor manual claro / vigilia / sistema */
  :root[data-theme='light'] { color-scheme: light; }
  :root[data-theme='dark']  { color-scheme: dark; }
}

@layer base {
  html {
    scroll-padding-top: 92px;
    scroll-behavior: smooth;
  }

  @view-transition {
    navigation: auto;
  }

  :where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
    border-radius: var(--radius-sm);
  }
}

@layer components {
  .surface {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-1);
  }

  .glass {
    background: color-mix(in oklch, var(--surface) 78%, transparent);
    backdrop-filter: blur(14px) saturate(140%);
    -webkit-backdrop-filter: blur(14px) saturate(140%);
    border-bottom: 1px solid color-mix(in oklch, var(--border) 80%, transparent);
  }

  @supports not (backdrop-filter: blur(1px)) {
    .glass {
      background: var(--surface);
    }
  }
}

/* ==========================================================================
   INTEGRACIÓN EDITORIAL CON LIGHTNING G2 (Mayor especificidad que unlayered)
   ========================================================================== */

body.wp-theme-lightning {
  background-color: var(--bg);
  color: var(--text);
  font-family: var(--font-body);
  font-size: var(--step-0);
  line-height: 1.65;
  transition: background-color var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out);
}

body.wp-theme-lightning h1,
body.wp-theme-lightning h2,
body.wp-theme-lightning h3,
body.wp-theme-lightning .entry-title,
body.wp-theme-lightning .page-header_pageTitle,
body.wp-theme-lightning .archive-header_title,
body.wp-theme-lightning .subSection-title {
  font-family: var(--font-display);
  color: var(--text);
  line-height: 1.2;
  letter-spacing: -0.015em;
  text-wrap: balance;
}

body.wp-theme-lightning h1,
body.wp-theme-lightning .page-header_pageTitle {
  font-size: var(--step-2);
}

body.wp-theme-lightning p,
body.wp-theme-lightning li {
  text-wrap: pretty;
}

body.wp-theme-lightning a {
  color: var(--accent);
  transition: color var(--dur-fast) var(--ease-out);
}

body.wp-theme-lightning a:hover {
  color: var(--accent-hover);
}

/* --- Cabecera Flotante con Cristal (.glass) --- */
body.wp-theme-lightning header.siteHeader {
  position: sticky;
  top: 0;
  z-index: var(--z-sticky);
  background: color-mix(in oklch, var(--surface) 82%, transparent);
  backdrop-filter: blur(14px) saturate(140%);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  border-bottom: 1px solid var(--border);
  box-shadow: var(--shadow-1);
}

body.admin-bar.wp-theme-lightning header.siteHeader {
  top: 32px;
}

@media (max-width: 782px) {
  body.admin-bar.wp-theme-lightning header.siteHeader {
    top: 46px;
  }
}

body.wp-theme-lightning header.siteHeader .siteHeadContainer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  flex-wrap: wrap;
  padding-top: var(--space-2);
  padding-bottom: var(--space-2);
}

body.wp-theme-lightning .navbar-header {
  float: none;
  display: flex;
  align-items: center;
}

body.wp-theme-lightning .siteHeader_logo a {
  color: var(--text);
  font-family: var(--font-display);
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  border-radius: var(--radius-full);
  transition: background-color var(--dur-base) var(--ease-out), padding var(--dur-base) var(--ease-out);
}

:root[data-theme='dark'] body.wp-theme-lightning .siteHeader_logo a {
  background-color: oklch(0.96 0.010 85);
  padding: 4px 14px 4px 8px;
  border: 1px solid color-mix(in oklch, var(--accent) 35%, transparent);
  box-shadow: var(--shadow-1);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme='light']) body.wp-theme-lightning .siteHeader_logo a {
    background-color: oklch(0.96 0.010 85);
    padding: 4px 14px 4px 8px;
    border: 1px solid color-mix(in oklch, var(--accent) 35%, transparent);
    box-shadow: var(--shadow-1);
  }
}

/* Menú móvil Lightning en Modo Vigilia */
body.wp-theme-lightning .vk-mobile-nav {
  background-color: var(--surface);
  border-bottom-color: var(--border);
}

body.wp-theme-lightning .vk-mobile-nav nav > ul,
body.wp-theme-lightning .vk-mobile-nav nav ul li a,
body.wp-theme-lightning .vk-mobile-nav .widget_nav_menu ul.menu,
body.wp-theme-lightning .vk-mobile-nav .widget_nav_menu ul li a {
  color: var(--text);
  border-color: var(--border);
}

body.wp-theme-lightning .vk-mobile-nav-menu-btn {
  display: block !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: var(--radius-sm) !important;
  border: 1px solid var(--border) !important;
  background-color: var(--surface) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231f2937' stroke-width='2.2' stroke-linecap='round'%3E%3Cline x1='4' y1='6' x2='20' y2='6'/%3E%3Cline x1='4' y1='12' x2='20' y2='12'/%3E%3Cline x1='4' y1='18' x2='20' y2='18'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: 22px 22px !important;
  box-shadow: var(--shadow-1) !important;
  filter: none !important;
  cursor: pointer !important;
  z-index: 2100 !important;
  transition: transform 0.15s ease, background-color 0.2s ease !important;
}

body.wp-theme-lightning .vk-mobile-nav-menu-btn:active {
  transform: scale(0.95);
}

body.wp-theme-lightning .vk-mobile-nav-menu-btn.menu-open {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231f2937' stroke-width='2.2' stroke-linecap='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3C/svg%3E") !important;
}

:root[data-theme='dark'] body.wp-theme-lightning .vk-mobile-nav-menu-btn {
  background-color: var(--surface) !important;
  border-color: var(--border) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f3f4f6' stroke-width='2.2' stroke-linecap='round'%3E%3Cline x1='4' y1='6' x2='20' y2='6'/%3E%3Cline x1='4' y1='12' x2='20' y2='12'/%3E%3Cline x1='4' y1='18' x2='20' y2='18'/%3E%3C/svg%3E") !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4) !important;
}

:root[data-theme='dark'] body.wp-theme-lightning .vk-mobile-nav-menu-btn.menu-open {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f3f4f6' stroke-width='2.2' stroke-linecap='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3C/svg%3E") !important;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme='light']) body.wp-theme-lightning .vk-mobile-nav-menu-btn {
    background-color: var(--surface) !important;
    border-color: var(--border) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f3f4f6' stroke-width='2.2' stroke-linecap='round'%3E%3Cline x1='4' y1='6' x2='20' y2='6'/%3E%3Cline x1='4' y1='12' x2='20' y2='12'/%3E%3Cline x1='4' y1='18' x2='20' y2='18'/%3E%3C/svg%3E") !important;
  }

  :root:not([data-theme='light']) body.wp-theme-lightning .vk-mobile-nav-menu-btn.menu-open {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f3f4f6' stroke-width='2.2' stroke-linecap='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3C/svg%3E") !important;
  }
}

body.wp-theme-lightning .gMenu_outer {
  float: none;
  margin-left: auto;
}

body.wp-theme-lightning ul.gMenu > li > a {
  color: var(--text);
  font-weight: 500;
  min-height: var(--target-min);
  display: inline-flex;
  align-items: center;
  padding: 0.5rem 0.9rem;
  border-radius: var(--radius-md);
}

body.wp-theme-lightning ul.gMenu > li > a:hover,
body.wp-theme-lightning ul.gMenu > li.current-menu-item > a,
body.wp-theme-lightning ul.gMenu > li.current-category-ancestor > a {
  color: var(--accent);
  background-color: var(--accent-bg);
}

body.wp-theme-lightning .gMenu .sub-menu {
  background-color: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-2);
}

body.wp-theme-lightning .gMenu .sub-menu li a {
  color: var(--text);
  background-color: transparent;
}

body.wp-theme-lightning .gMenu .sub-menu li a:hover {
  color: var(--accent);
  background-color: var(--accent-bg);
}

/* --- Interruptor de Modo Vigilia y Selector de 3 Paletas --- */
.camino-controls {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  position: relative;
  margin-left: var(--space-2);
}

.camino-ctrl-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  min-width: var(--target-min);
  min-height: var(--target-min);
  padding: 0 0.85rem;
  background: var(--surface-2);
  color: var(--text);
  border: 1px solid var(--border);
  border-radius: var(--radius-full);
  font-family: var(--font-body);
  font-size: var(--step--1);
  font-weight: 600;
  cursor: pointer;
  transition: background-color var(--dur-fast) var(--ease-out),
              border-color var(--dur-fast) var(--ease-out),
              transform var(--dur-fast) var(--ease-out);
}

.camino-ctrl-btn:hover {
  background: var(--accent-bg);
  border-color: color-mix(in oklch, var(--accent) 45%, var(--border));
  color: var(--accent);
}

.camino-ctrl-btn:active {
  transform: scale(0.97);
}

.camino-ctrl-btn svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

.camino-ctrl-label {
  white-space: nowrap;
}

@media (max-width: 991.98px) {
  .camino-ctrl-label {
    display: none;
  }
  .camino-ctrl-btn {
    padding: 0 0.65rem;
  }
}

/* Mostrar icono sol/luna según el tema activo */
.camino-icon-sun { display: none; }
.camino-icon-moon { display: inline-block; }

:root[data-theme='dark'] .camino-icon-sun { display: inline-block; }
:root[data-theme='dark'] .camino-icon-moon { display: none; }

@media (prefers-color-scheme: dark) {
  :root:not([data-theme='light']) .camino-icon-sun { display: inline-block; }
  :root:not([data-theme='light']) .camino-icon-moon { display: none; }
}

.camino-palette-popover {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  width: min(280px, 88vw);
  padding: var(--space-3);
  background: color-mix(in oklch, var(--surface) 92%, transparent);
  backdrop-filter: blur(16px) saturate(140%);
  -webkit-backdrop-filter: blur(16px) saturate(140%);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-3);
  z-index: var(--z-popover);
}

.camino-palette-popover[hidden] {
  display: none;
}

.camino-palette-title {
  margin: 0 0 var(--space-2);
  padding: 0 var(--space-2);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-muted);
}

.camino-palette-option {
  width: 100%;
  min-height: var(--target-min);
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: 0.55rem 0.75rem;
  margin-bottom: 4px;
  background: transparent;
  color: var(--text);
  border: 1px solid transparent;
  border-radius: var(--radius-md);
  text-align: left;
  cursor: pointer;
  transition: background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);
}

.camino-palette-option:last-child {
  margin-bottom: 0;
}

.camino-palette-option:hover {
  background: var(--surface-2);
}

.camino-palette-option[aria-checked='true'] {
  background: var(--accent-bg);
  border-color: color-mix(in oklch, var(--accent) 45%, var(--border));
}

.camino-swatch {
  width: 24px;
  height: 24px;
  border-radius: var(--radius-full);
  border: 2px solid var(--border);
  flex-shrink: 0;
  display: inline-block;
}

.camino-swatch--santuario { background: linear-gradient(135deg, #141D2B 50%, #B8732A 50%); }
.camino-swatch--olivos    { background: linear-gradient(135deg, #3D6348 50%, #C28D38 50%); }
.camino-swatch--codice    { background: linear-gradient(135deg, #9E3B24 50%, #B58938 50%); }

.camino-palette-meta {
  display: flex;
  flex-direction: column;
  line-height: 1.25;
}

.camino-palette-meta strong {
  font-size: 0.9rem;
  font-weight: 600;
}

.camino-palette-meta small {
  font-size: 0.75rem;
  color: var(--text-muted);
}

/* --- Page Header & Breadcrumb --- */
body.wp-theme-lightning .page-header {
  background: linear-gradient(180deg, var(--surface-2) 0%, var(--bg) 100%);
  border-bottom: 1px solid var(--border);
  padding: var(--space-8) 0;
}

body.wp-theme-lightning .page-header_pageTitle {
  color: var(--text);
  margin: 0;
}

body.wp-theme-lightning .breadcrumb {
  background: transparent;
  border-bottom: 1px solid var(--border);
  color: var(--text-muted);
  font-size: var(--step--1);
}

body.wp-theme-lightning .breadcrumb a {
  color: var(--text-muted);
}

body.wp-theme-lightning .breadcrumb a:hover {
  color: var(--accent);
}

/* --- Cuerpo Principal y Contenedores --- */
body.wp-theme-lightning .siteContent {
  background-color: var(--bg);
  padding-top: var(--space-8);
  padding-bottom: var(--space-12);
}

/* --- Tarjetas de Archivo con Container Queries (@container) --- */
body.wp-theme-lightning .postList {
  display: grid;
  gap: var(--space-6);
}

body.wp-theme-lightning .postList article.media {
  container-type: inline-size;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-1);
  padding: var(--space-5);
  margin: 0;
  display: block;
  transition: transform var(--dur-base) var(--ease-out),
              box-shadow var(--dur-base) var(--ease-out),
              border-color var(--dur-base) var(--ease-out);
}

@media (hover: hover) {
  body.wp-theme-lightning .postList article.media:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-2);
    border-color: color-mix(in oklch, var(--accent) 42%, var(--border));
  }
}

body.wp-theme-lightning .postList article.media > .post,
body.wp-theme-lightning .postList article.media > div {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-4);
  align-items: start;
}

body.wp-theme-lightning .postList .postList_thumbnail {
  padding: 0;
  margin: 0;
  width: 100%;
  float: none;
}

body.wp-theme-lightning .postList .postList_thumbnail a {
  display: block;
  overflow: hidden;
  border-radius: var(--radius-md); /* Concéntrico: 16px - ~6px visual o inner=10px */
  border: 1px solid var(--border);
  background-color: var(--surface-raised);
  position: relative;
  width: 100%;
  text-align: center;
}

body.wp-theme-lightning .postList .postList_thumbnail img {
  width: 100% !important;
  height: auto !important;
  max-height: 450px !important;
  /* object-fit: contain y height: auto garantizan que NUNCA se recorte ningún píxel */
  object-fit: contain !important;
  display: block !important;
  margin: 0 auto !important;
  transition: transform var(--dur-slow) var(--ease-out);
  image-rendering: auto;
}

@container (min-width: 30rem) {
  body.wp-theme-lightning .postList article.media > .post,
  body.wp-theme-lightning .postList article.media > div {
    grid-template-columns: 200px 1fr;
    gap: var(--space-5);
    align-items: center;
  }

  body.wp-theme-lightning .postList .postList_thumbnail a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 150px;
  }

  body.wp-theme-lightning .postList .postList_thumbnail img {
    width: 100% !important;
    height: 100% !important;
    max-height: 150px !important;
    object-fit: contain !important;
  }
}

@media (hover: hover) {
  body.wp-theme-lightning .postList article.media:hover .postList_thumbnail img {
    transform: scale(1.03);
  }
}

body.wp-theme-lightning .postList .media-body {
  width: 100%;
  min-width: 0;
}

body.wp-theme-lightning .postList .media-heading.entry-title {
  font-size: var(--step-1);
  margin: var(--space-2) 0 var(--space-2);
}

body.wp-theme-lightning .postList .media-heading.entry-title a {
  color: var(--text);
  text-decoration: none;
}

body.wp-theme-lightning .postList .media-heading.entry-title a:hover {
  color: var(--accent);
}

body.wp-theme-lightning .postList .media-body_excerpt,
body.wp-theme-lightning .postList .media-body_excerpt p {
  color: var(--text-muted);
  font-size: 0.96rem;
  line-height: 1.6;
  margin: 0;
  text-decoration: none;
}

/* --- Badges Semánticos de Categorías (Oraciones, Reflexiones, Prédicas) --- */
body.wp-theme-lightning .entry-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.75rem;
  color: var(--text-muted);
  font-size: 0.85rem;
  margin-bottom: var(--space-2);
}

body.wp-theme-lightning .entry-meta .published,
body.wp-theme-lightning .entry-meta .updated,
body.wp-theme-lightning .post-views,
body.wp-theme-lightning table,
body.wp-theme-lightning .num {
  font-variant-numeric: tabular-nums;
}

.camino-cat-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  min-height: 28px;
  padding: 0.2rem 0.7rem;
  border-radius: var(--radius-full);
  font-family: var(--font-body);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-decoration: none;
  border: 1px solid transparent;
  transition: transform var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);
}

.camino-cat-badge svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}

.camino-cat-badge--oraciones {
  color: var(--cat-oraciones);
  background: var(--cat-oraciones-bg);
  border-color: color-mix(in oklch, var(--cat-oraciones) 28%, transparent);
}

.camino-cat-badge--reflexiones {
  color: var(--cat-reflexiones);
  background: var(--cat-reflexiones-bg);
  border-color: color-mix(in oklch, var(--cat-reflexiones) 28%, transparent);
}

.camino-cat-badge--predicas {
  color: var(--cat-predicas);
  background: var(--cat-predicas-bg);
  border-color: color-mix(in oklch, var(--cat-predicas) 28%, transparent);
}

.camino-cat-badge--general {
  color: var(--text-muted);
  background: var(--surface-2);
  border-color: var(--border);
}

.camino-cat-badge:hover {
  transform: translateY(-1px);
  color: inherit;
}

/* --- Vista de Lectura Individual (Single Post) --- */
body.wp-theme-lightning.single-post article.entry-full {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-1);
  padding: clamp(1.25rem, 3vw, 2.5rem);
}

body.wp-theme-lightning.single-post article.entry-full > .entry-header {
  border-bottom: 1px solid var(--border);
  padding-bottom: var(--space-5);
  margin-bottom: var(--space-6);
}

body.wp-theme-lightning.single-post article.entry-full > .entry-header .entry-title {
  font-size: var(--step-3);
  margin-bottom: var(--space-3);
}

/* Lectura óptima <= 70ch en entradas clásicas (sin romper maquetaciones custom) */
body.wp-theme-lightning.single-post .entry-body:not(:has(#cristiano-article-content)) > p,
body.wp-theme-lightning.single-post .entry-body:not(:has(#cristiano-article-content)) > ul,
body.wp-theme-lightning.single-post .entry-body:not(:has(#cristiano-article-content)) > ol,
body.wp-theme-lightning.single-post .entry-body:not(:has(#cristiano-article-content)) > blockquote {
  max-width: 70ch;
}

body.wp-theme-lightning.single-post .entry-body blockquote {
  background: var(--surface-2);
  border-left: 4px solid var(--accent);
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  padding: var(--space-4) var(--space-5);
  color: var(--text);
}

body.wp-theme-lightning .entry-footer {
  border-top: 1px solid var(--border);
  padding-top: var(--space-4);
  margin-top: var(--space-6);
}

body.wp-theme-lightning .entry-footer .tagcloud a,
body.wp-theme-lightning .entry-meta-data-list dd a {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0.25rem 0.75rem;
  margin: 0.2rem;
  background: var(--surface-2);
  border: 1px solid var(--border);
  border-radius: var(--radius-full);
  color: var(--text-muted);
  text-decoration: none;
}

body.wp-theme-lightning .entry-footer .tagcloud a:hover,
body.wp-theme-lightning .entry-meta-data-list dd a:hover {
  color: var(--accent);
  border-color: var(--accent);
}

/* --- Botones y Paginación (Objetivos táctiles >= 44px) --- */
body.wp-theme-lightning .btn-primary,
body.wp-theme-lightning .wp-block-button__link,
body.wp-theme-lightning input[type='submit'],
body.wp-theme-lightning button[type='submit'] {
  background-color: var(--accent);
  color: var(--on-accent);
  border: 1px solid transparent;
  border-radius: var(--radius-md);
  min-height: var(--target-min);
  padding: 0.65rem 1.25rem;
  font-weight: 600;
  transition: background-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);
}

body.wp-theme-lightning .btn-primary:hover,
body.wp-theme-lightning .wp-block-button__link:hover,
body.wp-theme-lightning input[type='submit']:hover,
body.wp-theme-lightning button[type='submit']:hover {
  background-color: var(--accent-hover);
  color: var(--on-accent);
}

body.wp-theme-lightning .pagination .page-numbers {
  min-width: var(--target-min);
  min-height: var(--target-min);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-md);
  background: var(--surface);
  border: 1px solid var(--border);
  color: var(--text);
  margin: 0 3px;
  font-variant-numeric: tabular-nums;
}

body.wp-theme-lightning .pagination .page-numbers.current {
  background: var(--accent);
  color: var(--on-accent);
  border-color: var(--accent);
}

/* --- Barra Lateral (Sidebar) --- */
body.wp-theme-lightning .sideSection .widget {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-1);
  padding: var(--space-5);
  margin-bottom: var(--space-6);
}

body.wp-theme-lightning .sideSection .subSection-title {
  font-size: 1.15rem;
  border-bottom: 2px solid var(--accent-bg);
  padding-bottom: var(--space-2);
  margin-bottom: var(--space-4);
  color: var(--text);
}

body.wp-theme-lightning .sideSection .widget ul li {
  border-bottom-color: var(--border);
}

body.wp-theme-lightning .sideSection .widget ul li a {
  color: var(--text);
  display: inline-flex;
  align-items: center;
  min-height: 38px;
}

body.wp-theme-lightning .sideSection .widget ul li a:hover {
  color: var(--accent);
}

body.wp-theme-lightning input[type='text'],
body.wp-theme-lightning input[type='email'],
body.wp-theme-lightning input[type='search'],
body.wp-theme-lightning textarea,
body.wp-theme-lightning select {
  background-color: var(--surface);
  color: var(--text);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  min-height: var(--target-min);
}

/* --- Pie de Página (Footer) --- */
body.wp-theme-lightning footer.siteFooter {
  background-color: var(--surface-2);
  border-top: 1px solid var(--border);
  color: var(--text-muted);
}

body.wp-theme-lightning footer.siteFooter .siteFooter_content,
body.wp-theme-lightning footer.siteFooter .copySection {
  color: var(--text-muted);
  border-top-color: var(--border);
}

body.wp-theme-lightning footer.siteFooter a {
  color: var(--text);
}

body.wp-theme-lightning footer.siteFooter a:hover {
  color: var(--accent);
}

/* --- Adaptación de la Portada (ID=5) y Posts Editoriales al Modo Vigilia y Paletas --- */
body.home.wp-theme-lightning .camino-home-hero {
  background: linear-gradient(135deg, var(--surface) 0%, var(--surface-2) 100%);
  border: 1px solid var(--border);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-1);
  padding: clamp(28px, 6vw, 68px) clamp(20px, 5vw, 56px);
  margin-bottom: var(--space-8);
  text-align: center;
}

body.home.wp-theme-lightning .camino-home-kicker {
  color: var(--accent);
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin: 0 0 12px;
}

body.home.wp-theme-lightning .camino-home-hero h1 {
  color: var(--text);
  font-size: clamp(2.1rem, 4.5vw, 3.35rem);
  margin: 0 auto 18px;
  max-width: 820px;
}

body.home.wp-theme-lightning .camino-home-lead {
  color: var(--text-muted);
  font-size: clamp(1.05rem, 1.8vw, 1.35rem);
  line-height: 1.6;
  max-width: 720px;
  margin: 0 auto 28px;
}

body.home.wp-theme-lightning .camino-home-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
}

body.home.wp-theme-lightning .camino-btn-solid {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--target-min);
  padding: 0.75rem 1.6rem;
  border-radius: var(--radius-full);
  background: var(--accent);
  color: var(--on-accent);
  font-weight: 600;
  text-decoration: none;
}

body.home.wp-theme-lightning .camino-btn-solid:hover {
  background: var(--accent-hover);
  color: var(--on-accent);
}

body.home.wp-theme-lightning .camino-btn-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--target-min);
  padding: 0.75rem 1.6rem;
  border-radius: var(--radius-full);
  border: 1px solid var(--accent);
  color: var(--accent);
  background: transparent;
  font-weight: 600;
  text-decoration: none;
}

body.home.wp-theme-lightning .camino-btn-outline:hover {
  background: var(--accent-bg);
}

body.home.wp-theme-lightning .camino-pillars-section {
  max-width: 980px;
  margin: 0 auto var(--space-12);
}

body.home.wp-theme-lightning .camino-pillars-header {
  text-align: center;
  margin-bottom: var(--space-6);
}

body.home.wp-theme-lightning .camino-pillars-header h2 {
  font-size: clamp(1.65rem, 3.2vw, 2.35rem);
  margin: 0 0 var(--space-3);
}

body.home.wp-theme-lightning .camino-pillars-header p {
  color: var(--text-muted);
  font-size: 1.06rem;
  line-height: 1.7;
  max-width: 720px;
  margin: 0 auto;
}

body.home.wp-theme-lightning .camino-pillars-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: var(--space-5);
}

body.home.wp-theme-lightning .camino-pillar-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: var(--space-6);
  text-decoration: none;
  box-shadow: var(--shadow-1);
  display: block;
  transition: transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out);
}

@media (hover: hover) {
  body.home.wp-theme-lightning .camino-pillar-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-2);
    border-color: color-mix(in oklch, var(--accent) 45%, var(--border));
  }
}

body.home.wp-theme-lightning .camino-pillar-icon {
  width: 44px;
  height: 44px;
  border-radius: var(--radius-md);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--accent-bg);
  color: var(--accent);
  margin-bottom: var(--space-3);
}

body.home.wp-theme-lightning .camino-pillar-icon svg {
  width: 22px;
  height: 22px;
}

body.home.wp-theme-lightning .camino-pillar-card h3 {
  color: var(--text);
  font-size: 1.3rem;
  margin: 0 0 8px;
}

body.home.wp-theme-lightning .camino-pillar-card p {
  color: var(--text-muted);
  margin: 0;
  line-height: 1.6;
}

body.home.wp-theme-lightning .camino-pause-box {
  background: var(--surface-2);
  border: 1px solid var(--border);
  border-radius: var(--radius-xl);
  padding: clamp(24px, 4vw, 48px);
  margin: var(--space-8) 0;
}

body.home.wp-theme-lightning .camino-pause-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 28px;
  align-items: center;
}

body.home.wp-theme-lightning .camino-pause-grid h2 {
  font-size: clamp(1.5rem, 3vw, 2.1rem);
  margin: 0 0 12px;
}

body.home.wp-theme-lightning .camino-pause-copy {
  color: var(--text-muted);
  line-height: 1.7;
  margin: 0;
}

body.home.wp-theme-lightning .camino-pause-link {
  margin: 22px 0 0;
}

body.home.wp-theme-lightning .camino-pause-link a {
  font-weight: 700;
  text-decoration: underline;
}

body.home.wp-theme-lightning .camino-pause-media {
  text-align: center;
}

body.home.wp-theme-lightning .camino-latest-cta {
  text-align: center;
  margin: 0 auto 22px;
  max-width: 820px;
}

body.home.wp-theme-lightning .camino-latest-cta h2 {
  font-size: clamp(1.65rem, 3.2vw, 2.35rem);
  margin: 0 0 10px;
}

body.home.wp-theme-lightning .camino-latest-cta p {
  color: var(--text-muted);
  font-size: 1.05rem;
  line-height: 1.6;
  margin: 0 0 18px;
}

body.home.wp-theme-lightning .camino-home-divider {
  border: 0;
  border-top: 1px solid var(--border);
  margin: 34px 0 0;
}

body.home.wp-theme-lightning .camino-home-footnote {
  text-align: center;
  color: var(--text-muted);
  font-size: 0.92rem;
  margin: 20px 0 0;
}

/* ==========================================================================
   ADAPTACIÓN DE ARTÍCULOS .cristiano-post (MODO LUZ, VIGILIA Y 3 PALETAS)
   Mayor especificidad para prevalecer sobre <style> embebido en post_content
   ========================================================================== */
body.wp-theme-lightning .siteContent .cristiano-post {
  --parchment: var(--surface);
  --ink: var(--text);
  --ink-soft: var(--text-muted);
  --gold: var(--accent);
  --gold-deep: var(--accent);
  background: var(--surface);
  color: var(--text);
  font-family: var(--font-body);
  border-radius: var(--radius-lg);
}

body.wp-theme-lightning .siteContent .cristiano-post h1,
body.wp-theme-lightning .siteContent .cristiano-post h2,
body.wp-theme-lightning .siteContent .cristiano-post h3,
body.wp-theme-lightning .siteContent .cristiano-post h4,
body.wp-theme-lightning .siteContent .cristiano-post .font-display {
  font-family: var(--font-display);
  color: var(--text);
}

body.wp-theme-lightning .siteContent .cristiano-post p,
body.wp-theme-lightning .siteContent .cristiano-post li,
body.wp-theme-lightning .siteContent .cristiano-post strong {
  color: var(--text);
}

body.wp-theme-lightning .siteContent .cristiano-post .text-gray-500,
body.wp-theme-lightning .siteContent .cristiano-post .text-gray-600,
body.wp-theme-lightning .siteContent .cristiano-post .text-text-secondary {
  color: var(--text-muted);
}

body.wp-theme-lightning .siteContent .cristiano-post .text-gray-800,
body.wp-theme-lightning .siteContent .cristiano-post .text-gray-900,
body.wp-theme-lightning .siteContent .cristiano-post .text-slate-800,
body.wp-theme-lightning .siteContent .cristiano-post .text-text-primary {
  color: var(--text);
}

body.wp-theme-lightning .siteContent .cristiano-post .glass-panel,
body.wp-theme-lightning .siteContent .cristiano-post .glass-frame,
body.wp-theme-lightning .siteContent .cristiano-post .point-badge {
  background: var(--surface-2);
  border-color: var(--border);
  color: var(--text);
  box-shadow: var(--shadow-1);
}

body.wp-theme-lightning .siteContent .cristiano-post .point-badge {
  color: var(--accent);
  background: var(--accent-bg);
  border-color: color-mix(in oklch, var(--accent) 40%, var(--border));
}

body.wp-theme-lightning .siteContent .cristiano-post .cristiano-font-btn {
  background: var(--surface-2);
  color: var(--text);
  border-color: var(--border);
}

body.wp-theme-lightning .siteContent .cristiano-post .cristiano-font-btn.font-btn-active {
  background-color: var(--accent) !important;
  color: var(--on-accent) !important;
  border-color: var(--accent) !important;
}

body.wp-theme-lightning .siteContent .cristiano-post blockquote {
  background: var(--surface-2);
  border-left-color: var(--accent);
  color: var(--text);
  padding: 1rem 1.5rem;
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
}

body.wp-theme-lightning .siteContent .cristiano-post blockquote::before {
  content: "“" !important;
}

body.wp-theme-lightning .siteContent .cristiano-post blockquote cite {
  color: var(--accent);
}

body.wp-theme-lightning .siteContent .cristiano-post article > p:first-of-type::first-letter {
  color: var(--accent);
}

/* En Modo Vigilia (Oscuro), adaptar tarjetas internas claras sin tocar .cta-card ni .cta-btn */
:root[data-theme='dark'] body.wp-theme-lightning .siteContent .cristiano-post [class*='bg-white']:not(.cta-btn):not(.cta-card *),
:root[data-theme='dark'] body.wp-theme-lightning .siteContent .cristiano-post [class*='bg-surface']:not(.cta-btn),
:root[data-theme='dark'] body.wp-theme-lightning .siteContent .cristiano-post [class*='bg-[#fcf9f8]'],
:root[data-theme='dark'] body.wp-theme-lightning .siteContent .cristiano-post [class*='bg-[#fbf'],
:root[data-theme='dark'] body.wp-theme-lightning .siteContent .cristiano-post [class*='bg-[#faf'] {
  background-color: var(--surface-2);
  border-color: var(--border);
}

:root[data-theme='dark'] body.wp-theme-lightning .siteContent .cristiano-post [class*='text-[#']:not(.cta-btn):not(.cta-card *) {
  color: var(--text);
}

:root[data-theme='dark'] body.wp-theme-lightning .siteContent .cristiano-post .cta-card,
:root[data-theme='dark'] body.wp-theme-lightning .siteContent .cristiano-post .cta-card h2,
:root[data-theme='dark'] body.wp-theme-lightning .siteContent .cristiano-post .cta-card h3,
:root[data-theme='dark'] body.wp-theme-lightning .siteContent .cristiano-post .cta-card p {
  color: #ffffff;
}

:root[data-theme='dark'] body.wp-theme-lightning .siteContent .cristiano-post .cta-btn {
  background-color: #ffffff;
  color: #141d2b;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme='light']) body.wp-theme-lightning .siteContent .cristiano-post [class*='bg-white']:not(.cta-btn):not(.cta-card *),
  :root:not([data-theme='light']) body.wp-theme-lightning .siteContent .cristiano-post [class*='bg-surface']:not(.cta-btn),
  :root:not([data-theme='light']) body.wp-theme-lightning .siteContent .cristiano-post [class*='bg-[#fcf9f8]'],
  :root:not([data-theme='light']) body.wp-theme-lightning .siteContent .cristiano-post [class*='bg-[#fbf'],
  :root:not([data-theme='light']) body.wp-theme-lightning .siteContent .cristiano-post [class*='bg-[#faf'] {
    background-color: var(--surface-2);
    border-color: var(--border);
  }
  :root:not([data-theme='light']) body.wp-theme-lightning .siteContent .cristiano-post [class*='text-[#']:not(.cta-btn):not(.cta-card *) {
    color: var(--text);
  }
  :root:not([data-theme='light']) body.wp-theme-lightning .siteContent .cristiano-post .cta-card,
  :root:not([data-theme='light']) body.wp-theme-lightning .siteContent .cristiano-post .cta-card h2,
  :root:not([data-theme='light']) body.wp-theme-lightning .siteContent .cristiano-post .cta-card h3,
  :root:not([data-theme='light']) body.wp-theme-lightning .siteContent .cristiano-post .cta-card p {
    color: #ffffff;
  }
  :root:not([data-theme='light']) body.wp-theme-lightning .siteContent .cristiano-post .cta-btn {
    background-color: #ffffff;
    color: #141d2b;
  }
}

/* --- Respeto Estricto a Movimiento Reducido --- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}


/* ==========================================================================
   PÁGINAS ABOUT Y CONTACTO (Estilos, Formularios WCAG 2.2 AA y Estados)
   ========================================================================== */
body.wp-theme-lightning .camino-page-hero {
  background: linear-gradient(135deg, var(--surface) 0%, var(--surface-2) 100%);
  border: 1px solid var(--border);
  border-radius: var(--radius-xl);
  padding: clamp(24px, 4vw, 48px);
  margin-bottom: var(--space-8);
  text-align: center;
  box-shadow: var(--shadow-1);
}

body.wp-theme-lightning .camino-page-hero h2 {
  font-size: var(--step-2);
  margin: 0 0 var(--space-3);
}

body.wp-theme-lightning .camino-page-hero .camino-home-lead {
  color: var(--text-muted);
  max-width: 68ch;
  margin: 0 auto;
}

body.wp-theme-lightning .camino-home-kicker {
  color: var(--accent);
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin: 0 0 10px;
}

body.wp-theme-lightning .camino-home-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
}

body.wp-theme-lightning .camino-btn-solid {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--target-min);
  padding: 0.75rem 1.6rem;
  border-radius: var(--radius-full);
  background: var(--accent);
  color: var(--on-accent);
  font-weight: 600;
  border: 1px solid transparent;
  text-decoration: none;
  cursor: pointer;
}

body.wp-theme-lightning .camino-btn-solid:hover {
  background: var(--accent-hover);
  color: var(--on-accent);
}

body.wp-theme-lightning .camino-btn-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--target-min);
  padding: 0.75rem 1.6rem;
  border-radius: var(--radius-full);
  border: 1px solid var(--accent);
  color: var(--accent);
  background: transparent;
  font-weight: 600;
  text-decoration: none;
}

body.wp-theme-lightning .camino-btn-outline:hover {
  background: var(--accent-bg);
}

body.wp-theme-lightning .camino-pillar-icon {
  width: 44px;
  height: 44px;
  border-radius: var(--radius-md);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--accent-bg);
  color: var(--accent);
  margin-bottom: var(--space-3);
}

body.wp-theme-lightning .camino-pillar-icon svg {
  width: 22px;
  height: 22px;
}

body.wp-theme-lightning .camino-about-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: var(--space-5);
  margin-bottom: var(--space-8);
}

body.wp-theme-lightning .camino-about-card {
  padding: var(--space-6);
}

body.wp-theme-lightning .camino-about-card h3 {
  font-size: 1.25rem;
  margin: 0 0 var(--space-2);
}

body.wp-theme-lightning .camino-about-card p {
  color: var(--text-muted);
  margin: 0;
}

body.wp-theme-lightning .camino-about-cta {
  padding: clamp(24px, 4vw, 40px);
  text-align: center;
}

body.wp-theme-lightning .camino-about-cta h2 {
  margin: 0 0 var(--space-2);
}

body.wp-theme-lightning .camino-about-cta p {
  color: var(--text-muted);
  margin: 0 auto var(--space-5);
  max-width: 60ch;
}

body.wp-theme-lightning .camino-contact-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-6);
  align-items: start;
}

@media (min-width: 768px) {
  body.wp-theme-lightning .camino-contact-layout {
    grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
  }
}

body.wp-theme-lightning .camino-contact-form-card,
body.wp-theme-lightning .camino-contact-info {
  padding: var(--space-6);
}

body.wp-theme-lightning .camino-form {
  display: grid;
  gap: var(--space-4);
}

body.wp-theme-lightning .camino-honeypot {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

body.wp-theme-lightning .camino-field {
  display: grid;
  gap: 0.4rem;
}

body.wp-theme-lightning .camino-field label {
  font-weight: 600;
  font-size: 0.94rem;
  color: var(--text);
  margin: 0;
}

body.wp-theme-lightning .camino-req-tag {
  font-weight: 400;
  font-size: 0.82rem;
  color: var(--text-muted);
}

body.wp-theme-lightning .camino-field input,
body.wp-theme-lightning .camino-field select,
body.wp-theme-lightning .camino-field textarea {
  width: 100%;
  padding: 0.65rem 0.9rem;
  background-color: var(--surface);
  color: var(--text);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  font-family: var(--font-body);
  font-size: 1rem;
}

body.wp-theme-lightning .camino-field textarea {
  min-height: 130px;
  field-sizing: content;
}

body.wp-theme-lightning .camino-submit-btn {
  justify-self: start;
}

body.wp-theme-lightning .camino-alert {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  padding: var(--space-4);
  border-radius: var(--radius-md);
  margin-bottom: var(--space-5);
  border: 1px solid transparent;
}

body.wp-theme-lightning .camino-alert svg {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  margin-top: 2px;
}

body.wp-theme-lightning .camino-alert p {
  margin: 4px 0 0;
  font-size: 0.92rem;
}

body.wp-theme-lightning .camino-alert--success {
  color: var(--cat-reflexiones);
  background: var(--cat-reflexiones-bg);
  border-color: color-mix(in oklch, var(--cat-reflexiones) 35%, transparent);
}

body.wp-theme-lightning .camino-alert--danger {
  color: light-dark(oklch(0.48 0.19 22), oklch(0.80 0.14 20));
  background: color-mix(in oklch, light-dark(oklch(0.56 0.21 20), oklch(0.74 0.16 15)) 14%, transparent);
  border-color: color-mix(in oklch, light-dark(oklch(0.56 0.21 20), oklch(0.74 0.16 15)) 35%, transparent);
}

body.wp-theme-lightning .camino-contact-info h2 {
  font-size: 1.35rem;
  margin: 0 0 var(--space-3);
}

body.wp-theme-lightning .camino-contact-info > p {
  color: var(--text-muted);
  margin: 0 0 var(--space-4);
}

body.wp-theme-lightning .camino-contact-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: var(--space-3);
}

body.wp-theme-lightning .camino-contact-list li {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  color: var(--text);
  font-size: 0.94rem;
}

body.wp-theme-lightning .camino-contact-list svg {
  width: 18px;
  height: 18px;
  color: var(--accent);
  flex-shrink: 0;
}


/* ==========================================================================
   BLOQUE EDITORIAL DE SUSCRIPCIÓN A LA NEWSLETTER (MailPoet + Luz y Santuario)
   ========================================================================== */
body.wp-theme-lightning .camino-newsletter-card {
  margin: var(--space-8) auto 0;
  padding: clamp(22px, 4vw, 36px);
  background: linear-gradient(135deg, var(--surface) 0%, var(--surface-2) 100%);
  border: 1px solid color-mix(in oklch, var(--accent) 26%, var(--border));
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-1);
}

body.home.wp-theme-lightning .camino-newsletter-card {
  max-width: 980px;
}

body.wp-theme-lightning .camino-newsletter-head {
  display: flex;
  align-items: flex-start;
  gap: var(--space-4);
  margin-bottom: var(--space-5);
}

@media (max-width: 575.98px) {
  body.wp-theme-lightning .camino-newsletter-head {
    flex-direction: column;
    gap: var(--space-2);
  }
}

body.wp-theme-lightning .camino-newsletter-head .camino-pillar-icon {
  margin-bottom: 0;
  flex-shrink: 0;
}

body.wp-theme-lightning .camino-newsletter-head h2 {
  font-size: clamp(1.35rem, 2.5vw, 1.75rem);
  margin: 0 0 6px;
}

body.wp-theme-lightning .camino-newsletter-lead {
  color: var(--text-muted);
  margin: 0;
  font-size: 0.98rem;
  line-height: 1.6;
  max-width: 65ch;
}

body.wp-theme-lightning .camino-nl-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-3);
  align-items: end;
}

@media (min-width: 768px) {
  body.wp-theme-lightning .camino-nl-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr) auto;
  }
}

body.wp-theme-lightning .camino-nl-btn {
  width: 100%;
  white-space: nowrap;
}

body.wp-theme-lightning .camino-newsletter-note {
  margin: var(--space-3) 0 0;
  font-size: 0.84rem;
  color: var(--text-muted);
}

/* ==========================================================================
   Navegación entre entradas (postNextPrev) y Fallbacks de Imagen
   ========================================================================== */
.single-mailpoet_page .postNextPrev,
.post-type-archive-mailpoet_page .postNextPrev,
.mailpoet_page .postNextPrev {
  display: none !important;
}

.postNextPrev {
  margin-top: clamp(2rem, 4vw, 3rem);
  padding-top: 1.5rem;
  border-top: 1px solid var(--border-soft);
}

.postNextPrev .card {
  background: var(--surface) !important;
  border: 1px solid var(--border-soft) !important;
  border-radius: var(--radius-md) !important;
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.postNextPrev .card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-md);
}

.postNextPrev .card-title,
.postNextPrev .card-title a {
  color: var(--text-base) !important;
  font-family: var(--font-serif) !important;
  font-weight: 600;
}

.postNextPrev .postNextPrev_label {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--primary) !important;
  margin-bottom: 0.35rem;
}

/* Ocultar el icono de cámara genérico si un artículo no tiene imagen destacada */
.postNextPrev img[src*="no-image.png"] {
  display: none !important;
}

.postNextPrev .card-img-outer:has(img[src*="no-image.png"]),
.postNextPrev .vk_post_imgOuter:has(img[src*="no-image.png"]) {
  background: linear-gradient(135deg, var(--surface-raised), var(--border-soft)) !important;
  min-height: 100px;
}

