/* ===== Bestclean24 — Sprzątanie po zgonie Szczecin ===== */

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif;
  font-size:17px;line-height:1.6;color:#1a2434;background:#fff;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
img{max-width:100%;height:auto;display:block}
a{color:#0a3d62;text-decoration:none}
a:hover{text-decoration:underline}
:focus-visible{outline:3px solid #ffc107;outline-offset:2px;border-radius:6px}
h1,h2,h3{line-height:1.2;color:#0a1d2c;margin:0 0 .6em}
h1{font-size:clamp(1.9rem,3.5vw + 1rem,3rem);letter-spacing:-.02em}
h2{font-size:clamp(1.5rem,1.8vw + 1rem,2.2rem);letter-spacing:-.01em}
h3{font-size:1.15rem}
p{margin:.4em 0 1em}

.container{width:100%;max-width:1200px;margin:0 auto;padding:0 20px}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:-9999px;top:8px;background:#0a3d62;color:#fff;padding:10px 14px;border-radius:6px;z-index:1000}
.skip-link:focus{left:8px}

/* ===== HEADER ===== */
.topbar{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.95);backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid #eef1f5}
.topbar__inner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px}
.brand{display:flex;align-items:center;gap:10px;color:#0a1d2c;font-weight:700;text-decoration:none}
.brand__mark{display:inline-grid;place-items:center;width:38px;height:38px;background:#0a3d62;color:#fff;border-radius:10px;font-size:13px;letter-spacing:.5px}
.brand__name{display:flex;flex-direction:column;line-height:1.1;font-size:18px}
.brand__sub{font-weight:500;color:#5b6b80;font-size:12px;letter-spacing:.04em;text-transform:uppercase}
.nav{display:none;gap:22px}
.nav a{color:#3a4a60;font-weight:500;font-size:15px}
.nav a:hover{color:#0a3d62;text-decoration:none}

.cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border-radius:10px;font-weight:600;text-decoration:none;transition:transform .15s ease,box-shadow .2s ease,background .2s ease;line-height:1;border:2px solid transparent;cursor:pointer;font-size:15px}
.cta--phone{background:#0a3d62;color:#fff;padding:10px 14px;font-size:14px}
.cta--phone:hover{background:#0c4e7d;text-decoration:none}
.cta--primary{background:linear-gradient(180deg,#e74c3c,#c0392b);color:#fff;box-shadow:0 6px 18px rgba(192,57,43,.35)}
.cta--primary:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(192,57,43,.45);text-decoration:none}
.cta--ghost{background:#fff;color:#0a3d62;border-color:#0a3d62}
.cta--ghost:hover{background:#eaf3fb;text-decoration:none}
.cta--big{padding:16px 22px;font-size:17px}

/* ===== HERO ===== */
.hero{position:relative;padding:48px 0 56px;background:
  radial-gradient(800px 400px at 90% 0%, rgba(10,61,98,.08), transparent 60%),
  radial-gradient(600px 300px at 0% 100%, rgba(231,76,60,.06), transparent 60%),
  linear-gradient(180deg,#f7fafd,#fff)
}
.hero__grid{display:grid;grid-template-columns:1fr;gap:28px}
.hero__badge{display:inline-block;background:#fff3cd;color:#8a6d00;border:1px solid #ffe69c;padding:6px 12px;border-radius:999px;font-weight:600;font-size:13px;margin:0 0 14px}
.hero__bluf{font-size:1.05rem;color:#2b3a52;max-width:60ch}
.hero__usp{list-style:none;padding:0;margin:18px 0 22px;display:grid;gap:8px}
.hero__usp li{position:relative;padding-left:28px;color:#2b3a52}
.hero__usp li::before{content:"";position:absolute;left:0;top:8px;width:18px;height:18px;background:#0a3d62 url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='white' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/></svg>") center/14px no-repeat;border-radius:50%}
.hero__ctas{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:18px}
.trust{display:flex;flex-wrap:wrap;gap:8px 14px;color:#5b6b80;font-size:14px}

/* ===== KALKULATOR ===== */
.calc{background:#fff;border:1px solid #e6ecf2;border-radius:18px;padding:24px;box-shadow:0 18px 50px -20px rgba(10,29,44,.25);position:relative}
.calc::before{content:"WYCENA 24/7";position:absolute;top:-12px;right:18px;background:#e74c3c;color:#fff;padding:5px 12px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.08em}
.calc__title{font-size:1.3rem;margin:0 0 6px}
.calc__sub{font-size:14px;color:#5b6b80;margin:0 0 16px}
.calc__form{display:grid;gap:12px}
.calc__row{display:grid;gap:6px;font-size:14px;font-weight:600;color:#2b3a52}
.calc__row input,.calc__row select{width:100%;padding:12px 14px;border:1px solid #cdd6e2;border-radius:10px;font-size:15px;background:#fff;font-family:inherit;color:#1a2434;font-weight:500}
.calc__row input:focus,.calc__row select:focus{border-color:#0a3d62;outline:none;box-shadow:0 0 0 3px rgba(10,61,98,.15)}
.calc__row--checks legend{font-weight:600;color:#2b3a52;margin-bottom:6px;font-size:14px}
.calc__row--checks{display:grid;gap:8px;border:0;padding:0}
.calc__row--checks label{display:flex;align-items:center;gap:8px;font-weight:500;font-size:14px;color:#2b3a52;cursor:pointer}
.calc__row--checks input{width:18px;height:18px;accent-color:#0a3d62}
.calc__result{background:linear-gradient(135deg,#0a3d62,#114c79);color:#fff;border-radius:12px;padding:16px;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;margin-top:6px}
.calc__label{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.06em;opacity:.85;font-weight:600;margin-bottom:2px}
.calc__price strong{font-size:1.5rem;font-weight:800}
.calc__dash{margin:0 4px;opacity:.7}
.calc__time{text-align:right}
.calc__time strong{font-size:1.05rem;font-weight:700}
.calc__ctas{display:grid;gap:8px;grid-template-columns:1fr 1fr;margin-top:6px}
.calc__ctas .cta{padding:12px 12px;font-size:14px}
.calc__note{font-size:12px;color:#7a8aa1;margin:6px 0 0;text-align:center}

/* ===== SECTIONS ===== */
.section{padding:64px 0}
.section--alt{background:#f7fafd;border-top:1px solid #eef1f5;border-bottom:1px solid #eef1f5}
.section--cta{background:linear-gradient(135deg,#0a3d62,#0c4e7d);color:#fff;padding:56px 0}
.section--cta h2,.section--cta a{color:#fff}
.lead{font-size:1.05rem;color:#3a4a60;max-width:75ch}

/* ===== GRID CARDS ===== */
.grid{display:grid;gap:18px;margin-top:24px}
.grid--3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.grid--4{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.card{background:#fff;border:1px solid #e6ecf2;border-radius:14px;padding:22px;transition:transform .2s,box-shadow .2s}
.card:hover{transform:translateY(-3px);box-shadow:0 18px 40px -22px rgba(10,29,44,.3)}
.card h3{margin-bottom:8px;color:#0a3d62}
.card p{color:#3a4a60;font-size:15px;margin:0 0 12px}
.card__tag{display:inline-block;background:#eaf3fb;color:#0a3d62;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600}
.feat{background:#fff;border:1px solid #e6ecf2;border-radius:14px;padding:18px;text-align:center}
.feat strong{display:block;color:#0a3d62;font-size:1.4rem;font-weight:800;margin-bottom:4px}
.feat span{color:#5b6b80;font-size:14px}

/* ===== STEPS ===== */
.steps{counter-reset:step;list-style:none;padding:0;margin:24px 0 0;display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.steps li{position:relative;background:#fff;border:1px solid #e6ecf2;border-radius:14px;padding:22px 22px 22px 64px}
.steps__num{position:absolute;left:18px;top:22px;width:34px;height:34px;display:grid;place-items:center;background:#0a3d62;color:#fff;border-radius:50%;font-weight:800}
.steps h3{margin-bottom:6px;color:#0a3d62;font-size:1.05rem}
.steps p{color:#3a4a60;font-size:15px;margin:0}

/* ===== GALLERY ===== */
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin-top:24px}
.gallery figure{margin:0;background:#fff;border:1px solid #e6ecf2;border-radius:14px;overflow:hidden;transition:transform .2s,box-shadow .2s}
.gallery figure:hover{transform:translateY(-3px);box-shadow:0 18px 40px -22px rgba(10,29,44,.3)}
.gallery img{aspect-ratio:3/2;object-fit:cover;width:100%;background:#eef1f5}
.gallery figcaption{padding:12px 16px;font-size:14px;color:#3a4a60}

/* ===== AREAS ===== */
.areas{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin-top:24px}
.areas>div{background:#fff;border:1px solid #e6ecf2;border-radius:14px;padding:22px}
.areas h3{color:#0a3d62}
.areas ul{margin:0;padding-left:18px;color:#3a4a60}
.areas li{margin:4px 0}

/* ===== PRICING TABLE ===== */
.table-wrap{overflow-x:auto;margin-top:18px;background:#fff;border:1px solid #e6ecf2;border-radius:14px}
.pricing{width:100%;border-collapse:collapse;font-size:15px;min-width:480px}
.pricing th,.pricing td{padding:14px 18px;text-align:left;border-bottom:1px solid #eef1f5}
.pricing thead th{background:#0a3d62;color:#fff;font-weight:600;font-size:14px;letter-spacing:.02em}
.pricing tbody th{font-weight:600;color:#0a1d2c}
.pricing tbody tr:hover{background:#f7fafd}
.pricing tbody tr:last-child td,.pricing tbody tr:last-child th{border-bottom:0}

/* ===== FAQ ===== */
.faq{background:#fff;border:1px solid #e6ecf2;border-radius:12px;padding:0;margin:10px 0;overflow:hidden}
.faq summary{padding:16px 20px;cursor:pointer;font-weight:600;color:#0a3d62;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.4rem;color:#0a3d62;transition:transform .2s;line-height:1}
.faq[open] summary::after{transform:rotate(45deg)}
.faq p{padding:0 20px 16px;color:#3a4a60;margin:0;font-size:15px}

/* ===== KONTAKT ===== */
.kontakt{display:grid;grid-template-columns:1fr;gap:28px;align-items:center}
.kontakt__copy h2{margin-bottom:8px}
.kontakt__copy p{color:#cfe1f2;font-size:1.05rem;margin-bottom:18px}
.kontakt__ctas{display:flex;flex-wrap:wrap;gap:12px}
.kontakt__note{color:#cfe1f2;font-size:14px;margin:14px 0 0;max-width:46ch}
.kontakt__nap{font-style:normal;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:14px;padding:22px;color:#eaf3fb;line-height:1.8}
.kontakt__nap a{color:#fff;font-weight:600}

/* ===== FOOTER ===== */
.footer{background:#0a1d2c;color:#cfd9e6;padding:36px 0;font-size:14px}
.footer__inner{display:grid;gap:14px;text-align:left}
.footer__links{display:flex;flex-wrap:wrap;gap:14px}
.footer__links a{color:#cfd9e6}
.footer__copy{color:#7a8aa1}

/* ===== FLOATING CALL BUTTON (mobile) ===== */
.float-call{position:fixed;bottom:18px;right:18px;width:56px;height:56px;border-radius:50%;background:#e74c3c;color:#fff;display:grid;place-items:center;box-shadow:0 12px 30px rgba(231,76,60,.45);z-index:99;animation:pulse 2s infinite}
.float-call:hover{background:#c0392b;text-decoration:none}
@keyframes pulse{0%{box-shadow:0 12px 30px rgba(231,76,60,.45),0 0 0 0 rgba(231,76,60,.6)}70%{box-shadow:0 12px 30px rgba(231,76,60,.45),0 0 0 18px rgba(231,76,60,0)}100%{box-shadow:0 12px 30px rgba(231,76,60,.45),0 0 0 0 rgba(231,76,60,0)}}

/* ===== RESPONSIVE ===== */
@media (min-width:768px){
  .nav{display:flex}
  .hero{padding:72px 0 80px}
  .hero__grid{grid-template-columns:1.1fr .9fr;gap:48px;align-items:start}
  .footer__inner{grid-template-columns:2fr 1fr 1fr;align-items:center;text-align:left}
  .kontakt{grid-template-columns:1.4fr 1fr;gap:48px}
  .section{padding:88px 0}
}
@media (min-width:1024px){
  body{font-size:18px}
  .hero__copy{padding-right:20px}
}
@media (max-width:520px){
  .topbar__inner{padding:10px 16px}
  .brand__name{font-size:16px}
  .brand__sub{display:none}
  .cta--phone span{display:none}
  .cta--phone{padding:10px;width:42px;height:42px;border-radius:50%;justify-content:center}
  .calc__ctas{grid-template-columns:1fr}
}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
}
