/* =====================================================================
   RSUD HANAU — Tampilan Publik (lapisan di atas template Medicio)
   Fokus: responsif di HP/tablet, konsisten dengan area E-Pasien,
   keterbacaan (kontras warna) dan perbaikan tata letak halaman lama.
   Dimuat SETELAH assets/css/main.css.
   ===================================================================== */

/* ---------- Warna & variabel ---------- */
:root{
  --accent-color:#0b8a78;          /* sebelumnya #3fbbc0 (kontras teks kurang) */
  --heading-color:#0f172a;
  --default-color:#334155;
  --nav-color:#334155;
  --nav-hover-color:#0b8a78;
  --nav-dropdown-color:#334155;
  --nav-dropdown-hover-color:#0b8a78;
  --rs-primary:#0b8a78;
  --rs-primary-600:#087565;
  --rs-primary-700:#065f52;
  --rs-primary-50:#e8f6f3;
  --rs-primary-100:#cdeee7;
  --rs-ink:#0f172a;
  --rs-muted:#64748b;
  --rs-line:#e2eaec;
  --rs-soft:#f4f8f8;
  --rs-rose:#e11d48;
  --rs-amber:#d97706;
  --rs-radius:18px;
  --rs-shadow-sm:0 1px 2px rgba(15,23,42,.05),0 2px 6px rgba(15,23,42,.05);
  --rs-shadow:0 14px 34px -18px rgba(15,23,42,.28);
}
.accent-background{ --background-color:#0b8a78; --surface-color:#15a08c; }
.light-background{ --background-color:#f4f8f8; }

html{ -webkit-text-size-adjust:100%; }
body.rs-public{ overflow-x:hidden; }
.rs-public img{ max-width:100%; }
.rs-public .section{ scroll-margin-top:110px; }
.rs-public h1,.rs-public h2,.rs-public h3,.rs-public h4{ color:var(--rs-ink); }
.rs-public .accent-background h1,.rs-public .accent-background h2,.rs-public .accent-background h3,.rs-public .accent-background h4{ color:var(--heading-color); }

.rs-skip{ position:absolute; left:-9999px; top:8px; z-index:10000; background:#fff; padding:10px 16px; border-radius:10px; box-shadow:var(--rs-shadow); }
.rs-skip:focus{ left:8px; }
:focus-visible{ outline:3px solid rgba(11,138,120,.45); outline-offset:2px; }

/* ---------- Tombol umum ---------- */
.rs-btn-primary,.rs-btn-outline,.rs-btn-soft{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:12px 22px; border-radius:12px; font-weight:600; font-size:15px; line-height:1.2;
  text-decoration:none !important; border:1.5px solid transparent; cursor:pointer;
  transition:transform .15s ease, background .2s ease, color .2s ease, box-shadow .2s ease; margin:4px;
}
.rs-btn-primary{ background:var(--rs-primary); color:#fff !important; box-shadow:0 10px 20px -12px rgba(11,138,120,.9); }
.rs-btn-primary:hover{ background:var(--rs-primary-600); transform:translateY(-1px); }
.rs-btn-outline{ background:#fff; color:var(--rs-primary) !important; border-color:var(--rs-primary); }
.rs-btn-outline:hover{ background:var(--rs-primary); color:#fff !important; }
.rs-btn-soft{ background:var(--rs-primary-50); color:var(--rs-primary-700) !important; }
.rs-btn-soft:hover{ background:var(--rs-primary-100); }
.rs-public .btn-primary{ background:var(--rs-primary); border-color:var(--rs-primary); }
.rs-public .btn-primary:hover{ background:var(--rs-primary-600); border-color:var(--rs-primary-600); }
.rs-public .btn-warning{ background:var(--rs-primary); border-color:var(--rs-primary); color:#fff; }
.rs-public .btn-warning:hover{ background:var(--rs-primary-600); border-color:var(--rs-primary-600); color:#fff; }

/* ---------- Header ---------- */
.rs-public .header .topbar{ font-size:13.5px; }
.rs-public .header .topbar a{ color:#fff; }
.rs-public .header .topbar .rs-topbar-igd{ font-weight:600; }
.rs-public .header .branding{ min-height:68px; }
.rs-public .header .logo img{ max-height:44px; width:auto; margin-right:0; }
.rs-public .header .cta-btn,.rs-public .header .cta-btn:focus{
  border-radius:12px; padding:10px 18px; font-weight:600; display:inline-flex; align-items:center; gap:6px;
  box-shadow:0 8px 18px -10px rgba(11,138,120,.9); margin-left:16px;
}
.rs-public .header .cta-btn:hover{ background:var(--rs-primary-600); }
.scrolled .header .topbar{ height:0; visibility:hidden; overflow:hidden; }

.rs-public .header .logo{ flex-shrink:0; }
.rs-public .header .cta-btn{ white-space:nowrap; flex-shrink:0; }
@media (min-width:1200px){
  .rs-public .navmenu>ul>li{ padding:0; }
  .rs-public .navmenu>ul>li>a,.rs-public .navmenu>ul>li>a:focus{ font-size:14.5px; padding:18px 13px; text-transform:none; font-weight:600; }
  .rs-public .navmenu li.nav-login{ margin-left:6px; }
  .rs-public .navmenu li.nav-login>a{
    padding:8px 14px !important; border:1.5px solid var(--rs-primary-100); border-radius:12px; color:var(--rs-primary-700);
    background:var(--rs-primary-50);
  }
  .rs-public .navmenu li.nav-login>a i{ font-size:16px; margin:0 4px 0 0; }
  .rs-public .navmenu li.nav-login>a:hover{ background:var(--rs-primary); color:#fff; border-color:var(--rs-primary); }
  .rs-public .navmenu .dropdown ul{ border-radius:14px; padding:8px 0; box-shadow:0 18px 40px -18px rgba(15,23,42,.35); border:1px solid var(--rs-line); }
  .rs-public .navmenu .dropdown ul a{ padding:9px 18px; font-size:14px; }
}
@media (min-width:1200px) and (max-width:1399px){
  .rs-public .navmenu>ul>li>a,.rs-public .navmenu>ul>li>a:focus{ font-size:13.5px; padding:18px 9px; }
  .rs-public .header .logo img{ max-height:38px; }
  .rs-public .header .cta-btn{ margin-left:12px; padding:9px 14px; font-size:13px; }
  .rs-public .navmenu li.nav-login>a{ padding:7px 10px !important; }
  .rs-public .navmenu li.nav-login>a span{ display:none; }
  .rs-public .navmenu li.nav-login>a i{ margin:0 !important; font-size:18px !important; }
}
@media (max-width:1199px){
  .rs-public .header .cta-btn{ padding:9px 12px; margin-left:10px; font-size:13px; }
  .rs-public .mobile-nav-toggle{ width:42px; height:42px; border-radius:12px; border:1px solid var(--rs-line); display:inline-grid; place-items:center; margin-right:0; margin-left:6px; font-size:26px; }
  .rs-public .navmenu ul{ inset:74px 12px 88px 12px; border-radius:18px; padding:10px 0; }
  .rs-public .navmenu a,.rs-public .navmenu a:focus{ font-size:16px; padding:12px 20px; white-space:normal; }
  .rs-public .navmenu .dropdown ul{ margin:4px 14px 8px; border-radius:12px; }
  .rs-public .navmenu li.nav-login>a{ margin:8px 14px 4px; justify-content:center; gap:8px; background:var(--rs-primary); color:#fff !important; border-radius:12px; }
  .rs-public .navmenu li.nav-login>a i{ background:transparent !important; color:#fff; width:auto; height:auto; margin:0; font-size:18px; }
  .mobile-nav-active .mobile-nav-toggle{ border-color:rgba(255,255,255,.4); }
}
@media (max-width:575px){
  .rs-public .header .logo img{ max-height:36px; }
  .rs-public .header .cta-btn span{ display:none; }
  .rs-public .header .cta-btn{ padding:10px 12px; font-size:16px; }
  .rs-public .header .branding{ min-height:60px; }
}

/* ---------- Bar aksi bawah (HP) ---------- */
.rs-mobile-bar{
  position:fixed; left:10px; right:10px; bottom:10px; z-index:996;
  display:grid; grid-template-columns:repeat(5,1fr); gap:2px; padding:6px;
  background:rgba(255,255,255,.96); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
  border:1px solid var(--rs-line); border-radius:18px; box-shadow:0 14px 34px -14px rgba(15,23,42,.35);
}
.rs-mobile-bar a{ display:flex; flex-direction:column; align-items:center; gap:2px; padding:6px 2px; border-radius:12px; color:var(--rs-muted); font-size:11px; font-weight:600; text-decoration:none; }
.rs-mobile-bar a i{ font-size:19px; line-height:1; }
.rs-mobile-bar a.active{ color:var(--rs-primary); }
.rs-mobile-bar a.rs-mobile-cta{ background:var(--rs-primary); color:#fff; }
.mobile-nav-active .rs-mobile-bar{ display:none; }
@media (max-width:1199px){
  body.rs-public{ padding-bottom:84px; }
  .rs-public .scroll-top{ bottom:92px; }
}

/* ---------- Hero ---------- */
.rs-hero .carousel{ min-height:78vh; }
.rs-hero .carousel-item::before{ content:""; position:absolute; inset:0; z-index:2;
  background:linear-gradient(180deg, rgba(15,23,42,0) 35%, rgba(15,23,42,.45) 100%); }
.rs-hero .container{
  border-top:0; border-radius:22px; padding:30px 34px; max-width:980px;
  background:rgba(255,255,255,.93); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
  box-shadow:0 24px 50px -24px rgba(15,23,42,.6);
}
.rs-hero-kicker{ display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:700; color:var(--rs-primary-700); background:var(--rs-primary-50); padding:6px 12px; border-radius:999px; margin-bottom:12px; }
.rs-hero h2{ font-size:clamp(24px,3.4vw,38px); line-height:1.2; font-weight:800; margin-bottom:12px; text-transform:none; }
.rs-hero p{ color:#475569; font-size:15.5px; line-height:1.7; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; margin-bottom:6px; }
.rs-hero-actions{ display:flex; flex-wrap:wrap; justify-content:center; gap:4px; margin-top:8px; }
.rs-hero .btn-get-started{ display:inline-flex; align-items:center; gap:8px; border-radius:12px; padding:11px 22px; font-weight:600; letter-spacing:0; font-size:15px; margin:4px; }
.rs-hero .btn-get-started.rs-btn-ghost{ background:#fff; color:var(--rs-primary); border:1.5px solid var(--rs-primary); }
.rs-hero .btn-get-started.rs-btn-ghost:hover{ background:var(--rs-primary-50); }
.rs-hero .carousel-indicators{ z-index:4; margin-bottom:14px; }
@media (max-width:1200px){ .rs-hero .container{ margin-left:24px; margin-right:24px; } }
@media (max-width:767px){
  .rs-hero .carousel{ min-height:560px; }
  .rs-hero .container{ margin:0 12px 46px; padding:20px 18px; border-radius:18px; }
  .rs-hero p{ -webkit-line-clamp:4; font-size:14.5px; }
  .rs-hero .carousel-control-prev,.rs-hero .carousel-control-next{ display:none; }
  .rs-hero .btn-get-started{ flex:1 1 100%; justify-content:center; margin:3px 0; }
}
@media (max-width:767px) and (max-height:700px){ .rs-hero .carousel{ min-height:520px; } .rs-hero p{ -webkit-line-clamp:3; } }

/* ---------- Layanan cepat ---------- */
.rs-quick{ padding:0 0 10px !important; position:relative; z-index:5; background:transparent !important; overflow:visible !important; }
.rs-quick .container{ margin-top:-36px; }
.rs-quick-grid{ display:grid; grid-template-columns:repeat(6,1fr); gap:12px; }
.rs-quick-card{ display:flex; flex-direction:column; gap:3px; padding:18px 16px; background:#fff; border:1px solid var(--rs-line); border-radius:var(--rs-radius); box-shadow:var(--rs-shadow); text-decoration:none !important; transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.rs-quick-card:hover{ transform:translateY(-4px); border-color:var(--rs-primary-100); }
.rs-quick-icon{ width:44px; height:44px; border-radius:12px; display:grid; place-items:center; background:var(--rs-primary-50); color:var(--rs-primary); font-size:20px; margin-bottom:8px; transition:.2s; }
.rs-quick-card:hover .rs-quick-icon{ background:var(--rs-primary); color:#fff; }
.rs-quick-icon.rs-quick-wa{ background:#e7f8ee; color:#16a34a; }
.rs-quick-card strong{ color:var(--rs-ink); font-size:15px; line-height:1.3; }
.rs-quick-card small{ color:var(--rs-muted); font-size:12.5px; }
@media (max-width:1199px){ .rs-quick-grid{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:575px){
  .rs-quick .container{ margin-top:-30px; }
  .rs-quick-grid{ grid-template-columns:repeat(2,1fr); gap:10px; }
  .rs-quick-card{ padding:14px; }
  .rs-quick-icon{ width:38px; height:38px; font-size:18px; margin-bottom:6px; }
  .rs-quick-card strong{ font-size:14px; }
}

/* ---------- Judul section ---------- */
.rs-public .section-title{ padding-bottom:40px; }
.rs-public .section-title h2{ font-weight:800; font-size:clamp(24px,3.2vw,32px); }
.rs-public .section-title p{ max-width:760px; margin:0 auto; color:var(--rs-muted); }
@media (max-width:767px){
  .rs-public .section{ padding:44px 0; }
  .rs-public .section-title{ padding-bottom:26px; }
  .rs-public .section-title h2{ margin-bottom:12px; padding-bottom:14px; }
}

/* ---------- Tentang ---------- */
.rs-video-thumb{ position:relative; border-radius:22px; overflow:hidden; box-shadow:var(--rs-shadow); }
.rs-video-thumb img{ width:100%; aspect-ratio:16/9; object-fit:cover; display:block; }
.rs-public .about .content h3{ font-size:22px; font-weight:800; margin-top:14px; }
.rs-public .about .content ul li{ align-items:flex-start; padding-bottom:10px; }
.rs-quote{ border-left:4px solid var(--rs-primary); background:var(--rs-primary-50); padding:14px 18px; border-radius:0 14px 14px 0; color:var(--rs-primary-700) !important; font-weight:500; }
.rs-motto{ font-weight:600; color:var(--rs-ink); }
.rs-motto i{ color:var(--rs-primary); margin-right:6px; }
.rs-public .about .btn-get-started{ display:inline-flex; align-items:center; gap:8px; background:var(--rs-primary); color:#fff; padding:11px 22px; border-radius:12px; font-weight:600; margin-top:6px; }
.rs-public .about .btn-get-started:hover{ background:var(--rs-primary-600); color:#fff; }

/* ---------- Statistik ---------- */
.rs-public .stats .stats-item{ border-radius:var(--rs-radius); box-shadow:var(--rs-shadow-sm); border:1px solid var(--rs-line); padding:24px; }
.rs-public .stats .stats-item i{ width:54px; height:54px; border-radius:16px; background:var(--rs-primary-50); display:grid; place-items:center; font-size:24px; line-height:1; margin-right:16px; }
.rs-public .stats .stats-item span{ font-size:32px; font-weight:800; color:var(--rs-ink); line-height:1.1; }
.rs-public .stats .stats-item p{ color:var(--rs-muted); font-weight:600; }
@media (max-width:767px){
  .rs-public .stats .stats-item{ padding:16px; flex-direction:column; align-items:flex-start !important; gap:10px; }
  .rs-public .stats .stats-item i{ width:44px; height:44px; font-size:20px; margin:0; }
  .rs-public .stats .stats-item span{ font-size:26px; }
  .rs-public .stats .stats-item p{ font-size:13.5px; }
}

/* ---------- Pelayanan ---------- */
.rs-public .services .service-item{ background:#fff; border:1px solid var(--rs-line); border-radius:var(--rs-radius); box-shadow:var(--rs-shadow-sm); padding:26px 18px; }
.rs-public .services .service-item:hover{ transform:translateY(-4px); box-shadow:var(--rs-shadow); }
.rs-public .services .service-item .icon{ border-radius:20px; width:72px; height:72px; background:var(--rs-primary-50); box-shadow:none; font-size:28px; }
.rs-public .services .service-item:hover .icon{ background:var(--rs-primary); color:#fff; }
.rs-public .services .service-item h3{ font-size:18px; margin-bottom:0; }
@media (max-width:767px){
  .rs-public .services .service-item{ padding:18px 10px; }
  .rs-public .services .service-item .icon{ width:56px; height:56px; font-size:22px; margin-bottom:12px; border-radius:16px; }
  .rs-public .services .service-item h3{ font-size:14.5px; padding-bottom:12px; }
}

/* ---------- Booking ---------- */
.rs-appointment{ padding-top:70px; }
.rs-appoint-aside{ position:sticky; top:120px; }
.rs-appoint-img{ border-radius:22px; background:#fff; box-shadow:var(--rs-shadow); width:100%; }
.rs-steps{ list-style:none; padding:0; margin:22px 0 0; display:grid; gap:12px; }
.rs-steps li{ display:flex; gap:12px; align-items:flex-start; background:#fff; border:1px solid var(--rs-line); border-radius:14px; padding:12px 14px; }
.rs-steps li>span{ flex:0 0 32px; height:32px; border-radius:50%; background:var(--rs-primary); color:#fff; display:grid; place-items:center; font-weight:700; }
.rs-steps strong{ display:block; color:var(--rs-ink); font-size:14.5px; }
.rs-steps small{ color:var(--rs-muted); }
.rs-form-card{ background:#fff; border:1px solid var(--rs-line); border-radius:24px; padding:28px; box-shadow:var(--rs-shadow); }
.rs-form-head h2{ font-size:26px; font-weight:800; margin-bottom:8px; }
.rs-form-head p{ color:var(--rs-muted); font-size:14px; line-height:1.7; margin-bottom:20px; }
.rs-form-head a{ font-weight:700; }
.rs-public .form-label{ font-weight:600; font-size:13.5px; color:var(--rs-ink); margin-bottom:6px; }
.rs-public .form-label small{ color:var(--rs-muted); font-weight:500; }
.rs-form-card .form-control,.rs-form-card .form-select{
  height:48px; border-radius:12px; border:1.5px solid var(--rs-line); font-size:15px; background-color:#fff; box-shadow:none;
}
.rs-form-card .form-control:focus,.rs-form-card .form-select:focus{ border-color:var(--rs-primary); box-shadow:0 0 0 4px rgba(11,138,120,.14); }
.rs-date-group{ display:grid; grid-template-columns:1fr 1fr 1.25fr; gap:8px; }
.rs-date-group .form-select{ padding-right:28px; background-position:right 8px center; }
.rs-captcha{ display:flex; gap:10px; align-items:stretch; }
.rs-captcha img{ height:48px; width:46%; max-width:220px; object-fit:cover; border-radius:12px; border:1.5px dashed var(--rs-line); background:#f8fafc; }
.rs-captcha .form-control{ flex:1; }
.rs-msg{ display:block; color:var(--rs-rose); font-size:12px; min-height:2px; margin-top:4px; }
.rs-form-card #cf-submit{ height:52px; font-size:16px; margin:0; border:0; }
.rs-form-foot{ display:flex; flex-wrap:wrap; align-items:center; gap:6px 8px; margin-top:18px; padding-top:18px; border-top:1px dashed var(--rs-line); color:var(--rs-muted); font-size:14px; }
.rs-form-foot .rs-btn-soft,.rs-form-foot .rs-btn-outline{ padding:9px 14px; font-size:14px; margin:0; }
@media (max-width:575px){
  .rs-appointment{ padding-top:44px; }
  .rs-form-card{ padding:20px 16px; border-radius:20px; }
  .rs-form-head h2{ font-size:22px; }
  .rs-captcha img{ width:48%; }
  .rs-form-foot span{ width:100%; order:2; }
  .rs-form-foot .rs-btn-soft{ order:1; }
  .rs-form-foot .rs-btn-outline{ order:3; }
}

/* ---------- Dokter ---------- */
.rs-public .doctors .team-member,.rs-doctor-card{ border-radius:var(--rs-radius); border:1px solid var(--rs-line); box-shadow:var(--rs-shadow-sm); background:#fff; overflow:hidden; transition:transform .2s ease, box-shadow .2s ease; }
.rs-public .doctors .team-member:hover,.rs-doctor-card:hover{ transform:translateY(-4px); box-shadow:var(--rs-shadow); }
.rs-public .team-member .member-img{ aspect-ratio:4/4.4; background:linear-gradient(160deg,var(--rs-primary-50),#fff); overflow:hidden; }
.rs-public .team-member .member-img img{ width:100%; height:100%; object-fit:cover; object-position:top center; }
.rs-public .team-member .member-info{ padding:16px 14px 18px; text-align:center; }
.rs-public .team-member .member-info h4{ font-size:16px; font-weight:700; line-height:1.35; margin-bottom:4px; color:var(--rs-ink); }
.rs-public .team-member .member-info span{ color:var(--rs-primary-700) !important; font-weight:600; font-size:13px; }
.rs-doctor-meta{ list-style:none; padding:0; margin:10px 0 0; font-size:12.5px; color:var(--rs-muted); }
.rs-doctor-meta i{ color:var(--rs-primary); margin-right:4px; }
.rs-filter{ position:relative; max-width:480px; margin:0 auto 26px; }
.rs-filter i{ position:absolute; left:16px; top:50%; transform:translateY(-50%); color:var(--rs-muted); }
.rs-filter .form-control{ height:50px; border-radius:14px; padding-left:44px; border:1.5px solid var(--rs-line); }
.rs-filter .form-control:focus{ border-color:var(--rs-primary); box-shadow:0 0 0 4px rgba(11,138,120,.14); }
.rs-doctors-page{ background:var(--rs-soft) !important; }
@media (max-width:575px){
  .rs-public .team-member .member-info{ padding:12px 10px 14px; }
  .rs-public .team-member .member-info h4{ font-size:14px; }
  .rs-public .team-member .member-info span{ font-size:12px; }
}

/* ---------- Galeri ---------- */
.rs-public .gallery .swiper-slide img{ border-radius:16px; aspect-ratio:4/3; object-fit:cover; width:100%; }
.rs-public .gallery .swiper-slide-active img{ border-color:var(--rs-primary); }
.rs-public .swiper-pagination-bullet-active{ background:var(--rs-primary) !important; }

/* ---------- Berita (beranda) ---------- */
.rs-public .news-card{ border:1px solid var(--rs-line); border-radius:20px; box-shadow:var(--rs-shadow-sm); display:flex; flex-direction:column; background:#fff; height:100%; overflow:hidden; transition:transform .25s ease, box-shadow .25s ease; }
.rs-public .news-card:hover{ transform:translateY(-5px); box-shadow:var(--rs-shadow); }
.rs-public .news-image{ display:block; position:relative; overflow:hidden; background:var(--rs-primary-50); aspect-ratio:16/10; }
.rs-public .news-image img{ width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.rs-public .news-card:hover .news-image img{ transform:scale(1.05); }
.rs-public .news-category{ position:absolute; top:14px; left:14px; background:rgba(255,255,255,.95); color:var(--rs-primary-700); padding:5px 12px; border-radius:999px; font-size:12px; font-weight:700; }
.rs-public .news-content{ padding:20px 22px 22px; display:flex; flex-direction:column; flex:1; }
.rs-public .news-date{ font-size:13px; color:var(--rs-muted); margin-bottom:8px; }
.rs-public .news-content h3{ font-size:18px; font-weight:700; line-height:1.45; margin-bottom:10px; }
.rs-public .news-content h3 a{ color:var(--rs-ink); text-decoration:none; }
.rs-public .news-content h3 a:hover{ color:var(--rs-primary); }
.rs-public .news-content p{ color:#475569; font-size:14.5px; line-height:1.7; flex:1; }
.rs-public .read-more{ color:var(--rs-primary); font-weight:700; text-decoration:none; }
.rs-public .read-more i{ transition:transform .2s ease; display:inline-block; }
.rs-public .read-more:hover i{ transform:translateX(4px); }

/* ---------- Kontak ---------- */
.rs-public .contact .info-item{ border-radius:var(--rs-radius); border:1px solid var(--rs-line); box-shadow:var(--rs-shadow-sm); padding:22px; text-align:center; height:100%; }
.rs-public .contact .info-item i{ background:var(--rs-primary-50); color:var(--rs-primary); border:0; }
.rs-public .contact .info-item p{ margin-bottom:2px; }
.rs-public .map-container{ border-radius:20px; overflow:hidden; box-shadow:var(--rs-shadow); background:var(--rs-soft); }
.rs-public .map-container iframe{ display:block; }
@media (max-width:767px){ .rs-public .map-container iframe{ height:280px; } }

/* ---------- Footer ---------- */
.rs-footer{ background:#0b1220 !important; color:#94a3b8 !important; --heading-color:#fff; --default-color:#cbd5e1; }
.rs-footer .footer-top{ padding-top:56px; }
.rs-footer .logo .sitename{ color:#fff !important; font-size:22px; font-weight:800; letter-spacing:.02em; }
.rs-footer h4{ color:#fff !important; font-size:16px; font-weight:700; }
.rs-footer p,.rs-footer .footer-contact p{ color:#cbd5e1; }
.rs-footer a{ color:#cbd5e1; }
.rs-footer a:hover{ color:#5eead4; }
.rs-footer .social-links a{ border-color:rgba(255,255,255,.2); color:#cbd5e1; border-radius:12px; }
.rs-footer .social-links a:hover{ background:var(--rs-primary); border-color:var(--rs-primary); color:#fff; }
.rs-footer .footer-links ul li{ padding:6px 0; }
.rs-footer .footer-links ul i{ color:#5eead4; }
.rs-footer .copyright{ border-top:1px solid rgba(255,255,255,.08); padding:22px 0; color:#94a3b8; }
.rs-footer .copyright p,.rs-footer .credits{ color:#94a3b8; }
.rs-partners .swiper-slide{ background:#fff; border-radius:14px; padding:10px; height:84px; display:flex; align-items:center; justify-content:center; }
.rs-partners .swiper-slide img{ max-height:62px; width:auto; object-fit:contain; }
.rs-partners .swiper{ padding-bottom:30px; }
.rs-partners .swiper-pagination-bullet{ background:#475569; }

/* ---------- Kotak kosong, breadcrumb ---------- */
.rs-empty{ background:#fff; border:1px dashed var(--rs-line); border-radius:20px; padding:40px 22px; text-align:center; color:var(--rs-muted); }
.rs-empty i{ font-size:40px; color:var(--rs-primary); display:block; margin-bottom:10px; }
.rs-empty h4{ font-weight:700; }
.rs-breadcrumb{ display:flex; flex-wrap:wrap; align-items:center; gap:6px; font-size:13.5px; color:var(--rs-muted); margin-bottom:18px; }
.rs-breadcrumb a{ color:var(--rs-muted); text-decoration:none; }
.rs-breadcrumb a:hover{ color:var(--rs-primary); }
.rs-breadcrumb i{ font-size:11px; }
.rs-breadcrumb span{ color:var(--rs-ink); font-weight:600; }
.rs-hint{ font-size:13px; color:var(--rs-muted); margin-top:8px; }
.rs-org-chart img{ border-radius:16px; border:1px solid var(--rs-line); background:#fff; }
.rs-doc-item{ display:flex; flex-direction:column; align-items:center; text-align:center; border-radius:var(--rs-radius); }
.rs-doc-item img{ border-radius:10px; }

/* =====================================================================
   HALAMAN LAMA (template sebelumnya) yang tampil di layout publik:
   Cek Booking, Tarif, Poli, Asuransi, Stok Darah, Login, Daftar, dst.
   ===================================================================== */
.rs-inner .main>section:not(.detail-berita):not(.semua-berita):not(.section),
.rs-inner .main>#news,.rs-inner .main>#team,.rs-inner .main>#appointment{
  padding:48px 0 64px; background:var(--rs-soft);
}
.rs-inner .main .section-title h2 center{ display:inline; }
.rs-public .news-thumb,.rs-public .about-info{
  background:#fff; border:1px solid var(--rs-line); border-radius:var(--rs-radius); box-shadow:var(--rs-shadow-sm);
  padding:24px; margin-bottom:22px;
}
.rs-public .about-info h2,.rs-public .about-info h3{ margin-top:0; font-weight:800; }
.rs-public tr.head td{ padding:4px; vertical-align:middle; }
.rs-public tr.head label{ margin:0; font-weight:600; }
.rs-public tr.head .form-control{ height:46px; border-radius:12px; border:1.5px solid var(--rs-line); }
.rs-public tr.head input[type=submit]{ height:46px; padding:0 22px; border-radius:12px; font-weight:600; }
@media (max-width:767px){
  .rs-public tr.head td{ display:block; width:100% !important; text-align:left !important; }
  .rs-public tr.head td:nth-child(2){ display:none; }
  .rs-public tr.head input[type=submit]{ width:100%; }
  .rs-public .news-thumb,.rs-public .about-info{ padding:16px; }
}

/* Tabel */
.rs-table-wrap,.rs-public .table-responsive{ overflow-x:auto; -webkit-overflow-scrolling:touch; border:1px solid var(--rs-line); border-radius:14px; background:#fff; margin-bottom:12px; }
.rs-public .main table.table{ margin-bottom:0; font-size:14px; }
.rs-public .main .table>:not(caption)>*>*{ padding:12px 14px; border-color:#eef2f4; vertical-align:middle; }
.rs-public .main table.table th,.rs-public .main table.table thead td{ background:#f8fafc; color:var(--rs-muted); font-size:12px; text-transform:uppercase; letter-spacing:.04em; font-weight:700; white-space:nowrap; }
.rs-public .main table.table-hover>tbody>tr:hover>*{ background:var(--rs-primary-50); --bs-table-accent-bg:transparent; }
@media (max-width:767px){ .rs-public .main table.table{ font-size:13px; } .rs-public .main table.table td{ min-width:90px; } }

/* Form lama */
.rs-inner .main .form-control{ border-radius:12px; border:1.5px solid var(--rs-line); min-height:46px; }
.rs-inner .main .form-control:focus{ border-color:var(--rs-primary); box-shadow:0 0 0 4px rgba(11,138,120,.14); }
.rs-inner .main .btn{ border-radius:12px; font-weight:600; }
.rs-inner .main .alert{ border-radius:14px; }

/* Login & Daftar E-Pasien */
.rs-public #appointment .img-responsive{ max-width:100%; height:auto; border-radius:22px; }
.rs-public .tab-menu{ border-radius:14px !important; background:#f1f5f9; padding:5px; box-shadow:none !important; gap:4px; }
.rs-public .tab-menu button{ border-radius:10px !important; background:transparent !important; color:var(--rs-muted) !important; }
.rs-public .tab-menu button.active{ background:#fff !important; color:var(--rs-primary-700) !important; box-shadow:var(--rs-shadow-sm); }
.rs-public .info-box{ border-left-color:var(--rs-primary) !important; background:var(--rs-primary-50) !important; color:var(--rs-primary-700); }
.rs-public #cf-submit{ background:var(--rs-primary) !important; border-radius:12px !important; min-height:48px; color:#fff !important; }
.rs-public #cf-submit:hover{ background:var(--rs-primary-600) !important; }
.rs-public .tab-content .form-control{ min-height:46px; border-radius:12px; margin-bottom:6px; }
.rs-public .register-section .side-image,.rs-public .register-section img{ max-width:100%; height:auto; }
@media (max-width:767px){
  .rs-inner #appointment .row>[class*="col-"]:first-child:has(> img),
  .rs-public .register-section .row>[class*="col-"]:first-child:has(img){ display:none; }
}

/* Halaman gaya E-Pasien (Jadwal Dokter, Ketersediaan Kamar) di layout publik */
.rs-public .main .block-header{ margin:0 0 16px; }
.rs-public .main .block-header h2{ font-size:22px; font-weight:800; margin:0; }
.rs-public .main>.row.clearfix,.rs-public .main>.ep-page-head{ max-width:1140px; margin-left:auto; margin-right:auto; }
.rs-public .main>.row.clearfix{ padding:0 12px 48px; }
.rs-public .main>.ep-page-head{ margin-top:32px; }
.rs-public .main .card{ background:#fff; border:1px solid var(--rs-line); border-radius:var(--rs-radius); box-shadow:var(--rs-shadow-sm); }
.rs-public .main .card .header{ padding:16px 20px; border-bottom:1px solid var(--rs-line); }
.rs-public .main .card .body{ padding:20px; overflow-x:auto; }
.rs-public .main .card .body>table+table{ margin-top:22px; }
.rs-public .ep-page-head{ display:flex; align-items:center; gap:16px; margin:0 12px 20px; padding:18px 20px; background:#fff; border:1px solid var(--rs-line); border-radius:var(--rs-radius); box-shadow:var(--rs-shadow-sm); }
.rs-public .ep-page-icon{ flex:0 0 52px; width:52px; height:52px; border-radius:16px; display:grid; place-items:center; background:linear-gradient(135deg,#14b8a6,var(--rs-primary)); color:#fff; }
.rs-public .ep-page-icon .bi{ font-size:24px; line-height:1; }
.rs-public .ep-page-title h1{ margin:0; font-size:20px; font-weight:800; }
.rs-public .ep-page-title p{ margin:4px 0 0; color:var(--rs-muted); font-size:13.5px; }
.rs-public .ep-state{ text-align:center; padding:30px 18px !important; }
.rs-public .ep-state-icon{ display:none; }
.rs-public .ep-actions{ display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-top:14px; }
.rs-public .ep-actions .material-icons,.rs-public .main .btn .material-icons{ display:none; }
@media (max-width:767px){ .rs-public .main>.ep-page-head{ margin:20px 12px 16px; } }

/* ---------- Gerak dikurangi bila diminta sistem ---------- */
@media (prefers-reduced-motion: reduce){
  *{ animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}

/* =====================================================================
   Menu pengunjung (ditambahkan 2026-09-28) - halaman baru memakai
   komponen bawaan Medicio (page-title, about, stats, services, faq,
   contact, call-to-action), tanpa gaya khusus.
   ===================================================================== */
@media (min-width:1200px){
  .rs-public .navmenu li.active-parent>a{ color:var(--rs-primary); }
  .rs-public .navmenu .dropdown ul{ max-height:calc(100vh - 110px); overflow-y:auto; }
  .rs-public .navmenu .dropdown .dropdown ul{ overflow:visible; max-height:none; }
}
@media (max-width:1199px){ .rs-public .navmenu li.active-parent>a{ color:var(--rs-primary); font-weight:700; } }
