/* ===== Top categories (Domov) ===== */
.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.cat-tile{position:relative;display:block;border-radius:var(--radius);overflow:hidden;min-height:190px;box-shadow:var(--shadow-sm);color:#fff;border:1px solid var(--border);transition:transform .2s,box-shadow .25s}
.cat-tile:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.cat-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cat-tile .ov{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,26,47,.15) 0%,rgba(10,26,47,.55) 55%,rgba(10,26,47,.86) 100%)}
.cat-tile.code-tile{background:linear-gradient(150deg,var(--navy),var(--navy-3));display:grid;place-items:center}
.cat-tile.code-tile .glyph{position:relative;color:var(--blue-300);opacity:.5}
.cat-tile.code-tile .glyph svg{width:84px;height:84px}
.cat-tile .meta{position:absolute;left:0;right:0;bottom:0;padding:16px 18px;z-index:2}
.cat-tile .meta h3{font-size:18px;font-weight:800}
.cat-tile .meta p{font-size:13px;color:#C7D2E6;margin-top:3px}
.cat-tile .meta .go{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-size:13px;font-weight:700;color:#fff;opacity:.9}
.cat-tile .meta .go svg{width:15px;height:15px}
.cat-tile.big{grid-column:span 2}
.badge-top{display:inline-block;background:var(--grad);color:#fff;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:5px 11px;border-radius:999px;position:absolute;top:12px;left:12px;z-index:2}

/* ===== Software page ===== */
.codewin{background:#0c1626;border:1px solid rgba(255,255,255,.1);border-radius:16px;overflow:hidden;box-shadow:var(--shadow-lg);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.codewin .bar{display:flex;align-items:center;gap:8px;padding:12px 16px;background:rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.08)}
.codewin .bar .dot{width:11px;height:11px;border-radius:50%}
.codewin .bar .r{background:#ff5f56}.codewin .bar .y{background:#ffbd2e}.codewin .bar .g{background:#27c93f}
.codewin .bar .fn{margin-left:10px;color:#8aa0c0;font-size:12.5px}
.codewin pre{margin:0;padding:18px 20px;font-size:12.7px;line-height:1.7;color:#cdd9ee;overflow-x:auto}
.codewin .k{color:#c792ea}.codewin .s{color:#c3e88d}.codewin .c{color:#5c6c84;font-style:italic}.codewin .a{color:#82aaff}.codewin .t{color:#ffcb6b}
.dev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}
.tag{font-size:12px;font-weight:600;color:var(--blue-700);background:rgba(37,99,235,.09);border:1px solid rgba(37,99,235,.18);padding:5px 11px;border-radius:999px}

/* SMS Server flow */
.sms-block{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start}
.sms-flow{background:linear-gradient(160deg,var(--navy),var(--navy-2));border:1px solid var(--border-dark);border-radius:20px;padding:26px;color:#fff;box-shadow:var(--shadow-lg)}
.sms-flow .ftitle{font-size:13px;font-weight:800;letter-spacing:.06em;color:var(--blue-300);text-transform:uppercase;margin-bottom:18px}
.sms-flow .flab{font-size:11.5px;font-weight:700;letter-spacing:.05em;color:#8aa0c0;text-transform:uppercase;margin:16px 0 8px}
.flowrow{display:flex;align-items:center;gap:10px}
.fbox{flex:1;display:flex;align-items:center;gap:8px;justify-content:center;padding:13px 10px;border-radius:12px;font-size:13px;font-weight:700;border:1px solid rgba(255,255,255,.14)}
.fbox.blue{background:rgba(37,99,235,.22)}.fbox.orange{background:rgba(37,99,235,.12)}.fbox.green{background:rgba(52,211,153,.16)}.fbox.violet{background:rgba(147,197,253,.16)}
.farrow{color:#8aa0c0;font-weight:700;flex:none}
.fnote{font-size:11.5px;color:#7e8fab;text-align:center;margin-top:8px}
.infra-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}

/* FAQ (native details) */
.faq-list{max-width:860px;margin:0 auto;display:grid;gap:12px}
.faq{background:var(--card);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-sm);overflow:hidden}
.faq[open]{border-color:var(--blue-300);box-shadow:0 0 0 3px rgba(37,99,235,.1)}
.faq summary{list-style:none;cursor:pointer;padding:18px 20px;font-weight:700;font-size:15.5px;color:var(--navy);display:flex;align-items:center;justify-content:space-between;gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary .chev{transition:transform .2s;color:var(--blue-600);flex:none}
.faq[open] summary .chev{transform:rotate(180deg)}
.faq .ans{padding:0 20px 20px;color:var(--muted);font-size:15px}
.faq .ans a{color:var(--blue-600);font-weight:600}

@media (max-width:1024px){.cat-grid{grid-template-columns:repeat(2,1fr)}.dev-grid{grid-template-columns:1fr 1fr}}
@media (max-width:900px){.sms-block{grid-template-columns:1fr;gap:26px}.infra-grid{grid-template-columns:1fr}}
@media (max-width:560px){.cat-grid{grid-template-columns:1fr 1fr}.cat-tile.big{grid-column:span 2}.dev-grid{grid-template-columns:1fr}}

/* ===== Logo image + social ===== */
.logo-img{height:34px;width:auto;display:block}
.logo-wrap{display:inline-flex;align-items:center;background:#0A1A2F;border-radius:10px;padding:7px 14px}
@media(max-width:560px){.logo-img{height:30px}.logo-wrap{padding:6px 12px}}
.logo-foot-img{height:44px;width:auto;margin-bottom:14px}
.social-ico{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;border:1px solid var(--border);background:rgba(37,99,235,.07);color:var(--navy);transition:background .15s,color .15s,transform .15s}
.social-ico:hover{background:#1877F2;color:#fff;transform:translateY(-2px);border-color:transparent}
.social-ico svg{width:19px;height:19px}
.foot-social{display:flex;gap:10px;margin-top:16px}
.foot-social a{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:rgba(255,255,255,.08);border:1px solid var(--border-dark);color:#fff;transition:background .15s,transform .15s}
.foot-social a:hover{background:#1877F2;transform:translateY(-2px);border-color:transparent}
.foot-social a svg{width:19px;height:19px}

/* ===== Reviews ===== */
.g-summary{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;margin-bottom:32px}
.g-summary .score{font-size:40px;font-weight:900;color:var(--navy);line-height:1}
.g-summary .stars{display:flex;gap:2px}
.g-summary .sub{font-size:14px;color:var(--muted)}
.g-logo{font-weight:700;color:var(--navy)}
.g-logo .b{color:#4285F4}.g-logo .r{color:#EA4335}.g-logo .y{color:#FBBC05}.g-logo .g{color:#34A853}
.stars{display:inline-flex;gap:2px;color:#F5A623}
.stars svg{width:18px;height:18px;fill:currentColor;stroke:none}
.rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.rev-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .25s;display:flex;flex-direction:column}
.rev-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.rev-card .txt{font-size:14.5px;color:var(--text);margin:12px 0 0;line-height:1.6;flex:1}
.rev-meta{display:flex;align-items:center;gap:11px;margin-top:auto;padding-top:16px}
.rev-av{width:42px;height:42px;border-radius:50%;background:var(--grad);color:#fff;display:grid;place-items:center;font-weight:800;flex:none}
.rev-name{font-weight:700;font-size:14px}
.rev-role{font-size:12.5px;color:var(--muted)}

/* ===== Rating widget ===== */
.rate-card{max-width:560px;margin:36px auto 0;background:linear-gradient(160deg,var(--navy),var(--navy-3));border:1px solid var(--border-dark);border-radius:20px;padding:32px;text-align:center;color:#fff;box-shadow:var(--shadow-lg)}
.rate-card h3{font-size:20px}
.rate-card .rw-sub{color:#AbB8CC;font-size:14.5px;margin:9px 0 18px}
.rw-stars{display:flex;justify-content:center;gap:10px;margin:6px 0 14px}
.rw-star{width:44px;height:44px;cursor:pointer;color:#41506b;transition:color .12s,transform .12s;background:none;border:0;padding:0}
.rw-star:hover{transform:scale(1.12)}
.rw-star.on{color:#F5A623}
.rw-star svg{width:100%;height:100%;fill:currentColor;stroke:none}
.rw-note{font-size:12.5px;color:#7e8fab}
.rw-feedback{display:none;margin-top:18px;text-align:left}
.rw-feedback h4{font-size:16px;margin-bottom:6px}
.rw-feedback p{font-size:13.5px;color:#AbB8CC;margin-bottom:12px}
.rw-feedback textarea{width:100%;min-height:110px;border-radius:12px;border:1px solid var(--border-dark);background:rgba(255,255,255,.06);color:#fff;padding:12px 14px;font:inherit;font-size:14.5px;resize:vertical}
.rw-feedback textarea::placeholder{color:#7e8fab}
.rw-feedback .btn{width:100%;justify-content:center;margin-top:12px}
.rw-thanks{display:none;margin-top:16px;color:#34D399;font-weight:600;font-size:14.5px}

/* ===== Map ===== */
.map-block{display:grid;grid-template-columns:1fr;gap:20px}
.map-wrap{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--border);min-height:460px}
.map-wrap iframe{width:100%;height:100%;min-height:460px;border:0;display:block}
.addr-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:22px 24px;box-shadow:var(--shadow-sm);display:flex;flex-wrap:wrap;align-items:center;gap:10px 28px}
.addr-card h3{width:100%;margin-bottom:6px}
.addr-card .btn{margin-top:0;width:auto;margin-left:auto}
.addr-card h3{font-size:18px;margin-bottom:14px}
.addr-row{display:flex;gap:12px;align-items:flex-start;margin-bottom:13px;font-size:14.5px}
.addr-row svg{width:20px;height:20px;color:var(--blue);flex:none;margin-top:2px}
.addr-card .btn{width:100%;justify-content:center;margin-top:8px}

@media(max-width:1024px){.rev-grid{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.map-block{grid-template-columns:1fr}.rev-grid{grid-template-columns:1fr}}

.hero-vid{width:100%;height:100%;object-fit:cover;display:block}

.svc-detail .media video{width:100%;height:100%;object-fit:cover;display:block}
.cat-tile.code-tile .glyph svg{width:60px;height:60px}

.price-ask{font-size:14px;font-weight:700;color:var(--muted)}
.price-ask-lg{font-size:20px;font-weight:800;color:var(--blue-700);margin:6px 0 4px}

.hero-photo .hv-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1s ease;z-index:0}
.hero-photo .hv-slide.active{opacity:1}
.hero-photo .ov{z-index:1}

.hero-photo{background:#0A1A2F}
.hero h1{font-size:clamp(30px,3.3vw,44px);line-height:1.14;letter-spacing:-.02em}
.hero h1 .hl{line-height:1.14}

/* logo size fix */

.hero-visual{margin-top:0}
@media(max-width:900px){.hero-visual{margin-top:0}}

.hero-inner{grid-template-columns:1fr 1.12fr;gap:60px}
.hero .sub{max-width:560px}

/* Hlavné kategórie — jemné stlmené pozadie (ako padel referencia) */
#kategorie{position:relative;overflow:hidden}
#kategorie::before{content:"";position:absolute;inset:0;background:url(../img/cat-bg.jpg) center/cover no-repeat;opacity:1;pointer-events:none}
#kategorie::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.84) 0%,rgba(255,255,255,.5) 34%,rgba(255,255,255,.58) 100%);pointer-events:none}
#kategorie > .container{position:relative;z-index:2}

/* ===== Full-bleed video hero (padel style) ===== */
.hero-full{position:relative;min-height:82vh;display:flex;align-items:center;overflow:hidden;background:var(--navy);padding:0}
.hero-full .hero-grid-bg{display:none}
.hero-media{position:absolute;inset:0;z-index:0}
.hero-media .hv-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s ease}
.hero-media .hv-slide.active{opacity:1}
.hero-veil{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(10,26,47,.86),rgba(10,26,47,.62) 50%,rgba(10,26,47,.42))}
.hero-full .container{position:relative;z-index:2}
.hero-full-inner{max-width:820px;padding:104px 0}
.hero-full h1{color:#fff;font-size:clamp(34px,4.6vw,56px);line-height:1.12;letter-spacing:-.02em;margin-top:18px}
.hero-full h1 .hl2{color:var(--blue-300)}
.hero-full .sub{color:#dbe5f2;max-width:640px}
.hero-full .pill{background:rgba(255,255,255,.13);color:#fff;border-color:rgba(255,255,255,.24);box-shadow:none}
.hero-full .pill svg{color:var(--blue-300)}
.hero-full .btn-ghost{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.3)}
.hero-full .btn-ghost:hover{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.45)}
.hero-full .trust-strip{border-top-color:rgba(255,255,255,.22)}
.hero-full .trust-strip .ti{color:#fff}
.hero-full .trust-strip .ti svg{color:var(--blue-300)}
@media(max-width:560px){.hero-full{min-height:74vh}.hero-full-inner{padding:72px 0}}

/* ===== Header — všetky položky do jedného riadku, kompaktné ===== */
header.site .nav{gap:12px}
header.site .nav-links{gap:1px;flex-wrap:nowrap}
header.site .nav-links a{font-size:14px;padding:8px 9px;white-space:nowrap}
header.site .nav-cta{gap:8px}
header.site .nav-phone{font-size:13.5px;padding:8px 8px;white-space:nowrap}
header.site .nav-phone svg{width:16px;height:16px}
header.site .nav-cta .btn.btn-primary{padding:9px 16px;font-size:13.5px;white-space:nowrap}
header.site .social-ico{width:36px;height:36px}
@media (max-width:1080px){
  header.site .nav-phone{display:none}
}
@media (max-width:980px){
  header.site .nav-links a{font-size:13px;padding:7px 7px}
  header.site .nav-cta .btn.btn-primary{padding:8px 13px;font-size:13px}
  header.site .social-ico{display:none}
}
