@import url('https://cdn.jsdelivr.net/gh/rastikerdar/vazirmatn@v33.003/Vazirmatn-font-face.css');

/* =============================================
   MAMASITE — MULTI-COLOR MEDICAL DESIGN SYSTEM
   پالت: صورتی ملایم | ارغوانی | فیروزه‌ای | سبز کله‌کاغذی
   ============================================= */
:root {
    /* --- رنگ‌های اصلی --- */
    --pink:        #E8799A;   /* صورتی ملایم */
    --pink-dark:   #C9607E;
    --pink-light:  #F8D6E2;
    --pink-ultra:  #FEF1F5;

    --purple:      #8B5CF6;   /* ارغوانی */
    --purple-dark: #6D28D9;
    --purple-light:#EDE9FE;
    --purple-mid:  #DDD6FE;

    --teal:        #0D9488;   /* فیروزه‌ای */
    --teal-dark:   #0F766E;
    --teal-light:  #CCFBF1;
    --teal-ultra:  #F0FDFA;

    --sage:        #4D7C6F;   /* سبز کله‌کاغذی */
    --sage-dark:   #3B6357;
    --sage-light:  #D1FAE5;
    --sage-ultra:  #ECFDF5;

    /* --- بک‌گراند و نوترال --- */
    --bg:          #FAFBFC;
    --bg-2:        #F4F0F8;   /* کمی ارغوانی */
    --bg-3:        #F0FAFA;   /* کمی فیروزه */
    --white:       #FFFFFF;
    --charcoal:    #1A1D2E;
    --charcoal-2:  #2D3150;
    --text:        #2A2D3E;
    --muted:       #6B7280;
    --muted-2:     #9CA3AF;
    --border:      rgba(139, 92, 246, 0.10);
    --border-2:    rgba(0,0,0,0.07);

    /* --- گرادیان‌ها --- */
    --grad-hero:   linear-gradient(135deg, #FEF1F5 0%, #EDE9FE 50%, #F0FDFA 100%);
    --grad-pink:   linear-gradient(135deg, #E8799A, #C9607E);
    --grad-purple: linear-gradient(135deg, #8B5CF6, #6D28D9);
    --grad-teal:   linear-gradient(135deg, #0D9488, #0F766E);
    --grad-sage:   linear-gradient(135deg, #4D7C6F, #3B6357);
    --grad-warm:   linear-gradient(135deg, #E8799A 0%, #8B5CF6 100%);
    --grad-cool:   linear-gradient(135deg, #0D9488 0%, #8B5CF6 100%);
    --grad-full:   linear-gradient(135deg, #E8799A 0%, #8B5CF6 50%, #0D9488 100%);

    /* --- سایه‌ها --- */
    --shadow-xs:   0 1px 6px rgba(139,92,246,.07);
    --shadow-sm:   0 4px 20px rgba(139,92,246,.10);
    --shadow-md:   0 10px 40px rgba(139,92,246,.13);
    --shadow-lg:   0 24px 70px rgba(139,92,246,.15);
    --shadow-pink: 0 8px 28px rgba(232,121,154,.32);
    --shadow-teal: 0 8px 28px rgba(13,148,136,.28);

    /* --- ابعاد --- */
    --radius-sm:  10px;
    --radius-md:  18px;
    --radius-lg:  28px;
    --radius-xl:  44px;
    --transition: all 0.35s cubic-bezier(0.16,1,0.3,1);
}

/* ===== RESET ===== */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
    font-family:'Vazirmatn',sans-serif;
    background:var(--bg);
    color:var(--text);
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
    line-height:1.7;
}
a { text-decoration:none; color:inherit; }
img { max-width:100%; display:block; }
button,input,textarea,select { font-family:inherit; outline:none; border:none; }
::-webkit-scrollbar { width:5px; height:5px; }
::-webkit-scrollbar-track { background:var(--bg-2); }
::-webkit-scrollbar-thumb { background:var(--purple-mid); border-radius:3px; }

/* ===== AMBIENT BACKGROUND ===== */
.ambient-bg { position:fixed; inset:0; z-index:-1; pointer-events:none; overflow:hidden; }
.ambient-blob { position:absolute; border-radius:50%; filter:blur(90px); opacity:0.55; }
.ambient-blob-1 {
    width:650px; height:650px;
    background:radial-gradient(circle, rgba(232,121,154,.35) 0%, transparent 70%);
    top:-180px; right:-120px;
}
.ambient-blob-2 {
    width:550px; height:550px;
    background:radial-gradient(circle, rgba(139,92,246,.22) 0%, transparent 70%);
    bottom:80px; left:-80px;
}
.ambient-blob-3 {
    width:400px; height:400px;
    background:radial-gradient(circle, rgba(13,148,136,.18) 0%, transparent 70%);
    top:45%; left:38%;
}

/* ===== HEADER ===== */
.site-header {
    position:fixed; top:0; left:0; right:0; z-index:1000;
    background:rgba(255,255,255,0.82);
    backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
    border-bottom:1px solid var(--border);
    padding:0 5%; height:70px;
    display:flex; align-items:center; justify-content:space-between;
    transition:var(--transition);
}
.site-header.scrolled { box-shadow:var(--shadow-sm); background:rgba(255,255,255,0.95); }
.header-brand {
    display:flex; align-items:center; gap:10px;
    font-size:22px; font-weight:900; color:var(--charcoal);
}
.brand-dot {
    width:11px; height:11px; border-radius:50%;
    background:var(--grad-warm);
    box-shadow:0 0 14px rgba(232,121,154,.6);
    animation:pulse-brand 2.5s infinite;
}
@keyframes pulse-brand {
    0%,100% { box-shadow:0 0 10px rgba(232,121,154,.5); }
    50%      { box-shadow:0 0 22px rgba(139,92,246,.7),0 0 40px rgba(232,121,154,.3); }
}

/* ===== AUTH BUTTONS ===== */
.auth-buttons {
    display: flex;
    gap: 10px;
    align-items: center;
}
.auth-btn {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: rgba(255,255,255,0.7);
    backdrop-filter: blur(10px);
    border: 1px solid var(--border);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    color: var(--charcoal);
    transition: var(--transition);
}
.auth-btn:hover {
    background: var(--pink);
    color: var(--white);
    border-color: var(--pink);
    transform: translateY(-2px);
    box-shadow: var(--shadow-pink);
}
.auth-btn.register-btn {
    background: var(--grad-warm);
    color: var(--white);
    border-color: transparent;
}
.auth-btn.register-btn:hover {
    background: var(--grad-purple);
    transform: translateY(-2px);
}
.header-nav { display:flex; align-items:center; gap:26px; }
.nav-link {
    font-size:15px; font-weight:600; color:var(--muted);
    transition:var(--transition); position:relative; padding-bottom:4px;
}
.nav-link::after {
    content:''; position:absolute; bottom:0; right:0;
    width:0; height:2px; border-radius:2px;
    background:var(--grad-warm);
    transition:width .3s;
}
.nav-link:hover, .nav-link.active { color:var(--charcoal); }
.nav-link:hover::after, .nav-link.active::after { width:100%; }
.header-cta {
    background:var(--grad-warm); color:#fff;
    padding:12px 28px; border-radius:100px;
    font-size:15px; font-weight:800;
    transition:var(--transition);
    box-shadow:var(--shadow-pink);
}
.header-cta:hover { transform:translateY(-2px); box-shadow:0 12px 32px rgba(139,92,246,.4); }
.mobile-menu-btn {
    display:none; flex-direction:column; gap:5px;
    cursor:pointer; padding:5px;
}
.mobile-menu-btn span {
    display:block; width:24px; height:2px;
    background:var(--charcoal); border-radius:2px; transition:var(--transition);
}

/* ===== PAGE OFFSET ===== */
.page-content { padding-top:70px; }

/* ===== SECTION COMMONS ===== */
.section { padding:80px 5%; }
.section-sm { padding:50px 5%; }
.section-title { font-size:36px; font-weight:900; line-height:1.35; margin-bottom:12px; }
.section-sub {
    display:inline-block; font-size:13px; font-weight:800;
    letter-spacing:.06em; text-transform:uppercase; margin-bottom:10px;
    background:var(--grad-warm);
    -webkit-background-clip:text; background-clip:text;
    -webkit-text-fill-color:transparent;
}
.section-desc { font-size:17px; color:var(--muted); line-height:1.9; max-width:600px; }

/* ===== BUTTONS ===== */
.btn {
    display:inline-flex; align-items:center; gap:8px;
    padding:14px 32px; border-radius:100px;
    font-size:15px; font-weight:800;
    transition:var(--transition); cursor:pointer; border:none;
}
.btn-rose {
    background:var(--grad-warm); color:#fff;
    box-shadow:var(--shadow-pink);
}
.btn-rose:hover { transform:translateY(-2px); box-shadow:0 14px 36px rgba(139,92,246,.4); }
.btn-teal {
    background:var(--grad-teal); color:#fff;
    box-shadow:var(--shadow-teal);
}
.btn-teal:hover { transform:translateY(-2px); box-shadow:0 12px 32px rgba(13,148,136,.4); }
.btn-purple {
    background:var(--grad-purple); color:#fff;
    box-shadow:0 8px 28px rgba(139,92,246,.35);
}
.btn-purple:hover { transform:translateY(-2px); box-shadow:0 14px 36px rgba(109,40,217,.5); }
.btn-primary {
    background:var(--charcoal); color:#fff;
}
.btn-primary:hover { background:var(--charcoal-2); transform:translateY(-2px); }
.btn-outline {
    background:transparent; color:var(--charcoal);
    border:1.5px solid rgba(0,0,0,.15);
}
.btn-outline:hover { background:var(--bg-2); border-color:var(--purple); color:var(--purple); }
.btn-ghost { background:transparent; color:var(--charcoal); padding:13px 0; }
.btn-ghost:hover { color:var(--pink-dark); }
.btn-ghost .arrow { transition:transform .3s; }
.btn-ghost:hover .arrow { transform:translateX(-5px); }

/* ===== HERO ===== */
.hero {
    padding:60px 5% 90px;
    display:grid; grid-template-columns:1.1fr .9fr;
    gap:70px; align-items:center;
    background:var(--grad-hero);
    position:relative; overflow:hidden;
}
.hero::before {
    content:''; position:absolute; top:-60px; left:-60px;
    width:300px; height:300px; border-radius:50%;
    background:radial-gradient(circle,rgba(13,148,136,.1) 0%,transparent 70%);
    pointer-events:none;
}
.hero-badge {
    display:inline-flex; align-items:center; gap:8px;
    background:rgba(255,255,255,.85);
    border:1px solid rgba(139,92,246,.2);
    padding:8px 20px; border-radius:100px;
    font-size:14px; font-weight:700; margin-bottom:24px;
    color:var(--purple-dark);
    box-shadow:0 2px 12px rgba(139,92,246,.12);
}
.hero-title {
    font-size:56px; font-weight:900; line-height:1.35;
    margin-bottom:22px; color:var(--charcoal);
}
.hero-title .highlight {
    background:var(--grad-warm);
    -webkit-background-clip:text; background-clip:text;
    -webkit-text-fill-color:transparent;
}
.hero-desc { font-size:18px; color:var(--muted); line-height:2; margin-bottom:38px; }
.hero-actions { display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.hero-visual { position:relative; }
.hero-image-frame {
    width:100%; aspect-ratio:4/5;
    border-radius:24px;
    overflow:hidden;
    box-shadow:var(--shadow-lg);
    border:3px solid rgba(255,255,255,.8);
}
.hero-image-frame img { width:100%; height:100%; object-fit:cover; object-position:center top; }
.hero-floating-card {
    position:absolute; bottom:38px; right:-28px;
    padding:16px 20px; border-radius:20px;
    background:#fff; box-shadow:var(--shadow-md);
    border:1px solid rgba(139,92,246,.12);
    min-width:200px;
}
.hero-floating-card .card-title { font-size:12px; color:var(--muted); margin-bottom:4px; }
.hero-floating-card .card-value {
    font-size:17px; font-weight:900;
    background:var(--grad-warm);
    -webkit-background-clip:text; background-clip:text;
    -webkit-text-fill-color:transparent;
}
.hero-floating-card-2 {
    position:absolute; top:36px; left:-26px;
    padding:13px 17px; border-radius:16px;
    background:var(--grad-cool); color:#fff;
    box-shadow:var(--shadow-teal);
    font-size:12px; font-weight:700; text-align:center; line-height:1.7;
}

/* ===== STATS ===== */
.stats-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.stat-card {
    border-radius:var(--radius-md); padding:28px 22px; text-align:center;
    transition:var(--transition); position:relative; overflow:hidden;
    border:1px solid transparent;
}
.stat-card:nth-child(1) { background:var(--pink-ultra); border-color:rgba(232,121,154,.2); }
.stat-card:nth-child(2) { background:var(--purple-light); border-color:rgba(139,92,246,.2); }
.stat-card:nth-child(3) { background:var(--teal-ultra); border-color:rgba(13,148,136,.2); }
.stat-card:nth-child(4) { background:var(--sage-ultra); border-color:rgba(77,124,111,.2); }
.stat-card::before {
    content:''; position:absolute; top:-20px; left:-20px;
    width:80px; height:80px; border-radius:50%; opacity:.12;
}
.stat-card:nth-child(1)::before { background:var(--pink); }
.stat-card:nth-child(2)::before { background:var(--purple); }
.stat-card:nth-child(3)::before { background:var(--teal); }
.stat-card:nth-child(4)::before { background:var(--sage); }
.stat-card:hover { transform:translateY(-5px); box-shadow:var(--shadow-md); }
.stat-number {
    font-size:42px; font-weight:900; margin-bottom:8px; display:block;
}
.stat-card:nth-child(1) .stat-number { color:var(--pink-dark); }
.stat-card:nth-child(2) .stat-number { color:var(--purple-dark); }
.stat-card:nth-child(3) .stat-number { color:var(--teal-dark); }
.stat-card:nth-child(4) .stat-number { color:var(--sage-dark); }
.stat-label { font-size:14px; color:var(--muted); line-height:1.6; font-weight:600; }

/* ===== SERVICES GRID ===== */
.services-header {
    display:flex; justify-content:space-between; align-items:flex-end;
    margin-bottom:38px; flex-wrap:wrap; gap:18px;
}
.services-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.service-card {
    background:#fff; border-radius:var(--radius-md);
    border:1px solid var(--border-2);
    padding:28px 22px; transition:var(--transition);
    position:relative; overflow:hidden; cursor:pointer;
}
.service-card::after {
    content:''; position:absolute; top:0; right:0; left:0;
    height:3px; opacity:0;
    transition:opacity .35s;
}
.service-card:nth-child(1)::after { background:var(--grad-warm); }
.service-card:nth-child(2)::after { background:var(--grad-cool); }
.service-card:nth-child(3)::after { background:var(--grad-teal); }
.service-card:nth-child(4)::after { background:var(--grad-purple); }
.service-card:nth-child(5)::after { background:var(--grad-pink); }
.service-card:nth-child(6)::after { background:var(--grad-sage); }
.service-card:nth-child(7)::after { background:linear-gradient(90deg,var(--teal),var(--sage)); }
.service-card:nth-child(8)::after { background:linear-gradient(90deg,var(--pink),var(--purple)); }
.service-card:hover { transform:translateY(-5px); box-shadow:var(--shadow-md); }
.service-card:hover::after { opacity:1; }
.service-icon {
    width:64px; height:64px; border-radius:16px;
    display:flex; align-items:center; justify-content:center;
    font-size:32px; margin-bottom:20px;
}
.service-card:nth-child(1) .service-icon { background:var(--pink-ultra); }
.service-card:nth-child(2) .service-icon { background:var(--teal-ultra); }
.service-card:nth-child(3) .service-icon { background:var(--purple-light); }
.service-card:nth-child(4) .service-icon { background:var(--pink-ultra); }
.service-card:nth-child(5) .service-icon { background:var(--purple-light); }
.service-card:nth-child(6) .service-icon { background:var(--sage-ultra); }
.service-card:nth-child(7) .service-icon { background:var(--teal-ultra); }
.service-card:nth-child(8) .service-icon { background:var(--pink-ultra); }
.service-card h3 { font-size:18px; font-weight:800; margin-bottom:12px; }
.service-card p { font-size:14px; color:var(--muted); line-height:1.8; margin-bottom:18px; }
.service-link {
    display:inline-flex; align-items:center; gap:5px;
    font-size:14px; font-weight:800; transition:var(--transition);
}
.service-card:nth-child(odd) .service-link { color:var(--pink-dark); }
.service-card:nth-child(even) .service-link { color:var(--teal-dark); }
.service-link:hover { gap:9px; }

/* ===== DOCTOR SECTION ===== */
.doctor-section { background:var(--bg-2); }
.doctor-grid {
    display:grid; grid-template-columns:.85fr 1.15fr;
    gap:80px; align-items:center;
}
.doctor-avatar-wrap { position:relative; }
.doctor-avatar {
    width:100%; aspect-ratio:3/4;
    border-radius:24px;
    overflow:hidden; box-shadow:var(--shadow-lg);
    border:4px solid rgba(255,255,255,.8);
}
.doctor-avatar img { width:100%; height:100%; object-fit:cover; object-position:center top; }
.doctor-badge-float {
    position:absolute; bottom:28px; left:-18px;
    background:var(--grad-cool); color:#fff;
    padding:12px 18px; border-radius:16px;
    font-size:13px; font-weight:800;
    box-shadow:var(--shadow-teal); white-space:nowrap;
}
.doctor-chips { display:flex; flex-wrap:wrap; gap:9px; margin:22px 0; }
.chip {
    padding:7px 17px; border-radius:100px;
    font-size:13px; font-weight:700; border:1.5px solid;
}
.chip:nth-child(1) { background:var(--pink-ultra); color:var(--pink-dark); border-color:rgba(232,121,154,.3); }
.chip:nth-child(2) { background:var(--purple-light); color:var(--purple-dark); border-color:rgba(139,92,246,.3); }
.chip:nth-child(3) { background:var(--teal-ultra); color:var(--teal-dark); border-color:rgba(13,148,136,.3); }
.chip:nth-child(4) { background:var(--sage-ultra); color:var(--sage-dark); border-color:rgba(77,124,111,.3); }
.chip:nth-child(5) { background:var(--pink-ultra); color:var(--pink-dark); border-color:rgba(232,121,154,.3); }
.chip:nth-child(n+6) { background:var(--bg-2); color:var(--muted); border-color:var(--border-2); }
.doctor-lead { font-size:18px; font-weight:700; line-height:1.85; color:var(--teal-dark); }
.doctor-body { font-size:16px; color:var(--muted); line-height:2; margin:18px 0 28px; }

/* ===== GATE CARDS ===== */
.gate-card-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.gate-card {
    background:#fff; border:1.5px solid var(--border-2);
    border-radius:var(--radius-md); padding:28px 22px;
    text-align:center; transition:var(--transition); cursor:pointer;
}
.gate-card:nth-child(1):hover { background:var(--pink-ultra); border-color:var(--pink); box-shadow:var(--shadow-pink); transform:scale(1.04); }
.gate-card:nth-child(2):hover { background:var(--teal-ultra); border-color:var(--teal); box-shadow:var(--shadow-teal); transform:scale(1.04); }
.gate-card:nth-child(3):hover { background:var(--purple-light); border-color:var(--purple); box-shadow:0 8px 28px rgba(139,92,246,.25); transform:scale(1.04); }
.gate-icon { font-size:40px; margin-bottom:16px; display:block; }
.gate-card h3 { font-size:18px; font-weight:800; margin-bottom:8px; }
.gate-card p { font-size:14px; color:var(--muted); }

/* ===== PORTFOLIO CARDS ===== */
.portfolio-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.portfolio-card {
    background:#fff; border:1px solid var(--border-2);
    border-radius:var(--radius-md); overflow:hidden; transition:var(--transition);
}
.portfolio-card:hover { transform:translateY(-5px); box-shadow:var(--shadow-md); }
.pc-img {
    aspect-ratio:16/9; overflow:hidden;
    display:flex; align-items:center; justify-content:center; font-size:48px;
}
.portfolio-card:nth-child(1) .pc-img { background:linear-gradient(135deg,var(--pink-ultra),var(--purple-light)); }
.portfolio-card:nth-child(2) .pc-img { background:linear-gradient(135deg,var(--teal-ultra),var(--sage-ultra)); }
.portfolio-card:nth-child(3) .pc-img { background:linear-gradient(135deg,var(--purple-light),var(--teal-ultra)); }
.portfolio-card:nth-child(n+4) .pc-img { background:linear-gradient(135deg,var(--pink-ultra),var(--teal-ultra)); }
.pc-img img { width:100%; height:100%; object-fit:cover; }
.pc-body { padding:20px; }
.pc-meta { display:flex; gap:7px; flex-wrap:wrap; margin-bottom:11px; }
.pc-tag { padding:3px 10px; border-radius:100px; font-size:11px; font-weight:700; }
.pc-tag:nth-child(1) { background:var(--pink-ultra); color:var(--pink-dark); }
.pc-tag:nth-child(2) { background:var(--teal-ultra); color:var(--teal-dark); }
.pc-tag.green { background:var(--sage-ultra); color:var(--sage-dark); }
.pc-body h3 { font-size:17px; font-weight:800; margin-bottom:10px; line-height:1.5; }
.pc-body p { font-size:14px; color:var(--muted); line-height:1.8; }
.pc-highlight {
    margin-top:12px; padding:10px 14px; border-radius:10px;
    background:var(--bg-3); font-size:13px; font-weight:700;
    color:var(--teal-dark); display:flex; align-items:center; gap:8px;
    border:1px solid rgba(13,148,136,.15);
}

/* ===== FOOTER ===== */
.site-footer {
    background:var(--charcoal-2); color:rgba(255,255,255,.65);
    padding:70px 5% 36px;
}
.footer-grid {
    display:grid; grid-template-columns:1.3fr 1fr 1fr;
    gap:60px; margin-bottom:50px;
}
.footer-brand h4 {
    font-size:22px; font-weight:900;
    background:var(--grad-warm);
    -webkit-background-clip:text; background-clip:text;
    -webkit-text-fill-color:transparent;
    margin-bottom:14px;
}
.footer-brand p { font-size:15px; line-height:1.85; }
.footer-col h5 { color:#fff; font-size:16px; font-weight:800; margin-bottom:18px; }
.footer-col a {
    display:block; color:rgba(255,255,255,.42);
    font-size:14px; margin-bottom:12px; transition:color .3s;
}
.footer-col a:hover { color:var(--pink-light); }
.footer-social { display:flex; gap:11px; margin-top:18px; }
.social-btn {
    width:38px; height:38px; border-radius:50%;
    background:rgba(255,255,255,.07);
    display:flex; align-items:center; justify-content:center;
    font-size:16px; color:rgba(255,255,255,.55); transition:var(--transition);
}
.social-btn img {
    width:20px; height:20px;
    object-fit: contain;
    transition:transform .3s;
}
.social-btn:nth-child(1):hover { background:var(--pink); color:#fff; transform:translateY(-2px); }
.social-btn:nth-child(1):hover img { transform:scale(1.1); }
.social-btn:nth-child(2):hover { background:var(--purple); color:#fff; transform:translateY(-2px); }
.social-btn:nth-child(2):hover img { transform:scale(1.1); }
.social-btn:nth-child(3):hover { background:var(--teal); color:#fff; transform:translateY(-2px); }
.social-btn:nth-child(3):hover img { transform:scale(1.1); }
.social-btn:nth-child(4):hover { background:var(--sage); color:#fff; transform:translateY(-2px); }
.social-btn:nth-child(4):hover img { transform:scale(1.1); }
.footer-copy {
    border-top:1px solid rgba(255,255,255,.06);
    padding-top:28px; text-align:center;
    font-size:12px; color:rgba(255,255,255,.22);
}

/* ===== BOOKING PAGE ===== */
body.booking-page { background:var(--grad-hero); min-height:100vh; }
.booking-layout {
    display:flex; max-width:1100px; width:100%;
    margin:0 auto; padding:30px 20px 60px;
    gap:28px; align-items:flex-start;
}
.booking-sidebar { width:296px; flex-shrink:0; position:sticky; top:110px; }
.sidebar-card {
    background:#fff; border-radius:var(--radius-lg);
    border:1px solid var(--border); overflow:hidden;
    box-shadow:var(--shadow-md);
}
.sidebar-doc-img { width:100%; height:210px; object-fit:cover; object-position:top; }
.sidebar-doc-info { padding:20px; }
.sidebar-doc-info h3 { font-size:17px; font-weight:900; }
.sidebar-doc-info p { font-size:13px; color:var(--muted); margin-top:4px; }
.sidebar-contact { padding:16px 20px; border-top:1px solid var(--border-2); }
.sidebar-contact-title { font-size:11px; font-weight:800; color:var(--muted); margin-bottom:9px; text-transform:uppercase; }
.sidebar-contact-phone {
    font-size:16px; font-weight:900; margin-bottom:13px;
    display:flex; align-items:center; gap:8px;
    background:var(--grad-warm);
    -webkit-background-clip:text; background-clip:text;
    -webkit-text-fill-color:transparent;
}
.sidebar-socials { display:flex; gap:9px; flex-wrap:wrap; }
.sidebar-social {
    width:36px; height:36px; border-radius:10px;
    background:var(--bg); border:1px solid var(--border-2);
    display:flex; align-items:center; justify-content:center;
    font-size:17px; color:var(--muted); transition:var(--transition);
}
.sidebar-social img {
    width:20px; height:20px;
    object-fit: contain;
    transition:transform .3s;
}
.sidebar-social:nth-child(1):hover { background:var(--teal); color:#fff; border-color:var(--teal); transform:translateY(-2px); }
.sidebar-social:nth-child(1):hover img { transform:scale(1.1); }
.sidebar-social:nth-child(2):hover { background:var(--purple); color:#fff; border-color:var(--purple); transform:translateY(-2px); }
.sidebar-social:nth-child(2):hover img { transform:scale(1.1); }
.sidebar-social:nth-child(3):hover { background:var(--pink); color:#fff; border-color:var(--pink); transform:translateY(-2px); }
.sidebar-social:nth-child(3):hover img { transform:scale(1.1); }
.sidebar-social:nth-child(n+4):hover { background:var(--sage); color:#fff; border-color:var(--sage); transform:translateY(-2px); }
.sidebar-social:nth-child(n+4):hover img { transform:scale(1.1); }
.sidebar-trust { padding:14px 20px; border-top:1px solid var(--border-2); display:flex; flex-direction:column; gap:9px; }
.trust-item { display:flex; align-items:center; gap:9px; font-size:12px; color:var(--muted); font-weight:600; }
.trust-item i { font-size:16px; }
.trust-item:nth-child(1) i { color:var(--teal); }
.trust-item:nth-child(2) i { color:var(--purple); }
.trust-item:nth-child(3) i { color:var(--pink-dark); }

/* --- Booking Engine --- */
.booking-engine {
    flex:1; background:#fff; border-radius:var(--radius-lg);
    border:1px solid var(--border); padding:38px 42px;
    box-shadow:var(--shadow-sm);
}
.booking-stepper {
    display:flex; align-items:center;
    margin-bottom:42px; position:relative;
}
.booking-stepper::before {
    content:''; position:absolute; top:15px; left:0; right:0;
    height:2px; background:var(--border-2); z-index:0;
}
.step-item {
    display:flex; flex-direction:column; align-items:center; gap:6px;
    position:relative; z-index:1; flex:1;
    font-size:12px; font-weight:700; color:var(--muted); transition:color .3s;
}
.step-num {
    width:32px; height:32px; border-radius:50%;
    background:var(--border-2); color:var(--muted);
    display:flex; align-items:center; justify-content:center;
    font-size:13px; font-weight:900;
    transition:var(--transition); border:3px solid var(--bg);
}
.step-item.active .step-num { background:var(--grad-warm); color:#fff; box-shadow:var(--shadow-pink); }
.step-item.active { color:var(--charcoal); }
.step-item.done .step-num { background:var(--grad-teal); color:#fff; }
.step-item.done { color:var(--teal-dark); }
.step-label { white-space:nowrap; }
.form-step { display:none; }
.form-step.active { display:block; animation:fadeInUp .4s ease; }
@keyframes fadeInUp { from{opacity:0;transform:translateY(12px)} to{opacity:1;transform:translateY(0)} }
.step-heading h2 { font-size:22px; font-weight:900; margin-bottom:6px; }
.step-heading p { font-size:14px; color:var(--muted); margin-bottom:28px; }

/* Visit Type Cards */
.visit-type-grid { display:flex; flex-direction:column; gap:13px; }
.visit-radio-card { cursor:pointer; }
.visit-radio-card input { display:none; }
.visit-card-ui {
    display:flex; align-items:center; gap:16px;
    padding:18px 20px; border:2px solid var(--border-2);
    border-radius:var(--radius-md); transition:var(--transition); background:#fff;
}
.visit-card-ui:hover { border-color:var(--purple-mid); background:var(--bg-2); }
.visit-radio-card input:checked + .visit-card-ui {
    border-color:var(--purple); background:var(--purple-light);
    box-shadow:0 4px 18px rgba(139,92,246,.15);
}
.visit-card-icon { font-size:28px; width:50px; text-align:center; flex-shrink:0; }
.visit-card-info { flex:1; }
.visit-card-info h4 { font-size:15px; font-weight:800; margin-bottom:4px; }
.visit-card-info span { font-size:12px; color:var(--muted); }
.visit-card-price { font-size:15px; font-weight:900; color:var(--charcoal); white-space:nowrap; }

/* Service List */
.service-option-list { display:flex; flex-direction:column; gap:9px; }
.service-option-item { cursor:pointer; }
.service-option-item input { display:none; }
.service-opt-ui {
    display:flex; align-items:center; gap:12px;
    padding:13px 16px; border:1.5px solid var(--border-2);
    border-radius:var(--radius-sm); transition:var(--transition);
}
.service-opt-ui:hover { border-color:var(--teal-light); background:var(--teal-ultra); }
.service-option-item input:checked + .service-opt-ui {
    border-color:var(--teal); background:var(--teal-ultra);
    box-shadow:0 3px 14px rgba(13,148,136,.15);
}
.service-opt-name { font-size:13.5px; font-weight:700; flex:1; }
.service-opt-badge {
    font-size:11px; font-weight:700; color:var(--purple-dark);
    background:var(--purple-light); padding:3px 10px; border-radius:100px;
}

/* Date Strip */
.date-strip { 
    display:grid; 
    grid-template-columns: repeat(auto-fill, minmax(80px, 1fr)); 
    gap:8px; 
    margin-bottom:24px; 
}
@media (max-width: 768px) {
    .date-strip {
        grid-template-columns: repeat(4, 1fr);
    }
}
@media (max-width: 480px) {
    .date-strip {
        grid-template-columns: repeat(3, 1fr);
    }
}
.date-card {
    padding:13px 8px; border-radius:14px;
    border:1.5px solid var(--border-2); text-align:center;
    cursor:pointer; transition:var(--transition); background:#fff;
}
.date-card:hover:not(.disabled) { border-color:var(--pink); background:var(--pink-ultra); }
.date-card.active { background:var(--grad-warm); color:#fff; border-color:transparent; box-shadow:var(--shadow-pink); }
.date-card.disabled { opacity:.4; cursor:not-allowed; background:var(--bg); }
.date-day { font-size:11px; color:var(--muted); margin-bottom:4px; display:block; }
.date-card.active .date-day { color:rgba(255,255,255,.8); }
.date-num { font-size:19px; font-weight:900; display:block; }
.date-label { font-size:10px; margin-top:4px; display:block; color:var(--sage); font-weight:700; }
.date-card.disabled .date-label { color:#E74C3C; }

/* Time Grid */
.time-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(105px,1fr)); gap:9px; }
@media (max-width: 768px) {
    .time-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 480px) {
    .time-grid { grid-template-columns: repeat(3, 1fr); gap:8px; }
}
.time-slot {
    padding:12px; border:1.5px solid var(--border-2);
    border-radius:11px; text-align:center;
    font-size:14px; font-weight:800; cursor:pointer; transition:var(--transition);
}
@media (max-width: 480px) {
    .time-slot { padding:10px; font-size:13px; }
}
.time-slot:hover { border-color:var(--purple); background:var(--purple-light); color:var(--purple-dark); }
.time-slot.active { background:var(--grad-purple); color:#fff; border-color:transparent; box-shadow:0 4px 16px rgba(139,92,246,.35); }
.time-slot.booked { opacity:.35; cursor:not-allowed; text-decoration:line-through; background:var(--bg); }

/* Info Form */
.info-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:20px; }
.float-group { position:relative; }
.float-group.full { grid-column:1/-1; }
.float-input {
    width:100%; padding:20px 15px 8px;
    border:1.5px solid var(--border-2); border-radius:var(--radius-sm);
    font-size:14px; color:var(--text); background:#fff; transition:var(--transition);
}
.float-input:focus { border-color:var(--purple); box-shadow:0 0 0 3px rgba(139,92,246,.1); }
.float-label {
    position:absolute; top:14px; right:15px;
    font-size:13.5px; color:var(--muted); pointer-events:none; transition:var(--transition);
}
.float-input:focus ~ .float-label,
.float-input:not(:placeholder-shown) ~ .float-label {
    top:6px; font-size:10px; color:var(--purple); font-weight:800;
}

/* Terms */
.terms-box {
    background:linear-gradient(135deg,var(--pink-ultra),var(--purple-light));
    border:1px solid rgba(139,92,246,.2);
    border-radius:var(--radius-sm); padding:15px 18px;
    display:flex; align-items:center; gap:13px;
    margin-bottom:18px; cursor:pointer;
}
.terms-check {
    width:20px; height:20px; border:2px solid var(--border-2);
    border-radius:6px; flex-shrink:0; transition:var(--transition);
    display:flex; align-items:center; justify-content:center;
}
.terms-check.checked { background:var(--grad-warm); border-color:transparent; }
.terms-check.checked::after { content:'✓'; color:#fff; font-size:12px; font-weight:900; }
.terms-text { font-size:13.5px; font-weight:700; flex:1; }
.terms-view-btn {
    font-size:12px; font-weight:800; color:var(--purple-dark);
    background:none; border:none; cursor:pointer; white-space:nowrap;
}

/* Order Summary */
.order-summary {
    background:linear-gradient(135deg,var(--teal-ultra),var(--sage-ultra));
    border:1px dashed rgba(13,148,136,.35);
    border-radius:var(--radius-sm); padding:17px 20px; margin-bottom:20px;
}
.order-row { display:flex; justify-content:space-between; font-size:14px; margin-bottom:8px; }
.order-row:last-child { margin-bottom:0; border-top:1px dashed rgba(13,148,136,.3); padding-top:10px; }
.order-row span { color:var(--muted); }
.order-row strong { color:var(--charcoal); font-weight:900; }
.online-info-box {
    background:var(--purple-light); border:1px solid rgba(139,92,246,.2);
    border-radius:var(--radius-sm); padding:13px 17px;
    display:flex; gap:10px; align-items:flex-start;
    font-size:13px; color:var(--purple-dark); margin-bottom:20px;
}
.online-info-box i { font-size:18px; flex-shrink:0; margin-top:1px; }

.physical-info-box {
    background:var(--sage-ultra); border:1.5px solid var(--sage);
    border-radius:var(--radius-sm); padding:14px 18px;
    display:flex; align-items:flex-start; gap:12px; margin-bottom:20px;
    font-size:13px; color:var(--sage-dark); line-height:1.7;
}
.physical-info-box i { font-size:18px; flex-shrink:0; margin-top:2px; }
.physical-info-box strong { display:block; margin-bottom:4px; font-weight:800; }
.physical-info-box span { display:block; }

.payment-notice-box {
    background:linear-gradient(135deg,#FFF3E0,#FFE0B2);
    border:2px solid #FF9800;
    border-radius:var(--radius-sm); padding:16px 20px;
    display:flex; align-items:flex-start; gap:12px; margin-bottom:20px;
    font-size:13px; color:#E65100; line-height:1.7;
}
.payment-notice-box i { font-size:20px; flex-shrink:0; margin-top:2px; color:#FF9800; }
.payment-notice-box strong { display:block; margin-bottom:6px; font-weight:900; font-size:14px; }
.payment-notice-box p { margin:0; }

/* Step Actions */
.step-actions {
    display:flex; justify-content:space-between; align-items:center;
    padding-top:22px; border-top:1px solid var(--border-2); margin-top:28px;
}
.step-actions.end { justify-content:flex-end; }
.btn-back {
    background:none; border:none; color:var(--muted);
    font-size:14px; font-weight:700; cursor:pointer;
    display:flex; align-items:center; gap:6px; transition:color .3s;
}
.btn-back:hover { color:var(--charcoal); }
.btn-next {
    background:var(--grad-purple); color:#fff;
    padding:12px 26px; border-radius:100px;
    font-size:14px; font-weight:800; cursor:pointer; border:none;
    display:flex; align-items:center; gap:8px; transition:var(--transition);
    box-shadow:0 6px 20px rgba(139,92,246,.3);
}
.btn-next:hover:not(:disabled) { transform:translateY(-2px); box-shadow:0 10px 30px rgba(139,92,246,.45); }
.btn-next:disabled { opacity:.4; cursor:not-allowed; }
.btn-pay {
    background:var(--grad-warm); color:#fff;
    padding:14px 34px; border-radius:100px;
    font-size:15px; font-weight:900; cursor:pointer; border:none; width:100%;
    box-shadow:var(--shadow-pink); transition:var(--transition);
}
.btn-pay:hover:not(:disabled) { transform:translateY(-3px); box-shadow:0 16px 40px rgba(139,92,246,.45); }
.btn-pay:disabled { opacity:.4; cursor:not-allowed; transform:none; }

/* Lang Switcher */
.lang-switcher { display:flex; gap:6px; margin-bottom:16px; }
.lang-btn {
    flex:1; padding:7px; border:1px solid var(--border-2);
    border-radius:8px; background:var(--bg); font-size:12px; font-weight:800;
    cursor:pointer; color:var(--muted); transition:var(--transition);
}
.lang-btn.active { background:var(--grad-warm); color:#fff; border-color:transparent; }

/* ===== MODAL ===== */
.modal-overlay {
    position:fixed; inset:0; z-index:9000;
    background:rgba(26,29,46,.55);
    backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
    display:flex; align-items:center; justify-content:center; padding:20px;
    opacity:0; visibility:hidden; transition:all .3s;
}
.modal-overlay.open { opacity:1; visibility:visible; }
.modal-box {
    background:#fff; border-radius:var(--radius-lg);
    max-width:580px; width:100%; max-height:82vh; overflow-y:auto;
    box-shadow:0 40px 100px rgba(26,29,46,.2);
    transform:translateY(22px); transition:transform .3s;
}
.modal-overlay.open .modal-box { transform:translateY(0); }
.modal-head {
    padding:22px 26px 16px; border-bottom:1px solid var(--border-2);
    display:flex; justify-content:space-between; align-items:center;
    position:sticky; top:0; background:#fff; z-index:1;
}
.modal-head h3 { font-size:17px; font-weight:900; }
.modal-close {
    width:32px; height:32px; border-radius:50%;
    background:var(--bg); border:none; cursor:pointer; font-size:18px;
    color:var(--muted); transition:var(--transition);
    display:flex; align-items:center; justify-content:center;
}
.modal-close:hover { background:var(--pink); color:#fff; }
.modal-body { padding:22px 26px; }
.modal-body h4 { font-size:15px; font-weight:800; margin-bottom:12px; }
.modal-body ol { padding-right:20px; }
.modal-body li {
    font-size:14px; color:var(--muted); line-height:1.9;
    margin-bottom:10px; padding-right:4px;
}
.modal-foot {
    padding:16px 26px; border-top:1px solid var(--border-2);
    display:flex; justify-content:flex-end; gap:10px;
}

/* ===== ABOUT PAGE ===== */
.about-hero { display:grid; grid-template-columns:1.1fr .9fr; gap:70px; align-items:center; padding:60px 5% 80px; background:var(--grad-hero); }
.about-hero-img { width:100%; aspect-ratio:3/4; border-radius:40px; overflow:hidden; box-shadow:var(--shadow-lg); border:3px solid rgba(255,255,255,.8); }
.about-hero-img img { width:100%; height:100%; object-fit:cover; object-position:top; }
.timeline { border-right:2.5px solid; border-image:var(--grad-warm) 1; padding-right:32px; position:relative; }
.tl-node { position:relative; margin-bottom:38px; }
.tl-node::before {
    content:''; position:absolute; width:14px; height:14px;
    border-radius:50%; right:-40px; top:4px;
    border:3px solid #fff; box-shadow:0 0 0 3px var(--pink);
}
.tl-node:nth-child(1)::before { background:var(--pink-dark); box-shadow:0 0 0 3px var(--pink-light); }
.tl-node:nth-child(2)::before { background:var(--purple); box-shadow:0 0 0 3px var(--purple-mid); }
.tl-node:nth-child(3)::before { background:var(--teal); box-shadow:0 0 0 3px var(--teal-light); }
.tl-node:nth-child(4)::before { background:var(--sage); box-shadow:0 0 0 3px var(--sage-light); }
.tl-node:nth-child(5)::before { background:var(--pink-dark); box-shadow:0 0 0 3px var(--pink-light); }
.tl-year { font-size:11px; font-weight:800; margin-bottom:5px; text-transform:uppercase; letter-spacing:.06em; }
.tl-node:nth-child(1) .tl-year { color:var(--pink-dark); }
.tl-node:nth-child(2) .tl-year { color:var(--purple-dark); }
.tl-node:nth-child(3) .tl-year { color:var(--teal-dark); }
.tl-node:nth-child(4) .tl-year { color:var(--sage-dark); }
.tl-node:nth-child(5) .tl-year { color:var(--pink-dark); }
.tl-node h4 { font-size:16px; font-weight:800; margin-bottom:6px; }
.tl-node p { font-size:14px; color:var(--muted); line-height:1.9; }
.cert-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:40px; }
.cert-card {
    background:#fff; border:1.5px solid var(--border-2);
    border-radius:var(--radius-md); padding:22px 18px; text-align:center; transition:var(--transition);
    position:relative; overflow:hidden;
}
.cert-card::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; }
.cert-card:nth-child(1)::before { background:var(--grad-warm); }
.cert-card:nth-child(2)::before { background:var(--grad-purple); }
.cert-card:nth-child(3)::before { background:var(--grad-teal); }
.cert-card:nth-child(4)::before { background:var(--grad-cool); }
.cert-card:nth-child(5)::before { background:var(--grad-sage); }
.cert-card:nth-child(6)::before { background:var(--grad-pink); }
.cert-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); }
.cert-icon { font-size:30px; margin-bottom:12px; display:block; }
.cert-card h4 { font-size:14px; font-weight:800; margin-bottom:6px; }
.cert-card p { font-size:12px; color:var(--muted); line-height:1.7; }
.values-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.value-card {
    background:#fff; border:1px solid var(--border-2);
    border-radius:var(--radius-md); padding:28px 22px; text-align:center; transition:var(--transition);
}
.value-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-sm); }
.value-icon {
    width:56px; height:56px; border-radius:16px;
    display:flex; align-items:center; justify-content:center;
    font-size:26px; margin:0 auto 16px;
}
.value-card:nth-child(1) .value-icon { background:var(--teal-ultra); }
.value-card:nth-child(2) .value-icon { background:var(--purple-light); }
.value-card:nth-child(3) .value-icon { background:var(--pink-ultra); }
.value-card:nth-child(4) .value-icon { background:var(--sage-ultra); }
.value-card h4 { font-size:15px; font-weight:800; margin-bottom:8px; }
.value-card p { font-size:13px; color:var(--muted); line-height:1.8; }

/* ===== PORTFOLIO FILTER ===== */
.filter-bar {
    background:#fff; border:1px solid var(--border-2);
    border-radius:var(--radius-lg); padding:22px 26px;
    margin-bottom:30px; display:flex; flex-wrap:wrap; gap:16px; align-items:flex-end;
}
.filter-group { display:flex; flex-direction:column; gap:6px; flex:1; min-width:140px; }
.filter-group label { font-size:11px; font-weight:800; color:var(--muted); text-transform:uppercase; }
.filter-select {
    padding:10px 13px; border:1.5px solid var(--border-2);
    border-radius:var(--radius-sm); background:var(--bg);
    font-size:13px; color:var(--text); cursor:pointer; transition:var(--transition);
}
.filter-select:focus { border-color:var(--purple); outline:none; }
.filter-toggle-row {
    display:flex; align-items:center; gap:8px; padding:10px 14px;
    border:1.5px solid var(--border-2); border-radius:var(--radius-sm);
    cursor:pointer; font-size:13px; font-weight:700; color:var(--muted);
    background:var(--bg); transition:var(--transition); white-space:nowrap; user-select:none;
}
.filter-toggle-row.active { border-color:var(--pink); background:var(--pink-ultra); color:var(--pink-dark); }
.results-info { font-size:13px; color:var(--muted); margin-bottom:16px; font-weight:600; }
.failed-treatment-section {
    background:linear-gradient(135deg,var(--purple-light),var(--pink-ultra));
    border:1.5px solid rgba(139,92,246,.2);
    border-radius:var(--radius-lg); padding:32px 36px; margin-bottom:36px;
    display:grid; grid-template-columns:1fr auto; align-items:center; gap:28px;
}
.failed-treatment-section h2 { font-size:21px; font-weight:900; margin-bottom:8px; }
.failed-treatment-section p { font-size:14px; color:var(--muted); line-height:1.8; }

/* ===== SERVICES DETAIL (services.html) ===== */
.svc-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; padding:60px 5%; }
.svc-detail-grid:nth-child(odd) { background:var(--bg); }
.svc-detail-grid:nth-child(even) { background:var(--bg-2); }
.svc-detail-img { border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-lg); aspect-ratio:4/3; }
.svc-detail-img img { width:100%; height:100%; object-fit:cover; }
.svc-list { list-style:none; margin:18px 0 28px; }
.svc-list li { display:flex; align-items:flex-start; gap:10px; font-size:14px; color:var(--muted); line-height:1.8; margin-bottom:8px; }
.svc-list li i { font-size:15px; margin-top:3px; flex-shrink:0; }
.svc-detail-grid:nth-child(1) .svc-list li i { color:var(--pink-dark); }
.svc-detail-grid:nth-child(3) .svc-list li i { color:var(--teal); }
.svc-detail-grid:nth-child(5) .svc-list li i { color:var(--purple); }
.svc-detail-grid:nth-child(7) .svc-list li i { color:var(--sage); }
.svc-detail-grid:nth-child(2) .svc-list li i { color:var(--teal); }
.svc-detail-grid:nth-child(4) .svc-list li i { color:var(--pink-dark); }
.svc-detail-grid:nth-child(6) .svc-list li i { color:var(--purple); }
.price-badge {
    display:inline-flex; align-items:center; gap:8px;
    padding:7px 17px; border-radius:100px;
    font-size:13px; font-weight:800; margin-bottom:18px;
}
.svc-detail-grid:nth-child(1) .price-badge { background:var(--pink-ultra); color:var(--pink-dark); border:1px solid rgba(232,121,154,.25); }
.svc-detail-grid:nth-child(2) .price-badge { background:var(--teal-ultra); color:var(--teal-dark); border:1px solid rgba(13,148,136,.2); }
.svc-detail-grid:nth-child(3) .price-badge { background:var(--purple-light); color:var(--purple-dark); border:1px solid rgba(139,92,246,.2); }
.svc-detail-grid:nth-child(4) .price-badge { background:var(--sage-ultra); color:var(--sage-dark); border:1px solid rgba(77,124,111,.2); }
.svc-detail-grid:nth-child(5) .price-badge { background:var(--pink-ultra); color:var(--pink-dark); border:1px solid rgba(232,121,154,.25); }
.svc-detail-grid:nth-child(6) .price-badge { background:var(--teal-ultra); color:var(--teal-dark); border:1px solid rgba(13,148,136,.2); }
.svc-detail-grid:nth-child(7) .price-badge { background:var(--purple-light); color:var(--purple-dark); border:1px solid rgba(139,92,246,.2); }
.svc-divider { height:1px; background:var(--border-2); margin:0 5%; }

/* ===== RESPONSIVE ===== */
@media(max-width:1100px) {
    .hero,.doctor-grid { grid-template-columns:1fr; text-align:center; }
    .hero-visual,.doctor-avatar-wrap { max-width:380px; margin:0 auto; order:-1; }
    .hero-actions,.doctor-chips { justify-content:center; }
    .stats-grid,.services-grid { grid-template-columns:repeat(2,1fr); }
    .gate-card-grid,.footer-grid { grid-template-columns:1fr 1fr; }
    .portfolio-grid { grid-template-columns:repeat(2,1fr); }
    .cert-grid { grid-template-columns:1fr 1fr; }
    .values-grid { grid-template-columns:1fr 1fr; }
    .svc-detail-grid { grid-template-columns:1fr; gap:28px; padding:40px 5%; }
    .svc-detail-grid.reverse { direction:rtl; }
    .hero-floating-card,.hero-floating-card-2 { display:none; }
    .dashboard-grid { grid-template-columns:1fr; }
}
@media(max-width:768px) {
    .site-header { padding:0 4%; }
    .header-nav { display:none; position:absolute; top:70px; left:0; right:0; background:#fff; flex-direction:column; padding:20px 5%; gap:16px; box-shadow:var(--shadow-md); }
    .header-nav.open { display:flex; }
    .header-cta { display:flex; align-items:center; justify-content:center; width:44px; height:44px; padding:0; border-radius:50%; font-size:0; order:-1; margin-left:8px; }
    .header-cta::before { content:'\eb7c'; font-family:'remixicon'; font-size:20px; }
    .header-cta span { display:none; }
    .mobile-menu-btn { display:flex; }
    .page-content { padding-top:70px; }
    .hero { grid-template-columns:1fr; padding:50px 5% 70px; text-align:center; }
    .hero-content { order:2; }
    .hero-visual { order:1; margin-bottom:30px; }
    .hero-actions { justify-content:center; }
    .hero-title { font-size:28px; }
    .section-title { font-size:24px; }
    .section-desc { font-size:15px; }
    .stats-grid { grid-template-columns:1fr 1fr; gap:15px; }
    .services-grid,.portfolio-grid,.gate-card-grid { grid-template-columns:1fr; }
    .footer-grid { grid-template-columns:1fr; }
    .booking-layout { flex-direction:column; }
    .booking-sidebar { width:100%; position:static; margin-bottom:20px; }
    .booking-engine { padding:22px 18px; }
    .booking-stepper { margin-bottom:30px; }
    .step-label { font-size:10px; }
    .step-num { width:28px; height:28px; font-size:12px; }
    .info-grid { grid-template-columns:1fr; }
    .failed-treatment-section { grid-template-columns:1fr; }
    .about-hero { grid-template-columns:1fr; padding:40px 5%; }
    .cert-grid { grid-template-columns:1fr; }
    .values-grid { grid-template-columns:1fr; }
    .filter-bar { flex-direction:column; gap:12px; }
    .filter-group { min-width:100%; }
    .story-bar { padding:8px 4%; }
    .story-item { width:60px; height:90px; }
    .story-overlay { font-size:8px; }
    .section { padding:50px 4%; }
    .section-sm { padding:35px 4%; }
    .btn { padding:12px 24px; font-size:14px; }
    .social-btn img { width:18px; height:18px; }
    .sidebar-social img { width:18px; height:18px; }
    .service-icon { width:56px; height:56px; font-size:28px; }
    .gate-icon { font-size:36px; }
    .stat-number { font-size:36px; }
    .auth-buttons { display:none; }
    .visit-type-grid { gap:10px; }
    .visit-card-ui { padding:14px 16px; }
    .visit-card-icon { font-size:24px; width:44px; }
    .visit-card-info h4 { font-size:14px; }
    .visit-card-info span { font-size:11px; }
    .visit-card-price { font-size:14px; }
    .time-grid { grid-template-columns:repeat(3,1fr); gap:8px; }
    .time-slot { padding:10px; font-size:13px; }
    .date-strip { gap:8px; overflow-x:auto; }
    .date-card { min-width:70px; padding:12px 8px; }
    .date-card .day-name { font-size:11px; }
    .date-card .day-num { font-size:18px; }
    .order-summary { padding:16px; }
    .order-row { font-size:13px; }
}
@media(max-width:480px) {
    .stats-grid,.services-grid { grid-template-columns:1fr; }
    .hero-title { font-size:26px; }
    .hero-desc { font-size:14px; }
    .section-title { font-size:22px; }
    .section-desc { font-size:14px; }
    .page-content { padding-top:176px; }
    .site-header { height:60px; padding:0 3%; }
    .header-brand { font-size:16px; }
    .header-brand img { height:28px; }
    .brand-dot { width:9px; height:9px; }
    .mobile-menu-btn span { width:20px; }
    .hero { padding:40px 3% 60px; }
    .section { padding:40px 3%; }
    .section-sm { padding:30px 3%; }
    .btn { padding:11px 20px; font-size:13px; }
    .service-card { padding:20px 16px; }
    .service-icon { width:52px; height:52px; font-size:26px; }
    .service-card h3 { font-size:16px; }
    .service-card p { font-size:13px; }
    .gate-card { padding:22px 18px; }
    .gate-icon { font-size:32px; }
    .gate-card h3 { font-size:16px; }
    .gate-card p { font-size:13px; }
    .filter-bar { padding:16px; gap:10px; }
    .filter-select { padding:8px 12px; font-size:12px; }
    .filter-toggle-row { padding:8px 12px; font-size:12px; }
    .pc-body { padding:16px; }
    .pc-body h3 { font-size:14px; }
    .pc-body p { font-size:12px; }
    .pc-tag { font-size:10px; padding:2px 8px; }
    .pc-highlight { font-size:11px; padding:8px 12px; }
    .booking-stepper { margin-bottom:20px; }
    .step-label { font-size:9px; }
    .step-num { width:24px; height:24px; font-size:11px; }
    .time-grid { grid-template-columns:repeat(2,1fr); }
    .date-card { min-width:60px; padding:10px 6px; }
    .visit-card-ui { padding:12px 14px; }
    .sidebar-doc-img { height:180px; }
    .stat-card { padding:22px 18px; }
    .stat-icon { width:56px; height:56px; font-size:28px; }
    .stat-number { font-size:32px; }
    .stat-label { font-size:13px; }
    .doctor-chips { gap:8px; }
    .chip { padding:5px 12px; font-size:12px; }
    .portfolio-card { border-radius:var(--radius-sm); }
    .pc-body { padding:16px; }
    .pc-body h3 { font-size:15px; }
    .pc-body p { font-size:13px; }
    .footer-brand h4 { font-size:18px; }
    .footer-brand p { font-size:13px; }
    .footer-col h5 { font-size:14px; }
    .footer-col a { font-size:13px; }
    .filter-select { font-size:12px; padding:8px 12px; }
    .filter-toggle-row { font-size:12px; padding:8px 12px; }
    .failed-treatment-section { padding:24px 20px; }
    .failed-treatment-section h2 { font-size:18px; }
    .failed-treatment-section p { font-size:13px; }
}

/* ===== GLASS CARD UTILITY ===== */
.glass-card {
    background:rgba(255,255,255,.7);
    backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);
    border:1px solid rgba(255,255,255,.6);
    border-radius:var(--radius-lg); box-shadow:var(--shadow-md);
}

/* ===== CTA SECTION ===== */
.cta-section {
    background:var(--grad-cool); color:#fff;
    padding:70px 5%; text-align:center; position:relative; overflow:hidden;
}
.cta-section::before {
    content:''; position:absolute; top:-80px; right:-80px;
    width:300px; height:300px; border-radius:50%;
    background:rgba(255,255,255,.06); pointer-events:none;
}
.cta-section::after {
    content:''; position:absolute; bottom:-60px; left:-60px;
    width:250px; height:250px; border-radius:50%;
    background:rgba(255,255,255,.05); pointer-events:none;
}
.cta-section h2 { font-size:32px; font-weight:900; margin-bottom:14px; }
.cta-section p { font-size:16px; opacity:.85; margin-bottom:32px; }
.btn-white {
    background:#fff; color:var(--teal-dark);
    padding:14px 36px; border-radius:100px;
    font-size:15px; font-weight:900;
    box-shadow:0 8px 28px rgba(0,0,0,.2); transition:var(--transition);
    display:inline-flex; align-items:center; gap:8px;
}
.btn-white:hover { transform:translateY(-3px); box-shadow:0 14px 40px rgba(0,0,0,.25); }

/* ===== DIVIDER GRADIENT ===== */
.section-divider {
    height:3px; margin:0 5%;
    background:linear-gradient(90deg, var(--pink-light), var(--purple-mid), var(--teal-light));
    border-radius:3px; opacity:.6;
}

/* ===== SCROLL REVEAL ANIMATION ===== */
.reveal {
    opacity:0; transform:translateY(28px);
    transition:opacity .6s ease, transform .6s ease;
}

/* ===== NOTIFICATION TOAST ===== */
.notification-toast {
    position:fixed;
    top:100px;
    left:50%;
    transform:translateX(-50%) translateY(-20px);
    background:var(--white);
    border-radius:12px;
    padding:16px 24px;
    display:flex;
    align-items:center;
    gap:12px;
    box-shadow:0 10px 40px rgba(0,0,0,.15);
    z-index:10000;
    opacity:0;
    transition:all .3s cubic-bezier(.4,0,.2,1);
    min-width:320px;
    max-width:90vw;
}
.notification-toast.show {
    opacity:1;
    transform:translateX(-50%) translateY(0);
}
.notification-toast i {
    font-size:22px;
}
.notification-error {
    border-right:4px solid #EF4444;
}
.notification-error i {
    color:#EF4444;
}
.notification-warning {
    border-right:4px solid #F59E0B;
}
.notification-warning i {
    color:#F59E0B;
}
.notification-toast span {
    flex:1;
    font-size:14px;
    font-weight:600;
    color:var(--charcoal);
}
.notification-toast button {
    background:none;
    border:none;
    cursor:pointer;
    padding:4px;
    border-radius:6px;
    color:var(--muted);
    transition:var(--transition);
}
.notification-toast button:hover {
    background:var(--bg-2);
    color:var(--charcoal);
}
.reveal.visible { opacity:1; transform:translateY(0); }
