/*
Theme Name: Aprendo con Risas
Theme URI: https://aprendoconrisas.com
Author: Aprendo con Risas
Description: Tema a medida para aprendoconrisas.com — notas adhesivas de colores, tipografía manuscrita (Patrick Hand + Baloo 2) y fondos "stage" saturados que rotan por sección. Basado en el prototipo visual aprobado.
Version: 1.7.3
Requires at least: 6.0
Requires PHP: 7.4
License: Uso privado — Aprendo con Risas
Text Domain: aprendoconrisas
*/

  :root{
    color-scheme: light;
    --paper:#FFF7E8;
    --paper-card:#FFFDF6;
    --paper-raised:#FFFFFF;
    --ink:#22303A;
    --ink-soft:rgba(34,48,58,.72);
    --ink-faint:rgba(34,48,58,.52);
    --line:rgba(34,48,58,.16);
    --line-soft:rgba(34,48,58,.09);
    --note-bg:#F7EFDC;
    --note-bg-2:#EEE3C6;
    --cream-ink:#FBF6E9;
    --pin-red:#DD402B;
    --pin-teal:#12645A;
    --stage-yellow:#FFE7A6;
    --stage-yellow-ink:#22303A;
    --stage-teal:#12645A;
    --stage-violet:#7C63C9;
    --stage-coral:#E1543A;
    --stage-mustard:#DFA02A;
    --stage-grass:#2F8F5B;
    --coral:#FF6A55;
    --teal:#0F9C8D;
    --mustard:#D99A2B;
    --violet:#8571D6;
    --rose:#E37FA0;
    --grass:#4F9F6A;
    --accent:#FF6A55;
    --shadow:0 1px 2px rgba(26,46,51,.08), 0 8px 24px -12px rgba(26,46,51,.24);
    --shadow-lg:0 4px 10px rgba(26,46,51,.10), 0 22px 46px -16px rgba(26,46,51,.32);
  }
  /* Nota: esta marca es deliberadamente clara y pastel siempre — no cambia
     con el modo oscuro del sistema/navegador del visitante. El bloque de
     abajo queda disponible por si en el futuro se agrega un interruptor
     manual de tema dentro de la propia página. */
  :root[data-theme="dark"]{
    color-scheme: dark;
    --paper:#1A1409; --paper-card:#241C11; --paper-raised:#2A2114;
    --ink:#F3ECDA; --ink-soft:rgba(243,236,218,.74); --ink-faint:rgba(243,236,218,.52);
    --line:rgba(243,236,218,.18); --line-soft:rgba(243,236,218,.1);
    --note-bg:#2B2116; --note-bg-2:#231A11;
    --stage-yellow:#FFE7A6; --stage-yellow-ink:#22303A; --stage-teal:#0B2A25; --stage-violet:#28204A;
    --stage-coral:#421C13; --stage-mustard:#3A2A0E; --stage-grass:#153A28;
    --coral:#FF8C77; --teal:#3FC8B6; --mustard:#F0BE5C; --violet:#AC9AEF; --rose:#F0A0BE; --grass:#79C98C;
    --accent:#FF8C77; --pin-red:#FF7A63; --pin-teal:#3FC9B4;
    --shadow:0 1px 2px rgba(0,0,0,.32), 0 8px 24px -12px rgba(0,0,0,.5);
    --shadow-lg:0 4px 10px rgba(0,0,0,.36), 0 24px 48px -18px rgba(0,0,0,.6);
  }
  /* Per-stage background + ink (the color that changes per section, carousel-style) */
  [data-stage="yellow"]{ --stage-bg:var(--stage-yellow); --stage-ink:var(--stage-yellow-ink); }
  [data-stage="teal"]{ --stage-bg:var(--stage-teal); --stage-ink:var(--cream-ink); }
  [data-stage="violet"]{ --stage-bg:var(--stage-violet); --stage-ink:var(--cream-ink); }
  [data-stage="coral"]{ --stage-bg:var(--stage-coral); --stage-ink:var(--cream-ink); }
  [data-stage="mustard"]{ --stage-bg:var(--stage-mustard); --stage-ink:var(--cream-ink); }
  [data-stage="grass"]{ --stage-bg:var(--stage-grass); --stage-ink:var(--cream-ink); }
  /* La página de inicio (stage amarillo) se mantiene siempre clara y pastel,
     con tinta oscura y logo negro, sin importar el modo claro/oscuro del sistema. */

  *,*::before,*::after{box-sizing:border-box;}
  html{font-size:16px;}
  body{margin:0;background:var(--paper);color:var(--ink);font-family:"Patrick Hand",system-ui,sans-serif;-webkit-font-smoothing:antialiased;}
  img{max-width:100%;display:block;}
  [hidden]{display:none!important;}
  h1,h2,h3,h4{font-family:"Patrick Hand",system-ui,sans-serif;font-weight:400;margin:0;text-wrap:balance;line-height:1.12;}
  p{margin:0;}
  a{color:inherit;text-decoration:none;}
  button{font-family:inherit;cursor:pointer;}
  input,select,textarea{font-family:"Baloo 2",system-ui,sans-serif;font-size:.98rem;color:var(--ink);background:var(--paper-raised);border:1.5px solid var(--line);border-radius:10px;padding:.6rem .75rem;}
  input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:2.5px solid var(--teal);outline-offset:2px;}
  ::selection{background:var(--coral);color:#fff;}
  .wrap{max-width:1120px;margin:0 auto;padding:0 1.5rem;}
  .wrap-narrow{max-width:760px;margin:0 auto;padding:0 1.5rem;}
  @media (max-width:640px){.wrap,.wrap-narrow{padding:0 1.1rem;}}
  .eyebrow{font-family:"Baloo 2";font-weight:800;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--coral);}

  /* ---------- Stage sections (full-bleed color, carousel-style) ---------- */
  .stage{background:var(--stage-bg);color:var(--stage-ink);}
  .stage-text{color:var(--stage-ink);}

  /* ---------- Sticky notes ---------- */
  .note{background:var(--note-bg);color:var(--ink);border-radius:20px;padding:1.6rem 1.7rem 1.9rem;position:relative;box-shadow:0 10px 0 -3px var(--note-bg-2), var(--shadow-lg);}
  .note .eyebrow{display:block;margin-bottom:.5rem;}
  .pin{position:absolute;top:-.7rem;left:50%;transform:translateX(-50%);width:1.15rem;height:1.15rem;border-radius:50%;background:var(--pin-red);box-shadow:0 3px 6px rgba(0,0,0,.28), inset 0 -3px 4px rgba(0,0,0,.25), inset 0 2px 3px rgba(255,255,255,.35);}
  .pin.teal{background:var(--pin-teal);}
  .note-sm{background:var(--note-bg);color:var(--ink);border-radius:14px;padding:.9rem 1.1rem;box-shadow:0 6px 0 -2px var(--note-bg-2), var(--shadow);position:relative;font-family:"Baloo 2";font-weight:600;font-size:.92rem;}

  /* ---------- Header ---------- */
  .site-header{position:sticky;top:0;z-index:30;background:var(--stage-bg);color:var(--stage-ink);border-bottom:1px solid rgba(0,0,0,.08);transition:background .2s ease;}
  .header-row{display:flex;align-items:center;gap:1.1rem;padding:1.1rem 0;}
  .logo-link{display:flex;align-items:center;flex:none;border:none;background:none;padding:.2rem 0;}
  .logo-link img{height:3rem;width:auto;display:block;}
  .header-spacer{flex:1;}
  .site-nav{display:flex;align-items:center;gap:.3rem;overflow-x:auto;scrollbar-width:thin;}
  .site-nav a,.site-nav button{flex:none;font-family:"Baloo 2";font-weight:700;font-size:.86rem;color:var(--stage-ink);background:none;border:none;padding:.5rem .7rem;border-radius:999px;opacity:.82;white-space:nowrap;}
  .site-nav a[data-active="true"],.site-nav button[data-active="true"]{opacity:1;background:rgba(255,255,255,.22);}
  .header-actions{display:flex;align-items:center;gap:.55rem;flex:none;}
  .cat-nav{display:flex;gap:.5rem;overflow-x:auto;padding:.15rem 0 .8rem;scrollbar-width:thin;}
  .cat-pill{flex:none;border:1.5px solid rgba(0,0,0,.12);background:rgba(255,255,255,.55);color:var(--ink);border-radius:999px;padding:.38rem .85rem;font-family:"Baloo 2";font-size:.8rem;font-weight:700;white-space:nowrap;transition:transform .15s ease, box-shadow .15s ease;}
  .cat-pill:hover{transform:translateY(-1px);box-shadow:var(--shadow);}
  .cat-pill[data-active="true"]{color:#fff;border-color:transparent;}
  .btn{border-radius:999px;border:1.5px solid var(--line);background:var(--paper-card);color:var(--ink);padding:.5rem 1rem;font-weight:700;font-family:"Baloo 2";font-size:.86rem;display:inline-flex;align-items:center;gap:.4rem;transition:transform .15s ease, box-shadow .15s ease;}
  .btn:hover{transform:translateY(-1px);box-shadow:var(--shadow);}
  .btn-primary{background:var(--coral);border-color:var(--coral);color:#fff;}
  .btn-ghost{border-color:transparent;background:transparent;}
  .btn-on-stage{border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.16);color:var(--stage-ink);}
  .btn-sm{padding:.38rem .75rem;font-size:.78rem;}
  .btn-danger{color:var(--coral);}
  .acr-narrar-wrap{margin:1.1rem 0 1.5rem;}
  .acr-narrar{cursor:pointer;}
  @keyframes acr-pulse{0%,100%{opacity:1;}50%{opacity:.5;}}
  .acr-narrar.is-speaking svg{animation:acr-pulse 1s ease-in-out infinite;}
  .acr-narrar.is-paused svg{opacity:.7;}
  .avatar{width:2.3rem;height:2.3rem;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-family:"Baloo 2";font-weight:700;font-size:.85rem;border:none;flex:none;}
  .user-menu{position:relative;}
  .user-dropdown{position:absolute;right:0;top:calc(100% + .5rem);background:var(--paper-raised);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg);min-width:13rem;padding:.4rem;display:flex;flex-direction:column;gap:.1rem;color:var(--ink);}
  .user-dropdown button{text-align:left;background:none;border:none;padding:.55rem .7rem;border-radius:9px;font-family:"Baloo 2";font-size:.86rem;font-weight:600;color:var(--ink);}
  .user-dropdown button:hover{background:var(--line-soft);}
  .user-dropdown .who{padding:.4rem .7rem .5rem;border-bottom:1px solid var(--line-soft);margin-bottom:.2rem;}
  .user-dropdown .who strong{display:block;font-family:"Patrick Hand";font-size:1.05rem;}
  .user-dropdown .who span{font-size:.74rem;color:var(--ink-faint);font-family:"Baloo 2";}
  .star-btn{background:none;border:none;padding:.2rem;color:var(--ink-faint);flex:none;}
  .star-btn[data-on="true"]{color:var(--mustard);}
  .star-btn svg{width:1.3rem;height:1.3rem;}

  /* ---------- Hero ---------- */
  .hero{padding:2.6rem 0 1.6rem;}
  .hero-title{font-size:clamp(2.3rem,5.4vw,3.7rem);}
  .hero-title .accent{color:var(--coral);position:relative;display:inline-block;}
  .hero-title .accent svg{position:absolute;left:0;bottom:-.22em;width:100%;height:.32em;}
  .hero-sub{margin-top:.8rem;max-width:36rem;font-size:1.08rem;line-height:1.55;}
  .hero-note{margin-top:1.2rem;display:inline-flex;align-items:center;gap:.5rem;font-family:"Baloo 2";font-weight:700;font-size:.8rem;background:rgba(255,255,255,.4);padding:.45rem .8rem;border-radius:999px;}

  /* ---------- Tag cloud ---------- */
  .tag-cloud{display:flex;flex-wrap:wrap;gap:.55rem;padding:1.1rem 0 .4rem;}
  .tag-chip{font-family:"Baloo 2";font-weight:700;font-size:.8rem;background:rgba(255,255,255,.5);border:1.5px solid rgba(0,0,0,.1);color:var(--ink);border-radius:999px;padding:.32rem .75rem;}
  .tag-chip:hover{background:rgba(255,255,255,.75);}
  .tag-chip-note{font-family:"Baloo 2";font-weight:700;font-size:.78rem;background:var(--note-bg-2);border:none;color:var(--ink-soft);border-radius:999px;padding:.28rem .68rem;}
  .tag-row{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem;}

  /* ---------- Post grid ---------- */
  .section-title{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:1.6rem 0 1.1rem;}
  .section-title h2{font-size:1.7rem;}
  .section-title .muted{font-size:.85rem;font-family:"Baloo 2";opacity:.75;}
  .post-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1.7rem;padding:.4rem 0 3rem;}
  .post-card{background:var(--note-bg);border:none;border-radius:20px;overflow:visible;display:flex;flex-direction:column;text-align:left;transition:transform .18s ease, box-shadow .18s ease;box-shadow:0 8px 0 -3px var(--note-bg-2), var(--shadow);position:relative;padding-top:.4rem;}
  .post-card:hover{transform:translateY(-3px) rotate(0deg)!important;box-shadow:0 8px 0 -3px var(--note-bg-2), var(--shadow-lg);}
  .post-card:nth-child(3n+1){transform:rotate(-.7deg);}
  .post-card:nth-child(3n+2){transform:rotate(.6deg);}
  .post-card:nth-child(3n+3){transform:rotate(-.3deg);}
  .card-fav{position:absolute;top:.6rem;right:.6rem;z-index:2;background:rgba(255,255,255,.7);border-radius:50%;}
  .cover{aspect-ratio:16/10;position:relative;overflow:hidden;border-radius:14px;margin:0 .7rem;}
  .cover .blob{position:absolute;inset:8%;border-radius:60% 40% 55% 45%/45% 55% 45% 55%;}
  .cover svg.icon{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:38%;height:38%;}
  .cover .dot{position:absolute;border-radius:50%;opacity:.55;}
  .card-body{padding:1rem 1.1rem 1.2rem;display:flex;flex-direction:column;gap:.5rem;flex:1;}
  .acr-tag{display:inline-flex;align-items:center;gap:.35rem;font-family:"Baloo 2";font-size:.7rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase;padding:.28rem .6rem;border-radius:999px;width:fit-content;}
  .card-title{font-size:1.32rem;line-height:1.2;}
  .card-title a.stretched-link{color:inherit;text-decoration:none;}
  .card-title a.stretched-link::after{content:"";position:absolute;inset:0;z-index:1;}
  .post-card .acr-tag{position:relative;z-index:2;}
  .card-excerpt{color:var(--ink-soft);font-size:.92rem;line-height:1.5;flex:1;font-family:"Baloo 2";}
  .card-meta{display:flex;align-items:center;gap:.5rem;font-size:.76rem;color:var(--ink-faint);margin-top:.2rem;font-family:"Baloo 2";}
  .card-meta .mini-avatar{width:1.5rem;height:1.5rem;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-family:"Baloo 2";font-size:.6rem;font-weight:700;}
  .empty-state{padding:3rem 1rem;text-align:center;font-family:"Baloo 2";}

  /* ---------- Post detail ---------- */
  .post-hero{border-radius:22px;overflow:hidden;position:relative;aspect-ratio:21/9;margin:1.5rem 0 1.8rem;}
  .post-detail{max-width:42rem;margin:0 auto;padding-bottom:4rem;}
  .post-detail h1{font-size:clamp(2rem,4.6vw,2.9rem);}
  .post-meta-row{display:flex;align-items:center;gap:.6rem;margin-top:1rem;color:var(--ink-faint);font-size:.85rem;font-family:"Baloo 2";}
  .post-meta-row .mini-avatar{width:1.9rem;height:1.9rem;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-family:"Baloo 2";font-size:.7rem;font-weight:700;}
  .post-body{margin-top:1.8rem;display:flex;flex-direction:column;gap:1.3rem;font-size:1.18rem;line-height:1.6;}
  .block-text{white-space:pre-wrap;}
  .block-image figure{margin:0;border-radius:16px;overflow:hidden;border:1px solid var(--line);}
  .block-image img{width:100%;}
  .block-image figcaption{padding:.6rem .9rem;font-size:.85rem;color:var(--ink-faint);background:var(--paper-card);font-family:"Baloo 2";}
  .block-illustration{border-radius:16px;overflow:hidden;position:relative;aspect-ratio:16/9;border:1px solid var(--line);}
  .card-embed{border:1.5px solid var(--line);border-radius:16px;padding:1rem 1.1rem;display:flex;align-items:center;gap:.9rem;background:var(--paper-card);text-decoration:none;transition:transform .15s ease, box-shadow .15s ease;}
  .card-embed:hover{transform:translateY(-2px);box-shadow:var(--shadow);}
  .card-embed .emb-icon{width:2.6rem;height:2.6rem;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:none;}
  .card-embed .emb-text{display:flex;flex-direction:column;gap:.15rem;min-width:0;}
  .card-embed .emb-label{font-weight:400;font-family:"Patrick Hand";font-size:1.1rem;}
  .card-embed .emb-sub{font-size:.78rem;color:var(--ink-faint);font-family:"Baloo 2";}
  .post-actions{display:flex;gap:.6rem;margin-top:2.3rem;padding-top:1.4rem;border-top:1px solid var(--line);font-family:"Baloo 2";}

  /* ---------- Auth ---------- */
  .auth-wrap{min-height:calc(100vh - 4rem);display:flex;align-items:center;justify-content:center;padding:3rem 1.2rem;}
  .auth-card{width:100%;max-width:24rem;background:var(--paper-card);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow-lg);padding:2.1rem 1.9rem;}
  .auth-tabs{display:flex;gap:.4rem;background:var(--paper);border-radius:999px;padding:.3rem;margin-bottom:1.5rem;}
  .auth-tabs button{flex:1;border:none;background:none;padding:.5rem;border-radius:999px;font-family:"Baloo 2";font-weight:700;font-size:.84rem;color:var(--ink-faint);}
  .auth-tabs button[data-active="true"]{background:var(--coral);color:#fff;}
  .field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem;}
  .field label{font-family:"Baloo 2";font-size:.8rem;font-weight:700;color:var(--ink-soft);}
  .auth-demo{background:var(--paper);border:1px dashed var(--line);border-radius:14px;padding:.85rem .9rem;font-family:"Baloo 2";font-size:.76rem;color:var(--ink-soft);margin-top:1.3rem;line-height:1.55;}
  .auth-demo strong{color:var(--ink);}
  .auth-error{background:rgba(221,64,43,.14);border:1px solid var(--coral);color:var(--ink);border-radius:10px;padding:.55rem .75rem;font-family:"Baloo 2";font-size:.82rem;margin-bottom:1rem;}

  /* ---------- Editor ---------- */
  .editor-shell{max-width:44rem;margin:0 auto;padding-bottom:5rem;}
  .editor-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.6rem 0 1.2rem;}
  .toolbelt{display:flex;gap:.5rem;flex-wrap:wrap;margin:1.2rem 0 1.6rem;}
  .tool-btn{border:1.5px dashed var(--line);background:var(--paper-card);border-radius:12px;padding:.5rem .85rem;font-family:"Baloo 2";font-size:.8rem;font-weight:700;color:var(--ink-soft);display:inline-flex;align-items:center;gap:.4rem;}
  .tool-btn:hover{color:var(--ink);border-color:var(--teal);}
  .block-editor{border:1px solid var(--line);border-radius:16px;background:var(--paper-card);padding:1.1rem 1.2rem;margin-bottom:1rem;position:relative;}
  .block-editor .block-kind{font-family:"Baloo 2";font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;font-weight:800;color:var(--ink-faint);margin-bottom:.7rem;display:flex;align-items:center;justify-content:space-between;}
  .block-editor textarea{width:100%;min-height:6rem;resize:vertical;font-family:"Patrick Hand";font-size:1.05rem;}
  .block-editor input[type="text"],.block-editor input[type="url"]{width:100%;margin-bottom:.6rem;}
  .remove-block{background:none;border:none;color:var(--ink-faint);font-family:"Baloo 2";font-size:.76rem;font-weight:700;padding:.15rem .4rem;}
  .remove-block:hover{color:var(--coral);}
  .upload-row{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;font-family:"Baloo 2";}
  .file-chip{display:flex;align-items:center;gap:.5rem;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:.35rem .7rem .35rem .4rem;font-family:"Baloo 2";font-size:.78rem;}
  .file-chip .dot{width:1.6rem;height:1.6rem;border-radius:50%;flex:none;}
  .meta-panel{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:.5rem;}
  @media (max-width:560px){.meta-panel{grid-template-columns:1fr;}}
  .save-bar{position:sticky;bottom:1rem;display:flex;gap:.6rem;justify-content:flex-end;background:var(--paper-raised);border:1px solid var(--line);border-radius:16px;padding:.9rem;box-shadow:var(--shadow-lg);margin-top:1.5rem;}
  .hint{font-family:"Baloo 2";font-size:.76rem;color:var(--ink-faint);margin-top:.4rem;}

  /* ---------- Category manager ---------- */
  .cat-manage-list{display:flex;flex-direction:column;gap:.7rem;margin:1.3rem 0;}
  .cat-manage-row{display:flex;align-items:center;gap:.8rem;background:var(--note-bg);color:var(--ink);border-radius:14px;padding:.8rem 1rem;box-shadow:0 6px 0 -2px var(--note-bg-2);}
  .cat-swatch{width:1.6rem;height:1.6rem;border-radius:50%;flex:none;border:2px solid rgba(0,0,0,.15);}
  .cat-manage-row .cat-name{flex:1;font-size:1.15rem;}
  .cat-manage-row .cat-count{font-family:"Baloo 2";font-size:.76rem;color:var(--ink-faint);}
  .swatch-picker{display:flex;gap:.5rem;flex-wrap:wrap;margin:.3rem 0 .8rem;}
  .swatch-btn{width:2rem;height:2rem;border-radius:50%;border:2px solid transparent;}
  .swatch-btn[data-active="true"]{border-color:var(--ink);}

  /* ---------- FAQ / Contacto ---------- */
  details.faq{background:var(--note-bg);color:var(--ink);border-radius:14px;padding:1rem 1.2rem;box-shadow:0 6px 0 -2px var(--note-bg-2);}
  details.faq + details.faq{margin-top:.8rem;}
  details.faq summary{cursor:pointer;font-size:1.15rem;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:1rem;}
  details.faq summary::-webkit-details-marker{display:none;}
  details.faq summary .chev{transition:transform .2s ease;flex:none;font-family:"Baloo 2";color:var(--coral);}
  details.faq[open] summary .chev{transform:rotate(45deg);}
  details.faq p{margin-top:.7rem;font-family:"Baloo 2";font-size:.95rem;color:var(--ink-soft);line-height:1.55;}
  .contact-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:1.6rem;align-items:start;}
  @media (max-width:760px){.contact-grid{grid-template-columns:1fr;}}
  .social-row{display:flex;gap:.6rem;margin-top:1rem;flex-wrap:wrap;}
  .social-chip{font-family:"Baloo 2";font-weight:700;font-size:.82rem;background:rgba(255,255,255,.5);border:1.5px solid rgba(0,0,0,.12);border-radius:999px;padding:.4rem .85rem;}

  /* ---------- Newsletter ---------- */
  .newsletter{background:var(--note-bg);color:var(--ink);border-radius:18px;padding:1.4rem 1.5rem;box-shadow:0 8px 0 -3px var(--note-bg-2);}
  .newsletter form{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.8rem;}
  .newsletter input{flex:1;min-width:10rem;}

  /* ---------- Quiz ---------- */
  .quiz-step{max-width:32rem;margin:0 auto;}
  .quiz-options{display:flex;flex-direction:column;gap:.7rem;margin-top:1.2rem;}
  .quiz-option{text-align:left;background:var(--paper-raised);border:1.5px solid var(--line);border-radius:14px;padding:.9rem 1.1rem;font-size:1.1rem;transition:transform .15s ease, box-shadow .15s ease;}
  .quiz-option:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--teal);}
  .quiz-progress{display:flex;gap:.4rem;justify-content:center;margin-bottom:1rem;}
  .quiz-progress span{width:.55rem;height:.55rem;border-radius:50%;background:rgba(0,0,0,.18);}
  .quiz-progress span[data-done="true"]{background:var(--coral);}

  /* ---------- Generador de ejercicios ---------- */
  .acr-ej-controls{display:flex;flex-direction:column;gap:.9rem;}
  .acr-ej-check-row{display:flex;flex-wrap:wrap;gap:.9rem;font-family:"Baloo 2";}
  .acr-ej-check-row label{display:flex;align-items:center;gap:.4rem;font-weight:700;font-size:.92rem;color:var(--ink);}
  .acr-ej-check-row input[type="checkbox"]{width:1.1rem;height:1.1rem;accent-color:var(--teal);}

  /* Cuatro tarjetas por fila en pantallas grandes, para que una cuenta
     ancha (como una división de varias cifras) tenga espacio de sobra y
     no se corte el cociente. Menos columnas en pantallas chicas. */
  .acr-ej-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.4rem;}
  @media (max-width:1100px){.acr-ej-grid{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:560px){.acr-ej-grid{grid-template-columns:1fr;}}
  .acr-ej-card{background:var(--paper-raised);border:1.5px solid var(--line);border-radius:14px;padding:1rem 1.1rem;display:flex;flex-direction:column;align-items:center;gap:.6rem;overflow-x:auto;transition:border-color .15s ease, background .15s ease;}
  .acr-ej-card[data-state="correcto"]{border-color:var(--grass);background:rgba(47,143,91,.12);}
  .acr-ej-card[data-state="incorrecto"]{border-color:var(--coral);background:rgba(225,84,58,.1);}
  .acr-ej-card .acr-ej-feedback{font-family:"Baloo 2";font-size:.82rem;font-weight:700;min-height:1.1em;}
  .acr-ej-card[data-state="correcto"] .acr-ej-feedback{color:var(--grass);}
  .acr-ej-card[data-state="incorrecto"] .acr-ej-feedback{color:var(--coral);}
  .acr-ej-summary{margin-top:1.2rem;font-family:"Baloo 2";font-weight:800;font-size:1.05rem;}

  /* "Cuenta parada": suma, resta, multiplicación — cuadrícula CSS con una
     columna fija por cifra, así unidad queda bajo unidad, decena bajo
     decena, centena bajo centena, sin importar el ancho de cada carácter
     en la fuente manuscrita. Como en el cuaderno cuadriculado: cada cifra
     (dada o para completar) vive en su propio cuadrito, nunca comparte una
     caja ancha con otras cifras. */
  .acr-cuenta{display:grid;row-gap:.2rem;font-family:"Patrick Hand";font-size:1.5rem;line-height:1.15;}
  .acr-cuenta .celda{text-align:center;align-self:end;}
  .acr-cuenta .celda.signo{text-align:left;}
  .acr-cuenta .linea{height:0;border-top:2.5px solid var(--ink);align-self:end;margin-bottom:.3rem;}

  /* Casilla: la unidad visual de "una cifra, un cuadrito" — se usa para lo
     que el alumno completa (input) y, en la hoja impresa, para el cuadrito
     en blanco que representa esa misma cifra por escribir a mano. */
  .acr-casilla,
  .cel-vacia{width:100%;box-sizing:border-box;align-self:end;height:1.9rem;border:1.5px solid var(--line);border-radius:6px;background:var(--paper-raised);margin-bottom:.1rem;}
  input.acr-casilla{font-family:"Patrick Hand";font-size:1.3rem;text-align:center;padding:0;color:var(--ink);}
  .acr-parcial-input[data-ok="true"]{border-color:var(--grass);background:rgba(79,159,106,.12);color:var(--grass);}
  .acr-parcial-input[data-ok="false"]{border-color:var(--coral);background:rgba(255,106,85,.12);color:var(--coral);}

  /* "Galera": división — dividendo | divisor, cociente debajo del divisor */
  .acr-galera{display:inline-flex;align-items:flex-start;font-family:"Patrick Hand";font-size:1.6rem;gap:.35rem;}
  .acr-galera-izquierda{display:grid;row-gap:.3rem;padding-top:.1rem;}
  .acr-galera-izquierda .celda{text-align:center;}
  .acr-galera-izquierda .acr-casilla,
  .acr-galera-izquierda .cel-vacia{height:1.7rem;}
  .acr-galera-derecha{border-left:2.5px solid var(--ink);padding-left:.5rem;display:flex;flex-direction:column;align-items:center;min-width:2.6rem;}
  .acr-galera-divisor{border-bottom:2.5px solid var(--ink);padding:0 .3rem .2rem;min-width:1.8rem;text-align:center;}
  .acr-galera-cociente{padding-top:.25rem;min-width:1.8rem;text-align:center;}
  .acr-galera-cociente input{width:2.6rem;text-align:center;font-family:"Patrick Hand";font-size:1.4rem;border:none;border-bottom:2px dashed var(--line);background:transparent;}
  .acr-galera-resto{font-family:"Baloo 2";font-size:.8rem;margin-top:.3rem;color:var(--ink-soft);}
  .acr-galera-resto input{width:2.2rem;text-align:center;border:none;border-bottom:2px dashed var(--line);background:transparent;font-family:"Baloo 2";font-size:.9rem;}

  /* Espacio de trabajo debajo del dividendo: comparte la misma cuadrícula
     que él (mismas columnas), y cada cifra por escribir (al bajar un
     número, restar o anotar el resto) tiene su propia casilla en la
     columna exacta que le toca — no un renglón ancho genérico. */
  .acr-galera-paso-input{font-size:1.1rem;}

  /* Desarrollo completo ya resuelto (hoja de respuestas / feedback cuando
     está mal): el dividendo se repite arriba, en la misma cuadrícula que
     cada paso y con una cifra por celda en todos los renglones, y cada
     paso se plantea como "cuánto falta para llegar al número de arriba"
     en vez de una resta. */
  .acr-desarrollo-division{display:inline-grid;row-gap:.05rem;font-family:"Patrick Hand";font-size:1.25rem;margin-top:.5rem;justify-content:flex-start;}
  .acr-desarrollo-division .celda{text-align:center;}
  .acr-desarrollo-division .dg-producto{color:var(--ink-soft);}
  .acr-desarrollo-division .dg-linea{border-top:2px solid var(--ink);align-self:end;}
  .acr-desarrollo-division .dg-resto-final{font-weight:700;color:var(--teal);}
  .dg-nota{font-family:"Baloo 2";font-size:.78rem;color:var(--ink-soft);margin-top:.4rem;line-height:1.55;}

  .hueco-respuesta{display:inline-block;min-width:3.2rem;height:1.5rem;border-bottom:2.5px solid var(--ink);box-sizing:border-box;}
  .hueco-respuesta.hueco-chico{min-width:1.8rem;}

  /* Hoja para imprimir: también 4 por fila, por la misma razón. */
  .acr-ej-hoja-head{display:flex;flex-wrap:wrap;gap:1.5rem;font-family:"Baloo 2";font-weight:700;margin-bottom:1.2rem;padding-bottom:.8rem;border-bottom:1.5px dashed var(--line);}
  .acr-ej-hoja-list{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;padding:0;margin:0;}
  @media (max-width:900px){.acr-ej-hoja-list{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:560px){.acr-ej-hoja-list{grid-template-columns:1fr;}}
  .acr-ej-hoja-list li{border:1.5px dashed var(--line);border-radius:12px;padding:.8rem .9rem 1rem;display:flex;flex-direction:column;gap:.4rem;overflow-x:auto;}
  .acr-ej-hoja-list li .num{font-family:"Baloo 2";font-size:.75rem;color:var(--ink-faint);}
  .acr-ej-respuestas ol{display:grid;grid-template-columns:repeat(4,1fr);gap:.9rem 1.2rem;font-family:"Baloo 2";font-size:.92rem;padding-left:1.2rem;}
  @media (max-width:900px){.acr-ej-respuestas ol{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:560px){.acr-ej-respuestas ol{grid-template-columns:1fr;}}
  .acr-ej-respuestas ol li{overflow-x:auto;}

  @media print{
    .site-header,.site-footer,.skip-link,.acr-ej-controls,.acr-ej-toolbar,.acr-narrar-wrap{display:none!important;}
    body{background:#fff!important;}
    [data-stage]{background:#fff!important;color:#000!important;}
    .note{box-shadow:none!important;background:#fff!important;border:1px solid #ccc;}
    .pin{display:none!important;}
  }
  .quiz-result-card{text-align:center;}

  /* ---------- Toast ---------- */
  .toast{position:fixed;left:50%;bottom:1.5rem;transform:translateX(-50%);background:var(--ink);color:var(--paper);padding:.7rem 1.1rem;border-radius:999px;font-family:"Baloo 2";font-size:.84rem;font-weight:600;box-shadow:var(--shadow-lg);z-index:100;max-width:88vw;}

  /* ---------- Footer ---------- */
  .site-footer{border-top:1px solid rgba(0,0,0,.08);padding:2.2rem 0 1.6rem;color:var(--stage-ink);font-family:"Baloo 2";}
  .footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:2rem;}
  @media (max-width:720px){.footer-grid{grid-template-columns:1fr;}}
  .footer-grid h4{font-family:"Baloo 2";font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.7rem;opacity:.85;}
  .footer-links{display:flex;flex-direction:column;gap:.45rem;font-size:.86rem;}
  .footer-links a,.footer-links button{background:none;border:none;color:inherit;text-align:left;padding:0;font-family:"Baloo 2";font-size:.86rem;opacity:.9;}
  .footer-bottom{margin-top:1.8rem;padding-top:1.2rem;border-top:1px solid rgba(0,0,0,.08);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.78rem;opacity:.75;}

/* ---------- WordPress: bloques nativos dentro del contenido de la entrada ---------- */
.post-body .wp-block-image{margin:0;border-radius:16px;overflow:hidden;border:1px solid var(--line);}
.post-body .wp-block-image img{width:100%;display:block;}
.post-body .wp-block-image figcaption{padding:.6rem .9rem;font-size:.85rem;color:var(--ink-faint);background:var(--paper-card);font-family:"Baloo 2";}
.post-body .wp-block-embed,.post-body .wp-block-video,.post-body iframe{max-width:100%;border-radius:16px;overflow:hidden;}
.post-body .wp-block-embed__wrapper{position:relative;}
.post-body ul,.post-body ol{padding-left:1.3rem;}
.post-body blockquote{border-left:4px solid var(--coral);margin:0;padding:.2rem 0 .2rem 1.1rem;font-style:italic;color:var(--ink-soft);}
.post-body a{color:var(--coral);text-decoration:underline;text-underline-offset:.15em;}
.post-body figure{margin:0;}

/* ---------- Menú de WordPress (wp_nav_menu) dentro del header ---------- */
.site-nav ul{list-style:none;display:flex;align-items:center;gap:.1rem;margin:0;padding:0;}
.site-nav li{display:flex;}
.site-nav .current-menu-item > a{opacity:1;background:rgba(255,255,255,.22);border-radius:999px;}

/* ---------- Formulario de contacto (compatible con Contact Form 7) ---------- */
.wpcf7-form p{margin-bottom:1rem;}
.wpcf7-form label{display:flex;flex-direction:column;gap:.35rem;font-family:"Baloo 2";font-size:.8rem;font-weight:700;color:var(--ink-soft);}
.wpcf7-form input[type="text"],.wpcf7-form input[type="email"],.wpcf7-form textarea{width:100%;margin-top:.35rem;}
.wpcf7-form input[type="submit"]{border-radius:999px;border:1.5px solid var(--coral);background:var(--coral);color:#fff;padding:.5rem 1.2rem;font-weight:700;font-family:"Baloo 2";font-size:.86rem;cursor:pointer;}
.wpcf7-not-valid-tip{color:var(--coral);font-family:"Baloo 2";font-size:.78rem;margin-top:.2rem;}
.wpcf7-response-output{border-radius:10px;font-family:"Baloo 2";font-size:.82rem;margin-top:1rem!important;}

/* ---------- Utilidades ---------- */
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;overflow:hidden;position:absolute!important;word-wrap:normal!important;}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:.7rem 1.1rem;border-radius:0 0 10px 0;z-index:200;font-family:"Baloo 2";}
.skip-link:focus{left:0;}

/* El bloque nativo "Detalles" de WordPress hereda el estilo de FAQ
   automáticamente cuando se usa dentro del contenido de una página. */
.post-body details,.wp-block-details{background:var(--note-bg-2);border-radius:14px;padding:1rem 1.2rem;margin:.8rem 0;}
.post-body details summary,.wp-block-details summary{cursor:pointer;font-size:1.1rem;font-family:"Patrick Hand";}
