.1custom {clear:both; float:right;}
.txt_sml		{font-size: 0.7em; }				
.box_sml		{display: inline-block; width: 180px; height: 300px align: center; vertical-align: top; font-size: 0.8em;}

.cont 			{position: relative;
				margin: auto; border: 0px; padding: 0px;
				max-width: 980px; width: 100%; }
.stopa			{position:absolute; bottom:0; right:0;; 
				color: #C0C0C0; text-align:right; font-size: 0.8em; }				
.lang 			{display: block; float: right; width: auto; padding: 2px; font-size: 0.8em; }
.logo 			{display: block; float: left; width: auto; padding: 2px;}
.menu_1 			{clear:both; display: block; float: right; width: auto; padding: 2px; font-size: 1.0em; }
.menu_2 			{font-size: 0.8em;}
.content		{display: block; float: left; width: 100%; min-height: 315; padding: 2px; 
				text-align:right; vertical-align:top }
.pool			{height: 180px;}
.pools			{height: 50px;}
.poold			{clear:both; height: 20;}
.tabd			{clear: both; text-align:right; margin-bottom:0;
				padding-bottom:1px; border-bottom:1px solid #0f4c81; }
				
				
.tabl			{float:right; vertical-align:top; padding-bottom:1px; border-bottom:1px solid #9FBB43; width:100%;} 

.hgl			{color: #9FBB43;}
.hgd			{color: #0f4c81; font-size:1.4em; }
.hgb			{color: #000000; font-size:1.0em; margin:0px;}
.article		{font-size: 0.9em; text-align:right; vertical-align:top; display: block; 
				-webkit-margin-before: 1px;
				-webkit-margin-after: 1px;
				-webkit-margin-start: 1px;
				-webkit-margin-end: 1px;
} 
.articlel		{font-size: 0.9em; text-align:left; vertical-align:top; width: 70%;
				display: block; float:right; 
				-webkit-margin-before: 1px;
				-webkit-margin-after: 1px;
				-webkit-margin-start: 1px;
				-webkit-margin-end: 1px;
} 
.menu2			{font-size: 1em; text-align:right; vertical-align:top; min-width: 250px; min-height:250px;	background-image}




:root {
  --color-blue: #0F4C81;
  --color-orange: #f1b500;
  --color-green: #2ca14b;
  --color-red: #e33e2b;
  --color-light-blue: #3a7cec;
  --color-gray: #636363;
  --color-light-gray: #dadada;
  --color-white: #ffffff;
}

header {background-color:#0F4C81;}
.fontsizeagree
	{
	font-size: 9px;
	}
#formularz2 {
    position:relative;
    right:10px;
    width:60%; /* ustawiamy szeroko¶ć formularza */
    margin:0 auto; /* jeżeli nasz formularz ma ustawion± szeroko¶ć wy¶rodkowujemy go */
    background-color:transparent; /* dodajemy kolor tła naszemu formularzowi */
    border:0px solid #000; /* dodajemy obramowanie o szeroko¶ci 2px */
    border-radius:0px; /* zaokr±glamy tło naszego formularza */
	padding:20px 20px 20px 20px; /* dodajemy margines wewn±trz naszego formularza */
    margin-top:0px; /* dodajemy margines górny naszego formularza */
}                                                                                

#formularz2 label {
    display:block;/* ustawiamy by label rozpoczynał się od nowej linii*/
    margin-bottom:5px;/* dodajemy margines dolny */
    font-weight:bold; /* pogrubiamy czcionkę */
    text-transform: uppercase; /* zamieniamy wszystkie litery na duże */
    font-size:12px; /* ustawiamy wielko¶ć czcionki */
    color:#000000; /* ustawiamy kolor czcionki */
}

#formularz2 textarea{
	display:block;
	padding:5px; /* dodajemy margines wewn±trz naszego pola */
	border-radius:0px; /* dodajemy zaokraglone rogi */
	border:1px solid #000; /* dodajemy obramowanie */
	width:84%; /* ustalamy szeroko¶ć */
	margin-bottom:5px; /* dodajemy margines dolny */
	margin:0 auto; /* jeżeli nasz formularz ma ustawion± szeroko¶ć wy¶rodkowujemy go */
	
	height:180px;
	background-color:transparent; /* dodajemy kolor tła naszemu formularzowi */
}
#formularz2 select{
	padding:5px; /* dodajemy margines wewn±trz naszego pola */
	border-radius:0px; /* dodajemy zaokraglone rogi */
	border:0px solid #ccc; /* dodajemy obramowanie */
	margin-bottom:5px; /* dodajemy margines dolny */
	width:180px; /* ustalamy szeroko¶ć */
  height:40px;
}
#formularz2 input{
	display:block;
	padding:5px; /* dodajemy margines wewn±trz naszego pola */
	margin:0 auto; /* jeżeli nasz formularz ma ustawion± szeroko¶ć wy¶rodkowujemy go */
	border-radius:0px; /* dodajemy zaokraglone rogi */
	border:0px solid #000; /* dodajemy obramowanie */
	margin-bottom:5px; /* dodajemy margines dolny */
	width:84%; /* ustalamy szeroko¶ć */
	height:40px;
	// border:2px solid #000; /* dodajemy obramowanie o szeroko¶ci 2px */
background-color:transparent; /* dodajemy kolor tła naszemu formularzowi */
}
	

#formularz2 input#submit {
  background-color:#333333; /* dodajemy kolor tła naszemu przyciskowi */
  color:#fff; /* kolor tekstu */
	width:60% /* ustalamy szeroko¶ć */
	cursor:pointer; /* zmieniamy kursor */
	margin-bottom:0px;/* resetujemy margines dolny */
}

#formularz2 p.copy {
	color:#555555; /* ustawiamy kolor czcionki */
	margin-bottom:0px; /* resetujemy margines dolny */
	font-size:12px; /* ustawiamy rozmiar czcionki */
	text-align: center; /* wy¶rodkowywujemy tekst */
}

#formularz2 p.copy a {
	color:#555555;/* ustawiamy kolor czcionki */ 
	text-decoration: none; /* usuwamy podkre¶lenie linku */
	font-weight:bold; /* pogrubiamy czcionkę */
}  


.container-component>*+*,.container-component>:first-child,.container-sidebar-left>*+*,.container-sidebar-left>:first-child,.container-sidebar-right>*+*,.container-sidebar-right>:first-child {
    margin-top: 0em
}
.card-body {
 
    padding: 0;
}
.blog {
  font-size: 34px;
  border-left: 0px solid var(--color-orange);
  padding-left: 0.5em;
}

.header-section-blog {
  height: auto;
  padding: 2em 2em;
  background-color: var(--color-blue);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.text-muted
	{
	max-width: 900px;
	margin: 0 auto;
	}
.readmore
	{
	font-color: #fff !important;
	text-decoration: none;
	}

.zero
	{
	margin: 0em 0;
	}

.container-header {
    background-color: #fff;
    box-shadow: inset 0 5px 5px rgba(0,0,0,.03);
    position: relative;
    z-index: 10;	
    background-image: linear-gradient(white,white);
    box-shadow: inset 0 5px 5px rgba(0,0,0,.03);
    position: relative;
    z-index: 10
	
}

.card {
    --card-spacer-y: 1rem;
    --card-spacer-x: 1rem;
    --card-title-spacer-y: 0.5rem;
    --card-border-width: 0px;
    --card-box-shadow: ;
    --card-inner-border-radius: calc(0.25rem - 1px);
    --card-cap-padding-y: 0.5rem;
    --card-cap-padding-x: 1rem;
    --card-cap-bg: rgba(0,0,0,.03);
    --card-cap-color: ;
    --card-height: ;
    --card-color: ;
    --card-bg: #fff;
    --card-img-overlay-padding: 1rem;
    --card-group-margin: 0.5em;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    word-wrap: break-word;
    background-clip: border-box;
    background-color: var(--card-bg);
    border: var(--card-border-width) solid var(--card-border-color);
    border-radius: var(--card-border-radius);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    height: var(--card-height);
    min-width: 0;
    position: relative
}

@font-face {
  font-family: 'Book Antiqua';
  src: url('./fonts/book-antiqua.eot');
  src: url('./fonts/book-antiqua_pl.ttf') format('truetype'),
  url('fonts/Book-Antiqua_pl.woff') format('woff');
}

body {
  font-family: 'Arial', sans-serif;
  margin: 0;
  font-size: 18px;
  line-height: 1.3;
  hyphens: auto;
  background-color: var(--color-white);
}

.link {
	color: #000;
	text-decoration: none;
}


.container {
  max-width: 900px;
  margin: 0 auto;
}


.header-section {
  height: auto;
  padding: 6em 2em;
  background-color: var(--color-blue);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.header-frame {
  border: 2px solid var(--color-white);
  padding: 2em 3em;
  position: relative;
  z-index: 2;
}

.main-title::after {
  content: '';
  width: 250px;
  height: 30px;
  display: inline-block;
  background-color: var(--color-blue);
  position: absolute;
  top: 97%;
  transform: translateX(-50%);
  z-index: -3;
}

.header-logo {
  width: 300px;
  height: 300px;
  background-image: url("./img/logo.png");
  background-repeat: no-repeat;
  background-size: 300px;
  opacity: 0.5;
  position: absolute;
  right: -20%;
  bottom: -50%;
  z-index: -3;
}

.signature {
  font-family: 'Book Antiqua', Fallback, sans-serif;
  color: var(--color-white);
  text-align: center;
  position: absolute;
  top: 97%;
  /* background-color: var(--color-blue); */
  padding: 0 1em;
  left: 50%;
  transform: translate(-50%);
  font-size: 22px;
  font-weight: bold;
  z-index: 2;
}

.main-title {
  color: white;
  text-align: center;
  font-size: 22px;
  line-height: 1.5;
  z-index: 2;
}

section {
  padding: 1em;
}

p {
  margin: 1em 0;
  text-align: justify;
  color: var(--color-gray);
}

.summary {
  font-size: 20px;
  padding-top: 2em;
}

.image-section {
  display: flex;
  flex-direction: row;
  align-items: center;
}

.image {
  padding: 1em;
  width: 40%;
}

.image img {
  width: 100%;
}

.image-text-section {
  width: 60%;
  padding-right: 1em;
}

.image-text-section p:first-child {
  margin-top: 0;
  border: 1 px solid red;
}

.image-section {
  display: flex;
  flex-direction: row;
  max-width: 992px;
  margin: 0 auto;
}

h1,
h2,
h3 {
  z-index: 1;
  font-family: 'Montserrat', sans-serif;
}

h3 {
  margin-top: 1em;
  font-size: 24px;
}

h2 {
  font-size: 34px;
  border-left: 2px solid var(--color-orange);
  padding-left: 0.5em;
}
.likeh1
{
  z-index: 1;
  font-family: 'Montserrat', sans-serif;
  font-size: 2.5rem; font-weight: 700;
  text-align: center;
  color: white;
}


.title {
  font-weight: 400;
}

.button {
  padding: 0.6em 1.8em;
  background-color: var(--color-red);
  border-radius: 5px;
  display: flex;
  margin: 2.5em auto 0;
  cursor: pointer;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 1.2px;
  color: var(--color-white);
  transition: background-color 0.3s;
}

.button:hover {
  background-color: var(--color-white);
  border-color: var(--color-red);
  color: var(--color-red);
}

.required-mark {
  color: var(--color-red);
  margin-left: 2px;
}

.google-form {
  display: flex;
  justify-content: center;
  width: 100%;
}
.contact-form {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  border: 1px solid var(--color-light-gray);
  padding: 2em;
  margin: 1em;
  border-radius: 10px;
  max-width: 500px;
}

.form-section {
  width: 100%;
  padding: 1em 0;
  white-space: nowrap;
  display: flex;
  flex-wrap: wrap;
}

.form-section label {
  font-weight: bold;
  font-size: 20px;
}

.form-section input {
  padding: 0.5em;
  width: 100%;
  font-size: 16px;
}

.form-rodo {
  width: 100%;
}

.form-input {
  margin: 0;
  width: 15px;
  height: 15px;

}

.form-submit {
  width: 100%;
}

.form-submit .button {
  background-color: var(--color-blue);
}

.form-submit .button:hover {
  background-color: var(--color-white);
  border-color: var(--color-blue);
  color: var(--color-blue);
}


.footer-content {
  max-width: none !important;          /* usuwa stare max-width: 1200px */
  margin: 0 auto;
}

.footer-content ul {
  list-style-type: none;
}

.about,
.contact {
  width: 40%;
}

.social-media {
  width: 20%;
}

.lists {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  color: var(--color-gray);
}

.list-title {
  font-weight: 700;
  color: black;
}

.name {
  font-family: 'Book Antiqua', Fallback, sans-serif;
  font-size: 32px;
  font-weight: bold;
  color: black;
  padding-left: 40px;
}


.icon {
  width: 50px;
  height: 50px;
}

@media screen and (max-width: 768px) { 
  body h1 {
    font-size: 1.4em;
  }

  body h2 {
    font-size: 28px;
  }

  body .signature {
    white-space: nowrap;
  }

  body .header-logo {
    right: -20%;
    bottom: -50%;
    z-index: -3;
  }

  body .header-section {
    padding: 4em 1em;
  }

  body .header-frame {
    padding: 1.5em 1em;
  }

  .container .image-section {
    display: flex;
    flex-direction: column;
  }

  .container .image-section p {
    width: 100%;
  }

  .container .image {
    width: 60%;
  }

  .container .image-text-section {
    width: 100%;
    padding: 0 1em;
  }

  body .lists {
    flex-wrap: wrap;
  }

  footer .about {
    width: 100%;
  }
  footer .contact {
    width: 100%;
  }

  footer .social-media {
    width: 100%;
  }
}

lite-youtube {
    background-color: #000;
    position: relative;
    display: block;
    contain: content;
    background-position: center center;
    background-size: cover;
    cursor: pointer;
    max-width: 720px;
}

/* gradient */
lite-youtube::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAADGCAYAAAAT+OqFAAAAdklEQVQoz42QQQ7AIAgEF/T/D+kbq/RWAlnQyyazA4aoAB4FsBSA/bFjuF1EOL7VbrIrBuusmrt4ZZORfb6ehbWdnRHEIiITaEUKa5EJqUakRSaEYBJSCY2dEstQY7AuxahwXFrvZmWl2rh4JZ07z9dLtesfNj5q0FU3A5ObbwAAAABJRU5ErkJggg==);
    background-position: top;
    background-repeat: repeat-x;
    height: 60px;
    padding-bottom: 50px;
    width: 100%;
    transition: all 0.2s cubic-bezier(0, 0, 0.2, 1);
}

/* responsive iframe with a 16:9 aspect ratio
    thanks https://css-tricks.com/responsive-iframes/
*/
lite-youtube::after {
    content: "";
    display: block;
    padding-bottom: calc(100% / (16 / 9));
}
lite-youtube > iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    border: 0;
}

/* play button */
lite-youtube > .lty-playbtn {
    display: block;
    /* Make the button element cover the whole area for a large hover/click target… */
    width: 100%;
    height: 100%;
    /* …but visually it's still the same size */
    background: no-repeat center/68px 48px;
    /* YT's actual play button svg */
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 68 48"><path d="M66.52 7.74c-.78-2.93-2.49-5.41-5.42-6.19C55.79.13 34 0 34 0S12.21.13 6.9 1.55c-2.93.78-4.63 3.26-5.42 6.19C.06 13.05 0 24 0 24s.06 10.95 1.48 16.26c.78 2.93 2.49 5.41 5.42 6.19C12.21 47.87 34 48 34 48s21.79-.13 27.1-1.55c2.93-.78 4.64-3.26 5.42-6.19C67.94 34.95 68 24 68 24s-.06-10.95-1.48-16.26z" fill="red"/><path d="M45 24 27 14v20" fill="white"/></svg>');
    position: absolute;
    cursor: pointer;
    z-index: 1;
    filter: grayscale(100%);
    transition: filter .1s cubic-bezier(0, 0, 0.2, 1);
    border: 0;
}

lite-youtube:hover > .lty-playbtn,
lite-youtube .lty-playbtn:focus {
    filter: none;
}

/* Post-click styles */
lite-youtube.lyt-activated {
    cursor: unset;
}
lite-youtube.lyt-activated::before,
lite-youtube.lyt-activated > .lty-playbtn {
    opacity: 0;
    pointer-events: none;
}

.lyt-visually-hidden {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
  }



/* ================================================
   HEADER-HEADER — moduł nagłówka strony głównej
   Pozycja: header-wlasny w szablonie
   Linia tej samej szerokości co artykuł
   Fonty czarne, menu przy linii
   ================================================ */

.header-wlasny-wrapper {
  width: 100%;
  box-sizing: border-box;
}

.header-header {
  display: flex;                        /* hasło i menu obok siebie */
  justify-content: space-between;       /* hasło do lewej, menu do prawej */
  align-items: flex-end;                /* menu i hasło wyrównane DO DOŁU — leży na linii */
  max-width: 1320px;
  margin: 0 auto;
  padding: 0.5em 0.5em 0 0.5em;        /* brak paddingu na dole — linia tuż pod tekstem */
  box-sizing: border-box;
  border-bottom: 1px solid #0f4c81;    /* linia tej samej szerokości co header-header */
}

.header-header .hgd {
  font-size: 1.4em;
  color: #0f4c81;
  margin: 0;
  padding: 0 0 4px 0;                  /* mały odstęp od linii */
}

.header-header .hgb {
  font-size: 1.0em;
  color: #000;
  margin: 0;
  padding: 0 0 4px 0;
}

.header-nav {
  display: flex;
  gap: 24px;
  align-items: flex-end;               /* linki wyrównane do dołu */
  padding-bottom: 4px;                 /* ten sam odstęp od linii co hasło */
}

.header-nav a {
  color: #000;                         /* czarny — jak zwykły tekst */
  text-decoration: none;
  font-size: 16px;
  font-weight: 400;                    /* normalny, nie bold */
  white-space: nowrap;
  line-height: 1;
}

.header-nav a:hover {
  text-decoration: underline;
}

@media screen and (max-width: 768px) {
  .header-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    padding-bottom: 0.5em;
  }
  .header-nav {
    gap: 16px;
    flex-wrap: wrap;
  }
}



/* ================================================
   GLOBALNE LINKI — czarne jak zwykły tekst
   Dotyczy wszystkich <a> na stronieaa
   ================================================ */
a {
  color: #000;                         /* czarny — identyczny jak kolor tekstu */
  text-decoration: none;               /* bez podkreślenia */
}

a:hover {
  color: #000;                         /* hover też czarny */
  text-decoration: none;               /* hover też bez podkreślenia */
}




/* ================================================
   GLOBALNE LINKI — czarne jak zwykły tekst
   Nadpisuje regułę a:not([class]) z template.css
   ================================================ */
a,
a:not([class]) {
  color: #000;                         /* czarny jak zwykły tekst */
  text-decoration: none;               /* bez podkreślenia */
}


/* ================================================
   FOOTER — kompletne style
   Trzy kolumny, wycentrowane, dużo powietrza
   Wzorowane na wayback machine
   ================================================ */
/* ================================================
   FOOTER
   Wyrównany idealnie do header-header
   ================================================ */
/* ================================================
   FOOTER
   ================================================ */

footer.container-footer {
    background: #fff !important;
    background-image: none !important;
    border-top: 0px solid #dadada;
    padding: 4em 0;
    margin-top: 40px;
}

footer.container-footer .grid-child {
    max-width: 1320px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 0.5em !important;
    box-sizing: border-box !important;
}

/* moduł Joomla */
footer.container-footer #mod-custom113,
footer.container-footer .mod-custom.custom {
    width: 100% !important;
    max-width: none !important;
    flex: 0 0 100% !important;
    display: block !important;
    float: none !important;
    clear: none !important;
}

footer.container-footer .footer-content {
    width: 100% !important;
    max-width: none !important;
    display: block !important;
    box-sizing: border-box !important;
}

footer.container-footer .name {
    font-family: 'Book Antiqua', Fallback, sans-serif;
    font-size: 32px;
    font-weight: bold;
    color: #000;
    margin: 0 0 30px 0;
    padding: 0;
}

footer.container-footer .lists {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr 70px;
    column-gap: 60px;
    align-items: start;
}

footer.container-footer .about,
footer.container-footer .contact,
footer.container-footer .social-media {
    width: auto !important;
    max-width: none !important;
    flex: none !important;
}

footer.container-footer ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

footer.container-footer li {
    margin: 0 0 8px 0;
    padding: 0;
    color: #636363;
    font-size: 16px;
    line-height: 1.4;
}

footer.container-footer .list-title {
    font-weight: 700;
    color: #000;
    margin-bottom: 10px;
}

footer.container-footer .icon {
    width: 50px;
    height: 50px;
    display: block;
    margin-bottom: 12px;
}

/* wszystkie linki w stopce */
footer.container-footer a,
footer.container-footer a:link,
footer.container-footer a:visited,
footer.container-footer a:hover,
footer.container-footer a:active,
footer.container-footer a:focus {
    color: #000 !important;
    text-decoration: none !important;
}

@media screen and (max-width: 768px) {

    footer.container-footer .lists {
        grid-template-columns: 1fr;
        row-gap: 30px;
    }

    footer.container-footer .about,
    footer.container-footer .contact,
    footer.container-footer .social-media {
        width: 100% !important;
    }

    footer.container-footer .social-media {
        display: flex;
        gap: 15px;
    }
}

/* ================================================
   SERVICES-ROW — trzy ramki usług
   Pozycja modułu: main-1row
   Bez ikon, bez tła, delikatna krawędź
   ================================================ */
.services-row {
  display: flex;
  gap: 1.5em;
  padding: 2em 0;
}

.svc-box {
  flex: 1;
  border: 1px solid #dadada;           /* delikatna krawędź */
  border-radius: 8px;
  padding: 1.5em;
  display: flex;
  flex-direction: column;
}

.svc-title {
  font-size: 18px;
  font-weight: 500;
  color: #000;
  margin: 0 0 0.5em 0;
  border-left: none;                   /* nadpisuje globalny styl h3 */
  font-family: 'Montserrat', sans-serif;
}

.svc-desc {
  font-size: 15px;
  color: #636363;
  line-height: 1.6;
  margin: 0;
  text-align: left;
  flex: 1;
}

.svc-link {
  font-size: 14px;
  color: #0F4C81;
  text-decoration: none;
  margin-top: 1em;
  font-weight: 500;
  display: inline-block;
}

@media screen and (max-width: 768px) {
  .services-row {
    flex-direction: column;            /* na mobile jedna kolumna */
  }
}

/* ================================================
   SVC-LINKS — kontener na linki w boksie
   ================================================ */
.svc-links {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 1em;
}

/* ================================================
   WORK-ROW — selected work
   Pozycja modułu: main-2row
   Lista case studies z tagami, bez grafiki
   ================================================ */
.work-row {
  padding: 2em 0;
}

.work-title {
  border-left: 2px solid #f1b500;
  padding-left: 0.5em;
  font-size: 28px;
  margin-bottom: 1em;
}

.work-list {
  display: flex;
  flex-direction: column;
}

.work-item {
  display: flex;
  align-items: baseline;
  gap: 12px;
  padding: 0.7em 0;
  border-bottom: 1px solid #dadada;
  text-decoration: none;
  color: #000;
}

.work-item:last-child {
  border-bottom: none;
}

.work-item:hover .work-name {
  color: #0F4C81;
}

.work-tag {
  font-size: 10px;
  font-weight: 600;
  padding: 2px 7px;
  border-radius: 3px;
  background: #0F4C81;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: .04em;
  white-space: nowrap;
  flex-shrink: 0;
}

.work-name {
  font-size: 16px;
  color: #000;
  transition: color 0.15s;
}

.work-all {
  display: inline-block;
  margin-top: 0.8em;
  font-size: 14px;
  color: #0F4C81;
  font-weight: 500;
  text-decoration: none;
}
/* ================================================
   BLOG-ROW — from the blog
   Pozycja modułu: main-3row
   Trzy ostatnie artykuły, bez grafiki
   ================================================ */
.blog-row {
  padding: 2em 0;
}

.blog-title {
  border-left: 2px solid #f1b500;
  padding-left: 0.5em;
  font-size: 28px;
  margin-bottom: 1em;
}

.blog-list {
  display: flex;
  flex-direction: column;
}

.blog-item {
  display: block;
  padding: 0.7em 0;
  border-bottom: 1px solid #dadada;
  font-size: 16px;
  color: #000;
  text-decoration: none;
}

.blog-item:last-child {
  border-bottom: none;
}

.blog-item:hover {
  color: #0F4C81;
}

.blog-all {
  display: inline-block;
  margin-top: 0.8em;
  font-size: 14px;
  color: #0F4C81;
  font-weight: 500;
  text-decoration: none;
}

/* ================================================
   SIDE-ROW — side project bieszczady
   Pozycja modułu: main-4row
   Delikatne wyróżnienie, bez grafiki
   ================================================ */
.side-row {
  padding: 2em 0;
}

.side-box {
  border-left: 3px solid #f1b500;
  padding: 1.2em 1.5em;
  border-radius: 0 8px 8px 0;
  background: #f9f9f9;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.side-label {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: #636363;
  margin: 0;
  text-align: left;
}

.side-title {
  font-size: 22px;
  font-weight: 500;
  color: #000;
  margin: 0;
  border-left: none;
  padding-left: 0;
  font-family: 'Montserrat', sans-serif;
}

.side-desc {
  font-size: 15px;
  color: #636363;
  line-height: 1.6;
  margin: 0;
  text-align: left;
}

.side-link {
  font-size: 14px;
  color: #0F4C81;
  font-weight: 500;
  text-decoration: none;
  display: inline-block;
}


/* ================================================
   TYPOGRAFIA MODUŁÓW STRONY GŁÓWNEJ
   h3 w boksach usług — duży, wyraźny (dominant)
   h2 w sekcjach below — małe, subtelne etykiety
   Oba nadpisują globalne h2/h3 przez specificity
   ================================================ */

/* h3 w boksach usług — duży jak globalne h2 */
.svc-box h3.svc-title {
  font-size: 20px;
  font-weight: 500;
  color: #000;
  margin: 0 0 0.5em 0;
  border-left: none;
  padding-left: 0;
  font-family: 'Montserrat', sans-serif;
}

/* h2 w sekcjach poniżej — mała szara etykieta */
.work-row h2.work-title,
.blog-row h2.blog-title,
.side-row h2.side-title,
.contact-row h2.contact-title {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: #999;
  border-left: none;
  padding-left: 0;
  margin-bottom: 1.2em;
  font-family: 'Arial', sans-serif;
}


/* ================================================
   PODSTRONA: Konsultant digital marketingu
   madrecki.com — user.css
   
   Prefiks: dm- (digital marketing)
   Izoluje style tej podstrony od reszty serwisu.
   
   Sekcje:
   01. Zmienne lokalne
   02. Etykiety sekcji i nagłówki
   03. Blok cenowy
   04. Trust strip
   05. Siatka usług (checkboxy)
   06. CTA telefoniczne
   07. Szczegółowe opisy usług
   08. Bio i perspektywy
   09. Formularz kontaktowy
   10. Media queries — mobile
   ================================================ */


/* ================================================
   01. ZMIENNE LOKALNE
   Dziedziczą z :root w user.css — tu tylko aliasy
   ================================================ */

.dm-price-section,
.dm-trust,
.dm-offer-section,
.dm-phones-cta,
.dm-deep-section,
.dm-bio-section,
.dm-contact-section {
    --dm-blue:   #0F4C81;
    --dm-orange: #f1b500;
    --dm-gray:   #636363;
    --dm-lgray:  #dadada;
    --dm-red:    #e33e2b;
    --dm-bg:     #f9f9f9;
}


/* ================================================
   02. ETYKIETY SEKCJI I NAGŁÓWKI
   .dm-sec-label — mała szara etykieta nad tytułem
   .dm-sec-h2    — duży tytuł z pomarańczową kreską
   ================================================ */

.dm-sec-label {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: #999;
    margin-bottom: 0.6em;
    text-align: left;
}

.dm-sec-h2 {
    font-size: 28px;
    font-weight: 600;
    color: #000;
    font-family: 'Arial', sans-serif;
    border-left: 2px solid var(--dm-orange);
    border-radius: 0;            /* bez zaokrąglenia przy jednostronnym borderze */
    padding-left: 0.5em;
    margin-bottom: 0.8em;
}

/* Przycisk — wspólna baza */
.dm-btn {
    display: inline-block;
    padding: 0.6em 1.8em;
    border-radius: 5px;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 1px;
    text-decoration: none;
    cursor: pointer;
}

/* Wariant: czerwony (główne CTA) */
.dm-btn-red {
    background-color: var(--dm-red);
    color: #fff;
}

/* Wariant: biały obramowany (na niebieskim tle) */
.dm-btn-outline {
    background: transparent;
    border: 2px solid #fff;
    color: #fff;
    margin-top: 1em;
    display: inline-block;
}


/* ================================================
   03. BLOK CENOWY
   Trzy kolumny: cena | lista zawartości | CTA
   ================================================ */

.dm-price-section {
    padding: 2.5em 0 0;
}

.dm-price-box {
    border: 2px solid var(--dm-blue);
    border-radius: 8px;
    padding: 2em 2.5em;
    margin: 1em 0 2em;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2em;
}

/* Lewa część: liczba + opis */
.dm-price-left {
    flex-shrink: 0;
}

.dm-price-main {
    display: flex;
    align-items: baseline;
    gap: 0.3em;
}

.dm-price-num {
    font-size: 52px;
    font-weight: 700;
    color: var(--dm-blue);
    line-height: 1;
}

.dm-price-unit {
    font-size: 18px;
    color: var(--dm-gray);
}

.dm-price-desc {
    font-size: 15px;
    color: var(--dm-gray);
    margin-top: 0.4em;
    text-align: left;
}

/* Środkowa część: lista usług */
.dm-price-includes {
    list-style: none;
    padding: 0;
    margin: 0;
}

.dm-price-includes li {
    font-size: 15px;
    color: var(--dm-gray);
    padding: 3px 0;
    text-align: left;
}

.dm-price-includes li::before {
    content: "✔ ";
    color: var(--dm-blue);
    font-weight: 700;
}

/* Prawa część: przycisk */
.dm-price-cta {
    flex-shrink: 0;
}


/* ================================================
   04. TRUST STRIP
   Cztery kafelki z konkretnymi liczbami
   Oddzielone cienką szarą linią (grid z gap 1px)
   ================================================ */

.dm-trust {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1px;
    background-color: var(--dm-lgray);  /* tło widoczne jako linia między kafelkami */
    border: 1px solid var(--dm-lgray);
    border-radius: 8px;
    overflow: hidden;
    margin: 0 0 2em;
}

.dm-trust-item {
    background: #fff;
    padding: 1.2em 1em;
    text-align: center;
}

.dm-trust-num {
    font-size: 26px;
    font-weight: 700;
    color: var(--dm-blue);
    display: block;
}

.dm-trust-lbl {
    font-size: 13px;
    color: var(--dm-gray);
    line-height: 1.3;
    display: block;
    margin-top: 4px;
    text-align: center;
}


/* ================================================
   05. SIATKA USŁUG — CHECKBOXY
   Dwie kolumny, ostatni element na pełną szerokość
   ================================================ */

.dm-offer-section {
    padding: 0 0 1em;
}

.dm-offer-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1em;
    padding: 1.5em 0 2em;
}

.dm-offer-item {
    border: 1px solid var(--dm-lgray);
    border-radius: 8px;
    padding: 1.3em 1.5em;
    display: flex;
    gap: 12px;
    align-items: flex-start;
}

/* Element na pełną szerokość siatki */
.dm-offer-full {
    grid-column: 1 / -1;
}

.dm-offer-check {
    color: var(--dm-blue);
    font-size: 20px;
    flex-shrink: 0;
    margin-top: 1px;
}

/* Nadpisuje globalne h3 wewnątrz siatki usług */
.dm-offer-item h3 {
    font-size: 17px;
    font-weight: 600;
    color: #000;
    margin: 0 0 0.3em;
    font-family: 'Arial', sans-serif;
    border: none;
    padding: 0;
}

.dm-offer-item p {
    font-size: 15px;
    color: var(--dm-gray);
    margin: 0;
    text-align: left;
    line-height: 1.5;
}


/* ================================================
   06. CTA TELEFONICZNE
   Niebieski boks z numerami i linkami
   ================================================ */

.dm-phones-cta {
    background-color: var(--dm-blue);
    padding: 2.5em 2em;
    text-align: center;
    margin: 0 0 2.5em;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.dm-phones-label {
    color: rgba(255, 255, 255, 0.75);
    font-size: 15px;
    margin: 0 0 1em;
    text-align: center;
}

.dm-phone {
    color: #fff;
    font-size: 26px;
    font-weight: 700;
    display: block;
    margin: 0.2em 0;
    text-decoration: none;
}

.dm-phones-sep {
    color: rgba(255, 255, 255, 0.4);
    margin: 0.4em 0;
    font-size: 14px;
    text-align: center;
}


/* ================================================
   07. SZCZEGÓŁOWE OPISY USŁUG
   Lista rozdzielona poziomą linią
   ================================================ */

.dm-deep-section {
    padding: 0 0 1em;
}

.dm-deep-item {
    padding: 1.4em 0;
    border-bottom: 1px solid var(--dm-lgray);
}

.dm-deep-item:last-child {
    border-bottom: none;
}

/* Nadpisuje globalne h3 w sekcji deep */
.dm-deep-item h3 {
    font-size: 20px;
    font-weight: 600;
    color: #000;
    margin-bottom: 0.5em;
    font-family: 'Arial', sans-serif;
    border: none;
    padding: 0;
}

.dm-deep-item p {
    font-size: 16px;
    color: var(--dm-gray);
    margin: 0;
    text-align: left;
    line-height: 1.6;
}


/* ================================================
   08. BIO I PERSPEKTYWY
   Avatar + tekst obok siebie
   Dwie karty perspektyw poniżej
   ================================================ */

.dm-bio-section {
    padding: 0 0 1em;
}

.dm-bio {
    padding: 2.5em 0 1.5em;
    display: flex;
    gap: 2em;
    align-items: flex-start;
    border-top: 1px solid var(--dm-lgray);
}

/* Okrągły avatar z inicjałami */
.dm-bio-avatar {
    width: 110px;
    height: 110px;
    border-radius: 50%;
    background-color: var(--dm-blue);
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 32px;
    font-weight: 700;
}

/* Tekst obok avatara */
.dm-bio-text h2 {
    font-size: 22px;
    border: none;
    padding: 0;
    margin-bottom: 0.4em;
    font-family: 'Arial', sans-serif;
}

.dm-bio-text p {
    font-size: 15px;
    color: var(--dm-gray);
    margin: 0.5em 0;
    text-align: left;
    line-height: 1.6;
}

/* Wyróżniony wynik z pomarańczową kreską */
.dm-bio-result {
    background-color: var(--dm-bg);
    border-left: 3px solid var(--dm-orange);
    border-radius: 0 6px 6px 0;
    padding: 0.8em 1em;
    margin-top: 1em;
    font-size: 15px;
    color: #000;
    line-height: 1.5;
}

/* Loga firm jako tagi */
.dm-bio-logos {
    display: flex;
    gap: 8px;
    margin-top: 1em;
    flex-wrap: wrap;
}

.dm-bio-logo {
    font-size: 12px;
    font-weight: 700;
    padding: 4px 12px;
    border: 1px solid var(--dm-lgray);
    border-radius: 4px;
    color: var(--dm-gray);
}

/* Dwie karty perspektyw */
.dm-persp-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1em;
    margin: 1.5em 0 2em;
}

.dm-persp-box {
    background-color: var(--dm-bg);
    border-radius: 8px;
    padding: 1.2em 1.5em;
}

.dm-persp-label {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #999;
    margin-bottom: 0.5em;
}

.dm-persp-box p {
    font-size: 15px;
    color: var(--dm-gray);
    margin: 0;
    text-align: left;
    line-height: 1.5;
}


/* ================================================
   09. FORMULARZ KONTAKTOWY
   Prosty box z inputem e-mail i przyciskiem
   ================================================ */

.dm-contact-section {
    padding: 1em 0 2em;
}

.dm-email-cta {
    border: 1px solid var(--dm-lgray);
    border-radius: 8px;
    padding: 2.5em 2em;
    text-align: center;
    margin: 1em 0;
}

.dm-email-cta > p {
    color: var(--dm-gray);
    margin: 0 0 1em;
    text-align: center;
    font-size: 16px;
}

.dm-email-row {
    display: flex;
    gap: 8px;
    justify-content: center;
    max-width: 440px;
    margin: 0 auto;
}

.dm-email-row input[type="email"] {
    flex: 1;
    padding: 0.6em 1em;
    border: 1px solid var(--dm-lgray);
    border-radius: 5px;
    font-size: 16px;
    color: #333;
    outline: none;
}

.dm-email-row input[type="email"]:focus {
    border-color: var(--dm-blue);
}

.dm-email-row button {
    padding: 0.6em 1.4em;
    background-color: var(--dm-blue);
    color: #fff;
    border: none;
    border-radius: 5px;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
}

.dm-email-row button:hover {
    background-color: #0a3a66;  /* ciemniejszy niebieski na hover */
}

.dm-email-note {
    font-size: 13px;
    color: #999;
    margin-top: 0.8em;
    text-align: center;
}


/* ================================================
   10. MEDIA QUERIES — MOBILE
   Breakpoint: 768px (zgodnie z resztą user.css)
   ================================================ */

@media screen and (max-width: 768px) {

    /* Blok cenowy: układ pionowy */
    .dm-price-box {
        flex-direction: column;
        align-items: flex-start;
        padding: 1.5em;
    }

    /* Trust strip: jedna kolumna */
    .dm-trust {
        grid-template-columns: 1fr 1fr;  /* na mobile 2x2 */
    }

    /* Siatka usług: jedna kolumna */
    .dm-offer-grid {
        grid-template-columns: 1fr;
    }

    /* Szczegółowe opisy: mniejszy font */
    .dm-deep-item h3 {
        font-size: 18px;
    }

    /* Bio: avatar nad tekstem */
    .dm-bio {
        flex-direction: column;
    }

    /* Perspektywy: jedna kolumna */
    .dm-persp-row {
        grid-template-columns: 1fr;
    }

    /* Email: input i przycisk pionowo */
    .dm-email-row {
        flex-direction: column;
        max-width: 100%;
    }

    .dm-email-row button {
        width: 100%;
    }
}

@media screen and (max-width: 480px) {

    /* Trust strip: jedna kolumna na bardzo wąskich ekranach */
    .dm-trust {
        grid-template-columns: 1fr;
    }

    .dm-price-num {
        font-size: 40px;
    }

    .dm-phone {
        font-size: 22px;
    }
}

/* ================================================
   BANER BLOGOWY — digital-marketing-consultant-blog
   Obraz rozciągnięty na pełną szerokość kontenera
   z 10px odstępem od nagłówka
   ================================================ */

.zero img {
    width: 100%;
    height: auto;
    display: block;
    margin-top: 10px;
}

/* ================================================
   PODSTRONY: About + Contact
   madrecki.com — user.css (doklejasz na końcu)

   Prefiksy:
   ab-  →  strona About
   ct-  →  strona Contact

   Sekcje:
   01. About — hero
   02. About — oś czasu
   03. About — człowiek (grid cech)
   04. About — wartości
   05. About — CTA
   06. Contact — hero
   07. Contact — układ dwukolumnowy
   08. Contact — formularz
   09. Contact — info (telefony, lokalizacja, social)
   10. Contact — mapa
   11. Media queries — mobile
   ================================================ */


/* ================================================
   01. ABOUT — HERO
   Avatar + imię + rola + lead obok siebie
   ================================================ */

.ab-hero {
    display: flex;
    align-items: center;
    gap: 2.5em;
    padding: 2.5em 0 2em;
    border-bottom: 1px solid #dadada;
    margin-bottom: 2em;
}

.ab-hero-text {
    flex: 1;
}

.ab-hero-name {
    font-size: 36px;
    font-weight: 700;
    color: #000;
    font-family: 'Arial', sans-serif;
    margin: 0.2em 0 0.2em;
    border: none;
    padding: 0;
}

.ab-hero-role {
    font-size: 15px;
    color: #636363;
    margin: 0 0 1em;
    text-align: left;
}

.ab-hero-lead {
    font-size: 17px;
    color: #636363;
    line-height: 1.6;
    margin: 0;
    text-align: left;
}

/* Okrągły avatar z inicjałami */
.ab-hero-avatar {
    width: 130px;
    height: 130px;
    border-radius: 50%;
    background-color: #0F4C81;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 38px;
    font-weight: 700;
}


/* ================================================
   02. ABOUT — OŚ CZASU
   Pionowa linia z kafelkami doświadczenia
   ================================================ */

.ab-section {
    padding: 1.5em 0 2em;
    border-bottom: 1px solid #dadada;
    margin-bottom: 1em;
}

.ab-section:last-of-type {
    border-bottom: none;
}

.ab-timeline {
    margin-top: 1.5em;
    position: relative;
    padding-left: 140px;    /* miejsce na daty */
}

/* Pionowa niebieska linia */
.ab-timeline::before {
    content: '';
    position: absolute;
    left: 120px;
    top: 6px;
    bottom: 0;
    width: 2px;
    background-color: #dadada;
}

.ab-timeline-item {
    position: relative;
    margin-bottom: 2em;
    display: flex;
    gap: 1.5em;
}

.ab-timeline-item:last-child {
    margin-bottom: 0;
}

/* Data po lewej */
.ab-timeline-date {
    position: absolute;
    left: -140px;
    width: 115px;
    text-align: right;
    font-size: 13px;
    font-weight: 700;
    color: #0F4C81;
    padding-top: 3px;
    white-space: nowrap;
}

/* Kropka na linii */
.ab-timeline-item::before {
    content: '';
    position: absolute;
    left: -22px;
    top: 8px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #0F4C81;
    border: 2px solid #fff;
    outline: 2px solid #0F4C81;
}

/* Treść po prawej */
.ab-timeline-body {
    flex: 1;
}

.ab-timeline-body h3 {
    font-size: 17px;
    font-weight: 600;
    color: #000;
    margin: 0 0 0.4em;
    font-family: 'Arial', sans-serif;
    border: none;
    padding: 0;
}

.ab-timeline-body p {
    font-size: 15px;
    color: #636363;
    margin: 0;
    text-align: left;
    line-height: 1.6;
}

/* Wyróżniony wynik (jak dm-bio-result) */
.ab-result {
    background-color: #f9f9f9;
    border-left: 3px solid #f1b500;
    border-radius: 0 6px 6px 0;
    padding: 0.6em 1em;
    margin-top: 0.8em;
    font-size: 14px;
    font-weight: 600;
    color: #000;
}


/* ================================================
   03. ABOUT — CZŁOWIEK (grid cech)
   Cztery kafelki 2x2 z ikoną, tytułem i opisem
   ================================================ */

.ab-human-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.2em;
    margin-top: 1.5em;
}

.ab-human-item {
    background-color: #f9f9f9;
    border-radius: 8px;
    padding: 1.3em 1.5em;
}

.ab-human-icon {
    font-size: 26px;
    margin-bottom: 0.5em;
}

.ab-human-item h3 {
    font-size: 16px;
    font-weight: 600;
    color: #000;
    margin: 0 0 0.4em;
    font-family: 'Arial', sans-serif;
    border: none;
    padding: 0;
}

.ab-human-item p {
    font-size: 14px;
    color: #636363;
    margin: 0;
    text-align: left;
    line-height: 1.5;
}


/* ================================================
   04. ABOUT — WARTOŚCI
   Cztery pozycje z etykietą + opisem
   ================================================ */

.ab-values {
    margin-top: 1.5em;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.ab-value-item {
    padding: 1.2em 0;
    border-bottom: 1px solid #dadada;
    display: flex;
    gap: 1.5em;
    align-items: flex-start;
}

.ab-value-item:last-child {
    border-bottom: none;
}

.ab-value-label {
    font-size: 15px;
    font-weight: 700;
    color: #0F4C81;
    min-width: 220px;
    flex-shrink: 0;
    padding-top: 2px;
}

.ab-value-item p {
    font-size: 15px;
    color: #636363;
    margin: 0;
    text-align: left;
    line-height: 1.6;
}


/* ================================================
   05. ABOUT — CTA
   Wycentrowany blok z przyciskami
   ================================================ */

.ab-cta {
    text-align: center;
    padding: 2.5em 0 2em;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1em;
}

.ab-cta > p {
    font-size: 20px;
    font-weight: 600;
    color: #000;
    margin: 0;
    text-align: center;
}

.ab-cta-link {
    font-size: 15px;
    color: #0F4C81;
    text-decoration: none;
    font-weight: 500;
}

.ab-cta-link:hover {
    text-decoration: underline;
}


/* ================================================
   06. CONTACT — HERO
   Krótki nagłówek bez ozdób
   ================================================ */

.ct-hero {
    padding: 2.5em 0 2em;
    border-bottom: 1px solid #dadada;
    margin-bottom: 2em;
}

.ct-hero-title {
    font-size: 34px;
    font-weight: 700;
    color: #000;
    font-family: 'Arial', sans-serif;
    margin: 0.2em 0 0.4em;
    border: none;
    padding: 0;
}

.ct-hero-lead {
    font-size: 17px;
    color: #636363;
    margin: 0;
    text-align: left;
    line-height: 1.6;
}


/* ================================================
   07. CONTACT — UKŁAD DWUKOLUMNOWY
   Lewa: formularz (szeroka)
   Prawa: info (węższa)
   ================================================ */

.ct-layout {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 3em;
    margin-bottom: 3em;
}

.ct-form-col,
.ct-info-col {
    min-width: 0;    /* zapobiega przepełnieniu gridu */
}


/* ================================================
   08. CONTACT — FORMULARZ
   Pola z etykietami, textarea, przycisk
   ================================================ */

.ct-form {
    display: flex;
    flex-direction: column;
    gap: 1em;
}

.ct-field {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.ct-field label {
    font-size: 14px;
    font-weight: 700;
    color: #000;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.ct-field input,
.ct-field select,
.ct-field textarea {
    padding: 0.6em 0.8em;
    border: 1px solid #dadada;
    border-radius: 5px;
    font-size: 16px;
    color: #333;
    font-family: 'Arial', sans-serif;
    background: #fff;
    outline: none;
    width: 100%;
    box-sizing: border-box;
}

.ct-field input:focus,
.ct-field select:focus,
.ct-field textarea:focus {
    border-color: #0F4C81;
}

.ct-field textarea {
    resize: vertical;
    min-height: 120px;
}

.ct-submit {
    align-self: flex-start;
    margin-top: 0.5em;
}

.ct-form-note {
    font-size: 13px;
    color: #999;
    margin: 0;
    text-align: left;
}


/* ================================================
   09. CONTACT — INFO
   Bloki z telefonami, lokalizacją i social media
   ================================================ */

.ct-info-block {
    margin-bottom: 2em;
    padding-bottom: 2em;
    border-bottom: 1px solid #dadada;
}

.ct-info-block:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

/* Numery telefonów */
.ct-phone {
    display: block;
    font-size: 22px;
    font-weight: 700;
    color: #0F4C81;
    text-decoration: none;
    margin: 0.3em 0 0;
}

.ct-phone:hover {
    text-decoration: underline;
}

.ct-phone-note {
    font-size: 13px;
    color: #999;
    margin: 0 0 0.8em;
    text-align: left;
}

.ct-hours {
    font-size: 14px;
    color: #636363;
    margin: 1em 0 0;
    text-align: left;
    line-height: 1.6;
}

/* Lokalizacje z kolorową kropką */
.ct-locations {
    display: flex;
    flex-direction: column;
    gap: 1em;
    margin-top: 0.8em;
}

.ct-location {
    display: flex;
    gap: 12px;
    align-items: flex-start;
}

.ct-location-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: #0F4C81;
    flex-shrink: 0;
    margin-top: 5px;
}

/* Szwajcarska kropka — pomarańczowa dla odróżnienia */
.ct-location-dot--ch {
    background-color: #f1b500;
}

.ct-location strong {
    font-size: 15px;
    color: #000;
    display: block;
    margin-bottom: 3px;
}

.ct-location p {
    font-size: 14px;
    color: #636363;
    margin: 0;
    text-align: left;
    line-height: 1.4;
}

/* Social media linki */
.ct-social {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 0.8em;
}

.ct-social-link {
    font-size: 15px;
    color: #0F4C81;
    text-decoration: none;
    font-weight: 500;
}

.ct-social-link:hover {
    text-decoration: underline;
}


/* ================================================
   10. CONTACT — MAPA
   OpenStreetMap iframe, pełna szerokość
   ================================================ */

.ct-map-section {
    padding: 1em 0 2em;
    border-top: 1px solid #dadada;
}

.ct-map-wrap {
    margin-top: 1em;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid #dadada;
}

.ct-map-wrap iframe {
    width: 100%;
    height: 320px;
    border: none;
    display: block;
}

.ct-map-note {
    font-size: 13px;
    color: #999;
    margin-top: 0.6em;
    text-align: center;
}


/* ================================================
   11. MEDIA QUERIES — MOBILE
   Breakpoint: 768px (zgodnie z resztą user.css)
   ================================================ */

@media screen and (max-width: 768px) {

    /* About hero: avatar pod tekstem */
    .ab-hero {
        flex-direction: column-reverse;
        align-items: flex-start;
        gap: 1.5em;
    }

    .ab-hero-avatar {
        width: 90px;
        height: 90px;
        font-size: 28px;
    }

    /* Oś czasu: uproszczona na mobile */
    .ab-timeline {
        padding-left: 0;
    }

    .ab-timeline::before {
        display: none;
    }

    .ab-timeline-item::before {
        display: none;
    }

    .ab-timeline-date {
        position: static;
        width: auto;
        text-align: left;
        margin-bottom: 0.3em;
        font-size: 12px;
    }

    .ab-timeline-item {
        flex-direction: column;
        gap: 0.3em;
        padding-bottom: 1.5em;
        border-bottom: 1px solid #dadada;
        margin-bottom: 1.5em;
    }

    /* Grid cech: jedna kolumna */
    .ab-human-grid {
        grid-template-columns: 1fr;
    }

    /* Wartości: etykieta nad opisem */
    .ab-value-item {
        flex-direction: column;
        gap: 0.5em;
    }

    .ab-value-label {
        min-width: auto;
    }

    /* Contact: jedna kolumna */
    .ct-layout {
        grid-template-columns: 1fr;
        gap: 2em;
    }

    /* Formularz: pełna szerokość przycisku */
    .ct-submit {
        align-self: stretch;
        text-align: center;
    }

    /* Mapa: mniejsza wysokość */
    .ct-map-wrap iframe {
        height: 240px;
    }

    .ct-hero-title {
        font-size: 26px;
    }

    .ab-hero-name {
        font-size: 28px;
    }
}


/* ================================================
   ABOUT — UZUPEŁNIENIA v2
   Zdjęcie hero, linki hero, tekst body
   ================================================ */

/* Zdjęcie zamiast awatara z inicjałami */
.ab-hero-photo-wrap {
    flex-shrink: 0;
    width: 340px;
}

.ab-hero-photo {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 8px;
    object-fit: cover;
}

/* Linki pod leadem w hero */
.ab-hero-links {
    display: flex;
    align-items: center;
    gap: 1.5em;
    margin-top: 1.5em;
    flex-wrap: wrap;
}

.ab-hero-cta {
    margin-top: 0;    /* nadpisuje domyślny margin dm-btn */
}

.ab-hero-blog {
    font-size: 15px;
    color: #0F4C81;
    text-decoration: none;
    font-weight: 500;
}

.ab-hero-blog:hover {
    text-decoration: underline;
}

/* Akapity narracyjne w sekcjach */
.ab-body {
    font-size: 16px;
    color: #636363;
    line-height: 1.7;
    margin: 0 0 1em;
    text-align: left;
}

.ab-body strong {
    color: #000;
    font-weight: 700;
}

/* Mobile: zdjęcie na pełną szerokość nad tekstem */
@media screen and (max-width: 768px) {
    .ab-hero {
        flex-direction: column;
    }

    .ab-hero-photo-wrap {
        width: 100%;
        max-width: 480px;
        margin: 0 auto;
    }

    .ab-hero-links {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.8em;
    }
}

/* Fix — przycisk Contact */
button.ct-submit {
    background-color: #e33e2b !important;
    color: #fff !important;
    border: none;
}

/* H1 — globalny styl bazowy (subtelny, SEO-only)
   Używany na homepage i stronach usługowych */
.site-h1 {
  font-size: 0.75rem;
  font-weight: 400;
  color: #999;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin: 0 0 1.5rem 0;
}

/* H1 — strona indeksu bloga (bardziej widoczny, wyrównany z kartami) */
.view-category.layout-blog .site-h1 {
  font-size: 1.1rem;
  font-weight: 600;
  color: #333;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin: 1rem auto 1.5rem auto;
  max-width: 1320px;
  padding-left: 1rem;
  box-sizing: border-box;
}
/* CSS artykułow */
/* CSS artykułow */
/* CSS artykułow */
/* CSS artykułow */
/* Linki wewnętrzne w treści artykułów — niewidoczne (kolor tekstu, bez podkreślenia) */
/* Linki w nagłówku kafelka artykułu (niebieskie tło) — białe, bez podkreślenia */
.header-section-blog a {
  color: #ffffff;
  text-decoration: none;
}
.header-section-blog a:hover {
  color: #ffffff;
  text-decoration: none;
}

/* Obrazek wycentrowany w treści artykułu */
.article-img-center {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

/* H1 w treści artykułu — wycentrowany */
.article-h1 {
  text-align: center;
}

/* Linki wewnętrzne w treści artykułu — niewidoczne (kolor tekstu, bez podkreślenia) */
.com-content-article__body a.inner-link {
  color: inherit;
  text-decoration: none;
}
.com-content-article__body a.inner-link:hover {
  color: inherit;
  text-decoration: none;
}