/*
Theme Name: TCM Clean V2
Theme URI: https://poradniatcm.pl/
Description: Nowa, czysta warstwa wizualna TCM dla Hello Elementor. Kod napisany od podstaw.
Author: TCM (projekt odtworzeniowy)
Template: hello-elementor
Version: 2.4.12
Text Domain: tcm-clean
*/
:root{--tcm-blue:#143e73;--tcm-navy:#102c50;--tcm-red:#d73e45;--tcm-aqua:#1689ad;--tcm-text:#334456;--tcm-border:#e5edf4}
body{color:var(--tcm-text);font-family:Arial,Helvetica,sans-serif;background:#fff;margin:0}a{color:var(--tcm-blue)}.tcm-layout{max-width:1170px;padding:0 22px;margin:auto}.tcm-topbar{background:var(--tcm-navy);color:#eef7fb;font-size:13px}.tcm-topbar .tcm-layout{display:flex;justify-content:space-between;gap:18px;align-items:center;padding-top:9px;padding-bottom:9px;flex-wrap:wrap}.tcm-topbar a{color:#eef7fb;text-decoration:none}.tcm-topbar a:hover{text-decoration:underline}.tcm-header{background:#fff;border-bottom:1px solid var(--tcm-border);position:relative;z-index:30}.tcm-header .tcm-layout{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:92px}.tcm-brand img{max-width:285px;width:100%;height:auto;display:block}.tcm-brand{display:block;max-width:285px;min-width:195px;color:var(--tcm-blue);font-size:20px;font-weight:700;text-decoration:none}.tcm-header nav ul{list-style:none;margin:0;padding:0;display:flex;gap:19px;align-items:center;flex-wrap:wrap}.tcm-header nav a{text-decoration:none;color:#1e3e65;font-size:14px;font-weight:700}.tcm-header nav a:hover,.tcm-header nav .current-menu-item>a{color:var(--tcm-red)}.tcm-menu-toggle{display:none;color:var(--tcm-navy);background:#eef5fa;border:0;border-radius:8px;padding:11px 15px;font-size:21px;cursor:pointer}.tcm-footer{background:#102c50;color:#e6eff9;margin-top:0;padding:55px 0 22px}.tcm-footer a{color:#edf7ff;text-decoration:none}.tcm-footer .tcm-layout{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px}.tcm-footer h3{font-size:17px;color:white;margin:0 0 12px}.tcm-footer p{margin:0 0 12px;line-height:1.8}.tcm-footer small{grid-column:1/-1;color:#b0c7dc;padding-top:18px;border-top:1px solid #315071}.tcm-footer a:hover{text-decoration:underline}main.site-main{max-width:none!important;padding:0!important}main.site-main h1.entry-title,.page-header{display:none!important}
.tcm-home-hero .elementor-container,.tcm-about .elementor-container,.tcm-contact-main .elementor-container{align-items:center}.tcm-eyebrow p{font-size:13px!important;text-transform:uppercase;letter-spacing:.16em;font-weight:800;color:#b33142!important;margin:0 0 16px}.tcm-hero-title h1,.tcm-page-title h1{font-size:clamp(34px,4.2vw,55px)!important;line-height:1.13!important;font-weight:800!important;color:var(--tcm-navy)!important;letter-spacing:-1px}.tcm-hero-title h1{max-width:670px}.tcm-lead p{font-size:19px!important;line-height:1.7!important;max-width:590px}.tcm-lead-small p,.tcm-intro-text p{font-size:18px!important;line-height:1.65!important}.tcm-hero-photo img{border-radius:22px 22px 80px 22px;box-shadow:0 24px 60px rgba(14,51,89,.16);width:100%!important;max-height:470px;object-fit:cover}.tcm-rounded-photo img,.tcm-gallery-img img,.tcm-contact-photo img{border-radius:16px;width:100%;object-fit:cover}.tcm-gallery-img img{height:370px;box-shadow:0 10px 20px rgba(15,40,70,.08)}.tcm-section-heading h2,.tcm-about h2,.tcm-contact-main h2,.tcm-map-section h2{font-size:clamp(27px,3vw,41px)!important;color:var(--tcm-navy)!important;font-weight:800!important;line-height:1.18}.tcm-section-heading{text-align:center}.tcm-section-heading .elementor-widget-text-editor{max-width:720px;margin:auto}.tcm-fact{border-right:1px solid var(--tcm-border);padding:7px 22px}.tcm-fact:last-child{border:0}.tcm-fact h3{font-size:17px!important;color:var(--tcm-navy)!important;font-weight:800!important}.tcm-fact p{line-height:1.7}.tcm-fact a{text-decoration:none;font-weight:700}.tcm-card>.elementor-widget-wrap{padding:26px 25px!important;background:#fff;border:1px solid #e9eef2;border-radius:16px;min-height:194px;box-shadow:0 7px 24px rgba(26,60,100,.06)}.tcm-card h3{font-size:20px!important;font-weight:800!important;color:var(--tcm-navy)!important}.tcm-card p{line-height:1.68;color:#536579}.tcm-cards-row>.elementor-container{gap:16px}.tcm-cards-row .elementor-column{flex:1}.tcm-action .elementor-button{border-radius:8px!important;padding:16px 21px!important;font-weight:700!important;background:var(--tcm-blue)!important;color:white!important;box-shadow:none!important;transition:transform .18s}.tcm-action .elementor-button:hover{transform:translateY(-2px);background:#0e315c!important}.tcm-action-outline .elementor-button{background:transparent!important;color:var(--tcm-blue)!important;border:1px solid #b5cee0!important}.tcm-action-outline .elementor-button:hover{background:#e9f5fb!important}.tcm-home-hero .elementor-widget-button{display:inline-block;margin-right:12px;margin-bottom:8px}.tcm-home-hero .tcm-action-outline .elementor-button{background:#fff!important}.tcm-about .tcm-content-col>.elementor-widget-wrap{padding:0 0 0 35px!important}.tcm-cta h2,.tcm-cta h3,.tcm-cta h1,.tcm-cta p{color:#fff!important;text-align:center}.tcm-cta .elementor-widget-button{text-align:center}.tcm-cta .tcm-action .elementor-button{background:#fff!important;color:var(--tcm-blue)!important}.tcm-map-section iframe,.tcm-contact-main iframe{box-shadow:0 15px 30px rgba(16,48,80,.12)}.tcm-intro h1{margin-bottom:12px!important}.tcm-intro .elementor-widget-text-editor{max-width:850px}.tcm-schedule .elementor-widget-wrap{padding:24px 30px!important;border-left:4px solid var(--tcm-aqua);background:#fff;border-radius:8px}.tcm-schedule h2{color:var(--tcm-navy)!important;font-size:23px!important}.tcm-schedule li{padding:5px 0}.tcm-gallery-col>.elementor-widget-wrap{padding:0 9px!important}.tcm-group-heading h2{color:var(--tcm-navy)!important;font-weight:800!important}.tcm-contact-main a{font-weight:600}.elementor-heading-title{font-family:Arial,Helvetica,sans-serif!important}
@media(max-width:1160px){.tcm-header .tcm-layout{flex-wrap:wrap}.tcm-menu-toggle{display:block}.tcm-header nav{display:none;width:100%;padding:10px 0 20px}.tcm-header nav.tcm-open{display:block}.tcm-header nav ul{display:grid;gap:0}.tcm-header nav li a{display:block;padding:10px 5px;border-top:1px solid #e8eff5}.tcm-brand img{max-width:230px}.tcm-footer .tcm-layout{grid-template-columns:1fr 1fr}.tcm-footer small{grid-column:1/-1}}
@media(max-width:767px){.tcm-home-hero .elementor-column,.tcm-about .elementor-column{width:100%!important}.tcm-hero-photo{margin-top:26px}.tcm-card>.elementor-widget-wrap{min-height:0}.tcm-cards-row>.elementor-container{display:block}.tcm-cards-row .elementor-column{width:100%!important;margin:0 0 16px}.tcm-fact{border:0;border-bottom:1px solid var(--tcm-border)}.tcm-about .tcm-content-col>.elementor-widget-wrap{padding:25px 0 0!important}.tcm-gallery-img img{height:auto;max-height:440px}.tcm-footer .tcm-layout{grid-template-columns:1fr}.tcm-footer small{grid-column:auto}.tcm-topbar .tcm-layout{display:block}.tcm-hero-title h1,.tcm-page-title h1{font-size:36px!important}}
/* v2.1: stylistyka sekcji odtworzonych na podstawie oryginalnego Elementora */
.tcm-page-hero .elementor-heading-title{color:#123d6a!important;line-height:1.2;font-weight:800}
.tcm-page-hero .tcm-page-title .elementor-heading-title{font-size:clamp(34px,4vw,50px)!important}
.tcm-home-hero .tcm-hero-title .elementor-heading-title{font-size:clamp(36px,4.6vw,58px)!important}
.tcm-gallery-row .elementor-widget-image img{width:100%;height:365px;object-fit:cover;border-radius:17px;box-shadow:0 10px 32px rgba(24,55,88,.11)}
.tcm-cards-row .elementor-column>.elementor-widget-wrap{background:#fff;border-radius:16px;border:1px solid #e6eff3;min-height:204px;margin:6px;padding:24px!important;box-shadow:0 5px 20px rgba(22,60,95,.055)}
.tcm-cards-row h3{color:#173c63!important;font-size:20px!important;font-weight:800!important}
.tcm-accordion .elementor-tab-title{background:#f0f6fa;border-radius:9px;margin:8px 0;color:#16426d;font-weight:700}
.tcm-accordion .elementor-tab-content{line-height:1.7;color:#32465c;border:1px solid #e4edf3;border-radius:8px;padding:20px}
.tcm-accordion .elementor-tab-content table{width:100%;border-collapse:collapse;display:block;overflow-x:auto}
.tcm-accordion .elementor-tab-content img{max-width:100%;height:auto}
.tcm-legal-page .elementor-widget-text-editor{max-width:1070px;margin:0 auto;line-height:1.75;overflow-wrap:anywhere}
.tcm-btn .elementor-button{background:#174d82!important;color:#fff!important;border-radius:8px!important;padding:15px 21px!important}
.tcm-btn-outline .elementor-button{background:transparent!important;color:#174d82!important;border:1px solid #bfd0dd;border-radius:8px!important;padding:14px 21px!important}
.tcm-facts .elementor-column{border-right:1px solid #e2e9ee;padding:7px 22px}
.tcm-facts .elementor-column:last-child{border:0}
.tcm-facts h3{font-size:18px!important;font-weight:800;color:#184c76!important}
.tcm-intro-block{text-align:center}
.tcm-intro-block .elementor-button{margin:0 auto}
.tcm-map iframe{box-shadow:0 11px 30px rgba(20,60,90,.14)}
@media(max-width:767px){.tcm-cards-row .elementor-column>.elementor-widget-wrap{margin:7px 0;min-height:0}.tcm-gallery-row .elementor-widget-image img{height:auto;max-height:480px}.tcm-facts .elementor-column{border-right:0;border-bottom:1px solid #e2e9ee}.tcm-page-hero .tcm-page-title .elementor-heading-title{font-size:35px!important}}


/* TCM Clean 2.2.0: dropdown navigation, desktop hover/focus and mobile toggle */
.tcm-header nav .tcm-main-menu > li,
.tcm-header nav .tcm-main-menu .sub-menu li { position: relative; }
.tcm-header nav .tcm-main-menu .menu-item-has-children > a::after {
  content: "⌄";
  display: inline-block;
  margin-left: 6px;
  font-size: 16px;
  vertical-align: 1px;
  font-weight: 700;
}
.tcm-header nav .tcm-main-menu .sub-menu {
  display: block;
  position: absolute;
  top: 100%;
  left: 0;
  width: max-content;
  min-width: 235px;
  max-width: 325px;
  margin: 0;
  padding: 7px 0;
  background: #fff;
  border: 1px solid #e5edf4;
  border-radius: 10px;
  box-shadow: 0 12px 30px rgba(16,44,80,.15);
  z-index: 80;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(6px);
  transition: opacity .15s ease, transform .15s ease, visibility .15s ease;
}
.tcm-header nav .tcm-main-menu .sub-menu li { width: 100%; }
.tcm-header nav .tcm-main-menu .sub-menu a {
  display: block;
  padding: 11px 16px;
  line-height: 1.45;
  font-size: 13px;
  font-weight: 600;
  white-space: normal;
}
.tcm-header nav .tcm-main-menu .sub-menu a:hover,
.tcm-header nav .tcm-main-menu .sub-menu a:focus-visible { background: #f0f6fa; }
.tcm-header nav .tcm-main-menu .sub-menu .sub-menu { left: 100%; top: -7px; }
.tcm-header nav .tcm-main-menu .menu-item-has-children:hover > .sub-menu,
.tcm-header nav .tcm-main-menu .menu-item-has-children:focus-within > .sub-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}
.tcm-header nav .tcm-submenu-toggle { display: none; }
@media (max-width: 1160px) {
  .tcm-header nav .tcm-main-menu,
  .tcm-header nav .tcm-main-menu > li { width: 100%; }
  .tcm-header nav .tcm-main-menu .sub-menu {
    display: none;
    position: static;
    width: 100%;
    min-width: 0;
    max-width: none;
    padding: 2px 0 6px 15px;
    margin: 0;
    background: #f3f8fc;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
    transition: none;
  }
  .tcm-header nav .tcm-main-menu .sub-menu .sub-menu { position: static; }
  .tcm-header nav .tcm-main-menu li.tcm-submenu-open > .sub-menu { display: block; }
  .tcm-header nav .tcm-main-menu .menu-item-has-children > a { padding-right: 52px; }
  .tcm-header nav .tcm-main-menu .menu-item-has-children > a::after { display: none; }
  .tcm-header nav .tcm-submenu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    right: 0;
    top: 0;
    width: 44px;
    height: 43px;
    padding: 0;
    border: 0;
    border-left: 1px solid #e3eaf1;
    background: transparent;
    color: #143e73;
    cursor: pointer;
    font-size: 20px;
  }
  .tcm-header nav .tcm-submenu-toggle:focus-visible { outline: 2px solid #1689ad; outline-offset: -3px; }
  .tcm-header nav .tcm-main-menu .sub-menu a { border: none; padding: 10px 8px; }
}

/* 2.3.0: prevent top-level wrapping while keeping nested dropdowns isolated. */
@media (min-width: 1161px) {
  .tcm-header .tcm-layout {gap: 14px;}
  .tcm-header nav {flex: 1 1 auto; min-width: 0;}
  .tcm-header nav > ul.tcm-main-menu {
    display: flex; flex-wrap: nowrap; justify-content: flex-end; gap: clamp(8px, 1.1vw, 17px);
  }
  .tcm-header nav > ul.tcm-main-menu > li {flex-shrink: 0;}
  .tcm-header nav > ul.tcm-main-menu > li > a {white-space: nowrap; font-size: 13px;}
}
@media (max-width: 1160px) {
  .tcm-header .tcm-layout {flex-wrap: wrap;}
  .tcm-menu-toggle {display: block;}
  .tcm-header nav {display: none; width: 100%; padding: 10px 0 20px;}
  .tcm-header nav.tcm-open {display:block;}
  .tcm-header nav > ul.tcm-main-menu {display: grid; gap: 0; width:100%;}
  .tcm-header nav li a {display:block; padding: 10px 5px; border-top: 1px solid #e8eff5;}
}


/* TCM Clean 2.4.0 — desktop: pełne menu; tablet/telefon: hamburger.
   Selekcja o wyższej specyficzności nadpisuje wcześniejszą regułę
   .tcm-menu-toggle { display: none !important; } z Dodatkowego CSS. */
@media (min-width: 1161px) {
  .tcm-header button.tcm-menu-toggle { display: none !important; }
  .tcm-header nav#tcm-nav { display: block !important; }
}
@media (max-width: 1160px) {
  .tcm-header .tcm-layout { align-items: center; justify-content: space-between; }
  .tcm-header button.tcm-menu-toggle {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-width: 46px;
    min-height: 46px;
    margin-left: auto;
    padding: 9px 12px;
    border: 1px solid #c9d9e8;
    border-radius: 8px;
    background: #eef5fa;
    color: #143e73;
    box-shadow: none;
    cursor: pointer;
    line-height: 1;
  }
  .tcm-header button.tcm-menu-toggle:focus-visible,
  .tcm-header nav .tcm-submenu-toggle:focus-visible {
    outline: 2px solid #1689ad;
    outline-offset: 2px;
  }
  .tcm-header nav#tcm-nav { order: 3; flex: 0 0 100%; width: 100%; max-width: 100%; display: none !important; }
  .tcm-header nav#tcm-nav.tcm-open { display: block !important; }
  .tcm-header nav > ul.tcm-main-menu > li { position: relative; width: 100%; }
  .tcm-header nav > ul.tcm-main-menu > li > a {white-space: normal;}
  .tcm-header nav .tcm-main-menu .sub-menu a { white-space: normal; }
}
@media (max-width: 767px) {
  .tcm-header .tcm-layout { min-height: 72px; gap: 10px; }
  .tcm-brand { flex: 0 1 auto; min-width: 0; max-width: calc(100% - 62px); }
  .tcm-brand img { max-width: min(230px, 100%); }
  .tcm-topbar .tcm-layout { overflow-wrap: anywhere; }
}

/* TCM Clean v2.4.2 — kontakt hero, bez ingerencji w karty.
   Reguły ograniczone do przycisku Elementora w pierwszej sekcji.
   Link /kontakt/ jako drugi selektor, gdy klasa widgetu różni się od importu. */
.tcm-home-hero .elementor-widget-button.tcm-btn-outline a.elementor-button,
.tcm-home-hero .elementor-widget-button a.elementor-button[href*="/kontakt"],
.tcm-v3-hero .elementor-widget-button a.elementor-button[href*="/kontakt"] {
  background: #6EC1E4 !important;
  background-color: #6EC1E4 !important;
  background-image: none !important;
  color: #FFFFFF !important;
  border: 1px solid #6EC1E4 !important;
  box-shadow: none !important;
}
.tcm-home-hero .elementor-widget-button.tcm-btn-outline a.elementor-button .elementor-button-text,
.tcm-home-hero .elementor-widget-button a.elementor-button[href*="/kontakt"] .elementor-button-text,
.tcm-v3-hero .elementor-widget-button a.elementor-button[href*="/kontakt"] .elementor-button-text {
  color: #FFFFFF !important;
}
.tcm-home-hero .elementor-widget-button.tcm-btn-outline a.elementor-button:hover,
.tcm-home-hero .elementor-widget-button.tcm-btn-outline a.elementor-button:focus-visible,
.tcm-home-hero .elementor-widget-button a.elementor-button[href*="/kontakt"]:hover,
.tcm-home-hero .elementor-widget-button a.elementor-button[href*="/kontakt"]:focus-visible,
.tcm-v3-hero .elementor-widget-button a.elementor-button[href*="/kontakt"]:hover,
.tcm-v3-hero .elementor-widget-button a.elementor-button[href*="/kontakt"]:focus-visible {
  background: #56AFD4 !important;
  background-color: #56AFD4 !important;
  color: #FFFFFF !important;
  border-color: #56AFD4 !important;
}


/* TCM 2.4.3: tylko przycisk „Kontakt i dojazd” na stronie głównej.
   Dodatkowy atrybut jest ustawiany wyłącznie, gdy tekst widgetu pasuje dokładnie.
   Kafelki Elementora nie są tu stylowane. */
body.home .elementor-button[data-tcm-contact-button="1"],
body.front-page .elementor-button[data-tcm-contact-button="1"],
.elementor-button[data-tcm-contact-button="1"] {
  background: #6EC1E4 !important;
  background-color: #6EC1E4 !important;
  background-image: none !important;
  color: #fff !important;
  border: 1px solid #6EC1E4 !important;
  box-shadow: none !important;
}
.elementor-button[data-tcm-contact-button="1"] .elementor-button-text {
  color: #fff !important;
}
.elementor-button[data-tcm-contact-button="1"]:hover,
.elementor-button[data-tcm-contact-button="1"]:focus-visible {
  background: #57B1D8 !important;
  background-color: #57B1D8 !important;
  border-color: #57B1D8 !important;
  color: #fff !important;
}


/* TCM 2.4.6 — sześć kart badań na stronie głównej i stronie Badania.
   Klasy dodawane tylko do sekcji z kompletem sześciu dokładnie nazwanych usług.
   Sekcja Rejestracja/Godziny otwarcia/Adres nie jest dotykana. */
body .tcm-246-services.elementor-section,
body .tcm-246-services.e-con {
  background: #f8f9fb !important;
  padding: 14px 24px 14px !important;
}
body .tcm-246-services.tcm-246-services-first { padding-top: 34px !important; }
body .tcm-246-services.tcm-246-services-last { padding-bottom: 62px !important; }
body .tcm-246-services.elementor-section > .elementor-container,
body .tcm-246-services.e-con {
  display: flex !important;
  flex-flow: row wrap !important;
  justify-content: center !important;
  align-items: stretch !important;
  gap: 26px !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
}
body .tcm-246-services .tcm-246-card.elementor-column,
body .tcm-246-services .tcm-246-card.e-con {
  flex: 1 1 calc(33.333% - 26px) !important;
  width: calc(33.333% - 26px) !important;
  max-width: calc(33.333% - 18px) !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
body .tcm-246-services .tcm-246-card > .elementor-widget-wrap,
body .tcm-246-services .tcm-246-card.e-con {
  width: 100% !important;
  min-height: 284px !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: center !important;
  box-sizing: border-box !important;
  background: #fff !important;
  border: 1px solid #edf0f4 !important;
  border-radius: 5px !important;
  box-shadow: none !important;
  margin: 0 !important;
  padding: 38px 25px 30px !important;
  text-align: center !important;
}
body .tcm-246-services .tcm-246-card > .elementor-widget-wrap::before {
  content: none !important;
  display: none !important;
}
body .tcm-246-services .tcm-246-card .tcm-246-icon {
  display: block !important;
  flex: 0 0 44px !important;
  width: 44px !important;
  height: 44px !important;
  object-fit: contain !important;
  max-width: 44px !important;
  margin: 0 auto 15px !important;
}
body .tcm-246-services .tcm-246-card .elementor-widget-heading,
body .tcm-246-services .tcm-246-card .elementor-widget-text-editor {
  flex: 0 0 auto !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
}
body .tcm-246-services .tcm-246-card .elementor-widget-heading .elementor-heading-title,
body .tcm-246-services .tcm-246-card .elementor-icon-box-title,
body .tcm-246-services .tcm-246-card .elementor-icon-box-title span {
  color: #111 !important;
  font: 500 20px/1.35 Arial, Helvetica, sans-serif !important;
  letter-spacing: -.02em !important;
  text-align: center !important;
  margin: 0 0 15px !important;
  padding: 0 !important;
}
body .tcm-246-services .tcm-246-card .elementor-widget-text-editor,
body .tcm-246-services .tcm-246-card .elementor-widget-text-editor p,
body .tcm-246-services .tcm-246-card .elementor-icon-box-description {
  color: #5d6572 !important;
  font: 400 14px/1.58 Arial, Helvetica, sans-serif !important;
  text-align: center !important;
  max-width: 290px !important;
  margin: 0 auto !important;
}
body .tcm-246-services .tcm-246-card .elementor-widget-text-editor p:last-child {
  margin-bottom: 0 !important;
}
/* Nie powielaj ikony, jeśli poprzedni importer utworzył już natywny Icon Box. */
body .tcm-246-services .tcm-246-card .elementor-widget-icon-box .elementor-icon-box-wrapper {
  display: flex !important; flex-direction: column !important; align-items: center !important;
}
body .tcm-246-services .tcm-246-card .elementor-widget-icon-box .elementor-icon-box-icon {
  margin-bottom: 14px !important;
}
@media (min-width: 681px) and (max-width: 1050px) {
  body .tcm-246-services .tcm-246-card.elementor-column,
  body .tcm-246-services .tcm-246-card.e-con {
    flex-basis: calc(50% - 14px) !important;
    width: calc(50% - 14px) !important;
    max-width: calc(50% - 14px) !important;
  }
  body .tcm-246-services .tcm-246-card > .elementor-widget-wrap,
  body .tcm-246-services .tcm-246-card.e-con {min-height: 256px !important;}
}
@media (max-width: 680px) {
  body .tcm-246-services.elementor-section,
  body .tcm-246-services.e-con {padding: 10px 17px !important;}
  body .tcm-246-services.tcm-246-services-first {padding-top: 22px !important;}
  body .tcm-246-services.tcm-246-services-last {padding-bottom: 40px !important;}
  body .tcm-246-services.elementor-section > .elementor-container,
  body .tcm-246-services.e-con {flex-direction: column !important;gap: 17px !important;}
  body .tcm-246-services .tcm-246-card.elementor-column,
  body .tcm-246-services .tcm-246-card.e-con {
    flex: 0 0 auto !important;width: 100% !important;max-width: 100% !important;
  }
  body .tcm-246-services .tcm-246-card > .elementor-widget-wrap,
  body .tcm-246-services .tcm-246-card.e-con {
    min-height: 226px !important;padding: 31px 22px !important;
  }
}

/* TCM Clean V2.4.8 — linki w stopce: białe standardowo,
   błękitne po najechaniu lub przy nawigacji klawiaturą. */
body footer.tcm-footer .tcm-layout a,
body footer.tcm-footer .tcm-layout a:link,
body footer.tcm-footer .tcm-layout a:visited,
body footer.tcm-footer .tcm-layout a:active,
body footer.tcm-footer .tcm-layout a:focus {
    color: #FFFFFF !important;
    text-decoration: none;
    transition: color .2s ease;
}
body footer.tcm-footer .tcm-layout a:hover,
body footer.tcm-footer .tcm-layout a:focus-visible {
    color: #6EC1E4 !important;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* TCM Clean V2.4.10 — gorny pasek: bialy domyslnie, blekitny hover linkow. */
body .tcm-topbar,
body .tcm-topbar .tcm-layout,
body .tcm-topbar .tcm-plain-email,
body .tcm-topbar a,
body .tcm-topbar a:link,
body .tcm-topbar a:visited,
body .tcm-topbar a:active {
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
}
body .tcm-topbar a:hover,
body .tcm-topbar a:focus-visible {
    color: #6EC1E4 !important;
    -webkit-text-fill-color: #6EC1E4 !important;
    text-decoration: underline;
    text-underline-offset: 3px;
}
/* E-mail to zwykly tekst, a nie przycisk / odnosnik. */
body .tcm-topbar .tcm-plain-email,
body .tcm-footer .tcm-plain-email {
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
    text-decoration: none !important;
    cursor: text !important;
}
.tcm-plain-email {
    text-decoration: none !important;
    cursor: text !important;
}

/* TCM Clean V2.4.11: jedynie ikony w gornym pasku; bez ikon emoji. */
.tcm-topbar .tcm-topbar-group {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    vertical-align: middle;
}
.tcm-topbar .tcm-topbar-contact {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px;
}
.tcm-topbar .tcm-topbar-icon {
    display: inline-block;
    width: 15px;
    height: 15px;
    flex: 0 0 15px;
    fill: currentColor;
    vertical-align: middle;
}
.tcm-topbar a.tcm-topbar-phone { text-decoration: none; }
@media (max-width: 767px) {
    .tcm-topbar .tcm-topbar-contact { gap: 8px 16px; }
    .tcm-topbar .tcm-topbar-location { margin-bottom: 4px; }
}


/* TCM Clean V2.4.12: płytszy chevron, gdy podmenu jest zamknięte;
   wyraźniejsza strzałka w górę, gdy lista jest rozwinięta.
   Dotyczy tylko rozwijanych pozycji menu nagłówka. */
@media (min-width: 1161px) {
  .tcm-header nav .tcm-main-menu li.menu-item-has-children > a::after {
    content: "" !important;
    display: inline-block !important;
    width: 18px;
    height: 14px;
    margin-left: 6px;
    vertical-align: -3px;
    background: center / 18px 14px no-repeat
      url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 20 14%22%3E%3Cpath d=%22M2 5 L10 8 L18 5%22 fill=%22none%22 stroke=%22%23143e73%22 stroke-width=%222.2%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3C/svg%3E');
  }
  .tcm-header nav .tcm-main-menu li.menu-item-has-children:hover > a::after,
  .tcm-header nav .tcm-main-menu li.menu-item-has-children:focus-within > a::after {
    background-image:
      url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 20 14%22%3E%3Cpath d=%22M2 12 L10 3 L18 12%22 fill=%22none%22 stroke=%22%23143e73%22 stroke-width=%222.2%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3C/svg%3E');
  }
}
@media (max-width: 1160px) {
  /* Stary znak tekstowy pozostaje w DOM, ale jego wygląd zastępuje SVG. */
  .tcm-header nav .tcm-submenu-toggle {
    font-size: 0 !important;
  }
  .tcm-header nav .tcm-submenu-toggle::before {
    content: "";
    display: block;
    width: 20px;
    height: 14px;
    background: center / 20px 14px no-repeat
      url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 20 14%22%3E%3Cpath d=%22M2 5 L10 8 L18 5%22 fill=%22none%22 stroke=%22%23143e73%22 stroke-width=%222.2%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3C/svg%3E');
  }
  .tcm-header nav .tcm-submenu-toggle[aria-expanded="true"]::before {
    background-image:
      url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 20 14%22%3E%3Cpath d=%22M2 12 L10 3 L18 12%22 fill=%22none%22 stroke=%22%23143e73%22 stroke-width=%222.2%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3C/svg%3E');
  }
}
