/**
 * Mobile / responsive layer — Dr Amir Ahmadi
 * Phase 3–4: cohesion + internal page polish.
 *
 * Breakpoint scale (use these only going forward):
 *   --dr-bp-mobile:  480px
 *   --dr-bp-tablet:  768px
 *   --dr-bp-laptop: 1024px
 *   desktop:        ≥1025px
 */

:root {
	--dr-bp-mobile: 480px;
	--dr-bp-tablet: 768px;
	--dr-bp-laptop: 1024px;
}

/* ═══════════════════════════════════════════
   I2 / S4 — Hero ↔ Trust seam (mobile)
   Drop negative-margin / height:0 hacks on narrow viewports.
   Keep glass overlap on desktop only.
   ═══════════════════════════════════════════ */
@media (max-width: 1024px) {
	.dr-hero--v3 + .dr-trust {
		height: auto;
		margin: 0;
		padding: 0 0 1.25rem;
		overflow: visible;
		z-index: 5;
	}

	.dr-hero--v3 + .dr-trust > .dr-container {
		transform: none;
	}

	.dr-hero--v3 + .dr-trust .dr-trust__grid {
		margin-top: -1.15rem;
		min-height: 0;
		padding: 1rem 0.85rem;
	}

	.dr-hero--v3 + .dr-trust .dr-trust__item {
		padding: 0.75rem 0.65rem;
		gap: 0.65rem;
	}

	.dr-hero--v3 + .dr-trust + .dr-services {
		padding-top: var(--dr-section-space, 3.5rem);
	}

	/* Kill fallback negative pull on mobile */
	body.dr-ahmadi-theme .dr-trust {
		margin-top: 0;
		padding-bottom: 1.25rem;
	}

	body.dr-ahmadi-theme .dr-hero--v3 + .dr-trust {
		margin-top: 0;
		padding-bottom: 1.25rem;
	}
}

@media (max-width: 768px) {
	.dr-hero--v3 + .dr-trust .dr-trust__grid {
		margin-top: -0.85rem;
	}
}

@media (max-width: 480px) {
	.dr-hero--v3 + .dr-trust {
		padding-bottom: 1rem;
	}

	.dr-hero--v3 + .dr-trust .dr-trust__grid {
		margin-top: -0.5rem;
		padding: 0.75rem 0.65rem;
		border-radius: 14px;
	}

	.dr-hero--v3 + .dr-trust + .dr-services {
		padding-top: var(--dr-section-space, 3rem);
	}
}

/* ═══════════════════════════════════════════
   Shared mobile spacing / section rhythm
   ═══════════════════════════════════════════ */
@media (max-width: 1024px) {
	body.dr-ahmadi-theme .wp-block-group.dr-container {
		width: min(100% - 1.75rem, var(--dr-container));
	}
}

@media (max-width: 768px) {
	:root {
		--dr-section-space: 3.25rem;
	}
}

@media (max-width: 480px) {
	:root {
		--dr-section-space: 2.75rem;
	}

	body.dr-ahmadi-theme .wp-block-group.dr-container {
		width: min(100% - 1.35rem, var(--dr-container));
	}
}

/* ═══════════════════════════════════════════
   Phase 4 — Internal pages polish
   Services · Blog · Nobat · Reels · Page heroes
   ═══════════════════════════════════════════ */

/* ── Page heroes (about / services / contact / faq / gallery) ── */
@media (max-width: 1024px) {
	.dr-xhero {
		min-height: auto;
		padding-block: 1.75rem 2.25rem;
		text-align: center;
	}

	.dr-xhero__copy {
		align-items: center;
	}

	.dr-xhero__badge {
		align-self: center;
	}

	.dr-xhero__actions {
		justify-content: center;
		flex-wrap: wrap;
	}

	.dr-xhero__title {
		font-size: clamp(1.55rem, 4.5vw, 2.15rem);
	}

	.dr-xhero__lead,
	.dr-xhero .dr-xhero__desc {
		margin-inline: auto;
		max-width: 36rem;
	}
}

@media (max-width: 768px) {
	.dr-xhero__stage {
		min-height: 260px;
		max-width: 340px;
	}

	.dr-xhero__figure-wrap {
		max-width: 240px;
	}
}

@media (max-width: 480px) {
	.dr-xhero__actions {
		flex-direction: column;
		align-items: stretch;
		width: 100%;
	}

	.dr-xhero__actions .dr-btn {
		width: 100%;
		justify-content: center;
		min-height: 48px;
	}

	.dr-xhero__badge {
		white-space: normal;
		text-align: center;
		line-height: 1.45;
	}
}

/* ── Gallery (before/after page) ── */
@media (max-width: 1024px) {
	/* Hero: copy only — gallery grid follows immediately */
	.dr-xhero--gallery .dr-xhero__stage,
	.dr-xhero--gallery .dr-xhero__trust,
	.dr-xhero--gallery .dr-xhero__actions {
		display: none !important;
	}

	.dr-xhero--gallery {
		padding-bottom: 1.5rem;
	}

	.dr-xhero--gallery .dr-xhero__desc {
		margin-bottom: 0;
	}

	/* Title already in hero — skip duplicate section heading */
	.dr-before-after--page .dr-section-head {
		display: none;
	}

	.dr-before-after--page .dr-before-after {
		padding-top: 1.75rem;
	}
}

@media (max-width: 768px) {
	/* Keep horizontal carousel (corporate 480px grid rule must not win) */
	.dr-before-after--page .dr-ba-grid,
	.dr-before-after--mockup .dr-ba-grid {
		display: flex !important;
		grid-template-columns: unset !important;
	}

	.dr-before-after--page .dr-ba-toolbar {
		margin-bottom: 0.85rem;
	}

	.dr-before-after--page .dr-ba-card__img figcaption,
	.dr-before-after--mockup .dr-ba-card__img figcaption {
		font-size: 0.82rem;
		font-weight: 800;
		top: 0.65rem;
		color: var(--dr-ink);
	}

	.dr-before-after--page .dr-ba-card__meta,
	.dr-before-after--mockup .dr-ba-card__meta {
		font-size: 0.92rem;
		line-height: 1.5;
		padding: 1rem 0.85rem;
	}

	.dr-before-after--page .dr-ba-card__labels span,
	.dr-before-after--mockup .dr-ba-card__labels span {
		font-size: 0.78rem;
		padding: 0.35rem 0.75rem;
	}

	.dr-before-after--page .dr-ba-card,
	.dr-before-after--mockup .dr-ba-card {
		flex: 0 0 min(92%, 20rem);
		width: min(92%, 20rem);
		max-width: min(92%, 20rem);
	}

	.dr-before-after--page .dr-ba-card__compare,
	.dr-before-after--mockup .dr-ba-card__compare {
		min-height: 280px;
	}
}

@media (max-width: 480px) {
	.dr-xhero--gallery .dr-xhero__title {
		font-size: clamp(1.45rem, 5.5vw, 1.85rem);
	}

	.dr-before-after--page .dr-ba-filter {
		font-size: 0.85rem;
		padding: 0.7rem 1.1rem;
		min-height: 44px;
	}

	.dr-before-after--page .dr-ba-view-btn {
		font-size: 0.88rem;
	}

	.dr-before-after--page .dr-ba-card,
	.dr-before-after--mockup .dr-ba-card {
		flex: 0 0 90%;
		width: 90%;
		max-width: 90%;
	}

	.dr-before-after--page .dr-ba-card__meta,
	.dr-before-after--mockup .dr-ba-card__meta {
		font-size: 0.95rem;
	}
}

/* ── Services archive page + service single ── */
@media (max-width: 1024px) {
	/* Hero: copy only — service grid follows immediately */
	.dr-xhero--services .dr-xhero__stage,
	.dr-xhero--services .dr-xhero__trust,
	.dr-xhero--services .dr-xhero__actions {
		display: none !important;
	}

	.dr-xhero--services {
		padding-bottom: 1.5rem;
	}

	.dr-xhero--services .dr-xhero__desc {
		margin-bottom: 0;
	}

	/* Title already in hero — skip duplicate catalog heading */
	.dr-svc-arch__head-copy {
		display: none;
	}

	.dr-svc-arch__head {
		margin-bottom: 1rem;
	}

	.dr-svc-arch {
		padding-top: 1.75rem;
	}

	/* Horizontal filter strip */
	.dr-svc-arch__filters {
		display: flex;
		flex-wrap: nowrap;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		width: 100%;
		max-width: 100%;
		justify-content: flex-start;
		padding: 0.4rem;
		margin-bottom: 1rem;
		border-radius: var(--dr-radius-md);
	}

	.dr-svc-arch__filters::-webkit-scrollbar {
		display: none;
	}

	.dr-svc-arch__filter {
		flex: 0 0 auto;
		min-height: 44px;
		min-width: auto;
		font-size: 0.85rem;
		padding: 0.55rem 1.05rem;
		white-space: nowrap;
		text-align: center;
	}

	/* Compact stats row — not stacked */
	.dr-svc-arch__stats {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 0.5rem;
	}

	.dr-svc-arch__stat {
		padding: 0.65rem 0.45rem;
	}

	.dr-svc-arch__stat strong {
		font-size: 1.15rem;
	}

	.dr-svc-arch__stat span {
		font-size: 0.68rem;
		line-height: 1.35;
	}

	.dr-service-page__hero-actions {
		flex-wrap: wrap;
		gap: 0.65rem;
	}

	.dr-service-page__benefits,
	.dr-service-page__steps {
		gap: 0.65rem;
	}
}

@media (max-width: 768px) {
	.dr-svc-arch__grid {
		grid-template-columns: 1fr !important;
		gap: 1rem;
	}

	.dr-svc-arch__card-excerpt {
		font-size: 0.88rem;
		line-height: 1.7;
	}

	.dr-svc-arch__card-title {
		font-size: 1.05rem;
	}

	.dr-svc-arch__card-sub {
		font-size: 0.88rem;
	}

	.dr-svc-arch__card-cat {
		font-size: 0.75rem;
	}

	.dr-svc-arch__card-badge {
		font-size: 0.72rem;
	}

	.dr-svc-arch__card-actions {
		flex-direction: column;
		align-items: stretch;
		gap: 0.5rem;
	}

	.dr-svc-arch__card-link,
	.dr-svc-arch__card-book {
		min-height: 48px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		font-size: 0.85rem;
	}

	.dr-svc-arch__card-book {
		padding: 0.65rem 1rem;
		text-align: center;
	}

	.dr-service-page__section {
		padding-block: 2rem;
	}

	.dr-service-page__intro-block {
		gap: 1.25rem;
	}
}

@media (max-width: 480px) {
	.dr-xhero--services .dr-xhero__title {
		font-size: clamp(1.45rem, 5.5vw, 1.85rem);
	}

	.dr-svc-arch__card-media {
		height: 128px;
	}

	.dr-svc-arch__card-media img {
		height: 80px;
	}

	.dr-svc-arch__card-body {
		padding: 0.95rem 1rem 1.05rem;
	}

	.dr-service-page__hero-actions {
		flex-direction: column;
		align-items: stretch;
	}

	.dr-service-page__hero-actions .dr-btn {
		width: 100%;
		justify-content: center;
		min-height: 48px;
	}

	.dr-service-page__steps li,
	.dr-service-page__benefits li {
		padding: 0.85rem 1rem;
	}
}

/* ── Blog archive ── */
@media (max-width: 1024px) {
	.dr-blog-hero {
		text-align: center;
	}

	.dr-blog-hero__content {
		align-items: center;
	}

	/* Declutter hero: visual + float card + book CTA (bottom nav / FAB cover booking) */
	.dr-blog-hero__visual,
	.dr-blog-hero__float-card,
	.dr-blog-hero__cta {
		display: none !important;
	}

	.dr-blog-hero--cinematic {
		padding-bottom: 1.75rem;
		min-height: auto;
	}

	.dr-blog-hero__grid {
		grid-template-columns: 1fr;
	}

	.dr-blog-hero__stats {
		justify-content: center;
		margin-inline: auto;
	}

	.dr-blog-hero__search {
		width: 100%;
		max-width: 28rem;
		margin-inline: auto;
	}

	/* Category chips already float under hero — hide duplicate sidebar widgets */
	.dr-blog-sidebar__search,
	.dr-blog-sidebar__widget:has(.dr-blog-sidebar__cats),
	.dr-blog-sidebar__widget:has(.dr-blog-sidebar__recent) {
		display: none !important;
	}

	/* Breadcrumb + section head add noise before featured article */
	.dr-blog-layout > .dr-breadcrumb {
		display: none;
	}

	.dr-blog-main__subtitle {
		display: none;
	}

	.dr-blog-main__head {
		margin-bottom: 1.15rem;
		text-align: center;
	}

	.dr-blog-main__head::after {
		inset-inline-start: auto;
		left: 50%;
		transform: translateX(-50%);
		width: 3rem;
	}

	.dr-blog-card__body {
		padding: 1.1rem 1.15rem 1.25rem;
	}

	.dr-blog-card__title {
		font-size: 1.05rem;
		line-height: 1.5;
	}

	.dr-blog-card__excerpt {
		font-size: 0.9rem;
		line-height: 1.7;
	}

	.dr-blog-card__link {
		min-height: 44px;
		align-items: center;
	}

	.dr-blog-featured__overlay > p:empty {
		display: none;
	}

	.dr-blog-featured__overlay > p:not(.dr-blog-featured__excerpt) {
		margin: 0;
		display: contents;
	}
}

@media (max-width: 768px) {
	.dr-blog-hero__title {
		font-size: clamp(1.55rem, 5.5vw, 2.1rem);
	}

	.dr-blog-hero .dr-blog-hero__desc {
		font-size: 0.92rem;
		max-width: 34rem;
		margin-inline: auto;
	}

	.dr-blog-hero__stat strong {
		font-size: 1.25rem;
	}

	.dr-blog-hero__stat span {
		font-size: 0.72rem;
	}

	.dr-blog-categories--float {
		margin-top: -0.5rem;
		margin-bottom: 0.75rem;
	}

	.dr-blog-cat-chip {
		min-height: 44px;
		padding: 0.5rem 0.9rem;
	}

	.dr-blog-cat-chip__label {
		font-size: 0.82rem;
	}

	.dr-blog-card__title {
		font-size: 1.08rem;
	}

	.dr-blog-pagination {
		flex-wrap: wrap;
		justify-content: center;
		gap: 0.5rem;
	}

	.dr-blog-pagination .page-numbers {
		min-width: 44px;
		min-height: 44px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}

	/* Featured overlay — keep cinematic look, fix mobile readability */
	.dr-blog-featured--editorial {
		margin-bottom: 1.5rem;
		border-radius: var(--dr-radius-sm);
	}

	.dr-blog-featured__img {
		height: clamp(280px, 72vw, 360px);
	}

	.dr-blog-featured__overlay {
		padding: 1.25rem 1rem 1.15rem;
		background:
			linear-gradient(
				0deg,
				rgba(15, 23, 42, 0.96) 0%,
				rgba(15, 23, 42, 0.72) 42%,
				rgba(15, 23, 42, 0.2) 100%
			);
	}

	.dr-blog-featured__overlay > p:empty {
		display: none;
	}

	.dr-blog-featured__overlay > p:not(.dr-blog-featured__excerpt) {
		margin: 0;
		display: contents;
	}

	.dr-blog-featured__label {
		font-size: 0.7rem;
		margin-bottom: 0.35rem;
		color: rgba(255, 255, 255, 0.8);
	}

	.dr-blog-featured__badge {
		font-size: 0.72rem;
		padding: 0.3rem 0.7rem;
		margin-bottom: 0.65rem;
	}

	.dr-blog-featured__title {
		font-size: clamp(1.15rem, 4.2vw, 1.4rem);
		line-height: 1.4;
		margin: 0 0 0.5rem;
		max-width: none;
		color: #fff;
	}

	.dr-blog-featured__excerpt {
		font-size: 0.84rem;
		line-height: 1.65;
		margin: 0 0 0.9rem;
		max-width: none;
		opacity: 0.9;
		color: #fff;
		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}

	.dr-blog-featured__cta {
		align-self: flex-start;
		min-height: 44px;
		padding: 0.55rem 1rem;
		font-size: 0.82rem;
		display: inline-flex;
		align-items: center;
		gap: 0.4rem;
	}

	.dr-blog-featured__cta svg {
		transform: scaleX(-1);
		width: 16px;
		height: 16px;
	}

	/* Sidebar: single column, popular still useful */
	.dr-blog-sidebar__inner {
		grid-template-columns: 1fr !important;
		gap: 0.85rem;
	}

	.dr-blog-sidebar__popular-link,
	.dr-blog-sidebar__recent a {
		min-height: 44px;
	}
}

@media (max-width: 480px) {
	.dr-blog-hero__badge {
		white-space: normal;
		line-height: 1.45;
	}

	.dr-blog-hero__stats {
		width: 100%;
		justify-content: center;
		gap: 1.25rem;
	}

	.dr-blog-hero__search {
		flex-direction: column;
		border-radius: var(--dr-radius-sm);
		padding: 0.65rem;
	}

	.dr-blog-hero__search input {
		font-size: 16px; /* prevent iOS zoom */
		min-height: 44px;
	}

	.dr-blog-hero__search .dr-btn {
		width: 100%;
		min-height: 48px;
		justify-content: center;
	}

	.dr-blog-main__title {
		font-size: 1.35rem;
	}

	.dr-blog-card__excerpt {
		display: -webkit-box;
		-webkit-line-clamp: 3;
		-webkit-box-orient: vertical;
		overflow: hidden;
		font-size: 0.92rem;
	}

	.dr-blog-featured__img {
		height: 300px;
	}

	.dr-blog-featured__title {
		font-size: 1.12rem;
	}

	.dr-blog-featured__excerpt {
		-webkit-line-clamp: 2;
		font-size: 0.82rem;
	}

	.dr-blog-featured__cta {
		min-height: 44px;
	}
}

/* ── Blog / reel single ── */
@media (max-width: 1024px) {
	/* Long TOC blocks reading on mobile — hide; desktop sticky TOC stays */
	.dr-single-toc {
		display: none !important;
	}

	/*
	 * Article body must stay visible. With TOC gone, the tall .dr-single-prose
	 * often fails IntersectionObserver threshold (0.12) and stayed opacity:0.
	 */
	.dr-single-prose.dr-reveal,
	.dr-single-prose.dr-reveal.is-armed {
		opacity: 1 !important;
		transform: none !important;
		transition: none;
	}

	.dr-single-prose {
		font-size: 1.02rem;
		line-height: 1.9;
	}

	.dr-single-prose.is-loading {
		min-height: 0;
		background: none;
		animation: none;
	}

	.dr-single-main {
		min-width: 0;
		width: 100%;
	}
}

@media (max-width: 768px) {
	.dr-single-hero {
		min-height: 48vh;
		padding-inline: 1rem;
	}

	.dr-single-hero__title {
		font-size: clamp(1.45rem, 6vw, 1.95rem);
	}

	.dr-single-hero__actions {
		flex-wrap: wrap;
		justify-content: center;
		gap: 0.65rem;
	}

	.dr-single-hero__actions .dr-btn {
		min-height: 48px;
	}

	/* Sticky CTA clears contact rail + scroll-top */
	.dr-single-sticky-cta {
		z-index: 185;
		padding-inline: 1rem;
		padding-bottom: calc(0.85rem + env(safe-area-inset-bottom, 0));
	}

	.dr-single-sticky-cta .dr-btn {
		min-height: 48px;
		flex-shrink: 0;
	}

	body.dr-single-active:has(.dr-single-sticky-cta.is-visible) .dr-contact-rail,
	body.dr-reel-single-active:has(.dr-single-sticky-cta.is-visible) .dr-contact-rail {
		bottom: calc(5.75rem + env(safe-area-inset-bottom, 0));
	}

	body.dr-single-active:has(.dr-single-sticky-cta.is-visible) .dr-scroll-top,
	body.dr-reel-single-active:has(.dr-single-sticky-cta.is-visible) .dr-scroll-top {
		bottom: calc(5.75rem + env(safe-area-inset-bottom, 0));
		right: 0.75rem;
		left: auto;
	}

	body.dr-single-active:has(.dr-single-sticky-cta.is-visible),
	body.dr-reel-single-active:has(.dr-single-sticky-cta.is-visible) {
		padding-bottom: calc(5.5rem + env(safe-area-inset-bottom, 0));
	}
}

@media (max-width: 480px) {
	.dr-single-hero {
		min-height: 42vh;
	}

	.dr-single-sticky-cta p {
		font-size: 0.8rem;
		line-height: 1.4;
	}

	.dr-single-related__grid {
		grid-template-columns: 1fr;
	}
}

/* ── Nobat (booking) — hero/calendar mobile rules live in nobat-premium.css ── */
@media (max-width: 1024px) {
	.dr-nobat-page__jet-form input:not([type="hidden"]),
	.dr-nobat-page__jet-form select,
	.dr-nobat-page__jet-form textarea,
	.dr-nobat-page__jet-form .jet-form-builder__field:not(.hidden-field) {
		min-height: 48px;
		font-size: 16px; /* prevent iOS zoom */
	}

	.dr-nobat-page__jet-form button[type="submit"],
	.dr-nobat-page__jet-form .jet-form-builder__submit {
		min-height: 48px;
		width: 100%;
	}
}

/* ── Reels ── */
@media (max-width: 1024px) {
	.dr-reels-feed--full {
		padding-inline: 0.75rem;
	}

	.dr-reel-item__link {
		min-height: 44px;
		display: inline-flex;
		align-items: center;
	}
}

@media (max-width: 768px) {
	/* Shorts viewer: clear floating chrome */
	body.dr-shorts-viewer-active .dr-contact-rail,
	body.dr-shorts-viewer-active .dr-scroll-top,
	body.dr-shorts-viewer-active .dr-mobile-fab,
	body.dr-shorts-viewer-active .dr-mobile-nav {
		display: none !important;
	}

	.dr-short__rail button,
	.dr-short__rail a {
		min-width: 44px;
		min-height: 44px;
	}

	.dr-reel-single__player {
		margin-inline: auto;
	}
}

@media (max-width: 480px) {
	.dr-reels-feed--strip {
		padding-inline: 0.35rem;
	}

	.dr-yt-related__list {
		justify-content: flex-start;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		padding-bottom: 0.35rem;
		scroll-snap-type: x mandatory;
	}

	.dr-yt-related__item {
		scroll-snap-align: start;
		flex-shrink: 0;
	}
}

/* ── Contact / FAQ / Privacy pages ── */
@media (max-width: 768px) {
	.dr-contact-page__form-wrap,
	.dr-contact-page__info {
		padding: 1.15rem;
	}

	.dr-contact-page__form .dr-btn,
	.dr-faq summary {
		min-height: 48px;
	}

	.dr-faq summary {
		align-items: center;
	}
}

@media (max-width: 480px) {
	.dr-contact-page__form .dr-btn {
		width: 100%;
	}

	.dr-privacy-page__content {
		font-size: 0.95rem;
	}
}

/* ═══════════════════════════════════════════
   Mobile bottom navigation (replaces FAB)
   ═══════════════════════════════════════════ */
.dr-mobile-nav {
	display: none;
}

@media (max-width: 1024px) {
	.dr-mobile-nav {
		display: block;
		position: fixed;
		inset-inline: 0.75rem;
		bottom: calc(0.65rem + env(safe-area-inset-bottom, 0));
		z-index: 190;
		pointer-events: none;
	}

	.dr-mobile-nav__list {
		pointer-events: auto;
		list-style: none;
		margin: 0;
		padding: 0.45rem 0.4rem;
		display: grid;
		grid-template-columns: repeat(5, minmax(0, 1fr));
		align-items: end;
		gap: 0.15rem;
		background: rgba(255, 255, 255, 0.88);
		backdrop-filter: blur(18px) saturate(160%);
		-webkit-backdrop-filter: blur(18px) saturate(160%);
		border: 1px solid rgba(232, 238, 242, 0.95);
		border-radius: 22px;
		box-shadow:
			0 1px 0 rgba(255, 255, 255, 0.7) inset,
			0 10px 36px rgba(15, 23, 42, 0.14);
	}

	.dr-mobile-nav__item {
		margin: 0;
		min-width: 0;
	}

	.dr-mobile-nav__link {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 0.2rem;
		min-height: 52px;
		padding: 0.35rem 0.2rem;
		text-decoration: none;
		color: #64748b;
		border-radius: 14px;
		transition: color 0.2s ease, background 0.2s ease, transform 0.2s ease;
		-webkit-tap-highlight-color: transparent;
	}

	.dr-mobile-nav__icon {
		display: inline-flex;
		width: 22px;
		height: 22px;
		align-items: center;
		justify-content: center;
	}

	.dr-mobile-nav__icon svg {
		width: 22px;
		height: 22px;
		display: block;
	}

	.dr-mobile-nav__label {
		font-size: 0.68rem;
		font-weight: 700;
		line-height: 1.2;
		white-space: nowrap;
		max-width: 100%;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.dr-mobile-nav__link:hover,
	.dr-mobile-nav__link:focus-visible {
		color: var(--dr-primary);
		background: rgba(14, 165, 164, 0.08);
		outline: none;
	}

	.dr-mobile-nav__link.is-active {
		color: var(--dr-primary);
	}

	.dr-mobile-nav__link.is-active .dr-mobile-nav__label {
		font-weight: 800;
	}

	.dr-mobile-nav__item--book {
		position: relative;
		z-index: 2;
	}

	.dr-mobile-nav__link--book {
		transform: translateY(-0.85rem);
		min-height: 0;
		padding: 0;
		gap: 0.3rem;
		background: transparent;
	}

	.dr-mobile-nav__link--book .dr-mobile-nav__icon {
		width: 54px;
		height: 54px;
		border-radius: 50%;
		background: linear-gradient(145deg, var(--dr-primary) 0%, var(--dr-accent, #14b8a6) 100%);
		color: #fff;
		box-shadow:
			0 8px 24px rgba(14, 165, 164, 0.45),
			0 0 0 4px rgba(255, 255, 255, 0.95);
	}

	.dr-mobile-nav__link--book .dr-mobile-nav__icon svg {
		width: 24px;
		height: 24px;
		stroke-width: 2.35;
	}

	.dr-mobile-nav__link--book .dr-mobile-nav__label {
		color: var(--dr-primary-dark, #0f766e);
		font-weight: 800;
		font-size: 0.72rem;
	}

	.dr-mobile-nav__link--book:hover,
	.dr-mobile-nav__link--book:focus-visible,
	.dr-mobile-nav__link--book.is-active {
		background: transparent;
		transform: translateY(-0.95rem);
	}

	.dr-mobile-nav__link--book:hover .dr-mobile-nav__icon,
	.dr-mobile-nav__link--book:focus-visible .dr-mobile-nav__icon,
	.dr-mobile-nav__link--book.is-active .dr-mobile-nav__icon {
		box-shadow:
			0 10px 28px rgba(14, 165, 164, 0.55),
			0 0 0 4px rgba(255, 255, 255, 0.98);
	}

	.dr-mobile-fab {
		display: none !important;
	}

	.dr-contact-rail {
		bottom: calc(5.75rem + env(safe-area-inset-bottom, 0));
	}

	.dr-scroll-top {
		bottom: calc(5.75rem + env(safe-area-inset-bottom, 0));
		left: auto;
		right: 0.75rem;
	}

	body.dr-ahmadi-theme {
		padding-bottom: calc(5.75rem + env(safe-area-inset-bottom, 0));
	}

	.dr-single-sticky-cta {
		bottom: calc(4.85rem + env(safe-area-inset-bottom, 0));
	}

	body.dr-single-active:has(.dr-single-sticky-cta.is-visible),
	body.dr-reel-single-active:has(.dr-single-sticky-cta.is-visible) {
		padding-bottom: calc(10.5rem + env(safe-area-inset-bottom, 0));
	}

	body.dr-single-active:has(.dr-single-sticky-cta.is-visible) .dr-contact-rail,
	body.dr-reel-single-active:has(.dr-single-sticky-cta.is-visible) .dr-contact-rail,
	body.dr-single-active:has(.dr-single-sticky-cta.is-visible) .dr-scroll-top,
	body.dr-reel-single-active:has(.dr-single-sticky-cta.is-visible) .dr-scroll-top {
		bottom: calc(10.25rem + env(safe-area-inset-bottom, 0));
	}

	body.dr-shorts-viewer-active .dr-mobile-nav {
		display: none !important;
	}

	body.dr-shorts-viewer-active {
		padding-bottom: 0;
	}
}

@media (max-width: 480px) {
	.dr-mobile-nav {
		inset-inline: 0.5rem;
		bottom: calc(0.45rem + env(safe-area-inset-bottom, 0));
	}

	.dr-mobile-nav__list {
		padding: 0.4rem 0.3rem;
		border-radius: 20px;
	}

	.dr-mobile-nav__label {
		font-size: 0.64rem;
	}

	.dr-mobile-nav__link--book .dr-mobile-nav__icon {
		width: 50px;
		height: 50px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.dr-mobile-nav__link,
	.dr-mobile-nav__link--book {
		transition: none;
	}
}
