*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:#121826;background:#f5f7fb}a{color:inherit}.container{width:min(1180px,92%);margin:auto}.topbar{position:sticky;top:0;z-index:50;background:rgba(11,18,32,.9);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.08)}.nav{display:flex;align-items:center;justify-content:space-between;padding:16px 0;color:#fff}.brand{display:flex;align-items:center;gap:12px;font-weight:900;letter-spacing:.3px}.brand-mark{width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,#d9232e,#ff8a00);display:grid;place-items:center;color:#fff;font-weight:900}.nav-links{display:flex;gap:22px;align-items:center;font-size:14px}.nav-links a{text-decoration:none;opacity:.9}.nav-links a:hover{opacity:1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:14px;padding:13px 20px;font-weight:800;text-decoration:none;cursor:pointer;transition:.2s;background:#d9232e;color:#fff;box-shadow:0 12px 32px rgba(217,35,46,.28)}.btn:hover{transform:translateY(-1px)}.btn.secondary{background:#fff;color:#0b1220;box-shadow:none}.btn.ghost{background:transparent;border:1px solid rgba(255,255,255,.22);box-shadow:none;color:#fff}.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 20% 0%,rgba(217,35,46,.35),transparent 28%),linear-gradient(135deg,#0b1220,#161d2d);color:#fff}.hero-inner{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;min-height:720px;padding:70px 0}.eyebrow{display:inline-flex;gap:8px;align-items:center;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:8px 13px;font-size:13px;color:#eaf0ff}.hero h1{font-size:clamp(42px,6vw,78px);line-height:.96;margin:18px 0}.hero p{font-size:18px;line-height:1.7;color:#c9d3e6;max-width:620px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:36px}.stat{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:18px}.stat strong{display:block;font-size:26px}.visual-card{position:relative;min-height:510px;border-radius:36px;background:linear-gradient(145deg,#fefefe,#cbd5e1);box-shadow:0 40px 100px rgba(0,0,0,.35);overflow:hidden}.car-shape{position:absolute;left:8%;right:8%;bottom:24%;height:160px;background:linear-gradient(135deg,#f8fafc,#94a3b8);border-radius:80px 110px 34px 34px;box-shadow:0 25px 50px rgba(0,0,0,.24)}.car-shape:before{content:"";position:absolute;left:20%;top:-80px;width:46%;height:95px;background:linear-gradient(135deg,#e2e8f0,#64748b);border-radius:90px 100px 0 0}.wheel{position:absolute;bottom:-30px;width:78px;height:78px;border-radius:50%;background:#111827;border:14px solid #334155}.wheel.one{left:16%}.wheel.two{right:16%}.foam{position:absolute;width:110px;height:110px;border-radius:50%;background:rgba(255,255,255,.88);filter:blur(1px);animation:float 5s infinite ease-in-out}.foam.f1{left:14%;top:16%}.foam.f2{right:16%;top:23%;width:72px;height:72px;animation-delay:1s}.foam.f3{left:52%;top:9%;width:54px;height:54px;animation-delay:1.8s}.spark{position:absolute;right:26px;top:26px;background:#0b1220;color:#fff;border-radius:22px;padding:18px;width:210px}.spark b{color:#ffcf33}@keyframes float{50%{transform:translateY(-18px)}}section{padding:86px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:34px}.section-head h2{font-size:clamp(30px,4vw,48px);margin:0;color:#0b1220}.section-head p{max-width:560px;color:#64748b;line-height:1.7}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:#fff;border:1px solid #e6ecf5;border-radius:24px;padding:26px;box-shadow:0 18px 55px rgba(15,23,42,.06)}.service-card{position:relative;overflow:hidden}.service-card:after{content:"";position:absolute;right:-40px;top:-40px;width:110px;height:110px;border-radius:50%;background:rgba(217,35,46,.08)}.price{display:inline-flex;background:#fff1f2;color:#c81e2a;border-radius:999px;padding:8px 12px;font-weight:900;margin:12px 0}.service-card h3,.card h3{margin:0 0 8px}.service-card p{color:#64748b;line-height:1.65}.booking-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:26px;align-items:start}.booking-panel{background:#0b1220;color:#fff;border-radius:30px;padding:30px;position:sticky;top:96px}.booking-panel p{color:#cbd5e1;line-height:1.7}.form{display:grid;gap:14px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.field label{display:block;font-size:13px;font-weight:800;margin-bottom:7px;color:#334155}.booking-panel .field label{color:#e2e8f0}input,select,textarea{width:100%;border:1px solid #dbe4ef;border-radius:14px;padding:13px 14px;font:inherit;background:#fff;color:#0b1220}textarea{min-height:110px;resize:vertical}.slots{display:flex;flex-wrap:wrap;gap:10px;margin-top:7px}.slot{border:1px solid #dbe4ef;border-radius:12px;background:#fff;padding:10px 12px;cursor:pointer;font-weight:800}.slot.active{background:#d9232e;color:#fff;border-color:#d9232e}.slot.disabled{opacity:.45;cursor:not-allowed}.notice{border-radius:16px;padding:14px 16px;margin:14px 0;display:none}.notice.ok{display:block;background:#ecfdf3;color:#027a48}.notice.bad{display:block;background:#fff1f3;color:#c01048}.gallery-filter{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px}.chip{border:1px solid #dbe4ef;background:#fff;border-radius:999px;padding:10px 14px;cursor:pointer;font-weight:800}.chip.active{background:#0b1220;color:#fff;border-color:#0b1220}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.gallery-item{height:220px;border-radius:22px;overflow:hidden;background:#dbe4ef;position:relative}.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:.25s}.gallery-item:hover img{transform:scale(1.05)}.gallery-item span{position:absolute;left:12px;bottom:12px;background:rgba(11,18,32,.8);color:#fff;border-radius:999px;padding:7px 10px;font-size:12px}.contact{background:#0b1220;color:#fff}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.contact a{text-decoration:none}.contact .card{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1);color:#fff}.contact .card p{color:#cbd5e1}.footer{padding:28px 0;background:#070b14;color:#94a3b8}.mobile-toggle{display:none;background:transparent;border:0;color:#fff;font-size:28px}@media(max-width:900px){.mobile-toggle{display:block}.nav-links{position:absolute;left:0;right:0;top:74px;display:none;flex-direction:column;background:#0b1220;padding:18px}.nav-links.open{display:flex}.hero-inner,.booking-wrap,.contact-grid{grid-template-columns:1fr}.visual-card{min-height:390px}.cards{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,1fr)}.stats,.form-grid{grid-template-columns:1fr}.section-head{display:block}}@media(max-width:520px){.gallery-grid{grid-template-columns:1fr}.hero-inner{padding:44px 0}.hero h1{font-size:40px}.section{padding:58px 0}}

/* v1.0.4 - BroCar Autoumývareň logo na hlavnej obrazovke */
.brand-logo{width:62px;height:62px;object-fit:contain;display:block;filter:drop-shadow(0 8px 18px rgba(0,0,0,.35))}.brand span{font-size:18px;line-height:1.12}.visual-card.brand-visual{display:grid;place-items:center;min-height:510px;padding:34px;background:radial-gradient(circle at 50% 35%,rgba(59,130,246,.18),transparent 32%),radial-gradient(circle at 30% 20%,rgba(255,255,255,.18),transparent 24%),linear-gradient(145deg,#050911,#131b2b);border:1px solid rgba(255,255,255,.12);box-shadow:0 40px 100px rgba(0,0,0,.42)}.hero-logo{width:min(88%,460px);height:auto;max-height:430px;object-fit:contain;filter:drop-shadow(0 26px 42px rgba(0,0,0,.42))}.brand-visual .spark{right:26px;top:26px;background:rgba(8,12,22,.82);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.16)}@media(max-width:900px){.brand-logo{width:54px;height:54px}.brand span{font-size:16px}.hero-logo{width:min(88%,360px);max-height:330px}.visual-card.brand-visual{min-height:390px}}@media(max-width:520px){.brand{gap:8px}.brand-logo{width:48px;height:48px}.brand span{font-size:14px;max-width:165px}.hero-logo{width:min(92%,300px)}}


/* v1.0.8 - Chrome/Safari hero layout stabilizálás */
.hero-inner{
    grid-template-columns:minmax(0,1.03fr) minmax(340px,.97fr);
    width:100%;
}
.hero-inner > *{min-width:0;max-width:100%;}
.brand-visual,
.visual-card.brand-visual{
    width:100%;
    max-width:100%;
    min-width:0;
    overflow:hidden;
    isolation:isolate;
    contain:layout paint;
}
.hero-logo{
    display:block;
    width:min(82%,430px);
    max-width:100%;
    height:auto;
    max-height:400px;
    flex:0 1 auto;
}
.brand-visual .spark{
    z-index:2;
    max-width:min(210px,42%);
    box-sizing:border-box;
}
.brand{
    min-width:0;
    max-width:100%;
}
.brand span{
    min-width:0;
    overflow-wrap:anywhere;
}
.nav-links{min-width:0;}
@media(max-width:1050px){
    .hero-inner{grid-template-columns:1fr;gap:28px;min-height:auto;padding:54px 0 70px;}
    .visual-card.brand-visual{min-height:440px;}
    .hero-logo{width:min(78%,390px);max-height:360px;}
}
@media(max-width:900px){
    .hero-inner{grid-template-columns:1fr;}
    .brand-visual .spark{right:18px;top:18px;max-width:190px;padding:14px;font-size:14px;}
}
@media(max-width:620px){
    .visual-card.brand-visual{min-height:330px;border-radius:26px;padding:22px;}
    .hero-logo{width:min(88%,280px);max-height:275px;}
    .brand-visual .spark{position:static;width:100%;max-width:100%;margin-top:14px;text-align:center;}
}

/* v1.0.9 - moderný rezervačný kalendár */
.booking-section-modern{background:#f7f8fb;padding:92px 0}.booking-modern-form{display:grid;gap:24px}.booking-card-modern{background:#fff;border:1px solid #edf0f5;border-radius:24px;padding:34px 36px;box-shadow:0 18px 55px rgba(15,23,42,.08)}.booking-date-card{padding-top:30px}.booking-title-block{text-align:center;margin-bottom:26px}.booking-title-block h2{margin:0;color:#090b12;font-size:clamp(24px,3vw,30px);letter-spacing:6px;line-height:1.25}.booking-title-block p{margin:12px auto 0;max-width:680px;color:#667085;line-height:1.55}.booking-title-block.compact{margin-bottom:28px}.booking-eyebrow{background:#fff4f4;color:#d9232e;border-color:#fee2e2;margin-bottom:14px}.booking-service-row{width:min(560px,100%);margin:0 auto 34px}.booking-service-row label{display:block;font-size:13px;font-weight:900;color:#475467;margin-bottom:8px}.booking-service-row select{height:54px;border-radius:16px;border-color:#d9e0ea;color:#101828;font-weight:700;background:#fff}.booking-picker-grid{display:grid;grid-template-columns:minmax(330px,.95fr) minmax(340px,1.05fr);gap:42px;align-items:start}.calendar-panel{width:100%;max-width:560px;margin:0 auto}.calendar-head-modern{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;margin-bottom:22px}.calendar-month-title{display:flex;align-items:baseline;justify-content:center;gap:34px;font-size:19px;color:#0b1220}.calendar-month-title strong{font-weight:600}.calendar-month-title span{color:#777b85}.calendar-arrow{width:40px;height:40px;border:0;background:#fff;color:#111827;font-size:30px;line-height:1;border-radius:12px;cursor:pointer}.calendar-arrow:hover{background:#f2f4f7}.calendar-arrow:disabled{opacity:.25;cursor:not-allowed}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;margin-bottom:14px}.calendar-weekdays span{text-align:center;font-size:13px;font-weight:950;letter-spacing:.8px;color:#080a0f}.calendar-days-modern{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}.calendar-day{height:42px;border:0;border-radius:8px;background:#fff;color:#252a33;font-weight:800;cursor:pointer;transition:.16s}.calendar-day:hover:not(:disabled){background:#eef4ff;color:#2563eb}.calendar-day.selected{background:#2f80ed;color:#fff;box-shadow:0 8px 22px rgba(47,128,237,.22)}.calendar-day.today:not(.selected){box-shadow:inset 0 0 0 2px #2f80ed;color:#2f80ed}.calendar-day.muted{color:#a8b0c6}.calendar-day:disabled{color:#c4cada;background:#fff;cursor:not-allowed;text-decoration:line-through;text-decoration-thickness:1px}.time-panel{display:grid;gap:26px;align-content:start}.time-period h3{margin:0 0 9px;color:#05070c;font-size:14px;letter-spacing:.5px;font-weight:950}.slots-modern{display:flex;flex-wrap:wrap;gap:10px;margin-top:0}.slot-modern-btn,.slots-modern .slot{min-width:74px;height:42px;border:1px solid #e1e7f0;border-radius:7px;background:#fff;color:#111827;padding:0 16px;font-size:16px;font-weight:500;box-shadow:none}.slot-modern-btn:hover,.slots-modern .slot:hover{border-color:#2f80ed;background:#f4f8ff}.slot-modern-btn.active,.slots-modern .slot.active{background:#2f80ed;border-color:#2f80ed;color:#fff}.slots-modern .help{display:inline-flex;align-items:center;min-height:42px;color:#8a93a6;font-weight:600}.slots-hidden{display:none!important}.booking-data-card{padding:34px 36px}.customer-grid-modern{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:16px}.field.floating{margin-bottom:16px}.field.floating input,.field.floating textarea{border:1px solid #d8dfeb;border-radius:15px;background:#fff;padding:17px 18px;font-size:16px;color:#111827;box-shadow:none}.field.floating input::placeholder,.field.floating textarea::placeholder{color:#697287}.field.floating textarea{min-height:120px}.booking-summary-modern{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin:18px 0 22px}.booking-summary-modern div{border:1px solid #cfd6e3;border-radius:16px;padding:16px 20px;background:#fff}.booking-summary-modern small{display:block;color:#848b99;font-weight:700;margin-bottom:4px}.booking-summary-modern strong{display:block;color:#545963;font-size:17px}.booking-submit{width:100%;min-height:54px;border-radius:16px;font-size:16px}.booking-data-card .notice{margin:6px 0 16px}@media(max-width:1020px){.booking-picker-grid{grid-template-columns:1fr;gap:34px}.calendar-panel{max-width:640px}.customer-grid-modern{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.booking-section-modern{padding:62px 0}.booking-card-modern{padding:24px 18px;border-radius:20px}.booking-title-block h2{letter-spacing:3px;font-size:22px}.calendar-days-modern,.calendar-weekdays{gap:6px}.calendar-day{height:38px}.calendar-month-title{gap:18px}.customer-grid-modern,.booking-summary-modern{grid-template-columns:1fr}.slot-modern-btn,.slots-modern .slot{min-width:70px;font-size:15px}.booking-picker-grid{gap:26px}}@media(max-width:420px){.calendar-weekdays span{font-size:11px}.calendar-days-modern,.calendar-weekdays{gap:4px}.calendar-day{height:34px;font-size:13px}.calendar-head-modern{grid-template-columns:36px 1fr 36px}.calendar-arrow{width:34px;height:34px}.calendar-month-title{font-size:16px;gap:12px}.slots-modern{gap:8px}.slot-modern-btn,.slots-modern .slot{min-width:64px;height:39px;padding:0 12px}}

/* v1.1.0 - kompaktnejšia hlavná obrazovka / Chrome + Safari */
.hero .container.hero-inner{
    width:min(1320px, calc(100% - 96px));
    max-width:1320px;
    margin-left:auto;
    margin-right:auto;
    padding:64px 0 70px;
    min-height:640px;
    gap:46px;
    grid-template-columns:minmax(0, .96fr) minmax(390px, .92fr);
}
.hero h1{
    font-size:clamp(44px,4.9vw,68px);
    max-width:720px;
    letter-spacing:-1.6px;
}
.hero p{
    max-width:600px;
}
.hero-actions{
    margin-top:26px;
}
.stats{
    max-width:660px;
    gap:14px;
    margin-top:34px;
}
.visual-card.brand-visual{
    max-width:620px;
    min-height:500px;
    justify-self:end;
}
.hero-logo{
    width:min(76%,390px);
    max-height:360px;
}
.brand-visual .spark{
    right:24px;
    top:24px;
    max-width:205px;
}
@media(min-width:1500px){
    .hero .container.hero-inner{
        width:min(1360px, calc(100% - 140px));
        grid-template-columns:minmax(0, .94fr) minmax(430px, .9fr);
        gap:54px;
    }
    .visual-card.brand-visual{max-width:660px;}
}
@media(max-width:1180px){
    .hero .container.hero-inner{
        width:min(1120px, calc(100% - 56px));
        grid-template-columns:minmax(0,1fr) minmax(340px,.9fr);
        gap:32px;
        min-height:610px;
    }
    .hero h1{font-size:clamp(42px,5.2vw,60px);}
    .visual-card.brand-visual{min-height:455px;}
    .hero-logo{width:min(76%,350px);max-height:330px;}
}
@media(max-width:1050px){
    .hero .container.hero-inner{
        width:min(820px, calc(100% - 42px));
        grid-template-columns:1fr;
        gap:28px;
        min-height:auto;
        padding:54px 0 62px;
    }
    .visual-card.brand-visual{
        justify-self:stretch;
        max-width:100%;
        min-height:420px;
    }
    .hero-logo{width:min(72%,360px);max-height:340px;}
    .stats{max-width:100%;}
}
@media(max-width:620px){
    .hero .container.hero-inner{
        width:min(100% - 28px, 560px);
        padding:42px 0 50px;
    }
    .hero h1{font-size:clamp(36px,10vw,48px);letter-spacing:-1px;}
    .hero p{font-size:16px;}
    .visual-card.brand-visual{min-height:330px;}
    .hero-logo{width:min(84%,285px);max-height:280px;}
}
