﻿:root { --ink:#101b2b; --blue:#102d64; --blue-deep:#091936; --lime:#a7ce38; --lime-bright:#b9df42; --paper:#f7f8f4; --line:#dfe5df; --muted:#637080; --shell:1160px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; line-height:1.5; }
a { color:inherit; text-decoration:none; }
button { font:inherit; }
.site-shell { width:min(calc(100% - 48px),var(--shell)); margin:0 auto; }
.skip-link { position:fixed; z-index:20; top:-4rem; left:1rem; padding:.65rem 1rem; background:var(--lime); color:var(--blue-deep); font-weight:700; }.skip-link:focus { top:1rem; }
.main-nav { position:relative; z-index:10; background:#fff; border-bottom:1px solid rgba(16,27,43,.08); }.main-nav__inner { min-height:84px; display:flex; align-items:center; justify-content:space-between; gap:2rem; }.brand { display:inline-flex; align-items:center; gap:.7rem; flex-shrink:0; }.brand__logo { display:block; width:176px; height:auto; }.brand__wheel { width:43px; height:43px; border:7px solid var(--ink); border-radius:50%; background:var(--lime); position:relative; display:block; transform:rotate(-18deg); }.brand__wheel:before,.brand__wheel:after,.brand__wheel span { content:""; position:absolute; top:50%; left:50%; width:27px; height:4px; margin:-2px 0 0 -13.5px; background:var(--ink); border-radius:20px; }.brand__wheel:after { transform:rotate(60deg); }.brand__wheel span:nth-child(1) { transform:rotate(120deg); }.brand__wheel span:nth-child(2),.brand__wheel span:nth-child(3) { display:none; }.brand__type { display:grid; line-height:.84; letter-spacing:-.055em; font-style:italic; font-size:1.31rem; }.brand__type strong { color:#ee3f35; }.brand__type em { color:var(--ink); font-weight:800; }.main-nav__menu { display:flex; align-items:center; justify-content:flex-end; gap:2.3rem; flex:1; }.main-nav__links { display:flex; align-items:center; gap:1.65rem; list-style:none; padding:0; margin:0; }.main-nav__link { display:block; padding:.5rem 0; color:#526073; font-size:.94rem; font-weight:700; transition:color .2s; }.main-nav__link:hover,.main-nav__link.is-active { color:var(--blue); }.main-nav__links li:last-child .main-nav__link { color:var(--blue-deep); padding:.66rem 1rem; border-radius:.2rem; background:var(--lime); }.nav-phone { font-size:.9rem; font-weight:800; white-space:nowrap; }.nav-phone span { color:var(--lime); font-size:1.15rem; }.nav-toggle { display:none; border:0; background:transparent; color:var(--blue-deep); cursor:pointer; }
.hero { overflow:hidden; position:relative; color:#fff; background:var(--blue-deep); background-image:linear-gradient(112deg,var(--blue-deep) 0%,var(--blue) 76%,#1d498c 100%); }.hero:after { content:""; position:absolute; width:48vw; height:48vw; min-width:500px; min-height:500px; right:-15vw; top:-18vw; border:1px solid rgba(255,255,255,.1); border-radius:50%; }.hero__grid { position:relative; min-height:540px; display:grid; grid-template-columns:1.05fr .95fr; align-items:center; }.hero__content { position:relative; z-index:2; padding:5.8rem 0; }.eyebrow { margin:0 0 1rem; color:var(--lime); text-transform:uppercase; letter-spacing:.13em; font-size:.73rem; font-weight:800; }.hero h1,.inner-hero h1,.reservation-page h1 { margin:0; font-size:clamp(2.8rem,5vw,5rem); line-height:.98; letter-spacing:-.065em; }.hero h1 span,.inner-hero h1 span,.reservation-page h1 span { color:var(--lime); }.hero__lead { max-width:35rem; margin:1.7rem 0 2rem; color:#d8e1ef; font-size:1.1rem; line-height:1.65; }.hero__actions { display:flex; gap:.85rem; flex-wrap:wrap; }.button { display:inline-flex; align-items:center; justify-content:center; gap:.8rem; min-height:50px; padding:.8rem 1.15rem; border-radius:.22rem; font-weight:800; font-size:.92rem; transition:transform .2s,background .2s; }.button:hover { transform:translateY(-2px); }.button--primary { background:var(--lime); color:var(--blue-deep); }.button--primary:hover { background:var(--lime-bright); }.button--quiet { border:1px solid rgba(255,255,255,.45); color:#fff; }.hero__availability { display:flex; align-items:center; gap:.55rem; margin-top:2.15rem; color:#aebbd1; font-size:.83rem; }.availability-dot { width:.55rem; height:.55rem; border-radius:50%; background:var(--lime); box-shadow:0 0 0 .23rem rgba(167,206,56,.13); }.hero__visual { align-self:stretch; position:relative; z-index:1; }.hero__orb { position:absolute; width:415px; height:415px; top:66px; right:0; border-radius:50%; background:radial-gradient(circle at 35% 30%,#285aa1,#0a1c42 70%); box-shadow:0 0 0 22px rgba(255,255,255,.035),0 0 0 45px rgba(255,255,255,.025); }.hero__tire { position:absolute; width:350px; height:350px; top:91px; right:36px; border-radius:50%; border:35px solid #10151d; background:repeating-conic-gradient(#242b33 0 7deg,#11171e 7deg 14deg); box-shadow:inset 0 0 0 20px #343d48,inset 0 0 0 58px #c9d0d7,inset 0 0 0 80px #50606c,18px 22px 26px rgba(0,0,0,.34); transform:rotate(18deg); }.hero__tire:after { content:""; position:absolute; inset:108px; border-radius:50%; background:#192634; box-shadow:inset 0 0 0 13px #b8c4ce; }.hero__tire span { position:absolute; z-index:1; top:50%; left:50%; width:137px; height:17px; margin:-8.5px 0 0 -68.5px; border-radius:30px; background:linear-gradient(90deg,#8293a0,#f0f3f5,#7c8e9b); }.hero__tire span:nth-child(2) { transform:rotate(60deg); }.hero__tire span:nth-child(3) { transform:rotate(120deg); }.hero__tire span:nth-child(n+4) { display:none; }.hero__label { position:absolute; right:0; bottom:53px; z-index:2; display:grid; padding:1rem 1.2rem; background:var(--lime); color:var(--blue-deep); line-height:1.05; transform:rotate(-5deg); }.hero__label strong { font-size:1.45rem; }.hero__label span { font-weight:700; font-size:.78rem; }
.section { padding:6.5rem 0; }.section-heading { display:flex; justify-content:space-between; gap:3rem; align-items:end; margin-bottom:2.6rem; }.section h2,.reservation-teaser h2,.contact-grid h2 { margin:0; color:var(--blue-deep); font-size:clamp(2rem,3.7vw,3.5rem); line-height:1.04; letter-spacing:-.055em; }.section-heading > p { max-width:24rem; margin:0 0 .35rem; color:var(--muted); }.service-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); }.service-card { padding:1.8rem 2rem 1.3rem 0; border-bottom:1px solid var(--line); }.service-card + .service-card { padding-left:2rem; border-left:1px solid var(--line); }.service-card__number { display:block; color:var(--lime); font-weight:800; font-size:.8rem; }.service-card h3 { margin:2.7rem 0 .45rem; font-size:1.27rem; letter-spacing:-.025em; }.service-card p { margin:0; max-width:16rem; color:var(--muted); font-size:.93rem; }.reservation-teaser { background:var(--lime); }.reservation-teaser__inner { min-height:280px; display:flex; justify-content:space-between; align-items:center; gap:2rem; }.reservation-teaser .eyebrow { color:var(--blue-deep); }.reservation-teaser h2 { font-size:clamp(2.15rem,4vw,3.8rem); }.button--light { color:#fff; background:var(--blue-deep); white-space:nowrap; }
.inner-hero,.reservation-page { padding:6.3rem 0 5.5rem; background:var(--blue-deep); color:#fff; }.inner-hero { background-image:linear-gradient(125deg,var(--blue-deep),var(--blue)); }.narrow-content { max-width:750px; }.intro { max-width:41rem; margin:0 0 2rem; color:#4d5a6a; font-size:1.25rem; line-height:1.65; }.text-link { display:inline-flex; gap:.75rem; color:var(--blue); font-weight:800; }.contact-grid { display:grid; grid-template-columns:1.25fr .75fr; gap:3rem; align-items:start; }.contact-grid h2 { margin:.2rem 0 1.3rem; font-size:clamp(1.85rem,3.3vw,3.2rem); }.contact-grid > div:first-child > p:last-child { color:var(--muted); font-size:1.05rem; }.contact-card { display:grid; gap:.8rem; padding:2rem; background:#fff; border:1px solid var(--line); box-shadow:0 1rem 2.5rem rgba(12,31,54,.06); }.contact-card > a:not(.button) { color:var(--blue); font-weight:800; }.contact-card .button { margin-top:1rem; }.reservation-page { min-height:calc(100vh - 84px - 150px); display:flex; align-items:center; background-image:radial-gradient(circle at 85% 15%,#244f92 0,transparent 28rem),linear-gradient(135deg,var(--blue-deep),var(--blue)); }.reservation-page__inner { padding:3rem 0; }.reservation-page .intro { color:#d1dded; }.reservation-page .button { margin-top:.2rem; }
.site-footer { padding:2.2rem 0; color:#b7c2d1; background:#07142b; }.site-footer__inner { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:2rem; align-items:end; }.footer-brand { color:#fff; font-size:1.05rem; letter-spacing:-.035em; font-style:italic; }.footer-brand strong { color:var(--lime); }.site-footer p { margin:.5rem 0 0; font-size:.81rem; }.site-footer__contact { display:grid; gap:.25rem; font-size:.86rem; font-weight:700; }.site-footer__contact a:hover { color:var(--lime); }.site-footer__address { justify-self:end; text-align:right; }
@media (max-width:850px) { .main-nav__menu { gap:1.15rem; }.main-nav__links { gap:1rem; }.nav-phone { display:none; }.hero__grid { min-height:auto; grid-template-columns:1fr .65fr; }.hero__orb { right:-90px; }.hero__tire { right:-74px; transform:rotate(18deg) scale(.8); transform-origin:center; }.hero__label { right:8px; }.section-heading { align-items:start; flex-direction:column; gap:1.2rem; }.contact-grid { grid-template-columns:1fr; }.site-footer__inner { grid-template-columns:1fr 1fr; }.site-footer__address { justify-self:start; text-align:left; } }
@media (max-width:640px) { .site-shell { width:min(calc(100% - 36px),var(--shell)); }.main-nav__inner { min-height:73px; }.brand__wheel { width:36px; height:36px; border-width:6px; }.brand__logo { width:145px; }.brand__type { font-size:1.08rem; }.nav-toggle { position:relative; z-index:2; display:inline-flex; align-items:center; gap:.55rem; padding:.5rem 0; font-size:.83rem; font-weight:800; }.nav-toggle__icon,.nav-toggle__icon:before,.nav-toggle__icon:after { display:block; width:21px; height:2px; background:currentColor; content:""; }.nav-toggle__icon { position:relative; }.nav-toggle__icon:before { position:absolute; top:-6px; }.nav-toggle__icon:after { position:absolute; top:6px; }.main-nav__menu { position:absolute; left:0; right:0; top:100%; z-index:1; display:none; padding:.75rem max(18px,calc((100vw - var(--shell))/2)); background:#fff; border-bottom:1px solid var(--line); box-shadow:0 1rem 1.5rem rgba(15,27,43,.07); }.main-nav__menu.is-open { display:block; }.main-nav__links { display:grid; gap:0; }.main-nav__link { padding:.85rem 0; border-bottom:1px solid var(--line); }.main-nav__links li:last-child .main-nav__link { display:block; padding:.8rem 1rem; margin:.7rem 0 .2rem; border:0; text-align:center; }.hero__grid { grid-template-columns:1fr; }.hero__content { padding:4.6rem 0 2.4rem; }.hero__visual { height:245px; }.hero__orb { top:0; right:calc(50% - 170px); width:320px; height:320px; }.hero__tire { top:18px; right:calc(50% - 146px); transform:rotate(18deg) scale(.65); }.hero__label { bottom:15px; right:12%; }.hero h1,.inner-hero h1,.reservation-page h1 { font-size:clamp(2.65rem,13vw,4rem); }.hero__lead { font-size:1rem; }.section { padding:4.5rem 0; }.service-grid { grid-template-columns:1fr; }.service-card { padding:1.5rem 0; }.service-card + .service-card { padding-left:0; border-left:0; }.service-card h3 { margin-top:1.4rem; }.reservation-teaser__inner { min-height:300px; padding:3.5rem 0; align-items:flex-start; flex-direction:column; justify-content:center; }.reservation-teaser h2 { font-size:2.35rem; }.button--light { width:100%; }.inner-hero { padding:4.6rem 0 4rem; }.intro { font-size:1.08rem; }.contact-card { padding:1.5rem; }.site-footer__inner { grid-template-columns:1fr; gap:1.3rem; }.site-footer__address { margin-top:0; }.reservation-page { min-height:calc(100vh - 73px); } }



/* Skutečné logo a produktový obrázek v hero části. */
.brand { position:relative; z-index:12; align-self:flex-start; margin-top:2px; }
.brand__logo { width:280px; max-width:none; }
.hero__image { position:absolute; z-index:2; top:72px; right:8px; width:500px; filter:drop-shadow(18px 24px 18px rgba(0,0,0,.28)); }
.hero__image img { display:block; width:100%; height:auto; }
.hero__tire { display:none; }

@media (max-width:850px) {
  .brand__logo { width:220px; }
  .hero__image { top:96px; right:-88px; width:430px; }
}

@media (max-width:640px) {
  .main-nav__inner { min-height:78px; }
  .brand__logo { width:165px; }
  .hero__image { top:16px; right:calc(50% - 160px); width:320px; }
}

/* Hlavní výzva k online rezervaci v úvodním hero panelu. */
.hero .button--primary { background:#FF7200; color:#fff; }
.hero .button--primary:hover { background:#E86500; }

/* Číslování služeb v úvodním přehledu. */
.service-card__number { display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:50%; background:#FF7200; color:#fff; font-size:.76rem; line-height:1; }

/* Kompaktnější dekorativní body nad službami. */
.service-card__number { width:18px; height:18px; }
.service-card h3 { margin-top:.65rem; }
/* Mapa a navigace na stránce kontaktu. */
.contact-map { position:relative; overflow:hidden; margin-top:3rem; border:1px solid var(--line); background:#eef2f6; box-shadow:0 1rem 2.5rem rgba(12,31,54,.06); }
.contact-map iframe { display:block; width:100%; height:520px; border:0; }
.contact-navigation { display:none; }
@media (max-width:640px) {
  .contact-map { margin-top:2rem; }
  .contact-map iframe { height:390px; }
  .contact-navigation { display:flex; width:100%; margin-top:1rem; min-height:50px; padding:.8rem 1rem; }
}



/* Obsah ceníku spravovaný v administraci. */
.price-list { margin:0 0 2rem; color:#4d5a6a; font-size:1.12rem; line-height:1.65; }
.price-list > :first-child { margin-top:0; }
.price-list > :last-child { margin-bottom:0; }
.price-list h2,.price-list h3 { color:var(--blue-deep); line-height:1.15; letter-spacing:-.03em; }
.price-list h2 { margin:2rem 0 .75rem; font-size:1.7rem; }
.price-list h3 { margin:1.5rem 0 .55rem; font-size:1.25rem; }
.price-list p { margin:.75rem 0; }
.price-list ul,.price-list ol { padding-left:1.3rem; }
.price-list a { color:var(--blue); font-weight:800; text-decoration:underline; }
