/* craft skin: Spanish for Beginners — plaster cream + azulejo blue + marigold + olive; postcard frames, tile bands, speech-bubble chips. Montserrat 800 + Caveat 600 + Nunito. Tokens also come from theme_config.tokens. */
.cfs-spanish{--bg:#FFF9EF;--bg2:#FDEBD2;--paper:#FFFDF8;--deep:#173C6B;--ink:#27323F;--mute:#5B6470;--line:#EAD9BE;--accent:#3A7BD5;--accent-ink:#1F5FA8;--pop:#F2B544;--pop2:#6B8E4E;--pop3:#F7D9A8;--sig-bg:#E9F1FA;--tomato:#D9472B;--rad:16px;--shd:0 12px 30px rgba(23,60,107,.12)}
.cfs-spanish .cf-head{border-bottom:1px solid var(--line)}
.cfs-spanish .cf-h1,.cfs-spanish .cf-h2,.cfs-spanish :is(.cf-card,.cf-step,.cf-done) h3{font-family:var(--f-disp);font-weight:800;letter-spacing:-.02em}
.cfs-spanish .cf-h1{line-height:1.02;max-width:13ch;font-size:clamp(36px,6vw,72px)}
.cfs-spanish .cf-ac{font-family:var(--f-hand);font-weight:600;font-style:normal;color:var(--accent-ink);font-size:1.18em;line-height:.9;margin-inline:.03em}
.cfs-spanish .cf-kicker{font:800 12px/1.2 var(--f-disp);letter-spacing:.16em;text-transform:uppercase;color:var(--accent-ink)}
.cfs-spanish .cf-ul path{stroke:var(--pop);stroke-width:4}
.cfs-spanish .cf-btn{border:0;background:var(--accent-ink);box-shadow:0 8px 20px rgba(31,95,168,.28);font-weight:800}
.cfs-spanish .cf-btn:active,.cfs-spanish .cf-btn.press{transform:translateY(2px)}
.cfs-spanish .cf-btn-ghost{background:var(--paper);color:var(--accent-ink)!important;border:1.5px solid var(--accent-ink);box-shadow:none}
.cfs-spanish .cf-btn-sm{box-shadow:0 5px 12px rgba(31,95,168,.22)}
.cfs-spanish .cf-sticker{background:var(--pop3);color:var(--deep);border:1.5px dashed var(--accent-ink);border-radius:6px;font:800 12px/1 var(--f-disp);letter-spacing:.14em;text-transform:uppercase;padding:9px 12px;transform:rotate(-3deg)}
.cfs-spanish .cf-chip{position:relative;border:1px solid var(--line);background:var(--paper);border-radius:14px;font-weight:700;color:var(--ink)}
.cfs-spanish .cf-chip::after{content:"";position:absolute;left:14px;bottom:-5px;width:10px;height:10px;background:inherit;border:inherit;border-width:0 1px 1px 0;transform:rotate(45deg)}
.cfs-spanish .cf-chip:nth-child(2n){background:#FBF0D6;border-color:#EBD3A0}
.cfs-spanish .cf-chip:nth-child(3n){background:#E9F1FA;border-color:#C7D8EE}
.cfs-spanish .cf-nav a{white-space:nowrap;font-size:14px;padding:10px 9px}
/* hero: marigold sun disc, azulejo band, postcard + cup + polaroid collage */
.cfs-spanish .cf-hero{background:linear-gradient(180deg,var(--bg) 0,#FFF3DF 100%)}
.cfs-spanish .cf-hero::before{content:"";position:absolute;z-index:-1;width:min(70vw,520px);aspect-ratio:1;right:-14%;top:-22%;border-radius:50%;background:var(--pop3);opacity:.8}
.cfs-spanish .cf-hero::after{content:"";position:absolute;z-index:-1;left:0;right:0;bottom:0;height:22px;background-image:linear-gradient(45deg,var(--t,var(--accent)) 25%,transparent 25% 75%,var(--t,var(--accent)) 75%),linear-gradient(45deg,var(--t,var(--accent)) 25%,transparent 25% 75%,var(--t,var(--accent)) 75%);background-size:22px 22px;background-position:0 0,11px 11px;opacity:.22}
.cfs-spanish .cf-collage{aspect-ratio:1/1.08}
.cfs-spanish .cf-collage figure{border:7px solid var(--paper);box-shadow:var(--shd)}
.cfs-spanish .cf-c1{left:14%;top:0;width:76%;aspect-ratio:4/5;border-radius:14px;outline:1.5px dashed var(--line);outline-offset:-13px}
.cfs-spanish .cf-c2{--rr:-6deg;left:-2%;bottom:3%;width:42%;aspect-ratio:1;border-radius:50%}
.cfs-spanish .cf-c3{--rr:5deg;right:-3%;bottom:-2%;width:36%;aspect-ratio:4/5;border-radius:10px;border-bottom-width:26px}
.cfs-spanish .cf-dec svg{--m1:var(--paper);--m2:var(--accent-ink);--m3:var(--pop);--mi:var(--ink)}
.cfs-spanish .cf-dec1{right:2%;top:3%;rotate:6deg;width:clamp(44px,8vw,66px)}.cfs-spanish .cf-dec2{left:2%;top:14%;width:clamp(40px,8vw,60px)}.cfs-spanish .cf-dec3{right:10%;bottom:28%;rotate:-14deg;width:clamp(34px,6vw,48px)}
@keyframes es-bob{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-9px) rotate(4deg)}}
.cfs-spanish .cf-hero.on .cf-dec{animation:es-bob 6.5s ease-in-out infinite}
.cfs-spanish .cf-hero.on .cf-dec2{animation-duration:8s;animation-delay:-2s}.cfs-spanish .cf-hero.on .cf-dec3{animation-duration:7.2s;animation-delay:-3.5s}
/* section edges: previous colour hangs down as a row of azulejo tiles */
.cfs-spanish .cf-sec{padding-top:calc(clamp(56px,8vw,104px) + 12px)}
.cfs-spanish .cf-sec::before{content:"";position:absolute;left:0;right:0;top:0;height:18px;--t:var(--prev,var(--bg));background-image:linear-gradient(45deg,var(--t,var(--accent)) 25%,transparent 25% 75%,var(--t,var(--accent)) 75%),linear-gradient(45deg,var(--t,var(--accent)) 25%,transparent 25% 75%,var(--t,var(--accent)) 75%);background-size:18px 18px;background-position:0 0,9px 9px;opacity:.9}
.cfs-spanish #scenes{--prev:#FFF3DF}.cfs-spanish #cafe{--prev:var(--bg)}.cfs-spanish #flow{--prev:var(--bg2)}.cfs-spanish #why{--prev:var(--paper)}.cfs-spanish #kit{--prev:var(--bg)}.cfs-spanish #sabor{--prev:var(--paper)}.cfs-spanish #postcards{--prev:var(--bg2)}.cfs-spanish #faq{--prev:var(--paper)}.cfs-spanish #join{--prev:var(--bg2)}
.cfs-spanish .cf-bg-pop{background:var(--deep)}
.cfs-spanish .cf-bg-pop :is(h2,.cf-kicker,.cf-lead,.cf-note,p,li,legend,label){color:#fff}
.cfs-spanish .cf-bg-pop .cf-ac,.cfs-spanish .cf-bg-pop a{color:var(--pop)}
.cfs-spanish .cf-bg-pop .cf-formcard :is(p,li,legend,label,span){color:var(--ink)}
.cfs-spanish .cf-bg-pop .cf-formcard .cf-consent,.cfs-spanish .cf-bg-pop .cf-formcard .cf-msg{color:var(--mute)!important}
.cfs-spanish .cf-bg-pop .cf-facts li,.cfs-spanish .cf-bg-pop .cf-contact{color:#fff}
.cfs-spanish .cf-bg-pop .cf-ul path{stroke:var(--pop)}
.cfs-spanish .cf-bg-pop .cf-formcard .cf-btn,.cfs-spanish .cf-bg-pop .cf-formcard .cf-btn span{color:#fff!important}
.cfs-spanish .cf-bg-pop .cf-formcard a{color:var(--accent-ink)}
/* scene cards */
.cfs-spanish .cf-card{border:1px solid var(--line);border-radius:16px;box-shadow:var(--shd);padding:8px 8px 0;background:var(--paper)}
.cfs-spanish .cf-card-img{border-radius:10px}
.cfs-spanish .cf-card-mo{background:var(--paper);border:1px solid var(--line);top:-26px;right:12px}
.cfs-spanish .cf-card-mo svg{--m1:var(--paper);--m2:var(--accent-ink);--m3:var(--pop);--mi:var(--ink)}
.cfs-spanish .cf-card-b{padding:18px 12px 20px}
.cfs-spanish .cf-tag{text-transform:none;letter-spacing:0;border:0;padding:0;font:600 20px/1.1 var(--f-hand);color:var(--accent-ink)}
.cfs-spanish .cf-k1,.cfs-spanish .cf-k3{margin-top:18px}
@media (max-width:1099px){.cfs-spanish .cf-k1,.cfs-spanish .cf-k3{margin-top:0}}
.cfs-spanish .cf-sigsec{overflow:hidden}
/* steps */
.cfs-spanish .cf-rail{background:var(--bg2);border-bottom:1px solid var(--line)}
.cfs-spanish .cf-rail a[aria-current=step] b{background:var(--accent-ink);border-color:var(--accent-ink)}
.cfs-spanish .cf-step{border:1px solid var(--line);border-radius:16px;box-shadow:var(--shd)}
.cfs-spanish .cf-no{background:var(--pop);border:0;color:var(--ink);font-family:var(--f-disp);font-weight:800}
.cfs-spanish .cf-step-img{border-radius:10px}
/* materials: boarding passes */
.cfs-spanish .cf-mat{border:1px solid var(--line);border-left:6px solid var(--pop);border-radius:10px;padding:12px 18px 12px 14px;box-shadow:0 6px 16px rgba(23,60,107,.08)}
.cfs-spanish .cf-mat-mo{--m1:var(--paper);--m2:var(--accent-ink);--m3:var(--pop);--mi:var(--ink)}
/* story media */
.cfs-spanish .cf-media figure{border:7px solid var(--paper);border-radius:14px;box-shadow:var(--shd);outline:1.5px dashed var(--line);outline-offset:-13px}
.cfs-spanish .cf-media .cf-m2{width:78%;margin-left:auto;border-radius:50% 50% 14px 14px}
.cfs-spanish .cf-pull{border-left:0;padding:10px 0 0;font:600 clamp(26px,3.4vw,38px)/1.15 var(--f-hand);color:var(--accent-ink);position:relative}
.cfs-spanish .cf-pull::before{content:"";display:block;width:56px;height:6px;border-radius:6px;background:var(--pop);margin-bottom:14px}
/* gallery (polaroid) */
.cfs-spanish .cf-cell{border:0;border-radius:10px;box-shadow:var(--shd);background:var(--paper)}
.cfs-spanish .cf-cell figcaption{font:600 20px/1.2 var(--f-hand);color:var(--ink)}
.cfs-spanish details.cf-acc{border:1px solid var(--line);border-radius:14px}
.cfs-spanish .cf-formcard{border:1px solid var(--line);border-radius:22px;box-shadow:0 22px 50px rgba(0,0,0,.22)}
.cfs-spanish .cf-fld input,.cfs-spanish .cf-opt span{border:1.5px solid #CFD9E6}
.cfs-spanish .cf-opt input:checked+span{background:var(--pop3);box-shadow:inset 0 0 0 1.5px var(--accent-ink)}
.cfs-spanish .cf-done-c{fill:var(--pop3);stroke:var(--accent-ink)}
.cfs-spanish .cf-end{background:var(--bg2)}
.cfs-spanish .cf-bar,.cfs-spanish .cf-share a{border-color:var(--line)}
@media (prefers-reduced-motion:reduce){.cfs-spanish .cf-hero.on .cf-dec{animation:none}}
@media (min-width:900px){.cfs-spanish .cf-rail{background:none;border:0}}

/* ===== Japanese (html:lang(ja) only) ===== */
html:lang(ja) body.cfs-spanish :is(.cf-h1,.cf-h2){max-width:none;letter-spacing:0;font-weight:800}
html:lang(ja) body.cfs-spanish .cf-h2{max-width:22em}
html:lang(ja) body.cfs-spanish .cf-kicker{text-transform:none;letter-spacing:.06em}
html:lang(ja) body.cfs-spanish .cf-ac{font-family:inherit;font-weight:800;font-style:normal}
