:root {
  --sl-purple:#6a11cb;
  --sl-purple-dark:#4c0798;
  --sl-pink:#ec3d96;
  --sl-text:#192231;
  --sl-muted:#667085;
  --sl-line:#e4e7ec;
  --sl-soft:#f7f4fb;
  --sl-bg:#f7f8fb;
  --sl-green:#168a53;
  --sl-shadow:0 18px 48px rgba(20,28,45,.08);
}
html { scroll-padding-top: 100px; }
body.stitnik-page {
  margin:0;
  min-height:100vh;
  height:auto !important;
  display:flex;
  flex-direction:column;
  overflow-x:hidden;
  background:var(--sl-bg);
  color:var(--sl-text);
  font-family:"Open Sans",Arial,sans-serif;
  font-size:16px;
  line-height:1.6;
}
body.stitnik-page main#main {
  flex:1 0 auto;
  width:100%;
  min-height:0;
  overflow:visible;
}
body.stitnik-page .site-footer {
  position:relative;
  flex:0 0 auto;
  width:100%;
  margin-top:0;
}
.stitnik-page h1,.stitnik-page h2,.stitnik-page h3,.stitnik-page button,.stitnik-page .stitnik-btn { font-family:Poppins,Arial,sans-serif; }
.stitnik-page h1,.stitnik-page h2,.stitnik-page h3 { font-weight:700; }
.stitnik-page .skip-link {
  position:fixed;
  left:12px;
  top:12px;
  z-index:1000001;
  transform:translateY(-180%);
  padding:10px 14px;
  border-radius:10px;
  background:#fff;
  color:var(--sl-purple);
  font-weight:700;
  box-shadow:0 8px 24px rgba(15,23,42,.18);
}
.stitnik-page .skip-link:focus { transform:translateY(0); }
.stitnik-container { width:min(1180px,calc(100% - 32px)); margin:0 auto; }
.stitnik-hero { padding:clamp(42px,7vw,84px) 0 46px; background:radial-gradient(circle at 10% 15%,rgba(106,17,203,.12),transparent 34%),radial-gradient(circle at 90% 10%,rgba(236,61,150,.10),transparent 30%),#fff; border-bottom:1px solid #eceef2; }
.stitnik-hero__grid { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(300px,.65fr); gap:clamp(28px,5vw,66px); align-items:center; }
.stitnik-eyebrow,.stitnik-step-label { display:inline-flex; align-items:center; min-height:30px; padding:0 11px; border-radius:999px; background:#f1e9fa; color:var(--sl-purple-dark); font:600 .84rem Poppins,sans-serif; }
.stitnik-hero h1 { max-width:780px; margin:14px 0 16px; font-size:clamp(2.05rem,4vw,3.25rem); font-weight:700; line-height:1.1; letter-spacing:-.035em; color:#172033; }
.stitnik-hero__copy>p { max-width:760px; margin:0; color:var(--sl-muted); font-size:clamp(1.05rem,1.7vw,1.22rem); }
.stitnik-hero__actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.stitnik-btn { min-height:54px; padding:0 20px; border:0; border-radius:14px; display:inline-flex; align-items:center; justify-content:center; gap:8px; cursor:pointer; text-decoration:none; font-weight:700; font-size:1rem; transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease; }
.stitnik-btn:hover { transform:translateY(-1px); }
.stitnik-btn--primary { color:#fff; background:linear-gradient(135deg,var(--sl-purple),#8c2bd6 62%,var(--sl-pink)); box-shadow:0 12px 28px rgba(106,17,203,.22); }
.stitnik-btn--secondary { color:#3d4758; background:#fff; border:1px solid #d9dee6; }
.stitnik-btn--plan { width:100%; color:#fff; background:#202938; }
.stitnik-trust { display:flex; flex-wrap:wrap; gap:9px 16px; margin-top:22px; color:#566174; font-size:.91rem; font-weight:600; }
.stitnik-trust span::before { content:"✓"; margin-right:7px; color:var(--sl-green); font-weight:900; }
.stitnik-hero__summary { padding:25px; border:1px solid #e3e6eb; border-radius:24px; background:rgba(255,255,255,.94); box-shadow:var(--sl-shadow); }
.stitnik-status { display:flex; align-items:center; gap:8px; color:#4d5869; font-weight:600; font-size:.9rem; }
.stitnik-status__dot { width:10px; height:10px; border-radius:50%; background:#e59b18; box-shadow:0 0 0 5px rgba(229,155,24,.12); }
.stitnik-hero__summary h2 { margin:13px 0 0; font-size:1.45rem; font-weight:700; }
.stitnik-big-value { margin:7px 0 0; color:var(--sl-purple); font:700 1.85rem Poppins,sans-serif; line-height:1.1; }
.stitnik-hero__summary small { color:#798394; }
.stitnik-summary-row { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-top:16px; padding-top:14px; border-top:1px solid #eceef2; color:#697386; }
.stitnik-summary-row strong { color:#303a4a; text-align:right; }
.stitnik-text-link { display:inline-block; margin-top:17px; color:var(--sl-purple); font-weight:700; }
.stitnik-section { padding:clamp(54px,7vw,82px) 0; scroll-margin-top:110px; }
.stitnik-section--compact { padding-top:48px; padding-bottom:54px; }
.stitnik-section--soft { background:#fff; border-block:1px solid #eceef2; }
.stitnik-section--contact { background:linear-gradient(180deg,#fbf9fe,#f5f6fa); }
.stitnik-section--seo { padding-top:52px; padding-bottom:46px; background:#fff; }
.stitnik-section--faq { padding-top:40px; }
.stitnik-section__head { max-width:820px; margin-bottom:25px; }
.stitnik-section__head--center { margin-left:auto; margin-right:auto; text-align:center; }
.stitnik-section__head h2 { margin:10px 0 9px; color:#202938; font-size:clamp(1.55rem,3vw,2.15rem); font-weight:700; line-height:1.22; letter-spacing:-.02em; }
.stitnik-section__head p { margin:0; color:var(--sl-muted); font-size:1.02rem; }
.stitnik-checker-card { max-width:1040px; margin:0 auto; padding:24px; border:1px solid var(--sl-line); border-radius:22px; background:#fff; box-shadow:var(--sl-shadow); }
.stitnik-checker { display:grid; grid-template-columns:minmax(220px,.85fr) minmax(380px,1.35fr) minmax(210px,.78fr); gap:20px; align-items:start; }
.stitnik-checker label,.stitnik-tv-choice legend,.stitnik-field label { display:block; margin-bottom:7px; color:#344054; font:600 .93rem Poppins,sans-serif; }
.stitnik-checker input,.stitnik-field input,.stitnik-field textarea { width:100%; min-height:54px; border:1px solid #cfd5dd; border-radius:13px; background:#fff; color:#202938; padding:0 15px; font:400 1rem "Open Sans",sans-serif; outline:none; }
.stitnik-checker input[readonly] { background:#f7f8fa; color:#475467; }
.stitnik-checker input:focus,.stitnik-field input:focus,.stitnik-field textarea:focus { border-color:var(--sl-purple); box-shadow:0 0 0 4px rgba(106,17,203,.08); }
.stitnik-checker__locality small { display:block; min-height:19px; margin-top:7px; color:#818b99; font-size:.78rem; line-height:1.45; }
.stitnik-tv-choice { min-width:0; padding:0; margin:0; border:0; }
.stitnik-tv-choice__buttons { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.stitnik-choice { min-height:58px; padding:8px 12px; border:1px solid #d9dee6; border-radius:12px; background:#fff; color:#475467; cursor:pointer; text-align:left; }
.stitnik-choice strong,.stitnik-choice span { display:block; }
.stitnik-choice strong { color:#344054; font:600 .91rem Poppins,sans-serif; }
.stitnik-choice span { margin-top:2px; color:#7b8492; font-size:.76rem; }
.stitnik-choice.is-selected { border-color:var(--sl-purple); background:#f6f0fb; box-shadow:0 0 0 3px rgba(106,17,203,.07); }
.stitnik-checker__action { min-width:0; }
.stitnik-checker__action-label { display:block; margin-bottom:7px; color:#344054; font:600 .93rem Poppins,sans-serif; }
.stitnik-checker__continue { width:100%; min-height:58px; white-space:nowrap; }
.stitnik-plan-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); gap:18px; }
.stitnik-plan-card { display:flex; flex-direction:column; min-width:0; padding:24px; border:1px solid #e1e5eb; border-radius:20px; background:#fff; box-shadow:0 10px 28px rgba(15,23,42,.055); }
.stitnik-plan-card.is-recommended { border-color:rgba(106,17,203,.35); box-shadow:0 16px 36px rgba(106,17,203,.10); }
.stitnik-plan-card__top { min-height:28px; display:flex; align-items:center; justify-content:space-between; gap:10px; color:#667085; font-weight:600; }
.stitnik-plan-card__top em { padding:4px 8px; border-radius:999px; background:#f1e7fa; color:var(--sl-purple-dark); font-style:normal; font-size:.72rem; white-space:nowrap; }
.stitnik-plan-card h3 { margin:15px 0 0; color:#202938; font-size:clamp(1.7rem,3vw,2.15rem); font-weight:700; line-height:1.08; }
.stitnik-plan-card__speed-note { margin:5px 0 0; color:#8992a0; font-size:.82rem; }
.stitnik-plan-card__price { display:flex; align-items:baseline; gap:6px; margin-top:18px; }
.stitnik-plan-card__price strong { color:var(--sl-purple); font:700 1.45rem Poppins,sans-serif; }
.stitnik-plan-card__price span { color:#737d8c; }
.stitnik-plan-card ul { list-style:none; padding:0; margin:20px 0 22px; display:grid; gap:9px; color:#5d6879; }
.stitnik-plan-card li { position:relative; padding-left:24px; }
.stitnik-plan-card li::before { content:"✓"; position:absolute; left:0; color:var(--sl-green); font-weight:900; }
.stitnik-plan-card .stitnik-btn { margin-top:auto; }
.stitnik-plan-card.is-selected { border-color:var(--sl-purple); box-shadow:0 0 0 3px rgba(106,17,203,.08),0 18px 38px rgba(106,17,203,.12); }
.stitnik-plan-card.is-selected .stitnik-btn--plan { background:linear-gradient(135deg,var(--sl-purple),var(--sl-pink)); }
.stitnik-step-confirmation { margin-top:22px; padding:18px 20px; display:flex; align-items:center; justify-content:space-between; gap:20px; border:1px solid #d8cae7; border-radius:18px; background:linear-gradient(135deg,#fbf8fe,#f7f1fc); }
.stitnik-step-confirmation[hidden] { display:none !important; }
.stitnik-step-confirmation>div { min-width:0; }
.stitnik-step-confirmation__badge { display:block; margin-bottom:5px; color:var(--sl-green); font:700 .78rem Poppins,sans-serif; text-transform:uppercase; letter-spacing:.03em; }
.stitnik-step-confirmation strong { display:block; color:#30223d; font:700 1.03rem Poppins,sans-serif; overflow-wrap:anywhere; }
.stitnik-step-confirmation p { margin:4px 0 0; color:#6d7582; font-size:.9rem; }
.stitnik-current-selection { margin:0 0 20px; padding:15px 17px; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:12px; border:1px solid #ded3e8; border-radius:16px; background:#faf7fd; }
.stitnik-current-selection[hidden] { display:none !important; }
.stitnik-current-selection>span { color:#7a6a86; font-size:.78rem; font-weight:700; text-transform:uppercase; letter-spacing:.03em; }
.stitnik-current-selection>strong { color:#352541; font:700 .98rem Poppins,sans-serif; overflow-wrap:anywhere; }
.stitnik-current-selection>button { border:0; background:transparent; color:var(--sl-purple); font:700 .84rem Poppins,sans-serif; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }

.stitnik-tv-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.stitnik-tv-card { display:flex; flex-direction:column; gap:17px; padding:22px; border:1px solid #e3e6eb; border-radius:18px; background:#fff; }
.stitnik-tv-card>div:first-child>span { color:#8a93a2; font-size:.8rem; font-weight:600; text-transform:uppercase; letter-spacing:.04em; }
.stitnik-tv-card h3 { margin:5px 0 3px; color:#263142; font-size:1.25rem; }
.stitnik-tv-card p { margin:0; color:#6f7989; }
.stitnik-tv-card__price strong,.stitnik-tv-card__price small { display:block; }
.stitnik-tv-card__price strong { color:var(--sl-purple); font:700 1.25rem Poppins,sans-serif; }
.stitnik-tv-card.is-selected { border-color:var(--sl-purple); box-shadow:0 0 0 3px rgba(106,17,203,.07); }
.stitnik-tv-card.is-selected .stitnik-btn--secondary { color:#fff; border-color:transparent; background:linear-gradient(135deg,var(--sl-purple),var(--sl-pink)); }
.stitnik-tv-decision { margin-top:18px; }
.stitnik-no-tv-choice { width:100%; min-height:72px; display:flex; align-items:center; gap:13px; padding:14px 16px; border:1px solid #dfe3e8; border-radius:16px; background:#fff; color:#3f4958; text-align:left; cursor:pointer; }
.stitnik-no-tv-choice:hover { border-color:#cfc4db; background:#fcf9fe; }
.stitnik-no-tv-choice.is-selected { border-color:var(--sl-purple); background:#f8f2fc; box-shadow:0 0 0 3px rgba(106,17,203,.06); }
.stitnik-no-tv-choice__icon { width:36px; height:36px; flex:0 0 36px; display:grid; place-items:center; border-radius:50%; background:#edf0f3; color:#596273; font-weight:900; }
.stitnik-no-tv-choice.is-selected .stitnik-no-tv-choice__icon { background:var(--sl-purple); color:#fff; }
.stitnik-no-tv-choice strong,.stitnik-no-tv-choice small { display:block; }
.stitnik-no-tv-choice strong { color:#303948; font:700 .95rem Poppins,sans-serif; }
.stitnik-no-tv-choice small { margin-top:2px; color:#7b8492; font-size:.8rem; }

.stitnik-tv-card__price small { color:#7c8594; }
.stitnik-link-button { display:block; margin:20px auto 0; border:0; background:transparent; color:var(--sl-purple); font:700 .94rem Poppins,sans-serif; cursor:pointer; text-decoration:underline; text-underline-offset:4px; }
.stitnik-process { max-width:980px; margin:0 auto; padding:0; list-style:none; display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.stitnik-process li { display:flex; gap:14px; align-items:flex-start; padding:20px; border:1px solid #e3e7ed; border-radius:18px; background:#fff; }
.stitnik-process>li>span { width:42px; height:42px; flex:0 0 42px; display:grid; place-items:center; border-radius:50%; background:var(--sl-purple); color:#fff; font:700 1rem Poppins,sans-serif; }
.stitnik-process strong { color:#303a4a; font-family:Poppins,sans-serif; }
.stitnik-process p { margin:5px 0 0; color:#727d8d; font-size:.9rem; }
.stitnik-contact-layout { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(280px,.65fr); gap:28px; align-items:start; }
.stitnik-contact-main { min-width:0; padding:clamp(22px,4vw,36px); border:1px solid #e2e6ec; border-radius:24px; background:#fff; box-shadow:var(--sl-shadow); }
.stitnik-contact-form { display:grid; gap:18px; }
.stitnik-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.stitnik-field { min-width:0; }
.stitnik-field textarea { min-height:118px; padding:13px 15px; resize:vertical; }
.stitnik-field label small { color:#858f9e; font-weight:600; }
.stitnik-selection-summary { display:grid; grid-template-columns:1fr 1fr 1fr; gap:9px; padding:15px; border:1px solid #e5deec; border-radius:16px; background:#f9f6fc; }
.stitnik-selection-summary div { min-width:0; }
.stitnik-selection-summary span,.stitnik-selection-summary strong { display:block; }
.stitnik-selection-summary span { color:#7b8493; font-size:.76rem; }
.stitnik-selection-summary strong { margin-top:3px; color:#463455; font-size:.88rem; overflow-wrap:anywhere; }
.stitnik-consent { display:flex; align-items:flex-start; gap:11px; color:#505b6c; font-size:.9rem; cursor:pointer; }
.stitnik-consent input { width:21px; height:21px; flex:0 0 auto; margin-top:2px; accent-color:var(--sl-purple); }
.stitnik-form-note,.stitnik-recaptcha { margin:0; color:#7b8492; font-size:.8rem; line-height:1.5; }
.stitnik-submit { width:100%; min-height:60px; font-size:1.05rem; }
.form-hidden { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.stitnik-contact-help { position:sticky; top:105px; padding:25px; border-radius:22px; background:#202938; color:#fff; }
.stitnik-contact-help h2 { margin:0 0 10px; font-size:1.35rem; }
.stitnik-contact-help p { margin:0 0 18px; color:#d7dce4; }
.stitnik-phone,.stitnik-email { display:block; color:#fff; overflow-wrap:anywhere; }
.stitnik-phone { font:700 1.25rem Poppins,sans-serif; }
.stitnik-email { margin-top:6px; color:#f7a5cf; font-weight:600; }
.stitnik-contact-help ul { list-style:none; padding:18px 0 0; margin:18px 0 0; border-top:1px solid rgba(255,255,255,.14); display:grid; gap:8px; }
.stitnik-contact-help li::before { content:"✓"; color:#68d39f; margin-right:8px; font-weight:900; }
.stitnik-info-card,.stitnik-seo-copy { padding:24px; border:1px solid #e3e6eb; border-radius:20px; background:#fff; }
.stitnik-seo-copy { max-width:980px; }
.stitnik-seo-copy h2 { margin-top:0; }
.stitnik-seo-copy p { color:#667085; }
.stitnik-seo-copy a { color:var(--sl-purple); font-weight:600; }
.stitnik-faq { display:grid; gap:10px; }
.stitnik-faq details { border:1px solid #e2e6ec; border-radius:15px; background:#fff; padding:0 18px; }
.stitnik-faq summary { min-height:60px; display:flex; align-items:center; cursor:pointer; color:#344054; font:600 .98rem Poppins,sans-serif; }
.stitnik-faq p { margin:0 0 18px; color:#6e7888; }
.stitnik-page .availability-map-entry { max-width:920px; margin:14px auto 0; }

@media (max-width:980px) {
  .stitnik-hero__grid,.stitnik-contact-layout { grid-template-columns:1fr; }
  .stitnik-hero__summary { max-width:620px; }
  .stitnik-checker { grid-template-columns:1fr 1.25fr; }
  .stitnik-checker__action { grid-column:1 / -1; }
  .stitnik-checker__continue { width:100%; }
  .stitnik-step-confirmation { align-items:stretch; }
  .stitnik-current-selection { grid-template-columns:1fr auto; }
  .stitnik-current-selection>span { grid-column:1 / -1; }
  .stitnik-tv-grid { grid-template-columns:repeat(2,1fr); }
  .stitnik-contact-help { position:static; }
}
@media (max-width:720px) {
  body.stitnik-page { font-size:16px; }
  .stitnik-container { width:min(100% - 20px,1180px); }
  .stitnik-hero { padding:34px 0 32px; }
  .stitnik-hero h1 { font-size:clamp(2rem,10vw,3rem); }
  .stitnik-hero__actions { display:grid; grid-template-columns:1fr; }
  .stitnik-btn { width:100%; min-height:58px; }
  .stitnik-section { padding:48px 0; }
  .stitnik-checker-card { padding:14px; }
  .stitnik-checker { grid-template-columns:1fr; gap:16px; }
  .stitnik-checker__action { grid-column:auto; }
  .stitnik-tv-choice__buttons { grid-template-columns:1fr; }
  .stitnik-checker__action-label { margin-bottom:7px; }
  .stitnik-step-confirmation { flex-direction:column; align-items:stretch; padding:16px; }
  .stitnik-step-confirmation .stitnik-btn { width:100%; }
  .stitnik-current-selection { grid-template-columns:1fr; }
  .stitnik-current-selection>span { grid-column:auto; }
  .stitnik-current-selection>button { justify-self:start; padding:0; }
  .stitnik-no-tv-choice { min-height:76px; }
  .stitnik-choice { min-height:64px; }
  .stitnik-plan-grid,.stitnik-tv-grid,.stitnik-process,.stitnik-form-grid,.stitnik-selection-summary { grid-template-columns:1fr; }
  .stitnik-plan-card,.stitnik-tv-card,.stitnik-contact-main,.stitnik-contact-help { padding:20px; }
  .stitnik-contact-main { border-radius:18px; }
  .stitnik-field input { min-height:58px; font-size:16px; }
  .stitnik-selection-summary { gap:12px; }
}
@media (max-width:900px) and (orientation:landscape) and (max-height:650px) {
  .stitnik-hero { padding-top:24px; }
  .stitnik-hero__grid { grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr); gap:22px; }
  .stitnik-hero h1 { font-size:clamp(1.9rem,4vw,2.7rem); }
  .stitnik-hero__copy>p { font-size:.95rem; }
  .stitnik-hero__summary { padding:18px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .stitnik-btn { transition:none; } }

/* v3.1.2 - presné zarovnanie prvého kroku a postupný výber služby */
.stitnik-checker input { min-height:58px; }
.stitnik-page .availability-map-entry { width:100%; max-width:none; margin:16px 0 0; }
.stitnik-tv-decision { margin:0 0 16px; }
.stitnik-tv-grid { margin-top:18px; }
.stitnik-tv-card button:disabled,
.stitnik-no-tv-choice:disabled { opacity:.52; cursor:not-allowed; transform:none; }
.stitnik-tv-card button:disabled:hover,
.stitnik-no-tv-choice:disabled:hover { border-color:#dfe3e8; background:#fff; }
#internetSelectionNotice,
#tvSelectionNotice { scroll-margin-top:120px; }


/* v3.1.3 - potvrdená lokalita bez globálneho autocomplete */
.stitnik-checker__label {
  display:block;
  margin:0 0 8px;
  color:#283343;
  font:700 .9rem Poppins,sans-serif;
}
.stitnik-locality-confirmed {
  min-height:58px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:0 16px;
  border:1px solid #d7c8e8;
  border-radius:14px;
  background:#fff;
  color:#263142;
  box-shadow:inset 0 0 0 1px rgba(106,17,203,.015);
}
.stitnik-locality-confirmed__check {
  width:28px;
  height:28px;
  flex:0 0 28px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#eef9f2;
  color:#18a957;
  font-weight:900;
}
.stitnik-locality-confirmed strong {
  font:700 1rem Poppins,sans-serif;
}
.stitnik-checker__locality>small a {
  color:var(--sl-purple);
  font-weight:700;
  text-decoration:none;
  white-space:nowrap;
}
.stitnik-checker__locality>small a:hover { text-decoration:underline; text-underline-offset:3px; }
@media (max-width:720px) {
  .stitnik-locality-confirmed { min-height:58px; }
  .stitnik-checker__locality>small a { white-space:normal; }
}
