
/* ============================================================
   ALMA LUDICO — vizuálna ukážka webu
   Paleta odvodená z loga: navy wordmark, jantárový oblúk,
   šalviová / koralová / nebeská (tri postavy).
   ============================================================ */

:root{
  --paper:#F2F5F0;
  --surface:#FFFFFF;
  --surface-2:#E9EFE7;
  --ink:#23283A;
  --ink-soft:#5B6379;
  --line:#E1E7DE;
  --amber:#DA7E16;
  --on-amber:#2A1D08;
  --eyebrow:#98550E;
  --sage:#6E8E6D;
  --coral:#CF5B45;
  --sky:#5E88BC;
  --navy:#213164;
  --on-navy:#EDE5D6;
  --sky-band:#E7EFF7;
  --tint-sage:#EBF1E8;
  --tint-coral:#FBEFEB;
  --tint-amber:#FBF4E5;
  --tint-sky:#E7EFF7;
  --shadow:0 1px 2px rgba(31,49,81,.05), 0 10px 26px -14px rgba(31,49,81,.15);
  --radius:8px;
  --maxw:1120px;
  color-scheme:light only;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
section[id]{scroll-margin-top:100px}
body{
  margin:0;
  overflow-x:clip;
  background:var(--paper);
  color:var(--ink);
  font-family:'Jost', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  font-size:clamp(1rem, .96rem + .2vw, 1.09rem);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,h5,h6{font-family:'Jost',sans-serif;font-weight:600;line-height:1.14;text-wrap:balance;margin:0}
b,strong{font-weight:600}
button,input,select,textarea{font-family:'Jost',sans-serif}
p{margin:0}
a{color:inherit}
img{max-width:100%;display:block}
:focus-visible{outline:2.5px solid var(--amber);outline-offset:3px;border-radius:3px}

/* ---------- layout primitives ---------- */
.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:clamp(1.1rem,4vw,2.2rem)}
.section{padding-block:clamp(3.4rem,7vw,6rem)}
.stack{display:flex;flex-direction:column;gap:1.1rem}
.eyebrow{
  font-size:.74rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;
  color:var(--eyebrow);display:flex;align-items:center;gap:.55rem;margin:0
}
.eyebrow::before{content:"";width:1.6rem;height:2px;background:var(--amber);border-radius:2px;flex:none}

/* --- soft brand-tinted program detail sections (theme-independent) --- */
#lekcie-do-4-rokov{--sec-tint:#FEF6E6}
#priprava-do-skoly{--sec-tint:#F0F7F2}
#ready-steady-english{background:#FDF0EF}
#lekcie-do-4-rokov .eyebrow::before{background:#7FBA91}
#priprava-do-skoly .eyebrow::before{background:#7FBA91}
#ready-steady-english .eyebrow::before{background:#E25A50}
#cennik .h2{color:#E25A50}
#cennik .eyebrow{color:#213164}
#cennik .eyebrow::before{background:#213164}
#lekcie-do-4-rokov, #priprava-do-skoly, #ready-steady-english,
#lekcie-do-4-rokov .eyebrow, #priprava-do-skoly .eyebrow, #ready-steady-english .eyebrow,
#lekcie-do-4-rokov .lede, #priprava-do-skoly .lede, #ready-steady-english .lede,
#lekcie-do-4-rokov .dim h3, #priprava-do-skoly .dim h3,
#lekcie-do-4-rokov .dim p, #priprava-do-skoly .dim p,
#lekcie-do-4-rokov .facts-strip, #priprava-do-skoly .facts-strip, #ready-steady-english .facts-strip,
#lekcie-do-4-rokov .facts-strip b, #priprava-do-skoly .facts-strip b, #ready-steady-english .facts-strip b{color:#213164}
#lekcie-do-4-rokov .facts-strip, #priprava-do-skoly .facts-strip, #ready-steady-english .facts-strip,
#lekcie-do-4-rokov .dim, #priprava-do-skoly .dim{background:#fff;border-color:rgba(33,49,100,.12)}

/* --- section background scheme --- */
#cennik{--sec-tint:#FFF8F2}
#cennik thead th{background:#E25A50;color:#FFFFFF;font-weight:700;border-bottom:1px solid var(--line)}
#cennik tbody th, #cennik tbody td{color:#213164}
#cennik .tbl-title{color:#213164}
#cennik .discounts,
#cennik .discounts span{color:#213164}
#cennik .note{color:#213164;font-style:normal;opacity:1}
#rezervacny-system{--sec-tint:#FFF8F2}
#lektorky{--sec-tint:#6098EA}
#kontakt{--sec-tint:#213164}
#odbornost{background:#F6A700}
#kontakt .h2, #kontakt .eyebrow, #kontakt .map-hint{color:#FFFFFF}
#kontakt .eyebrow::before{background:#FFFFFF}
#odbornost, #odbornost .h2, #odbornost .lede, #odbornost .stack p,
#odbornost .note, #odbornost .portrait span, #odbornost .eyebrow, #odbornost strong,
#lektorky .sec-head .h2, #lektorky .sec-head .lede, #lektorky .sec-head .eyebrow{color:#FFFFFF}
#odbornost .eyebrow::before, #lektorky .eyebrow::before{background:#FFFFFF}
#odbornost .portrait{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.45)}
#odbornost .stack p:not(.eyebrow){font-size:1.05rem;line-height:1.6;font-weight:400;margin:0}

/* --- unified CTA buttons in the 3 program detail sections --- */
#lekcie-do-4-rokov .btn-row .btn--primary, #priprava-do-skoly .btn-row .btn--primary, #ready-steady-english .btn-row .btn--primary,
#rezervacny-system .btn--primary{
  background:#FF7574;color:#213164;border-color:#FF7574;font-weight:600
}
#lekcie-do-4-rokov .btn-row .btn--primary:hover, #priprava-do-skoly .btn-row .btn--primary:hover, #ready-steady-english .btn-row .btn--primary:hover,
#rezervacny-system .btn--primary:hover{
  background:#ff6360;border-color:#ff6360;transform:translateY(-2px)
}
#lekcie-do-4-rokov .btn-row .btn--ghost, #priprava-do-skoly .btn-row .btn--ghost, #ready-steady-english .btn-row .btn--ghost,
#rezervacny-system .btn--ghost{
  background:transparent;color:#213164;border:1.5px solid #213164;font-weight:600
}
#lekcie-do-4-rokov .btn-row .btn--ghost:hover, #priprava-do-skoly .btn-row .btn--ghost:hover, #ready-steady-english .btn-row .btn--ghost:hover,
#rezervacny-system .btn--ghost:hover{
  background:rgba(33,49,100,.08);transform:translateY(-2px)
}
#lekcie-do-4-rokov .btn-row .btn--primary, #priprava-do-skoly .btn-row .btn--primary, #ready-steady-english .btn-row .btn--primary, #rezervacny-system .btn--primary{background:#213164;color:#FFFFFF;border-color:#213164}
#lekcie-do-4-rokov .btn-row .btn--primary:hover, #priprava-do-skoly .btn-row .btn--primary:hover, #ready-steady-english .btn-row .btn--primary:hover, #rezervacny-system .btn--primary:hover{background:#1a274f;border-color:#1a274f}
#lekcie-do-4-rokov .btn-row .btn--ghost, #priprava-do-skoly .btn-row .btn--ghost, #ready-steady-english .btn-row .btn--ghost, #rezervacny-system .btn--ghost{background:transparent;color:#213164;border:2px solid #213164}
#lekcie-do-4-rokov .btn-row .btn--ghost:hover, #priprava-do-skoly .btn-row .btn--ghost:hover, #ready-steady-english .btn-row .btn--ghost:hover, #rezervacny-system .btn--ghost:hover{background:rgba(33,49,100,.08)}
#rezervacny-system .eyebrow{color:#213164}
#rezervacny-system .eyebrow::before{background:#213164}
#rezervacny-system .h2{color:#E25A50}
#rezervacny-system .res-col:nth-child(1){--rc:#E25A50}
#rezervacny-system .res-col:nth-child(2){--rc:#213164}
#rezervacny-system .res-col .res-col__h,
#rezervacny-system .res-col .res-steps,
#rezervacny-system .res-col .res-steps li,
#rezervacny-system .res-col .res-steps a{color:#213164}
#rezervacny-system .res-col .res-col__h::before{color:#213164}
#rezervacny-system .res-col .res-steps li::before{background:#213164}
#rezervacny-system .res-col .res-steps a{text-decoration-color:#213164}
#rezervacny-system .res-contact,
#rezervacny-system .res-contact a,
#rezervacny-system .note{color:#213164}
#rezervacny-system .note{font-style:normal;opacity:1}
#start .h2{color:#E25A50}
#start .finalcta p{color:#213164;font-family:'Jost',sans-serif;font-weight:400}
#start .btn{border-radius:9999px}
#start .btn--primary{background:#213164;color:#FFFFFF;border-color:#213164;font-weight:700}
#start .btn--primary:hover{background:#1a274f;border-color:#1a274f;transform:translateY(-2px)}
#start .btn--ghost{background:transparent;color:#213164;border-color:#213164}
#start .btn--ghost:hover{background:rgba(33,49,100,.08);transform:translateY(-2px)}

/* --- image + text feature cards (program detail sections) --- */
#lekcie-do-4-rokov .pcd, #priprava-do-skoly .pcd, #ready-steady-english .pcd{display:flex;flex-direction:column;height:350px;border-radius:20px;overflow:hidden;background:#fff;border:1px solid rgba(33,49,100,.12);box-shadow:0 1px 2px rgba(31,49,81,.05),0 22px 42px -24px rgba(31,49,81,.35)}
#lekcie-do-4-rokov .pcd__media, #priprava-do-skoly .pcd__media, #ready-steady-english .pcd__media{flex:none;height:180px;overflow:hidden;background:linear-gradient(150deg,color-mix(in srgb,var(--dim-c) 45%,#fff),color-mix(in srgb,var(--dim-c) 15%,#fff))}
#lekcie-do-4-rokov .pcd__media img, #priprava-do-skoly .pcd__media img, #ready-steady-english .pcd__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}
#lekcie-do-4-rokov .pcd:hover .pcd__media img, #lekcie-do-4-rokov .pcd:focus-within .pcd__media img,
#priprava-do-skoly .pcd:hover .pcd__media img, #priprava-do-skoly .pcd:focus-within .pcd__media img,
#ready-steady-english .pcd:hover .pcd__media img, #ready-steady-english .pcd:focus-within .pcd__media img{transform:scale(1.04)}
#lekcie-do-4-rokov .pcd__body, #priprava-do-skoly .pcd__body, #ready-steady-english .pcd__body{flex:1;display:flex;flex-direction:column;gap:.35rem;padding:1.05rem 1.15rem}
#lekcie-do-4-rokov .pcd__body{background:#7FBA91}
#priprava-do-skoly .pcd__body{background:#7FBA91}
#ready-steady-english .pcd__body{background:#E25A50}
#lekcie-do-4-rokov .pcd__body h3, #priprava-do-skoly .pcd__body h3, #ready-steady-english .pcd__body h3{font-family:'Jost',sans-serif;font-size:1.02rem;font-weight:600;line-height:1.25;color:#FFFFFF;margin:0}
#lekcie-do-4-rokov .pcd__no, #priprava-do-skoly .pcd__no, #ready-steady-english .pcd__no{font-family:'Jost',sans-serif;font-weight:600;font-size:1.18em;color:#FFFFFF;margin-right:.4rem}
#lekcie-do-4-rokov .pcd__body p, #priprava-do-skoly .pcd__body p, #ready-steady-english .pcd__body p{font-size:.85rem;line-height:1.45;color:#FFFFFF;margin:0}
@media (max-width:560px){#lekcie-do-4-rokov .pcd, #priprava-do-skoly .pcd, #ready-steady-english .pcd{height:auto;min-height:300px}}
.lede{font-size:1.14rem;color:var(--ink-soft);max-width:60ch}
.h2{font-size:clamp(2rem,1rem + 3.1vw,2.95rem);letter-spacing:-.005em}
.prose{max-width:64ch}
.prose a{text-decoration:underline;text-decoration-color:var(--amber);text-underline-offset:3px}
#podmienky .prose h3{font-family:'Jost',sans-serif;font-size:1.12rem;font-weight:600;color:var(--ink);margin:1.9rem 0 .65rem}
#podmienky .prose h3:first-child{margin-top:0}
#podmienky .prose p{margin:0 0 .9rem;font-size:.94rem;line-height:1.65;color:var(--ink-soft)}
#podmienky .prose ul{margin:0 0 .9rem;padding-left:1.25rem;display:flex;flex-direction:column;gap:.4rem}
#podmienky .prose ul li{font-size:.94rem;line-height:1.55;color:var(--ink-soft)}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  font:inherit;font-weight:600;font-size:.98rem;letter-spacing:.01em;
  padding:.8rem 1.4rem;border-radius:999px;border:1.5px solid transparent;
  cursor:pointer;text-decoration:none;transition:transform .15s ease, background-color .15s ease, border-color .15s ease
}
.btn--primary{background:var(--amber);color:var(--on-amber)}
.btn--primary:hover{transform:translateY(-2px)}
.btn--ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn--ghost:hover{background:var(--surface-2)}
.btn--on-navy{background:var(--amber);color:var(--on-amber)}
.btn-row{display:flex;flex-wrap:wrap;gap:.8rem}


/* ---------- nav ---------- */
.nav{
  position:sticky;top:0;z-index:50;
  background:#FFF8F2;
  border-bottom:1px solid var(--line)
}
@supports (backdrop-filter:blur(6px)){
  .nav{background:color-mix(in srgb, #FFF8F2 86%, transparent);backdrop-filter:blur(9px)}
}
.nav__inner{
  max-width:var(--maxw);margin-inline:auto;padding:.7rem clamp(1.1rem,4vw,2.2rem);
  display:flex;align-items:center;gap:.85rem
}
.nav__inner .brand{margin-right:.4rem}
.brand{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:var(--ink);font-family:'Jost',sans-serif;font-size:1.5rem;font-weight:600;letter-spacing:0;line-height:1}
.brand{gap:.55rem}
.brand__word{font-family:'Jost',sans-serif;font-size:1.5rem;font-weight:600;color:var(--ink);line-height:1}
.brandmark{flex:none;display:block;background-repeat:no-repeat;background-position:left center;background-size:contain}
.nav .brandmark{width:100px;height:33px;background-image:var(--logo-icon)}
.footer .brandmark{width:200px;height:102px;background-position:left top;background-image:var(--logo-full)}
.brand--stack{align-items:flex-start}
.nav__spacer{flex:1}
.nav__menu{display:flex;align-items:center;gap:.3rem}
.nav__link{
  text-decoration:none;color:var(--ink);font-weight:400;font-size:.94rem;
  padding:.5rem .7rem;border-radius:6px;white-space:nowrap
}
.nav__link:hover{background:var(--surface-2)}
.nav__link .ext{color:var(--ink-soft);font-size:.8em;margin-left:.15em}
.nav__tools{display:flex;align-items:center;gap:.5rem}
.nav__burger{
  display:none;width:2.4rem;height:2.4rem;border:1.5px solid var(--line);border-radius:7px;
  background:var(--surface);color:var(--ink);cursor:pointer;place-items:center
}
/* dropdown */
.nav__sub{position:relative}
.nav__subbtn{
  font:inherit;font-weight:400;font-size:.94rem;color:var(--ink);
  background:transparent;border:0;cursor:pointer;padding:.5rem .7rem;border-radius:6px;
  display:inline-flex;align-items:center;gap:.35rem
}
.nav__subbtn:hover{background:var(--surface-2)}
.nav__subbtn .caret{transition:transform .18s ease}
.nav__dropdown{
  position:absolute;top:calc(100% + .4rem);left:0;min-width:15rem;
  background:var(--surface);border:1px solid var(--line);border-radius:10px;
  box-shadow:var(--shadow);padding:.4rem;display:none;flex-direction:column
}
.nav__dropdown a{
  text-decoration:none;color:var(--ink);font-size:.9rem;font-weight:400;
  padding:.52rem .7rem;border-radius:6px
}
.nav__dropdown a:hover{background:var(--surface-2)}
.nav__dropdown .child{color:var(--ink-soft);font-weight:400}
.nav__dropdown .child::before{content:"↳ ";color:var(--amber);margin-right:.15rem}
.nav__sub:hover .nav__dropdown,
.nav__sub:focus-within .nav__dropdown,
.nav__sub.open .nav__dropdown{display:flex}
.nav__sub.open .caret,
.nav__sub:hover .caret{transform:rotate(180deg)}

@media (max-width:900px){
  .nav__burger{display:grid}
  .nav__menu{
    position:absolute;top:100%;left:0;right:0;
    background:#213164;border-bottom:1px solid rgba(255,255,255,.16);
    display:flex;flex-direction:column;align-items:stretch;gap:.1rem;
    padding:0 clamp(1.1rem,4vw,2.2rem);
    max-height:0;overflow:hidden;opacity:0;visibility:hidden;
    -webkit-overflow-scrolling:touch;
    transition:max-height .3s ease, opacity .22s ease, padding .3s ease, visibility 0s linear .3s
  }
  .nav__menu.open{
    max-height:85vh;overflow-y:auto;
    opacity:1;visibility:visible;
    padding:.8rem clamp(1.1rem,4vw,2.2rem) 1.4rem;
    transition:max-height .3s ease, opacity .22s ease, padding .3s ease, visibility 0s
  }
  .nav__sub{position:static}
  .nav__link,.nav__subbtn{padding:.7rem .4rem;font-size:1rem}

  /* "Lekcie pre deti" = collapsible accordion; sub-items hidden until toggled */
  .nav__subbtn{width:100%;justify-content:space-between}
  .nav__dropdown{
    position:static;display:flex;flex-direction:column;box-shadow:none;border:0;background:transparent;
    max-height:0;overflow:hidden;padding:0 0 0 .4rem;
    transition:max-height .32s ease, padding .32s ease
  }
  .nav__sub.open .nav__dropdown{max-height:32rem;padding:.15rem 0 .4rem .4rem}

  /* dark overlay: light text for full contrast on the navy background */
  .nav__menu .nav__link,
  .nav__menu .nav__subbtn{color:#FFFFFF}
  .nav__menu .nav__link:hover,
  .nav__menu .nav__subbtn:hover{background:rgba(255,255,255,.12)}
  .nav__menu .nav__link .ext{color:rgba(255,255,255,.72)}
  .nav__menu .nav__dropdown a{color:#FFFFFF}
  .nav__menu .nav__dropdown a:hover{background:rgba(255,255,255,.12)}
  .nav__menu .nav__dropdown .child{color:rgba(255,255,255,.8)}
  .nav__menu .nav__dropdown .child::before{color:var(--amber)}
  .nav__menu .btn{background:#FFFFFF !important;color:#213164 !important;border-color:#FFFFFF !important}
}

.nav__lang{display:flex;align-items:center;gap:.25rem;font-family:'Jost',sans-serif;font-size:.8rem;font-weight:600;margin-left:.3rem}
.nav__lang a{color:#213164;text-decoration:none;padding:.3rem .55rem;border-radius:999px;border:1.5px solid transparent}
.nav__lang a:hover{background:var(--surface-2)}
.nav__lang a[aria-current]{background:#213164;color:#fff}

/* ---------- hero ---------- */
.hero{padding-block:clamp(2.6rem,6vw,4.6rem) clamp(2.6rem,6vw,4.4rem)}
.hero__grid{display:grid;grid-template-columns:1fr 1.18fr;gap:clamp(1.8rem,4.5vw,4rem);align-items:center}
.hero h1{font-size:clamp(2.6rem,1.2rem + 5.2vw,4.7rem);font-weight:600;letter-spacing:-.008em}
.hero .lede{font-size:clamp(1.08rem,1rem + .5vw,1.24rem)}
.hero__grid>*{min-width:0}
.hero__art{position:relative;display:flex;flex-direction:column;align-items:center;gap:.7rem;min-width:0}
.hero__photo{width:100%;max-width:680px;height:auto;display:block;border-radius:22px;box-shadow:var(--shadow)}
.hero__photo{position:relative;z-index:1}
.hero{position:relative;background:#FFF8F2;box-shadow:0 0 0 100vw #FFF8F2;clip-path:inset(0 -100vw)}
.hero__grid{position:relative;z-index:1}
.hero__deco{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.hero__deco .hs{position:absolute}
@media (prefers-reduced-motion:no-preference){
  .hero__deco .hs{animation:hfloat var(--dur,8s) ease-in-out infinite;animation-delay:var(--delay,0s)}
  @keyframes hfloat{0%,100%{transform:translate(0,0) rotate(var(--r,0deg))}50%{transform:translate(var(--dx,5px),var(--dy,-12px)) rotate(calc(var(--r,0deg) + 7deg))}}
}
.hs{position:absolute;pointer-events:none;z-index:0;line-height:0}
.hs--dot{border-radius:50%;background:var(--c)}
.hs--ellipse{border-radius:50%;background:var(--c)}
.hs--ring{border-radius:50%;border:3px solid var(--c);background:transparent}
.hs--star{color:var(--c)}
.hs--arc{color:var(--c)}
.hs--squiggle{color:var(--c)}
@media (max-width:860px){.hs--far{display:none}}
@media (max-width:860px){
  .hero__grid{grid-template-columns:1fr}
  .hero__art{order:-1;max-width:560px;margin-inline:auto}
}

/* ---------- generic section header ---------- */
.sec-head{display:flex;flex-direction:column;gap:.9rem;margin-bottom:2.4rem;max-width:52ch}

/* ---------- cards / program ---------- */
.cards-2{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}
@media (max-width:800px){.cards-2{grid-template-columns:1fr}}
.pcard{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:1.7rem;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:1rem
}
.pcard__tag{
  align-self:flex-start;font-size:.74rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;
  padding:.32rem .7rem;border-radius:999px;color:#fff
}
.pcard--a .pcard__tag{background:var(--sage)}
.pcard--b .pcard__tag{background:var(--coral)}
.pcard h3{font-size:1.5rem;font-weight:600}
.pcard ol{margin:0;padding-left:1.2rem;display:flex;flex-direction:column;gap:.45rem}
.pcard ol li{padding-left:.2rem}
.pcard ol li::marker{color:var(--amber);font-variant-numeric:tabular-nums;font-weight:600}

/* ---------- benefits grid ---------- */
.bgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
@media (max-width:860px){.bgrid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.bgrid{grid-template-columns:1fr}}
.bcard{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:1.35rem 1.4rem;display:flex;flex-direction:column;gap:.5rem
}
.bcard__dot{width:.9rem;height:.9rem;border-radius:999px;flex:none}
.bcard:nth-child(3n+1) .bcard__dot{background:var(--sage)}
.bcard:nth-child(3n+2) .bcard__dot{background:var(--coral)}
.bcard:nth-child(3n+3) .bcard__dot{background:var(--sky)}
.bcard h3{font-family:'Jost',sans-serif;font-size:1.03rem;font-weight:600}
.bcard p{font-size:.92rem;color:var(--ink-soft)}
.bextra{
  margin-top:1.6rem;padding:1.2rem 1.4rem;border:1px dashed var(--line);border-radius:var(--radius);
  display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;align-items:center
}
.bextra strong{font-weight:600;color:var(--ink)}
.bextra ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.bextra li{font-size:.86rem;color:var(--ink-soft);background:var(--surface-2);padding:.35rem .7rem;border-radius:999px}

/* ---------- štyri dimenzie ---------- */
.dims{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-bottom:1.6rem}
@media (max-width:720px){.dims{grid-template-columns:1fr}}
.dim{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem;display:flex;flex-direction:column;gap:.55rem}
.dim__no{font-family:'Jost',sans-serif;font-size:2.1rem;font-weight:600;line-height:1;color:var(--dim-c)}
.dim h3{font-family:'Jost',sans-serif;font-size:1.12rem;font-weight:600}
.dim p{font-size:.95rem;color:var(--ink-soft)}
.dim--1{--dim-c:var(--sky)}
.dim--2{--dim-c:var(--sage)}
.dim--3{--dim-c:var(--coral)}
.dim--4{--dim-c:#B9670F}
.dims--3{grid-template-columns:repeat(3,1fr)}
@media (max-width:860px){.dims--3{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.dims--3{grid-template-columns:1fr}}
.facts-strip{display:flex;flex-wrap:wrap;gap:.55rem 1.6rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.9rem 1.2rem;margin-bottom:1.8rem;font-size:.92rem;color:var(--ink-soft)}
.facts-strip b{color:var(--ink);font-weight:600}

/* ---------- steps ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem;counter-reset:step}
@media (max-width:860px){.steps{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}
.step{position:relative;padding-top:2.6rem}
.step::before{
  counter-increment:step;content:counter(step);
  position:absolute;top:0;left:0;
  width:2rem;height:2rem;border-radius:999px;
  display:grid;place-items:center;
  font-family:'Jost',sans-serif;font-weight:600;font-size:1.05rem;
  background:var(--amber);color:var(--on-amber)
}
.step h3{font-family:'Jost',sans-serif;font-size:1.02rem;font-weight:600;margin-bottom:.35rem}
.step p{font-size:.9rem;color:var(--ink-soft)}

/* ---------- bands ---------- */
.band{padding-block:clamp(3.4rem,7vw,5.6rem)}
.band--navy{background:var(--tint-coral);color:var(--ink)}
.band--navy .eyebrow{color:var(--eyebrow)}
.band--navy .eyebrow::before{background:var(--amber)}
.band--navy .lede{color:var(--ink-soft)}
.band--navy .portrait{border-color:var(--line)}
.band--sky{background:var(--tint-sky)}
.expert__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,3.5rem);align-items:center}
@media (max-width:820px){.expert__grid{grid-template-columns:1fr;gap:clamp(1.6rem,6vw,2.4rem)}}
.portrait{
  aspect-ratio:4/5;border-radius:var(--radius);
  background:
    radial-gradient(120% 90% at 30% 15%, color-mix(in srgb,var(--amber) 26%, transparent), transparent 60%),
    var(--surface-2);
  border:1px solid color-mix(in srgb,var(--on-navy) 22%, transparent);
  display:flex;align-items:flex-end;padding:1.1rem
}
.band--sky .portrait{border-color:var(--line)}
.portrait span{font-size:.82rem;color:var(--ink-soft)}
.expert__photo{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;object-position:center top;
  border-radius:var(--radius);
  border:1px solid rgba(255,255,255,.45);
  box-shadow:0 1px 2px rgba(0,0,0,.1),0 26px 48px -24px rgba(0,0,0,.55)}
@media (max-width:820px){
  .expert__photo{aspect-ratio:1/1;max-height:60vh}
}
.note{font-size:.85rem;opacity:.8;font-style:italic}

/* jemné pastelové pásy sekcií (full-bleed bez vplyvu na scroll) */
.tinted{position:relative;background:var(--sec-tint,var(--surface-2));box-shadow:0 0 0 100vw var(--sec-tint,var(--surface-2));clip-path:inset(0 -100vw)}
.t-sage{--sec-tint:var(--tint-sage)}
.t-amber{--sec-tint:var(--tint-amber)}
.t-sky{--sec-tint:var(--tint-sky)}
.t-coral{--sec-tint:var(--tint-coral)}

/* ---------- lektorky (tím) ---------- */
.lgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}
@media (max-width:680px){.lgrid{grid-template-columns:1fr 1fr}}
@media (max-width:420px){.lgrid{grid-template-columns:1fr}}
.lcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1rem;display:flex;flex-direction:column;align-items:center;gap:.7rem;box-shadow:var(--shadow);text-align:center}
.lcard__photo{
  width:100%;aspect-ratio:1/1;border-radius:calc(var(--radius) - 2px);overflow:hidden;
  background:radial-gradient(120% 90% at 30% 20%, color-mix(in srgb,var(--sage) 30%, transparent), transparent 62%), var(--surface-2)
}
.lcard__photo img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.lcard h3{font-family:'Jost',sans-serif;font-size:1.05rem;font-weight:600;margin:0}
#lektorky .lcard h3{color:#213164}

/* ---------- rezervačný systém ---------- */
.res-trial{display:flex;align-items:baseline;gap:.7rem;flex-wrap:wrap;background:var(--surface-2);border-radius:var(--radius);padding:.85rem 1.15rem;margin-bottom:1.6rem}
.res-trial b{font-family:'Jost',sans-serif;font-size:1.15rem;font-weight:600}
.res-trial span{font-size:.9rem;color:var(--ink-soft)}
.res-links{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;margin-top:.6rem}
.res-links a{font-size:.85rem;text-decoration:none;color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:.4rem .9rem;background:var(--surface)}
.res-links a:hover{border-color:var(--ink-soft)}
/* ---- reservation section: step cards ---- */
.res-cols{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;margin-bottom:1.8rem}
@media (max-width:760px){.res-cols{grid-template-columns:1fr}}
.res-col{--rc:#72a188;position:relative;background:#fff;border:1px solid rgba(33,49,100,.10);border-top:3px solid var(--rc);border-radius:16px;padding:1.6rem 1.5rem;box-shadow:0 1px 2px rgba(33,49,100,.05),0 18px 34px -22px rgba(33,49,100,.28)}
.res-col:nth-child(2){--rc:#88AEEB}
.res-col__h{display:flex;align-items:center;gap:.7rem;font-family:'Jost',sans-serif;font-size:1.1rem;font-weight:600;color:#213164;margin:0 0 1rem}
.res-col__h::before{content:attr(data-step);flex:none;width:1.9rem;height:1.9rem;border-radius:999px;background:color-mix(in srgb,var(--rc) 20%,#fff);color:var(--rc);font-family:'Jost',sans-serif;font-size:1.05rem;font-weight:600;display:grid;place-items:center}
.res-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.85rem;font-size:.92rem;line-height:1.5;color:var(--ink-soft)}
.res-steps li{position:relative;padding-left:1.5rem}
.res-steps li::before{content:"";position:absolute;left:0;top:.45em;width:.55rem;height:.55rem;border-radius:999px;background:#72a188}
.res-steps a{color:var(--ink);text-decoration:underline;text-decoration-color:#72a188;text-underline-offset:2px}
.res-contact{font-size:.95rem;margin:1.5rem 0 0}
.res-contact a{color:var(--ink);text-decoration:underline;text-decoration-color:#72a188;text-underline-offset:3px;font-weight:600}
.res-manage{margin-top:1.8rem;display:flex;flex-direction:column;align-items:center;gap:.7rem}
.res-manage__label{font-size:.74rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}
/* ---- reservation section: action mini-cards ---- */
.res-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;margin-top:1.8rem}
@media (max-width:820px){.res-actions{grid-template-columns:1fr}}
.res-action{
  --ac:#F6A700;position:relative;display:flex;flex-direction:column;gap:.3rem;text-decoration:none;color:#213164;
  background:#fff;border:1px solid rgba(33,49,100,.10);border-top:3px solid var(--ac);border-radius:16px;padding:1.4rem 1.3rem;
  box-shadow:0 1px 2px rgba(33,49,100,.05),0 16px 30px -22px rgba(33,49,100,.28);
  transition:transform .16s ease, box-shadow .16s ease
}
.res-action:nth-child(2){--ac:#7FBA91}
.res-action:nth-child(3){--ac:#E25A50}
.res-action:hover{transform:translateY(-3px);box-shadow:0 1px 2px rgba(33,49,100,.05),0 28px 46px -20px rgba(33,49,100,.42)}
.res-action__icon{width:2.5rem;height:2.5rem;border-radius:12px;background:color-mix(in srgb,var(--ac) 16%,#fff);color:var(--ac);display:grid;place-items:center;margin-bottom:.55rem}
.res-action__icon svg{width:1.35rem;height:1.35rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.res-action__t{font-family:'Jost',sans-serif;font-size:1.05rem;font-weight:600;color:#213164}
.res-action__d{font-size:.85rem;line-height:1.5;color:#213164}
.res-action__go{margin-top:.55rem;font-size:.78rem;font-weight:600;letter-spacing:.04em;color:var(--ac)}

/* ---------- ready steady english ---------- */
.rse__cards{margin-top:1.8rem;margin-bottom:0}
.pilot{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:1.4rem;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:1rem
}
.pilot__badge{align-self:flex-start;font-size:.72rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--eyebrow)}
.pilot__slot{border-top:1px solid var(--line);padding-top:.85rem}
.pilot__slot b{display:block;font-family:'Jost',sans-serif}
.pilot__slot .time{color:var(--amber);font-weight:600}
.pilot__slot p{font-size:.87rem;color:var(--ink-soft);margin-top:.2rem}

/* ---------- cennik ---------- */
.price-strip{
  display:flex;align-items:baseline;gap:.8rem;flex-wrap:wrap;
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.9rem 1.2rem;margin-bottom:1.8rem
}
.price-strip b{font-family:'Jost',sans-serif;font-size:1.05rem;font-weight:600}
.price-strip span{color:var(--ink-soft);font-size:.92rem}
.tbl-title{font-family:'Jost',sans-serif;font-size:.8rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-soft);margin:1.6rem 0 .7rem}
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius)}
table{width:100%;border-collapse:collapse;min-width:32rem}
th,td{text-align:left;padding:.8rem 1.1rem;font-size:.93rem}
thead th{background:var(--surface-2);font-weight:600;font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft)}
tbody tr{border-top:1px solid var(--line)}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
td.price{text-align:right;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
@media (max-width:560px){
  table{min-width:0}
  th,td{padding:.6rem .55rem;font-size:.82rem}
  td.num,th.num{font-size:.78rem}
}
.discounts{margin-top:1.6rem;display:flex;flex-wrap:wrap;gap:.6rem 1rem;font-size:.9rem;color:var(--ink-soft)}
.discounts span{background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:.35rem .8rem}

/* ---------- mapa Slovenska + adresy ---------- */
/* ---- kde nás nájdete: navy section + white SVG map ---- */
.map-wrap{display:block}
.loc-contact{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;margin-top:.65rem;padding-top:.65rem;border-top:1px solid rgba(33,49,100,.1);font-family:'Jost',sans-serif;font-size:.85rem}
.loc-contact a{color:#213164;text-decoration:none;font-weight:600}
.loc-contact a:hover{text-decoration:underline}
.loc-contact a.loc-contact__cta{margin-top:.25rem;padding:.45rem 1rem;border-radius:999px;background:#213164;color:#fff;text-decoration:none}
.loc-contact a.loc-contact__cta:hover{background:#1a274f;text-decoration:none}
.sk-map-frame{max-width:660px;margin:0 auto clamp(1.6rem,4vw,2.4rem)}
/* wrapper is the positioning context; the map (with its dots) is a plain <img> */
.sk-map-wrap,.map-container{position:relative;line-height:0}
.sk-map{width:100%;height:auto;display:block}

/* interactive marker: one 0x0 <button> anchored on the dot centre; dot + name are its children */
.map-label{position:absolute;transform:translate(-50%,-50%);width:0;height:0;
  background:none;border:0;padding:0;cursor:pointer;font:inherit}
.map-label__dot{position:absolute;left:0;top:0;transform:translate(-50%,-50%);
  width:13px;height:13px;border-radius:999px;background:#fff;
  box-shadow:0 0 0 3px rgba(33,49,100,.5);transition:background-color .16s ease, box-shadow .16s ease}
.map-label__name{position:absolute;top:0;left:14px;transform:translateY(-50%);
  font-family:'Jost',sans-serif;font-weight:600;font-size:.82rem;line-height:1.12;color:#fff;white-space:nowrap;
  transition:color .16s ease}
.label-ruzomberok .map-label__name{left:auto;right:14px}
.map-label:focus-visible{outline:2px solid #E25A50;outline-offset:4px;border-radius:4px}
.map-label:hover .map-label__name,
.map-label:focus-visible .map-label__name,
.map-label.is-active .map-label__name{color:#E25A50}
.map-label:hover .map-label__dot,
.map-label:focus-visible .map-label__dot,
.map-label.is-active .map-label__dot{background:#E25A50;box-shadow:0 0 0 3px rgba(226,90,80,.3)}

/* one rule per city - left/top = exact centre of that city dot (map viewBox 18 156 774 394) */
.label-bratislava       {left:6.42%;  top:75.95%}
.label-pezinok          {left:8.14%;  top:65.65%}
.label-ruzomberok       {left:43.18%; top:27.91%}
.label-liptovsky-mikulas{left:50%;    top:29.05%}

/* mobile: smaller dot + text; keep every city name inside the map outline */
@media (max-width:640px){
  .map-label__dot{width:10px;height:10px;box-shadow:0 0 0 2px rgba(33,49,100,.5)}
  .map-label__name{font-size:.62rem;left:11px}
  .label-ruzomberok .map-label__name{right:11px}
  /* Liptovský Mikuláš: drop the name directly below its dot so it can't cross the right edge */
  .label-liptovsky-mikulas .map-label__name{
    left:50%;right:auto;top:12px;transform:translateX(-50%);
    white-space:normal;max-width:34vw;line-height:1.1;text-align:center
  }
}
@media (max-width:390px){ .map-label__name{font-size:.54rem} }

.map-hint{font-family:'Jost',sans-serif;font-size:.82rem;color:rgba(255,255,255,.7);margin-top:1.2rem;text-align:center}

/* ---- kde nás nájdete: branch cards (white on navy) ---- */
.loc-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media (max-width:640px){.loc-list{grid-template-columns:1fr}}
.loc{--lc:#94BCA2;position:relative;border-radius:16px;padding:1.15rem 1.3rem 1.15rem 1.45rem;
  background:#fff;
  border:1px solid rgba(33,49,100,.08);
  border-left:4px solid var(--lc);
  box-shadow:0 2px 4px rgba(0,0,0,.06),0 20px 38px -24px rgba(0,0,0,.55);
  transition:transform .16s ease, box-shadow .16s ease}
.loc--primary{--lc:#F6A700}
.loc:nth-of-type(3){--lc:#FF7574}
.loc:nth-of-type(4){--lc:#88AEEB}
.loc.is-active{transform:translateY(-3px);box-shadow:0 2px 4px rgba(0,0,0,.08),0 28px 48px -20px rgba(0,0,0,.65)}
.loc h3{font-family:'Jost',sans-serif;font-size:1.06rem;font-weight:600;color:#213164;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin:0}
.loc p{font-family:'Jost',sans-serif;font-size:.88rem;font-weight:400;line-height:1.5;color:#5b6472;margin-top:.4rem}
.loc__tag{font-family:'Jost',sans-serif;font-size:.64rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;line-height:1;color:#213164;background:#F6A700;border-radius:999px;padding:.3rem .62rem}

/* ---------- faq ---------- */
.faq{max-width:60ch}
.faq details{border-bottom:1px solid var(--line);padding:.3rem 0}
.faq summary{
  cursor:pointer;list-style:none;padding:.9rem 2rem .9rem 0;position:relative;
  font-family:'Jost',sans-serif;font-size:1.3rem;font-weight:600
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:.2rem;top:.75rem;font-size:1.35rem;color:var(--amber);transition:transform .2s ease}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 0 1rem;color:var(--ink-soft);font-size:.95rem}

/* ---------- final cta ---------- */
.finalcta{text-align:center;display:flex;flex-direction:column;align-items:center;gap:1.2rem}
.finalcta .btn-row{justify-content:center}

/* ---------- divider arc ---------- */
.divider{display:none}
.divider svg{width:100%;height:70px;display:block;overflow:visible}
.divider path{fill:none;stroke:var(--amber);stroke-width:3;stroke-linecap:round;opacity:.55}
.js .divider path{stroke-dasharray:2400;stroke-dashoffset:2400}
.js .divider.in path{transition:stroke-dashoffset 1.5s ease;stroke-dashoffset:0}

/* ---------- reveal ---------- */
.js .reveal{opacity:0;transform:translateY(14px)}
.js .reveal.in{opacity:1;transform:none;transition:opacity .6s ease, transform .6s ease}

/* ---------- footer ---------- */
.footer{background:var(--surface);border-top:1px solid var(--line);padding-block:clamp(2.6rem,5vw,3.6rem)}
.footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:1.8rem}
@media (max-width:820px){.footer__grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.footer__grid{grid-template-columns:1fr}}
.footer h4{font-family:'Jost',sans-serif;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 .8rem}
.footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}
.footer a{color:var(--ink);text-decoration:none;font-size:.9rem}
.footer a:hover{text-decoration:underline;text-decoration-color:var(--amber);text-underline-offset:3px}
.footer__brand p{color:var(--ink-soft);font-size:.9rem;margin-top:.6rem;max-width:34ch}
.footer__meaning{font-size:.82rem;color:var(--ink-soft);font-style:italic;margin-top:.8rem}
.footer__legal{max-width:var(--maxw);margin:2.2rem auto 0;padding-inline:clamp(1.1rem,4vw,2.2rem);font-size:.8rem;color:var(--ink-soft)}
.footer h4{color:#E25A50}
.footer, .footer p, .footer li, .footer a, .footer__brand p, .footer__legal{color:#213164}

@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms !important;transition-duration:.001ms !important}
  .js .reveal{opacity:1;transform:none}
  .js .divider path{stroke-dashoffset:0}
}
:root{--logo-full:url("/img/alma_ludico_logo.svg");--logo-icon:url("/img/alma_ludico_css_1.svg")}

/* ---- upravy podla zadania ---- */
.brand{display:flex;align-items:center}
.brand__logo{display:block;width:auto;height:auto;max-height:52px}
@media (max-width:560px){.brand__logo{max-height:42px}}
.btn--coral{background:#FF7574;color:#213164;border-color:#FF7574}
.btn--coral:hover{background:#ff6360;transform:translateY(-2px)}
.divider--gold path{stroke:#F6A700;opacity:.95;stroke-width:4}
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:.4rem}
@media (max-width:900px){.pillars{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.pillars{grid-template-columns:1fr}}
.pillar{position:relative;overflow:hidden;background:#fff;border:1px solid color-mix(in srgb,var(--pc) 28%, #e8e0d4);border-radius:20px;padding:1.35rem 1.25rem;display:flex;flex-direction:column;gap:.5rem;box-shadow:0 10px 26px -16px rgba(33,49,100,.18)}
.pillar::before{content:"";position:absolute;top:-40px;right:-40px;width:118px;height:118px;border-radius:50%;background:var(--pc);opacity:.15;pointer-events:none}
.pillar>*{position:relative;z-index:1}
.pillar__badge{width:42px;height:42px;color:var(--pc);flex:none;margin-bottom:.35rem}
.pillar__badge svg{display:block;width:100%;height:100%}
.pillar h3{font-family:'Jost',sans-serif;font-size:1.06rem;font-weight:600;color:#213164;margin:0}
.pillar p{font-size:.9rem;line-height:1.5;color:#213164;margin:0}
.age-line{font-family:'Jost',sans-serif;font-weight:600;font-size:1.05rem;color:#213164;margin:0}
.progs{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:.4rem}
@media (max-width:760px){.progs{grid-template-columns:1fr}}
.prog{background:var(--pc);border-radius:28px;padding:2.4rem 1.7rem;min-height:150px;display:flex;align-items:flex-end;text-decoration:none;transition:transform .15s ease, box-shadow .15s ease}
.prog:hover{transform:translateY(-3px);box-shadow:0 16px 34px -14px rgba(33,49,100,.4)}
.prog h3{font-family:'Jost',sans-serif;font-size:1.35rem;font-weight:600;color:#213164;margin:0}
/* ---- program cards (Naše programy) ---- */
.pcards{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.3rem,3vw,2rem);margin-top:.4rem}
@media (max-width:920px){.pcards{grid-template-columns:1fr;max-width:460px;margin-inline:auto}}
.pcard{--ac:#94BCA2;background:#fff;border-radius:24px;box-shadow:0 1px 2px rgba(31,49,81,.06),0 26px 48px -24px rgba(31,49,81,.4);display:flex;flex-direction:column;overflow:hidden}
.pcard__media{position:relative;aspect-ratio:16/9;max-height:200px;background:linear-gradient(135deg,color-mix(in srgb,var(--ac) 55%,#fff),color-mix(in srgb,var(--ac) 16%,#fff))}
.pcard__media img{width:100%;height:100%;object-fit:cover;display:block}
.pcard__icon{position:absolute;right:18px;bottom:-22px;width:48px;height:48px;border-radius:50%;background:var(--ac);color:#fff;display:grid;place-items:center;border:3px solid #fff;box-shadow:0 10px 20px -6px rgba(31,49,81,.45)}
.pcard__icon svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pcard__body{padding:1.55rem 1.5rem 1.1rem;display:flex;flex-direction:column;gap:.45rem;flex:1}
.pcard__tag{font-family:'Jost',sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ac)}
.pcard h3{font-family:'Jost',sans-serif;font-size:1.3rem;font-weight:600;color:#213164;margin:0}
.pcard__body p{font-size:.94rem;line-height:1.55;color:#213164;margin:0}
.pcard__link{display:flex;flex-direction:column;flex:1;min-height:0;text-decoration:none;color:inherit}
.pcard__link:focus-visible{outline:2px solid var(--ac);outline-offset:-3px}
.pcard{transition:transform .16s ease, box-shadow .16s ease}
.pcard:hover{transform:translateY(-4px);box-shadow:0 1px 2px rgba(31,49,81,.06),0 34px 56px -22px rgba(31,49,81,.5)}
.pcard:hover .pcard__link h3{text-decoration:underline;text-decoration-color:var(--ac);text-underline-offset:3px}
.pcard__actions{margin-top:auto;padding:.75rem 1.5rem 1.25rem;display:flex;flex-wrap:wrap;gap:.55rem}
.pcard__actions .btn{flex:1 1 130px;min-width:0;font-size:.82rem;padding:.68rem .7rem;gap:.35rem;white-space:nowrap}
.pcard__actions .btn svg{width:16px;height:16px;flex:none;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.btn--soft{background:color-mix(in srgb,var(--ac) 16%,#fff);color:#213164;border-color:transparent}
.btn--soft:hover{background:color-mix(in srgb,var(--ac) 28%,#fff);transform:translateY(-2px)}
.btn--accent{background:var(--ac);color:#213164;border-color:var(--ac)}
#nase-programy .pcards .pcard:nth-child(3) .btn--accent{color:#FFFFFF}
.btn--accent:hover{filter:brightness(.96);transform:translateY(-2px)}

/* ============ Cookie consent (custom, self-hosted) ============ */
.cc-hidden{display:none !important}
#cc-banner{
  position:fixed;left:clamp(.8rem,3vw,1.4rem);bottom:clamp(.8rem,3vw,1.4rem);z-index:1000;
  width:min(24rem,calc(100vw - 1.6rem));
  background:#fff;color:#213164;border:1px solid rgba(33,49,100,.12);border-radius:16px;
  box-shadow:0 2px 6px rgba(31,49,81,.12),0 30px 60px -24px rgba(31,49,81,.5);
  padding:1.15rem 1.25rem 1.2rem;font-family:'Jost',sans-serif;
  animation:cc-in .28s ease both}
@keyframes cc-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
#cc-banner h2{font-family:'Jost',sans-serif;font-size:1.02rem;font-weight:600;margin:0 0 .4rem;color:#213164}
#cc-banner p{font-size:.86rem;line-height:1.5;margin:0 0 .9rem;color:#5b6472}
#cc-banner a{color:#E25A50;text-decoration:underline;text-underline-offset:2px}
.cc-actions{display:flex;flex-wrap:wrap;gap:.5rem}
.cc-btn{font:inherit;font-weight:600;font-size:.82rem;border-radius:999px;border:1.5px solid transparent;
  padding:.55rem 1rem;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,transform .15s ease;white-space:nowrap}
.cc-btn:hover{transform:translateY(-1px)}
.cc-btn--primary{background:#213164;color:#fff;border-color:#213164}
.cc-btn--primary:hover{background:#1a274f;border-color:#1a274f}
.cc-btn--ghost{background:transparent;color:#213164;border-color:#213164}
.cc-btn--ghost:hover{background:rgba(33,49,100,.08)}
.cc-btn--link{background:none;border:0;color:#213164;text-decoration:underline;text-underline-offset:2px;padding:.55rem .4rem}

#cc-modal{position:fixed;inset:0;z-index:1001;display:grid;place-items:center;padding:1rem;
  background:rgba(20,28,52,.55);animation:cc-fade .2s ease both}
@keyframes cc-fade{from{opacity:0}to{opacity:1}}
.cc-modal__box{background:#fff;color:#213164;border-radius:18px;max-width:34rem;width:100%;
  max-height:calc(100vh - 2rem);overflow-y:auto;padding:1.4rem 1.5rem 1.5rem;
  font-family:'Jost',sans-serif;box-shadow:0 30px 60px -20px rgba(20,28,52,.6)}
.cc-modal__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.4rem}
.cc-modal__box h2{font-size:1.15rem;font-weight:600;margin:0;color:#213164}
.cc-modal__box>p{font-size:.88rem;line-height:1.55;color:#5b6472;margin:.2rem 0 1rem}
.cc-x{background:none;border:0;font-size:1.5rem;line-height:1;color:#5b6472;cursor:pointer;padding:.1rem .3rem}
.cc-x:hover{color:#213164}
.cc-cat{border:1px solid rgba(33,49,100,.14);border-radius:12px;padding:.9rem 1rem;margin-bottom:.7rem}
.cc-cat__row{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.cc-cat h3{font-size:.95rem;font-weight:600;margin:0;color:#213164}
.cc-cat p{font-size:.82rem;line-height:1.45;color:#5b6472;margin:.35rem 0 0}
.cc-switch{position:relative;width:2.6rem;height:1.5rem;flex:none}
.cc-switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.cc-switch span{position:absolute;inset:0;background:#cdd3de;border-radius:999px;transition:background-color .18s ease}
.cc-switch span::after{content:"";position:absolute;top:2px;left:2px;width:1.1rem;height:1.1rem;background:#fff;border-radius:999px;transition:transform .18s ease;box-shadow:0 1px 2px rgba(0,0,0,.25)}
.cc-switch input:checked+span{background:#E25A50}
.cc-switch input:checked+span::after{transform:translateX(1.1rem)}
.cc-switch input:disabled+span{background:#7FBA91}
.cc-switch input:disabled{cursor:default}
.cc-modal__actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.1rem}
.cc-settings-link{background:none;border:0;font:inherit;color:#213164;cursor:pointer;font-size:.9rem;padding:0;text-decoration:none}
.cc-settings-link:hover{text-decoration:underline;text-underline-offset:3px}
@media (max-width:600px){
  #cc-banner{left:.8rem;right:.8rem;bottom:.8rem;width:auto}
  .cc-actions .cc-btn{flex:1 1 auto;text-align:center}
}

/* tlačidlá ukážkovej lekcie – zelené (rovnako ako na podstránkach) */
a.btn[href*="/appointments"], a.btn[href*="fitness-listing"]{background:#7FBA91!important;border-color:#7FBA91!important;color:#FFFFFF!important}
a.btn[href*="/appointments"]:hover, a.btn[href*="fitness-listing"]:hover{background:#6DAA81!important;border-color:#6DAA81!important;color:#FFFFFF!important}


/* ============ PODSTRÁNKY – doplnky ============ */
.btn--trial{background:#7FBA91;border-color:#7FBA91;color:#FFFFFF;font-weight:600}
.btn--trial:hover{background:#6DAA81;border-color:#6DAA81;color:#FFFFFF;transform:translateY(-2px)}
.nav__menu .btn--trial{padding:.6rem 1.05rem;font-size:.82rem;white-space:nowrap}
.nav__menu .nav__link--here{color:#E25A50}
.nav__dropdown .nav__dd-h{display:block;padding:.55rem 1rem .2rem;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);font-weight:600}
.crumbs{max-width:var(--maxw);margin:1.1rem auto 0;padding-inline:clamp(1.1rem,4vw,2.2rem);font-size:.86rem;color:var(--ink-soft)}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem}
.crumbs li+li::before{content:"›";margin-right:.35rem;color:var(--ink-soft)}
.crumbs a{color:var(--navy);text-decoration:none}.crumbs a:hover{text-decoration:underline}
.sx-hero{padding-block:clamp(1.8rem,4vw,3.2rem) clamp(2rem,5vw,3.6rem)}
.sx-hero .hero__grid{align-items:center}
.sx-hero h1{font-size:clamp(2.1rem,1rem + 3.6vw,3.5rem);color:#E25A50;line-height:1.1}
.sx-hero .lede{color:#213164;margin-top:1rem}
.sx-hero .btn-row{margin-top:1.4rem}
.sx-hero .hero__photo{aspect-ratio:3/2;object-fit:cover;width:100%;height:auto}
.sx-cta{background:#FEF1E2;text-align:center}
.sx-cta h2{color:#E25A50}
.sx-cta p{color:#213164;max-width:56ch;margin:.8rem auto 0}
.sx-cta .btn-row{justify-content:center;margin-top:1.4rem}
.sx-grid{display:grid;gap:1.1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.sx-card{background:#fff;border:1px solid rgba(33,49,100,.12);border-radius:18px;padding:1.3rem 1.3rem 1.4rem;box-shadow:var(--shadow)}
.sx-card h3{font-size:1.15rem;color:#213164;margin-bottom:.4rem}
.sx-card p{color:var(--ink-soft);font-size:.97rem}
.sx-card .btn-row{margin-top:1rem}
.sx-card .btn-row .btn--trial{white-space:nowrap;font-size:.86rem;padding-left:1rem;padding-right:1rem}
#pobocky .sx-card{display:flex;flex-direction:column}
#pobocky .sx-card .btn-row{margin-top:auto;padding-top:1rem;flex-direction:column;align-items:flex-start}
.sx-card__media{margin:-1.3rem -1.3rem 1rem;border-radius:18px 18px 0 0;overflow:hidden}
.sx-card__media img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block}
.sx-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.6rem,4vw,3rem);align-items:center}
.sx-split>*{min-width:0}
@media(max-width:820px){.sx-split{grid-template-columns:1fr}}
.sx-split img{width:100%;border-radius:22px;box-shadow:var(--shadow);object-fit:cover}
.sx-prose p+p{margin-top:1rem}.sx-prose{color:#213164}
.sx-checks{list-style:none;padding:0;margin:0;display:grid;gap:.85rem}
.sx-checks li{position:relative;padding-left:2.2rem;color:#213164}
.sx-checks li::before{content:"";position:absolute;left:0;top:.28em;width:1.35rem;height:1.35rem;border-radius:50%;background:#6E8E6D url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/70% no-repeat}
.sx-checks--cols{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));column-gap:2.4rem}
.sx-steps{counter-reset:s;list-style:none;margin:0;padding:0;display:grid;gap:1rem}
.sx-steps li{counter-increment:s;position:relative;padding-left:3rem;color:#213164}
.sx-steps li::before{content:counter(s);position:absolute;left:0;top:-.1rem;width:2.1rem;height:2.1rem;border-radius:50%;background:#213164;color:#fff;font-weight:600;display:flex;align-items:center;justify-content:center}
.sx-head{margin-bottom:clamp(1.5rem,3.5vw,2.4rem);max-width:64ch}
.sx-head .h2{color:#E25A50}
.sx-team--lekt{grid-template-columns:repeat(3,1fr)}
.sx-team--lekt .sx-member img{aspect-ratio:4/5;object-position:center top}
@media(max-width:560px){.sx-team--lekt{grid-template-columns:repeat(2,1fr)}}
.sx-head .lede{margin-top:.8rem}
.sx-faq{max-width:78ch}
.sx-faq summary{font-size:1.08rem}
.sx-faq p{color:#213164;padding:0 2rem .9rem 0}
.sx-video{position:relative;aspect-ratio:16/9;border-radius:22px;overflow:hidden;background:#213164;box-shadow:var(--shadow)}
.sx-video iframe,.sx-video button{position:absolute;inset:0;width:100%;height:100%;border:0}
.sx-video button{cursor:pointer;background:center/cover no-repeat;color:#fff;font:600 1.1rem 'Jost',sans-serif}
.sx-table-title{font-weight:600;color:#213164;margin:1.6rem 0 .6rem}
/* posuvná galéria */
.sx-slider{position:relative}
.sx-slider__track{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:.4rem .2rem 1rem;scrollbar-width:none}
.sx-slider__track::-webkit-scrollbar{display:none}
.sx-slide{flex:0 0 clamp(220px,28vw,330px);scroll-snap-align:start;margin:0}
.sx-slide img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:18px;box-shadow:var(--shadow);cursor:zoom-in;display:block}
.sx-slider__nav{position:absolute;top:calc(50% - 1rem);translate:0 -50%;width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.92);box-shadow:0 4px 14px rgba(31,49,81,.25);color:#213164;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2}
.sx-slider__prev{left:-.4rem}.sx-slider__next{right:-.4rem}
/* referencie */
.sx-quotes{position:relative;max-width:78ch;margin-inline:auto}
.sx-quotes__stage{display:grid}
.sx-quote{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .5s ease;background:#fff;border-radius:20px;padding:2.2rem 1.6rem 1.4rem;box-shadow:var(--shadow);margin:0}
.sx-quote.is-active{opacity:1;visibility:visible}
.sx-quote p{color:#213164;line-height:1.6;position:relative}
.sx-quote p::before{content:"„";position:absolute;top:-1.9rem;left:-.2rem;font:4rem/1 Georgia,serif;color:#FF7574;opacity:.55}
.sx-quote cite{display:block;margin-top:.9rem;font-style:normal;font-weight:600;color:#E25A50}
.sx-quotes__ctl{display:flex;justify-content:center;gap:.7rem;margin-top:1rem}
.sx-quotes__ctl button{width:42px;height:42px;border-radius:50%;border:1.5px solid #213164;background:transparent;color:#213164;font-size:1.3rem;cursor:pointer}
/* galéria s lightboxom */
.sx-gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.9rem}
.sx-gal img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:16px;box-shadow:var(--shadow);cursor:zoom-in;transition:transform .35s cubic-bezier(.22,1,.36,1)}
.sx-gal img:hover{transform:translateY(-3px) scale(1.02)}
.sx-gal--featured{grid-template-columns:repeat(3,1fr);grid-auto-rows:minmax(130px,1fr);grid-auto-flow:dense}
.sx-gal--featured img.is-featured{grid-column:2 / span 2;grid-row:1 / span 2;aspect-ratio:auto;height:100%}
@media(max-width:560px){.sx-gal--featured{grid-template-columns:repeat(2,1fr)}.sx-gal--featured img.is-featured{grid-column:1 / span 2;grid-row:1;aspect-ratio:4/3}}
.sx-lb{position:fixed;inset:0;z-index:999;display:flex;align-items:center;justify-content:center;background:rgba(20,16,12,.92);padding:clamp(1rem,4vw,3rem);opacity:0;pointer-events:none;transition:opacity .25s}
.sx-lb.open{opacity:1;pointer-events:auto}
.sx-lb img{max-width:100%;max-height:100%;border-radius:12px;object-fit:contain}
.sx-lb button{position:absolute;width:46px;height:46px;border-radius:50%;border:1.5px solid rgba(255,255,255,.5);background:rgba(255,255,255,.08);color:#fff;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center}
.sx-lb__x{top:1rem;right:1rem}.sx-lb__p{left:1rem;top:50%;translate:0 -50%}.sx-lb__n{right:1rem;top:50%;translate:0 -50%}
/* rozvrh, tím, kontakt (jasle/škôlka/škola) */
.sx-sched{display:grid;gap:1.3rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr))}
.sx-tl{list-style:none;margin:0;padding:0}
.sx-tl li{display:grid;grid-template-columns:8.4rem 1fr;gap:1rem;padding:.7rem 0;border-top:1px solid var(--line);color:#213164}
.sx-tl li:first-child{border-top:0}.sx-tl b{color:#E25A50;font-weight:600;white-space:nowrap}
@media(max-width:480px){.sx-tl li{grid-template-columns:1fr;gap:.1rem}}
.sx-team{display:grid;gap:1.2rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.sx-member{background:#fff;border-radius:18px;overflow:hidden;box-shadow:var(--shadow);text-align:center}
.sx-member img{width:100%;aspect-ratio:1;object-fit:cover;display:block}
.sx-member div{padding:.9rem .9rem 1.1rem}.sx-member h3{font-size:1.15rem;color:#213164}.sx-member p{font-size:.9rem;color:var(--ink-soft);line-height:1.4}
.sx-teamgroup{display:grid;grid-template-columns:1fr 1fr;background:#fff;border-radius:22px;overflow:hidden;box-shadow:var(--shadow)}
.sx-teamgroup img{width:100%;height:100%;object-fit:cover;min-height:260px}
.sx-teamgroup>div{padding:clamp(1.3rem,4vw,2.4rem);display:flex;flex-direction:column;justify-content:center;gap:1.1rem}
.sx-teamgroup h3{font-size:1.5rem;color:#213164}.sx-teamgroup p{color:var(--ink-soft)}
@media(max-width:720px){.sx-teamgroup{grid-template-columns:1fr}}
.sx-pill{display:inline-flex;gap:.3rem;padding:.25rem;border-radius:99px;background:#E7EFF7}
.sx-pill a{padding:.35rem .9rem;border-radius:99px;text-decoration:none;color:#213164;font-size:.88rem;font-weight:500}
.sx-pill a[aria-current]{background:#213164;color:#fff}
.sx-form{display:grid;gap:1rem;background:#fff;border-radius:20px;padding:clamp(1.2rem,3vw,1.8rem);box-shadow:var(--shadow)}
.sx-form label{display:grid;gap:.3rem;font-size:.8rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:#213164}
.sx-form input,.sx-form textarea{font:400 1rem 'Jost',sans-serif;border:1.5px solid var(--line);border-radius:12px;padding:.7rem .85rem;background:var(--paper);width:100%;color:var(--ink)}
.sx-form textarea{min-height:120px;resize:vertical}
.sx-form .btn{justify-self:start}
@media(prefers-reduced-motion:reduce){.sx-slider__track{scroll-behavior:auto}.sx-quote{transition:none}}
/* --- Prečo Alma Ludico: rovnaké farby ako na hlavnej stránke --- */
#preco-alma-ludico{--sec-tint:#F6A700}
#preco-alma-ludico .eyebrow,#preco-alma-ludico .h2,#preco-alma-ludico .lede{color:#FFFFFF}
#preco-alma-ludico .eyebrow::before{background:#FFFFFF}
#preco-alma-ludico .pillars{margin-top:1.6rem}
.pillars--3{grid-template-columns:repeat(3,1fr)}
@media (max-width:900px){.pillars--3{grid-template-columns:1fr}}
.pillars--3 .pillar h3{text-transform:uppercase;letter-spacing:.06em;font-size:1.15rem}
/* --- Odborné zázemie: menšia fotka Kláry --- */
#odborne-zazemie .sx-split{grid-template-columns:1.5fr 1fr}
#odborne-zazemie .sx-split img{width:100%;height:auto;max-width:340px;aspect-ratio:4/5;justify-self:center;object-position:center top}
@media(max-width:820px){#odborne-zazemie .sx-split{grid-template-columns:1fr}#odborne-zazemie .sx-split img{max-width:280px}}
/* --- Fotogaleria: fotky v pomere 4:5 --- */
#fotogaleria .sx-slide img{height:auto}
/* tlačidlá ukážkovej lekcie vo farbe programu */
a.btn.btn--rse,a.btn.btn--rse:hover{background:#E25A50!important;border-color:#E25A50!important;color:#FFFFFF!important}a.btn.btn--rse:hover{background:#CC4A41!important;border-color:#CC4A41!important}a.btn.btn--pds,a.btn.btn--pds:hover{background:#6098EA!important;border-color:#6098EA!important;color:#FFFFFF!important}a.btn.btn--pds:hover{background:#4E86D8!important;border-color:#4E86D8!important}
/* väčšie písmo menu (2026-11-06) */
.nav__link,.nav__subbtn{font-size:1.04rem}
.nav__dropdown a,.nav__citybtn{font-size:.98rem}
@media (min-width:901px){.nav__menu .btn,.nav__menu .btn--trial{font-size:.9rem!important}}
@media (max-width:900px){.nav__link,.nav__subbtn{font-size:1.08rem}.nav__dropdown a,.nav__citybtn{font-size:1.02rem}}
