/*
 * ApnaDoctor site styling: header/navigation, buttons, footer and shared page furniture.
 * Built on tokens.css. Applies to theme-rendered chrome and to plugin pages.
 */

/* ---------------------------------------------------------------- header & navigation */
.ad-theme .site-header,
.ad-theme .ast-main-header-wrap {
	background: var(--surface);
	border-bottom: 1px solid var(--border);
	transition: box-shadow .2s ease, background .2s ease;
}

.ad-theme.ad-scrolled .site-header,
.ad-theme.ad-scrolled .ast-main-header-wrap {
	box-shadow: var(--shadow-md);
	border-bottom-color: transparent;
}

.ad-theme .main-header-menu .menu-link,
.ad-theme .main-navigation .menu-link {
	font-weight: var(--weight-medium);
	color: var(--text-primary);
	letter-spacing: -.01em;
}

.ad-theme .main-header-menu .menu-item > .menu-link:hover,
.ad-theme .main-header-menu .current-menu-item > .menu-link {
	color: var(--primary);
}

/* Header call-to-action button (Astra header button 1) */
.ad-theme .ast-header-button-1 .ast-custom-button {
	background: var(--primary);
	border-color: var(--primary);
	color: var(--primary-contrast);
	border-radius: var(--radius-pill);
	font-weight: var(--weight-semibold);
	padding: 10px 20px;
	box-shadow: var(--shadow-sm);
}

.ad-theme .ast-header-button-1 .ast-custom-button:hover {
	background: var(--primary-dark);
	border-color: var(--primary-dark);
	color: var(--primary-contrast);
}

/* Language switch in the menu */
.ad-theme .apna-lang-switch > .menu-link {
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-pill);
	padding: 6px 14px;
	line-height: 1.2;
}

/* Urdu availability bar */
.apna-urdu-bar {
	background: var(--primary-light);
	border-bottom: 1px solid color-mix(in srgb, var(--primary) 18%, transparent);
	color: var(--text-primary);
}

.apna-urdu-bar a {
	background: var(--primary);
	color: var(--primary-contrast) !important;
	border-radius: var(--radius-pill);
}

/* ---------------------------------------------------------------- footer */
.ad-theme .site-footer,
.ad-theme .ast-footer-overlay {
	background: var(--text-primary);
	color: var(--text-on-dark);
}

.ad-theme .site-footer a,
.ad-theme .ast-footer-overlay a {
	color: var(--text-on-dark);
}

.ad-theme .site-footer a:hover {
	color: #fff;
	text-decoration: underline;
}

.ad-theme .site-footer .widget-title,
.ad-theme .site-footer h2 {
	color: #fff;
	font-size: 1rem;
	letter-spacing: .01em;
}

/* ---------------------------------------------------------------- shared page furniture */
.ad-section-title {
	text-align: center;
	max-width: 640px;
	margin: 0 auto var(--space-6);
}

.ad-section-title h2 {
	font-size: var(--text-h2);
	margin: 0 0 var(--space-2);
}

.ad-section-title p {
	color: var(--text-secondary);
	margin: 0;
}

.ad-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	background: var(--primary-light);
	color: var(--primary-dark);
	border-radius: var(--radius-pill);
	padding: 6px 14px;
	font-size: var(--text-small);
	font-weight: var(--weight-semibold);
	margin: 0 0 var(--space-4);
}

/* Trust chips used under headings */
.ad-chips {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
	list-style: none;
	padding: 0;
	margin: var(--space-4) 0 0;
}

.ad-chips li {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: var(--radius-pill);
	padding: 8px 14px;
	font-size: var(--text-small);
	font-weight: var(--weight-medium);
	box-shadow: var(--shadow-sm);
}

.ad-chips li .ad-icon { color: var(--secondary); }

/* Scroll-margin so in-page anchors clear the sticky header */
:target { scroll-margin-top: calc(var(--header-height) + 16px); }

/* Primary navigation call-to-action item */
.ad-theme .main-header-menu .ad-nav-cta > .menu-link,
.ad-theme .ast-desktop .main-header-menu .ad-nav-cta > .menu-link {
	background: var(--primary);
	color: var(--primary-contrast);
	border-radius: var(--radius-pill);
	padding: 9px 18px;
	margin-inline-start: var(--space-2);
	line-height: 1.2;
	box-shadow: var(--shadow-sm);
}

.ad-theme .main-header-menu .ad-nav-cta > .menu-link:hover {
	background: var(--primary-dark);
	color: var(--primary-contrast);
}

/* Mobile menu: keep it a plain row */
@media (max-width: 921px) {
	.ad-theme .main-header-menu .ad-nav-cta > .menu-link {
		background: none;
		color: var(--primary);
		box-shadow: none;
		padding: 10px 20px;
	}
}

/* Compact primary navigation so it stays on one line */
.ad-theme .main-header-menu > .menu-item > .menu-link { padding-inline: 12px; font-size: .95rem; }
.ad-theme .main-header-menu .ad-nav-cta > .menu-link { padding: 8px 16px; font-size: .92rem; }
.ad-theme .site-header .ast-builder-layout-element { gap: var(--space-2); }
.ad-theme .ast-header-button-1 .ast-custom-button { padding: 9px 16px; font-size: .9rem; }

/* Header: keep everything on one row at desktop widths */
.ad-theme .ast-header-button-1 .ast-custom-button { white-space: nowrap; }
.ad-theme .main-header-menu > .menu-item > .menu-link { padding-inline: 10px; }
.ad-theme .apna-lang-switch > .menu-link { padding: 6px 12px; min-height: 0; line-height: 1.3; border-radius: var(--radius-pill); }
.ad-theme .site-header .site-logo-img img,
.ad-theme .site-header .custom-logo-link img { max-height: 40px; width: auto; }
@media (min-width: 1200px) {
	.ad-theme .ast-container,
	.ad-theme .site-header .ast-builder-grid-row { max-width: 1320px; }
}

/* Theme content pages (About, Contact, Services) inherit the same button and card language */
.ad-theme .entry-content .wp-block-button__link,
.ad-theme .entry-content .uagb-button__link,
.ad-theme .wp-block-search__button {
	background: var(--primary);
	border-color: var(--primary);
	color: var(--primary-contrast);
	border-radius: var(--radius-pill);
	font-weight: var(--weight-semibold);
	box-shadow: var(--shadow-sm);
}

.ad-theme .entry-content .wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent;
	color: var(--primary);
	border-color: var(--primary);
}

.ad-theme .entry-content .wp-block-button__link:hover,
.ad-theme .wp-block-search__button:hover { background: var(--primary-dark); border-color: var(--primary-dark); color: var(--primary-contrast); }

.ad-theme .entry-content h2 { font-size: var(--text-h2); }
.ad-theme .entry-content h3 { font-size: var(--text-h3); }
.ad-theme .entry-content .wp-block-image img { border-radius: var(--radius); }
.ad-theme .uagb-infobox,
.ad-theme .wp-block-columns .wp-block-column.has-background {
	border-radius: var(--radius);
	box-shadow: var(--shadow-sm);
}

/* Forms inside theme pages (SureForms / contact) */
.ad-theme .entry-content input[type=text],
.ad-theme .entry-content input[type=email],
.ad-theme .entry-content input[type=tel],
.ad-theme .entry-content textarea,
.ad-theme .entry-content select {
	border-radius: var(--radius-sm);
	border: 1px solid var(--border-strong);
	min-height: 46px;
	font-family: inherit;
}

/* ---------------------------------------------------------------- WhatsApp support button */
.ad-wa-button {
	position: fixed;
	inset-block-end: 18px;
	inset-inline-end: 18px;
	z-index: 90;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 18px;
	border-radius: var(--radius-pill);
	background: #25d366;
	color: #0b3d1f !important;
	font-weight: var(--weight-semibold);
	font-size: .95rem;
	text-decoration: none;
	box-shadow: var(--shadow-lg);
	transition: transform .15s ease, box-shadow .15s ease;
}

.ad-wa-button:hover,
.ad-wa-button:focus-visible { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(0, 0, 0, .22); color: #0b3d1f !important; }
.ad-wa-button:focus-visible { outline: 3px solid var(--primary); outline-offset: 3px; }
.ad-wa-button .ad-icon { color: #0b3d1f; }

/* On phones the label is dropped so the button does not sit over the content. */
@media (max-width: 600px) {
	.ad-wa-button { padding: 14px; inset-block-end: 14px; inset-inline-end: 14px; }
	.ad-wa-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
}

@media (prefers-reduced-motion: reduce) {
	.ad-wa-button { transition: none; }
	.ad-wa-button:hover, .ad-wa-button:focus-visible { transform: none; }
}

/* The header's WhatsApp button gets the same mark, drawn with a CSS mask so it inherits the
   button's own colour. Applies to any header link that points at wa.me. */
.ad-theme .ast-custom-button-link[href*="wa.me"] .ast-custom-button::before,
.ad-theme .main-header-menu a[href*="wa.me"]::before {
	content: '';
	display: inline-block;
	width: 1.1em;
	height: 1.1em;
	margin-inline-end: 8px;
	vertical-align: -.2em;
	background-color: currentColor;
	-webkit-mask: var(--ad-wa-mask) center / contain no-repeat;
	mask: var(--ad-wa-mask) center / contain no-repeat;
}

:root {
	--ad-wa-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 11.5a8.38 8.38 0 0 1-8.5 8.5 8.5 8.5 0 0 1-4-1L3 21l2-5.4A8.5 8.5 0 0 1 12.5 3 8.38 8.38 0 0 1 21 11.5z'/%3E%3Cpath d='M9.2 8.6c.2-.5.4-.5.6-.5h.5c.2 0 .4 0 .6.4l.7 1.6c.1.2.1.4 0 .6l-.4.5c-.1.2-.2.3-.1.5a5 5 0 0 0 2.4 2.3c.2.1.4.1.5-.1l.5-.5c.2-.2.3-.2.5-.1l1.6.7c.3.2.4.3.4.5v.5c0 .3-.2.6-.6.9-.4.3-.9.4-1.4.4a7 7 0 0 1-3.6-1.5 8 8 0 0 1-2.4-3c-.3-.7-.4-1.3-.3-1.8 0-.4.2-.8.5-1.2z'/%3E%3C/svg%3E");
}

/* Keep the mark on the same line as the number. */
.ad-theme .ast-custom-button-link[href*="wa.me"] .ast-custom-button {
	display: inline-flex;
	align-items: center;
	white-space: nowrap;
}

/* ---------------------------------------------------------------- Online GP in the main menu */
:root {
	--ad-stethoscope-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.8 2.3A.3.3 0 1 0 5 2H4a2 2 0 0 0-2 2v5a6 6 0 0 0 6 6 6 6 0 0 0 6-6V4a2 2 0 0 0-2-2h-1a.2.2 0 1 0 .3.3'/%3E%3Cpath d='M8 15v1a6 6 0 0 0 6 6 6 6 0 0 0 6-6v-4'/%3E%3Ccircle cx='20' cy='10' r='2'/%3E%3C/svg%3E");
}

.ad-theme .main-header-menu .ad-nav-gp > .menu-link::before,
.ad-theme .ast-desktop .main-header-menu .ad-nav-gp > .menu-link::before {
	content: '';
	display: inline-block;
	width: 1.15em;
	height: 1.15em;
	margin-inline-end: 6px;
	vertical-align: -.22em;
	background-color: currentColor;
	-webkit-mask: var(--ad-stethoscope-mask) center / contain no-repeat;
	mask: var(--ad-stethoscope-mask) center / contain no-repeat;
}

/* A quiet highlight so the service reads as an offering, not another page link. */
.ad-theme .main-header-menu .ad-nav-gp > .menu-link {
	color: var(--secondary-dark);
	font-weight: var(--weight-semibold);
	white-space: nowrap;
}

.ad-theme .main-header-menu .ad-nav-gp > .menu-link:hover,
.ad-theme .main-header-menu .ad-nav-gp.current-menu-item > .menu-link { color: var(--secondary); }

/* ================================================================ main navigation
   Icons are CSS masks of the same Lucide glyphs used everywhere else, so they take the link's
   colour, need no extra requests, and cause no layout shift. */
:root {
	--ad-nav-home: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9.5 12 3l9 6.5V20a1 1 0 0 1-1 1h-5v-6H9v6H4a1 1 0 0 1-1-1z'/%3E%3C/svg%3E");
	--ad-nav-activity: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 12h-4l-3 9L9 3l-3 9H2'/%3E%3C/svg%3E");
	--ad-nav-user: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21a8 8 0 0 1 16 0'/%3E%3C/svg%3E");
	--ad-nav-book: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19.5V5a2 2 0 0 1 2-2h13v18H6.5A2.5 2.5 0 0 0 4 21.5z'/%3E%3Cpath d='M9 3v16'/%3E%3C/svg%3E");
	--ad-nav-help: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M9.1 9a3 3 0 0 1 5.8 1c0 2-3 2.5-3 4'/%3E%3Cpath d='M12 17.5h.01'/%3E%3C/svg%3E");
	--ad-nav-join: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='4'/%3E%3Cpath d='M2 21a7 7 0 0 1 14 0'/%3E%3Cpath d='M19 8v6M22 11h-6'/%3E%3C/svg%3E");
	--ad-nav-calendar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 11h18M12 14v4M10 16h4'/%3E%3C/svg%3E");
	--ad-nav-login: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4'/%3E%3Cpath d='M10 17l5-5-5-5M15 12H3'/%3E%3C/svg%3E");
}

.ad-theme .main-header-menu .menu-item > .menu-link::before,
.ad-theme .ast-mobile-popup-drawer .menu-item > .menu-link::before {
	content: none;
}

.ad-theme .main-header-menu > .menu-item > .menu-link::before,
.ad-theme .ast-mobile-popup-drawer .main-header-menu > .menu-item > .menu-link::before {
	content: '';
	display: inline-block;
	width: 18px;
	height: 18px;
	margin-inline-end: 7px;
	vertical-align: -.2em;
	background-color: currentColor;
	-webkit-mask: var(--ad-nav-mask, none) center / contain no-repeat;
	mask: var(--ad-nav-mask, none) center / contain no-repeat;
}

.ad-theme .main-header-menu > .menu-item:not([class*="ad-icon-"]) > .menu-link::before { content: none; }

.ad-theme .ad-icon-home > .menu-link { --ad-nav-mask: var(--ad-nav-home); }
.ad-theme .ad-icon-stethoscope > .menu-link { --ad-nav-mask: var(--ad-stethoscope-mask); }
.ad-theme .ad-icon-activity > .menu-link { --ad-nav-mask: var(--ad-nav-activity); }
.ad-theme .ad-icon-user > .menu-link { --ad-nav-mask: var(--ad-nav-user); }
.ad-theme .ad-icon-book > .menu-link { --ad-nav-mask: var(--ad-nav-book); }
.ad-theme .ad-icon-help > .menu-link { --ad-nav-mask: var(--ad-nav-help); }
.ad-theme .ad-icon-join > .menu-link { --ad-nav-mask: var(--ad-nav-join); }
.ad-theme .ad-icon-calendar > .menu-link { --ad-nav-mask: var(--ad-nav-calendar); }
.ad-theme .ad-icon-login > .menu-link { --ad-nav-mask: var(--ad-nav-login); }
.ad-theme .ad-icon-profile > .menu-link { --ad-nav-mask: var(--ad-nav-user); }

/* ---- links: rounded hover, quiet active state */
.ad-theme .main-header-menu > .menu-item > .menu-link {
	border-radius: var(--radius-pill);
	padding-inline: 12px;
	transition: background .18s ease, color .18s ease;
}

.ad-theme .main-header-menu > .menu-item > .menu-link:hover,
.ad-theme .main-header-menu > .menu-item > .menu-link:focus-visible {
	background: var(--primary-light);
	color: var(--primary-dark);
}

.ad-theme .main-header-menu > .current-menu-item > .menu-link,
.ad-theme .main-header-menu > .current-menu-ancestor > .menu-link {
	background: var(--primary-light);
	color: var(--primary-dark);
	font-weight: var(--weight-semibold);
}

/* ---- Online GP: a quiet highlight and its price badge */
.ad-theme .main-header-menu > .ad-nav-gp > .menu-link { color: var(--secondary-dark); font-weight: var(--weight-semibold); }
.ad-theme .main-header-menu > .ad-nav-gp > .menu-link:hover { background: color-mix(in srgb, var(--secondary) 12%, transparent); color: var(--secondary-dark); }

.ad-nav-badge {
	display: inline-block;
	margin-inline-start: 6px;
	padding: 1px 8px;
	border-radius: var(--radius-pill);
	background: var(--secondary);
	color: #fff;
	font-size: .72rem;
	font-weight: var(--weight-semibold);
	letter-spacing: .01em;
	vertical-align: 1px;
}

/* ---- Book Now */
.ad-theme .main-header-menu > .ad-nav-book > .menu-link {
	background: var(--primary);
	color: var(--primary-contrast);
	box-shadow: var(--shadow-sm);
	margin-inline-start: var(--space-2);
	font-weight: var(--weight-semibold);
}

.ad-theme .main-header-menu > .ad-nav-book > .menu-link:hover,
.ad-theme .main-header-menu > .ad-nav-book > .menu-link:focus-visible {
	background: var(--primary-dark);
	color: var(--primary-contrast);
	transform: translateY(-1px);
}

/* ---- dropdowns */
.ad-theme .main-header-menu .sub-menu {
	border: 1px solid var(--border);
	border-radius: var(--radius);
	box-shadow: var(--shadow-lg);
	padding: 6px;
	background: var(--surface);
	min-width: 240px;
}

.ad-theme .main-header-menu .sub-menu .menu-link {
	border-radius: var(--radius-sm);
	padding: 9px 12px;
	font-size: .93rem;
	transition: background .15s ease, color .15s ease;
}

.ad-theme .main-header-menu .sub-menu .menu-link:hover,
.ad-theme .main-header-menu .sub-menu .menu-link:focus-visible { background: var(--surface-muted); color: var(--primary-dark); }

/* ---- Urdu: the icon sits on the right of the label */
.apna-urdu .main-header-menu > .menu-item > .menu-link::before { margin-inline-end: 7px; }

@media (prefers-reduced-motion: reduce) {
	.ad-theme .main-header-menu .menu-link { transition: none; }
	.ad-theme .main-header-menu > .ad-nav-book > .menu-link:hover { transform: none; }
}

/* ---- phones: the drawer keeps the same icons, Book Now stays a filled pill */
@media (max-width: 921px) {
	.ad-theme .ast-mobile-popup-drawer .ad-nav-book > .menu-link {
		background: var(--primary);
		color: var(--primary-contrast);
		border-radius: var(--radius-pill);
		margin: var(--space-2) 20px;
		text-align: center;
	}
	.ad-nav-badge { font-size: .68rem; }
}

/* The badge must not inherit the menu link's full height, or it renders as a circle. */
.ad-theme .main-header-menu .ad-nav-badge,
.ad-theme .ast-mobile-popup-drawer .ad-nav-badge {
	display: inline-flex;
	align-items: center;
	height: 20px;
	min-width: 0;
	padding: 0 8px;
	line-height: 1;
	border-radius: 10px;
	white-space: nowrap;
	flex: none;
}

/* Keep the bar on one row: tighter items, and the badge only where there is room for it. */
.ad-theme .main-header-menu > .menu-item > .menu-link { padding-inline: 9px; font-size: .92rem; }
.ad-theme .main-header-menu > .ad-nav-book > .menu-link { padding-inline: 16px; }

@media (max-width: 1399px) {
	.ad-theme .main-header-menu > .menu-item > .menu-link .ad-nav-badge { display: none; }
}

@media (max-width: 1199px) {
	.ad-theme .main-header-menu > .menu-item > .menu-link { padding-inline: 7px; font-size: .88rem; }
	.ad-theme .main-header-menu > .menu-item > .menu-link::before { width: 16px; height: 16px; margin-inline-end: 5px; }
}

/* The header's WhatsApp button needs ~340px. Below very wide screens the navigation needs that
   space more, and the floating WhatsApp button is on every page anyway. */
@media (max-width: 1499px) {
	.ad-theme .ast-header-button-1 { display: none; }
}

/* Full labels where there is room, shorter ones where there is not. */
.ad-nav-compact { display: none; }
@media (max-width: 1499px) {
	.ad-theme .main-header-menu .ad-nav-full { display: none; }
	.ad-theme .main-header-menu .ad-nav-compact { display: inline; }
}

/* Ten items with icons need the space; tighten the gaps below the widest screens. */
@media (max-width: 1499px) {
	.ad-theme .main-header-menu > .menu-item > .menu-link { padding-inline: 6px; font-size: .9rem; }
	.ad-theme .main-header-menu > .menu-item > .menu-link::before { width: 17px; height: 17px; margin-inline-end: 5px; }
	.ad-theme .main-header-menu > .ad-nav-book > .menu-link { padding-inline: 14px; }
	.ad-theme .site-header .ast-builder-layout-element { gap: 0; }
}
