/*
Theme Name: MediDent
Theme URI: https://klinikamedident.pl/
Description: Motyw potomny Astry — własny szablon strony głównej MediDent. Sekcje leżą w katalogu sections/ i są składane przez front-page.php.
Author: JSONCREW
Template: astra
Version: 0.22.0
Text Domain: medident
*/

/* ==================================================================
   Tokeny — te same, na których stoi nagłówek (mu-plugin km-header.php)
   ================================================================== */
:root{
	--md-max:1300px;
	--md-blue:#2F628F;
	--md-green:#93C85C;
	--md-green-dark:#7fb548;
	--md-gold:#F7D058;
	--md-ink:#111;
	--md-muted:#333;
	--md-line:#e3eaf0;
	--md-font:"Jost","Century Gothic","Questrial","Trebuchet MS",-apple-system,BlinkMacSystemFont,sans-serif;
}

.md-home{font-family:var(--md-font);color:var(--md-ink);}
.md-home *,.md-home *::before,.md-home *::after{box-sizing:border-box;}
.md-shell{width:100%;max-width:var(--md-max);margin:0 auto;padding:0 40px;}
.md-icon{display:block;flex:none;width:1em;height:1em;}

@media (max-width:1400px){ .md-shell{padding:0 26px;} .md-team__viewport{scroll-padding-inline:26px;} }
@media (max-width:1023px){ .md-shell{padding:0 20px;} .md-team__viewport{scroll-padding-inline:20px;} }

/* ==================================================================
   Przyciski — wspólne dla całej strony
   ================================================================== */
.md-btn{
	display:inline-flex;align-items:center;justify-content:center;gap:11px;
	min-height:50px;padding:0 34px;border-radius:999px;border:1.5px solid transparent;
	font:400 16px/1 var(--md-font);letter-spacing:.02em;text-decoration:none;text-align:center;
	transition:background-color .18s ease,color .18s ease,border-color .18s ease;
}
.md-btn .md-icon{font-size:19px;}
.md-btn--solid{background:var(--md-green);border-color:var(--md-green);color:var(--md-ink);}
.md-btn--solid:hover,.md-btn--solid:focus-visible{background:var(--md-green-dark);border-color:var(--md-green-dark);color:var(--md-ink);}
.md-btn--ghost{background:#fff;border-color:var(--md-green);color:var(--md-green);font-weight:500;}
.md-btn--ghost:hover,.md-btn--ghost:focus-visible{background:var(--md-green);color:#fff;}
.md-home a:focus-visible{outline:2px solid var(--md-blue);outline-offset:3px;}

/* ==================================================================
   SEKCJA 1 — hero
   ================================================================== */
.md-hero{background:#fff;}
.md-hero__grid{
	display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;
	padding-top:44px;padding-bottom:49px;
}
/* Zdjęcie jako tło sekcji. Tekst jest ciemny, więc pod kolumną tekstu kładziemy
   białą zasłonę wygaszaną w prawo — zdjęcie zostaje widoczne, napisy czytelne. */
.md-hero--bg{position:relative;isolation:isolate;}
.md-hero__bg{position:absolute;inset:0;z-index:-2;overflow:hidden;}
.md-hero__bg img{
	width:100%;height:100%;object-fit:cover;object-position:center;display:block;
	filter:brightness(var(--md-bright,1.12));
}
.md-hero__bg::after{
	content:"";position:absolute;inset:0;
	background:linear-gradient(
		to right,
		rgba(255,255,255,var(--md-scrim,.9)) 0%,
		rgba(255,255,255,var(--md-scrim,.9)) 44%,
		rgba(255,255,255,.62) 66%,
		rgba(255,255,255,.16) 87%,
		rgba(255,255,255,0) 100%);
}
.md-hero--bg .md-hero__grid{padding-top:56px;padding-bottom:62px;}

/* --- ikony społecznościowe --- */
.md-hero__social{display:flex;align-items:center;gap:13px;margin-bottom:26px;}
.md-social{display:inline-flex;width:30px;height:30px;border-radius:50%;overflow:hidden;
	transition:transform .18s ease,opacity .18s ease;}
.md-social .md-icon{width:100%;height:100%;}
.md-social:hover,.md-social:focus-visible{transform:translateY(-2px);}

/* --- tekst --- */
.md-hero__title{
	margin:0 0 38px;font-weight:400;line-height:1.28;letter-spacing:-.005em;color:var(--md-ink);
	font-size:clamp(30px,3.2vw,44px);
}
.md-hero__lead{
	margin:0 0 47px;max-width:62ch;color:var(--md-muted);
	font-size:16px;line-height:1.42;
}
.md-hero__lead strong{font-weight:600;color:var(--md-ink);}

.md-hero__actions{display:flex;flex-wrap:wrap;gap:20px;}
.md-hero__actions .md-btn{min-width:235px;}

/* --- plakietki opinii --- */
.md-hero__badges{display:flex;flex-direction:column;gap:16px;align-self:start;margin-top:46px;}
.md-badge{
	display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
	width:182px;min-height:62px;padding:9px 18px;border-radius:999px;
	text-decoration:none;transition:transform .18s ease,box-shadow .18s ease;
}
a.md-badge:hover,a.md-badge:focus-visible{transform:translateY(-2px);box-shadow:0 8px 20px rgba(16,32,48,.14);}
a.md-badge--zl:hover,a.md-badge--zl:focus-visible{color:#fff;}
.md-badge__brand{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:500;line-height:1;}
.md-badge__stars{display:block;}
.md-badge__stars .md-icon{width:auto;height:14px;}

.md-badge--zl{background:var(--md-blue);color:#fff;}
.md-badge--google{background:#fff;border:1.5px solid #cbd8e3;flex-direction:row;gap:10px;}
.md-badge--google .md-badge__brand .md-icon{width:24px;height:24px;}

/* --- pasek atutów --- */
.md-hero__features{background:var(--md-blue);color:#fff;}
.md-hero__features-row{
	display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
	gap:24px 66px;min-height:113px;padding-top:18px;padding-bottom:18px;
}
.md-feature{display:flex;align-items:center;gap:16px;}
.md-feature .md-icon{width:44px;height:44px;stroke-width:1.7;}
.md-feature__label{margin:0;font-size:15px;font-weight:600;line-height:1.3;letter-spacing:.01em;}

/* ==================================================================
   Hero — mniejsze ekrany
   ================================================================== */
@media (max-width:1180px){
	.md-hero__grid{gap:28px;}
	.md-hero__actions .md-btn{min-width:0;flex:1 1 260px;}
	.md-hero__features-row{gap:22px 40px;}
	.md-feature .md-icon{width:38px;height:38px;}
}

@media (max-width:900px){
	/* Cztery atuty w jednym rzędzie się nie mieszczą — układamy 2×2,
	   zamiast zostawiać czwarty samotnie pod spodem. */
	.md-hero__features-row{justify-content:flex-start;gap:22px 30px;}
	.md-feature{flex:1 1 calc(50% - 15px);min-width:0;}

	/* Plakietki schodzą pod treść; zasłona kryje prawie całą szerokość,
	   bo tekst nie trzyma się już lewej kolumny. */
	.md-hero__grid{grid-template-columns:minmax(0,1fr);}
	.md-hero__badges{flex-direction:row;flex-wrap:wrap;margin-top:26px;}
	.md-hero__bg::after{
		background:linear-gradient(
			to bottom,
			rgba(255,255,255,var(--md-scrim,.9)) 0%,
			rgba(255,255,255,calc(var(--md-scrim,.9) - .04)) 72%,
			rgba(255,255,255,.72) 100%);
	}
}

@media (max-width:600px){
	.md-hero__grid{padding-top:32px;padding-bottom:36px;}
	.md-hero__title{margin-bottom:24px;}
	.md-hero__lead{margin-bottom:30px;font-size:15px;}
	.md-hero__actions{gap:12px;}
	.md-hero__actions .md-btn{flex:1 1 100%;padding:0 20px;}
	.md-badge{flex:1 1 0;min-width:0;}
	.md-hero__features-row{gap:20px 26px;justify-content:flex-start;}
	/* min-width:0 pozwala napisowi się zawinąć — bez tego dłuższe atuty
	   nie mieszczą się w połowie rzędu i wypadają do własnej linii. */
	.md-feature{flex:1 1 calc(50% - 13px);min-width:0;gap:11px;}
	.md-feature__label{overflow-wrap:anywhere;}
	.md-feature .md-icon{width:32px;height:32px;}
	.md-feature__label{font-size:13px;}
}

/* ==================================================================
   SEKCJA 2 — zakres usług
   ================================================================== */
.md-services{
	padding:64px 0 80px;
	background:#f4f7fa;
}

.md-services__head{display:flex;align-items:center;justify-content:space-between;gap:32px;}
.md-services__title{
	margin:0;font-weight:400;line-height:1.34;letter-spacing:-.005em;color:var(--md-ink);
	font-size:28px;
}
.md-services__all{flex:none;min-height:48px;padding:0 30px;font-size:15px;}

/* --- kafle --- */
.md-services__grid{
	display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;
	margin-top:48px;
}

.md-service{
	display:flex;flex-direction:column;text-decoration:none;color:var(--md-ink);
	background:#fff;border-radius:14px;overflow:hidden;
	box-shadow:0 2px 16px rgba(16,32,48,.07);
	transition:box-shadow .22s ease,transform .22s ease;
}
.md-service:hover,.md-service:focus-visible{
	box-shadow:0 8px 32px rgba(16,32,48,.13);transform:translateY(-4px);
}
.md-service__media{display:block;overflow:hidden;aspect-ratio:16/10;background:var(--md-blue);flex:none;}
.md-service__media img{
	width:100%;height:100%;object-fit:cover;display:block;
	transition:transform .5s cubic-bezier(.22,.61,.36,1);
}
.md-service:hover .md-service__media img,
.md-service:focus-visible .md-service__media img{transform:scale(1.045);}
.md-service__label{
	display:block;padding:18px 22px 22px;
	font-size:18px;font-weight:600;line-height:1.25;color:var(--md-ink);
}

@media (max-width:1180px){
	.md-services__grid{gap:20px;margin-top:36px;}
}

@media (max-width:820px){
	.md-services{padding:48px 0 56px;}
	.md-services .md-shell{display:flex;flex-direction:column;}
	.md-services__head{display:contents;}
	.md-services__title{order:1;}
	.md-services__grid{order:2;grid-template-columns:minmax(0,1fr);gap:16px;margin-top:28px;}
	.md-services__all{order:3;width:100%;margin-top:28px;}
}

/* ==================================================================
   MODUŁ — opinie Google (widget Trustindex)
   ================================================================== */
.md-reviews{
	padding:34px 0 46px;
	background:#fff;
}
.md-reviews__title{
	margin:0 0 34px;font-weight:400;line-height:1.34;letter-spacing:-.005em;color:var(--md-ink);
	font-size:28px;
}

/* ==================================================================
   MODUŁ — zespół (karuzela)
   ================================================================== */
.md-team{
	padding:64px 0 90px;
	background:#fff;
}
.md-team__title{
	margin:0 0 46px;font-weight:400;line-height:1.34;letter-spacing:-.005em;color:var(--md-ink);
	font-size:28px;
}

.md-team__carousel{position:relative;}
/* scroll-padding musi równać się bocznemu marginesowi kontenera — bez tego
   scroll-snap przyciąga pierwszą kartę do krawędzi i karuzela startuje przesunięta. */
.md-team__viewport{
	display:flex;gap:40px;overflow-x:auto;scroll-snap-type:x mandatory;
	scroll-padding-inline:40px;
	scrollbar-width:none;-webkit-overflow-scrolling:touch;
	align-items:flex-start;
}
.md-team__viewport::-webkit-scrollbar{display:none;}

.md-person{
	flex:0 0 clamp(200px,22%,320px);scroll-snap-align:start;
	display:block;padding:0;border:0;background:none;font:inherit;
	text-decoration:none;color:var(--md-ink);text-align:center;
}
/* Astra maluje tło każdemu <button> — także na hover. Zdejmujemy je z wyższą
   specyficznością, inaczej pod imieniem pojawia się niebieski prostokąt. */
.md-team__viewport button.md-person,
.md-team__viewport button.md-person:hover,
.md-team__viewport button.md-person:focus,
.md-team__viewport button.md-person:active{
	background:none;background-color:transparent;box-shadow:none;
	color:var(--md-ink);cursor:pointer;
}
.md-person__photo{display:block;aspect-ratio:1/1;overflow:hidden;background:var(--md-blue);border-radius:14px;}
.md-person__photo img{width:100%;height:100%;object-fit:cover;display:block;
	transition:transform .5s cubic-bezier(.22,.61,.36,1);}
.md-person:hover .md-person__photo img{transform:scale(1.045);}
.md-person__name{display:block;margin-top:18px;font-size:16px;line-height:1.3;}
.md-person__role{display:block;margin-top:2px;font-size:19px;line-height:1.3;color:var(--md-muted);}

.md-team__carousel button.md-team__nav{
	position:absolute;top:calc(50% - 46px);transform:translateY(-50%);z-index:2;
	width:52px;height:52px;padding:0;display:flex;align-items:center;justify-content:center;
	background:var(--md-blue);color:#fff;border:0;border-radius:50%;cursor:pointer;
	box-shadow:0 6px 18px rgba(16,32,48,.22);transition:opacity .18s ease,background-color .18s ease;
}
.md-team__carousel button.md-team__nav svg{width:22px;height:22px;}
.md-team__carousel button.md-team__nav:hover{background:#25537a;}
.md-team__carousel button.md-team__nav[disabled]{opacity:0;pointer-events:none;}
.md-team__nav--prev{left:12px;}
.md-team__nav--next{right:12px;}

@media (max-width:1023px){
	.md-team{padding:48px 0 64px;}
	.md-team__title{margin-bottom:30px;}
	.md-team__viewport{gap:22px;}
	.md-person{flex:0 0 62%;}
	.md-person__name,.md-person__role{font-size:16px;}
	.md-team__carousel button.md-team__nav{width:44px;height:44px;}
	.md-reviews{padding:26px 0 34px;}
}

@media (prefers-reduced-motion:reduce){
	.md-home *{transition:none!important;}
	.md-team__viewport{scroll-behavior:auto;}
}


/* ==================================================================
   Okienko z sylwetką specjalisty
   ================================================================== */
.md-modal{
	width:min(920px,calc(100vw - 40px));max-height:min(88vh,900px);
	padding:0;border:0;border-radius:14px;background:#fff;color:var(--md-ink);
	font-family:var(--md-font);overflow:auto;
	box-shadow:0 30px 70px rgba(16,32,48,.30);
}
.md-modal::backdrop{background:rgba(16,32,48,.62);}

/* wyższa specyficzność — motyw nadaje własne tło i kolor każdemu <button> */
.md-modal button.md-modal__close{
	position:sticky;top:14px;float:right;margin:14px 14px 0 0;z-index:2;
	width:40px;height:40px;padding:0;display:flex;align-items:center;justify-content:center;
	background:#fff;background-color:#fff;color:var(--md-ink);
	border:1px solid var(--md-line);border-radius:50%;box-shadow:none;
	cursor:pointer;transition:background-color .18s ease;
}
.md-modal button.md-modal__close:hover{background-color:#f2f5f8;color:var(--md-ink);}
.md-modal__close svg{width:20px;height:20px;}

.md-modal__inner{display:grid;grid-template-columns:300px minmax(0,1fr);gap:34px;padding:34px 38px 38px;}
.md-modal__photo img{width:100%;height:auto;display:block;border-radius:10px;}
.md-modal__name{margin:0 0 4px;font-size:26px;font-weight:500;line-height:1.25;}
.md-modal__role{margin:0 0 18px;font-size:17px;color:var(--md-blue);}
.md-modal__role[hidden]{display:none;}
.md-modal__bio{font-size:15.5px;line-height:1.6;color:var(--md-muted);}
.md-modal__bio h3{margin:22px 0 8px;font-size:18px;font-weight:600;color:var(--md-ink);}
.md-modal__bio p{margin:0 0 12px;}
.md-modal__bio ul{margin:0 0 12px;padding-left:20px;}
.md-modal__bio li{margin:0 0 7px;}
.md-modal__link{margin-top:22px;}
.md-modal__link[hidden]{display:none;}

@media (max-width:760px){
	.md-modal{width:calc(100vw - 24px);max-height:92vh;}
	.md-modal__inner{grid-template-columns:minmax(0,1fr);gap:20px;padding:20px 20px 26px;}
	.md-modal__photo img{max-width:220px;margin:0 auto;}
	.md-modal__name{font-size:21px;}
	.md-modal__bio{font-size:15px;}
}

/* ==================================================================
   Hero podstrony usługi — okruszki + lista punktów
   ================================================================== */
.md-service-hero .md-hero__grid{padding-top:34px;padding-bottom:46px;}

.md-crumbs{margin:0 0 20px;font-size:15px;line-height:1.4;color:var(--md-muted);}
.md-crumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:0;margin:0;padding:0;list-style:none;}
.md-crumbs li{display:flex;align-items:center;}
.md-crumbs li+li::before{content:">";margin:0 8px;color:#8a97a3;}
.md-crumbs a{color:var(--md-muted);text-decoration:none;}
.md-crumbs a:hover,.md-crumbs a:focus-visible{color:var(--md-blue);text-decoration:underline;}
.md-crumbs [aria-current="page"]{color:var(--md-ink);}

.md-hero__points{margin:0 0 34px;padding:0 0 0 20px;list-style:disc;color:var(--md-ink);}
.md-hero__points li{margin:0 0 7px;font-size:16px;font-weight:600;line-height:1.35;}
.md-hero__points li:last-child{margin-bottom:0;}
.md-service-hero .md-hero__lead{margin-bottom:26px;}

@media (max-width:600px){
	.md-service-hero .md-hero__grid{padding-top:24px;}
	.md-crumbs{font-size:13.5px;margin-bottom:16px;}
	.md-hero__points li{font-size:15px;}
}

/* ==================================================================
   MODUŁ — cennik usługi
   ================================================================== */
.md-pricing{padding:56px 0 40px;background:#fff;}
.md-pricing__label{margin:0 0 26px;font-size:clamp(22px,2.2vw,28px);line-height:1.2;color:var(--md-ink);}
.md-pricing__card{background:#fff;border-radius:12px;box-shadow:0 10px 40px rgba(16,32,48,.09);padding:34px 40px 30px;}
.md-pricing__title{
	margin:0 0 14px;font-weight:400;line-height:1.2;color:#3F7CB5;
	font-size:28px;
}
.md-pricing__list{margin:0;padding:22px 0 0;border-top:2px dashed #e9ecef;}

.md-price{
	display:grid;grid-template-columns:auto minmax(24px,1fr) auto;align-items:baseline;
	column-gap:12px;padding:14px 0;
}
.md-price__name{margin:0;font-size:18px;line-height:1.35;color:var(--md-ink);}
.md-price__leader{border-bottom:1px dotted #c3ccd4;transform:translateY(-4px);}
.md-price__value{margin:0;font-size:18px;line-height:1.35;color:var(--md-ink);white-space:nowrap;}
.md-price__note{grid-column:1/-1;margin:4px 0 0;font-size:16px;line-height:1.4;color:#9aa6b1;}

/* cennik z drugą kolumną: ceny przy rezerwacji online */
.md-pricing__list--dual .md-price{grid-template-columns:auto minmax(24px,1fr) 96px 96px;}
.md-pricing__list--dual .md-price__value{text-align:right;}
.md-price-head{
	display:grid;grid-template-columns:auto minmax(24px,1fr) 96px 96px;
	column-gap:12px;padding:0 0 10px;
}
.md-price-head__col{
	font-size:13px;line-height:1.2;letter-spacing:.04em;text-transform:uppercase;
	color:#8c98a4;text-align:right;
}
.md-price-head__col--online{color:var(--md-blue);font-weight:700;}
.md-price__value--online{color:var(--md-blue);font-weight:700;}

/* linia opisowa w cenniku — bez kropek i kolumny ceny */
.md-price--text{grid-template-columns:minmax(0,1fr);padding:6px 0;}
.md-price--text .md-price__name{font-size:16px;color:var(--md-muted);line-height:1.5;}

/* ==================================================================
   MODUŁ — FAQ
   ================================================================== */
.md-faq{padding:44px 0 60px;background:#fff;}
.md-faq__title{
	margin:0 0 26px;font-weight:400;line-height:1.3;color:var(--md-ink);
	font-size:clamp(22px,2.2vw,30px);
}
.md-faq__panel{background:#eff4f9;border-radius:14px;padding:26px;display:flex;flex-direction:column;gap:20px;}

.md-faq__item{
	background:#fff;border-radius:14px;box-shadow:0 2px 10px rgba(16,32,48,.06);
	transition:box-shadow .22s ease,transform .22s ease;
}
.md-faq__item:hover{box-shadow:0 8px 22px rgba(16,32,48,.11);transform:translateY(-1px);}
.md-faq__item[open]{box-shadow:0 10px 26px rgba(16,32,48,.12);}
.md-faq__q{
	display:flex;align-items:center;justify-content:space-between;gap:24px;
	padding:26px 30px;cursor:pointer;list-style:none;
	font-size:clamp(17px,1.5vw,21px);font-weight:600;line-height:1.35;color:var(--md-ink);
}
.md-faq__q::-webkit-details-marker{display:none;}
.md-faq__item[data-md-empty] .md-faq__q{cursor:default;}

/* „+” zmieniające się w „−” po rozwinięciu */
.md-faq__mark{
	position:relative;flex:none;width:22px;height:22px;
	transition:transform .34s cubic-bezier(.22,.61,.36,1);
}
.md-faq__item[open] .md-faq__mark{transform:rotate(180deg);}
.md-faq__mark::before,.md-faq__mark::after{
	content:"";position:absolute;left:50%;top:50%;background:var(--md-ink);
	transform:translate(-50%,-50%);transition:opacity .18s ease,transform .18s ease;
}
.md-faq__mark::before{width:20px;height:2px;}
.md-faq__mark::after{width:2px;height:20px;}
.md-faq__item[open] .md-faq__mark::after{opacity:0;transform:translate(-50%,-50%) rotate(90deg);}

/* overflow:hidden jest konieczny — po nim animujemy wysokość */
.md-faq__a{overflow:hidden;padding:0 30px 26px;font-size:16.5px;line-height:1.6;color:var(--md-muted);}
.md-faq__a p{margin:0 0 12px;}
.md-faq__a p:last-child{margin-bottom:0;}

@media (max-width:820px){
	.md-pricing{padding:40px 0 28px;}
	.md-pricing__card{padding:24px 20px 20px;}
	.md-price{grid-template-columns:minmax(0,1fr) auto;column-gap:14px;}
	.md-pricing__list--dual .md-price{grid-template-columns:minmax(0,1fr) 74px 74px;}
	.md-price-head{grid-template-columns:minmax(0,1fr) 74px 74px;column-gap:14px;}
	.md-price-head span:nth-child(2){display:none;}
	.md-price-head__col{font-size:11.5px;}
	.md-price__leader{display:none;}
	.md-price__name{font-size:16px;}
	.md-price__value{font-size:16px;}
	.md-price__note{font-size:14.5px;}
	.md-faq__panel{padding:16px;gap:14px;}
	.md-faq__q{padding:18px 20px;gap:16px;}
	.md-faq__a{padding:0 20px 20px;}
}

/* ==================================================================
   MODUŁ — lista wszystkich usług
   ================================================================== */
.md-svclist{padding:56px 0 64px;background:#f4f7fa;}
.md-svclist__title{
	margin:0 0 40px;font-weight:400;line-height:1.3;letter-spacing:-.005em;color:var(--md-ink);
	font-size:28px;
}
.md-svclist__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;}

.md-svccard{
	display:flex;flex-direction:column;text-decoration:none;color:var(--md-ink);
	background:#fff;border-radius:14px;overflow:hidden;
	box-shadow:0 2px 16px rgba(16,32,48,.07);
	transition:box-shadow .22s ease,transform .22s ease;
}
.md-svccard:hover{box-shadow:0 8px 32px rgba(16,32,48,.13);transform:translateY(-4px);}
.md-svccard__media{
	display:block;overflow:hidden;
	aspect-ratio:16/10;background:var(--md-blue);flex:none;
}
.md-svccard__media img{
	width:100%;height:100%;object-fit:cover;display:block;
	transition:transform .5s cubic-bezier(.22,.61,.36,1);
}
.md-svccard:hover .md-svccard__media img{transform:scale(1.045);}
.md-svccard__body{display:flex;flex-direction:column;gap:8px;padding:20px 22px 24px;flex:1;}
.md-svccard__label{font-size:18px;font-weight:600;line-height:1.25;color:var(--md-ink);}
.md-svccard__desc{font-size:15px;line-height:1.55;color:var(--md-muted);}

.md-svclist__cta{margin:48px 0 0;text-align:center;}

/* ==================================================================
   MODUŁ — cross-selling usług (Zobacz też)
   ================================================================== */
.md-related{padding:56px 0 72px;background:#f4f7fa;}
.md-related__title{
	margin:0 0 36px;font-weight:400;line-height:1.3;letter-spacing:-.005em;color:var(--md-ink);
	font-size:28px;
}
.md-related__grid{
	display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;
}

@media (max-width:820px){
	.md-related__grid{grid-template-columns:minmax(0,1fr);gap:16px;}
}

/* --- CTA pod cennikiem --- */
.md-pricing__cta{margin:36px 0 0;text-align:center;}
.md-pricing__cta .md-btn{min-width:220px;}

/* ==================================================================
   MODUŁ — blok tekstowy
   ================================================================== */
.md-rich{padding:56px 0 20px;background:#fff;}
.md-rich__title{
	margin:0 0 22px;font-weight:400;line-height:1.3;color:var(--md-ink);
	font-size:28px;
}
.md-rich__body{max-width:92ch;font-size:16.5px;line-height:1.62;color:var(--md-muted);}
.md-rich__body h3{margin:30px 0 8px;font-size:19px;font-weight:600;color:var(--md-ink);line-height:1.35;}
.md-rich__body p{margin:0 0 14px;}
.md-rich__body p:last-child{margin-bottom:0;}

/* --- layout 2-col z fotką --- */
.md-rich__layout{display:block;}
.md-rich__layout--img{display:grid;grid-template-columns:1fr 360px;gap:48px;align-items:start;}
.md-rich__left{min-width:0;}

.md-rich__photo-wrap{position:sticky;top:100px;}
.md-rich__photo{
	width:100%;aspect-ratio:3/4;object-fit:cover;
	border-radius:18px;box-shadow:0 12px 40px rgba(16,32,48,.13);
	display:block;
}

/* --- intro + accordion --- */
.md-rich__intro{font-size:16.5px;line-height:1.62;color:var(--md-muted);margin-bottom:32px;}
.md-rich__intro p{margin:0 0 12px;}
.md-rich__intro p:last-child{margin-bottom:0;}

.md-rich__accordion{display:flex;flex-direction:column;gap:10px;}

.md-rich__item{
	background:#fff;border:1.5px solid #dce6ef;border-radius:14px;
	box-shadow:0 2px 8px rgba(16,32,48,.05);
	transition:box-shadow .22s ease,transform .22s ease;
}
.md-rich__item:hover{box-shadow:0 8px 22px rgba(16,32,48,.10);transform:translateY(-1px);}
.md-rich__item[open]{box-shadow:0 10px 26px rgba(16,32,48,.12);}

.md-rich__q{
	display:flex;align-items:center;justify-content:space-between;gap:24px;
	padding:22px 26px;cursor:pointer;list-style:none;
	font-size:17px;font-weight:600;line-height:1.35;color:var(--md-ink);
}
.md-rich__q::-webkit-details-marker{display:none;}

.md-rich__mark{
	position:relative;flex:none;width:20px;height:20px;
	transition:transform .34s cubic-bezier(.22,.61,.36,1);
}
.md-rich__item[open] .md-rich__mark{transform:rotate(180deg);}
.md-rich__mark::before,.md-rich__mark::after{
	content:"";position:absolute;left:50%;top:50%;background:var(--md-ink);
	transform:translate(-50%,-50%);transition:opacity .18s ease,transform .18s ease;
}
.md-rich__mark::before{width:18px;height:2px;}
.md-rich__mark::after{width:2px;height:18px;}
.md-rich__item[open] .md-rich__mark::after{opacity:0;transform:translate(-50%,-50%) rotate(90deg);}

.md-rich__a{padding:0 26px 22px;font-size:16px;line-height:1.62;color:var(--md-muted);}
.md-rich__a p{margin:0 0 12px;}
.md-rich__a p:last-child{margin-bottom:0;}

@media (max-width:900px){
	.md-rich__layout--img{grid-template-columns:1fr;gap:32px;}
	.md-rich__photo-wrap{position:static;}
	.md-rich__photo{aspect-ratio:16/9;}
}

/* ==================================================================
   MODUŁ — logotypy partnerów
   ================================================================== */
.md-logos{padding:48px 0 64px;background:#fff;}
.md-logos__title{
	margin:0 0 18px;font-weight:400;line-height:1.3;color:var(--md-ink);
	font-size:28px;
}
.md-logos__lead{max-width:86ch;margin:0 0 34px;font-size:16.5px;line-height:1.6;color:var(--md-muted);}
.md-logos__lead p{margin:0;}
.md-logos__row{
	display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
	gap:28px 40px;margin:0;padding:0;list-style:none;
}
.md-logos__row li{flex:0 1 auto;}
.md-logos__row img{
	display:block;width:auto;max-width:170px;max-height:52px;object-fit:contain;
	filter:grayscale(1);opacity:.62;transition:filter .22s ease,opacity .22s ease;
}
.md-logos__row li:hover img{filter:none;opacity:1;}

@media (max-width:1023px){
	.md-svclist{padding:40px 0 48px;}
	.md-svclist__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}
	.md-svclist__title{margin-bottom:28px;}
	.md-rich{padding:40px 0 12px;}
	.md-logos{padding:36px 0 48px;}
	.md-logos__row{justify-content:center;gap:24px 30px;}
	.md-logos__row img{max-width:130px;max-height:42px;}
}

@media (max-width:640px){
	.md-svclist__grid{grid-template-columns:minmax(0,1fr);gap:16px;}
}

/* Cennik: 11 kart pod sobą — luźniej między nimi, bez powtarzania nadtytułu.
   Uwaga: :first-of-type/:last-of-type patrzą na TYP znacznika, a wszystkie sekcje
   to <section> — pierwszą kartę trzeba złapać sąsiedztwem z hero. */
.md-cennik .md-pricing{padding:0 0 26px;}
.md-cennik .md-hero + .md-pricing{padding-top:56px;}
.md-cennik .md-pricing:last-child{padding-bottom:64px;}

/* ==================================================================
   MODUŁ — dane kontaktowe
   ================================================================== */
.md-contact{padding:56px 0 64px;background:#fff;}
.md-contact__title{
	margin:0 0 36px;font-weight:400;line-height:1.3;letter-spacing:-.005em;color:var(--md-ink);
	font-size:clamp(26px,3vw,40px);
}
.md-contact__grid{
	display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;
	margin:0;padding:0;list-style:none;
}
.md-contact__item{
	display:flex;align-items:flex-start;gap:14px;
	padding:22px 22px;border:1px solid var(--md-line);border-radius:14px;background:#fff;
	transition:border-color .2s ease,box-shadow .2s ease;
}
.md-contact__item:hover{border-color:#cfe0b9;box-shadow:0 8px 24px rgba(16,32,48,.08);}
.md-contact__icon{
	flex:none;display:flex;align-items:center;justify-content:center;
	width:46px;height:46px;border-radius:50%;background:var(--md-blue);color:#fff;
}
.md-contact__icon .md-icon{width:22px;height:22px;}
.md-contact__body{display:flex;flex-direction:column;gap:4px;min-width:0;}
.md-contact__label{font-size:14px;letter-spacing:.02em;color:#7c8a97;}
.md-contact__value{font-size:17.5px;line-height:1.4;color:var(--md-ink);text-decoration:none;overflow-wrap:anywhere;}
a.md-contact__value:hover,a.md-contact__value:focus-visible{color:var(--md-green-dark);}

@media (max-width:820px){
	.md-contact{padding:38px 0 44px;}
	.md-contact__title{margin-bottom:24px;}
	.md-contact__grid{grid-template-columns:minmax(0,1fr);gap:14px;}
	.md-contact__item{padding:18px 18px;gap:13px;}
	.md-contact__icon{width:40px;height:40px;}
	.md-contact__value{font-size:17px;}
}

/* ==================================================================
   MODUŁ — własna sekcja z kreatora treści
   ================================================================== */
.md-content{padding:56px 0;}
.md-content--white{background:#fff;}
.md-content--light{background:#f4f7fa;}
.md-content--blue{background:var(--md-blue);color:#fff;}
.md-content--blue .md-content__title,
.md-content--blue .md-content__heading,
.md-content--blue .md-content__text{color:#fff;}

.md-content__title{
	margin:0 0 34px;font-weight:400;line-height:1.3;letter-spacing:-.005em;color:var(--md-ink);
	font-size:clamp(26px,3vw,40px);
}
.md-content__grid{display:grid;grid-template-columns:repeat(var(--md-cols,2),minmax(0,1fr));gap:34px;}
.md-content__col{min-width:0;display:flex;flex-direction:column;gap:18px;}

.md-content__heading{margin:0;font-weight:500;line-height:1.3;color:var(--md-ink);}
h2.md-content__heading{font-size:clamp(22px,2.4vw,30px);}
h3.md-content__heading{font-size:clamp(19px,2vw,24px);}
h4.md-content__heading{font-size:18px;}
.md-content__text{font-size:16.5px;line-height:1.6;color:var(--md-muted);}
.md-content__text p{margin:0 0 12px;}
.md-content__text p:last-child{margin-bottom:0;}
.md-content__image{margin:0;}
.md-content__image img{width:100%;height:auto;display:block;border-radius:12px;}
.md-content__btn{margin:0;}

/* karuzela zdjęć */
.md-gal{position:relative;}
.md-gal__track{
	display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;
	scrollbar-width:none;-webkit-overflow-scrolling:touch;
}
.md-gal__track::-webkit-scrollbar{display:none;}
.md-gal{--md-gal-n:1;--md-gal-gap:16px;}
.md-gal__item{
	flex:0 0 calc((100% - (var(--md-gal-n) - 1) * var(--md-gal-gap)) / var(--md-gal-n));
	margin:0;scroll-snap-align:start;
}
.md-gal__item img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;display:block;border-radius:12px;}
.md-gal button.md-gal__nav{
	position:absolute;top:50%;transform:translateY(-50%);z-index:2;
	width:44px;height:44px;padding:0;display:flex;align-items:center;justify-content:center;
	background:rgba(47,98,143,.92);background-color:rgba(47,98,143,.92);color:#fff;
	border:0;border-radius:50%;cursor:pointer;box-shadow:0 6px 16px rgba(16,32,48,.22);
}
.md-gal button.md-gal__nav svg{width:20px;height:20px;}
.md-gal button.md-gal__nav[disabled]{opacity:0;pointer-events:none;}
.md-gal__nav--prev{left:10px;}
.md-gal__nav--next{right:10px;}

@media (max-width:900px){
	/* Przy wąskim ekranie kafelki karuzeli i tak by się nie zmieściły. */
	.md-gal{--md-gal-n:1;}
	.md-content{padding:38px 0;}
	.md-content__grid{grid-template-columns:minmax(0,1fr);gap:26px;}
	.md-content__title{margin-bottom:22px;}
}

/* ==================================================================
   Wyniki wyszukiwania (search.php)
   ================================================================== */
.md-search{font-family:var(--md-font);color:var(--md-ink);background:#f4f7fa;}
.md-search *,.md-search *::before,.md-search *::after{box-sizing:border-box;}
.md-search a:focus-visible{outline:2px solid var(--md-blue);outline-offset:3px;}

.md-search__head{background:#fff;padding:44px 0 40px;border-bottom:1px solid var(--md-line);}
.md-search__title{
	margin:0;font-size:40px;font-weight:600;line-height:1.15;letter-spacing:-.01em;color:var(--md-ink);
}
.md-search__title span{color:var(--md-blue);}
.md-search__count{margin:14px 0 0;font-size:17px;line-height:1.5;color:var(--md-muted);}
.md-search__form{max-width:620px;margin:26px 0 0;}

.md-search__results{padding:48px 0 64px;}
.md-search__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;}

.md-searchcard{
	display:flex;flex-direction:column;background:#fff;border-radius:16px;overflow:hidden;
	box-shadow:0 2px 14px rgba(16,32,48,.07);
	transition:transform .2s ease,box-shadow .2s ease;
}
.md-searchcard:hover{transform:translateY(-4px);box-shadow:0 8px 32px rgba(16,32,48,.13);}
.md-searchcard__media{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--md-blue);flex:none;}
.md-searchcard__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease;}
.md-searchcard:hover .md-searchcard__media img{transform:scale(1.045);}
/* Strony bez wyróżniającego obrazka dostają planszę z sygnetem — kafle w rzędzie
   mają wtedy tę samą wysokość co te ze zdjęciem. */
.md-searchcard__placeholder{
	display:flex;align-items:center;justify-content:center;width:100%;height:100%;
	background:linear-gradient(135deg,#2F628F 0%,#4d84b5 100%);color:rgba(255,255,255,.9);
}
.md-searchcard__placeholder .md-icon{width:56px;height:56px;}
.md-searchcard__body{display:flex;flex-direction:column;gap:9px;padding:20px 22px 24px;flex:1;}
.md-searchcard__kind{
	font-size:12px;font-weight:600;line-height:1;letter-spacing:.08em;text-transform:uppercase;color:var(--md-green-dark);
}
.md-searchcard__title{margin:0;font-size:18px;font-weight:600;line-height:1.3;}
.md-searchcard__title a{color:var(--md-ink);text-decoration:none;}
.md-searchcard__title a:hover{color:var(--md-blue);}
.md-searchcard__desc{margin:0;font-size:15px;line-height:1.55;color:var(--md-muted);}
.md-searchcard__more{
	margin-top:auto;padding-top:10px;font-size:15px;font-weight:500;color:var(--md-green-dark);
}
.md-searchcard__more::after{content:" →";}

/* Paginacja Astry — sprowadzona do pigułek w kolorach motywu. */
.md-search .pagination{margin-top:44px;}
.md-search .nav-links{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;}
.md-search .page-numbers{
	display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 16px;
	background:#fff;border:1.5px solid var(--md-line);border-radius:999px;
	font-size:16px;line-height:1;color:var(--md-ink);text-decoration:none;
	transition:background-color .18s ease,border-color .18s ease,color .18s ease;
}
.md-search .page-numbers:hover{border-color:var(--md-green);color:var(--md-green-dark);}
.md-search .page-numbers.current{background:var(--md-green);border-color:var(--md-green);color:var(--md-ink);font-weight:600;}
.md-search .page-numbers.dots{border-color:transparent;background:none;}

.md-search__empty{padding:48px 0 72px;}
.md-search__empty-lead{margin:0;max-width:760px;font-size:17px;line-height:1.6;color:var(--md-muted);}
.md-search__shortcuts{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px;}
.md-search__shortcut{
	display:inline-flex;align-items:center;height:48px;padding:0 22px;
	background:#fff;border:1.5px solid var(--md-green);border-radius:999px;
	font-size:16px;color:var(--md-green-dark);text-decoration:none;
	transition:background-color .18s ease,color .18s ease;
}
.md-search__shortcut:hover,.md-search__shortcut:focus-visible{background:var(--md-green);color:#fff;}

@media (max-width:1023px){
	.md-search__head{padding:34px 0 30px;}
	.md-search__title{font-size:32px;}
	.md-search__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}
	.md-search__results{padding:36px 0 52px;}
}
@media (max-width:640px){
	.md-search__title{font-size:26px;}
	.md-search__count{font-size:16px;}
	.md-search__grid{grid-template-columns:minmax(0,1fr);gap:16px;}
}
