.public-site {
    font-family: Inter, "IBM Plex Sans Arabic", system-ui, sans-serif;
    --site-nav-bg: var(--site-primary, #1e3a5f);
    --site-hero-bg: linear-gradient(135deg, var(--site-primary) 0%, #2d4a6f 100%);
    --site-footer-bg: var(--site-nav-bg);
    --site-card-radius: 0.5rem;
    --site-cta-radius: 0.375rem;
    --site-nav-link: rgba(255, 255, 255, 0.65);
}

.site-nav { background: var(--site-nav-bg); }
.site-nav .navbar-toggler-icon { filter: invert(1); }
.site-nav .nav-link { color: var(--site-nav-link) !important; }
.site-nav .nav-link:hover { color: #fff !important; }
.btn.site-cta,
button.site-cta {
    --bs-btn-bg: var(--site-accent, #0d9488);
    --bs-btn-border-color: var(--site-accent, #0d9488);
    --bs-btn-color: #fff;
    --bs-btn-hover-bg: var(--site-accent, #0d9488);
    --bs-btn-hover-border-color: var(--site-accent, #0d9488);
    --bs-btn-hover-color: #fff;
    --bs-btn-active-bg: var(--site-accent, #0d9488);
    --bs-btn-active-color: #fff;
    background-color: var(--site-accent, #0d9488) !important;
    border-color: var(--site-accent, #0d9488) !important;
    color: #fff !important;
    border-radius: var(--site-cta-radius);
    opacity: 1;
}
.btn.site-cta:hover,
.btn.site-cta:focus-visible,
.btn.site-cta:active {
    background-color: var(--site-accent, #0d9488) !important;
    border-color: var(--site-accent, #0d9488) !important;
    color: #fff !important;
    filter: brightness(0.92);
    opacity: 1;
}
#bkSubmit.site-cta:disabled {
    opacity: 0.65;
    filter: none;
}
.site-hero {
    background: var(--site-hero-bg);
    color: #fff;
    padding: 4rem 0;
}
.site-hero.site-hero-has-banner { background-size: cover; background-position: center; }

.site-page-hero {
    background: var(--site-hero-bg);
    color: #fff;
}
.site-page-hero .lead { font-size: 1.05rem; font-weight: 400; }

.site-contact-card {
    border-radius: var(--site-card-radius);
    border-top: 4px solid var(--site-accent, #0d9488);
}
.site-contact-form-card { border-radius: var(--site-card-radius); }
.site-contact-form .form-control:focus {
    border-color: var(--site-accent, #0d9488);
    box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--site-accent, #0d9488) 20%, transparent);
}
.site-contact-block--page .site-contact-item {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    margin-bottom: 1.25rem;
}
.site-contact-block--page .site-contact-item:last-of-type { margin-bottom: 0; }
.site-contact-block--page .site-contact-icon {
    flex-shrink: 0;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 50%;
    background: color-mix(in srgb, var(--site-accent, #0d9488) 14%, #fff);
    color: var(--site-accent, #0d9488);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
}
.site-contact-block--page .site-contact-item-label {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #64748b;
    margin-bottom: 0.15rem;
}
.site-contact-block--page .site-contact-item-value {
    font-size: 0.95rem;
    color: #0f172a;
    line-height: 1.5;
}
.site-contact-block--page .site-contact-link {
    color: var(--site-primary, #1e3a5f);
    text-decoration: none;
    font-weight: 500;
}
.site-contact-block--page .site-contact-link:hover {
    color: var(--site-accent, #0d9488);
    text-decoration: underline;
}
.site-contact-block--page .site-social-btn--page {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    background: color-mix(in srgb, var(--site-accent, #0d9488) 12%, #fff);
    color: var(--site-accent, #0d9488);
    text-decoration: none;
    transition: background 0.15s ease, color 0.15s ease, transform 0.15s ease;
}
.site-contact-block--page .site-social-btn--page:hover {
    background: var(--site-accent, #0d9488);
    color: #fff;
    transform: translateY(-1px);
}
.site-contact-map {
    border-radius: var(--site-card-radius);
}
.site-contact-map-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 50%;
    background: color-mix(in srgb, var(--site-accent, #0d9488) 14%, #fff);
    color: var(--site-accent, #0d9488);
}
@media (min-width: 992px) {
    .site-contact-card { position: sticky; top: 5.5rem; }
}
.site-footer {
    background: var(--site-nav-bg);
    color: #fff;
}
.site-footer .site-footer-heading { font-size: 0.875rem; text-transform: uppercase; letter-spacing: 0.04em; color: rgba(255, 255, 255, 0.85); }
.site-footer .site-footer-link { color: var(--site-nav-link); text-decoration: none; }
.site-footer .site-footer-link:hover { color: #fff; text-decoration: underline; }
.site-footer .site-social-btn {
    display: inline-flex; align-items: center; justify-content: center;
    width: 2.25rem; height: 2.25rem; border-radius: 50%;
    background: rgba(255, 255, 255, 0.12); color: #fff; text-decoration: none;
    transition: background 0.15s ease, color 0.15s ease;
}
.site-footer .site-social-btn:hover { background: var(--site-accent, #0d9488); color: #fff; }
.site-contact-block .site-footer-link { color: var(--site-accent, #0d9488); }
.site-contact-block .site-footer-link:hover { color: var(--site-primary, #1e3a5f); }
.site-map-embed iframe { border: 0; }
.site-contact-block a.site-footer-link { word-break: break-all; }
.site-feature-card { border-radius: var(--site-card-radius); transition: transform 0.2s ease, box-shadow 0.2s ease; }
.booking-step { border: 1px solid #e5e7eb; border-radius: var(--site-card-radius); padding: 1rem; margin-bottom: 1rem; }
.site-cookie-notice {
    position: fixed; bottom: 0; left: 0; right: 0; z-index: 1050;
    background: #1e293b; color: #f8fafc; padding: 0.75rem 1rem; font-size: 0.875rem;
    display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 0.5rem;
}

/* —— Theme: modern-medical (default) —— */
.theme-modern-medical { --site-hero-bg: linear-gradient(135deg, var(--site-primary) 0%, #2d4a6f 100%); }

/* —— Theme: premium-practice —— */
.theme-premium-practice {
    --site-nav-bg: #0f172a;
    --site-hero-bg: linear-gradient(120deg, #0f172a 0%, var(--site-primary) 55%, #334155 100%);
    --site-card-radius: 0.75rem;
}
.theme-premium-practice .site-feature-card { box-shadow: 0 0.5rem 1.25rem rgba(15, 23, 42, 0.12) !important; }

/* —— Theme: family-medicine —— */
.theme-family-medicine {
    --site-hero-bg: linear-gradient(135deg, var(--site-accent) 0%, var(--site-primary) 100%);
    --site-cta-radius: 2rem;
}
.theme-family-medicine .site-nav { box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); }

/* —— Theme: dental-studio —— */
.theme-dental-studio {
    --site-nav-bg: #ffffff;
    --site-nav-link: #475569;
    --site-hero-bg: linear-gradient(180deg, #e0f2fe 0%, #f8fafc 45%, #fff 100%);
    --site-card-radius: 1rem;
}
.theme-dental-studio .site-nav { border-bottom: 3px solid var(--site-accent); box-shadow: 0 1px 0 #e2e8f0; }
.theme-dental-studio .site-nav .navbar-brand,
.theme-dental-studio .site-nav .nav-link { color: var(--site-primary) !important; }
.theme-dental-studio .site-nav .navbar-toggler-icon { filter: none; }
.theme-dental-studio .site-footer { color: var(--site-primary); border-top: 3px solid var(--site-accent); }
.theme-dental-studio .site-footer .site-footer-heading { color: var(--site-primary); opacity: 0.85; }
.theme-dental-studio .site-footer .site-footer-link { color: var(--site-nav-link) !important; }
.theme-dental-studio .site-footer .site-footer-link:hover { color: var(--site-primary) !important; }
.theme-dental-studio .site-footer .site-social-btn { background: rgba(0, 0, 0, 0.06); color: var(--site-primary); }
.theme-dental-studio .site-hero { color: #0f172a; }
.theme-dental-studio .site-hero .opacity-90 { opacity: 0.75 !important; }
.theme-dental-studio .site-page-hero { color: #0f172a; }

/* —— Theme: wellness-spa —— */
.theme-wellness-spa {
    --site-nav-bg: linear-gradient(90deg, #134e4a, #0f766e);
    --site-hero-bg: radial-gradient(circle at 20% 20%, #ccfbf1 0%, var(--site-accent) 35%, var(--site-primary) 100%);
    --site-cta-radius: 2rem;
    --site-card-radius: 1.25rem;
}
.theme-wellness-spa .site-feature-card { border: 1px solid #99f6e4 !important; background: #fff; }

/* —— Theme: pediatric-care —— */
.theme-pediatric-care {
    --site-nav-bg: #4f46e5;
    --site-hero-bg: linear-gradient(135deg, #fde68a 0%, #f472b6 50%, #818cf8 100%);
    --site-cta-radius: 999px;
    --site-card-radius: 1.5rem;
}
.theme-pediatric-care .site-feature-card { background: #fffbeb !important; border: 2px dashed #fbbf24 !important; }

/* —— Theme: dermatology-luxe —— */
.theme-dermatology-luxe {
    --site-nav-bg: #1c1917;
    --site-hero-bg: linear-gradient(160deg, #1c1917 0%, var(--site-primary) 40%, #78716c 100%);
    --site-card-radius: 0;
}
.theme-dermatology-luxe .site-cta { letter-spacing: 0.06em; text-transform: uppercase; font-size: 0.85rem; }
.theme-dermatology-luxe .site-feature-card { border-bottom: 2px solid #d6d3d1 !important; box-shadow: none !important; }

/* —— Theme: orthopedic-strong —— */
.theme-orthopedic-strong {
    --site-nav-bg: #18181b;
    --site-hero-bg: linear-gradient(90deg, #18181b 0%, var(--site-primary) 100%);
    --site-cta-radius: 0;
    --site-card-radius: 0.25rem;
}
.theme-orthopedic-strong .site-nav .navbar-brand { text-transform: uppercase; letter-spacing: 0.04em; }
.theme-orthopedic-strong .site-cta { font-weight: 700; text-transform: uppercase; }

/* —— Theme: womens-health —— */
.theme-womens-health {
    --site-nav-bg: #9d174d;
    --site-hero-bg: linear-gradient(135deg, #fce7f3 0%, #fbcfe8 30%, var(--site-primary) 100%);
    --site-cta-radius: 2rem;
}
.theme-womens-health .site-hero { color: #831843; }
.theme-womens-health .site-hero .site-cta { background: #be185d; }

/* —— Theme: telehealth-minimal —— */
.theme-telehealth-minimal {
    --site-nav-bg: #fff;
    --site-nav-link: #64748b;
    --site-hero-bg: #fff;
    --site-card-radius: 0.75rem;
}
.theme-telehealth-minimal .site-nav { border-bottom: 1px solid #e2e8f0; }
.theme-telehealth-minimal .site-nav .navbar-brand,
.theme-telehealth-minimal .site-nav .nav-link { color: #0f172a !important; }
.theme-telehealth-minimal .site-nav .navbar-toggler-icon { filter: none; }
.theme-telehealth-minimal .site-footer { color: #0f172a; border-top: 1px solid #e2e8f0; }
.theme-telehealth-minimal .site-footer .site-footer-heading { color: #0f172a; opacity: 0.85; }
.theme-telehealth-minimal .site-footer .site-footer-link { color: var(--site-nav-link) !important; }
.theme-telehealth-minimal .site-footer .site-footer-link:hover { color: #0f172a !important; }
.theme-telehealth-minimal .site-footer .site-social-btn { background: rgba(0, 0, 0, 0.06); color: #0f172a; }
.theme-telehealth-minimal .site-hero { color: #0f172a; padding: 5rem 0 3rem; border-bottom: 1px solid #f1f5f9; }
.theme-telehealth-minimal .site-page-hero { color: #0f172a; border-bottom: 1px solid #f1f5f9; }
.theme-womens-health .site-page-hero { color: #831843; }
.theme-aesthetic-center .site-page-hero { color: #581c87; }
.theme-telehealth-minimal .site-feature-card { box-shadow: none !important; border: 1px solid #e2e8f0 !important; }

/* —— Theme: classic-clinic —— */
.theme-classic-clinic {
    --site-nav-bg: #1e3a8a;
    --site-hero-bg: linear-gradient(180deg, #1e40af 0%, #1e3a8a 100%);
    --site-card-radius: 0.25rem;
}
.theme-classic-clinic .site-nav .navbar-brand { font-family: Georgia, "Times New Roman", serif; }
.theme-classic-clinic .site-hero h1 { font-family: Georgia, "Times New Roman", serif; }

/* —— Theme: urgent-care —— */
.theme-urgent-care {
    --site-nav-bg: #b91c1c;
    --site-hero-bg: linear-gradient(135deg, #dc2626 0%, #991b1b 100%);
    --site-cta-radius: 0.25rem;
}
.theme-urgent-care .site-cta { background: #fbbf24; color: #1c1917; font-weight: 700; }
.theme-urgent-care .site-feature-card { border-left: 4px solid #dc2626 !important; }

/* —— Theme: aesthetic-center —— */
.theme-aesthetic-center {
    --site-nav-bg: linear-gradient(90deg, #7c3aed, #db2777);
    --site-hero-bg: linear-gradient(135deg, #fdf4ff 0%, #fae8ff 25%, #7c3aed 70%, #db2777 100%);
    --site-cta-radius: 2rem;
    --site-card-radius: 1rem;
}
.theme-aesthetic-center .site-hero { color: #581c87; }
.theme-aesthetic-center .site-feature-card {
    background: rgba(255, 255, 255, 0.85) !important;
    backdrop-filter: blur(4px);
}
