/* =========================================================
   DOTYK PIĘKNA – LOKALNE STRONY USŁUGOWE V1
   Wspólny CSS dla:
   - endermologia-radom
   - liposukcja-kawitacyjna-radom
   - laser-tulowy-radom
   - oczyszczanie-wodorowe-radom
   ========================================================= */

.entry-content > .dp2-local-service-page {
	width: 100vw;
	max-width: none;
	margin-right: calc(50% - 50vw);
	margin-left: calc(50% - 50vw);
}

.dp2-local-service-page,
.dp2-local-service-page *,
.dp2-local-service-page *::before,
.dp2-local-service-page *::after {
	box-sizing: border-box;
}

.dp2-local-service-page {
	--dpl-paper: var(--dp2-paper, #fffdfb);
	--dpl-cream: var(--dp2-cream, #fff7f2);
	--dpl-cream-deep: var(--dp2-cream-deep, #f7ece6);
	--dpl-ink: var(--dp2-ink, #211d1a);
	--dpl-text: var(--dp2-text, #2a2522);
	--dpl-muted: var(--dp2-muted, #746c67);
	--dpl-rose: var(--dp2-rose, #e7a0a3);
	--dpl-rose-dark: var(--dp2-rose-dark, #cf8589);
	--dpl-gold: var(--dp2-gold, #b98543);
	--dpl-gold-light: var(--dp2-gold-light, #d7b176);
	--dpl-black: var(--dp2-black, #101010);
	--dpl-black-soft: var(--dp2-black-soft, #171514);
	--dpl-line: var(--dp2-line, rgba(41, 34, 30, 0.12));
	--dpl-shadow-sm: var(--dp2-shadow-sm, 0 14px 34px rgba(35, 27, 23, 0.08));
	--dpl-shadow-md: var(--dp2-shadow-md, 0 24px 62px rgba(35, 27, 23, 0.12));
	--dpl-ease: var(--dp2-ease, cubic-bezier(0.2, 0.72, 0.2, 1));
	width: 100vw;
	max-width: none;
	margin-right: calc(50% - 50vw);
	margin-left: calc(50% - 50vw);
	overflow-x: clip;
	background: var(--dpl-paper);
	color: var(--dpl-text);
	font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

@supports not (overflow: clip) {
	.dp2-local-service-page { overflow-x: hidden; }
}

.dp2-local-service-page h1,
.dp2-local-service-page h2,
.dp2-local-service-page h3,
.dp2-local-service-page p,
.dp2-local-service-page figure,
.dp2-local-service-page ul,
.dp2-local-service-page ol {
	margin-top: 0;
}

.dp2-local-service-page h1,
.dp2-local-service-page h2,
.dp2-local-service-page h3 {
	color: var(--dpl-ink);
	font-family: Georgia, "Times New Roman", serif;
	font-weight: 400;
	letter-spacing: -0.04em;
	text-wrap: balance;
}

.dp2-local-service-page h2 {
	margin-bottom: 24px;
	font-size: clamp(42px, 4vw, 68px);
	line-height: 1.03;
}

.dp2-local-service-page h2 em,
.dp2-local-service-page h1 em {
	color: var(--dpl-rose);
	font-style: normal;
}

.dp2-local-service-page h3 {
	margin-bottom: 12px;
	font-size: clamp(25px, 2.2vw, 34px);
	line-height: 1.12;
}

.dp2-local-service-page p {
	color: var(--dpl-muted);
	font-size: 16px;
	line-height: 1.85;
}

.dp2-local-service-page a:focus-visible,
.dp2-local-service-page summary:focus-visible {
	outline: 2px solid var(--dpl-gold);
	outline-offset: 4px;
}

.dp2-local-service-page .dp2-shell {
	width: min(var(--dp2-shell, 1400px), calc(100% - 48px));
	margin-inline: auto;
}

.dp2-local-service-page .dp2-kicker {
	margin-bottom: 18px;
	color: var(--dpl-gold);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.16em;
	line-height: 1.4;
	text-transform: uppercase;
}

.dp2-local-service-page .dp2-rule {
	display: block;
	width: 58px;
	height: 1px;
	margin: 28px 0 30px;
	background: var(--dpl-gold);
	transform-origin: left center;
}

/* HERO */
.dp2-local-hero {
	position: relative;
	display: flex;
	min-height: 700px;
	align-items: center;
	overflow: hidden;
	background: var(--dpl-black-soft);
	color: #fff;
	isolation: isolate;
}

.dp2-local-hero__media {
	position: absolute;
	z-index: -3;
	inset: 0 0 0 43%;
	overflow: hidden;
}

.dp2-local-hero__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	animation: dp2LocalHeroImage 1.35s var(--dpl-ease) both;
}

.dp2-local-service-page--endermologia .dp2-local-hero__media img { object-position: 54% center; }
.dp2-local-service-page--liposukcja .dp2-local-hero__media img { object-position: 60% center; }
.dp2-local-service-page--laser .dp2-local-hero__media img { object-position: 50% 37%; }
.dp2-local-service-page--wodorowe .dp2-local-hero__media img { object-position: 50% 48%; }

.dp2-local-hero__overlay {
	position: absolute;
	z-index: -2;
	inset: 0;
	background: linear-gradient(90deg, rgba(15, 13, 12, 1) 0%, rgba(15, 13, 12, 0.98) 37%, rgba(15, 13, 12, 0.82) 53%, rgba(15, 13, 12, 0.22) 78%, rgba(15, 13, 12, 0.08) 100%);
}

.dp2-local-hero__content {
	position: relative;
	z-index: 2;
	padding-block: 110px;
}

.dp2-local-hero__content > * { max-width: 710px; }

.dp2-local-hero__back {
	display: inline-flex;
	margin-bottom: 32px;
	color: rgba(255,255,255,.65) !important;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .08em;
	text-decoration: none !important;
	text-transform: uppercase;
	animation: dp2LocalHeroReveal .7s var(--dpl-ease) .05s both;
}

.dp2-local-hero .dp2-kicker {
	color: var(--dpl-gold-light);
	animation: dp2LocalHeroReveal .75s var(--dpl-ease) .12s both;
}

.dp2-local-hero h1 {
	margin: 0;
	color: #fff;
	font-size: clamp(56px, 5.1vw, 84px);
	line-height: .97;
	animation: dp2LocalHeroReveal .85s var(--dpl-ease) .22s both;
}

.dp2-local-hero .dp2-rule { animation: dp2LocalHeroRule .7s var(--dpl-ease) .4s both; }

.dp2-local-hero__lead {
	max-width: 590px;
	margin: 0 0 34px;
	color: rgba(255,255,255,.72) !important;
	font-size: 16px !important;
	line-height: 1.8 !important;
	animation: dp2LocalHeroReveal .75s var(--dpl-ease) .48s both;
}

.dp2-local-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	animation: dp2LocalHeroReveal .75s var(--dpl-ease) .58s both;
}

@keyframes dp2LocalHeroImage {
	from { opacity: .8; transform: scale(1.055); }
	to { opacity: 1; transform: scale(1); }
}
@keyframes dp2LocalHeroReveal {
	from { opacity: 0; transform: translate3d(0, 25px, 0); }
	to { opacity: 1; transform: translate3d(0, 0, 0); }
}
@keyframes dp2LocalHeroRule {
	from { opacity: 0; transform: scaleX(0); }
	to { opacity: 1; transform: scaleX(1); }
}

/* BUTTONS – scoped fallbacks */
.dp2-local-service-page .dp2-btn {
	display: inline-flex;
	min-height: 56px;
	padding: 13px 25px;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	border: 1px solid transparent;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 750;
	line-height: 1.1;
	text-align: center;
	text-decoration: none !important;
	transition: transform 280ms var(--dpl-ease), background-color 220ms ease, border-color 220ms ease;
}
.dp2-local-service-page .dp2-btn:hover { transform: translateY(-2px); }
.dp2-local-service-page .dp2-btn small { margin-top: 4px; font-size: 9px; font-weight: 650; letter-spacing: .04em; opacity: .72; }
.dp2-local-service-page .dp2-btn--rose { background: var(--dpl-rose); color: #fff !important; }
.dp2-local-service-page .dp2-btn--rose:hover { background: var(--dpl-rose-dark); }
.dp2-local-service-page .dp2-btn--outline { border-color: rgba(255,255,255,.44); color: #fff !important; }
.dp2-local-service-page .dp2-btn--outline:hover { border-color: #fff; background: rgba(255,255,255,.08); }
.dp2-local-service-page .dp2-btn--dark { background: var(--dpl-black); color: #fff !important; }

/* QUICK FACTS */
.dp2-local-facts-wrap {
	position: relative;
	z-index: 4;
	margin-top: -44px;
}

.dp2-local-facts {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border: 1px solid var(--dpl-line);
	border-radius: 24px;
	background: rgba(255,253,251,.97);
	box-shadow: var(--dpl-shadow-sm);
	backdrop-filter: blur(12px);
}

.dp2-local-fact {
	display: flex;
	min-height: 150px;
	padding: 28px 30px;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	text-align: center;
}
.dp2-local-fact + .dp2-local-fact { border-left: 1px solid var(--dpl-line); }
.dp2-local-fact strong {
	margin-bottom: 8px;
	color: var(--dpl-ink);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(27px, 2.7vw, 42px);
	font-weight: 400;
	line-height: 1;
}
.dp2-local-fact span { color: var(--dpl-muted); font-size: 13px; line-height: 1.5; }

/* INTRO + ANSWER */
.dp2-local-intro {
	padding-block: clamp(105px, 9vw, 150px);
	background: var(--dpl-paper);
}
.dp2-local-intro__grid {
	display: grid;
	grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
	gap: clamp(60px, 8vw, 130px);
	align-items: start;
}
.dp2-local-intro__copy { padding-top: 16px; }
.dp2-local-intro__copy > p:first-child { color: var(--dpl-ink); font-size: clamp(20px, 1.8vw, 26px); line-height: 1.55; }
.dp2-local-answer {
	margin-top: 34px;
	padding: 28px 30px;
	border-left: 3px solid var(--dpl-gold);
	background: var(--dpl-cream);
}
.dp2-local-answer strong { display: block; margin-bottom: 8px; color: var(--dpl-ink); font-size: 13px; letter-spacing: .05em; text-transform: uppercase; }
.dp2-local-answer p { margin-bottom: 0; font-size: 15px; line-height: 1.75; }

/* BENEFITS */
.dp2-local-benefits {
	padding-block: clamp(100px, 8vw, 145px);
	background: var(--dpl-cream);
}
.dp2-local-heading { max-width: 820px; margin-bottom: 54px; }
.dp2-local-heading--center { margin-inline: auto; text-align: center; }
.dp2-local-heading--center .dp2-rule { margin-inline: auto; }
.dp2-local-benefits__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border-top: 1px solid var(--dpl-line);
	border-left: 1px solid var(--dpl-line);
}
.dp2-local-benefit {
	position: relative;
	min-height: 330px;
	padding: 34px;
	border-right: 1px solid var(--dpl-line);
	border-bottom: 1px solid var(--dpl-line);
	background: var(--dpl-paper);
	transition: transform 320ms var(--dpl-ease), box-shadow 320ms ease, background-color 320ms ease;
}
.dp2-local-benefit:hover { z-index: 2; background: #fff; box-shadow: var(--dpl-shadow-md); transform: translateY(-5px); }
.dp2-local-benefit__number { display: block; margin-bottom: 58px; color: var(--dpl-gold); font-size: 10px; font-weight: 800; letter-spacing: .16em; }
.dp2-local-benefit h3 { font-size: 29px; }
.dp2-local-benefit p { margin-bottom: 0; font-size: 15px; line-height: 1.75; }

/* SPLIT */
.dp2-local-split {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	min-height: 720px;
	background: var(--dpl-black-soft);
}
.dp2-local-split__media { min-height: 640px; overflow: hidden; }
.dp2-local-split__media img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.dp2-local-split__content { display: flex; padding: clamp(70px, 7vw, 120px); justify-content: center; flex-direction: column; }
.dp2-local-split__content h2 { color: #fff; }
.dp2-local-split__content > p { color: rgba(255,255,255,.7); }
.dp2-local-checklist { margin: 28px 0 34px; padding: 0; list-style: none; }
.dp2-local-checklist li { position: relative; margin-bottom: 14px; padding-left: 27px; color: rgba(255,255,255,.78); font-size: 15px; line-height: 1.65; }
.dp2-local-checklist li::before { content: ""; position: absolute; top: .72em; left: 0; width: 10px; height: 1px; background: var(--dpl-gold-light); }
.dp2-local-text-link { display: inline-flex; align-items: center; gap: 10px; color: var(--dpl-gold-light) !important; font-size: 13px; font-weight: 750; text-decoration: none !important; }
.dp2-local-text-link span { transition: transform 220ms var(--dpl-ease); }
.dp2-local-text-link:hover span { transform: translateX(4px); }

/* PROCESS */
.dp2-local-process { padding-block: clamp(100px, 8vw, 145px); background: var(--dpl-paper); }
.dp2-local-process__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.dp2-local-step { min-height: 305px; padding: 36px; border: 1px solid var(--dpl-line); border-radius: 22px; background: linear-gradient(180deg, #fff 0%, var(--dpl-cream) 100%); }
.dp2-local-step__number { display: block; margin-bottom: 54px; color: var(--dpl-rose-dark); font-size: 11px; font-weight: 800; letter-spacing: .16em; }
.dp2-local-step p { margin-bottom: 0; font-size: 15px; }

/* COMPARISON / PLAN */
.dp2-local-plan { padding-block: clamp(100px, 8vw, 145px); background: var(--dpl-cream-deep); }
.dp2-local-plan__grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(60px, 8vw, 120px); align-items: start; }
.dp2-local-plan__cards { display: grid; gap: 16px; }
.dp2-local-plan-card { padding: 29px 31px; border: 1px solid rgba(41,34,30,.1); border-radius: 20px; background: rgba(255,255,255,.74); }
.dp2-local-plan-card strong { display: block; margin-bottom: 8px; color: var(--dpl-ink); font-family: Georgia, "Times New Roman", serif; font-size: 24px; font-weight: 400; }
.dp2-local-plan-card p { margin-bottom: 0; font-size: 14px; line-height: 1.72; }
.dp2-local-plan-card a { color: var(--dpl-gold) !important; font-weight: 750; }

/* SAFETY */
.dp2-local-safety { padding-block: clamp(95px, 8vw, 135px); background: var(--dpl-paper); }
.dp2-local-safety__box {
	display: grid;
	grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
	gap: clamp(50px, 8vw, 115px);
	padding: clamp(42px, 6vw, 76px);
	border-radius: 30px;
	background: var(--dpl-black-soft);
}
.dp2-local-safety__box h2 { margin-bottom: 0; color: #fff; }
.dp2-local-safety__content p { color: rgba(255,255,255,.72); }
.dp2-local-safety__content ul { margin: 24px 0 0; padding-left: 19px; columns: 2; column-gap: 42px; }
.dp2-local-safety__content li { margin-bottom: 10px; color: rgba(255,255,255,.76); font-size: 14px; line-height: 1.65; break-inside: avoid; }
.dp2-local-safety__note { margin-top: 24px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.13); color: rgba(255,255,255,.58) !important; font-size: 13px !important; }

/* FAQ */
.dp2-local-faq { padding-block: clamp(100px, 8vw, 145px); background: var(--dpl-cream); }
.dp2-local-faq__grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(55px, 8vw, 120px); align-items: start; }
.dp2-local-faq__items { border-top: 1px solid var(--dpl-line); }
.dp2-local-faq details { border-bottom: 1px solid var(--dpl-line); }
.dp2-local-faq summary { position: relative; padding: 25px 45px 25px 0; color: var(--dpl-ink); font-family: Georgia, "Times New Roman", serif; font-size: 23px; line-height: 1.25; cursor: pointer; list-style: none; }
.dp2-local-faq summary::-webkit-details-marker { display: none; }
.dp2-local-faq summary::after { content: "+"; position: absolute; top: 25px; right: 4px; color: var(--dpl-gold); font-family: Inter, sans-serif; font-size: 22px; font-weight: 400; transition: transform 220ms ease; }
.dp2-local-faq details[open] summary::after { transform: rotate(45deg); }
.dp2-local-faq details p { margin: 0; padding: 0 44px 24px 0; font-size: 15px; line-height: 1.78; }

/* LOCAL / ARTICLE */
.dp2-local-location { padding-block: clamp(95px, 8vw, 135px); background: var(--dpl-paper); }
.dp2-local-location__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 22px; }
.dp2-local-location__card,
.dp2-local-article-card { min-height: 360px; padding: clamp(36px, 5vw, 60px); border-radius: 28px; }
.dp2-local-location__card { background: var(--dpl-black-soft); }
.dp2-local-location__card h2 { color: #fff; }
.dp2-local-location__card p { color: rgba(255,255,255,.7); }
.dp2-local-contact-list { display: grid; gap: 10px; margin-top: 26px; }
.dp2-local-contact-list a,
.dp2-local-contact-list span { color: rgba(255,255,255,.84) !important; font-size: 14px; line-height: 1.6; text-decoration: none !important; }
.dp2-local-article-card { border: 1px solid var(--dpl-line); background: linear-gradient(135deg, var(--dpl-cream) 0%, #fff 100%); }
.dp2-local-article-card h3 { font-size: clamp(32px, 3vw, 46px); }
.dp2-local-article-card p { max-width: 650px; }
.dp2-local-article-card--simple { display: flex; justify-content: center; flex-direction: column; }

/* FINAL CTA */
.dp2-local-final { padding-block: clamp(90px, 8vw, 130px); background: var(--dpl-cream-deep); }
.dp2-local-final__inner { max-width: 960px; text-align: center; }
.dp2-local-final__inner h2 { margin-inline: auto; }
.dp2-local-final__inner > p:not(.dp2-kicker) { max-width: 690px; margin-inline: auto; }
.dp2-local-final__actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.dp2-local-final .dp2-btn--outline { border-color: var(--dpl-ink); color: var(--dpl-ink) !important; }
.dp2-local-final .dp2-btn--outline:hover { background: var(--dpl-ink); color: #fff !important; }

@media (max-width: 1120px) {
	.dp2-local-benefits__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.dp2-local-hero__media { inset-left: 48%; }
}

@media (max-width: 900px) {
	.dp2-local-hero { min-height: auto; padding-top: 0; align-items: flex-end; }
	.dp2-local-hero__media { position: relative; inset: auto; z-index: -3; width: 100%; min-height: 470px; }
	.dp2-local-hero__overlay { background: linear-gradient(180deg, rgba(15,13,12,.08) 0%, rgba(15,13,12,.38) 40%, rgba(15,13,12,.96) 78%, rgba(15,13,12,1) 100%); }
	.dp2-local-hero__content { position: absolute; inset: auto 0 0; padding-block: 70px; }
	.dp2-local-hero__content > * { max-width: 760px; }
	.dp2-local-intro__grid,
	.dp2-local-plan__grid,
	.dp2-local-safety__box,
	.dp2-local-faq__grid { grid-template-columns: 1fr; }
	.dp2-local-split { grid-template-columns: 1fr; }
	.dp2-local-split__media { min-height: 540px; }
	.dp2-local-process__grid { grid-template-columns: 1fr; }
	.dp2-local-step { min-height: auto; }
	.dp2-local-safety__content ul { columns: 1; }
	.dp2-local-location__grid { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
	.dp2-local-service-page .dp2-shell { width: calc(100% - 48px); }
	.dp2-local-hero__media { min-height: 650px; }
	.dp2-local-hero__content { padding-block: 50px; }
	.dp2-local-hero h1 { font-size: clamp(42px, 11vw, 58px); }
	.dp2-local-hero__lead { font-size: 15px !important; }
	.dp2-local-hero__actions { align-items: stretch; flex-direction: column; }
	.dp2-local-hero__actions .dp2-btn { width: 100%; }
	.dp2-local-facts-wrap { margin-top: 0; background: var(--dpl-paper); }
	.dp2-local-facts { grid-template-columns: 1fr; border-radius: 0; border-right: 0; border-left: 0; box-shadow: none; }
	.dp2-local-fact { min-height: auto; padding: 23px 24px; }
	.dp2-local-fact + .dp2-local-fact { border-top: 1px solid var(--dpl-line); border-left: 0; }
	.dp2-local-intro,
	.dp2-local-benefits,
	.dp2-local-process,
	.dp2-local-plan,
	.dp2-local-safety,
	.dp2-local-faq,
	.dp2-local-location,
	.dp2-local-final { padding-block: 78px; }
	.dp2-local-service-page h2 { font-size: clamp(38px, 10vw, 50px); }
	.dp2-local-benefits__grid { grid-template-columns: 1fr; }
	.dp2-local-benefit { min-height: auto; }
	.dp2-local-benefit__number { margin-bottom: 38px; }
	.dp2-local-split__media { min-height: 430px; }
	.dp2-local-split__content { padding: 60px 24px; }
	.dp2-local-safety__box { padding: 38px 26px; border-radius: 24px; }
	.dp2-local-location__card,
	.dp2-local-article-card { min-height: auto; padding: 38px 26px; border-radius: 23px; }
	.dp2-local-final__actions { align-items: stretch; flex-direction: column; }
	.dp2-local-final__actions .dp2-btn { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
	.dp2-local-service-page *,
	.dp2-local-service-page *::before,
	.dp2-local-service-page *::after {
		scroll-behavior: auto !important;
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
	}
}
