@font-face {
    font-family: "Aldarel Correspondencia";
    src: url("../fonts/AldarelCorrespondencia-Prueba-0.1.woff2") format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* Semantic typography is frontend-only and independent of visual presets. */
body:not(.wp-admin) .pm-editorial-narrative {
    font-family: "Aldarel Correspondencia", Georgia, serif;
    font-weight: 400;
    line-height: 1.58;
    letter-spacing: 0.01em;
}
body:not(.wp-admin) .pm-editorial-narrative > .pm-editorial-block-body {
    font-size: clamp(1.08rem, 1rem + 0.3vw, 1.25rem);
}
body:not(.wp-admin) .pm-editorial-narrative .pm-editorial-block-title {
    font-family: inherit;
}
body:not(.wp-admin) .pm-editorial-narrative :is(button, input, select, textarea, summary, .button, .wp-block-button__link, [role="button"], nav, form, .pm-editorial-experience-cards),
body:not(.wp-admin) .pm-editorial-narrative .pm-editorial-block:not(.pm-editorial-narrative) {
    font-family: var(--global-body-font-family, sans-serif);
    letter-spacing: normal;
}
body:not(.wp-admin) .pm-editorial-narrative .pm-editorial-block:not(.pm-editorial-narrative) {
    font-size: 1rem;
    line-height: 1.55;
}

.pm-editorial-immersive-body { margin: 0; background: #fbf7ef; color: #2f2418; }
.pm-editorial-immersive-shell { box-sizing: border-box; min-height: 100vh; width: 100%; padding: 20px clamp(16px, 4vw, 48px) 48px; }
.pm-editorial-immersive-nav { max-width: 920px; margin: 0 auto 20px; }
.pm-editorial-immersive-nav a { display: inline-flex; align-items: center; gap: .35rem; text-decoration: none; font-weight: 600; }
.pm-editorial-immersive-content { box-sizing: border-box; max-width: 920px; margin: 0 auto; padding: clamp(22px, 4vw, 56px); background: #fffdf8; border-radius: 24px; box-shadow: 0 18px 60px rgba(63, 45, 24, .12); }
.pm-editorial-content-title { margin-top: 0; text-align: center; }
.pm-editorial-child-name { text-align: center; opacity: .78; }
.pm-editorial-piece, .pm-editorial-source-content { max-width: 100%; }
.pm-editorial-source-content > *:first-child { margin-top: 0; }
.pm-editorial-source-content img, .pm-editorial-block img { max-width: 100%; height: auto; }
.pm-editorial-block { margin: 1.5rem 0; padding: 1rem 1.15rem; border-radius: 18px; }
.pm-editorial-block-symbol { margin-bottom: .75rem; }
.pm-editorial-block-symbol > figure.pm-editorial-expandable { margin: 0; max-width: 100%; }
.pm-editorial-block-symbol > :is(.pm-editorial-expandable--small, .pm-editorial-expandable--medium, .pm-editorial-expandable--large) { width: fit-content; }
.wp-lightbox-overlay figure.pm-editorial-expandable img { width: auto; max-width: 100%; height: auto; }
.pm-editorial-block-image { display: block; max-width: 180px; height: auto; }
.pm-editorial-block-title { margin: 0 0 .5rem; }
.pm-editorial-style-magic_message, .pm-editorial-style-opening, .pm-editorial-style-closing { background: #f8efe0; }
.pm-editorial-style-guardian_message { background: #eef4ff; }
.pm-editorial-style-character_message { background: #f7eafa; }
.pm-editorial-style-highlight { background: #fff4bd; }
.pm-editorial-style-adult_note { background: #f1f1f1; border-left: 4px solid #777; }
.pm-editorial-style-seal { text-align: center; background: transparent; }
@media (max-width: 640px) { .pm-editorial-immersive-shell { padding: 12px 10px 32px; } .pm-editorial-immersive-content { padding: 18px 14px; border-radius: 18px; } }
.pm-editorial-media-preview { margin: .25rem 0 .75rem; }
.pm-editorial-admin-thumbnail { max-width: 120px; height: auto; display: block; }
.pm-editorial-admin-style-preview, .pm-editorial-admin-preview { max-width: 680px; }
.pm-editorial-admin-style-preview { margin: .5rem 0; padding: .75rem 1rem; border-radius: 12px; }
.pm-editorial-admin-preview { padding: 1rem; background: #fff; border: 1px solid #dcdcde; }
.pm-editorial-block-image { display: block; width: auto; height: auto; object-fit: contain; }
.pm-editorial-block img.pm-editorial-image-small, .pm-editorial-image-small { width: auto; max-width: min(96px, 100%); height: auto; }
.pm-editorial-block img.pm-editorial-image-medium, .pm-editorial-image-medium { width: auto; max-width: min(180px, 100%); height: auto; }
.pm-editorial-block img.pm-editorial-image-large, .pm-editorial-image-large { width: auto; max-width: min(320px, 100%); height: auto; }
.pm-editorial-block img.pm-editorial-image-full, .pm-editorial-image-full { width: 100%; max-width: 100%; height: auto; }
.pm-editorial-style-preview-card { max-width: 340px; }
.pm-editorial-style-preview-card h4 { margin: .25rem 0 .35rem; }
.pm-editorial-style-preview-card p { margin: 0; }
.pm-editorial-style-preview-image { font-size: 1.6rem; margin-bottom: .35rem; }
.pm-editorial-style-magic_message, .pm-editorial-style-opening, .pm-editorial-style-closing { color: #2f2418; background: #f8efe0; }
.pm-editorial-style-guardian_message { color: #17324d; background: #eef4ff; }
.pm-editorial-style-character_message { color: #3b2541; background: #f7eafa; }
.pm-editorial-style-highlight { color: #332600; background: #fff4bd; }
.pm-editorial-style-adult_note { color: #222; background: #f1f1f1; border-left: 4px solid #777; }
.pm-editorial-style-seal { color: #2f2418; background: #fff; text-align: center; }

/* Compacta el ritmo vertical dentro de componentes editoriales sin afectar Kadence global. */
.pm-editorial-block { margin: 1rem 0; }
.pm-editorial-block-body > *:first-child { margin-top: 0; }
.pm-editorial-block-body > *:last-child { margin-bottom: 0; }
.pm-editorial-block-body p { margin-top: 0; margin-bottom: .7em; line-height: 1.55; }
.pm-editorial-block-body p + p { margin-top: .35em; }
.pm-editorial-block + .pm-editorial-block { margin-top: 1.1rem; }
.pm-postal-route { font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace; font-size: .85em; letter-spacing: 0; text-transform: uppercase; }

.pm-editorial-experience,
.pm-editorial-experience *,
.pm-editorial-experience *::before,
.pm-editorial-experience *::after { box-sizing: border-box; }
.pm-editorial-experience { width: 100%; max-width: 100%; min-width: 0; }
.pm-editorial-experience-cards [hidden] { display: none !important; }
.pm-editorial-experience-cards { display: grid; gap: 1rem; width: 100%; max-width: min(100%, 760px); min-width: 0; margin-inline: auto; }
.pm-editorial-cards-header { text-align: center; }
.pm-editorial-cards-header > *:first-child { margin-top: 0; }
.pm-editorial-cards-kicker { margin: 0 0 .35rem; font-size: .85rem; font-weight: 700; letter-spacing: 0; text-transform: uppercase; opacity: .72; }
.pm-editorial-cards-start, .pm-editorial-cards-end { max-width: 100%; min-width: 0; padding: 1rem; border: 1px solid #e5ded1; border-radius: 8px; background: #fffdf8; text-align: center; }
.pm-editorial-cards-list { display: grid; gap: 1rem; width: 100%; max-width: 100%; min-width: 0; margin: 0; padding: 0; list-style: none; }
.pm-editorial-card { width: 100%; max-width: min(100%, 680px); min-width: 0; min-height: clamp(260px, 42vw, 420px); margin: 0 auto; padding: clamp(1.25rem, 5vw, 2.4rem); border: 1px solid #e4d8c6; border-radius: 8px; background: #fffdf8; box-shadow: 0 10px 32px rgba(63, 45, 24, .1); }
.pm-editorial-card article { display: grid; gap: .8rem; min-width: 0; }
.pm-editorial-card-position { margin: 0; font-size: .9rem; font-weight: 700; opacity: .68; }
.pm-editorial-card-text { min-width: 0; font-size: clamp(1.05rem, 1rem + .35vw, 1.35rem); line-height: 1.55; overflow-wrap: anywhere; }
.pm-editorial-card-text > *:first-child { margin-top: 0; }
.pm-editorial-card-text > *:last-child { margin-bottom: 0; }
.pm-editorial-card-intro { display: grid; align-items: center; text-align: center; }
.pm-editorial-card-intro-body, .pm-editorial-card-end-body { display: grid; gap: 1rem; min-width: 0; }
.pm-editorial-card-intro-title { margin: 0; }
.pm-editorial-card-intro-description { min-width: 0; margin: 0; font-size: 1.05rem; line-height: 1.55; overflow-wrap: anywhere; }
.pm-editorial-card-reminders { display: grid; gap: .35rem; width: 100%; max-width: 32rem; min-width: 0; margin: .25rem auto 0; padding: 0; list-style: none; color: #5b4a34; }
.pm-editorial-adult-info { width: 100%; max-width: 36rem; min-width: 0; margin: .25rem auto; text-align: left; }
.pm-editorial-adult-info summary { cursor: pointer; color: #5b3f17; font-weight: 700; text-align: center; }
.pm-editorial-adult-info summary:focus-visible, .pm-editorial-cards-nav .button:focus-visible, .pm-editorial-cards-start-button:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.pm-editorial-adult-info-body { display: grid; gap: .85rem; min-width: 0; margin-top: .85rem; padding: 1rem; border: 1px solid #eadfcd; border-radius: 8px; background: #fffaf1; overflow-wrap: anywhere; }
.pm-editorial-adult-info-section h3 { margin: 0 0 .35rem; font-size: 1rem; }
.pm-editorial-adult-info-section p { margin: 0; line-height: 1.5; }
.pm-editorial-adult-info-reminder { color: #4e412e; }
.pm-editorial-card-end { display: grid; align-items: center; text-align: center; }
.pm-editorial-card-end h2 { margin: 0; }
.pm-editorial-card-end p { margin: 0; line-height: 1.55; }
.pm-editorial-cards-club-link { justify-self: center; }
.pm-editorial-cards-nav { display: none; align-items: center; justify-content: center; gap: .75rem; flex-wrap: wrap; width: 100%; max-width: 100%; min-width: 0; }
.pm-editorial-experience-cards.is-enhanced .pm-editorial-cards-nav { display: flex; }
.pm-editorial-cards-start-button { display: none !important; }
.pm-editorial-experience-cards.is-enhanced .pm-editorial-cards-start-button { display: inline-block !important; }
.pm-editorial-cards-nav .button, .pm-editorial-cards-start-button, .pm-editorial-cards-club-link { min-height: 44px; max-width: 100%; white-space: normal; }
.pm-editorial-cards-nav [data-pm-editorial-cards-position] { min-width: 5rem; text-align: center; font-weight: 700; }
.pm-editorial-experience-cards.is-enhanced .pm-editorial-cards-list { display: block; }
.pm-editorial-experience-cards.is-enhanced .pm-editorial-card { margin-inline: auto; }
@media (max-width: 480px) {
    .pm-editorial-experience-cards { max-width: 100%; }
    .pm-editorial-card { min-height: 300px; }
    .pm-editorial-cards-nav { justify-content: stretch; }
    .pm-editorial-cards-nav .button { flex: 1 1 8rem; }
    .pm-editorial-cards-nav [data-pm-editorial-cards-position] { flex: 1 0 100%; order: -1; }
}

.pm-editorial-experience-document { width: 100%; max-width: 760px; margin-inline: auto; }
.pm-editorial-experience-document > header { margin-bottom: 1.25rem; text-align: center; }
.pm-editorial-document-body { min-width: 0; overflow-wrap: anywhere; }
.pm-editorial-row { display: grid; gap: 1rem; width: 100%; max-width: 100%; align-items: start; }
.pm-editorial-row--ratio-50-50 { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
.pm-editorial-row--ratio-40-60 { grid-template-columns: minmax(0,2fr) minmax(0,3fr); }
.pm-editorial-row--ratio-60-40 { grid-template-columns: minmax(0,3fr) minmax(0,2fr); }
.pm-editorial-row--ratio-33-33-33 { grid-template-columns: repeat(3,minmax(0,1fr)); }
.pm-editorial-row--ratio-25-50-25 { grid-template-columns: minmax(0,1fr) minmax(0,2fr) minmax(0,1fr); }
.pm-editorial-row--ratio-30-40-30 { grid-template-columns: minmax(0,3fr) minmax(0,4fr) minmax(0,3fr); }
.pm-editorial-row--align-center { align-items: center; }
.pm-editorial-row--align-end { align-items: end; }
.pm-editorial-column { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.pm-editorial-column img { max-width: 100%; height: auto; }
.pm-editorial-layout-admin-columns { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; max-width: 1100px; }
.pm-editorial-layout-admin-column { min-width: 0; padding: .75rem; border: 1px solid #c3c4c7; }
.pm-editorial-layout-admin-column p { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; }
.pm-editorial-layout-admin-column select { max-width: 100%; }
@media (max-width: 782px) { .pm-editorial-layout-admin-columns { grid-template-columns: minmax(0,1fr); } }
@media (max-width: 600px) {
    .pm-editorial-row--stack-mobile { grid-template-columns: minmax(0,1fr); }
    .pm-editorial-row--keep-columns { gap: .35rem; }
}
.pm-editorial-experience-back { margin-top: 1.5rem; text-align: center; }
.pm-editorial-experience-steps { display: grid; gap: 1rem; width: 100%; max-width: min(100%, 760px); margin: 0 auto 3rem; }
.pm-editorial-steps-intro, .pm-editorial-steps-end, .pm-editorial-step-stage { width: 100%; min-width: 0; padding: clamp(1rem, 4vw, 2rem); border: 1px solid #e4d8c6; border-radius: 8px; background: #fffdf8; overflow-wrap: anywhere; }
.pm-editorial-steps-intro, .pm-editorial-steps-end { text-align: center; }
.pm-editorial-step-stage[hidden], .pm-editorial-steps-intro[hidden], .pm-editorial-steps-end[hidden], .pm-editorial-steps-nav[hidden] { display: none !important; }
.pm-editorial-step-instruction { font-size: 1.12rem; line-height: 1.6; }
.pm-editorial-step-support { margin-top: .8rem; color: #554a3b; line-height: 1.55; }
.pm-editorial-step-image { display: block; max-width: 100%; height: auto; margin: 1rem auto; }
.pm-editorial-step-answer { display: grid; gap: .75rem; margin-top: 1rem; }
.pm-editorial-step-answer label { display: grid; gap: .35rem; font-weight: 600; }
.pm-editorial-step-answer input[type="text"] { width: 100%; min-height: 44px; }
.pm-editorial-step-answer [data-pm-step-feedback] { min-height: 1.5em; margin: 0; font-weight: 600; }
.pm-editorial-step-hints { display: grid; gap: .5rem; margin-top: 1rem; }
.pm-editorial-step-hints details { padding: .75rem; border: 1px solid #eadfcd; border-radius: 8px; background: #fffaf1; }
.pm-editorial-step-hints summary { cursor: pointer; font-weight: 700; }
.pm-editorial-steps-nav { display: flex; align-items: center; justify-content: center; gap: .75rem; flex-wrap: wrap; }
.pm-editorial-steps-nav .button, .pm-editorial-steps-intro .button, .pm-editorial-steps-end .button { min-height: 44px; white-space: normal; }
.pm-editorial-steps-nav [data-pm-steps-position] { min-width: 5rem; text-align: center; font-weight: 700; }
@media (max-width: 480px) {
    .pm-editorial-steps-nav { justify-content: stretch; }
    .pm-editorial-steps-nav .button { flex: 1 1 8rem; }
    .pm-editorial-steps-nav [data-pm-steps-position] { flex: 1 0 100%; order: -1; }
}

