/* Complementos del sitio: base, degradación sin JavaScript, menú móvil y contenido editorial. */
.main-c{display:flex;flex-direction:column;flex:1 0 auto}
.main-c>*{flex:none}
.site.is-home{background:#ffffff}

/* --- JavaScript opcional ------------------------------------------------ */
.nojs-only{display:none}
html:not(.js) .nojs-only{display:inline-flex;align-items:center;justify-content:center}
html:not(.js) .js-only{display:none!important}
.js .cond{display:none}
.js .cond.open{display:block}
@media (max-width:1099px){
  html:not(.js) .qpanel{display:flex!important;flex-direction:column;align-items:stretch;gap:20px;padding:4px 20px 20px}
}
.is-loading{opacity:.55;transition:opacity .15s ease}

/* --- Menú móvil --------------------------------------------------------- */
.mm{position:absolute;top:100%;left:0;right:0;z-index:35;box-sizing:border-box;max-height:calc(100vh - 64px);overflow-y:auto;background:#ffffff;border-top:1px solid #e8ebe6;box-shadow:0 12px 24px rgba(14,15,12,.10);padding:8px 24px 20px;display:flex;flex-direction:column;align-items:stretch;text-align:left}
.mm[hidden]{display:none}
.mm a{display:flex;align-items:center;justify-content:flex-start;text-align:left;min-height:48px;font-size:17px;font-weight:600;border-bottom:1px solid #eef0ea}
.mm .mm-h{display:flex;align-items:center;min-height:48px;font-size:17px;font-weight:600;border-bottom:1px solid #eef0ea}
.mm a.mm-main{background:#e2f6d5;color:#163300;font-weight:700;border-radius:12px;border-bottom:0;margin:4px 0 2px}
.mm a.sub{padding-left:18px;font-weight:500;font-size:15px;color:#454745;min-height:44px}
@media (min-width:1080px){.mm{display:none!important}}
.hd{flex-wrap:wrap}
.hd>nav.nv{padding:0}

/* --- Formularios -------------------------------------------------------- */
.chipr{display:inline-block;position:relative}
.chipr input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.chipr label{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:12px;border:1px solid #0e0f0c;background:#ffffff;font-size:14px;font-weight:600;cursor:pointer;color:#0e0f0c}
.chipr input:checked+label{background:#0e0f0c;color:#ffffff}
.chipr input:focus-visible+label{outline:2px solid #0e0f0c;outline-offset:3px}
.chipr label:hover{background:#9fe870;color:#0e0f0c}
.chipr input:checked+label:hover{background:#0e0f0c;color:#fff}
button[aria-pressed="true"]{cursor:pointer}
a[data-swap]{text-decoration:none}

/* --- Preguntas frecuentes ---------------------------------------------- */
.faq summary{list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary:focus-visible{outline:2px solid #0e0f0c;outline-offset:3px}
.faq .sg{background:#e8ebe6}
.faq .sg::before{content:"+"}
.faq details[open] .sg{background:#9fe870}
.faq details[open] .sg::before{content:"\2212"}

/* --- Test y recibo ------------------------------------------------------ */
#marker{transition:left .25s cubic-bezier(.16,1,.3,1)}
@media (prefers-reduced-motion:reduce){#marker{transition:none}}
a[aria-expanded] {color:inherit}

/* --- Contenido editorial (guías) : solo clases permitidas por el saneador --- */
.art .ql-align-center{text-align:center}
.art .ql-align-right{text-align:right}
.art .ql-align-justify{text-align:justify}
.art h3{margin:32px 0 10px;font-family:'Manrope','Manrope Fallback',system-ui,sans-serif;font-weight:800;font-size:22px;line-height:28px;letter-spacing:-0.02em}
.art ol{margin:0 0 22px;padding:0 0 0 24px;display:flex;flex-direction:column;gap:10px;font-size:18px;line-height:28px;color:#1d1e1c}
.art a{text-decoration:underline;font-weight:600}
.art blockquote{margin:24px 0;padding:4px 0 4px 20px;border-left:3px solid #9fe870;font-size:18px;line-height:30px;color:#1d1e1c}
.art img{max-width:100%;height:auto;border-radius:16px}
.art .callout,.art .pr-callout{margin:28px 0 8px;padding:24px 26px;border-radius:24px;background:#e2f6d5;display:flex;flex-direction:column;gap:8px}
.art .callout strong:first-child,.art .pr-callout strong:first-child{font-family:'Manrope','Manrope Fallback',system-ui,sans-serif;font-weight:800;font-size:20px;line-height:26px;letter-spacing:-0.02em}
.art .callout p,.art .pr-callout p{margin:0;font-size:17px;line-height:27px}
.art .destacado,.art .pr-destacado{padding:26px 28px;border-radius:24px;border:1px solid #0e0f0c;display:flex;flex-direction:column;gap:12px}
.art .destacado p,.art .pr-destacado p{margin:0}
.art .tabla-resp,.art .pr-tabla{overflow-x:auto;margin:0 0 20px}
.art .aviso,.art .pr-aviso{margin:28px 0 0;font-size:14px;line-height:22px;color:#454745}
.art pre,.art code{font-family:'Geist Mono',ui-monospace,monospace;font-size:.92em}
.art pre{background:#f1f3ee;border-radius:12px;padding:14px 16px;overflow-x:auto}

/* --- Pie: aviso modo pruebas ------------------------------------------- */
@media print{.hd,.mm,footer,.nojs-only{display:none!important}}

/* --- Portada (antes en <style> de la plantilla; la CSP no permite bloques inline) --- */
.p-a{transform-box:fill-box;transform-origin:50% 50%}
.p-float{animation:p-float 7s cubic-bezier(.45,0,.55,1) infinite}
@keyframes p-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.p-thumb{animation:p-thumb 12s infinite}
@keyframes p-thumb{0%,14%{transform:translateX(0);animation-timing-function:cubic-bezier(.5,0,.2,1)}30%,46%{transform:translateX(45px);animation-timing-function:cubic-bezier(.5,0,.2,1)}64%,78%{transform:translateX(-22px);animation-timing-function:cubic-bezier(.5,0,.2,1)}94%,100%{transform:translateX(0)}}
.p-fill{transform-box:fill-box;transform-origin:0 50%;animation:p-fill 12s infinite}
@keyframes p-fill{0%,14%{transform:scaleX(.44);animation-timing-function:cubic-bezier(.5,0,.2,1)}30%,46%{transform:scaleX(.89);animation-timing-function:cubic-bezier(.5,0,.2,1)}64%,78%{transform:scaleX(.22);animation-timing-function:cubic-bezier(.5,0,.2,1)}94%,100%{transform:scaleX(.44)}}
.p-v300{animation:p-v300 12s ease-in-out infinite}
.p-v500{animation:p-v500 12s ease-in-out infinite}
.p-v200{animation:p-v200 12s ease-in-out infinite}
@keyframes p-v300{0%,18%{opacity:1}24%,88%{opacity:0}94%,100%{opacity:1}}
@keyframes p-v500{0%,22%{opacity:0}30%,52%{opacity:1}58%,100%{opacity:0}}
@keyframes p-v200{0%,56%{opacity:0}64%,82%{opacity:1}90%,100%{opacity:0}}
@media (prefers-reduced-motion:reduce){.p-float,.p-thumb,.p-fill,.p-v300,.p-v500,.p-v200{animation:none!important}.p-v500,.p-v200{opacity:0}.p-thumb{transform:none}.p-fill{transform:scaleX(.44)}}
.k-a{transform-box:fill-box;transform-origin:50% 50%}
.k-clip{animation:k-clip 7s cubic-bezier(.45,0,.55,1) infinite}
@keyframes k-clip{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-7px) rotate(-.8deg)}}
.k-pen{transform-box:fill-box;transform-origin:50% 100%;animation:k-pen 5.5s cubic-bezier(.45,0,.55,1) infinite}
@keyframes k-pen{0%,100%{transform:translate(0,0) rotate(0deg)}35%{transform:translate(-6px,-3px) rotate(-3deg)}70%{transform:translate(3px,2px) rotate(2.5deg)}}
.k-coin{animation:k-coin 6s cubic-bezier(.45,0,.55,1) infinite}
@keyframes k-coin{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-10px) rotate(6deg)}}
.k-spark1{animation:k-spark 4.5s cubic-bezier(.45,0,.55,1) infinite}
.k-spark2{animation:k-spark 4.5s cubic-bezier(.45,0,.55,1) 1.6s infinite}
@keyframes k-spark{0%,100%{transform:scale(.8);opacity:.55}50%{transform:scale(1.12);opacity:1}}
.k-shadow{animation:k-shadow 7s cubic-bezier(.45,0,.55,1) infinite}
@keyframes k-shadow{0%,100%{transform:scaleX(1);opacity:.12}50%{transform:scaleX(.92);opacity:.09}}
.k-dot{animation:k-dot 10s cubic-bezier(.45,0,.55,1) infinite}
@keyframes k-dot{0%,22%{opacity:1}32%,86%{opacity:0}96%,100%{opacity:1}}
.k-ok{animation:k-ok 10s cubic-bezier(.45,0,.55,1) infinite}
@keyframes k-ok{0%,22%{opacity:0}32%,86%{opacity:1}96%,100%{opacity:0}}
.k-tick{stroke-dasharray:24;animation:k-tick 10s cubic-bezier(.45,0,.55,1) infinite}
@keyframes k-tick{0%,24%{stroke-dashoffset:24}36%,86%{stroke-dashoffset:0}96%,100%{stroke-dashoffset:24}}
@media (prefers-reduced-motion:reduce){.k-clip,.k-pen,.k-coin,.k-spark1,.k-spark2,.k-shadow,.k-dot,.k-ok,.k-tick{animation:none!important}.k-dot{opacity:0}.k-ok{opacity:1}.k-tick{stroke-dashoffset:0}}
