/* Deklarera – estilo «Skog & lin» (vista previa). Se carga DESPUÉS de deklara.css y solo cambia tokens y piezas visuales.
   Inspiración: lienzo de lino y tarjetas blancas, portada en verde bosque, un único verde pradera como acento. */
:root{
  --bg:#F3EDE4; --surface:#FFFFFF; --ink:#22201D; --muted:#5C5852; --line:#DDD6CA; --line-strong:#857F73;
  --brand:#122315; --brand-ink:#FFFFFF; --brand-soft:#E3F3D9; --brand-hover:#0B170D;
  --accent:#55DD4A; --accent-hover:#46C93C; --accent-edge:#2C8F28; --accent-ink:#122315; --accent-strong:#1F6B1F;
  --radius:18px; --shadow:0 1px 2px rgba(34,32,29,.05),0 10px 30px rgba(34,32,29,.07);
  --forest:#122315; --forest-2:#1B3320; --cream:#F3EDE4;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#0C170E; --surface:#14261A; --ink:#EDF2E8; --muted:#B5C4AF; --line:#27422D; --line-strong:#6E8C73;
  --brand:#8FE184; --brand-ink:#0C170E; --brand-soft:#17331C; --brand-hover:#B2EEA9;
  --accent:#55DD4A; --accent-hover:#6FE665; --accent-edge:#8FE184; --accent-strong:#8FE184; --shadow:none}}
body::before{display:none}
body{font-weight:350;letter-spacing:-.005em}
h1,h2,h3{font-weight:700;letter-spacing:-.025em}
.btn{border-radius:999px}
.btn.primary{border-color:var(--accent-edge)}
.band::before{background:var(--brand-soft);border-block:0}
.plan,.final-box,.k4{border-radius:var(--radius)}

/* ---- portada mörk (Kikin) ---- */
.topdark{
  --ink:#F7F3EA; --muted:#EAF2E5; --line-strong:#9DB8A0; --brand:#8FE184; --accent-strong:#8FE184;
  position:relative;isolation:isolate;color:var(--ink);
  margin-inline:calc(50% - 50vw);padding-inline:calc(50vw - 50% + 0px);
}
.topdark::before{content:"";position:absolute;inset:0;z-index:-1;
  background:radial-gradient(1000px 520px at 78% 38%,#3A7A4D 0%,transparent 64%),linear-gradient(180deg,#285638 0%,#1F4430 100%)}
.topdark .wrap{max-width:1160px;margin-inline:auto}
.topdark .logo-light{display:none}.topdark .logo-dark{display:block}
.topdark .site-header{padding-block:18px}
.topdark .nav a:not(.btn){color:#F3EDE4}
.topdark .eyebrow{color:#B6F2A8}
.topdark h1{color:#F7F1E7;font-size:clamp(46px,8.4vw,96px);line-height:.95;letter-spacing:-.04em;font-weight:800}
.topdark .lead{color:#EEF4E9}
.topdark .lead strong{color:#F7F1E7}
.topdark a{color:#D2F7C9}
.topdark .btn:not(.primary){background:transparent;color:#F3EDE4;border-color:#7E9A82}
.topdark .btn:not(.primary):hover{border-color:#F3EDE4}
.topdark .choose-l{color:#F3EDE4}
.topdark .choice{--ink:#22201D;--muted:#5C5852;--line-strong:#857F73;background:#F3EDE4;border-color:transparent;color:#22201D}
.topdark .choice:hover{border-color:#55DD4A}
.topdark .choice[aria-pressed="true"]{background:#FFFFFF;border-color:#55DD4A;box-shadow:0 0 0 4px rgba(85,221,74,.35)}
.topdark .choice::after{border-color:#857F73;background:#fff}
.topdark .muted{color:#EAF2E5}
.topdark .checks svg{color:#55DD4A}
.topdark .hero{padding-block:clamp(16px,3vw,40px) clamp(56px,8vw,110px)}
.topdark .hero-visual .photo{border-radius:28px;box-shadow:0 24px 60px rgba(0,0,0,.45);border:3px solid #F3EDE4}
.topdark .hero-visual .k4-orig{--ink:#22201D;--muted:#5C5852;background:#F3EDE4;border:0;box-shadow:0 18px 40px rgba(0,0,0,.4);color:#22201D}
.topdark .k4-orig a{color:inherit}
.topdark .k4-orig figcaption .u{color:#1F6B1F}
.topdark::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:28px;background:var(--bg);border-radius:28px 28px 0 0}

/* ---- insignias de los pasos ---- */
.steps.simple .badge{width:132px;height:132px;border-radius:50%;object-fit:cover;box-shadow:0 10px 24px rgba(18,35,21,.25);transition:transform .35s ease}
.steps.simple li:hover .badge{transform:rotate(-4deg) scale(1.04)}
.steps.simple li::before{background:var(--accent);color:var(--accent-ink)}
.steps.simple .big-ic{display:none}

/* ---- franja de bosque antes del pie ---- */
.skog-band{margin:56px calc(50% - 50vw) 0;padding:0;line-height:0;position:relative}
.skog-band img{display:block;width:100%;height:clamp(140px,22vw,300px);object-fit:cover;object-position:center 40%}
.skog-band::before{content:"";position:absolute;inset:-1px 0 auto 0;height:28px;background:var(--bg);border-radius:0 0 28px 28px;z-index:1}
.site-footer{border-top:0}

/* ---- movimiento (solo si el sistema lo permite) ---- */
@media (prefers-reduced-motion:no-preference){
  .js .rv{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
  .js .rv.in{opacity:1;transform:none}
  .js .rv.d1{transition-delay:.08s}.js .rv.d2{transition-delay:.16s}.js .rv.d3{transition-delay:.24s}
  .topdark .hero-visual .k4-orig{animation:flyta 7s ease-in-out infinite}
  .steps.simple .badge{animation:flyta 9s ease-in-out infinite}
  .steps.simple li:nth-child(2) .badge{animation-delay:-3s}.steps.simple li:nth-child(3) .badge{animation-delay:-6s}
  .choice{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
  .choice:hover{transform:translateY(-2px)}
  .plan{transition:transform .25s ease,box-shadow .25s ease}.plan:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(34,32,29,.12)}
  @keyframes flyta{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
}
.topdark .choice[aria-pressed="true"]::after{border-color:#2C8F28;background:#55DD4A url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3.2 3.2L15 6.8' fill='none' stroke='%23122315' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}
@media (min-width:861px){.topdark .hero-visual .k4-orig{left:auto;right:-2%}}

.invig-bar{margin:6px 0 0;display:inline-block;background:#55DD4A;color:#122315;font-weight:600;font-size:clamp(17px,1.5vw + 9px,21px);line-height:1.35;padding:11px 22px;border-radius:22px}
.invig-bar[hidden]{display:none}

[hidden]{display:none!important}

s{opacity:.7;text-decoration-thickness:2px}
.zero{color:var(--accent-strong);font-weight:800;margin-left:4px}
.topdark .zero,.invig-bar .zero{color:#9CF58F}
.plan .price s{font-size:.7em}
.plan .price .zero{font-size:1.15em}
.tiers td s{font-weight:400}
.choice-price .zero{color:var(--accent-strong)}

.invig-bar strong{text-transform:uppercase;letter-spacing:.05em;margin-right:2px}
.invig-bar.black{background:#000;color:#FFD400;border:2px solid #FFD400}
.invig-bar.black strong{color:#FFD400}

.warn.black-bar{background:#000;color:#FFD400;border:2px solid #FFD400;border-left-width:6px;font-weight:600}
.warn.black-bar a{color:#FFD400;text-decoration:underline}
.warn.black-bar strong{text-transform:uppercase;letter-spacing:.05em}

.invig-bar.jul{background:#C8102E;color:#fff;border:2px solid #fff}
.invig-bar.jul strong{color:#fff}
.warn.jul-bar{background:#C8102E;color:#fff;border:2px solid #fff;border-left-width:6px;font-weight:600}
.warn.jul-bar a{color:#fff;text-decoration:underline}
.warn.jul-bar strong{text-transform:uppercase;letter-spacing:.05em}

.warn.black-bar,.warn.jul-bar{font-size:clamp(17px,1.2vw + 10px,20px);line-height:1.45;padding:14px 18px}

/* ---- animaciones del letrero de campaña (solo si el sistema permite movimiento) ---- */
.invig-bar,.warn.black-bar,.warn.jul-bar{position:relative;overflow:hidden;isolation:isolate;--glow:#55DD4A}
.invig-bar.black,.warn.black-bar{--glow:#FFD400}
.invig-bar.jul,.warn.jul-bar{--glow:#fff}
@media (prefers-reduced-motion:no-preference){
  .invig-bar:not([hidden]),.warn.black-bar,.warn.jul-bar{animation:invigIn .7s cubic-bezier(.2,.8,.2,1) both,invigRing 2.8s ease-out 1.2s infinite}
  .invig-bar:not([hidden])::after,.warn.black-bar::after,.warn.jul-bar::after{content:"";position:absolute;inset:0;pointer-events:none;
    background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.38) 50%,transparent 70%);transform:translateX(-130%);animation:invigSweep 5s ease-in-out 1.5s infinite}
  .invig-bar.jul::before,.warn.jul-bar::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;opacity:.85;
    background-image:radial-gradient(2px 2px at 12% 20%,#fff 98%,transparent),radial-gradient(2px 2px at 38% 60%,#fff 98%,transparent),radial-gradient(3px 3px at 64% 30%,#fff 98%,transparent),radial-gradient(2px 2px at 86% 70%,#fff 98%,transparent),radial-gradient(2px 2px at 52% 85%,#fff 98%,transparent);
    background-size:100% 60px;animation:invigSnow 6s linear infinite}
}
@keyframes invigIn{from{opacity:0;transform:translateY(-14px) scale(.96)}to{opacity:1;transform:none}}
@keyframes invigRing{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--glow) 60%,transparent)}70%,100%{box-shadow:0 0 0 14px transparent}}
@keyframes invigSweep{0%,55%{transform:translateX(-130%)}100%{transform:translateX(130%)}}
@keyframes invigSnow{from{background-position:0 -60px}to{background-position:0 0}}

.invig-sub{margin:10px 0 0;color:#FFD400;font-style:italic;font-weight:600;font-size:clamp(16px,1.2vw + 9px,20px);line-height:1.4}
.invig-sub[hidden]{display:none}
.invig-note{display:inline-block;margin-top:6px;font-style:italic;font-weight:600}
.warn.black-bar .invig-note{color:#FFD400}
.warn.jul-bar .invig-note{color:#FFE98A}
@media (prefers-reduced-motion:no-preference){.invig-sub:not([hidden]){animation:invigIn .8s .35s cubic-bezier(.2,.8,.2,1) both}}

.bar-zero{font-weight:800;font-size:1.35em;line-height:1;letter-spacing:.01em}

.share-fab{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:max(16px,env(safe-area-inset-bottom,0px));z-index:50;display:inline-flex;align-items:center;justify-content:center;min-height:48px;min-width:72px;padding:0 20px;border-radius:999px;background:#55DD4A;color:#122315;font:700 16px/1 var(--font);text-decoration:none;border:2px solid #2C8F28;box-shadow:0 8px 24px rgba(0,0,0,.28)}
.share-fab:hover{background:#46C93C;color:#122315}
@media print{.share-fab{display:none}}

/* subida de archivos: botón propio en sueco */
.file-pick{display:flex;align-items:center;gap:12px;flex-wrap:wrap;position:relative}
.file-native{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.file-native:focus-visible+.btn{outline:3px solid var(--focus);outline-offset:3px}
.file-pick .btn{cursor:pointer}
.file-name{color:var(--muted);font-size:15px;word-break:break-all}

.share-fab{padding:0 22px;min-width:0;white-space:nowrap}
@media (prefers-reduced-motion:no-preference){
  .share-fab{animation:fabColors 9s linear infinite}
  .share-fab:hover{animation-play-state:paused}
}
@keyframes fabColors{
  0%,100%{background-color:#55DD4A}
  17%{background-color:#FFD400}
  34%{background-color:#FF9F43}
  50%{background-color:#FF8FB1}
  67%{background-color:#C9A7FF}
  84%{background-color:#5CC8FF}
}
@media (max-width:420px){.share-fab{font-size:15px;padding:0 16px}}

/* ---- botones de compartir con logo ---- */
.share-btn{--brand:#2C7A2C;--brand2:var(--brand);gap:10px;position:relative;overflow:hidden;isolation:isolate;transition:transform .25s ease,box-shadow .25s ease,color .25s ease,border-color .25s ease}
.share-btn .ico{width:20px;height:20px;flex:none;fill:var(--brand);transition:fill .25s ease,transform .35s cubic-bezier(.3,1.6,.5,1)}
.share-btn .ico-stroke{fill:none;stroke:var(--brand);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:stroke .25s ease,transform .35s cubic-bezier(.3,1.6,.5,1)}
.share-btn::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,var(--brand),var(--brand2));transform:translateX(-102%);transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.share-btn:hover,.share-btn:focus-visible{color:#fff;border-color:transparent;transform:translateY(-3px);box-shadow:0 10px 22px rgba(0,0,0,.22)}
.share-btn:hover::before,.share-btn:focus-visible::before{transform:translateX(0)}
.share-btn:hover .ico,.share-btn:focus-visible .ico{fill:#fff;transform:scale(1.28) rotate(-10deg)}
.share-btn:hover .ico-stroke,.share-btn:focus-visible .ico-stroke{fill:none;stroke:#fff}
.share-btn:active{transform:translateY(-1px) scale(.97)}
.brand-fb{--brand:#1565C0}
.brand-ms{--brand:#0A66D6;--brand2:#7A3CE0}
.brand-x{--brand:#000}
.brand-wa{--brand:#0F7A55}
.brand-ig{--brand:#C13584;--brand2:#5851DB}
.brand-ig .ico{fill:#C13584}
.brand-mail{--brand:#2C7A2C}
.brand-link{--brand:#1C4A78}
.brand-share{--brand:#122315}
.btn.share-btn.brand-share{background:#55DD4A;border-color:#2C8F28;color:#122315}
@media (prefers-reduced-motion:reduce){
  .share-btn,.share-btn .ico,.share-btn .ico-stroke,.share-btn::before{transition:none}
  .share-btn:hover,.share-btn:focus-visible{transform:none}
  .share-btn:hover .ico,.share-btn:focus-visible .ico{transform:none}
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .brand-x{--brand:#fff}:root:not([data-theme="light"]) .brand-x:hover,:root:not([data-theme="light"]) .brand-x:focus-visible{color:#000}:root:not([data-theme="light"]) .brand-x:hover .ico{fill:#000}}

/* portada del vídeo de YouTube (miniatura alojada en nuestra web) */
.yt .yt-play{background-size:cover;background-position:center;position:relative;overflow:hidden;align-content:end;padding-bottom:clamp(14px,3vw,28px)}
.yt .yt-play svg{position:absolute;inset:0;margin:auto;width:clamp(64px,11vw,96px);height:clamp(64px,11vw,96px);filter:drop-shadow(0 6px 18px rgba(0,0,0,.5))}
.yt .yt-play span{position:relative;background:rgba(0,0,0,.65);color:#fff;padding:8px 18px;border-radius:999px;font-weight:700;font-size:clamp(15px,1.4vw + 8px,19px)}
.yt .yt-play:hover svg{transform:scale(1.1)}

.hero-tag{margin:0 0 16px;font:700 clamp(20px,2.2vw + 10px,30px)/1.2 var(--font);letter-spacing:-.02em;color:#F7F1E7}
.hero-tag strong{font-weight:800}
.hero-tag span{color:#55DD4A}
@media (prefers-reduced-motion:no-preference){.hero-tag{animation:invigIn .8s .2s cubic-bezier(.2,.8,.2,1) both}}

.faq .ext{display:inline-block;margin-top:8px;font-size:15px;color:var(--muted)}

.zero-sm{font-size:.5em !important;font-weight:800;letter-spacing:.01em;white-space:nowrap}
.plan .price .zero-sm{display:inline-block;margin-left:8px;vertical-align:middle;background:var(--accent);color:#122315 !important;padding:4px 12px;border-radius:999px}
.choice-price .zero-sm{font-size:.9em !important}
