/* ===== Klinik Azhansya — Design System ===== */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Inter',ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:#16233a;background:#f7fafd;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
h1,h2,h3{font-family:'Plus Jakarta Sans','Inter',sans-serif}
button{font-family:inherit}
:root{
  --primary:#1268c9;--primary-dark:#0b3b78;--primary-light:#eaf4ff;
  --orange:#f2994a;--orange-dark:#c86b13;--orange-light:#fff1e2;
  --green:#2fae66;--green-dark:#1f7a48;--green-light:#e7f8ee;
  --ink:#16233a;--ink-soft:#27405f;--muted:#64748b;--muted-soft:#8291a3;
  --line:#e5edf5;--soft:#f3f8fd;--surface:#fff;
  --radius-lg:22px;--radius-md:16px;--radius-sm:10px;
  --shadow-sm:0 6px 18px rgba(20,50,85,.06);--shadow-md:0 14px 34px rgba(20,50,85,.10);--shadow-lg:0 24px 60px rgba(12,40,75,.16);
}
:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}
.icon{flex:0 0 auto}

/* ===== Nav ===== */
.nav{min-height:82px;background:rgba(255,255,255,.92);display:flex;align-items:center;gap:24px;padding:10px clamp(16px,4vw,58px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:100;backdrop-filter:blur(16px)}
.brand{display:flex;align-items:center;gap:11px;min-width:255px}
.brand-logo{width:52px;height:52px;object-fit:contain;flex:0 0 auto}
.brand b{font-family:'Plus Jakarta Sans',sans-serif;font-size:19px;color:var(--primary-dark);display:block;line-height:1.1;font-weight:700}
.brand span{display:block;color:var(--orange-dark);font-weight:700;font-size:12.5px;margin-top:2px}
.nav-links{display:flex;align-items:center;gap:22px;flex:1;justify-content:center;color:#465a73;font-size:14.5px;font-weight:500}
.nav-links a{padding:9px 0;border-bottom:2px solid transparent;transition:color .18s,border-color .18s}
.nav-links a:hover{color:var(--primary);border-bottom-color:var(--primary)}
.btn{background:var(--primary);color:#fff;padding:12px 20px;border-radius:12px;font-weight:700;font-size:14.5px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;cursor:pointer;box-shadow:0 12px 26px rgba(18,104,201,.20);transition:transform .18s,box-shadow .18s,filter .18s}
.btn:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(18,104,201,.26)}
.btn .icon{width:18px;height:18px}
.outline{background:#fff;color:var(--primary-dark);border-color:#cbd7e5;box-shadow:none}
.outline:hover{border-color:var(--primary);box-shadow:none}
.nav-cta{white-space:nowrap}
.mobile-menu-toggle{display:none;border:0;background:var(--primary-light);color:var(--primary-dark);width:44px;height:44px;border-radius:12px;align-items:center;justify-content:center;cursor:pointer}
.mobile-menu-toggle .icon-close{display:none}
.mobile-menu-toggle[aria-expanded="true"] .icon-menu{display:none}
.mobile-menu-toggle[aria-expanded="true"] .icon-close{display:inline-flex}

/* ===== Hero ===== */
.hero-modern{width:100%;background:var(--primary-dark)}
.hero-slider{height:min(80vh,720px);min-height:540px;position:relative;overflow:hidden}
.hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .9s ease}
.hero-slide.is-active{opacity:1;visibility:visible;z-index:1}
.hero-slide img,.hero-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 7s linear}
.hero-slide.is-active img{transform:scale(1.06)}
.hero-fallback{background:linear-gradient(125deg,#0c3f7d 0%,#1268c9 58%,#5ab2e8 100%)}
.hero-shade{position:absolute;inset:0;background:
    linear-gradient(90deg,rgba(3,20,45,.92) 0%,rgba(6,38,78,.72) 40%,rgba(6,38,78,.32) 66%,rgba(6,38,78,.08) 100%),
    linear-gradient(0deg,rgba(2,14,32,.55) 0%,transparent 38%),
    linear-gradient(180deg,rgba(2,14,32,.35) 0%,transparent 22%)}
.hero-slide-content{position:absolute;inset:0;z-index:2;color:#fff;height:100%;width:min(780px,84vw);display:flex;flex-direction:column;justify-content:center;padding:70px clamp(24px,7vw,100px)}
.hero-slide-content>*{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.hero-slide.is-active .hero-slide-content>*{opacity:1;transform:translateY(0)}
.hero-slide.is-active .hero-slide-content>*:nth-child(1){transition-delay:.15s}
.hero-slide.is-active .hero-slide-content>*:nth-child(2){transition-delay:.28s}
.hero-slide.is-active .hero-slide-content>*:nth-child(3){transition-delay:.4s}
.hero-slide.is-active .hero-slide-content>*:nth-child(4){transition-delay:.52s}
.eyebrow{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;padding:8px 16px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.32);font-size:13px;font-weight:700;letter-spacing:.2px;backdrop-filter:blur(10px);box-shadow:0 4px 18px rgba(0,0,0,.12)}
.hero-slide-content h1{font-size:clamp(34px,5vw,60px);line-height:1.1;letter-spacing:-1.2px;margin:18px 0 14px;color:#fff;max-width:740px;font-weight:800;text-shadow:0 4px 24px rgba(0,0,0,.4),0 1px 3px rgba(0,0,0,.5)}
.hero-slide-content p{margin:0;max-width:600px;font-size:clamp(15px,1.5vw,18px);line-height:1.7;color:rgba(255,255,255,.94);text-shadow:0 2px 12px rgba(0,0,0,.35)}
.hero-actions{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}
.hero-btn{padding:14px 22px;background:#fff;color:var(--primary-dark);box-shadow:0 14px 30px rgba(0,0,0,.25)}
.hero-btn.ghost{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.55);backdrop-filter:blur(10px);box-shadow:none}
.slider-dots{position:absolute;z-index:5;left:clamp(24px,7vw,100px);bottom:28px;display:flex;gap:7px}
.slider-dot{width:26px;height:4px;padding:0;border:0;border-radius:999px;background:rgba(255,255,255,.35);cursor:pointer;transition:width .2s,background .2s}
.slider-dot.is-active{background:#fff;width:42px}
.slider-arrow{position:absolute;z-index:5;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(4,33,67,.28);color:#fff;cursor:pointer;backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;transition:background .18s}
.slider-arrow:hover{background:rgba(4,33,67,.5)}
.slider-arrow.prev{left:22px}
.slider-arrow.next{right:22px}

/* ===== Trust bar ===== */
.trust-bar{max-width:1240px;margin:-30px auto 0;position:relative;z-index:8;display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden}
.trust-bar>div{display:flex;gap:13px;align-items:center;padding:20px 22px;border-right:1px solid var(--line)}
.trust-bar>div:last-child{border-right:0}
.trust-icon{width:46px;height:46px;border-radius:13px;display:flex;align-items:center;justify-content:center;background:var(--primary-light);color:var(--primary);flex:0 0 auto}
.trust-bar>div:nth-child(2) .trust-icon{background:var(--orange-light);color:var(--orange-dark)}
.trust-bar>div:nth-child(3) .trust-icon{background:var(--green-light);color:var(--green-dark)}
.trust-bar>div:nth-child(4) .trust-icon{background:var(--primary-light);color:var(--primary)}
.trust-bar b{display:block;font-size:13.5px;color:var(--ink-soft);font-weight:700}
.trust-bar small{display:block;color:var(--muted-soft);font-size:11.5px;margin-top:3px}

/* ===== Sections ===== */
.section-block{padding:68px 0 34px}
.section-title{text-align:center;padding:0 20px 30px}
.section-title.compact{padding-bottom:24px}
.section-title span{color:var(--primary);font-weight:700;font-size:12.5px;letter-spacing:.4px}
.section-title h2{font-size:clamp(28px,3vw,38px);margin:10px 0;color:var(--ink-soft);letter-spacing:-.6px;font-weight:700}
.section-title p{color:var(--muted);margin:0;font-size:15.5px}

/* ===== Service cards ===== */
.cards{max-width:1240px;margin:0 auto;padding:0 22px 34px;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:26px;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s;position:relative;display:flex;flex-direction:column;min-height:216px}
.service-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}
.service-card.has-image{padding:0 0 26px}
.service-card-media{position:relative;width:100%;height:150px;border-radius:var(--radius-lg) var(--radius-lg) 0 0;overflow:hidden;margin-bottom:18px}
.service-card-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.service-card.has-image:hover .service-card-media img{transform:scale(1.06)}
.service-card.has-image .service-card-body{padding-left:26px;padding-right:26px}
.service-card.has-image .card-arrow{margin-right:26px}
.service-card-media .icon-chip{position:absolute;left:16px;bottom:-20px;box-shadow:0 10px 22px rgba(18,104,201,.28);border:3px solid #fff}
.service-card .icon-chip{width:54px;height:54px;border-radius:15px;display:flex;align-items:center;justify-content:center;background:var(--primary-light);color:var(--primary)}
.service-card:nth-of-type(4n+2) .icon-chip{background:var(--orange-light);color:var(--orange-dark)}
.service-card:nth-of-type(4n+3) .icon-chip{background:var(--green-light);color:var(--green-dark)}
.service-card:nth-of-type(4n+4) .icon-chip{background:#f1ecfc;color:#7b52c9}
.service-card h3{font-size:18px;color:var(--ink-soft);margin:18px 0 8px;font-weight:700}
.service-card p{color:var(--muted);line-height:1.6;font-size:13.5px;margin:0 0 18px;flex:1}
.card-arrow{margin-top:auto;align-self:flex-end;width:34px;height:34px;border-radius:50%;background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center;transition:background .18s,color .18s}
.service-card:hover .card-arrow{background:var(--primary);color:#fff}

/* ===== Content band ===== */
.content-band{padding:26px 0 70px}
.content-grid{max-width:1240px;margin:0 auto;padding:0 22px;display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:18px}
.content-panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:24px}
.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}
.panel-heading h2{font-size:20px;margin:0;color:var(--ink-soft);font-weight:700;display:flex;align-items:center;gap:9px}
.panel-heading h2 .icon{color:var(--primary)}
.panel-heading a,.panel-heading span{color:var(--primary);font-size:12.5px;font-weight:700;display:inline-flex;align-items:center;gap:4px}
.news-item{display:flex;gap:13px;padding:13px 0;border-bottom:1px solid #edf2f7}
.news-item:last-child{border-bottom:0}
.news-thumb{width:60px;height:60px;border-radius:13px;background:linear-gradient(135deg,var(--primary-light),#b9d8f4);flex:0 0 auto;display:flex;align-items:center;justify-content:center;color:var(--primary);overflow:hidden}
.news-thumb img{width:100%;height:100%;object-fit:cover;display:block;border-radius:13px}
.news-item h3,.promo-item h3{font-size:14px;line-height:1.4;margin:0 0 4px;color:var(--ink-soft);font-weight:700}
.news-item p,.promo-item p{margin:0;color:var(--muted);font-size:12.5px;line-height:1.5}
.promo-item{display:flex;gap:13px;padding:13px 0;border-bottom:1px solid #edf2f7;align-items:center}
.promo-item:last-child{border-bottom:0}
.promo-thumb{width:52px;height:52px;border-radius:12px;overflow:hidden;flex:0 0 auto}
.promo-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.promo-badge{min-width:60px;height:34px;border-radius:10px;background:var(--orange-light);color:var(--orange-dark);font-weight:700;font-size:11px;display:flex;align-items:center;justify-content:center;flex:0 0 auto;padding:0 8px;text-align:center}
.schedule-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #edf2f7}
.schedule-row:last-child{border-bottom:0}
.schedule-row>div{display:flex;align-items:center;gap:10px}
.schedule-row .icon{color:var(--green-dark);background:var(--green-light);width:34px;height:34px;border-radius:10px;padding:6px;flex:0 0 auto}
.schedule-row b{display:block;font-size:13.5px;color:var(--ink-soft);font-weight:700}
.schedule-row span{display:block;color:var(--muted-soft);font-size:11.5px;margin-top:2px}
.schedule-row strong{font-size:12.5px;color:var(--ink-soft);white-space:nowrap;font-weight:700}
.schedule-group{padding:13px 0;border-bottom:1px solid #edf2f7}
.schedule-group:last-child{border-bottom:0;padding-bottom:0}
.schedule-group-head{display:flex;align-items:flex-start;gap:10px;margin-bottom:8px}
.schedule-group-head .icon{color:var(--green-dark);background:var(--green-light);width:34px;height:34px;border-radius:10px;padding:6px;flex:0 0 auto}
.schedule-group-name{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}
.schedule-group-name b{font-size:13.5px;color:var(--ink-soft);font-weight:700;line-height:1.3}
.schedule-group-name .role-pill{display:inline-block;color:var(--green-dark);background:var(--green-light);font-size:10px;font-weight:800;letter-spacing:.2px;border-radius:999px;padding:3px 9px;line-height:1.5}
.schedule-group-rows{display:flex;flex-direction:column;gap:5px;padding-left:44px}
.schedule-chip{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:11.5px;color:#66798d}
.schedule-chip strong{color:var(--ink-soft);font-weight:700;font-size:11.5px;white-space:nowrap}
.schedule-scroll{max-height:430px;overflow-y:auto;margin-right:-6px;padding-right:6px;scrollbar-width:thin;scrollbar-color:#c9d6e2 transparent}
.schedule-scroll::-webkit-scrollbar{width:5px}
.schedule-scroll::-webkit-scrollbar-thumb{background:#c9d6e2;border-radius:999px}
.schedule-scroll::-webkit-scrollbar-track{background:transparent}

/* ===== CTA strip ===== */
.cta-strip{max-width:1240px;margin:0 auto 64px;padding:32px 36px;border-radius:var(--radius-lg);background:linear-gradient(115deg,var(--primary-dark),var(--primary) 70%);border:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:22px;color:#fff;box-shadow:var(--shadow-lg)}
.cta-strip .eyebrow{color:#cfe6ff;font-weight:700;font-size:12.5px;letter-spacing:.4px}
.cta-strip h2{margin:9px 0 6px;font-size:28px;color:#fff;font-weight:700}
.cta-strip p{margin:0;color:rgba(255,255,255,.85)}
.cta-strip .btn{background:#fff;color:var(--primary-dark)}

/* ===== Gallery preview strip ===== */
.modern-gallery{padding-top:8px}
.gallery-strip{padding:10px 22px 70px;text-align:center}
.gallery-preview{max-width:1240px;margin:0 auto 24px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.gallery-preview div{height:200px;border-radius:var(--radius-lg);color:#fff;font-size:17px;font-weight:700;display:flex;align-items:end;padding:22px;text-align:left;position:relative;overflow:hidden;box-shadow:inset 0 -90px 90px rgba(0,0,0,.25)}
.gallery-preview div:nth-child(1){background:linear-gradient(135deg,#12559c,#1a9bdb)}
.gallery-preview div:nth-child(2){background:linear-gradient(135deg,#155a93,#1f9b7a)}
.gallery-preview div:nth-child(3){background:linear-gradient(135deg,#0f4f8f,#2a8f6f)}
.gallery-preview div.has-image{background:#0f4f8f}
.gallery-preview div.has-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.gallery-preview div.has-image span{position:relative;z-index:1}

/* ===== Footer ===== */
footer{background:#eef4fa;padding:50px 5% 20px;color:var(--muted);margin-top:8px}
.footer-grid{max-width:1240px;margin:auto;display:grid;grid-template-columns:1.6fr 1fr 1.25fr .95fr;gap:32px}
.footer-grid .brand{min-width:0}
.footer-grid p{line-height:1.65;font-size:14px}
.footer-grid a{display:flex;align-items:center;gap:8px;margin:8px 0;color:var(--muted);font-size:14px;transition:color .18s}
.footer-grid a:hover{color:var(--primary)}
.footer-grid h4{color:var(--ink-soft);margin-top:0;font-family:'Plus Jakarta Sans',sans-serif;font-weight:700}
.footer-grid p.contact-row{display:flex;align-items:flex-start;gap:8px;margin:8px 0;font-size:14px}
.footer-grid .icon{color:var(--primary);flex:0 0 auto;margin-top:1px}
.copyright{max-width:1240px;margin:32px auto 0;padding-top:18px;border-top:1px solid #d7e2ed;text-align:center;font-size:12.5px}

/* ===== WhatsApp float ===== */
.wa-float{position:fixed;right:22px;bottom:22px;z-index:90;background:#18b85b;color:white;border-radius:999px;padding:12px 18px 12px 12px;display:flex;align-items:center;gap:9px;font-weight:700;box-shadow:0 18px 38px rgba(24,135,67,.3);transition:transform .2s}
.wa-float:hover{transform:translateY(-3px)}
.wa-icon{width:36px;height:36px;background:#fff;color:#18b85b;border-radius:50%;display:flex;align-items:center;justify-content:center}
.wa-text{font-size:12.5px}

/* ===== Detail pages ===== */
.detail{max-width:1250px;margin:auto;padding:60px 5% 90px}
.pill{display:inline-flex;padding:8px 16px;border-radius:999px;background:var(--primary-light);color:var(--primary-dark);font-weight:700;font-size:12.5px;letter-spacing:.4px}
.detail h1{font-size:clamp(32px,4.5vw,54px);color:var(--ink-soft);margin:16px 0 10px;font-weight:700;letter-spacing:-1px}
.detail .lead{color:var(--muted);font-size:17px;line-height:1.7;max-width:760px}
.detail-grid{display:grid;grid-template-columns:2fr 1fr;gap:30px;margin-top:35px}
.detail-grid section,.detail-grid aside{background:#fff;border-radius:var(--radius-lg);padding:28px;border:1px solid var(--line)}
.detail-grid h2{display:flex;align-items:center;gap:10px;font-size:19px;color:var(--ink-soft);font-weight:700}
.detail-grid h2 .icon{color:var(--primary);background:var(--primary-light);border-radius:10px;padding:6px;width:32px;height:32px}
.price{display:flex;justify-content:space-between;padding:17px;border-bottom:1px solid var(--line)}
.price:last-child{border-bottom:0}
.price small{display:block;color:var(--muted-soft);margin-top:5px}
.price strong{color:var(--primary-dark);white-space:nowrap}
.schedule{display:flex;justify-content:space-between;padding:14px 17px;border-bottom:1px solid var(--line)}
.schedule:last-child{border-bottom:0}
.promo{padding:16px 0;border-bottom:1px solid var(--line)}
.promo:last-child{border-bottom:0}
.promo b{color:var(--orange-dark);font-size:12px}
.detail-grid aside .btn{width:100%;margin-top:14px}
.back{color:var(--primary);font-weight:700;display:inline-flex;align-items:center;gap:6px;margin-bottom:6px}

/* ===== Gallery grid ===== */
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.gallery-grid article{background:#fff;border-radius:var(--radius-md);overflow:hidden;padding-bottom:14px;border:1px solid var(--line);box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s}
.gallery-grid article:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.gallery-grid img{width:100%;height:210px;object-fit:cover}
.gallery-grid h3{padding:14px 16px 2px;font-size:15px;color:var(--ink-soft);font-weight:700}
.gallery-grid p{padding:0 16px;color:var(--muted);font-size:12.5px;display:flex;align-items:center;gap:6px}

/* ===== News list ===== */
.news-list-page .card{min-height:auto}
.news-list-page .icon-chip{width:48px;height:48px;border-radius:13px;background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center;margin-bottom:14px}

/* =================================================================
   ADMIN
   ================================================================= */
.admin-body{display:flex;background:#f4f7fb;min-height:100vh}
.sidebar{width:280px;background:linear-gradient(185deg,#0f2f57,#163b66 60%);color:#dfeafb;padding:26px 17px;position:fixed;min-height:100vh;overflow:auto;display:flex;flex-direction:column}
.sidebar .brand{min-width:0;margin-bottom:26px}
.sidebar .brand-logo{width:46px;height:46px;background:#fff;border-radius:12px;padding:4px}
.sidebar .brand b{color:#fff;font-size:17px}
.sidebar .brand span{color:#f1a13b;font-size:12.5px}
.sidebar>a{display:flex;align-items:center;gap:11px;padding:12px 14px;border-radius:11px;margin:3px 0;color:#dfeafb;font-size:14px;transition:background .16s,color .16s}
.sidebar>a .icon{color:#8fb3de;flex:0 0 auto;transition:color .16s}
.sidebar>a:hover{background:rgba(255,255,255,.08);color:#fff}
.sidebar>a:hover .icon{color:#fff}
.sidebar>a.is-active{background:#fff;color:var(--primary-dark);font-weight:700}
.sidebar>a.is-active .icon{color:var(--primary)}
.side-title{font-size:10.5px;letter-spacing:1.6px;color:#7fa0c6;margin:22px 12px 8px;font-weight:700}
.sidebar-form{margin-top:auto;padding-top:10px}
.sidebar button{width:100%;display:flex;align-items:center;gap:11px;text-align:left;background:transparent;border:0;color:#dfeafb;font-size:14px;padding:12px 14px;cursor:pointer;border-radius:11px}
.sidebar button .icon{color:#8fb3de}
.sidebar button:hover{background:rgba(255,255,255,.08)}
.admin-content{margin-left:280px;width:calc(100% - 280px);padding:28px 42px 60px}
.admin-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px;gap:14px;flex-wrap:wrap}
.admin-top h2{margin:0 0 3px;font-weight:700;color:var(--ink-soft)}
.admin-top span{color:var(--muted);font-size:13px}
.small-btn{padding:10px 16px;font-size:13.5px}

.welcome{border-radius:var(--radius-lg);background:linear-gradient(120deg,#eaf3fb,#e7f2ec);padding:36px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.welcome h1{font-size:34px;color:var(--ink-soft);margin:18px 0 8px;font-weight:700;display:flex;align-items:center;gap:10px}
.welcome h1 .icon{color:var(--orange-dark)}
.welcome p{color:var(--muted);max-width:520px;line-height:1.6}
.welcome .actions{display:flex;gap:12px;margin-top:20px;flex-wrap:wrap}
.welcome-art img{width:190px;height:auto;object-fit:contain}

.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:26px 0}
.stat,.admin-info,.form-card,.table-wrap{background:#fff;border-radius:var(--radius-md);padding:24px;border:1px solid var(--line)}
.stat{display:flex;flex-direction:column;gap:2px;position:relative}
.stat .stat-icon{width:42px;height:42px;border-radius:12px;background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center;position:absolute;top:22px;right:22px}
.stat span{display:block;color:var(--muted);font-size:13.5px;font-weight:600}
.stat small{display:block;color:var(--muted-soft);font-size:11.5px}
.stat strong{font-size:36px;color:var(--primary-dark);display:block;margin:10px 0 2px;font-weight:700}
.admin-info{display:flex;gap:16px;align-items:flex-start}
.admin-info .icon{color:var(--green-dark);background:var(--green-light);border-radius:12px;padding:9px;width:38px;height:38px;flex:0 0 auto}
.admin-info h2{margin:0 0 8px;font-size:17px;font-weight:700;color:var(--ink-soft)}

.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;gap:14px;flex-wrap:wrap}
.toolbar h1{font-size:22px;margin:0 0 4px;color:var(--ink-soft);font-weight:700}
.toolbar p{margin:0;color:var(--muted);font-size:13.5px}
.table-wrap{overflow:auto;padding:8px}
table{width:100%;border-collapse:collapse}
th{text-align:left;padding:14px 16px;background:var(--soft);color:var(--muted-soft);font-size:12px;letter-spacing:.3px;font-weight:700}
th:first-child{border-radius:10px 0 0 10px}
th:last-child{border-radius:0 10px 10px 0}
td{text-align:left;padding:15px 16px;border-bottom:1px solid #edf2f7;font-size:14px;color:var(--ink-soft)}
tr:last-child td{border-bottom:0}
td a{color:var(--primary);margin-right:14px;display:inline-flex;align-items:center;gap:5px;font-weight:600;font-size:13.5px}
.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;font-size:12px;font-weight:700}
.badge.on{background:var(--green-light);color:var(--green-dark)}
.badge.off{background:#fdeaea;color:#b43d3d}
.inline{display:inline}
.inline button{border:0;background:none;color:#c24d4d;cursor:pointer;display:inline-flex;align-items:center;gap:5px;font-weight:600;font-size:13.5px;font-family:inherit}
.inline button:hover{color:#a23434}

.form-card{max-width:900px}
.form-card>a.back{margin-bottom:8px}
.form-card h1{font-size:22px;margin:6px 0 20px;font-weight:700;color:var(--ink-soft)}
.form-card form{margin-top:20px}
.field-help{font-weight:500;color:var(--muted-soft);font-size:11px;margin-left:4px}
label{display:block;font-weight:700;margin:16px 0 7px;color:var(--ink-soft);font-size:13.5px}
input,textarea,select{width:100%;padding:13px 14px;border:1px solid #d6e0ea;border-radius:11px;font:inherit;background:#fff;color:var(--ink);transition:border-color .16s,box-shadow .16s}
input:focus,textarea:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);outline:none}
input[type=file]{background:#fbfdff;padding:11px}
textarea{min-height:110px;resize:vertical}
.form-card .btn{margin-top:22px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.check{margin-top:18px;display:flex;align-items:center;gap:9px;font-size:14px;color:var(--ink-soft);font-weight:600}
.check input{width:auto}
.alert{padding:15px 18px;border-radius:12px;margin-bottom:16px;display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600}
.alert.success{background:var(--green-light);color:var(--green-dark)}
.alert.error{background:#fdeaea;color:#b43d3d}

.settings-head{margin-bottom:24px}
.settings-head h1{margin:14px 0 6px;font-size:26px;font-weight:700;color:var(--ink-soft)}
.settings-head p,.muted{color:var(--muted)}
.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}
.settings-card{max-width:none}
.settings-card h2{display:flex;align-items:center;gap:10px;font-size:17px;color:var(--ink-soft);font-weight:700;margin-top:0}
.settings-card h2 .icon{color:var(--primary);background:var(--primary-light);border-radius:10px;padding:6px;width:32px;height:32px}
.upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.logo-preview,.favicon-preview{height:170px;border:1.5px dashed #c7d7e7;border-radius:16px;background:var(--soft);display:grid;place-items:center;margin-bottom:10px}
.logo-preview img{max-width:85%;max-height:145px;object-fit:contain}
.favicon-preview img{width:90px;height:90px;object-fit:contain}
.color-input{height:48px;padding:5px}
.settings-note{margin-top:18px;border-left:4px solid var(--primary);background:var(--soft);padding:15px 16px;border-radius:10px;display:flex;gap:12px;align-items:flex-start}
.settings-note .icon{color:var(--primary);flex:0 0 auto;margin-top:2px}
.settings-note strong,.settings-note span{display:block}
.settings-note span{color:var(--muted);margin-top:3px;font-size:13px}

.empty-state{text-align:center;padding:50px 20px;color:var(--muted)}
.empty-state .icon{color:var(--muted-soft);margin:0 auto 14px}
.empty-state strong{display:block;color:var(--ink-soft);font-size:16px;margin-bottom:4px}

/* ===== Login ===== */
.login-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#fff}
.login-side{background:var(--primary-dark);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}
.login-side img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.login-form-wrap{display:flex;align-items:center;justify-content:center;padding:40px}
.login-card{width:min(420px,100%);padding:8px}
.login-logo{width:88px;height:88px;margin:0 0 18px;border-radius:22px;background:var(--soft);display:grid;place-items:center;padding:9px}
.login-logo img{width:100%;height:100%;object-fit:contain}
.login-card h1{color:var(--ink-soft);margin-bottom:4px;font-size:26px;font-weight:700}
.login-card p{color:var(--muted);margin-bottom:26px;font-size:14.5px}
.login-card label{margin-top:14px}
.login-card small{display:flex;align-items:center;gap:6px;margin-top:20px;font-size:12px;color:var(--muted-soft)}
.login-card .btn{width:100%;margin-top:22px;padding:14px}

/* ===== Utility / reveal ===== */
[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
[data-reveal].is-visible{opacity:1;transform:translateY(0)}

/* ===== Responsive ===== */
@media(max-width:1100px){
  .nav-links{gap:16px}.brand{min-width:220px}.nav{padding-inline:20px}
  .trust-bar{margin-inline:18px}
  .cards{grid-template-columns:repeat(2,1fr)}
  .content-grid{grid-template-columns:1fr 1fr}
  .schedule-panel{grid-column:1/-1}
  .footer-grid{grid-template-columns:1fr 1fr}
  .hero-slide-content{padding-left:7vw}
  .sidebar{position:static;width:100%;min-height:auto}
  .admin-body{display:block}
  .admin-content{margin:0;width:100%;padding:25px}
  .settings-grid{grid-template-columns:1fr}
  .stats{grid-template-columns:repeat(2,1fr)}
  .login-page{grid-template-columns:1fr}
  .login-side{display:none}
}
@media(max-width:820px){
  .nav-links{position:fixed;top:82px;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;padding:12px 20px;border-bottom:1px solid var(--line);gap:2px;display:none;box-shadow:var(--shadow-md)}
  .nav-links.is-open{display:flex}
  .nav-links a{padding:12px 4px}
  .mobile-menu-toggle{display:flex}
  .nav-cta{display:none}
  .gallery-preview{grid-template-columns:1fr}
  .detail-grid{grid-template-columns:1fr}
  .gallery-grid{grid-template-columns:repeat(2,1fr)}
  .cta-strip{flex-direction:column;text-align:center}
}
@media(max-width:420px){
  .hero-slide-content h1{font-size:32px}
  .hero-slide-content p{font-size:14px}
  .trust-bar{grid-template-columns:1fr}
  .trust-bar>div{border-right:0!important;border-bottom:1px solid var(--line)!important}
  .trust-bar>div:last-child{border-bottom:0!important}
  .cards{padding-inline:10px}
  .content-grid{padding-inline:10px}
  .hero-btn{width:100%}
  .hero-actions{display:grid;grid-template-columns:1fr}
  .gallery-grid{grid-template-columns:1fr}
  .two{grid-template-columns:1fr}
  .upload-grid{grid-template-columns:1fr}
}

/* ===== Promotional hero + location ===== */
.hero-slide-promo .hero-slide-content{width:min(860px,88vw)}
.hero-slide-promo .hero-slide-content h1{max-width:800px}
.hero-slide-content .hero-description{margin-top:8px;font-size:14px;color:rgba(255,255,255,.82)}
.promo-eyebrow{background:rgba(242,153,74,.2);border-color:rgba(255,218,181,.45);color:#fff}
.hero-promo-meta{display:flex;align-items:center;gap:10px;margin-top:18px;flex-wrap:wrap}
.hero-promo-meta strong{background:#fff;color:var(--orange-dark);padding:8px 14px;border-radius:999px;font-size:13px;box-shadow:0 8px 22px rgba(0,0,0,.16)}
.hero-promo-meta span{font-weight:700;color:#fff;font-size:14px}
.hero-promo-label{position:absolute;right:clamp(24px,7vw,100px);bottom:30px;z-index:4;color:rgba(255,255,255,.78);font-size:12px;display:flex;align-items:center;gap:7px}
.promo-section{padding-top:34px}
.location-section{max-width:1240px;margin:0 auto;padding:16px 22px 70px}
.location-card{display:grid;grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr);gap:0;background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:var(--shadow-md)}
.location-info{padding:34px 36px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.location-icon{width:52px;height:52px;border-radius:15px;background:var(--primary-light);color:var(--primary);display:grid;place-items:center;margin-bottom:16px}
.location-info h3{font-size:23px;color:var(--ink-soft);margin:0 0 9px}
.location-info>p{color:var(--muted);line-height:1.7;font-size:14px;margin:0 0 18px}
.location-contact{width:100%;display:grid;gap:9px;padding:15px 0 21px;border-top:1px solid var(--line);margin-top:2px}
.location-contact div{display:flex;gap:9px;align-items:flex-start;color:var(--muted);font-size:13px;line-height:1.5}
.location-contact .icon{color:var(--primary);flex:0 0 auto;margin-top:1px}
.map-frame-wrap{min-height:390px;background:#eaf1f7}
.map-frame{display:block;width:100%;height:100%;min-height:390px;border:0}
.wa-float{animation:waFloat 2.8s ease-in-out infinite,waPulse 2.8s ease-in-out infinite;transform-origin:center;will-change:transform}
.wa-float:hover{animation-play-state:paused;transform:translateY(-5px) scale(1.02)}
.wa-icon{position:relative}
.wa-icon:after{content:"";position:absolute;inset:-5px;border:2px solid rgba(255,255,255,.45);border-radius:50%;animation:waRing 2.2s ease-out infinite}
@keyframes waFloat{0%,100%{margin-bottom:0}50%{margin-bottom:6px}}
@keyframes waPulse{0%,100%{box-shadow:0 18px 38px rgba(24,135,67,.28)}50%{box-shadow:0 18px 42px rgba(24,135,67,.42)}}
@keyframes waRing{0%{opacity:.75;transform:scale(.9)}75%,100%{opacity:0;transform:scale(1.5)}}
@media(max-width:820px){
  .hero-promo-label{display:none}
  .location-section{padding-inline:14px}
  .location-card{grid-template-columns:1fr}
  .location-info{padding:28px 24px}
  .map-frame-wrap,.map-frame{min-height:320px}
}
@media(max-width:420px){
  .wa-float{right:14px;bottom:14px;padding:9px}
  .wa-text{display:none}
  .wa-icon{width:40px;height:40px}
  .hero-slide-promo .hero-slide-content h1{font-size:31px}
  .hero-promo-meta{margin-top:12px}
}
@media(prefers-reduced-motion:reduce){
  .wa-float,.wa-icon:after{animation:none}
}

/* ===== ADMIN REFINEMENT V2 ===== */
.admin-body{background:#f5f8fc;color:var(--ink);min-height:100vh}
.sidebar-v2{position:fixed;inset:0 auto 0 0;width:274px;background:#fff;border-right:1px solid #e4ebf3;z-index:200;display:flex;flex-direction:column;box-shadow:8px 0 30px rgba(24,55,90,.04)}
.sidebar-top{padding:22px 18px 18px;border-bottom:1px solid #edf2f7;display:flex;align-items:center;justify-content:space-between}
.brand-v2{display:flex;align-items:center;gap:11px;min-width:0}.brand-logo-v2{width:45px;height:45px;border:1px solid #e3ebf4;background:#f7fbff;border-radius:12px;padding:5px;display:grid;place-items:center;flex:0 0 auto}.brand-logo-v2 img{width:100%;height:100%;object-fit:contain}.brand-v2 b{display:block;font-family:'Plus Jakarta Sans';font-size:14px;line-height:1.2;color:#123e72}.brand-v2 small{display:block;font-size:10.5px;color:#8090a4;margin-top:3px;font-weight:600}.sidebar-close{display:none;border:0;background:transparent;color:#7b8da2;cursor:pointer}.sidebar-scroll{padding:8px 13px;overflow:auto;flex:1}.side-title{font-size:10px;letter-spacing:1.4px;color:#9aa9ba;margin:19px 10px 7px;font-weight:800}.side-link{display:flex;align-items:center;gap:10px;padding:10px 11px;margin:2px 0;border-radius:10px;color:#5a6c80;font-size:13px;font-weight:600;transition:.18s}.side-link>span{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;color:#8092a7}.side-link:hover{background:#f4f8fc;color:#155aa7}.side-link:hover>span{color:#1268c9}.side-link.is-active{background:#eaf4ff;color:#1268c9;font-weight:750}.side-link.is-active>span{background:#fff;color:#1268c9;box-shadow:0 3px 10px rgba(18,104,201,.09)}
.sidebar-account{margin:12px;border:1px solid #e7edf4;border-radius:13px;padding:10px;display:flex;align-items:center;gap:9px;background:#fafcff}.account-avatar{width:34px;height:34px;border-radius:10px;background:linear-gradient(145deg,#1268c9,#3d8bd8);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:800;flex:0 0 auto}.account-copy{min-width:0;flex:1}.account-copy strong,.top-user strong{display:block;font-size:12px;color:#30465e}.account-copy small,.top-user small{display:block;font-size:10px;color:#8b9aac;margin-top:2px}.sidebar-account form{margin:0}.sidebar-account button{border:0;background:#fff;width:31px;height:31px;border-radius:8px;color:#7d8da0;cursor:pointer;display:grid;place-items:center}.sidebar-account button:hover{background:#fceeee;color:#b94b4b}
.admin-content-v2{margin-left:274px;min-height:100vh;padding:0 34px 55px}.admin-top-v2{height:86px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e7edf4;margin-bottom:28px;gap:20px}.top-left{display:flex;align-items:center;gap:12px}.sidebar-open{display:none;border:1px solid #dce6ef;background:#fff;width:40px;height:40px;border-radius:10px;color:#49617b;cursor:pointer}.breadcrumb{font-size:9.5px;letter-spacing:1.5px;font-weight:800;color:#9aa8b8;margin-bottom:5px}.breadcrumb span{padding:0 5px;color:#c1ccd7}.admin-top-v2 h2{margin:0;color:#193b62;font-size:23px}.top-actions{display:flex;align-items:center;gap:17px}.public-link{font-size:12px;color:#4f667d;display:flex;align-items:center;gap:6px;font-weight:700}.public-link:hover{color:#1268c9}.top-user{display:flex;align-items:center;gap:8px;padding-left:17px;border-left:1px solid #e1e8ef}.top-user .account-avatar{width:32px;height:32px}.admin-alerts{max-width:1100px}.admin-alerts .alert{box-shadow:0 5px 16px rgba(20,50,85,.04)}
.dashboard-shell{max-width:1180px;margin:0 auto}.dashboard-hero{min-height:275px;border-radius:22px;overflow:hidden;background:linear-gradient(115deg,#eaf4ff 0%,#f5fbff 54%,#eef9f2 100%);border:1px solid #dfeaf4;display:flex;align-items:center;justify-content:space-between;position:relative}.hero-main{padding:34px 40px;position:relative;z-index:2}.hero-label{font-size:10px;font-weight:800;letter-spacing:1.4px;color:#1670c9;display:flex;align-items:center;gap:7px}.live-dot{width:7px;height:7px;border-radius:50%;background:#2eae68;box-shadow:0 0 0 4px rgba(46,174,104,.12)}.dashboard-hero h1{font-size:30px;line-height:1.2;color:#1b4269;margin:15px 0 10px}.dashboard-hero h1 strong{color:#1268c9}.dashboard-hero p{font-size:13px;line-height:1.7;color:#63768b;max-width:555px;margin:0}.hero-actions{display:flex;gap:10px;margin-top:22px}.hero-actions .btn{padding:10px 15px;font-size:12.5px}.hero-side{width:310px;align-self:stretch;display:grid;place-items:center;padding:20px 32px}.hero-side img{width:100%;max-height:215px;object-fit:contain}.dashboard-section-head{display:flex;justify-content:space-between;align-items:end;margin:29px 0 13px}.section-kicker{font-size:9.5px;letter-spacing:1.45px;color:#94a4b5;font-weight:800}.dashboard-section-head h2,.panel-head h2,.quick-copy h2{margin:4px 0 0;color:#274867;font-size:19px}.last-status{font-size:11px;color:#38835b;display:flex;align-items:center;gap:5px;background:#edf9f2;padding:7px 10px;border-radius:999px;font-weight:700}.stats-grid-v2{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.stat-card-v2{background:#fff;border:1px solid #e4ebf3;border-radius:15px;padding:17px 17px 14px;position:relative;min-height:138px;box-shadow:0 5px 18px rgba(25,58,95,.035);transition:transform .18s,box-shadow .18s,border-color .18s}.stat-card-v2:hover{transform:translateY(-2px);border-color:#cfddeb;box-shadow:0 12px 26px rgba(25,58,95,.08)}.stat-icon-v2{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;margin-bottom:12px}.stat-icon-v2.blue{background:#eaf4ff;color:#1268c9}.stat-icon-v2.violet{background:#f1edff;color:#7159c9}.stat-icon-v2.green{background:#eaf8f0;color:#2c9860}.stat-icon-v2.orange{background:#fff2e4;color:#d77b22}.stat-icon-v2.rose{background:#ffedf0;color:#ca5d72}.stat-icon-v2.cyan{background:#e8f8fa;color:#2693a2}.stat-label{display:block;color:#73859a;font-size:11.5px;font-weight:700}.stat-card-v2 strong{display:block;color:#173e65;font-size:25px;margin-top:3px}.stat-link{position:absolute;right:16px;bottom:16px;color:#8a9aac;font-size:10.5px;display:flex;align-items:center;gap:4px}.stat-card-v2:hover .stat-link{color:#1268c9}.dashboard-columns{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:15px}.dashboard-panel,.quick-panel{background:#fff;border:1px solid #e4ebf3;border-radius:15px;box-shadow:0 5px 18px rgba(25,58,95,.035)}.panel-head{padding:17px 18px;border-bottom:1px solid #edf2f6;display:flex;align-items:end;justify-content:space-between}.panel-head a{display:flex;align-items:center;gap:4px;font-size:11px;font-weight:700;color:#1268c9}.content-row{display:flex;align-items:center;gap:10px;padding:12px 18px;border-bottom:1px solid #f0f3f7}.content-row:last-child{border-bottom:0}.row-icon{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;flex:0 0 auto}.row-icon.orange{background:#fff2e4;color:#d77b22}.row-icon.blue{background:#eaf4ff;color:#1268c9}.row-copy{min-width:0;flex:1}.row-copy strong{display:block;font-size:11.5px;color:#38536e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-copy small{display:block;font-size:10px;color:#94a1b0;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-dot{width:7px;height:7px;border-radius:50%;flex:0 0 auto}.status-dot.on{background:#35ad6c;box-shadow:0 0 0 4px #eaf8f0}.status-dot.off{background:#c3ccd5}.panel-empty{padding:35px;text-align:center;color:#9aa7b5;font-size:12px}.quick-panel{margin-top:15px;padding:19px;display:flex;align-items:center;gap:28px}.quick-copy{min-width:245px}.quick-copy p{font-size:11.5px;color:#7c8b9b;line-height:1.6;margin:7px 0 0}.quick-links{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;flex:1}.quick-links a{border:1px solid #e7edf3;border-radius:11px;padding:10px 8px;display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;color:#536a82}.quick-links a span{width:29px;height:29px;border-radius:8px;background:#f1f7fd;color:#1268c9;display:grid;place-items:center}.quick-links a:hover{border-color:#cbdced;color:#1268c9}
/* Login V2 */
.login-page-v2{min-height:100vh;display:grid;grid-template-columns:minmax(420px,.92fr) minmax(500px,1.08fr);background:#fff}.login-visual{position:relative;overflow:hidden;background:#0f4d89;color:#fff}.login-visual-bg{position:absolute;inset:0;background:radial-gradient(circle at 75% 20%,rgba(81,171,255,.36),transparent 30%),linear-gradient(145deg,#0b3768,#1268c9 70%,#1884c7)}.login-visual:after{content:"";position:absolute;width:430px;height:430px;border-radius:50%;right:-210px;bottom:-230px;border:70px solid rgba(255,255,255,.06)}.login-visual-content{position:relative;z-index:2;height:100%;min-height:100vh;padding:38px clamp(32px,5vw,76px);display:flex;flex-direction:column}.login-brand{display:flex;align-items:center;gap:12px;color:#fff}.login-brand-mark{width:48px;height:48px;border-radius:13px;background:#fff;padding:5px;display:grid;place-items:center}.login-brand-mark img{width:100%;height:100%;object-fit:contain}.login-brand strong{display:block;font-family:'Plus Jakarta Sans';font-size:15px}.login-brand small{display:block;font-size:10px;opacity:.72;margin-top:3px}.login-copy{margin:auto 0;max-width:520px}.eyebrow{font-size:9.5px;letter-spacing:1.5px;font-weight:800}.login-copy .eyebrow{color:#bfe0ff;display:flex;align-items:center;gap:6px}.login-copy h1{font-size:36px;line-height:1.18;margin:17px 0 14px;font-weight:700;letter-spacing:-.8px}.login-copy p{font-size:13.5px;line-height:1.75;color:rgba(255,255,255,.75);max-width:470px}.login-points{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:22px}.login-points span{display:flex;align-items:center;gap:6px;font-size:11px;color:rgba(255,255,255,.86);font-weight:600}.login-points .icon{color:#8fe1b2}.login-visual-footer{font-size:10px;color:rgba(255,255,255,.55)}.login-panel{display:flex;flex-direction:column;justify-content:center;padding:35px clamp(28px,7vw,105px);background:#fff}.login-card-v2{width:min(430px,100%);margin:auto}.login-heading{display:flex;align-items:center;gap:14px;margin-bottom:28px}.login-mini-logo{width:54px;height:54px;border:1px solid #e0e9f2;background:#f7fbff;border-radius:14px;padding:6px;display:grid;place-items:center;flex:0 0 auto}.login-mini-logo img{width:100%;height:100%;object-fit:contain}.login-heading h2{font-size:25px;color:#193d63;margin:4px 0 3px}.login-heading p{margin:0;color:#7a8b9e;font-size:12px}.login-alert{display:flex;gap:10px;padding:11px 12px;border-radius:11px;background:#fff3f3;border:1px solid #f4dada;color:#b24b4b;margin-bottom:17px}.login-alert .alert-icon{width:28px;height:28px;border-radius:8px;background:#fff;color:#b24b4b;display:grid;place-items:center;flex:0 0 auto}.login-alert strong,.login-alert span{display:block}.login-alert strong{font-size:11.5px}.login-alert div span{font-size:10.5px;margin-top:2px}.login-field{margin-bottom:17px}.login-field label{margin:0 0 7px;font-size:11.5px;color:#425a73}.field-row{display:flex;align-items:center;justify-content:space-between}.field-row>span{font-size:9.5px;color:#96a4b3}.input-shell{height:48px;border:1px solid #d9e3ed;border-radius:11px;display:flex;align-items:center;gap:9px;padding:0 13px;background:#fff;transition:.18s}.input-shell:focus-within{border-color:#1268c9;box-shadow:0 0 0 3px #eaf4ff}.input-shell>.icon{color:#8ea0b2}.input-shell input{border:0!important;box-shadow:none!important;outline:0!important;padding:0!important;height:100%;flex:1;font-size:12.5px}.password-toggle{border:0;background:transparent;color:#8ea0b2;cursor:pointer;display:grid;place-items:center;padding:4px}.password-toggle:hover{color:#1268c9}.login-submit{width:100%;height:48px;border:0;border-radius:11px;background:#1268c9;color:#fff;display:flex;align-items:center;justify-content:center;gap:10px;font:700 12.5px 'Inter';cursor:pointer;box-shadow:0 10px 24px rgba(18,104,201,.18);transition:.18s}.login-submit:hover{background:#0d5cad;transform:translateY(-1px)}.login-security{display:flex;gap:7px;align-items:flex-start;margin-top:17px;color:#91a0ae;font-size:10px;line-height:1.55}.login-security .icon{color:#4fa676;flex:0 0 auto}.login-back{display:flex;justify-content:center;align-items:center;gap:6px;color:#718399;font-size:11px;font-weight:700;margin-top:23px}.login-back:hover{color:#1268c9}.login-top-mobile{display:none}.login-footer{text-align:center;color:#a0acb8;font-size:9.5px;margin-top:auto;padding-top:22px}
@media(max-width:1100px){.admin-content-v2{padding-inline:24px}.dashboard-hero{min-height:255px}.hero-side{width:250px}.dashboard-hero h1{font-size:27px}.login-page-v2{grid-template-columns:42% 58%}.login-panel{padding-inline:50px}}
@media(max-width:900px){.sidebar-v2{transform:translateX(-102%);transition:transform .22s ease;box-shadow:15px 0 35px rgba(20,50,85,.16)}.sidebar-v2.is-open{transform:translateX(0)}.sidebar-close{display:block}.admin-mobile-overlay{position:fixed;inset:0;background:rgba(15,35,58,.38);z-index:190;opacity:0;pointer-events:none;transition:.2s}.admin-mobile-overlay.is-visible{opacity:1;pointer-events:auto}.admin-content-v2{margin-left:0}.sidebar-open{display:grid;place-items:center}.top-user{display:none}.top-actions{gap:0}.public-link{display:none}.stats-grid-v2{grid-template-columns:repeat(2,1fr)}.quick-panel{align-items:flex-start;flex-direction:column;gap:16px}.quick-copy{min-width:0}.quick-links{width:100%}.login-page-v2{grid-template-columns:1fr}.login-visual{display:none}.login-panel{padding:24px}.login-top-mobile{display:block;width:min(430px,100%);margin:0 auto 20px}.login-top-mobile a{font-size:11px;color:#718399;display:inline-flex;gap:6px;align-items:center}.login-footer{margin-top:20px}.login-card-v2{margin:0 auto}}
@media(max-width:600px){.admin-content-v2{padding-inline:14px}.admin-top-v2{height:74px;margin-bottom:20px}.admin-top-v2 h2{font-size:19px}.dashboard-hero{min-height:auto}.hero-main{padding:25px 22px}.hero-side{display:none}.dashboard-hero h1{font-size:25px}.hero-actions{flex-direction:column}.hero-actions .btn{width:100%}.dashboard-section-head{align-items:flex-start;gap:10px;flex-direction:column}.stats-grid-v2{grid-template-columns:1fr 1fr;gap:9px}.stat-card-v2{min-height:132px;padding:14px}.stat-card-v2 strong{font-size:22px}.stat-link{right:13px;bottom:13px}.dashboard-columns{grid-template-columns:1fr}.quick-links{grid-template-columns:1fr 1fr}.panel-head{padding:15px}.content-row{padding-inline:15px}.login-panel{padding:20px}.login-heading h2{font-size:22px}}
@media(max-width:380px){.stats-grid-v2{grid-template-columns:1fr}.quick-links{grid-template-columns:1fr}.top-left .breadcrumb{display:none}}

/* ===== ABOUT + DOCTOR DIRECTORY UPDATE ===== */
.nav-links a.is-active{color:var(--primary);font-weight:800}
.about-page{max-width:1240px;margin:0 auto;padding:38px 22px 76px}.about-hero{display:grid;grid-template-columns:1fr 250px;gap:30px;align-items:center;padding:45px 50px;border:1px solid var(--line);border-radius:26px;background:linear-gradient(120deg,#eef7ff,#f9fcff 58%,#eef9f3);overflow:hidden}.about-hero h1{font-family:'Plus Jakarta Sans';font-size:clamp(36px,5vw,60px);line-height:1.08;color:var(--ink-soft);margin:17px 0 14px;letter-spacing:-1.7px}.about-hero p{max-width:760px;color:var(--muted);font-size:16px;line-height:1.75;margin:0}.about-hero-mark{width:210px;height:210px;border-radius:30px;background:#fff;border:1px solid #e1eaf3;display:grid;place-items:center;padding:24px;box-shadow:0 18px 45px rgba(24,70,110,.08)}.about-hero-mark img{width:100%;height:100%;object-fit:contain}.about-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:18px;margin-top:18px}.about-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:30px 32px;box-shadow:var(--shadow-sm)}.about-icon{width:48px;height:48px;border-radius:14px;background:var(--primary-light);color:var(--primary);display:grid;place-items:center;margin-bottom:18px}.about-card h2{font-family:'Plus Jakarta Sans';color:var(--ink-soft);font-size:24px;line-height:1.3;margin:8px 0 12px}.about-card p{color:var(--muted);line-height:1.8;font-size:14px;margin:0}.vision-card{background:linear-gradient(145deg,#fff,#f6fbff)}.about-mission{margin-top:18px;padding:34px;border:1px solid var(--line);border-radius:22px;background:#fff}.mission-heading h2{font-family:'Plus Jakarta Sans';color:var(--ink-soft);font-size:28px;max-width:700px;margin:12px 0 8px}.mission-heading>p{color:var(--muted);max-width:760px;line-height:1.7;margin:0}.mission-card{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:24px}.mission-item{display:flex;gap:12px;padding:15px;border:1px solid #e8eef5;border-radius:14px;background:#fbfdff}.mission-item>span{width:30px;height:30px;border-radius:9px;background:#eaf8f0;color:#2b9b61;display:grid;place-items:center;flex:0 0 auto}.mission-item p{margin:2px 0 0;color:#52687e;font-size:13px;line-height:1.6}.about-cta{margin-top:18px;padding:25px 30px;border-radius:20px;background:#1268c9;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#fff}.about-cta h2{font-family:'Plus Jakarta Sans';font-size:22px;margin:6px 0 0}.about-cta .section-kicker{color:#cfe6ff}.about-cta .btn{background:#fff;color:#1268c9;box-shadow:none}.detail-v2 .detail-topline{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.detail-panel,.promo-panel{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px}.doctors-section{margin-top:18px}.section-heading-inline{margin-bottom:14px}.section-heading-inline h2{font-family:'Plus Jakarta Sans';color:var(--ink-soft);font-size:24px;margin:5px 0 5px}.section-heading-inline p{margin:0;color:var(--muted);font-size:13px}.doctor-grid-public{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.doctor-card-public{border:1px solid #e3ebf3;background:#fff;border-radius:18px;overflow:hidden;box-shadow:var(--shadow-sm);display:flex;min-height:245px}.doctor-photo-wrap{width:150px;flex:0 0 150px;background:#edf5fb;min-height:245px}.doctor-photo-wrap img{width:100%;height:100%;object-fit:cover;display:block}.doctor-card-copy{padding:19px 18px;min-width:0}.doctor-role{display:inline-block;color:var(--primary);font-size:10px;font-weight:800;letter-spacing:.3px;background:var(--primary-light);border-radius:999px;padding:6px 9px}.doctor-card-copy h3{font-family:'Plus Jakarta Sans';color:var(--ink-soft);font-size:18px;margin:10px 0 7px}.doctor-card-copy>p{color:var(--muted);font-size:11.5px;line-height:1.55;margin:0 0 13px}.doctor-schedule-title{display:flex;align-items:center;gap:6px;color:#536b82;font-size:11px;font-weight:800;margin-bottom:7px}.doctor-schedule-title .icon{color:var(--primary)}.doctor-schedule-row{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-top:1px solid #edf2f6;font-size:10.5px;color:#667b90}.doctor-schedule-row strong{color:#2d4b67}.doctor-schedule-empty{font-size:10.5px;color:#9aa7b4;padding-top:4px}.schedule-panel{margin-top:18px}.schedule>div{display:flex;flex-direction:column;gap:3px}.schedule small{font-size:11px;color:var(--muted)}.form-section-note{display:flex;gap:10px;align-items:flex-start;padding:13px 14px;background:#eef7ff;border:1px solid #dbeeff;border-radius:12px;margin-bottom:17px;color:#1268c9}.form-section-note>svg{flex:0 0 auto;margin-top:1px}.form-section-note strong,.form-section-note span{display:block}.form-section-note strong{font-size:12px}.form-section-note span{font-size:10.5px;color:#71869b;margin-top:3px;line-height:1.5}.upload-field{margin-top:3px}.current-image-preview{display:flex;align-items:center;gap:12px;margin:5px 0 12px;padding:10px;border:1px solid #e2eaf2;border-radius:12px;background:#fafcff;width:max-content;max-width:100%}.current-image-preview img{width:92px;height:92px;border-radius:10px;object-fit:cover}.current-image-preview span{font-size:10px;color:#7b8c9d;font-weight:700}.table-main{font-weight:700;color:#34516c}.table-sub{display:block;font-size:10px;color:#93a0ad;margin-top:4px}.relation-chip{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;background:#f0f6fb;color:#557089;font-size:10px;font-weight:700}.admin-form-v2{max-width:920px}.form-title-row{margin:10px 0 20px}.form-title-row h1{font-family:'Plus Jakarta Sans';font-size:27px;color:var(--ink-soft);margin:5px 0}.form-title-row p{color:var(--muted);font-size:12px;margin:0}.about-settings-card{grid-column:1/-1}.about-settings-card textarea{min-height:90px}
@media(max-width:900px){.about-hero{grid-template-columns:1fr;padding:34px}.about-hero-mark{width:150px;height:150px}.about-grid{grid-template-columns:1fr}.mission-card{grid-template-columns:1fr}.doctor-grid-public{grid-template-columns:1fr}}
@media(max-width:600px){.about-page{padding-inline:14px}.about-hero{padding:25px 22px}.about-hero h1{font-size:35px}.about-hero p{font-size:14px}.about-hero-mark{width:120px;height:120px;border-radius:20px;padding:15px}.about-card,.about-mission{padding:23px 20px}.about-cta{align-items:flex-start;flex-direction:column}.doctor-card-public{display:block}.doctor-photo-wrap{width:100%;height:220px;min-height:0}.detail-panel,.promo-panel{padding:20px}}

/* ===== Service detail: handling + doctor area ===== */
.handling-panel{margin-bottom:18px}.handling-content{color:#52687e;font-size:14px;line-height:1.85;white-space:normal}.handling-content p{margin:0}.doctors-section{padding:24px;border:1px solid var(--line);border-radius:20px;background:#fbfdff}.doctor-empty-card{grid-column:1/-1;display:flex;align-items:center;gap:16px;padding:24px;border:1px dashed #cbdceb;border-radius:16px;background:#fff}.doctor-empty-icon{width:54px;height:54px;border-radius:15px;background:var(--primary-light);color:var(--primary);display:grid;place-items:center;flex:0 0 auto}.doctor-empty-card strong{display:block;color:var(--ink-soft);font-size:14px}.doctor-empty-card p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.65;max-width:620px}.form-help{display:block;color:#7b8da0;font-size:11px;line-height:1.5;margin:-8px 0 14px}.admin-form-v2 textarea[name="handling"]{min-height:150px;resize:vertical}
.about-video-hero{max-width:1240px;margin:28px auto 0;padding:0 22px}.about-video-slider{position:relative;min-height:510px;border-radius:28px;overflow:hidden;background:#102c48;box-shadow:0 22px 60px rgba(18,70,110,.14)}.about-video-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .45s ease;display:flex;align-items:flex-end}.about-video-slide.is-active{opacity:1;visibility:visible}.about-video-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#0d2943}.about-video-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,31,52,.82),rgba(8,31,52,.28) 60%,rgba(8,31,52,.15))}.about-video-caption{position:relative;z-index:2;max-width:720px;padding:58px;color:#fff}.about-video-caption h1{font-family:'Plus Jakarta Sans';font-size:clamp(34px,5vw,58px);line-height:1.08;margin:18px 0 12px;letter-spacing:-1.5px}.about-video-caption p{font-size:16px;line-height:1.7;margin:0;max-width:620px;color:#e8f2fa}.pill-light{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.24);color:#fff}.about-video-empty{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:30px;color:#7890a5;background:linear-gradient(145deg,#edf6fc,#f8fbfd)}.about-video-empty-placeholder{display:flex;flex-direction:column;justify-content:center}.about-video-empty-placeholder h1{font-family:'Plus Jakarta Sans';font-size:38px;color:var(--ink-soft);margin:12px 0}.about-video-empty-placeholder p{max-width:580px;line-height:1.7;margin:0 auto}.video-empty-icon{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:#eaf4fd;color:var(--primary);margin:0 auto 16px}.about-video-arrow{position:absolute;z-index:4;top:50%;transform:translateY(-50%);width:44px;height:44px;border:1px solid rgba(255,255,255,.45);border-radius:50%;background:rgba(7,31,52,.35);color:#fff;font-size:30px;line-height:1;cursor:pointer;backdrop-filter:blur(8px)}.about-video-arrow.prev{left:20px}.about-video-arrow.next{right:20px}.about-video-dots{position:absolute;z-index:4;left:58px;bottom:24px;display:flex;gap:7px}.about-video-dots button{width:28px;height:5px;border:0;border-radius:99px;background:rgba(255,255,255,.4);cursor:pointer;padding:0}.about-video-dots button.is-active{background:#fff}.doctor-photo-wrap{width:190px;flex:0 0 190px;min-height:290px;display:flex;align-items:center;justify-content:center;background:#edf5fb}.doctor-photo-wrap img{width:100%;height:100%;object-fit:contain;display:block}.doctor-card-public{min-height:290px}.about-grid{margin-top:22px}
@media(max-width:900px){.about-video-hero{padding-inline:14px}.about-video-slider{min-height:440px;border-radius:22px}.about-video-caption{padding:34px}.about-video-caption h1{font-size:38px}.doctor-photo-wrap{width:180px;flex-basis:180px}}
@media(max-width:600px){.about-video-slider{min-height:430px}.about-video-caption{padding:25px 22px 52px}.about-video-caption h1{font-size:31px}.about-video-caption p{font-size:14px}.about-video-arrow{width:38px;height:38px;font-size:25px}.about-video-dots{left:22px;bottom:18px}.doctor-card-public{display:block}.doctor-photo-wrap{width:100%;height:300px;min-height:300px}.doctor-photo-wrap img{object-fit:contain}}

/* ===== FINAL PRO REFINEMENT: SERVICE DETAIL + SLIDER CRUD ===== */
.service-detail-pro{padding-bottom:80px}.service-detail-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;margin:22px 0 28px}.service-detail-heading h1{font-family:'Plus Jakarta Sans';font-size:clamp(38px,5vw,62px);line-height:1.06;letter-spacing:-2px;color:var(--ink-soft);margin:8px 0 12px}.service-detail-heading .lead{max-width:760px;margin:0}.panel-heading-clean,.promo-heading{display:flex;align-items:center;justify-content:space-between}.panel-heading-clean>div,.promo-heading{display:flex;align-items:center;gap:12px}.panel-icon{width:43px;height:43px;border-radius:13px;background:#eaf4ff;color:var(--primary);display:grid;place-items:center;flex:0 0 auto}.panel-heading-clean h2,.promo-heading h2{font-family:'Plus Jakarta Sans';font-size:22px;color:var(--ink-soft);margin:4px 0 0}.doctors-section-pro{padding:27px 27px 30px;background:linear-gradient(145deg,#fbfdff,#f7fbff);border:1px solid #e0eaf3;box-shadow:0 12px 34px rgba(27,69,108,.055)}.doctors-heading-pro{display:flex;justify-content:space-between;align-items:flex-end}.doctor-count{padding:7px 11px;border-radius:999px;background:#fff;border:1px solid #e1eaf3;color:#6e8297;font-size:11px;font-weight:800}.doctor-grid-pro{gap:18px}.doctor-card-pro{min-height:350px;border-radius:20px;border:1px solid #dfe8f1;box-shadow:0 12px 30px rgba(24,61,96,.07);display:grid;grid-template-columns:minmax(150px,44%) 1fr}.doctor-photo-pro{width:auto;min-width:0;height:100%;min-height:350px;position:relative;background:#edf5fb;overflow:hidden}.doctor-photo-pro img{width:100%;height:100%;object-fit:cover;object-position:center top}.doctor-photo-badge{position:absolute;left:13px;bottom:13px;display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.94);color:#24577f;font-size:10px;font-weight:800;box-shadow:0 6px 16px rgba(20,55,85,.12)}.doctor-copy-pro{padding:22px 20px 19px;display:flex;flex-direction:column}.doctor-copy-pro h3{font-size:21px;line-height:1.2;margin:11px 0 7px}.doctor-bio{font-size:11.5px!important;line-height:1.6!important;margin:0 0 15px!important;color:#72869a!important}.doctor-schedule-box{margin-top:auto;border:1px solid #e6edf4;border-radius:14px;padding:11px 13px;background:#fbfdff}.doctor-schedule-title{margin-bottom:4px}.schedule-icon{display:grid;place-items:center;color:var(--primary)}.doctor-schedule-row-pro{font-size:11px;padding:9px 0}.schedule-day{font-weight:700;color:#5d7287}.doctor-schedule-row-pro strong{font-size:11px;white-space:nowrap}.promo-panel-pro{padding:25px;position:sticky;top:100px}.promo-heading{justify-content:flex-start;margin-bottom:20px}.promo-pro{padding:14px 0;border-top:1px solid #e8eef4}.promo-pro>b{display:inline-block;padding:5px 8px;border-radius:7px;background:#fff3e4;color:#d77b17;font-size:10px}.promo-pro h3{font-size:15px;margin:9px 0 5px;color:var(--ink-soft)}.promo-pro p{font-size:12px;line-height:1.6}.promo-btn{width:100%;justify-content:center;margin-top:14px}.promo-note{display:flex;gap:7px;align-items:flex-start;margin-top:14px;padding:10px 11px;border-radius:10px;background:#f5f9fc;color:#7a8da0;font-size:10px;line-height:1.5}.promo-note svg{flex:0 0 auto;margin-top:1px}.service-detail-pro .detail-grid{align-items:start}
@media(max-width:1050px){.doctor-grid-pro{grid-template-columns:1fr}.doctor-card-pro{grid-template-columns:190px 1fr}.promo-panel-pro{position:static}.service-detail-heading{align-items:flex-start}}
@media(max-width:700px){.service-detail-heading{display:block}.service-detail-heading .btn{margin-top:18px}.doctors-section-pro{padding:20px 16px}.doctors-heading-pro{align-items:flex-start;gap:10px}.doctor-count{display:none}.doctor-card-pro{display:block;min-height:0}.doctor-photo-pro{height:330px;min-height:330px}.doctor-copy-pro{padding:18px}.doctor-schedule-box{margin-top:13px}.service-detail-heading h1{font-size:39px}.promo-panel-pro{padding:20px}}

/* =====================================================================
   AZHANSYA PRO — SERVICE DETAIL REFINEMENT
   Fokus: alignment, typography, photo crop, responsive cards, spacing.
   ===================================================================== */
.service-detail-pro{max-width:1320px;padding:38px 24px 90px}
.service-detail-shell{width:100%;max-width:1260px;margin:0 auto}
.detail-topline{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}
.detail-status-pill{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border:1px solid #dbe7f2;background:#fff;border-radius:999px;color:#6b8096;font-size:10px;font-weight:800;letter-spacing:.7px}
.service-hero-card{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);min-height:390px;border:1px solid #dfe9f2;border-radius:28px;overflow:hidden;background:linear-gradient(135deg,#f9fcff,#eef7ff);box-shadow:0 18px 50px rgba(24,64,100,.08);margin-bottom:24px}
.service-hero-copy{padding:48px clamp(28px,5vw,58px);display:flex;flex-direction:column;justify-content:center}
.service-hero-copy h1{font-family:'Plus Jakarta Sans';font-size:clamp(36px,4.7vw,58px);line-height:1.08;letter-spacing:-1.9px;color:#193e66;margin:10px 0 14px;max-width:700px}
.service-hero-lead{font-size:15px;line-height:1.8;color:#62778e;max-width:690px;margin:0}
.service-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.service-hero-actions .btn{padding:12px 17px;font-size:13px}
.service-mini-trust{display:flex;gap:17px;flex-wrap:wrap;margin-top:23px;color:#71869a;font-size:10.5px;font-weight:700}
.service-mini-trust span{display:inline-flex;align-items:center;gap:6px}
.service-mini-trust .icon{color:var(--primary)}
.service-hero-media{min-height:390px;position:relative;background:#e9f3fb;overflow:hidden}
.service-hero-media>img{width:100%;height:100%;min-height:390px;object-fit:cover;object-position:center;display:block}
.service-image-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,58,92,.15),transparent 45%),linear-gradient(0deg,rgba(11,43,71,.22),transparent 38%)}
.service-image-label{position:absolute;left:20px;right:20px;bottom:20px;display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid rgba(255,255,255,.38);background:rgba(255,255,255,.9);backdrop-filter:blur(10px);border-radius:15px;box-shadow:0 10px 28px rgba(13,46,76,.14)}
.service-image-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#eaf4ff;color:var(--primary)}
.service-image-label b{display:block;color:#21486f;font-size:12px;line-height:1.25}
.service-image-label small{display:block;color:#7f92a5;font-size:10px;margin-top:2px}
.service-detail-layout{display:grid;grid-template-columns:minmax(0,1.72fr) minmax(300px,.78fr);gap:24px;align-items:start}
.service-main-column{display:grid;gap:24px;min-width:0}
.service-side-column{display:grid;gap:16px;min-width:0}
.detail-panel{background:#fff;border:1px solid #e0eaf2;border-radius:24px;box-shadow:0 10px 32px rgba(23,61,98,.055);padding:28px}
.service-panel-heading,.promo-heading-pro{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.service-heading-icon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;flex:0 0 auto}
.service-heading-icon.blue{background:#eaf4ff;color:#1268c9}
.service-heading-icon.green{background:#eaf8f0;color:#2d9660}
.service-heading-icon.orange{background:#fff1e2;color:#ce741b}
.service-panel-heading h2,.promo-heading-pro h2{font-family:'Plus Jakarta Sans';font-size:22px;line-height:1.2;color:#244767;margin:4px 0 0}
.handling-content-pro{display:grid;gap:10px}
.handling-item{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;align-items:start;padding:13px 14px;border:1px solid #e8eff5;border-radius:14px;background:#fbfdff}
.handling-item>span{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:#eaf8f0;color:#26905a}
.handling-item p{margin:2px 0 0;color:#62788f;font-size:13px;line-height:1.65;overflow-wrap:anywhere}
.doctors-section-pro{padding:28px}
.doctors-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:20px}
.doctors-section-head h2{font-family:'Plus Jakarta Sans';font-size:25px;color:#244767;margin:5px 0 6px;line-height:1.2}
.doctors-section-head p{font-size:12.5px;color:#7890a5;margin:0;line-height:1.6}
.doctor-count{padding:8px 12px;border:1px solid #dfe8f0;background:#fff;border-radius:999px;color:#6d8297;font-size:10.5px;font-weight:800;white-space:nowrap}
.doctor-grid-pro{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.doctor-card-pro{min-width:0;display:grid;grid-template-columns:minmax(145px,.82fr) minmax(0,1.18fr);border:1px solid #dce7f0;border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 9px 25px rgba(24,61,96,.065);transition:transform .18s ease,box-shadow .18s ease}
.doctor-card-pro:hover{transform:translateY(-2px);box-shadow:0 15px 32px rgba(24,61,96,.10)}
.doctor-photo-pro{position:relative;min-width:0;height:355px;background:#eaf3fa;overflow:hidden}
.doctor-photo-pro img{width:100%;height:100%;object-fit:cover;object-position:center center;display:block}
.doctor-photo-badge{position:absolute;left:11px;right:11px;bottom:11px;display:flex;align-items:center;justify-content:center;gap:5px;padding:7px 8px;border-radius:999px;background:rgba(255,255,255,.94);color:#255b83;font-size:9.5px;font-weight:800;box-shadow:0 6px 18px rgba(20,55,85,.13)}
.doctor-copy-pro{padding:20px 16px 16px;display:flex;flex-direction:column;min-width:0}
.doctor-role{display:inline-flex;align-self:flex-start;max-width:100%;padding:7px 10px;border-radius:999px;background:#eaf4ff;color:#1268c9;font-size:9.5px;font-weight:800;line-height:1.2;white-space:normal;overflow-wrap:anywhere}
.doctor-copy-pro h3{font-family:'Plus Jakarta Sans';font-size:20px;line-height:1.2;color:#21476d;margin:13px 0 7px;overflow-wrap:anywhere;word-break:normal}
.doctor-bio{font-size:10.5px!important;line-height:1.55!important;color:#7b8fa2!important;margin:0 0 13px!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.doctor-schedule-box{margin-top:auto;border:1px solid #e3ebf2;border-radius:14px;padding:11px 12px;background:#fafdff;min-width:0}
.doctor-schedule-heading{display:flex;align-items:center;gap:8px;padding-bottom:8px;border-bottom:1px solid #edf2f6}
.schedule-icon{width:29px;height:29px;border-radius:9px;background:#eaf4ff;color:#1268c9;display:grid;place-items:center;flex:0 0 auto}
.doctor-schedule-heading b{display:block;color:#365775;font-size:10.5px;line-height:1.2}
.doctor-schedule-heading small{display:block;color:#9aa9b7;font-size:8.5px;margin-top:2px}
.doctor-schedule-row-pro{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:9px 0;border-bottom:1px solid #edf2f6}
.doctor-schedule-row-pro:last-child{border-bottom:0;padding-bottom:2px}
.schedule-day{color:#60758b;font-size:9.5px;line-height:1.4;font-weight:700;overflow-wrap:anywhere}
.doctor-schedule-row-pro strong{color:#214d75;font-size:9.5px;line-height:1.3;text-align:right;white-space:nowrap}
.doctor-schedule-empty{color:#95a5b4;font-size:9.5px;line-height:1.45;padding-top:9px}
.doctor-empty-card{grid-column:1/-1;display:flex;align-items:center;gap:13px;padding:20px;border:1px dashed #cbdbe8;border-radius:16px;background:#fbfdff}
.doctor-empty-icon{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:#eaf4ff;color:#1268c9;flex:0 0 auto}
.doctor-empty-card strong{color:#315573;font-size:13px}
.doctor-empty-card p{margin:4px 0 0;color:#7e91a4;font-size:10.5px;line-height:1.55}
.service-pricing-panel{padding:24px 28px}
.service-price-list{border:1px solid #e4ecf3;border-radius:14px;overflow:hidden}
.service-price-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 15px;background:#fff;border-bottom:1px solid #edf2f6}
.service-price-row:last-child{border-bottom:0}
.service-price-row strong{display:block;color:#34536f;font-size:11.5px}
.service-price-row small{display:block;color:#8b9cab;font-size:9.5px;margin-top:3px;line-height:1.45}
.service-price-row>b{color:#1268c9;font-size:12px;white-space:nowrap}
.price-note{display:flex;align-items:flex-start;gap:6px;margin:10px 0 0;color:#8a9bab;font-size:9.5px;line-height:1.5}
.price-note .icon{flex:0 0 auto}
.promo-panel-pro{position:sticky;top:104px;padding:24px;background:#fff;border:1px solid #dfe8f0;border-radius:24px;box-shadow:0 12px 32px rgba(23,61,98,.06)}
.promo-heading-pro{margin-bottom:17px}
.promo-list-pro{border-top:1px solid #e8eef3}
.promo-card-pro{padding:14px 0;border-bottom:1px solid #e8eef3}
.promo-discount{display:inline-flex;padding:5px 8px;border-radius:7px;background:#fff1e2;color:#cb7316;font-size:9px;font-weight:800}
.promo-card-pro h3{font-size:13px;line-height:1.35;color:#315472;margin:8px 0 4px;overflow-wrap:anywhere}
.promo-card-pro p{font-size:10.5px;line-height:1.55;color:#8192a2;margin:0}
.promo-price{display:block;color:#1268c9;font-size:10.5px;margin-top:8px}
.promo-empty-pro{text-align:center;padding:22px 8px}
.promo-empty-pro>span{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#eaf8f0;color:#2d9660;margin:0 auto 9px}
.promo-empty-pro strong{display:block;color:#49677f;font-size:11.5px}
.promo-empty-pro p{font-size:10px;color:#8a9aa9;line-height:1.5;margin:4px 0 0}
.promo-btn{width:100%;margin-top:15px;padding:12px 14px;font-size:12.5px}
.promo-note-pro{display:flex;align-items:flex-start;gap:7px;margin-top:11px;padding:10px 11px;border-radius:11px;background:#f5f9fc;color:#8093a5;font-size:9.5px;line-height:1.5}
.promo-note-pro .icon{flex:0 0 auto;margin-top:1px}
.service-contact-card{padding:19px;border:1px solid #dfe9f2;border-radius:20px;background:linear-gradient(145deg,#f7fbff,#eef8f3)}
.service-contact-icon{width:39px;height:39px;border-radius:11px;background:#fff;color:#1268c9;display:grid;place-items:center;margin-bottom:12px;box-shadow:0 6px 16px rgba(20,60,90,.06)}
.service-contact-card .section-kicker{display:block}
.service-contact-card h3{font-size:16px;line-height:1.25;color:#315573;margin:5px 0}
.service-contact-card p{font-size:10.5px;line-height:1.55;color:#7c8fa1;margin:0 0 13px;overflow-wrap:anywhere}
.service-contact-card>a{display:inline-flex;align-items:center;gap:5px;color:#1268c9;font-size:10.5px;font-weight:800}
.table-media-row{display:flex;align-items:center;gap:11px;min-width:260px}
.table-media-row>img{width:76px;height:46px;object-fit:cover;border-radius:9px;border:1px solid #e1eaf2;background:#f3f8fc;flex:0 0 auto}
.table-media-row>div{min-width:0}
@media(max-width:1120px){
  .service-detail-layout{grid-template-columns:1fr}
  .service-side-column{grid-template-columns:minmax(0,1fr) minmax(260px,.7fr);align-items:start}
  .promo-panel-pro{position:static}
}
@media(max-width:900px){
  .service-hero-card{grid-template-columns:1fr}
  .service-hero-media{min-height:310px;max-height:390px}
  .service-hero-media>img{min-height:310px}
  .doctor-grid-pro{grid-template-columns:1fr}
  .doctor-photo-pro{height:330px}
  .service-side-column{grid-template-columns:1fr}
}
@media(max-width:620px){
  .service-detail-pro{padding:22px 12px 70px}
  .detail-topline{align-items:flex-start}
  .detail-status-pill{display:none}
  .service-hero-card{border-radius:20px}
  .service-hero-copy{padding:29px 22px}
  .service-hero-copy h1{font-size:35px;letter-spacing:-1.2px}
  .service-hero-lead{font-size:13px}
  .service-hero-actions{display:grid;grid-template-columns:1fr}
  .service-hero-actions .btn{width:100%}
  .service-mini-trust{display:grid;gap:8px}
  .service-hero-media{min-height:270px;max-height:320px}
  .service-hero-media>img{min-height:270px}
  .service-image-label{left:12px;right:12px;bottom:12px}
  .detail-panel,.doctors-section-pro{padding:20px 16px;border-radius:20px}
  .doctors-section-head{align-items:flex-start}
  .doctor-count{display:none}
  .doctor-card-pro{grid-template-columns:1fr}
  .doctor-photo-pro{height:310px}
  .doctor-copy-pro{padding:18px}
  .doctor-copy-pro h3{font-size:19px}
  .doctor-schedule-row-pro{grid-template-columns:1fr;gap:4px}
  .doctor-schedule-row-pro strong{text-align:left}
  .service-price-row{align-items:flex-start;flex-direction:column;gap:5px}
  .service-price-row>b{white-space:normal}
  .promo-panel-pro,.service-contact-card{padding:20px}
}


/* About page — leadership section */
.about-leadership{margin-top:22px;padding:34px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(145deg,#ffffff 0%,#fbfdff 62%,#f4fbf8 100%);box-shadow:var(--shadow-sm)}
.leadership-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}
.leadership-heading h2{font-family:'Plus Jakarta Sans';color:var(--ink-soft);font-size:28px;line-height:1.25;margin:11px 0 7px;letter-spacing:-.5px}
.leadership-heading p{color:var(--muted);font-size:14px;line-height:1.7;margin:0;max-width:760px}
.leadership-count{display:inline-flex;align-items:center;justify-content:center;min-width:72px;padding:8px 12px;border:1px solid #dfe9f2;border-radius:999px;background:#fff;color:#61788f;font-size:11px;font-weight:800;white-space:nowrap}
.leadership-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.leader-card{display:grid;grid-template-columns:210px minmax(0,1fr);min-width:0;overflow:hidden;border:1px solid #e1eaf2;border-radius:20px;background:#fff;box-shadow:0 12px 30px rgba(24,70,110,.07);transition:transform .2s ease,box-shadow .2s ease}
.leader-card:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(24,70,110,.11)}
.leader-portrait{position:relative;min-height:285px;background:linear-gradient(145deg,#edf6fc,#f8fbfd);overflow:hidden;display:flex;align-items:flex-end;justify-content:center}
.leader-portrait img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.leader-placeholder{position:absolute;inset:0;display:none;align-items:center;justify-content:center;color:#86a2b8;background:linear-gradient(145deg,#edf6fc,#f8fbfd)}
.leader-placeholder.is-visible{display:flex}
.leader-badge{position:absolute;left:13px;bottom:13px;display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid rgba(255,255,255,.8);border-radius:999px;background:rgba(255,255,255,.93);color:#1d638f;font-size:10px;font-weight:800;box-shadow:0 8px 20px rgba(25,73,108,.12);backdrop-filter:blur(7px)}
.leader-copy{min-width:0;padding:25px 24px 23px;display:flex;flex-direction:column;justify-content:center}
.leader-copy .section-kicker{font-size:10px;color:#7c94a9}
.leader-copy h3{font-family:'Plus Jakarta Sans';color:var(--ink-soft);font-size:20px;line-height:1.35;margin:9px 0 11px;overflow-wrap:anywhere}
.leader-copy p{color:var(--muted);font-size:12.5px;line-height:1.75;margin:0}
.leadership-empty{padding:28px;text-align:center;border:1px dashed #dbe6ef;border-radius:16px;color:#8498aa;background:#fbfdff;font-size:13px}
@media(max-width:1050px){.leadership-grid{grid-template-columns:1fr}.leader-card{grid-template-columns:230px minmax(0,1fr)}}
@media(max-width:600px){.about-leadership{padding:22px 18px}.leadership-heading{align-items:flex-start;flex-direction:column}.leadership-heading h2{font-size:24px}.leadership-grid{gap:14px}.leader-card{display:block}.leader-portrait{height:285px;min-height:285px}.leader-copy{padding:20px}.leader-copy h3{font-size:18px}}


/* =====================================================================
   FINAL SERVICE DETAIL UI — clean clinical layout
   Prevents text overflow/crossing and keeps doctor photos + schedules aligned.
   ===================================================================== */
.service-detail-pro{max-width:1380px;margin:0 auto;padding:34px 24px 88px}
.service-detail-shell{max-width:1280px;margin:0 auto}
.detail-topline{margin-bottom:20px}
.service-hero-card{grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);min-height:410px;border-radius:28px;margin-bottom:26px}
.service-hero-copy{padding:48px clamp(28px,4.2vw,56px)}
.service-hero-copy h1{font-size:clamp(36px,4.1vw,54px);line-height:1.08;letter-spacing:-1.7px;overflow-wrap:anywhere}
.service-hero-lead{font-size:14.5px;line-height:1.8;overflow-wrap:anywhere}
.service-hero-media{min-height:410px}
.service-hero-media>img{min-height:410px;object-fit:cover;object-position:center center}
.service-detail-layout{grid-template-columns:minmax(0,1.72fr) minmax(290px,.78fr);gap:24px}
.detail-panel,.doctors-section-pro{border-radius:24px;padding:28px}
.service-main-column{gap:24px}
.doctors-section-head{align-items:center}
.doctors-section-head>div{min-width:0}
.doctors-section-head h2{font-size:24px;overflow-wrap:anywhere}
.doctors-section-head p{max-width:700px}
.doctor-grid-pro{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:stretch}
.doctor-card-pro{grid-template-columns:minmax(0,42%) minmax(0,58%);min-height:390px;height:100%;border-radius:20px}
.doctor-photo-pro{height:100%;min-height:390px}
.doctor-photo-pro img{object-fit:cover;object-position:center center}
.doctor-copy-pro{padding:22px 18px 18px;gap:0;overflow:hidden}
.doctor-role{max-width:100%;align-self:flex-start}
.doctor-copy-pro h3{font-size:20px;line-height:1.22;margin:13px 0 8px;overflow-wrap:anywhere;word-break:normal}
.doctor-bio{font-size:11px!important;line-height:1.55!important;overflow-wrap:anywhere;word-break:normal;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.doctor-schedule-box{width:100%;box-sizing:border-box;margin-top:auto;padding:12px 12px;border-radius:15px}
.doctor-schedule-heading{min-width:0}
.doctor-schedule-heading>div{min-width:0}
.doctor-schedule-heading b,.doctor-schedule-heading small{overflow-wrap:anywhere}
.doctor-schedule-row-pro{grid-template-columns:minmax(0,1fr) auto;min-width:0}
.schedule-day{min-width:0;overflow-wrap:anywhere}
.doctor-schedule-row-pro strong{min-width:0;white-space:normal;overflow-wrap:anywhere}
.doctor-schedule-empty{overflow-wrap:anywhere}
.promo-panel-pro{top:100px}
.promo-card-pro h3,.promo-card-pro p{overflow-wrap:anywhere}
.service-contact-card{overflow:hidden}
.service-contact-card p{overflow-wrap:anywhere}
@media(max-width:1180px){
  .service-detail-layout{grid-template-columns:1fr}
  .service-side-column{grid-template-columns:minmax(0,1fr) minmax(300px,.7fr)}
  .promo-panel-pro{position:static}
}
@media(max-width:900px){
  .service-hero-card{grid-template-columns:1fr}
  .service-hero-media{min-height:330px;max-height:420px}
  .service-hero-media>img{min-height:330px}
  .doctor-grid-pro{grid-template-columns:repeat(2,minmax(0,1fr))}
  .doctor-card-pro{grid-template-columns:minmax(0,40%) minmax(0,60%);min-height:365px}
  .doctor-photo-pro{min-height:365px}
  .service-side-column{grid-template-columns:1fr}
}
@media(max-width:720px){
  .service-detail-pro{padding:22px 14px 70px}
  .service-hero-copy{padding:30px 22px}
  .service-hero-copy h1{font-size:34px;letter-spacing:-1px}
  .detail-panel,.doctors-section-pro{padding:20px 16px;border-radius:20px}
  .doctors-section-head{align-items:flex-start}
  .doctor-grid-pro{grid-template-columns:1fr}
  .doctor-card-pro{grid-template-columns:42% 58%;min-height:340px}
  .doctor-photo-pro{min-height:340px}
  .doctor-copy-pro{padding:18px 15px}
  .doctor-copy-pro h3{font-size:18px}
}
@media(max-width:480px){
  .doctor-card-pro{display:block;min-height:0}
  .doctor-photo-pro{height:290px;min-height:290px}
  .doctor-copy-pro{padding:18px}
  .doctor-schedule-row-pro{grid-template-columns:1fr;gap:4px}
  .doctor-schedule-row-pro strong{text-align:left}
}


/* ===== ABOUT US PRO ENHANCEMENT ===== */
.about-photo-story{margin-top:22px;display:grid;grid-template-columns:.82fr 1.18fr;gap:22px;padding:28px;border:1px solid var(--line);border-radius:26px;background:linear-gradient(135deg,#f6fbff,#ffffff 55%,#f1fbf6);box-shadow:var(--shadow-sm);overflow:hidden}
.about-photo-copy{display:flex;flex-direction:column;justify-content:center;padding:8px 10px 8px 8px}
.about-photo-copy h2,.about-accreditation h2{font-family:'Plus Jakarta Sans';font-size:clamp(27px,3.5vw,42px);line-height:1.14;letter-spacing:-1.2px;color:var(--ink-soft);margin:15px 0 12px}
.about-photo-copy p{color:var(--muted);line-height:1.8;font-size:14px;margin:0;max-width:540px}
.about-photo-points{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.about-photo-points span{display:inline-flex;align-items:center;gap:7px;padding:9px 11px;border:1px solid #dcecf6;background:#fff;border-radius:999px;color:#4f6a82;font-size:11px;font-weight:700}
.about-photo-points svg{color:#2a9a63}
.about-photo-collage{display:grid;grid-template-columns:1.25fr .75fr;grid-template-rows:1fr 1fr;gap:10px;min-height:390px}
.about-photo-card{margin:0;border-radius:18px;overflow:hidden;background:#eaf3f8;border:1px solid #dce8ef;box-shadow:0 12px 30px rgba(26,74,110,.08)}
.about-photo-card img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .5s ease}
.about-photo-card:hover img{transform:scale(1.035)}
.about-photo-1{grid-row:1 / span 2}
.about-photo-2,.about-photo-3{min-height:0}
.about-accreditation{margin-top:22px;display:grid;grid-template-columns:1fr 390px;gap:26px;align-items:stretch;padding:30px;border:1px solid #dce9f3;border-radius:26px;background:linear-gradient(120deg,#ffffff,#f7fbff);box-shadow:var(--shadow-sm)}
.accreditation-content{padding:4px 4px 4px 2px}
.accreditation-pill{background:#eaf8f1;border-color:#cfeede;color:#238b59}
.about-accreditation h2{font-size:clamp(26px,3.2vw,38px);margin-top:14px;max-width:760px}
.accreditation-meta{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0}
.accreditation-meta span{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:#edf6ff;border:1px solid #d8eafa;color:#2c6da3;font-size:10.5px;font-weight:800}
.about-accreditation p{color:var(--muted);line-height:1.85;font-size:14px;margin:0;max-width:760px}
.accreditation-values{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:20px}
.accreditation-values div{padding:14px;border-radius:15px;background:#fff;border:1px solid #e5edf4}
.accreditation-values strong{display:block;color:var(--ink-soft);font-size:12px;margin-bottom:4px}
.accreditation-values span{display:block;color:#72869a;font-size:10.5px;line-height:1.55}
.accreditation-photo{position:relative;min-height:300px;border-radius:19px;overflow:hidden;background:#edf5fb;border:1px solid #dbe8f1}
.accreditation-photo img{width:100%;height:100%;display:block;object-fit:cover}
.accreditation-photo span{position:absolute;left:14px;bottom:14px;display:inline-flex;align-items:center;gap:7px;padding:8px 11px;background:rgba(10,35,58,.78);color:#fff;border-radius:999px;font-size:10px;font-weight:700;backdrop-filter:blur(8px)}
.about-admin-divider{height:1px;background:#e9eff5;margin:24px 0 20px}
.settings-subheading{display:flex;align-items:flex-start;gap:10px;margin:2px 0 16px;padding:13px 14px;border-radius:13px;background:#f7fbff;border:1px solid #e2edf5}
.settings-subheading>.icon{width:32px;height:32px;border-radius:10px;background:#eaf4ff;color:var(--primary);display:grid;place-items:center;flex:0 0 auto}
.settings-subheading strong,.settings-subheading small{display:block}
.settings-subheading strong{color:var(--ink-soft);font-size:12px}
.settings-subheading small{color:#7b8da0;font-size:10.5px;line-height:1.5;margin-top:3px}
.about-photo-admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.about-upload-card{padding:13px;border:1px solid #e3ebf3;border-radius:15px;background:#fbfdff}
.about-upload-card>label{display:block;font-weight:800;color:#4b657d;font-size:11px;margin-bottom:8px}
.about-admin-preview{height:135px;border-radius:11px;overflow:hidden;background:#edf5fa;border:1px solid #dce8ef;margin-bottom:9px}
.about-admin-preview img{width:100%;height:100%;display:block;object-fit:cover}
.about-admin-preview>div{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;color:#91a4b5}
.about-admin-preview span{font-size:10px}
.about-upload-card input[type=file],.about-upload-accreditation input[type=file]{width:100%;font-size:10.5px}
.about-upload-accreditation{padding:16px;border:1px solid #e0eaf2;border-radius:16px;background:#fbfdff}
.accreditation-admin-preview{width:min(360px,100%);height:190px;border-radius:12px;overflow:hidden;border:1px solid #dce7ef;background:#edf4f9;margin:8px 0 10px}
.accreditation-admin-preview img{width:100%;height:100%;object-fit:cover;display:block}
.accreditation-admin-empty{height:100px;border:1px dashed #cbdbe7;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:9px;color:#8297aa;font-size:11px;margin:8px 0 10px;background:#f8fbfd}
@media(max-width:900px){
    .about-photo-story{grid-template-columns:1fr}
    .about-photo-collage{min-height:360px}
    .about-accreditation{grid-template-columns:1fr}
    .accreditation-photo{min-height:320px}
    .about-photo-admin-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
    .about-photo-story,.about-accreditation{padding:20px;border-radius:20px}
    .about-photo-collage{grid-template-columns:1fr 1fr;min-height:280px}
    .about-photo-1{grid-column:1 / span 2;grid-row:auto;height:220px}
    .about-photo-2,.about-photo-3{height:140px}
    .accreditation-values{grid-template-columns:1fr}
    .accreditation-photo{min-height:240px}
}


/* =====================================================================
   AZHANSYA — SERVICE GRID V3
   5 kolom desktop + micro-interactions + mobile responsive
   ===================================================================== */
.service-cards{
    max-width:1400px;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:16px;
    padding-inline:18px;
}
.service-card{
    min-width:0;
    min-height:306px;
    padding:22px 20px 18px;
    border-radius:20px;
    overflow:hidden;
    isolation:isolate;
    cursor:pointer;
    transform:translateZ(0);
    transition:
        transform .32s cubic-bezier(.2,.8,.2,1),
        box-shadow .32s ease,
        border-color .32s ease;
}
.service-card::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    background:radial-gradient(circle at 20% 0%,rgba(18,104,201,.10),transparent 38%);
    opacity:0;
    transition:opacity .32s ease;
    pointer-events:none;
}
.service-card:hover{
    transform:translateY(-8px) scale(1.012);
    border-color:#d4e5f4;
    box-shadow:0 22px 46px rgba(20,65,105,.14);
}
.service-card:hover::before{opacity:1}
.service-card:focus-visible{
    transform:translateY(-4px);
    box-shadow:0 0 0 4px rgba(18,104,201,.12),0 18px 40px rgba(20,65,105,.14);
}
.service-card:active,
.service-card.is-clicked{
    transform:translateY(-1px) scale(.985);
    box-shadow:0 8px 20px rgba(20,65,105,.12);
    transition-duration:.12s;
}
.service-card.has-image{padding:0 0 17px}
.service-card-media{
    height:142px;
    margin-bottom:0;
    border-radius:20px 20px 0 0;
    overflow:hidden;
}
.service-card-media::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,transparent 50%,rgba(8,35,65,.12));
    pointer-events:none;
}
.service-card-media img{
    transition:transform .65s cubic-bezier(.2,.8,.2,1),filter .35s ease;
}
.service-card:hover .service-card-media img{
    transform:scale(1.075);
    filter:saturate(1.05);
}
.service-card-media .icon-chip{
    left:14px;
    bottom:-19px;
    width:50px;
    height:50px;
    border-radius:14px;
}
.service-card:not(.has-image) > .icon-chip{
    margin-bottom:8px;
}
.service-card.has-image .service-card-body{
    padding:19px 20px 0;
}
.service-card:not(.has-image) .service-card-body{
    padding:0;
}
.service-card h3{
    font-size:16px;
    line-height:1.28;
    margin:0 0 7px;
    letter-spacing:-.2px;
}
.service-card p{
    font-size:12.5px;
    line-height:1.55;
    margin:0 0 14px;
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
}
.service-card-action{
    margin-top:auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    min-height:38px;
}
.service-next-label{
    display:inline-flex;
    align-items:center;
    gap:6px;
    color:#6b8197;
    font-size:10.5px;
    font-weight:800;
    letter-spacing:.1px;
    transition:color .25s ease,transform .25s ease;
}
.service-next-dot{
    width:6px;
    height:6px;
    border-radius:50%;
    background:var(--primary);
    box-shadow:0 0 0 4px rgba(18,104,201,.08);
    transition:transform .25s ease,box-shadow .25s ease;
}
.service-card:hover .service-next-label{color:var(--primary);transform:translateX(2px)}
.service-card:hover .service-next-dot{
    transform:scale(1.25);
    box-shadow:0 0 0 5px rgba(18,104,201,.11);
}
.card-arrow{
    width:36px;
    height:36px;
    flex:0 0 36px;
    margin:0!important;
    transition:transform .3s cubic-bezier(.2,.8,.2,1),background .25s ease,color .25s ease;
}
.service-card:hover .card-arrow{transform:translateX(3px) rotate(-4deg)}
.service-card.is-clicked .card-arrow{transform:scale(.9) rotate(-8deg)}
.service-card .icon-chip{transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease}
.service-card:hover .icon-chip{transform:translateY(-2px) scale(1.04);box-shadow:0 13px 25px rgba(18,104,201,.22)}
@media(max-width:1240px){
    .service-cards{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:980px){
    .service-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
    .service-card{min-height:290px;padding-inline:18px}
}
@media(max-width:680px){
    .section-block{padding-top:52px}
    .section-title h2{font-size:29px}
    .section-title p{font-size:14px;line-height:1.6}
    .service-cards{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:12px;
        padding-inline:12px;
    }
    .service-card{
        min-height:285px;
        padding:17px 15px 14px;
        border-radius:17px;
    }
    .service-card.has-image{padding:0 0 14px}
    .service-card-media{height:112px;border-radius:17px 17px 0 0}
    .service-card.has-image .service-card-body{padding:17px 15px 0}
    .service-card h3{font-size:14.5px}
    .service-card p{font-size:11.5px;line-height:1.5;-webkit-line-clamp:3}
    .service-next-label{font-size:9.5px}
    .card-arrow{width:32px;height:32px;flex-basis:32px}
    .service-card-media .icon-chip{width:44px;height:44px;left:12px;bottom:-17px}
}
@media(max-width:420px){
    .service-cards{grid-template-columns:1fr;gap:12px}
    .service-card,.service-card.has-image{min-height:0;padding-bottom:16px}
    .service-card-media{height:150px}
    .service-card.has-image .service-card-body{padding:18px 17px 0}
    .service-card:not(.has-image){min-height:210px}
    .service-card h3{font-size:16px}
    .service-card p{font-size:12px;-webkit-line-clamp:3}
}
@media(prefers-reduced-motion:reduce){
    .service-card,.service-card *{transition-duration:.01ms!important;animation-duration:.01ms!important}
}


/* =====================================================================
   AZHANSYA — SERVICE CTA V4
   CTA selalu sejajar, tidak overflow, dan dapat memakai teks custom
   ===================================================================== */
.service-card-action{
    width:100%;
    margin-top:auto;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:10px;
    min-height:38px;
    padding:0 20px;
    box-sizing:border-box;
}
.service-card.has-image .service-card-action{padding-inline:20px;}
.service-next-label{
    min-width:0;
    max-width:100%;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
    display:flex;
    align-items:center;
    gap:7px;
}
.service-next-text{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.service-card .card-arrow{
    margin:0 !important;
    justify-self:end;
}
.cta-setting-box{
    margin:14px 0 8px;
    padding:14px 15px;
    border:1px solid #dce9f3;
    border-radius:14px;
    background:linear-gradient(135deg,#f8fbff,#ffffff);
}
.cta-setting-box label{margin-top:0;}
.service-cta-settings{
    background:linear-gradient(135deg,#f9fcff,#ffffff);
}
@media(max-width:680px){
    .service-card-action{padding-inline:15px;gap:7px;}
    .service-card.has-image .service-card-action{padding-inline:15px;}
    .service-next-label{font-size:9.5px;gap:5px;}
}
@media(max-width:420px){
    .service-card-action{padding-inline:17px;}
    .service-card.has-image .service-card-action{padding-inline:17px;}
}

/* Admin login CAPTCHA */
.captcha-field{margin-top:2px}.captcha-row{display:grid;grid-template-columns:minmax(120px,132px) 46px minmax(120px,1fr);gap:8px;align-items:center}.captcha-image-wrap{height:52px;border-radius:11px;overflow:hidden;background:#eef5ff;border:1px solid #d9e3ed;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.65)}.captcha-image-wrap img{display:block;width:132px;height:52px;max-width:100%;user-select:none}.captcha-refresh{width:46px;height:52px;border:1px solid #d9e3ed;border-radius:11px;background:#fff;color:#1268c9;display:grid;place-items:center;cursor:pointer;transition:.18s}.captcha-refresh:hover{background:#f4f9ff;border-color:#1268c9;transform:translateY(-1px)}.captcha-refresh.is-spinning svg{animation:captcha-spin .45s ease}@keyframes captcha-spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}.captcha-input-shell{height:52px;border:1px solid #d9e3ed;border-radius:11px;display:flex;align-items:center;gap:8px;padding:0 12px;background:#fff;transition:.18s}.captcha-input-shell:focus-within{border-color:#1268c9;box-shadow:0 0 0 3px #eaf4ff}.captcha-input-shell>.icon{color:#8ea0b2;flex:0 0 auto}.captcha-input-shell input{border:0!important;box-shadow:none!important;outline:0!important;padding:0!important;height:100%;min-width:0;flex:1;font-size:13px;font-weight:700;letter-spacing:2px}.login-submit:disabled{opacity:.78;cursor:wait;transform:none}.login-submit.is-loading{box-shadow:none}@media(max-width:600px){.captcha-row{grid-template-columns:1fr 46px;gap:8px}.captcha-input-shell{grid-column:1 / -1}.captcha-image-wrap{width:100%}}


/* =====================================================================
   AZHANSYA — MOBILE WEB V2
   Optimasi layar HP 320px–768px: navigasi, hero, kartu, galeri, berita,
   detail layanan, footer, formulir, tabel admin dan login CAPTCHA.
   ===================================================================== */
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
img,svg,video{max-width:100%;height:auto;}
button,input,select,textarea{font:inherit;}
@media(max-width:768px){
  body{overflow-x:hidden;}
  .container,.container-fluid,.page-container,.section-inner{width:100%;max-width:none;padding-left:16px;padding-right:16px;box-sizing:border-box;}
  .site-header{position:sticky;top:0;z-index:1000;}
  .nav-container,.header-inner,.navbar,.site-nav{min-height:62px;}
  .nav-menu,.main-nav,.header-menu{gap:4px;}
  .hero,.hero-section,.home-hero{min-height:520px;}
  .hero-content,.hero-inner,.hero-copy{padding:58px 16px 42px!important;}
  .hero h1{font-size:clamp(30px,8vw,42px);line-height:1.12;max-width:100%;}
  .hero p{font-size:14px;line-height:1.65;max-width:100%;}
  .hero-actions,.hero-buttons{display:grid;grid-template-columns:1fr;gap:10px;width:100%;}
  .hero-actions .btn,.hero-buttons .btn{width:100%;justify-content:center;}
  .section-block{padding-top:48px;padding-bottom:48px;}
  .section-title{margin-bottom:24px;}
  .section-title h2{font-size:27px;line-height:1.2;}
  .section-title p{font-size:13px;line-height:1.65;}
  .service-cards,.cards-grid,.news-grid,.gallery-grid,.feature-grid,.doctor-grid{grid-template-columns:1fr!important;gap:14px;}
  .service-card,.news-card,.doctor-card,.feature-card{width:100%;min-width:0;}
  .service-card{min-height:0;}
  .service-card-media{height:180px;}
  .service-card h3{font-size:17px;}
  .service-card p{font-size:13px;line-height:1.6;-webkit-line-clamp:4;}
  .service-card-action{padding-inline:17px;}
  .promo-panel-pro,.promo-card,.promo-content{padding:18px!important;}
  .promo-panel-pro img,.promo-card img{width:100%;height:auto;object-fit:cover;border-radius:14px;}
  .service-detail-heading h1{font-size:32px!important;line-height:1.15;}
  .service-detail-heading .btn{width:100%;justify-content:center;}
  .doctors-section-pro{padding:18px 0!important;}
  .doctor-photo-pro{height:auto;min-height:0;aspect-ratio:4/3;}
  .doctor-copy-pro{padding:17px!important;}
  .doctor-schedule-box{overflow:hidden;}
  .doctor-schedule-row{grid-template-columns:1fr!important;gap:4px;}
  .about-hero,.about-section,.about-leadership{padding-left:16px!important;padding-right:16px!important;}
  .about-video,.about-video-slide,.video-frame{height:auto!important;min-height:0;aspect-ratio:16/9;}
  .leadership-grid{grid-template-columns:1fr!important;}
  .leader-card{display:block!important;}
  .leader-portrait{height:auto!important;min-height:0;aspect-ratio:4/3;}
  .leader-copy{padding:18px!important;}
  .gallery-item img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;}
  .news-card-image{height:auto!important;aspect-ratio:16/10;}
  .news-card-body{padding:16px!important;}
  .map-wrap,.map-container,.google-map{height:330px!important;}
  .footer-grid,.footer-columns{grid-template-columns:1fr!important;gap:24px;}
  .footer{padding-bottom:90px;}
  .floating-whatsapp{right:16px!important;bottom:16px!important;z-index:1100;}
  .modal-content,.dialog,.lightbox-content{width:calc(100% - 24px)!important;max-width:none!important;margin:12px;}
  table{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap;}
}
@media(max-width:480px){
  .container,.container-fluid,.page-container,.section-inner{padding-left:13px;padding-right:13px;}
  .hero,.hero-section,.home-hero{min-height:500px;}
  .hero-content,.hero-inner,.hero-copy{padding:48px 13px 34px!important;}
  .hero h1{font-size:30px;}
  .section-title h2{font-size:25px;}
  .service-cards{padding-inline:0!important;}
  .service-card-media{height:160px;}
  .service-card-action{padding-inline:15px;}
  .map-wrap,.map-container,.google-map{height:280px!important;}
}

/* Mobile admin: dashboard & CRUD tetap nyaman tanpa zoom */
@media(max-width:768px){
  .admin-layout,.dashboard-layout{display:block!important;}
  .admin-sidebar,.sidebar{position:fixed;left:-100%;top:0;bottom:0;width:min(290px,86vw);z-index:1200;transition:left .25s ease;overflow-y:auto;}
  .admin-sidebar.open,.sidebar.open{left:0;}
  .admin-main,.dashboard-main{width:100%!important;margin-left:0!important;}
  .admin-topbar,.dashboard-topbar{min-height:60px;padding:10px 13px!important;}
  .admin-content,.dashboard-content{padding:14px!important;}
  .stats-grid,.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;}
  .stat-card{min-width:0;padding:14px!important;}
  .admin-card,.content-card{border-radius:14px;overflow:hidden;}
  .admin-card-header,.card-header{display:flex;flex-wrap:wrap;gap:10px;padding:14px!important;}
  .admin-card-header .btn,.card-header .btn{width:100%;justify-content:center;}
  .admin-form-grid,.form-grid{grid-template-columns:1fr!important;}
  .admin-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .admin-table-wrap table{display:table;min-width:720px;}
}

/* Login mobile: CAPTCHA selalu terlihat utuh */
@media(max-width:700px){
  .login-page-v2{min-height:100dvh;display:block!important;}
  .login-visual{display:none!important;}
  .login-panel{width:100%!important;min-height:100dvh;padding:0 12px 24px!important;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;}
  .login-top-mobile{display:block!important;padding:14px 2px 8px;}
  .login-card-v2{width:100%!important;max-width:520px!important;margin:0 auto!important;padding:20px 17px!important;box-sizing:border-box;border-radius:20px;}
  .login-heading{gap:12px!important;align-items:flex-start!important;}
  .login-mini-logo{width:48px!important;height:48px!important;flex:0 0 48px!important;}
  .login-heading h2{font-size:24px!important;}
  .login-heading p{font-size:12px!important;line-height:1.5;}
  .login-field{margin-top:16px!important;}
  .captcha-row{grid-template-columns:minmax(0,1fr) 46px!important;gap:8px!important;}
  .captcha-image-wrap{min-width:0;width:100%;height:52px;}
  .captcha-image-wrap img{width:100%;height:52px;object-fit:cover;}
  .captcha-input-shell{grid-column:1/-1!important;width:100%;box-sizing:border-box;}
  .captcha-refresh{width:46px;min-width:46px;}
  .login-submit{width:100%;min-height:50px;}
  .login-security{font-size:11px!important;line-height:1.5;}
  .login-back{font-size:12px!important;}
  .login-footer{text-align:center;padding:14px 4px;font-size:10px;}
}
@media(max-width:360px){
  .login-panel{padding-left:8px!important;padding-right:8px!important;}
  .login-card-v2{padding:17px 13px!important;border-radius:17px;}
  .login-heading h2{font-size:21px!important;}
  .captcha-refresh{width:42px;min-width:42px;}
  .captcha-row{grid-template-columns:minmax(0,1fr) 42px!important;}
}

/* CAPTCHA hosting-safe: inline SVG, no external image request */
.captcha-image-wrap{display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:10px;min-width:132px;height:52px;background:#eef4fb;cursor:pointer}
.captcha-image-wrap svg{display:block;width:132px;height:52px;max-width:100%;height:auto}
@media (max-width:640px){.captcha-row{display:grid;grid-template-columns:minmax(118px,1fr) 48px;gap:10px}.captcha-input-shell{grid-column:1/-1}.captcha-image-wrap{width:100%;min-width:0}.captcha-image-wrap svg{width:132px}}


/* =====================================================================
   AZHANSYA — FINAL MOBILE / CPANEL POLISH
   Target: 320px–768px, touch-friendly, no horizontal overflow.
   ===================================================================== */
@media (max-width: 820px){
  .nav{
    min-height:66px;
    padding:8px 12px;
    gap:10px;
  }
  .brand{
    min-width:0;
    flex:1 1 auto;
    gap:8px;
    overflow:hidden;
  }
  .brand-logo{width:43px;height:43px}
  .brand b{
    font-size:14px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .brand span{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mobile-menu-toggle{width:42px;height:42px;flex:0 0 42px}
  .nav-links{
    top:66px;
    padding:10px 14px 14px;
    gap:2px;
    max-height:calc(100dvh - 66px);
    overflow:auto;
  }
  .nav-links a{
    padding:12px 10px;
    border-radius:10px;
  }
  .nav-links a:hover{background:var(--primary-light);border-bottom-color:transparent}
  .hero-slider{height:620px;min-height:0}
  .hero-slide-content{
    width:100%;
    box-sizing:border-box;
    justify-content:flex-end;
    padding:34px 18px 70px;
  }
  .hero-slide-content h1{
    font-size:clamp(30px,9vw,42px);
    line-height:1.08;
    margin:12px 0 12px;
    letter-spacing:-.8px;
  }
  .hero-slide-content p{font-size:14px;line-height:1.6}
  .hero-slide-content .hero-description{font-size:12.5px;line-height:1.55}
  .hero-actions{display:grid;grid-template-columns:1fr;gap:9px;width:100%;margin-top:18px}
  .hero-actions .hero-btn{width:100%;min-height:48px;padding:11px 14px}
  .slider-arrow{width:38px;height:38px}
  .slider-arrow.prev{left:12px}.slider-arrow.next{right:12px}
  .slider-dots{bottom:22px}
  .trust-bar{
    margin:-22px 12px 0;
    border-radius:16px;
  }
  .trust-bar>div{padding:14px 15px}
  .trust-bar b{font-size:12px}.trust-bar small{font-size:10px}
  .section-block{padding-top:42px;padding-bottom:42px}
  .section-title.compact{padding-inline:4px}
  .section-title h2{font-size:26px}
  .content-grid{grid-template-columns:1fr!important;padding-inline:12px;gap:12px}
  .content-panel{min-width:0}
  .panel-heading{gap:10px}
  .panel-heading h2{font-size:16px}
  .news-item{gap:11px;padding:13px 0}
  .news-thumb{width:62px;height:62px;flex:0 0 62px}
  .schedule-row{padding:12px 0;gap:9px}
  .schedule-row>strong{font-size:12px}
  footer{padding-bottom:96px}
}
@media (max-width: 520px){
  .nav{padding-inline:9px}
  .brand-logo{width:39px;height:39px}
  .brand b{font-size:12.5px}
  .brand span{font-size:9px}
  .mobile-menu-toggle{width:40px;height:40px;flex-basis:40px}
  .hero-slider{height:560px}
  .hero-slide-content{padding:26px 14px 58px}
  .hero-slide-content h1{font-size:30px}
  .hero-slide-content p{font-size:13px}
  .hero-slide-content .hero-description{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .hero-promo-meta{gap:7px;flex-wrap:wrap}
  .trust-bar{margin-inline:9px}
  .section-title h2{font-size:24px}
  .section-title p{font-size:12.5px}
  .service-card{border-radius:16px}
  .service-card-media{height:150px}
  .service-card.has-image .service-card-body{padding:16px 15px 0}
  .service-card h3{font-size:16px}
  .service-card p{font-size:12px;line-height:1.55}
  .content-grid{padding-inline:9px}
}

/* Admin: real classes used by the V2 layout */
@media (max-width: 900px){
  .admin-content-v2{padding-inline:14px}
  .sidebar-v2{width:min(292px,88vw)}
  .admin-top-v2{height:70px;margin-bottom:18px}
  .admin-top-v2 h2{font-size:18px}
  .breadcrumb{font-size:8px}
}
@media (max-width: 600px){
  .admin-content-v2{padding-inline:10px;padding-bottom:35px}
  .admin-top-v2{height:66px;margin-bottom:14px}
  .admin-top-v2 h2{font-size:17px}
  .toolbar{
    align-items:stretch;
    margin-bottom:14px;
    gap:10px;
  }
  .toolbar>div{min-width:0;flex:1}
  .toolbar h1{font-size:18px;line-height:1.25}
  .toolbar p{font-size:11.5px;line-height:1.5}
  .toolbar>.btn{width:100%;min-height:46px}
  .table-wrap{
    padding:7px;
    border-radius:14px;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }
  .table-wrap table{min-width:720px}
  .table-wrap th{padding:11px 12px;font-size:10.5px}
  .table-wrap td{padding:12px;font-size:12px}
  .table-media-row{min-width:220px}
  .table-media-row>img{width:60px;height:42px}
  .table-main{font-size:12px}
  .table-sub{font-size:10px}
  .form-card{max-width:none}
  .form-card h1{font-size:19px}
  .two{grid-template-columns:1fr}
  .form-card .btn{width:100%;min-height:46px}
  .settings-grid{grid-template-columns:1fr!important}
  .settings-card{min-width:0}
  .dashboard-shell{width:100%}
  .dashboard-hero{border-radius:17px}
  .hero-main{padding:22px 18px}
  .dashboard-hero h1{font-size:23px}
  .dashboard-hero p{font-size:12px}
  .stats-grid-v2{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .stat-card-v2{min-height:122px;padding:12px}
  .stat-card-v2 strong{font-size:21px}
  .stat-label{font-size:10.5px}
  .stat-link{font-size:9.5px}
  .quick-panel{padding:15px;margin-top:12px;border-radius:14px}
  .quick-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .quick-links a{padding:9px 7px;font-size:10px}
  .quick-links a span{width:27px;height:27px}
}
@media (max-width: 380px){
  .stats-grid-v2{grid-template-columns:1fr 1fr}
  .stat-card-v2{min-height:112px}
  .stat-card-v2 strong{font-size:19px}
  .top-left{gap:8px}
  .sidebar-open{width:38px;height:38px}
  .dashboard-hero h1{font-size:21px}
}

/* Login: stable on very narrow phones */
@media (max-width: 520px){
  .login-panel{padding:14px!important}
  .login-card-v2{padding:18px 15px!important;border-radius:18px}
  .login-heading{gap:10px!important}
  .login-heading h2{font-size:22px!important}
  .login-heading p{font-size:11px!important}
  .login-field label{font-size:12px}
  .input-shell{min-height:48px}
  .captcha-row{grid-template-columns:minmax(0,1fr) 44px!important}
  .captcha-refresh{width:44px;min-width:44px;height:50px}
  .captcha-input-shell{min-height:50px}
  .login-submit{min-height:50px;font-size:13px}
}


/* =====================================================================
   AZHANSYA — MOBILE PRO LAYER (update 09/2026)
   Perapihan akhir untuk layar 320px–900px + panel admin.
   Ditulis paling bawah agar menimpa aturan sebelumnya dengan aman.
   ===================================================================== */

:root{
  --safe-l:env(safe-area-inset-left,0px);
  --safe-r:env(safe-area-inset-right,0px);
  --safe-b:env(safe-area-inset-bottom,0px);
  --safe-t:env(safe-area-inset-top,0px);
  --mobile-bar-h:64px;
}

/* --- Dasar: hilangkan geser horizontal di semua halaman --- */
html,body{max-width:100%;overflow-x:clip}
img,video,svg,table,pre{max-width:100%}
.table-wrap,.scroll-x{-webkit-overflow-scrolling:touch}

/* --- Target sentuh minimal & input tidak memicu zoom iOS --- */
@media (max-width:900px){
  a,button,[role="button"],summary{-webkit-tap-highlight-color:rgba(18,104,201,.12)}
  input,select,textarea{font-size:16px!important}
  .btn,button.btn,.login-submit{min-height:48px}
}

/* =====================================================================
   NAVIGASI PUBLIK — drawer yang rapi
   ===================================================================== */
@media (max-width:900px){
  .nav{
    padding-left:calc(12px + var(--safe-l));
    padding-right:calc(12px + var(--safe-r));
    box-shadow:0 2px 14px rgba(15,45,85,.06);
  }
  .mobile-menu-toggle{display:inline-flex}
  .nav-cta{display:none}

  .nav-links{
    position:fixed;
    left:0;right:0;
    top:var(--nav-h,66px);
    display:block;
    background:#fff;
    border-top:1px solid var(--line);
    box-shadow:0 22px 40px rgba(12,40,75,.16);
    padding:10px 14px calc(16px + var(--safe-b));
    max-height:calc(100dvh - var(--nav-h,66px));
    overflow-y:auto;
    transform:translateY(-8px);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .18s ease,transform .18s ease,visibility .18s;
    z-index:150;
  }
  .nav-links.is-open{
    transform:translateY(0);
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }
  .nav-links a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:100%;
    min-height:48px;
    padding:12px 12px;
    border:0;
    border-bottom:1px solid #f0f5fa;
    border-radius:10px;
    font-size:15px;
    font-weight:600;
    color:#22364f;
  }
  .nav-links a:last-of-type{border-bottom:0}
  .nav-links a.is-active,.nav-links a:active{background:var(--primary-light);color:var(--primary-dark)}
  .nav-links .nav-drawer-cta{
    margin-top:10px;
    background:var(--primary);
    color:#fff;
    justify-content:center;
    gap:8px;
    border-radius:12px;
    box-shadow:0 10px 22px rgba(18,104,201,.22);
  }
  .nav-links .nav-drawer-cta:active{background:var(--primary-dark);color:#fff}

  body.nav-open{overflow:hidden}
  .nav-backdrop{
    position:fixed;inset:0;
    background:rgba(11,34,62,.42);
    backdrop-filter:blur(2px);
    opacity:0;visibility:hidden;
    transition:.2s;
    z-index:140;
  }
  .nav-backdrop.is-visible{opacity:1;visibility:visible}
}

/* =====================================================================
   BAR AKSI BAWAH (khusus mobile) — terlihat profesional & praktis
   ===================================================================== */
.mobile-action-bar{display:none}

@media (max-width:900px){
  .mobile-action-bar{
    position:fixed;
    left:0;right:0;bottom:0;
    z-index:160;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:2px;
    background:rgba(255,255,255,.96);
    backdrop-filter:blur(14px);
    border-top:1px solid var(--line);
    padding:8px 8px calc(8px + var(--safe-b));
    box-shadow:0 -6px 22px rgba(12,40,75,.10);
  }
  .mobile-action-bar a{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:3px;
    min-height:48px;
    border-radius:12px;
    font-size:11px;
    font-weight:700;
    letter-spacing:.1px;
    color:#41586f;
    padding:6px 4px;
  }
  .mobile-action-bar a .icon{color:var(--primary)}
  .mobile-action-bar a.is-primary{background:var(--green);color:#fff}
  .mobile-action-bar a.is-primary .icon{color:#fff}
  .mobile-action-bar a:active{transform:scale(.97)}

  /* Tombol WhatsApp melayang disembunyikan supaya tidak menumpuk. */
  .wa-float{display:none!important}
  footer{padding-bottom:calc(var(--mobile-bar-h) + 26px + var(--safe-b))!important}
}

/* =====================================================================
   FOOTER PUBLIK — lebih terbaca di layar kecil
   ===================================================================== */
@media (max-width:820px){
  .footer-grid{
    grid-template-columns:1fr!important;
    gap:24px;
    padding-inline:18px;
  }
  .footer-grid h4{
    font-size:13px;
    letter-spacing:.6px;
    text-transform:uppercase;
    margin-bottom:10px;
  }
  .footer-grid a,.footer-grid p{font-size:13.5px;line-height:1.7}
  .footer-grid .contact-row{
    display:flex;
    align-items:flex-start;
    gap:9px;
    word-break:break-word;
  }
  .copyright{font-size:11.5px;padding-inline:18px;text-align:center}
}

/* =====================================================================
   KARTU & GRID PUBLIK
   ===================================================================== */
@media (max-width:820px){
  .section-title h2{line-height:1.2;letter-spacing:-.4px}
  .section-title p{max-width:58ch;margin-inline:auto}
  .cards,.service-grid,.gallery-grid,.news-grid{
    grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr))!important;
    gap:12px;
    padding-inline:12px;
  }
  .card,.service-card,.gallery-card,.news-card{min-width:0}
  .cta-strip{
    flex-direction:column;
    align-items:stretch;
    gap:14px;
    text-align:center;
    padding:24px 18px;
    margin-inline:12px;
    border-radius:18px;
  }
  .cta-strip .btn{width:100%}
}

@media (max-width:520px){
  .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px}
  .gallery-card img{height:128px;object-fit:cover}
}

/* =====================================================================
   PANEL ADMIN — tabel menjadi kartu di layar kecil
   ===================================================================== */
@media (max-width:760px){
  .table-wrap{
    background:transparent;
    border:0;
    box-shadow:none;
    padding:0;
    overflow:visible;
  }
  .table-wrap table,
  .table-wrap thead,
  .table-wrap tbody,
  .table-wrap tr,
  .table-wrap th,
  .table-wrap td{display:block;min-width:0!important;width:auto}

  .table-wrap thead{
    position:absolute;
    width:1px;height:1px;
    overflow:hidden;
    clip:rect(0 0 0 0);
    white-space:nowrap;
  }

  .table-wrap tr{
    background:#fff;
    border:1px solid #e3ecf5;
    border-radius:15px;
    padding:6px 14px 12px;
    margin-bottom:11px;
    box-shadow:0 6px 16px rgba(20,50,85,.055);
  }

  .table-wrap td{
    display:grid;
    grid-template-columns:96px minmax(0,1fr);
    align-items:start;
    gap:10px;
    padding:10px 0;
    border-bottom:1px dashed #eef3f8;
    font-size:13.5px;
  }
  .table-wrap tr td:last-child{border-bottom:0;padding-bottom:0}

  .table-wrap td::before{
    content:attr(data-label);
    font-size:10.5px;
    font-weight:800;
    letter-spacing:.5px;
    text-transform:uppercase;
    color:#8397ab;
    padding-top:3px;
  }
  .table-wrap td[data-label=""]::before{display:none}

  .table-media-row{min-width:0;display:flex;gap:10px;align-items:center}
  .table-media-row>img{width:64px;height:48px;object-fit:cover;border-radius:9px;flex:0 0 64px}
  .table-main{font-size:13.5px;font-weight:700;line-height:1.35}
  .table-sub{display:block;font-size:11.5px;color:#7a8ca0;line-height:1.5}

  /* Baris aksi jadi dua tombol lebar. */
  .table-wrap td[data-label="Aksi"]{
    grid-template-columns:1fr;
    gap:8px;
    padding-top:12px;
    border-top:1px solid #eef3f8;
    margin-top:2px;
  }
  .table-wrap td[data-label="Aksi"]::before{display:none}
  .table-wrap td[data-label="Aksi"]>a,
  .table-wrap td[data-label="Aksi"] button{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    width:100%;
    min-height:44px;
    border-radius:11px;
    font-size:13px;
    font-weight:700;
    border:1px solid #d8e4f0;
    background:#f5f9fd;
    color:var(--primary-dark);
    cursor:pointer;
  }
  .table-wrap td[data-label="Aksi"] button{
    border-color:#f4cfc9;
    background:#fdf2f0;
    color:#bf3a28;
  }
  .table-wrap td[data-label="Aksi"] form.inline{display:block;width:100%;margin-top:8px}
}

/* Toolbar admin: tombol tambah data selalu mudah dijangkau. */
@media (max-width:760px){
  .toolbar{
    position:sticky;
    top:0;
    z-index:60;
    background:#f7fafd;
    padding-block:10px;
    margin-inline:-2px;
  }
  .toolbar h1{display:flex;align-items:center;gap:8px}
}

/* Form admin: satu kolom, jarak nyaman. */
@media (max-width:760px){
  .form-card{padding:18px 15px;border-radius:16px}
  .form-card label{margin-top:14px;font-size:13px;font-weight:700}
  .form-card input,
  .form-card select,
  .form-card textarea{
    width:100%;
    min-height:48px;
    border-radius:11px;
    padding:12px 13px;
  }
  .form-card textarea{min-height:120px;line-height:1.6}
  .form-card .two{display:grid;grid-template-columns:1fr;gap:0}
  .form-card label.check{
    display:flex;
    align-items:center;
    gap:10px;
    min-height:48px;
    margin-top:18px;
    padding:10px 13px;
    background:#f5f9fd;
    border:1px solid #e1ebf5;
    border-radius:12px;
  }
  .form-card label.check input{width:20px;min-height:20px;height:20px;flex:0 0 20px}
  .form-card>form>.btn{
    position:sticky;
    bottom:calc(10px + var(--safe-b));
    width:100%;
    margin-top:20px;
    min-height:52px;
    font-size:15px;
    box-shadow:0 12px 26px rgba(18,104,201,.30);
  }
  .form-help,.form-help-inline{display:block;font-size:11.5px;line-height:1.55;color:#7a8ca0;margin-top:6px}
  .form-section-note{
    display:flex;gap:10px;align-items:flex-start;
    padding:13px;border-radius:12px;background:#eef6ff;border:1px solid #d5e7fa;
    margin-bottom:6px;
  }
  .form-section-note span{display:block;font-size:12px;line-height:1.55;color:#4b627c}
}

/* Halaman pengaturan. */
@media (max-width:760px){
  .settings-grid{grid-template-columns:1fr!important;gap:12px}
  .settings-card{padding:16px;border-radius:15px}
  .settings-card h3{font-size:15px}
}

/* Sidebar admin: lebih nyaman disentuh. */
@media (max-width:900px){
  .sidebar-v2{
    width:min(300px,86vw);
    padding-bottom:calc(14px + var(--safe-b));
  }
  .side-link{min-height:46px;font-size:13.5px}
  .sidebar-account{padding-bottom:calc(12px + var(--safe-b))}
  .admin-content-v2{padding-bottom:calc(40px + var(--safe-b))}
  .admin-top-v2{position:sticky;top:0;z-index:70;background:#f7fafd}
}

/* Notifikasi admin. */
@media (max-width:760px){
  .admin-alerts .alert{
    display:flex;align-items:flex-start;gap:9px;
    font-size:13px;line-height:1.5;padding:12px 13px;border-radius:12px;
  }
}

/* =====================================================================
   HALAMAN LOGIN — rapi sampai layar 320px
   ===================================================================== */
@media (max-width:900px){
  .login-panel{
    min-height:100dvh;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:22px 16px calc(22px + var(--safe-b));
  }
  .login-card-v2{width:min(440px,100%);margin-inline:auto}
  .login-heading{display:flex;align-items:center;gap:12px}
  .login-mini-logo img{width:46px;height:46px;object-fit:contain}
  .input-shell{min-height:50px}
  .login-security{font-size:11.5px;line-height:1.55}
}

@media (max-width:360px){
  .login-card-v2{padding:16px 13px!important}
  .login-heading h2{font-size:20px!important}
  .captcha-image-wrap svg{width:118px}
  .captcha-refresh{width:42px;min-width:42px}
}

/* =====================================================================
   AKSESIBILITAS & GERAK
   ===================================================================== */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important;
    scroll-behavior:auto!important;
  }
}

@media print{
  .nav,.nav-links,.mobile-action-bar,.wa-float,.sidebar-v2,.admin-top-v2{display:none!important}
  body{background:#fff}
}

/* Notifikasi informasi (login & admin). */
.login-alert.is-info{background:#eef6ff;border-color:#cfe4fb;color:#1a4c86}
.login-alert.is-info .alert-icon{background:#d9eaff;color:#1268c9}
.alert.info{background:#eef6ff;border:1px solid #cfe4fb;color:#1a4c86}


/* =====================================================================
   BERANDA — SECTION "TENTANG KAMI" (update 09/2026)
   Ditempatkan di antara Layanan Unggulan dan Berita/Promo.
   ===================================================================== */
.about-home{background:linear-gradient(180deg,#f7fbff 0%,#fff 100%);border-radius:32px;margin:0 auto;max-width:1280px;padding:56px clamp(18px,4vw,48px) 48px}

.about-home-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:stretch;margin-top:8px}

.about-home-copy{background:#fff;border:1px solid var(--line);border-radius:24px;padding:34px 32px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column}
.about-home-copy .pill{width:max-content}
.about-home-copy h3{font-family:'Plus Jakarta Sans',sans-serif;color:var(--ink-soft);font-size:23px;line-height:1.32;margin:14px 0 12px;letter-spacing:-.3px}
.about-home-copy>p{color:var(--muted);font-size:14px;line-height:1.8;margin:0 0 18px}
.about-home-points{display:flex;flex-direction:column;gap:10px;margin-bottom:22px}
.about-home-points span{display:flex;align-items:center;gap:9px;color:#3c5773;font-size:13px;font-weight:600}
.about-home-points span .icon,.about-home-points span svg{color:var(--green-dark);flex:0 0 auto}
.about-home-more{margin-top:auto;width:max-content}

.about-home-media{min-height:100%}
.about-home-collage{display:grid;gap:12px;height:100%;min-height:340px;border-radius:24px;overflow:hidden}
.about-home-collage figure{margin:0;position:relative;overflow:hidden;background:#eaf3fb}
.about-home-collage figure img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.about-home-collage figure:hover img{transform:scale(1.04)}
.about-home-collage-1{grid-template-columns:1fr}
.about-home-collage-2{grid-template-columns:1fr 1fr}

.about-home-media-placeholder{height:100%;min-height:340px;border-radius:24px;border:1.5px dashed #c9dced;background:#f2f8fd;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;color:#7a90a6;padding:30px}
.about-home-media-placeholder svg{color:var(--primary)}
.about-home-media-placeholder span{font-size:12.5px;line-height:1.6;max-width:260px}

.about-home-vm{display:grid;grid-template-columns:1fr 1.3fr;gap:16px;margin-top:22px}
.about-home-vm-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:26px 28px;box-shadow:var(--shadow-sm)}
.about-home-vm-card.is-mission{background:linear-gradient(150deg,#fff,#f6fbff)}
.about-home-vm-card .about-icon{width:44px;height:44px;border-radius:13px;background:var(--primary-light);color:var(--primary);display:grid;place-items:center;margin-bottom:14px}
.about-home-vm-card .section-kicker{display:block;margin-bottom:8px}
.about-home-vm-card>p{color:var(--muted);font-size:13.5px;line-height:1.75;margin:0}
.about-home-mission-list{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.about-home-mission-list li{display:flex;align-items:flex-start;gap:9px;color:#3c5773;font-size:13px;line-height:1.6;font-weight:500}
.about-home-mission-list li svg{color:var(--green-dark);flex:0 0 auto;margin-top:3px}

.about-home-accreditation{display:grid;grid-template-columns:1.3fr .7fr;gap:26px;align-items:center;margin-top:22px;background:linear-gradient(135deg,#f4fbf7,#fff);border:1px solid #d9eee2;border-radius:24px;padding:30px 32px}
.about-home-accreditation-copy h3{font-family:'Plus Jakarta Sans',sans-serif;color:var(--ink-soft);font-size:21px;margin:12px 0 10px;line-height:1.35}
.about-home-accreditation-copy>p{color:var(--muted);font-size:13.5px;line-height:1.75;margin:0}
.about-home-accreditation-photo{position:relative;min-height:190px;border-radius:18px;overflow:hidden;border:1px solid #dbe8f1;background:#edf5fb}
.about-home-accreditation-photo img{width:100%;height:100%;object-fit:cover;display:block}

.about-home-leaders{margin-top:26px}
.about-home-leaders-head{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.about-home-leaders-head h3{font-family:'Plus Jakarta Sans',sans-serif;color:var(--ink-soft);font-size:20px;margin:0}
.about-home-leaders-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.about-home-leader-card{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px 16px;box-shadow:var(--shadow-sm)}
.about-home-leader-photo{position:relative;width:56px;height:56px;border-radius:50%;overflow:hidden;flex:0 0 56px;background:var(--primary-light)}
.about-home-leader-photo img{width:100%;height:100%;object-fit:cover;display:block}
.about-home-leader-placeholder{position:absolute;inset:0;display:none;align-items:center;justify-content:center;color:var(--primary)}
.about-home-leader-placeholder.is-visible{display:flex}
.about-home-leader-card h4{font-family:'Plus Jakarta Sans',sans-serif;color:var(--ink-soft);font-size:14.5px;margin:3px 0 0;line-height:1.3}
.about-home-leader-card .section-kicker{font-size:10px}

/* ---------------------------------------------------------------------
   Responsif
   --------------------------------------------------------------------- */
@media(max-width:1050px){
  .about-home-grid{grid-template-columns:1fr}
  .about-home-media{order:-1}
  .about-home-collage,.about-home-media-placeholder{min-height:260px}
  .about-home-vm{grid-template-columns:1fr}
  .about-home-accreditation{grid-template-columns:1fr}
  .about-home-accreditation-photo{min-height:220px;order:-1}
  .about-home-leaders-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:820px){
  .about-home{border-radius:22px;padding:40px 18px 34px;margin-inline:12px}
  .about-home-copy{padding:24px 20px;border-radius:18px}
  .about-home-copy h3{font-size:20px}
  .about-home-vm-card{padding:20px 20px;border-radius:18px}
  .about-home-accreditation{padding:22px 18px;border-radius:18px}
  .about-home-leaders-grid{grid-template-columns:1fr}
}

@media(max-width:520px){
  .about-home-collage-2{grid-template-columns:1fr}
  .about-home-more{width:100%;justify-content:center}
}


/* =====================================================================
   AZHANSYA — POLISH 09/2026
   1) Section Tentang Kami dibuat lebih compact/ramping.
   2) Drawer menu mobile tidak tertutup CTA/bar bawah dan seluruh item
      tetap dapat disentuh/diklik.
   ===================================================================== */

/* Tentang Kami di Beranda — lebih ringkas dan seimbang */
.about-home{
  max-width:1180px;
  padding:40px clamp(16px,3vw,34px) 36px;
  border-radius:26px;
}
.about-home .section-title{padding-bottom:22px}
.about-home .section-title h2{
  font-size:clamp(27px,2.7vw,34px);
  line-height:1.18;
  margin:8px 0 8px;
}
.about-home .section-title p{font-size:14px;line-height:1.65}
.about-home-grid{gap:22px;margin-top:2px}
.about-home-copy{padding:24px 25px;border-radius:19px}
.about-home-copy h3{font-size:20px;line-height:1.3;margin:12px 0 10px}
.about-home-copy>p{font-size:13.2px;line-height:1.7;margin-bottom:15px}
.about-home-points{gap:7px;margin-bottom:17px}
.about-home-points span{font-size:12.2px;gap:7px}
.about-home-more{padding:10px 15px;font-size:13px;border-radius:10px}
.about-home-collage,.about-home-media-placeholder{min-height:270px}
.about-home-collage{gap:9px;border-radius:19px}
.about-home-collage figure{border-radius:14px}
.about-home-vm{gap:12px;margin-top:16px}
.about-home-vm-card{padding:20px 22px;border-radius:18px}
.about-home-vm-card>p{font-size:12.5px;line-height:1.65}
.about-home-mission-list{gap:7px}
.about-home-mission-list li{font-size:12.2px;line-height:1.5}
.about-home-accreditation{gap:20px;margin-top:16px;padding:22px 24px;border-radius:19px}
.about-home-accreditation-copy h3{font-size:19px;margin:9px 0 8px}
.about-home-accreditation-copy>p{font-size:12.5px;line-height:1.65}
.about-home-accreditation-photo{min-height:155px;border-radius:14px}
.about-home-leaders{margin-top:19px}
.about-home-leaders-head{margin-bottom:12px}
.about-home-leaders-head h3{font-size:18px}
.about-home-leader-card{padding:11px 13px;border-radius:15px}
.about-home-leader-photo{width:50px;height:50px;flex-basis:50px}
.about-home-leader-card h4{font-size:13.5px}

/* Halaman Tentang Kami — heading/card juga dibuat lebih ramping */
.about-page{padding-top:28px;padding-bottom:58px}
.about-video-hero{margin-top:18px}
.about-video-slider{min-height:430px;border-radius:23px}
.about-video-caption{padding:42px}
.about-video-caption h1{font-size:clamp(31px,4vw,48px);margin:14px 0 10px}
.about-video-caption p{font-size:14px;line-height:1.6}
.about-photo-story{margin-top:18px;padding:22px;border-radius:21px;gap:18px}
.about-photo-copy h2,.about-accreditation h2{font-size:clamp(24px,3vw,34px);margin:12px 0 10px}
.about-photo-copy p{font-size:13px;line-height:1.7}
.about-photo-points{margin-top:15px}
.about-photo-collage{min-height:310px;gap:8px}
.about-grid{gap:14px;margin-top:18px}
.about-card{padding:23px 25px;border-radius:19px}
.about-icon{width:43px;height:43px;border-radius:12px;margin-bottom:13px}
.about-card h2{font-size:21px;margin:7px 0 9px}
.about-card p{font-size:13px;line-height:1.7}
.about-leadership{margin-top:18px;padding:25px;border-radius:20px}
.leadership-heading{margin-bottom:16px}
.leadership-heading h2{font-size:24px}
.leadership-heading p{font-size:13px}
.leadership-grid{gap:14px}
.leader-card{grid-template-columns:175px minmax(0,1fr);border-radius:17px}
.leader-portrait{min-height:245px}
.leader-copy{padding:19px 18px}
.about-accreditation{margin-top:18px;padding:23px;border-radius:20px;gap:20px}
.about-accreditation h2{font-size:30px}
.accreditation-photo{min-height:245px;border-radius:16px}

/* Mobile drawer: jangan biarkan bar aksi bawah menutup menu */
@media (max-width:900px){
  .nav-links{
    z-index:300 !important;
    top:var(--nav-h,66px);
    max-height:calc(100dvh - var(--nav-h,66px));
  }
  .nav-links.is-open{pointer-events:auto !important}
  .nav-backdrop{z-index:280 !important}
  .mobile-action-bar{z-index:200 !important}
  body.nav-open .mobile-action-bar{
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
  }
  body.nav-open .nav-links{
    max-height:calc(100dvh - var(--nav-h,66px));
  }
  .about-home{padding:30px 15px 28px;margin-inline:10px;border-radius:21px}
  .about-home .section-title{padding-bottom:18px}
  .about-home .section-title h2{font-size:25px}
  .about-home .section-title p{font-size:12.5px}
  .about-home-grid{gap:13px}
  .about-home-copy{padding:20px 18px;border-radius:17px}
  .about-home-copy h3{font-size:18px}
  .about-home-copy>p{font-size:12.5px;line-height:1.65}
  .about-home-collage,.about-home-media-placeholder{min-height:230px}
  .about-home-vm-card{padding:18px 18px}
  .about-home-accreditation{padding:18px 17px}
  .about-page{padding-inline:14px;padding-top:20px}
  .about-video-hero{padding-inline:0}
  .about-video-slider{min-height:390px;border-radius:19px}
  .about-video-caption{padding:27px 23px 43px}
  .about-video-caption h1{font-size:30px}
  .about-photo-story{padding:18px;border-radius:18px}
  .about-card{padding:20px 18px}
  .about-leadership{padding:20px}
  .about-accreditation{padding:19px}
}

@media (max-width:520px){
  .about-home{margin-inline:8px;padding:26px 13px 24px}
  .about-home .section-title h2{font-size:23px}
  .about-home-copy h3{font-size:17px}
  .about-home-collage,.about-home-media-placeholder{min-height:205px}
  .about-home-more{width:100%;justify-content:center}
  .about-video-slider{min-height:350px}
  .about-video-caption{padding:23px 19px 38px}
  .about-video-caption h1{font-size:27px}
}

/* =====================================================================
   AZHANSYA — TENTANG KAMI: perapihan hero, foto, dan visi & misi
   (update 09/2026) — ditulis paling akhir agar menimpa aturan lama.
   ===================================================================== */

/* --- Hero video: sedikit lebih ringkas & proporsional --- */
.about-video-hero{margin-top:20px}
.about-video-slider{min-height:400px;border-radius:22px}
.about-video-caption{padding:36px;max-width:600px}
.about-video-caption h1{font-size:clamp(26px,3.6vw,40px);margin:12px 0 10px;letter-spacing:-1px}
.about-video-caption p{font-size:14px;line-height:1.65}

/* --- Foto: slider kecil & rapi, menggantikan kolase besar --- */
.about-photo-story{align-items:stretch}
.about-photo-slider{position:relative;border-radius:18px;overflow:hidden;min-height:260px;background:#eaf3f8;box-shadow:0 12px 30px rgba(26,74,110,.1)}
.about-photo-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .4s ease}
.about-photo-slide.is-active{opacity:1;visibility:visible}
.about-photo-slide img{width:100%;height:100%;object-fit:cover;display:block}
.about-photo-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:34px;height:34px;border:0;border-radius:50%;background:rgba(8,31,52,.45);color:#fff;display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(4px)}
.about-photo-arrow.prev{left:12px}
.about-photo-arrow.next{right:12px}
.about-photo-dots{position:absolute;left:14px;bottom:12px;z-index:3;display:flex;gap:6px}
.about-photo-dots button{width:20px;height:4px;border:0;border-radius:99px;background:rgba(255,255,255,.55);cursor:pointer;padding:0}
.about-photo-dots button.is-active{background:#fff}

/* --- Profil / Visi / Misi: tiga kartu ringkas & konsisten --- */
.about-vm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}
.about-vm-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px 22px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column}
.about-vm-card.is-vision{background:linear-gradient(150deg,#fff,#f6fbff)}
.about-vm-card.is-mission{background:linear-gradient(150deg,#fff,#f6fcf9)}
.about-vm-card h2{font-family:'Plus Jakarta Sans';color:var(--ink-soft);font-size:18px;line-height:1.3;margin:8px 0 10px}
.about-vm-card p,.about-vm-lead{color:var(--muted);line-height:1.7;font-size:13.5px;margin:8px 0 0}
.about-vm-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:9px}
.about-vm-list li{display:flex;align-items:flex-start;gap:8px;color:#52687e;font-size:13px;line-height:1.55}
.about-vm-list li>svg,.about-vm-list li>.icon{flex:0 0 auto;margin-top:2px;color:#2b9b61}

@media(max-width:900px){
  .about-video-slider{min-height:340px}
  .about-video-caption{padding:26px}
  .about-photo-slider{min-height:220px}
  .about-vm-grid{grid-template-columns:1fr;gap:12px}
}
@media(max-width:600px){
  .about-video-slider{min-height:300px;border-radius:18px}
  .about-video-caption{padding:20px 18px 30px}
  .about-video-caption h1{font-size:24px}
  .about-video-caption p{font-size:13px}
  .about-photo-story{padding:18px}
  .about-photo-slider{min-height:190px;border-radius:14px}
  .about-vm-card{padding:20px 18px;border-radius:16px}
}



/* ===== Ulasan Konsumen ===== */
/* Form ulasan tetap ringkas & center; daftar ulasan melebar penuh dan
   ditampilkan sebagai carousel horizontal yang bisa digeser (scroll-snap). */
.reviews-section{padding:62px clamp(16px,5vw,72px) 48px;background:linear-gradient(180deg,#f7fbff,#fff)}
.reviews-wrap{max-width:1180px;margin:24px auto 0;display:flex;flex-direction:column;gap:36px}
.review-form-card{max-width:640px;width:100%;margin:0 auto;box-sizing:border-box;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-sm);padding:28px;background-image:linear-gradient(150deg,#fff,#f4faff)}
.review-form-heading{text-align:center}
.review-form-heading .pill{display:inline-flex}
.review-form-heading h3{font-size:22px;line-height:1.25;color:var(--ink-soft);margin:12px 0 8px}
.review-form-heading p{font-size:12px;line-height:1.6;color:var(--muted);margin:0 0 15px}
.review-form{max-width:480px;margin:0 auto}
.review-form label{margin-top:13px;display:block}
.review-form label small{font-weight:500;color:var(--muted-soft)}
.review-form input,.review-form select,.review-form textarea{width:100%;box-sizing:border-box;font-size:14px!important}
.review-form textarea{min-height:110px}
.review-form .btn{width:100%;margin-top:18px}
.reviews-list-wrap{width:100%}
.reviews-list-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px}
.reviews-list-heading{font-size:13px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--muted-soft);margin:0}
.reviews-nav{display:flex;gap:8px;flex:0 0 auto}
.reviews-nav-btn{width:36px;height:36px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink-soft);display:grid;place-items:center;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.reviews-nav-btn:hover{background:var(--primary);border-color:var(--primary);color:#fff}
.reviews-list{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x proximity;padding:2px 2px 10px;margin:0 -2px;scrollbar-width:thin;scrollbar-color:#c9d6e2 transparent;scroll-behavior:smooth}
.reviews-list::-webkit-scrollbar{height:6px}
.reviews-list::-webkit-scrollbar-thumb{background:#c9d6e2;border-radius:999px}
.reviews-list::-webkit-scrollbar-track{background:transparent}
.review-card{flex:0 0 auto;width:300px;scroll-snap-align:start;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-sm);padding:20px;box-sizing:border-box}
.review-card-head{display:flex;align-items:center;gap:10px;margin-bottom:13px}
.review-avatar{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:var(--primary-light);color:var(--primary-dark);font-weight:800;font-size:17px;flex:0 0 auto}
.review-card-head strong{display:block;color:var(--ink-soft);font-size:13px}
.review-card-head small{display:block;color:var(--muted-soft);font-size:11px;margin-top:3px}
.review-stars{margin-left:auto;color:#f2a33b;letter-spacing:1px;font-size:13px;white-space:nowrap}
.review-stars span{color:#dce5ee}
.review-card p{color:var(--muted);font-size:13px;line-height:1.75;margin:0}
.review-empty{padding:30px;border:1px dashed #cdddea;border-radius:18px;text-align:center;color:var(--muted);width:100%}
.review-alert,.review-validation{padding:12px 15px;border-radius:12px;font-size:13px;line-height:1.5;box-sizing:border-box}
.review-alert{max-width:640px;margin:15px auto 0;background:var(--green-light);color:var(--green-dark);border:1px solid #c8ecd8}
.review-validation{margin-top:12px;background:#fff0f0;color:#b43d3d}
@media(max-width:640px){
 .review-card{width:82vw}
 .reviews-list-head{align-items:center}
}
@media(max-width:900px){
 .reviews-section{padding:44px 16px 34px}
 .reviews-wrap{gap:28px}
 .review-form-card{padding:20px}
 .review-form{max-width:none}
}


/* Fix: header must stay above the mobile drawer backdrop so the hamburger remains tappable. */
@media(max-width:900px){
  .nav{z-index:350!important}
  .mobile-menu-toggle{position:relative;z-index:360!important;touch-action:manipulation}
  .nav-links{z-index:355!important}
}


/* ===== Berita & Galeri: tautan detail tambahan ===== */
.home-news-link,.news-card-link,.gallery-card-link,.home-gallery-link{display:block;color:inherit;text-decoration:none}
.news-card-link .card,.gallery-card-link article{height:100%}
.home-news-link:hover{text-decoration:none}
.home-news-link:focus-visible,.news-card-link:focus-visible,.gallery-card-link:focus-visible,.home-gallery-link:focus-visible{outline:3px solid rgba(18,104,201,.25);outline-offset:3px;border-radius:var(--radius-md)}

.news-detail-wrap,.gallery-detail-wrap{max-width:1100px;margin:0 auto;padding:0 22px 60px}
.detail-back-link{display:inline-flex;align-items:center;gap:7px;color:var(--primary);font-weight:700;text-decoration:none;margin-bottom:18px}
.detail-back-link:hover{text-decoration:underline}
.news-detail-card,.gallery-detail-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}
.news-detail-image{width:100%;max-height:520px;object-fit:cover;display:block}
.news-detail-body{padding:28px 32px 34px}
.news-detail-meta{display:flex;align-items:center;gap:8px;color:var(--primary);font-size:12px;font-weight:700;margin-bottom:10px}
.news-detail-body h1,.gallery-detail-body h1{margin:0 0 14px;color:var(--ink-soft);font-size:clamp(26px,4vw,38px);line-height:1.2}
.news-detail-excerpt{font-size:16px;line-height:1.75;color:var(--muted);font-weight:600;margin:0 0 20px}
.news-detail-content{font-size:15px;line-height:1.9;color:#52677a;white-space:normal}
.news-detail-content p{margin:0 0 15px}
.news-detail-media{margin-top:24px;padding:15px 17px;border:1px solid var(--line);border-radius:14px;background:#f7fbff}
.news-detail-media a{color:var(--primary);font-weight:700;text-decoration:none}
.detail-related{margin-top:28px}
.detail-related h2{font-size:20px;color:var(--ink-soft);margin:0 0 14px}
.detail-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.detail-related-item{display:block;text-decoration:none;color:inherit;background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm)}
.detail-related-item img{width:100%;height:130px;object-fit:cover;display:block}
.detail-related-item strong{display:block;padding:12px 14px;color:var(--ink-soft);font-size:13px;line-height:1.45}
.gallery-detail-image{width:100%;max-height:650px;object-fit:contain;display:block;background:#f2f6f9}
.gallery-detail-body{padding:26px 30px 30px}
.gallery-detail-category{display:inline-flex;align-items:center;gap:6px;color:var(--primary);font-size:12px;font-weight:700;margin-bottom:10px}
.gallery-detail-description{color:var(--muted);font-size:15px;line-height:1.8;margin:0}
@media (max-width:700px){
  .news-detail-wrap,.gallery-detail-wrap{padding:0 12px 45px}
  .news-detail-body,.gallery-detail-body{padding:22px 18px 25px}
  .news-detail-excerpt{font-size:14px}
  .news-detail-content{font-size:14px;line-height:1.8}
  .detail-related-grid{grid-template-columns:1fr}
  .detail-related-item img{height:170px}
}

/* ===== Detail Berita — layout lebih lega & rapi (tanpa mengubah halaman lain) ===== */
.news-detail-page{background:linear-gradient(180deg,#f7fafc 0%,#fff 72%);padding:28px 0 70px}
.news-detail-wrap{max-width:1160px;margin:0 auto;padding:0 24px}
.news-detail-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px}
.detail-back-link{display:inline-flex;align-items:center;gap:8px;color:var(--primary);font-weight:700;text-decoration:none;font-size:13px;padding:9px 12px;border:1px solid #dce8f1;border-radius:999px;background:#fff;box-shadow:0 5px 18px rgba(24,70,104,.06)}
.detail-back-link:hover{background:#f4f9fd;text-decoration:none}
.news-detail-label{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#71869a}
.news-detail-card{background:#fff;border:1px solid #e1eaf1;border-radius:24px;box-shadow:0 18px 55px rgba(31,72,105,.10);overflow:hidden}
.news-detail-media-frame{background:#eef4f8;padding:0;display:flex;justify-content:center;align-items:center}
.news-detail-image{width:100%;height:auto;max-height:560px;object-fit:contain;display:block}
.news-detail-body{max-width:900px;margin:0 auto;padding:34px 42px 40px}
.news-detail-meta{display:inline-flex;align-items:center;gap:7px;color:var(--primary);font-size:12px;font-weight:800;margin:0 0 13px;padding:7px 11px;border-radius:999px;background:#edf6ff;border:1px solid #d8ebfb}
.news-detail-body h1,.gallery-detail-body h1{margin:0 0 16px;color:var(--ink-soft);font-size:clamp(30px,4vw,44px);line-height:1.15;letter-spacing:-.8px;max-width:850px}
.news-detail-excerpt{font-size:17px;line-height:1.75;color:#607487;font-weight:600;margin:0 0 24px;padding-bottom:23px;border-bottom:1px solid #e8eef3}
.news-detail-content{font-size:16px;line-height:1.9;color:#4f6476;white-space:normal;max-width:860px}
.news-detail-content p{margin:0 0 17px}
.news-detail-media{margin-top:28px;padding:15px 17px;border:1px solid #dceaf4;border-radius:14px;background:#f5faff;color:#52697b;font-size:13px}
.news-detail-media a{color:var(--primary);font-weight:800;text-decoration:none}
.detail-related{max-width:1160px;margin:34px auto 0}
.detail-related h2{font-size:21px;color:var(--ink-soft);margin:0 0 14px}
.detail-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.detail-related-item{display:block;text-decoration:none;color:inherit;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .18s ease,box-shadow .18s ease}
.detail-related-item:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(30,73,105,.10)}
.detail-related-item img{width:100%;height:150px;object-fit:cover;display:block}
.detail-related-item strong{display:block;padding:13px 14px 16px;color:var(--ink-soft);font-size:13px;line-height:1.5}

/* Detail galeri mengikuti ritme halaman berita, tanpa memengaruhi galeri utama. */
.gallery-detail-wrap{max-width:1160px;margin:0 auto;padding:0 24px 70px}
.gallery-detail-card{background:#fff;border:1px solid #e1eaf1;border-radius:24px;box-shadow:0 18px 55px rgba(31,72,105,.10);overflow:hidden}
.gallery-detail-image{width:100%;max-height:650px;object-fit:contain;display:block;background:#eef4f8}
.gallery-detail-body{max-width:900px;margin:0 auto;padding:30px 42px 36px}
.gallery-detail-category{display:inline-flex;align-items:center;gap:6px;color:var(--primary);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;margin-bottom:11px;padding:7px 11px;border-radius:999px;background:#edf6ff;border:1px solid #d8ebfb}
.gallery-detail-description{color:#5d7284;font-size:16px;line-height:1.85;margin:0}

@media(max-width:900px){
 .news-detail-page{padding-top:20px}
 .news-detail-wrap,.gallery-detail-wrap{padding-left:16px;padding-right:16px}
 .news-detail-body,.gallery-detail-body{padding:27px 25px 31px}
 .news-detail-body h1,.gallery-detail-body h1{font-size:32px}
 .detail-related-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
 .news-detail-page{padding:14px 0 45px}
 .news-detail-wrap,.gallery-detail-wrap{padding-left:12px;padding-right:12px}
 .news-detail-topbar{margin-bottom:13px}
 .news-detail-label{display:none}
 .detail-back-link{font-size:12px;padding:8px 10px}
 .news-detail-card,.gallery-detail-card{border-radius:17px}
 .news-detail-image{max-height:360px}
 .news-detail-body,.gallery-detail-body{padding:22px 18px 25px}
 .news-detail-meta{font-size:11px;margin-bottom:11px}
 .news-detail-body h1,.gallery-detail-body h1{font-size:26px;letter-spacing:-.35px;line-height:1.2;margin-bottom:13px}
 .news-detail-excerpt{font-size:14px;line-height:1.7;margin-bottom:20px;padding-bottom:19px}
 .news-detail-content{font-size:14px;line-height:1.8}
 .news-detail-media{font-size:12px}
 .detail-related{margin-top:27px}
 .detail-related-grid{grid-template-columns:1fr}
 .detail-related-item img{height:175px}
}

/* =========================================================
   BERITA & GALERI — LAYOUT PROFESIONAL V3
   Hanya mengatur halaman detail dan editor admin.
   ========================================================= */
.news-detail-page{
  background:#f7fafc;
  padding:30px 0 80px;
}
.news-detail-wrap{
  width:min(1080px,calc(100% - 40px));
  margin:0 auto;
  padding:0;
}
.news-detail-topbar{
  width:min(900px,100%);
  margin:0 auto 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.news-detail-label{
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#7890a5;
}
.detail-back-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#1268c9;
  font-size:13px;
  font-weight:800;
  text-decoration:none;
  padding:9px 13px;
  border:1px solid #dce8f1;
  border-radius:999px;
  background:#fff;
  box-shadow:0 5px 18px rgba(24,70,104,.06);
}
.detail-back-link:hover{background:#f3f8fc;text-decoration:none}
.news-detail-card{
  background:#fff;
  border:1px solid #e0e9f0;
  border-radius:24px;
  box-shadow:0 18px 55px rgba(31,72,105,.08);
  overflow:hidden;
}
.news-detail-head{
  width:min(860px,calc(100% - 70px));
  margin:0 auto;
  padding:42px 0 30px;
}
.news-detail-meta{
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:#1268c9;
  font-size:11px;
  font-weight:800;
  padding:7px 11px;
  margin:0 0 15px;
  border:1px solid #d8ebfb;
  border-radius:999px;
  background:#edf6ff;
}
.news-detail-head h1{
  margin:0;
  color:#173c63;
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:clamp(30px,4vw,46px);
  line-height:1.13;
  letter-spacing:-1px;
  max-width:850px;
}
.news-detail-subtitle{
  margin:17px 0 0;
  color:#617589;
  font-size:17px;
  line-height:1.75;
  max-width:790px;
  font-weight:500;
}
.news-detail-byline{
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
  align-items:center;
  margin-top:20px;
  padding-top:16px;
  border-top:1px solid #edf1f4;
  color:#8091a1;
  font-size:12px;
  font-weight:700;
}
.news-detail-hero{
  width:min(980px,calc(100% - 40px));
  margin:0 auto;
  padding:0 0 34px;
}
.news-detail-media-frame{
  width:100%;
  min-height:260px;
  max-height:560px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:#edf3f7;
  border:1px solid #e0e9f0;
  border-radius:18px;
}
.news-detail-image{
  width:100%;
  height:auto;
  max-height:560px;
  object-fit:contain;
  display:block;
}
.news-detail-body{
  width:min(780px,calc(100% - 70px));
  margin:0 auto;
  padding:8px 0 42px;
}
.news-detail-content{
  color:#455f73;
  font-size:16px;
  line-height:1.95;
  max-width:780px;
}
.news-detail-content p{margin:0 0 19px}
.news-detail-content h2,
.news-detail-content h3,
.news-detail-content h4{
  color:#173c63;
  font-family:'Plus Jakarta Sans',sans-serif;
  line-height:1.3;
  margin:30px 0 12px;
}
.news-detail-content h2{font-size:24px}
.news-detail-content h3{font-size:20px}
.news-detail-content h4{font-size:17px}
.news-detail-content strong{color:#294d6d}
.news-detail-content ul,
.news-detail-content ol{padding-left:24px;margin:0 0 20px}
.news-detail-content li{margin:7px 0;padding-left:3px}
.news-detail-content blockquote{
  margin:25px 0;
  padding:17px 20px;
  border-left:4px solid #1268c9;
  background:#f5f9fc;
  border-radius:0 12px 12px 0;
  color:#536b7e;
  font-style:italic;
}
.news-detail-media{
  margin-top:28px;
  padding:16px 18px;
  border:1px solid #dceaf4;
  border-radius:14px;
  background:#f5faff;
  color:#52697b;
  font-size:13px;
}
.news-detail-media a{color:#1268c9;font-weight:800;text-decoration:none}
.detail-related{
  width:min(1080px,calc(100% - 40px));
  margin:32px auto 0;
}
.detail-related h2{
  margin:0 0 15px;
  color:#173c63;
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:21px;
}
.detail-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.detail-related-item{
  display:block;
  text-decoration:none;
  color:inherit;
  background:#fff;
  border:1px solid #e1eaf1;
  border-radius:17px;
  overflow:hidden;
  box-shadow:0 8px 26px rgba(30,73,105,.06);
  transition:transform .18s ease,box-shadow .18s ease;
}
.detail-related-item:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(30,73,105,.10)}
.detail-related-item img{width:100%;height:145px;object-fit:cover;display:block;background:#edf3f7}
.detail-related-item strong{display:block;padding:13px 14px 16px;color:#234762;font-size:13px;line-height:1.5}

.gallery-detail-wrap{
  width:min(1080px,calc(100% - 40px));
  margin:0 auto;
  padding:30px 0 80px;
}
.gallery-detail-card{
  background:#fff;border:1px solid #e0e9f0;border-radius:24px;
  box-shadow:0 18px 55px rgba(31,72,105,.08);overflow:hidden;
}
.gallery-detail-image-wrap{padding:28px 28px 0}
.gallery-detail-image{
  width:100%;max-height:620px;object-fit:contain;display:block;
  background:#edf3f7;border:1px solid #e0e9f0;border-radius:18px;
}
.gallery-detail-body{width:min(780px,calc(100% - 70px));margin:0 auto;padding:30px 0 38px}
.gallery-detail-category{display:inline-flex;align-items:center;gap:6px;color:#1268c9;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px;padding:7px 11px;border-radius:999px;background:#edf6ff;border:1px solid #d8ebfb}
.gallery-detail-body h1{margin:0 0 13px;color:#173c63;font-family:'Plus Jakarta Sans',sans-serif;font-size:clamp(28px,3.7vw,42px);line-height:1.16;letter-spacing:-.7px}
.gallery-detail-description{color:#5d7284;font-size:16px;line-height:1.85;margin:0}

/* Editor berita di admin */
.news-editor-note{margin-bottom:18px}
.rich-editor-shell{border:1px solid #d9e4ed;border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 4px 15px rgba(35,72,100,.04)}
.rich-editor-toolbar{display:flex;flex-wrap:wrap;gap:5px;padding:9px;border-bottom:1px solid #e5edf3;background:#f7fafc}
.rich-editor-toolbar button{width:34px;height:32px;border:1px solid #d7e2eb;border-radius:8px;background:#fff;color:#36536b;font-weight:800;cursor:pointer}
.rich-editor-toolbar button:hover{background:#edf6ff;border-color:#bddcf5;color:#1268c9}
.rich-editor-content{min-height:300px;padding:18px 20px;outline:none;color:#405d73;font-size:14px;line-height:1.85}
.rich-editor-content:focus{box-shadow:inset 0 0 0 2px rgba(18,104,201,.10)}
.rich-editor-content p{margin:0 0 14px}
.rich-editor-content h2,.rich-editor-content h3,.rich-editor-content h4{color:#173c63;margin:22px 0 10px;line-height:1.35}
.rich-editor-content ul,.rich-editor-content ol{padding-left:24px}
.rich-editor-content blockquote{margin:18px 0;padding:12px 15px;border-left:3px solid #1268c9;background:#f5f9fc;border-radius:0 10px 10px 0}
.rich-editor-hidden{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}

@media (max-width:800px){
  .news-detail-page{padding:18px 0 55px}
  .news-detail-wrap,.detail-related,.gallery-detail-wrap{width:min(100% - 24px,680px)}
  .news-detail-topbar{margin-bottom:12px}
  .news-detail-label{display:none}
  .news-detail-card,.gallery-detail-card{border-radius:18px}
  .news-detail-head{width:calc(100% - 36px);padding:27px 0 22px}
  .news-detail-head h1{font-size:30px;letter-spacing:-.5px}
  .news-detail-subtitle{font-size:15px;line-height:1.7;margin-top:13px}
  .news-detail-byline{margin-top:15px;padding-top:13px}
  .news-detail-hero{width:calc(100% - 24px);padding-bottom:24px}
  .news-detail-media-frame{min-height:180px;max-height:400px;border-radius:13px}
  .news-detail-image{max-height:400px}
  .news-detail-body{width:calc(100% - 36px);padding-top:0;padding-bottom:28px}
  .news-detail-content{font-size:15px;line-height:1.85}
  .news-detail-content h2{font-size:21px}
  .news-detail-content h3{font-size:18px}
  .detail-related-grid{grid-template-columns:1fr}
  .detail-related-item img{height:180px}
  .gallery-detail-wrap{padding-top:18px}
  .gallery-detail-image-wrap{padding:12px 12px 0}
  .gallery-detail-image{max-height:430px;border-radius:13px}
  .gallery-detail-body{width:calc(100% - 36px);padding:23px 0 27px}
  .gallery-detail-body h1{font-size:29px}
  .gallery-detail-description{font-size:15px;line-height:1.75}
  .rich-editor-content{min-height:240px;padding:15px}
}
@media (max-width:480px){
  .news-detail-head h1{font-size:27px}
  .news-detail-subtitle{font-size:14px}
  .news-detail-meta{font-size:10px}
  .detail-back-link{font-size:11px;padding:8px 10px}
  .news-detail-media-frame{min-height:150px}
  .news-detail-content{font-size:14px}
  .news-detail-content p{margin-bottom:16px}
}


/* =========================================================
   ACTIVITY MEDIA PATCH
   Tambahan non-destruktif untuk multi-foto & multi-video
   ========================================================= */
.activity-media-admin{
  margin:22px 0 18px;padding:20px;border:1px solid #dfe9f1;border-radius:18px;
  background:linear-gradient(145deg,#fbfdff,#f5faff)
}
.activity-media-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:16px}
.activity-media-head strong{display:block;color:#173c63;font-size:15px}
.activity-media-head span{display:block;color:#6e8293;font-size:12px;line-height:1.55;margin-top:4px}
.activity-media-count{white-space:nowrap!important;margin:0!important;padding:7px 10px;border-radius:999px;background:#eaf4fd;color:#1268c9!important;font-weight:700}
.media-upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.media-upload-box{
  position:relative;display:flex;align-items:center;gap:12px;min-height:88px;padding:14px;
  border:1px dashed #bcd2e3;border-radius:14px;background:#fff;transition:.2s ease
}
.media-upload-box:hover{border-color:#77add9;transform:translateY(-1px);box-shadow:0 8px 22px rgba(25,83,125,.06)}
.media-upload-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#edf6ff;color:#1268c9;font-size:19px;font-weight:800;flex:0 0 auto}
.media-upload-box strong{display:block;color:#284b65;font-size:13px}
.media-upload-box small{display:block;color:#8093a2;font-size:10.5px;line-height:1.5;margin-top:3px}
.media-upload-box input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.media-url-list{display:grid;gap:8px;margin-top:12px}
.media-url-row{display:grid;grid-template-columns:1fr 40px;gap:7px}
.media-url-row input{margin:0!important}
.media-remove-url{
  border:1px solid #d9e4ec;background:#fff;border-radius:10px;color:#8093a2;font-size:20px;cursor:pointer
}
.media-remove-url:hover{background:#fff2f2;color:#b64d4d}
.media-add-url{
  margin-top:8px;border:0;background:transparent;color:#1268c9;font-size:12px;font-weight:800;cursor:pointer;padding:4px 0
}
.existing-media-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:17px}
.existing-media-item{
  min-width:0;border:1px solid #dce7ef;background:#fff;border-radius:12px;overflow:hidden;position:relative;cursor:pointer
}
.existing-media-item img,.existing-media-thumb{width:100%;height:105px;display:block;object-fit:cover;background:#eaf1f6}
.existing-media-thumb.is-video{display:grid;place-items:center;background:linear-gradient(145deg,#173c63,#1268c9);color:#fff;font-size:25px}
.existing-media-meta{display:block;padding:8px 9px 4px}
.existing-media-meta b{display:block;color:#294b64;font-size:11px}
.existing-media-meta small{display:block;color:#8999a6;font-size:9.5px;margin-top:2px}
.existing-media-delete{display:flex;align-items:center;gap:5px;padding:7px 9px;color:#a04e4e;font-size:10px;font-weight:700}
.existing-media-delete input{width:auto!important;margin:0!important}

.news-list-grid{grid-template-columns:repeat(3,minmax(0,1fr));padding:0;margin-top:18px}
.news-list-card{padding:0;overflow:hidden;min-height:100%;border-radius:19px;transition:transform .22s ease,box-shadow .22s ease}
.news-card-link{text-decoration:none;color:inherit;display:block}
.news-card-link:hover .news-list-card{transform:translateY(-5px);box-shadow:0 18px 45px rgba(27,71,105,.11)}
.news-card-media{height:205px;position:relative;overflow:hidden;background:#edf4f8}
.news-card-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}
.news-card-link:hover .news-card-media img{transform:scale(1.045)}
.news-card-placeholder{height:100%;display:grid;place-items:center;color:#7ba2bf;background:linear-gradient(145deg,#eaf5fc,#f7fbfd)}
.media-count-badge,.video-count-badge{
  position:absolute;z-index:2;display:inline-flex;align-items:center;gap:5px;padding:7px 9px;border-radius:999px;
  background:rgba(12,38,59,.78);backdrop-filter:blur(8px);color:#fff;font-size:10px;font-weight:800
}
.media-count-badge{top:12px;right:12px}
.video-count-badge{bottom:12px;left:12px;background:rgba(18,104,201,.88)}
.news-list-card-body{padding:20px 20px 21px}
.news-list-meta{display:flex;align-items:center;gap:5px;color:#8193a1;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.news-list-card h3{font-size:18px;line-height:1.35;margin:9px 0 8px;color:#173c63}
.news-list-card p{margin:0;color:#6b7f90;font-size:12.5px;line-height:1.7}
.news-read-more,.gallery-view-link{display:inline-flex;align-items:center;gap:6px;margin-top:15px;color:#1268c9;font-size:11.5px;font-weight:800}
.activity-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.activity-gallery-card{
  background:#fff;border:1px solid #dfe8ef;border-radius:20px;overflow:hidden;box-shadow:0 9px 30px rgba(25,68,101,.06);
  transition:transform .22s ease,box-shadow .22s ease
}
.gallery-card-link{text-decoration:none;color:inherit;display:block}
.gallery-card-link:hover .activity-gallery-card{transform:translateY(-5px);box-shadow:0 18px 44px rgba(25,68,101,.12)}
.activity-gallery-cover{height:230px;position:relative;overflow:hidden;background:#edf4f8}
.activity-gallery-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}
.gallery-card-link:hover .activity-gallery-cover img{transform:scale(1.05)}
.activity-gallery-body{padding:17px 18px 19px}
.gallery-card-category{display:flex;align-items:center;gap:5px;color:#1268c9;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.activity-gallery-body h3{font-size:17px;line-height:1.4;color:#173c63;margin:8px 0 6px}
.activity-gallery-body p{margin:0;color:#6c8190;font-size:12px;line-height:1.6}
.tiny-play{font-size:9px}

.activity-media-section{margin:32px 0 0;padding-top:25px;border-top:1px solid #e6edf2}
.activity-media-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin-bottom:14px}
.activity-media-section-head h2{margin:3px 0 0;color:#173c63;font-family:'Plus Jakarta Sans',sans-serif;font-size:22px}
.activity-media-section-head>span{color:#8293a0;font-size:11px;font-weight:700}
.media-section-kicker{color:#1268c9;font-size:9px;font-weight:900;letter-spacing:.12em}
.activity-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.activity-photo{height:220px;border-radius:15px;overflow:hidden;position:relative;display:block;background:#edf3f7}
.activity-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.activity-photo:hover img{transform:scale(1.05)}
.activity-photo-overlay{
  position:absolute;inset:auto 0 0;padding:32px 12px 11px;color:#fff;font-size:10px;font-weight:800;
  display:flex;align-items:center;gap:5px;background:linear-gradient(transparent,rgba(8,31,52,.72));opacity:0;transition:.2s
}
.activity-photo:hover .activity-photo-overlay{opacity:1}
.photo-overlay-icon{font-size:17px;line-height:1}
.activity-video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.activity-video-card{overflow:hidden;border:1px solid #dfe8ef;border-radius:16px;background:#0e2940;min-width:0}
.activity-video-card video{width:100%;height:330px;display:block;object-fit:cover;background:#0e2940}
.activity-video-embed{position:relative;padding-top:56.25%;background:#0e2940}
.activity-video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.activity-external-video{min-height:250px;padding:30px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#dcebf5}
.external-video-icon{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#1268c9;color:#fff;font-size:20px;margin-bottom:12px}
.activity-external-video strong{font-size:15px}
.activity-external-video span{font-size:11px;color:#91a7b8;margin-top:5px}
.activity-external-video a{display:inline-flex;align-items:center;gap:5px;margin-top:15px;color:#fff;text-decoration:none;background:#1268c9;border-radius:10px;padding:9px 13px;font-size:11px;font-weight:800}
.gallery-media-section{width:calc(100% - 56px);margin-left:auto;margin-right:auto;padding-bottom:32px}
.gallery-detail-card>.gallery-media-section+.gallery-media-section{padding-top:0}
.gallery-detail-card .activity-media-section{border-top:1px solid #e6edf2}

@media(max-width:900px){
  .news-list-grid,.activity-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .activity-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .existing-media-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:650px){
  .activity-media-head{display:block}
  .activity-media-count{display:inline-block!important;margin-top:9px!important}
  .media-upload-grid{grid-template-columns:1fr}
  .existing-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .news-list-grid,.activity-gallery-grid{grid-template-columns:1fr}
  .news-card-media{height:190px}
  .activity-gallery-cover{height:210px}
  .activity-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .activity-photo{height:155px}
  .activity-video-grid{grid-template-columns:1fr}
  .activity-video-card video{height:auto;max-height:330px}
  .gallery-media-section{width:calc(100% - 24px)}
  .activity-media-section-head h2{font-size:19px}
}
@media(max-width:420px){
  .existing-media-grid{grid-template-columns:1fr 1fr}
  .activity-photo{height:135px}
}


/* Public news/gallery cards refresh — Oct 2026 */
.public-content-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}
.news-list-grid .news-card-link,.public-content-grid .gallery-card-link{display:block;min-width:0;height:100%;color:inherit;text-decoration:none}
.news-list-grid .card{height:100%;padding:18px;display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease;border:1px solid #e4ebf1}
.news-list-grid .news-card-link:hover .card,.public-content-grid .gallery-card-link:hover article{transform:translateY(-3px);box-shadow:0 14px 34px rgba(19,54,83,.12)}
.news-list-grid .news-card-media{height:190px!important;margin:0 0 15px!important;flex-shrink:0}
.news-list-grid .news-card-media img{height:100%!important}
.public-card-copy{display:flex;flex-direction:column;align-items:flex-start;gap:9px}
.public-card-meta{display:flex;align-items:center;gap:7px;color:#728294;font-size:12px}
.public-card-copy h3{font-size:18px;line-height:1.4;margin:0;color:#173c58}
.public-card-copy p{font-size:14px;line-height:1.7;color:#68798a;margin:0}
.public-card-read{display:inline-flex;align-items:center;gap:6px;margin-top:5px;color:#1268c9;font-size:13px;font-weight:750}
.public-content-grid .gallery-card-link article{height:100%;overflow:hidden;border:1px solid #e4ebf1;border-radius:18px;background:#fff;transition:transform .2s ease,box-shadow .2s ease}
.public-content-grid .gallery-card-link article>img{display:block;width:100%;height:220px;object-fit:cover}
.public-gallery-copy{padding:15px 17px 18px;display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.public-gallery-copy p{display:flex;align-items:center;gap:6px;color:#1268c9;font-size:12px;font-weight:750;margin:0}
.public-gallery-copy h3{font-size:17px;line-height:1.4;color:#173c58;margin:0}
.public-gallery-copy>span{font-size:13px;line-height:1.6;color:#6b7c8d}
.public-gallery-copy small{font-size:11px;color:#718296;background:#f1f6fa;border-radius:20px;padding:5px 9px}
@media(max-width:900px){.public-content-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.public-content-grid{grid-template-columns:1fr;gap:16px}.public-content-grid .gallery-card-link article>img{height:220px}.news-list-grid .card{padding:14px}.news-list-grid .news-card-media{height:200px!important}}
