:root {
  --lum-marfil:#F1E6B2;
  --lum-rojo:#DA291C;
  --lum-naranja:#FFA300;
  --lum-morado:#502364;
  --lum-border:rgba(80,35,100,.24);
  --lum-soft-red:rgba(218,41,28,.11);
  --lum-soft-orange:rgba(255,163,0,.13);
  --lum-soft-purple:rgba(80,35,100,.08);
  --lum-shadow:0 18px 42px rgba(80,35,100,.12);
}

/*
 * Emilia y Macarena son las familias del proyecto. El tema las declara por nombre
 * y usa serif de sistema como respaldo. Para cargarlas localmente, coloca los TTF
 * originales en assets/fonts y activa las reglas indicadas en assets/fonts/README.txt.
 */

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--lum-marfil);color:var(--lum-morado);text-rendering:optimizeLegibility}
img{height:auto;max-width:100%}
a{transition:color .16s ease,background-color .16s ease,border-color .16s ease,transform .16s ease;text-underline-offset:.2em}
a:hover{color:var(--lum-rojo)}
:where(a,button,input,textarea,select,summary,.wp-block-button__link):focus-visible{outline:3px solid var(--lum-morado);outline-offset:4px}
.wp-site-blocks{min-height:100vh}

/* Header y footer.
 * Los colores, tamaños, alineaciones y orden inicial se declaran en los propios
 * bloques de las partes de plantilla. Aquí sólo quedan comportamientos visuales
 * complementarios para que el Editor del sitio pueda modificarlos libremente. */
.lum-header-logo img,
.lum-footer-logo img{
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  filter:none;
  height:auto;
  object-fit:contain;
}
.lum-site-header .wp-block-navigation-item__content:hover,
.lum-site-footer .wp-block-navigation-item__content:hover{color:var(--lum-naranja)!important}
.lum-site-header .current-menu-item>.wp-block-navigation-item__content,
.lum-site-header .current-menu-ancestor>.wp-block-navigation-item__content{
  color:var(--lum-naranja)!important;
  text-decoration:underline;
  text-decoration-color:var(--lum-naranja);
  text-decoration-thickness:2px;
  text-underline-offset:.42rem;
}
.lum-site-header .wp-block-navigation__responsive-container-open,
.lum-site-header .wp-block-navigation__responsive-container-close{color:var(--lum-naranja)}
.wp-block-navigation__responsive-container.is-menu-open{
  background:var(--lum-morado)!important;
  color:var(--lum-marfil)!important;
  min-height:100vh;
  padding:2rem!important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{
  align-items:flex-start;
  gap:1.25rem;
  padding-top:3rem;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{
  align-items:flex-start;
  gap:1rem;
  width:100%;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{
  color:var(--lum-marfil)!important;
  font-family:Macarena,Georgia,serif;
  font-size:1.35rem;
  font-weight:700;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover{color:var(--lum-naranja)!important}
.lum-site-footer .wp-block-separator{opacity:.85}
.lum-site-footer .wp-social-link svg{fill:currentColor}

/* Layout + ornaments */
.lum-divider{line-height:0;margin-block:1.25rem;color:var(--lum-naranja)}
.lum-divider .lum-divider-svg{display:flex;justify-content:center;width:100%}
.lum-divider svg{display:block;max-width:100%}
.lum-divider-horizontal svg{height:auto;width:min(100%,34rem)}
.lum-divider-vertical svg{height:14rem;width:1.1rem}
@media (max-width:782px){
  .lum-divider-horizontal svg{width:min(100%,24rem)}
  .lum-divider-vertical svg{height:11rem}
}
.lum-section{padding-block:clamp(3rem,7vw,6rem)}
.lum-section-compact{padding-block:clamp(2rem,4vw,3.5rem)}
.lum-rule{align-items:center;display:flex;gap:1rem;justify-content:center;margin:1rem auto 2rem;max-width:900px}
.lum-rule::before,.lum-rule::after{background:var(--lum-naranja);content:"";height:1px;flex:1}
.lum-rule::marker{color:var(--lum-morado)}
.lum-ornament{color:var(--lum-naranja);font-family:Macarena,Georgia,serif;font-size:1.25rem;letter-spacing:.25em;text-align:center}
.lum-eyebrow{color:var(--lum-morado);font-family:Macarena,Georgia,serif;font-size:.86rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.lum-lead{font-size:clamp(1.15rem,2.2vw,1.4rem);line-height:1.55}
.lum-centered{text-align:center}
.lum-page-shell{background:var(--lum-marfil)}
.lum-section-title{text-align:center}
.lum-section-title::after{color:var(--lum-naranja);content:"✦";display:block;font-size:1rem;margin:.35rem auto 0}

/* Hero */
.lum-hero{min-height:clamp(560px,72vh,760px);position:relative}
.lum-hero .wp-block-columns{gap:clamp(2rem,6vw,6rem)}
.lum-hero-logo img{filter:none;max-height:520px;object-fit:contain;width:auto}
.lum-hero-copy{text-align:center}
.lum-hero-copy h1{margin-bottom:.65rem}
.lum-hero-copy .lum-tagline{color:var(--lum-rojo);font-family:Emilia,Georgia,serif;font-size:clamp(1.25rem,2.5vw,1.8rem);font-style:italic}

/* Buttons: morado + naranja, contraste aprox. 5.94:1 */
.wp-block-button__link{background:var(--lum-morado)!important;border:2px solid var(--lum-morado)!important;border-radius:18px!important;color:var(--lum-naranja)!important;font-family:Macarena,Georgia,serif;font-weight:700;letter-spacing:.01em}
.wp-block-button__link:hover{background:var(--lum-naranja)!important;border-color:var(--lum-naranja)!important;color:var(--lum-morado)!important;transform:translateY(-1px)}
.wp-block-button.is-style-outline .wp-block-button__link{background:transparent!important;border-color:var(--lum-morado)!important;color:var(--lum-morado)!important}
.wp-block-button.is-style-outline .wp-block-button__link:hover{background:var(--lum-morado)!important;color:var(--lum-naranja)!important}

/* Cards */
.lum-book-grid{align-items:stretch}
.lum-book-card,.lum-post-card,.lum-info-card{background:rgba(241,230,178,.42);border:1px solid var(--lum-border);border-radius:18px;box-shadow:0 8px 24px rgba(80,35,100,.05);height:100%;padding:clamp(1.1rem,2.5vw,1.65rem);position:relative}
.lum-book-card::before,.lum-post-card::before,.lum-info-card::before{color:var(--lum-morado);content:"✦";font-size:.75rem;position:absolute;right:12px;top:8px}
.lum-book-card:hover{box-shadow:var(--lum-shadow);transform:translateY(-2px);transition:.18s ease}
.lum-cover-placeholder{align-items:center;aspect-ratio:2/3;border:1px solid var(--lum-naranja);display:flex;justify-content:center;margin-bottom:1.25rem;min-height:260px;padding:1.5rem;text-align:center}
.lum-cover-placeholder strong{color:var(--lum-rojo);font-family:Macarena,Georgia,serif;font-size:1.45rem}
.lum-book-card h3{margin:.45rem 0 .2rem}
.lum-book-card p{margin:.35rem 0}
.lum-book-meta{color:var(--lum-morado);font-size:.92rem;font-style:italic}

/* Book detail */
.lum-book-hero{padding-block:clamp(3rem,7vw,6rem)}
.lum-book-hero .wp-block-post-featured-image{align-self:start}
.lum-book-hero .wp-block-post-featured-image img{border:1px solid var(--lum-naranja);box-shadow:var(--lum-shadow);max-height:650px;object-fit:contain;width:auto}
.lum-book-facts{border-bottom:1px solid var(--lum-naranja);border-top:1px solid var(--lum-naranja);padding-block:1rem}
.lum-book-facts strong{color:var(--lum-rojo)}

/* Cuaderno */
.lum-query-grid .wp-block-post{border:1px solid var(--lum-border);border-radius:18px;overflow:hidden;padding:1rem}
.lum-query-grid .wp-block-post-featured-image img{aspect-ratio:16/10;object-fit:cover;width:100%}
.lum-query-grid .wp-block-post-title{font-size:1.45rem}

/* Contact */
.lum-contact-box{border:1px solid var(--lum-border);border-radius:18px;padding:clamp(1.2rem,3vw,2rem)}
input:not([type="submit"]),textarea,select{background:transparent;border:1px solid var(--lum-naranja);border-radius:10px;color:var(--lum-morado);padding:.85rem 1rem;width:100%}
input::placeholder,textarea::placeholder{color:rgba(80,35,100,.72)}

/* Content */
.wp-block-post-content blockquote{border-left:4px solid var(--lum-naranja);color:var(--lum-rojo);font-family:Macarena,Georgia,serif;font-size:1.35rem;font-style:italic;margin-left:0;padding-left:1.35rem}
.wp-block-separator{border-color:var(--lum-morado)!important;opacity:.7}
.wp-block-table table{border-color:var(--lum-morado)}
.wp-block-table td,.wp-block-table th{border-color:rgba(80,35,100,.35)}
.wp-block-table th{color:var(--lum-rojo);font-family:Macarena,Georgia,serif}

/* Legal */
.lum-legal{max-width:920px}
.lum-legal h2{font-size:1.55rem;margin-top:2.2rem}

@media (max-width:900px){
  .lum-hero{min-height:auto}
  .lum-hero-copy{text-align:left}
}

@media (max-width:600px){
  .lum-section{padding-block:2.5rem}
  .lum-book-card,.lum-post-card,.lum-info-card{border-radius:14px}
}


/* =========================================================
   LUMINARIA — RITMO TIPOGRÁFICO Y VERTICAL DEFINITIVO
   ========================================================= */


/* =========================================================
   1. PÁRRAFOS — COMPORTAMIENTO TIPO WORD / INDESIGN
   ========================================================= */

/*
 * Un Enter crea un nuevo párrafo independiente,
 * pero SIN añadir espacio extra entre párrafos.
 */

.wp-block-post-content p{
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/*
 * WordPress añade automáticamente un "block gap"
 * entre bloques consecutivos. Lo anulamos únicamente
 * cuando un párrafo sigue inmediatamente a otro.
 */

.wp-block-post-content p + p{
    margin-block-start: 0 !important;
    margin-top: 0 !important;
}

/*
 * Refuerzo para grupos/contenedores de Gutenberg que
 * utilizan los layouts "flow" o "constrained".
 */

.wp-block-post-content
:is(.is-layout-flow, .is-layout-constrained) > p + p{
    margin-block-start: 0 !important;
}

/*
 * Un párrafo vacío ocupa una línea.
 * Así, si dejas deliberadamente un párrafo vacío,
 * funciona como una línea en blanco.
 *
 * El tema usa line-height: 1.65.
 */

.wp-block-post-content p:empty{
    min-height: 1.65em;
}


/* =========================================================
   2. RITMO VERTICAL DE LAS SECCIONES
   ========================================================= */

/*
 * Reduce el enorme espacio superior e inferior
 * que tenían las secciones generales.
 */

.lum-section{
    padding-top: clamp(1.4rem, 2.6vw, 2.4rem);
    padding-bottom: clamp(1.4rem, 2.6vw, 2.4rem);
}

.lum-section-compact{
    padding-top: clamp(.8rem, 1.6vw, 1.4rem);
    padding-bottom: clamp(.8rem, 1.6vw, 1.4rem);
}


/* =========================================================
   3. PÁGINA INDIVIDUAL DE LIBRO
   ========================================================= */

.lum-book-hero{
    padding-top: clamp(1.4rem, 2.5vw, 2.25rem);
    padding-bottom: clamp(.75rem, 1.5vw, 1.25rem);
    margin-bottom: 0 !important;
}


/*
 * Evita que se acumule otro margen entre
 * la ficha superior y la siguiente sección.
 */

.wp-block-post-content > .lum-section + .lum-section,
.wp-block-post-content > .lum-book-hero + .lum-section,
.wp-block-post-content > .lum-book-hero + .lum-section-compact{
    margin-block-start: 0 !important;
}


/* =========================================================
   4. ESPACIADO INTERNO DE LAS SECCIONES
   ========================================================= */

.lum-section.is-layout-constrained > * + *,
.lum-section-compact.is-layout-constrained > * + *,
.lum-book-hero.is-layout-constrained > * + *{
    margin-block-start: clamp(.7rem, 1.2vw, 1rem);
}


/*
 * IMPORTANTE:
 * Los párrafos consecutivos quedan excluidos visualmente
 * mediante las reglas anteriores y no reciben ese espacio.
 */


/* =========================================================
   5. COLUMNAS DE LA FICHA DEL LIBRO
   ========================================================= */

.lum-book-hero .wp-block-columns{
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    gap: clamp(1.5rem, 3vw, 3rem);
}

.lum-book-hero .wp-block-column > * + *{
    margin-block-start: .8rem;
}


/* =========================================================
   6. DATOS EDITORIALES
   ========================================================= */

.lum-book-facts{
    margin-top: .7rem;
    margin-bottom: .7rem;
    padding-top: .7rem;
    padding-bottom: .7rem;
}


/* =========================================================
   7. TÍTULOS DE SECCIÓN
   ========================================================= */

.lum-section h2,
.lum-section h3,
.lum-section-compact h2,
.lum-section-compact h3{
    margin-top: 0;
    margin-bottom: .65rem;
}


/* =========================================================
   8. EVITA MÁRGENES ACUMULADOS ENTRE GRUPOS PRINCIPALES
   ========================================================= */

.wp-block-post-content > .wp-block-group{
    margin-bottom: 0;
}


/* =========================================================
   9. AJUSTES PARA MÓVIL
   ========================================================= */

@media (max-width: 782px){

    .lum-section{
        padding-top: 1.25rem;
        padding-bottom: 1.25rem;
    }

    .lum-section-compact{
        padding-top: .9rem;
        padding-bottom: 1.1rem;
    }

    .lum-book-hero{
        padding-top: 1.25rem;
        padding-bottom: 1rem;
    }

    .lum-book-hero .wp-block-columns{
        gap: 1.25rem;
    }
}

/* =========================================================
   SEPARADOR ORNAMENTAL LUMINARIA — VERSIÓN FINA
   ========================================================= */

.wp-block-separator.is-style-luminaria-naranja,
.wp-block-separator.is-style-luminaria-morado,
.wp-block-separator.is-style-luminaria-rojo,
.wp-block-separator.is-style-luminaria-marfil {

    display: block !important;

    /* Filete corto y centrado */
    width: 40% !important;
    max-width: 620px !important;
    min-width: 260px;

    /* Mucho más fino */
    height: 12px !important;

    margin: .4rem auto !important;

    border: 0 !important;
    border-top: 0 !important;
    border-bottom: 0 !important;

    opacity: 1 !important;

    background-image: none !important;

    -webkit-mask-image:
        url("https://luminariaediciones.com/wp-content/uploads/2026/09/LineaDivLuminaria-Convertido-scaled.png") !important;

    mask-image:
        url("https://luminariaediciones.com/wp-content/uploads/2026/09/LineaDivLuminaria-Convertido-scaled.png") !important;

    -webkit-mask-repeat: no-repeat !important;
    mask-repeat: no-repeat !important;

    -webkit-mask-position: center !important;
    mask-position: center !important;

    -webkit-mask-size: 100% 100% !important;
    mask-size: 100% 100% !important;
}


/* NARANJA */
.wp-block-separator.is-style-luminaria-naranja {
    background-color: #FFA300 !important;
}


/* MORADO */
.wp-block-separator.is-style-luminaria-morado {
    background-color: #502364 !important;
}


/* ROJO */
.wp-block-separator.is-style-luminaria-rojo {
    background-color: #DA291C !important;
}


/* MARFIL */
.wp-block-separator.is-style-luminaria-marfil {
    background-color: #F1E6B2 !important;
}


/* TABLETA */
@media (max-width: 900px) {

    .wp-block-separator.is-style-luminaria-naranja,
    .wp-block-separator.is-style-luminaria-morado,
    .wp-block-separator.is-style-luminaria-rojo,
    .wp-block-separator.is-style-luminaria-marfil {

        width: 65% !important;
        height: 14px !important;
    }
}


/* MÓVIL */
@media (max-width: 600px) {

    .wp-block-separator.is-style-luminaria-naranja,
    .wp-block-separator.is-style-luminaria-morado,
    .wp-block-separator.is-style-luminaria-rojo,
    .wp-block-separator.is-style-luminaria-marfil {

        width: 72% !important;
        min-width: 0;
        height: 12px !important;
        margin: .65rem auto !important;
    }
}

/* =========================================================
   LUMINARIA — TÍTULO DE LIBRO RESPONSIVO A SU COLUMNA
   ========================================================= */

/* La columna se convierte en referencia para el tamaño */
.lum-book-hero .wp-block-column{
    container-type: inline-size;
}


/* Título */
.lum-book-hero h1.wp-block-heading{

    /*
     * cqi = porcentaje del ancho de SU PROPIA COLUMNA,
     * no del ancho completo de la pantalla.
     */
    font-size: clamp(3.2rem, 11cqi, 5rem) !important;

    line-height: .95 !important;

    /* Jamás partir el título por la mitad */
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    hyphens: none !important;

    margin-top: 0 !important;
    margin-bottom: .6rem !important;
}


/* Tableta */
@media (max-width: 900px){

    .lum-book-hero h1.wp-block-heading{
        font-size: clamp(3rem, 10cqi, 4.25rem) !important;
    }
}


/* Cuando las columnas se apilan, recuperamos tamaño amplio */
@media (max-width: 781px){

    .lum-book-hero h1.wp-block-heading{
        font-size: clamp(3rem, 14vw, 4.5rem) !important;
        white-space: normal !important;
        word-break: normal !important;
    }
}