/* ==========================================================================
   Veda Hospitals - Spine & Gynec — Design System
   ========================================================================== */

:root {
	--veda-blue: #007eca;
	--veda-blue-dark: #003250;
	--veda-blue-deeper: #00121d;
	--veda-blue-tint: #eaf4fb;
	--veda-blue-chip: #cfe8f7;

	--veda-teal: #00b39f;
	--veda-teal-tint: #e3f7f4;

	--veda-amber: #ea902a;
	--veda-amber-dark: #c96f10;

	--veda-bg: #f9fafb;
	--veda-surface: #ffffff;
	--veda-border: #e2e6e9;
	--veda-text: #282f33;
	--veda-text-muted: #657681;
	--veda-heading: #161a1d;

	--veda-success: #1f9d55;

	--veda-radius: 14px;
	--veda-radius-sm: 8px;
	--veda-shadow-sm: 0 6px 18px rgba(0, 18, 29, 0.06);
	--veda-shadow-md: 0 16px 40px rgba(0, 18, 29, 0.1);

	--veda-font-body: 'Manrope', -apple-system, BlinkMacSystemFont, sans-serif;
	--veda-font-heading: 'Lora', Georgia, serif;

	--veda-header-h: 118px;
}

/* ==========================================================================
   Reset & base
   ========================================================================== */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: var(--veda-header-h); }
body {
	margin: 0;
	font-family: var(--veda-font-body);
	color: var(--veda-text);
	background: var(--veda-bg);
	font-size: 16px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--veda-blue); text-decoration: none; }
ul { list-style: none; margin: 0; padding: 0; }
h1, h2, h3, h4 {
	font-family: var(--veda-font-heading);
	color: var(--veda-heading);
	line-height: 1.2;
	margin: 0 0 0.5em;
	font-weight: 600;
}
p { margin: 0 0 1em; }
.container { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.screen-reader-text {
	position: absolute; left: -9999px; top: -9999px;
	background: var(--veda-blue); color: #fff; padding: 10px 16px; z-index: 10000;
}
.screen-reader-text:focus { left: 12px; top: 12px; }

/* ==========================================================================
   Buttons
   ========================================================================== */
.veda-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	font-family: var(--veda-font-body); font-weight: 700; font-size: 0.95rem;
	padding: 14px 28px; border-radius: 999px; border: 2px solid transparent;
	cursor: pointer; transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease, color 0.15s ease;
	white-space: nowrap;
}
.veda-btn-sm { padding: 10px 20px; font-size: 0.85rem; }
.veda-btn-lg { padding: 16px 34px; font-size: 1rem; }
.veda-btn-primary { background: var(--veda-amber); color: #fff; }
.veda-btn-primary:hover { background: var(--veda-amber-dark); transform: translateY(-2px); box-shadow: var(--veda-shadow-md); }
.veda-btn-outline { background: transparent; color: var(--veda-blue); border-color: var(--veda-blue); }
.veda-btn-outline:hover { background: var(--veda-blue); color: #fff; }
.veda-btn-outline-light { background: transparent; color: #fff; border-color: rgba(255,255,255,0.65); }
.veda-btn-outline-light:hover { background: #fff; color: var(--veda-blue-dark); }
.veda-btn-whatsapp { background: #25d366; color: #fff; }
.veda-btn-whatsapp:hover { background: #1da851; transform: translateY(-2px); box-shadow: var(--veda-shadow-md); }

.veda-link-arrow { font-weight: 700; color: var(--veda-blue); display: inline-block; margin-top: 6px; }
.veda-link-arrow:hover { color: var(--veda-blue-dark); }

.veda-icon { display: inline-block; }
.veda-img-placeholder {
	background: linear-gradient(135deg, var(--veda-blue-tint), var(--veda-blue-chip));
	border-radius: var(--veda-radius); min-height: 220px; width: 100%;
}

/* ==========================================================================
   Top bar & Header
   ========================================================================== */
.veda-topbar { background: var(--veda-blue-deeper); color: #cfe3ef; font-size: 0.82rem; }
.veda-topbar-inner { display: flex; align-items: center; justify-content: space-between; padding: 8px 24px; flex-wrap: wrap; gap: 8px; }
.veda-topbar-info { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.veda-topbar-link { color: #cfe3ef; display: inline-flex; align-items: center; gap: 6px; }
.veda-topbar-link:hover { color: #fff; }
.veda-topbar-tagline { color: var(--veda-amber); font-weight: 600; }

.site-header.veda-header {
	background: var(--veda-surface);
	position: sticky; top: 0; z-index: 999;
	box-shadow: 0 1px 0 var(--veda-border);
	transition: box-shadow 0.2s ease;
}
.site-header.veda-header.scrolled { box-shadow: var(--veda-shadow-sm); }
.veda-header-inner { display: flex; align-items: center; justify-content: space-between; padding: 14px 24px; gap: 24px; }

.veda-branding .veda-logo-link { display: flex; align-items: center; }
.veda-logo-img { height: 68px; width: auto; object-fit: contain; }

.veda-nav { flex: 1; display: flex; justify-content: center; }
.veda-nav #primary-menu { display: flex; gap: 32px; }
.veda-nav #primary-menu a {
	color: var(--veda-heading); font-weight: 600; font-size: 0.94rem; padding: 8px 0; position: relative;
}
.veda-nav #primary-menu a::after {
	content: ''; position: absolute; left: 0; bottom: 0; width: 0; height: 2px; background: var(--veda-amber);
	transition: width 0.2s ease;
}
.veda-nav #primary-menu a:hover::after, .veda-nav #primary-menu a.active::after { width: 100%; }

.veda-nav #primary-menu li { position: relative; }
.veda-nav #primary-menu li.menu-item-has-children > a { padding-right: 14px; }
.veda-nav #primary-menu li.menu-item-has-children > a::before {
	content: '\25BE'; position: absolute; right: -2px; top: 12px; font-size: 0.65em; color: var(--veda-text-muted);
}
.veda-nav #primary-menu .sub-menu {
	display: none; position: absolute; top: 100%; left: 0; min-width: 240px; padding: 8px;
	background: var(--veda-surface); border-radius: var(--veda-radius-sm); box-shadow: var(--veda-shadow-md); z-index: 200;
}
.veda-nav #primary-menu li.menu-item-has-children:hover > .sub-menu,
.veda-nav #primary-menu li.menu-item-has-children:focus-within > .sub-menu { display: block; }
.veda-nav #primary-menu .sub-menu a {
	display: block; padding: 10px 14px; font-weight: 500; white-space: nowrap;
}
.veda-nav #primary-menu .sub-menu a::after { display: none; }
.veda-nav #primary-menu .sub-menu a:hover { background: var(--veda-blue-tint); border-radius: var(--veda-radius-sm); }

.menu-toggle {
	display: none; flex-direction: column; gap: 5px; background: none; border: none; cursor: pointer; padding: 8px;
}
.menu-toggle span { width: 24px; height: 2px; background: var(--veda-heading); border-radius: 2px; }

.veda-header-cta { display: flex; gap: 10px; }

/* ==========================================================================
   Hero
   ========================================================================== */
.veda-hero {
	position: relative; color: #fff; padding: 96px 0 76px;
	background: var(--veda-hero-bg, none) center/cover no-repeat, linear-gradient(135deg, var(--veda-blue-dark), var(--veda-blue-deeper));
}
.veda-hero-overlay {
	position: absolute; inset: 0;
	background: linear-gradient(100deg, rgba(0,18,29,0.62) 0%, rgba(0,40,64,0.42) 48%, rgba(0,40,64,0.22) 100%);
}
.veda-hero-inner { position: relative; z-index: 1; }
.veda-hero-copy {
	max-width: 720px; background: rgba(0,14,23,0.52); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
	border-radius: var(--veda-radius); padding: 36px 40px; box-shadow: 0 20px 50px rgba(0,10,17,0.35);
}
.veda-eyebrow {
	text-transform: uppercase; letter-spacing: 0.12em; font-weight: 700; font-size: 0.8rem;
	color: var(--veda-amber); margin-bottom: 14px;
}
.veda-hero h1 { color: #fff; font-size: clamp(2rem, 4vw, 3.1rem); margin-bottom: 18px; text-shadow: 0 2px 16px rgba(0,0,0,0.35); }
.veda-hero-subtitle { font-size: 1.1rem; color: #eef5fa; max-width: 620px; text-shadow: 0 1px 8px rgba(0,0,0,0.3); }
.veda-hero-actions { display: flex; gap: 16px; margin: 28px 0 32px; flex-wrap: wrap; }
.veda-hero-trust { display: flex; flex-wrap: wrap; gap: 14px 28px; }
.veda-hero-trust li { display: flex; align-items: center; gap: 8px; font-size: 0.9rem; font-weight: 600; color: #eef5fa; }

/* ==========================================================================
   Section scaffolding
   ========================================================================== */
.veda-section { padding: 88px 0; }
.veda-section-tint { background: var(--veda-blue-tint); }
.veda-section-head { max-width: 640px; margin: 0 auto 48px; text-align: center; }
.veda-section-head h2 { font-size: clamp(1.6rem, 3vw, 2.3rem); }

/* ==========================================================================
   Hospital Introduction
   ========================================================================== */
.veda-intro-grid { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 56px; align-items: center; }
.veda-intro-media img, .veda-intro-media .veda-img-placeholder { border-radius: var(--veda-radius); box-shadow: var(--veda-shadow-md); }
.veda-intro-copy p { color: var(--veda-text-muted); }
.veda-fact-row { display: flex; gap: 28px; margin: 28px 0; flex-wrap: wrap; }
.veda-fact-row li { display: flex; flex-direction: column; }
.veda-fact-row strong { font-family: var(--veda-font-heading); font-size: 1.6rem; color: var(--veda-blue); }
.veda-fact-row span { font-size: 0.8rem; color: var(--veda-text-muted); max-width: 140px; }

/* ==========================================================================
   Departments
   ========================================================================== */
.veda-department-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.veda-department-card {
	background: var(--veda-surface); border-radius: var(--veda-radius); padding: 40px;
	box-shadow: var(--veda-shadow-sm); border-top: 4px solid var(--veda-blue);
}
.veda-department-gynec { border-top-color: var(--veda-teal); }
.veda-department-lead { color: var(--veda-text-muted); font-size: 0.92rem; margin-bottom: 20px; }
.veda-department-list { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 18px; margin-bottom: 24px; }
.veda-department-list li { position: relative; padding-left: 20px; font-size: 0.92rem; }
.veda-department-list li::before {
	content: '\2713'; position: absolute; left: 0; top: 0; color: var(--veda-blue); font-weight: 700;
}
.veda-department-gynec .veda-department-list li::before { color: var(--veda-teal); }

/* ==========================================================================
   Doctors
   ========================================================================== */
.veda-doctor-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 32px; }
.veda-doctor-card {
	background: var(--veda-surface); border-radius: var(--veda-radius); overflow: hidden;
	box-shadow: var(--veda-shadow-sm); display: flex; flex-direction: column;
}
.veda-doctor-photo { aspect-ratio: 1 / 1; overflow: hidden; display: block; }
.veda-doctor-photo img { width: 100%; height: 100%; object-fit: cover; }
.veda-doctor-info { padding: 26px 28px 30px; }
.veda-doctor-info h3 { margin-bottom: 4px; }
.veda-doctor-info h3 a { color: inherit; }
.veda-doctor-designation { color: var(--veda-blue); font-weight: 700; font-size: 0.9rem; margin-bottom: 2px; }
.veda-doctor-specialization { color: var(--veda-text-muted); font-size: 0.85rem; margin-bottom: 14px; }
.veda-doctor-bio { font-size: 0.9rem; color: var(--veda-text-muted); margin-bottom: 18px; }
.veda-doctor-actions { display: flex; gap: 10px; }

/* Single doctor profile page */
.veda-doctor-profile-grid { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: 56px; align-items: start; }
.veda-doctor-profile-media img, .veda-doctor-profile-media .veda-img-placeholder {
	width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: var(--veda-radius); box-shadow: var(--veda-shadow-md); margin-bottom: 20px;
}
.veda-doctor-profile-media .veda-doctor-actions { gap: 12px; }
.veda-doctor-profile-info .veda-doctor-designation { font-size: 1.05rem; }
.veda-doctor-profile-info .veda-doctor-specialization { font-size: 0.95rem; margin-bottom: 10px; }
.veda-doctor-experience-badge {
	display: inline-block; background: var(--veda-blue-chip); color: var(--veda-blue-dark); font-weight: 700;
	font-size: 0.82rem; padding: 6px 14px; border-radius: 999px; margin-bottom: 20px;
}
.veda-doctor-bio.entry-content { max-width: none; margin: 0 0 28px; color: var(--veda-text); }
.veda-doctor-block { margin-bottom: 28px; }
.veda-doctor-block h2 { font-size: 1.15rem; border-bottom: 2px solid var(--veda-blue-chip); padding-bottom: 10px; margin-bottom: 16px; }
.veda-doctor-education-list li, .veda-doctor-services-list li {
	position: relative; padding-left: 22px; margin-bottom: 10px; font-size: 0.94rem; color: var(--veda-text);
}
.veda-doctor-education-list li::before, .veda-doctor-services-list li::before {
	content: '\2713'; position: absolute; left: 0; color: var(--veda-blue); font-weight: 700;
}

/* ==========================================================================
   Facilities
   ========================================================================== */
.veda-facility-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.veda-facility-card { background: var(--veda-surface); border-radius: var(--veda-radius); overflow: hidden; box-shadow: var(--veda-shadow-sm); margin: 0; }
.veda-facility-img, .veda-facility-card .veda-img-placeholder { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 0; box-shadow: none; }
.veda-facility-card figcaption { padding: 18px 20px 22px; }
.veda-facility-card h3 { font-size: 1.02rem; margin-bottom: 6px; }
.veda-facility-card p { font-size: 0.85rem; color: var(--veda-text-muted); margin: 0; }

/* ==========================================================================
   Why choose us
   ========================================================================== */
.veda-reason-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.veda-reason-card { background: var(--veda-surface); border-radius: var(--veda-radius); padding: 30px 26px; box-shadow: var(--veda-shadow-sm); }
.veda-reason-icon { font-size: 1.8rem; margin-bottom: 14px; }
.veda-reason-card h3 { font-size: 1.05rem; margin-bottom: 8px; }
.veda-reason-card p { font-size: 0.9rem; color: var(--veda-text-muted); margin: 0; }

/* ==========================================================================
   Patient journey
   ========================================================================== */
.veda-journey-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; }
.veda-journey-step { position: relative; padding-top: 8px; }
.veda-journey-num {
	display: block; font-family: var(--veda-font-heading); font-size: 2.4rem; font-weight: 700;
	color: var(--veda-blue-chip); -webkit-text-stroke: 1.5px var(--veda-blue); margin-bottom: 10px;
}
.veda-journey-step h3 { font-size: 1.05rem; margin-bottom: 8px; }
.veda-journey-step p { font-size: 0.9rem; color: var(--veda-text-muted); margin: 0; }

/* ==========================================================================
   Gallery (parent CPT/shortcode markup, styled here)
   ========================================================================== */
.gallery-filter { display: flex; gap: 10px; justify-content: center; margin-bottom: 32px; flex-wrap: wrap; }
.filter-btn {
	border: 1px solid var(--veda-border); background: var(--veda-surface); border-radius: 999px;
	padding: 8px 18px; font-size: 0.85rem; font-weight: 600; cursor: pointer; color: var(--veda-text-muted);
}
.filter-btn.active, .filter-btn:hover { background: var(--veda-blue); color: #fff; border-color: var(--veda-blue); }
.brandadoc-gallery-grid { display: grid; grid-template-columns: repeat(var(--cols, 4), 1fr); gap: 18px; }
.gallery-item { position: relative; border-radius: var(--veda-radius-sm); overflow: hidden; aspect-ratio: 4 / 3; }
.gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.35s ease; }
.gallery-overlay {
	position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0,18,29,0.75), transparent 60%);
	display: flex; align-items: flex-end; padding: 14px; opacity: 0; transition: opacity 0.25s ease;
}
.gallery-item:hover .gallery-overlay { opacity: 1; }
.gallery-item:hover img { transform: scale(1.06); }
.gallery-caption { color: #fff; font-size: 0.82rem; font-weight: 600; }
.gallery-zoom { display: none; }

.brandadoc-lightbox {
	position: fixed; inset: 0; background: rgba(0,10,16,0.92); display: none; align-items: center; justify-content: center; z-index: 10000;
}
.brandadoc-lightbox.active { display: flex; }
.brandadoc-lightbox img { max-width: 88vw; max-height: 84vh; border-radius: 8px; }
.lightbox-close, .lightbox-nav {
	position: absolute; background: rgba(255,255,255,0.12); color: #fff; border: none; border-radius: 50%;
	width: 44px; height: 44px; font-size: 1.4rem; cursor: pointer;
}
.lightbox-close { top: 24px; right: 24px; }
.lightbox-prev { left: 24px; top: 50%; transform: translateY(-50%); }
.lightbox-next { right: 24px; top: 50%; transform: translateY(-50%); }

/* ==========================================================================
   Testimonials (parent card-testimonial.php markup, styled here)
   ========================================================================== */
.veda-testimonial-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.testimonial-card { background: var(--veda-surface); border-radius: var(--veda-radius); padding: 28px 26px; box-shadow: var(--veda-shadow-sm); }
.testimonial-text { font-style: italic; color: var(--veda-text); margin-bottom: 18px; }
.testimonial-author { display: flex; align-items: center; gap: 14px; }
.author-avatar {
	width: 46px; height: 46px; border-radius: 50%; background: var(--veda-blue); color: #fff;
	display: flex; align-items: center; justify-content: center; font-weight: 700; overflow: hidden; flex-shrink: 0;
}
.author-avatar img { width: 100%; height: 100%; object-fit: cover; }
.author-info h4 { margin: 0; font-size: 0.95rem; }
.author-info p { margin: 0; font-size: 0.8rem; color: var(--veda-text-muted); }
.brandadoc-star-rating { color: var(--veda-amber); font-size: 0.85rem; }
.brandadoc-star-rating .star.empty { color: var(--veda-border); }

/* ==========================================================================
   Contact / appointment
   ========================================================================== */
.veda-contact-grid { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 56px; align-items: start; }
.veda-contact-lead { color: var(--veda-text-muted); }
.brandadoc-appointment-form-wrapper { margin-top: 24px; }
.booking-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-bottom: 22px; }
.form-group-full { grid-column: 1 / -1; }
.form-group label { display: block; font-size: 0.85rem; font-weight: 700; margin-bottom: 6px; }
.form-group input, .form-group select, .form-group textarea {
	width: 100%; padding: 12px 14px; border: 1px solid var(--veda-border); border-radius: var(--veda-radius-sm);
	font-family: var(--veda-font-body); font-size: 0.95rem; background: var(--veda-surface); color: var(--veda-text);
}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { outline: 2px solid var(--veda-blue); outline-offset: 1px; }
.brandadoc-booking-submit {
	width: 100%; background: var(--veda-amber); color: #fff; border: none; border-radius: 999px;
	padding: 15px 28px; font-family: var(--veda-font-body); font-weight: 700; font-size: 0.95rem; cursor: pointer;
	transition: background 0.15s ease, transform 0.15s ease;
}
.brandadoc-booking-submit:hover { background: var(--veda-amber-dark); transform: translateY(-2px); }
.brandadoc-booking-submit:disabled { opacity: 0.7; cursor: not-allowed; transform: none; }
.booking-response { margin-top: 14px; font-weight: 600; }

.veda-contact-card {
	background: var(--veda-surface); border-radius: var(--veda-radius); padding: 30px; box-shadow: var(--veda-shadow-sm); margin-bottom: 24px;
}
.veda-contact-details li { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 14px; font-size: 0.92rem; }
.veda-office-hours { margin-top: 22px; padding-top: 22px; border-top: 1px solid var(--veda-border); }
.veda-office-hours h3 { font-size: 1rem; margin-bottom: 12px; }
.veda-hours-list li { display: flex; justify-content: space-between; font-size: 0.88rem; padding: 4px 0; }
.veda-hours-note { font-size: 0.78rem; color: var(--veda-text-muted); margin-top: 10px; }
.veda-contact-map {
	background: var(--veda-surface); border-radius: var(--veda-radius); box-shadow: var(--veda-shadow-sm);
	padding: 30px; text-align: center;
}
.veda-map-icon { font-size: 1.8rem; margin-bottom: 10px; }
.veda-contact-map p { color: var(--veda-text-muted); font-size: 0.9rem; }

/* ==========================================================================
   Footer
   ========================================================================== */
.veda-footer { background: var(--veda-blue-deeper); color: #cfe3ef; padding: 64px 0 0; }
.veda-footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 40px; padding-bottom: 48px; }
.veda-footer-logo { width: 52px; height: 52px; margin-bottom: 14px; border-radius: 8px; }
.veda-footer-about p { color: #9db6c4; font-size: 0.9rem; }
.veda-footer-col h3 { color: #fff; font-size: 1rem; margin-bottom: 16px; }
.veda-footer-col ul li { margin-bottom: 10px; }
.veda-footer-col a { color: #9db6c4; font-size: 0.9rem; }
.veda-footer-col a:hover { color: #fff; }
.veda-footer-contact li { display: flex; align-items: flex-start; gap: 8px; color: #9db6c4; font-size: 0.88rem; margin-bottom: 12px; }
.veda-footer-bottom { border-top: 1px solid rgba(255,255,255,0.1); padding: 20px 0; font-size: 0.82rem; color: #7d99a8; }
.veda-footer-bottom p { margin: 0; }

.brandadoc-social-links { display: flex; gap: 10px; margin-top: 6px; }
.brandadoc-social-links .social-link {
	width: 34px; height: 34px; border-radius: 50%; background: rgba(255,255,255,0.08); color: #fff;
	display: flex; align-items: center; justify-content: center; font-size: 0.75rem; text-transform: uppercase;
}
.brandadoc-social-links .social-link:hover { background: var(--veda-blue); }

/* ==========================================================================
   Floating WhatsApp + sticky mobile CTA bar
   ========================================================================== */
.veda-whatsapp-float {
	position: fixed; right: 22px; bottom: 90px; width: 56px; height: 56px; border-radius: 50%;
	background: #25d366; color: #fff; display: flex; align-items: center; justify-content: center;
	box-shadow: var(--veda-shadow-md); z-index: 900;
}
.veda-icon-whatsapp { display: inline-flex; }
.veda-icon-whatsapp svg { width: 1em; height: 1em; display: block; }
.veda-whatsapp-float .veda-icon-whatsapp svg { width: 28px; height: 28px; }
.veda-mobile-cta-bar { display: none; }

.back-to-top {
	position: fixed; right: 22px; bottom: 20px; width: 44px; height: 44px; border-radius: 50%;
	background: var(--veda-blue-dark); color: #fff; display: flex; align-items: center; justify-content: center;
	opacity: 0; visibility: hidden; transition: opacity 0.2s ease; cursor: pointer; z-index: 899;
}
.back-to-top.show { opacity: 1; visibility: visible; }

/* ==========================================================================
   Doctor landing page
   ========================================================================== */
.veda-doctor-hero {
	position: relative; color: #fff; padding: 64px 0 56px;
	background: linear-gradient(135deg, var(--veda-blue-dark), var(--veda-blue-deeper));
}
.veda-doctor-hero[data-department="gynec"] { background: linear-gradient(135deg, #003b36, var(--veda-blue-deeper)); }
.veda-doctor-hero .veda-hero-overlay { background: linear-gradient(120deg, rgba(0,18,29,0.55) 0%, rgba(0,18,29,0.25) 100%); }
.veda-doctor-hero-inner { position: relative; z-index: 1; display: grid; grid-template-columns: 220px 1fr; gap: 44px; align-items: center; }
.veda-doctor-hero-media img, .veda-doctor-hero-media .veda-img-placeholder {
	width: 220px; height: 220px; border-radius: 50%; object-fit: cover; border: 4px solid rgba(255,255,255,0.25); box-shadow: var(--veda-shadow-md);
}
.veda-doctor-hero-copy h1 { color: #fff; font-size: clamp(1.8rem, 3.4vw, 2.6rem); margin-bottom: 6px; }
.veda-doctor-hero-designation { color: #fff; font-weight: 700; font-size: 1.05rem; margin-bottom: 2px; }
.veda-doctor-hero-specialization { color: #cfe3ef; font-size: 0.92rem; margin-bottom: 14px; }
.veda-doctor-hero .veda-doctor-experience-badge { background: rgba(255,255,255,0.15); color: #fff; margin-bottom: 22px; }
.veda-doctor-hero .veda-hero-actions { margin: 0; flex-wrap: wrap; }

.veda-doctor-quickfacts { background: var(--veda-surface); border-bottom: 1px solid var(--veda-border); }
.veda-quickfacts-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; padding: 28px 0; text-align: center; }
.veda-quickfact strong { display: block; font-family: var(--veda-font-heading); font-size: 1.5rem; color: var(--veda-blue); }
.veda-quickfact span { font-size: 0.8rem; color: var(--veda-text-muted); }

.veda-doctor-about-grid { display: grid; grid-template-columns: 1.3fr 0.9fr; gap: 56px; align-items: start; }
.veda-doctor-about-copy .entry-content { max-width: none; }
.veda-doctor-why {
	background: var(--veda-blue-tint); border-radius: var(--veda-radius); padding: 30px 28px; position: sticky; top: calc(var(--veda-header-h) + 24px);
}
.veda-doctor-why h3 { font-size: 1.05rem; margin-bottom: 16px; }
.veda-doctor-why-list li { position: relative; padding-left: 22px; margin-bottom: 12px; font-size: 0.92rem; }
.veda-doctor-why-list li::before { content: '\2713'; position: absolute; left: 0; color: var(--veda-blue); font-weight: 700; }

.veda-education-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.veda-education-card {
	background: var(--veda-surface); border-radius: var(--veda-radius); padding: 24px 26px; box-shadow: var(--veda-shadow-sm);
	display: flex; align-items: center; gap: 16px;
}
.veda-education-icon { font-size: 1.6rem; flex-shrink: 0; }
.veda-education-card p { margin: 0; font-size: 0.92rem; }

.veda-care-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.veda-care-card {
	display: flex; align-items: center; gap: 16px; background: var(--veda-surface); border: 1px solid var(--veda-border);
	border-radius: var(--veda-radius); padding: 20px 22px; transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}
.veda-care-card:hover { transform: translateY(-3px); box-shadow: var(--veda-shadow-md); border-color: var(--veda-blue-chip); }
.veda-care-icon {
	flex-shrink: 0; width: 52px; height: 52px; border-radius: 50%; background: var(--veda-blue-tint);
	display: flex; align-items: center; justify-content: center; font-size: 1.5rem;
}
.veda-care-card h3 { font-size: 0.96rem; margin: 0; line-height: 1.35; }
.veda-doctor-services[data-department="gynec"] .veda-care-icon { background: var(--veda-teal-tint); }
.veda-doctor-services[data-department="gynec"] .veda-care-card:hover { border-color: var(--veda-teal); }
.veda-doctor-services-more { text-align: center; margin-top: 32px; }

.veda-doctor-gallery-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.veda-doctor-gallery-item { border-radius: var(--veda-radius); overflow: hidden; aspect-ratio: 4 / 3; box-shadow: var(--veda-shadow-sm); }
.veda-doctor-gallery-item img { width: 100%; height: 100%; object-fit: cover; }

.veda-doctor-book-inner .veda-section-head { max-width: 640px; }
.veda-doctor-book-form { max-width: 720px; margin: 0 auto; background: var(--veda-surface); border-radius: var(--veda-radius); padding: 36px; box-shadow: var(--veda-shadow-sm); }

/* ==========================================================================
   Generic content pages (About/Contact page shell, /services/, single CPT pages)
   ========================================================================== */
.veda-page-header, .page-header { background: var(--veda-blue-tint); padding: 56px 0; text-align: center; }
.veda-page-header h1, .page-header h1 { margin-bottom: 8px; }
.breadcrumbs { font-size: 0.85rem; color: var(--veda-text-muted); }
.breadcrumbs a { color: var(--veda-blue); }
.content-area { padding: 64px 0; }
.content-with-sidebar { display: grid; grid-template-columns: 2fr 1fr; gap: 48px; }
body.no-sidebar .content-with-sidebar { grid-template-columns: 1fr; }
.entry-content { max-width: 780px; margin: 0 auto; }
.featured-image img { border-radius: var(--veda-radius); }
.veda-service-group { margin-bottom: 56px; }
.veda-service-group h2 { border-bottom: 2px solid var(--veda-blue-chip); padding-bottom: 14px; margin-bottom: 28px; }
.brandadoc-services-grid { display: grid; grid-template-columns: repeat(var(--cols, 3), 1fr); gap: 22px; }
.service-card { background: var(--veda-surface); border-radius: var(--veda-radius); padding: 26px; box-shadow: var(--veda-shadow-sm); }
.service-card .service-card-image img { border-radius: var(--veda-radius-sm); margin-bottom: 14px; }
.service-icon { font-size: 1.8rem; margin-bottom: 12px; }
.service-card h3 { font-size: 1.02rem; margin-bottom: 8px; }
.service-card p { font-size: 0.88rem; color: var(--veda-text-muted); }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 960px) {
	.veda-header-inner { gap: 12px; }
	.veda-nav #primary-menu { gap: 18px; }
	.veda-nav #primary-menu a { font-size: 0.88rem; }
	.veda-header-cta { gap: 8px; }
	.veda-intro-grid, .veda-contact-grid, .veda-doctor-profile-grid { grid-template-columns: 1fr; gap: 32px; }
	.veda-department-grid, .veda-doctor-grid, .veda-facility-grid { grid-template-columns: repeat(2, 1fr); }
	.veda-reason-grid, .veda-journey-grid { grid-template-columns: repeat(2, 1fr); }
	.brandadoc-gallery-grid { grid-template-columns: repeat(2, 1fr); }
	.veda-testimonial-grid { grid-template-columns: 1fr; }
	.veda-footer-grid { grid-template-columns: 1fr 1fr; }
	.content-with-sidebar { grid-template-columns: 1fr; }

	.veda-doctor-hero-inner { grid-template-columns: 1fr; text-align: center; justify-items: center; }
	.veda-doctor-hero .veda-hero-actions { justify-content: center; }
	.veda-quickfacts-grid { grid-template-columns: repeat(2, 1fr); }
	.veda-doctor-about-grid { grid-template-columns: 1fr; gap: 32px; }
	.veda-doctor-why { position: static; }
	.veda-education-grid { grid-template-columns: 1fr; }
	.veda-care-grid { grid-template-columns: repeat(2, 1fr); }
	.veda-doctor-gallery-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 782px) {
	:root { --veda-header-h: 84px; }
	.veda-topbar-tagline { display: none; }
	.veda-topbar-info { gap: 12px; }
	.veda-topbar-link-secondary { display: none; }

	.veda-header-inner { padding: 10px 16px; gap: 10px; }
	.veda-logo-img { height: 48px; }
	.veda-header-cta { gap: 8px; }
	.veda-header-cta .veda-btn-primary { padding: 10px 16px; font-size: 0.82rem; }
	.veda-hero-copy { padding: 24px 22px; }

	.veda-nav {
		/* Anchored to .site-header (position:sticky, the nearest positioned
		   ancestor) rather than a fixed viewport offset, since the topbar
		   above it isn't sticky and scrolls out at different rates. */
		position: absolute; top: 100%; left: 0; right: 0; max-height: calc(100vh - 100%);
		background: var(--veda-surface); transform: translateX(-100%); transition: transform 0.25s ease;
		justify-content: flex-start; padding: 24px; overflow-y: auto; box-shadow: var(--veda-shadow-md);
	}
	.veda-nav.active { transform: translateX(0); }
	.veda-nav #primary-menu { flex-direction: column; gap: 4px; }
	.veda-nav #primary-menu a { display: block; padding: 14px 4px; border-bottom: 1px solid var(--veda-border); }
	.veda-nav #primary-menu li.menu-item-has-children > a::before { top: 18px; }
	.veda-nav #primary-menu .sub-menu {
		display: block; position: static; box-shadow: none; padding: 0 0 0 16px; margin-top: -4px;
	}
	.veda-nav #primary-menu .sub-menu a { padding: 12px 4px; color: var(--veda-text-muted); border-bottom: 1px dashed var(--veda-border); }
	.menu-toggle { display: flex; }
	.veda-header-cta .veda-btn-outline { display: none; }

	.veda-department-grid, .veda-doctor-grid, .veda-facility-grid,
	.veda-reason-grid, .veda-journey-grid, .brandadoc-services-grid, .veda-care-grid { grid-template-columns: 1fr; }
	.brandadoc-gallery-grid { grid-template-columns: repeat(2, 1fr); }
	.veda-footer-grid { grid-template-columns: 1fr; text-align: left; }
	.booking-form-grid { grid-template-columns: 1fr; }

	.veda-mobile-cta-bar {
		display: flex; position: fixed; bottom: 0; left: 0; right: 0; z-index: 950;
		background: var(--veda-surface); box-shadow: 0 -4px 18px rgba(0,18,29,0.12);
	}
	.veda-mobile-cta {
		flex: 1; display: flex; flex-direction: column; align-items: center; gap: 2px;
		padding: 10px 0 12px; font-size: 0.72rem; font-weight: 700; color: var(--veda-text);
	}
	.veda-mobile-cta .veda-icon { font-size: 1.15rem; }
	.veda-mobile-cta-book { background: var(--veda-amber); color: #fff; }
	.veda-mobile-cta-whatsapp { color: #1c9c53; }
	.veda-whatsapp-float { bottom: 78px; }
	body { padding-bottom: 62px; }
}
