/*
 * spinudental - foaie de stil unica (consolidata).
 * 1) Baza temei (fost style.css: tokeni, reset, tipografie, layout)
 * 2) Componente + designul Stomatologie (fost stomatologie.css la final,
 *    ca sa pastreze ordinea din cascada: style -> main -> stomatologie).
 * style.css pastreaza doar antetul temei cerut de WordPress.
 */

/* ==========================================================================
   1. BAZA TEMEI (migrata din style.css)
   ========================================================================== */
/* ==========================================================================
   0. CSS Custom Properties (design tokens) - placeholder, se actualizeaza
      dupa aprobarea design-ului (culori, fonturi, spatieri)
   ========================================================================== */
:root {
	--color-primary: #1a56db;
	--color-primary-dark: #123a94;
	--color-secondary: #0f172a;
	--color-text: #1f2937;
	--color-text-muted: #6b7280;
	--color-bg: #ffffff;
	--color-bg-alt: #f8fafc;
	--color-border: #e5e7eb;

	--font-base: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	--font-heading: var(--font-base);

	--container-width: 1200px;
	--space-1: 0.5rem;
	--space-2: 1rem;
	--space-3: 1.5rem;
	--space-4: 2rem;
	--space-6: 3rem;
	--space-8: 4rem;

	--radius: 8px;
	--transition: 0.2s ease-in-out;
}

/* ==========================================================================
   1. Reset minimal (nu folosim un full reset framework ca sa pastram CSS-ul mic)
   ========================================================================== */
*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
}

body {
	margin: 0;
	font-family: var(--font-base);
	color: var(--color-text);
	background: var(--color-bg);
	line-height: 1.6;
	font-size: var(--fs-body, 16px);
}

img,
svg,
video {
	max-width: 100%;
	height: auto;
	display: block;
}

a {
	color: var(--color-primary);
	text-decoration: none;
}

a:hover,
a:focus {
	text-decoration: underline;
}

/* Focus vizibil pentru tastatura (WCAG 2.4.7). Se aplica doar la navigarea cu
   Tab, nu si la click (:focus-visible), pe toate elementele interactive -
   linkuri, butoane, campuri, controale carusel/video/playlist. Outline de 3px
   in culoarea accentului, cu un halou alb ca sa fie vizibil si pe fundal inchis. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible,
[data-vplay]:focus-visible,
[data-pl-item]:focus-visible,
.dc-cta-btn:focus-visible,
.dc-btn:focus-visible {
	outline: 3px solid var(--accent, #0E6B5E);
	outline-offset: 2px;
	box-shadow: 0 0 0 2px #fff;
	border-radius: 6px;
}

/* Pe benzile inchise (hero/CTA/footer) haloul verde s-ar pierde - il facem alb. */
.dc-darkband :focus-visible, .dc-df-hero :focus-visible, .dc-header :focus-visible, .dc-footer :focus-visible, .dc-fab :focus-visible, .dc-modal :focus-visible {
	outline-color: #fff;
	box-shadow: 0 0 0 2px rgba(0, 0, 0, .45);
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--font-heading);
	line-height: 1.25;
	margin: 0 0 var(--space-2);
	color: var(--color-secondary);
}

p {
	margin: 0 0 var(--space-2);
}

ul, ol {
	margin: 0 0 var(--space-2);
	padding-left: 1.25em;
}

button, input, textarea, select {
	font-family: inherit;
	font-size: inherit;
}

/* Accessibility: skip link + screen-reader text (impact si asupra SEO/UX) */
.skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 100000;
	background: var(--color-secondary);
	color: #fff;
	padding: var(--space-1) var(--space-2);
	border-radius: 0 0 var(--radius) 0;
}

.skip-link:focus {
	left: 0;
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}

/* ==========================================================================
   2. Layout helpers
   ========================================================================== */
.container {
	width: 100%;
	max-width: var(--container-width);
	margin-inline: auto;
	padding-inline: var(--space-3);
}

.site {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

.site-content {
	flex: 1 0 auto;
}

/*
 * Stiluri componente. Impartit separat de style.css ca sa poata fi
 * minificat/versionat independent (style.css ramane "header-ul" temei).
 * Mobile-first, fara framework CSS extern (mentine payload-ul mic).
 */

/* ==========================================================================
   Buttons
   ========================================================================== */
.button {
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
	padding: 0.75em 1.5em;
	border-radius: var(--radius);
	font-weight: 600;
	border: 2px solid transparent;
	transition: background-color var(--transition), color var(--transition), border-color var(--transition);
	cursor: pointer;
}

.button--primary {
	background: var(--color-primary);
	color: #fff;
}

.button--primary:hover,
.button--primary:focus {
	background: var(--color-primary-dark);
	color: #fff;
	text-decoration: none;
}

/* ==========================================================================
   Header
   ========================================================================== */
.site-header {
	border-bottom: 1px solid var(--color-border);
	background: var(--color-bg);
	position: sticky;
	top: 0;
	z-index: 50;
}

.site-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-3);
	padding-block: var(--space-2);
}

.site-branding__link {
	font-weight: 700;
	font-size: 1.25rem;
	color: var(--color-secondary);
}

.menu-toggle {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 4px;
	width: 40px;
	height: 40px;
	background: none;
	border: none;
	cursor: pointer;
}

.menu-toggle__bar {
	display: block;
	height: 2px;
	background: var(--color-secondary);
	border-radius: 2px;
}

.primary-navigation {
	display: none;
	width: 100%;
}

.primary-navigation.is-open {
	display: block;
}

.primary-menu {
	list-style: none;
	margin: 0;
	padding: var(--space-2) 0 0;
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
}

.primary-menu a {
	color: var(--color-text);
	font-weight: 500;
}

@media (min-width: 768px) {
	.menu-toggle {
		display: none;
	}

	.primary-navigation {
		display: block;
		width: auto;
	}

	.primary-menu {
		flex-direction: row;
		padding-top: 0;
	}
}

/* ==========================================================================
   Hero
   ========================================================================== */
.hero {
	padding-block: var(--space-8);
	background: var(--color-bg-alt);
}

.hero__inner {
	display: grid;
	gap: var(--space-4);
	align-items: center;
}

.hero__title {
	font-size: clamp(1.75rem, 4vw, 2.75rem);
}

.hero__subtitle {
	font-size: 1.125rem;
	color: var(--color-text-muted);
	max-width: 60ch;
}

@media (min-width: 768px) {
	.hero__inner {
		grid-template-columns: 1.1fr 0.9fr;
	}
}

/* ==========================================================================
   Services teaser / cards
   ========================================================================== */
.services-teaser {
	padding-block: var(--space-8);
}

.services-teaser__title {
	margin-bottom: var(--space-4);
	text-align: center;
}

.services-teaser__grid {
	display: grid;
	gap: var(--space-4);
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	margin-block: var(--space-4);
}

.service-card {
	border: 1px solid var(--color-border);
	border-radius: var(--radius);
	padding: var(--space-3);
	display: flex;
	flex-direction: column;
	gap: var(--space-1);
}

.service-card__media img {
	border-radius: var(--radius);
	margin-bottom: var(--space-2);
	aspect-ratio: 3 / 2;
	object-fit: cover;
}

.service-card__title {
	margin-bottom: 0;
	font-size: 1.15rem;
}

.service-card__excerpt {
	color: var(--color-text-muted);
	flex: 1;
}

.service-card__link {
	font-weight: 600;
}

/* ==========================================================================
   CTA banner
   ========================================================================== */
.cta-banner {
	padding-block: var(--space-6);
	background: var(--color-secondary);
	color: #fff;
}

.cta-banner__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-3);
}

.cta-banner__title {
	color: #fff;
	margin-bottom: var(--space-1);
}

.cta-banner p {
	margin-bottom: 0;
	color: rgba(255, 255, 255, 0.8);
}

/* ==========================================================================
   Contact section
   ========================================================================== */
.contact-section {
	padding-block: var(--space-8);
}

.contact-section__inner {
	display: grid;
	gap: var(--space-4);
}

@media (min-width: 768px) {
	.contact-section__inner {
		grid-template-columns: 0.8fr 1.2fr;
	}
}

.contact-section__form input[type="text"],
.contact-section__form input[type="email"],
.contact-section__form input[type="tel"],
.contact-section__form textarea {
	width: 100%;
	padding: 0.75em;
	border: 1px solid var(--color-border);
	border-radius: var(--radius);
	margin-bottom: var(--space-2);
}

.contact-section__form textarea {
	min-height: 140px;
}

/* ==========================================================================
   Breadcrumbs
   ========================================================================== */
.breadcrumbs {
	padding-block: var(--space-2);
	font-size: 0.875rem;
	color: var(--color-text-muted);
}

.breadcrumbs__list {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 0.4em;
	margin: 0;
	padding: 0;
}

.breadcrumbs__item:not(:last-child)::after {
	content: "/";
	margin-left: 0.4em;
	color: var(--color-text-muted);
}

/* ==========================================================================
   Content pages / blog / 404
   ========================================================================== */
.page-title {
	margin-block: var(--space-4) var(--space-3);
}



.page-content__body,
.single-post__body {
	max-width: 75ch;
}

.page-content__media img,
.single-post__media img {
	border-radius: var(--radius);
	margin-bottom: var(--space-3);
}

.post-list {
	display: grid;
	gap: var(--space-4);
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	padding-block: var(--space-3) var(--space-6);
}

.post-list__media img {
	border-radius: var(--radius);
	aspect-ratio: 3 / 2;
	object-fit: cover;
	margin-bottom: var(--space-1);
}

.single-post__meta {
	color: var(--color-text-muted);
	font-size: 0.9rem;
}

.error-404 {
	padding-block: var(--space-8);
	text-align: center;
}

/* ==========================================================================
   Footer
   ========================================================================== */
.site-footer {
	background: var(--color-bg-alt);
	border-top: 1px solid var(--color-border);
	margin-top: auto;
}

.site-footer__inner {
	display: grid;
	gap: var(--space-4);
	padding-block: var(--space-6);
}

.site-footer__brand {
	font-size: 1.15rem;
}

.site-footer__tagline {
	color: var(--color-text-muted);
}

.footer-menu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var(--space-1);
}

.site-footer__bottom {
	border-top: 1px solid var(--color-border);
	padding-block: var(--space-2);
	font-size: 0.85rem;
	color: var(--color-text-muted);
}

.site-footer__bottom p {
	margin-bottom: 0;
}

@media (min-width: 768px) {
	.site-footer__inner {
		grid-template-columns: repeat(3, 1fr);
	}
}

/* ---- Buton reutilizabil ---- */
.dc-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; font-family: inherit; font-size: 18px; font-weight: 600; text-decoration: none; border: 0; border-radius: calc(var(--radius, 16px) - 4px); cursor: pointer; transition: transform .2s, box-shadow .2s, background .2s, border-color .2s; }
.dc-btn--primary { background: var(--btn-primary-bg, var(--accent, #0E6B5E)); color: #fff; }
.dc-btn--primary:hover { transform: translateY(-2px); }
/* Butonul din bara de sus isi poate avea propria culoare ("Setări Temă → Header").
   Necompletata, --header-btn-* lipsesc si butonul ramane ca restul butoanelor. */
.dc-header-cta, .dc-nav__cta { background: var(--header-btn-bg, var(--btn-primary-bg, var(--accent, #0E6B5E))); color: var(--header-btn-color, #fff); }
.dc-header-cta { padding: 13px 30px; font-size: 16px; border-radius: 8px;}
.dc-header-cta:hover { box-shadow: 0 12px 26px -10px color-mix(in srgb, var(--accent, #0E6B5E) 65%, transparent); }

/* Linkurile designului nu se subliniaza la hover (anuleaza regula globala
   a:hover din style.css, care altfel castiga fata de clase). */
.dc-page a:hover, .dc-page a:focus,
.dc-header a:hover, .dc-header a:focus,
.dc-footer a:hover, .dc-footer a:focus,
.dc-fab__btn:hover, .dc-fab__btn:focus { text-decoration: none; }

/* ---- Reveal la scroll (echivalentul animatiei dvUp inline) ---- */
.dc-reveal { animation: dvUp .8s both; animation-timeline: view(); animation-range: entry 0% cover 22%; }

/* ---- Header ---- */
.dc-header { position: sticky; top: 0; z-index: 60; background: transparent; border-bottom: 1px solid rgba(20, 32, 28, .08); }
/* Fundalul si blur-ul stau pe un strat propriu, nu pe <header>: un element cu
   backdrop-filter devine reper pentru position:fixed din interiorul lui, iar
   atunci panoul meniului mobil nu ar mai putea acoperi tot ecranul. */
.dc-header::before { content: ''; position: absolute; inset: 0; z-index: -1; background: var(--header-bg, rgba(246, 243, 236, .8)); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }
/* Inaltimea logo-ului si aerul din bara de sus vin din "Setări Temă → Header". */
.dc-header__inner { position: relative; max-width: none; margin: 0; padding: var(--header-padding-y, 15px) 15px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.dc-logo { display: flex; align-items: center; gap: 11px; text-decoration: none; color: var(--text, #14201C); }
.dc-logo__mark { width: 36px; height: 36px; border-radius: 11px; background: var(--accent, #0E6B5E); display: flex; align-items: center; justify-content: center; color: #fff; font-family: var(--hfont, 'Newsreader', Georgia, serif); font-size: 20px; font-weight: 600; box-shadow: 0 6px 16px -6px color-mix(in srgb, var(--accent, #0E6B5E) 70%, transparent); }
.dc-logo__img { max-height: var(--logo-height, 42px); width: auto; display: block; }
.dc-logo__name { font-family: var(--hfont, 'Newsreader', Georgia, serif); font-size: 21px; font-weight: 600; letter-spacing: -.015em; }
.dc-nav { display: flex; align-items: center; gap: 34px; font-size: var(--header-font-size, 17px); font-weight: var(--header-font-weight, 500); }
.dc-nav__link { text-decoration: none; color: var(--header-font-color, #3a463f); white-space: nowrap; transition: color .2s; }
.dc-nav__link:hover { color: var(--accent, #0E6B5E); }
.dc-nav__link.is-active { color: var(--accent, #0E6B5E); font-weight: 600; }

/* ---- Footer (grila are responsive-ul in stomatologie.css: .dc-footer-grid) ---- */
.dc-footer { border-top: 1px solid rgba(255, 255, 255, .09); background: var(--footer-bg, #0F1815); color: #fff; }
.dc-footer-grid { max-width: 1470px; margin: 0 auto; padding: 64px 15px; display: grid; grid-template-columns: 1.8fr 1fr 1fr 1.3fr; gap: 40px 72px; }
.dc-footer__brand { display: flex; align-items: center; gap: 11px; margin-bottom: 18px; }
.dc-footer__mark { width: 36px; height: 36px; border-radius: 11px; background: var(--accent, #0E6B5E); display: flex; align-items: center; justify-content: center; color: #fff; font-family: var(--hfont, 'Newsreader', Georgia, serif); font-size: 20px; font-weight: 600; }
.dc-footer__logo-img { max-height: var(--footer-logo-height, 42px); width: auto; display: block; }
.dc-footer__name { font-family: var(--hfont, 'Newsreader', Georgia, serif); font-size: 21px; font-weight: 600; letter-spacing: -.015em; }
.dc-footer__desc { font-size: 14.5px; line-height: 1.66; color: rgba(255, 255, 255, .6); margin: 0 0 18px; max-width: 38ch; }
.dc-footer__socials { display: flex; align-items: center; gap: 10px; margin-top: 40px; }
.dc-footer__social { width: 44px; height: 44px; border-radius: 5px; background: rgba(255, 255, 255, .06); display: flex; align-items: center; justify-content: center; color: rgba(255, 255, 255, .8); text-decoration: none; transition: background .2s; }
.dc-footer__social:hover { background: rgba(255, 255, 255, .14); }
.dc-footer__col-title { font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: rgba(255, 255, 255, .45); margin-bottom: 16px; }
.dc-footer__links { display: flex; flex-direction: column; gap: 11px; font-size: 14.5px; }
.dc-footer__link { color: rgba(255, 255, 255, .72); text-decoration: none; transition: color .2s; }
.dc-footer__link:hover { color: #fff; }
.dc-footer__contact { display: flex; flex-direction: column; gap: 13px; font-size: 14.5px; color: rgba(255, 255, 255, .72); }
.dc-footer__contact-row { display: flex; align-items: flex-start; gap: 10px; }
.dc-footer__contact-link { display: flex; gap: 10px; color: rgba(255, 255, 255, .72); text-decoration: none; transition: color .2s; }
.dc-footer__contact-link:hover { color: #fff; }
.dc-footer__ico { flex: none; }
.dc-footer__ico--top { margin-top: 4px; }
.dc-footer__contact-lines { display: flex; flex-direction: column; gap: 3px; }
.dc-footer__badges { display: flex; align-items: center; gap: 14px; margin-top: 18px; }
.dc-footer__badge { display: inline-flex; opacity: .85; transition: opacity .2s; }
.dc-footer__badge:hover { opacity: 1; }
.dc-footer__badge img { display: block; height: auto; width: auto; max-width: 100%; }
.dc-footer__bottom { border-top: 1px solid rgba(255, 255, 255, .08); }
.dc-footer__bottom-inner { max-width: 1470px; margin: 0 auto; padding: 22px 15px 100px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
.dc-footer__copy { font-size: 13px; color: rgba(255, 255, 255, .45); }
.dc-footer__legal { display: flex; gap: 22px; font-size: 13px; }
.dc-footer__legal-link { color: rgba(255, 255, 255, .5); text-decoration: none; transition: color .2s; }
.dc-footer__legal-link:hover { color: #fff; }

/* ---- MinCode Cookie Consent: harta blocata pana la acord + butonul de setari ---- */
/* Culorile butoanelor bannerului se aleg din Setari > Cookie consent > Culorile butoanelor. */
/* Butonul care redeschide setarile: colturi rotunjite ca butoanele site-ului, nu cerc. */
.mcc-reopen { border-radius: 8px; }
.dc-contact__map .mcc-embed { min-height: 380px; border-radius: 0; }
.dc-cform__map .mcc-embed { min-height: 340px; height: 100%; border-radius: 0; }
.dc-ty-contact__map .mcc-embed { min-height: 380px; height: 100%; border-radius: 0; }
.dc-legal-contact__map .mcc-embed { min-height: 340px; height: 100%; border-radius: 0; }
@media (max-width: 1023px) {
	/* Sub 1024px butonul de cookie-uri sta pe acelasi rand cu bara Suna acum / WhatsApp - vezi finalul fisierului. */
}
@media (max-width: 640px) {
	.dc-contact__map .mcc-embed { min-height: 240px; }
	/* Tabelul de cookie-uri din politica ([mcc_cookie_table]): pe telefon, cate un card pe cookie. */
	.dc-legal-article__body .mcc-table thead { display: none; }
	.dc-legal-article__body .mcc-table, .dc-legal-article__body .mcc-table tbody, .dc-legal-article__body .mcc-table tr, .dc-legal-article__body .mcc-table td { display: block; width: 100%; min-width: 0; }
	.dc-legal-article__body .mcc-table code { white-space: normal; word-break: break-all; }
	.dc-legal-article__body .mcc-table tr { border: 1px solid rgba(20, 32, 28, .12); border-radius: 8px; padding: 10px 14px; margin-bottom: 10px; background: #fff; }
	.dc-legal-article__body .mcc-table td { border: 0; padding: 3px 0; font-size: 15px; line-height: 1.5; }
	.dc-legal-article__body .mcc-table td:first-child { font-weight: 700; padding-bottom: 6px; }
	.dc-legal-article__body .mcc-table td:nth-child(2)::before { content: 'Furnizor: '; font-weight: 600; }
	.dc-legal-article__body .mcc-table td:nth-child(3)::before { content: 'Scop: '; font-weight: 600; }
	.dc-legal-article__body .mcc-table td:nth-child(4)::before { content: 'Durată: '; font-weight: 600; }
}

/* ---- Bara fixa Suna acum / WhatsApp (responsive .dc-fab a in stomatologie.css) ---- */
.dc-fab { position: fixed; left: 50%; bottom: 24px; transform: translateX(-50%); z-index: 120; display: flex; flex-direction: row; gap: 12px; }
.dc-fab__btn { display: flex; align-items: center; justify-content: center; min-width: 160px; gap: 9px; padding: 12px 20px; border-radius: 8px; text-decoration: none; font-size: 16px; font-weight: 600; color: #fff; transition: transform .2s; }
.dc-fab__btn:hover { transform: translateY(-2px); }
.dc-fab__btn--call { background: var(--accent, #0E6B5E); box-shadow: 0 12px 28px -10px color-mix(in srgb, var(--accent, #0E6B5E) 70%, transparent); }
.dc-fab__btn--wa { background: var(--wa-color, #25D366); box-shadow: 0 12px 28px -10px rgba(37, 211, 102, .6); }
.dc-fab__ico { flex: none; }
/* Pe desktop bara sta in dreapta jos (in stanga sunt bannerul si butonul de cookie-uri).
   Sub 1024px ramane pe toata latimea, vezi regulile responsive de mai jos. */
@media (min-width: 1024px) {
	.dc-fab { left: auto; right: 24px; transform: none; }
	body.dc-nav-open .dc-fab { transform: translateY(12px); }
}

/* ---- Hero pagini interioare (simplu: fundal alb, text centrat, spatiere redusa) ----
   Folosit de: Contact, Cazuri clinice, Testimoniale, Preturi, Servicii, pagina de
   serviciu si paginile legale. Home si "Dantura fixa" au hero-uri proprii. */
.dc-simple-hero { background: #f8f8f8; border-bottom: 1px solid #e5e3db; }
.dc-simple-hero__inner { max-width: 1024px; margin: 0 auto; padding: clamp(40px, 5vw, 60px) 15px clamp(28px, 3.5vw, 40px); display: flex; flex-direction: column; align-items: center; text-align: center; }
.dc-simple-hero__title { font-family: var(--hfont, 'Newsreader', Georgia, serif); font-weight: 500; font-size: var(--fs-display, 52px); line-height: 1.06; letter-spacing: -.025em; margin: 0 0 14px; color: var(--text, #14201C); max-width: 30ch; text-wrap: balance; }
.dc-simple-hero__title em { font-style: italic; color: var(--accent, #0E6B5E); }
.dc-simple-hero__text { font-size: clamp(16px, 1.5vw, 20px); line-height: 1.6; color: #57635d; margin: 0; max-width: 70ch; text-wrap: pretty; }
.dc-simple-hero__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; margin-top: 28px; }
.dc-simple-hero__updated { margin-top: 24px; display: inline-flex; align-items: center; gap: 9px; font-size: 13px; color: #57635d; border: 1px solid #e5e3db; border-radius: 999px; padding: 8px 16px; }

.dc-crumb { display: flex; align-items: center; justify-content: center; gap: 10px; font-size: 12px; font-weight: 600; letter-spacing: .13em; text-transform: uppercase; color: var(--accent, #0E6B5E); margin-bottom: 16px; }
.dc-crumb a { color: inherit; text-decoration: none; }
.dc-crumb a:hover { color: color-mix(in srgb, var(--accent, #0E6B5E) 75%, #000); }
.dc-crumb__sep { opacity: .5; }
.dc-crumb__current { color: #57635d;display: -webkit-box;
    -webkit-line-clamp: 1; line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden; text-align: left;}

/* ---- Cap de sectiune (titlu + subtitlu centrat, latime max 1024px) ---- */
.dc-section-head { text-align: center; max-width: 1200px; margin: 0 auto 38px; }
.dc-section-head__title { font-family: var(--hfont, 'Newsreader', Georgia, serif); font-weight: 500; font-size: var(--fs-h2, 48px); line-height: 1.04; letter-spacing: -.025em; margin: 0 0 14px; }
.dc-section-head__text { font-size: var(--fs-body-lg, 20px); line-height: 1.6; color: #57635d; margin: 0; }

/* ---- Sectiune: Date de contact ---- */
.dc-contact-details { background: #fff; }
.dc-contact-details__inner { max-width: 1470px; margin: 0 auto; padding: 68px 15px 0; }
.dc-contact-details__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 20px; }
/* In design blocul se continua pe alb, de aceea nu are spatiu dedesubt. Cand
   pagina ii alege o culoare de fundal, banda se vede pana sub carduri - atunci
   ii dam si spatiul de jos, ca sa nu se lipeasca de sectiunea urmatoare. */
.dc-contact-details.dc-has-bg .dc-contact-details__inner { padding-bottom: 68px; }
.dc-contact-card { background: var(--dc-card-bg, #faf7f0); border: 1px solid rgba(20, 32, 28, .1); border-radius: var(--radius, 16px); padding: 30px 26px; display: flex; flex-direction: column; gap: 14px; transition: transform .25s cubic-bezier(.16, .8, .24, 1), box-shadow .25s; }
.dc-contact-card:hover { transform: translateY(-5px); box-shadow: 0 22px 44px -22px rgba(20, 32, 28, .26); }
.dc-contact-card__icon { width: 52px; height: 52px; border-radius: 6px; background: color-mix(in srgb, var(--accent, #0E6B5E) 10%, #fff); display: flex; align-items: center; justify-content: center; color: var(--accent, #0E6B5E); flex: none; }
.dc-contact-card__label { font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--accent, #0E6B5E); }
.dc-contact-card__lines { display: flex; flex-direction: column; gap: 4px; }
.dc-contact-card__line { font-size:18px; line-height: 1.5; color: var(--text, #14201C); font-weight: 500; }
.dc-contact-card__line-link { text-decoration: none; font-size: 18px; }
.dc-contact-card__line-link .dc-contact-card__line { font-size: 18px; }
.dc-contact-card__line-link:hover .dc-contact-card__line,
.dc-contact-card__line-link:hover { color: var(--accent, #0E6B5E); }
a.dc-contact-card__line-link.dc-contact-card__line:hover { color: var(--accent, #0E6B5E); }

/* ---- Sectiune: Retele sociale ---- */
.dc-contact-socials { background: #fff; }
.dc-contact-socials__inner { max-width: 1470px; margin: 0 auto; padding: var(--section-spacing, 110px) 15px; }
.dc-contact-socials .dc-section-head__title { font-size: clamp(26px, 3vw, 40px); line-height: 1.06; margin: 0 0 12px; }
.dc-socials { display: flex; flex-wrap: wrap; justify-content: center; gap: 18px; }
.dc-social { display: flex; align-items: center; gap: 14px; background: #fff; border: 1px solid rgba(20, 32, 28, .1); border-radius: var(--radius, 16px); padding: 18px 26px; text-decoration: none; width: 20%; transition: transform .25s, box-shadow .25s, border-color .25s; }
.dc-social:hover { transform: translateY(-4px); box-shadow: 0 20px 40px -22px rgba(20, 32, 28, .3); border-color: color-mix(in srgb, var(--accent, #0E6B5E) 40%, transparent); }
.dc-social__icon { width: 46px; height: 46px; border-radius: 12px; color: #fff; display: flex; align-items: center; justify-content: center; flex: none; }
.dc-social__icon--facebook { background: #1877F2; }
.dc-social__icon--instagram { background: #E1306C; }
.dc-social__icon--tiktok { background: #111; }
.dc-social__icon--youtube { background: #FF0000; }
.dc-social__text { min-width: 0; }
.dc-social__name { display: block; font-size: 15.5px; font-weight: 600; color: var(--text, #14201C); }
.dc-social__handle { display: block; font-size: 13px; color: #57635d; margin-top: 2px; }

/* ---- Sectiune: Formular + harta ---- */
.dc-cform { background: #14201C; color: #fff; scroll-margin-top: 70px; }
.dc-cform__grid { max-width: 1470px; margin: 0 auto; padding: 80px 15px 80px; display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 56px; align-items: stretch; }
/* Fara harta, formularul nu se intinde pe toata latimea: ramane centrat. */
.dc-cform__grid--no-map { grid-template-columns: minmax(0, 720px); justify-content: center; }
@media (max-width: 960px) { .dc-cform__grid { grid-template-columns: 1fr; } }
.dc-cform__title { font-family: var(--hfont, 'Newsreader', Georgia, serif); font-weight: 500; font-size: clamp(30px, 3.6vw, 48px); line-height: 1.04; letter-spacing: -.025em; margin: 0 0 14px; color: #fff; }
.dc-cform__text { font-size: 17px; line-height: 1.6; color: rgba(255, 255, 255, .72); margin: 0 0 32px; }
.dc-cform__map { border-radius: 8px; overflow: hidden; border: 1px solid rgba(255, 255, 255, .1); box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .5); min-height: 340px; }
.dc-cform__map iframe { width: 100%; height: 100%; min-height: 340px; border: 0; display: block; filter: grayscale(.2); }

/* ---- Card formular (reutilizat pe toate paginile cu formular) ---- */
.dc-form-card { background: #f8f8f8; color: var(--text, #14201C); border-radius: 8px; padding: clamp(24px, 3vw, 36px); box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .6); }
.dc-form__note { font-size: 16px; color: #57635d; text-align: center; line-height: 1.5; margin-top: 14px; }

/* ---- Formularul Contact Form 7 (shortcode randat in .dc-form-card) ---- */
.dc-form-card .wpcf7-form { display: flex; flex-direction: column; gap: 16px; }
.dc-form-card .wpcf7-form p { margin: 0; }
.dc-form-card .wpcf7-form label { display: block; font-size: 13px; font-weight: 600; color: #3a463f; margin-bottom: 7px; }
.dc-form-card .wpcf7-form-control-wrap { display: block; }
.dc-form-card .wpcf7-form-control:not([type="submit"]) { width: 100%; padding: 16px 15px; background: #fff; border: 1px solid rgba(20, 32, 28, .14); border-radius: calc(var(--radius, 16px) - 6px); font-size: 15px; outline: none; transition: border-color .2s; font-family: inherit; }
.dc-form-card textarea.wpcf7-form-control { resize: vertical; }
.dc-form-card .wpcf7-form-control:not([type="submit"]):focus { border-color: var(--accent, #0E6B5E); outline: 2px solid var(--accent, #0E6B5E); outline-offset: 1px; }
.dc-form-card .wpcf7-not-valid-tip { font-size: 12.5px; color: #c0392b; margin-top: 6px; }
.dc-form-card .wpcf7-submit { margin-top: 6px; width: 100%; padding: 15px; background: var(--btn-primary-bg, var(--accent, #0E6B5E)); color: #fff; border: none; border-radius: calc(var(--radius, 16px) - 4px); font-size: 18px; font-weight: 600; cursor: pointer; transition: transform .2s, box-shadow .2s; font-family: inherit; }
.dc-form-card .wpcf7-submit:hover { transform: translateY(-2px); box-shadow: 0 16px 32px -12px color-mix(in srgb, var(--accent, #0E6B5E) 65%, transparent); }
.dc-form-card .wpcf7-spinner { margin-left: 10px; }
.dc-form-card .wpcf7-response-output { font-size: 13px; line-height: 1.5; border-radius: calc(var(--radius, 16px) - 8px); margin: 4px 0 0; padding: 10px 14px; border: 1px solid rgba(20, 32, 28, .14); }
.dc-form-card .wpcf7-form.sent .wpcf7-response-output { border-color: var(--accent, #0E6B5E); color: var(--accent, #0E6B5E); }
.dc-form-card .wpcf7-form.invalid .wpcf7-response-output,
.dc-form-card .wpcf7-form.unaccepted .wpcf7-response-output,
.dc-form-card .wpcf7-form.failed .wpcf7-response-output { border-color: #c0392b; color: #c0392b; }

.dc-ctaform__form .send_button {transform: translateY(-7px);}
/* ==========================================================================
   Pagina "Mulțumim" (thank-you) - header/footer minimale, fara FAB.
   ========================================================================== */
@keyframes pop {
	0%   { transform: scale(.6); opacity: 0; }
	60%  { transform: scale(1.08); }
	100% { transform: scale(1); opacity: 1; }
}

/* Sectiune Thank-you */
.dc-thankyou { background: #14201C; color: #fff; position: relative; overflow: hidden; }
/* Ca la benzile inchise: implicit gradientul din design, dar se poate trimite
   alta valoare prin --dc-band-bg (imagine, culoare simpla sau alt gradient).
   Peste imagine se pune un strat intunecat, ca textul alb sa ramana lizibil. */
.dc-thankyou__bg {--dc-band-scrim: rgb(0 0 0 / 80%); position: absolute; inset: 0; background: var(--dc-band-bg, linear-gradient(120deg, #0d2b25, #14201C 45%, #1c3b34)); background-size: cover; background-position: center; background-repeat: no-repeat; }
.dc-thankyou--photo .dc-thankyou__bg::after { content: ''; position: absolute; inset: 0; background: var(--dc-band-scrim, transparent); }
.dc-thankyou__stripes { position: absolute; inset: 0; background: repeating-linear-gradient(135deg, rgba(255, 255, 255, .03) 0 2px, transparent 2px 22px); }
.dc-thankyou__inner { position: relative; z-index: 2; max-width: 760px; margin: 0 auto; padding: clamp(72px, 9vw, 120px) 15px; display: flex; flex-direction: column; align-items: center; text-align: center; }
.dc-thankyou__check { animation: pop .6s both; width: 96px; height: 96px; border-radius: 50%; background: color-mix(in srgb, var(--accent, #0E6B5E) 22%, #14201C); border: 1px solid color-mix(in srgb, var(--accent, #0E6B5E) 45%, transparent); display: flex; align-items: center; justify-content: center; margin-bottom: 32px; }
.dc-thankyou__title { animation: dvUp .7s .1s both; font-family: var(--hfont, 'Newsreader', Georgia, serif); font-weight: 500; font-size: clamp(34px, 4.6vw, 58px); line-height: 1.05; letter-spacing: -.025em; margin: 0 0 20px; max-width: 16ch; color: #fff; }
.dc-thankyou__text { animation: dvUp .7s .18s both; font-size: clamp(16px, 1.3vw, 19px); line-height: 1.64; color: rgba(255, 255, 255, .78); margin: 0 0 40px; max-width: 52ch; }
.dc-thankyou__btn { animation: dvUp .7s .26s both; padding: 16px 30px; font-size: 18px; border-radius: calc(var(--radius, 16px) - 3px); }
.dc-thankyou__btn:hover { box-shadow: 0 16px 32px -12px color-mix(in srgb, var(--accent, #0E6B5E) 70%, transparent); }

/* Sectiune Contact + harta */
.dc-ty-contact { background: #F6F3EC; }
.dc-ty-contact__inner { max-width: 1470px; margin: 0 auto; padding: 72px 15px; display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 44px; align-items: stretch; }
/* Fara harta, cardurile nu se intind pe toata latimea: raman centrate. */
.dc-ty-contact__inner--no-map { grid-template-columns: minmax(0, 720px); justify-content: center; }
.dc-ty-contact__col { display: flex; flex-direction: column; justify-content: center; }
.dc-ty-contact__title { font-family: var(--hfont, 'Newsreader', Georgia, serif); font-weight: 500; font-size: clamp(26px, 3vw, 40px); line-height: 1.08; letter-spacing: -.025em; margin: 0 0 26px; }
.dc-ty-contact__list { display: flex; flex-direction: column; gap: 16px; }
.dc-ty-contact-card { display: flex; align-items: flex-start; gap: 16px; background: #fff; border: 1px solid rgba(20, 32, 28, .1); border-radius: var(--radius, 16px); padding: 20px 22px; }
.dc-ty-contact-card__icon { width: 46px; height: 46px; border-radius: 12px; background: color-mix(in srgb, var(--accent, #0E6B5E) 10%, #fff); color: var(--accent, #0E6B5E); display: flex; align-items: center; justify-content: center; flex: none; }
.dc-ty-contact-card__body { min-width: 0; }
.dc-ty-contact-card__label { font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--accent, #0E6B5E); margin-bottom: 6px; }
.dc-ty-contact-card__line { display: block; font-size: 15.5px; line-height: 1.5; color: var(--text, #14201C); font-weight: 500; }
/* Adresa / telefonul / emailul sunt linkuri; programul ramane text simplu. */
.dc-ty-contact-card__line-link { text-decoration: none; transition: color .2s; }
.dc-ty-contact-card__line-link:hover,
.dc-ty-contact-card__line-link:focus-visible { color: var(--accent, #0E6B5E); text-decoration: none; }
.dc-ty-contact__map { min-height: 380px; border-radius: calc(var(--radius, 16px) + 6px); overflow: hidden; border: 1px solid rgba(20, 32, 28, .1); box-shadow: 0 30px 60px -30px rgba(20, 32, 28, .4); }
.dc-ty-contact__map iframe { width: 100%; height: 100%; min-height: 380px; border: 0; display: block; filter: grayscale(.2); }

/* ==========================================================================
   Pagina "Cazuri clinice" (+ componente reutilizabile: card video, comparator)
   ========================================================================== */

/* Iframe generat de JS la redare (video grid / playlist). */
.dc-embed { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* Card video reutilizabil (grile de testimoniale/media/cazuri).
   Fundalul scenelor video (__stage / __thumb / hero) e culoarea de accent: se
   vede doar cat se incarca thumbnail-ul si playerul, deci trebuie sa fie
   culoarea clinicii, nu un verde fix. Aceleasi reguli la .dc-playlist__stage,
   .dc-playlist__thumb si .dc-df-hero__video. */
.dc-vcard { display: flex; flex-direction: column; gap: 14px; }
.dc-vcard__stage { position: relative; aspect-ratio: 9/16; border-radius: var(--radius, 16px); overflow: hidden; background: var(--accent, #0E6B5E); box-shadow: 0 18px 40px -22px rgba(20, 32, 28, .4); }
.dc-vcard__play { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; cursor: pointer; background: transparent; display: flex; align-items: center; justify-content: center; padding: 0; }
.dc-vcard__thumb { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.dc-vcard__scrim { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(9, 16, 14, .05), rgba(9, 16, 14, .55)); }
.dc-vcard__playbtn { position: relative; width: 62px; height: 62px; border-radius: 50%; background: rgba(255, 255, 255, .94); display: flex; align-items: center; justify-content: center; box-shadow: 0 10px 26px -8px rgba(0, 0, 0, .5); transition: transform .2s, opacity .25s; }
.dc-vcard__play:hover .dc-vcard__playbtn { transform: scale(1.08); }

/* Preview la hover: iframe-ul (fara sonor) sta sub buton, iar thumbnail-ul si
   iconita de play se sting ca sa lase videoul vizibil. Butonul ramane deasupra,
   ca sa poata prelua click-ul care deschide lightbox-ul. */
.dc-vcard__play { z-index: 1; }
/* Videoul pornit in card: sta peste tot continutul si primeste click-urile
   (butoanele playerului YouTube), spre deosebire de preview-ul mut. */
.dc-vcard__player { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; z-index: 2; }
.dc-vcard.is-playing .dc-vcard__play { opacity: 0; pointer-events: none; }
.dc-vcard__thumb { transition: opacity .25s; }

.dc-vcard__meta { position: absolute; left: 16px; bottom: 14px; text-align: left; }
.dc-vcard__name { display: block; font-size: 17px; font-weight: 600; color: #fff; }
.dc-vcard__role { display: block; font-size: 12.5px; color: rgba(255, 255, 255, .72); margin-top: 2px; }

/* Varianta cu textul sub card ('layout' => 'below'): peste imagine ramane doar
   eticheta din colt si butonul de play, iar titlul sta dedesubt, pe fundalul
   sectiunii. Fara text suprapus, valul de intunecare poate fi uniform si mai slab. */
.dc-vcard--below .dc-vcard__scrim { background: linear-gradient(180deg, rgba(9, 16, 14, .26), rgba(9, 16, 14, .16)); }
.dc-vcard--below .dc-vcard__playbtn { width: 54px; height: 54px; }
.dc-vcard--below .dc-vcard__tag { position: absolute; top: 13px; left: 13px; max-width: calc(100% - 26px); padding: 6px 10px; border-radius: 9px; background: rgba(9, 16, 14, .62); color: #fff; font-size: 11.5px; font-weight: 600; line-height: 1.25; text-align: left; }
.dc-vcard--below .dc-vcard__caption { font-size: 15px; font-weight: 600; line-height: 1.4; color: var(--text, #14201C); }

/* Paginare grile video (butoanele sunt generate de stomatologie.js). */
.dc-vpages { display: flex; align-items: center; justify-content: center; gap: 9px; margin-top: 38px; }
/* Paginarea grilelor video: toate culorile pleaca din accentul temei, ca sa se
   potriveasca de la o clinica la alta. Butonul inactiv e o nuanta stinsa a
   accentului, cel activ e accentul plin. */
.dc-vpage { min-width: 44px; height: 44px; padding: 0 14px; border-radius: calc(var(--radius, 16px) - 6px); border: 1px solid var(--dc-vpage-border, color-mix(in srgb, var(--accent, #0E6B5E) 22%, transparent)); background: var(--dc-vpage-bg, #fff); color: var(--text, #14201C); font-size: 15px; font-weight: 600; cursor: pointer; transition: transform .2s, border-color .2s, background .2s; font-family: inherit; }
.dc-vpage:hover { transform: translateY(-2px); border-color: color-mix(in srgb, var(--accent, #0E6B5E) 45%, transparent); }
.dc-vpage.is-active { border-color: var(--accent, #0E6B5E); background: var(--accent, #0E6B5E); color: var(--dc-vpage-active-color, #fff); }

/* Sectiune: grila video cazuri */
.dc-cazuri-video { background: #fff; }
/* In acest bloc titlul video (meta) e centrat, nu aliniat stanga-jos. */
.dc-cazuri-video .dc-vcard__meta { left: 0; right: 0; padding: 0 14px; }
.dc-cazuri-video__inner { max-width: 1470px; margin: 0 auto; padding: 68px 15px var(--section-spacing, 110px); }
.dc-vgrid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
/* Varianta centrata (Apariții Media pe Home): flex in loc de grila, ca un rand cu
   mai putine videoclipuri decat coloane sa stea la mijloc, nu lipit in stanga.
   Cardurile pastreaza latimea din grila: un sfert din rand, unul pe telefon. */
.dc-vgrid.dc-vgrid--center { display: flex; flex-wrap: wrap; justify-content: center; }
.dc-vgrid--center > * { flex: 0 0 calc((100% - 3 * 22px) / 4); min-width: 0; }
@media (min-width: 961px) and (max-width: 1023px) { .dc-vgrid--center > * { flex-basis: calc((100% - 3 * 15px) / 4); } }
@media (max-width: 960px) { .dc-vgrid--center > * { flex-basis: 100%; } }
@media (max-width: 960px) { .dc-vgrid { grid-template-columns: repeat(1, minmax(0, 1fr)); gap: 8px; }.dc-vcard__stage {aspect-ratio: 9 / 16;} .dc-vcard__playbtn {width: 46px; height: 46px;}
.dc-vcard__name {font-size: 15px;}.dc-vcard__role {font-size: 11px;}.dc-vpages {margin-top: 30px}.dc-vpage {min-width: 40px; height: 40px;
	font-size: 14px} }

/* Carusel orizontal de carduri video (pagina Testimoniale). Scroll nativ cu
   snap, bara de progres si sageti. Comportamentul video vine din [data-vgrid]. */
/* Tipuri de lucrari protetice: carduri cu imagine pe tot cardul si titlul +
   textul suprapuse jos, pe un gradient inchis. */
.dc-prosthetics { background: #fff; }
.dc-prosthetics__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
@media (max-width: 760px) { .dc-prosthetics__grid { grid-template-columns: 1fr; } }
.dc-prosthetics__card { position: relative; aspect-ratio: 4/3; border-radius: calc(var(--radius, 16px) + 2px); overflow: hidden; display: flex; align-items: flex-end; border: 1px solid rgba(20, 32, 28, .1); }
.dc-prosthetics__media { position: absolute; inset: 0; }
.dc-prosthetics__media img { width: 100%; height: 100%; object-fit: cover; }
.dc-prosthetics__overlay { position: relative; z-index: 1; width: 100%; padding: 30px 28px 32px; background: linear-gradient(to top, rgba(9, 16, 14, .94), rgba(9, 16, 14, .55) 52%, rgba(9, 16, 14, 0)); color: #fff; }
.dc-prosthetics__title { font-family: var(--hfont, 'Newsreader', Georgia, serif); font-weight: 500; font-size: clamp(23px, 2.5vw, 30px); line-height: 1.12; letter-spacing: -.015em; margin: 0 0 10px; color: #fff; }
.dc-prosthetics__text { font-size: 14.5px; line-height: 1.6; color: rgba(255, 255, 255, .85); margin: 0; }

.dc-testim-scroller { background: #fff; }
.dc-scroller { position: relative; }
.dc-scroller__viewport { overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; -ms-overflow-style: none; scrollbar-width: none; }
.dc-scroller__viewport::-webkit-scrollbar { display: none; }
.dc-scroller__track { display: flex; gap: 22px; }
/* 3,5 carduri vizibile pe desktop (3 spatii intre ele scazute din latime). */
.dc-scroller__track > .dc-vcard { flex: 0 0 calc((100% - 3 * 22px) / 4); scroll-snap-align: start; }
@media (max-width: 900px) { .dc-scroller__track > .dc-vcard { flex-basis: calc((100% - 2 * 22px) / 2.5); } }
/* Pe mobil, un singur card pe ecran (fara "coltul" cardului urmator). */
@media (max-width: 640px) { .dc-scroller__track > .dc-vcard { flex-basis: 100%; } }
.dc-testim-scroller .dc-vcard__role { color: color-mix(in srgb, var(--accent, #0E6B5E) 72%, #fff); }

.dc-scroller__bar { margin-top: 26px; height: 5px; border-radius: 999px; background: rgba(20, 32, 28, .1); overflow: hidden; }
.dc-scroller__thumb { height: 100%; width: 30%; border-radius: 999px; background: var(--accent, #0E6B5E); }

.dc-scroller__controls { display: flex; align-items: center; justify-content: center; gap: 18px; margin-top: 20px; }
.dc-scroller__label { font-size: 14px; color: #57635d; }
.dc-scroller__arrow { flex: none; width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(20, 32, 28, .18); background: #fff; color: #14201C; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; transition: border-color .2s, background .2s, opacity .2s; }
.dc-scroller__arrow:hover { border-color: var(--accent, #0E6B5E); background: color-mix(in srgb, var(--accent, #0E6B5E) 6%, #fff); }
.dc-scroller__arrow:disabled { opacity: .35; cursor: default; }

/* Varianta "raft": antetul si sagetile pe acelasi rand, carduri verticale mai
   inguste (se vede si coltul urmatorului, ca sa se inteleaga ca lista continua). */
.dc-scroller__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: 34px; }
.dc-scroller__head .dc-section-head { text-align: left; margin: 0; max-width: 820px; }
.dc-scroller__nav { display: flex; gap: 12px; flex: none; padding-bottom: 4px; }
.dc-scroller--shelf .dc-scroller__track { gap: 16px; }
.dc-scroller--shelf .dc-scroller__track > .dc-vcard { flex-basis: calc((100% - 4 * 16px) / 4.7); }
@media (max-width: 1200px) { .dc-scroller--shelf .dc-scroller__track > .dc-vcard { flex-basis: calc((100% - 4 * 16px) / 4.5); } }
@media (max-width: 900px) { .dc-scroller--shelf .dc-scroller__track > .dc-vcard { flex-basis: calc((100% - 3 * 16px) / 3.5); } }
@media (max-width: 700px) { .dc-scroller__head { margin-bottom: 26px; } .dc-scroller__nav { display: none; } }
@media (max-width: 640px) { .dc-scroller--shelf .dc-scroller__track > .dc-vcard { flex-basis: calc((100% - 2 * 16px) / 2.2); } .dc-vcard--below .dc-vcard__caption { font-size: 13.5px; } .dc-vcard--below .dc-vcard__playbtn { width: 46px; height: 46px; } }
/* Doua rafturi au cardurile mai mari pe telefon: 1.2 pe ecran, adica unul intreg
   plus coltul urmatorului, ca sa se vada ca lista continua. Latimea = (latimea
   raftului - un spatiu de 16px) / 1.2. */
@media (max-width: 640px) {
	.dc-testim-playlist__inner .dc-scroller--shelf .dc-scroller__track > .dc-vcard,
	.dc-scroller--shelf.dc-faq__playlist .dc-scroller__track > .dc-vcard { flex-basis: calc((100% - 16px) / 1.2); }
}

/* Sectiune: comparatoare inainte/dupa (grila .ba-grid din fundatie) */
.dc-cazuri-ba { background: #F6F3EC; }
.dc-cazuri-ba__inner { max-width: 1470px; margin: 0 auto; padding: var(--section-spacing, 110px) 15px; }
/* Inainte/dupa static: cele doua imagini stivuite vertical, despartite de un
   divider cu linie punctata si o pastila cu sageata. Fara drag / interactiune. */
.dc-baview-item { display: flex; flex-direction: column; gap: 14px; }
.dc-baview { display: flex; flex-direction: column; background: #fff; border-radius: var(--radius, 16px); overflow: hidden; border: 1px solid rgba(20, 32, 28, .1); box-shadow: 0 22px 46px -24px rgba(20, 32, 28, .34); }
.dc-baview__pane { position: relative; aspect-ratio: 6/3; display: flex; align-items: flex-end; padding: 14px; }
.dc-baview__pane--before { background: linear-gradient(160deg, #b9b2a2, #a49d8d); }
.dc-baview__pane--after { background: linear-gradient(160deg, #eef4f1, #cfe1d8); }
.dc-baview__tag { font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; padding: 5px 10px; border-radius: 7px; color: rgba(255, 255, 255, .92); background: rgba(20, 32, 28, .35); }
.dc-baview__tag--after { color: var(--text, #14201C); background: rgba(255, 255, 255, .8); }
.dc-baview__divider { position: relative; height: 46px; background: #fff; display: flex; align-items: center; justify-content: center; }
.dc-baview__divider::before { content: ''; position: absolute; left: 20px; right: 20px; top: 50%; border-top: 2px dashed color-mix(in srgb, var(--accent, #0E6B5E) 35%, transparent); }
.dc-baview__badge { position: relative; width: 38px; height: 38px; border-radius: 50%; background: var(--accent, #0E6B5E); color: #fff; display: flex; align-items: center; justify-content: center; box-shadow: 0 8px 20px -6px color-mix(in srgb, var(--accent, #0E6B5E) 70%, transparent); }
.dc-baview__caption { font-size: 16px; line-height: 1.55; color: #57635d; margin: 0; text-align: center; }
.dc-loadmore-wrap { display: flex; justify-content: center; margin-top: 38px; }
.dc-loadmore { display: inline-flex; align-items: center; gap: 9px; padding: 15px 30px; background: transparent; color: var(--text, #14201C); border: 1px solid rgba(20, 32, 28, .2); border-radius: calc(var(--radius, 16px) - 3px); font-size: 18px; font-weight: 600; cursor: pointer; transition: border-color .2s, background .2s; font-family: inherit; }
.dc-loadmore:hover { border-color: var(--accent, #0E6B5E); background: color-mix(in srgb, var(--accent, #0E6B5E) 6%, #fff); }

/* Sectiune Contact partajata (homepage / cazuri / testimoniale / preturi) */
/* Fundalul vine din "Setări Temă → Footer". Regula `.dc-page .dc-has-bg` de mai
   jos are specificitate mai mare, deci alegerea per-pagina din "Componente →
   Contact" ramane peste valoarea implicita de aici. */
.dc-contact { background: var(--contact-bg, #14201C); color: #fff; scroll-margin-top: 70px; }
.dc-contact-split { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 56px; align-items: center; }
.dc-contact__grid { max-width: 1470px; margin: 0 auto; padding: var(--section-spacing, 110px) 15px 44px; }
.dc-contact__title { font-family: var(--hfont, 'Newsreader', Georgia, serif); font-weight: 500; font-size: clamp(30px, 3.6vw, 48px); line-height: 1.04; letter-spacing: -.025em; margin: 0 0 14px; color: #fff; }
.dc-contact__text { font-size: 18px; line-height: 1.6; color: rgba(255, 255, 255, .72); margin: 0 0 20px; }
.dc-contact__details { display: flex; flex-direction: column; gap: 20px; }
.dc-contact__detail { display: flex; align-items: center; gap: 14px; }
.dc-contact__detail-icon { width: 50px; height: 50px; border-radius: 12px; background: rgba(255, 255, 255, .06); display: flex; align-items: center; justify-content: center; color: color-mix(in srgb, var(--accent, #0E6B5E) 55%, #fff); flex: none; }
.dc-contact__detail-label { font-size: 13px; color: rgba(255, 255, 255, .5); }
.dc-contact__detail-value { font-size: 18px; font-weight: 500; }
.dc-contact__detail-link { color: inherit; text-decoration: none; display: inline-block; transition: color .2s; }
.dc-contact__detail-link:hover { color: color-mix(in srgb, var(--accent, #0E6B5E) 55%, #fff); }
.dc-contact__map-shell { max-width: 1470px; margin: 0 auto; padding: 0 15px var(--section-spacing, 110px); }
.dc-contact__map { border-radius: 8px; overflow: hidden; border: 1px solid rgba(255, 255, 255, .1); box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .5); }
.dc-contact__map iframe { width: 100%; height: 380px; border: 0; display: block; filter: grayscale(.2); }

.send_button {position: relative;}
.dc-ctaform .dc-form-card .wpcf7-spinner {position: absolute; left: 10px; top: 10px;}
/* ==========================================================================
   Pagina "Prețuri": componenta preturi dantura fixa (taburi + carduri) + acordeon
   ========================================================================== */

/* Sectiune componenta "Prețuri pentru dantura fixă" */
.dc-pricing { background: #fff; }
.dc-pricing__inner { max-width: 1470px; margin: 0 auto; padding: 68px 15px var(--section-spacing, 110px); }
.dc-pricing .dc-section-head { margin-bottom: 32px; }
.dc-pricing__note { text-align: center; font-size: 13px; color: #57635d; margin: 28px auto 0; max-width: 80%; }
.dc-pricing__group { margin-bottom: 30px; }
.dc-pricing__group:last-of-type { margin-bottom: 0; }

.page-template-dantura-fixa .dc-pricing__inner {padding: var(--section-spacing, 110px) 15px;}
/* Maximum 3 carduri pe rand, oricate pachete ar fi in lista; sub 3 coloane
   incape, auto-fit coboara singur la 2 si apoi la 1. */
.dc-pricing__panel { display: grid; grid-template-columns: repeat(auto-fit, minmax(max(280px, (100% - 44px) / 3), 1fr)); gap: 22px; align-items: stretch; }

/* Card de plan (varianta --popular = fundal inchis, evidentiat) */
.dc-plan { position: relative; display: flex; flex-direction: column; background: #fff; border: 1.5px solid rgba(20, 32, 28, .12); border-radius: calc(var(--radius, 16px) + 4px); padding: 32px 28px; box-shadow: 0 18px 40px -26px rgba(20, 32, 28, .28); }
.dc-plan--popular { background: #14201C; border-color: var(--accent, #0E6B5E); box-shadow: 0 30px 60px -30px rgba(20, 32, 28, .55); }
.dc-plan__badge { position: absolute; top: -13px; left: 50%; transform: translateX(-50%); background: var(--accent, #0E6B5E); color: #fff; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: 6px 14px; border-radius: 999px; white-space: nowrap; }
.dc-plan__tier { font-size: 13px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--accent, #0E6B5E); margin-bottom: 10px; }
.dc-plan__name { font-family: var(--hfont, 'Newsreader', Georgia, serif); font-size: 28px; font-weight: 600; letter-spacing: -.01em; color: var(--text, #14201C); margin-bottom: 16px; line-height: 1.15; }
.dc-plan--popular .dc-plan__name { color: #fff; }
.dc-plan__price { display: flex; align-items: flex-end; gap: 6px; margin-bottom: 6px; }
.dc-plan__price-val { font-family: var(--hfont, 'Newsreader', Georgia, serif); font-size: 50px; font-weight: 600; letter-spacing: -.02em; color: var(--text, #14201C); line-height: 1; }
.dc-plan__price-cur { font-size: 17px; font-weight: 600; color: var(--text, #14201C); margin-bottom: 7px; }
.dc-plan--popular .dc-plan__price-val, .dc-plan--popular .dc-plan__price-cur { color: #fff; }
.dc-plan__per { font-size: 13px; color: #57635d; margin-bottom: 24px; }
.dc-plan--popular .dc-plan__per { color: rgba(255, 255, 255, .6); }
.dc-plan__features { display: flex; flex-direction: column; gap: 12px; margin-bottom: 28px; flex: 1; }
.dc-plan__feature { display: flex; align-items: flex-start; gap: 10px; font-size: 18px; line-height: 1.5; color: #57635d; }
.dc-plan--popular .dc-plan__feature { color: rgba(255, 255, 255, .86); }
.dc-plan__check { width: 20px; height: 20px; border-radius: 50%; background: color-mix(in srgb, var(--accent, #0E6B5E) 12%, #fff); color: var(--accent, #0E6B5E); display: flex; align-items: center; justify-content: center; flex: none; margin-top: 4px; }
.dc-plan--popular .dc-plan__check { background: color-mix(in srgb, var(--accent, #0E6B5E) 85%, #fff); color: #fff; }
.dc-plan__btn { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; padding: 14px; border-radius: calc(var(--radius, 16px) - 4px); font-size: 18px; font-weight: 600; text-decoration: none; cursor: pointer; background: var(--btn-primary-bg, var(--accent, #0E6B5E)); color: #fff; border: 1px solid var(--accent, #0E6B5E); transition: filter .2s, transform .2s; }
.dc-plan__btn:hover { filter: brightness(1.06); transform: translateY(-2px); }
.dc-plan--popular .dc-plan__btn { background: #fff; color: var(--accent, #0E6B5E); border-color: #fff; }

/* Sectiune: "Prețul pentru restul serviciilor" - acordeon
   (starile .is-open ale .dc-acc-* sunt in fundatie) */
.dc-preturi-services { background: #F6F3EC; }
.dc-preturi-services__inner { max-width: 1100px; margin: 0 auto; padding: var(--section-spacing, 110px) 15px; }
.dc-accordion { display: flex; flex-direction: column; gap: 14px; --dc-acc-bg: #ffffff;
    --dc-acc-active-bg: #f1f1f1;
    --dc-acc-body-bg: #ffffff; }
/* Culorile acordeonului vin din campurile paginii, prin variabilele puse pe
   containerul listei (vezi dantura-faq.php / service-faq.php). Necompletate,
   raman culorile din design. */
.dc-acc-item { background: var(--dc-acc-bg, #fff); border: 1px solid rgba(20, 32, 28, .1); border-radius: calc(var(--radius, 16px) + 2px); overflow: hidden; box-shadow: 0 14px 36px -28px rgba(20, 32, 28, .3); }
.dc-acc-head { width: 100%; display: flex; align-items: center; gap: 16px; padding: 22px 26px; background: var(--dc-acc-bg, #fff); border: none; cursor: pointer; text-align: left; transition: background .2s; font-family: inherit; }
.dc-acc-head:hover { background: color-mix(in srgb, var(--accent, #0E6B5E) 5%, #fff); }
.dc-acc-head__icon { width: 50px; height: 50px; border-radius: 12px; background: color-mix(in srgb, var(--accent, #0E6B5E) 10%, #fff); color: var(--accent, #0E6B5E); display: flex; align-items: center; justify-content: center; flex: none; }
.dc-acc-head__text { flex: 1; min-width: 0; }
.dc-acc-head__name { display: block; font-family: var(--hfont, 'Newsreader', Georgia, serif); font-size: 20px; font-weight: 600; color: var(--text, #14201C); letter-spacing: -.01em; }
.dc-acc-head__count { display: block; font-size: 16px; color: #57635d; margin-top: 5px; }
.dc-acc-chev { flex: none; color: #57635d; display: flex; }
.dc-acc-body { padding: 2px 26px 14px; background: var(--dc-acc-body-bg, transparent); }
.dc-acc-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 13px 0; border-top: 1px solid rgba(20, 32, 28, .07); }
.dc-acc-row__name { font-size: 16px; line-height: 1.4; color: #3a463f; }
.dc-acc-row__price { font-family: var(--hfont, 'Newsreader', Georgia, serif); font-size: 18px; font-weight: 600; color: var(--accent, #0E6B5E); white-space: nowrap; flex: none; }
.dc-acc-row:nth-child(1) {border-top:0;}
/* ==========================================================================
   Pagina "Testimoniale": playlist, comentarii Facebook, recenzii
   ========================================================================== */

.dc-testim-playlist { background: #fff; }
.dc-testim-playlist--alt { background: #F6F3EC; }
.dc-testim-playlist__inner { max-width: 1470px; margin: 0 auto; padding: var(--section-spacing, 110px) 15px var(--section-spacing, 110px); }
.dc-testim-influencers { background: #F6F3EC; }
.dc-testim-influencers__inner { max-width: 1470px; margin: 0 auto; padding: 80px 15px 0; }
.dc-df-checkpoints .dc-shell {padding: var(--section-spacing, 110px) 15px var(--section-spacing, 110px);}
/* Playlist video (stage + lista) - partajat cu homepage */
.dc-playlist-split { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 24px; align-items: start; }
.dc-playlist__stage { position: relative; border-radius: var(--radius, 16px); overflow: hidden; background: var(--accent, #0E6B5E); box-shadow: 0 22px 46px -24px rgba(20, 32, 28, .4); }
.dc-playlist__poster { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.dc-playlist__stage--fixed { height: 520px; }
.dc-playlist__stage--ratio { aspect-ratio: 16/9; }
@media (max-width: 960px) { .dc-playlist__stage--fixed { height: 360px; } }
.dc-playlist__overlay { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; cursor: pointer; background: transparent; display: flex; align-items: center; justify-content: center; padding: 0; }
.dc-playlist__overlay:hover { background: rgba(0, 0, 0, .12); }
.dc-playlist__scrim { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(9, 16, 14, .05), rgba(9, 16, 14, .6)); }
.dc-playlist__playbtn { position: relative; width: 72px; height: 72px; border-radius: 50%; background: rgba(255, 255, 255, .94); display: flex; align-items: center; justify-content: center; box-shadow: 0 10px 26px -8px rgba(0, 0, 0, .5); transition: transform .2s, opacity .25s; }
.dc-playlist__overlay:hover .dc-playlist__playbtn { transform: scale(1.08); }
.dc-playlist__meta { position: absolute; left: 22px; bottom: 20px; text-align: left; }
.dc-playlist__name { display: block; font-size: 19px; font-weight: 600; color: #fff; }
.dc-playlist-list { display: flex; flex-direction: column; gap: 10px; padding-right: 8px; max-height: 520px; }
.dc-playlist-list--sm { max-height: 490px; }
.dc-playlist__item { display: flex; align-items: center; gap: 14px; text-align: left; padding: 10px; background: #fff; border: 1px solid rgba(20, 32, 28, .1); border-radius: calc(var(--radius, 16px) - 4px); cursor: pointer; transition: transform .2s, border-color .2s, background .2s; font-family: inherit; }
.dc-playlist__item:hover { transform: translateX(3px); border-color: color-mix(in srgb, var(--accent, #0E6B5E) 45%, transparent); }
.dc-playlist__item.is-active { background: color-mix(in srgb, var(--accent, #0E6B5E) 8%, #fff); border-color: color-mix(in srgb, var(--accent, #0E6B5E) 40%, transparent); }
.dc-playlist__thumb { position: relative; flex: none; width: 96px; aspect-ratio: 16/9; border-radius: 9px; overflow: hidden; background: var(--accent, #0E6B5E); display: flex; align-items: center; justify-content: center; }
.dc-playlist__thumb-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.dc-playlist__thumb-btn { position: relative; width: 28px; height: 28px; border-radius: 50%; background: rgba(255, 255, 255, .92); display: flex; align-items: center; justify-content: center; }
.dc-playlist__thumb-btn svg { margin-left: 2px; }
.dc-playlist__item-text { min-width: 0; }
.dc-playlist__item-name { display: block; font-size: 15px; font-weight: 600; color: var(--text, #14201C); letter-spacing: -.01em; }

/* Comentarii Facebook (timeline .fb-tl + scroll .pl-scroll din fundatie) */
.dc-testim-fb { background: #fff; }
.dc-testim-fb__inner { max-width: 1470px; margin: 0 auto; padding: var(--section-spacing, 110px) 15px; }
.dc-fb-scroll { max-height: 700px; overflow-y: auto; padding: 8px 18px 8px 4px; }
.dc-fb-col { position: relative; }
.dc-fb-line { position: absolute; left: 23px; top: 22px; bottom: 22px; width: 2px; background: color-mix(in srgb, var(--accent, #0E6B5E) 20%, transparent); }
.dc-fb-col__list { display: flex; flex-direction: column; gap: 28px; }
.dc-fb-comment { position: relative; display: flex; gap: 18px; align-items: flex-start; }
.dc-fb-avatar { position: relative; flex: none; width: 48px; height: 48px; border-radius: 50%; background: color-mix(in srgb, var(--accent, #0E6B5E) 12%, #fff); color: var(--accent, #0E6B5E); display: flex; align-items: center; justify-content: center; font-weight: 600; font-size: 17px; box-shadow: 0 0 0 4px #fff, 0 0 0 5px color-mix(in srgb, var(--accent, #0E6B5E) 25%, transparent); }
.dc-fb-avatar__badge { position: absolute; right: -3px; bottom: -3px; width: 20px; height: 20px; border-radius: 50%; background: #1877F2; border: 2px solid #fff; display: flex; align-items: center; justify-content: center; }
.dc-fb-bubble { position: relative; flex: 1; min-width: 0; background: #fff; border: 1px solid rgba(20, 32, 28, .1); border-radius: 16px; border-top-left-radius: 4px; padding: 18px 20px; box-shadow: 0 12px 30px -22px rgba(20, 32, 28, .4); }
.dc-fb-bubble__tail { position: absolute; left: -7px; top: 16px; width: 13px; height: 13px; background: #fff; border-left: 1px solid rgba(20, 32, 28, .1); border-bottom: 1px solid rgba(20, 32, 28, .1); transform: rotate(45deg); }
.dc-fb-bubble__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 6px; }
.dc-fb-bubble__name { font-size: 15px; font-weight: 600; color: var(--text, #14201C); }
.dc-fb-verified { display: inline-flex; align-items: center; gap: 4px; font-size: 11px; font-weight: 600; color: var(--accent, #0E6B5E); background: color-mix(in srgb, var(--accent, #0E6B5E) 10%, #fff); padding: 3px 8px; border-radius: 999px; flex: none; }
.dc-fb-stars { color: #F5A623; font-size: 13px; letter-spacing: 1px; }
.dc-fb-bubble__row { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; }
.dc-fb-bubble__text { font-size: 16px; line-height: 1.6; color: #3a463f; margin: 0; }

/* Recenzii Google/Facebook (partajat cu homepage) */
.dc-reviews { background: #F6F3EC; }
.dc-reviews__inner { max-width: 1470px; margin: 0 auto; padding: var(--section-spacing, 110px) 15px; }
.dc-reviews__head { text-align: center; max-width: 1024px; margin: 0 auto 36px; }
.dc-reviews__title { font-family: var(--hfont, 'Newsreader', Georgia, serif); font-weight: 500; font-size: clamp(28px, 3.4vw, 46px); line-height: 1.08; letter-spacing: -.02em; margin: 0 0 16px; }
.dc-reviews__rating { display: inline-flex; align-items: center; gap: 9px; font-size: 16px; line-height: 1.6; color: #57635d; flex-wrap: wrap; justify-content: center; }
.dc-reviews__rating-score { font-size: 20px; font-weight: 700; color: var(--text, #14201C); }
/* Stelele din antet sunt de doua ori mai mari decat cele din carduri. */
.dc-reviews__rating-stars { display: inline-flex;}
.dc-reviews__rating-stars .dc-review__star { width: 30px; height: 30px; margin: 0 -3px;}

/* Slider: un slide = 6 recenzii, 3 pe rand x 2 randuri. */
.dc-reviews__slide { flex: 0 0 100%; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; align-content: start; }
@media (max-width: 1000px) {
	.dc-reviews__slide { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
	.dc-reviews__slide { grid-template-columns: 1fr; }
}
/* Cardul de recenzie imita cat mai fidel cardul nativ Google: font de sistem,
   avatar colorat cu initiala, nume + vechime, stele #FBBC04 si logo-ul sursei. */
.dc-review { background: #fff; border: 1px solid #dadce0; border-radius: 8px; padding: 20px; display: flex; flex-direction: column; gap: 12px; font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif; transition: box-shadow .2s; }
.dc-review:hover { box-shadow: 0 1px 3px rgba(60, 64, 67, .3), 0 4px 8px 3px rgba(60, 64, 67, .15); }
.dc-review__head { display: flex; align-items: center; gap: 12px; }
.dc-review__avatar { width: 40px; height: 40px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 500; font-size: 18px; color: #fff; flex: none; }
.dc-review__avatar--a { background: #1a73e8; }
.dc-review__avatar--b { background: #d93025; }
.dc-review__avatar--c { background: #188038; }
.dc-review__avatar--d { background: #e37400; }
.dc-review__avatar--e { background: #9334e6; }
.dc-review__avatar--f { background: #12b5cb; }
.dc-servicii .dc-shell {padding-top: 68px;}
.dc-review__id { min-width: 0; flex: 1; }
.dc-review__name { font-size: 16px; font-weight: 500; color: #202124; line-height: 1.3; }
.dc-review__time { font-size: 12px; color: #70757a; margin-top: 2px; }
.dc-review__logo { flex: none; display: flex; align-items: center; }
.dc-review__stars { display: flex; gap: 1px; }
.dc-review__star { display: block; width: 20px; height: 20px; flex: none; margin: 0 -2px }
/* Inaltime fixa, ca toate cardurile din slider sa fie egale; textul mai lung
   se deruleaza. Bara de scroll e stilata mai jos, impreuna cu .pl-scroll.
   padding-right lasa loc barei, ca sa nu treaca peste text. */
.dc-review__text { height: 99px; font-size: 16px; line-height: 1.58; color: #3c4043; margin: 0; padding-right: 10px; overscroll-behavior: contain; }

/* ==========================================================================
   Homepage - utilitare comune + sectiuni
   ========================================================================== */

/* Container comun (max 1470, padding var(--section-spacing) vertical) + placeholder imagine */
.dc-shell { max-width: 1470px; margin: 0 auto; padding: var(--section-spacing, 110px) 15px; }
.dc-adv .dc-shell {padding: var(--section-spacing, 110px) 15px var(--section-spacing, 110px)}
.dc-ph { background: linear-gradient(150deg, #e7e1d3, #d6e2db); display: flex; align-items: center; justify-content: center; color: #9aa39c; }
.dc-accent { color: var(--accent, #0E6B5E); font-weight: 600; }

/* Sectiune: Acreditari */
.dc-accred__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 18px; }
.dc-accred-card { background: #fff; border: 1px solid rgba(20, 32, 28, .1); border-radius: var(--radius, 16px); padding: 26px 24px; display: flex; flex-direction: column; gap: 16px; transition: transform .25s cubic-bezier(.16, .8, .24, 1), box-shadow .25s, border-color .25s; }
.dc-accred-card:hover { transform: translateY(-5px); box-shadow: 0 22px 44px -22px rgba(20, 32, 28, .3); border-color: color-mix(in srgb, var(--accent, #0E6B5E) 35%, transparent); }
/* Card cu link (campul "Link" din ACF): arata ca celelalte, doar ca e clicabil. */
a.dc-accred-card { color: inherit; text-decoration: none; }
a.dc-accred-card:focus-visible { outline: 2px solid var(--accent, #0E6B5E); outline-offset: 3px; }
.dc-accred-card__icon { width: 56px; height: 56px; border-radius: 14px; background: color-mix(in srgb, var(--accent, #0E6B5E) 9%, #fff); border: 1px solid color-mix(in srgb, var(--accent, #0E6B5E) 18%, transparent); display: flex; align-items: center; justify-content: center; color: var(--accent, #0E6B5E); }
.dc-accred-card__tag { font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--accent, #0E6B5E); }
.dc-accred-card__name { font-size: 18px; font-weight: 600; color: var(--text, #14201C); letter-spacing: -.01em; margin-bottom: 7px; }
.dc-accred-card__desc { font-size: 16px; line-height: 1.55; color: #6b756f; }

/* Sectiune: Abordare multidisciplinara (carduri feature) */
.dc-approach { background: #fff; }
.dc-approach .dc-section-head__title { font-size: clamp(28px, 3.3vw, 44px); line-height: 1.1; letter-spacing: -.02em; }
.dc-approach__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(270px, 1fr)); gap: 20px; }
.dc-feature { border: 1px solid rgba(20, 32, 28, .1); border-radius: var(--radius, 16px); padding: 30px 26px; display: flex; flex-direction: column; gap: 16px; transition: transform .25s cubic-bezier(.16, .8, .24, 1), box-shadow .25s; }
.dc-feature:hover { transform: translateY(-5px); box-shadow: 0 22px 44px -22px rgba(20, 32, 28, .26); }
.dc-feature__icon { width: 52px; height: 52px; border-radius: 5px; background: color-mix(in srgb, var(--accent, #0E6B5E) 10%, #fff); display: flex; align-items: center; justify-content: center; color: var(--accent, #0E6B5E); flex: none; }
.dc-feature__title { font-size: 20px; font-weight: 600; color: var(--text, #14201C); letter-spacing: -.01em; line-height: 1.3; }
.dc-feature__desc { font-size: 18px; line-height: 1.5; color: #6b756f; }

/* Sectiune: "De ce să alegeți" */
.dc-why { background: #fff; }
.dc-why__inner { max-width: 1470px; margin: 0 auto; padding: 0px 15px var(--section-spacing, 110px); }
.dc-why__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 20px; }
.dc-why-card { background: #fff; border: 1px solid rgba(20, 32, 28, .1); border-radius: var(--radius, 16px); overflow: hidden; display: flex; flex-direction: column; transition: transform .25s cubic-bezier(.16, .8, .24, 1), box-shadow .25s; }
.dc-why-card:hover { transform: translateY(-5px); box-shadow: 0 22px 44px -22px rgba(20, 32, 28, .3); }
.dc-why-card__media { aspect-ratio: 4/3; }
.dc-why-card__body { padding: 24px; display: flex; flex-direction: column; gap: 10px; }
.dc-why-card__tag { font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--accent, #0E6B5E); }
.dc-why-card__desc { font-size: 14.5px; line-height: 1.6; color: #6b756f; }

/* ---- Medicul ca mentor (Spinu Learning) - fotografie + text, pe homepage ---- */
.dc-mentor { background: #fff; color: var(--text, #14201C); }
.dc-mentor__inner { max-width: 1470px; margin: 0 auto; padding: 0 15px var(--section-spacing, 110px); }
.dc-mentor__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(32px, 5vw, 72px); align-items: stretch; }
/* Fotografia ia inaltimea coloanei cu text: imaginea e absoluta, deci randul il da textul. */
.dc-mentor__media { position: relative; min-height: 420px; border-radius: calc(var(--radius, 16px) + 8px); overflow: hidden; background: #F6F3EC; }
.dc-mentor__media .dc-mentor__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 15%; }
@media (max-width: 960px) {
	.dc-mentor__grid { grid-template-columns: 1fr; }
	.dc-mentor__media { min-height: 0; aspect-ratio: 1 / 1.03; }
}
.dc-mentor__badge { position: absolute; left: 18px; bottom: 18px; padding: 9px 16px; border-radius: 999px; background: rgba(20, 32, 28, .82); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); color: #fff; font-size: 13px; font-weight: 600; letter-spacing: .02em; }
.dc-mentor__text { display: flex; flex-direction: column; }
.dc-mentor__eyebrow { display: inline-flex; align-items: center; gap: 11px; font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--accent, #0E6B5E); margin-bottom: 20px; }
.dc-mentor__eyebrow-line { width: 26px; height: 1.5px; background: var(--accent, #0E6B5E); display: inline-block; flex: none; }
.dc-mentor__title { font-family: var(--hfont, 'Newsreader', Georgia, serif); font-weight: 500; font-size: clamp(28px, 3.2vw, 44px); line-height: 1.1; letter-spacing: -.02em; margin: 0 0 22px; }
.dc-mentor__body { display: flex; flex-direction: column; gap: 15px; font-size: 17px; line-height: 1.66; color: #57635d; }
.dc-mentor__body p { margin: 0; }
.dc-mentor__list { list-style: none; margin: 26px 0 0; padding: 0; display: grid; gap: 12px; }
.dc-mentor__list li { display: flex; align-items: flex-start; gap: 12px; font-size: 16px; line-height: 1.5; color: var(--text, #14201C); }
.dc-mentor__check { flex: none; width: 22px; height: 22px; margin-top: 1px; border-radius: 50%; background: var(--accent, #0E6B5E); color: #fff; display: flex; align-items: center; justify-content: center; }
.dc-mentor__quote { margin: 30px 0 0; padding: 4px 0 4px 22px; border-left: 3px solid var(--accent, #0E6B5E); }
.dc-mentor__quote p { margin: 0; font-family: var(--hfont, 'Newsreader', Georgia, serif); font-style: italic; font-size: clamp(19px, 1.7vw, 23px); line-height: 1.45; color: var(--text, #14201C); }
.dc-mentor__quote cite { display: block; margin-top: 10px; font-style: normal; font-size: 14px; font-weight: 600; color: #57635d; }
.dc-mentor__btn { margin-top: 30px; align-self: flex-start; }

/* Emfaza italic accent + grila 2 coloane (responsive in fundatie) */
.dc-em { font-style: italic; color: var(--accent, #0E6B5E); }
.dc-grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }

/* Sectiune: Proteza mobila vs. dantura fixa */
.dc-comparison { background: #fff; }
.dc-comparison .dc-section-head__title { font-size: clamp(28px, 3.4vw, 46px); line-height: 1.08; letter-spacing: -.025em; }
.dc-compare-imgs { margin-bottom: 24px; }
.dc-compare-img { aspect-ratio: 16/9; border-radius: var(--radius, 16px); overflow: hidden; border: 1px solid rgba(20, 32, 28, .1); flex-direction: column; gap: 10px; }
.dc-compare-img__label { font-size: 11.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.dc-compare__panels { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 24px; }
.dc-compare-panel { border: 1px solid rgba(20, 32, 28, .1); border-radius: var(--radius, 16px); padding: 32px 28px; }
.dc-compare-panel--cons { background: var(--dc-compare-cons-bg, #faf7f0); }
.dc-compare-panel--pros { background: var(--dc-compare-pros-bg, #14201C); color: #fff; }
.dc-compare-panel__title { font-family: var(--hfont, 'Newsreader', Georgia, serif); font-size: 22px; font-weight: 600; letter-spacing: -.01em; margin-bottom: 20px; color: var(--text, #14201C); }
.dc-compare-panel--pros .dc-compare-panel__title { color: #fff; }
.dc-compare-list { display: flex; flex-direction: column; gap: 15px; }
.dc-compare-item { display: flex; align-items: flex-start; gap: 12px; font-size: 15px; line-height: 1.5; color: #57635d; }
.dc-compare-panel--pros .dc-compare-item { color: rgba(255, 255, 255, .86); }
.dc-compare-item__mark { width: 24px; height: 24px; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex: none; margin-top: 1px; }
.dc-compare-item__mark--x { background: #f6e2df; color: #c0503f; }
.dc-compare-item__mark--check { background: color-mix(in srgb, var(--accent, #0E6B5E) 85%, #fff); color: #fff; }

/* Sectiune: Sisteme de implanturi */
.dc-implants { background: #fff; }
.dc-implants__inner { max-width: 1470px; margin: 0 auto; padding: 110px 15px; }
.dc-implants .dc-section-head__title { font-size: clamp(28px, 3.4vw, 46px); line-height: 1.08; }
.dc-implants__intro { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 36px; align-items: start; margin-bottom: 36px; }
.dc-implants__lead { font-size: 16px; line-height: 1.6; font-weight: 600; color: var(--text, #14201C); margin: 0; }
.dc-implants__para { font-size: 15px; line-height: 1.7; color: #57635d; margin: 0; }
.dc-implants__checks { display: flex; flex-direction: column; gap: 13px; }
.dc-implants__check { display: flex; align-items: flex-start; gap: 11px; font-size: 15px; line-height: 1.45; color: var(--text, #14201C); }
.dc-implants__check-icon { color: var(--accent, #0E6B5E); flex: none; margin-top: 2px; }
.dc-implants__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 20px; }
.dc-implant-card { background: var(--dc-implant-bg, #faf7f0); border: 1px solid rgba(20, 32, 28, .1); border-radius: var(--radius, 16px); padding: 24px 22px 26px; display: flex; flex-direction: column; align-items: center; text-align: center; transition: box-shadow .25s, transform .25s; }
.dc-implant-card:hover { box-shadow: 0 18px 40px -22px rgba(20, 32, 28, .35); transform: translateY(-4px); }
.dc-implant-card__img { width: 100%; aspect-ratio: 4/3; border-radius: calc(var(--radius, 16px) - 4px); background: repeating-linear-gradient(135deg, #eae4d6, #eae4d6 8px, #e2ddce 8px, #e2ddce 16px); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; color: #9aa39c; margin-bottom: 18px; }
.dc-implant-card__label { font-family: ui-monospace, monospace; font-size: 9.5px; letter-spacing: .05em; }
.dc-implant-card__name { font-family: var(--hfont, 'Newsreader', Georgia, serif); font-size: 22px; font-weight: 600; letter-spacing: -.01em; color: var(--text, #14201C); margin-bottom: 8px; }
.dc-implant-card__desc { font-size: 15px; line-height: 1.55; color: #57635d; margin: 0px; flex: 1; }
/* Toate casetele de imagine au aceeasi inaltime (240px), pe orice ecran; imaginea o
   umple, indiferent de proportiile fisierului incarcat. */
.dc-implant-card__img { position: relative; height: 240px; aspect-ratio: auto; overflow: hidden; }
.dc-implant-card__img .dc-media-img { position: absolute; inset: 0; }
.dc-df-after .dc-shell, .dc-prosthetics .dc-shell {padding-top: 0;}
/* Banda inchisa cu gradient + dungi (fundal reutilizabil pentru CTA/formular) */
.dc-darkband { position: relative; overflow: hidden; background: #14201C; color: #fff; --dc-band-bg: #1e1e1e; }
/* Fundalul benzii inchise. Implicit = gradientul din design; componentele pot
   trimite alta valoare prin variabila --dc-band-bg (imagine, culoare simpla sau
   alt gradient) - vezi demo_site_background() in inc/acf-render.php. */
.dc-darkband__grad { position: absolute; inset: 0; background: var(--dc-band-bg, linear-gradient(150deg, #1c3b34, #14201C 55%, #0d2b25)); background-size: cover; background-position: center; background-repeat: no-repeat; }
/* Peste o imagine de fundal punem un strat intunecat, ca textul alb sa ramana lizibil. */
.dc-darkband--photo .dc-darkband__grad::after { content: ''; position: absolute; inset: 0; background: var(--dc-band-scrim, transparent); }
.dc-darkband .dc-section-head__title { color: #fff; }
.dc-darkband .dc-section-head__text { color: rgba(255, 255, 255, .68); }

.dc-df-donts__inner { position: relative; z-index: 2; }
.dc-df-donts__list { display: flex; flex-direction: column; gap: 14px; max-width: 900px; margin: 0 auto; }
.dc-df-donts__row { display: flex; align-items: center; gap: 16px; background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .14); border-radius: var(--radius, 16px); padding: 20px 26px; }
.dc-df-donts__icon { flex: none; width: 32px; height: 32px; border-radius: 50%; background: #c0503f; color: #fff; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 12px -4px rgba(192, 80, 63, .7); }
.dc-df-donts__text { font-size: 18px; font-weight: 500; color: rgba(255, 255, 255, .9); }
.dc-df-donts__body { display: flex; flex-direction: column; gap: 4px; }
.dc-df-donts__desc { font-size: 15px; line-height: 1.5; color: rgba(255, 255, 255, .62); }
@media (max-width: 640px) { .dc-df-donts__row { padding: 16px 20px; gap: 12px; } }

/* Butoane CTA reutilizabile */
.dc-cta-actions { display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; margin-top: 8px; }
.dc-cta-btn { display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 16px 28px; border: 1px solid transparent; border-radius: calc(var(--radius, 16px) - 3px); font-size: 18px; line-height: 1.2; font-weight: 600; text-decoration: none; cursor: pointer; transition: transform .2s, box-shadow .2s, background .2s; }
.dc-cta-btn--wa { background: var(--wa-color, #25D366); color: white; font-weight: 700; gap: 10px; padding: 14px 28px; }
.dc-cta-btn--wa:hover { transform: translateY(-2px); box-shadow: 0 16px 32px -12px rgba(37, 211, 102, .5); }
.dc-cta-btn--accent { background: var(--btn-primary-bg, var(--accent, #0E6B5E)); color: #fff; }
.dc-cta-btn--accent:hover { transform: translateY(-2px); box-shadow: 0 16px 32px -12px color-mix(in srgb, var(--accent, #0E6B5E) 70%, transparent); }
.dc-cta-btn--white { background: #fff; color: var(--accent, #0E6B5E); font-weight: 700; padding: 16px 30px; }
.dc-cta-btn--white:hover { transform: translateY(-2px); box-shadow: 0 16px 32px -12px rgba(0, 0, 0, .35); }
.dc-cta-btn--ghost { background: transparent; color: #fff; border: 1px solid rgba(255, 255, 255, .5); gap: 10px; }
.dc-cta-btn--ghost:hover { background: rgba(255, 255, 255, .14); }

/* ==========================================================================
   Pagina 404 + formularul de cautare
   ========================================================================== */
.dc-404 { background: linear-gradient(180deg, #F6F3EC 0%, #FFFFFF 62%); }
.dc-404__inner { max-width: 780px; margin: 0 auto; padding: clamp(64px, 11vh, 120px) 15px clamp(72px, 12vh, 130px); padding-top: 70px;display: flex; flex-direction: column; align-items: center; text-align: center; }
.dc-404__code { font-family: var(--hfont, 'Newsreader', Georgia, serif); font-weight: 500; font-size: clamp(88px, 20vw, 180px); line-height: .9; letter-spacing: -.04em; color: #ffab55; margin-bottom: clamp(4px, 1vh, 12px); }
.dc-404__title { font-family: var(--hfont, 'Newsreader', Georgia, serif); font-weight: 500; font-size: clamp(30px, 5vw, 46px); line-height: 1.08; letter-spacing: -.025em; color: var(--text, #14201C); margin: 0 0 14px; }
.dc-404__text { font-size: 17px; line-height: 1.65; color: #57635d; margin: 0 0 30px; max-width: 52ch; }
.dc-404 .dc-search { width: 100%; max-width: 480px; margin-bottom: 30px; }
.dc-404__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.dc-404__btn-outline { background: #fff; color: var(--text, #14201C); border-color: rgba(20, 32, 28, .16); }
.dc-404__btn-outline:hover { border-color: var(--accent, #0E6B5E); color: var(--accent, #0E6B5E); transform: translateY(-2px); }
.dc-404__links { margin-top: clamp(34px, 6vh, 54px); padding-top: clamp(24px, 4vh, 34px); border-top: 1px solid rgba(20, 32, 28, .1); width: 100%; }
.dc-404__links-label { display: block; font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: #8a938d; margin-bottom: 14px; }
.dc-404__links-list { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 26px; }
.dc-404__link { font-size: 16.5px; font-weight: 500; color: var(--text, #14201C); text-decoration: none; border-bottom: 1px solid transparent; transition: color .2s, border-color .2s; }
.dc-404__link:hover { color: var(--accent, #0E6B5E); border-bottom-color: currentColor; }

/* Formularul de cautare (searchform.php), folosit si pe pagina de rezultate. */
.dc-search { position: relative; display: flex; align-items: center; gap: 8px; background: #fff; border: 1px solid rgba(20, 32, 28, .14); border-radius: 999px; padding: 6px 6px 6px 18px; transition: border-color .2s, box-shadow .2s; }
.dc-search:focus-within { border-color: var(--accent, #0E6B5E); box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent, #0E6B5E) 12%, transparent); }
.dc-search__icon { display: flex; flex: none; color: #8a938d; }
.dc-search__input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; font-family: inherit; font-size: 16px; color: var(--text, #14201C); padding: 10px 0; }
.dc-search__input::placeholder { color: #9aa39c; }
.dc-search__submit { flex: none; border: 0; cursor: pointer; background: var(--btn-primary-bg, var(--accent, #0E6B5E)); color: #fff; font-family: inherit; font-size: 15px; font-weight: 600; padding: 12px 22px; border-radius: 999px; transition: transform .2s, box-shadow .2s; }
.dc-search__submit:hover { transform: translateY(-1px); box-shadow: 0 12px 24px -10px color-mix(in srgb, var(--accent, #0E6B5E) 70%, transparent); }

@media (max-width: 560px) {
	/* Campul ramane pe un rand cu lupa; butonul trece dedesubt, pe toata latimea. */
	.dc-search { flex-wrap: wrap; border-radius: var(--radius, 16px); padding: 6px 14px 12px; }
	.dc-search__input { flex: 1 1 0; }
	.dc-search__submit { flex: 1 0 100%; }
	.dc-404__actions .dc-cta-btn { width: 100%; }
}

/* Sectiune: CTA "Primul pas către un zâmbet nou" */
.dc-cta-step__inner { position: relative; z-index: 2; max-width: 1470px; margin: 0 auto; padding: 96px 15px; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 22px; }
.dc-cta-step__title { font-family: var(--hfont, 'Newsreader', Georgia, serif); font-weight: 500; font-size: clamp(30px, 4vw, 54px); line-height: 1.05; letter-spacing: -.025em; margin: 0; color: #fff; max-width: 20ch; }
.dc-cta-step__text { font-size: 17.5px; line-height: 1.6; color: rgba(255, 255, 255, .78); margin: 0; max-width: 58ch; }

/* Sectiune: Banner CTA verde "Redă-ți zâmbetul" */
.dc-cta-banner { background: #fff; }
/* Caseta colorata din banner: implicit culoarea accent a temei, dar se poate
   alege alta din ACF (variabila --dc-box-bg trimisa pe element). */
.dc-cta-banner__box { position: relative; overflow: hidden; background: var(--dc-box-bg, var(--accent, #0E6B5E)); border-radius: 8px; padding: clamp(32px, 4vw, 52px); color: #fff; }
/* 2 coloane: imagine in stanga, continut in dreapta. */
.dc-cta-banner__grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 4vw, 56px); align-items: center; }
.dc-cta-banner__media { aspect-ratio: 5/3; border-radius: 6px; overflow: hidden; }
.dc-cta-banner__media img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 860px) {
	.dc-cta-banner__grid { grid-template-columns: 1fr; }
}
.dc-cta-banner__stripes { position: absolute; inset: 0; opacity: .5; background-image: repeating-linear-gradient(135deg, rgba(255, 255, 255, .06) 0 2px, transparent 2px 22px); }
.dc-cta-banner__content { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; text-align: left; gap: 20px; }
.dc-cta-banner__title { font-family: var(--hfont, 'Newsreader', Georgia, serif); font-weight: 500; font-size: clamp(28px, 3.4vw, 46px); line-height: 1.06; letter-spacing: -.025em; margin: 0; color: #fff; max-width: 22ch; }
.dc-cta-banner__text { font-size: 17px; line-height: 1.6; color: rgba(255, 255, 255, .86); margin: 0; max-width: 56ch; }
.dc-cta-banner__content .dc-cta-actions { justify-content: flex-start; }
.dc-testim-scroller .dc-shell {padding-top: 68px;}
.page-template-dantura-fixa .dc-testim-scroller .dc-shell {padding: var(--section-spacing, 110px) 15px; padding-bottom: 0;}
/* Sectiune: "Aveți întrebări?" (CTA + card formular) */
.dc-ctaform__inner { position: relative; z-index: 2; max-width: 1470px; margin: 0 auto; padding: 80px 15px; }
.dc-ctaform__head { max-width: 1024px; margin: 0 auto 36px; text-align: center; }
.dc-ctaform__title { font-family: var(--hfont, 'Newsreader', Georgia, serif); font-weight: 500; font-size: clamp(30px, 3.6vw, 48px); line-height: 1.08; letter-spacing: -.025em; margin: 0 0 16px; color: #fff; text-wrap: balance; }
.dc-ctaform__text { font-size: 18px; line-height: 1.6; color: rgba(255, 255, 255, .74); margin: 0; }
.dc-ctaform__form { max-width: 1300px; margin: 0 auto; }

/* Formularul din banda CTA: cele 3 campuri (nume / telefon / buton) pe un
   singur rand, a cate 33.3%, cu acceptul centrat dedesubt. Restul formularelor
   (pagina Contact, modal) raman pe verticala - de aceea regulile sunt scoped. */
.dc-ctaform .dc-form-card .wpcf7-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; align-items: end; }
.dc-ctaform .dc-form-card .wpcf7-form > p { margin: 0; }
.dc-ctaform .dc-form-card .hidden-fields-container { display: none; }
.dc-ctaform .dc-form-card .wpcf7-response-output { grid-column: 1 / -1; margin: 0; }
.dc-ctaform .dc-form-card .wpcf7-submit { margin-top: 0; }
.dc-ctaform .dc-form__note { text-align: center; }
@media (max-width: 860px) {
	.dc-ctaform .dc-form-card .wpcf7-form { grid-template-columns: 1fr; }
}
.dc-cta-btn--glass { background: rgba(255, 255, 255, .08); color: #fff; border: 1px solid rgba(255, 255, 255, .34); }
.dc-cta-btn--glass:hover { background: rgba(255, 255, 255, .16); }

/* Sectiune: Hero homepage (fundal video/imagine sau culoare aleasa in ACF) */
.dc-home-hero { position: relative; min-height: min(92vh, 720px); overflow: hidden; background: #14201C; }
.dc-home-hero__grad { position: absolute; inset: 0; background: linear-gradient(120deg, #0d2b25, #14201C 45%, #1c3b34); background-size: 180% 180%; animation: drift 22s ease-in-out infinite; }
/* Fundal ales din ACF: culoare simpla sau gradient, in locul videoului/imaginii. */
.dc-home-hero--color .dc-home-hero__grad { background: var(--dc-home-hero-bg, #14201C); background-size: 180% 180%; }
.dc-home-hero--static .dc-home-hero__grad { background-size: auto; animation: none; }
.dc-home-hero--color .dc-home-hero__scrim { background: var(--dc-home-hero-scrim, transparent); }
.dc-home-hero__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
/* Degradeul de peste video/imagine se poate schimba din tabul "Hero" al paginii
   (grupul "Strat peste video/imagine"); necompletat, ramane cel din design. */
.dc-home-hero__scrim { position: absolute; inset: 0; background: var(--dc-home-hero-scrim-bg, linear-gradient(92deg, rgba(9, 16, 14, .9) 0%, rgba(9, 16, 14, .6) 46%, rgba(9, 16, 14, .28) 100%)); }
.dc-home-hero__inner { position: relative; z-index: 2; min-height: min(92vh, 720px); max-width: 1470px; margin: 0 auto; padding: 104px 15px; display: flex; flex-direction: column; justify-content: center; }
.dc-home-hero__eyebrow { display: inline-flex; align-items: center; gap: 11px; font-size: 12px; font-weight: 600; letter-spacing: .13em; text-transform: uppercase; color: color-mix(in srgb, var(--accent, #0E6B5E) 55%, #fff); margin-bottom: 26px; max-width: 740px; }
.dc-home-hero__eyebrow-line { width: 26px; height: 1.5px; background: color-mix(in srgb, var(--accent, #0E6B5E) 55%, #fff); display: inline-block; flex: none; }
.dc-home-hero__title { font-family: var(--hfont, 'Newsreader', Georgia, serif); font-weight: 500; font-size: var(--fs-display, 66px); line-height: 1.05; letter-spacing: -.025em; margin: 0 0 26px; color: #fff; max-width: 26ch; }
.dc-home-hero__title em { font-style: italic; color: color-mix(in srgb, var(--accent, #0E6B5E) 62%, #fff); }
.dc-home-hero__text { font-size: 18px; line-height: 1.64; color: rgba(255, 255, 255, .78); max-width: 82ch; margin: 0 0 40px; }
.dc-home-hero__text--signed { margin-bottom: 14px; }
.dc-home-hero__signature { font-size: 15px; font-weight: 600; line-height: 1.5; color: color-mix(in srgb, var(--accent, #0E6B5E) 55%, #fff); margin: 0 0 40px; }
.dc-home-hero__actions { display: flex; flex-wrap: wrap; gap: 14px; }
.wpcf7-spinner {position: absolute;left: 42px;bottom: 82px;}
/* Sectiuni: grile video homepage (testimoniale video + apariții media) */
.dc-testimonials { scroll-margin-top: 80px; }
.dc-media { background: #fff; }
.dc-media.video_slider { background: #F6F3EC; }

/* Carusel generic (sageti, dots, track) - stomatologie.js [data-carousel] */
.dc-carousel-viewport { overflow: hidden; }
.dc-carousel-track { display: flex; transition: transform .55s cubic-bezier(.16, .8, .24, 1); }
/* Carusel cu [data-center]: cand toate cardurile incap pe ecran, stau la mijloc. */
[data-carousel].is-centered [data-track] { justify-content: center; }
.dc-carousel-controls { display: flex; align-items: center; justify-content: center; gap: 9px; margin-top: 30px; }
.dc-carousel-arrow { width: 46px; height: 46px; border-radius: 50%; background: #fff; border: 1px solid rgba(20, 32, 28, .18); color: var(--text, #14201C); cursor: pointer; display: inline-flex; align-items: center; justify-content: center; transition: border-color .2s, background .2s; }
.dc-carousel-arrow:hover { border-color: var(--accent, #0E6B5E); background: color-mix(in srgb, var(--accent, #0E6B5E) 6%, #fff); }
.dc-carousel-dots { display: flex; align-items: center; gap: 9px; }
.dc-dot { width: 9px; height: 8px; border-radius: 999px; background: rgba(20, 32, 28, .2); border: none; cursor: pointer; transition: width .35s ease, background .35s ease; padding: 0; }
.dc-dot.is-active { width: 30px; background: var(--accent, #0E6B5E); }

/* Sectiune: "Bine ați venit" (slider + misiune) */
.dc-welcome { background: #F6F3EC; color: var(--text, #14201C); }
.dc-welcome__grid { max-width: 1470px; margin: 0 auto; padding: var(--section-spacing, 110px) 15px; display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 56px; align-items: stretch; }
@media (max-width: 960px) { .dc-welcome__grid { grid-template-columns: 1fr; } }
.dc-welcome__col { display: flex; }
/* Pe doua coloane, caruselul depaseste coloana cu text cu 50px sus si 50px jos:
   randul il da textul, iar marginile negative intind caruselul peste el. */
@media (min-width: 961px) {
	.dc-welcome__col { margin: -20px 0; }
	.dc-welcome__mission { align-self: center; }
}
.dc-welcome__slider { position: relative; width: 100%; min-height: 380px; border-radius: calc(var(--radius, 16px) + 4px); overflow: hidden;}
.dc-welcome__track { display: flex; height: 100%; transition: transform .55s cubic-bezier(.16, .8, .24, 1); }
/* position: relative = reperul pentru imaginea din slide, care e scoasa din flux
   (vezi gruparea .dc-media-img de mai jos). Fara ea, o imagine verticala ar
   dicta inaltimea slide-ului si ar intinde toata coloana. */
.dc-welcome__slide { position: relative; flex: 0 0 100%; height: 100%; flex-direction: column; gap: 10px; }
.dc-welcome__slide-label { font-size: 12.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.dc-welcome__arrow { position: absolute; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; border-radius: 50%; background: rgba(255, 255, 255, .9); border: none; color: var(--text, #14201C); cursor: pointer; display: flex; align-items: center; justify-content: center; box-shadow: 0 8px 20px -8px rgba(0, 0, 0, .4); transition: background .2s; }
.dc-welcome__arrow:hover { background: #fff; }
.dc-welcome__arrow--prev { left: 14px; }
.dc-welcome__arrow--next { right: 14px; }
.dc-welcome__dots { position: absolute; bottom: 14px; left: 50%; transform: translateX(-50%); display: flex; align-items: center; gap: 8px; }
.dc-welcome__eyebrow { display: inline-flex; align-items: center; gap: 11px; font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--accent, #0E6B5E); margin-bottom: 20px; }
.dc-welcome__eyebrow-line { width: 26px; height: 1.5px; background: var(--accent, #0E6B5E); display: inline-block; flex: none; }
.dc-welcome__title { font-family: var(--hfont, 'Newsreader', Georgia, serif); font-weight: 500; font-size: clamp(26px, 3vw, 40px); line-height: 1.12; letter-spacing: -.02em; margin: 0 0 22px; }
.dc-welcome__body { display: flex; flex-direction: column; gap: 15px; font-size: 16px; line-height: 1.66; color: #57635d; }
.dc-welcome__body p { margin: 0; }
.dc-welcome__btn { margin-top: 28px; }
.dc-blog .dc-shell {padding-top: 80px;}

/* Sectiune: Diplome (carusel 4/view) */
.dc-certs { background: #fff; }
.dc-cert-card { aspect-ratio: 3/4; border-radius: var(--radius, 16px); overflow: hidden; border: 1px solid rgba(20, 32, 28, .1); background: linear-gradient(150deg, #f2eee3, #e4ece7); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; color: #9aa39c; }
.dc-cert-card__label { font-size: 11.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
/* Diploma cu imagine e un buton care deschide fereastra mare. */
button.dc-cert-card { padding: 0; margin: 0; font: inherit; cursor: zoom-in; transition: transform .25s cubic-bezier(.16, .8, .24, 1), box-shadow .25s; }
button.dc-cert-card:hover { transform: translateY(-4px); box-shadow: 0 22px 44px -22px rgba(20, 32, 28, .35); }
button.dc-cert-card .dc-media-img { transition: transform .4s; }
button.dc-cert-card:hover .dc-media-img { transform: scale(1.04); }

/* Sectiune: Beneficii (carusel 3/view) */
.dc-benefits { background: #F6F3EC; }
.dc-benefits .dc-carousel-controls { margin-top: 32px; }
.dc-benefit { background: #fff; border: 1px solid rgba(20, 32, 28, .1); border-radius: var(--radius, 16px); overflow: hidden; display: flex; flex-direction: column; transition: transform .25s cubic-bezier(.16, .8, .24, 1), box-shadow .25s; }
.dc-benefit:hover { transform: translateY(-5px); box-shadow: 0 22px 44px -22px rgba(20, 32, 28, .3); }
.dc-benefit__media { position: relative; aspect-ratio: 4/3; }
.dc-benefit__badge { position: absolute; bottom: -20px; left: 22px; width: 44px; height: 44px; border-radius: 12px; background: var(--accent, #0E6B5E); color: #fff; display: flex; align-items: center; justify-content: center; box-shadow: 0 10px 22px -8px color-mix(in srgb, var(--accent, #0E6B5E) 70%, transparent); }
.dc-benefit__body { padding: 32px 24px 26px; display: flex; flex-direction: column; gap: 10px; }
.dc-benefit__tag { font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--accent, #0E6B5E); }
.dc-benefit__desc { font-size: 14.5px; line-height: 1.6; color: #6b756f; }

/* Sectiune: Echipa medicala (carusel 4/view) */
.dc-team .dc-carousel-controls { margin-top: 32px; }
.dc-member { background: #fff; border: 1px solid rgba(20, 32, 28, .09); border-radius: var(--radius, 16px); overflow: hidden; transition: transform .25s cubic-bezier(.16, .8, .24, 1), box-shadow .25s; }
.dc-member:hover { transform: translateY(-5px); box-shadow: 0 24px 46px -24px rgba(20, 32, 28, .34); }
.dc-member__photo { position: relative; height: 330px; background: linear-gradient(160deg, #e7e1d3, #d6e2db); display: flex; align-items: center; justify-content: center; }
/* Portretele se incadreaza spre partea de sus, ca fata sa ramana in cadru. */
.dc-member__photo .dc-media-img { object-position: center 20%; }
.dc-member__mono { font-family: var(--hfont, 'Newsreader', Georgia, serif); font-size: 58px; font-weight: 500; color: rgba(20, 32, 28, .14); letter-spacing: .02em; }
.dc-member__tag { position: absolute; top: 14px; right: 14px; font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; background: rgba(255, 255, 255, .85); color: var(--accent, #0E6B5E); padding: 5px 10px; border-radius: 999px; }
.dc-member__body { padding: 18px 20px 22px; }
.dc-member__name { font-size: 17.5px; font-weight: 600; color: var(--text, #14201C); letter-spacing: -.01em; }
.dc-member__role { font-size: 13.5px; color: var(--accent, #0E6B5E); font-weight: 500; margin-top: 3px; }

/* Sectiune: Servicii (featured "Dantura Fixă" + carusel) */
.dc-services { background: #fff; }
.dc-services .dc-section-head { margin-bottom: 40px; }
.dc-dantura { background: var(--dc-featured-bg, #EFE9DB); color: var(--text, #14201C); border: 1px solid rgba(20, 32, 28, .08); border-radius: 8px; padding: clamp(28px, 4vw, 46px); display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 44px; align-items: center; overflow: hidden; scroll-margin-top: 90px; }
@media (max-width: 720px) { .dc-dantura { grid-template-columns: 1fr; } }
.dc-dantura__badge { display: inline-flex; align-items: center; gap: 8px; padding: 7px 13px; background: color-mix(in srgb, var(--accent, #0E6B5E) 12%, #fff); border: 1px solid color-mix(in srgb, var(--accent, #0E6B5E) 30%, transparent); border-radius: 6px; font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--accent, #0E6B5E); margin-bottom: 20px; }
.dc-dantura__title { font-family: var(--hfont, 'Newsreader', Georgia, serif); font-weight: 500; font-size: clamp(32px, 4vw, 52px); line-height: 1; letter-spacing: -.025em; margin: 0 0 16px; }
.dc-dantura__text { font-size: 18px; line-height: 1.6; color: #57635d; margin: 0 0 24px; max-width: 64ch; }
.dc-dantura__list { display: flex; flex-direction: column; gap: 13px; margin-bottom: 30px; }
.dc-dantura__item { display: flex; gap: 8px; font-size: 16px; color: #3a463f; }
.dc-dantura__check { width: 18px; height: 18px; border-radius: 50%; background: color-mix(in srgb, var(--accent, #0E6B5E) 85%, #fff); display: flex; align-items: center; justify-content: center; flex: none; margin-top: 4px; }
.dc-dantura__btn { display: inline-flex; align-items: center; gap: 9px; padding: 14px 24px; background: var(--accent, #0E6B5E); color: #fff; border-radius: calc(var(--radius, 16px) - 3px); font-size: 18px; font-weight: 600; text-decoration: none; transition: transform .2s, box-shadow .2s; border: 0; margin-top: 0px }
.dc-dantura__btn:hover { transform: translateY(-2px); box-shadow: 0 16px 32px -12px color-mix(in srgb, var(--accent, #0E6B5E) 75%, transparent); }
.dc-dantura__media { aspect-ratio: 4/3; border-radius: calc(var(--radius, 16px) + 2px); overflow: hidden; box-shadow: 0 24px 50px -20px rgba(0, 0, 0, .5); }
.dc-services__carousel { margin-top: 18px; }
.dc-service-card { text-decoration: none; background: #fff; border: 1px solid rgba(20, 32, 28, .1); border-radius: var(--radius, 16px); overflow: hidden; display: flex; flex-direction: column; transition: transform .25s cubic-bezier(.16, .8, .24, 1), box-shadow .25s, border-color .25s; }
.dc-service-card:hover { transform: translateY(-5px); box-shadow: 0 22px 44px -22px rgba(20, 32, 28, .32); border-color: color-mix(in srgb, var(--accent, #0E6B5E) 40%, transparent); }
.dc-service-card__media { position: relative; aspect-ratio: 16/12; }
.dc-service-card__num { position: absolute; top: 12px; left: 12px; font-family: var(--hfont, 'Newsreader', Georgia, serif); font-size: 15px; font-weight: 600; color: #fff; background: rgba(20, 32, 28, .55); width: 34px; height: 34px; border-radius: 9px; display: flex; align-items: center; justify-content: center; -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.dc-service-card__body { padding: 22px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.dc-service-card__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.dc-service-card__name { font-size: 22px; font-weight: 600; color: var(--text, #14201C); letter-spacing: -.01em; }
.dc-service-card__arrow { color: #57635d; font-size: 18px; }
/* Descrierea e taiata la maximum 3 randuri, indiferent de lungimea textului. */
.dc-service-card__desc { font-size: 16px; line-height: 1.5; color: #6b756f; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden; }
/* Dantura fixa - "Reabilitare orala": textul cardului are cel mult 5 randuri, iar
   restul se deruleaza in card. Bara apare doar cand textul nu incape (auto) si are
   stilul barelor de la .pl-scroll (mai jos), deci ramane vizibila si pe macOS. */
.dc-services--full-text .dc-service-card__desc { display: block; -webkit-line-clamp: unset; line-clamp: none; max-height: 7.5em; overflow-y: auto; padding-right: 6px; }
/* Tot aici, imaginea cardului isi pastreaza proportiile (inaltime auto). Fara imagine
   ramane placeholder-ul (.dc-ph), cu raportul din design. */
.dc-services--full-text .dc-service-card__media:not(.dc-ph) { aspect-ratio: auto; }
.dc-services--full-text .dc-service-card__media .dc-media-img { position: static; height: auto; }
.dc-services__controls { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 28px; flex-wrap: wrap; }
.dc-services__nav { display: flex; align-items: center; gap: 9px; }
.dc-services__all { display: inline-flex; align-items: center; gap: 9px; padding: 14px 26px; background: var(--accent, #0E6B5E); color: #fff; border-radius: calc(var(--radius, 16px) - 3px); font-size: 15px; font-weight: 600; text-decoration: none; transition: transform .2s, box-shadow .2s; }
.dc-services__all:hover { transform: translateY(-2px); box-shadow: 0 16px 32px -12px color-mix(in srgb, var(--accent, #0E6B5E) 65%, transparent); }

/* Sectiune: Galerie cazuri (marquee 2 randuri) - randurile pe toata latimea */
.dc-cases { background: #fff; scroll-margin-top: 70px; padding-bottom: var(--section-spacing, 110px); }
.dc-cases__head { max-width: 1470px; margin: 0 auto; padding: var(--section-spacing, 110px) 15px 0; }
.dc-cases__rows { display: flex; flex-direction: column; gap: 14px; }
.mq-track { display: flex; gap: 14px; width: max-content; }
.mq-track--r { animation: marqR 46s linear infinite; }
.mq-track--l { animation: marqL 46s linear infinite; }
.dc-gtile { position: relative; flex: none; width: 340px; aspect-ratio: 4/5; border-radius: var(--radius, 16px); overflow: hidden; border: 1px solid rgba(20, 32, 28, .08); cursor: pointer; padding: 0; background: linear-gradient(150deg, #e7e1d3, #d6e2db); display: flex; align-items: center; justify-content: center; transition: box-shadow .25s; }
.dc-gtile:hover { box-shadow: 0 20px 40px -20px rgba(20, 32, 28, .34); }
.dc-gtile__over { position: absolute; inset: 0; opacity: 0; transition: opacity .25s; display: flex; align-items: center; justify-content: center; }
.dc-gtile:hover .dc-gtile__over { opacity: 1; background: color-mix(in srgb, var(--accent, #0E6B5E) 30%, transparent); }
.dc-gtile__over-btn { width: 44px; height: 44px; border-radius: 50%; background: rgba(255, 255, 255, .92); display: flex; align-items: center; justify-content: center; color: var(--accent, #0E6B5E); }

/* Cases-compare homepage (2 comparatoare) */
.dc-cases-compare__inner { max-width: 1470px; margin: 0 auto; padding: var(--section-spacing, 110px) 15px; }
.dc-cases-compare__more { display: flex; justify-content: center; margin-top: 40px; }

/* Popup general "Programează-te" (nume/telefon) - deschis de orice buton cu
   [data-modal-open], vezi initModals in stomatologie.js. */
.dc-modal { position: fixed; inset: 0; z-index: 210; display: none; align-items: center; justify-content: center; padding: 24px; }
.dc-modal.is-open { display: flex; }
.dc-modal__backdrop { position: absolute; inset: 0; background: rgba(9, 12, 11, .6); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
/* Panoul ferestrei contine acelasi card de formular (.dc-form-card, care aici
   ramane fara fundal propriu vizibil), deci urmeaza aceeasi culoare. */
.dc-modal__panel { position: relative; z-index: 1; width: 100%; max-width: 740px; max-height: 90vh; overflow-y: auto; background: var(--contact-form-bg, #F6F3EC); color: var(--text, #14201C); border-radius: 8px; padding: clamp(28px, 4vw, 40px); box-shadow: 0 40px 90px -30px rgba(0, 0, 0, .6); }
.dc-modal__close { position: absolute; top: 16px; right: 16px; width: 36px; height: 36px; border-radius: 50%; background: rgba(20, 32, 28, .06); border: 0; cursor: pointer; display: flex; align-items: center; justify-content: center; color: var(--text, #14201C); transition: background .2s; }
.dc-modal__close:hover { background: rgba(20, 32, 28, .14); }
.dc-modal__title { font-family: var(--hfont, 'Newsreader', Georgia, serif); font-weight: 500; font-size: 40px; letter-spacing: -.02em; margin: 0 0 20px; padding-right: 30px; }
.dc-modal .dc-form-card { box-shadow: none; padding: 0; }

/* Lightbox galerie (homepage) */
.dc-lightbox { position: fixed; inset: 0; z-index: 200; background: rgba(9, 12, 11, .9); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); display: none; align-items: center; justify-content: center; padding: 32px; }
.dc-lightbox__btn { position: absolute; border-radius: 50%; background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .25); color: #fff; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background .2s; }
.dc-lightbox__btn:hover { background: rgba(255, 255, 255, .2); }
.dc-lightbox__close { top: 22px; right: 24px; width: 48px; height: 48px; }
.dc-lightbox__nav { top: 50%; transform: translateY(-50%); width: 52px; height: 52px; }
.dc-lightbox__nav--prev { left: 24px; }
.dc-lightbox__nav--next { right: 24px; }
.dc-lightbox__stage { position: relative; max-width: min(1000px, 90vw); width: 100%; aspect-ratio: auto; max-height: 80vh; border-radius: calc(var(--radius, 16px) + 4px); overflow: hidden; background: linear-gradient(150deg, #e7e1d3, #d6e2db); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; color: #9aa39c; box-shadow: 0 40px 90px -30px rgba(0, 0, 0, .7); }
.dc-lightbox__caption { font-size: 13px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.dc-lightbox__counter { position: absolute; bottom: 26px; left: 50%; transform: translateX(-50%); font-size: 13.5px; color: rgba(255, 255, 255, .7); font-weight: 500; }

/* Pagina "Servicii" (grid de servicii + avantaje) */
.dc-servicii { background: #fff; }
.dc-servicii .dc-dantura { margin-bottom: 32px; }
/* Pagina Servicii, pe doua coloane: imaginea ia inaltimea coloanei cu text
   (imaginea e absoluta, deci randul il da textul). Pe o coloana ramane proportia. */
@media (min-width: 1024px) {
	.dc-servicii .dc-dantura { align-items: stretch; }
	.dc-servicii .dc-dantura > div:last-child { display: flex; }
	.dc-servicii .dc-dantura__media { flex: 1; aspect-ratio: auto; min-height: 320px; }
}
.dc-servicii__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(400px, 1fr)); gap: 20px; }
.dc-adv { background: #f8f8f8; }
.dc-adv__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.dc-adv .dc-feature { background: #fff; }

/* ==========================================================================
   Pagina "Dantură fixă"
   ========================================================================== */

/* Hero (panou video dreapta + titlu + piloni + CTA) */
.dc-df-hero { position: relative; overflow: hidden; background: #14201C; min-height: min(90vh, 720px); }
.dc-df-hero__grad { position: absolute; inset: 0; background: var(--dc-band-bg, linear-gradient(120deg, #0d2b25, #14201C 45%, #1c3b34)); background-size: 180% 180%; animation: drift 22s ease-in-out infinite; }
/* Cu imagine de fundal oprim miscarea si o incadram, altfel animatia "drift" ar
   plimba fotografia prin cadru; stratul intunecat de deasupra tine textul lizibil. */
.dc-df-hero--photo .dc-df-hero__grad { background-size: cover; background-position: center; background-repeat: no-repeat; animation: none; }
.dc-df-hero--photo .dc-df-hero__grad::after { content: ''; position: absolute; inset: 0; background: var(--dc-band-scrim, transparent); }
.dc-df-hero__video { position: relative; pointer-events: auto; overflow: hidden; border-radius: calc(var(--radius, 16px) + 8px); box-shadow: 0 40px 80px -34px rgba(0, 0, 0, .65); border: 1px solid rgba(255, 255, 255, .12); background: var(--accent, #0E6B5E); min-height: 640px; }
.dc-df-hero__stage { position: absolute; inset: 0; width: 100%; height: 100%; border-radius: 0; box-shadow: none; }
/* Fisier video local sau doar imagine: amandoua umplu coloana la fel. */
.dc-df-hero__mp4,
.dc-df-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
/* La play trec pe "contain", ca sa se vada tot cadrul, si apar comenzile native. */
.dc-df-hero__video.is-playing .dc-df-hero__mp4 { background: #0b1310; }
.dc-df-hero__video.is-playing .dc-playlist__overlay { opacity: 0; pointer-events: none; }
/* Video YouTube (orizontal): panou 16:9, centrat vertical langa text, in loc de coloana inalta. */
.dc-df-hero__video.dc-df-hero__video--yt { min-height: 0; height: 100%; }
.dc-df-hero__iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; display: block; background: #000; }
.dc-playlist__poster { transition: opacity .25s; }
.dc-df-hero__scrim { position: absolute; left: 0; right: 0; top: 0; bottom: 0; z-index: 1; background: linear-gradient(92deg, rgba(9, 16, 14, .9) 30%, rgba(9, 16, 14, .5) 58%, rgba(9, 16, 14, .15)); pointer-events: none; }
/* Cu fundal ales din panou, stratul de mai sus ar suprascrie alegerea cu propriul
   lui degrade - il oprim. Specificitatea (0,2,0) bate si varianta din media query
   de mai jos, deci ramane oprit si pe mobil. La imagine, intunecarea vine din
   `--dc-band-scrim` (campul "Intunecare imagine"). */
.dc-df-hero--custom-bg .dc-df-hero__scrim { background: none; }
.dc-df-hero__inner { position: relative; z-index: 3; min-height: min(90vh, 720px); max-width: 1470px; margin: 0 auto; padding: 64px 15px; display: grid; grid-template-columns: 55fr 45fr; align-items: center; gap: 40px; pointer-events: none; }
.dc-df-hero__content { display: flex; flex-direction: column; justify-content: center; pointer-events: auto; }
.dc-df-hero__eyebrow { display: inline-flex; align-items: center; gap: 9px; font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: color-mix(in srgb, var(--accent, #0E6B5E) 55%, #fff); margin-bottom: 22px; }
.dc-df-hero__eyebrow-line { width: 26px; height: 1.5px; background: color-mix(in srgb, var(--accent, #0E6B5E) 55%, #fff); display: inline-block; }
.dc-df-hero__title { font-family: var(--hfont, 'Newsreader', Georgia, serif); font-weight: 500; font-size: var(--fs-display, 56px); line-height: 1.05; letter-spacing: -.025em; margin: 0 0 22px; color: #fff; }
.dc-df-hero__title em { font-style: italic; color: color-mix(in srgb, var(--accent, #0E6B5E) 62%, #fff); }
.dc-df-hero__pillars { display: flex; flex-direction: column; gap: 13px; margin: 0 0 34px; max-width: 44ch; }
.dc-df-hero__pillar { display: flex; align-items: flex-start; gap: 13px; }
.dc-df-hero__pillar-check { flex: none; width: 26px; height: 26px; border-radius: 50%; background: var(--accent, #0E6B5E); display: flex; align-items: center; justify-content: center; margin-top: 1px; }
.dc-df-hero__pillar-text { font-size: 16.5px; line-height: 1.42; color: rgba(255, 255, 255, .74); }
.dc-df-hero__pillar-text strong { font-weight: 600; color: #fff; }
.dc-df-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
.dc-df-hero__disclaimer { font-size: 16px; line-height: 1.55; color: rgba(255, 255, 255, .5); margin: 22px 0 0; }
.dc-df-hero__divider { height: 1px; background: rgba(255, 255, 255, .14); margin: 22px 0; max-width: 65ch; }
.dc-df-hero__social { display: flex; align-items: center; gap: 16px; }
.dc-df-hero__avatars { display: flex; flex: none; }
.dc-df-hero__avatar { width: 40px; height: 40px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 15px; color: #fff; border: 2px solid #14201C; margin-left: -10px; }
.dc-df-hero__avatar:first-child { margin-left: 0; }
.dc-df-hero__avatar--a { background: #7C3AED; }
.dc-df-hero__avatar--b { background: #0E9F87; }
.dc-df-hero__avatar--c { background: #D6336C; }
.dc-df-hero__avatar--d { background: #F0883E; }
.dc-df-hero__stars { display: flex; align-items: flex-start; gap: 8px; font-size: 15.5px; color: rgba(255, 255, 255, .8); }
.dc-df-hero__stars-row { display: inline-flex; gap: 0; }
.dc-df-hero__stars .dc-review__star { width: 23px; height: 23px; margin-left: -4px; }
.dc-df-hero__stars .dc-review__star:first-child { margin-left: 0; }
.dc-df-hero__stars strong { color: #fff; font-weight: 700; margin-right: 3px; }
.dc-df-hero__social-sub { font-size: 16px; color: rgba(255, 255, 255, .5); margin-top: 4px; }
@media (max-width: 960px) {
	.dc-df-hero__inner { grid-template-columns: 1fr; }
	.dc-df-hero__video { min-height: 320px; }
	.dc-df-hero__scrim { background: rgba(9, 16, 14, .55); }
	.dc-df-hero__content {order: 2}
	.dc-df-hero__inner {padding-top: 40px}
}

/* Bara cu 3 CTA-uri sub hero */
.dc-df-trio { background: #F6F3EC; border-bottom: 1px solid rgba(20, 32, 28, .08); }
.dc-df-trio .dc-shell { padding: 18px 15px; }
.dc-df-trio__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
@media (max-width: 720px) { .dc-df-trio__grid { grid-template-columns: 1fr; } }
.dc-df-trio__card { display: flex; align-items: center; gap: 12px; background: #fff; border: 1px solid rgba(20, 32, 28, .12); border-radius: var(--radius, 16px); padding: 14px 18px; text-decoration: none; color: var(--text, #14201C); transition: transform .22s cubic-bezier(.16, .8, .24, 1), box-shadow .22s, border-color .22s; }
.dc-df-trio__card:hover { transform: translateY(-3px); box-shadow: 0 18px 36px -20px rgba(20, 32, 28, .34); border-color: color-mix(in srgb, var(--accent, #0E6B5E) 40%, transparent); }
.dc-df-trio__icon { width: 36px; height: 36px; border-radius: 10px; background: color-mix(in srgb, var(--accent, #0E6B5E) 10%, #fff); border: 1px solid color-mix(in srgb, var(--accent, #0E6B5E) 18%, transparent); color: var(--accent, #0E6B5E); display: flex; align-items: center; justify-content: center; flex: none; }
.dc-df-trio__icon svg { transform: scale(.78); }
.dc-df-trio__title { flex: 1; min-width: 0; font-size: 19px; font-weight: 600; letter-spacing: -.01em; line-height: 1.25; }
.dc-df-trio__arrow { flex: none; }

.dc-df-checklist { background: #F6F3EC; }
.dc-df-checklist__list { display: flex; flex-direction: column; gap: 16px; max-width: 1100px; margin: 0 auto;}
.dc-df-checklist__row { display: flex; align-items: center; gap: 20px; background: #fff; border: 1px solid rgba(20, 32, 28, .1); border-radius: var(--radius, 16px); padding: 24px 28px; transition: transform .22s cubic-bezier(.16, .8, .24, 1), box-shadow .22s; }
.dc-df-checklist__row:hover { transform: translateY(-3px); box-shadow: 0 18px 36px -20px rgba(20, 32, 28, .26); }
.dc-df-checklist__num { flex: none; width: 52px; height: 52px; border-radius: 14px; background: var(--accent, #0E6B5E); color: #fff; display: flex; align-items: center; justify-content: center; font-family: var(--hfont, 'Newsreader', Georgia, serif); font-size: 20px; font-weight: 600; }
.dc-df-checklist__q { font-size: 22px; font-weight: 600; color: var(--text, #14201C); letter-spacing: -.01em; line-height: 1.3; margin-bottom: 4px; }
.dc-df-checklist__a { font-size: 16px; line-height: 1.55; color: #6b756f; }
@media (max-width: 640px) { .dc-df-checklist__row { padding: 18px 20px; gap: 14px; } }

.dc-df-checkpoints { background: #fff; }
.dc-df-checkpoints__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; max-width: 1200px; margin: 0 auto; }
@media (max-width: 720px) { .dc-df-checkpoints__list { grid-template-columns: 1fr; } }
.dc-df-checkpoints__item { display: flex; align-items: center; gap: 14px; background: var(--dc-checkpoint-bg, #faf7f0); border: 1px solid rgba(20, 32, 28, .1); border-radius: var(--radius, 16px); padding: 20px 26px; }
.dc-df-checkpoints__check { flex: none; width: 34px; height: 34px; border-radius: 50%; background: color-mix(in srgb, var(--accent, #0E6B5E) 14%, #fff); color: var(--accent, #0E6B5E); display: flex; align-items: center; justify-content: center; }
.dc-df-checkpoints__text { font-size: 19px; font-weight: 600; color: var(--text, #14201C); line-height: 1.35; }
.dc-df-checkpoints__divider { height: 1px; background: rgba(20, 32, 28, .1); max-width: 1200px; margin: 40px auto 0; }
.dc-df-checkpoints__note { font-family: var(--hfont, 'Newsreader', Georgia, serif); font-size: clamp(20px, 2.2vw, 26px); font-weight: 600; font-style: italic; color: var(--accent, #0E6B5E); text-align: center; margin: 32px 0 0; }

.home .dc-testim-scroller .dc-shell {padding-bottom: 0;}
.dc-df-fit { background: #fff; }
.dc-df-fit .dc-shell { padding-bottom: 0; }
.dc-df-fit__list { display: flex; flex-direction: column; gap: 14px; max-width: 900px; margin: 0 auto; }
.dc-df-fit__row { display: flex; align-items: center; gap: 16px; background: var(--dc-fit-bg, #faf7f0); border: 1px solid rgba(20, 32, 28, .1); border-radius: var(--radius, 16px); padding: 20px 26px; }
.dc-df-fit__icon { flex: none; width: 32px; height: 32px; border-radius: 50%; background: color-mix(in srgb, var(--accent, #0E6B5E) 12%, #fff); color: var(--accent, #0E6B5E); display: flex; align-items: center; justify-content: center; }
.dc-df-fit__text { font-size: 20px; font-weight: 600; color: var(--text, #14201C); }
.dc-df-fit__callout { display: flex; align-items: flex-start; gap: 16px; max-width: 900px; margin: 32px auto 0; background: color-mix(in srgb, var(--accent, #0E6B5E) 7%, #fff); border: 1px solid color-mix(in srgb, var(--accent, #0E6B5E) 20%, transparent); border-radius: calc(var(--radius, 16px) + 4px); padding: 22px 26px; }
.dc-df-fit__callout-icon { flex: none; width: 44px; height: 44px; border-radius: 10px; background: var(--accent, #0E6B5E); color: #fff; display: flex; align-items: center; justify-content: center; }
.dc-df-fit__callout-text { font-size: 17px; line-height: 1.3; color: #3a463f; margin: 0; }
.dc-df-fit__callout-text strong { color: var(--accent, #0E6B5E); font-weight: 700; }
@media (max-width: 640px) { .dc-df-fit__row { padding: 16px 20px; gap: 12px; } .dc-df-fit__callout { padding: 18px 20px; } }

.dc-df-explain { background: #fff; }
.dc-df-explain__list { display: flex; flex-direction: column; gap: 14px; max-width: 900px; margin: 0 auto; }
.dc-df-explain__row { display: flex; align-items: center; gap: 16px; background: var(--dc-explain-bg, #faf7f0); border: 1px solid rgba(20, 32, 28, .1); border-radius: var(--radius, 16px); padding: 20px 26px; }
.dc-df-explain__icon { flex: none; width: 32px; height: 32px; border-radius: 50%; background: color-mix(in srgb, var(--accent, #0E6B5E) 12%, #fff); color: var(--accent, #0E6B5E); display: flex; align-items: center; justify-content: center; }
.dc-df-explain__text { font-size: 20px; font-weight: 600; color: var(--text, #14201C); }
.dc-df-explain__goal { max-width: 900px; margin: 32px auto 0; background: color-mix(in srgb, var(--accent, #0E6B5E) 6%, #fff); border: 1px solid color-mix(in srgb, var(--accent, #0E6B5E) 18%, transparent); border-radius: calc(var(--radius, 16px) + 4px); padding: 26px 30px; text-align: center; }
.dc-df-explain__goal-sub { font-size: 16px; color: #6b756f; margin: 0 0 6px; }
.dc-df-explain__goal-main { font-family: var(--hfont, 'Newsreader', Georgia, serif); font-size: clamp(20px, 2.2vw, 24px); font-weight: 600; color: var(--accent, #0E6B5E); margin: 0; }
.dc-df-explain__goal-btn { margin-top: 20px; }
@media (max-width: 640px) { .dc-df-explain__row { padding: 16px 20px; gap: 12px; } .dc-df-explain__goal { padding: 20px 22px; } }

.dc-df-why { background: #F6F3EC; }
.dc-df-why__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
@media (max-width: 720px) { .dc-df-why__grid { grid-template-columns: 1fr; } }
.dc-df-why__card { display: flex; flex-direction: column; gap: 18px; background: #fff; border: 1px solid rgba(20, 32, 28, .1); border-radius: calc(var(--radius, 16px) + 4px); padding: 32px 30px; transition: transform .25s cubic-bezier(.16, .8, .24, 1), box-shadow .25s; }
.dc-df-why__card:hover { transform: translateY(-5px); box-shadow: 0 22px 44px -22px rgba(20, 32, 28, .2); }
.dc-df-why__card--wide { grid-column: 1 / -1; flex-direction: row; align-items: center; gap: 24px; }
.dc-df-whatif .dc-df-why__card { flex-direction: row; align-items: flex-start; gap: 20px; }
.dc-df-why__num { margin-top: 6px; flex: none; width: 52px; height: 52px; border-radius: 14px; background: var(--accent, #0E6B5E); color: #fff; display: flex; align-items: center; justify-content: center; font-family: var(--hfont, 'Newsreader', Georgia, serif); font-size: 20px; font-weight: 600; }
.dc-df-why__body { display: flex; flex-direction: column; gap: 6px; }
.dc-df-why__title { font-size: 20px; font-weight: 700; color: var(--text, #14201C); letter-spacing: -.01em; }
.dc-df-why__text { font-size: 18px; line-height: 1.6; color: #6b756f; }

/* Etapele tratamentului */
.dc-steps { background: #fff; }
.dc-steps__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
@media (max-width: 1080px) { .dc-steps__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .dc-steps__grid { grid-template-columns: 1fr; } }
.dc-step { position: relative; background: var(--dc-step-bg, #faf7f0); border: 1px solid rgba(20, 32, 28, .1); border-radius: var(--radius, 16px); padding: 28px 24px; display: flex; flex-direction: column; gap: 14px; transition: transform .25s cubic-bezier(.16, .8, .24, 1), box-shadow .25s; }
.dc-step:nth-child(1) { z-index: 4; }
.dc-step:nth-child(2) { z-index: 3; }
.dc-step:nth-child(3) { z-index: 2; }
.dc-step:nth-child(4) { z-index: 1; }
.dc-step:hover { transform: translateY(-5px); box-shadow: 0 22px 44px -22px rgba(20, 32, 28, .26); }
.dc-step__num { width: 52px; height: 52px; border-radius: 14px; background: var(--accent, #0E6B5E); color: #fff; display: flex; align-items: center; justify-content: center; font-family: var(--hfont, 'Newsreader', Georgia, serif); font-size: 22px; font-weight: 600; flex: none; }
.dc-step__title { font-size: 17.5px; font-weight: 600; color: var(--text, #14201C); letter-spacing: -.01em; line-height: 1.3; }
.dc-step__text { font-size: 14.5px; line-height: 1.6; color: #57635d; }
.dc-step__arrow { position: absolute; right: -30px; top: 50%; transform: translateY(-50%); z-index: 2; width: 34px; height: 34px; border-radius: 50%; background: #fff; border: 1px solid color-mix(in srgb, var(--accent, #0E6B5E) 30%, transparent); color: var(--accent, #0E6B5E); display: flex; align-items: center; justify-content: center; box-shadow: 0 6px 16px -8px rgba(20, 32, 28, .4); }
@media (max-width: 1080px) { .dc-step__arrow { display: none; } }

/* Componenta reutilizabila: video (single) + text 2 coloane */
.dc-media-feature { background: #F6F3EC; }
.dc-media-feature--white { background: #fff; }
.dc-media-feature__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: clamp(32px, 4vw, 56px); align-items: stretch; }
@media (max-width: 960px) { .dc-media-feature__grid { grid-template-columns: 1fr; } }

/* Varianta cu doar titlul scos intr-un antet centrat deasupra celor 2 coloane
   (restul continutului ramane in coloana, ca fara header_top). */
.dc-media-feature__header { max-width: 1024px; margin: 0 auto 44px; text-align: center; }
.dc-media-feature__header .dc-media-feature__title { max-width: none; margin: 0 auto; text-wrap: balance; }
.dc-media-feature--header-top .dc-media-feature__text { padding-top: 0; }
.dc-media-feature__video { display: flex; }

.dc-df-after { background: #fff; }
.dc-df-after__img { position: relative; height: 560px; border-radius: calc(var(--radius, 16px) + 8px); overflow: hidden; background: repeating-linear-gradient(135deg, #eae4d6, #eae4d6 8px, #e2ddce 8px, #e2ddce 16px); }
.dc-df-after__caption { position: absolute; left: 16px; bottom: 16px; background: rgba(255, 255, 255, .85); border-radius: 8px; padding: 6px 10px; font-family: 'SFMono-Regular', Menlo, Consolas, monospace; font-size: 11px; letter-spacing: .01em; color: #6b756f; }
.dc-df-after__text { display: flex; flex-direction: column; justify-content: center; }
.dc-df-after__title { font-family: var(--hfont, 'Newsreader', Georgia, serif); font-weight: 500; font-size: clamp(30px, 3.6vw, 48px); line-height: 1.15; letter-spacing: -.02em; color: var(--text, #14201C); margin: 0 0 22px; }
.dc-df-after__intro { font-size: 17px; line-height: 1.6; color: #57635d; margin: -6px 0 24px; }
.dc-df-after__list { display: flex; flex-direction: column; gap: 14px; }
.dc-df-after__btn { align-self: flex-start; margin-top: 28px; }
.dc-df-after__item { display: flex; align-items: center; gap: 12px; font-size: 18px; color: #3a463f; }
.dc-df-after__check { flex: none; width: 22px; height: 22px; border-radius: 50%; background: var(--accent, #0E6B5E); color: #fff; display: flex; align-items: center; justify-content: center; }

.dc-contact__checklist { display: flex; flex-direction: column; gap: 10px; margin: 18px 0 30px; }
.dc-contact__checklist-item { display: flex; align-items: center; gap: 10px; font-size: 18px; font-weight: 500; color: rgba(255, 255, 255, .92); }
.dc-contact__checklist-check { margin-top: -2px;flex: none; width: 20px; height: 20px; border-radius: 50%; background: var(--accent, #0E6B5E); color: #fff; display: flex; align-items: center; justify-content: center; }
/* Coloana de media: stage-ul videoului si varianta cu imagine au aceeasi forma,
   ca blocul sa arate la fel indiferent ce a ales pagina. */
.dc-playlist__stage--feature,
.dc-media-feature__media-img { height: 100%; min-height: 340px; width: 100%; }
.dc-media-feature__media { display: flex; }
.dc-media-feature__media-img { position: relative; border-radius: var(--radius, 16px); overflow: hidden; box-shadow: 0 22px 46px -24px rgba(20, 32, 28, .4); }
.dc-media-feature__video-label { position: absolute; left: 20px; bottom: 16px; font-size: 13px; font-weight: 600; color: #fff; letter-spacing: .02em; }
.dc-media-feature__text { display: flex; flex-direction: column; justify-content: center; padding: 40px 0; }
.dc-media-feature__eyebrow { display: inline-flex; align-items: center; gap: 11px; font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--accent, #0E6B5E); margin-bottom: 20px; }
.dc-media-feature__eyebrow-line { width: 26px; height: 1.5px; background: var(--accent, #0E6B5E); display: inline-block; flex: none; }
.dc-media-feature__title { font-family: var(--hfont, 'Newsreader', Georgia, serif); font-weight: 500; font-size: clamp(30px, 3.6vw, 48px); line-height: 1.1; letter-spacing: -.02em; margin: 0 0 20px; max-width: 22ch; }
.dc-media-feature__body { display: flex; flex-direction: column; gap: 14px; font-size: 16.5px; line-height: 1.7; color: #57635d; }
.dc-media-feature__body p { margin: 0; font-size: 18px; }
.dc-media-feature__body strong { color: var(--text, #14201C); font-weight: 600; }
.dc-media-feature__body h4 { margin: 6px 0 0; font-family: var(--hfont, 'Newsreader', Georgia, serif); font-size: 28px; font-weight: 500; line-height: 1.3; letter-spacing: -.01em; color: var(--text, #14201C); }
@media (max-width: 640px) { .dc-media-feature__body h4 { font-size: 22px; } }
/* Butonul de sub text: la 30px de continutul de deasupra, pe orice ecran. Caseta de
   deasupra lui pierde marginea de jos de pe ecrane mici, ca sa nu se adune. */
.dc-media-feature .dc-dantura__btn { margin-top: 30px; }
.dc-media-feature__extra-wrap:has(+ div > .dc-dantura__btn) .dc-media-feature__extra { margin-bottom: 0; }
.dc-media-feature__badge { display: inline-flex; align-items: center; gap: 10px; margin: 24px 0 28px; padding: 9px 16px; background: color-mix(in srgb, var(--accent, #0E6B5E) 8%, #fff); border: 1px solid color-mix(in srgb, var(--accent, #0E6B5E) 20%, transparent); border-radius: 999px; font-size: 12.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--accent, #0E6B5E); }
.dc-media-feature__extra { display: flex; align-items: center; gap: 16px; background: white; border: 1px solid rgba(20, 32, 28, .1); border-radius: var(--radius, 16px); padding: 14px; }
.dc-media-feature__extra-img { flex: none; width: 120px; aspect-ratio: 4/3; border-radius: calc(var(--radius, 16px) - 6px); overflow: hidden; border: 1px solid rgba(20, 32, 28, .1); }
.dc-media-feature__extra-tag { font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--accent, #0E6B5E); margin-bottom: 4px; }
.dc-media-feature__extra-name { font-size: 15px; font-weight: 600; color: var(--text, #14201C); letter-spacing: -.01em; }
.dc-media-feature__extra-desc { font-size: 13px; color: #6b756f; margin-top: 2px; }

/* Riscurile amanarii reabilitarii (reutilizeaza cardul .dc-feature) */
.dc-risks { background: #fff; }
.dc-risks__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
@media (max-width: 960px) { .dc-risks__grid { grid-template-columns: 1fr; } }
.dc-feature__icon--danger { background: #f6e2df; color: #c0503f; }

/* Galerie foto clinica (grid static 3/rand) */
.dc-clinic-gallery { background: #fff; }
.dc-clinic-gallery__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
@media (max-width: 720px) { .dc-clinic-gallery__grid { grid-template-columns: 1fr; } }
.dc-clinic-gallery__tile { position: relative; aspect-ratio: 4/3; border-radius: var(--radius, 16px); overflow: hidden; border: 1px solid rgba(20, 32, 28, .08); flex-direction: column; gap: 8px; }
.dc-clinic-gallery__label { font-family: ui-monospace, monospace; font-size: 9.5px; letter-spacing: .06em; }

/* FAQ video + acordeon pe 2 coloane */
.dc-faq { background: #F6F3EC; }
.dc-faq__playlist { margin-bottom: 48px; }
.dc-faq-grid { margin: 0 auto; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-items: start; }
@media (max-width: 820px) { .dc-faq-grid { grid-template-columns: 1fr; } }
.dc-faq__answer { font-size: 15.5px; line-height: 1.7; color: #57635d; margin: 0; max-width: 66ch; }

/* Galerie marquee (eticheta sub iconita placeholder) */
.dc-gtile { flex-direction: column; gap: 8px; }
.dc-gtile__caption { font-family: ui-monospace, monospace; font-size: 9.5px; letter-spacing: .06em; color: #57635d; }

/* ==========================================================================
   Pagina de serviciu unic (CPT "service") - un singur template, continutul
   difera dupa slug (vezi inc/service-content.php).
   ========================================================================== */


/* Text SEO */
.dc-service-seo { background: white; }
.dc-service-seo__inner { max-width: 940px; margin: 0 auto; padding: clamp(48px, 6vw, 80px) 15px; }
.dc-service-seo__title { font-family: var(--hfont, 'Newsreader', Georgia, serif); font-weight: 500; font-size: clamp(26px, 3.2vw, 42px); line-height: 1.08; letter-spacing: -.025em; margin: 0 0 22px;}
.dc-service-seo__body { display: flex; flex-direction: column; gap: 16px; }
.dc-service-seo__body p { font-size: 16.5px; line-height: 1.78; color: #3a463f; margin: 0; }
/* Textul scris in editorul WordPress: titlurile, listele si linkurile primesc
   acelasi aspect ca in design, fara clase suplimentare in continut. */
.dc-service-seo__body h2 { font-family: var(--hfont, 'Newsreader', Georgia, serif); font-weight: 500; font-size: clamp(26px, 3.2vw, 42px); line-height: 1.08; letter-spacing: -.025em; margin: 0; }
.dc-service-seo__body h3 { font-family: var(--hfont, 'Newsreader', Georgia, serif); font-weight: 500; font-size: clamp(21px, 2.2vw, 28px); line-height: 1.2; letter-spacing: -.02em; margin: 8px 0 0; }
.dc-service-seo__body h2 + p, .dc-service-seo__body h3 + p { margin-top: -4px; }
.dc-service-seo__body ul, .dc-service-seo__body ol { margin: 0; padding-left: 22px; display: flex; flex-direction: column; gap: 8px; }
.dc-service-seo__body li { font-size: 16.5px; line-height: 1.78; color: #3a463f; }
.dc-service-seo__body a { color: var(--accent, #0E6B5E); text-decoration: underline; text-underline-offset: 2px; }
.dc-service-seo__body img { max-width: 100%; height: auto; border-radius: var(--radius, 16px); }
.dc-service-seo__body blockquote { margin: 0; padding: 4px 0 4px 20px; border-left: 3px solid var(--accent, #0E6B5E); font-size: 17.5px; line-height: 1.7; color: #2b352f; }

/* Beneficiile tratamentului (fundal inchis, carduri albe) */
.dc-service-benefits__title { color: #fff; }
.dc-service-benefits__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 20px; }
.dc-service-benefits .dc-feature { background: #fff; }

/* FAQ (acordeon, o coloana, carduri crem pe fundal alb) */
.dc-service-faq { background: #fff; }
.dc-service-faq__inner { max-width: 900px; margin: 0 auto; padding: clamp(56px, 7vw, var(--section-spacing, 110px)) 15px; }
/* Culorile acordeonului vin din campurile serviciului, prin variabilele puse pe
   .dc-accordion (vezi service-faq.php). Necompletate, raman cele din design. */
/* Pe pagina de serviciu casetele au alta culoare din design (nu alb), iar capul
   e transparent ca sa se vada caseta. Fundalul raspunsului il da regula de baza
   .dc-acc-body. */
.dc-service-faq .dc-acc-item { background: var(--dc-acc-bg, #F6F3EC); box-shadow: none; }
.dc-service-faq .dc-acc-head { background: transparent; }
.dc-service-faq .dc-acc-head:hover { background: color-mix(in srgb, var(--accent, #0E6B5E) 6%, transparent); }
.dc-service-faq__answer { font-size: 15.5px; line-height: 1.7; color: #57635d; margin: 0; }

/* Alte servicii (carusel 3/view, sageti in antet) - reutilizeaza .dc-adv / .dc-service-card */
.dc-service-related__headrow { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin-bottom: 36px; }
.dc-service-related__title { margin: 0; }
.dc-service-related__nav { display: flex; align-items: center; gap: 14px; }
.dc-service-related__all { font-size: 15px; font-weight: 600; color: var(--accent, #0E6B5E); text-decoration: none; white-space: nowrap; }
.dc-service-related__arrows { display: flex; gap: 10px; }

/* ==========================================================================
   Pagini legale (Termeni si conditii / Politica de confidentialitate /
   Politica de cookies) - un singur template, continutul difera dupa slug
   (vezi inc/legal-content.php).
   ========================================================================== */


/* Corpul articolului (sectiuni numerotate + paragrafe/liste) */
.dc-legal-article { background: #F6F3EC; }
.dc-legal-article__inner { max-width: 920px; margin: 0 auto; padding: clamp(48px, 6vw, 80px) 15px; }
.dc-legal-article__sections { display: flex; flex-direction: column; gap: 40px; }
.dc-legal-article__section { scroll-margin-top: 84px; }
.dc-legal-article__heading { font-family: var(--hfont, 'Newsreader', Georgia, serif); font-weight: 500; font-size: clamp(23px, 2.6vw, 32px); line-height: 1.12; letter-spacing: -.02em; margin: 0 0 8px; display: flex; align-items: baseline; gap: 14px; }
.dc-legal-article__num { font-family: 'Hanken Grotesk', sans-serif; font-size: 16px; font-weight: 700; color: var(--accent, #0E6B5E); flex: none; letter-spacing: .02em; }
.dc-legal-article__divider { height: 1px; background: rgba(20, 32, 28, .1); margin: 0 0 20px; }
.dc-legal-article__blocks { display: flex; flex-direction: column; gap: 16px; }
.dc-legal-article__para { font-size: 18px; line-height: 1.5; color: #3a463f; margin: 0; }
.dc-legal-article__list { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 5px; }
.dc-legal-article__list li { position: relative; padding-left: 26px; font-size: 18px; line-height: 1.66; color: #3a463f; }
.dc-legal-article__list li::before { content: ''; position: absolute; left: 0; top: 9px; width: 7px; height: 7px; border-radius: 50%; background: var(--accent, #0E6B5E); }
/* Textul scris in editorul WordPress: fiecare "Titlu 2" devine o sectiune
   numerotata automat, cu linie despartitoare. Restul elementelor primesc
   stilurile documentului, fara clase in continut. */
.dc-legal-article__body { counter-reset: dc-legal-section; display: flex; flex-direction: column; gap: 16px; }
.dc-legal-article__body h2 { counter-increment: dc-legal-section; font-family: var(--hfont, 'Newsreader', Georgia, serif); font-weight: 500; font-size: clamp(23px, 2.6vw, 32px); line-height: 1.12; letter-spacing: -.02em; display: flex; align-items: baseline; gap: 14px; margin: 24px 0 20px; padding-bottom: 8px; border-bottom: 1px solid rgba(20, 32, 28, .1); }
.dc-legal-article__body > h2:first-child { margin-top: 0; }
.dc-legal-article__body h2::before { content: counter(dc-legal-section, decimal-leading-zero); font-family: 'Hanken Grotesk', sans-serif; font-size: 16px; font-weight: 700; color: var(--accent, #0E6B5E); flex: none; letter-spacing: .02em; }
.dc-legal-article__body h3 { font-family: var(--hfont, 'Newsreader', Georgia, serif); font-weight: 500; font-size: clamp(19px, 2vw, 23px); line-height: 1.2; margin: 8px 0 0; }
.dc-legal-article__body p { font-size: 18px; line-height: 1.5; color: #3a463f; margin: 0; }
.dc-legal-article__body ul, .dc-legal-article__body ol { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 5px; }
.dc-legal-article__body li { position: relative; padding-left: 26px; font-size: 18px; line-height: 1.66; color: #3a463f; }
.dc-legal-article__body ul li::before { content: ''; position: absolute; left: 0; top: 9px; width: 7px; height: 7px; border-radius: 50%; background: var(--accent, #0E6B5E); }
.dc-legal-article__body ol { counter-reset: dc-legal-item; }
.dc-legal-article__body ol li { counter-increment: dc-legal-item; }
.dc-legal-article__body ol li::before { content: counter(dc-legal-item) '.'; position: absolute; left: 0; top: 0; font-weight: 700; color: var(--accent, #0E6B5E); }
.dc-legal-article__body a { color: var(--accent, #0E6B5E); text-decoration: underline; text-underline-offset: 2px; }
.dc-legal-article__body table { width: 100%; border-collapse: collapse; font-size: 16px; }
.dc-legal-article__body th, .dc-legal-article__body td { border: 1px solid rgba(20, 32, 28, .12); padding: 10px 12px; text-align: left; }

.dc-legal-article__callout { background: #fff; border: 1px solid rgba(20, 32, 28, .1); border-radius: calc(var(--radius, 16px) + 4px); padding: 26px 28px; display: flex; align-items: flex-start; gap: 16px; margin-top: 8px; }
.dc-legal-article__callout-icon { width: 64px; height: 64px; border-radius: 12px; background: color-mix(in srgb, var(--accent, #0E6B5E) 10%, #fff); color: var(--accent, #0E6B5E); display: flex; align-items: center; justify-content: center; flex: none; }
.dc-legal-article__callout-title { font-family: var(--hfont, 'Newsreader', Georgia, serif); font-size: 19px; font-weight: 600; letter-spacing: -.01em; margin-bottom: 6px; }
.dc-legal-article__callout-text { font-size: 15px; line-height: 1.6; color: #57635d; margin: 0; }
.dc-legal-article__callout-text a { color: var(--accent, #0E6B5E); font-weight: 600; text-decoration: none; }

/* Date de contact + harta */

/* Ajustari specifice paginii "Dantură fixă" pentru componente partajate cu alte
   pagini (comparatie, preturi, echipa, cazuri video) - scopate pe body-ul paginii
   (page-template-dantura-fixa) ca sa nu afecteze aparitiile lor de pe alte pagini. */
.page-template-dantura-fixa .dc-comparison .dc-shell { padding-top: 0; padding-bottom: 0; }
.page-template-dantura-fixa .dc-risks .dc-shell { padding-top: 0; }
.page-template-dantura-fixa .dc-steps .dc-shell { padding-top: 0; }
.page-template-dantura-fixa .dc-team { background: #fff; }
.page-template-dantura-fixa .dc-cazuri-video .dc-cazuri-video__inner { padding-top: 0; }
.page-template-dantura-fixa .dc-cazuri-video .dc-vcard__role { display: none; }
.page-template-dantura-fixa .dc-certs .dc-shell { padding-top: 0; }

/* ==========================================================================
   3. FUNDATIA + UTILITARELE DESIGNULUI (migrate din stomatologie.css)
   ========================================================================== */
:root {
	--accent: #0E6B5E;
	--radius: 16px;
	--hfont: 'Newsreader', Georgia, serif;
}

/* Radacina designului (echivalentul lui rootStyle din DC).
   Nu redeclara aici --accent/--radius/--hfont: clasa .dc-root sta pe <body>, iar
   o declaratie pe <body> bate valoarea mostenita de la <html>, deci ar anula
   suprascrierile din "Setări Temă" (injectate pe :root, vezi
   inc/theme-options-output.php). Valorile implicite sunt in blocul :root de mai sus. */

/* Reia stilul de baza din blocul <style> al designului. */
body.dc-page {
	margin: 0;
	overflow-x: hidden;
	font-family: var(--font-base, 'Hanken Grotesk', system-ui, sans-serif);
	background: #F6F3EC;
	color: var(--text, #14201C);
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

.dc-page ::selection {
	background: var(--accent, #0E6B5E);
	color: #fff;
}

/* Titlul + subtitlul fiecarui bloc (grupul centrat cu animatia dvUp) - latime
   maxima uniforma de 1024px pe toate sectiunile. Vizeaza doar aceste grupuri de
   titluri, nu cardurile sau banner-ele CTA pe toata latimea. */
.dc-page [style*="animation:dvUp"][style*="text-align:center"][style*="margin:0 auto"] {
	max-width: 1024px !important;
}

/* ==========================================================================
   Keyframe-uri (din design)
   ========================================================================== */
@keyframes dvUp {
	from { opacity: 0; transform: translateY(24px); }
	to   { opacity: 1; transform: none; }
}
@keyframes drift {
	0%, 100% { background-position: 0% 50%; }
	50%      { background-position: 100% 50%; }
}
@keyframes marqL {
	from { transform: translateX(0); }
	to   { transform: translateX(-50%); }
}
@keyframes marqR {
	from { transform: translateX(-50%); }
	to   { transform: translateX(0); }
}

/* ==========================================================================
   Clase-helper (din design)
   ========================================================================== */
/* Utilitar de ascundere. */
.dc-hidden { display: none !important; }

/* Acordeon preturi (pagina "Prețuri"). */
.dc-acc-body { display: none; }
.dc-acc-item.is-open .dc-acc-body { display: block; }
.dc-acc-item.is-open .dc-acc-head { background: var(--dc-acc-active-bg,
color-mix(in srgb, var(--accent, #0E6B5E) 5%, #fff)); }
.dc-acc-chev { transition: transform .25s; }
.dc-acc-item.is-open .dc-acc-chev { transform: rotate(180deg); }

/* Timeline comentarii Facebook de pe pagina "Testimoniale" (din designul paginii). */
.fb-tl {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 28px 44px;
}
@media (max-width: 820px) {
	.fb-tl { grid-template-columns: 1fr; }
}

/* Grila inainte/dupa: 3 cazuri pe rand. */
.ba-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}
@media (max-width: 1100px) {
	.ba-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
	.ba-grid { grid-template-columns: 1fr; }
}

.mq {
	overflow: hidden;
	width: 100%;
}
.mq:hover .mq-track {
	animation-play-state: paused;
}
/* Cu JavaScript (initMarquees din stomatologie.js) randul devine o zona cu scroll
   orizontal: se misca singur, dar se poate derula si manual - swipe pe telefon,
   trackpad sau tras cu mouse-ul pe desktop. Bara de derulare ramane ascunsa. */
.mq.mq--js {
	overflow-x: auto;
	overflow-y: hidden;
	overscroll-behavior-x: contain;
	scroll-behavior: auto;
	scrollbar-width: none;
	cursor: grab;
}
.mq.mq--js::-webkit-scrollbar {
	display: none;
}
.mq.mq--js .mq-track {
	animation: none;
}
.mq.mq--js.is-dragging {
	cursor: grabbing;
	user-select: none;
}
.mq.mq--js.is-dragging .dc-gtile {
	pointer-events: none;
}

/* Zonele cu scroll propriu: lista playlist-ului, coloanele de comentarii
   Facebook si textul unei recenzii.

   Bara e in culoarea accent si ramane VIZIBILA permanent. Pe iOS si macOS,
   Safari deseneaza implicit bare "overlay", care apar doar in timpul derularii
   si dispar imediat - asa ca vizitatorul nu vede ca mai e continut dedesubt.
   `-webkit-appearance: none` impreuna cu o latime explicita pe ::-webkit-scrollbar
   forteaza bara clasica, mereu prezenta; `overflow-y: scroll` (nu `auto`) tine
   banda pe loc si cand textul incape, ca inaltimea sa nu sara.
   ATENTIE: `scrollbar-width` / `scrollbar-color` doar pentru Firefox - in Chrome
   (121+) proprietatile standard au prioritate si anuleaza ::-webkit-scrollbar,
   iar pe macOS bara redevine "overlay" (ascunsa cand nu derulezi). */
.pl-scroll,
.dc-review__text {
	overflow-y: scroll;
}
@supports (-moz-appearance: none) {
	.pl-scroll,
	.dc-review__text,
	.dc-services--full-text .dc-service-card__desc {
		scrollbar-width: thin;
		scrollbar-color: var(--accent, #0E6B5E) rgba(20, 32, 28, .1);
	}
}
.pl-scroll::-webkit-scrollbar,
.dc-review__text::-webkit-scrollbar,
.dc-services--full-text .dc-service-card__desc::-webkit-scrollbar {
	width: 8px;
	-webkit-appearance: none;
}
.pl-scroll::-webkit-scrollbar-thumb,
.dc-review__text::-webkit-scrollbar-thumb,
.dc-services--full-text .dc-service-card__desc::-webkit-scrollbar-thumb {
	background: var(--accent, #0E6B5E);
	border-radius: 8px;
}
.pl-scroll::-webkit-scrollbar-track,
.dc-review__text::-webkit-scrollbar-track,
.dc-services--full-text .dc-service-card__desc::-webkit-scrollbar-track {
	background: rgba(20, 32, 28, .1);
	border-radius: 8px;
}

/* Respecta preferinta de reducere a miscarii. */
@media (prefers-reduced-motion: reduce) {
	.dc-page *,
	.mq-track {
		animation: none !important;
	}
	.dc-page {
		scroll-behavior: auto;
	}
}

/* ==========================================================================
   Meniul mobil: panou pe tot ecranul, care coboara de sus.

   Butonul hamburger ramane deasupra panoului si se transforma in "X", asa ca
   logo-ul si comanda de inchidere stau tot timpul in acelasi loc. Panoul
   aluneca sub bara de header (z-index mai mic), deci antetul pare ca pluteste
   peste el, fara sa duplicam logo-ul in markup.
   ========================================================================== */
.dc-nav-toggle {
	display: none;
	position: relative;
	/* Peste panou (z-index 1), ca butonul sa ramana la indemana cat e deschis. */
	z-index: 2;
	width: 46px;
	height: 46px;
	border: 1px solid rgba(20, 32, 28, .14);
	border-radius: 13px;
	background: #fff;
	color: var(--text, #14201C);
	cursor: pointer;
	align-items: center;
	justify-content: center;
	flex: none;
	transition: background .25s ease, border-color .25s ease;
}
.dc-nav-toggle:hover { border-color: color-mix(in srgb, var(--accent, #0E6B5E) 40%, transparent); }
.dc-nav-toggle[aria-expanded="true"] { background: var(--accent, #0E6B5E); border-color: var(--accent, #0E6B5E); color: #fff; }

.dc-nav-toggle__box { position: relative; display: block; width: 20px; height: 14px; }
.dc-nav-toggle__bar {
	position: absolute;
	left: 0;
	width: 100%;
	height: 1.8px;
	border-radius: 2px;
	background: currentColor;
	transition: transform .34s cubic-bezier(.4, 0, .2, 1), opacity .2s ease, width .34s cubic-bezier(.4, 0, .2, 1);
}
.dc-nav-toggle__bar:nth-child(1) { top: 0; }
.dc-nav-toggle__bar:nth-child(2) { top: 6.1px; width: 74%; }
.dc-nav-toggle__bar:nth-child(3) { top: 12.2px; }
.dc-nav-toggle[aria-expanded="true"] .dc-nav-toggle__bar:nth-child(1) { transform: translateY(6.1px) rotate(45deg); }
.dc-nav-toggle[aria-expanded="true"] .dc-nav-toggle__bar:nth-child(2) { opacity: 0; width: 100%; }
.dc-nav-toggle[aria-expanded="true"] .dc-nav-toggle__bar:nth-child(3) { transform: translateY(-6.1px) rotate(-45deg); }

/* Elementele care apar doar in panou. */
.dc-nav__arrow,
.dc-nav__actions { display: none; }

@media (max-width: 1200px) {
	.dc-nav-toggle { display: inline-flex; }

	.dc-nav {
		position: fixed;
		inset: 0;
		/* Straturile se compara in interiorul antetului (care are z-index 60, deci
		   e deja peste pagina): panoul dedesubt, logo-ul si butonul deasupra lui. */
		z-index: 1;
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		justify-content: center;
		gap: 0 !important;
		padding: clamp(90px, 14vh, 130px) clamp(20px, 6vw, 56px) clamp(28px, 5vh, 48px);
		background: linear-gradient(180deg, #F6F3EC 0%, #FFFFFF 78%);
		overflow-y: auto;
		overscroll-behavior: contain;

		/* Inchis: ridicat deasupra ecranului si scos din navigarea cu tastatura. */
		transform: translateY(-100%);
		visibility: hidden;
		transition: transform .52s cubic-bezier(.32, .72, 0, 1), visibility 0s linear .52s;
	}
	.dc-nav.is-open {
		transform: translateY(0);
		visibility: visible;
		transition: transform .52s cubic-bezier(.32, .72, 0, 1), visibility 0s;
	}

	.dc-nav__link {
		display: flex !important;
		align-items: center;
		justify-content: space-between;
		gap: 18px;
		padding: clamp(14px, 2.4vh, 16px) 2px;
		border-bottom: 1px solid rgba(20, 32, 28, .09);
		font-family: var(--hfont, 'Newsreader', Georgia, serif);
		font-size: clamp(22px, 4vw, 40px);
		font-weight: 400;
		line-height: 1.1;
		letter-spacing: -.02em;
		color: var(--text, #14201C);
		white-space: normal !important;

		/* Fiecare rand intra putin dupa cel de dinainte (--dc-nav-i vine din markup). */
		opacity: 0;
		transform: translateY(-14px);
		transition: opacity .4s ease, transform .4s cubic-bezier(.32, .72, 0, 1);
	}
	.dc-nav.is-open .dc-nav__link,
	.dc-nav.is-open .dc-nav__actions {
		opacity: 1;
		transform: translateY(0);
		transition-delay: calc(.16s + var(--dc-nav-i, 0) * .045s);
	}
	.dc-nav__link:first-of-type { border-top: 1px solid rgba(20, 32, 28, .09); }
	.dc-nav__link.is-active { color: var(--accent, #0E6B5E); font-weight: 500; }

	.dc-nav__arrow {
		display: inline-flex;
		flex: none;
		color: var(--accent, #0E6B5E);
		opacity: 0;
		transform: translateX(-8px);
		transition: opacity .25s ease, transform .25s ease;
	}
	.dc-nav__link:hover .dc-nav__arrow,
	.dc-nav__link:focus-visible .dc-nav__arrow,
	.dc-nav__link.is-active .dc-nav__arrow { opacity: 1; transform: translateX(0); }

	.dc-nav__actions {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 14px;
		margin-top: clamp(26px, 5vh, 44px);
		opacity: 0;
		transform: translateY(-14px);
		transition: opacity .4s ease, transform .4s cubic-bezier(.32, .72, 0, 1);
	}
	.dc-nav__cta {
		width: 100%;
		padding: 14px 24px;
		font-size: 16px;
		border-radius: 15px;
	}
	.dc-nav__phone {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 9px;
		padding: 6px;
		font-size: 16px;
		font-weight: 600;
		color: var(--accent, #0E6B5E);
		text-decoration: none;
	}

	/* Logo-ul (alb) nu se vede pe panoul deschis (deschis la culoare), deci il
	   ascundem cat timp meniul e deschis; ramane doar butonul de inchidere. */
	.dc-logo { position: relative; z-index: 2; transition: opacity .2s ease, visibility 0s linear 0s; }
	body.dc-nav-open .dc-logo { opacity: 0; visibility: hidden; transition: opacity .2s ease, visibility 0s linear .2s; }

	/* Cat e panoul deschis, pagina de dedesubt nu se mai deruleaza, iar bara
	   flotanta se retrage: butonul de programare din panou o inlocuieste. */
	body.dc-nav-open { overflow: hidden; }
	body.dc-nav-open .dc-fab {
		opacity: 0;
		visibility: hidden;
		transform: translateY(12px);
		transition: opacity .25s ease, transform .25s ease, visibility 0s linear .25s;
	}
	/* La fel si butonul de cookie-uri, ca sa nu ramana peste panou. */
	.mcc-reopen { transition: opacity .25s ease, visibility 0s linear 0s; }
	body.dc-nav-open .mcc-reopen { opacity: 0; visibility: hidden; transition: opacity .25s ease, visibility 0s linear .25s; }

	/* CTA-ul din bara de header ramane doar pe ecrane mari: in panou avem altul. */
	.dc-header-cta { display: none !important; }
}

@media (prefers-reduced-motion: reduce) {
	.dc-nav,
	.dc-nav__link,
	.dc-nav__actions,
	.dc-nav-toggle__bar { transition-duration: .01ms !important; transition-delay: 0s !important; }
}

/* ==========================================================================
   Responsive pentru grilele fixe din design (repeat(3,...), spliturile 2-col
   si footer-ul). Clasele sunt adaugate in markup langa stilurile inline.
   ========================================================================== */
@media (max-width: 960px) {
	.dc-playlist-split,
	.dc-contact-split {
		grid-template-columns: 1fr !important;
	}
	.dc-playlist-list { max-height: 220px;}
}

@media (max-width: 720px) {
	.dc-grid-2 { grid-template-columns: 1fr !important; }
	.dc-footer-grid {
		grid-template-columns: 1fr 1fr !important;
		gap: 32px 32px !important;
	}
	/* Bara fixa de jos (Suna acum / WhatsApp) mai compacta pe mobil. */
	.dc-fab a { min-width: 0 !important; flex: 1; }
}

@media (max-width: 480px) {
	.dc-footer-grid { grid-template-columns: 1fr !important; }
}

/* ==========================================================================
   Blog: lista de articole (templates/blog.php) + articol unic (single.php)
   ========================================================================== */
/* Tinta ancorelor (butoanele trio de pe Dantura fixa): titlul sa nu treaca sub headerul fix. */
.dc-anchor { scroll-margin-top: 96px; }

.dc-btn--ghost { padding: 13px 26px; background: transparent; color: var(--text, #14201C); border: 1px solid rgba(20, 32, 28, .2); }
.dc-btn--ghost:hover { border-color: var(--accent, #0E6B5E); color: var(--accent, #0E6B5E); }

.dc-blog { background: #F6F3EC; }
.dc-blog__empty { text-align: center; color: #57635d; font-size: 16px; }
.dc-blog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; }
@media (max-width: 980px) { .dc-blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .dc-blog-grid { grid-template-columns: 1fr; } }

.dc-blog-card { display: flex; flex-direction: column; background: #fff; border: 1px solid rgba(20, 32, 28, .1); border-radius: var(--radius, 16px); overflow: hidden; transition: transform .25s cubic-bezier(.16, .8, .24, 1), box-shadow .25s; }
.dc-blog-card:hover { transform: translateY(-4px); box-shadow: 0 22px 44px -22px rgba(20, 32, 28, .28); }
.dc-blog-card__media { position: relative; display: block; aspect-ratio: 3/2; overflow: hidden; }
.dc-blog-card__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.dc-blog-card:hover .dc-blog-card__img { transform: scale(1.04); }
.dc-blog-card__body { display: flex; flex-direction: column; gap: 10px; padding: 22px 24px 26px; flex: 1; }
.dc-blog-card__meta { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 12.5px; color: #57635d; }
.dc-blog-card__sep { opacity: .5; }
.dc-blog-card__cats a { color: var(--accent, #0E6B5E); text-decoration: none; }
.dc-blog-card__title { font-family: var(--hfont, 'Newsreader', Georgia, serif); font-weight: 500; font-size: 22px; line-height: 1.22; letter-spacing: -.015em; margin: 0; }
.dc-blog-card__title a { color: #14201C; text-decoration: none; }
.dc-blog-card__title a:hover { color: var(--accent, #0E6B5E); }
.dc-blog-card__excerpt { font-size: 16px; line-height: 1.5; color: #57635d; margin: 0; display: -webkit-box;
  -webkit-line-clamp: 3; line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;}
.dc-blog-card__more { display: inline-flex; align-items: center; gap: 7px; margin-top: auto; padding-top: 6px; font-size: 14px; font-weight: 600; color: var(--accent, #0E6B5E); text-decoration: none; }
.dc-blog-card__more:hover { gap: 11px; }

.dc-blog-pagination { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 9px; margin-top: 48px; }
.dc-blog-pagination .page-numbers { min-width: 44px; height: 44px; padding: 0 14px; display: inline-flex; align-items: center; justify-content: center; border-radius: calc(var(--radius, 16px) - 6px); border: 1px solid rgba(20, 32, 28, .18); background: #fff; color: #14201C; font-size: 15px; font-weight: 600; text-decoration: none; transition: transform .2s, border-color .2s, background .2s; }
.dc-blog-pagination a.page-numbers:hover { transform: translateY(-2px); border-color: var(--accent, #0E6B5E); }
.dc-blog-pagination .page-numbers.current { border-color: var(--accent, #0E6B5E); background: var(--accent, #0E6B5E); color: #fff; }
.dc-blog-pagination .page-numbers.dots { border: 0; background: transparent; }

/* Articol unic - fundal alb pe tot (hero + content), nu cremul paginii.
   Vizeaza doar articolele de blog (body.single-post), nu si paginile de serviciu. */
body.single-post { background: #fff; }
.dc-article { max-width: 820px; margin: 0 auto; padding: 40px 15px 88px; }
.dc-article-hero__title { max-width: 20ch; }
.dc-article__media { margin: 0 0 34px; border-radius: calc(var(--radius, 16px) + 2px); overflow: hidden; box-shadow: 0 24px 50px -28px rgba(20, 32, 28, .5); }
.dc-article__img { display: block; width: 100%; height: auto; }
.dc-article__body { font-size: 17px; line-height: 1.75; color: #2f3a34; }
.dc-article__body > * { margin: 0 0 22px; }
.dc-article__body h2 { font-family: var(--hfont, 'Newsreader', Georgia, serif); font-weight: 500; font-size: 30px; line-height: 1.2; letter-spacing: -.02em; color: #14201C; margin: 40px 0 16px; }
.dc-article__body h3 { font-family: var(--hfont, 'Newsreader', Georgia, serif); font-weight: 500; font-size: 24px; color: #14201C; margin: 32px 0 14px; }
.dc-article__body a { color: var(--accent, #0E6B5E); }
.dc-article__body ul, .dc-article__body ol { padding-left: 22px; }
.dc-article__body li { margin: 0 0 5px; }
.dc-article__body img { max-width: 100%; height: auto; border-radius: var(--radius, 16px); }
.dc-article__body blockquote { margin: 30px 0; padding: 6px 0 6px 24px; border-left: 3px solid var(--accent, #0E6B5E); font-family: var(--hfont, 'Newsreader', Georgia, serif); font-size: 21px; font-style: italic; line-height: 1.5; color: #14201C; }
.dc-article__body blockquote p { margin: 0; }
.dc-article__foot { margin-top: 40px; padding-top: 28px; border-top: 1px solid rgba(20, 32, 28, .1); }

/* ==========================================================================
   Imagini din campurile ACF (galerii, carduri, hero, inainte/dupa)
   Blocurile pastreaza exact aceleasi dimensiuni ca in design; imaginea doar
   umple containerul, iar placeholder-ul (.dc-ph) ramane doar cand lipseste.
   ========================================================================== */
.dc-media-img { display: block; width: 100%; height: 100%; object-fit: cover; }

.dc-gtile .dc-media-img,
.dc-member__photo .dc-media-img,
.dc-baview__pane .dc-media-img,
.dc-why-card__media .dc-media-img,
.dc-benefit__media .dc-media-img,
.dc-service-card__media .dc-media-img,
.dc-welcome__slide .dc-media-img,
.dc-dantura__media .dc-media-img { position: absolute; inset: 0; }

.dc-why-card__media,
.dc-dantura__media { position: relative; }

/* Etichetele si insignele raman deasupra imaginii care umple containerul. */
.dc-baview__tag { position: relative; }
.dc-baview__tag,
.dc-service-card__num,
.dc-member__tag,
.dc-benefit__badge,
.dc-gtile__over { z-index: 1; }

.dc-welcome__slide .dc-media-img { border-radius: inherit; }
.dc-cert-card--has-img { padding: 0; }
/* Componenta Certificate: diploma se vede intreaga, cu inaltimea ei naturala, pe
   orice ecran. In carusel, fiecare card isi pastreaza inaltimea imaginii (nu se
   intinde dupa cel mai inalt). Cardurile fara imagine raman cu raportul din design. */
.dc-cert-card.dc-cert-card--has-img { aspect-ratio: auto; align-self: flex-start; }
.dc-cert-card--has-img .dc-media-img { height: auto; }

/* Iconita incarcata din ACF, in locul pictogramei SVG din design (abordare,
   acreditari). Se incadreaza in caseta existenta, fara sa o umple. */
.dc-icon-img { width: 28px; height: 28px; object-fit: contain; }

/* Culoare de fundal aleasa per sectiune din ACF. Selectorul e mai specific
   decat regulile de sectiune (.dc-benefits, .dc-welcome etc.), deci le poate
   suprascrie; variabila vine din markup doar cand s-a ales alta culoare decat
   cea din design - vezi demo_site_bg_attrs() in inc/acf-render.php. */
.dc-page .dc-has-bg { background: var(--dc-section-bg); }

/* Lightbox galerie: imaginea reala inlocuieste placeholder-ul grafic. */
.dc-lightbox__img { width: 100%; height: 100%; object-fit: contain; background: #0f1815; }
.dc-lightbox__placeholder { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; }
.dc-lightbox__placeholder[hidden] { display: none; }
.dc-page .dc-simple-hero--photo {
	position: relative;
	background-image: var(--dc-hero-img);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}
.dc-page .dc-simple-hero--photo::before {
	content: '';
	position: absolute;
	inset: 0;
	background: var(--dc-hero-scrim, rgba(255, 255, 255, .7));
}
.dc-simple-hero__inner { position: relative; z-index: 1; }
.dc-contact-socials__inner {padding-top: 70px;}

@media (min-width: 1024px) and (max-width: 1200px) {
	.dc-approach__grid  {grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));}
	.dc-why__grid {grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));}
	.dc-why-card__media {aspect-ratio: 5 / 3;}
	.home .dc-cta-banner .dc-cta-banner__media {aspect-ratio: 4 / 3;}
	.dc-footer-grid {gap: 40px;}
	.dc-contact-details__grid {grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));}
	.dc-contact-card {padding: 20px;}
	.dc-contact-details__grid {gap: 12px;}
	.dc-contact-card__line {line-height: 1.4}
	.dc-social {width: 23.6%;}
	.dc-form-card {padding: 20px}
	.dc-form__note {font-size: 12px;}
	.dc-404__inner {padding-top: 40px;}
	.dc-df-hero__title {font-size: 40px;}
	.dc-cta-btn {font-size: 16px; padding: 16px 18px;}
	.dc-df-hero__inner .dc-cta-btn--glass {padding: 18px}
	.dc-compare-imgs {margin-bottom: 12px}
	.dc-df-after__img {height: 500px}
	.dc-plan__name {font-size: 24px;}
	.dc-plan {
		padding: 30px 20px
	}
}

@media (min-width: 1024px) and (max-width: 1365px) {
	.dc-accred__grid {grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));}
	.dc-accred-card__name {font-size: 16px;}
	.dc-accred-card__desc {line-height: 1.3}
	.ba-grid {grid-template-columns: repeat(3, minmax(0, 1fr));}
	.dc-baview__caption {font-size: 14px; line-height: 1.4}
	.dc-why-card__body {padding: 15px;}
	.dc-playlist__stage--fixed {height: 400px;}
	.dc-playlist-list {max-height: 400px}
	.dc-thankyou__title {max-width: 100%;}
	.dc-blog-card__media {aspect-ratio: 3.6 / 2;}
	.dc-service-card__media {aspect-ratio: 16 / 9;}
}

@media (min-width: 641px) and (max-width: 1023px) {
	.dc-footer-grid {grid-template-columns: repeat(3, 1fr) !important;gap: 40px !important;}
	.dc-footer-grid > :first-child { grid-column: 1 / -1; }
	.dc-footer__brand {justify-content: center;}
	.dc-footer__desc {max-width: 80%; text-align: center; margin: auto;}
	.dc-footer__socials {margin-top: 24px; justify-content: center;}
	.dc-footer__bottom-inner {padding-bottom: 100px}
	.dc-fab__btn {width: 50%;}
	.dc-fab {width: 100%; padding: 0 15px;}
	.dc-home-hero__inner {padding: 80px 15px; min-height: auto;}
	.dc-home-hero {min-height: auto;}
	.dc-accred-card{gap: 10px}
	.dc-feature__desc {font-size: 16px;}
	.dc-feature {padding: 20px}
	.dc-vgrid {gap: 15px;}
	.home .dc-cases-compare .dc-baview-item:last-child {display: none;}
	.dc-baview__caption {font-size: 14px;}
	.dc-dantura {grid-template-columns: repeat(1, 1fr)}
	.dc-dantura__btn {margin-top: 0;}
	.dc-services .dc-dantura > div:first-child {order: 2}
	.dc-services .dc-dantura > div:last-child {order: 1}
	.dc-dantura__media {aspect-ratio: 5 / 3;}
	.dc-dantura__text {max-width: 100%;}
	.dc-why-card__media, .dc-benefit__media {aspect-ratio: 5 / 3;}
	.dc-why-card__tag,.dc-benefit__tag {font-size: 16px;}
	.dc-playlist__stage--fixed {height: 460px;}
	.dc-playlist-list {max-height: 320px}
	.dc-cta-banner__content {justify-content: center;text-align: center;}
	.dc-cta-banner__title, .dc-cta-banner__text {max-width: 100%; text-align: center; margin: auto}
	.dc-cta-banner__content .dc-cta-actions {justify-content: center; width: 100%;}
	.dc-social {width: 48.7%;}
	.dc-legal-article__body h2 {margin-bottom: 5px}
	.dc-legal-article__body li {line-height: 1.5}
	.dc-thankyou__title {max-width: 100%;}
	.dc-blog-card__media {aspect-ratio: 3.6 / 2;}
	.dc-dantura > div:first-child {order: 2;}
	.dc-dantura > div:last-child {order: 1;}
	.dc-servicii__grid {grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));}
	.dc-adv__grid {grid-template-columns: repeat(2, 1fr);}
	.dc-plan__price-val {font-size: 40px;}
	.dc-plan__name {font-size: 24px;}
	.dc-acc-head {padding: 16px 20px;}
	.dc-df-trio__title {font-size: 16px;}
	.dc-df-why__title {line-height: 1.4}
	.dc-media-feature__header {text-align: left;margin-bottom: 20px}
	.dc-media-feature__extra {margin-bottom: 20px;}
	.dc-playlist__stage--feature, .dc-media-feature__media-img {min-height: 520px}
	.dc-implants__grid {grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));}
	.dc-implant-card__img {aspect-ratio: 5 / 3;}
	.dc-prosthetics__card {aspect-ratio: 1;}
	.dc-df-hero__video {min-height: 540px;}
}

@media only screen and (max-width: 640px) {
	.dc-ctaform__text {line-height: 1.4}
	.dc-reviews__slide {gap: 10px;}
	.dc-df-hero__video.dc-df-hero__video--yt {height: 400px;}
	.dc-thankyou__check {width: 66px; height: 66px;}
	.dc-df-hero__video {min-height: 340px;}
	.dc-cta-btn {width: 100%; padding: 14px 20px; font-size: 16px;}
	.dc-home-hero__inner {text-align: center;}
	.dc-home-hero__eyebrow-line {display: none;}
	.dc-home-hero__inner {padding: 56px 15px;min-height: auto;}
	.dc-home-hero {min-height: auto;}
	.dc-modal__title {font-size: 22px;}
	.dc-form-card .wpcf7-form-control:not([type="submit"]) {padding: 13px 15px;}
	.dc-form-card .wpcf7-form label {margin-bottom: 0px;}
	.dc-form-card .wpcf7-submit {font-size: 16px;padding: 14px;}
	.dc-modal__panel {padding: clamp(20px, 4vw, 40px);}
	.dc-form__note {font-size: 12px; line-height: 1.2}
	.dc-form-card .wpcf7-form {gap: 10px}
	.dc-implants__check-icon {display: none;}
	.dc-section-head {margin-bottom: 24px}
	.dc-benefits .dc-carousel-controls {margin-top: 24px}
	.dc-section-head__title, .dc-acc-head__name{line-height: 1.2}
	.dc-testim-influencers__inner {padding-top: 60px}
	.dc-df-why__text {font-size: 16px;}
	.dc-df-fit__row, .dc-df-after__item {align-items: flex-start;}
	.dc-df-donts__row, .dc-contact__checklist-item {align-items: flex-start;}
	.dc-plan {padding: 20px 16px;}
	.dc-contact__checklist-item .dc-contact__checklist-check {margin-top: 4px;}
	.dc-pricing__note {max-width: 100%;}
	.dc-accred-card {
		display: grid;
		grid-template-columns: auto 1fr;
		align-items: center;
		column-gap: 14px;
		row-gap: 2px;
		padding: 20px;
	}
	.dc-accred-card__icon {
		grid-column: 1;
		grid-row: 1 / span 2;
		width: 46px;
		height: 46px;
		border-radius: 13px;
	}
	.dc-accred-card__icon svg { width: 24px; height: 24px; }
	.dc-accred-card__tag { grid-column: 2; grid-row: 1; }
	.dc-accred-card > div:last-child { display: contents; }
	.dc-accred-card__name { grid-column: 2; grid-row: 2; margin-bottom: 0; }
	.dc-accred-card__desc { grid-column: 1 / -1; grid-row: 3; margin-top: 12px; }
	.dc-approach .dc-feature {
		display: grid;
		grid-template-columns: auto 1fr;
		align-items: center;
		gap: 0;
		column-gap: 14px;
		padding: 20px;
	}
	.dc-approach .dc-feature__icon { grid-column: 1; grid-row: 1; }
	.dc-approach .dc-feature__title { grid-column: 2; grid-row: 1; }
	.dc-approach .dc-feature__desc { grid-column: 1 / -1; grid-row: 2; margin-top: 12px; }

	/* Cardurile de pe pagina Contacte: iconița în stânga, eticheta cardului
	   (ADRESĂ / TELEFON / …) lângă ea, iar datele propriu-zise dedesubt. */
	.dc-contact-card {
		display: grid;
		grid-template-columns: auto 1fr;
		align-items: center;
		gap: 0;
		column-gap: 14px;
	}
	.dc-contact-card__icon { grid-column: 1; grid-row: 1; }
	.dc-contact-card__label { grid-column: 2; grid-row: 1; }
	.dc-contact-card__lines { grid-column: 1 / -1; grid-row: 2; margin-top: 12px; }

	.dc-adv .dc-feature {
		display: grid;
		grid-template-columns: auto 1fr;
		align-items: center;
		gap: 0;
		column-gap: 14px;
		padding: 20px;
	}
	.dc-adv .dc-feature__icon { grid-column: 1; grid-row: 1; }
	.dc-adv .dc-feature__title { grid-column: 2; grid-row: 1; }
	.dc-adv .dc-feature__desc { grid-column: 1 / -1; grid-row: 2; margin-top: 12px; }

	/* „Beneficiile tratamentului" (pagina unui serviciu): iconița în stânga,
	   titlul cardului lângă ea, descrierea dedesubt. */
	.dc-service-benefits .dc-feature {
		display: grid;
		grid-template-columns: auto 1fr;
		align-items: center;
		gap: 0;
		column-gap: 14px;
		padding: 20px;
	}
	.dc-service-benefits .dc-feature__icon { grid-column: 1; grid-row: 1; }
	.dc-service-benefits .dc-feature__title { grid-column: 2; grid-row: 1; }
	.dc-service-benefits .dc-feature__desc { grid-column: 1 / -1; grid-row: 2; margin-top: 12px; }

	/* „Alte servicii": pe mobil, sus rămâne doar titlul, apoi vin cardurile, iar
	   sub ele săgețile și, la final, linkul către toate serviciile.
	   „display: contents" pe rândul de antet scoate titlul și blocul de comenzi
	   la același nivel cu caruselul, ca să le putem reordona. */
	.dc-service-related__headrow { display: contents; }
	.dc-service-related__head { display: flex; flex-direction: column; }
	.dc-service-related__title { order: 1; margin-bottom: 24px; }
	.dc-service-related__head > .dc-carousel-viewport { order: 2; }
	.dc-service-related__nav {
		order: 3;
		/* În markup butonul e înaintea săgeților; inversăm ordinea vizuală. */
		flex-direction: column-reverse;
		align-items: center;
		gap: 18px;
		margin-top: 24px;
	}
	.dc-service-related__all { font-size: 16px; }
	/* „Etapele tratamentului": numărul etapei în stânga, titlul lângă el,
	   descrierea dedesubt. Săgeata de legătură e deja ascunsă sub 1080px. */
	.dc-step {
		display: grid;
		grid-template-columns: auto 1fr;
		align-items: center;
		gap: 0;
		column-gap: 14px;
		padding: 20px;
	}
	.dc-step__num { grid-column: 1; grid-row: 1; width: 46px; height: 46px; font-size: 19px; }
	.dc-step__title { grid-column: 2; grid-row: 1; }
	.dc-step__text { grid-column: 1 / -1; grid-row: 2; margin-top: 12px; }

	/* „Proteză mobilă vs. dantură fixă": pe mobil fiecare variantă vine cu poza
	   ei, urmată imediat de lista corespunzătoare — poză proteză, dezavantaje,
	   poză dantură fixă, avantaje.
	   „display: contents" scoate pozele și panourile din containerele lor, ca să
	   le putem intercala; altfel ar rămâne două grupuri separate. */
	.dc-comparison .dc-shell { display: flex; flex-direction: column; gap: 16px; }
	.dc-comparison .dc-compare-imgs,
	.dc-comparison .dc-compare__panels { display: contents; }
	.dc-comparison .dc-section-head { order: 1; }
	.dc-comparison .dc-compare-imgs > :first-child { order: 2; }
	.dc-comparison .dc-compare-panel--cons { order: 3; }
	.dc-comparison .dc-compare-imgs > :last-child { order: 4; }
	.dc-comparison .dc-compare-panel--pros { order: 5; }
	.dc-comparison .dc-compare-panel { padding: 22px 20px; }

	.dc-scroller__label {font-size: 12px;}
	.dc-feature__title {font-size: 18px;}
	.dc-section-head__text {line-height: 1.4}
	.dc-baview__caption {font-size: 15px; line-height: 1.3}
	.dc-baview__tag {font-size: 10px;}
	.dc-ctaform__inner {padding: 50px 15px;}
	.dc-ctaform__form .send_button {transform: none;}
	.dc-form-card {padding: 30px 16px;}
	.dc-welcome__eyebrow-line {display: none;}
	.dc-welcome__eyebrow {margin-bottom: 14px}
	.dc-welcome__body {line-height: 1.4}
	.dc-welcome__mission {text-align: center;}
	.dc-welcome__slider {min-height: 360px;}
	.dc-welcome__grid {gap: 36px;}
	.dc-cert-card {aspect-ratio: 3 / 3;}
	.dc-certs .dc-carousel-dots {display: none}
	.dc-carousel-controls {margin-top: 20px;}
	.dc-reviews__rating {gap: 5px;}
	.dc-reviews__rating-stars .dc-review__star {width: 26px; height: 26px;}
	.dc-reviews__head {margin-bottom: 26px;}
	.dc-cta-step__inner {padding: 50px 15px;}
	.dc-dantura {padding: 28px 15px;}
	.dc-dantura__text {line-height: 1.4;font-size: 17px; margin-bottom: 16px}
	.dc-dantura__btn {margin-top: 0; width: 100%; font-size: 16px; justify-content: center;}
	.dc-dantura > div:first-child {order: 2;}
	.dc-dantura > div:last-child {order: 1;}
	.dc-dantura__badge {font-size: 10px;}
	.dc-dantura__item {line-height: 1.3}
	.dc-services__controls {justify-content: center;}
	.dc-services__all {width: 100%;justify-content: center;}
	.dc-why-card__media {aspect-ratio: 6 / 3;}
	.dc-why-card__tag, .dc-benefit__tag {font-size: 16px; line-height: 1.3}
	.dc-why-card__body {padding: 18px;}
	.dc-benefit__media {aspect-ratio: 5 / 3;}
	.dc-benefit__body {padding-top: 40px}
	.dc-playlist__stage--fixed {height: 380px;}
	.dc-cta-banner__box {padding: 20px; text-align: center;}
	.dc-cta-banner__content {text-align: center; gap: 12px}
	.dc-cta-banner__text {line-height: 1.4}
	.dc-member__photo {height: 350px;}
	.dc-contact-split {gap: 30px; padding: 50px 15px 30px;}
	.dc-contact__map-shell {padding-bottom: 50px}
	.dc-footer__socials {margin-top: 25px;}
	.dc-footer__links {gap: 5px; font-size: 16px;}
	.dc-footer__col-title {font-size: 14px; margin-bottom: 8px;}
	.dc-fab {width: 100%; padding: 0 15px;}
	.dc-footer-grid {padding: 50px 15px 30px;}
	.dc-footer__bottom-inner {padding: 16px 15px 100px; justify-content: center; gap: 8px; flex-direction: column-reverse;}
	.dc-contact__map iframe {height: 240px;}
	.dc-social {width: 47.5%; display: block}
	.dc-contact-card {padding: 24px;}
	.dc-contact-card__icon {width: 40px;height: 40px;}
	.dc-contact-card__icon svg {width: 20px;}
	.dc-contact-details__grid {gap:6px;}
	.dc-contact-details__inner {padding-top: 50px;}
	.dc-contact-details.dc-has-bg .dc-contact-details__inner {padding-bottom: 50px;}
	.dc-contact-card__lines {gap: 0;}
	.dc-contact-socials__inner {padding-top: 60px}
	.dc-socials {gap: 12px;}
	.dc-social__icon {margin-bottom: 10px; width: 40px; height: 40px;}
	.dc-social {padding: 12px;}
	.dc-cform__grid {padding: 50px 15px; gap: 30px}
	.dc-cform__title, .dc-cform__text {text-align: center;}
	.dc-social__handle {margin-top: 0;}
	.dc-fab__btn {font-size: 14px;}
	.dc-legal-article__callout {display: block; padding: 16px;}
	.dc-legal-article__callout-icon {width: 44px;height: 44px; margin-bottom: 10px;}
	.dc-legal-article__body h2 {margin-bottom: 5px}
	.dc-legal-article__body li {line-height: 1.5}
	.dc-ty-contact__list {gap:8px;}
	.dc-blog .dc-shell {padding-top: 50px;}
	.dc-blog-pagination {margin-top: 30px;}
	.dc-footer__desc {max-width: 100%;}
	.dc-crumb {font-size: 10px;}
	.dc-404__inner {padding-top: 40px; padding-bottom: 70px}
	.dc-servicii .dc-shell, .dc-cazuri-video__inner {padding-top: 50px;}
	.dc-dantura {gap:30px}
	.dc-servicii__grid {grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));}
	.dc-adv__grid {grid-template-columns: repeat(1, 1fr);gap: 12px;}
	.dc-feature__icon {width: 44px;height: 44px;}
	.dc-acc-head__name {font-size: 18px}
	.dc-acc-head {padding: 20px 16px;}
	.dc-acc-body {padding: 2px 16px 14px}
	.dc-service-related__title {text-align: center;}
	.dc-testim-scroller .dc-shell {padding-top: 50px;}
	.page-template-cazuri-clinice .dc-vgrid {grid-template-columns: repeat(1, minmax(0, 1fr));gap: 12px;}
	.dc-plan__name {font-size: 24px;}
	.dc-acc-head {padding: 16px 20px;}
	.dc-pricing__inner {padding-top: 50px;}
	.dc-plan__price-val {font-size: 44px;}
	.dc-df-hero__disclaimer {font-size: 15px; text-align: center;}
	.dc-df-hero__social {display: block;}
	.dc-df-hero__avatar {width: 32px;height: 32px;}
	.dc-df-hero__avatars {justify-content: center;}
	.dc-df-hero__stars .dc-review__star {width: 20px; height: 20px;}
	.dc-df-hero__stars {font-size: 13px; justify-content: center;margin-top: 5px;}
	.dc-df-hero__social-sub {font-size: 15px;line-height: 1.3;text-align: center;}
	.dc-accred__grid {gap:10px;}
	h2.dc-section-head__title br {display: none;}
	.dc-df-checklist__row {align-items: flex-start;}
	.dc-df-checklist__q {font-size: 20px;}
	.dc-df-checklist__a, .dc-df-why__text {line-height: 1.4}
	.dc-df-donts__text{line-height: 1.4}
	.dc-df-explain__text, .dc-df-explain__goal-main {line-height: 1.3}
	.dc-df-why__card {padding: 20px}
	.dc-df-why__title, .dc-df-fit__text {line-height: 1.3}
	.dc-step__text {font-size: 16px;}
	.dc-media-feature__header {margin-bottom: 30px;}
	.dc-media-feature__extra {margin-bottom: 20px;}
	.dc-media-feature__body {gap: 9px; line-height: 1.4; text-align: center;}
	.dc-media-feature__badge {text-align: center; font-size: 10px;justify-content: center;}
	.dc-media-feature__badge svg {display: none;}
	.dc-media-feature__grid {gap:0}
	.dc-playlist__stage--feature, .dc-media-feature__media-img {min-height: 360px;}
	.dc-implants__inner {padding: 64px 15px;}
	.dc-implants__intro {gap: 10px; text-align: center;}
	.dc-implants__check {justify-content: center;}
	.dc-implants__checks {gap: 6px;}
	.dc-implant-card__img {aspect-ratio: 5 / 3;}
	.dc-prosthetics__card {aspect-ratio: 3 / 3;}
	.dc-prosthetics__grid {gap: 12px}
	.dc-gtile {aspect-ratio: 4 / 4;}
	.dc-comparison .dc-shell {gap: 0;}
	.dc-compare-panel--cons {margin-top: 5px; margin-bottom: 30px}
	.dc-compare-list {gap: 12px}
	.dc-compare-panel__title {line-height: 1.4}
	.dc-compare-panel--pros {margin-top: 5px}
	.dc-compare-item__mark {width: 20px;height: 20px}
	.dc-df-after__img {height: 320px;margin-bottom: 20px;}
	.dc-df-after__item, .dc-contact__text, .dc-contact__checklist-item {line-height: 1.4}
	.dc-df-after__check {width: 20px;height: 20px;margin-top: 5px}
	.dc-risks__grid {gap: 12px;}
	.dc-pricing .dc-section-head {margin-bottom: 24px;}
	.dc-clinic-gallery__grid {grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px;}
	.dc-plan__features {gap: 6px;}
	.dc-home-hero__text {line-height: 1.3}
}

/* Footer jos, pe telefon si tableta: linkurile legale centrate deasupra
   copyright-ului, fiecare intreg pe un rand (trec pe randul urmator doar cand
   nu mai incap), cu o linie care le desparte de copyright. */
@media (max-width: 1023px) {
	.dc-footer__bottom-inner { flex-direction: column-reverse; align-items: center; justify-content: center; gap: 14px; text-align: center; padding: 16px 15px 70px;}
	.dc-footer__legal { width: 100%; flex-wrap: wrap; justify-content: center; gap: 10px 22px; padding-bottom: 14px; border-bottom: 1px solid rgba(255, 255, 255, .08); }
	.dc-footer__legal-link { white-space: nowrap; }
	.dc-footer__copy{font-size:11px;}
}

/* Bara fixa Suna acum / WhatsApp pe telefon si tableta: compacta (mai joasa,
   mai aproape de margine), iar butonul de cookie-uri sta pe acelasi rand, in
   stanga ei, in loc sa ocupe un rand separat deasupra. Cat timp butonul nu e
   afisat (inainte de alegere sau fara modul), bara ia toata latimea. */
@media (max-width: 1023px) {
	.dc-fab { left: 0; right: 0; width: 100%; transform: none; bottom: 12px; padding: 0 15px; gap: 8px; }
	.dc-fab__btn { flex: 1 1 0; width: auto; min-width: 0; height: 44px; padding: 0 12px; gap: 8px; font-size: 14px; }
	.dc-fab__ico { width: 18px; height: 18px; }
	.mcc-reopen { left: 15px; bottom: 12px; width: 44px; height: 44px; }
	html:not(.mcc-pending) body:has(.mcc-reopen:not([hidden])) .dc-fab { padding-left: 67px; }
}

/* Galeriile de cazuri cu derulare continua - Home (#cazuri) si Dantura fixa
   (#df-transformari): 3 fotografii pe ecran pe desktop, 2 pe tableta, una mare pe
   telefon, toate orizontale (4:3). Durata animatiei creste odata cu latimea
   placilor, ca viteza de derulare sa ramana aceeasi. --mq-tile-secs = in cate
   secunde trece o placa prin fata, pentru derularea facuta din JavaScript. */
#cazuri .dc-gtile,
#df-transformari .dc-gtile { width: calc((100vw - 28px) / 3); aspect-ratio: 4 / 3; }
#cazuri .mq-track--r, #cazuri .mq-track--l,
#df-transformari .mq-track--r, #df-transformari .mq-track--l { animation-duration: 64s; }
#cazuri .mq, #df-transformari .mq { --mq-tile-secs: 14; }
@media (max-width: 1023px) {
	#cazuri .dc-gtile,
	#df-transformari .dc-gtile { width: calc((100vw - 14px) / 2); }
	#cazuri .mq-track--r, #cazuri .mq-track--l,
	#df-transformari .mq-track--r, #df-transformari .mq-track--l { animation-duration: 56s; }
	#cazuri .mq, #df-transformari .mq { --mq-tile-secs: 12.5; }
}
@media (max-width: 640px) {
	#cazuri .dc-gtile,
	#df-transformari .dc-gtile { width: 82vw; }
	#cazuri .mq-track--r, #cazuri .mq-track--l,
	#df-transformari .mq-track--r, #df-transformari .mq-track--l { animation-duration: 50s; }
	#cazuri .mq, #df-transformari .mq { --mq-tile-secs: 11; }
}

/* Dantura fixa - "Dincolo de zambet": pe doua coloane, imaginea ia inaltimea
   coloanei cu text (imaginea e absoluta, deci randul il da textul). Pe o coloana
   raman inaltimile fixe de mai sus. */
@media (min-width: 961px) {
	.dc-df-after__img { height: auto; min-height: 420px; }
	.dc-df-after__img .dc-media-img { position: absolute; inset: 0; }
}

/* Dantura fixa - cardul "Certificat implant": poza din stanga are inaltimea
   textului din dreapta (latimea ramane 120px), incadrata spre partea de sus. */
.dc-media-feature__extra { align-items: stretch; }
.dc-media-feature__extra > div:last-child { align-self: center; }
.dc-media-feature__extra-img { position: relative; aspect-ratio: auto; min-height: 72px; }
.dc-media-feature__extra-img .dc-media-img { position: absolute; inset: 0; object-position: center 20%; }
