/*
Theme Name:   Tom's Cars
Theme URI:    https://tomscars.cz/
Description:  Samostatna tema pre Tom's Cars - autodetailing a cistenie interieru vozidiel. Vlastna hlavicka, paticka, homepage, kontakt a pravne stranky. Nepotrebuje ziadnu rodicovsku temu.
Author:       Martin Svec
Version:      1.1.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain:  tomscars
Tags:         business, one-column, custom-menu, custom-logo, editor-style
*/

/* ==========================================================================
   Jedine miesto, kde sa meni dizajn celeho webu.
     1. Design tokens      5. Sekcie homepage
     2. Reset, typografia  6. Kontakt
     3. Tlacidla           7. Pravne stranky, 404
     4. Header, footer     8. Utility, animacie
   ========================================================================== */

/* ============================================================
   TOM'S CARS — design tokens
   ============================================================ */
:root{
  --tc-accent:#9DE9F6;
  --tc-accent-deep:#4FC3DC;
  --tc-bg:#080809;
  --tc-bg-2:#0F0F11;
  --tc-surface:#141417;
  --tc-surface-2:#1B1B1F;
  --tc-line:rgba(255,255,255,.09);
  --tc-line-2:rgba(157,233,246,.28);
  --tc-text:#F2F3F4;
  --tc-muted:#9A9CA1;
  --tc-display:'Archivo',system-ui,-apple-system,'Segoe UI',sans-serif;
  --tc-body:'Montserrat',system-ui,-apple-system,'Segoe UI',sans-serif;
  --tc-max:1200px;
  --tc-pad:clamp(20px,5vw,40px);
  --tc-r:4px;
  --tc-ease:cubic-bezier(.22,1,.36,1);
}

/* reset scoped na šablónu */
.tc-root *,.tc-root *::before,.tc-root *::after{box-sizing:border-box}
html.tc-html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html.tc-html{scroll-behavior:auto}}
body.tc-body{margin:0;background:var(--tc-bg);color:var(--tc-text);font-family:var(--tc-body);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
.tc-root img{max-width:100%;height:auto;display:block}
.tc-root h1,.tc-root h2,.tc-root h3,.tc-root h4{font-family:var(--tc-display);font-weight:800;line-height:1.14;letter-spacing:-.015em;text-wrap:balance}
/* Resety cez :where() — má NULOVÚ špecificitu, takže ktorákoľvek trieda
   nižšie ich prebije bez boja. Bez toho by .tc-root p{margin:0} (0,1,1)
   prebíjalo .tc-cashbar{margin-top} aj .tc-lead--center{margin-inline:auto}
   a prvky by strácali odsadenie a centrovanie. */
.tc-root :where(p,h1,h2,h3,h4,figure,blockquote,dl,dd){margin:0}
.tc-root :where(ul,ol){margin:0;padding:0;list-style:none}
.tc-root :where(a){color:inherit;text-decoration:none}
.tc-root strong{color:#fff;font-weight:600}
.tc-root :focus-visible{outline:2px solid var(--tc-accent);outline-offset:3px;border-radius:2px}

.tc-wrap{width:100%;max-width:var(--tc-max);margin-inline:auto;padding-inline:var(--tc-pad)}
.tc-sec{padding-block:clamp(64px,9vw,124px);position:relative}
.tc-sec--alt{background:var(--tc-bg-2)}
.tc-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* eyebrow */
.tc-eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--tc-display);font-size:12px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--tc-accent);margin:0 0 clamp(18px,2vw,24px)}
.tc-eyebrow::before{content:"";width:28px;height:1px;background:var(--tc-accent);opacity:.7;flex:none}

.tc-h2{font-size:clamp(28px,4.2vw,50px);text-transform:uppercase;font-style:italic;max-width:20ch}
.tc-head--center .tc-h2,.tc-cta .tc-h2{max-width:22ch;margin-inline:auto}
.tc-h3{font-size:clamp(18px,1.9vw,22px);text-transform:uppercase;font-style:italic;letter-spacing:0}

/* jednotný vertikálny rytmus: nadpis → text → text */
.tc-lead{color:var(--tc-muted);font-size:clamp(15px,1.5vw,17px);line-height:1.75;max-width:62ch}
.tc-h2 + .tc-lead,.tc-h3 + .tc-lead{margin-top:clamp(20px,2.4vw,28px)}
.tc-lead + .tc-lead{margin-top:clamp(14px,1.6vw,18px)}
.tc-head{max-width:780px;margin-bottom:clamp(40px,5.5vw,68px)}
.tc-head--center{margin-inline:auto;text-align:center}
.tc-head--center .tc-lead{margin-inline:auto}
.tc-head--center .tc-eyebrow{justify-content:center}

/* buttons — pozn.: selektory sú zámerne zdvojené (.tc-root .tc-btn),
   aby prebili `.tc-root a{color:inherit}` aj prípadné štýly témy. */
.tc-root .tc-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--tc-display);font-weight:700;font-size:14px;line-height:1.15;letter-spacing:.08em;text-transform:uppercase;text-align:center;padding:16px 30px;border-radius:var(--tc-r);border:1px solid transparent;cursor:pointer;text-decoration:none;transition:transform .25s var(--tc-ease),background-color .25s,color .25s,border-color .25s,box-shadow .25s;will-change:transform}
.tc-root .tc-btn .tc-ico{width:17px;height:17px;flex:none}
.tc-root .tc-btn--primary,.tc-root a.tc-btn--primary,.tc-root button.tc-btn--primary{background:var(--tc-accent);color:#04070A;border-color:var(--tc-accent)}
.tc-root .tc-btn--primary:hover,.tc-root a.tc-btn--primary:hover{background:#BDF2FB;border-color:#BDF2FB;color:#04070A;transform:translateY(-2px);box-shadow:0 12px 34px -12px rgba(157,233,246,.75)}
.tc-root .tc-btn--ghost,.tc-root a.tc-btn--ghost{background:transparent;border-color:rgba(255,255,255,.24);color:#fff}
.tc-root .tc-btn--ghost:hover,.tc-root a.tc-btn--ghost:hover{border-color:var(--tc-accent);color:var(--tc-accent);transform:translateY(-2px)}
.tc-root .tc-btn--sm{padding:12px 20px;font-size:12.5px}
.tc-btns{display:flex;flex-wrap:wrap;gap:14px}

/* ---------- header ---------- */
.tc-skip{position:absolute;left:-9999px;top:0;z-index:200;background:var(--tc-accent);color:#000;padding:12px 20px;font-weight:600}
.tc-skip:focus{left:12px;top:12px}

.tc-header{position:fixed;inset:0 0 auto 0;z-index:100;transition:background-color .35s var(--tc-ease),border-color .35s,backdrop-filter .35s}
.tc-header::after{content:"";position:absolute;inset:auto 0 0 0;height:1px;background:var(--tc-line);opacity:0;transition:opacity .35s}
.tc-header.is-stuck{background:rgba(8,8,9,.82);backdrop-filter:saturate(160%) blur(14px);-webkit-backdrop-filter:saturate(160%) blur(14px)}
.tc-header.is-stuck::after{opacity:1}
.tc-bar{display:flex;align-items:center;justify-content:space-between;gap:24px;height:76px}
.tc-logo img{height:34px;width:auto}
.tc-nav{display:flex;align-items:center;gap:30px}
.tc-nav a{font-family:var(--tc-display);font-size:13.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:rgba(255,255,255,.82);position:relative;padding-block:6px;transition:color .2s}
.tc-nav a::after{content:"";position:absolute;left:0;bottom:0;height:1.5px;width:100%;background:var(--tc-accent);transform:scaleX(0);transform-origin:right;transition:transform .3s var(--tc-ease)}
.tc-nav a:hover{color:#fff}
.tc-nav a:hover::after{transform:scaleX(1);transform-origin:left}
.tc-header-cta{display:flex;align-items:center;gap:12px}
.tc-burger{display:none;width:44px;height:44px;align-items:center;justify-content:center;background:none;border:1px solid var(--tc-line);border-radius:var(--tc-r);color:#fff;cursor:pointer}
.tc-burger span{display:block;width:18px;height:1.5px;background:currentColor;position:relative;transition:background-color .2s}
.tc-burger span::before,.tc-burger span::after{content:"";position:absolute;left:0;width:18px;height:1.5px;background:currentColor;transition:transform .3s var(--tc-ease)}
.tc-burger span::before{top:-6px}
.tc-burger span::after{top:6px}
.tc-burger[aria-expanded="true"] span{background:transparent}
.tc-burger[aria-expanded="true"] span::before{transform:translateY(6px) rotate(45deg)}
.tc-burger[aria-expanded="true"] span::after{transform:translateY(-6px) rotate(-45deg)}

@media (max-width:980px){
  .tc-nav{position:fixed;inset:76px 0 auto 0;flex-direction:column;align-items:stretch;gap:0;background:rgba(8,8,9,.97);backdrop-filter:blur(14px);padding:8px var(--tc-pad) 26px;border-bottom:1px solid var(--tc-line);transform:translateY(-8px);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s var(--tc-ease)}
  .tc-nav.is-open{opacity:1;transform:none;pointer-events:auto}
  .tc-nav a{padding:15px 0;border-bottom:1px solid var(--tc-line);font-size:15px}
  .tc-nav a::after{display:none}
  .tc-burger{display:flex}
  .tc-header-cta .tc-btn--phone{display:none}
}

/* ---------- hero ---------- */
.tc-hero{position:relative;min-height:min(100svh,860px);display:flex;align-items:flex-end;padding-top:120px;padding-bottom:clamp(40px,6vw,70px);overflow:hidden;isolation:isolate}
.tc-hero__bg{position:absolute;inset:0;z-index:-2}
.tc-hero__bg img{width:100%;height:100%;object-fit:cover;object-position:center 42%}
.tc-hero__veil{position:absolute;inset:0;z-index:-1;background:
  linear-gradient(180deg,rgba(8,8,9,.86) 0%,rgba(8,8,9,.34) 34%,rgba(8,8,9,.72) 74%,var(--tc-bg) 100%),
  radial-gradient(120% 90% at 12% 78%,rgba(8,8,9,.9) 0%,rgba(8,8,9,0) 62%)}
.tc-hero__inner{width:100%;max-width:var(--tc-max);margin-inline:auto;padding-inline:var(--tc-pad)}
.tc-hero h1{font-size:clamp(33px,6.2vw,76px);line-height:1.06;text-transform:uppercase;font-style:italic;max-width:15ch;text-shadow:0 4px 40px rgba(0,0,0,.55)}
.tc-hero h1 em{font-style:italic;color:var(--tc-accent)}
.tc-hero__sub{margin-top:clamp(22px,2.6vw,30px);max-width:56ch;color:#D3D6D9;font-size:clamp(15px,1.6vw,17.5px);line-height:1.75}
.tc-hero .tc-btns{margin-top:clamp(30px,3.4vw,40px)}
.tc-hero__meta{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:clamp(34px,4vw,44px);padding-top:26px;border-top:1px solid var(--tc-line);font-size:13px;color:var(--tc-muted)}
.tc-hero__meta span{display:inline-flex;align-items:center;gap:8px}
.tc-hero__meta .tc-ico{width:15px;height:15px;color:var(--tc-accent)}

/* ---------- usp strip ---------- */
.tc-usp{border-block:1px solid var(--tc-line);background:var(--tc-bg-2)}
.tc-usp__grid{display:grid;grid-template-columns:repeat(4,1fr)}
.tc-usp__item{padding:clamp(26px,3.2vw,40px) clamp(16px,2.2vw,30px);border-left:1px solid var(--tc-line)}
.tc-usp__item:first-child{border-left:0}
.tc-usp__num{font-family:var(--tc-display);font-size:clamp(28px,3.6vw,42px);font-weight:800;font-style:italic;color:var(--tc-accent);line-height:1}
.tc-usp__label{font-family:var(--tc-display);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin-top:10px;color:#fff}
.tc-usp__text{font-size:13.5px;color:var(--tc-muted);margin-top:8px;line-height:1.55}
@media (max-width:860px){.tc-usp__grid{grid-template-columns:repeat(2,1fr)}.tc-usp__item:nth-child(3){border-left:0}.tc-usp__item:nth-child(n+3){border-top:1px solid var(--tc-line)}}
@media (max-width:480px){.tc-usp__grid{grid-template-columns:1fr}.tc-usp__item{border-left:0;border-top:1px solid var(--tc-line)}.tc-usp__item:first-child{border-top:0}}

/* ---------- intro / split ---------- */
.tc-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,6vw,80px);align-items:center}
@media (max-width:940px){.tc-split{grid-template-columns:1fr}}
.tc-figstack{position:relative;display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.tc-figstack figure{margin:0;position:relative;overflow:hidden;border-radius:var(--tc-r);border:1px solid var(--tc-line);background:var(--tc-surface)}
.tc-figstack figure:first-child{grid-column:1/-1;aspect-ratio:16/9}
.tc-figstack figure:not(:first-child){aspect-ratio:4/3}
.tc-figstack img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--tc-ease)}
.tc-figstack figure:hover img{transform:scale(1.05)}
.tc-arealist{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.tc-arealist li{font-size:12.5px;letter-spacing:.03em;color:#C9CCD0;border:1px solid var(--tc-line);border-radius:100px;padding:7px 14px;background:rgba(255,255,255,.02)}

/* ---------- benefits ---------- */
.tc-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media (max-width:900px){.tc-cards{grid-template-columns:1fr}}
.tc-card{background:var(--tc-surface);border:1px solid var(--tc-line);border-radius:var(--tc-r);padding:clamp(26px,3vw,36px);position:relative;overflow:hidden;transition:border-color .3s,transform .3s var(--tc-ease),background-color .3s}
.tc-card::before{content:"";position:absolute;inset:0 0 auto 0;height:1px;background:linear-gradient(90deg,transparent,var(--tc-accent),transparent);opacity:0;transition:opacity .35s}
.tc-card:hover{border-color:var(--tc-line-2);transform:translateY(-4px);background:var(--tc-surface-2)}
.tc-card:hover::before{opacity:1}
.tc-card__icon{width:46px;height:46px;display:grid;place-items:center;border:1px solid var(--tc-line-2);border-radius:var(--tc-r);color:var(--tc-accent);margin-bottom:26px}
.tc-card__icon .tc-ico{width:21px;height:21px}
.tc-card p{color:var(--tc-muted);font-size:14.5px;line-height:1.7;margin-top:16px}

/* ---------- pricing ---------- */
.tc-price-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;align-items:stretch}
@media (max-width:1080px){.tc-price-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.tc-price-grid{grid-template-columns:1fr}}
/* Karta cenníka = grid s pevnými riadkami → názvy, ceny, zoznamy
   aj tlačidlá sedia na rovnakej linke naprieč všetkými štyrmi kartami. */
.tc-plan{
  display:grid;
  grid-template-rows:auto minmax(2.4em,auto) minmax(4.6em,auto) auto 1fr auto;
  row-gap:0;
  background:var(--tc-surface);border:1px solid var(--tc-line);border-radius:var(--tc-r);
  padding:clamp(24px,2.4vw,30px);position:relative;
  transition:border-color .3s,transform .3s var(--tc-ease)}
.tc-plan:hover{border-color:var(--tc-line-2);transform:translateY(-4px)}
.tc-plan--featured{border-color:var(--tc-accent);background:linear-gradient(180deg,rgba(157,233,246,.07),rgba(157,233,246,0) 46%),var(--tc-surface)}
.tc-plan__badge{position:absolute;top:-1px;right:18px;background:var(--tc-accent);color:#04070A;font-family:var(--tc-display);font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;padding:6px 12px;border-radius:0 0 var(--tc-r) var(--tc-r)}
.tc-plan__tag{font-family:var(--tc-display);font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--tc-muted);margin-bottom:14px}
.tc-plan h3{font-size:clamp(17px,1.5vw,19.5px);text-transform:uppercase;font-style:italic;line-height:1.2;align-self:start}
.tc-plan__desc{font-size:13.5px;color:var(--tc-muted);line-height:1.6;margin-top:12px;align-self:start}
.tc-plan__price{margin-top:22px;padding-top:22px;border-top:1px solid var(--tc-line);display:flex;align-items:baseline;gap:9px}
.tc-plan__from{font-size:12px;color:var(--tc-muted);text-transform:uppercase;letter-spacing:.14em;font-family:var(--tc-display);font-weight:700}
.tc-plan__amount{font-family:var(--tc-display);font-size:clamp(25px,2.5vw,31px);font-weight:800;font-style:italic;color:#fff;line-height:1;white-space:nowrap}
.tc-plan--featured .tc-plan__amount{color:var(--tc-accent)}
.tc-plan ul{margin-top:22px;display:grid;align-content:start;gap:11px}
.tc-plan li{display:grid;grid-template-columns:16px 1fr;gap:11px;font-size:13.8px;color:#C9CCD0;line-height:1.5}
.tc-plan li .tc-ico{width:15px;height:15px;margin-top:3px;color:var(--tc-accent)}
.tc-plan .tc-btn{margin-top:26px;width:100%}
@media (max-width:620px){.tc-plan{grid-template-rows:auto auto auto auto auto auto}}

.tc-price-note{margin-top:16px;display:grid;grid-template-columns:1.4fr 1fr;gap:16px;align-items:stretch}
@media (max-width:900px){.tc-price-note{grid-template-columns:1fr}}
.tc-note{background:var(--tc-surface);border:1px solid var(--tc-line);border-radius:var(--tc-r);padding:clamp(24px,2.4vw,30px)}
.tc-note h3{font-size:16px;text-transform:uppercase;font-style:italic}
.tc-note p{font-size:14px;line-height:1.7;color:var(--tc-muted);margin-top:16px}
.tc-addons{display:grid;gap:16px;margin-top:22px}
.tc-addon{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:16px;border-bottom:1px dashed var(--tc-line)}
.tc-addon:last-child{border-bottom:0;padding-bottom:0}
.tc-addon strong{display:block;font-size:14.5px;margin-bottom:5px}
.tc-addon span{font-size:13px;line-height:1.6;color:var(--tc-muted)}
.tc-addon b{font-family:var(--tc-display);font-style:italic;font-size:17px;color:var(--tc-accent);white-space:nowrap}
.tc-cashbar{margin-top:22px;display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;border:1px solid var(--tc-line-2);border-radius:var(--tc-r);background:rgba(157,233,246,.05);padding:18px 22px;font-size:14px;color:#D8DBDE}
.tc-cashbar .tc-ico{color:var(--tc-accent);width:18px;height:18px;flex:none}

/* ---------- about ---------- */
.tc-about__img{border:1px solid var(--tc-line);border-radius:var(--tc-r);overflow:hidden;background:var(--tc-surface)}
.tc-about__img img{width:100%;aspect-ratio:4/3;object-fit:cover}
.tc-sign{font-family:var(--tc-display);font-style:italic;font-weight:800;font-size:15px;letter-spacing:.06em;text-transform:uppercase;color:var(--tc-accent);margin-top:24px}

/* ---------- reviews ---------- */
.tc-reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media (max-width:900px){.tc-reviews{grid-template-columns:1fr}}
.tc-review{background:var(--tc-surface);border:1px solid var(--tc-line);border-radius:var(--tc-r);padding:clamp(24px,2.6vw,32px);display:flex;flex-direction:column}
.tc-stars{display:flex;gap:3px;color:var(--tc-accent);margin-bottom:16px}
.tc-stars .tc-ico{width:15px;height:15px;fill:currentColor;stroke-width:1}
.tc-review p{font-size:14.5px;color:#D0D3D7;flex:1}
.tc-review footer{margin-top:20px;padding-top:16px;border-top:1px solid var(--tc-line);font-size:13px;color:var(--tc-muted)}
.tc-review footer strong{display:block;font-family:var(--tc-display);font-style:italic;text-transform:uppercase;letter-spacing:.05em;font-size:14px;color:#fff}

/* ---------- gallery ---------- */
.tc-gal{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media (max-width:900px){.tc-gal{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.tc-gal{grid-template-columns:1fr}}
.tc-gal figure{margin:0;position:relative;overflow:hidden;border-radius:var(--tc-r);border:1px solid var(--tc-line);aspect-ratio:4/3;background:var(--tc-surface)}
.tc-gal img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--tc-ease),filter .5s;filter:saturate(.95)}
.tc-gal figure:hover img{transform:scale(1.06);filter:saturate(1.1)}
.tc-gal figcaption{position:absolute;inset:auto 0 0 0;padding:14px 16px;font-size:12px;color:#E6E8EA;background:linear-gradient(0deg,rgba(0,0,0,.82),transparent);opacity:0;transform:translateY(6px);transition:opacity .3s,transform .3s var(--tc-ease)}
.tc-gal figure:hover figcaption{opacity:1;transform:none}

/* ---------- location ---------- */
.tc-map{border:1px solid var(--tc-line);border-radius:var(--tc-r);overflow:hidden;background:var(--tc-surface);min-height:380px}
.tc-map iframe{display:block;width:100%;height:100%;min-height:380px;border:0;filter:grayscale(1) invert(.92) contrast(.86)}
.tc-info{display:grid;gap:2px;margin-top:26px;border:1px solid var(--tc-line);border-radius:var(--tc-r);overflow:hidden}
.tc-info div{display:flex;gap:14px;align-items:flex-start;padding:18px 20px;background:var(--tc-surface);font-size:14px}
.tc-info .tc-ico{color:var(--tc-accent);width:18px;height:18px;flex:none;margin-top:3px}
.tc-info b{display:block;font-family:var(--tc-display);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--tc-muted);font-weight:700;margin-bottom:3px}

/* ---------- gift ---------- */
.tc-gift{background:linear-gradient(120deg,rgba(157,233,246,.09),rgba(157,233,246,0) 55%),var(--tc-surface);border:1px solid var(--tc-line-2);border-radius:var(--tc-r);padding:clamp(28px,4vw,54px);display:grid;grid-template-columns:1fr .85fr;gap:clamp(28px,4vw,56px);align-items:center}
@media (max-width:900px){.tc-gift{grid-template-columns:1fr}}

/* ---------- faq ---------- */
.tc-faq{display:grid;gap:0;border-top:1px solid var(--tc-line);max-width:920px;margin-inline:auto}
.tc-faq details{border-bottom:1px solid var(--tc-line)}
.tc-faq summary{list-style:none;cursor:pointer;display:flex;gap:20px;align-items:center;justify-content:space-between;padding:22px 4px;font-family:var(--tc-display);font-weight:700;font-size:clamp(15px,1.7vw,18px);color:#fff;transition:color .2s}
.tc-faq summary::-webkit-details-marker{display:none}
.tc-faq summary:hover{color:var(--tc-accent)}
.tc-faq summary .tc-plus{position:relative;width:18px;height:18px;flex:none}
.tc-faq summary .tc-plus::before,.tc-faq summary .tc-plus::after{content:"";position:absolute;background:var(--tc-accent);transition:transform .3s var(--tc-ease),opacity .3s}
.tc-faq summary .tc-plus::before{left:0;top:8px;width:18px;height:1.6px}
.tc-faq summary .tc-plus::after{left:8px;top:0;width:1.6px;height:18px}
.tc-faq details[open] summary .tc-plus::after{transform:rotate(90deg);opacity:0}
.tc-faq details[open] summary{color:var(--tc-accent)}
.tc-faq__a{padding:0 60px 24px 4px;color:var(--tc-muted);font-size:14.8px;max-width:80ch}

/* ---------- final cta ---------- */
.tc-cta{position:relative;text-align:center;overflow:hidden;isolation:isolate;border-top:1px solid var(--tc-line)}
.tc-cta::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(70% 120% at 50% 0%,rgba(157,233,246,.13),transparent 62%)}
.tc-cta h2{max-width:20ch;margin-inline:auto}
.tc-cta .tc-btns{justify-content:center;margin-top:32px}
.tc-cta__phone{display:block;margin-top:28px;font-family:var(--tc-display);font-style:italic;font-weight:800;font-size:clamp(24px,3.6vw,38px);color:#fff;transition:color .25s}
.tc-cta__phone:hover{color:var(--tc-accent)}

/* ---------- footer ---------- */
.tc-footer{background:#000;border-top:1px solid var(--tc-line);padding-block:clamp(48px,6vw,74px) 0}
.tc-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.1fr;gap:clamp(28px,4vw,48px)}
@media (max-width:980px){.tc-footer__grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.tc-footer__grid{grid-template-columns:1fr}}
.tc-footer h4{font-family:var(--tc-display);font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--tc-accent);font-weight:700;margin-bottom:18px}
.tc-footer li,.tc-footer p{font-size:14px;color:var(--tc-muted);margin-bottom:10px}
.tc-footer a:hover{color:var(--tc-accent)}
.tc-footer img.tc-flogo{height:36px;width:auto;margin-bottom:18px}
.tc-footer__bottom{margin-top:clamp(36px,5vw,56px);border-top:1px solid var(--tc-line);padding-block:22px;display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;font-size:12.5px;color:#83868C}

/* ---------- reveal ---------- */
@media (prefers-reduced-motion:no-preference){
  .tc-rv{opacity:0;transform:translateY(22px);transition:opacity .7s var(--tc-ease),transform .7s var(--tc-ease)}
  .tc-rv.is-in{opacity:1;transform:none}
}

/* ==========================================================================
   6. WP MENU, PODSTRÁNKY, KONTAKT, PRÁVNE STRÁNKY, 404
   Doplnené pri prechode na child tému.
   ========================================================================== */

/* ---- menu generované WordPressom (wp_nav_menu) ---- */
.tc-nav .tc-menu,.tc-nav ul{display:flex;align-items:center;gap:30px;list-style:none;margin:0;padding:0}
.tc-nav li{margin:0}
.tc-footer ul{list-style:none;margin:0;padding:0}
.tc-footer__h{font-family:var(--tc-display);font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--tc-accent);font-weight:700;margin:0 0 18px;line-height:1.4}
.tc-footer li a{display:inline-flex;align-items:center;gap:8px}
.tc-footer li .tc-ico{width:14px;height:14px;flex:none}
.tc-wrap--flush{padding-inline:0}
.tc-btns--center{justify-content:center;margin-top:36px}
.tc-btns--mt{margin-top:32px}
.tc-btns--mt-sm{margin-top:22px}
.tc-lead--center{margin-inline:auto;text-align:center}
.tc-sec--tight{padding-block:clamp(48px,6vw,84px)}

@media (max-width:980px){
  .tc-nav .tc-menu,.tc-nav ul{flex-direction:column;align-items:stretch;gap:0}
  .tc-nav li a{display:block}
}

/* ---- hero podstránky ---- */
.tc-pagehero{position:relative;padding:calc(76px + clamp(52px,7vw,96px)) 0 clamp(40px,5vw,64px);
  border-bottom:1px solid var(--tc-line);background:var(--tc-bg-2);overflow:hidden;isolation:isolate}
.tc-pagehero::before{content:"";position:absolute;inset:0;z-index:-1;
  background:radial-gradient(80% 130% at 12% 0%,rgba(157,233,246,.10),transparent 62%)}
.tc-h1{font-family:var(--tc-display);font-size:clamp(30px,5.4vw,60px);font-weight:800;font-style:italic;
  text-transform:uppercase;line-height:1.1;letter-spacing:-.015em;margin:0;color:#fff;max-width:19ch;text-wrap:balance}
.tc-pagehero .tc-lead{margin-top:clamp(20px,2.4vw,28px)}
.tc-pagehero--narrow .tc-h1,.tc-pagehero--narrow .tc-lead{max-width:24ch}

/* ---- telefónna karta na Kontakte ---- */
.tc-telcard{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(24px,3vw,44px);align-items:center;
  background:linear-gradient(120deg,rgba(157,233,246,.09),rgba(157,233,246,0) 58%),var(--tc-surface);
  border:1px solid var(--tc-line-2);border-radius:var(--tc-r);padding:clamp(28px,3.4vw,44px)}
@media (max-width:820px){.tc-telcard{grid-template-columns:1fr;text-align:center}}
.tc-telcard__label{font-family:var(--tc-display);font-size:11px;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:var(--tc-accent);margin:0 0 14px}
.tc-root a.tc-telcard__num{display:inline-flex;align-items:center;gap:16px;font-family:var(--tc-display);
  font-size:clamp(28px,5.2vw,52px);font-weight:800;font-style:italic;color:#fff;line-height:1;
  text-decoration:none;transition:color .25s}
.tc-root a.tc-telcard__num:hover{color:var(--tc-accent)}
.tc-telcard__num .tc-ico{width:clamp(26px,3.4vw,40px);height:clamp(26px,3.4vw,40px);color:var(--tc-accent);flex:none}
.tc-telcard__note{margin-top:16px;font-size:13.5px;color:var(--tc-muted)}
.tc-telcard__side{border-left:1px solid var(--tc-line);padding-left:clamp(20px,2.4vw,36px)}
.tc-telcard__side p{font-size:14px;color:var(--tc-muted);line-height:1.7}
.tc-telcard__side p + p{margin-top:12px}
@media (max-width:820px){.tc-telcard__side{border-left:0;border-top:1px solid var(--tc-line);padding:24px 0 0}}

/* ---- formulár ---- */
.tc-split--form{align-items:start}
.tc-form{margin-top:clamp(26px,3vw,36px)}
.tc-form input[type=text],.tc-form input[type=email],.tc-form input[type=tel],
.tc-form input[type=date],.tc-form select,.tc-form textarea{
  width:100%;background:var(--tc-surface);border:1px solid var(--tc-line);border-radius:var(--tc-r);
  color:var(--tc-text);font-family:var(--tc-body);font-size:15px;padding:14px 16px;
  transition:border-color .25s,background-color .25s}
.tc-form textarea{min-height:130px;resize:vertical}
.tc-form input:focus,.tc-form select:focus,.tc-form textarea:focus{
  outline:none;border-color:var(--tc-accent);background:var(--tc-surface-2)}
.tc-form input::placeholder,.tc-form textarea::placeholder{color:#83868C}
.tc-form label{display:block;font-size:13px;color:var(--tc-muted);margin-bottom:7px}
.tc-form p{margin-bottom:16px}
.tc-form input[type=submit],.tc-form button[type=submit]{
  display:inline-flex;align-items:center;justify-content:center;width:auto;
  background:var(--tc-accent);color:#04070A;border:1px solid var(--tc-accent);border-radius:var(--tc-r);
  font-family:var(--tc-display);font-weight:700;font-size:14px;letter-spacing:.08em;text-transform:uppercase;
  padding:16px 30px;cursor:pointer;transition:transform .25s var(--tc-ease),background-color .25s,box-shadow .25s}
.tc-form input[type=submit]:hover,.tc-form button[type=submit]:hover{
  background:#BDF2FB;transform:translateY(-2px);box-shadow:0 12px 34px -12px rgba(157,233,246,.75)}
.tc-form__note{font-size:12.5px;color:#83868C;margin-top:16px;line-height:1.6}
.tc-form__empty{background:var(--tc-surface);border:1px dashed var(--tc-line-2);border-radius:var(--tc-r);
  padding:clamp(24px,3vw,34px);display:grid;justify-items:start;gap:14px}
.tc-form__empty .tc-ico{width:26px;height:26px;color:var(--tc-accent)}
.tc-form__empty p{font-size:14.5px;color:var(--tc-muted);line-height:1.7}
.tc-form__empty a{color:var(--tc-accent)}

/* ---- info panel ---- */
.tc-info--lg div{padding:20px 22px;font-size:14.5px}
.tc-info--lg .tc-ico{width:19px;height:19px}
.tc-info a{transition:color .2s}
.tc-info a:hover{color:var(--tc-accent)}
.tc-arealist-wrap{margin-top:26px}
.tc-arealist-title{font-family:var(--tc-display);font-size:11px;font-weight:700;letter-spacing:.18em;
  text-transform:uppercase;color:var(--tc-muted);margin-bottom:14px}
.tc-map--wide{min-height:460px}
.tc-map--wide iframe{min-height:460px}

/* ---- prose (obsah z WP editora) ---- */
.tc-prose{color:#C9CCD0;font-size:15.5px;line-height:1.85;max-width:74ch}
.tc-prose--center{margin-inline:auto}
.tc-prose h2{font-family:var(--tc-display);font-size:clamp(21px,2.6vw,30px);font-weight:800;font-style:italic;
  text-transform:uppercase;color:#fff;margin:clamp(38px,4vw,54px) 0 18px;line-height:1.18;letter-spacing:-.01em}
.tc-prose h3{font-family:var(--tc-display);font-size:clamp(17px,2vw,21px);font-weight:700;font-style:italic;
  text-transform:uppercase;color:#fff;margin:32px 0 14px;line-height:1.25}
.tc-prose h2:first-child,.tc-prose h3:first-child{margin-top:0}
.tc-prose p{margin:0 0 18px}
.tc-prose a{color:var(--tc-accent);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.tc-prose a:hover{color:#BDF2FB}
.tc-prose ul,.tc-prose ol{margin:0 0 20px;padding-left:22px;list-style:disc}
.tc-prose ol{list-style:decimal}
.tc-prose li{margin-bottom:9px}
.tc-prose li::marker{color:var(--tc-accent)}
.tc-prose strong{color:#fff}
.tc-prose table{width:100%;border-collapse:collapse;margin:0 0 24px;font-size:14px}
.tc-prose th,.tc-prose td{border:1px solid var(--tc-line);padding:12px 14px;text-align:left}
.tc-prose th{background:var(--tc-surface);color:#fff;font-family:var(--tc-display);font-size:12px;
  letter-spacing:.1em;text-transform:uppercase}
.tc-prose blockquote{margin:0 0 24px;padding:18px 22px;border-left:2px solid var(--tc-accent);
  background:var(--tc-surface);color:#D0D3D7}
.tc-prose__updated{margin-top:36px;padding-top:20px;border-top:1px solid var(--tc-line);
  font-size:12.5px;color:#83868C}

/* ---- právne stránky: obsah + bočný panel ---- */
.tc-legal{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(32px,4vw,58px);align-items:start}
@media (max-width:940px){.tc-legal{grid-template-columns:1fr}}
.tc-legal__side{position:sticky;top:100px}
@media (max-width:940px){.tc-legal__side{position:static}}
.tc-note__h{font-family:var(--tc-display);font-size:15px;font-weight:800;font-style:italic;
  text-transform:uppercase;color:#fff;margin:0 0 14px}
.tc-note--mt{margin-top:16px}
.tc-legal__contact{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.tc-legal__contact li{display:flex;gap:11px;align-items:flex-start;font-size:13.8px;color:var(--tc-muted);line-height:1.55}
.tc-legal__contact .tc-ico{width:16px;height:16px;flex:none;margin-top:3px;color:var(--tc-accent)}
.tc-legal__contact a{color:#fff}
.tc-legal__contact a:hover{color:var(--tc-accent)}
.tc-legal__links{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.tc-legal__links a{display:flex;gap:10px;align-items:center;font-size:13.8px;color:var(--tc-muted);transition:color .2s}
.tc-legal__links a:hover{color:var(--tc-accent)}
.tc-legal__links .tc-ico{width:15px;height:15px;flex:none;color:var(--tc-accent)}
.tc-backlink{margin-top:clamp(36px,4vw,52px)}
.tc-backlink a{display:inline-flex;align-items:center;gap:9px;font-family:var(--tc-display);font-size:12.5px;
  font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--tc-muted);transition:color .2s}
.tc-backlink a:hover{color:var(--tc-accent)}
.tc-backlink .tc-ico{width:15px;height:15px}

/* ---- 404 ---- */
.tc-404{text-align:center;padding-block:calc(76px + clamp(60px,8vw,110px)) clamp(70px,9vw,120px);
  position:relative;overflow:hidden;isolation:isolate}
.tc-404::before{content:"";position:absolute;inset:0;z-index:-1;
  background:radial-gradient(70% 110% at 50% 0%,rgba(157,233,246,.12),transparent 62%)}
.tc-404 .tc-eyebrow{justify-content:center}
.tc-404 .tc-h1{margin-inline:auto;max-width:16ch}
.tc-404 .tc-lead{margin-top:24px}

/* ---- WP zarovnania v obsahu ---- */
.tc-prose .alignleft{float:left;margin:6px 24px 18px 0}
.tc-prose .alignright{float:right;margin:6px 0 18px 24px}
.tc-prose .aligncenter{display:block;margin-inline:auto}
.tc-prose img{border-radius:var(--tc-r);border:1px solid var(--tc-line)}
.tc-prose figure{margin:0 0 24px}
.tc-prose figcaption{font-size:12.5px;color:#83868C;margin-top:9px}

/* ==========================================================================
   9. POISTKY PROTI ŠTÝLOM TÉMY A ELEMENTORU
   Hello Elementor a Elementor nastavujú h1–h4 na tmavú farbu a resetujú SVG.
   Tieto pravidlá to prebijú, nech dizajn nezávisí na dedení.
   ========================================================================== */
.tc-root h1,.tc-root h2,.tc-root h3,.tc-root h4,.tc-root .tc-h1,.tc-root .tc-h2,.tc-root .tc-h3{color:#fff}
.tc-root .tc-hero h1{color:#fff}
.tc-root .tc-hero h1 em{color:var(--tc-accent)}
.tc-root .tc-eyebrow,.tc-root .tc-footer__h{color:var(--tc-accent)}
.tc-root .tc-plan__tag,.tc-root .tc-usp__text,.tc-root .tc-lead,.tc-root .tc-plan__desc{color:var(--tc-muted)}
.tc-root .tc-usp__num,.tc-root .tc-sign{color:var(--tc-accent)}
.tc-root p,.tc-root li{color:inherit}
/* POZOR: sem NEPRIDÁVAŤ 'span'. Väčšina drobných prvkov (badge, popisky cien,
   hviezdičky, štítky) sú spany s vlastnou farbou a pravidlo .tc-root span
   by ich všetky prebilo — badge bol takto biely na tyrkysovej. */

/* SVG ikony: bezpečná východisková veľkosť, keby konkrétne pravidlo nesadlo */
.tc-root svg.tc-ico{width:1em;height:1em;flex:none;display:inline-block;vertical-align:middle}
.tc-root .tc-btn svg.tc-ico{width:17px;height:17px}
.tc-root .tc-card__icon svg.tc-ico{width:21px;height:21px}
.tc-root .tc-stars svg.tc-ico{width:15px;height:15px}
.tc-root .tc-plan li svg.tc-ico{width:15px;height:15px}
.tc-root .tc-info svg.tc-ico,.tc-root .tc-legal__contact svg.tc-ico{width:18px;height:18px}
.tc-root .tc-hero__meta svg.tc-ico{width:15px;height:15px}
.tc-root .tc-telcard__num svg.tc-ico{width:clamp(26px,3.4vw,40px);height:clamp(26px,3.4vw,40px)}

/* Elementor resetuje box-sizing a odsadenia listov v obsahu */
.tc-root :where(ul,ol){list-style:none;margin:0;padding:0}
.tc-root .tc-prose ul{list-style:disc;padding-left:22px;margin:0 0 20px}
.tc-root .tc-prose ol{list-style:decimal;padding-left:22px;margin:0 0 20px}
.tc-root img{max-width:100%}

/* ---- opravy po nasadeni ---- */
.tc-root .tc-logo{display:flex;align-items:center;flex:none}
.tc-root .tc-logo img{height:34px;width:auto;max-width:none;display:block}
.tc-root .tc-flogo{height:36px;width:auto;max-width:none}
.tc-root .tc-btn--phone{white-space:nowrap;flex:none}
.tc-root .tc-bar{min-height:76px}
@media (max-width:1180px){.tc-root .tc-nav .tc-menu{gap:20px}}

/* ---- vlastný kontaktný formulár ---- */
.tc-root .tc-form__row{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
@media (max-width:640px){.tc-root .tc-form__row{grid-template-columns:1fr}}
.tc-root .tc-field{margin:0 0 18px}
.tc-root .tc-field label{display:block;font-size:13px;color:var(--tc-muted);margin-bottom:8px;font-weight:500}
.tc-root .tc-field label span[aria-hidden]{color:var(--tc-accent)}
.tc-root .tc-field__opt{color:#83868C;font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;margin-left:6px}
.tc-root .tc-field__err{display:block;margin-top:7px;font-size:12.5px;color:#FF8A8A}
.tc-root .tc-field.has-error input,.tc-root .tc-field.has-error textarea,.tc-root .tc-field.has-error select{border-color:#FF8A8A}
.tc-root .tc-field--check label{display:grid;grid-template-columns:20px 1fr;gap:12px;align-items:start;
  font-size:13.5px;color:var(--tc-muted);line-height:1.6;cursor:pointer;margin:0}
.tc-root .tc-field--check input{width:18px;height:18px;margin-top:2px;accent-color:var(--tc-accent);cursor:pointer}
.tc-root .tc-field--check a{color:var(--tc-accent);text-decoration:underline;text-underline-offset:2px}
.tc-root .tc-field--submit{margin-top:26px;margin-bottom:0}
.tc-root .tc-field--submit .tc-btn{width:auto}
.tc-root .tc-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.tc-root .tc-alert{display:grid;grid-template-columns:24px 1fr;gap:16px;align-items:start;
  border-radius:var(--tc-r);padding:22px 24px;border:1px solid var(--tc-line)}
.tc-root .tc-alert strong{display:block;font-family:var(--tc-display);font-style:italic;text-transform:uppercase;
  font-size:15px;color:#fff;margin-bottom:6px;letter-spacing:.02em}
.tc-root .tc-alert p{font-size:14px;color:var(--tc-muted);line-height:1.7;margin:0}
.tc-root .tc-alert a{color:var(--tc-accent)}
.tc-root .tc-alert .tc-ico{width:24px;height:24px}
.tc-root .tc-alert--ok{background:rgba(157,233,246,.07);border-color:var(--tc-line-2)}
.tc-root .tc-alert--ok .tc-ico{color:var(--tc-accent)}
.tc-root .tc-alert--err{background:rgba(255,138,138,.07);border-color:rgba(255,138,138,.34);margin-bottom:24px}
.tc-root .tc-alert--err .tc-ico{color:#FF8A8A}

/* ---- Trustindex widget (živé Google recenzie) ---- */
.tc-root .tc-trustindex{margin-top:clamp(8px,1.5vw,16px)}
/* Widget si nesie vlastné štýly. Necháme mu voľnosť, len ho udržíme
   v mriežke stránky a zabránime pretečeniu na mobile. */
.tc-root .tc-trustindex .ti-widget{margin:0 auto!important;max-width:100%!important}
.tc-root .tc-trustindex img{border:0;border-radius:0}
.tc-root .tc-trustindex ul,.tc-root .tc-trustindex ol{list-style:none}

/* ---- cenové rozpätie v cenníku ---- */
.tc-root .tc-plan__amount--range{font-size:clamp(19px,2vw,25px);letter-spacing:-.01em}
.tc-root .tc-pricenote{display:flex;gap:14px;align-items:flex-start;margin-top:20px;
  border:1px dashed var(--tc-line);border-radius:var(--tc-r);padding:18px 22px;
  font-size:13.8px;line-height:1.65;color:var(--tc-muted);background:rgba(255,255,255,.02)}
.tc-root .tc-pricenote .tc-ico{width:17px;height:17px;flex:none;margin-top:2px;color:var(--tc-accent)}

/* ==========================================================================
   10. OPRAVA PRETEKANIA GRIDOV
   Položky CSS gridu majú default min-width:auto, takže sa nezmestia pod
   šírku svojho najdlhšieho nezalomiteľného obsahu (u nás cena "2 500–3 500 Kč"
   s white-space:nowrap). Grid potom vytečie von z kontajnera a sekcia
   prestane lícovať so zvyškom stránky. min-width:0 to vyrieši raz a navždy.
   ========================================================================== */
.tc-root .tc-price-grid > *,
.tc-root .tc-cards > *,
.tc-root .tc-reviews > *,
.tc-root .tc-usp__grid > *,
.tc-root .tc-gal > *,
.tc-root .tc-split > *,
.tc-root .tc-price-note > *,
.tc-root .tc-legal > *,
.tc-root .tc-gift > *,
.tc-root .tc-form__row > *{min-width:0}

/* Cena pod popiskom, nie vedľa neho — dlhé rozpätie tak netlačí na šírku
   stĺpca a karta zostane v mriežke. */
.tc-root .tc-plan__price{flex-direction:column;align-items:flex-start;gap:7px}
.tc-root .tc-plan__from{line-height:1}
.tc-root .tc-plan__amount--range{font-size:clamp(18px,1.9vw,24px)}

/* Poistka: nič v cenníku nesmie prečnievať cez okraj karty. */
.tc-root .tc-price-grid,.tc-root .tc-price-note{max-width:100%}
.tc-root .tc-plan{overflow:hidden}

/* ---- badge „Nejoblíbenější" ---- */
.tc-root .tc-plan .tc-plan__badge,
.tc-root span.tc-plan__badge{
  background:var(--tc-accent);
  color:#04070A;
  font-weight:800;
}

/* Drobné prvky, ktoré sú spany a musia si farbu ustrážiť samy ---- */
.tc-root span.tc-plan__from{color:var(--tc-muted)}
.tc-root span.tc-plan__amount{color:#fff}
.tc-root .tc-plan--featured span.tc-plan__amount{color:var(--tc-accent)}
.tc-root span.tc-field__opt{color:#83868C}
.tc-root .tc-addon span{color:var(--tc-muted)}
.tc-root .tc-info b,.tc-root .tc-legal__contact b{color:var(--tc-muted)}

/* ---- odsadenia, ktoré predtým zjedol blanket reset odstavcov ---- */
.tc-root .tc-cashbar{margin-top:clamp(18px,2vw,26px)}
.tc-root .tc-pricenote{margin-top:clamp(18px,2vw,24px)}
.tc-root .tc-lead--center{margin-inline:auto;text-align:center}
.tc-root .tc-cta .tc-lead{margin-inline:auto;text-align:center}
.tc-root .tc-form__note{margin-top:16px}
.tc-root .tc-telcard__note{margin-top:16px}
.tc-root .tc-prose p{margin:0 0 18px}
.tc-root .tc-prose__updated{margin-top:36px}

/* ==========================================================================
   11. SUBGRID V CENNÍKU
   Každá karta bola samostatný grid, takže si riadky riešila sama a ceny
   aj tlačidlá skákali podľa dĺžky nadpisu. So subgridom definuje riadky
   mriežka cenníka a karty ich zdedia — všetko sedí na spoločnej linke.
   V prehliadači bez podpory subgridu sa správanie nezhorší.
   ========================================================================== */
@supports (grid-template-rows: subgrid){
  .tc-root .tc-price-grid{grid-template-rows:auto auto auto auto 1fr auto}
  .tc-root .tc-price-grid > .tc-plan{grid-row:span 6;grid-template-rows:subgrid;row-gap:0}
  /* Pri subgride už netreba umelé minimá na riadky. */
  .tc-root .tc-price-grid > .tc-plan > *{min-height:0}
}
@media (max-width:620px){
  @supports (grid-template-rows: subgrid){
    .tc-root .tc-price-grid{grid-template-rows:none}
    .tc-root .tc-price-grid > .tc-plan{grid-row:auto;grid-template-rows:auto auto auto auto 1fr auto}
  }
}
.tc-root .tc-plan__hint{display:block;margin-top:8px;font-size:11.5px;line-height:1.45;
  color:var(--tc-muted);font-family:var(--tc-body);font-weight:400;letter-spacing:0;text-transform:none}

/* ==========================================================================
   12. MIKROTEXTY POD CTA
   ========================================================================== */
.tc-root .tc-microcopy{margin-top:14px;font-size:13px;color:var(--tc-muted);line-height:1.6}
.tc-root .tc-microcopy--hero{max-width:46ch}
.tc-root .tc-btns--center + .tc-microcopy{text-align:center}
.tc-root .tc-cta .tc-microcopy{text-align:center;margin-top:18px}
.tc-root .tc-form__preselect{display:flex;gap:12px;align-items:flex-start;margin-bottom:22px;
  padding:16px 18px;border:1px solid var(--tc-line-2);border-radius:var(--tc-r);
  background:rgba(157,233,246,.06);font-size:13.8px;line-height:1.6;color:var(--tc-muted)}
.tc-root .tc-form__preselect .tc-ico{width:17px;height:17px;flex:none;margin-top:2px;color:var(--tc-accent)}
.tc-root .tc-form__preselect strong{color:#fff}

/* ==========================================================================
   13. JAK TO PROBÍHÁ
   ========================================================================== */
.tc-root .tc-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;counter-reset:tcstep}
@media (max-width:900px){.tc-root .tc-steps{grid-template-columns:1fr}}
.tc-root .tc-steps > *{min-width:0}
.tc-root .tc-step{position:relative;background:var(--tc-surface);border:1px solid var(--tc-line);
  border-radius:var(--tc-r);padding:clamp(26px,3vw,36px);transition:border-color .3s,transform .3s var(--tc-ease)}
.tc-root .tc-step:hover{border-color:var(--tc-line-2);transform:translateY(-4px)}
.tc-root .tc-step__num{display:grid;place-items:center;width:44px;height:44px;margin-bottom:22px;
  border:1px solid var(--tc-line-2);border-radius:50%;
  font-family:var(--tc-display);font-style:italic;font-weight:800;font-size:18px;color:var(--tc-accent)}
.tc-root .tc-step p{margin-top:14px;font-size:14.5px;line-height:1.7;color:var(--tc-muted)}
/* Spojnica medzi krokmi na desktope */
@media (min-width:901px){
  .tc-root .tc-step:not(:last-child)::after{content:"";position:absolute;top:calc(clamp(26px,3vw,36px) + 22px);
    right:-18px;width:18px;height:1px;background:var(--tc-line-2)}
}

/* ==========================================================================
   14. FIXNÁ LIŠTA NA MOBILE
   ========================================================================== */
.tc-mobilebar{display:none}
@media (max-width:768px){
  .tc-mobilebar{
    display:grid;grid-template-columns:1fr 1fr;gap:1px;
    position:fixed;inset:auto 0 0 0;z-index:95;
    background:var(--tc-line);
    border-top:1px solid var(--tc-line);
    padding-bottom:env(safe-area-inset-bottom,0);
  }
  .tc-root .tc-mobilebar a{
    display:flex;align-items:center;justify-content:center;gap:9px;
    padding:15px 10px;min-height:56px;
    font-family:var(--tc-display);font-weight:700;font-size:13.5px;
    letter-spacing:.08em;text-transform:uppercase;text-decoration:none;
  }
  .tc-root .tc-mobilebar__call{background:var(--tc-accent);color:#04070A}
  .tc-root .tc-mobilebar__form{background:var(--tc-surface-2);color:#fff}
  .tc-root .tc-mobilebar .tc-ico{width:17px;height:17px}
  /* Aby lišta neprekrývala pätičku ani posledné CTA */
  body.tc-body{padding-bottom:57px}
}

/* ==========================================================================
   15. LIGHTBOX GALÉRIE
   ========================================================================== */
.tc-root .tc-gal figure{cursor:zoom-in}
.tc-lightbox{position:fixed;inset:0;z-index:200;display:none;
  align-items:center;justify-content:center;padding:clamp(16px,4vw,48px);
  background:rgba(4,5,6,.94);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.tc-lightbox[open],.tc-lightbox.is-open{display:flex}
.tc-lightbox__img{max-width:min(1200px,100%);max-height:82vh;width:auto;height:auto;
  border-radius:var(--tc-r);border:1px solid rgba(255,255,255,.12);display:block}
.tc-lightbox__cap{position:absolute;left:0;right:0;bottom:clamp(16px,3vw,32px);
  text-align:center;font-size:13px;color:#C9CCD0;padding-inline:clamp(16px,6vw,80px);line-height:1.6}
.tc-lightbox__btn{position:absolute;display:grid;place-items:center;width:48px;height:48px;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:50%;
  color:#fff;cursor:pointer;transition:background-color .2s,transform .2s var(--tc-ease)}
.tc-lightbox__btn:hover{background:rgba(157,233,246,.22);transform:scale(1.06)}
.tc-lightbox__btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round}
.tc-lightbox__close{top:clamp(14px,3vw,28px);right:clamp(14px,3vw,28px)}
.tc-lightbox__prev{left:clamp(10px,2vw,28px);top:50%;transform:translateY(-50%)}
.tc-lightbox__next{right:clamp(10px,2vw,28px);top:50%;transform:translateY(-50%)}
.tc-lightbox__prev:hover,.tc-lightbox__next:hover{transform:translateY(-50%) scale(1.06)}
@media (max-width:640px){
  .tc-lightbox__prev{left:8px}.tc-lightbox__next{right:8px}
  .tc-lightbox__btn{width:42px;height:42px}
  .tc-lightbox__img{max-height:70vh}
}
body.tc-lb-open{overflow:hidden}

/* 4 karty vedľa seba na servisnej stránke */
.tc-root .tc-cards--4{grid-template-columns:repeat(4,1fr)}
@media (max-width:1080px){.tc-root .tc-cards--4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.tc-root .tc-cards--4{grid-template-columns:1fr}}
