/* =========================================================
   VĹˇZP ÄŚasovĂˇ kapsula 2026 â€” dizajn podÄľa Figma referencie
   ========================================================= */

:root{
  /* ZĂˇkladnĂ© farby podÄľa zadania */
  --color-dark:#20323A;
  --color-turquoise:#00BDB6;
  --color-turquoise-text:#007E7A;
  --teal-light:#A9DAE0;
  --teal-wash:#A9DAE038; /* veÄľkĂ© plochy: A9DAE0 @ 22% opacity */
  --section-gradient:linear-gradient(90deg,#A9DAE038 0%,#A9DAE024 35%,#FFFFFF00 100%);
  --card-teal:#CDF2F2;
  --pink:#ec4899;
  --ink:var(--color-dark);
  --muted:#59656B;
  --border:#89979C;
  --section-gray-2:#eef7f8;
  --section-border:#dfe6e8;
  --section-max:1200px;
  --radius-lg:20px;
  --radius-md:14px;
  --shadow-soft:0 20px 50px rgba(32,50,58,.10);
  --shadow-card:0 1px 0 rgba(0,0,0,.02);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px;overflow-x:clip}
body{margin:0;background:#fff;color:var(--ink);font-family:'Satoshi',Poppins,Arial,sans-serif;line-height:1.6;overflow-x:clip}
button,input,select,textarea{font-family:'Satoshi',Poppins,Arial,sans-serif}
h1,h2,h3{font-family:'Satoshi',Poppins,Arial,sans-serif;font-weight:900;line-height:1.12;margin:0;color:var(--ink);letter-spacing:-.03em;text-wrap:balance}
h1{font-size:clamp(2.1rem,5vw,4.2rem)}
h2{font-size:clamp(1.4rem,2.4vw,2.4rem)}
h3{font-size:1rem;margin:24px 0 10px}
p{color:var(--muted);margin:.55rem 0 1.5rem;font-size:16px;text-wrap:pretty}
a{color:inherit}
:where(a,button,input,textarea,select,[tabindex]):focus-visible{outline:3px solid var(--color-turquoise-text);outline-offset:3px}
:where(p,h1,h2,h3,a,button,label){overflow-wrap:anywhere}
.container{max-width:1180px;margin:auto;padding:0 28px}
.narrow{max-width:1180px}
.wide{max-width:1180px}
[hidden]{display:none!important}

/* Text available to assistive technologies without affecting the Figma layout. */
.visually-hidden{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  border:0!important;
}

/* ---------- eyebrow ---------- */
.eyebrow{display:inline-flex;align-items:center;gap:8px;border:none;padding:0;margin-bottom:16px;text-transform:uppercase;letter-spacing:.2em;font:700 11px 'Satoshi',Poppins,Arial,sans-serif;color:var(--color-turquoise-text)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;min-height:52px;padding:0 30px;font:700 15px 'Satoshi',Poppins,Arial,sans-serif;cursor:pointer;text-decoration:none;transition:.25s ease;position:relative}
/* PNG je prvĂˇ vrstva; pĂ´vodnĂ˝ CSS lesk a gradient ostĂˇvajĂş pod nĂ­m ako automatickĂˇ zĂˇloha. */
.btn-dark{--btn-skin:url('/images/casova-kapsula/assets/design/button-kratky.webp');color:#fff;background-color:var(--color-turquoise);background-image:var(--btn-skin),linear-gradient(180deg,rgba(255,255,255,.65),rgba(255,255,255,0)),linear-gradient(180deg,#22d6c9 0%,var(--color-turquoise) 45%,var(--color-turquoise) 100%);background-position:center,14px 5px,center;background-size:100% 100%,calc(100% - 28px) 38%,100% 100%;background-repeat:no-repeat;box-shadow:0 14px 30px rgba(0,189,182,.35),inset 0 1px 0 rgba(255,255,255,.55),inset 0 -6px 10px rgba(0,90,88,.25)}
.btn-dark[data-next],.btn-dark[type=submit]{--btn-skin:url('/images/casova-kapsula/assets/design/button-dlhy.webp')}
.btn-dark:hover{transform:translateY(-2px);box-shadow:0 18px 36px rgba(0,189,182,.42),inset 0 1px 0 rgba(255,255,255,.6)}
.btn-outline{border:2px solid var(--color-dark);background:#fff;color:var(--color-dark)}
.btn-outline:hover{border-color:var(--color-turquoise-text);color:var(--color-turquoise-text);transform:translateY(-2px)}
.btn-small{min-height:38px;padding:0 20px;font-size:13px}

/* ---------- header ---------- */
.site-header{
  --header-height:78px;
  height:var(--header-height);
  background:#fff;
  position:relative;
  z-index:50;
  transition:height .24s ease,background-color .24s ease,box-shadow .24s ease,backdrop-filter .24s ease;
}
.nav-row{height:100%;display:flex;align-items:center;gap:28px}
.brand{display:inline-flex;align-items:center;flex:0 0 auto}
.brand img{display:block;height:26px;width:auto}
.main-nav{display:flex;align-items:center;gap:26px;margin-left:auto;white-space:nowrap}
.main-nav a{color:var(--ink);text-decoration:none;font-weight:700;font-size:14px;transition:color .2s ease,font-size .24s ease}
.main-nav a:hover{color:var(--color-turquoise-text)}
.header-start,.reset-button{white-space:nowrap}
.header-start[hidden],.reset-button[hidden]{display:none!important}
.header-full.is-home{
  position:sticky;
  top:0;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(18px);
  box-shadow:0 1px 0 rgba(32,50,58,.08);
}
.header-full.is-flow{
  position:relative;
  inset:auto;
  background:var(--section-gradient);
  backdrop-filter:none;
  box-shadow:none;
}

/* PlĂˇvajĂşca hlaviÄŤka sa pouĹľĂ­va iba na Ăşvodnej strĂˇnke. */
@media (width >= 861px){
  .header-full.is-home{
    --header-height:132px;
    position:absolute;
    inset:0 0 auto;
    background:transparent;
    backdrop-filter:none;
    box-shadow:none;
  }
  .header-full.is-home .nav-row{max-width:1280px;gap:34px}
  .header-full.is-home .brand{margin-left:8px}
  .header-full.is-home .main-nav{gap:38px}
  .header-full.is-home .main-nav a{font-size:12px;font-weight:500}
  .header-full.is-home .btn-small{min-height:42px;padding:0 22px;font-size:12px;margin-right:clamp(-38px,calc(52px - 6.25vw),0px)}

  .header-full.is-home.is-scrolled{
    --header-height:78px;
    position:fixed;
    background:rgba(255,255,255,.92);
    backdrop-filter:blur(18px);
    box-shadow:0 10px 30px rgba(32,50,58,.08);
  }
  .header-full.is-home.is-scrolled .nav-row{gap:28px}
  .header-full.is-home.is-scrolled .main-nav{gap:26px}
  .header-full.is-home.is-scrolled .main-nav a{font-size:14px;font-weight:700}
  .header-full.is-home.is-scrolled .brand{margin-left:0}
  .header-full.is-home.is-scrolled .btn-small{min-height:38px;padding:0 20px;margin-right:0;font-size:13px}

  .header-full.is-flow{
    --header-height:132px;
    position:relative;
    inset:auto;
    background:var(--section-gradient);
    backdrop-filter:none;
    box-shadow:none;
  }
  .header-full.is-flow .nav-row{max-width:1280px;gap:34px}
  .header-full.is-flow .brand{margin-left:8px}
  .header-full.is-flow .main-nav{gap:38px}
  .header-full.is-flow .main-nav a{font-size:12px;font-weight:500}
  .header-full.is-flow .btn-small{min-height:42px;padding:0 22px;font-size:12px;margin-right:clamp(-38px,calc(52px - 6.25vw),0px)}
}

/* ---------- hero ---------- */
.hero{background:var(--section-gradient);padding:64px 0 0}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;padding-bottom:56px}
.hero-copy .hero-title{
  position:relative;
  isolation:isolate;
  width:min(100%,560px);
  margin:0;
  font-size:clamp(4rem,10vw,6rem);
  line-height:.82;
  letter-spacing:-.055em;
}
.hero-title__top{display:block;position:relative;z-index:0;font-weight:700}
.hero-copy .chrome-word{display:block;position:relative;z-index:1;width:100%;max-width:none;height:auto;margin:-.17em 0 0}
.hero-copy .hero-intro{max-width:560px;margin:24px 0 28px;font-size:18px;line-height:1.42;color:#66747b}
.hero-copy .hero-intro strong{color:var(--color-dark);font-weight:700}
.hero-copy .hero-contest-copy{max-width:510px}
.hero-visual{display:flex;justify-content:center;align-items:center;min-width:0}
.hero-visual img{display:block;width:100%;max-width:420px;height:auto;filter:drop-shadow(0 30px 40px rgba(32,50,58,.12))}
#ako-to-funguje,#sutaz{scroll-margin-top:96px}

/* Pri transparentnej desktopovej hlaviÄŤke nechĂˇva hero priestor pre menu. */
@media (width >= 861px){.hero{padding-top:168px}}

/* VeÄľkosti a rozostupy z desktopovĂ©ho Figma nĂˇvrhu. */
@media (width >= 921px){
  .hero-grid{max-width:1280px;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);gap:18px;padding-bottom:66px}
  .hero-copy{padding-left:4px}
  .hero-copy .hero-title{width:min(100%,845px);font-size:clamp(5rem,9.45vw,8.5rem);line-height:.74}
  .hero-title__top{top:13px}
  .hero-copy .chrome-word{width:100%;margin-top:-.17em;margin-right:0;margin-bottom:0;margin-left:clamp(-47px,calc(88px - 9.375vw),-10px);transform:translateY(-5px)}
  .hero-copy .hero-intro{max-width:510px;margin:12px 0 30px 4px}
  .hero-copy .hero-contest-copy,.hero-copy>.btn{margin-left:4px}
  .hero-visual{justify-content:flex-end;overflow:visible}
  .hero-visual img{width:clamp(400px,32vw,460px);max-width:none;margin-right:18px}
}

.oura-row{border-top:0px solid var(--border);padding:40px 0 44px}
.oura-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.oura-card{position:relative;overflow:hidden;background:var(--card-teal);border-radius:var(--radius-md);min-height:165px;display:grid;grid-template-columns:150px minmax(0,1fr);align-items:stretch}
.oura-card__media{min-width:0;min-height:165px;overflow:hidden;display:grid;place-items:center;background:rgba(255,255,255,.5)}
.oura-card__media img{display:block;width:100%;height:100%;margin:0;position:static;transform:none;filter:none;object-fit:cover}
.oura-card--product{grid-template-columns:165px minmax(0,1fr)}
.oura-card--photo{grid-template-columns:190px minmax(0,1fr)}
.oura-card--product .oura-card__media{background:transparent;padding:0}
.oura-card--product .oura-card__media img{width:100%;height:100%;max-height:none;object-fit:cover;filter:none}
.oura-card__content{min-width:0;padding:22px 20px;display:flex;flex-direction:column;justify-content:center}
.oura-card h3{margin:0 0 8px;font:700 16px 'Satoshi',Poppins,Arial,sans-serif;color:var(--color-turquoise)}
.oura-card p{margin:0;font-size:14px;line-height:1.55;color:#3f5057}
@media (width <= 980px){.oura-grid{grid-template-columns:1fr}}
@media (width <= 920px){
  .hero-grid{grid-template-columns:1fr;gap:28px;text-align:center}
  .hero-copy{display:flex;flex-direction:column;align-items:center}
  .hero-copy .hero-title{width:min(100%,430px);margin-inline:auto;text-align:center;font-size:clamp(3.75rem,18vw,5.4rem);line-height:.75}
  .hero-title__top{top:7px}
  .hero-copy .chrome-word{width:102%;margin:-.17em -1% 0;transform:translateY(-4px)}
  .hero-copy .hero-intro,.hero-copy .hero-contest-copy{margin-left:auto;margin-right:auto;text-align:center}
  .hero-visual{justify-content:center}
  .hero-visual img{width:100%;max-width:320px}
}
@media (width <= 860px){
  .hero-copy > .hero-intro:not(.hero-contest-copy){margin-top:26px}
  .hero-visual{display:none}
  .container.oura-row{padding-top:48px;padding-left:clamp(28px,8vw,48px);padding-right:clamp(28px,8vw,48px)}
  .oura-grid{gap:12px}
}
@media (width <= 560px){
  .oura-row{padding-top:48px;padding-bottom:36px}
  .oura-grid{gap:10px}
  .oura-card{min-height:132px;grid-template-columns:112px minmax(0,1fr)}
  .oura-card--product{grid-template-columns:132px minmax(0,1fr)}
  .oura-card--photo{grid-template-columns:142px minmax(0,1fr)}
  .oura-card__media{min-height:132px}
  .oura-card__content{padding:18px 16px}
  .oura-card--product .oura-card__media{padding:0}
  .oura-card--product .oura-card__media img{max-height:none}
}

/* In Windows High Contrast / forced-colors mode, show the complete H1 as real text. */
@media (forced-colors: active){
  :where(a,button,input,textarea,select,[tabindex]):focus-visible{outline:2px solid CanvasText}
  .btn-dark{background-image:none}
  .hero-copy .chrome-word{display:none}
  .hero-copy .hero-title{line-height:.9}
  .hero-title__top{top:0}
  .hero-title .visually-hidden{
    position:static!important;
    display:block;
    width:auto!important;
    height:auto!important;
    margin:0!important;
    overflow:visible!important;
    clip-path:none!important;
    white-space:normal!important;
  }
}

/* ---------- why vszp ---------- */
.home-why{background-color:var(--teal-wash);border-top:1px solid var(--section-border)}
.why-vszp{padding:80px 0}
.why-vszp-head{margin-bottom:52px}
.why-vszp-title{max-width:640px;color:var(--color-turquoise);font-size:clamp(2rem,3.2vw,2.4rem);font-weight:700;line-height:1.12;letter-spacing:-.02em}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.why-card{background:#fff;border:0;border-radius:var(--radius-md);padding:26px 26px 28px;min-height:210px;box-shadow:var(--shadow-card);transition:transform .25s ease,box-shadow .25s ease}
.why-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-soft)}
.why-icon{width:44px;height:44px;flex:0 0 44px;overflow:visible;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#f472b6,var(--pink));margin-bottom:18px}
.why-icon img{display:block;width:24px;height:24px;object-fit:contain}
.why-card h3{font:700 1rem 'Satoshi',Poppins,Arial,sans-serif;margin:0 0 12px;color:var(--color-turquoise)}
.why-card p{font-size:14px;line-height:1.7;margin:0}
@media (width <= 860px){.why-vszp-head{margin-bottom:36px}.why-grid{grid-template-columns:1fr;gap:16px}}

/* ---------- builder / steps flow ---------- */
.builder{background:var(--section-gradient);padding:40px 0 64px;border:0}
.flow-head h1{max-width:640px;color:var(--color-turquoise);font-size:clamp(1.9rem,3vw,2.8rem);font-weight:700;letter-spacing:-.02em}
.flow-head p{margin-bottom:34px}
.steps{list-style:none;display:flex;align-items:flex-start;gap:18px;width:max-content;max-width:100%;padding:0 0 0 18px;margin:0 0 72px;font-family:'Satoshi',Poppins,Arial,sans-serif}
.steps li{position:relative;display:flex;align-items:center;gap:18px;color:#5f6062}
.steps li:not(:last-child)::after{content:"";width:60px;height:2px;background:#5f6062}
.steps b{width:38px;height:38px;border-radius:50%;border:2px solid currentColor;display:grid;place-items:center;background:#fff;color:inherit;font-size:18px;font-weight:400;font-style:normal;line-height:1}
.steps span{position:absolute;top:54px;left:19px;transform:translateX(-50%);font-size:18px;font-weight:400;line-height:1.15;color:inherit;white-space:nowrap}
.steps .active b{border-width:2px;color:var(--color-dark);font-weight:500}
.steps .active span{color:var(--color-dark);font-weight:500}
.steps .done b{background:var(--color-turquoise-text);border-color:var(--color-turquoise-text);color:#fff;font-weight:500}
.steps .done:not(:last-child)::after{background:var(--color-turquoise-text)}
.steps .done span{color:var(--color-turquoise-text);font-weight:500}

.form-card{max-width:980px}
.form-card h2{color:var(--color-turquoise);font-size:clamp(1.6rem,2.2vw,2rem);font-weight:700;letter-spacing:-.02em}
.form-card fieldset{border:0;padding:0;margin:26px 0}
.form-card legend,.field-label{display:block;font-weight:700;color:var(--ink);margin-bottom:12px}
.field-label span{color:#9aa4a9;font-weight:400}
.choice-row{display:flex;flex-wrap:wrap;gap:10px}

.questionnaire-fieldset{max-width:720px}
.conditional-question-note{margin:-4px 0 12px;color:var(--muted);font-size:13px;line-height:1.45}
.first-step-group[hidden]{display:none!important}
.choice-pill{position:relative;display:inline-flex;cursor:pointer}
.choice-pill input,.selection-control{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;opacity:0}
.choice-pill span{display:inline-flex;align-items:center;justify-content:center;min-height:40px;border:2px solid var(--color-turquoise);background:#fff;color:var(--ink);border-radius:999px;padding:9px 16px;font:500 12px 'Satoshi',Poppins,Arial,sans-serif;transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}
.choice-pill input:checked + span{background:var(--color-turquoise);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.25)}
.choice-pill:has(input:focus-visible) span{outline:3px solid var(--color-turquoise-text);outline-offset:3px}
@media (hover:hover) and (pointer:fine){
  .choice-pill:hover span{background:color-mix(in oklab,var(--color-turquoise) 9%,#fff);transform:translateY(-1px);box-shadow:0 7px 16px rgba(0,189,182,.14)}
  .choice-pill:has(input:checked):hover span{background:color-mix(in oklab,var(--color-turquoise) 76%,#fff);box-shadow:0 8px 18px rgba(0,126,122,.18)}
}
.choice-pill:active span{transform:translateY(0);box-shadow:none}
textarea,input{width:100%;border:1px solid var(--border);border-radius:12px;padding:15px 18px;font:inherit;background:#fff;accent-color:var(--color-turquoise-text)}
::placeholder{color:#59656b;opacity:1}
textarea:focus,input:focus{border-color:var(--color-turquoise-text);box-shadow:0 0 0 3px rgba(0,189,182,.16)}
textarea{height:110px;resize:vertical}
#message{height:225px;resize:vertical;border:2px solid var(--color-turquoise);border-radius:30px;padding:24px 26px}
#message:focus{border-color:var(--color-turquoise);box-shadow:none}
#message:focus-visible{outline:3px solid var(--color-turquoise-text);outline-offset:3px}

/* AI suggestion block (krok 1) */
.ai-suggest{border:2px solid var(--color-turquoise);background:#fff;border-radius:30px;padding:24px 26px;margin:22px 0 16px}
.ai-suggest .ai-label{display:flex;align-items:center;gap:8px;font:500 12px 'Satoshi',Poppins,Arial,sans-serif;text-transform:uppercase;letter-spacing:.12em;color:var(--color-turquoise-text);margin-bottom:12px}
.ai-suggest .ai-label svg{width:14px;height:14px;fill:var(--pink)}
.ai-suggest p{font-style:italic;color:#3f5057;margin:0 0 18px;font-size:15px;line-height:1.75;min-height:96px}
.ai-suggestion-debug:not([hidden]){display:block;white-space:pre-wrap;overflow-wrap:anywhere;margin:-4px 0 18px;padding:12px 14px;border:1px dashed rgba(0,88,88,.35);border-radius:12px;background:#f4fbfa;color:#31545a;font:500 12px/1.55 'Satoshi',Poppins,Arial,sans-serif}
.ai-suggest-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.ai-suggest .btn-use{border:0;background:var(--color-turquoise);color:#fff;font:500 13px 'Satoshi',Poppins,Arial,sans-serif;border-radius:999px;padding:9px 18px;cursor:pointer;transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease}
.ai-suggest .btn-use:hover{background:color-mix(in oklab,var(--color-turquoise) 78%,#fff);color:#fff;transform:translateY(-1px);box-shadow:0 7px 16px rgba(0,189,182,.18)}
.ai-suggest .btn-regenerate{border:2px solid var(--color-turquoise-text);background:transparent;color:var(--color-turquoise-text);font:700 13px 'Satoshi',Poppins,Arial,sans-serif;border-radius:999px;padding:9px 18px;cursor:pointer;transition:.2s}
.ai-suggest .btn-regenerate:hover{border-color:var(--color-turquoise-text);background:var(--teal-wash)}
.ai-suggest button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}
.form-card{position:relative}
.step1-illustration{position:absolute;top:105px;right:40px;margin:0;z-index:2;pointer-events:none}
.step1-illustration img{width:340px;height:auto}
@media (width <= 1100px){
  .step1-illustration{top:60px;right:-10px}
  .step1-illustration img{width:280px}
}
@media (width <= 900px){
  .step1-illustration{position:static;display:flex;justify-content:center;margin:4px 0 10px}
  .step1-illustration img{width:220px}
}
  .step1-illustration {
    display: none;
  }
.helper-text{font-size:13px;line-height:1.5;color:var(--muted);margin:24px 0 40px}

.actions{display:flex;align-items:center;gap:18px;margin-top:34px}
.link-btn{border:0;background:transparent;min-height:44px;padding:8px 10px;font-weight:700;cursor:pointer;color:var(--color-dark)}
.link-btn:hover{color:var(--color-turquoise-text)}

/* ---------- editor (krok 2) ---------- */
.editor-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,1.05fr);column-gap:56px;row-gap:0}
.editor-grid>.form-card{grid-column:1;grid-row:1}
.editor-grid>.preview-wrap{grid-column:2;grid-row:1 / span 2}
.editor-grid>.editor-actions{grid-column:1;grid-row:2}
.postcard-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:30px}
.template-card{position:relative;display:grid;grid-template-rows:auto 1fr;min-width:0;text-align:left;cursor:pointer;border:2px solid #89979c;background:#fff;border-radius:22px;padding:8px;transition:transform .2s,box-shadow .2s,border-color .2s,background-color .2s;box-shadow:0 8px 24px rgba(25,54,61,.08)}
.template-card:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(0,128,123,.14);border-color:rgba(0,189,182,.55)}
.template-card:has(input:focus-visible){outline:3px solid var(--color-turquoise-text);outline-offset:3px}
.template-card:has(input:checked){background:#effbfa;border-color:var(--color-turquoise-text);color:var(--color-dark)}
.template-card__preview{position:relative;display:block;overflow:hidden;width:100%;aspect-ratio:1;border-radius:16px;background-size:cover;background-position:center;box-shadow:inset 0 0 0 1px rgba(25,54,61,.06)}
.template-card__preview-text{position:absolute;left:9%;right:8%;top:43%;bottom:14%;overflow:hidden;color:var(--preview-text,#005858);font-family:"Overpass Mono","Courier New",Courier,monospace;font-size:clamp(5px,.62vw,8px);font-weight:600;line-height:1.22;letter-spacing:0;white-space:pre-wrap;overflow-wrap:anywhere;text-align:left}
.template-card__copy{display:block;padding:11px 8px 8px}
.template-card b{display:block;font-size:15px;line-height:1.25}
.template-card small{display:block;margin-top:3px;color:#68757a;line-height:1.35}
.template-card__check{position:absolute;top:16px;right:16px;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--color-turquoise-text);color:#fff;font-weight:800;box-shadow:0 4px 12px rgba(0,128,123,.25)}
.template-card:not(:has(input:checked)) .template-card__check{display:none}
.sticker-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.sticker{position:relative;min-height:112px;display:grid;place-items:center;text-align:center;cursor:pointer;overflow:hidden;border:2px solid #89979c;background:#fff;border-radius:var(--radius-md);padding:14px;transition:transform .2s,box-shadow .2s,border-color .2s,background-color .2s}
.sticker:hover{background:var(--teal-wash);transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,189,182,.12);border-color:rgba(0,189,182,.65)}
.sticker:has(input:focus-visible){outline:3px solid var(--color-turquoise-text);outline-offset:3px}
.sticker:has(input:checked){background:#effbfa;border-color:var(--color-turquoise-text);box-shadow:inset 0 0 0 1px var(--color-turquoise-text)}
.sticker img{display:block;width:100%;height:76px;object-fit:contain}
.sticker-check{position:absolute;top:8px;right:8px;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--color-turquoise-text);color:#fff;font-weight:800;box-shadow:0 4px 12px rgba(0,128,123,.22)}
.sticker:not(:has(input:checked)) .sticker-check{display:none}
.muted{font-size:13px;color:#59656b;margin-top:-6px}
.preview-wrap{position:sticky;top:100px;align-self:start;text-align:center}
.postcard{--card-text:#005858;position:relative;overflow:hidden;width:100%;aspect-ratio:1;border-radius:32px;background:var(--teal-wash);box-shadow:0 22px 50px rgba(25,54,61,.16);isolation:isolate}
.postcard-art{position:absolute;inset:0;background:var(--card-bg);background-size:cover;background-position:center;transition:.35s;z-index:0}
.postcard-content{position:relative;z-index:1;text-align:left;width:100%;height:100%;padding:0}
.selected-stickers{position:absolute;right:7.5%;top:7.5%;display:flex;justify-content:flex-end;align-items:flex-start;flex-wrap:wrap;gap:7px;width:50%;max-height:27%;overflow:hidden;pointer-events:none;filter:drop-shadow(0 2px 3px rgba(255,255,255,.8))}
.selected-stickers img{display:block;width:auto;max-width:min(46%,150px);height:auto;max-height:clamp(34px,6.5vw,68px);object-fit:contain}
.postcard-copy{--copy-top:43%;position:absolute;left:9%;right:8%;top:var(--copy-top);bottom:14%;overflow:hidden;margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:var(--card-text,#20323A);font-family:"Overpass Mono","Courier New",Courier,monospace;font-weight:500;line-height:1.34;letter-spacing:.01em;white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;text-shadow:none;backdrop-filter:none}

/* ---------- registrĂˇcia (krok 3) ---------- */
#registrationPanel{width:100%;max-width:980px}
#registrationPanel .registration-grid{display:grid;grid-template-columns:minmax(0,620px) minmax(200px,1fr);column-gap:40px;align-items:start;width:100%;max-width:980px;margin:0}
#registrationPanel .registration-fields{grid-column:1;grid-row:1;min-width:0}
#registrationPanel .registration-consents{grid-column:1;grid-row:2;min-width:0}
#registrationPanel .step3-illustration{grid-column:2;grid-row:1 / span 2;display:flex;justify-content:center;align-items:flex-start;min-width:0;padding-top:42px;pointer-events:none}
#registrationPanel .step3-illustration img{display:block;width:min(100%,340px);height:auto}
.check-card{display:grid;grid-template-columns:auto 1fr;gap:10px;border:2px solid var(--color-turquoise-text);border-radius:var(--radius-md);padding:18px;margin:24px 0;max-width:620px;background:var(--teal-wash)}
.checkbox{display:flex;gap:10px;align-items:flex-start;max-width:620px;margin:14px 0;color:#61676c}
.checkbox input,.check-card input{
  width:20px;
  height:20px;
  min-width:20px;
  flex:0 0 20px;
  margin:1px 0 0;
  padding:0;
  border-radius:4px;
  box-shadow:none;
  accent-color:var(--color-dark);
  cursor:pointer;
}
#registrationPanel .field-label{font-weight:500;margin-top:18px;margin-bottom:7px}
#registrationPanel :is(#registration-email,#registration-name){font-weight:400}
#registrationPanel .required-mark{color:#a61b47;font-weight:700}
#registrationPanel .contest-required-note{color:#8a8f93;font-weight:400}
#registrationPanel .required-note{margin:-12px 0 18px;font-size:13px;color:#59656b}
#registrationPanel .check-card strong{font-weight:500}
#registrationPanel .checkbox{font-weight:400}
#registrationPanel .field-help{display:block;margin:6px 0 14px;color:#59656b;font-size:13px;line-height:1.45}
#registrationPanel .field-error{display:block;margin:6px 0 14px;color:#9b1c31;font-size:13px;font-weight:500;line-height:1.45}
#registrationPanel .field-error:empty{margin:0}
#registrationPanel input[aria-invalid="true"]{border-color:#b4233c;box-shadow:0 0 0 3px rgba(180,35,60,.14)}
#registrationPanel .form-errors{max-width:620px;margin:0 0 22px;padding:14px 18px;border:2px solid #b4233c;border-radius:12px;background:#fff6f7;color:#701426}
#registrationPanel .form-errors strong{font-weight:600}
#registrationPanel .form-errors ul{margin:8px 0 0;padding-left:22px}
#registrationPanel .form-errors a{color:#701426;text-decoration-thickness:1.5px;text-underline-offset:2px}
#registrationPanel :is(.check-card,.checkbox):has(input:focus-visible){outline:3px solid var(--color-turquoise-text);outline-offset:3px}
#registrationPanel :is(.check-card,.checkbox) input:focus-visible{outline:none}
@media (width <= 960px){
  #registrationPanel .registration-grid{grid-template-columns:minmax(0,620px);width:min(100%,620px);max-width:620px;column-gap:0}
  #registrationPanel .registration-fields{grid-column:1;grid-row:1}
  #registrationPanel .step3-illustration{grid-column:1;grid-row:2;padding:12px 0 6px}
  #registrationPanel .step3-illustration img{width:220px}
  #registrationPanel .registration-consents{grid-column:1;grid-row:3}
}
/* ---------- success (krok 4) ---------- */
.success{text-align:center}
.center{display:grid;justify-items:center}
.lock-illo{display:flex;align-items:center;gap:32px;color:var(--ink);margin:12px 0 14px}
.lock-illo div{width:190px;height:190px;border-radius:50%;border:1px solid var(--border);background:radial-gradient(circle,var(--teal-wash),#fff);display:grid;place-items:center;font-size:58px;box-shadow:0 12px 40px rgba(0,0,0,.05)}
.lock-illo span{font-size:38px}
.success-title{max-width:820px;margin:8px 0 14px;color:var(--color-turquoise);font-size:clamp(2.1rem,4vw,3.5rem)}
.contest-success-message{margin:18px 0 0;padding:12px 18px;border-radius:12px;background:var(--teal-wash);color:var(--color-dark);font-weight:700}
.test-success-message{margin:12px 0 0;padding:12px 18px;border-radius:12px;background:#fff8dc;color:#5f4a00;border:1px solid #ead37a;font-weight:700}
.submission-test-panel{max-width:620px;margin:22px 0 18px;padding:14px 16px;border:1px dashed rgba(32,50,58,.35);border-radius:12px;background:#f8fafb}
.submission-test-panel summary{cursor:pointer;font-weight:700;color:var(--color-dark)}
.submission-test-panel p{margin:10px 0 12px;color:#59656b;font-size:14px;line-height:1.45}
.submission-test-panel .field-label{display:block;margin:0 0 7px}
.submission-test-panel select{width:100%;min-height:48px;padding:10px 42px 10px 12px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--color-dark);font:inherit}
.submission-test-panel select:focus-visible{outline:3px solid var(--color-turquoise-text);outline-offset:2px}
.submission-status{margin:4px 0 16px;padding:12px 16px;border-radius:12px;font-weight:700}
.submission-status.is-loading{background:var(--teal-wash);color:var(--color-dark)}
.submission-status.is-error{background:#fff0f3;color:#9d174d;border:1px solid #f9a8d4}
#capsuleForm[aria-busy="true"] #registrationPanel .actions{opacity:.82}
#capsuleForm button[type="submit"]:disabled{cursor:wait;filter:saturate(.7);transform:none}
.kiosk-reset-panel{display:grid;justify-items:center;width:min(720px,100%);margin:42px auto 0;padding:26px 28px;border:1px solid rgba(0,126,122,.18);border-radius:22px;background:linear-gradient(180deg,rgba(169,218,224,.23),rgba(255,255,255,.88));box-shadow:0 18px 42px rgba(32,50,58,.08)}
.kiosk-reset-panel h2{font-size:clamp(1.35rem,2.2vw,1.9rem);color:var(--color-dark)}
.kiosk-countdown-copy{max-width:620px;margin:12px 0 14px;color:var(--color-dark);text-align:center}
.kiosk-countdown-copy strong{color:var(--color-turquoise-text);white-space:nowrap}
.kiosk-countdown-track{width:min(520px,100%);height:9px;border-radius:999px;background:rgba(32,50,58,.12);overflow:hidden}
.kiosk-countdown-track span{display:block;width:100%;height:100%;border-radius:inherit;background:var(--color-turquoise);transition:width .25s linear}
.kiosk-countdown-help{margin:10px 0 20px;font-size:14px;color:var(--muted)}
.kiosk-new-button{min-width:220px}
.share-section{display:grid;justify-items:center;width:100%;margin-top:54px}
.share-section h2{font-size:clamp(1.7rem,3vw,2.5rem);color:var(--color-turquoise)}
.share-section > p{margin:10px 0 4px;color:var(--muted)}
.share{width:min(460px,100%);margin:24px 0}
.share .postcard-content{padding:0}
.share .postcard-copy{bottom:14%}
.share-actions{display:grid;grid-template-columns:repeat(2,minmax(0,300px));justify-content:center;gap:16px;width:100%}
.share-btn{position:relative;isolation:isolate;display:grid;grid-template-columns:46px minmax(0,1fr) 34px;align-items:center;gap:13px;min-height:68px;width:100%;padding:10px 12px;border:1px solid rgba(255,255,255,.38);border-radius:18px;color:#fff;font:700 15px/1.2 'Satoshi',Poppins,Arial,sans-serif;text-align:left;cursor:pointer;overflow:hidden;box-shadow:0 14px 30px rgba(18,32,54,.18),inset 0 1px 0 rgba(255,255,255,.25);transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}
.share-btn::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,.18),transparent 38%,rgba(255,255,255,.08) 70%,transparent)}
.share-btn__icon{display:grid;place-items:center;width:46px;height:46px;border:1px solid rgba(255,255,255,.34);border-radius:14px;background:rgba(255,255,255,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.25)}
.share-btn__icon img{display:block;width:26px;height:26px;object-fit:contain}
.share-btn__label{min-width:0;color:#fff;letter-spacing:-.01em}
.share-btn__arrow{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.16);color:#fff;font-size:19px;font-weight:500;line-height:1;transition:transform .2s ease,background-color .2s ease}
.share-btn-instagram{background:radial-gradient(circle at 12% 115%,#ffd36b 0 9%,#ff6a4d 31%,#d62976 58%,#962fbf 78%,#4f5bd5 100%)}
.share-btn-facebook{background:linear-gradient(135deg,#2495ff 0%,#1877f2 55%,#0b5ed7 100%)}
.share-btn:hover{color:#fff;transform:translateY(-3px);box-shadow:0 20px 38px rgba(18,32,54,.26),inset 0 1px 0 rgba(255,255,255,.3);filter:saturate(1.06) brightness(1.03)}
.share-btn:hover .share-btn__arrow{transform:translate(2px,-2px);background:rgba(255,255,255,.25)}
.share-btn:active{transform:translateY(-1px)}
.share-btn:focus-visible{outline:3px solid #fff;outline-offset:-5px;box-shadow:0 0 0 3px var(--color-dark),0 20px 38px rgba(18,32,54,.26)}
@media (width <= 680px){
  .share-actions{grid-template-columns:1fr;max-width:420px}
}
@media (width <= 560px){
  .lock-illo{gap:14px}
  .lock-illo div{width:150px;height:150px}
  .share-btn{grid-template-columns:42px minmax(0,1fr) 32px;gap:11px;min-height:64px;padding:9px 10px;border-radius:16px;font-size:14px}
  .share-btn__icon{width:42px;height:42px;border-radius:12px}
}


/* ---------- WCAG 2.2: kroky 1â€“3 ---------- */
.skip-link{position:fixed;left:18px;top:12px;z-index:1000;transform:translateY(-180%);padding:10px 16px;border-radius:8px;background:#fff;color:var(--color-dark);font-weight:700;box-shadow:0 8px 24px rgba(32,50,58,.22);transition:transform .15s ease}
.skip-link:focus{transform:translateY(0)}
[data-step-heading]:focus,main:focus{outline:none}
.selection-fieldset{border:0;padding:0;margin:26px 0}
.selection-fieldset legend{font-weight:700;color:var(--ink);margin:0 0 10px;font-size:1rem}
.selection-status{min-height:1.45em;margin:-2px 0 12px;color:#405158;font-size:13px;font-weight:600}
.postcard-figure{margin:0}
.postcard-figure figcaption{margin:12px 0 0;color:#405158;font-size:13px;line-height:1.5;text-align:left}
.postcard-transcript{margin:14px 0 10px;text-align:left;border:1px solid #89979c;border-radius:12px;background:#fff}
.postcard-transcript summary{min-height:44px;display:flex;align-items:center;padding:8px 14px;color:var(--color-dark);font-weight:700;cursor:pointer}
.postcard-transcript p{margin:0;padding:0 14px 16px;color:#405158;white-space:pre-wrap;overflow-wrap:anywhere}
/*.postcard.has-truncated-copy::after{content:"CelĂ˝ text je dostupnĂ˝ pod pohÄľadnicou";position:absolute;left:9%;right:8%;bottom:9%;z-index:3;padding:3px 6px;border-radius:5px;background:rgba(255,255,255,.88);color:#20323a;font:700 10px/1.3 'Satoshi',Poppins,Arial,sans-serif;text-align:center}*/
#registrationPanel input:disabled{background:#f2f5f5;color:#68757a;cursor:not-allowed}
#registrationPanel .checkbox:has(input[aria-invalid="true"]){outline:2px solid #b4233c;outline-offset:4px;border-radius:4px}

/* ---------- longevity articles ---------- */
.longevity-content{background:var(--section-gray-2);border-top:1px solid var(--section-border);padding:80px 0 88px}
.article-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:52px}
.article-card{position:relative;isolation:isolate;overflow:hidden;aspect-ratio:3/4;border-radius:22px;background:#16313c;box-shadow:var(--shadow-card);transition:transform .25s ease,box-shadow .25s ease}
.article-card::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(8,25,36,0) 20%,rgba(8,25,36,.08) 42%,rgba(8,25,36,.9) 100%)}
.article-card:hover,.article-card.is-active{transform:translateY(-5px);box-shadow:var(--shadow-soft)}
.article-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.article-card:hover img,.article-card.is-active img{transform:scale(1.035)}
.article-card__overlay{position:absolute;inset:auto 0 0;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:18px;color:#fff}
.article-card__title{margin:0;color:#fff;font-size:clamp(14px,1.25vw,17px);font-weight:700;line-height:1.08;letter-spacing:-.02em;text-wrap:balance}
.article-card__trigger{position:absolute;inset:0;z-index:3;width:100%;height:100%;appearance:none;border:0;border-radius:22px;background:transparent;padding:0;margin:0;cursor:pointer}
.article-card__trigger:focus-visible{outline:3px solid var(--color-turquoise-text);outline-offset:-4px}
.article-card__cta{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;margin-top:4px;padding:0 16px;border-radius:999px;background:var(--color-turquoise);box-shadow:inset 0 1px 0 rgba(255,255,255,.35);color:#fff;font-size:13px;font-weight:500;line-height:1;white-space:nowrap}
.article-card__cta span{font-size:16px;line-height:1;transform:translateY(-.5px)}
.article-detail{margin-top:32px;scroll-margin-top:96px}
.article-detail__article{max-width:900px;margin-inline:auto;padding:clamp(24px,4vw,44px);border:1px solid var(--section-border);border-radius:24px;background:#fff;box-shadow:var(--shadow-card)}
.article-detail__header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:22px}
.article-detail h3{max-width:720px;margin:0;color:var(--color-dark);font-size:clamp(1.45rem,2.4vw,2.15rem);font-weight:700;line-height:1.12}
.article-detail h3:focus{outline:none}
.article-detail__close{flex:0 0 auto;display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid var(--border);border-radius:50%;background:#fff;color:var(--color-dark);font:400 27px/1 'Satoshi',Arial,sans-serif;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease}
.article-detail__close:hover{border-color:var(--color-turquoise-text);background:var(--teal-wash);color:var(--color-turquoise-text)}
.article-detail__lead{max-width:780px;margin:0 0 20px;color:var(--color-dark);font-size:18px;font-weight:700;line-height:1.55}
.article-detail__body{max-width:780px}
.article-detail__body p{margin:0 0 18px;color:#57656b;line-height:1.7}
.article-detail__body p:last-child{margin-bottom:0}
.article-cta{margin-top:68px;min-height:142px;display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 32px}
.article-cta p{margin:0 0 28px;color:var(--color-dark);font-size:26px;font-weight:700;line-height:1.2;letter-spacing:-.02em}
.article-cta .btn{min-height:52px;padding:0 30px;font-size:15px;font-weight:700}
@media (width <= 980px){.article-grid{grid-template-columns:repeat(2,1fr)}}
@media (width <= 560px){.article-grid{grid-template-columns:1fr}.article-card{max-width:420px;width:100%;margin-inline:auto}.article-detail__header{gap:14px}.article-detail__close{width:36px;height:36px}.article-detail__lead{font-size:16px}}

/* ---------- footer ---------- */
.site-footer{margin-top:0;border-top:0;background:var(--color-turquoise);color:#fff;padding:64px 0 34px}
.footer-inner{display:grid;gap:42px}
.footer-grid{display:grid;grid-template-columns:minmax(190px,1.05fr) minmax(180px,.95fr) minmax(160px,.75fr) minmax(240px,1.3fr);gap:clamp(28px,4vw,58px);align-items:start}
.footer-column{min-width:0}
.footer-column h2{margin:0 0 18px;color:#fff;font:700 18px/1.25 'Satoshi',Poppins,Arial,sans-serif;letter-spacing:-.01em}
.footer-brand{display:block;color:#fff}
.footer-logo-mark{display:block;width:auto;height:27px;filter:brightness(0) invert(1)}
.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:24px}
.footer-links a,.footer-list a,.footer-bottom a{color:#fff;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;opacity:1;transition:opacity .2s ease}
.footer-links a:hover,.footer-list a:hover,.footer-bottom a:hover{color:#fff;opacity:.78}
.footer-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.footer-list li{margin:0;padding:0}
.footer-social{display:flex;flex-wrap:wrap;gap:12px}
.footer-social a{display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(255,255,255,.9);border-radius:10px;color:#fff;text-decoration:none;transition:background-color .2s ease,border-color .2s ease,transform .2s ease}
.footer-social img{display:block;width:20px;height:20px;object-fit:contain;filter:brightness(0) invert(1)}
.footer-social a:hover{transform:translateY(-2px);border-color:#fff;background:rgba(255,255,255,.16)}
.footer-join p{max-width:320px;margin:0 0 20px;color:#fff;font-size:15px;line-height:1.55}
.footer-cta{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;border:1px solid #fff;border-radius:999px;background:#fff;color:#007e7a;font:700 14px/1 'Satoshi',Poppins,Arial,sans-serif;text-decoration:none;box-shadow:0 10px 24px rgba(32,50,58,.16);transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease,color .2s ease}
.footer-cta:hover{transform:translateY(-2px);background:rgba(255,255,255,.88);color:#005f5c;box-shadow:0 14px 28px rgba(32,50,58,.22)}
.footer-bottom{padding-top:24px;border-top:1px solid rgba(255,255,255,.48);color:#fff;font-size:13px;line-height:1.5;opacity:1}
@media (width <= 980px){.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 48px}.footer-join p{max-width:380px}}
@media (width <= 620px){.site-footer{padding:50px 0 28px}.footer-inner{gap:34px}.footer-grid{grid-template-columns:1fr;gap:34px}.footer-column h2{margin-bottom:14px}.footer-logo-mark{height:25px}.footer-links{margin-top:20px}.footer-cta{width:100%;max-width:300px}}

/* ---------- section rhythm (why-vszp / longevity nested vo flow krokov) ---------- */
main{background:#fff}
.builder .why-vszp{box-sizing:border-box;width:auto;max-width:none;margin:70px calc(50% - 50vw) -64px;padding:78px max(24px,calc((100vw - var(--section-max))/2)) 84px;background-color:var(--teal-wash)}
.builder .why-vszp .why-vszp-head,.builder .why-vszp .why-grid{max-width:var(--section-max);margin-left:auto;margin-right:auto}
.builder.success{padding-bottom:0}
.builder.success > .why-vszp{box-sizing:border-box;width:100%;max-width:none;margin:70px 0 0;padding:78px 0 84px;background-color:var(--teal-wash);text-align:left}
.builder.success > .why-vszp .why-vszp-head,
.builder.success > .why-vszp .why-grid{width:100%;max-width:1180px;margin-left:auto;margin-right:auto;padding-left:28px;padding-right:28px}
.longevity-content.is-success-context{width:100%;margin:0;text-align:left;padding:80px 0 44px}
.longevity-content.is-success-context .container{max-width:1180px;margin-left:auto;margin-right:auto;padding-left:28px;padding-right:28px}
.longevity-content.is-success-context h2{text-align:left;max-width:none}
.longevity-content.is-success-context .article-grid{width:100%}
.longevity-content.is-success-context .article-cta{text-align:center;margin-bottom:0}
@media (width <= 860px){
  .builder{padding-top:32px}
  .builder .why-vszp{width:auto;margin:48px -18px -44px;padding:56px 18px}
  .builder.success > .why-vszp{width:100%;margin:48px 0 0;padding:56px 0}
  .builder.success > .why-vszp .why-vszp-head,
  .builder.success > .why-vszp .why-grid{padding-left:18px;padding-right:18px}
  .longevity-content.is-success-context{padding:56px 0 34px}
  .longevity-content.is-success-context .container{padding-left:18px;padding-right:18px}
}

/* ---------- misc ---------- */
.shake{animation:shake .35s}
@keyframes shake{25%{transform:translateX(-4px)}50%{transform:translateX(4px)}75%{transform:translateX(-2px)}}
.header-full[hidden]{display:none!important}

@media (width <= 860px){
  .main-nav{display:none}

  .sticker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .preview-wrap{position:static}
  .builder{padding:44px 0}
  .container{padding:0 18px}
  .step1-illustration{justify-content:center;margin-top:0}
  .editor-grid{grid-template-columns:1fr;row-gap:32px}
  .editor-grid>.form-card{grid-column:1;grid-row:1}
  .editor-grid>.preview-wrap{grid-column:1;grid-row:2}
  .editor-grid>.editor-actions{grid-column:1;grid-row:3;margin-top:0}
  .postcard-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}
  .preview-wrap{max-width:620px;width:100%;margin-inline:auto}
}
@media (width <= 560px){
  .site-header{--header-height:64px}
  .header-start{display:none}
  .reset-button{display:inline-flex;width:auto;min-height:38px;padding:0 12px;font-size:11px;margin-left:auto}
  .choice-pill{width:100%}
  .choice-pill span{width:100%;text-align:center}
  .postcard-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .template-card{border-radius:18px;padding:6px}
  .template-card__preview{border-radius:13px}
  .template-card__copy{padding:9px 6px 7px}
  .template-card b{font-size:14px}
  .template-card small{font-size:11px}
  .sticker-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .sticker{min-height:96px}
  .sticker img{height:64px}
  .steps{gap:8px;padding-left:0;margin-bottom:48px}
  .steps li{gap:8px}
  .steps li:not(:last-child)::after{width:20px}
  .steps b{width:30px;height:30px;font-size:16px}
  .steps span{top:40px;left:15px;font-size:12px}
  .postcard{border-radius:24px}
  .postcard-copy{left:8%;right:7%;bottom:13%}
  .selected-stickers{right:6.5%;top:6.5%;width:54%;gap:5px}
  .selected-stickers img{max-height:44px}
  .why-vszp-title{font-size:clamp(1.6rem,7vw,1.85rem);line-height:1.16}
  .article-card__overlay{gap:5px;padding:14px}
  .article-card__title{font-size:13px;line-height:1.12}
  .article-card__cta{min-height:32px;padding:0 13px;font-size:12px}
  .actions{flex-direction:column;align-items:stretch}
  .btn{width:100%}
}


@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .site-header,.main-nav a,.btn{transition:none!important}
}

@media (max-width:600px){
  .kiosk-reset-panel{margin-top:32px;padding:22px 18px;border-radius:18px}
  .kiosk-new-button{width:100%;min-width:0}
}


/* ---------- contest terms modal ---------- */
body.has-open-modal{overflow:hidden}
.contest-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:clamp(16px,4vw,40px)}
.contest-modal__backdrop{position:absolute;inset:0;background:rgba(20,39,46,.64);backdrop-filter:blur(3px)}
.contest-modal__dialog{position:relative;z-index:1;display:flex;flex-direction:column;width:min(920px,100%);max-height:min(88vh,920px);overflow:hidden;border:1px solid rgba(137,151,156,.35);border-radius:24px;background:#fff;box-shadow:0 28px 80px rgba(20,39,46,.28)}
.contest-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:24px 28px;border-bottom:1px solid var(--section-border);background:#fff}
.contest-modal__header h2{max-width:760px;font-size:clamp(1.35rem,2.5vw,2rem);line-height:1.15}
.contest-modal__close{flex:0 0 auto;display:grid;place-items:center;width:42px;height:42px;margin:0;padding:0;border:1px solid var(--border);border-radius:50%;background:#fff;color:var(--color-dark);font:400 29px/1 'Satoshi',Arial,sans-serif;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}
.contest-modal__close:hover{border-color:var(--color-turquoise-text);background:var(--teal-wash);color:var(--color-turquoise-text);transform:translateY(-1px)}
.contest-modal__body{overflow:auto;overscroll-behavior:contain;padding:28px;scrollbar-gutter:stable}
.contest-modal__body>p{margin:0 0 16px;color:#4f5e64;line-height:1.7}
.contest-terms__section{padding-top:8px}
.contest-terms__section+ .contest-terms__section{margin-top:18px;padding-top:24px;border-top:1px solid var(--section-border)}
.contest-terms__section h3{margin:0 0 12px;color:var(--color-dark);font-size:18px;line-height:1.3;letter-spacing:-.01em}
.contest-terms__section p{margin:0 0 14px;color:#57656b;line-height:1.72}
.contest-terms__section p:last-child{margin-bottom:0}
@media (width <= 620px){
  .contest-modal{place-items:stretch;padding:10px}
  .contest-modal__dialog{width:100%;max-height:calc(100dvh - 20px);border-radius:18px}
  .contest-modal__header{gap:16px;padding:18px}
  .contest-modal__header h2{font-size:1.28rem}
  .contest-modal__close{width:38px;height:38px;font-size:26px}
  .contest-modal__body{padding:20px 18px 28px}
  .contest-terms__section h3{font-size:16px}
  .contest-modal__body>p,.contest-terms__section p{font-size:15px;line-height:1.65}
}
