/*
Theme Name: Juegos Montessori
Theme URI: https://www.juegos-montessori.com
Author: Juegos Montessori
Description: Tema a medida para juegos-montessori.com — contenido educativo Montessori en español. Ligero, mobile-first, sin page builder. Basado en el handoff de diseño (Quicksand + Nunito Sans, paleta crema/rosa/salvia).
Version: 1.0.5
Requires at least: 6.0
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: juegosmontessori
*/

/* ---------- Fuentes autoalojadas (variables) ---------- */
@font-face{font-family:'Quicksand';src:url(fonts/quicksand-var.woff2) format('woff2-variations');font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:'Nunito Sans';src:url(fonts/nunitosans-var.woff2) format('woff2-variations');font-weight:200 1000;font-style:normal;font-display:swap}

/* ---------- Tokens ---------- */
:root{
  --crema:#FDF8F4;--crema2:#FBF2EC;--fuera:#EFE9E3;--blanco:#FFFFFF;
  --rosa:#E08A97;--rosa-hover:#D0757F;--rosa-d:#B9636F;--rosa-c:#F6DEE2;
  --verde:#5F7A63;--verde-d:#3F5744;--verde-t:#4F6B54;--verde-t2:#57705B;
  --verde-c:#EDF1EB;--verde-c2:#DCE5DA;
  --mostaza:#A6761A;--mostaza-bg:#F7E3BE;--arena:#7A6650;--arena-bg:#EDE2D6;
  --tinta:#43413F;--texto:#4E4945;--texto2:#6C645E;--texto3:#736C66;--miga:#6E655E;
  --borde:#F0E6DE;--borde2:#E6D9CE;--sep:#F4ECE5;
  --pie:#43413F;--pie-t:#CBC4BD;--pie-h:#8E867F;--pie-l:#55524F;
  --sombra:0 12px 28px -22px rgba(67,65,63,.5);
  --sombra-hover:0 16px 32px -22px rgba(67,65,63,.55);
  --titulo:'Quicksand',ui-rounded,'Segoe UI',sans-serif;
  --cuerpo:'Nunito Sans','Segoe UI',Roboto,Arial,sans-serif;
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--crema);color:var(--texto);font-family:var(--cuerpo);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--verde-t);text-decoration:none}
a:hover{color:var(--rosa)}
h1,h2,h3,h4{font-family:var(--titulo);color:var(--tinta);line-height:1.2;margin:0 0 .5em}
p{margin:0 0 1em}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--verde);outline-offset:2px;border-radius:4px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--verde);color:#fff;padding:10px 18px;border-radius:0 0 12px 0;z-index:200}
.skip-link:focus{left:0;color:#fff}
.jm-container{max-width:1120px;margin:0 auto;padding-left:20px;padding-right:20px}
@media(min-width:768px){.jm-container{padding-left:24px;padding-right:24px}}
@media(min-width:1024px){.jm-container{padding-left:32px;padding-right:32px}}
@media(min-width:1200px){.jm-container{padding-left:40px;padding-right:40px}}

/* ---------- Botones ---------- */
.jm-btn{display:inline-block;background:var(--rosa);color:#fff;font-family:var(--cuerpo);font-weight:700;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;padding:14px 26px;border-radius:999px;border:0;cursor:pointer;transition:background 160ms ease-out,transform 160ms ease-out}
.jm-btn:hover{background:var(--rosa-hover);color:#fff}
.jm-btn--sec{background:transparent;border:1.5px solid #A6B7A4;color:var(--verde-t)}
.jm-btn--sec:hover{background:var(--verde-c);color:var(--verde-t)}
.jm-btn--verde{background:var(--verde)}
.jm-btn--verde:hover{background:var(--verde-t)}

/* ---------- Header ---------- */
.jm-header{background:var(--crema);border-bottom:1px solid var(--borde);position:relative;z-index:50}
.jm-header__in{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:14px;padding-bottom:14px}
.jm-brand{display:flex;align-items:center;gap:12px;min-width:0}
.jm-brand__logo{width:44px;height:44px;border-radius:12px;flex:0 0 auto}
.jm-brand__txt{line-height:1.05}
.jm-brand__name{font-family:var(--titulo);font-weight:700;font-size:19px;white-space:nowrap}
.jm-brand__name .r{color:var(--rosa)}
.jm-brand__name .v{color:var(--verde)}
.jm-brand__base{display:none;font-size:9px;letter-spacing:.24em;color:#8A8078;text-transform:uppercase;margin-top:3px}
@media(min-width:480px){.jm-brand__base{display:block}}
@media(min-width:900px){.jm-brand__logo{width:52px;height:52px;border-radius:14px}.jm-brand__name{font-size:22px}}
.jm-nav{display:none}
.jm-nav ul{list-style:none;display:flex;gap:26px;margin:0;padding:0}
.jm-nav a{font-size:13px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--tinta)}
.jm-nav a:hover{color:var(--rosa)}
@media(min-width:900px){.jm-nav{display:block}}
.jm-header__tools{display:flex;align-items:center;gap:10px}
.jm-searchbtn{width:38px;height:38px;border-radius:999px;background:var(--rosa);display:flex;align-items:center;justify-content:center;cursor:pointer;border:0;transition:background 160ms}
.jm-searchbtn:hover{background:var(--rosa-hover)}
.jm-searchbtn svg{width:16px;height:16px;stroke:#fff;stroke-width:2.1;fill:none}
.jm-burger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:38px;height:38px;border-radius:10px;border:1.5px solid var(--borde2);background:var(--blanco);cursor:pointer;padding:0 9px}
.jm-burger span{display:block;height:2px;background:var(--tinta);border-radius:2px;transition:transform 160ms,opacity 160ms}
@media(min-width:900px){.jm-burger{display:none}}
#jm-menu-t,#jm-search-t{position:absolute;opacity:0;pointer-events:none}
/* Panel búsqueda */
.jm-searchpanel{display:none;background:var(--crema2);border-bottom:1px solid var(--borde)}
#jm-search-t:checked ~ .jm-searchpanel{display:block}
.jm-searchpanel .jm-container{padding-top:18px;padding-bottom:18px}
/* Menú móvil */
.jm-mobilenav{display:none;background:var(--crema);border-bottom:1px solid var(--borde)}
#jm-menu-t:checked ~ .jm-mobilenav{display:block}
#jm-menu-t:checked ~ .jm-header__row .jm-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
#jm-menu-t:checked ~ .jm-header__row .jm-burger span:nth-child(2){opacity:0}
#jm-menu-t:checked ~ .jm-header__row .jm-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.jm-mobilenav ul{list-style:none;margin:0;padding:10px 0 22px}
.jm-mobilenav a{display:block;padding:12px 0;font-family:var(--titulo);font-size:20px;font-weight:600;color:var(--tinta);border-bottom:1px solid var(--sep)}
.jm-mobilenav a:hover{color:var(--rosa)}
@media(min-width:900px){.jm-mobilenav{display:none!important}}

/* ---------- Formulario búsqueda ---------- */
.jm-searchform{display:flex;gap:10px;max-width:560px}
.jm-searchform input[type=search]{flex:1;min-width:0;border:1.5px solid var(--borde2);background:var(--blanco);border-radius:999px;padding:12px 20px;font-family:var(--cuerpo);font-size:15px;color:var(--texto)}
.jm-searchform input[type=search]::placeholder{color:var(--texto3)}

/* ---------- Hero (portada) ---------- */
.jm-hero{background:var(--crema2);overflow:hidden;position:relative}
.jm-hero__in{position:relative;display:grid;grid-template-columns:1fr;gap:34px;padding-top:44px;padding-bottom:56px}
.jm-hero__blob1{position:absolute;top:-120px;left:-80px;width:320px;height:320px;border-radius:50%;background:var(--rosa-c);opacity:.7;pointer-events:none}
.jm-hero__blob2{position:absolute;bottom:-160px;right:-100px;width:420px;height:340px;border-radius:50%;background:var(--verde-c2);opacity:.8;pointer-events:none}
.jm-hero__copy{position:relative}
.jm-badge{display:inline-block;background:var(--blanco);border-radius:999px;padding:8px 16px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--verde);box-shadow:var(--sombra)}
.jm-hero h1{font-size:34px;font-weight:700;line-height:1.1;margin:18px 0 14px}
.jm-hero h1 em{font-style:normal;color:var(--rosa)}
.jm-hero__txt{font-size:16px;line-height:1.65;color:var(--texto2);max-width:520px}
.jm-hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.jm-hero__media{position:relative}
.jm-hero__media img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:24px;box-shadow:var(--sombra)}
@media(min-width:768px){.jm-hero h1{font-size:44px}}
@media(min-width:1024px){.jm-hero__in{grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;padding-top:64px;padding-bottom:88px}.jm-hero h1{font-size:52px}.jm-hero__txt{font-size:17px}}

/* ---------- Piliers ---------- */
.jm-pillars{position:relative;z-index:5}
.jm-pillars__grid{display:grid;grid-template-columns:1fr;gap:18px;margin-top:24px}
@media(min-width:768px){.jm-pillars__grid{grid-template-columns:1fr 1fr;margin-top:-44px}}
@media(min-width:1024px){.jm-pillars__grid{grid-template-columns:repeat(4,1fr)}}
.jm-pillar{background:var(--blanco);border:1px solid var(--borde);border-radius:18px;padding:22px;display:flex;gap:14px;align-items:flex-start;box-shadow:var(--sombra);transition:transform 160ms ease-out,box-shadow 160ms ease-out}
.jm-pillar:hover{transform:translateY(-2px);box-shadow:var(--sombra-hover)}
.jm-pillar__ico{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.jm-pillar__ico svg{width:22px;height:22px;fill:none;stroke-width:1.7}
.jm-pillar h3{font-size:17px;margin:2px 0 3px}
.jm-pillar p{font-size:13.5px;color:var(--texto2);margin:0}
.jm-pillar a{color:inherit}
.jm-pillar h3 a:hover{color:var(--rosa)}

/* ---------- Secciones ---------- */
.jm-section{padding-top:44px}
.jm-section__head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:20px}
.jm-section__head h2{font-size:24px;margin:0}
@media(min-width:768px){.jm-section__head h2{font-size:27px}}
.jm-verlink{font-size:13.5px;font-weight:700;color:#C9737F;white-space:nowrap}
.jm-verlink:hover{color:var(--rosa-d)}

/* ---------- Tarjetas ---------- */
.jm-card{background:var(--blanco);border:1px solid var(--borde);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--sombra);transition:transform 160ms ease-out,box-shadow 160ms ease-out;position:relative}
.jm-card:hover{transform:translateY(-2px);box-shadow:var(--sombra-hover)}
.jm-card__media{position:relative}
.jm-card__media img{width:100%;aspect-ratio:3/2;object-fit:cover}
.jm-card__body{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1}
.jm-kicker{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--verde);margin-bottom:7px}
.jm-card h3{font-size:18px;line-height:1.32;margin:0 0 8px}
.jm-card h3 a{color:var(--tinta)}
.jm-card h3 a::after{content:"";position:absolute;inset:0}
.jm-card:hover h3 a{color:var(--rosa)}
.jm-card__exc{font-size:14px;line-height:1.55;color:var(--texto2);margin:0 0 12px}
.jm-meta{font-size:12.5px;color:var(--texto3);margin-top:auto}
.jm-agebadge{position:absolute;top:12px;left:12px;background:var(--crema);border-radius:999px;padding:5px 12px;font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--verde);z-index:2}
.jm-grid3{display:grid;grid-template-columns:1fr;gap:22px}
@media(min-width:680px){.jm-grid3{grid-template-columns:1fr 1fr}}
@media(min-width:1024px){.jm-grid3{grid-template-columns:repeat(3,1fr)}}

/* Populares : destacada + 3 horizontales */
.jm-pop{display:grid;grid-template-columns:1fr;gap:22px}
@media(min-width:1024px){.jm-pop{grid-template-columns:1.4fr 1fr}}
.jm-card--feat .jm-card__media img{aspect-ratio:16/9}
.jm-card--feat h3{font-size:22px}
@media(min-width:1024px){.jm-card--feat h3{font-size:26px}}
.jm-pop__side{display:flex;flex-direction:column;gap:16px}
.jm-minicard{display:flex;gap:14px;align-items:center;background:var(--blanco);border:1px solid var(--borde);border-radius:14px;padding:12px;box-shadow:var(--sombra);transition:transform 160ms,box-shadow 160ms;position:relative}
.jm-minicard:hover{transform:translateY(-2px);box-shadow:var(--sombra-hover)}
.jm-minicard img{width:88px;height:76px;object-fit:cover;border-radius:12px;flex:0 0 auto}
.jm-minicard .jm-kicker{margin-bottom:4px}
.jm-minicard h3{font-size:16.5px;line-height:1.3;margin:0}
.jm-minicard h3 a{color:var(--tinta)}
.jm-minicard h3 a::after{content:"";position:absolute;inset:0}
.jm-minicard:hover h3 a{color:var(--rosa)}

/* ---------- Bloque edades ---------- */
.jm-ages{background:var(--verde-c);border-radius:22px;padding:26px 20px;margin-top:44px}
@media(min-width:768px){.jm-ages{padding:36px 40px}}
.jm-ages h2{font-size:24px;text-align:center;margin-bottom:22px;color:var(--verde-d)}
@media(min-width:768px){.jm-ages h2{font-size:27px}}
.jm-ages__grid{display:grid;grid-template-columns:1fr;gap:14px}
@media(min-width:680px){.jm-ages__grid{grid-template-columns:1fr 1fr}}
@media(min-width:1024px){.jm-ages__grid{grid-template-columns:repeat(5,1fr)}}
.jm-agecard{background:var(--blanco);border-radius:16px;padding:20px 14px;text-align:center;box-shadow:var(--sombra);transition:transform 160ms,box-shadow 160ms;position:relative}
.jm-agecard:hover{transform:translateY(-2px);box-shadow:var(--sombra-hover)}
.jm-agecard__num{font-family:var(--titulo);font-size:22px;font-weight:700;color:var(--rosa)}
.jm-agecard__lbl{font-size:13px;color:var(--texto2);margin-top:4px}
.jm-agecard a{color:inherit}
.jm-agecard a::after{content:"";position:absolute;inset:0}

/* ---------- Newsletter ---------- */
.jm-news{background:var(--rosa-c);border-radius:22px;padding:30px 22px;margin-top:52px}
@media(min-width:768px){.jm-news{padding:44px}}
.jm-news__in{display:grid;grid-template-columns:1fr;gap:22px;align-items:center}
@media(min-width:1024px){.jm-news__in{grid-template-columns:1fr .8fr}}
.jm-news h2{font-size:24px;margin-bottom:8px;color:var(--tinta)}
.jm-news p{font-size:14.5px;color:var(--rosa-d);margin:0}
.jm-news form{display:flex;flex-direction:column;gap:12px}
@media(min-width:680px){.jm-news form{flex-direction:row}}
.jm-news input[type=email]{flex:1;min-width:0;border:0;background:var(--blanco);border-radius:999px;padding:14px 22px;font-family:var(--cuerpo);font-size:15px;color:var(--texto)}
.jm-news__ok{background:var(--blanco);border-radius:12px;padding:12px 18px;font-weight:700;color:var(--verde-d);margin-bottom:14px}
.jm-hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}

/* ---------- Paginación ---------- */
.jm-pagination{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:40px 0 8px}
.jm-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 14px;border-radius:999px;background:var(--blanco);border:1px solid var(--borde2);font-size:14px;font-weight:700;color:var(--tinta)}
.jm-pagination .page-numbers.current{background:var(--rosa);border-color:var(--rosa);color:#fff}
.jm-pagination .page-numbers:hover{border-color:var(--rosa);color:var(--rosa)}
.jm-pagination .page-numbers.current:hover{color:#fff}
.jm-pagination .page-numbers.dots{border:0;background:transparent}

/* ---------- Bandeau archive / blog ---------- */
.jm-band{background:var(--crema2);border-bottom:1px solid var(--borde)}
.jm-band__in{padding-top:30px;padding-bottom:30px}
@media(min-width:768px){.jm-band__in{padding-top:44px;padding-bottom:44px}}
.jm-crumbs{font-size:12.5px;color:var(--miga);margin-bottom:10px}
.jm-crumbs a{color:var(--miga)}
.jm-crumbs a:hover{color:var(--rosa)}
.jm-band h1{font-size:32px;margin:0 0 8px}
@media(min-width:768px){.jm-band h1{font-size:40px}}
.jm-band__txt{font-size:15px;color:var(--texto2);max-width:640px;margin:0}
.jm-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.jm-pill{display:inline-block;background:var(--blanco);border:1px solid var(--borde2);border-radius:999px;padding:8px 16px;font-size:12.5px;font-weight:700;color:var(--tinta)}
.jm-pill:hover{border-color:var(--rosa);color:var(--rosa)}
.jm-pill--on{background:var(--rosa);border-color:var(--rosa);color:#fff}
.jm-pill--on:hover{color:#fff}
.jm-pill--verde{background:var(--verde);border-color:var(--verde);color:#fff}
.jm-pill--verde:hover{color:#fff}

/* ---------- Layout con sidebar ---------- */
.jm-main{padding-top:34px;padding-bottom:56px}
.jm-cols{display:grid;grid-template-columns:1fr;gap:36px}
@media(min-width:1024px){.jm-cols{grid-template-columns:1fr 320px}}
.jm-sidebar{display:flex;flex-direction:column;gap:22px}
@media(min-width:1024px){.jm-sidebar__sticky{position:sticky;top:20px;display:flex;flex-direction:column;gap:22px}}
.jm-widget{background:var(--blanco);border:1px solid var(--borde);border-radius:16px;padding:20px}
.jm-widget--verde{background:var(--verde-c);border-color:var(--verde-c)}
.jm-widget--rosa{background:var(--rosa-c);border-color:var(--rosa-c)}
.jm-widget h2{font-size:15px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--verde-d);margin-bottom:14px}
.jm-widget--rosa h2{color:var(--rosa-d)}
.jm-widget .jm-searchform input[type=search]{background:var(--crema2);border-color:var(--crema2)}
.jm-catlist{list-style:none;margin:0;padding:0}
.jm-catlist li{border-bottom:1px solid var(--sep)}
.jm-catlist li:last-child{border-bottom:0}
.jm-catlist a{display:flex;justify-content:space-between;gap:10px;padding:9px 2px;font-size:14.5px;font-weight:600;color:var(--texto)}
.jm-catlist a:hover{color:var(--rosa)}
.jm-catlist .n{color:var(--texto3);font-weight:400}
.jm-side-mini{display:flex;gap:12px;align-items:center;padding:8px 0;border-bottom:1px solid var(--sep);position:relative}
.jm-side-mini:last-child{border-bottom:0}
.jm-side-mini img{width:56px;height:52px;object-fit:cover;border-radius:10px;flex:0 0 auto}
.jm-side-mini h3{font-size:13.5px;line-height:1.35;margin:0;font-weight:600}
.jm-side-mini h3 a{color:var(--texto)}
.jm-side-mini h3 a::after{content:"";position:absolute;inset:0}
.jm-side-mini:hover h3 a{color:var(--rosa)}
.jm-pillcloud{display:flex;flex-wrap:wrap;gap:8px}
.jm-pillcloud a{background:var(--crema2);border-radius:999px;padding:7px 14px;font-size:12.5px;font-weight:700;color:var(--verde-t)}
.jm-pillcloud a:hover{color:var(--rosa)}
.jm-autora{display:flex;gap:14px;align-items:center}
.jm-autora__av{width:56px;height:56px;border-radius:50%;background:var(--rosa-c);color:var(--rosa-d);font-family:var(--titulo);font-weight:700;font-size:24px;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.jm-autora h3{font-size:16px;margin:0 0 2px}
.jm-autora p{font-size:13px;color:var(--texto2);margin:0}

/* ---------- Listado en filas (blog/archive) ---------- */
.jm-rows{display:flex;flex-direction:column;gap:20px}
.jm-rowcard{display:grid;grid-template-columns:1fr;background:var(--blanco);border:1px solid var(--borde);border-radius:16px;overflow:hidden;box-shadow:var(--sombra);transition:transform 160ms,box-shadow 160ms;position:relative}
.jm-rowcard:hover{transform:translateY(-2px);box-shadow:var(--sombra-hover)}
@media(min-width:680px){.jm-rowcard{grid-template-columns:240px 1fr}}
.jm-rowcard__media img{width:100%;height:100%;min-height:168px;aspect-ratio:16/10;object-fit:cover}
@media(min-width:680px){.jm-rowcard__media img{aspect-ratio:auto}}
.jm-rowcard__body{padding:18px 20px;display:flex;flex-direction:column}
.jm-rowcard h2{font-size:19px;line-height:1.3;margin:0 0 8px}
@media(min-width:768px){.jm-rowcard h2{font-size:22px}}
.jm-rowcard h2 a{color:var(--tinta)}
.jm-rowcard h2 a::after{content:"";position:absolute;inset:0}
.jm-rowcard:hover h2 a{color:var(--rosa)}
.jm-rowcard__exc{font-size:14.5px;line-height:1.55;color:var(--texto2);margin:0 0 12px}

/* ---------- Cabecera categoría ---------- */
.jm-cathead{background:var(--verde-c)}
.jm-cathead__in{display:grid;grid-template-columns:1fr;gap:22px;padding-top:32px;padding-bottom:32px}
@media(min-width:1024px){.jm-cathead__in{grid-template-columns:1fr 300px;align-items:center;padding-top:48px;padding-bottom:48px}}
.jm-cathead h1{font-size:32px;color:var(--verde-d);margin:0 0 10px}
@media(min-width:768px){.jm-cathead h1{font-size:42px}}
.jm-cathead__desc{font-size:16px;line-height:1.7;color:var(--verde-t2);margin:0;max-width:560px}
.jm-countcard{background:var(--blanco);border-radius:18px;padding:22px;text-align:center;box-shadow:var(--sombra)}
.jm-countcard__lbl{font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--verde)}
.jm-countcard__num{font-family:var(--titulo);font-size:34px;font-weight:700;color:var(--rosa);margin:6px 0 2px}
.jm-countcard__sub{font-size:12.5px;color:var(--texto3)}

/* ---------- Artículo ---------- */
.jm-single{padding-top:26px}
.jm-catbadge{display:inline-block;background:var(--rosa-c);color:var(--rosa-d);border-radius:999px;padding:7px 15px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.jm-catbadge:hover{color:var(--rosa-d);opacity:.85}
.jm-single h1{font-size:30px;line-height:1.15;margin:14px 0 16px}
@media(min-width:768px){.jm-single h1{font-size:42px}}
.jm-byline{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--texto2);margin-bottom:22px}
.jm-byline__av{width:36px;height:36px;border-radius:50%;background:var(--rosa-c);color:var(--rosa-d);font-family:var(--titulo);font-weight:700;font-size:16px;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.jm-byline b{color:var(--tinta)}
.jm-single__hero img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:20px;box-shadow:var(--sombra)}
.jm-toc{background:var(--verde-c);border-radius:16px;padding:20px 24px;margin:26px 0}
.jm-toc h2{font-size:15px;letter-spacing:.06em;text-transform:uppercase;color:var(--verde-d);margin:0 0 10px}
.jm-toc ol{margin:0;padding-left:20px}
.jm-toc li{margin:5px 0}
.jm-toc a{color:var(--verde-t);font-size:14px;font-weight:600}
.jm-toc a:hover{color:var(--rosa)}
/* Prose */
.jm-prose{font-size:16.5px;line-height:1.75;color:var(--texto);max-width:680px}
@media(min-width:768px){.jm-prose{font-size:17px}}
.jm-prose h2{font-size:23px;margin:34px 0 12px}
@media(min-width:768px){.jm-prose h2{font-size:27px}}
.jm-prose h3{font-size:19px;margin:26px 0 10px}
.jm-prose a{color:var(--rosa-d);text-decoration:underline;text-decoration-color:var(--rosa-c);text-underline-offset:3px}
.jm-prose a:hover{color:var(--rosa)}
.jm-prose img{border-radius:16px;margin:10px auto}
.jm-prose ul,.jm-prose ol{padding-left:24px;margin:0 0 1em}
.jm-prose li{margin:6px 0}
.jm-prose blockquote{border-left:3px solid var(--rosa);margin:22px 0;padding:4px 0 4px 20px;font-family:var(--titulo);font-size:19px;font-weight:600;color:#5F5A55}
@media(min-width:768px){.jm-prose blockquote{font-size:20px}}
.jm-prose blockquote p{margin:0}
.jm-prose iframe{max-width:100%;border-radius:16px}
.jm-prose figure{margin:16px 0}
.jm-prose table{width:100%;border-collapse:collapse;font-size:14.5px;display:block;overflow-x:auto}
.jm-prose th,.jm-prose td{border:1px solid var(--borde2);padding:9px 12px;text-align:left}
.jm-prose th{background:var(--crema2)}
/* Restos de plugins del contenido antiguo: ocultar por seguridad */
.jm-prose .dpsp-share-text,.jm-prose .dpsp-post-pinterest-image-hidden,.jm-prose .dpsp-content-hover-wrapper,.jm-prose .intelly-related-posts,.jm-prose .irp-shortcode-preview{display:none!important}
/* Ficha rápida */
.jm-ficha{background:var(--crema2);border:1px solid var(--borde);border-radius:16px;padding:20px 22px;margin:26px 0;display:grid;grid-template-columns:1fr;gap:14px;max-width:680px}
@media(min-width:680px){.jm-ficha{grid-template-columns:repeat(3,1fr)}}
.jm-ficha__lbl{font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--texto3)}
.jm-ficha__val{font-family:var(--titulo);font-size:18px;font-weight:700;color:var(--tinta);margin-top:3px}
/* Caja autora fin artículo */
.jm-authorbox{display:flex;gap:16px;align-items:center;background:var(--blanco);border:1px solid var(--borde);border-radius:16px;padding:20px;margin:34px 0;max-width:680px}
.jm-authorbox__av{width:66px;height:66px;border-radius:50%;background:var(--rosa-c);color:var(--rosa-d);font-family:var(--titulo);font-weight:700;font-size:28px;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.jm-authorbox h3{font-size:17px;margin:0 0 4px}
.jm-authorbox p{font-size:14px;color:var(--texto2);margin:0}
/* Relacionados */
.jm-related{margin-top:44px}
.jm-related h2{font-size:22px;margin-bottom:18px}
.jm-related .jm-card h3{font-size:16px}

/* ---------- Página estática ---------- */
.jm-page h1{font-size:30px;margin:0 0 20px}
@media(min-width:768px){.jm-page h1{font-size:40px}}
.jm-page .jm-prose{max-width:760px}

/* ---------- 404 ---------- */
.jm-404{text-align:center;padding:70px 0}
.jm-404 .num{font-family:var(--titulo);font-size:84px;font-weight:700;color:var(--rosa);line-height:1}
.jm-404 h1{font-size:28px;margin:10px 0 8px}
.jm-404 p{color:var(--texto2)}
.jm-404 .jm-searchform{margin:26px auto 0;justify-content:center}

/* ---------- Footer ---------- */
.jm-footer{background:var(--pie);color:var(--pie-t);margin-top:64px}
.jm-footer__in{display:grid;grid-template-columns:1fr;gap:30px;padding-top:40px;padding-bottom:26px}
@media(min-width:768px){.jm-footer__in{grid-template-columns:1fr 1fr;padding-top:48px}}
@media(min-width:1024px){.jm-footer__in{grid-template-columns:1.4fr 1fr 1fr 1fr}}
.jm-footer__brand .jm-brand__name{font-size:20px}
.jm-footer__brand .jm-brand__base{display:block;color:var(--pie-h)}
.jm-footer__brand p{font-size:13.5px;line-height:1.6;color:var(--pie-t);margin:12px 0 0;max-width:300px}
.jm-footer h2{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--pie-h);margin:0 0 14px}
.jm-footer ul{list-style:none;margin:0;padding:0}
.jm-footer li{margin:8px 0}
.jm-footer a{color:var(--pie-t);font-size:14px}
.jm-footer a:hover{color:#fff}
.jm-footer__bar{border-top:1px solid var(--pie-l)}
.jm-footer__bar .jm-container{display:flex;flex-direction:column;gap:6px;padding-top:16px;padding-bottom:18px;font-size:12px;color:var(--pie-t)}
@media(min-width:768px){.jm-footer__bar .jm-container{flex-direction:row;justify-content:space-between;align-items:center}}
.jm-footer__bar a{color:var(--pie-t);text-decoration:underline;text-underline-offset:2px}
.jm-footer__bar a:hover{color:#fff}

/* ---------- Fichas de producto ---------- */
.jm-prodgrid{display:grid;grid-template-columns:1fr;gap:20px;margin:24px 0 32px}
@media(min-width:680px){.jm-prodgrid{grid-template-columns:1fr 1fr}}
@media(min-width:1024px){.jm-prodgrid{grid-template-columns:repeat(3,1fr)}}
/* En pantallas grandes la rejilla de productos ocupa todo el contenedor,
   mientras el texto se queda en su ancho cómodo de lectura. */
@media(min-width:1024px){.jm-page .jm-prodgrid{width:min(1040px,calc(100vw - 64px))}}
.jm-prod{background:var(--blanco);border:1px solid var(--borde);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--sombra);transition:transform 160ms ease-out,box-shadow 160ms ease-out}
.jm-prod:hover{transform:translateY(-2px);box-shadow:var(--sombra-hover)}
.jm-prod__img{background:var(--blanco);padding:18px 18px 6px;display:flex;align-items:center;justify-content:center}
.jm-prod__img img{width:auto;max-height:190px;object-fit:contain;mix-blend-mode:multiply}
.jm-prod__body{padding:6px 20px 20px;display:flex;flex-direction:column;flex:1}
.jm-prod__edad{display:inline-block;align-self:flex-start;background:var(--verde-c);color:var(--verde-d);border-radius:999px;padding:4px 12px;font-size:11px;font-weight:700;letter-spacing:.06em;margin-bottom:9px}
.jm-prod__nombre{font-size:16.5px;line-height:1.32;margin:0 0 8px}
.jm-prod__nota{display:flex;align-items:center;gap:8px;margin-bottom:10px;flex-wrap:wrap}
.jm-stars{position:relative;display:inline-block;width:78px;height:14px;background:var(--borde2);-webkit-mask:repeating-linear-gradient(90deg,#000 0 12px,transparent 12px 15.6px);mask:repeating-linear-gradient(90deg,#000 0 12px,transparent 12px 15.6px);border-radius:2px}
.jm-stars__on{position:absolute;inset:0;background:#E8A33D;border-radius:2px}
.jm-prod__notatxt{font-size:12.5px;color:var(--texto3)}
.jm-prod__razon{font-size:14px;line-height:1.55;color:var(--texto2);margin:0 0 16px}
.jm-prod__pie{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.jm-prod__precio{font-family:var(--titulo);font-size:20px;font-weight:700;color:var(--tinta);white-space:nowrap}
.jm-prod__precio small{display:block;font-family:var(--cuerpo);font-size:10.5px;font-weight:400;color:var(--texto3);letter-spacing:.04em}
.jm-prose a.jm-prod__cta,a.jm-prod__cta{color:#fff;text-decoration:none;font-size:12px;padding:12px 18px}
.jm-avisoadmin{font-size:13.5px;line-height:1.6;color:#8A4B12;background:#FDF1DC;border:1.5px dashed #E0A85C;border-radius:14px;padding:14px 18px;margin:0 0 18px}
.jm-avisoadmin a{color:#8A4B12;text-decoration:underline}
.jm-prodnota{font-size:13px;line-height:1.6;color:var(--texto3);background:var(--crema2);border:1px solid var(--borde);border-radius:14px;padding:14px 18px;margin:8px 0 30px}
.jm-prose .jm-prodnota strong{color:var(--texto2)}

/* ---------- Contact Form 7 ---------- */
.jm-cf7 input[type=text],.jm-cf7 input[type=email],.jm-cf7 textarea{width:100%;border:1.5px solid var(--borde2);background:var(--blanco);border-radius:14px;padding:12px 18px;font-family:var(--cuerpo);font-size:15px;color:var(--texto);margin:4px 0 4px}
.jm-cf7 textarea{min-height:150px;border-radius:16px}
.jm-cf7 input[type=submit]{display:inline-block;background:var(--rosa);color:#fff;font-family:var(--cuerpo);font-weight:700;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;padding:14px 26px;border-radius:999px;border:0;cursor:pointer;transition:background 160ms ease-out;margin-top:10px}
.jm-cf7 input[type=submit]:hover{background:var(--rosa-hover)}
.jm-cf7 .wpcf7-not-valid-tip{color:var(--rosa-d);font-size:13px;margin-top:2px}
.wpcf7 form .wpcf7-response-output{border:1.5px solid var(--borde2);border-radius:12px;padding:10px 16px;margin:16px 0 0;font-size:14px}
.wpcf7 form.sent .wpcf7-response-output{border-color:var(--verde);color:var(--verde-d)}
.wpcf7 form.invalid .wpcf7-response-output,.wpcf7 form.failed .wpcf7-response-output{border-color:var(--rosa);color:var(--rosa-d)}
.wpcf7-spinner{display:none}

/* ---------- Utilidades ---------- */
.jm-mt0{margin-top:0}
.alignleft{float:left;margin:0 18px 12px 0}
.alignright{float:right;margin:0 0 12px 18px}
.aligncenter{margin-left:auto;margin-right:auto}
.wp-caption{max-width:100%}
.wp-caption-text{font-size:13px;color:var(--texto3);text-align:center;margin-top:6px}
