/* Nims Derma — globals.css stub (Laralink ProHealth theme) */
:root {
  --cs_accent: #307BC4;
  --cs_dark: #274760;
  --cs_heading: #1a2e44;
  --cs_body: #5a6e82;
  --cs_light_bg: #f4f9fc;
  --cs_white: #ffffff;
  --cs_accent_bg: #307BC4;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: 'Figtree', 'Poppins', sans-serif; color: var(--cs_body); background: var(--cs_white); line-height: 1.6; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; margin: 0; padding: 0; }
h1,h2,h3,h4,h5,h6 { margin: 0; line-height: 1.2; color: var(--cs_heading); }
p { margin: 0 0 1rem; }
input, select, textarea, button { font-family: inherit; }

/* Bootstrap-like grid */
.container { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.row { display: flex; flex-wrap: wrap; margin: 0 -12px; }
[class*="col-"] { padding: 0 12px; width: 100%; }
.col-lg-4 { width: 100%; }
.col-lg-5 { width: 100%; }
.col-lg-6 { width: 100%; }
.col-lg-7 { width: 100%; }
.col-xl-4 { width: 100%; }
.col-xl-8 { width: 100%; }
.col-md-6 { width: 100%; }
.col-xxl-4, .col-xxl-8 { width: 100%; }
.col-lg-12 { width: 100%; }
.col-lg-10 { width: 100%; }
.offset-lg-1, .offset-lg-6, .offset-xxl-4 { margin-left: 0; }
.align-items-center { align-items: center; }
.flex-column-reverse { flex-direction: column-reverse; }
.text-center { text-align: center; }
.overflow-hidden { overflow: hidden; }
.rounded-circle { border-radius: 50%; }
.d-block { display: block; }
.d-flex { display: flex; }
.mb-0 { margin-bottom: 0; }
.m-0 { margin: 0; }
.gy-3 { row-gap: 16px; }
.g-4 { gap: 24px; }

@media (min-width: 768px) {
  .col-md-6 { width: 50%; }
}
@media (min-width: 992px) {
  .col-lg-4 { width: 33.333%; }
  .col-lg-5 { width: 41.667%; }
  .col-lg-6 { width: 50%; }
  .col-lg-7 { width: 58.333%; }
  .col-lg-10 { width: 83.333%; }
  .col-lg-12 { width: 100%; }
  .offset-lg-1 { margin-left: 8.333%; }
  .offset-lg-6 { margin-left: 50%; }
  .flex-lg-row { flex-direction: row; }
}
@media (min-width: 1200px) {
  .col-xl-4 { width: 33.333%; }
  .col-xl-8 { width: 66.667%; }
}
@media (min-width: 1400px) {
  .col-xxl-4 { width: 33.333%; }
  .col-xxl-8 { width: 66.667%; }
  .offset-xxl-4 { margin-left: 33.333%; }
}

/* Typography */
.cs_fs_84 { font-size: clamp(40px, 6vw, 84px); }
.cs_fs_72 { font-size: clamp(32px, 5vw, 72px); }
.cs_fs_40 { font-size: clamp(24px, 3.5vw, 40px); }
.cs_fs_32 { font-size: clamp(20px, 2.5vw, 32px); }
.cs_fs_24 { font-size: clamp(18px, 2vw, 24px); }
.cs_fs_20 { font-size: clamp(16px, 1.5vw, 20px); }
.cs_semibold { font-weight: 600; }
.cs_medium { font-weight: 500; }
.cs_normal { font-weight: 400; }
.text-uppercase { text-transform: uppercase; }

/* Color utilities */
.cs_white_color { color: var(--cs_white) !important; }
.cs_accent_color { color: var(--cs_accent) !important; }
.cs_heading_color { color: var(--cs_heading) !important; }
.cs_body_color { color: var(--cs_body) !important; }
.cs_accent_bg { background-color: var(--cs_accent_bg) !important; }
.cs_primary_bg { background-color: var(--cs_accent) !important; }

/* Radius */
.cs_radius_20 { border-radius: 20px; }
.cs_radius_25 { border-radius: 25px; }
.cs_radius_30 { border-radius: 30px; }

/* Height utilities */
.cs_height_5  { height: 5px; }
.cs_height_15 { height: 15px; }
.cs_height_22 { height: 22px; }
.cs_height_30 { height: 30px; }
.cs_height_35 { height: 35px; }
.cs_height_42 { height: 42px; }
.cs_height_55 { height: 55px; }
.cs_height_57 { height: 57px; }
.cs_height_60 { height: 60px; }
.cs_height_70 { height: 70px; }
.cs_height_72 { height: 72px; }
.cs_height_80 { height: 80px; }
.cs_height_120 { height: 120px; }
.cs_height_132 { height: 132px; }
@media (max-width: 991px) {
  .cs_height_lg_25 { height: 25px; }
  .cs_height_lg_45 { height: 45px; }
  .cs_height_lg_50 { height: 50px; }
  .cs_height_lg_105 { height: 105px; }
  .cs_height_lg_25.cs_height_42 { height: 25px; }
}

/* === HEADER === */
.cs_site_header { position: sticky; top: 0; z-index: 1000; background: var(--cs_white); box-shadow: 0 2px 16px rgba(0,0,0,.08); }
.cs_main_header { padding: 0; }
.cs_main_header_in { display: flex; align-items: center; justify-content: space-between; min-height: 80px; gap: 24px; }
.cs_main_header_left { display: flex; align-items: center; gap: 40px; flex: 1; }
.cs_site_branding img { height: 80px; width: auto; }
.cs_nav { flex: 1; }
.cs_nav_list_wrap { display: flex; align-items: center; }
.cs_nav_list { display: flex; gap: 4px; }
.cs_nav_list .menu-item { position: relative; }
.cs_nav_list .menu-item > a { display: flex; align-items: center; gap: 6px; padding: 10px 14px; font-weight: 600; font-size: 15px; color: var(--cs_heading); border-radius: 8px; transition: color .2s; }
.cs_nav_list .menu-item > a:hover { color: var(--cs_accent); }
.cs_nav_list .menu-item-has-children > ul { display: none; position: absolute; top: calc(100% + 4px); left: 0; background: var(--cs_white); border-radius: 12px; box-shadow: 0 8px 32px rgba(0,0,0,.12); min-width: 260px; padding: 8px; z-index: 100; max-height: 400px; overflow-y: auto; }
.cs_nav_list .menu-item-has-children:hover > ul { display: block; }
.cs_nav_list .menu-item-has-children > ul li a { display: block; padding: 8px 16px; font-size: 14px; border-radius: 6px; color: var(--cs_heading); }
.cs_nav_list .menu-item-has-children > ul li a:hover { background: var(--cs_light_bg); color: var(--cs_accent); }
.cs_munu_dropdown_toggle { display: none; }
.cs_main_header_right { display: flex; align-items: center; gap: 16px; }
.cs_toolbox { display: flex; align-items: center; gap: 12px; }
.cs_header_user_btn a { display: flex; align-items: center; gap: 6px; padding: 8px 16px; font-size: 14px; font-weight: 600; color: var(--cs_heading); border: 1.5px solid #e5eaf0; border-radius: 8px; }
.cs_header_user_btn a:hover { border-color: var(--cs_accent); color: var(--cs_accent); }
.cs_tooltip { position: relative; }
.cs_tooltip_text { display: none; }
.cs_btn.cs_style_1 { display: inline-flex; align-items: center; gap: 10px; padding: 12px 28px; background: var(--cs_accent); color: var(--cs_white); font-weight: 700; border-radius: 50px; border: none; cursor: pointer; transition: background .2s, transform .1s; font-size: 15px; }
.cs_btn.cs_style_1:hover { background: var(--cs_dark); transform: translateY(-1px); }
.cs_btn.cs_style_1 i { display: flex; align-items: center; width: 0; overflow: hidden; transition: width .3s; }
.cs_btn.cs_style_1:hover i { width: 24px; }
.cs_btn.cs_style_1 i svg:last-child { display: none; }
.cs_menu_toggle { display: none; cursor: pointer; width: 30px; }
.cs_menu_toggle span, .cs_menu_toggle span::before, .cs_menu_toggle span::after { display: block; height: 2px; background: var(--cs_dark); border-radius: 2px; width: 100%; }
.cs_menu_toggle span { position: relative; margin: 6px 0; }
.cs_menu_toggle span::before, .cs_menu_toggle span::after { content: ''; position: absolute; }
.cs_menu_toggle span::before { top: -8px; }
.cs_menu_toggle span::after { bottom: -8px; }
@media (max-width: 991px) {
  .cs_nav { display: none; }
  .cs_menu_toggle { display: block; }
}

/* Side Nav (mobile) */
.cs_sidenav { position: fixed; inset: 0; z-index: 9999; pointer-events: none; }
.cs_sidenav_overlay { position: absolute; inset: 0; background: rgba(0,0,0,.5); opacity: 0; }
.cs_sidenav_in { position: absolute; top: 0; right: -400px; width: 360px; max-width: 100vw; height: 100%; background: var(--cs_white); overflow-y: auto; padding: 40px 30px; transition: right .3s; }
.cs_close { background: none; border: none; cursor: pointer; padding: 4px; }
.cs_logo_box { margin-top: 20px; }

/* Newsletter (in sidenav) */
.cs_newsletter_title { font-size: 20px; margin-bottom: 8px; }
.cs_newsletter_subtitle { font-size: 14px; color: var(--cs_body); margin-bottom: 16px; }
.cs_newsletter_form { display: flex; gap: 8px; }
.cs_newsletter_input { flex: 1; padding: 10px 16px; border: 1.5px solid #e5eaf0; border-radius: 8px; font-size: 14px; }

/* Social links */
.cs_social_links_wrap h2 { font-size: 18px; margin-bottom: 12px; }
.cs_social_links { display: flex; gap: 10px; }
.cs_social_links a { width: 40px; height: 40px; border: 1.5px solid rgba(255,255,255,.3); border-radius: 50%; display: flex; align-items: center; justify-content: center; }
.cs_center { display: flex; align-items: center; justify-content: center; }

/* === HERO === */
.cs_hero.cs_style_2 { position: relative; background: linear-gradient(135deg, var(--cs_dark) 0%, var(--cs_accent) 100%); min-height: 80vh; display: flex; align-items: center; padding: 120px 0 60px; overflow: hidden; }
.cs_hero_text { position: relative; z-index: 2; }
.cs_hero_title { line-height: 1.1; font-weight: 800; margin-bottom: 32px; }
.cs_hero_text_in { display: flex; flex-direction: column; gap: 20px; }
.cs_text_btn { font-weight: 700; font-size: 16px; color: var(--cs_white); border-bottom: 2px solid rgba(255,255,255,.5); padding-bottom: 2px; }
.cs_hero_subtitle { font-size: 18px; max-width: 500px; opacity: .9; }
.cs_hero_img { position: absolute; right: 0; bottom: 0; width: 45%; }
.cs_hero_img img { width: 100%; height: 80vh; object-fit: cover; object-position: top; }
.cs_hero_funfact { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; margin-top: 60px; padding-top: 40px; border-top: 1px solid rgba(255,255,255,.2); }
.cs_hero_funfact_col h3 { font-weight: 800; margin-bottom: 4px; }
.cs_hero_funfact_col p { opacity: .8; font-size: 14px; }
/* animated text */
.cd-headline { display: inline; }
.cd-words-wrapper { position: relative; display: inline-block; }
.cd-words-wrapper b { display: block; }
.cd-words-wrapper b.is-hidden { display: none; }
.cd-words-wrapper b.is-visible { display: inline; }
@media (max-width: 991px) {
  .cs_hero.cs_style_2 { min-height: auto; padding: 100px 0 40px; }
  .cs_hero_img { display: none; }
  .cs_hero_funfact { grid-template-columns: repeat(2, 1fr); }
}

/* === ABOUT === */
.cs_about.cs_style_1 { }
.cs_about_img { position: relative; }
.cs_about_img > img { width: 100%; border-radius: 20px; object-fit: cover; max-height: 500px; }
.cs_about_mini_img { position: absolute; bottom: -24px; right: -24px; width: 120px; height: 120px; background: var(--cs_accent); border-radius: 50%; display: flex; align-items: center; justify-content: center; }
.cs_about_mini_img img { width: 60%; opacity: .8; }
.cs_rotate_animation { animation: cs_rotate 10s linear infinite; }
@keyframes cs_rotate { to { transform: rotate(360deg); } }
.cs_right_icon { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); color: var(--cs_white); }
.cs_shape_wrap { position: relative; }
.cs_shape_1 { position: absolute; width: 400px; height: 400px; border-radius: 50%; background: var(--cs_light_bg); top: -100px; left: -200px; z-index: -1; }
.cs_section_heading.cs_style_1 { }
.cs_section_subtitle { letter-spacing: 3px; }
.cs_about_content { padding: 40px 0 40px 40px; }
.cs_about_text_list li { display: grid; grid-template-columns: 24px 1fr; gap: 16px; margin-bottom: 24px; }
.cs_about_text_list li i { margin-top: 6px; }
.cs_about_text_list h3 { font-size: 20px; font-weight: 600; margin-bottom: 8px; }
.cs_gap_y_40 { row-gap: 40px; }
@media (max-width: 991px) {
  .cs_about_content { padding: 24px 0; }
  .cs_about_mini_img { display: none; }
}

/* === DEPARTMENTS === */
.cs_iconbox.cs_style_2 { display: block; background: var(--cs_white); border: 1.5px solid #e5eaf0; border-radius: 20px; padding: 40px 32px; transition: all .3s; margin-bottom: 16px; }
.cs_iconbox.cs_style_2:hover { border-color: var(--cs_accent); box-shadow: 0 8px 32px rgba(48,123,196,.15); transform: translateY(-4px); }
.cs_iconbox.cs_style_2 .cs_iconbox_icon { width: 80px; height: 80px; background: var(--cs_light_bg); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin-bottom: 24px; }
.cs_iconbox.cs_style_2 .cs_iconbox_icon img { width: 44px; height: 44px; }
.cs_iconbox.cs_style_2 .cs_iconbox_title { color: var(--cs_heading); font-size: 22px; }
.cs_iconbox.cs_style_11 { display: flex; align-items: center; gap: 16px; padding: 20px; background: var(--cs_light_bg); border-radius: 16px; }
.cs_iconbox.cs_style_11 .cs_iconbox_icon { width: 60px; flex-shrink: 0; }
.cs_iconbox.cs_style_11 .cs_iconbox_title { font-size: 18px; margin-bottom: 4px; }
.cs_iconbox.cs_style_11 .cs_iconbox_subtitle { font-size: 14px; color: var(--cs_body); }

/* === BANNER === */
.cs_banner.cs_style_2 { padding: 80px 60px; border-radius: 25px; background: linear-gradient(135deg, var(--cs_dark) 0%, var(--cs_accent) 100%); background-size: cover; background-position: center; position: relative; overflow: hidden; }
.cs_banner.cs_style_2::before { content: ''; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(39,71,96,.85) 0%, rgba(48,123,196,.7) 100%); }
.cs_banner.cs_style_2 .cs_section_heading { position: relative; z-index: 1; }
@media (max-width: 767px) {
  .cs_banner.cs_style_2 { padding: 40px 24px; }
}

/* === DOCTORS === */
.cs_team.cs_style_1 { background: var(--cs_white); border-radius: 20px; overflow: hidden; box-shadow: 0 4px 24px rgba(0,0,0,.06); transition: box-shadow .3s, transform .3s; }
.cs_team.cs_style_1:hover { box-shadow: 0 12px 40px rgba(48,123,196,.15); transform: translateY(-6px); }
.cs_member_img { display: block; overflow: hidden; }
.cs_member_img img { width: 100%; height: 280px; object-fit: cover; object-position: top; transition: transform .4s; }
.cs_team.cs_style_1:hover .cs_member_img img { transform: scale(1.05); }
.cs_team_meta { padding: 24px; display: flex; justify-content: space-between; align-items: flex-end; }
.cs_member_name { font-size: 22px; font-weight: 700; margin-bottom: 4px; line-height: 1.3; }
.cs_member_name a { color: var(--cs_heading); }
.cs_member_name a:hover { color: var(--cs_accent); }
.cs_member_designation { font-size: 14px; color: var(--cs_body); }
/* When doctor photo is missing, show a placeholder */
.cs_member_img img[alt]::after { content: attr(alt); display: block; text-align: center; padding: 20px; }
.cs_member_img:has(img:-moz-broken) { background: var(--cs_light_bg); min-height: 200px; display: flex; align-items: center; justify-content: center; }

/* === APPOINTMENT === */
.cs_appointment_section_1 { background: var(--cs_accent); position: relative; overflow: hidden; }
.cs_appointment_section_1 .container { position: relative; }
.cs_appointment_img { position: absolute; left: 0; bottom: 0; width: 45%; }
.cs_appointment_img img { width: 100%; border-radius: 30px 30px 0 0; height: 500px; object-fit: cover; object-position: top; }
.cs_form_field { width: 100%; padding: 14px 18px; border: 1.5px solid rgba(255,255,255,.3); border-radius: 12px; background: rgba(255,255,255,.15); color: var(--cs_white); font-size: 15px; margin-top: 8px; }
.cs_form_field::placeholder { color: rgba(255,255,255,.6); }
.cs_form_field option { color: var(--cs_heading); background: var(--cs_white); }
.cs_input_label { font-size: 14px; font-weight: 600; color: rgba(255,255,255,.8); }
.cs_input_label span { color: #ff8c6e; }
.cs_height_57 { height: 57px; }
@media (max-width: 991px) {
  .cs_appointment_img { display: none; }
  .offset-lg-6 { margin-left: 0; }
}

/* === FAQ / ACCORDION === */
.cs_accordians.cs_style1 { }
.cs_accordian { border-bottom: 1.5px solid #e5eaf0; padding: 24px 0; }
.cs_accordian_head { display: flex; justify-content: space-between; align-items: center; cursor: pointer; font-size: 18px; font-weight: 600; gap: 16px; }
.cs_accordian_head:hover { color: var(--cs_accent); }
.cs_accordian_arrow { flex-shrink: 0; transition: transform .3s; }
.cs_accordian.active .cs_accordian_arrow { transform: rotate(180deg); }
.cs_accordian_body_wrap { overflow: hidden; transition: height .3s ease; }
.cs_accordian_body { padding: 16px 0 0; color: var(--cs_body); line-height: 1.7; }

/* === BLOG === */
.cs_post.cs_style_2 { border-radius: 20px; overflow: hidden; background: var(--cs_white); box-shadow: 0 4px 20px rgba(0,0,0,.06); display: flex; flex-direction: column; margin-bottom: 16px; }
.cs_post_thumb { display: block; overflow: hidden; }
.cs_post_thumb img { width: 100%; height: 240px; object-fit: cover; transition: transform .4s; }
.cs_post_thumb:hover img { transform: scale(1.04); }
.cs_post_info { padding: 24px; flex: 1; display: flex; flex-direction: column; justify-content: space-between; }
.cs_post_title { font-size: 20px; font-weight: 700; line-height: 1.4; margin-bottom: 12px; }
.cs_post_title a { color: var(--cs_heading); }
.cs_post_title a:hover { color: var(--cs_accent); }
.cs_posted_by { font-size: 13px; color: var(--cs_body); }
.cs_post_meta { display: flex; justify-content: space-between; align-items: center; }
.cs_post_social { display: flex; gap: 8px; }
.cs_post_social a { width: 32px; height: 32px; border: 1.5px solid #e5eaf0; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 12px; }
/* Large featured post */
.col-lg-6 > .cs_post.cs_style_2:first-child .cs_post_thumb img { height: 360px; }
.cs_gap_y_24 { row-gap: 24px; }
.cs_view_mouse { cursor: pointer; }

/* === FOOTER === */
.cs_footer.cs_style_2 { background-color: var(--cs_accent_bg); color: var(--cs_white); padding-top: 80px; }
.cs_footer_in { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 48px; }
.cs_footer_item { }
.cs_text_widget img { height: 120px; width: auto; object-fit: contain; margin-bottom: 16px; }
.cs_text_widget p { font-size: 20px; font-weight: 600; margin-bottom: 16px; opacity: .9; }
.cs_contact_widget li { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 12px; font-size: 14px; opacity: .85; }
.cs_contact_widget li i { flex-shrink: 0; margin-top: 2px; }
.cs_contact_widget a { color: var(--cs_white); }
.cs_menu_widget li { margin-bottom: 10px; }
.cs_menu_widget li a { font-size: 14px; opacity: .85; color: var(--cs_white); transition: opacity .2s; }
.cs_menu_widget li a:hover { opacity: 1; }
.cs_mp0 { margin: 0; padding: 0; }
.cs_footer .cs_social_links_wrap h2 { font-size: 16px; margin-bottom: 12px; color: var(--cs_white); }
.cs_footer .cs_social_links a { border-color: rgba(255,255,255,.4); color: var(--cs_white); width: 36px; height: 36px; }
.cs_footer_bottom { margin-top: 60px; border-top: 1px solid rgba(255,255,255,.2); padding: 20px 0; }
.cs_copyright { font-size: 14px; text-align: center; opacity: .8; }
.cs_copyright a { color: var(--cs_white); text-decoration: underline; }
@media (max-width: 991px) {
  .cs_footer_in { grid-template-columns: 1fr 1fr; gap: 32px; }
}
@media (max-width: 575px) {
  .cs_footer_in { grid-template-columns: 1fr; }
}

/* === COOKIE CONSENT === */
.cookie-consent { position: fixed; bottom: 24px; left: 50%; transform: translateX(-50%); z-index: 10000; width: calc(100% - 48px); max-width: 700px; }
.cookie-card { background: var(--cs_white); border-radius: 16px; box-shadow: 0 8px 40px rgba(0,0,0,.16); padding: 20px 24px; display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.cookie-content { display: flex; align-items: flex-start; gap: 12px; flex: 1; min-width: 200px; }
.cookie-icon { flex-shrink: 0; color: var(--cs_accent); margin-top: 2px; }
.cookie-message { font-size: 14px; color: var(--cs_body); margin: 0; }
.cookie-actions { flex-shrink: 0; }
.cs_w_100_sm { width: auto; }
.cs_type_2 { padding: 10px 20px; font-size: 14px; }

/* === BG / Section utilities === */
.cs_bg_filed { background-size: cover; background-position: center; background-repeat: no-repeat; }

/* === Fix broken doctor images === */
.cs_member_img img { min-height: 200px; background: linear-gradient(135deg, #e8f3fb 0%, #c5ddf5 100%); }
img[alt*="Dr"] { background: linear-gradient(135deg, #e8f3fb 0%, #c5ddf5 100%); display: block; }
