/* Montserrat self-hosted (Brave/adblock blokują Google Fonts) */
@font-face{font-family:'Montserrat';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/montserrat-400-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/montserrat-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/montserrat-600-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/montserrat-600-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/montserrat-700-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/montserrat-700-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:800;font-display:swap;src:url('../fonts/montserrat-800-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:800;font-display:swap;src:url('../fonts/montserrat-800-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}

/* =========================================================
   EDkan — REDESIGN LAYER (dark + orange, modern minimal)
   Ładowany jako ostatni. Nadpisuje style-base / bootstrap / style.css.
   Wyłączenie: usuń enqueue 'edkan-redesign' w functions.php.
   ========================================================= */

:root{
  --rd-bg:#131110; --rd-bg-2:#0d0c0b; --rd-surface:#1c1917; --rd-surface-2:#241f1c;
  --rd-ink:#f6f1ea; --rd-ink-soft:#cfc6bb; --rd-muted:#968c7f;
  --rd-line:#2e2825; --rd-line-strong:#3d3531;
  --rd-accent:#f7941d; --rd-accent-2:#ff6a00; --rd-accent-ink:#161005;
  --rd-accent-tint:rgba(247,148,29,.13); --rd-accent-glow:rgba(247,148,29,.26);
  --rd-shadow:0 1px 2px rgba(0,0,0,.5),0 22px 48px -20px rgba(0,0,0,.85);
  --rd-radius:14px; --rd-radius-lg:22px;
}

html{scroll-behavior:smooth}
[id]{scroll-margin-top:150px}

body{
  background:var(--rd-bg)!important;
  color:var(--rd-ink)!important;
  font-family:'Montserrat',sans-serif;
}
.wrapper{background:var(--rd-bg);overflow-x:clip}
a{color:inherit}
h1,h2,h3,h4{color:var(--rd-ink);letter-spacing:-.02em}
p{color:var(--rd-ink-soft)}

/* ---------- section rhythm ---------- */
.section{padding:82px 0}
.section.pt-0{padding-top:0}
.heading h2{font-size:clamp(28px,3.6vw,40px);font-weight:800;text-wrap:balance}
.heading.text-center{margin-bottom:44px}

/* ---------- buttons ---------- */
.btn.btn-primary,.btn.btn-secondary,button[type="submit"],input[type="submit"]{
  --bs-btn-bg:transparent;--bs-btn-border-color:transparent;
  background:linear-gradient(150deg,var(--rd-accent),var(--rd-accent-2))!important;
  color:var(--rd-accent-ink)!important;border:0!important;border-radius:12px!important;
  padding:14px 28px!important;font-weight:700!important;box-shadow:0 8px 22px -8px var(--rd-accent-glow);
  transition:.16s;
}
.btn.btn-primary:hover,.btn.btn-secondary:hover,button[type="submit"]:hover,input[type="submit"]:hover{
  filter:brightness(1.07);transform:translateY(-1px);color:var(--rd-accent-ink)!important;
}

/* =========================================================
   TOPBAR
   ========================================================= */
.topbar{background:var(--rd-bg-2);border-bottom:1px solid var(--rd-line);padding:7px 0;font-size:13px}
.topbar-wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.topbar-contacts{display:flex;gap:20px;flex-wrap:wrap;align-items:center}
.topbar-contacts p{margin:0;display:flex;align-items:center;gap:6px;font-size:13px;color:var(--rd-ink-soft);white-space:nowrap}
.topbar-contacts a{color:var(--rd-ink-soft);text-decoration:none}
.topbar-contacts a:hover{color:var(--rd-accent)}
/* Brave/adblock blokują Google Fonts → ikony "material-symbols" wyciekają jako tekst (info/mail/call). Chowamy je. */
.topbar .material-symbols-outlined{display:none!important}
.topbar .soc-links{display:flex;gap:10px;list-style:none;margin:0;padding:0}
.topbar .soc-links svg path{fill:var(--rd-muted);transition:.15s}
.topbar .soc-links a:hover svg path{fill:var(--rd-accent)}
@media(max-width:900px){.topbar .schedule{display:none}}

/* =========================================================
   HEADER + NAV
   ========================================================= */
.header{
  position:sticky;top:0;z-index:30;
  background:var(--rd-bg-2)!important;background-image:none!important;
  border-bottom:1px solid var(--rd-line);padding:12px 0;
  transition:padding .25s ease, box-shadow .25s ease;
}
/* stan po przewinięciu — lekko mniejsza + cień (topbar zostaje na górze, nie przykleja się) */
.header.scrolled{padding:6px 0;box-shadow:0 12px 30px -14px rgba(0,0,0,.75)}
.header.scrolled .header-logo img,.header.scrolled .header-logo .custom-logo{max-height:38px!important}
.header.scrolled .header-cta{padding-top:9px;padding-bottom:9px}
.header-wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:nowrap}
/* wewnętrzny baner tytułu (single/archive) — ciemny zamiast granatowego */
.page-header{background:var(--rd-bg-2)!important;background-image:none!important;border-bottom:1px solid var(--rd-line);padding:56px 0!important}
.page-title{color:var(--rd-ink)!important;font-size:clamp(26px,3.4vw,40px);font-weight:800;margin:0}
/* logo — NIE zmieniamy grafiki, tylko układ */
.header-logo{display:flex;align-items:center;flex:none}
.header-logo-top{display:flex;align-items:center;gap:12px}
.header-logo-top .custom-logo-link{display:inline-flex;line-height:0}
.header-logo-top img,.header-logo .custom-logo{max-height:48px!important;width:auto!important;height:auto!important;max-width:none!important;margin:0!important;display:block;transition:max-height .25s ease}
.header-cta{transition:padding .25s ease,filter .16s,transform .16s}
.header-logo-tag{font-size:12.5px;line-height:1.25;color:var(--rd-muted);font-weight:600;white-space:nowrap}
.header-logo-bottom{font-size:12px;color:var(--rd-muted)}
@media(max-width:1200px){.header-logo-tag{display:none}}

/* ukrywamy „Strona główna” we wszystkich menu (jest logo → home) */
.menu-item-home{display:none!important}
.main-menu{display:flex;gap:22px;list-style:none;margin:0;padding:0;align-items:center;flex-wrap:nowrap}
.main-menu li{position:relative}
.main-menu a{color:var(--rd-ink-soft);font-weight:600;font-size:15px;transition:.15s;text-decoration:none;white-space:nowrap}
@media(max-width:1200px){.main-menu{gap:16px}.main-menu a{font-size:14px}.brand .brand-tag{display:none}}
.main-menu a:hover,.main-menu .current-menu-item>a{color:var(--rd-accent)}
.main-menu .menu-item-has-children{position:relative}
.main-menu .sub-menu{
  position:absolute;top:100%;right:0;left:auto;margin-top:12px;
  width:min(680px,92vw);max-height:72vh;overflow-y:auto;
  background:var(--rd-surface);border:1px solid var(--rd-line-strong);border-radius:14px;
  padding:10px;display:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 8px;box-shadow:var(--rd-shadow);z-index:60;
}
/* niewidzialny „mostek”, żeby najechanie nie gubiło menu w przerwie */
.main-menu .menu-item-has-children::after{content:"";position:absolute;top:100%;left:0;right:0;height:14px}
.main-menu .menu-item-has-children.open>.sub-menu,
.main-menu .menu-item-has-children:hover>.sub-menu{display:grid}
.main-menu .sub-menu li{width:100%}
.main-menu .sub-menu a{display:block;padding:10px 14px;border-radius:9px;font-size:13.5px;color:var(--rd-ink-soft)!important;white-space:normal;line-height:1.25;overflow-wrap:anywhere}
.main-menu .sub-menu a:hover{background:var(--rd-accent-tint);color:var(--rd-accent)!important}
@media(max-width:600px){.main-menu .sub-menu{grid-template-columns:1fr}}

/* przycisk telefonu w nagłówku (jak w makiecie) */
.header-cta{
  align-items:center;gap:9px;white-space:nowrap;
  background:linear-gradient(150deg,var(--rd-accent),var(--rd-accent-2));color:var(--rd-accent-ink)!important;
  font-weight:800;font-size:16px;padding:12px 22px;border-radius:12px;text-decoration:none;
  font-variant-numeric:tabular-nums;box-shadow:0 8px 22px -8px var(--rd-accent-glow);transition:.16s;
}
.header-cta:hover{filter:brightness(1.07);transform:translateY(-1px);color:var(--rd-accent-ink)!important}
.header-cta svg{width:18px;height:18px;flex:none}
.header-cta{display:none}
@media(min-width:992px){.header-cta{display:inline-flex}}
/* logo left, menu + telefon razem po prawej */
.header-wrap{gap:20px}
.header-wrap .main-menu{margin-left:auto}

/* mobile toggle — 3 pomarańczowe kreski rysowane CSS-em (bez svg/filtra) */
.header-toggle button#menu-toggled{
  flex:0 0 46px!important;max-width:46px!important;width:46px!important;height:46px!important;
  -webkit-mask:none!important;mask:none!important;
  background:var(--rd-surface)!important;background-image:none!important;
  border:1px solid var(--rd-line-strong)!important;border-radius:11px!important;
  position:relative;cursor:pointer;padding:0;filter:none!important;
}
.header-toggle button#menu-toggled::before{
  content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:22px;height:2.5px;border-radius:2px;background:var(--rd-accent);
  box-shadow:0 -7px 0 var(--rd-accent),0 7px 0 var(--rd-accent);
}

/* =========================================================
   HERO
   ========================================================= */
.hero-section{position:relative;overflow:hidden;background:var(--rd-bg)}
.hero-section::before{
  content:"";position:absolute;top:-160px;right:-120px;width:620px;height:620px;z-index:1;
  background:radial-gradient(circle,var(--rd-accent-glow),transparent 62%);pointer-events:none;
}
/* subtelna siatka techniczna zamiast wgranej grafiki tytułu */
.hero-section::after{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.5;
  background-image:linear-gradient(var(--rd-line) 1px,transparent 1px),linear-gradient(90deg,var(--rd-line) 1px,transparent 1px);
  background-size:46px 46px;
  -webkit-mask-image:radial-gradient(120% 90% at 72% 0%,#000 0%,transparent 60%);
          mask-image:radial-gradient(120% 90% at 72% 0%,#000 0%,transparent 60%);
}
/* wgrana grafika-tytuł (aaad-3.png) kłóci się z czystym h1 — ukrywamy */
.hero-section .hero-bg{display:none!important}
.hero-section .container{position:relative;z-index:2}
.hero-wrap{padding:0;max-width:none;display:block}
.hero-wrap h1{
  font-size:clamp(44px,6.4vw,72px);font-weight:800;line-height:1.03;margin:0 0 18px;
  color:var(--rd-ink)!important;-webkit-text-fill-color:var(--rd-ink)!important;
  -webkit-text-stroke:0!important;text-shadow:none!important;background:none!important;
}
.hero-wrap p{font-size:19px;color:var(--rd-ink-soft)!important;max-width:40ch;margin:0 0 32px;padding:0}

/* dwie kolumny + plakietka + karta usług */
.hero-grid-2{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center;padding:90px 0 84px}
.hero-pill{display:inline-flex;align-items:center;gap:9px;font-size:13px;font-weight:700;color:var(--rd-ink-soft);
  background:var(--rd-surface);border:1px solid var(--rd-line-strong);border-radius:999px;padding:8px 15px;margin:0 0 20px}
.rd-dot{width:8px;height:8px;border-radius:50%;background:var(--rd-accent);box-shadow:0 0 0 4px var(--rd-accent-tint);flex:none}
.hero-quick{display:flex;gap:28px;flex-wrap:wrap;margin-top:32px}
.hero-quick div b{display:block;font-size:23px;font-weight:800;color:var(--rd-ink);letter-spacing:-.02em}
.hero-quick div span{font-size:13px;color:var(--rd-muted)}
.hero-card{position:relative;border:1px solid var(--rd-line-strong);border-radius:var(--rd-radius-lg);
  background:linear-gradient(160deg,var(--rd-surface),var(--rd-surface-2));padding:16px;box-shadow:var(--rd-shadow)}
.hero-card__badge{position:absolute;top:-14px;right:22px;background:linear-gradient(150deg,var(--rd-accent),var(--rd-accent-2));
  color:var(--rd-accent-ink);font-size:12px;font-weight:800;padding:7px 13px;border-radius:999px;box-shadow:0 6px 16px -6px var(--rd-accent-glow)}
.hero-card__row{display:flex;align-items:center;gap:14px;padding:16px 10px;border-bottom:1px solid var(--rd-line);text-decoration:none}
.hero-card__row:last-child{border-bottom:0}
.hero-card__ic{width:42px;height:42px;border-radius:11px;flex:none;background:var(--rd-accent-tint);color:var(--rd-accent);display:grid;place-items:center}
.hero-card__ic svg{width:22px;height:22px}
.hero-card__txt{display:flex;flex-direction:column;gap:2px}
.hero-card__txt b{font-size:15px;font-weight:700;color:var(--rd-ink);line-height:1.25}
.hero-card__txt span{font-size:13px;color:var(--rd-muted)}
@media(max-width:900px){.hero-grid-2{grid-template-columns:1fr;gap:32px;padding:44px 0 48px}.hero-card{order:2}}

.hero-phone{display:inline-flex}
.hero-phone a{
  display:inline-flex;align-items:center;gap:12px;
  background:linear-gradient(150deg,var(--rd-accent),var(--rd-accent-2));color:var(--rd-accent-ink);
  font-size:24px;font-weight:800;padding:16px 30px;border-radius:16px;text-decoration:none;
  box-shadow:0 10px 26px -8px var(--rd-accent-glow);font-variant-numeric:tabular-nums;transition:.16s;
}
.hero-phone a::before{
  content:"";width:24px;height:24px;flex:none;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6.6 10.8a15.9 15.9 0 0 0 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 0 1 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.2.2 2.4.6 3.6.1.4 0 .8-.3 1z'/%3E%3C/svg%3E") center/contain no-repeat;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.9 15.9 0 0 0 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 0 1 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.2.2 2.4.6 3.6.1.4 0 .8-.3 1z'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.9 15.9 0 0 0 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 0 1 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.2.2 2.4.6 3.6.1.4 0 .8-.3 1z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.hero-phone a:hover{filter:brightness(1.07);transform:translateY(-1px)}
@media(max-width:900px){.hero-wrap{padding:56px 0 60px}}

/* =========================================================
   SERVICES
   ========================================================= */
.services-section{background:var(--rd-bg-2);border-top:1px solid var(--rd-line);border-bottom:1px solid var(--rd-line)}
.services-item{margin-bottom:18px}
.services-item__wrap{
  height:100%;background:var(--rd-surface);border:1px solid var(--rd-line);border-radius:var(--rd-radius);
  overflow:hidden;transition:.18s;display:flex;flex-direction:column;
}
.services-item__wrap:hover{border-color:var(--rd-accent);transform:translateY(-3px);box-shadow:var(--rd-shadow)}
.services-item__image{flex:none!important;width:72px!important;max-width:72px!important;height:72px!important;
  border-radius:14px;overflow:hidden;background:var(--rd-accent-tint);margin:26px 26px 0!important;display:grid;place-items:center}
.services-item__image a{display:grid;place-items:center;width:100%;height:100%}
.services-item__image .svc-icon{width:34px;height:34px;color:var(--rd-accent);transition:transform .3s}
.services-item__wrap:hover .services-item__image .svc-icon{transform:scale(1.08)}
.services-item__image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.services-item__wrap:hover .services-item__image img{transform:scale(1.06)}
.services-item__info{padding:18px 26px 26px;display:flex;flex-direction:column;gap:10px;flex:1}
.services-item__info h3{font-size:18px;font-weight:700;margin:0}
.services-item__info h3 a{color:var(--rd-ink);text-decoration:none}
.services-item__info h3 a:hover{color:var(--rd-accent)}
.services-item__info p{font-size:14.5px;color:var(--rd-muted);margin:0;line-height:1.55}
.services-item__info p:last-child{margin-top:auto}
.services-item__info p:last-child a{color:var(--rd-accent);font-weight:700;text-decoration:none}

/* =========================================================
   ABOUT
   ========================================================= */
.about-section .about-image{
  border-radius:var(--rd-radius-lg);overflow:hidden;border:1px solid var(--rd-line-strong);
  box-shadow:var(--rd-shadow);position:relative;
}
.about-section .about-image img{width:100%;height:100%;object-fit:cover;display:block}
.about-section .row{align-items:stretch}
.about-info{padding-left:56px!important;padding-top:8px;padding-bottom:8px}
.about-info .heading h2{margin-bottom:20px;text-align:left}
.about-content{color:var(--rd-ink-soft);font-size:16px;line-height:1.75;text-align:left!important;max-width:70ch}
.about-content *{text-align:left!important}
.about-content p{margin:0 0 16px}
.about-content h2,.about-content h3,.about-content h4{color:var(--rd-ink);margin:30px 0 14px;font-size:20px;font-weight:800}
.about-content strong,.about-content b{color:var(--rd-ink)}
.about-content ul{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-direction:column;gap:11px}
.about-content ul li{position:relative;padding-left:26px;color:var(--rd-ink-soft)}
.about-content ul li::before{content:"";position:absolute;left:2px;top:10px;width:8px;height:8px;border-radius:50%;background:var(--rd-accent)}
.about-content a{color:var(--rd-accent)}
@media(max-width:991px){.about-info{padding-left:20px!important;padding-right:20px}}

/* =========================================================
   REVIEWS
   ========================================================= */
.reviews-section{position:relative;background:var(--rd-bg-2);border-top:1px solid var(--rd-line);border-bottom:1px solid var(--rd-line);overflow:hidden}
.reviews-section .reviews-bg{display:none}
.reviews-section .heading a{color:var(--rd-ink);text-decoration:none}
.reviews-section .heading a:hover{color:var(--rd-accent)}
.reviews-item__wrap{
  background:var(--rd-surface);border:1px solid var(--rd-line);border-radius:var(--rd-radius);
  padding:26px;margin:6px;height:calc(100% - 12px);
}
.reviews-item__icon svg path{fill:var(--rd-accent)!important}
.reviews-item__icon svg{width:34px;height:auto;opacity:.9}
.reviews-item__content{color:var(--rd-ink-soft);font-size:15px;line-height:1.6;margin:14px 0}
.reviews-item__name{color:var(--rd-ink);font-weight:700;margin:0}
.reviews-button{margin-top:36px}
/* --- opinie: siatka kart (ręcznie zarządzane) --- */
.rd-reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:900px){.rd-reviews{grid-template-columns:1fr}}
.rd-review{background:var(--rd-surface);border:1px solid var(--rd-line);border-radius:var(--rd-radius);padding:26px;display:flex;flex-direction:column;gap:15px}
.rd-review__stars{color:var(--rd-accent);letter-spacing:3px;font-size:15px}
.rd-review__text{color:var(--rd-ink-soft);font-size:15px;line-height:1.65;margin:0;flex:1}
.rd-review__who{display:flex;align-items:center;gap:12px;margin-top:auto}
.rd-review__av{width:42px;height:42px;border-radius:50%;background:var(--rd-accent-tint);color:var(--rd-accent);display:grid;place-items:center;font-weight:800;flex:none}
.rd-review__name{font-weight:700;color:var(--rd-ink);font-size:14.5px}

/* =========================================================
   SEO TEXT
   ========================================================= */
.home-additional-txt{background:var(--rd-bg)}
.home-additional-text{color:var(--rd-muted);font-size:15px;line-height:1.7;max-width:900px;margin:0 auto}
.home-additional-text h2,.home-additional-text h3{color:var(--rd-ink)}
.home-additional-text a{color:var(--rd-accent)}

/* =========================================================
   PORTFOLIO — mozaika (patrz front-page.php: .rd-gallery)
   ========================================================= */
.portfolio-section{background:var(--rd-bg)}
.rd-gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:172px;gap:14px;grid-auto-flow:row dense}
.rd-gallery .rd-item{
  position:relative;display:block;overflow:hidden;border-radius:var(--rd-radius);
  border:1px solid var(--rd-line);background:var(--rd-surface);line-height:0;
}
.rd-gallery .rd-item img{
  position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;
  object-fit:cover!important;transition:transform .5s;filter:saturate(1.02);margin:0!important;
}
.rd-gallery .rd-item::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(13,12,11,.55));opacity:0;transition:.25s}
.rd-gallery .rd-item:hover img{transform:scale(1.06)}
.rd-gallery .rd-item:hover::after{opacity:1}
.rd-gallery .rd-big{grid-column:span 2;grid-row:span 2}
.rd-gallery .rd-tall{grid-row:span 2}
@media(max-width:760px){
  .rd-gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px}
  .rd-gallery .rd-big{grid-column:span 2;grid-row:span 2}
  .rd-gallery .rd-tall{grid-row:span 1}
}

/* =========================================================
   PAGE CONTENT (Cennik itd.) + TABELE CEN
   ========================================================= */
.page-content{color:var(--rd-ink-soft);font-size:16px;line-height:1.7}
.page-content .container{max-width:var(--container,1180px)}
.page-content h1,.page-content h2,.page-content h3,.page-content h4{color:var(--rd-ink);margin:34px 0 16px;font-weight:800}
.page-content h2{font-size:clamp(20px,2.4vw,26px)}
.page-content h3{font-size:20px}
.page-content > .container > *:first-child{margin-top:0}
.page-content p{margin:0 0 16px}
.page-content a{color:var(--rd-accent)}
.page-content strong,.page-content b{color:var(--rd-ink)}
.page-content ul,.page-content ol{margin:0 0 18px;padding-left:22px}
.page-content li{margin:0 0 8px}

/* tabele cennika — nadpisujemy inline style (#fff/#000/#a9a9a9) przez !important */
.page-content table{
  width:100%!important;border-collapse:separate!important;border-spacing:0!important;height:auto!important;
  margin:0 0 26px;font-size:15px;background:var(--rd-surface)!important;
  border:1px solid var(--rd-line-strong)!important;border-radius:14px;overflow:hidden;
}
.page-content table tr{height:auto!important;background:transparent!important}
.page-content table th,.page-content table td{
  text-align:left!important;padding:14px 20px!important;vertical-align:middle;height:auto!important;
  background:var(--rd-surface)!important;color:var(--rd-ink-soft)!important;
  border:0!important;border-bottom:1px solid var(--rd-line)!important;
}
/* nagłówek = pierwszy wiersz */
.page-content table thead th,
.page-content table thead td,
.page-content table tr:first-child td,
.page-content table tr:first-child th{
  background:var(--rd-accent-tint)!important;color:var(--rd-ink)!important;font-weight:800!important;
  font-size:13px!important;letter-spacing:.06em;text-transform:uppercase;
  border-bottom:1px solid var(--rd-line-strong)!important;
}
.page-content table tr:last-child td{border-bottom:0!important}
.page-content table tr:hover td{background:rgba(247,148,29,.07)!important}
/* kolumna z ceną (ostatnia) — akcent, ale nie w nagłówku */
.page-content table tr:not(:first-child) td:last-child{color:var(--rd-accent)!important;font-weight:700!important;white-space:nowrap;font-variant-numeric:tabular-nums}
@media(max-width:600px){.page-content table{font-size:13.5px}.page-content table th,.page-content table td{padding:11px 12px!important}}

/* bloki Gutenberga w treści — spójne z motywem */
.page-content .wp-block-button__link,.page-content .wp-block-button a{
  background:linear-gradient(150deg,var(--rd-accent),var(--rd-accent-2))!important;color:var(--rd-accent-ink)!important;
  border-radius:12px!important;padding:12px 26px!important;font-weight:700!important;text-decoration:none;border:0!important;
}
.page-content blockquote,.page-content .wp-block-pullquote,.page-content .wp-block-quote{
  background:var(--rd-surface)!important;border:0!important;border-left:3px solid var(--rd-accent)!important;
  border-radius:12px;padding:20px 24px!important;color:var(--rd-ink)!important;margin:0 0 22px;
}
.page-content .wp-block-file{background:var(--rd-surface);border:1px solid var(--rd-line-strong);border-radius:12px;padding:14px 18px;color:var(--rd-ink-soft)}
.page-content .wp-block-file a{color:var(--rd-accent)}
.page-content img,.page-content .wp-block-image img{border-radius:12px;max-width:100%;height:auto}
/* neutralizacja jasnych klas palety Gutenberga na ciemnym tle */
.page-content .has-black-color,.page-content .has-cyan-bluish-gray-color{color:var(--rd-ink-soft)!important}
.page-content .has-white-background-color{background-color:var(--rd-surface)!important}

/* 404 */
.error-404-number{font-size:clamp(56px,10vw,96px);font-weight:800;color:var(--rd-accent);line-height:1;margin:0}

/* wyniki wyszukiwania — kontener + odstęp */
.site-main{max-width:var(--container,1180px);margin:0 auto;padding:60px 24px}
.site-main .page-title{color:var(--rd-ink)}
.site-main .page-header{background:transparent!important;border:0!important;padding:0 0 24px!important}

/* =========================================================
   CONTACTS + FORM (CF7)
   ========================================================= */
.contacts-section{background:var(--rd-bg-2);border-top:1px solid var(--rd-line);text-align:left}
.contacts-info,.contacts-info *{text-align:left!important}
.contacts-info-label{color:var(--rd-muted);font-size:13px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;margin:0 0 10px}
.contacts-info-phone{margin:0 0 22px}
.contacts-info-phone a{color:var(--rd-accent);font-size:30px;font-weight:800;text-decoration:none;font-variant-numeric:tabular-nums}
.contacts-info-other{color:var(--rd-ink-soft);line-height:1.8;font-size:15.5px}
.contacts-info-other a{color:var(--rd-accent)}

/* --- formularz CF7 --- */
.feedback-form{background:var(--rd-surface);border:1px solid var(--rd-line);border-radius:var(--rd-radius-lg);padding:30px}
.feedback-form .form-field{margin-bottom:16px}
.feedback-form label{display:block;margin:0 0 7px;font-weight:600;color:var(--rd-ink);font-size:14px}
.feedback-form input[type="text"],.feedback-form input[type="tel"],.feedback-form input[type="email"],.feedback-form textarea{
  width:100%;background:var(--rd-bg-2)!important;border:1px solid var(--rd-line-strong)!important;
  border-radius:11px!important;color:var(--rd-ink)!important;padding:13px 16px!important;font-family:inherit;font-size:15px;margin:0;
}
.feedback-form textarea{min-height:120px;resize:vertical}
.feedback-form input::placeholder,.feedback-form textarea::placeholder{color:var(--rd-muted)}
.feedback-form input:focus,.feedback-form textarea:focus{outline:none;border-color:var(--rd-accent)!important;box-shadow:0 0 0 3px var(--rd-accent-tint)}
/* zgoda RODO */
.feedback-form .wpcf7-acceptance{display:block;margin:18px 0 4px}
.feedback-form .wpcf7-acceptance .wpcf7-list-item{margin:0}
.feedback-form .wpcf7-acceptance label{display:flex;gap:12px;align-items:flex-start;font-weight:400;margin:0}
.feedback-form .wpcf7-acceptance .wpcf7-list-item-label{font-size:12.5px;line-height:1.5;color:var(--rd-muted)}
.feedback-form .wpcf7-acceptance a{color:var(--rd-accent)}
.feedback-form input[type="checkbox"]{
  appearance:none;-webkit-appearance:none;width:20px!important;height:20px;min-width:20px;flex:none;margin:1px 0 0!important;
  border:1px solid var(--rd-line-strong)!important;border-radius:6px;background:var(--rd-bg-2)!important;cursor:pointer;position:relative;padding:0!important;
}
.feedback-form input[type="checkbox"]:checked{background:var(--rd-accent)!important;border-color:var(--rd-accent)!important}
.feedback-form input[type="checkbox"]:checked::after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid var(--rd-accent-ink);border-width:0 2px 2px 0;transform:rotate(45deg)}
.feedback-form input[type="submit"]{
  width:auto;margin-top:20px;background:linear-gradient(150deg,var(--rd-accent),var(--rd-accent-2))!important;
  color:var(--rd-accent-ink)!important;border:0!important;border-radius:12px!important;padding:14px 34px!important;
  font-weight:800!important;font-size:15px;cursor:pointer;box-shadow:0 8px 22px -8px var(--rd-accent-glow);transition:.16s;
}
.feedback-form input[type="submit"]:hover{filter:brightness(1.07);transform:translateY(-1px)}
.wpcf7 .wpcf7-not-valid-tip{color:#ff8a5b;font-size:12.5px;margin-top:5px}
.wpcf7-response-output{border-radius:10px!important;margin:16px 0 0!important;font-size:13.5px;color:var(--rd-ink-soft)}

/* =========================================================
   FOOTER
   ========================================================= */
.footer{background:var(--rd-bg-2);border-top:1px solid var(--rd-line);padding:44px 0}
.footer .copyright{color:var(--rd-muted);font-size:14px;margin:0;text-align:center}

/* =========================================================
   MOBILE MENU MODAL
   ========================================================= */
.modal-mobile-wrap{background:var(--rd-bg)!important;border-left:1px solid var(--rd-line)}
.modal-mobile .main-menu{flex-direction:column;align-items:flex-start;gap:6px;padding:70px 24px}
.modal-mobile .main-menu a{font-size:18px;padding:8px 0}
.modal-mobile-close{filter:none;position:relative;background:transparent!important}
.modal-mobile-close::before,.modal-mobile-close::after{content:"";position:absolute;left:50%;top:50%;
  width:22px;height:2.5px;border-radius:2px;background:var(--rd-accent)}
.modal-mobile-close::before{transform:translate(-50%,-50%) rotate(45deg)}
.modal-mobile-close::after{transform:translate(-50%,-50%) rotate(-45deg)}

/* =========================================================
   CONSENT BANNER — dopasowanie do ciemnego motywu
   ========================================================= */
.consent_banner{background:var(--rd-surface);border:1px solid var(--rd-line-strong);color:var(--rd-ink-soft)}
.consent_banner h2{color:var(--rd-ink)}
.banner-btn-primary{background:linear-gradient(150deg,var(--rd-accent),var(--rd-accent-2));color:var(--rd-accent-ink)}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
