/*
Theme Name: EMDH Editorial
Description: Child theme for Es Momento de Hablar editorial content.
Template: hello-elementor
Version: 1.0.0
Text Domain: emdh-editorial
*/

:root {
	--emdh-ink: #170d25;
	--emdh-purple: #704fe6;
	--emdh-lilac: #f1ebff;
	--emdh-cream: #fffdf8;
	--emdh-mint: #dff4e9;
	--emdh-muted: #635b70;
	--emdh-line: rgba(23, 13, 37, .13);
	--emdh-pink: #ed4c99;
	--emdh-orange: #ee9d1c;
}

.emdh-blog-shell { background: var(--emdh-cream); color: var(--emdh-ink); overflow: hidden; }
.emdh-blog-shell *, .emdh-blog-shell *::before, .emdh-blog-shell *::after { box-sizing: border-box; }
.emdh-blog-shell a { color: inherit; }
.emdh-blog-shell .emdh-kicker { color: var(--emdh-purple); font-size: .75rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.emdh-blog-shell .emdh-blog-intro { max-width: 1240px; margin: 0 auto; padding: clamp(4.5rem, 10vw, 8rem) 1.5rem 4rem; position: relative; }
.emdh-blog-shell .emdh-blog-intro::after { content: ''; position: absolute; width: min(38vw, 32rem); aspect-ratio: 1; background: var(--emdh-lilac); border-radius: 50%; right: -12rem; top: 1rem; z-index: 0; }
.emdh-blog-shell .emdh-blog-intro > * { position: relative; z-index: 1; }
.emdh-blog-shell h1, .emdh-blog-shell h2, .emdh-blog-shell h3 { color: var(--emdh-ink); font-family: 'Poppins', sans-serif; font-weight: 700; letter-spacing: -.055em; text-wrap: balance; }
.emdh-blog-shell h1 { max-width: 11ch; margin: .7rem 0 1rem; font-size: clamp(2.42rem, 5.8vw, 4.9rem); line-height: .91; }
.emdh-blog-shell .emdh-intro-copy { max-width: 39rem; margin: 0; color: var(--emdh-muted); font-size: clamp(1.05rem, 2vw, 1.25rem); line-height: 1.7; }
.emdh-blog-shell .emdh-post-grid { max-width: 1240px; margin: 0 auto; padding: 0 1.5rem clamp(5rem, 10vw, 9rem); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.emdh-blog-shell .emdh-post-card { display: flex; flex-direction: column; min-height: 100%; background: #fff; border-radius: 1.65rem; overflow: hidden; text-decoration: none; box-shadow: 0 20px 50px rgba(42, 19, 74, .06); transition: transform .25s ease, box-shadow .25s ease; }
.emdh-blog-shell .emdh-post-card:hover { transform: translateY(-.45rem); box-shadow: 0 28px 65px rgba(42, 19, 74, .14); }
.emdh-blog-shell .emdh-card-media { aspect-ratio: 4 / 3; overflow: hidden; background: var(--emdh-lilac); }
.emdh-blog-shell .emdh-card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.emdh-blog-shell .emdh-post-card:hover img { transform: scale(1.04); }
.emdh-blog-shell .emdh-card-copy { display: flex; flex: 1; flex-direction: column; padding: 1.5rem 1.6rem 1.75rem; }
.emdh-blog-shell .emdh-card-meta { color: var(--emdh-muted); font-size: .8rem; font-weight: 700; letter-spacing: .035em; }
.emdh-blog-shell .emdh-card-copy h2 { margin: .75rem 0 .9rem; font-size: clamp(1.65rem, 2.6vw, 2.4rem); line-height: 1.03; }
.emdh-blog-shell .emdh-card-copy p { margin: 0 0 1.35rem; color: var(--emdh-muted); font-size: .98rem; line-height: 1.65; }
.emdh-blog-shell .emdh-read-link { margin-top: auto; color: var(--emdh-purple); font-size: .87rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.emdh-blog-shell .emdh-empty { grid-column: 1 / -1; padding: 3rem; border-radius: 1rem; background: var(--emdh-lilac); text-align: center; }

.emdh-single-shell { background: var(--emdh-cream); color: var(--emdh-ink); }
.emdh-single-shell *, .emdh-single-shell *::before, .emdh-single-shell *::after { box-sizing: border-box; }
.emdh-single-shell a { color: inherit; }
.emdh-single-hero { max-width: 1240px; margin: 0 auto; padding: clamp(3.2rem, 7vw, 6.5rem) 1.5rem 2rem; }
.emdh-breadcrumb { display: inline-flex; gap: .55rem; align-items: center; color: var(--emdh-muted); font-size: .86rem; font-weight: 700; text-decoration: none; }
.emdh-breadcrumb:hover { color: var(--emdh-purple); }
body .emdh-single-shell .emdh-single-title { max-width: none; margin: 1.45rem 0 1.15rem; font-family: 'Poppins', sans-serif !important; font-size: clamp(2.18rem, 4.7vw, 4.03rem); font-weight: 700 !important; letter-spacing: -.065em; line-height: .96; text-transform: none !important; text-wrap: balance; }
.emdh-single-deck { max-width: 56rem; margin: 0; color: var(--emdh-muted); font-size: clamp(1.05rem, 2vw, 1.27rem); line-height: 1.7; }
.emdh-single-meta { display: flex; gap: .85rem; flex-wrap: wrap; align-items: center; margin-top: 1.75rem; color: var(--emdh-muted); font-size: .82rem; font-weight: 700; }
.emdh-dot { width: .3rem; height: .3rem; border-radius: 50%; background: var(--emdh-purple); }
.emdh-featured-wrap { max-width: 1240px; margin: 0 auto; padding: .5rem 1.5rem clamp(3.5rem, 8vw, 6.5rem); }
.emdh-featured { width: 100%; max-height: 42rem; object-fit: cover; border-radius: clamp(1.1rem, 3vw, 2.5rem); display: block; }
.emdh-article-layout { max-width: 1040px; margin: 0 auto; padding: 0 1.5rem clamp(5rem, 10vw, 9rem); display: grid; grid-template-columns: 10rem minmax(0, 1fr); gap: clamp(2rem, 7vw, 7rem); }
.emdh-article-aside { padding-top: .6rem; }
.emdh-article-aside p { color: var(--emdh-muted); font-size: .75rem; font-weight: 800; letter-spacing: .1em; line-height: 1.45; text-transform: uppercase; }
.emdh-article-content { max-width: 43rem; font-size: clamp(1.08rem, 1.8vw, 1.2rem); line-height: 1.82; }
.emdh-article-content > *:first-child { margin-top: 0; }
.emdh-article-content h2 { margin: 3rem 0 1rem; color: var(--emdh-ink); font-family: 'Poppins', sans-serif; font-size: clamp(1.85rem, 2.5vw, 1.98rem); font-weight: 700; letter-spacing: -.055em; line-height: 1.04; text-wrap: balance; }
.emdh-article-content h3 { margin: 2.4rem 0 .75rem; color: var(--emdh-ink); font-family: 'Poppins', sans-serif; font-size: clamp(1.45rem, 2.8vw, 2rem); font-weight: 700; letter-spacing: -.045em; line-height: 1.12; }
.emdh-article-content p, .emdh-article-content ul { margin: 0 0 1.5rem; }
.emdh-article-content ul { padding-left: 1.25rem; }
.emdh-article-content li { margin-bottom: .45rem; }
.emdh-article-content strong { color: var(--emdh-purple); }
.emdh-article-content blockquote { margin: 2.5rem 0; padding: 1.35rem 1.6rem; border-left: .3rem solid var(--emdh-purple); background: var(--emdh-lilac); border-radius: 0 1rem 1rem 0; color: var(--emdh-ink); font-family: 'Poppins', sans-serif; font-size: 1.35rem; font-weight: 600; letter-spacing: -.025em; line-height: 1.35; }
.emdh-next-step { max-width: 43rem; margin: 3.5rem 0 0; padding: clamp(1.7rem, 4vw, 2.5rem); border-radius: 1.5rem; background: var(--emdh-mint); }
.emdh-next-step .emdh-kicker { display: block; margin-bottom: .65rem; }
.emdh-next-step h2 { margin: 0 0 .65rem; font-size: clamp(1.9rem, 2.2vw, 1.94rem); }
.emdh-next-step p { margin: 0 0 1.1rem; color: var(--emdh-muted); font-size: 1rem; line-height: 1.6; }
.emdh-button { display: inline-flex; padding: .9rem 1.15rem; border-radius: 999px; background: var(--emdh-purple); color: #fff !important; font-size: .9rem; font-weight: 800; text-decoration: none; transition: transform .2s ease, background .2s ease; }
.emdh-button:hover { background: #5232be; transform: translateY(-2px); }
.emdh-related { max-width: 1240px; margin: 0 auto; padding: 0 1.5rem 6rem; }
.emdh-related > h2 { margin: 0 0 1.5rem; font-family: 'Poppins', sans-serif; font-size: clamp(2rem, 2.9vw, 2.27rem); font-weight: 700; letter-spacing: -.06em; }
.emdh-related-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; }
.emdh-related-card { min-height: 14rem; padding: 1.5rem; background: #fff; border-radius: 1.25rem; text-decoration: none; transition: transform .2s ease; }
.emdh-related-card:hover { transform: translateY(-.3rem); }
.emdh-related-card span { color: var(--emdh-purple); font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.emdh-related-card h3 { margin: .75rem 0 0; font-family: 'Poppins', sans-serif; font-size: 1.45rem; font-weight: 700; letter-spacing: -.045em; line-height: 1.12; }

@media (min-width: 801px) and (max-width: 1050px) {
	.emdh-blog-shell .emdh-post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 800px) {
	.emdh-blog-shell .emdh-post-grid { grid-template-columns: 1fr; }
	.emdh-article-layout { display: block; }
	.emdh-article-aside { padding: 0 0 1.4rem; }
	.emdh-article-aside p { margin: 0; }
	.emdh-related-grid { grid-template-columns: 1fr; }
}

/* WooCommerce catalogue and story detail */
.emdh-shop-shell, .emdh-product-shell { color: var(--emdh-ink); background: #fcfaff; overflow: hidden; }
.emdh-shop-shell *, .emdh-shop-shell *::before, .emdh-shop-shell *::after, .emdh-product-shell *, .emdh-product-shell *::before, .emdh-product-shell *::after { box-sizing: border-box; }
.emdh-shop-shell h1, .emdh-shop-shell h2, .emdh-shop-shell h3, .emdh-product-shell h1, .emdh-product-shell h2 { color: var(--emdh-ink); font-family: 'Poppins', sans-serif; font-weight: 700; letter-spacing: -.055em; text-wrap: balance; }
.emdh-shop-kicker, .emdh-detail-label { margin: 0; color: var(--emdh-pink); font-size: .73rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.emdh-shop-hero { max-width: 1240px; margin: 0 auto; padding: clamp(4.5rem, 9vw, 8rem) 1.5rem clamp(3.5rem, 7vw, 6.3rem); position: relative; }
.emdh-shop-hero::after { content: ''; width: min(34vw, 30rem); aspect-ratio: 1; border: 2rem solid var(--emdh-lilac); border-radius: 50%; position: absolute; right: -7rem; top: 12%; opacity: .82; }
.emdh-shop-hero > * { position: relative; z-index: 1; }
.emdh-shop-hero h1 { max-width: 11.8ch; margin: .7rem 0 1.1rem; font-size: clamp(2.54rem, 5.8vw, 5.04rem); line-height: .91; }
.emdh-shop-hero > p:last-child { max-width: 39rem; margin: 0; color: var(--emdh-muted); font-size: clamp(1.04rem, 2vw, 1.22rem); line-height: 1.7; }
.emdh-programs { max-width: 1400px; margin: 0 auto; padding: 0 1.5rem clamp(5rem, 9vw, 8rem); }
.emdh-section-heading { max-width: 1240px; margin: 0 auto 1.75rem; }
.emdh-section-heading h2 { margin: .45rem 0 0; font-size: clamp(1.83rem, 3.2vw, 3.02rem); line-height: .98; }
.emdh-plan-grid { max-width: 1240px; margin: 0 auto; display: grid; grid-template: auto auto / minmax(0, 1fr) minmax(0, 1fr); gap: 1.25rem; }
.emdh-plan { min-width: 0; padding: clamp(1.45rem, 3vw, 2rem); border: 2px solid var(--emdh-pink); border-radius: 1.55rem; background: #fff; box-shadow: 0 8px 24px rgba(42, 16, 67, .07); }
.emdh-plan-featured { grid-row: span 2; padding: clamp(1.65rem, 3vw, 2.25rem); background: #fffcff; }
.emdh-plan-badge { display: table; margin: -3.25rem auto 1.55rem; padding: .55rem 1.25rem; border-radius: 999px; background: var(--emdh-pink); color: #fff; font-size: .85rem; font-weight: 800; }
.emdh-plan-top { display: flex; align-items: start; justify-content: space-between; gap: 1.5rem; }
.emdh-plan-top > div:first-child { max-width: 27rem; }
.emdh-plan h3 { margin: 0 0 .25rem; font-family: 'Poppins', sans-serif; font-size: clamp(1.3rem, 2vw, 1.65rem); font-weight: 700; letter-spacing: -.045em; line-height: 1.12; }
.emdh-plan-top p { margin: 0; color: var(--emdh-muted); font-size: .96rem; line-height: 1.48; }
.emdh-price { flex: 0 0 auto; text-align: right; line-height: 1; }
.emdh-price del { display: block; margin-bottom: .28rem; color: #a6a2a9; font-size: .78rem; font-weight: 800; }
.emdh-price strong { display: block; color: var(--emdh-orange); font-family: 'Poppins', sans-serif; font-size: clamp(2rem, 2.4vw, 2.16rem); font-weight: 800; letter-spacing: -.06em; white-space: nowrap; }
.emdh-price span { display: block; margin-top: .36rem; color: var(--emdh-pink); font-size: .72rem; font-weight: 800; white-space: nowrap; }
.emdh-plan-rule { margin: 1.8rem 0 1.55rem; border-top: 1px dashed rgba(23, 13, 37, .4); }
.emdh-programs-access-note { max-width: 1240px; margin: 0 auto 2rem; padding: 1rem 1.25rem; border-radius: 1rem; background: var(--emdh-lilac); color: var(--emdh-muted); font-size: .95rem; line-height: 1.5; }
.emdh-payment-note { margin: 1.25rem 0 0; padding-top: 1rem; border-top: 1px solid var(--emdh-line); color: var(--emdh-muted); font-size: .76rem; line-height: 1.45; }
.emdh-includes-title { margin: 0 0 .85rem; font-size: .85rem; font-weight: 800; letter-spacing: .02em; text-transform: uppercase; }
.emdh-check-list { display: grid; gap: .35rem; margin: 0; padding: 0; list-style: none; color: #423a4e; font-size: .95rem; line-height: 1.3; }
.emdh-check-list li { padding-left: 1.38rem; position: relative; }
.emdh-check-list li::before { content: '✓'; position: absolute; left: 0; top: -.02rem; color: var(--emdh-orange); font-weight: 900; }
.emdh-plan-stories { display: flex; flex-direction: column; justify-content: space-between; }
.emdh-outline-button { display: inline-flex; align-self: end; gap: .85rem; align-items: center; margin-top: 1.15rem; padding: .45rem .45rem .45rem 1.05rem; border: 1.5px solid var(--emdh-orange); border-radius: 999px; color: var(--emdh-orange); font-weight: 800; text-decoration: none; }
.emdh-outline-button span { display: grid; place-items: center; width: 2.15rem; height: 2.15rem; border-radius: 50%; background: var(--emdh-orange); color: #fff; font-size: 1.2rem; }
.emdh-stories-section { max-width: 1240px; margin: 0 auto; padding: 0 1.5rem clamp(5.5rem, 10vw, 9rem); }
.emdh-stories-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 2.4rem; }
.emdh-stories-heading > div { flex: 1 1 0; min-width: 0; }
.emdh-stories-heading h2 { max-width: 30ch; margin: .45rem 0 0; font-size: clamp(1.55rem, 2.7vw, 2.3rem); line-height: 1.04; }
.emdh-stories-heading > p { max-width: 24rem; margin: 0; color: var(--emdh-muted); line-height: 1.65; }
.emdh-stories-section ul.products { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; margin: 0; padding: 0; list-style: none; }
.emdh-stories-section ul.products::before, .emdh-stories-section ul.products::after { display: none; }
.emdh-stories-section ul.products li.product { width: auto; float: none; clear: none; margin: 0; }
.emdh-story-card { display: flex; min-height: 100%; flex-direction: column; border-radius: 1.6rem; background: #fff; overflow: hidden; box-shadow: 0 16px 45px rgba(37, 15, 65, .07); }
.emdh-story-visual { display: block; min-height: 15.5rem; overflow: hidden; position: relative; background: #dcd0ff; color: var(--emdh-ink); text-decoration: none; isolation: isolate; }
.emdh-story-visual::before, .emdh-product-illustration::before { content: ''; width: 9rem; height: 9rem; position: absolute; right: -1rem; bottom: -2.5rem; border: 1.4rem solid rgba(255,255,255,.55); border-radius: 50%; }
.emdh-story-sun { width: 5.2rem; height: 5.2rem; position: absolute; top: 1.5rem; right: 1.6rem; border-radius: 46% 54% 49% 51% / 42% 42% 58% 58%; background: #ffcb4b; transform: rotate(20deg); }
.emdh-story-cloud { width: 5.8rem; height: 1.85rem; position: absolute; border-radius: 999px; background: rgba(255,255,255,.79); }
.emdh-story-cloud::before, .emdh-story-cloud::after { content: ''; position: absolute; border-radius: 50%; background: inherit; }
.emdh-story-cloud::before { width: 2.1rem; height: 2.1rem; left: 1rem; bottom: .45rem; }.emdh-story-cloud::after { width: 2.9rem; height: 2.9rem; right: .5rem; bottom: .1rem; }
.emdh-cloud-one { left: -1.5rem; top: 4rem; transform: scale(.74); }.emdh-cloud-two { right: 5rem; bottom: 1.55rem; transform: scale(.55); }
.emdh-story-number { position: absolute; z-index: 1; left: 1.55rem; bottom: .6rem; color: #fff; font-family: 'Poppins', sans-serif; font-size: 8rem; font-weight: 800; letter-spacing: -.1em; line-height: 1; text-shadow: 0 .12rem 0 rgba(84, 58, 153, .16); }
.emdh-story-label { position: absolute; z-index: 2; left: 1.65rem; top: 1.55rem; padding: .4rem .72rem; border-radius: 999px; background: rgba(255,255,255,.76); font-size: .68rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.emdh-story-2 .emdh-story-visual, .emdh-story-2 .emdh-product-illustration { background: #bfeee3; }.emdh-story-3 .emdh-story-visual, .emdh-story-3 .emdh-product-illustration { background: #ffd0e3; }.emdh-story-4 .emdh-story-visual, .emdh-story-4 .emdh-product-illustration { background: #cbe8ff; }.emdh-story-5 .emdh-story-visual, .emdh-story-5 .emdh-product-illustration { background: #ffe5ad; }.emdh-story-6 .emdh-story-visual, .emdh-story-6 .emdh-product-illustration { background: #d9cafc; }.emdh-story-7 .emdh-story-visual, .emdh-story-7 .emdh-product-illustration { background: #b9e9f0; }.emdh-story-8 .emdh-story-visual, .emdh-story-8 .emdh-product-illustration { background: #ffdda2; }.emdh-story-9 .emdh-story-visual, .emdh-story-9 .emdh-product-illustration { background: #f5c6df; }
.emdh-story-body { display: flex; flex: 1; flex-direction: column; padding: 1.45rem; }
.emdh-story-kicker { margin: 0; color: var(--emdh-purple); font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.emdh-story-body h2 { margin: .55rem 0 .65rem; font-size: 1.78rem; line-height: 1.02; }.emdh-story-body h2 a { color: inherit; text-decoration: none; }
.emdh-story-excerpt { margin: 0 0 1.35rem; color: var(--emdh-muted); font-size: .92rem; line-height: 1.55; }
.emdh-story-bottom { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-top: auto; }.emdh-card-price { display: grid; gap: .15rem; color: var(--emdh-orange); font-weight: 800; line-height: 1.08; }.emdh-card-price del { display: block; color: #918a95; font-size: .76rem; font-weight: 600; text-decoration-thickness: 1px; }.emdh-card-price strong { display: block; color: var(--emdh-orange); font-family: 'Montserrat', sans-serif; font-size: 1.35rem; font-weight: 800; letter-spacing: -.04em; }.emdh-card-price span { color: var(--emdh-pink); font-size: .7rem; font-weight: 800; letter-spacing: .01em; }.emdh-card-price ins { color: var(--emdh-orange); font-size: 1.18rem; text-decoration: none; }
.emdh-card-arrow { display: grid; flex: 0 0 2.75rem; place-items: center; width: 2.75rem; min-width: 2.75rem; height: 2.75rem; min-height: 2.75rem; aspect-ratio: 1; overflow: hidden; border-radius: 50% !important; background: var(--emdh-ink); color: #fff; font-size: 1.28rem; line-height: 1; text-decoration: none; }
.emdh-shop-empty { padding: 2rem; border-radius: 1rem; background: var(--emdh-lilac); text-align: center; }
.emdh-product-hero { background: #dcd0ff; }.emdh-product-inner { max-width: 1240px; margin: 0 auto; padding: clamp(2rem, 4vw, 3.6rem) 1.5rem clamp(3.8rem, 8vw, 7rem); }.emdh-product-back { color: var(--emdh-ink); font-size: .85rem; font-weight: 800; text-decoration: none; }.emdh-product-grid { display: grid; grid-template-columns: 1.15fr .85fr; align-items: center; gap: clamp(2rem, 7vw, 7rem); }.emdh-product-copy h1 { max-width: 10ch; margin: .65rem 0 1rem; font-size: clamp(2.57rem, 5.0vw, 4.61rem); line-height: .91; }.emdh-product-lead { max-width: 42rem; color: #4b4258; font-size: 1.1rem; line-height: 1.7; }.emdh-product-lead p { margin: 0; }.emdh-product-facts { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1.5rem; }.emdh-product-facts span { padding: .45rem .75rem; border: 1px solid rgba(23,13,37,.2); border-radius: 999px; font-size: .78rem; font-weight: 800; }
.emdh-product-illustration { min-height: 24rem; position: relative; overflow: hidden; border-radius: 52% 48% 39% 61% / 46% 45% 55% 54%; background: #dcd0ff; box-shadow: inset 0 0 0 1px rgba(255,255,255,.55); }.emdh-product-illustration .emdh-story-sun { width: 7rem; height: 7rem; top: 2.4rem; right: 2.7rem; }.emdh-product-illustration .emdh-story-number { left: 2rem; bottom: .8rem; font-size: 12rem; }.emdh-illustration-caption { position: absolute; right: 1.7rem; bottom: 2rem; color: var(--emdh-ink); font-family: 'Poppins', sans-serif; font-size: 1.35rem; font-weight: 700; letter-spacing: -.055em; line-height: .95; }
.emdh-product-details { max-width: 1100px; margin: 0 auto; padding: clamp(4rem, 9vw, 8rem) 1.5rem; }.emdh-product-details-grid { display: grid; grid-template-columns: minmax(0, 1fr) 20rem; align-items: start; gap: clamp(2.5rem, 9vw, 9rem); }.emdh-product-main { max-width: 43rem; }.emdh-product-description { margin-top: .8rem; color: #423a4e; font-size: 1.1rem; line-height: 1.78; }.emdh-product-description p { margin: 0 0 1.35rem; }.emdh-product-description h2 { margin: 2.4rem 0 .9rem; font-size: 1.7rem; line-height: 1; }.emdh-product-aside { display: grid; gap: 1.1rem; }.emdh-buy-box, .emdh-objective, .emdh-guide { padding: 1.4rem; border-radius: 1.25rem; background: #fff; box-shadow: 0 10px 28px rgba(37, 15, 65, .07); }.emdh-buy-box { background: var(--emdh-purple); color: #fff; }.emdh-buy-box .emdh-detail-label { color: #f4b8d7; }.emdh-single-price { margin: .55rem 0 1.15rem; }.emdh-single-price del { display: block; color: rgba(255,255,255,.55); font-size: .83rem; white-space: nowrap; }.emdh-single-price ins, .emdh-single-price > strong { color: #ffbd3b; font-family: 'Poppins', sans-serif; font-size: 2.15rem; font-weight: 800; text-decoration: none; white-space: nowrap; }.emdh-single-price .woocommerce-Price-amount, .emdh-single-price .woocommerce-Price-amount bdi, .emdh-single-price .woocommerce-Price-currencySymbol { display: inline !important; white-space: nowrap; }.emdh-single-price .woocommerce-Price-currencySymbol { margin-right: .13em; font: inherit; }.emdh-single-price > span { display: block; margin-top: .2rem; color: #f4b8d7; font-size: .75rem; font-weight: 800; }.emdh-buy-box .quantity { display: none; }.emdh-buy-box .single_add_to_cart_button { width: 100%; padding: .9rem 1rem; border: 0; border-radius: 999px; background: #fff; color: var(--emdh-ink); font-family: 'Poppins', sans-serif; font-size: .86rem; font-weight: 800; }.emdh-objective p:last-child, .emdh-guide p:last-child { margin: .6rem 0 0; color: var(--emdh-muted); font-size: .94rem; line-height: 1.55; }
.emdh-benefits { margin-top: 3.2rem; padding: clamp(1.5rem, 4vw, 2.6rem); border-radius: 1.6rem; background: var(--emdh-mint); }.emdh-benefits h2 { max-width: 10ch; margin: .55rem 0 1.3rem; font-size: clamp(2rem, 2.9vw, 2.45rem); line-height: .96; }.emdh-benefits ul, .emdh-what-includes ul { display: grid; gap: .65rem; margin: 0; padding: 0; list-style: none; }.emdh-benefits li, .emdh-what-includes li { padding-left: 1.6rem; position: relative; color: #373044; line-height: 1.45; }.emdh-benefits li::before, .emdh-what-includes li::before { content: '✦'; position: absolute; left: 0; color: var(--emdh-purple); }.emdh-what-includes { display: grid; grid-template-columns: .85fr 1.15fr; gap: 3rem; margin-top: clamp(4rem, 9vw, 7rem); padding: clamp(2rem, 5vw, 4rem); border-radius: 1.8rem; background: var(--emdh-lilac); }.emdh-what-includes h2 { max-width: 11ch; margin: .55rem 0 0; font-size: clamp(2rem, 2.5vw, 2.38rem); line-height: .98; }.emdh-what-includes ul { align-content: center; }
@media (max-width: 900px) { .emdh-plan-grid { grid-template: auto / 1fr; }.emdh-plan-featured { grid-row: auto; }.emdh-plan-badge { margin: -2.8rem 0 1.4rem; }.emdh-stories-section ul.products { grid-template-columns: repeat(2, minmax(0,1fr)); }.emdh-product-grid, .emdh-product-details-grid { grid-template-columns: 1fr; }.emdh-product-illustration { max-width: 32rem; width: 100%; min-height: 20rem; }.emdh-product-aside { grid-template-columns: repeat(3, 1fr); }.emdh-what-includes { grid-template-columns: 1fr; gap: 1.8rem; } }
@media (max-width: 620px) { .emdh-shop-hero::after { width: 15rem; right: -7rem; top: 3rem; }.emdh-plan-top, .emdh-stories-heading { display: block; }.emdh-price { margin-top: 1.25rem; text-align: left; }.emdh-outline-button { align-self: start; }.emdh-stories-section ul.products { grid-template-columns: 1fr; }.emdh-product-copy h1 { font-size: clamp(2.34rem, 10.8vw, 3.38rem); }.emdh-product-aside { grid-template-columns: 1fr; }.emdh-product-illustration { min-height: 17rem; }.emdh-product-illustration .emdh-story-number { font-size: 9rem; }.emdh-what-includes { padding: 1.6rem; } }

/* Sale price hierarchy in the single-product purchase box. */
.emdh-product-aside, .emdh-buy-box { min-width: 0; }.emdh-single-price { display: grid; gap: .16rem; min-width: 0; margin: .55rem 0 1.15rem; line-height: 1.05; }.emdh-single-price del { display: block; overflow-wrap: anywhere; color: rgba(255,255,255,.58); font-size: .82rem; font-weight: 600; text-decoration-thickness: 1px; white-space: normal; }.emdh-single-price > strong { display: block; overflow-wrap: anywhere; color: #ffbd3b; font-family: 'Montserrat', sans-serif; font-size: clamp(1.65rem, 5vw, 2.15rem); font-weight: 800; letter-spacing: -.04em; text-decoration: none; white-space: normal; }.emdh-single-price > span { display: block; margin-top: .12rem; color: #f4b8d7; font-size: .75rem; font-weight: 800; line-height: 1.2; }.emdh-buy-box .single_add_to_cart_button { border-radius: 999px !important; }
.emdh-owned-label{color:#ffbd3b;font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.emdh-buy-box h2,.emdh-buy-box h3{color:#fff}.emdh-buy-box .button{display:inline-flex;min-height:46px;align-items:center;justify-content:center;width:100%;padding:.8rem 1rem;border:0;border-radius:999px;background:#ee9d1c;color:#fff;font-weight:800;text-align:center;text-decoration:none}.emdh-purchase-choice{padding:1rem;border:1px solid rgba(255,255,255,.22);border-radius:1rem}.emdh-purchase-choice+.emdh-purchase-choice{margin-top:1rem}.emdh-purchase-choice--recommended{border:2px solid #ffbd3b;background:rgba(255,255,255,.16)}.emdh-purchase-choice--recommended>span{display:inline-block;margin-bottom:.7rem;padding:.25rem .55rem;border-radius:999px;background:#ffbd3b;color:#170d25;font-size:.7rem;font-weight:900}.emdh-owned-materials h2{font-size:1.5rem}.emdh-material-step{padding:1rem 0;border-top:1px solid rgba(255,255,255,.2)}.emdh-material-step h3{font-size:1rem}.emdh-material-step p{font-size:.86rem}.emdh-material-step video,.emdh-video-frame iframe{display:block;width:100%;aspect-ratio:16/9;border:0;border-radius:.75rem;background:#000}
.emdh-after-story{margin-top:1.2rem;padding:1.25rem;border:2px solid #ffbd3b;border-radius:1rem;background:#fff;color:#170d25}.emdh-after-story h2{color:#170d25;font-size:1.55rem}.emdh-after-story ul{padding-left:1.15rem}.emdh-after-story small{display:block;margin:8px 0;color:#635b70}.emdh-after-story>a:not(.button){color:#704fe6;font-size:.85rem;font-weight:800}

/* The two resource blocks read as one paired section on larger screens. */
.emdh-product-resources { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.4rem; margin-top: clamp(2rem, 5vw, 4rem); }.emdh-product-resources .emdh-what-includes, .emdh-product-resources .emdh-benefits { display: block; min-width: 0; margin-top: 0; padding: clamp(1.5rem, 3vw, 2.15rem); }.emdh-product-resources .emdh-what-includes h2, .emdh-product-resources .emdh-benefits h2 { max-width: 11ch; margin: 0 0 1.1rem; font-size: clamp(1.45rem, 2.2vw, 1.9rem); line-height: 1.04; }.emdh-product-resources .emdh-benefits ul, .emdh-product-resources .emdh-what-includes ul { gap: .6rem; }.emdh-product-resources .emdh-benefits li, .emdh-product-resources .emdh-what-includes li { padding-left: 1.35rem; font-size: .9rem; line-height: 1.42; }
@media (max-width: 620px) { .emdh-product-resources { grid-template-columns: 1fr; } }

/* Match the lower product content to the hero's column rhythm. */
.emdh-product-details { max-width: 1240px; }.emdh-product-details-grid { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(2rem, 7vw, 7rem); }.emdh-product-main { max-width: none; }
@media (max-width: 900px) { .emdh-product-details-grid { grid-template-columns: 1fr; } }

/* Clear sale hierarchy in the hero, before the reader reaches the purchase box. */
.emdh-product-price { display: grid; gap: .16rem; margin: .65rem 0 1.25rem; line-height: 1.05; }.emdh-product-price del { color: #6f6677; font-size: .86rem; font-weight: 600; text-decoration-thickness: 1px; }.emdh-product-price strong { color: var(--emdh-orange); font-family: 'Montserrat', sans-serif; font-size: clamp(1.55rem, 3vw, 2.05rem); font-weight: 800; letter-spacing: -.04em; }.emdh-product-price span { color: var(--emdh-pink); font-size: .75rem; font-weight: 800; line-height: 1.2; }

/* Training offers are concise introductions, not story covers. */
.emdh-product-hero--training .emdh-product-inner { padding-top: clamp(1.5rem, 3vw, 2.5rem); padding-bottom: clamp(2rem, 4vw, 3.25rem); }
.emdh-product-grid--training { display: block; }
.emdh-product-grid--training .emdh-product-copy { max-width: 62rem; }
.emdh-product-grid--training .emdh-product-copy h1 { max-width: none; margin: .5rem 0 .75rem; font-size: clamp(1.8rem, 3.1vw, 2.7rem); line-height: 1; }
.emdh-product-grid--training .emdh-product-price { margin: .45rem 0 .85rem; }
.emdh-product-grid--training .emdh-product-lead { max-width: 52rem; font-size: 1rem; line-height: 1.55; }
@media (min-width: 621px) { .emdh-product-grid--training .emdh-product-copy h1 { white-space: nowrap; } }

/* Full module information: detailed when needed, compact while scanning. */
.emdh-training-detail { display: grid; gap: 1.15rem; }
.emdh-training-detail > h2, .emdh-training-includes h2 { margin: 0; font-size: clamp(1.7rem, 2.6vw, 2.2rem); line-height: 1.04; }
.emdh-training-detail__intro { margin: -.45rem 0 .4rem; color: var(--emdh-muted); font-size: 1.03rem; }
.emdh-training-module { padding: clamp(1.35rem, 3vw, 2rem); border: 1px solid rgba(112, 79, 230, .16); border-radius: 1.35rem; background: #fff; }
.emdh-training-module:nth-of-type(2) { background: #f7f2ff; }
.emdh-training-module:nth-of-type(3) { background: #f0f9f4; }
.emdh-training-module__eyebrow { margin: 0 0 .35rem; color: var(--emdh-purple); font-size: .74rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.emdh-training-module h3 { margin: 0 0 .75rem; font-size: clamp(1.2rem, 2vw, 1.55rem); line-height: 1.1; }
.emdh-training-module > p:not(.emdh-training-module__eyebrow):not(.emdh-training-module__extra) { margin: 0; color: #423a4e; font-size: .98rem; line-height: 1.65; }
.emdh-training-module dl { display: grid; gap: .8rem; margin: 1.15rem 0; padding: 1rem; border-radius: .9rem; background: rgba(255, 255, 255, .68); }
.emdh-training-module dl div { display: grid; grid-template-columns: 5.5rem minmax(0, 1fr); gap: .65rem; }
.emdh-training-module dt { color: var(--emdh-ink); font-weight: 800; }.emdh-training-module dd { margin: 0; color: var(--emdh-muted); line-height: 1.45; }
.emdh-training-module details { border-top: 1px solid rgba(23, 13, 37, .12); }.emdh-training-module summary { padding: .9rem 0 0; color: var(--emdh-purple); cursor: pointer; font-size: .9rem; font-weight: 800; }.emdh-training-module details ol { margin: .7rem 0 0; padding-left: 1.25rem; color: #423a4e; font-size: .92rem; line-height: 1.6; }.emdh-training-module details li + li { margin-top: .25rem; }
.emdh-training-module__extra { margin: 1rem 0 0 !important; color: #423a4e; font-size: .92rem; line-height: 1.55; }
.emdh-training-includes { margin-top: 1.7rem; padding: clamp(1.35rem, 3vw, 2rem); border-radius: 1.35rem; background: var(--emdh-lilac); }.emdh-training-includes ul { display: grid; gap: .65rem; margin: 1rem 0; padding: 0; list-style: none; }.emdh-training-includes li { padding-left: 1.45rem; position: relative; color: #423a4e; line-height: 1.5; }.emdh-training-includes li::before { content: '✦'; position: absolute; left: 0; color: var(--emdh-purple); }.emdh-training-includes p { margin: 0; color: #423a4e; }

/* Give the teacher note the same reading rhythm as the story introduction. */
.emdh-product-about { margin: 2.2rem 0 2.4rem; color: #423a4e; font-size: 1.1rem; line-height: 1.78; }.emdh-product-about p { margin: 0; }

/* Let the paired-card headings settle into two balanced lines. */
.emdh-product-resources .emdh-what-includes h2, .emdh-product-resources .emdh-benefits h2 { max-width: none; font-size: clamp(1.3rem, 1.8vw, 1.65rem); }

/* Shared production typography: mirrors the site's Montserrat system. */
.emdh-blog-shell h1, .emdh-blog-shell h2, .emdh-blog-shell h3, .emdh-blog-shell h4, .emdh-blog-shell h5, .emdh-blog-shell h6,
.emdh-single-shell h1, .emdh-single-shell h2, .emdh-single-shell h3, .emdh-single-shell h4, .emdh-single-shell h5, .emdh-single-shell h6,
.emdh-shop-shell h1, .emdh-shop-shell h2, .emdh-shop-shell h3, .emdh-shop-shell h4, .emdh-shop-shell h5, .emdh-shop-shell h6,
.emdh-product-shell h1, .emdh-product-shell h2, .emdh-product-shell h3, .emdh-product-shell h4, .emdh-product-shell h5, .emdh-product-shell h6,
body.woocommerce-cart .entry-title, body.woocommerce-cart .woocommerce h1, body.woocommerce-cart .woocommerce h2,
body.woocommerce-checkout .entry-title, body.woocommerce-checkout .woocommerce h1, body.woocommerce-checkout .woocommerce h2 { font-family: 'Montserrat', sans-serif !important; font-weight: 700; letter-spacing: -.04em; }

.emdh-blog-shell h1 { max-width: 13ch; font-size: clamp(1.9rem, 3.5vw, 3.2rem); line-height: .98; }
.emdh-blog-shell .emdh-card-copy h2 { font-size: clamp(1.2rem, 1.65vw, 1.55rem); line-height: 1.14; letter-spacing: -.04em; }
body .emdh-single-shell .emdh-single-title { font-size: clamp(1.85rem, 3.4vw, 3.1rem); line-height: .98; letter-spacing: -.055em; }
.emdh-article-content h2 { font-size: clamp(1.65rem, 3vw, 2.35rem); line-height: 1.06; }.emdh-article-content h3 { font-size: clamp(1.3rem, 2.3vw, 1.75rem); line-height: 1.12; }
.emdh-related > h2 { font-size: clamp(1.75rem, 3.2vw, 2.6rem); line-height: 1.04; }.emdh-related-card h3 { font-size: 1.25rem; line-height: 1.15; }
.emdh-shop-hero h1 { max-width: 13ch; font-size: clamp(1.9rem, 3.5vw, 3.2rem); line-height: .98; }.emdh-section-heading h2 { font-size: clamp(1.85rem, 2.6vw, 2.27rem); line-height: 1.02; }
.emdh-plan h3 { font-size: clamp(1.15rem, 1.6vw, 1.4rem); line-height: 1.18; }.emdh-story-body h2 { font-size: 1.4rem; line-height: 1.14; }.emdh-product-copy h1 { font-size: clamp(1.9rem, 3.5vw, 3.2rem); line-height: .98; }.emdh-product-description h2 { font-size: clamp(1.7rem, 3vw, 2.35rem); line-height: 1.06; }.emdh-benefits h2, .emdh-what-includes h2 { font-size: clamp(1.75rem, 3vw, 2.55rem); line-height: 1.04; }
body.woocommerce-cart .entry-title, body.woocommerce-cart .woocommerce h1, body.woocommerce-checkout .entry-title, body.woocommerce-checkout .woocommerce h1 { font-size: clamp(2rem, 2.9vw, 2.3rem); line-height: 1.02; }

/* WooCommerce account: compact title and accessible horizontal navigation tabs. */
body.woocommerce-account .page-header { max-width: 1240px; margin: 0 auto; padding: clamp(2.25rem, 5vw, 4rem) 1.5rem 1.4rem; }
body.woocommerce-account .page-header .entry-title { margin: 0; color: var(--emdh-ink); font-family: 'Montserrat', sans-serif !important; font-size: clamp(2.15rem, 3.0vw, 2.59rem) !important; font-weight: 800; letter-spacing: -.055em; line-height: 1; }
body.woocommerce-account .page-content { max-width: 1240px; margin: 0 auto; padding: 0 1.5rem clamp(3.5rem, 6vw, 5rem); }
body.woocommerce-account .woocommerce-MyAccount-navigation { float: none !important; width: 100% !important; margin: 0 0 1.5rem; padding: .55rem !important; border-radius: 18px !important; background: #f1ebff !important; }
body.woocommerce-account .woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: wrap; gap: .4rem; margin: 0; padding: 0; list-style: none; }
body.woocommerce-account .woocommerce-MyAccount-navigation li { margin: 0 !important; padding: 0 !important; border: 0 !important; }
body.woocommerce-account .woocommerce-MyAccount-navigation a { display: block !important; padding: .72rem .95rem !important; border-radius: 11px !important; color: var(--emdh-ink) !important; font-size: .9rem; font-weight: 750 !important; line-height: 1.2; text-decoration: none !important; transition: background .18s ease, color .18s ease, transform .18s ease; }
body.woocommerce-account .woocommerce-MyAccount-navigation a:hover, body.woocommerce-account .woocommerce-MyAccount-navigation a:focus-visible { background: #e0d5ff !important; color: #5132bc !important; outline: 0; transform: translateY(-1px); }
body.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { background: var(--emdh-purple) !important; color: #fff !important; box-shadow: 0 5px 14px rgba(112,79,230,.22); }
body.woocommerce-account .woocommerce-MyAccount-content { float: none !important; width: 100% !important; margin: 0; }
@media (max-width: 600px) { body.woocommerce-account .page-header { padding: 2rem 1rem 1rem; } body.woocommerce-account .page-content { padding: 0 1rem 3rem; } body.woocommerce-account .woocommerce-MyAccount-navigation { overflow-x: auto; } body.woocommerce-account .woocommerce-MyAccount-navigation ul { flex-wrap: nowrap; min-width: max-content; } }

/* Hero del catálogo: círculo con video (mismo recurso que el Home) */
.emdh-shop-hero { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); column-gap: clamp(1.5rem, 5vw, 4.5rem); align-items: center; }
.emdh-shop-hero::after { display: none; }
.emdh-shop-hero > .emdh-shop-kicker, .emdh-shop-hero > h1, .emdh-shop-hero > p:not(.emdh-shop-kicker) { grid-column: 1; }
.emdh-shop-hero > .emdh-shop-hero-media { grid-column: 2; grid-row: 1 / span 3; justify-self: center; width: min(100%, 27rem); position: relative; }
.emdh-shop-blob { position: relative; aspect-ratio: 1; overflow: hidden; border-radius: 44% 56% 48% 52% / 52% 44% 56% 48%; background: var(--emdh-purple, #704fe6); box-shadow: 0 30px 60px -28px rgba(112, 79, 230, .6), 0 0 0 .6rem #fff; }
.emdh-shop-blob video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.emdh-shop-doodle { position: absolute; pointer-events: none; }
.emdh-shop-doodle--star { top: -1rem; right: 6%; width: 3.2rem; color: #ee9d1c; transform: rotate(12deg); }
.emdh-shop-doodle--squiggle { bottom: -.3rem; left: -1rem; width: 6.5rem; color: #ed4c99; }
@media (max-width: 860px) { .emdh-shop-hero { grid-template-columns: 1fr; } .emdh-shop-hero > .emdh-shop-hero-media { grid-column: 1; grid-row: auto; margin-top: 2rem; width: min(78%, 20rem); } }
.emdh-shop-hero > p:not(.emdh-shop-kicker) { max-width: 39rem; margin: 0; color: var(--emdh-muted); font-size: clamp(1.04rem, 2vw, 1.22rem); line-height: 1.7; }
.emdh-shop-hero { align-content: center; row-gap: 0; }
.emdh-shop-hero > .emdh-shop-hero-media { align-self: center; }

/* Blog: círculo con ilustración, siempre detrás de las tarjetas */
.emdh-blog-shell { isolation: isolate; }
.emdh-blog-shell .emdh-blog-intro::after { display: none; }
.emdh-blog-shell .emdh-blog-intro > .emdh-blog-art { position: absolute; z-index: -1; right: clamp(-5rem, -3vw, -1rem); top: .5rem; display: grid; place-items: end center; width: min(34vw, 29rem); aspect-ratio: 1; overflow: hidden; border-radius: 50%; background: var(--emdh-lilac); }
.emdh-blog-art img { display: block; width: auto; height: 84%; }
@media (max-width: 720px) { .emdh-blog-shell .emdh-blog-intro > .emdh-blog-art { width: 13rem; right: -3rem; top: 1rem; opacity: .9; } }

/* Aviso profesional al final del catálogo */
.emdh-shop-notice { max-width: 1240px; margin: 0 auto; padding: 0 1.5rem clamp(2.5rem, 5vw, 4.5rem); }
.emdh-shop-notice .emdh-professional-notice { max-width: none; margin: 0; padding: clamp(1.2rem, 2.4vw, 1.9rem); border: 0; border-radius: 2rem 2.6rem 2.1rem 2.7rem / 2.6rem 2.1rem 2.7rem 2rem; background: #ffe6d9; box-shadow: none; }
.emdh-shop-notice .emdh-professional-notice p { margin: 0 0 .6rem; color: #4a3d3a; font-size: .95rem; line-height: 1.6; }
.emdh-shop-notice .emdh-professional-notice p:last-child { margin-bottom: 0; }
@media (max-width: 720px) { .emdh-blog-shell .emdh-blog-intro > .emdh-blog-art { width: 8.5rem; right: -2.2rem; top: -.4rem; opacity: .35; } .emdh-blog-shell .emdh-blog-intro { padding-top: 5rem; } }

/* Catálogo: orden cuentos → capacitación → planes, hero con ilustración y portadas en mini slider */
.emdh-shop-blob { background: #dcd0ff; display: grid; place-items: end center; }
.emdh-shop-blob img { width: 96%; height: auto; display: block; }
.emdh-programs-heading { max-width: 1240px; margin: 0 auto 1.25rem; }
.emdh-programs-heading h2 { margin: .3rem 0 0; font-size: clamp(1.7rem, 2.6vw, 2.3rem); line-height: 1.05; }
.emdh-programs--plans, .emdh-programs--training { padding-top: clamp(2rem, 4vw, 3rem); padding-bottom: clamp(2rem, 4vw, 3rem); }
.emdh-programs--plans { padding-bottom: clamp(5rem, 9vw, 8rem); }
.emdh-plan-grid--single { grid-template: auto / minmax(0, 1fr); }
.emdh-plan-grid--offers { grid-template: minmax(0, 1fr) / repeat(2, minmax(0, 1fr)); align-items: stretch; }
.emdh-plan-grid--offers .emdh-plan-featured { grid-row: auto; }
.emdh-plan-grid--offers > .emdh-plan { align-self: stretch; height: 100%; display: flex; flex-direction: column; }
.emdh-plan-grid--offers .emdh-payment-note { margin-top: auto; }
.emdh-training-overview { max-width: 1240px; margin: 0 auto; padding: clamp(1rem, 3vw, 2.5rem) 1.5rem clamp(3.5rem, 7vw, 6rem); }
.emdh-training-overview .emdh-programs-heading > p:last-child { max-width: 52rem; margin: 1rem 0 0; color: var(--emdh-muted); line-height: 1.65; }
.emdh-training-overview__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.2rem; margin-top: 2rem; }
.emdh-training-overview__grid article { padding: 1.5rem; border-radius: 1.45rem; background: #fff; box-shadow: 0 12px 32px rgba(42,16,67,.07); }.emdh-training-overview__grid article:nth-child(2) { background: #f4efff; }.emdh-training-overview__grid article:nth-child(3) { background: #eaf8f0; }
.emdh-training-overview__grid article > p:first-child { margin: 0 0 .35rem; color: var(--emdh-purple); font-size: .73rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }.emdh-training-overview__grid h3 { margin: 0; font-size: clamp(1.2rem, 1.8vw, 1.45rem); line-height: 1.12; }.emdh-training-overview__grid span { display: block; margin: .65rem 0 .8rem; color: var(--emdh-pink); font-size: .82rem; font-weight: 800; }.emdh-training-overview__grid article > p:not(:first-child) { margin: 0; color: #423a4e; font-size: .94rem; line-height: 1.57; }.emdh-training-overview details { margin-top: 1rem; padding-top: .8rem; border-top: 1px solid rgba(23,13,37,.13); }.emdh-training-overview summary { color: var(--emdh-purple); cursor: pointer; font-size: .86rem; font-weight: 800; }.emdh-training-overview details ul { margin: .65rem 0 0; padding-left: 1.15rem; color: #423a4e; font-size: .86rem; line-height: 1.55; }.emdh-training-overview__materials { margin: 1.2rem 0 0; padding: 1rem 1.2rem; border-radius: 1rem; background: var(--emdh-lilac); color: #423a4e; font-size: .92rem; line-height: 1.5; }
@media (max-width: 900px) { .emdh-plan-grid--offers, .emdh-training-overview__grid { grid-template-columns: 1fr; }.emdh-plan-grid--offers .emdh-plan-featured { margin-top: 2rem; } }
.emdh-story-cover { position: relative; }
.emdh-story-cover.has-covers .emdh-story-visual { aspect-ratio: 3 / 2; min-height: 0; }
.emdh-story-cover.has-covers .emdh-story-visual::before { display: none; }
.emdh-cover-slide { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity .6s ease; }
.emdh-cover-slide.is-active { opacity: 1; }
.emdh-story-chip { position: absolute; z-index: 2; left: .9rem; top: .9rem; padding: .3rem .65rem; border-radius: 999px; background: rgba(255,255,255,.88); color: var(--emdh-ink); font-size: .72rem; font-weight: 800; letter-spacing: .06em; }
.emdh-cover-dots { position: absolute; z-index: 3; left: 0; right: 0; bottom: .6rem; display: flex; justify-content: center; gap: .1rem; pointer-events: none; }
.emdh-cover-dots button { pointer-events: auto; width: 1.5rem; height: 1.5rem; padding: 0; border: 0; background: none; cursor: pointer; position: relative; }
.emdh-cover-dots button::after { content: ''; position: absolute; inset: 50% auto auto 50%; width: .5rem; height: .5rem; margin: -.25rem 0 0 -.25rem; border-radius: 50%; background: rgba(255,255,255,.7); box-shadow: 0 0 0 1px rgba(23,13,37,.25); transition: transform .2s; }
.emdh-cover-dots button.is-active::after { background: #fff; transform: scale(1.35); }
@media (prefers-reduced-motion: reduce) { .emdh-cover-slide { transition: none; } }
.woocommerce .emdh-stories-section ul.products[class*="columns-"] li.product, .woocommerce-page .emdh-stories-section ul.products[class*="columns-"] li.product { width: auto; float: none; margin: 0; }
/* Ficha del cuento: slider de portadas dentro del blob (mismo look que el catálogo) */
.emdh-product-illustration.has-covers::before { display: none; }
.emdh-product-illustration.has-covers .emdh-cover-slide { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity .6s ease; }
.emdh-product-illustration.has-covers .emdh-cover-slide.is-active { opacity: 1; }
.emdh-product-illustration.has-covers .emdh-story-chip { position: absolute; z-index: 2; left: 50%; top: 1.5rem; transform: translateX(-50%); padding: .35rem .75rem; border-radius: 999px; background: rgba(255,255,255,.88); color: var(--emdh-ink); font-size: .78rem; font-weight: 800; letter-spacing: .06em; white-space: nowrap; }
.emdh-product-illustration.has-covers .emdh-cover-dots { position: absolute; z-index: 3; left: 0; right: 0; bottom: 1.2rem; display: flex; justify-content: center; gap: .1rem; pointer-events: none; }
.emdh-product-illustration.has-covers .emdh-cover-dots button { pointer-events: auto; width: 1.5rem; height: 1.5rem; padding: 0; border: 0; background: none; cursor: pointer; position: relative; }
.emdh-product-illustration.has-covers .emdh-cover-dots button::after { content: ''; position: absolute; inset: 50% auto auto 50%; width: .5rem; height: .5rem; margin: -.25rem 0 0 -.25rem; border-radius: 50%; background: rgba(255,255,255,.7); box-shadow: 0 0 0 1px rgba(23,13,37,.25); transition: transform .2s; }
.emdh-product-illustration.has-covers .emdh-cover-dots button.is-active::after { background: #fff; transform: scale(1.35); }
@media (prefers-reduced-motion: reduce) { .emdh-product-illustration.has-covers .emdh-cover-slide { transition: none; } }

/* Category archive: breadcrumb + pagination, matching the blog listing system. */
.emdh-blog-shell .emdh-blog-intro .emdh-breadcrumb { display: block; margin: .9rem 0 0; }
.emdh-blog-shell .emdh-blog-intro h1 { margin-top: .6rem; }
.emdh-blog-pagination { max-width: 1240px; margin: -2rem auto clamp(5rem, 10vw, 9rem); padding: 0 1.5rem; }
.emdh-blog-pagination ul { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0; padding: 0; list-style: none; }
.emdh-blog-pagination .page-numbers { display: inline-flex; min-width: 2.6rem; min-height: 2.6rem; align-items: center; justify-content: center; padding: 0 .9rem; border-radius: 999px; background: #fff; color: var(--emdh-ink); font-weight: 700; text-decoration: none; }
.emdh-blog-pagination .page-numbers.current { background: var(--emdh-purple); color: #fff; }
.emdh-blog-pagination .page-numbers.dots { background: none; }
.emdh-blog-pagination a.page-numbers:hover { background: var(--emdh-lilac); }
