/* Polres Aceh Barat main.css v4.0 — extracted & replicated from polri.go.id */
:root{--primary:#c1801e;--primary-hov:#df982e;--dark:#1e2022;--text-body:#677788;--text-dark:#1e2022;--gray:#8c98a4;--gray-dark:#71869d;--border:#e7eaf3;--light-bg:#f7faff;--shadow-sm:rgba(140,152,164,0.125);--font:'Roboto',-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;--radius:.3125rem}
*,*::before,*::after{box-sizing:border-box}
::selection{color:#fff;background-color:#c1801e}
html{font-family:var(--font);line-height:1.15;scroll-behavior:smooth}
body{margin:0;font-family:var(--font);font-size:1rem;font-weight:400;line-height:1.6;color:#677788;background-color:#fff;text-align:left}
a{color:#c1801e;text-decoration:none;background-color:transparent}
a:hover{color:#0052ea;text-decoration:none}
img{vertical-align:middle;border-style:none;max-width:100%}
ul{list-style:none;margin:0;padding:0}
h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;color:var(--dark);font-weight:600}
p{margin-top:0;margin-bottom:1rem}
.container{width:100%;max-width:1200px;margin-right:auto;margin-left:auto;padding-right:15px;padding-left:15px}

/* === BUTTONS (exact polri.go.id) === */
.btn{display:inline-block;font-weight:400;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;padding:.5rem 1rem;font-size:1rem;line-height:1.5;border-radius:var(--radius);border:1px solid transparent;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;text-decoration:none}
.btn-orange{color:#fff;background-color:#c1801e;border-color:#c1801e}
.btn-orange:hover{color:#fff;background-color:#df982e;border-color:#ffb648}
.btn-primary{color:#fff;background-color:#c1801e;border-color:#c1801e}
.btn-primary:hover{color:#fff;background-color:#1164ff;border-color:#045cff}

/* === HEADER (exact polri.go.id) ===
   background:#fff; box-shadow on scroll:0 1px 10px rgba(140,152,164,.125); height:73px */
.site-header{position:sticky;top:0;right:0;left:0;width:100%;z-index:1001;background-color:#fff;transition:box-shadow .3s ease}
.site-header.scrolled{box-shadow:0 1px 10px rgba(140,152,164,.125)}
/* FIX: logo flush-left, nav ke kanan — sejajar dengan first menu item */
.site-header .container{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-start;min-height:73px;position:relative;gap:0}
.header-logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;padding-top:.3rem;padding-bottom:.3rem;white-space:nowrap;flex-shrink:0;margin-right:0;padding-right:1.5rem}
.header-logo img{width:50px;height:auto;object-fit:contain}
.header-logo .site-name{color:var(--dark);font-size:13px;font-weight:700;line-height:1.25;text-transform:uppercase;letter-spacing:.4px}
.header-logo .site-sub{color:var(--primary);font-size:10.5px;font-weight:400}
/* Nav langsung di kanan logo — margin-left:auto mendorong search ke ujung */
.header-nav{display:flex;align-items:center;flex:1}
/* Nav ul flush-left di dalam header-nav; search icon pushed right */
.header-nav>ul{display:flex;flex-direction:row;align-items:center;flex:1}
.header-search{margin-left:auto}
.header-nav>ul>li{position:relative;overflow:hidden}
.header-nav>ul>li:hover,.header-nav>ul>li.hs-sub-menu-opened{overflow:visible}
/* Nav link: color:#677788; padding:.5rem 1rem */
.header-nav>ul>li>a{display:flex;align-items:center;padding:.5rem 1rem;color:#677788;font-size:1rem;font-weight:400;line-height:1.5;white-space:nowrap;text-decoration:none;background:transparent;transition:color .3s ease;border-bottom:2px solid transparent}
.header-nav>ul>li>a .caret{display:inline-block;font-family:"Font Awesome 5 Free";font-weight:900;font-size:.75rem;margin-left:.5rem;transition:transform .3s ease;color:var(--text-body)}
/* Hover: color:#c1801e */
.header-nav>ul>li:hover>a,.header-nav>ul>li.current-menu-item>a,.header-nav>ul>li.current-menu-parent>a{color:#c1801e;border-bottom-color:#c1801e}
.header-nav>ul>li:hover>a .caret{transform:rotate(180deg);color:#c1801e}

/* === DROPDOWN (exact polri.go.id) ===
   Desktop: hover → show; Mobile: JS toggle .open class */
.header-nav .sub-menu{
  position:absolute;top:calc(100% + 1px);left:0;z-index:2000;
  /* hidden by default — JS/CSS toggle */
  display:none;
  min-width:230px;padding:1rem 0;margin:0;
  font-size:1rem;color:#677788;text-align:left;list-style:none;
  background-color:#fff;background-clip:padding-box;
  border:0;border-top:2px solid #c1801e;border-radius:var(--radius);
  box-shadow:0 .5rem 1.125rem -.5rem rgba(0,0,0,.25),0 .25rem .625rem -.25rem rgba(0,0,0,.1)}
/* Desktop: show on li hover */
@media(min-width:992px){
  .header-nav .sub-menu{display:none}
  .header-nav>ul>li:hover>.sub-menu{display:block}
}
/* open class toggled by JS on mobile */
.header-nav .sub-menu.open{display:block !important}
.header-nav .sub-menu li{display:block}
.header-nav .sub-menu a{display:block;width:100%;padding:.375rem 1.5rem;clear:both;font-weight:400;font-size:.9375rem;color:#677788;text-align:inherit;white-space:nowrap;background-color:transparent;border:0;text-decoration:none;transition:color .2s ease}
.header-nav .sub-menu a:hover,.header-nav .sub-menu a:focus{color:#1e2022;background-color:transparent;text-decoration:none}
.header-nav .sub-menu a::before{content:none}
.header-nav .sub-menu li.current-menu-item>a{color:#c1801e;font-weight:500}

/* === SEARCH PUSH TOP (exact polri.go.id) ===
   bg:#f8fafd; padding:3rem; inset box-shadow; content max-width:50rem
   form-control: padding:.75rem 1rem; border:.0625rem solid #e7eaf3; color:#1e2022
   focus: border-color:rgba(55,125,255,.4); box-shadow:0 0 10px rgba(55,125,255,.1)
   placeholder: color:#97a4af */
/* Search push top — controlled by jQuery slideDown/slideUp in main.js
   inline style="display:none" ensures hidden on load (overrides CSS display:none)
   jQuery removes inline style on show, adds it back on hide */
.search-push-top{
  display:none; /* fallback — jQuery manages visibility */
  background-color:#f8fafd;
  padding-top:3rem;
  padding-bottom:3rem;
  box-shadow:inset 0 -10px 20px -10px rgba(151,164,175,.05);
  position:relative;
  z-index:1000;
}
.search-push-top-content{max-width:50rem;margin-left:auto;margin-right:auto;position:relative}
.search-push-top-close-btn{position:absolute;top:-1.5625rem;right:.4375rem;z-index:2}
.search-push-top-close-btn button{background:#fff;border:1px solid var(--border);border-radius:var(--radius);color:var(--text-body);cursor:pointer;padding:.25rem .5rem;font-size:.875rem;transition:all .2s;display:flex;align-items:center;gap:5px}
.search-push-top-close-btn button:hover{background:var(--dark);color:#fff;border-color:var(--dark)}
.polres-input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}
.polres-input-group>.form-control{position:relative;flex:1 1 auto;width:1%;min-width:0;margin-bottom:0;border-top-right-radius:0;border-bottom-right-radius:0}
.polres-input-group>.input-group-append{display:flex}
.polres-input-group>.input-group-append>.btn{border-top-left-radius:0;border-bottom-left-radius:0}
.form-control{display:block;width:100%;height:calc(1.6em + 1.625rem);padding:.75rem 1rem;font-size:1rem;font-weight:400;line-height:1.6;color:#1e2022;background-color:#fff;background-clip:padding-box;border:.0625rem solid #e7eaf3;border-radius:var(--radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;font-family:var(--font)}
.form-control:focus{color:#1e2022;background-color:#fff;border-color:rgba(55,125,255,.4);outline:0;box-shadow:0 0 10px rgba(55,125,255,.1)}
.form-control::placeholder{color:#97a4af;opacity:1}
.header-search{position:relative}
.hs-toggle{background:none;border:none;color:var(--text-body);font-size:1.0625rem;padding:.5rem .75rem;cursor:pointer;transition:color .2s;display:flex;align-items:center;line-height:1}
.hs-toggle:hover{color:var(--primary)}
.mobile-menu-toggle{display:none;background:#f8fafd;border:1px solid rgba(0,0,0,.1);color:var(--dark);font-size:1.125rem;cursor:pointer;padding:.375rem .625rem;border-radius:.3125rem;line-height:1}

/* === HERO BANNER === */
.hero-banner{width:100%;overflow:hidden;background:var(--dark);line-height:0}
.hero-banner img.hero-img{width:100%;max-height:420px;object-fit:cover;object-position:center top;display:block}

/* === NEWS TICKER === */
.news-ticker{background:var(--dark);border-bottom:1px solid rgba(193,128,30,.25);padding:8px 0;display:flex;align-items:center;overflow:hidden}
.ticker-label{background:var(--primary);color:#fff;font-size:.6875rem;font-weight:700;text-transform:uppercase;padding:3px 18px;white-space:nowrap;letter-spacing:.5px;flex-shrink:0;margin-right:18px}
.ticker-wrapper{overflow:hidden;flex:1}
.ticker-track{display:flex;animation:ticker-run 80s linear infinite;width:max-content}
.ticker-track:hover{animation-play-state:paused}
.ticker-item{display:inline-flex;align-items:center;white-space:nowrap;padding-right:50px;font-size:.8125rem;color:rgba(255,255,255,.7)}
.ticker-item a{color:rgba(255,255,255,.7);transition:color .2s}
.ticker-item a:hover{color:var(--primary)}
@keyframes ticker-run{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* === QUICK SERVICES === */
.quick-services{background:#fff;border-bottom:1px solid var(--border);box-shadow:0 1px 6px rgba(140,152,164,.1)}
.quick-services .container{display:flex;align-items:stretch}
.qs-item{display:flex;align-items:center;gap:14px;padding:20px 22px;border-right:1px solid var(--border);flex:1;text-decoration:none;color:var(--text-body);transition:background .2s,color .2s;cursor:pointer}
.qs-item:last-child{border-right:none}
.qs-item:hover{background:var(--primary)}
.qs-item:hover .qs-icon,.qs-item:hover .qs-title{color:#fff}
.qs-icon{font-size:26px;color:var(--primary);flex-shrink:0;transition:color .2s}
.qs-title{font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;line-height:1.3;color:var(--dark);transition:color .2s}

/* === MAIN CONTENT === */
.main-content{padding:2rem 0;background:#fff}
.content-grid{display:grid;grid-template-columns:1fr 350px;gap:22px}
.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:2px solid var(--primary)}
.section-title{font-size:1.125rem;font-weight:700;color:var(--dark)}
.section-title .accent{color:var(--primary)}
.view-all-link{font-size:.8125rem;color:var(--primary);border:1px solid var(--primary);padding:3px 12px;border-radius:var(--radius);font-weight:600;transition:all .2s;white-space:nowrap}
.view-all-link:hover{background:var(--primary);color:#fff}

/* === LAYANAN === */
.layanan-section{background:#fff;padding:2rem 0;border-bottom:1px solid var(--border)}
.layanan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1rem}
.layanan-card{display:flex;align-items:center;gap:14px;padding:1rem 1.125rem;border:1px solid var(--border);border-radius:var(--radius);background:#fff;text-decoration:none;color:var(--text-body);transition:all .25s;box-shadow:0 1px 4px rgba(0,0,0,.04)}
.layanan-card:hover{border-color:var(--primary);box-shadow:0 4px 14px rgba(193,128,30,.15);transform:translateY(-2px);color:var(--text-body)}
.lc-icon{width:50px;height:50px;background:rgba(193,128,30,.08);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.375rem;color:var(--primary);flex-shrink:0;transition:background .2s}
.layanan-card:hover .lc-icon{background:var(--primary);color:#fff}
.lc-title{font-size:.8125rem;font-weight:700;text-transform:uppercase;color:var(--dark);line-height:1.3;letter-spacing:.2px}
.lc-desc{font-size:.6875rem;color:var(--text-body);margin-top:2px}

/* === NEWS GRID === */
.news-section{background:#fff;padding:1.5rem;border-radius:var(--radius);box-shadow:0 1px 5px rgba(0,0,0,.05);border:1px solid var(--border)}
.news-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.news-card{border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);background:#fff;transition:box-shadow .2s,transform .2s}
.news-card:hover{box-shadow:0 .5rem 1.125rem -.5rem rgba(0,0,0,.25);transform:translateY(-2px)}
.news-card.news-featured{grid-column:1/-1;display:grid;grid-template-columns:1.5fr 1fr}
.nc-img{overflow:hidden;background:#e7eaf3;display:block}
.nc-img img{width:100%;height:175px;object-fit:cover;transition:transform .4s;display:block}
.news-card:hover .nc-img img{transform:scale(1.04)}
.news-card.news-featured .nc-img img{height:215px}
.nc-body{padding:.875rem}
.nc-cat{display:inline-block;background:var(--primary);color:#fff;font-size:.625rem;font-weight:700;text-transform:uppercase;padding:2px 9px;border-radius:2px;margin-bottom:.4375rem;letter-spacing:.5px}
.nc-source-badge{display:inline-block;background:#e7eaf3;color:var(--gray-dark);font-size:.625rem;padding:2px 7px;border-radius:2px;margin-left:4px;margin-bottom:.4375rem}
.news-card h3{font-size:.875rem;font-weight:600;color:var(--dark);line-height:1.45;margin-bottom:.4375rem}
.news-card.news-featured h3{font-size:1.0625rem}
.news-card h3 a{color:var(--dark)}
.news-card h3 a:hover{color:var(--primary)}
.nc-meta{display:flex;align-items:center;gap:.75rem;font-size:.6875rem;color:var(--gray);flex-wrap:wrap}
.nc-meta i{color:var(--primary);font-size:.6875rem}
.nc-excerpt{font-size:.8125rem;color:var(--text-body);margin-top:.4375rem;line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.nc-list-item{display:flex;gap:.625rem;padding:.625rem 0;border-bottom:1px solid var(--border);text-decoration:none;color:var(--text-body)}
.nc-list-item:last-child{border-bottom:none;padding-bottom:0}
.nc-list-item img{width:68px;height:52px;object-fit:cover;border-radius:var(--radius);flex-shrink:0;background:var(--border)}
.ncl-title{font-size:.8125rem;font-weight:500;color:var(--dark);line-height:1.4;margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.nc-list-item:hover .ncl-title{color:var(--primary)}
.ncl-date{font-size:.6875rem;color:var(--gray);display:flex;align-items:center;gap:4px}
.ncl-date i{color:var(--primary)}

/* === KONTAK RESMI + GOOGLE MAP (exact polri.go.id)
   container mb-5 p-5 shadow-lg bg-light rounded
   row: col-lg-4 (info) + col-lg-8 (map)
   iframe: width:100%; height:350; border:0 */
.kontak-section{background:var(--light-bg);padding:2rem 0;border-top:1px solid var(--border)}
.kontak-inner-wrap{background:var(--light-bg);border-radius:var(--radius);box-shadow:0 1rem 3rem rgba(0,0,0,.175);padding:3rem;margin-bottom:3rem}
.kontak-row{display:grid;grid-template-columns:1fr 2fr;gap:2rem;align-items:start}
.kontak-info h2{font-size:1.5rem;font-weight:700;color:var(--dark);margin-bottom:.5rem}
.kontak-info h2 a{color:var(--dark)}
.kontak-info h2 a:hover{color:var(--primary)}
.kontak-info h5{font-size:1rem;font-weight:600;color:var(--dark);margin-top:1.5rem;margin-bottom:.25rem}
.kontak-info p{font-size:.9375rem;color:var(--text-body);line-height:1.6;margin-bottom:1rem}
.kontak-map iframe{width:100%;height:350px;border:0;border-radius:var(--radius);display:block}

/* === SIDEBAR === */
.sidebar{display:flex;flex-direction:column;gap:1.125rem}
.sw{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:0 1px 5px rgba(0,0,0,.05);border:1px solid var(--border)}
.sw-title{background:var(--dark);color:#fff;font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:.625rem 1rem;display:flex;align-items:center;gap:8px}
.sw-title i{color:var(--primary)}
.sw-body{padding:.875rem 1rem}
.agenda-item{display:flex;gap:.75rem;padding:.625rem 0;border-bottom:1px solid var(--border);align-items:flex-start}
.agenda-item:last-child{border-bottom:none}
.agenda-date{background:var(--primary);color:#fff;text-align:center;padding:.375rem .625rem;border-radius:var(--radius);min-width:44px;flex-shrink:0}
.agenda-date .day{font-size:1.125rem;font-weight:700;line-height:1}
.agenda-date .month{font-size:.625rem;text-transform:uppercase}
.agenda-detail h5{font-size:.8125rem;font-weight:600;color:var(--dark);line-height:1.4}
.agenda-detail p{font-size:.6875rem;color:var(--gray);margin-top:2px;margin-bottom:0}
.stat-row{display:flex;justify-content:space-between;align-items:center;padding:.4375rem 0;border-bottom:1px solid var(--border);font-size:.875rem}
.stat-row:last-child{border-bottom:none}
.stat-row .sl{color:var(--text-body)}
.stat-row .sv{font-weight:700;color:var(--primary);background:rgba(193,128,30,.08);padding:2px 10px;border-radius:var(--radius);font-size:.75rem}

/* === FOOTER (exact polri.go.id)
   bg-dark:#1e2022; space-top-2:pt-4rem; space-bottom-1:pb-2rem
   nav-white .nav-link: color:rgba(255,255,255,.7); hover:color:#fff
   nav-sm: font-size:.875rem; nav-x-0: padding-x:0
   bottom text: text-white opacity-sm(.4) small text-center */
.site-footer{background-color:#1e2022;color:rgba(255,255,255,.7)}
.footer-main{padding-top:4rem;padding-bottom:2rem}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:2rem}
/* Footer logo col */
.fg-logo{display:flex;flex-direction:column;align-items:flex-start}
.fg-logo img{width:80px;height:auto;object-fit:contain;display:block;margin-bottom:.75rem}
.fg-logo .brand-name{font-size:.875rem;font-weight:700;color:#fff;margin-bottom:.25rem}
/* fg-about: gambar tengah + teks di sebelahnya */
.fg-about{display:flex;align-items:center;gap:12px;margin-bottom:.75rem}
.fg-about img{width:54px;height:54px;object-fit:contain;flex-shrink:0;display:block}
.fg-about-text .fn{font-size:.875rem;font-weight:700;color:#fff;line-height:1.3}
.fg-about-text .fs{font-size:.75rem;color:rgba(255,255,255,.5);margin-top:2px}
/* fg-desc: diperkecil sedikit */
.fg-desc{font-size:.75rem;line-height:1.65;color:rgba(255,255,255,.45);margin-bottom:.75rem}
/* fg-contact */
.fg-contact{padding:0;margin:0;list-style:none}
.fg-contact li{display:flex;align-items:flex-start;gap:8px;margin-bottom:5px;font-size:.75rem;color:rgba(255,255,255,.45);line-height:1.5}
.fg-contact li i{color:var(--primary);margin-top:3px;font-size:.6875rem;flex-shrink:0}
/* fg-links */
.fg-links{padding:0;margin:0;list-style:none}
.fg-links li{margin-bottom:6px}
.fg-links a{font-size:.8125rem;color:rgba(255,255,255,.7);display:flex;align-items:center;gap:6px;transition:color .2s,padding-left .2s}
.fg-links a::before{content:'\203A';color:var(--primary);font-size:14px;font-weight:bold}
.fg-links a:hover{color:#fff;padding-left:4px}
.footer-nav-col h5{color:#fff;font-size:1rem;font-weight:600;margin-bottom:.5rem;margin-top:0}
.footer-nav-col h5.mt-2{margin-top:.5rem}
.footer-nav-list li{display:block}
.footer-nav-list a{display:block;padding:.25rem 0;font-size:.875rem;font-weight:400;color:rgba(255,255,255,.7);text-decoration:none;line-height:1.5;transition:color .2s}
.footer-nav-list a:hover{color:#fff;text-decoration:none}
.footer-bottom{padding-bottom:2rem}
.footer-bottom-text{color:#fff;opacity:.4;font-size:.875rem;text-align:center;margin:0;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1)}

/* === SINGLE / PAGE === */
.single-wrap,.page-wrap{background:#fff;padding:1.5rem;border-radius:var(--radius);box-shadow:0 1px 5px rgba(0,0,0,.05);border:1px solid var(--border)}
.single-wrap h1{font-size:1.375rem;font-weight:700;color:var(--dark);margin-bottom:.75rem;line-height:1.4}
.post-meta-bar{display:flex;align-items:center;gap:1rem;font-size:.75rem;color:var(--gray);flex-wrap:wrap;margin-bottom:.875rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}
.post-meta-bar i{color:var(--primary)}
.post-thumb{width:100%;max-height:380px;object-fit:cover;border-radius:var(--radius);margin-bottom:1.125rem;display:block}
.entry-content{font-size:.9375rem;line-height:1.85;color:var(--text-body)}
.entry-content p{margin-bottom:.875rem}
.entry-content h2,.entry-content h3{color:var(--dark);margin:1.125rem 0 .5rem}
.entry-content a{color:var(--primary);text-decoration:underline}
.entry-content blockquote{border-left:4px solid var(--primary);padding:.625rem 1.125rem;background:#f7faff;margin:1rem 0;font-style:italic;color:var(--text-body)}
.entry-content img{border-radius:var(--radius);margin:.75rem 0}
.page-wrap h1{font-size:1.375rem;font-weight:700;color:var(--primary);margin-bottom:1rem;padding-bottom:.625rem;border-bottom:2px solid var(--primary)}
.pagination{display:flex;gap:4px;margin-top:1.25rem;flex-wrap:wrap}
.pagination a,.pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;border:1px solid var(--border);border-radius:var(--radius);font-size:.875rem;color:var(--dark);transition:all .2s;padding:0 8px}
.pagination a:hover,.pagination span.current{background:var(--primary);color:#fff;border-color:var(--primary)}

/* === BREADCRUMB === */
.polres-breadcrumb{background:var(--light-bg);padding:.5rem 0;border-bottom:1px solid var(--border);font-size:.8125rem}
.breadcrumb-list{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0;padding:0;list-style:none}
.breadcrumb-list a{color:var(--primary);transition:color .2s}
.breadcrumb-list a:hover{color:var(--dark)}
.breadcrumb-list .sep{color:var(--gray);font-size:.625rem}
.breadcrumb-list .current{color:var(--text-body)}

/* === GO-TO-TOP (exact polri: position:fixed; bg:#c1801e; color:white) === */
.go-to-top{position:fixed;bottom:1.5rem;right:1.5rem;width:40px;height:40px;background:var(--primary);color:#fff;border:none;border-radius:50%;font-size:1rem;cursor:pointer;display:none;align-items:center;justify-content:center;z-index:999;box-shadow:0 4px 14px rgba(193,128,30,.4);transition:background .2s;text-decoration:none}
.go-to-top.visible{display:flex}
.go-to-top:hover{background:#a8691a;color:#fff}

/* === RESPONSIVE === */
@media(max-width:1199px){.footer-grid{grid-template-columns:1fr 1fr 1fr}.content-grid{grid-template-columns:1fr 290px}}
@media(max-width:991px){
  .content-grid{grid-template-columns:1fr}
  .quick-services .container{flex-wrap:wrap}
  .qs-item{flex:0 0 50%;border-bottom:1px solid var(--border)}
  .layanan-grid{grid-template-columns:1fr 1fr}
  .kontak-row{grid-template-columns:1fr}
  .mobile-menu-toggle{display:inline-flex;align-items:center}
  /* Mobile nav: hidden, shown via .open class */
  .header-nav>ul{
    display:none;flex-direction:column;
    position:absolute;top:73px;left:0;right:0;
    background:#fff;border-top:2px solid var(--primary);
    box-shadow:0 8px 20px rgba(0,0,0,.12);z-index:9998;
    max-height:80vh;overflow-y:auto}
  .header-nav>ul.open{display:flex}
  .header-nav>ul>li{width:100%;border-bottom:1px solid var(--border);overflow:visible;position:relative}
  .header-nav>ul>li>a{padding:.75rem 1.25rem;justify-content:space-between;border-bottom:none !important;font-weight:500}
  /* Mobile sub-menu: accordion — shown by .open class set by JS */
  .header-nav .sub-menu{
    position:static !important;
    display:none !important;
    box-shadow:none !important;
    border-top:none !important;border-bottom:none !important;
    border-left:3px solid var(--primary);
    background:#f7faff !important;
    padding:.25rem 0 !important;
    margin:0 !important;
    width:100%;
    opacity:1 !important;visibility:visible !important;transform:none !important}
  .header-nav .sub-menu.open{display:block !important}
  .header-nav .sub-menu a{
    padding:.5rem .875rem .5rem 1.75rem !important;
    white-space:normal !important;
    font-size:.875rem !important;
    border-bottom:1px solid var(--border) !important}
  .header-nav .sub-menu li:last-child a{border-bottom:none !important}
  /* hide search panel in mobile */
  .header-search .hs-box{right:0;left:auto;min-width:220px}
}
@media(max-width:767px){
  .news-grid{grid-template-columns:1fr}
  .news-card.news-featured{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr;gap:1.5rem}
  .search-push-top{padding-top:1.5rem;padding-bottom:1.5rem}
  .hero-banner img.hero-img{max-height:240px}
  .kontak-inner-wrap{padding:1.5rem}
}
@media(max-width:575px){
  .qs-item{flex:0 0 100%;border-right:none}
  .layanan-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
}
