/* GorganDr — design system (Hinton-inspired, RTL). */
@font-face { font-family: "Vazirmatn"; src: url("../fonts/Vazirmatn-FD-Regular.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Vazirmatn"; src: url("../fonts/Vazirmatn-FD-Medium.woff2") format("woff2"); font-weight: 500; font-display: swap; }
@font-face { font-family: "Vazirmatn"; src: url("../fonts/Vazirmatn-FD-Bold.woff2") format("woff2"); font-weight: 700; font-display: swap; }
@font-face { font-family: "Vazirmatn"; src: url("../fonts/Vazirmatn-FD-ExtraBold.woff2") format("woff2"); font-weight: 800; font-display: swap; }

:root {
  --gd-primary: #1F5FFF;
  --gd-primary-d: #1449D6;
  --gd-primary-50: #EEF3FF;
  --gd-primary-100: #DCE6FF;
  --gd-green: #04CE78;
  --gd-green-d: #03A862;
  --gd-green-50: #E6FBF2;
  --gd-orange: #FF5A39;
  --gd-orange-50: #FFF0EC;
  --gd-title: #000D44;
  --gd-text: #4F566B;
  --gd-muted: #868CA0;
  --gd-ash: #F5F7FA;
  --gd-line: #E5E9F2;
  --gd-white: #fff;
  --gd-radius: 20px;
  --gd-radius-sm: 12px;
  --gd-shadow: 0 12px 40px rgba(0, 13, 68, .06);
  --gd-shadow-lg: 0 24px 60px rgba(0, 13, 68, .10);
  --gd-ease: cubic-bezier(.22, .61, .36, 1);
  --gd-font: "Vazirmatn", Tahoma, sans-serif;
  --gd-container: 1240px;
}

/* ---------- Base ---------- */
html { scroll-behavior: smooth; }
body { font-family: var(--gd-font); color: var(--gd-text); background: var(--gd-white); font-size: 16px; line-height: 1.9; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
body, button, input, select, textarea { font-family: var(--gd-font); }
h1, h2, h3, h4, h5, h6 { color: var(--gd-title); font-family: var(--gd-font); font-weight: 800; line-height: 1.5; margin: 0 0 .5em; }
a { color: var(--gd-primary); text-decoration: none; transition: color .3s var(--gd-ease); }
a:hover { color: var(--gd-primary-d); }
img { max-width: 100%; height: auto; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
:focus-visible { outline: 3px solid rgba(31, 95, 255, .35); outline-offset: 2px; border-radius: 6px; }
.gd-ic { flex-shrink: 0; vertical-align: middle; }

.gd-container { width: 100%; max-width: var(--gd-container); margin-inline: auto; padding-inline: 20px; box-sizing: border-box; }
.gd-container--narrow { max-width: 880px; }
.gd-main { overflow-x: clip; }
.gd-center { text-align: center; margin-top: 40px; }
.gd-muted { color: var(--gd-muted); font-size: 14px; }
.gd-h3 { font-size: 20px; margin-bottom: 14px; }
.gd-h4 { font-size: 17px; margin-bottom: 12px; }

/* Hello Elementor's reset.css paints every <button> pink on hover/focus; undo it for our controls. */
.gd-linkbtn, .gd-linkbtn:hover, .gd-linkbtn:focus { background: none; border: 0; color: var(--gd-primary); padding: 0; }
.gd-day:focus, .gd-slot:focus, .gd-iconbtn:focus, .gd-modal__close:focus, .gd-nav-toggle:focus { background-color: inherit; }
.gd-day:hover { background: #fff; }
.gd-day.is-active:hover, .gd-day.is-active:focus { background: var(--gd-primary); }
.gd-modal__close:hover, .gd-nav-toggle:hover { background: var(--gd-primary-50); color: var(--gd-primary); }
.gd-slot:focus { background: var(--gd-primary-50); }
.gd-slot:hover { background: var(--gd-primary); }

/* ---------- Buttons ---------- */
.gd-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 1px solid transparent; border-radius: 50px; padding: 12px 28px; font-size: 15px; font-weight: 700; line-height: 1.4; cursor: pointer; text-decoration: none; position: relative; overflow: hidden; isolation: isolate; transition: background-color .4s var(--gd-ease), color .4s var(--gd-ease), border-color .4s var(--gd-ease), transform .4s var(--gd-ease), box-shadow .4s var(--gd-ease); white-space: nowrap; }
.gd-btn::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--gd-title); transform: scaleX(0); transform-origin: left; transition: transform .5s var(--gd-ease); border-radius: inherit; }
.gd-btn:hover::before { transform: scaleX(1); transform-origin: right; }
.gd-btn:hover { transform: translateY(-2px); }
.gd-btn--primary { background: var(--gd-primary); color: #fff; box-shadow: 0 10px 24px rgba(31, 95, 255, .22); }
.gd-btn--primary:hover { color: #fff; }
.gd-btn--ghost { background: transparent; color: var(--gd-title); border-color: var(--gd-line); }
.gd-btn--ghost::before { background: var(--gd-primary); }
.gd-btn--ghost:hover { color: #fff; border-color: var(--gd-primary); }
.gd-btn--soft { background: var(--gd-primary-50); color: var(--gd-primary); }
.gd-btn--soft::before { background: var(--gd-primary); }
.gd-btn--soft:hover { color: #fff; }
.gd-btn--light { background: #fff; color: var(--gd-title); }
.gd-btn--light::before { background: var(--gd-green); }
.gd-btn--light:hover { color: #fff; }
.gd-btn--danger { background: var(--gd-orange-50); color: var(--gd-orange); }
.gd-btn--danger::before { background: var(--gd-orange); }
.gd-btn--danger:hover { color: #fff; }
.gd-btn--sm { padding: 8px 18px; font-size: 13px; }
.gd-btn--block { width: 100%; }
.gd-btn.is-busy { pointer-events: none; opacity: .7; }
.gd-btn.is-busy::after { content: ""; width: 16px; height: 16px; border: 2px solid currentColor; border-top-color: transparent; border-radius: 50%; animation: gd-spin .8s linear infinite; }
.gd-btn:disabled { cursor: not-allowed; }
.gd-linkbtn { background: none; border: 0; padding: 0; color: var(--gd-primary); font-weight: 700; cursor: pointer; font-size: inherit; }
.gd-link-arrow { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; font-size: 14px; }
.gd-link-arrow .gd-ic { transition: transform .4s var(--gd-ease); }
.gd-link-arrow:hover .gd-ic { transform: translateX(-4px); }
.gd-iconbtn { background: var(--gd-ash); border: 0; width: 36px; height: 36px; border-radius: 50%; display: inline-grid; place-items: center; cursor: pointer; color: var(--gd-muted); transition: .3s; }
.gd-iconbtn:hover { background: var(--gd-orange-50); color: var(--gd-orange); }

/* ---------- Chips & badges ---------- */
.gd-eyebrow { display: inline-flex; align-items: center; gap: 8px; color: var(--gd-primary); background: var(--gd-primary-50); font-weight: 700; font-size: 14px; padding: 6px 16px; border-radius: 50px; margin-bottom: 16px; }
.gd-eyebrow::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--gd-green); box-shadow: 0 0 0 4px rgba(4, 206, 120, .18); }
.gd-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0; }
.gd-chip { display: inline-flex; align-items: center; gap: 6px; background: var(--gd-ash); color: var(--gd-title); padding: 6px 14px; border-radius: 50px; font-size: 13px; font-weight: 500; border: 1px solid transparent; transition: .35s var(--gd-ease); }
.gd-chip small { color: var(--gd-muted); }
.gd-chip:hover { background: var(--gd-primary-50); color: var(--gd-primary); border-color: var(--gd-primary-100); }
.gd-chips--sub { margin: 0 0 24px; }
.gd-badge { display: inline-block; font-size: 12px; font-weight: 700; padding: 4px 12px; border-radius: 50px; background: var(--gd-ash); color: var(--gd-title); }
.gd-badge--online { background: var(--gd-green-50); color: var(--gd-green-d); }

/* ---------- Cards ---------- */
.gd-card { background: #fff; border: 1px solid var(--gd-line); border-radius: var(--gd-radius); box-shadow: var(--gd-shadow); }
.gd-section-card { padding: 28px; margin-bottom: 24px; scroll-margin-top: 110px; }

/* ---------- Motion ---------- */
.gd-motion [data-reveal] { opacity: 0; transform: translateY(28px); transition: opacity 1s var(--gd-ease), transform 1s var(--gd-ease); transition-delay: calc(var(--d, 0) * 120ms); }
.gd-motion [data-reveal].is-in { opacity: 1; transform: none; }
@keyframes gd-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-14px); } }
@keyframes gd-float-x { 0%, 100% { transform: translate(0, 0) rotate(0); } 50% { transform: translate(10px, -10px) rotate(8deg); } }
@keyframes gd-spin { to { transform: rotate(360deg); } }
@keyframes gd-pulse { 0% { box-shadow: 0 0 0 0 rgba(31, 95, 255, .35); } 70% { box-shadow: 0 0 0 18px rgba(31, 95, 255, 0); } 100% { box-shadow: 0 0 0 0 rgba(31, 95, 255, 0); } }
@keyframes gd-shimmer { to { background-position: -200% 0; } }
.gd-float { animation: gd-float 6s ease-in-out infinite; }
.gd-float-slow { animation: gd-float 9s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* ---------- Decorative shapes ---------- */
.gd-shape { position: absolute; pointer-events: none; z-index: 0; }
.gd-shape--ring { width: 140px; height: 140px; border: 22px solid rgba(31, 95, 255, .07); border-radius: 50%; inset-inline-start: -40px; top: 30px; }
.gd-shape--dots { width: 120px; height: 90px; inset-inline-end: 6%; bottom: 20px; background-image: radial-gradient(rgba(31, 95, 255, .25) 2px, transparent 2px); background-size: 16px 16px; animation: gd-float-x 12s ease-in-out infinite; }
.gd-shape--blob { width: 620px; height: 620px; border-radius: 50%; background: radial-gradient(circle at 30% 30%, rgba(31, 95, 255, .12), rgba(31, 95, 255, 0) 65%); inset-inline-start: -180px; top: -200px; }
.gd-shape--plus { width: 28px; height: 28px; inset-inline-end: 46%; top: 110px; }
.gd-shape--plus::before, .gd-shape--plus::after { content: ""; position: absolute; background: var(--gd-orange); border-radius: 4px; }
.gd-shape--plus::before { width: 28px; height: 6px; top: 11px; }
.gd-shape--plus::after { width: 6px; height: 28px; left: 11px; }

/* ---------- Header ---------- */
.gd-topbar { background: var(--gd-title); color: rgba(255, 255, 255, .8); font-size: 13px; }
.gd-topbar .gd-container { display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 42px; }
.gd-topbar a { color: #fff; }
.gd-topbar__info { display: flex; gap: 22px; flex-wrap: wrap; }
.gd-topbar__info span { display: inline-flex; align-items: center; gap: 6px; }
.gd-header { position: sticky; top: 0; z-index: 90; background: rgba(255, 255, 255, .92); backdrop-filter: saturate(160%) blur(12px); -webkit-backdrop-filter: saturate(160%) blur(12px); border-bottom: 1px solid transparent; transition: box-shadow .4s var(--gd-ease), border-color .4s; }
.admin-bar .gd-header { top: 32px; }
.gd-header.is-stuck { box-shadow: 0 8px 30px rgba(0, 13, 68, .07); border-color: var(--gd-line); }
.gd-header__row { display: flex; align-items: center; gap: 28px; min-height: 84px; transition: min-height .4s var(--gd-ease); }
.gd-header.is-stuck .gd-header__row { min-height: 72px; }
.gd-logo { display: inline-flex; align-items: center; gap: 10px; font-weight: 800; font-size: 22px; color: var(--gd-title); }
.gd-logo img { max-height: 48px; width: auto; }
.gd-logo__mark { width: 44px; height: 44px; border-radius: 14px; background: var(--gd-primary); color: #fff; display: grid; place-items: center; box-shadow: 0 8px 20px rgba(31, 95, 255, .25); }
.gd-logo__text small { display: block; font-size: 11px; font-weight: 500; color: var(--gd-muted); margin-top: -4px; }
.gd-nav { margin-inline-start: auto; }
.gd-nav ul { list-style: none; display: flex; gap: 6px; margin: 0; padding: 0; }
.gd-nav a { display: block; padding: 10px 14px; color: var(--gd-title); font-weight: 700; font-size: 15px; border-radius: 50px; position: relative; }
.gd-nav a::after { content: ""; position: absolute; inset-inline: 14px; bottom: 4px; height: 2px; background: var(--gd-primary); transform: scaleX(0); transition: transform .45s var(--gd-ease); }
.gd-nav a:hover, .gd-nav .current-menu-item > a, .gd-nav .current_page_item > a { color: var(--gd-primary); }
.gd-nav a:hover::after, .gd-nav .current-menu-item > a::after { transform: scaleX(1); }
.gd-header__actions { display: flex; align-items: center; gap: 10px; }
.gd-nav-toggle { display: none; background: var(--gd-ash); border: 0; width: 46px; height: 46px; border-radius: 14px; color: var(--gd-title); cursor: pointer; }

/* ---------- Page head / breadcrumbs ---------- */
.gd-pagehead { position: relative; overflow: hidden; background: linear-gradient(180deg, var(--gd-primary-50), #fff); padding: 56px 0 48px; }
.gd-pagehead--slim { padding: 22px 0; background: var(--gd-ash); }
.gd-pagehead .gd-container { position: relative; z-index: 1; }
.gd-pagehead__title { font-size: clamp(26px, 3.4vw, 40px); margin: 10px 0 6px; }
.gd-pagehead__sub { color: var(--gd-text); margin: 0; }
.gd-crumbs ol { list-style: none; display: flex; flex-wrap: wrap; gap: 4px; margin: 0; padding: 0; font-size: 14px; }
.gd-crumbs li { display: inline-flex; align-items: center; gap: 4px; color: var(--gd-muted); }
.gd-crumbs li + li::before { content: "‹"; color: var(--gd-muted); margin-inline-end: 4px; }
.gd-crumbs a { color: var(--gd-text); }
.gd-crumbs a:hover { color: var(--gd-primary); }

/* ---------- Sections ---------- */
.gd-section { padding: 110px 0; position: relative; }
.gd-section--ash { background: var(--gd-ash); }
.gd-sec-head { max-width: 640px; margin-bottom: 52px; }
.gd-sec-head--center { margin-inline: auto; text-align: center; }
.gd-sec-title { font-size: clamp(26px, 3.2vw, 40px); line-height: 1.45; margin: 0; }
.gd-sec-title span, .gd-hero__title span { color: var(--gd-primary); position: relative; }
.gd-sec-sub { margin: 14px 0 0; color: var(--gd-text); }

/* ---------- Hero ---------- */
.gd-hero { position: relative; overflow: hidden; padding: 80px 0 110px; background: linear-gradient(160deg, #F3F6FF 0%, #fff 55%, #F0FBF6 100%); }
.gd-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.1fr .9fr; gap: 48px; align-items: center; }
.gd-hero__title { font-size: clamp(32px, 4.6vw, 58px); line-height: 1.35; margin: 0 0 18px; }
.gd-hero__sub { font-size: 17px; max-width: 560px; margin: 0 0 30px; }
.gd-hero__popular { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 20px; font-size: 14px; }
.gd-hero__popular span { color: var(--gd-muted); }
.gd-hero__popular a { background: #fff; border: 1px solid var(--gd-line); padding: 4px 14px; border-radius: 50px; color: var(--gd-title); font-size: 13px; transition: .35s var(--gd-ease); }
.gd-hero__popular a:hover { border-color: var(--gd-primary); color: var(--gd-primary); }
.gd-hero__visual { position: relative; min-height: 520px; }
.gd-hero__circle { position: absolute; inset: 40px 30px; border-radius: 50%; background: linear-gradient(135deg, var(--gd-primary), #6E95FF); opacity: .95; }
.gd-hero__circle::before { content: ""; position: absolute; inset: -26px; border: 2px dashed rgba(31, 95, 255, .25); border-radius: 50%; animation: gd-spin 60s linear infinite; }
.gd-hero-card { position: absolute; background: #fff; border-radius: var(--gd-radius); box-shadow: var(--gd-shadow-lg); padding: 16px 18px; }
.gd-hero-card--main { width: 340px; inset-inline-start: 50%; top: 50%; margin-inline-start: -170px; margin-top: -180px; padding: 20px; }
.gd-hero-card__head { display: flex; align-items: center; gap: 12px; padding-bottom: 14px; border-bottom: 1px solid var(--gd-line); }
.gd-hero-card__head img { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; }
.gd-hero-card__head strong { display: block; color: var(--gd-title); font-size: 15px; }
.gd-hero-card__head span { font-size: 12px; color: var(--gd-muted); }
.gd-hero-card__days { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; margin: 14px 0; }
.gd-hero-card__days span { display: flex; flex-direction: column; align-items: center; font-size: 11px; color: var(--gd-muted); border: 1px solid var(--gd-line); border-radius: 12px; padding: 6px 2px; }
.gd-hero-card__days b { color: var(--gd-title); font-size: 12px; }
.gd-hero-card__days .is-active { background: var(--gd-primary); border-color: var(--gd-primary); color: rgba(255, 255, 255, .85); }
.gd-hero-card__days .is-active b { color: #fff; }
.gd-hero-card__slots { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.gd-hero-card__slots span { text-align: center; font-size: 13px; padding: 6px 0; border-radius: 10px; background: var(--gd-ash); color: var(--gd-title); }
.gd-hero-card__slots .is-picked { background: var(--gd-green); color: #fff; animation: gd-pulse 2.4s infinite; }
.gd-hero-card__slots .is-taken { text-decoration: line-through; color: var(--gd-muted); }
.gd-hero-card__cta { display: flex; align-items: center; justify-content: center; gap: 6px; margin-top: 14px; background: var(--gd-green-50); color: var(--gd-green-d); font-weight: 700; font-size: 14px; border-radius: 12px; padding: 8px; }
.gd-hero-card--stat { display: flex; align-items: center; gap: 12px; top: 30px; inset-inline-end: 0; }
.gd-hero-card--stat strong { display: block; font-size: 22px; color: var(--gd-title); line-height: 1.2; }
.gd-hero-card--stat span { font-size: 13px; color: var(--gd-muted); }
.gd-hero-card__ic { width: 48px; height: 48px; border-radius: 14px; background: var(--gd-orange-50); color: var(--gd-orange); display: grid; place-items: center; }
.gd-hero-card--avatars { bottom: 30px; inset-inline-start: 0; display: flex; align-items: center; gap: 10px; font-size: 13px; font-weight: 700; color: var(--gd-title); }
.gd-avatars { display: flex; }
.gd-avatars img { width: 36px; height: 36px; border-radius: 50%; border: 3px solid #fff; object-fit: cover; margin-inline-start: -10px; }
.gd-avatars img:first-child { margin-inline-start: 0; }

/* ---------- Search ---------- */
.gd-search { position: relative; display: flex; align-items: center; gap: 8px; background: #fff; border: 1px solid var(--gd-line); border-radius: 50px; padding: 8px; box-shadow: var(--gd-shadow); }
.gd-search--big { padding: 10px; }
.gd-search__field { display: flex; align-items: center; gap: 8px; flex: 1.3; padding-inline: 14px; color: var(--gd-muted); min-width: 0; }
.gd-search__field--select { flex: 1; border-inline-start: 1px solid var(--gd-line); }
.gd-search input, .gd-search select { border: 0 !important; outline: 0; background: transparent !important; width: 100%; font-size: 15px; color: var(--gd-title); padding: 10px 0 !important; box-shadow: none !important; min-width: 0; }
.gd-search .gd-btn { padding: 14px 34px; }
.gd-suggest { position: absolute; top: calc(100% + 8px); inset-inline: 0; background: #fff; border: 1px solid var(--gd-line); border-radius: var(--gd-radius); box-shadow: var(--gd-shadow-lg); padding: 8px; z-index: 30; max-height: 380px; overflow: auto; }
.gd-suggest a { display: flex; align-items: center; gap: 12px; padding: 8px 10px; border-radius: 12px; color: var(--gd-title); }
.gd-suggest a:hover { background: var(--gd-ash); }
.gd-suggest img, .gd-suggest__ic { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.gd-suggest__ic { display: grid; place-items: center; background: var(--gd-primary-50); color: var(--gd-primary); font-weight: 800; }
.gd-suggest strong { display: block; font-size: 14px; }
.gd-suggest small { color: var(--gd-muted); font-size: 12px; }

/* ---------- Specialties ---------- */
.gd-spec-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 20px; }
.gd-spec-card { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 8px; background: #fff; border: 1px solid var(--gd-line); border-radius: var(--gd-radius); padding: 28px 12px 22px; color: var(--gd-title); position: relative; overflow: hidden; transition: transform .5s var(--gd-ease), box-shadow .5s var(--gd-ease), border-color .5s; }
.gd-spec-card::after { content: ""; position: absolute; inset-inline: 0; bottom: 0; height: 4px; background: var(--gd-primary); transform: scaleX(0); transition: transform .5s var(--gd-ease); }
.gd-spec-card:hover { transform: translateY(-8px); box-shadow: var(--gd-shadow-lg); border-color: transparent; color: var(--gd-title); }
.gd-spec-card:hover::after { transform: scaleX(1); }
.gd-spec-card__ic { width: 76px; height: 76px; border-radius: 50%; background: var(--gd-primary-50); display: grid; place-items: center; color: var(--gd-primary); transition: background-color .5s var(--gd-ease), transform .6s var(--gd-ease); }
.gd-spec-card:hover .gd-spec-card__ic { background: var(--gd-primary-100); transform: rotateY(180deg); }
.gd-spec-card__ic img { width: 40px; height: 40px; object-fit: contain; }
.gd-spec-card strong { font-size: 15px; line-height: 1.6; }
.gd-spec-card small { color: var(--gd-muted); font-size: 13px; }

/* ---------- Doctor cards ---------- */
.gd-doc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.gd-doc-grid--4 { grid-template-columns: repeat(4, 1fr); }
.gd-doc-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--gd-line); border-radius: var(--gd-radius); overflow: hidden; transition: transform .5s var(--gd-ease), box-shadow .5s var(--gd-ease); }
.gd-doc-card:hover { transform: translateY(-8px); box-shadow: var(--gd-shadow-lg); }
.gd-doc-card__photo { position: relative; display: block; aspect-ratio: 1 / .92; background: linear-gradient(160deg, var(--gd-primary-50), var(--gd-ash)); overflow: hidden; }
.gd-doc-card__photo img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--gd-ease); }
.gd-doc-card:hover .gd-doc-card__photo img { transform: scale(1.06); }
.gd-doc-card__photo .gd-badge { position: absolute; top: 14px; inset-inline-start: 14px; }
.gd-doc-card__body { padding: 18px 20px 8px; flex: 1; }
.gd-doc-card__name { font-size: 17px; margin: 0 0 4px; }
.gd-doc-card__name a { color: var(--gd-title); }
.gd-doc-card__name a:hover { color: var(--gd-primary); }
.gd-doc-card__spec { color: var(--gd-primary); font-size: 14px; font-weight: 500; margin: 0 0 6px; }
.gd-doc-card__addr { display: flex; gap: 4px; align-items: flex-start; font-size: 13px; color: var(--gd-muted); margin: 0; line-height: 1.8; }
.gd-doc-card__addr .gd-ic { margin-top: 4px; }
.gd-doc-card__foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 14px 20px; border-top: 1px dashed var(--gd-line); }

/* ---------- Process ---------- */
.gd-process__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; counter-reset: s; position: relative; }
.gd-process__list::before { content: ""; position: absolute; top: 58px; inset-inline: 12%; border-top: 2px dashed var(--gd-primary-100); z-index: 0; }
.gd-process__item { position: relative; z-index: 1; text-align: center; padding: 0 10px; }
.gd-process__ic { width: 116px; height: 116px; margin: 0 auto 22px; border-radius: 50%; background: #fff; border: 1px solid var(--gd-line); box-shadow: var(--gd-shadow); display: grid; place-items: center; color: var(--gd-primary); transition: background-color .5s var(--gd-ease), color .5s var(--gd-ease), transform .5s var(--gd-ease); }
.gd-process__item:hover .gd-process__ic { background: var(--gd-primary); color: #fff; transform: translateY(-6px); }
.gd-process__num { position: absolute; top: 0; inset-inline-start: calc(50% + 28px); width: 34px; height: 34px; border-radius: 50%; background: var(--gd-green); color: #fff; font-weight: 800; display: grid; place-items: center; z-index: 2; box-shadow: 0 0 0 5px #fff; }
.gd-process__item h3 { font-size: 18px; margin-bottom: 6px; }
.gd-process__item p { font-size: 14px; margin: 0; }

/* ---------- Counters ---------- */
.gd-counters { position: relative; margin-top: -10px; }
.gd-counters__box { display: grid; grid-template-columns: repeat(4, 1fr); background: linear-gradient(120deg, var(--gd-title), #0B2275); border-radius: 28px; padding: 46px 30px; color: #fff; position: relative; overflow: hidden; }
.gd-counters__box::before { content: ""; position: absolute; width: 320px; height: 320px; border-radius: 50%; border: 40px solid rgba(255, 255, 255, .04); inset-inline-end: -80px; top: -120px; }
.gd-counter { text-align: center; position: relative; }
.gd-counter + .gd-counter::before { content: ""; position: absolute; inset-inline-start: 0; top: 15%; height: 70%; border-inline-start: 1px solid rgba(255, 255, 255, .12); }
.gd-counter__ic { width: 54px; height: 54px; border-radius: 50%; background: rgba(255, 255, 255, .08); color: var(--gd-green); display: inline-grid; place-items: center; margin-bottom: 10px; }
.gd-counter strong { display: block; font-size: 40px; line-height: 1.2; font-weight: 800; }
.gd-counter span { color: rgba(255, 255, 255, .7); font-size: 15px; }

/* ---------- Why ---------- */
.gd-why__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: center; }
.gd-why__panel { position: relative; aspect-ratio: 1 / .9; border-radius: 40px; background: linear-gradient(145deg, var(--gd-primary-50), var(--gd-green-50)); display: grid; place-items: center; overflow: visible; }
.gd-why__panel::before { content: ""; position: absolute; inset: 14%; border-radius: 50%; background: #fff; box-shadow: var(--gd-shadow-lg); }
.gd-why__big { position: relative; color: var(--gd-primary); width: 150px; height: 150px; border-radius: 50%; background: var(--gd-primary-50); display: grid; place-items: center; }
.gd-why__badge { position: absolute; top: 12%; inset-inline-end: -10px; display: flex; gap: 8px; align-items: center; background: #fff; padding: 12px 18px; border-radius: 50px; box-shadow: var(--gd-shadow-lg); font-weight: 700; color: var(--gd-title); font-size: 14px; }
.gd-why__badge .gd-ic { color: var(--gd-green); }
.gd-why__badge--2 { top: auto; bottom: 12%; inset-inline-end: auto; inset-inline-start: -10px; }
.gd-why__badge--2 .gd-ic { color: var(--gd-primary); }
.gd-why__list { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; }
.gd-why__item { display: flex; gap: 14px; align-items: flex-start; }
.gd-why__ic { width: 52px; height: 52px; border-radius: 16px; background: var(--gd-primary-50); color: var(--gd-primary); display: grid; place-items: center; flex-shrink: 0; transition: .5s var(--gd-ease); }
.gd-why__item:nth-child(2n) .gd-why__ic { background: var(--gd-green-50); color: var(--gd-green-d); }
.gd-why__item:hover .gd-why__ic { transform: rotate(-8deg) scale(1.06); }
.gd-why__item h3 { font-size: 17px; margin-bottom: 4px; }
.gd-why__item p { font-size: 14px; margin: 0; }

/* ---------- Blog ---------- */
.gd-blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.gd-blog-card { background: #fff; border-radius: var(--gd-radius); overflow: hidden; border: 1px solid var(--gd-line); transition: transform .5s var(--gd-ease), box-shadow .5s var(--gd-ease); }
.gd-blog-card:hover { transform: translateY(-8px); box-shadow: var(--gd-shadow-lg); }
.gd-blog-card__img { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--gd-primary-50); }
.gd-blog-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--gd-ease); }
.gd-blog-card:hover .gd-blog-card__img img { transform: scale(1.06); }
.gd-blog-card__ph { display: grid; place-items: center; height: 100%; color: var(--gd-primary); }
.gd-blog-card__body { padding: 22px; }
.gd-blog-card time { display: inline-flex; gap: 6px; align-items: center; font-size: 13px; color: var(--gd-muted); }
.gd-blog-card h3 { font-size: 18px; margin: 8px 0; }
.gd-blog-card h3 a { color: var(--gd-title); }
.gd-blog-card h3 a:hover { color: var(--gd-primary); }
.gd-blog-card p { font-size: 14px; margin: 0 0 12px; }

/* ---------- FAQ ---------- */
.gd-faq details { border: 1px solid var(--gd-line); border-radius: 16px; background: #fff; margin-bottom: 12px; transition: box-shadow .4s var(--gd-ease), border-color .4s; }
.gd-faq details[open] { box-shadow: var(--gd-shadow); border-color: var(--gd-primary-100); }
.gd-faq summary { cursor: pointer; list-style: none; padding: 16px 20px; font-weight: 700; color: var(--gd-title); display: flex; justify-content: space-between; gap: 16px; align-items: center; }
.gd-faq summary::-webkit-details-marker { display: none; }
.gd-faq summary::after { content: "+"; width: 30px; height: 30px; border-radius: 50%; background: var(--gd-primary-50); color: var(--gd-primary); display: grid; place-items: center; font-size: 20px; flex-shrink: 0; transition: transform .4s var(--gd-ease), background-color .4s; }
.gd-faq details[open] summary::after { transform: rotate(45deg); background: var(--gd-primary); color: #fff; }
.gd-faq details p { margin: 0; padding: 0 20px 18px; font-size: 15px; }

/* ---------- CTA ---------- */
.gd-cta { padding-top: 0; }
.gd-cta__box { position: relative; overflow: hidden; display: flex; align-items: center; justify-content: space-between; gap: 30px; background: linear-gradient(120deg, var(--gd-primary), #4C80FF); color: #fff; border-radius: 28px; padding: 50px 56px; }
.gd-cta__box h2 { color: #fff; font-size: clamp(22px, 2.6vw, 30px); margin-bottom: 8px; }
.gd-cta__box p { margin: 0; color: rgba(255, 255, 255, .85); }
.gd-cta__box .gd-shape--ring { border-color: rgba(255, 255, 255, .1); inset-inline-start: auto; inset-inline-end: -40px; top: -40px; width: 200px; height: 200px; }
.gd-cta__box > * { position: relative; }

/* ---------- Listing ---------- */
.gd-listing { display: grid; grid-template-columns: 300px 1fr; gap: 30px; padding-top: 50px; padding-bottom: 90px; align-items: start; }
.gd-filters { position: sticky; top: 110px; display: grid; gap: 20px; }
.gd-filter-box, .gd-spec-nav { padding: 24px; }
.gd-spec-nav ul { list-style: none; margin: 0; padding: 0; max-height: 380px; overflow: auto; }
.gd-spec-nav a { display: flex; justify-content: space-between; padding: 7px 0; color: var(--gd-text); font-size: 14px; border-bottom: 1px dashed var(--gd-line); }
.gd-spec-nav a:hover { color: var(--gd-primary); }
.gd-spec-nav small { color: var(--gd-muted); }
.gd-reset { display: block; text-align: center; margin-top: 10px; font-size: 14px; }
.gd-pagination { margin-top: 40px; }
.gd-pagination ul { list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 0; padding: 0; }
.gd-pagination a, .gd-pagination span { display: grid; place-items: center; min-width: 44px; height: 44px; padding: 0 12px; border-radius: 50px; border: 1px solid var(--gd-line); color: var(--gd-title); font-weight: 700; box-sizing: border-box; transition: .35s var(--gd-ease); }
.gd-pagination .current, .gd-pagination a:hover { background: var(--gd-primary); border-color: var(--gd-primary); color: #fff; }
.gd-empty { text-align: center; padding: 50px 20px; color: var(--gd-muted); }
.gd-empty .gd-ic { color: var(--gd-primary); margin-bottom: 10px; }
.gd-empty--sm { padding: 24px; }
.gd-term-text { margin-top: 40px; }

/* ---------- Forms ---------- */
.gd-field { display: block; margin-bottom: 16px; }
.gd-field > span { display: block; font-size: 14px; font-weight: 700; color: var(--gd-title); margin-bottom: 6px; }
.gd-field input, .gd-field select, .gd-field textarea, .gd-schedule input { width: 100%; box-sizing: border-box; border: 1px solid var(--gd-line); border-radius: var(--gd-radius-sm); background: var(--gd-ash); padding: 12px 14px; font-size: 15px; color: var(--gd-title); transition: border-color .3s, background-color .3s, box-shadow .3s; }
.gd-field input:focus, .gd-field select:focus, .gd-field textarea:focus, .gd-schedule input:focus { outline: 0; border-color: var(--gd-primary); background: #fff; box-shadow: 0 0 0 4px rgba(31, 95, 255, .1); }
.gd-field input:disabled { opacity: .7; }
.gd-form--grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; }
.gd-field--full { grid-column: 1 / -1; }
.gd-form--inline { display: flex; align-items: flex-end; gap: 12px; flex-wrap: wrap; }
.gd-form--inline .gd-field { margin: 0; min-width: 260px; }
.gd-form-msg { font-size: 14px; margin-top: 10px; border-radius: 12px; }
.gd-form-msg.is-ok { color: var(--gd-green-d); background: var(--gd-green-50); padding: 10px 14px; }
.gd-form-msg.is-err { color: var(--gd-orange); background: var(--gd-orange-50); padding: 10px 14px; }
.gd-form-msg:empty { display: none; }
.gd-check { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; }
.gd-check input { width: auto; }

/* ---------- Doctor profile ---------- */
.gd-doctor-layout { display: grid; grid-template-columns: 1fr 320px; gap: 30px; padding-top: 36px; padding-bottom: 90px; align-items: start; }
.gd-profile { display: grid; grid-template-columns: 220px 1fr; gap: 30px; padding: 30px; margin-bottom: 20px; position: relative; overflow: hidden; }
.gd-profile::before { content: ""; position: absolute; inset-inline-end: -60px; top: -60px; width: 200px; height: 200px; border-radius: 50%; background: var(--gd-primary-50); }
.gd-profile > * { position: relative; }
.gd-profile__photo { position: relative; }
.gd-profile__photo img { width: 220px; height: 220px; object-fit: cover; border-radius: 24px; background: var(--gd-ash); }
.gd-profile__photo .gd-badge { position: absolute; bottom: 12px; inset-inline-start: 50%; transform: translateX(50%); white-space: nowrap; box-shadow: var(--gd-shadow); }
.gd-profile__name { font-size: clamp(24px, 3vw, 32px); margin: 0 0 4px; }
.gd-profile__headline { color: var(--gd-primary); font-weight: 700; margin: 0 0 12px; }
.gd-profile__facts { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.gd-profile__facts li { display: flex; gap: 8px; align-items: flex-start; font-size: 15px; }
.gd-profile__facts .gd-ic { color: var(--gd-primary); margin-top: 5px; }
.gd-profile__facts strong { color: var(--gd-title); }
.gd-profile__actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 16px; }
.gd-tabs { position: sticky; top: 84px; z-index: 5; display: flex; gap: 6px; overflow-x: auto; background: rgba(255, 255, 255, .95); backdrop-filter: blur(8px); border: 1px solid var(--gd-line); border-radius: 50px; padding: 6px; margin-bottom: 20px; scrollbar-width: none; }
.admin-bar .gd-tabs { top: 116px; }
.gd-tabs a { padding: 8px 18px; border-radius: 50px; color: var(--gd-title); font-weight: 700; font-size: 14px; white-space: nowrap; transition: .35s var(--gd-ease); }
.gd-tabs a:hover { background: var(--gd-primary-50); color: var(--gd-primary); }
.gd-prose p { margin: 0 0 1em; text-align: justify; }
.gd-contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.gd-contact-item { display: flex; gap: 12px; background: var(--gd-ash); border-radius: 16px; padding: 16px; }
.gd-contact-item__ic { width: 44px; height: 44px; border-radius: 12px; background: #fff; color: var(--gd-primary); display: grid; place-items: center; flex-shrink: 0; }
.gd-contact-item strong { color: var(--gd-title); }
.gd-contact-item p { margin: 0; font-size: 14px; }
.gd-route-links, .gd-socials { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 16px; }
.gd-socials a { background: var(--gd-ash); border-radius: 50px; padding: 6px 16px; font-size: 14px; color: var(--gd-title); }
.gd-socials a:hover { background: var(--gd-primary); color: #fff; }
.gd-doctor-side { position: sticky; top: 110px; display: grid; gap: 20px; }
.gd-side-card { padding: 22px; display: grid; grid-template-columns: 64px 1fr; gap: 14px; align-items: center; }
.gd-side-card img { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; }
.gd-side-card strong { display: block; color: var(--gd-title); }
.gd-side-card span { font-size: 13px; color: var(--gd-muted); }
.gd-side-card .gd-btn { grid-column: 1 / -1; }
.gd-side-list { padding: 22px; }
.gd-mini-doc { display: flex; gap: 12px; align-items: center; padding: 10px 0; border-top: 1px dashed var(--gd-line); color: var(--gd-title); }
.gd-mini-doc img { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.gd-mini-doc strong { display: block; font-size: 14px; }
.gd-mini-doc small { color: var(--gd-muted); font-size: 12px; }
.gd-mini-doc:hover strong { color: var(--gd-primary); }

/* ---------- Booking ---------- */
.gd-booking__days { display: flex; gap: 10px; overflow-x: auto; padding: 4px 2px 12px; scroll-snap-type: x mandatory; }
.gd-day { flex: 0 0 auto; scroll-snap-align: start; display: flex; flex-direction: column; align-items: center; gap: 2px; min-width: 104px; padding: 12px 10px; border: 1px solid var(--gd-line); background: #fff; border-radius: 16px; cursor: pointer; transition: .35s var(--gd-ease); font-family: inherit; }
.gd-day b { color: var(--gd-title); font-size: 15px; }
.gd-day span { font-size: 13px; color: var(--gd-text); }
.gd-day small { font-size: 12px; color: var(--gd-green-d); }
.gd-day.is-full small { color: var(--gd-muted); }
.gd-day:hover { border-color: var(--gd-primary); }
.gd-day.is-active { background: var(--gd-primary); border-color: var(--gd-primary); box-shadow: 0 10px 24px rgba(31, 95, 255, .25); }
.gd-day.is-active b, .gd-day.is-active span, .gd-day.is-active small { color: #fff; }
.gd-slots { display: grid; grid-template-columns: repeat(auto-fill, minmax(88px, 1fr)); gap: 10px; margin-top: 8px; }
.gd-slot { border: 1px solid var(--gd-primary-100); background: var(--gd-primary-50); color: var(--gd-primary); border-radius: 12px; padding: 10px 0; font-weight: 700; font-size: 15px; cursor: pointer; transition: .3s var(--gd-ease); font-family: inherit; }
.gd-slot:hover { background: var(--gd-primary); color: #fff; transform: translateY(-2px); }
.gd-slot.is-taken { background: var(--gd-ash); border-color: var(--gd-line); color: var(--gd-muted); text-decoration: line-through; cursor: not-allowed; transform: none; }
.gd-skeleton { height: 76px; width: 100%; border-radius: 16px; background: linear-gradient(90deg, var(--gd-ash) 25%, #fff 50%, var(--gd-ash) 75%); background-size: 200% 100%; animation: gd-shimmer 1.6s linear infinite; }

/* ---------- Modal ---------- */
.gd-modal { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; padding: 16px; }
.gd-modal__backdrop { position: absolute; inset: 0; background: rgba(0, 13, 68, .45); opacity: 0; transition: opacity .35s var(--gd-ease); }
.gd-modal__box { position: relative; width: 100%; max-width: 420px; background: #fff; border-radius: 24px; padding: 34px 28px 28px; text-align: center; box-shadow: var(--gd-shadow-lg); transform: translateY(24px) scale(.97); opacity: 0; transition: transform .45s var(--gd-ease), opacity .45s var(--gd-ease); }
.gd-modal.is-open .gd-modal__backdrop { opacity: 1; }
.gd-modal.is-open .gd-modal__box { transform: none; opacity: 1; }
.gd-modal__close { position: absolute; top: 14px; inset-inline-end: 14px; background: var(--gd-ash); border: 0; width: 36px; height: 36px; border-radius: 50%; cursor: pointer; color: var(--gd-title); display: grid; place-items: center; }
.gd-modal__icon { width: 64px; height: 64px; margin: 0 auto 12px; border-radius: 50%; background: var(--gd-primary-50); color: var(--gd-primary); display: grid; place-items: center; }
.gd-modal__box.is-success .gd-modal__icon { background: var(--gd-green-50); color: var(--gd-green-d); }
.gd-book-summary { font-size: 16px; color: var(--gd-title); line-height: 2; }

/* ---------- Auth ---------- */
.gd-auth { min-height: 64vh; display: grid; place-items: center; padding: 60px 16px; background: radial-gradient(circle at 15% 20%, var(--gd-primary-50), transparent 45%), radial-gradient(circle at 85% 80%, var(--gd-green-50), transparent 45%); }
.gd-auth__box { width: 100%; max-width: 440px; padding: 36px 32px; }
.gd-auth__head { text-align: center; margin-bottom: 22px; }
.gd-auth__ic { width: 64px; height: 64px; border-radius: 20px; background: var(--gd-primary); color: #fff; display: inline-grid; place-items: center; margin-bottom: 12px; box-shadow: 0 12px 26px rgba(31, 95, 255, .3); }
.gd-auth__head .gd-h3 { margin-bottom: 4px; }
.gd-auth__sent { font-size: 14px; }
.gd-otp-input { text-align: center; letter-spacing: 14px; font-size: 24px !important; font-weight: 800; }
.gd-auth__timer { text-align: center; font-size: 13px; color: var(--gd-muted); margin: 12px 0 0; }
.gd-auth__note { font-size: 12px; color: var(--gd-muted); text-align: center; margin: 18px 0 0; }

/* ---------- Panel ---------- */
.gd-panel { display: grid; grid-template-columns: 270px 1fr; gap: 26px; align-items: start; max-width: var(--gd-container); margin: 40px auto 80px; padding-inline: 20px; box-sizing: border-box; }
.gd-panel__side { position: sticky; top: 110px; padding: 24px 18px; }
.gd-panel__user { text-align: center; padding-bottom: 18px; border-bottom: 1px solid var(--gd-line); margin-bottom: 12px; display: grid; justify-items: center; gap: 4px; }
.gd-panel__user img, .gd-panel__avatar { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; }
.gd-panel__avatar { display: grid; place-items: center; background: var(--gd-primary-50); color: var(--gd-primary); }
.gd-panel__user strong { color: var(--gd-title); }
.gd-panel__user small { color: var(--gd-muted); }
.gd-panel__nav { display: grid; gap: 4px; }
.gd-panel__nav a { display: flex; align-items: center; gap: 10px; padding: 11px 14px; border-radius: 12px; color: var(--gd-text); font-weight: 500; font-size: 15px; transition: .3s var(--gd-ease); }
.gd-panel__nav a:hover { background: var(--gd-ash); color: var(--gd-title); }
.gd-panel__nav a.is-active { background: var(--gd-primary); color: #fff; box-shadow: 0 10px 24px rgba(31, 95, 255, .22); }
.gd-panel__logout { color: var(--gd-orange) !important; }
.gd-panel-card { padding: 26px; margin-bottom: 22px; }
.gd-panel-card__head { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 14px; flex-wrap: wrap; }
.gd-panel-card__head .gd-h3 { margin: 0; }
.gd-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-bottom: 22px; }
.gd-stat { padding: 22px; display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: 14px; align-items: center; }
.gd-stat__ic { grid-row: 1 / 3; width: 52px; height: 52px; border-radius: 16px; background: var(--gd-primary-50); color: var(--gd-primary); display: grid; place-items: center; }
.gd-stat__ic--green { background: var(--gd-green-50); color: var(--gd-green-d); }
.gd-stat__ic--orange { background: var(--gd-orange-50); color: var(--gd-orange); }
.gd-stat strong { font-size: 28px; color: var(--gd-title); line-height: 1.2; }
.gd-stat span:last-child { font-size: 13px; color: var(--gd-muted); }
.gd-alert { display: flex; align-items: center; gap: 14px; background: #FFF8E6; border: 1px solid #FFE3A3; color: #7A5A00; border-radius: 16px; padding: 16px 18px; margin-bottom: 22px; flex-wrap: wrap; }
.gd-alert > div { flex: 1; min-width: 200px; }
.gd-seg { display: inline-flex; background: var(--gd-ash); border-radius: 50px; padding: 4px; }
.gd-seg a { padding: 6px 16px; border-radius: 50px; color: var(--gd-text); font-size: 14px; font-weight: 700; }
.gd-seg a.is-active { background: #fff; color: var(--gd-primary); box-shadow: 0 4px 12px rgba(0, 13, 68, .08); }
.gd-appts { display: grid; gap: 12px; }
.gd-appt { display: grid; grid-template-columns: 64px 1fr auto auto auto; gap: 16px; align-items: center; padding: 14px; border: 1px solid var(--gd-line); border-radius: 16px; transition: box-shadow .35s var(--gd-ease); }
.gd-appt:hover { box-shadow: var(--gd-shadow); }
.gd-appt__date { width: 64px; height: 64px; border-radius: 14px; background: var(--gd-primary-50); color: var(--gd-primary); display: grid; place-content: center; text-align: center; line-height: 1.3; }
.gd-appt__date strong { font-size: 22px; }
.gd-appt__date span { font-size: 12px; }
.gd-appt__info { display: grid; gap: 2px; min-width: 0; }
.gd-appt__info strong, .gd-appt__info strong a { color: var(--gd-title); }
.gd-appt__info span { font-size: 13px; color: var(--gd-muted); }
.gd-appt__addr { display: flex; gap: 4px; align-items: center; }
.gd-appt__time { display: flex; gap: 6px; align-items: center; font-weight: 700; color: var(--gd-title); font-size: 14px; white-space: nowrap; }
.gd-appt__actions { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
.gd-status { font-size: 12px; font-weight: 700; padding: 4px 12px; border-radius: 50px; white-space: nowrap; }
.gd-status--booked { background: var(--gd-primary-50); color: var(--gd-primary); }
.gd-status--done { background: var(--gd-green-50); color: var(--gd-green-d); }
.gd-status--cancelled, .gd-status--no_show { background: var(--gd-orange-50); color: var(--gd-orange); }
.gd-appt--cancelled { opacity: .7; }
.gd-schedule__day { border: 1px solid var(--gd-line); border-radius: 16px; padding: 14px 16px; margin: 0 0 12px; }
.gd-schedule__day legend { font-weight: 800; color: var(--gd-title); padding: 0 8px; }
.gd-schedule__range { display: grid; grid-template-columns: 1fr 1fr 1fr auto auto; gap: 10px; align-items: end; margin-bottom: 8px; }
.gd-schedule__range label > span { display: block; font-size: 12px; color: var(--gd-muted); margin-bottom: 4px; }
.gd-schedule input { padding: 9px 10px; }
.gd-photo-form { display: flex; gap: 20px; align-items: center; flex-wrap: wrap; }
.gd-photo-form img { width: 96px; height: 96px; border-radius: 50%; object-fit: cover; }

/* ---------- Ratings & reviews ---------- */
.gd-stars { display: inline-flex; gap: 2px; vertical-align: middle; }
.gd-star { color: #D7DCE6; display: inline-flex; }
.gd-star.is-on { color: #FFB62E; }
.gd-star.is-on .gd-ic { fill: currentColor; }
.gd-rating-sum { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; color: var(--gd-muted); margin: 0 0 10px; }
.gd-rating-sum strong { color: var(--gd-title); font-size: 16px; }
.gd-doc-card__rating { display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--gd-muted); margin: 0 0 6px; }
.gd-reviews { display: grid; gap: 14px; margin-bottom: 24px; }
.gd-review { border: 1px solid var(--gd-line); border-radius: 16px; padding: 16px 18px; }
.gd-review header { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; }
.gd-review header > div { flex: 1; display: grid; }
.gd-review header strong { color: var(--gd-title); font-size: 15px; }
.gd-review header small { color: var(--gd-muted); font-size: 12px; }
.gd-review__avatar { width: 40px; height: 40px; border-radius: 50%; background: var(--gd-primary-50); color: var(--gd-primary); display: grid; place-items: center; font-weight: 800; }
.gd-review p { margin: 0 0 8px; font-size: 15px; }
.gd-review__tags { display: flex; gap: 6px; flex-wrap: wrap; }
.gd-review-form { border-top: 1px dashed var(--gd-line); padding-top: 20px; display: grid; gap: 12px; }
.gd-review-form .gd-field { margin: 0; }
.gd-rate-input { display: inline-flex; flex-direction: row-reverse; justify-content: flex-end; gap: 4px; }
.gd-rate-input input { position: absolute; opacity: 0; pointer-events: none; }
.gd-rate-input label { color: #D7DCE6; cursor: pointer; transition: color .25s, transform .25s var(--gd-ease); }
.gd-rate-input label:hover { transform: scale(1.12); }
.gd-rate-input label:hover, .gd-rate-input label:hover ~ label, .gd-rate-input input:checked ~ label { color: #FFB62E; }
.gd-rate-input label:hover .gd-ic, .gd-rate-input label:hover ~ label .gd-ic, .gd-rate-input input:checked ~ label .gd-ic { fill: currentColor; }
.gd-rate-input input:focus-visible + label { outline: 3px solid rgba(31, 95, 255, .35); border-radius: 6px; }

/* ---------- Booking request ---------- */
.gd-request-form .gd-form--grid { margin-bottom: 4px; }
.gd-seg--radio { display: flex; flex-wrap: wrap; gap: 4px; }
.gd-seg--radio label { cursor: pointer; }
.gd-seg--radio input { position: absolute; opacity: 0; pointer-events: none; }
.gd-seg--radio span { display: block; padding: 8px 18px; border-radius: 50px; font-size: 14px; font-weight: 700; color: var(--gd-text); transition: .3s var(--gd-ease); }
.gd-seg--radio input:checked + span { background: #fff; color: var(--gd-primary); box-shadow: 0 4px 12px rgba(0, 13, 68, .08); }
.gd-seg--radio input:focus-visible + span { outline: 3px solid rgba(31, 95, 255, .35); }
.gd-success { display: grid; gap: 14px; justify-items: start; background: var(--gd-green-50); color: var(--gd-green-d); border-radius: 16px; padding: 18px 20px; }
.gd-confirm { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; width: 100%; }
.gd-confirm select, .gd-confirm input { border: 1px solid var(--gd-line); border-radius: 10px; background: var(--gd-ash); padding: 6px 10px; font-size: 13px; width: auto; }
.gd-appt__note { grid-column: 1 / -1; margin: 0; font-size: 13px; background: var(--gd-ash); border-radius: 10px; padding: 6px 10px; }
.gd-status--requested, .gd-status--pending_payment { background: #FFF8E6; color: #9A6B00; }
.gd-status--rejected { background: var(--gd-orange-50); color: var(--gd-orange); }
.gd-appt:has(.gd-confirm) { grid-template-columns: 64px 1fr auto auto; }
.gd-appt:has(.gd-confirm) .gd-appt__actions { grid-column: 1 / -1; justify-content: flex-start; }

/* ---------- Payments & consultation ---------- */
.gd-kind-toggle { display: inline-flex; background: var(--gd-ash); border-radius: 50px; padding: 4px; margin-bottom: 12px; }
.gd-note { display: flex; gap: 8px; align-items: center; font-size: 14px; color: var(--gd-text); background: var(--gd-primary-50); border-radius: 12px; padding: 10px 14px; margin: 0 0 14px; }
.gd-note .gd-ic { color: var(--gd-primary); }
.gd-pay-line { display: inline-block; margin-top: 6px; color: var(--gd-green-d); font-weight: 700; font-size: 15px; }
.gd-panel-notice { margin-bottom: 22px; }
.gd-chat-form { display: grid; gap: 12px; justify-items: start; margin-bottom: 14px; }
.gd-chat-form .gd-field { width: 100%; margin: 0; }
.gd-thread__list { display: grid; gap: 12px; max-height: 520px; overflow-y: auto; padding: 6px 2px 16px; }
.gd-msg { max-width: 80%; background: var(--gd-ash); border-radius: 18px 18px 18px 4px; padding: 12px 16px; justify-self: end; }
.gd-msg.is-mine { justify-self: start; background: var(--gd-primary-50); border-radius: 18px 18px 4px 18px; }
.gd-msg.is-doctor:not(.is-mine) { background: var(--gd-green-50); }
.gd-msg strong { font-size: 13px; color: var(--gd-title); }
.gd-msg p { margin: 4px 0; font-size: 15px; white-space: pre-wrap; }
.gd-msg small { font-size: 11px; color: var(--gd-muted); }
.gd-thread__form { display: grid; gap: 10px; border-top: 1px dashed var(--gd-line); padding-top: 16px; }
.gd-thread__form textarea { width: 100%; box-sizing: border-box; border: 1px solid var(--gd-line); border-radius: 14px; background: var(--gd-ash); padding: 12px 14px; font-size: 15px; }
.gd-thread__actions { display: flex; gap: 8px; flex-wrap: wrap; }

/* ---------- Area links ---------- */
.gd-area-links { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 24px; }
.gd-area-links > span { font-size: 14px; color: var(--gd-muted); font-weight: 700; }
.gd-area-links .gd-ic { color: var(--gd-primary); }
.gd-area-links--profile { margin: 16px 0 0; }

/* ---------- Doctor sign-up ---------- */
.gd-apply { max-width: 860px; margin: 50px auto 90px; padding-inline: 20px; }
.gd-apply__intro { padding: 40px 30px; text-align: center; display: grid; justify-items: center; gap: 6px; }
.gd-apply__form { padding: 30px; display: grid; gap: 16px; }
.gd-apply__form .gd-h3 { margin: 0; }
.gd-apply__mode { justify-self: start; background: var(--gd-ash); border-radius: 50px; padding: 4px; }
.gd-apply__search { position: relative; }
.gd-apply__form select[multiple] { background: #fff; padding: 6px; }
.gd-apply__form input[type=file] { background: #fff; padding: 9px; }
.gd-cta__actions { display: flex; gap: 10px; flex-wrap: wrap; }
.gd-btn--outline-light { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .5); }
.gd-btn--outline-light::before { background: #fff; }
.gd-btn--outline-light:hover { color: var(--gd-primary); }

/* ---------- Panel tables & misc ---------- */
.gd-table-wrap { overflow-x: auto; }
.gd-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.gd-table th { text-align: start; color: var(--gd-muted); font-weight: 700; padding: 10px; border-bottom: 1px solid var(--gd-line); white-space: nowrap; }
.gd-table td { padding: 12px 10px; border-bottom: 1px dashed var(--gd-line); color: var(--gd-text); white-space: nowrap; }
.gd-table td strong { color: var(--gd-title); }
.gd-table tbody tr:hover td { background: var(--gd-ash); }
.gd-inline-search { display: flex; gap: 6px; }
.gd-inline-search input { border: 1px solid var(--gd-line); border-radius: 50px; background: var(--gd-ash); padding: 6px 14px; font-size: 14px; min-width: 200px; }
.gd-chip--off { background: var(--gd-orange-50); color: var(--gd-orange); padding-inline-end: 6px; }
.gd-chip__x, .gd-chip__x:hover, .gd-chip__x:focus { background: rgba(255, 90, 57, .12); border: 0; border-radius: 50%; width: 22px; height: 22px; display: grid; place-items: center; color: var(--gd-orange); cursor: pointer; padding: 0; }
.gd-panel-card__head .gd-muted { font-size: 14px; font-weight: 400; }

/* ---------- Footer ---------- */
.gd-footer { background: var(--gd-title); color: rgba(255, 255, 255, .7); position: relative; overflow: hidden; margin-top: 0; }
.gd-footer::before { content: ""; position: absolute; width: 460px; height: 460px; border-radius: 50%; background: radial-gradient(circle, rgba(31, 95, 255, .25), transparent 70%); inset-inline-end: -120px; top: -160px; }
.gd-footer a { color: rgba(255, 255, 255, .75); }
.gd-footer a:hover { color: #fff; }
.gd-footer__grid { position: relative; display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 40px; padding: 80px 0 50px; }
.gd-footer h3 { color: #fff; font-size: 18px; margin-bottom: 18px; }
.gd-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; font-size: 15px; }
.gd-footer .gd-logo { color: #fff; margin-bottom: 14px; }
.gd-footer__about { font-size: 15px; line-height: 2; }
.gd-footer__contact li { display: flex; gap: 10px; align-items: flex-start; }
.gd-footer__contact .gd-ic { color: var(--gd-green); margin-top: 5px; }
.gd-footer__bottom { position: relative; border-top: 1px solid rgba(255, 255, 255, .1); padding: 20px 0; font-size: 14px; }
.gd-footer__bottom .gd-container { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.gd-footer__social { display: flex; gap: 8px; margin-top: 16px; }
.gd-footer__social a { width: 40px; height: 40px; border-radius: 50%; background: rgba(255, 255, 255, .08); display: grid; place-items: center; transition: .35s var(--gd-ease); }
.gd-footer__social a:hover { background: var(--gd-primary); }
.gd-backtop { position: fixed; bottom: 22px; inset-inline-start: 22px; width: 48px; height: 48px; border-radius: 50%; background: var(--gd-primary); color: #fff; display: grid; place-items: center; box-shadow: 0 10px 24px rgba(31, 95, 255, .3); opacity: 0; transform: translateY(20px); transition: .5s var(--gd-ease); z-index: 80; }
.gd-backtop .gd-ic { transform: rotate(90deg); }
.gd-header.is-stuck ~ .gd-backtop, body.gd-scrolled .gd-backtop { opacity: 1; transform: none; }

/* ---------- Blog post / generic pages (theme content) ---------- */
.gd-page-content { padding: 50px 0 90px; }
.gd-page-content .entry-content { max-width: 860px; margin-inline: auto; font-size: 17px; }
.gd-page-content .entry-content img { border-radius: var(--gd-radius); }
.gd-post-head { text-align: center; max-width: 860px; margin: 0 auto 30px; }
.gd-post-thumb { max-width: 980px; margin: 0 auto 36px; border-radius: 28px; overflow: hidden; }
.gd-post-thumb img { width: 100%; display: block; }

/* ---------- Responsive ---------- */
@media (max-width: 1199px) {
  .gd-spec-grid { grid-template-columns: repeat(4, 1fr); }
  .gd-doc-grid--4 { grid-template-columns: repeat(3, 1fr); }
  .gd-nav a { padding: 10px 10px; font-size: 14px; }
}
@media (max-width: 991px) {
  .gd-topbar { display: none; }
  .admin-bar .gd-header { top: 46px; }
  .gd-nav-toggle { display: grid; place-items: center; }
  .gd-nav { position: fixed; inset: 0 0 0 auto; width: min(320px, 86vw); background: #fff; box-shadow: var(--gd-shadow-lg); padding: 90px 22px 22px; transform: translateX(110%); transition: transform .5s var(--gd-ease); z-index: 95; margin: 0; overflow: auto; }
  body.gd-nav-open .gd-nav { transform: none; }
  body.gd-nav-open::after { content: ""; position: fixed; inset: 0; background: rgba(0, 13, 68, .4); z-index: 89; }
  .gd-nav ul { flex-direction: column; }
  .gd-nav a { font-size: 16px; padding: 12px 14px; }
  .gd-header__actions { margin-inline-start: auto; position: relative; z-index: 96; }
  .gd-header__actions .gd-btn--ghost { display: none; }
  .gd-hero { padding: 50px 0 80px; }
  .gd-hero__grid, .gd-why__grid { grid-template-columns: 1fr; }
  .gd-hero__visual { min-height: 460px; max-width: 520px; width: 100%; margin-inline: auto; }
  .gd-why__visual { max-width: 460px; margin-inline: auto; width: 100%; }
  .gd-doc-grid, .gd-doc-grid--4, .gd-blog-grid { grid-template-columns: repeat(2, 1fr); }
  .gd-process__list { grid-template-columns: repeat(2, 1fr); row-gap: 40px; }
  .gd-process__list::before { display: none; }
  .gd-counters__box { grid-template-columns: repeat(2, 1fr); row-gap: 30px; }
  .gd-counter:nth-child(3)::before { display: none; }
  .gd-listing, .gd-doctor-layout, .gd-panel { grid-template-columns: 1fr; }
  .gd-filters, .gd-doctor-side, .gd-panel__side { position: static; }
  .gd-footer__grid { grid-template-columns: 1fr 1fr; }
  .gd-section { padding: 80px 0; }
  .gd-cta__box { flex-direction: column; text-align: center; padding: 40px 28px; }
  .gd-tabs { top: 72px; }
}
@media (max-width: 767px) {
  .gd-search { flex-direction: column; align-items: stretch; border-radius: 24px; }
  .gd-search__field--select { border-inline-start: 0; border-top: 1px solid var(--gd-line); }
  .gd-search .gd-btn { width: 100%; }
  .gd-spec-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
  .gd-doc-grid, .gd-doc-grid--4, .gd-blog-grid { grid-template-columns: 1fr; }
  .gd-why__list, .gd-contact-grid, .gd-form--grid, .gd-stats { grid-template-columns: 1fr; }
  .gd-profile { grid-template-columns: 1fr; text-align: center; padding: 24px 18px; }
  .gd-profile__photo img { width: 170px; height: 170px; margin-inline: auto; display: block; }
  .gd-profile__facts li { justify-content: center; text-align: start; }
  .gd-profile .gd-chips, .gd-profile__actions { justify-content: center; }
  .gd-appt { grid-template-columns: 56px 1fr; }
  .gd-appt__time, .gd-appt__status, .gd-appt__actions { grid-column: 2; justify-content: flex-start; }
  .gd-schedule__range { grid-template-columns: 1fr 1fr; }
  .gd-footer__grid { grid-template-columns: 1fr; padding-top: 60px; }
  .gd-hero__visual { min-height: 420px; transform: scale(.88); transform-origin: top center; margin-bottom: -40px; }
  .gd-hero-card--main { width: 300px; margin-inline-start: -150px; }
  .gd-hero .gd-shape--plus { display: none; }
  .gd-hero-card--avatars { bottom: -10px; }
  .gd-section-card { padding: 20px; }
  .gd-header__row { min-height: 70px; gap: 12px; }
  .gd-logo { font-size: 19px; }
}
