/* Calderas del Centro — estilos base (generado por build/generate.mjs) */
:root{
  --cdc-blue:#0f172a;
  --cdc-red:#ef4444;
  --cdc-dark-red:#b91c1c;
  --cdc-light:#f8fafc;
}
html{scroll-behavior:smooth}
body{background:var(--cdc-light);color:#1e293b;font-family:'Inter',system-ui,sans-serif}

/* Contenido largo (artículos, páginas WP) */
.wp-content p{margin-bottom:1.2em;line-height:1.8;color:#334155;font-size:1.125rem}
.wp-content h2{font-size:1.875rem;font-weight:800;color:var(--cdc-blue);margin:3rem 0 1.5rem;padding-bottom:1rem;border-bottom:4px solid var(--cdc-red);display:inline-block}
.wp-content h3{font-size:1.5rem;font-weight:800;color:var(--cdc-blue);margin:2rem 0 1rem}
.wp-content ul{list-style:disc;padding-left:1.5rem;margin-bottom:1.5rem}
.wp-content ul li{margin-bottom:.5rem}
.wp-content img{border-radius:.75rem;box-shadow:0 10px 15px -3px rgb(0 0 0/.1);margin:2rem 0;height:auto;width:100%;object-fit:cover}

/* Menús desplegables */
.chevron{transition:transform .3s ease}
.group:hover .chevron{transform:rotate(180deg)}
.group:hover .group-hover\:block{display:block}

/* Animaciones */
@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.animate-float{animation:floatY 3s ease-in-out infinite}
@keyframes pulse-red{0%{box-shadow:0 0 0 0 rgba(239,68,68,.7)}70%{box-shadow:0 0 0 15px rgba(239,68,68,0)}100%{box-shadow:0 0 0 0 rgba(239,68,68,0)}}
.animate-pulse-red{animation:pulse-red 2s infinite}

.modal-backdrop{background-color:rgba(15,23,42,.8);backdrop-filter:blur(8px)}

/* Slider del home */
.slide{position:absolute;inset:0;opacity:0;background-size:cover;background-position:center;transform:scale(1.05);transition:transform 6s linear,opacity 1.5s ease-in-out}
.slide.active{opacity:1;transform:scale(1)}
.slide-overlay{background:
  linear-gradient(to right,rgba(15,23,42,.96) 0%,rgba(15,23,42,.75) 45%,rgba(15,23,42,.25) 100%),
  linear-gradient(to top,rgba(15,23,42,.95) 0%,rgba(15,23,42,.35) 55%,rgba(15,23,42,.25) 100%)}

/* Encabezado de páginas internas */
.page-hero{background:
  radial-gradient(1200px 400px at 15% -20%,rgba(239,68,68,.25),transparent 60%),
  linear-gradient(160deg,#0f172a 0%,#111c33 55%,#0b1220 100%)}
.grid-pattern{background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:44px 44px}

/* Tabla de códigos de error */
.tabla-errores{width:100%;border-collapse:separate;border-spacing:0}
.tabla-errores thead th{background:var(--cdc-blue);color:#fff;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;padding:1rem;text-align:left}
.tabla-errores thead th:first-child{border-top-left-radius:1rem}
.tabla-errores thead th:last-child{border-top-right-radius:1rem}
.tabla-errores td{padding:1.15rem 1rem;border-bottom:1px solid #e2e8f0;vertical-align:top;color:#334155;font-size:.98rem;line-height:1.6}
.tabla-errores tbody tr:nth-child(even){background:#f8fafc}
.tabla-errores tbody tr:hover{background:#fef2f2}
.codigo-badge{display:inline-block;background:var(--cdc-blue);color:#fff;font-weight:900;font-size:.8rem;letter-spacing:.06em;padding:.4rem .7rem;border-radius:.5rem;white-space:nowrap}
@media (max-width:768px){
  .tabla-errores,.tabla-errores tbody{display:block;width:100%}
  .tabla-errores colgroup,.tabla-errores col{display:none}
  .tabla-errores thead{display:none}
  .tabla-errores tr{display:block;background:#fff;border-radius:1rem;box-shadow:0 4px 6px -1px rgb(0 0 0/.08);margin-bottom:1rem;padding:.5rem}
  .tabla-errores td{display:block;border:0;padding:.6rem 1rem}
  .tabla-errores td::before{content:attr(data-label);display:block;font-size:.66rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:#94a3b8;margin-bottom:.25rem}
}

/* Acordeón de preguntas frecuentes */
details.faq{background:#fff;border-radius:1rem;box-shadow:0 4px 6px -1px rgb(0 0 0/.07);overflow:hidden;border-left:5px solid transparent;transition:border-color .25s}
details.faq[open]{border-left-color:var(--cdc-red)}
details.faq summary{cursor:pointer;list-style:none;padding:1.25rem 1.5rem;font-weight:800;color:var(--cdc-blue);display:flex;justify-content:space-between;gap:1rem;align-items:center}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary::after{content:'+';color:var(--cdc-red);font-size:1.6rem;line-height:1;font-weight:900}
details.faq[open] summary::after{content:'–'}
details.faq .faq-body{padding:0 1.5rem 1.5rem;color:#475569;line-height:1.75}

/* Menú mobile */
#mobile-menu{max-height:0;overflow:hidden;transition:max-height .4s ease}
#mobile-menu.open{max-height:85vh;overflow-y:auto}
