/*
Theme Name: Fest Cool
Theme URI: https://klimatyzacja.festcool.pl
Author: Fest Cool
Description: Motyw WordPress dla Fest Cool — sprzedaż i montaż klimatyzacji. Sekcje strony głównej (hero, promocja, marki, jak działamy, opinie, kontakt) oraz osobne podstrony Cennik i Poradnik są edytowalne z panelu wp-admin (Ustawienia Fest Cool, typy treści „Cennik” i „Opinie”, zwykłe Wpisy dla Poradnika). Wymaga wtyczki Advanced Custom Fields (bezpłatna).
Version: 2.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: fest-cool
*/

  :root{
    --paper:#ffffff;
    --paper-2:#f6f7fb;
    --paper-3:#eef0f8;
    --ink:#0b0b13;
    --ink-2:#151521;
    --text:#14141f;
    --text-muted:#6b6f80;
    --text-soft:#9396a3;
    --line:#e7e8f1;
    --line-2:#dcdeeb;
    --cyan:#38bdf8;
    --cyan-2:#7dd3fc;
    --magenta:#1d4ed8;
    --magenta-2:#60a5fa;
    --grad-1:#38bdf8;
    --grad-2:#2563eb;
    --grad-3:#1d4ed8;
    --text-inverse:#ffffff;
    --text-inverse-muted:rgba(255,255,255,.72);
    --radius:20px;
    --radius-sm:13px;
    --radius-pill:999px;
    --shadow:0 1px 2px rgba(20,20,35,.04), 0 20px 44px -22px rgba(20,20,35,.20);
    --shadow-lg:0 30px 70px -30px rgba(20,20,35,.28);
    color-scheme: light;
  }

  *,*::before,*::after{ box-sizing:border-box; }
  html{ scroll-behavior:smooth; }
  @media (prefers-reduced-motion: reduce){
    html{ scroll-behavior:auto; }
    *,*::before,*::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
  }
  body{
    margin:0;
    background:var(--paper);
    color:var(--text);
    font-family:var(--f-body), ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
    font-size:16px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  img,svg{ max-width:100%; display:block; }
  a{ color:inherit; }
  h1,h2,h3,h4{ font-family:var(--f-body), ui-sans-serif, system-ui, sans-serif; font-weight:700; letter-spacing:-.01em; text-wrap:balance; margin:0; line-height:1.14; color:var(--text); }
  .mono{ font-family:var(--f-body),sans-serif; }
  .container{ max-width:1180px; margin:0 auto; padding:0 24px; position:relative; }
  section{ scroll-margin-top:88px; position:relative; }
  .eyebrow{ font-family:var(--f-body),sans-serif; font-size:12px; letter-spacing:.13em; text-transform:uppercase; font-weight:600; background:linear-gradient(120deg,var(--grad-1),var(--grad-3)); -webkit-background-clip:text; background-clip:text; color:transparent; display:inline-flex; align-items:center; gap:9px; }
  .eyebrow::before{ content:""; width:18px; height:2px; border-radius:2px; background:linear-gradient(120deg,var(--grad-1),var(--grad-3)); display:inline-block; }
  .lede{ color:var(--text-muted); font-size:1.06rem; max-width:56ch; line-height:1.65; }
  .grad-text{ background:linear-gradient(120deg,var(--grad-1) 10%,var(--grad-2) 55%,var(--grad-3) 95%); -webkit-background-clip:text; background-clip:text; color:transparent; }
  .visually-hidden{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }

  /* glow blobs */
  .blob{ position:absolute; border-radius:50%; filter:blur(60px); pointer-events:none; z-index:0; }

  /* buttons */
  .btn{ font-family:var(--f-body),sans-serif; font-weight:600; font-size:15px; text-decoration:none; display:inline-flex; align-items:center; justify-content:center; gap:9px; padding:15px 28px; border-radius:var(--radius-pill); border:1px solid transparent; cursor:pointer; transition:transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease, color .18s ease; position:relative; }
  .btn:focus-visible{ outline:2px solid var(--magenta); outline-offset:3px; }
  .btn-primary{ background:linear-gradient(120deg,var(--grad-1),var(--grad-2) 55%,var(--grad-3)); color:#fff; box-shadow:0 10px 26px -8px rgba(29,78,216,.45), 0 6px 20px -10px rgba(56,189,248,.4); }
  .btn-primary:hover{ transform:translateY(-2px); box-shadow:0 14px 34px -8px rgba(29,78,216,.55), 0 10px 26px -10px rgba(56,189,248,.5); }
  .btn-ghost{ background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.35); color:#fff; backdrop-filter:blur(6px); }
  .btn-ghost:hover{ border-color:#fff; background:rgba(255,255,255,.16); }
  .btn-outline{ background:var(--paper); border-color:var(--line-2); color:var(--text); }
  .btn-outline:hover{ border-color:var(--magenta); color:var(--magenta); }
  .btn-sm{ padding:11px 19px; font-size:13.5px; }
  .btn-block{ width:100%; }

  /* section divider */
  .divider{ height:2px; width:100%; background:linear-gradient(90deg, transparent, var(--cyan) 22%, var(--magenta) 55%, transparent 82%); opacity:.55; position:relative; }
  .divider::after{ content:""; position:absolute; inset:-10px 0; background:inherit; filter:blur(14px); opacity:.7; }

  /* ---------- header ---------- */
  header.site{ position:sticky; top:0; z-index:50; background:rgba(255,255,255,.78); backdrop-filter:saturate(160%) blur(14px); border-bottom:1px solid var(--line); }
  .nav{ display:flex; align-items:center; justify-content:space-between; gap:20px; padding:14px 24px; max-width:1180px; margin:0 auto; }
  .brand{ display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--text); }
  .brand-logo{ height:26px; width:auto; flex:none; display:block; }
  .brand-sub{ font-family:var(--f-body),sans-serif; font-size:10px; letter-spacing:.15em; text-transform:uppercase; color:var(--text-soft); display:block; }
  .nav-links{ display:flex; align-items:center; gap:30px; list-style:none; margin:0; padding:0; }
  .nav-links a{ text-decoration:none; color:var(--text-muted); font-size:14.5px; font-weight:500; transition:color .15s ease; }
  .nav-links a:hover{ color:var(--magenta); }
  .nav-right{ display:flex; align-items:center; gap:16px; }
  .nav-phone{ text-decoration:none; color:var(--text); font-family:var(--f-body),sans-serif; font-size:13.5px; font-weight:600; white-space:nowrap; }
  .nav-phone small{ display:block; font-family:var(--f-body); font-weight:400; font-size:10.5px; color:var(--text-soft); letter-spacing:0; }
  .burger{ display:none; background:var(--paper-2); border:1px solid var(--line); border-radius:var(--radius-sm); width:42px; height:42px; padding:0; cursor:pointer; }
  .burger span{ display:block; width:18px; height:2px; background:var(--text); margin:4px auto; transition:transform .2s ease, opacity .2s ease; }
  .mobile-panel{ display:none; }

  @media (max-width: 880px){
    .nav-links{ display:none; }
    .nav-phone{ display:none; }
    .nav-right > .btn-primary{ display:none; }
    .burger{ display:block; }
    .mobile-panel.open{ display:block; background:var(--paper); border-top:1px solid var(--line); }
    .mobile-panel .container{ padding:18px 24px 26px; display:flex; flex-direction:column; gap:16px; }
    .mobile-panel a{ text-decoration:none; color:var(--text); font-size:16px; font-weight:500; }
    .mobile-panel .nav-phone{ display:block; }
  }
  .mobile-panel ul{ list-style:none; margin:0; padding:0; display:contents; }
  .mobile-panel li{ list-style:none; display:contents; }

  /* ---------- hero ---------- */
  .hero{ position:relative; padding:108px 0 92px; overflow:hidden; min-height:660px; display:flex; align-items:center; }
  .hero-bg{ position:absolute; inset:0; z-index:0; background:#e9edef; }
  .hero-bg img{ width:100%; height:100%; object-fit:cover; object-position:76% 40%; display:block; }
  .hero-scrim{ position:absolute; inset:0; background:linear-gradient(100deg, rgba(255,255,255,.97) 0%, rgba(255,255,255,.93) 22%, rgba(255,255,255,.76) 40%, rgba(255,255,255,.34) 58%, rgba(255,255,255,.08) 76%, rgba(255,255,255,.1) 100%); }
  @media (max-width: 940px){
    .hero{ padding:88px 0 64px; min-height:0; }
    .hero-bg img{ object-position:80% 32%; }
    .hero-scrim{ background:linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.96) 30%, rgba(255,255,255,.9) 50%, rgba(255,255,255,.64) 68%, rgba(255,255,255,.32) 85%, rgba(255,255,255,.16) 100%); }
  }
  .hero .blob-a{ width:460px; height:460px; top:-160px; left:-140px; background:radial-gradient(circle, rgba(56,189,248,.30), transparent 70%); z-index:1; }
  .hero .blob-b{ width:420px; height:420px; bottom:-180px; right:6%; background:radial-gradient(circle, rgba(29,78,216,.24), transparent 70%); z-index:1; }
  .hero-grid{ position:relative; z-index:2; width:100%; }
  .hero-copy{ max-width:600px; }
  .hero h1{ font-size:clamp(2.1rem, 3.4vw + .8rem, 3.25rem); margin:16px 0 18px; font-weight:800; letter-spacing:-.02em; }
  .hero h1 .price{ text-shadow:0 0 34px rgba(37,99,235,.25); }
  .hero .lede{ font-size:1.1rem; max-width:50ch; }
  .hero-price-sub{ font-family:var(--f-body),sans-serif; font-size:12.5px; color:var(--text-soft); margin:-8px 0 6px; }
  .hero-price-sub strong{ color:var(--text-muted); font-weight:600; }
  .hero-ctas{ display:flex; gap:14px; flex-wrap:wrap; margin:28px 0 32px; }
  .trust-row{ display:flex; gap:24px; flex-wrap:wrap; padding-top:22px; border-top:1px solid var(--line); }
  .trust-item{ display:flex; align-items:center; gap:9px; font-size:13.5px; color:var(--text-muted); }
  .trust-item strong{ color:var(--text); font-weight:700; }
  .trust-item svg{ width:18px; height:18px; flex:none; color:var(--magenta); }

  .hero-chip{ z-index:2; background:rgba(255,255,255,.92); backdrop-filter:blur(6px); border-radius:var(--radius-sm); padding:12px 16px; box-shadow:var(--shadow-lg); align-items:center; gap:10px; }
  .hero-chip svg{ width:20px; height:20px; color:var(--cyan); flex:none; }
  .hero-chip strong{ display:block; font-size:13px; }
  .hero-chip span{ display:block; font-size:11px; color:var(--text-soft); }
  .hero-chip-desktop{ position:absolute; right:6%; bottom:64px; display:flex; }
  .hero-chip-mobile{ display:none; margin-top:28px; background:var(--paper); }
  @media (max-width:940px){
    .hero-chip-desktop{ display:none; }
    .hero-chip-mobile{ display:flex; }
  }

  /* ---------- promo banner ---------- */
  .promo{ background:var(--paper); padding:16px 0 44px; position:relative; }
  .promo-card{ position:relative; border-radius:var(--radius); padding:2px; background:linear-gradient(120deg,var(--grad-1),var(--grad-2),var(--grad-3)); }
  .promo-inner{ background:var(--paper); border-radius:calc(var(--radius) - 2px); padding:28px 34px; display:flex; align-items:center; gap:24px; flex-wrap:wrap; justify-content:space-between; }
  .promo-copy{ display:flex; align-items:center; gap:18px; max-width:640px; }
  .promo-icon{ width:52px; height:52px; flex:none; border-radius:50%; background:linear-gradient(135deg,var(--grad-1),var(--grad-3)); display:flex; align-items:center; justify-content:center; box-shadow:0 8px 20px -6px rgba(29,78,216,.45); }
  .promo-icon svg{ width:24px; height:24px; color:#fff; }
  .promo-copy h3{ font-size:1.15rem; margin-bottom:4px; font-weight:700; }
  .promo-copy p{ margin:0; font-size:14.5px; color:var(--text-muted); }
  .promo-copy strong{ color:var(--grad-3); font-size:1.4em; font-weight:800; line-height:1; letter-spacing:-.01em; white-space:nowrap; }

  /* ---------- brands ---------- */
  .brands{ background:var(--paper); padding:60px 0 52px; }
  .section-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:24px; flex-wrap:wrap; margin-bottom:34px; }
  .section-head h2{ font-size:clamp(1.6rem,2vw + .9rem,2.2rem); margin-top:10px; }
  .marquee{ overflow:hidden; padding:26px 0; -webkit-mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
  .marquee-track{ display:flex; align-items:center; width:max-content; gap:56px; animation:scroll-left 55s linear infinite; }
  .marquee:hover .marquee-track{ animation-play-state:paused; }
  @keyframes scroll-left{ from{ transform:translateX(0);} to{ transform:translateX(-50%);} }
  .marquee-logo{ display:flex; align-items:center; justify-content:center; height:42px; flex-shrink:0; }
  .marquee-logo img{ display:block; height:100%; width:auto; max-width:170px; object-fit:contain; border-radius:6px; filter:grayscale(1) opacity(.5); transition:filter .25s ease; }
  .marquee-logo:hover img{ filter:grayscale(0) opacity(1); }
  .brands-note{ margin-top:14px; font-size:12.5px; color:var(--text-soft); font-family:var(--f-body),sans-serif; }

  /* ---------- process ---------- */
  .process{ background:var(--paper-2); padding:72px 0; }
  .steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:40px; }
  @media (max-width:880px){ .steps{ grid-template-columns:1fr 1fr; } }
  @media (max-width:560px){ .steps{ grid-template-columns:1fr; } }
  .step{ background:var(--paper); border-radius:var(--radius); padding:26px 22px 28px; box-shadow:var(--shadow); }
  .step .num{ width:34px; height:34px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:var(--f-body),sans-serif; font-size:13px; font-weight:600; color:#fff; background:linear-gradient(135deg,var(--grad-1),var(--grad-3)); }
  .step h4{ font-size:1.05rem; margin:16px 0 8px; font-weight:700; }
  .step p{ margin:0; font-size:14px; color:var(--text-muted); }
  .steps-dots{ display:none; }
  @media (max-width:880px){
    .steps{ display:flex; grid-template-columns:none; flex-wrap:nowrap; overflow-x:auto; overflow-y:hidden; gap:12px; scroll-snap-type:x proximity; -webkit-overflow-scrolling:touch; scrollbar-width:none; -ms-overflow-style:none; padding:8px 10px 16px; margin:24px -10px -6px; max-width:none; touch-action:pan-x pan-y; }
    .steps::-webkit-scrollbar{ display:none; }
    .steps .step{ flex:0 0 76%; scroll-snap-align:start; position:relative; overflow:hidden; display:grid; grid-template-columns:34px 1fr; column-gap:12px; align-items:center; padding:16px 16px 18px; }
    .steps .step h4{ margin:0; font-size:1rem; }
    .steps .step p{ grid-column:1 / -1; margin-top:10px; font-size:13px; line-height:1.45; }
    .steps .step::after{ content:""; position:absolute; left:0; top:0; height:3px; width:0; background:linear-gradient(90deg,var(--grad-1),var(--grad-3)); transition:width .5s ease; }
    .steps .step.is-active::after{ width:100%; }
    .steps .step .num{ transition:transform .35s ease, box-shadow .35s ease; }
    .steps .step.is-active .num{ transform:scale(1.14); box-shadow:0 6px 16px -4px rgba(29,78,216,.55); }
    .steps-dots{ display:flex; justify-content:center; align-items:center; gap:8px; margin-top:12px; }
    .steps-dots .plans-dot{ width:8px; height:8px; padding:0; border:none; border-radius:50%; background:var(--line-2); cursor:pointer; transition:background .2s ease, transform .2s ease; }
    .steps-dots .plans-dot.active{ background:var(--magenta); transform:scale(1.3); }
  }
  .owner-quote{ margin-top:48px; background:var(--paper); border-radius:var(--radius); padding:34px 38px; box-shadow:var(--shadow); border-left:3px solid transparent; background-image:linear-gradient(var(--paper),var(--paper)), linear-gradient(180deg,var(--grad-1),var(--grad-3)); background-origin:border-box; background-clip:padding-box, border-box; max-width:74ch; }
  .owner-quote p{ margin:0 0 16px; font-family:var(--f-body); font-weight:600; font-size:clamp(1.05rem,1.3vw + .6rem,1.35rem); line-height:1.45; color:var(--text); text-wrap:balance; }
  .owner-quote cite{ font-style:normal; font-family:var(--f-body),sans-serif; font-size:12px; letter-spacing:.04em; }
  .owner-quote cite b{ font-weight:600; background:linear-gradient(120deg,var(--grad-1),var(--grad-3)); -webkit-background-clip:text; background-clip:text; color:transparent; }
  .owner-quote cite span{ color:var(--text-soft); }
  @media (max-width:560px){
    .owner-quote{ margin:28px 0 0; padding:20px 18px; }
    .owner-quote p{ font-size:1rem; margin-bottom:12px; }
  }

  /* ---------- pricing ---------- */
  .pricing{ background:var(--paper); padding:72px 0; }
  .plans{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:40px; }
  @media (max-width:920px){
    .plans{ display:flex; grid-template-columns:none; overflow-x:auto; overflow-y:hidden; flex-wrap:nowrap; gap:14px; scroll-snap-type:x proximity; -webkit-overflow-scrolling:touch; scrollbar-width:none; -ms-overflow-style:none; padding:22px 10px 30px; margin:28px -10px -14px; max-width:none; touch-action:pan-x pan-y; }
    .plans::-webkit-scrollbar{ display:none; }
    .plans .plan{ flex:0 0 82%; scroll-snap-align:start; }
  }
  @media (max-width:560px){ .plans .plan{ flex-basis:86%; } }
  @media (max-width:920px){
    .plans .plan, .plans .plan.featured{ padding:20px 18px; gap:10px; }
    .plans .plan.featured{ padding:21px 19px; }
    .plans .plan h3{ font-size:1.02rem; }
    .plans .plan-price{ flex-direction:column; align-items:flex-start; gap:0; font-size:1.7rem; line-height:1.15; }
    .plans .plan-price small{ font-size:12px; }
    .plans .plan-price .u-sep{ display:none; }
    .plans .plan-desc{ font-size:12.5px; line-height:1.4; }
    .plans .plan-discount{ font-size:11px; margin:-4px 0 0; }
    .plans .plan-vat{ font-size:10.5px; margin:-4px 0 0; }
    .plans .plan ul{ gap:6px; }
    .plans .plan li{ font-size:13px; gap:8px; line-height:1.35; }
    .plans .plan li svg{ width:14px; height:14px; margin-top:2px; }
    .plans .plan .btn{ padding-top:11px; padding-bottom:11px; font-size:14px; }
  }
  .plans-dots{ display:none; }
  @media (max-width:920px){
    .plans-dots{ display:flex; justify-content:center; align-items:center; gap:8px; margin-top:16px; }
    .plans-dot{ width:8px; height:8px; padding:0; border:none; border-radius:50%; background:var(--line-2); cursor:pointer; transition:background .2s ease, transform .2s ease; }
    .plans-dot.active{ background:var(--magenta); transform:scale(1.3); }
  }
  .plan{ border:1px solid var(--line); border-radius:var(--radius); padding:30px 26px; background:var(--paper); display:flex; flex-direction:column; gap:16px; position:relative; box-shadow:var(--shadow); }
  .plan.featured{ border:none; padding:32px 28px; background-image:linear-gradient(var(--paper),var(--paper)), linear-gradient(150deg,var(--grad-1),var(--grad-2),var(--grad-3)); background-origin:border-box; background-clip:padding-box, border-box; border:2px solid transparent; box-shadow:0 26px 60px -24px rgba(37,99,235,.45); }
  .plan-tag{ position:absolute; top:-14px; left:26px; background:linear-gradient(120deg,var(--grad-1),var(--grad-3)); color:#fff; font-family:var(--f-body),sans-serif; font-size:11px; letter-spacing:.07em; text-transform:uppercase; padding:6px 12px; border-radius:var(--radius-pill); box-shadow:0 8px 18px -6px rgba(29,78,216,.5); }
  .plan h3{ font-size:1.15rem; font-weight:700; }
  .plan-price{ font-family:var(--f-body),sans-serif; font-variant-numeric:tabular-nums; font-size:2.05rem; font-weight:600; color:var(--text); display:flex; align-items:baseline; gap:8px; }
  .plan-price small{ font-size:13px; font-weight:500; color:var(--text-muted); font-family:var(--f-body); }
  .plan-desc{ font-size:13.5px; color:var(--text-muted); margin:0; }
  .plan-discount{ font-family:var(--f-body),sans-serif; font-size:12px; font-weight:600; color:var(--magenta); margin:-10px 0 0; }
  .plan-vat{ font-family:var(--f-body),sans-serif; font-size:11px; color:var(--text-soft); margin:-10px 0 0; }
  .plan ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; flex:1; }
  .plan li{ display:flex; gap:10px; font-size:14px; align-items:flex-start; }
  .plan li svg{ width:16px; height:16px; flex:none; margin-top:3px; color:var(--cyan); }
  .plan.featured li svg{ color:var(--magenta); }
  .pricing-note{ margin-top:26px; font-size:13px; color:var(--text-soft); max-width:70ch; }

  /* ---------- cennik teaser (homepage) ---------- */
  .cennik-teaser{ background:var(--paper); padding:72px 0; }
  .plan-chips{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:36px; }
  @media (max-width:820px){ .plan-chips{ grid-template-columns:1fr; max-width:420px; } }
  .plan-chip{ display:flex; align-items:center; justify-content:space-between; gap:12px; text-decoration:none; color:var(--text); background:var(--paper-2); border:1px solid var(--line); border-radius:var(--radius); padding:18px 22px; transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease; }
  .plan-chip:hover{ transform:translateY(-2px); box-shadow:var(--shadow); border-color:var(--line-2); }
  .plan-chip.featured{ background:var(--paper); border-color:transparent; background-image:linear-gradient(var(--paper),var(--paper)), linear-gradient(150deg,var(--grad-1),var(--grad-2),var(--grad-3)); background-origin:border-box; background-clip:padding-box, border-box; border:2px solid transparent; box-shadow:0 16px 34px -18px rgba(37,99,235,.4); }
  .plan-chip strong{ font-size:15px; font-weight:700; }
  .plan-chip-desc{ font-size:13px; color:var(--text-muted); }
  .plan-chip .chip-price{ font-family:var(--f-body),sans-serif; font-size:13px; color:var(--text-muted); text-align:right; white-space:nowrap; }
  .plan-slider{ position:relative; }
  .plan-slider-track{ display:flex; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; padding:4px 4px 14px; margin-top:36px; -webkit-overflow-scrolling:touch; }
  .plan-slider-track::-webkit-scrollbar{ height:6px; }
  .plan-slider-track::-webkit-scrollbar-thumb{ background:var(--line-2); border-radius:99px; }
  .plan-slider-track .plan-chip{ scroll-snap-align:start; flex:0 0 82%; max-width:320px; }
  @media (min-width:640px){ .plan-slider-track .plan-chip{ flex:0 0 46%; } }
  @media (min-width:960px){ .plan-slider-track .plan-chip{ flex:0 0 31%; } }
  .plan-slider-nav{ display:none; }
  @media (min-width:640px){
    .plan-slider-nav{ display:flex; align-items:center; justify-content:center; position:absolute; top:50%; margin-top:14px; transform:translateY(-50%); width:40px; height:40px; border-radius:50%; border:1px solid var(--line-2); background:var(--paper); box-shadow:var(--shadow); cursor:pointer; font-size:20px; color:var(--text); z-index:2; }
    .plan-slider-nav.prev{ left:-18px; }
    .plan-slider-nav.next{ right:-18px; }
    .plan-slider-nav:hover{ border-color:var(--magenta); color:var(--magenta); }
  }
  .cennik-teaser-foot{ margin-top:30px; }

  /* ---------- reviews ---------- */
  .reviews{ background:var(--paper-2); padding:72px 0; }
  .rating-badge{ display:flex; align-items:center; gap:14px; margin-top:10px; }
  .rating-badge .stars{ display:flex; gap:2px; color:var(--magenta); }
  .rating-badge .stars svg{ width:18px; height:18px; }
  .rating-badge .num{ font-family:var(--f-body),sans-serif; font-weight:600; font-size:15px; }
  .review-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:36px; }
  @media (max-width:920px){ .review-grid{ grid-template-columns:1fr; } }
  .review-card{ background:var(--paper); border-radius:var(--radius); padding:26px; display:flex; flex-direction:column; gap:14px; box-shadow:var(--shadow); }
  .review-source{ font-size:11px; letter-spacing:.05em; text-transform:uppercase; color:var(--magenta); }
  .review-card p{ margin:0; font-size:14px; color:var(--text-muted); }
  .review-who{ display:flex; align-items:center; gap:10px; margin-top:auto; }
  .review-avatar{ width:34px; height:34px; border-radius:50%; background:linear-gradient(135deg,var(--grad-1),var(--grad-3)); display:flex; align-items:center; justify-content:center; font-family:var(--f-body),sans-serif; font-size:12px; color:#fff; font-weight:600; }
  .review-who span{ font-size:13px; color:var(--text-muted); font-weight:500; }
  @media (max-width:920px){
    .review-grid{ display:flex; grid-template-columns:none; flex-wrap:nowrap; overflow-x:auto; overflow-y:hidden; gap:14px; scroll-snap-type:x proximity; -webkit-overflow-scrolling:touch; scrollbar-width:none; -ms-overflow-style:none; padding:8px 10px 22px; margin:28px -10px -10px; max-width:none; touch-action:pan-x pan-y; }
    .review-grid::-webkit-scrollbar{ display:none; }
    .review-grid .review-card{ flex:0 0 84%; scroll-snap-align:start; padding:20px; gap:12px; }
  }
  @media (max-width:560px){ .review-grid .review-card{ flex-basis:88%; } }

  /* ---------- poradnik ---------- */
  .poradnik{ background:var(--paper); padding:72px 0; }
  .post-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:36px; }
  @media (max-width:920px){ .post-grid{ grid-template-columns:1fr; max-width:520px; margin:36px auto 0; } }
  .post-card{ border-radius:var(--radius); overflow:hidden; text-decoration:none; color:var(--text); display:flex; flex-direction:column; background:var(--paper); box-shadow:var(--shadow); transition:transform .18s ease, box-shadow .18s ease; }
  .post-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-lg); }
  .post-thumb{ aspect-ratio:16/10; background:linear-gradient(135deg, var(--grad-1), var(--grad-2) 55%, var(--grad-3)); position:relative; }
  .post-thumb svg{ position:absolute; right:16px; bottom:14px; width:34px; height:34px; color:rgba(255,255,255,.6); }
  .post-tag{ position:absolute; top:14px; left:14px; background:rgba(11,11,19,.55); backdrop-filter:blur(4px); color:#fff; font-family:var(--f-body),sans-serif; font-size:10.5px; letter-spacing:.08em; text-transform:uppercase; padding:5px 10px; border-radius:var(--radius-pill); }
  .post-body{ padding:20px 22px 24px; display:flex; flex-direction:column; gap:10px; flex:1; }
  .post-body h3{ font-size:1.02rem; font-weight:700; line-height:1.3; }
  .post-body p{ margin:0; font-size:13.5px; color:var(--text-muted); flex:1; }
  .post-meta{ font-family:var(--f-body),sans-serif; font-size:11.5px; color:var(--text-soft); text-transform:uppercase; letter-spacing:.04em; }
  .poradnik-foot{ margin-top:34px; display:flex; justify-content:center; }

  /* ---------- contact ---------- */
  .contact{ background:var(--paper-2); padding:76px 0 64px; overflow:hidden; }
  .contact .blob-a{ width:420px; height:420px; top:-120px; right:-120px; background:radial-gradient(circle, rgba(56,189,248,.22), transparent 70%); }
  .contact-grid{ display:grid; grid-template-columns:1.3fr .9fr; gap:40px; margin-top:40px; align-items:flex-start; position:relative; z-index:1; }
  @media (max-width:920px){ .contact-grid{ grid-template-columns:1fr; } }

  .form-card{ background:var(--paper); border-radius:var(--radius); padding:32px; box-shadow:var(--shadow-lg); }
  .form-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
  @media (max-width:560px){ .form-row{ grid-template-columns:1fr; } }
  .field{ margin-bottom:16px; }
  .field label{ display:block; font-family:var(--f-body),sans-serif; font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--text-soft); margin-bottom:7px; }
  .field input[type="text"],.field input[type="tel"],.field input[type="email"],.field select,.field textarea{
    width:100%; background:var(--paper-2); border:1px solid var(--line); color:var(--text); border-radius:var(--radius-sm); padding:12px 14px; font-family:var(--f-body); font-size:14.5px;
  }
  .field textarea{ resize:vertical; min-height:88px; }
  .field input:focus,.field select:focus,.field textarea:focus{ outline:none; border-color:var(--cyan); box-shadow:0 0 0 4px rgba(56,189,248,.16); }
  .file-drop{ border:1.5px dashed var(--line-2); border-radius:var(--radius-sm); padding:16px; display:flex; align-items:center; gap:14px; background:var(--paper-2); }
  .file-drop svg{ width:22px; height:22px; flex:none; color:var(--magenta); }
  .file-drop .fd-text{ font-size:12.5px; color:var(--text-muted); }
  .file-drop .fd-text strong{ color:var(--text); display:block; font-size:13.5px; margin-bottom:2px; font-weight:600; }
  .file-drop input[type="file"]{ font-size:12px; color:var(--text-muted); max-width:100%; }
  .discount-flag{ margin-top:10px; display:flex; gap:9px; align-items:flex-start; font-size:12.5px; color:var(--text-muted); }
  .discount-flag p{ display:flex; gap:9px; align-items:flex-start; margin:0; }
  .discount-flag br{ display:none; }
  .discount-flag svg{ width:15px; height:15px; flex:none; margin-top:2px; color:var(--magenta); }
  .discount-flag strong{ background:linear-gradient(120deg,var(--grad-1),var(--grad-3)); -webkit-background-clip:text; background-clip:text; color:transparent; }
  .wpcf7-form p{ margin:0; }
  .wpcf7-form-control-wrap{ display:block; }
  .wpcf7 .consent p{ margin:0; }
  .wpcf7-response-output{ margin:16px 0 0; padding:12px 16px; border-radius:var(--radius-sm); font-size:13px; }
  .wpcf7-form.sent .wpcf7-response-output{ border-color:#16a34a; color:#15803d; background:#f0fdf4; }
  .wpcf7-form.failed .wpcf7-response-output,.wpcf7-form.aborted .wpcf7-response-output,.wpcf7-form.spam .wpcf7-response-output{ border-color:#dc2626; color:#b91c1c; background:#fef2f2; }
  .wpcf7-not-valid-tip{ display:block; color:#b91c1c; font-size:12px; margin-top:4px; }
  .wpcf7-spinner{ margin-left:8px; }
  .consent{ display:flex; gap:10px; align-items:flex-start; font-size:12.5px; color:var(--text-muted); margin:18px 0 20px; }
  .consent input{ margin-top:3px; }
  .field br{ display:none; }
  @media (max-width:560px){
    .form-card{ padding:20px 16px; }
    .form-row{ gap:0; }
    .field{ margin-bottom:12px; }
    .field label{ margin-bottom:5px; font-size:10.5px; }
    .field input[type="text"],.field input[type="tel"],.field input[type="email"],.field select{ padding:10px 12px; }
    .field textarea{ min-height:0; height:76px; padding:10px 12px; }
    .consent{ margin:12px 0 14px; }
  }
  .form-foot-note{ margin-top:14px; font-size:12px; color:var(--text-soft); text-align:center; }
  .success-panel{ display:none; text-align:center; padding:40px 20px; }
  .success-panel.show{ display:block; }
  .success-panel svg{ width:46px; height:46px; color:#fff; margin:0 auto 16px; background:linear-gradient(135deg,var(--grad-1),var(--grad-3)); border-radius:50%; padding:11px; box-shadow:0 10px 24px -8px rgba(29,78,216,.5); }
  .success-panel h3{ font-size:1.3rem; margin-bottom:10px; font-weight:700; }
  .success-panel p{ color:var(--text-muted); font-size:14px; max-width:44ch; margin:0 auto 22px; }
  .form-card form.hide{ display:none; }

  .contact-cards{ display:flex; flex-direction:column; gap:14px; position:relative; z-index:1; }
  .contact-card{ background:var(--paper); border-radius:var(--radius); padding:20px 22px; display:flex; gap:14px; align-items:flex-start; text-decoration:none; color:var(--text); box-shadow:var(--shadow); transition:transform .15s ease, box-shadow .15s ease; }
  .contact-card:hover{ transform:translateY(-2px); box-shadow:var(--shadow-lg); }
  .contact-card svg{ width:20px; height:20px; flex:none; color:var(--magenta); margin-top:2px; }
  .contact-card strong{ display:block; font-size:14.5px; margin-bottom:3px; }
  .contact-card span{ font-size:13px; color:var(--text-muted); }
  .area-note{ background:var(--paper); border-radius:var(--radius); padding:20px 22px; font-size:13px; color:var(--text-muted); box-shadow:var(--shadow); }
  .area-note strong{ color:var(--text); display:block; margin-bottom:6px; font-size:14px; }

  /* ---------- footer ---------- */
  footer{ background:var(--ink); color:var(--text-inverse-muted); padding:52px 0 26px; position:relative; }
  .footer-grid{ display:grid; grid-template-columns:1.4fr repeat(3,1fr); gap:36px; }
  @media (max-width:780px){ .footer-grid{ grid-template-columns:1fr 1fr; } }
  @media (max-width:520px){ .footer-grid{ grid-template-columns:1fr; } }
  .footer-grid h5{ font-family:var(--f-body),sans-serif; font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:#fff; margin-bottom:14px; }
  .footer-grid ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:9px; }
  .footer-grid a{ text-decoration:none; font-size:13.5px; color:var(--text-inverse-muted); transition:color .15s ease; }
  .footer-grid a:hover{ color:var(--cyan-2); }
  .footer-about p{ font-size:13.5px; max-width:34ch; margin:14px 0 18px; }
  .footer-logo{ filter:brightness(0) invert(1); }
  .footer-socials{ display:flex; gap:10px; }
  .footer-socials a{ width:34px; height:34px; border:1px solid rgba(255,255,255,.16); border-radius:50%; display:flex; align-items:center; justify-content:center; transition:border-color .15s ease, box-shadow .15s ease; }
  .footer-socials a:hover{ border-color:transparent; box-shadow:0 0 0 1.5px var(--cyan), 0 0 18px rgba(56,189,248,.5); }
  .footer-socials svg{ width:16px; height:16px; }
  .footer-bottom{ margin-top:44px; padding-top:22px; border-top:1px solid rgba(255,255,255,.1); display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:12px; }

  /* ---------- sticky mobile cta ---------- */
  .mobile-cta{ position:fixed; left:0; right:0; bottom:0; z-index:60; display:none; background:rgba(255,255,255,.9); backdrop-filter:blur(14px); border-top:1px solid var(--line); padding:10px 14px; gap:10px; }
  .mobile-cta a{ flex:1; }
  @media (max-width:640px){ .mobile-cta{ display:flex; } body{ padding-bottom:70px; } }

  .fab{ position:fixed; right:26px; bottom:26px; z-index:60; }
  @media (max-width:640px){ .fab{ display:none; } }

  /* ---------- page intro (Cennik / generic pages) ---------- */
  .page-hero{ background:var(--paper-2); padding:64px 0 12px; }
  .page-hero .section-head{ margin-bottom:0; }

  /* ---------- prose (single posts / pages) ---------- */
  .entry-header{ padding:64px 0 8px; background:var(--paper-2); }
  .entry-meta{ font-family:var(--f-body),sans-serif; font-size:12px; color:var(--text-soft); text-transform:uppercase; letter-spacing:.04em; margin-top:14px; }
  .entry-thumb{ margin:32px 0; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); }
  .entry-thumb img{ width:100%; height:auto; }
  .entry-content{ padding:16px 0 56px; max-width:74ch; margin:0 auto; }
  .entry-content h2{ font-size:1.5rem; margin:36px 0 14px; }
  .entry-content h3{ font-size:1.2rem; margin:28px 0 12px; }
  .entry-content p{ margin:0 0 18px; color:var(--text-muted); font-size:15.5px; line-height:1.75; }
  .entry-content ul,.entry-content ol{ margin:0 0 18px; padding-left:22px; color:var(--text-muted); font-size:15.5px; line-height:1.75; }
  .entry-content li{ margin-bottom:6px; }
  .entry-content a{ color:var(--magenta); text-decoration:underline; }
  .entry-content blockquote{ border-left:3px solid var(--magenta); margin:24px 0; padding:4px 0 4px 20px; color:var(--text); font-style:italic; }
  .entry-content img{ border-radius:var(--radius-sm); margin:20px 0; }
  .entry-cta{ margin-top:12px; padding:28px 30px; border-radius:var(--radius); background:var(--paper-2); box-shadow:var(--shadow); display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }
  .entry-cta h4{ font-size:1.1rem; margin-bottom:4px; }
  .entry-cta p{ margin:0; font-size:13.5px; color:var(--text-muted); }
  .page-content{ max-width:74ch; margin:0 auto; padding:64px 24px 72px; }
  .page-content .entry-content{ padding:24px 0 0; max-width:none; margin:0; }

  /* ---- Baner cookies (RODO) ---- */
  .cc{ position:fixed; left:24px; bottom:24px; z-index:100; width:min(440px,calc(100vw - 24px)); max-height:calc(100vh - 48px); overflow:auto; background:#fff; border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow-lg); padding:22px; opacity:0; transform:translateY(16px); transition:opacity .3s ease, transform .3s ease; }
  .cc[hidden]{ display:none; }
  .cc.is-in{ opacity:1; transform:none; }
  .cc:focus{ outline:none; }
  .cc h2{ font-size:1.05rem; margin:0 0 8px; }
  .cc p{ margin:0 0 14px; font-size:13.5px; line-height:1.55; color:var(--text-muted); }
  .cc p a{ color:var(--magenta); text-decoration:underline; }
  .cc-prefs{ display:none; margin:0 0 14px; border-top:1px solid var(--line); }
  .cc.is-prefs .cc-prefs{ display:block; }
  .cc-row{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:11px 0; border-bottom:1px solid var(--line); cursor:pointer; }
  .cc-row b{ display:block; font-size:13.5px; color:var(--text); }
  .cc-row small{ display:block; font-size:12px; line-height:1.4; color:var(--text-soft); }
  .cc-row input{ -webkit-appearance:none; appearance:none; flex:none; width:42px; height:24px; border-radius:999px; background:var(--line-2); position:relative; cursor:pointer; transition:background .2s; margin:0; }
  .cc-row input::after{ content:""; position:absolute; top:3px; left:3px; width:18px; height:18px; border-radius:50%; background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.25); transition:transform .2s; }
  .cc-row input:checked{ background:var(--grad-3); }
  .cc-row input:checked::after{ transform:translateX(18px); }
  .cc-row input:disabled{ opacity:.55; cursor:not-allowed; }
  .cc-row input:focus-visible{ outline:2px solid var(--cyan); outline-offset:2px; }
  .cc-actions{ display:flex; flex-wrap:wrap; gap:8px; }
  .cc-actions .btn{ flex:1 1 auto; padding:11px 16px; font-size:13.5px; }
  .cc-actions .cc-save{ display:none; }
  .cc.is-prefs .cc-actions .cc-save{ display:inline-flex; }
  .cc-more{ flex:1 1 100%; background:none; border:0; padding:4px; font:inherit; font-size:13px; color:var(--text-muted); text-decoration:underline; cursor:pointer; }
  .cc.is-prefs .cc-more{ display:none; }
  @media (max-width:640px){
    .cc{ left:12px; right:12px; bottom:12px; width:auto; padding:18px 16px; }
    .cc-actions .btn{ flex:1 1 calc(50% - 4px); padding:11px 10px; }
  }
  .footer-bottom a[data-fc-cookie-settings]{ margin-left:14px; }
  .entry-content code{ font-family:var(--f-body),sans-serif; font-size:.88em; background:var(--paper-3); padding:1px 6px; border-radius:6px; color:var(--text); }

  /* ---- Claimer pod cennikiem ---- */
  .price-claim{ display:flex; align-items:center; justify-content:center; gap:16px; margin:36px auto 0; padding:14px 28px 14px 16px; max-width:720px; border-radius:var(--radius-pill); background:linear-gradient(120deg,rgba(56,189,248,.13),rgba(29,78,216,.09)); border:1px solid rgba(56,189,248,.38); }
  .price-claim-ico{ flex:none; width:40px; height:40px; border-radius:50%; display:flex; align-items:center; justify-content:center; color:#fff; background:linear-gradient(135deg,var(--grad-1),var(--grad-3)); box-shadow:0 8px 18px -8px rgba(29,78,216,.55); }
  .price-claim-ico svg{ width:20px; height:20px; }
  .price-claim p{ margin:0; line-height:1.4; }
  .price-claim strong{ display:block; font-size:16px; font-weight:700; color:var(--text); }
  .price-claim span:not(.price-claim-ico){ display:block; font-size:13.5px; color:var(--text-muted); margin-top:2px; }
  @media (max-width:560px){
    .price-claim{ margin-top:28px; padding:14px 16px; border-radius:18px; gap:12px; justify-content:flex-start; }
    .price-claim-ico{ width:36px; height:36px; }
    .price-claim strong{ font-size:15px; }
    .price-claim span:not(.price-claim-ico){ font-size:13px; }
  }

  /* ---- FAQ (strona główna) ---- */
  .faq{ background:var(--paper-2); padding:88px 0 96px; }
  .faq-grid{ display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:56px; align-items:start; }
  .faq-head{ position:sticky; top:104px; }
  .faq-head h2{ margin:10px 0 14px; font-size:clamp(1.7rem,2.2vw + .9rem,2.4rem); }
  .faq-head .lede{ margin:0; color:var(--text-muted); font-size:15.5px; max-width:42ch; }
  .faq-head .lede a{ color:var(--magenta); text-decoration:underline; }
  .faq-list{ display:flex; flex-direction:column; gap:12px; }
  .faq-item{ background:var(--paper); border:1px solid var(--line); border-radius:var(--radius-sm); transition:border-color .2s ease, box-shadow .2s ease; }
  .faq-item[open]{ border-color:rgba(56,189,248,.55); box-shadow:var(--shadow); }
  .faq-item summary{ list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:18px 22px; font-weight:700; font-size:1.02rem; line-height:1.35; color:var(--text); }
  .faq-item summary::-webkit-details-marker{ display:none; }
  .faq-item summary:focus-visible{ outline:2px solid var(--cyan); outline-offset:2px; }
  .faq-item summary i{ flex:none; width:30px; height:30px; border-radius:50%; background:var(--paper-3); position:relative; transition:background .2s ease; }
  .faq-item summary i::before,.faq-item summary i::after{ content:""; position:absolute; left:50%; top:50%; width:12px; height:2px; margin:-1px 0 0 -6px; background:var(--grad-3); border-radius:2px; transition:transform .25s ease, background .2s ease; }
  .faq-item summary i::after{ transform:rotate(90deg); }
  .faq-item[open] summary i{ background:linear-gradient(135deg,var(--grad-1),var(--grad-3)); }
  .faq-item[open] summary i::before,.faq-item[open] summary i::after{ background:#fff; }
  .faq-item[open] summary i::after{ transform:rotate(0deg); }
  .faq-a{ padding:0 22px 20px; animation:faqIn .3s ease; }
  .faq-a p{ margin:0 0 10px; font-size:15px; line-height:1.7; color:var(--text-muted); }
  .faq-a p:last-child{ margin-bottom:0; }
  @keyframes faqIn{ from{ opacity:0; transform:translateY(-4px); } to{ opacity:1; transform:none; } }
  @media (max-width:920px){
    .faq{ padding:56px 0 64px; }
    .faq-grid{ grid-template-columns:1fr; gap:26px; }
    .faq-head{ position:static; }
  }
  @media (max-width:560px){
    .faq-item summary{ padding:15px 16px; font-size:.97rem; }
    .faq-a{ padding:0 16px 16px; }
  }

  /* ---- Podstrona Cennik ---- */
  .cennik-nav{ background:var(--paper-2); padding:14px 0 36px; }
  .cennik-nav .container{ display:flex; flex-wrap:wrap; gap:10px; }
  .cennik-nav a{ text-decoration:none; font-size:13.5px; font-weight:600; color:var(--text); background:var(--paper); border:1px solid var(--line-2); padding:8px 16px; border-radius:var(--radius-pill); transition:border-color .2s ease, color .2s ease, transform .2s ease; }
  .cennik-nav a:hover{ border-color:var(--cyan); color:var(--magenta); transform:translateY(-1px); }
  .cennik{ background:var(--paper); padding:56px 0 88px; }
  .cennik-content{ max-width:980px; margin:0 auto; }
  .cennik-content h2{ font-size:clamp(1.35rem,1.1vw + 1rem,1.75rem); margin:56px 0 18px; scroll-margin-top:96px; }
  .cennik-content h2:first-child{ margin-top:0; }
  .cennik-content p{ margin:0 0 14px; color:var(--text-muted); font-size:15.5px; line-height:1.7; }
  .cennik-content code{ font-family:var(--f-body),sans-serif; }
  .cennik-table{ width:100%; border-collapse:separate; border-spacing:0; background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); overflow:hidden; font-size:14.5px; }
  .cennik-table thead th{ text-align:right; font-family:var(--f-body),sans-serif; font-size:11px; letter-spacing:.05em; text-transform:uppercase; font-weight:600; color:var(--text-soft); background:var(--paper-2); padding:14px 18px; border-bottom:1px solid var(--line); line-height:1.35; vertical-align:bottom; }
  .cennik-table thead th:first-child{ text-align:left; width:42%; }
  .cennik-table td{ padding:15px 18px; border-bottom:1px solid var(--line); text-align:right; font-family:var(--f-body),sans-serif; font-variant-numeric:tabular-nums; font-weight:600; color:var(--text); white-space:nowrap; transition:background .15s ease; }
  .cennik-table td:first-child{ text-align:left; font-family:var(--f-body),ui-sans-serif,system-ui,sans-serif; font-weight:600; white-space:normal; line-height:1.45; }
  .cennik-table td:nth-child(3){ background:rgba(56,189,248,.06); }
  .cennik-table tbody tr:last-child td{ border-bottom:0; }
  .cennik-table tbody tr:hover td{ background:var(--paper-2); }
  .cennik-table td.is-tba{ text-align:center; font-family:var(--f-body),ui-sans-serif,system-ui,sans-serif; font-weight:600; font-size:13.5px; color:var(--magenta); background:transparent; white-space:normal; }
  .cennik-content .cennik-foot{ margin:12px 4px 0; font-size:13px; color:var(--text-soft); line-height:1.6; }
  .cennik-list{ list-style:none; margin:0 0 8px; padding:0; display:grid; grid-template-columns:1fr 1fr; grid-template-rows:repeat(5,auto); grid-auto-flow:column; gap:12px 32px; }
  .cennik-list li{ position:relative; padding-left:32px; font-size:15px; line-height:1.55; color:var(--text-muted); }
  .cennik-list li::before{ content:""; position:absolute; left:0; top:2px; width:20px; height:20px; border-radius:50%; background:linear-gradient(135deg,var(--grad-1),var(--grad-3)); }
  .cennik-list li::after{ content:""; position:absolute; left:7px; top:6px; width:5px; height:9px; border:solid #fff; border-width:0 2px 2px 0; transform:rotate(45deg); }
  .cennik-info{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
  .cennik-info > div{ background:var(--paper-2); border:1px solid var(--line); border-radius:var(--radius-sm); padding:22px 24px; }
  .cennik-info strong{ display:block; font-size:1.05rem; color:var(--text); margin-bottom:6px; }
  .cennik-info p{ margin:0; }
  .cennik-cta{ margin:64px auto 0; max-width:980px; display:flex; align-items:center; justify-content:space-between; gap:32px; padding:34px 38px; border-radius:var(--radius); background:linear-gradient(120deg,rgba(56,189,248,.14),rgba(29,78,216,.10)); border:1px solid rgba(56,189,248,.4); }
  .cennik-cta h2{ font-size:1.4rem; margin:0 0 10px; }
  .cennik-cta p{ margin:0; color:var(--text-muted); font-size:15px; line-height:1.65; max-width:58ch; }
  .cennik-cta-actions{ display:flex; flex-direction:column; gap:10px; flex:none; min-width:250px; }
  @media (max-width:920px){
    .cennik{ padding:40px 0 64px; }
    .cennik-cta{ flex-direction:column; align-items:stretch; gap:22px; padding:26px 22px; }
    .cennik-cta-actions{ min-width:0; }
  }
  @media (max-width:720px){
    .cennik-content h2{ margin:40px 0 14px; }
    .cennik-table, .cennik-table tbody, .cennik-table tr, .cennik-table td{ display:block; }
    .cennik-table thead{ display:none; }
    .cennik-table{ border:0; box-shadow:none; background:transparent; overflow:visible; }
    .cennik-table tbody{ display:flex; flex-direction:column; gap:12px; }
    .cennik-table tr{ background:var(--paper); border:1px solid var(--line); border-radius:var(--radius-sm); padding:14px 16px; box-shadow:var(--shadow); }
    .cennik-table td, .cennik-table td:nth-child(3), .cennik-table tbody tr:hover td{ display:flex; justify-content:space-between; align-items:baseline; gap:0; padding:5px 0; border:0; background:transparent; text-align:right; white-space:normal; font-size:14.5px; }
    .cennik-table td:first-child{ display:block; text-align:left; padding:0 0 10px; margin-bottom:6px; border-bottom:1px solid var(--line); font-size:15px; }
    .cennik-table td[data-label]::before{ content:attr(data-label); font-family:var(--f-body),ui-sans-serif,system-ui,sans-serif; font-weight:500; font-size:12.5px; color:var(--text-muted); text-align:left; margin-right:auto; padding-right:16px; }
    .cennik-table td.is-num::after{ content:"zł"; margin-left:.35em; font-weight:500; color:var(--text-soft); }
    .cennik-table td.is-tba{ display:block; text-align:left; padding:0; }
    .cennik-list{ grid-template-rows:none; grid-auto-flow:row; }
    .cennik-list, .cennik-info{ grid-template-columns:1fr; }
  }


/* ---- Podstrona Kontakt ---- */
.kontakt{padding:48px 0 24px}
.kontakt-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:36px;align-items:stretch}
.kontakt-info{display:flex;flex-direction:column;gap:14px}
.kontakt-info .contact-card{border:1px solid var(--line);box-shadow:none}
.kontakt-info a.contact-card:hover{box-shadow:var(--shadow)}
.kontakt-info .contact-card.is-static:hover{transform:none;box-shadow:none}
.kontakt-firma{margin-top:6px;padding:20px 22px;border-radius:var(--radius);background:var(--paper-2);border:1px solid var(--line)}
.kontakt-firma h3{margin:0 0 12px;font-family:var(--f-body),sans-serif;font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}
.kontakt-firma dl{display:grid;grid-template-columns:auto 1fr;gap:8px 20px;margin:0;font-size:14px;line-height:1.45}
.kontakt-firma dt{color:var(--text-muted)}
.kontakt-firma dd{margin:0;color:var(--text)}
.kontakt-map{position:relative;min-height:460px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:linear-gradient(135deg,var(--paper-2),var(--paper-3))}
.kontakt-map iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;z-index:2;background:var(--paper)}
.kontakt-map iframe:not([src]){visibility:hidden}
.kontakt-map-ph{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:28px}
.kontakt-map-ph strong{font-size:18px}
.kontakt-map-ph p{max-width:38ch;margin:0;color:var(--text-muted);font-size:14px;line-height:1.55}
.kontakt-map-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:6px}
.kontakt-cta{padding:32px 0 72px}
@media (max-width:920px){
  .kontakt-grid{grid-template-columns:1fr}
  .kontakt-map{min-height:340px}
}
@media (max-width:480px){
  .kontakt-firma dl{grid-template-columns:1fr;gap:2px}
  .kontakt-firma dd{margin-bottom:8px}
}

/* ---- Przycisk do pełnego cennika ---- */
.pricing-more{display:flex;justify-content:center;margin-top:32px}
.pricing-more .btn svg{flex:none}


/* ---- Podstrona Promocje ---- */
.promo-card{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius);padding:40px;margin:0 0 40px}
.promo-badge{display:inline-flex;align-items:center;font-family:var(--f-body),sans-serif;font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:linear-gradient(135deg,var(--grad-1),var(--grad-3));padding:7px 14px;border-radius:var(--radius-pill);margin-bottom:16px}
.cennik-content .promo-card h2{margin:0 0 12px;font-size:clamp(1.6rem,1.1rem + 1.6vw,2.2rem);line-height:1.15}
.cennik-content .promo-card .promo-lede{font-size:16.5px;max-width:64ch;margin-bottom:0}
.promo-facts{list-style:none;margin:28px 0 8px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.promo-facts li{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);padding:18px 20px;display:flex;flex-direction:column;gap:4px;margin:0}
.promo-facts strong{font-family:var(--f-body),sans-serif;font-size:28px;font-weight:600;color:var(--magenta);line-height:1.1}
.promo-facts span{font-size:13.5px;color:var(--text-muted);line-height:1.45}
.cennik-content .promo-card h3{font-size:18px;margin:32px 0 12px}
.cennik-content .promo-card .promo-foot{font-size:13.5px;margin-top:16px}
.promo-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
@media (max-width:720px){
  .promo-card{padding:24px 16px}
  .promo-facts{grid-template-columns:1fr}
}


/* ---- Promocje: nagłówek z banerem ---- */
.promo-header{margin:0 0 40px}
.promo-banner{display:block;width:100%;height:auto;border-radius:var(--radius-sm);margin:0 0 28px}
.cennik-content .promo-header h2{margin:0 0 12px}
.promo-highlights{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 26px;padding:0}
.promo-highlights li{margin:0;padding:10px 18px;border-radius:var(--radius-pill);background:var(--paper);border:1px solid var(--line-2);font-weight:600;font-size:14.5px;line-height:1.3;color:var(--text)}
.promo-prices{scroll-margin-top:96px}
.promo-prices > h3:first-child{margin-top:0}
@media (max-width:720px){
  .promo-highlights li{width:100%}
  .promo-header{margin-bottom:28px}
}


/* ---- Promocje: hero jak na stronie głównej ---- */
.promo-hero{min-height:560px;padding:88px 0 80px}
.promo-hero .hero-bg img{object-position:78% 28%}
.promo-hero h2{font-size:clamp(2.1rem,.8rem + 3.4vw,3.25rem);margin:16px 0 18px;font-weight:800;letter-spacing:-.02em;line-height:1.08}
.promo-hero .hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 0}
.promo-hero .trust-row{margin-top:28px}
.promo-page{padding-top:64px}
@media (max-width:940px){
  .promo-hero{min-height:0;padding:64px 0 48px}
}

.promo-form-wrap{scroll-margin-top:96px}
.promo-claim{margin:0 0 4px}
.promo-claim h2{margin:0;font-size:clamp(1.5rem,1rem + 1.6vw,2.1rem);font-weight:800;letter-spacing:-.02em;line-height:1.15}
.promo-claim + h3{margin-top:22px}
/* Promocje: wyróżnione ceny netto */
.promo-prices .cennik-table td:nth-child(2){color:var(--magenta);font-weight:800;font-size:1.4rem;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.promo-prices .cennik-table th:nth-child(2){color:var(--magenta)}
@media (max-width:720px){.promo-prices .cennik-table td:nth-child(2){font-size:1.55rem}}
/* Podstrony: mniejszy odstęp pod menu */
.page-hero{padding:36px 0 4px}
.cennik{padding-top:36px}
@media (max-width:720px){.page-hero{padding:22px 0 0}.cennik{padding-top:24px}}
/* Cennik: większe ceny netto */
.cennik:not(.promo-page) .cennik-table td.is-num:nth-child(2){font-weight:800;font-size:1.4rem;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
@media (max-width:720px){.cennik:not(.promo-page) .cennik-table td.is-num:nth-child(2){font-size:1.55rem}}

/* ---- Podstrona Serwis ---- */
.serwis-hero{background:var(--paper-2);padding:40px 0 64px}
.serwis-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.serwis-hero h1{font-size:clamp(2rem,.9rem + 3vw,3.1rem);font-weight:800;letter-spacing:-.02em;line-height:1.08;margin:14px 0 16px}
.serwis-hero .lede{max-width:520px}
.serwis-hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.serwis-price-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:34px 32px;box-shadow:0 18px 50px -24px rgba(29,78,216,.35);text-align:left}
.serwis-price-label{display:block;font-family:var(--f-body),sans-serif;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}
.serwis-price-main{display:flex;align-items:baseline;gap:10px;margin:14px 0 4px;color:var(--magenta);line-height:1}
.serwis-price-main strong{font-size:clamp(4rem,2.6rem + 5vw,6rem);font-weight:800;letter-spacing:-.04em}
.serwis-price-main > span{font-size:clamp(1.5rem,1rem + 1.4vw,2.2rem);font-weight:800}
.serwis-price-sub{margin:0 0 18px;color:var(--text-muted)}
.serwis-price-firm{margin:0;padding-top:16px;border-top:1px solid var(--line);color:var(--text-muted)}
.serwis-price-firm strong{color:var(--text);font-size:1.15rem}
.serwis-price-link{display:inline-block;margin-top:16px;font-weight:600;color:var(--magenta);text-decoration:none;border-bottom:1px solid currentColor}
.serwis-why{padding:72px 0 24px}
.serwis-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px}
.serwis-benefit{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:28px 26px}
.serwis-benefit h3{margin:18px 0 10px;font-size:1.15rem;font-weight:800}
.serwis-benefit p{margin:0;color:var(--text-muted);line-height:1.6}
.serwis-icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:14px;background:var(--paper-3);color:var(--magenta)}
.serwis-prices{padding-top:56px;scroll-margin-top:96px}
.serwis-prices .section-head{margin-bottom:28px}
.serwis-prices-note{margin:18px 0 0;color:var(--text-muted);font-size:.95rem}
.serwis-prices-note a{color:var(--magenta)}
.serwis-loyalty-wrap{padding:24px 0 8px}
.serwis-loyalty{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:40px 44px;border-radius:var(--radius);background:linear-gradient(120deg,var(--grad-3),var(--grad-1));color:#fff}
.serwis-loyalty h2{margin:12px 0 10px;font-size:clamp(1.5rem,1rem + 1.4vw,2.1rem);font-weight:800;letter-spacing:-.02em;color:#fff}
.serwis-loyalty p{margin:0;max-width:640px;line-height:1.6;color:rgba(255,255,255,.92)}
.serwis-badge{display:inline-block;padding:6px 12px;border-radius:var(--radius-pill);background:rgba(255,255,255,.2);font-family:var(--f-body),sans-serif;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;font-weight:600}
.serwis-loyalty .btn{background:#fff;color:var(--grad-3);border:0;white-space:nowrap;box-shadow:0 10px 30px -12px rgba(0,0,0,.4)}
@media (max-width:940px){
 .serwis-hero-grid{grid-template-columns:1fr;gap:32px}
 .serwis-benefits{grid-template-columns:1fr}
 .serwis-loyalty{flex-direction:column;align-items:flex-start;padding:30px 24px}
}
@media (max-width:720px){
 .serwis-hero{padding:22px 0 40px}
 .serwis-price-card{padding:26px 22px}
 .serwis-why{padding:48px 0 8px}
 .serwis-hero-ctas .btn,.serwis-loyalty .btn{width:100%;justify-content:center;text-align:center}
}
/* Serwis: wyrównanie szerokości */
.serwis-prices .cennik-content{max-width:none;margin:0}
.serwis-prices .cennik-table tbody tr:last-child td:nth-child(2){font-size:1.1rem}
.serwis-loyalty-wrap + .kontakt-cta .cennik-cta{max-width:none;margin:0}
@media (max-width:720px){.serwis-prices .cennik-table tbody tr:last-child td:nth-child(2){font-size:1.1rem}}
.serwis-prices .cennik-table tbody tr:last-child td.is-num:nth-child(2){font-size:1.1rem}
@media (max-width:720px){.serwis-prices .cennik-table tbody tr:last-child td.is-num:nth-child(2){font-size:1.1rem}}
/* Serwis: formularz */
.serwis-form-wrap{padding:56px 0 24px;scroll-margin-top:96px}
.serwis-form{max-width:780px;margin:0 auto}
.serwis-form h2{margin:12px 0 10px;font-size:clamp(1.6rem,1rem + 1.6vw,2.3rem);font-weight:800;letter-spacing:-.02em;line-height:1.15}
.serwis-form > p{margin:0 0 24px;color:var(--text-muted);line-height:1.6}
.serwis-form > p a{color:var(--magenta);font-weight:600;text-decoration:none;white-space:nowrap}
@media (max-width:720px){.serwis-form-wrap{padding:40px 0 16px}}
/* Serwis: slider korzyści na mobile */
@media (max-width:940px){
  .serwis-benefits{display:flex;grid-template-columns:none;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;gap:14px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding:8px 16px 18px;margin:28px -16px 0;touch-action:pan-x pan-y;scroll-padding-left:16px}
  .serwis-benefits::-webkit-scrollbar{display:none}
  .serwis-benefit{flex:0 0 82%;scroll-snap-align:start}
}
@media (min-width:600px) and (max-width:940px){.serwis-benefit{flex-basis:46%}}
/* Opinie Google na żywo (Trustindex, po zgodzie na cookies) */
.reviews-live{margin-top:32px}
.reviews-consent{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;padding:44px 24px;border:1px dashed var(--line-2);border-radius:var(--radius);background:var(--paper-2);color:var(--text-muted)}
.reviews-consent p{margin:0;max-width:440px}
.reviews-live pre.ti-widget{margin:0;padding:0;border:0;background:none;overflow:visible;white-space:normal;font:inherit}
/* Hero: animowane liczby */
.count-up{font-variant-numeric:tabular-nums}
/* Przyciski: gradient pod obramowaniem */
.btn{background-origin:border-box}


/* ---- Cennik wg marek ---- */
.brand-prices{ margin:72px 0 0; scroll-margin-top:92px; }
.brand-prices-head{ max-width:720px; margin:0 0 30px; }
.brand-prices-head h2{ margin:8px 0 12px; }
.brand-prices-head p{ margin:0; color:var(--text-muted); font-size:16px; line-height:1.65; }
.brand-tiles{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.brand-tile{ display:flex; flex-direction:column; align-items:flex-start; gap:14px; padding:24px; border-radius:var(--radius); border:1px solid var(--line-2); background:var(--paper); color:var(--text); text-decoration:none; transition:border-color .2s, box-shadow .2s, transform .2s; }
.brand-tile:hover,.brand-tile:focus-visible{ border-color:var(--cyan); box-shadow:var(--shadow); transform:translateY(-2px); }
.brand-tile.is-active{ border-color:var(--grad-2); box-shadow:0 0 0 2px rgba(37,99,235,.18), var(--shadow); }
.brand-tile-logo{ display:flex; align-items:center; height:48px; }
.brand-tile-logo img{ max-height:44px; max-width:150px; width:auto; height:auto; object-fit:contain; }
.brand-tile-from{ font-size:14px; color:var(--text-muted); }
.brand-tile-from strong{ color:var(--text); font-size:1.15rem; }
.brand-tile-cta{ margin-top:auto; font-weight:600; font-size:14px; color:var(--grad-3); }
.brand-panel{ margin-top:26px; padding:30px 34px; border-radius:var(--radius); border:1px solid rgba(56,189,248,.4); background:var(--paper); scroll-margin-top:92px; }
.brand-panel[hidden]{ display:none; }
.brand-panel-head{ display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:14px; }
.brand-panel-head h3{ margin:0; font-size:1.35rem; }
.brand-panel-links{ display:flex; align-items:center; gap:16px; }
.brand-panel-links a{ font-size:14px; }
.brand-panel-close{ appearance:none; border:1px solid var(--line-2); background:var(--paper-2); color:var(--text); border-radius:var(--radius-pill); padding:8px 16px; font:inherit; font-size:14px; cursor:pointer; }
.brand-panel-actions{ display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.brand-intro{ margin:0 0 18px; color:var(--text-muted); line-height:1.65; max-width:70ch; }
.brand-other{ display:flex; flex-wrap:wrap; gap:10px; margin:44px 0 0; }
.brand-other a{ padding:9px 16px; border:1px solid var(--line-2); border-radius:var(--radius-pill); color:var(--text); font-size:14px; text-decoration:none; }
.brand-other a:hover{ border-color:var(--cyan); }

/* Karty serii (podstrona marki i panel na /cennik/) */
.model-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; align-items:start; margin:0 0 8px; }
.model-card{ border:1px solid var(--line-2); border-radius:var(--radius); background:var(--paper); overflow:hidden; transition:border-color .2s, box-shadow .2s; }
.model-card:hover{ border-color:var(--cyan); }
.model-card[open]{ grid-column:1 / -1; border-color:var(--grad-2); box-shadow:var(--shadow); }
.model-card summary{ display:flex; flex-direction:column; gap:14px; padding:14px; list-style:none; cursor:pointer; }
.model-card summary::-webkit-details-marker{ display:none; }
.model-card summary:focus-visible{ outline:2px solid var(--grad-2); outline-offset:-2px; }
.model-card[open] summary{ flex-direction:row; align-items:center; }
.model-img{ display:flex; align-items:center; justify-content:center; width:100%; aspect-ratio:4 / 3; border-radius:var(--radius-sm); background:var(--paper-2); overflow:hidden; }
.model-card[open] .model-img{ width:150px; flex:none; }
.model-img img{ width:100%; height:100%; object-fit:contain; }
.model-img:empty{ background:var(--paper-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 64'%3E%3Crect x='6' y='8' width='108' height='34' rx='9' fill='none' stroke='%2338bdf8' stroke-width='3'/%3E%3Cpath d='M18 32h84' stroke='%2338bdf8' stroke-width='3' stroke-linecap='round'/%3E%3Cpath d='M30 52c6 4 12 4 18 0M72 52c6 4 12 4 18 0' fill='none' stroke='%237dd3fc' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") center / 52% no-repeat; }
.model-info{ display:flex; flex-direction:column; gap:4px; padding:0 4px 4px; flex:1; }
.model-card[open] .model-info{ padding:0; }
.model-name{ font-weight:700; font-size:1.05rem; line-height:1.3; }
.model-range,.model-from{ font-size:14px; color:var(--text-muted); }
.model-from strong{ color:var(--text); font-size:1.15rem; }
.model-toggle{ margin-top:6px; font-size:14px; font-weight:600; color:var(--grad-3); }
.model-toggle::after{ content:" ↓"; }
.model-card[open] .model-toggle::after{ content:" ↑"; }
.model-body{ padding:6px 18px 20px; }
.model-body .cennik-table{ margin:0; }
.cennik-table td small{ display:block; margin-top:2px; font-size:12.5px; font-weight:400; color:var(--text-muted); }
@media (max-width:920px){
  .brand-tiles,.model-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .brand-panel{ padding:22px 18px; }
}
@media (max-width:560px){
  .brand-tiles{ gap:12px; }
  .brand-tile{ padding:18px; }
  .model-grid{ grid-template-columns:1fr; gap:12px; }
  .model-card summary{ flex-direction:row; align-items:center; }
  .model-img,.model-card[open] .model-img{ width:96px; flex:none; }
  .model-body{ padding:4px 12px 16px; }
}

/* W cennikach marek główną ceną jest brutto dla osoby prywatnej (8% VAT). */
.cennik-content .model-body .cennik-table tbody td:nth-child(2){ font-size:14.5px; font-weight:600; }
.cennik-content .model-body .cennik-table tbody td:nth-child(3){ font-size:20px; font-weight:800; }

/* Cennik: sekcja marek na górze strony */
.cennik-content{margin-top:0}
body.page-template-page-cennik .brand-prices,.brand-prices{margin-top:16px;margin-bottom:64px}

/* Karty modeli: stała siatka + panel cen pod rzędem kart */
.model-card summary{ gap:12px; }
.model-img{ aspect-ratio:16 / 9; }
.model-card.is-active{ border-color:var(--grad-2); box-shadow:var(--shadow); }
.model-card.is-active .model-toggle::after{ content:" ↑"; }
.model-detail{ grid-column:1 / -1; position:relative; margin:6px 0 10px; padding:20px 20px 14px; border:1px solid var(--grad-2); border-radius:var(--radius); background:var(--paper); box-shadow:var(--shadow); }
.model-detail::before{ content:""; position:absolute; top:-8px; left:calc(var(--ax, 50px) - 7px); width:14px; height:14px; background:var(--paper); border-left:1px solid var(--grad-2); border-top:1px solid var(--grad-2); transform:rotate(45deg); }
.model-detail-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin:0 0 14px; }
.model-detail-head strong{ display:block; font-size:1.125rem; }
.model-detail-head span{ display:block; margin-top:2px; font-size:.875rem; color:var(--muted, #6b7280); }
.model-detail-close{ flex:none; padding:8px 16px; border:1px solid var(--line-2); border-radius:999px; background:var(--paper-2); font:inherit; font-size:.875rem; cursor:pointer; }
.model-detail-close:hover{ border-color:var(--cyan); }
.model-detail .cennik-table{ margin:0; }
@media (max-width:920px){ .model-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:560px){ .model-grid{ grid-template-columns:1fr; } .model-detail{ padding:16px 14px 8px; } }


/* Cechy modeli na kartach cennika marek */
.model-feats{ display:flex; flex-wrap:wrap; gap:6px; margin:8px 0 2px; }
.model-feats span{ font-size:12px; font-weight:600; line-height:1; padding:6px 10px; border-radius:var(--radius-pill); background:var(--paper-2); border:1px solid var(--line); color:var(--text-muted); white-space:nowrap; }
.model-about{ margin:0 0 20px; padding:0 0 18px; border-bottom:1px solid var(--line); }
.model-desc{ margin:0 0 14px; color:var(--text-muted); line-height:1.6; max-width:72ch; }
.model-feat-list{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:10px 22px; }
.model-feat-list li{ position:relative; margin:0; padding-left:24px; font-size:14.5px; font-weight:600; line-height:1.4; color:var(--text); }
.model-feat-list li::before{ content:""; position:absolute; left:0; top:2px; width:16px; height:16px; border-radius:50%; background:var(--paper-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.3l2.3 2.3 4.7-5' fill='none' stroke='%231d4ed8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 100% no-repeat; border:1px solid var(--line-2); }
.model-detail .model-about{ margin:0 0 18px; }
@media (max-width:560px){ .model-feats{ display:none; } .model-feat-list{ grid-template-columns:1fr; } }

/* Logo w kafelkach marek: nie wychodzi poza kafelek */
.brand-tile{ min-width:0; }
.brand-tile-logo{ width:100%; min-width:0; overflow:hidden; }
.brand-tile-logo img{ max-width:100%; max-height:40px; }
@media (max-width:560px){ .brand-tile-logo{ height:36px; } .brand-tile-logo img{ max-height:32px; } }

/* Logo marek w karuzeli jako linki do cenników */
a.marquee-logo{ text-decoration:none; border-radius:6px; }
a.marquee-logo:focus-visible{ outline:2px solid var(--grad-2); outline-offset:4px; }
a.marquee-logo:focus-visible img{ filter:none; }

/* Cienie kart w karuzelach mobilnych nie są ucinane */
@media (max-width:880px){ .steps{ padding-bottom:36px; margin-bottom:-26px; } }
@media (max-width:920px){ .plans{ padding-bottom:46px; margin-bottom:-26px; } }

/* Etykiety sekcji: znak firmowy (płatek) zamiast kreski */
.eyebrow{ gap:8px; }
.eyebrow::before{ content:""; width:20px; height:20px; flex:none; border-radius:0; background:url("/wp-content/uploads/2026/10/festcool-favicon-300x300.png") center/contain no-repeat; display:inline-block; }

/* Pole „Plan mieszkania": estetyczny przycisk wyboru pliku */
.file-drop input[type="file"]::file-selector-button{ font:inherit; font-size:12.5px; font-weight:600; padding:8px 16px; margin-right:12px; border:1px solid var(--line-2); border-radius:999px; background:var(--paper); color:var(--text); cursor:pointer; transition:border-color .2s ease, color .2s ease, box-shadow .2s ease; }
.file-drop input[type="file"]::file-selector-button:hover{ border-color:var(--grad-1); color:var(--grad-3); box-shadow:0 4px 12px -6px rgba(29,78,216,.45); }

/* Nagłówki tabel cennika: „Cena brutto/netto" w pierwszym wierszu, opis poniżej */
.cennik-table thead th .th-main{ display:block; font-size:12px; font-weight:700; letter-spacing:.06em; color:var(--text); }
.cennik-table thead th .th-sub{ display:block; margin-top:3px; font-size:10.5px; font-weight:500; letter-spacing:.03em; text-transform:none; color:var(--text-soft); }

/* Hero: nagłówek w trzech wierszach, duża cena */
.hero h1 .h1-line{ display:block; }
.hero h1 .h1-price-line{ display:flex; flex-wrap:wrap; align-items:baseline; gap:0 .28em; margin-top:.06em; }
.hero h1 .h1-od{ font-size:.55em; font-weight:700; letter-spacing:0; color:var(--text-muted); }
.hero h1 .price{ font-size:2.3em; line-height:1.05; letter-spacing:-.03em; white-space:nowrap; }
@media (max-width:420px){ .hero h1 .price{ font-size:2.05em; } }
.hero h1{ font-size:clamp(1.6rem, 7.2vw, 2.8rem); text-wrap:nowrap; }
.hero h1 .h1-line{ white-space:nowrap; }


/* ===== Czcionki: Lato (tekst) + Montserrat (nagłówki, ceny, akcenty) ===== */
:root{ --f-body:"Lato"; --f-head:"Montserrat"; }
h1,h2,h3,h4,h5,
.eyebrow,.btn,.brand-sub,.nav-phone,.plan-tag,.plan-price,.step .num,.rating-badge .num,
.promo-badge,.promo-facts strong,.footer-grid h5,.cennik-table thead th,.serwis-badge,.serwis-price-label,
.owner-quote p,.model-from strong,.brand-tile-from strong,.nav a,.main-nav a{ font-family:var(--f-head),ui-sans-serif,system-ui,sans-serif; }

/* Podstrona Cennik: układ przycisków-kotwic na telefonie */
@media (max-width:560px){
  .cennik-nav a{ white-space:nowrap; }
  .cennik-nav .container{ display:grid; grid-template-columns:repeat(2,max-content); justify-content:start; }
  .cennik-nav a:nth-child(1){ grid-column:1 / -1; justify-self:start; }
}

/* Hero: „JUŻ OD" kapitalikami w dwóch wierszach obok dużej ceny */
.hero h1 .h1-price-line{ align-items:center; gap:0 .22em; flex-wrap:nowrap; }
.hero h1 .h1-od{ display:flex; flex-direction:column; font-size:.5em; font-weight:800; letter-spacing:.14em; text-transform:uppercase; line-height:1.1; color:var(--text-muted); }
.hero h1 .h1-od span{ display:block; }

.btn, .nav-right{ white-space:nowrap; }
.nav-right{ flex:none; }

/* Hero: nagłówek kapitalikami, lżejsza waga */
.hero h1{ text-transform:uppercase; font-weight:600; letter-spacing:.005em; font-size:clamp(1.3rem, 5.4vw, 2.3rem); }
.hero h1 .price{ font-weight:700; }
.hero h1 .h1-od{ font-weight:600; }

/* Hero: etykieta w jednej linii */
.hero .eyebrow{ white-space:nowrap; }
@media (max-width:560px){ .hero .eyebrow{ font-size:clamp(9px, 2.6vw, 12px); letter-spacing:.07em; gap:6px; } .hero .eyebrow::before{ width:16px; height:16px; } }

/* Przegląd wizualny: „zł" w tabelach także na desktopie, równe karty serii, hero na wąskich telefonach */
@media (min-width:721px){
  .cennik-table td.is-num::after{ content:"zł"; margin-left:.3em; font-size:.8em; font-weight:500; color:var(--text-soft); }
}
.model-grid{ align-items:stretch; }
.model-card:not([open]){ display:flex; flex-direction:column; }
.model-card:not([open]) summary{ flex:1; }
.model-card:not([open]) .model-info{ flex:1; display:flex; flex-direction:column; }
.model-card:not([open]) .model-toggle{ margin-top:auto; padding-top:10px; }
@media (max-width:380px){ .hero h1{ font-size:4.8vw; } }
@media (min-width:921px){ .trust-row{ gap:8px 14px; } .trust-item{ font-size:13px; } }
@media (min-width:881px){ body > footer{ padding-bottom:84px; } }
.footer-grid li{ font-size:13.5px; }

/* Hero na telefonie: mniejszy odstęp między menu a etykietą */
@media (max-width:880px){ .hero{ padding-top:28px; } }

/* Podpis logo w jednej linii */
.brand-sub{ white-space:nowrap; }
@media (max-width:560px){ .brand-sub{ font-size:9px; letter-spacing:.1em; } }
@media (max-width:380px){ .brand-sub{ font-size:8px; letter-spacing:.08em; } }

/* Hero h1 na pełną szerokość telefonu (czcionka liczona z szerokości kolumny) */
@media (max-width:880px){
  .hero-copy{ container-type:inline-size; }
  .hero h1{ font-size:min(calc(100cqw / 16.4), 2.6rem); }
}
@media (max-width:350px){ .hero-ctas .btn{ white-space:normal; } }

/* Menu mobilne: wyrównanie do prawej, przyciski Zadzwoń / Napisz do nas */
@media (max-width:880px){
  .mobile-panel .container{ align-items:flex-end; text-align:right; }
  .mobile-panel .nav-links{ display:flex; flex-direction:column; align-items:flex-end; text-align:right; }
  .mobile-panel a.btn{ align-self:stretch; justify-content:center; text-align:center; }
  .mobile-panel a.btn-primary{ color:#fff; }
  .mobile-panel a.btn-outline{ color:var(--text); }
}

/* Menu mobilne: panel wysuwany z prawej strony */
@media (max-width:880px){
  .mobile-panel, .mobile-panel.open{ display:block; position:fixed; top:0; right:0; bottom:0; left:auto; width:min(84vw,340px); z-index:1001; background:var(--paper); border:0; border-left:1px solid var(--line); box-shadow:-18px 0 40px rgba(15,23,42,.18); overflow-y:auto; overscroll-behavior:contain; transform:translateX(105%); visibility:hidden; transition:transform .28s ease, visibility 0s linear .28s; }
  .mobile-panel.open{ transform:none; visibility:visible; transition:transform .28s ease; }
  .mobile-panel .container{ padding:76px 24px 28px; }
  .panel-close{ position:absolute; top:14px; right:16px; width:44px; height:44px; padding:0; border-radius:12px; border:1px solid var(--line); background:var(--bg-soft, #f4f6fb); color:var(--text); font-size:28px; line-height:1; cursor:pointer; }
  .menu-backdrop{ position:fixed; inset:0; background:rgba(10,12,24,.5); opacity:0; pointer-events:none; transition:opacity .28s ease; z-index:1000; }
  html.menu-open .menu-backdrop{ opacity:1; pointer-events:auto; }
  html.menu-open{ overflow:hidden; }
}
@media (min-width:881px){ .menu-backdrop, .panel-close{ display:none; } }
@media (prefers-reduced-motion:reduce){ .mobile-panel, .menu-backdrop{ transition:none !important; } }

/* Panel boczny: pozycje na środku, kapitaliki, animacja wciśnięcia */
@media (max-width:880px){
  .mobile-panel .container{ align-items:stretch; text-align:center; gap:10px; }
  .mobile-panel .nav-links{ align-items:stretch; text-align:center; gap:4px; width:100%; }
  .mobile-panel .nav-links li{ width:100%; }
  .mobile-panel .nav-links a{ display:block; padding:14px 12px; border-radius:14px; text-align:center; text-transform:uppercase; letter-spacing:.12em; font-family:var(--f-head),ui-sans-serif,system-ui,sans-serif; font-size:14px; font-weight:600; color:var(--text); transition:transform .12s ease, background-color .12s ease, color .12s ease; -webkit-tap-highlight-color:transparent; }
  .mobile-panel .nav-links a:active{ transform:scale(.94); background:rgba(37,99,235,.10); color:var(--grad-2, #2563eb); }
  .mobile-panel a.btn{ transition:transform .12s ease, box-shadow .12s ease; }
  .mobile-panel a.btn:active{ transform:scale(.96); }
}
@media (prefers-reduced-motion:reduce){ .mobile-panel a, .mobile-panel a.btn{ transition:none !important; } .mobile-panel a:active{ transform:none !important; } }

/* Podpis „Klimatyzacja z montażem" tylko na telefonie */
@media (min-width:881px){ .brand-sub{ display:none; } }

/* Tytuły hero na wszystkich podstronach: kapitaliki, zwykły bold (700) */
h1, .hero-copy h2{ text-transform:uppercase; font-weight:700; letter-spacing:.01em; overflow-wrap:break-word; }
.hero h1, .serwis-hero h1, .hero-copy h2{ font-weight:700; letter-spacing:.01em; }
.serwis-hero h1{ font-size:clamp(1.55rem,4.2vw,2.5rem); }
.hero-copy h2{ font-size:clamp(1.55rem,4.6vw,2.6rem); }
@media (max-width:560px){ h1{ font-size:clamp(1.3rem,6.2vw,1.8rem); } }

/* Nagłówki sekcji (pod niebieskimi etykietami): ten sam styl co tytuły hero — kapitaliki, bold 700 */
h2:not(.cc h2):not(.entry-content h2){ text-transform:uppercase; font-weight:700; letter-spacing:.01em; overflow-wrap:break-word; }

/* Mniejsze odstępy na telefonie i tablecie — sekcje, nagłówki sekcji, bloki */
@media (max-width:880px){
  .hero, .hero.promo-hero{ padding-bottom:36px; }
  .promo{ padding-bottom:20px; }
  .brands{ padding-top:36px; padding-bottom:32px; }
  .process, .pricing, .reviews{ padding-top:40px; padding-bottom:40px; }
  .contact{ padding-top:40px; padding-bottom:36px; }
  .faq{ padding-top:36px; padding-bottom:40px; }
  .section-head{ gap:0; margin-bottom:20px; }
  .section-head .lede{ margin:12px 0 0; }
  .steps{ margin-top:16px; }
  .owner-quote{ margin-top:20px; }
  .cennik, .cennik.promo-page{ padding-bottom:40px; }
  .cennik.serwis-prices{ padding-top:36px; padding-bottom:40px; }
  .serwis-hero{ padding-bottom:28px; }
  .serwis-why{ padding-top:32px; }
  .serwis-form-wrap{ padding-top:28px; }
  .kontakt-cta{ padding-bottom:44px; }
  .poradnik.poradnik-archive{ padding-top:36px; padding-bottom:44px; }
  .cennik-content h2{ margin:28px 0 12px; }
  .promo-inner{ flex-wrap:wrap; padding:22px 18px; gap:14px; }
  .promo-inner .btn{ flex:1 1 100%; width:100%; justify-content:center; }
}

/* Przyciski-kotwice cennika: kapitaliki; „Cennik według marek" na środku i 120% większy */
.cennik-nav a{ text-transform:uppercase; letter-spacing:.06em; font-size:11.5px; }
.cennik-nav a:nth-child(1){ font-size:13.8px; padding:9.6px 19.2px; }
@media (max-width:560px){
  .cennik-nav .container{ justify-content:center; }
  .cennik-nav a:nth-child(1){ justify-self:center; }
}

/* Jeszcze mniejsze odstępy między sekcjami na telefonie */
@media (max-width:880px){
  .promo-card{ margin-bottom:0; }
  .promo{ padding-bottom:0; }
  .brands{ padding-top:28px; padding-bottom:28px; }
  .process, .pricing, .reviews{ padding-top:30px; padding-bottom:30px; }
  .contact{ padding-top:30px; padding-bottom:28px; }
  .faq{ padding-top:28px; padding-bottom:32px; }
  .cennik-cta{ margin-top:36px; }
  .cennik.serwis-prices{ padding-top:24px; padding-bottom:28px; }
  .serwis-why{ padding-bottom:0; }
  .serwis-loyalty-wrap{ padding-top:16px; }
  .serwis-form-wrap{ padding-top:20px; }
  .poradnik.poradnik-archive{ padding-top:28px; }
}

/* Przyciski-kotwice cennika na telefonie: dwie równe kolumny, bez wychodzenia poza ekran */
@media (max-width:560px){
  .cennik-nav .container{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .cennik-nav a{ justify-self:stretch; text-align:center; padding:8px 6px; letter-spacing:.04em; font-size:clamp(9.5px,2.9vw,11.5px); }
  .cennik-nav a:nth-child(1){ justify-self:center; padding:9.6px 19px; font-size:clamp(11.4px,3.5vw,13.8px); }
}
@media (max-width:560px){ .cennik-nav a:nth-child(6){ grid-column:1 / -1; justify-self:center; width:calc(50% - 4px); } }

/* Hero h1: linia 1 +20%, linia 2 −20%, „JUŻ OD" na wysokość cyfr ceny */
.hero h1 .h1-line:nth-child(1){ font-size:1.2em; }
.hero h1 .h1-line:nth-child(2){ font-size:.8em; }
.hero h1 .h1-od{ font-size:.92em; line-height:1.05; align-self:center; }
@media (max-width:880px){
  .hero h1{ font-size:min(calc(100cqw / 19.8), 2.2rem); }
  .hero h1 .h1-price-line{ font-size:1.2em; }
}


/* v2.0.87 — hero „JUŻ OD” −25% */
.hero h1 .h1-od{ font-size:.69em; line-height:1.05; align-self:center; }


/* v2.0.88 — hero: „zł” −35% */
.hero h1 .price .cur{ font-size:.65em; }
@media (max-width:560px){ .hero .lede .br-d{ display:none; } }

/* v2.0.90 — cechy modeli w cenniku: gradient jak przyciski */
.model-feats span{ background:linear-gradient(120deg,#38bdf8,#2563eb 55%,#1d4ed8); color:#fff; border:0; font-weight:600; box-shadow:0 6px 14px -8px rgba(29,78,216,.55); }

/* v2.0.91 — logo Ande: ostatni wiersz pikseli pliku ande.png to ciemna kreska; obcinamy go */
img[src*="ande.png"]{ clip-path:inset(0 0 5% 0); }

/* v2.0.93 — listy cech modeli: śnieżynka FestCool zamiast ptaszka */
.model-feat-list li::before{ width:18px; height:18px; top:1px; left:-1px; border:0; border-radius:0; background:url("/wp-content/uploads/2026/10/festcool-favicon-300x300.png") center/contain no-repeat; }


/* ---- Realizacje ---- */
.real{ padding:36px 0 18px; }
.real + .real{ padding-top:18px; }
.real-nav{ display:flex; flex-wrap:wrap; gap:8px; margin:0 0 26px; }
.real-nav a{ display:inline-flex; align-items:center; padding:10px 20px; border:1px solid var(--line-2); border-radius:var(--radius-pill); background:var(--paper); font:700 11.5px/1 var(--f-head); text-transform:uppercase; letter-spacing:.06em; color:var(--text); transition:border-color .2s, color .2s, transform .15s; }
.real-nav a:hover{ border-color:var(--grad-2); color:var(--grad-3); }
.real-nav a:active{ transform:scale(.95); }
.real-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.real-item{ position:relative; display:block; aspect-ratio:4/5; overflow:hidden; border-radius:var(--radius-sm); background:var(--paper-2); box-shadow:var(--shadow); cursor:zoom-in; }
.real-item img{ display:block; width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.real-item:hover img{ transform:scale(1.05); }
.real-grid:not(.is-open) > .real-item:nth-child(n+13){ display:none; }
.real-more{ display:flex; justify-content:center; margin-top:24px; }
.real-more[hidden]{ display:none; }
.real-extra{ display:none; }
.real-grid-biz{ grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.real-card{ display:flex; flex-direction:column; background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); }
.real-card .real-item{ aspect-ratio:3/2; border-radius:0; box-shadow:none; }
.real-card-body{ padding:14px 18px 18px; display:flex; flex-direction:column; gap:3px; }
.real-card-body strong{ font:700 15px/1.3 var(--f-head); color:var(--text); }
.real-card-body span{ font-size:13.5px; color:var(--text-muted); }
.kontakt-cta .cennik-cta{ margin-top:0; }
.lb{ position:fixed; inset:0; z-index:9999; display:flex; align-items:center; justify-content:center; background:rgba(8,12,28,.92); opacity:0; visibility:hidden; transition:opacity .2s, visibility .2s; }
.lb.is-open{ opacity:1; visibility:visible; }
.lb-fig{ margin:0; display:flex; flex-direction:column; align-items:center; gap:12px; max-width:92vw; }
.lb-fig img{ max-width:92vw; max-height:80vh; width:auto; height:auto; object-fit:contain; border-radius:12px; background:#111; }
.lb-fig figcaption{ color:#fff; font:600 14px/1.4 var(--f-body); text-align:center; max-width:80vw; }
.lb button{ position:absolute; display:flex; align-items:center; justify-content:center; width:46px; height:46px; border:0; border-radius:50%; background:rgba(255,255,255,.14); color:#fff; font:400 30px/1 var(--f-body); cursor:pointer; transition:background .2s, transform .15s; }
.lb button:hover{ background:rgba(255,255,255,.26); }
.lb button:active{ transform:scale(.92); }
.lb-close{ top:16px; right:16px; }
.lb-prev{ left:16px; top:50%; margin-top:-23px; }
.lb-next{ right:16px; top:50%; margin-top:-23px; }
.lb-single .lb-prev, .lb-single .lb-next{ display:none; }
html.lb-open{ overflow:hidden; }
@media (max-width:1000px){
  .real-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .real-grid-biz{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:640px){
  .real{ padding:26px 0 10px; }
  .real-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .real-grid-biz{ grid-template-columns:minmax(0,1fr); gap:14px; }
  .lb-prev{ left:8px; } .lb-next{ right:8px; } .lb-close{ top:10px; right:10px; }
  .lb button{ width:42px; height:42px; }
}
.real-nav a, .real-item, .real-card a{ text-decoration:none; }
.real-card-body strong{ min-height:2.6em; }
@media (max-width:640px){ .real-card-body strong{ min-height:0; } }
/* v2.0.96 — menu desktop: 8 pozycji (doszły Realizacje), ciaśniej na węższych ekranach */
@media (min-width:881px) and (max-width:1180px){ .nav-links{ gap:18px; } .nav-links a{ font-size:14px; } }
@media (min-width:881px) and (max-width:960px){ .nav-links{ gap:13px; } .nav-links a{ font-size:13.5px; } }

/* v2.0.98 — Realizacje: strona wyboru (kafelki z mozaiką) + galerie na podstronach */
.real-tiles{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.real-tile{ display:flex; flex-direction:column; background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); text-decoration:none; color:inherit; transition:transform .25s ease, box-shadow .25s ease; }
.real-tile:hover{ transform:translateY(-4px); box-shadow:var(--shadow-lg); }
.real-tile:active{ transform:scale(.985); }
.real-mosaic{ display:grid; grid-template-columns:1fr 1fr; gap:3px; aspect-ratio:4/3; background:var(--paper-2); overflow:hidden; }
.real-cell{ display:block; overflow:hidden; min-height:0; }
.real-cell img{ display:block; width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.real-tile:hover .real-cell img{ transform:scale(1.05); }
.real-tile-body{ display:flex; flex-direction:column; align-items:flex-start; gap:8px; padding:22px 26px 28px; }
.real-tile-body h2{ margin:0; }
.real-tile-text{ color:var(--text-muted); font-size:15.5px; line-height:1.55; }
.real-tile-body .btn{ margin-top:10px; }
.real-back{ text-decoration:none; }
.real-nav a.is-active{ background:linear-gradient(120deg,var(--grad-1),var(--grad-2) 55%,var(--grad-3)); border-color:transparent; color:#fff; }
.real-nav a.is-active:hover{ color:#fff; }
.real-also{ display:flex; justify-content:center; margin-top:34px; }
@media (max-width:760px){
  .real-tiles{ grid-template-columns:minmax(0,1fr); gap:18px; }
  .real-tile-body{ padding:18px 20px 22px; }
}

/* Instalacja przygotowawcza */
.prz-block{ padding:56px 0; }
.prz-list{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.prz-list li{ position:relative; background:#fff; border:1px solid var(--line); border-radius:var(--radius-sm); padding:16px 18px 16px 56px; line-height:1.5; color:var(--text); }
.prz-list li::before{ content:""; position:absolute; left:16px; top:50%; width:28px; height:28px; margin-top:-14px; background:url(/wp-content/uploads/2026/10/festcool-favicon-300x300.png) center/contain no-repeat; }
.prz-steps{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.prz-step{ background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:24px 22px; box-shadow:var(--shadow); }
.prz-num{ display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:50%; background:linear-gradient(135deg,var(--grad-1),var(--grad-3)); color:#fff; font-family:var(--f-head); font-weight:700; margin-bottom:14px; }
.prz-step h3{ margin:0 0 8px; font-size:1.05rem; }
.prz-step p{ margin:0; color:var(--text-muted); line-height:1.55; }
.prz-faq-list{ display:grid; gap:12px; max-width:860px; }
.prz-faq-list details{ background:#fff; border:1px solid var(--line); border-radius:var(--radius-sm); padding:0 20px; }
.prz-faq-list details[open]{ border-color:var(--line-2); box-shadow:var(--shadow); }
.prz-faq-list summary{ cursor:pointer; list-style:none; padding:18px 28px 18px 0; font-family:var(--f-head); font-weight:600; position:relative; }
.prz-faq-list summary::-webkit-details-marker{ display:none; }
.prz-faq-list summary::after{ content:"+"; position:absolute; right:2px; top:50%; transform:translateY(-50%); font-size:1.4rem; font-weight:500; color:var(--text-muted); }
.prz-faq-list details[open] summary::after{ content:"\2212"; }
.prz-faq-list details p{ margin:0 0 18px; color:var(--text-muted); line-height:1.6; }
@media (max-width:1000px){ .prz-steps{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:880px){ .prz-block{ padding:30px 0; } }
@media (max-width:560px){ .prz-list, .prz-steps{ grid-template-columns:minmax(0,1fr); } }
