/* DrDorosti Theme 1.2.1 — global shell. */
:root {
	--ddt-primary: var(--dd-color-primary, #123b56);
	--ddt-primary-hover: var(--dd-color-primary-hover, #0e3046);
	--ddt-primary-soft: var(--dd-color-primary-soft, #edf4f5);
	--ddt-secondary: var(--dd-color-secondary, #0f766e);
	--ddt-secondary-hover: var(--dd-color-secondary-hover, #0c5f59);
	--ddt-accent: var(--dd-color-accent, #9a6a2f);
	--ddt-bg: var(--dd-color-background, #f7fafb);
	--ddt-surface: var(--dd-color-surface, #fff);
	--ddt-surface-alt: var(--dd-color-surface-alt, #edf4f5);
	--ddt-text: var(--dd-color-text, #15252d);
	--ddt-muted: var(--dd-color-text-muted, #53636b);
	--ddt-heading: var(--dd-color-heading, #102d40);
	--ddt-border: var(--dd-color-border, #d6e0e3);
	--ddt-divider: var(--dd-color-divider, #e6ecee);
	--ddt-focus: var(--dd-color-focus, #a85f00);
	--ddt-on-primary: var(--dd-color-on-primary, #fff);
	--ddt-on-secondary: var(--dd-color-on-secondary, #fff);
	--ddt-body-font: var(--dd-typography-body-font, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
	--ddt-heading-font: var(--dd-typography-heading-font, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
	--ddt-body-size: var(--dd-typography-body-size, 17px);
	--ddt-radius-sm: var(--dd-radius-sm, 8px);
	--ddt-radius-md: var(--dd-radius-md, 12px);
	--ddt-radius-lg: var(--dd-radius-lg, 18px);
	--ddt-shadow-sm: var(--dd-shadow-sm, 0 1px 3px rgba(16, 37, 45, .08));
	--ddt-shadow-md: var(--dd-shadow-md, 0 6px 18px rgba(16, 37, 45, .10));
	--ddt-wide: var(--dd-layout-wide, 1200px);
	--ddt-touch: var(--dd-layout-touch-target, 48px);
	--ddt-header-height: var(--dd-layout-header-height, 60px);
	--ddt-gutter: var(--dd-layout-page-gutter-small, 16px);
}

@media (min-width: 782px) {
	:root { --ddt-gutter: var(--dd-layout-page-gutter, 20px); }
}

html { scroll-behavior: smooth; }
body {
	margin: 0;
	background: var(--ddt-bg);
	color: var(--ddt-text);
	font-family: var(--ddt-body-font);
	font-size: var(--ddt-body-size);
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}

*, *::before, *::after { box-sizing: border-box; }
img { max-width: 100%; height: auto; }
a, button, input, textarea, select { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {
	outline: 3px solid var(--ddt-focus);
	outline-offset: 3px;
}

.dd-skip-link {
	position: fixed;
	inset-block-start: 8px;
	inset-inline-start: 8px;
	z-index: 100000;
	transform: translateY(-160%);
	padding: 10px 14px;
	border-radius: var(--ddt-radius-sm);
	background: var(--ddt-heading);
	color: #fff;
	font-weight: 700;
}
.dd-skip-link:focus { transform: translateY(0); }

.dd-site-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	min-height: var(--ddt-header-height);
	border-bottom: 1px solid var(--ddt-border);
	border-bottom-color: color-mix(in srgb, var(--ddt-border) 82%, transparent);
	background: var(--ddt-surface);
	background: color-mix(in srgb, var(--ddt-surface) 94%, transparent);
	box-shadow: 0 1px 0 rgba(16, 37, 45, .02);
	backdrop-filter: blur(14px) saturate(1.15);
}
.admin-bar .dd-site-header { top: 46px; }
.dd-site-header__inner {
	min-height: var(--ddt-header-height);
	padding-inline: var(--ddt-gutter);
	gap: 12px;
}

.dd-brand { min-width: 0; gap: 10px; }
.dd-brand__logo img { border-radius: 14px; }
.dd-brand__text { min-width: 0; }
.dd-brand__text .wp-block-site-title { margin: 0; color: var(--ddt-heading); line-height: 1.25; white-space: nowrap; }
.dd-brand__text .wp-block-site-title a { color: inherit; }
.dd-brand__text .wp-block-site-tagline { display: none; margin: 0; line-height: 1.5; }

.dd-primary-nav { min-width: var(--ddt-touch); }
.dd-primary-nav .wp-block-navigation__responsive-container-open,
.dd-primary-nav .wp-block-navigation__responsive-container-close {
	width: var(--ddt-touch);
	height: var(--ddt-touch);
	border-radius: var(--ddt-radius-md);
	align-items: center;
	justify-content: center;
	color: var(--ddt-heading);
}
.dd-primary-nav .wp-block-navigation__responsive-container-open:hover { background: var(--ddt-primary-soft); }
.dd-primary-nav .wp-block-navigation__responsive-container.is-menu-open {
	padding: calc(20px + env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));
	background: var(--ddt-surface);
	color: var(--ddt-text);
}
.dd-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 4px; width: 100%; }
.dd-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { width: 100%; }
.dd-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	width: 100%;
	min-height: var(--ddt-touch);
	padding: 12px 4px;
	font-size: 18px;
	font-weight: 700;
}
.dd-primary-nav .current-menu-item > .wp-block-navigation-item__content { color: var(--ddt-secondary); }

.dd-nav-mobile-appointment > .wp-block-navigation-item__content {
	margin-block-start: 8px;
	justify-content: center;
	border-radius: var(--ddt-radius-md);
	background: var(--ddt-secondary);
	color: var(--ddt-on-secondary) !important;
}

.dd-header-cta { display: none; }
.dd-header-cta .wp-block-button__link {
	min-height: var(--ddt-touch);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding-inline: 18px;
	border: 1px solid transparent;
	box-shadow: var(--ddt-shadow-sm);
	transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.dd-header-cta .wp-block-button__link:hover { transform: translateY(-1px); background: var(--ddt-secondary-hover) !important; box-shadow: var(--ddt-shadow-md); }

.dd-main {
	min-height: 55vh;
	padding-block: clamp(32px, 5vw, 64px);
	padding-inline: var(--ddt-gutter);
}
.dd-main > * + * { margin-block-start: 24px; }
.dd-post-meta { color: var(--ddt-muted); font-size: 14px; gap: 12px; }

.dd-content-card {
	height: 100%;
	padding: 14px;
	border: 1px solid var(--ddt-border);
	border-radius: var(--ddt-radius-lg);
	background: var(--ddt-surface);
	box-shadow: var(--ddt-shadow-sm);
	overflow: hidden;
}
.dd-content-card .wp-block-post-featured-image { margin-block: -14px 14px; margin-inline: -14px; }
.dd-content-card .wp-block-post-featured-image img { width: 100%; object-fit: cover; }
.dd-content-card .wp-block-post-title { margin-block: 0 8px; }
.dd-content-card .wp-block-post-excerpt { color: var(--ddt-muted); }

.dd-empty-state {
	margin-block: clamp(40px, 10vw, 120px);
	padding: clamp(24px, 5vw, 48px);
	border: 1px solid var(--ddt-border);
	border-radius: var(--ddt-radius-lg);
	background: var(--ddt-surface);
	box-shadow: var(--ddt-shadow-sm);
}

.dd-site-footer {
	margin-block-start: clamp(48px, 8vw, 96px);
	padding-block: clamp(40px, 7vw, 72px) 24px;
	padding-inline: var(--ddt-gutter);
	border-top: 1px solid var(--ddt-divider);
	background: #102d40;
	background: color-mix(in srgb, var(--ddt-heading) 97%, #000);
	color: #eaf1f3;
}
.dd-site-footer a { color: inherit; }
.dd-site-footer a:hover { color: #fff; }
.dd-site-footer h2, .dd-site-footer h3, .dd-site-footer .wp-block-site-title { color: #fff; }
.dd-site-footer .has-text-muted-color { color: #b9c7cc !important; }
.dd-site-footer__grid { gap: 32px 24px; }
.dd-footer-brand { max-width: 360px; }
.dd-footer-column .wp-block-heading { margin-block: 0 12px; }
.dd-footer-nav .wp-block-navigation__container { gap: 2px; align-items: stretch; }
.dd-footer-nav .wp-block-navigation-item__content {
	min-height: var(--ddt-touch);
	display: flex;
	align-items: center;
	padding: 6px 0;
	color: #d7e2e5;
}
.dd-site-footer .wp-block-separator { margin-block: 32px 20px; opacity: .28; }
.dd-site-footer__legal { gap: 12px 24px; }
.dd-site-footer__legal p { margin: 0; }
.dd-legal-nav .wp-block-navigation__container { gap: 18px; }
.dd-legal-nav .wp-block-navigation-item__content { color: #b9c7cc; font-size: 14px; }

@media (min-width: 600px) {
	.dd-brand__text .wp-block-site-tagline { display: block; }
}

@media (min-width: 782px) {
	.admin-bar .dd-site-header { top: 32px; }
	.dd-site-header { min-height: 72px; }
	.dd-site-header__inner { min-height: 72px; gap: 20px; }
	.dd-primary-nav { flex: 1; }
	.dd-primary-nav .wp-block-navigation__container { gap: clamp(10px, 1.5vw, 22px); }
	.dd-primary-nav .wp-block-navigation-item__content { min-height: 44px; display: inline-flex; align-items: center; position: relative; }
	.dd-primary-nav .wp-block-navigation-item__content::after {
		content: "";
		position: absolute;
		inset-inline: 0;
		inset-block-end: 2px;
		height: 2px;
		border-radius: 999px;
		background: var(--ddt-secondary);
		transform: scaleX(0);
		transform-origin: center;
		transition: transform .18s ease;
	}
	.dd-primary-nav .wp-block-navigation-item__content:hover::after,
	.dd-primary-nav .current-menu-item > .wp-block-navigation-item__content::after { transform: scaleX(1); }
	.dd-nav-mobile-appointment { display: none !important; }
	.dd-header-cta { display: flex; }
}

@media (max-width: 781px) {
	.dd-brand { min-width: 0; }
	.dd-brand__text .wp-block-site-title { max-width: 46vw; overflow: hidden; text-overflow: ellipsis; }
	.dd-site-footer__legal { align-items: flex-start; }
}

@media (max-width: 360px) {
	.dd-brand__logo { display: none; }
	.dd-brand__text .wp-block-site-title { max-width: 62vw; }
}

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

@media print {
	.dd-site-header, .dd-site-footer, .dd-skip-link { display: none !important; }
	.dd-main { padding: 0; }
}

/* Final mobile navigation dock and Core integration shell. */
.dd-mobile-dock {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	position: fixed;
	z-index: 9000;
	inset-inline: 10px;
	bottom: max(8px, env(safe-area-inset-bottom));
	min-height: 58px;
	padding: 6px;
	border: 1px solid color-mix(in srgb, var(--ddt-border) 78%, transparent);
	border-radius: 18px;
	background: color-mix(in srgb, var(--ddt-surface) 96%, transparent);
	box-shadow: 0 12px 34px rgba(16, 37, 45, .16);
	backdrop-filter: blur(16px) saturate(1.12);
}
.dd-mobile-dock a {
	display: inline-flex;
	min-height: 48px;
	align-items: center;
	justify-content: center;
	border-radius: 13px;
	color: var(--ddt-muted);
	font-size: 14px;
	font-weight: 800;
}
.dd-mobile-dock__primary { background: var(--ddt-secondary); color: var(--ddt-on-secondary) !important; }
.dd-site-footer > .dd-social-links { max-width: var(--ddt-wide); margin: 28px auto 0; }
.dd-social-links { display: flex; flex-wrap: wrap; gap: 8px; }
.dd-social-links a { display: inline-flex; min-height: 44px; align-items: center; padding-inline: 13px; border: 1px solid currentColor; border-radius: 999px; font-size: 14px; font-weight: 800; }

@media (max-width: 781px) {
	body { padding-bottom: calc(78px + env(safe-area-inset-bottom)); }
	.dd-core-active .dd-chat { bottom: calc(78px + env(safe-area-inset-bottom)); }
	.dd-core-active .dd-chat__panel { bottom: calc(74px + env(safe-area-inset-bottom)); height: min(680px, calc(100dvh - 88px)); }
}
@media (min-width: 782px) { .dd-mobile-dock { display: none; } }
@media print { .dd-mobile-dock, .dd-chat { display: none !important; } body { padding-bottom: 0; } }

/* 1.1.1 presentation refinement */
.dd-site-header{box-shadow:0 5px 22px rgba(16,45,64,.045)}
.dd-site-header__inner{max-width:var(--ddt-wide);margin-inline:auto;width:100%}
.dd-primary-nav .wp-block-navigation-item__content{font-weight:800}
.dd-mobile-dock{border-radius:20px;box-shadow:0 16px 42px rgba(16,37,45,.18)}
.dd-main{max-width:1440px;margin-inline:auto;width:100%}
.dd-content-card{padding:16px}
.dd-empty-state{border-radius:24px;box-shadow:0 14px 38px rgba(16,45,64,.07)}
