/* pages.css - konsolidasi style halaman daftar & detail (berita, project, service, staff, detail) */
@import url('./design-tokens.css');
/* -------- Page Headers -------- */
.modern-page-header,.page-header-modern{background:linear-gradient(120deg,var(--color-brand-primary),var(--color-brand-secondary));padding:70px 0 46px;color:#fff;position:relative;overflow:hidden;}
.modern-page-header:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 30%,rgba(255,255,255,.18),transparent 60%);} 
.modern-page-header h1,.page-header-modern h1{margin:0 0 10px;font-size:clamp(1.9rem,3.3vw,2.55rem);font-weight:700;line-height:1.15;}
.modern-page-header p,.page-header-modern p{margin:0;max-width:760px;color:rgba(255,255,255,.92);} 
/* Modifier for complaint pages */
.modern-page-header.complaint-header { padding: 80px 0 40px; }
/* Breadcrumb */
.breadcrumb-modern,.breadcrumb{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:18px 0 0;padding:0;font-size:12px;font-weight:500;letter-spacing:.4px;}
.breadcrumb-modern a,.breadcrumb a{color:#fff;opacity:.9;}
.breadcrumb-modern a:hover,.breadcrumb a:hover{opacity:1;text-decoration:underline;}
.separator{opacity:.45;}

/* -------- Generic Section Wrapper -------- */
.modern-content,.main-shell{padding:var(--space-9) 0;} .modern-content.bg-light{background:var(--gray-50);} 
.section-header-modern{text-align:center;max-width:880px;margin:0 auto var(--space-7);} 
.section-header-modern.text-left{text-align:left;margin-left:0;} 
.section-badge-modern,.section-badge{display:inline-block;background:var(--gray-100);color:var(--gray-600);font-size:11px;font-weight:600;letter-spacing:.75px;padding:6px 12px;border-radius:var(--radius-pill);margin-bottom:var(--space-3);} 
.section-title-modern{margin:0 0 var(--space-3);font-size:clamp(1.55rem,3vw,2.2rem);} 
.section-subtitle-modern{margin:0;color:var(--gray-600);font-size:14px;line-height:1.55;} 

/* -------- Grid Helpers -------- */
.news-list-modern{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-6);} 
.projects-grid,.service-grid-modern,.staff-grid{display:grid;gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));align-items:stretch;} 

/* -------- Card Patterns -------- */
.news-card,.project-card,.service-card-modern,.staff-card{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-xl);display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-sm);position:relative;transition:box-shadow .35s,transform .35s,border-color .35s;} 
.news-card:hover,.project-card:hover,.service-card-modern:hover,.staff-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px);border-color:var(--color-brand-primary);} 
.news-card .thumb{aspect-ratio:16/10;overflow:hidden;} .news-card .thumb img{width:100%;height:100%;object-fit:cover;display:block;} 
.news-card .body{display:flex;flex-direction:column;gap:10px;padding:16px 18px;} 
.news-title{margin:0;font-size:18px;line-height:1.35;} .news-title a{color:var(--gray-900);} .news-title a:hover{color:var(--color-brand-primary);} 
.news-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:11px;font-weight:500;color:var(--gray-500);} .news-meta i{margin-right:4px;color:var(--color-brand-primary);} 
.news-excerpt{margin:0;color:var(--gray-600);font-size:13px;line-height:1.5;} 

.service-card-modern{padding:22px 22px 26px;gap:14px;} .service-card-modern h3{margin:0;font-size:17px;} .service-card-modern p{margin:0 0 6px;color:var(--gray-600);font-size:14px;line-height:1.5;} .service-icon-modern{width:54px;height:54px;border-radius:16px;background:linear-gradient(135deg,var(--color-brand-primary),var(--color-brand-secondary));color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;box-shadow:var(--shadow-md);} 

.project-card.featured:before{content:"";position:absolute;inset:0;background:linear-gradient(145deg,#ffffff,#f4f9fb);opacity:.9;pointer-events:none;} 
.project-image-wrapper{position:relative;aspect-ratio:16/10;overflow:hidden;} .project-image-wrapper img{width:100%;height:100%;object-fit:cover;display:block;} 
.project-content{display:flex;flex-direction:column;gap:14px;padding:18px 20px;} .project-description{margin:0;color:var(--gray-600);font-size:14px;line-height:1.5;} .project-title{margin:0;font-size:18px;} .project-title a{color:var(--gray-900);} .project-title a:hover{color:var(--color-brand-primary);} 
.project-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:11px;font-weight:600;color:var(--gray-600);} .project-category{color:var(--color-brand-primary);} 

.staff-card{padding:0;} .staff-image-wrapper{position:relative;aspect-ratio:1/1;overflow:hidden;} .staff-image-wrapper img{width:100%;height:100%;object-fit:cover;display:block;} 
.staff-content{padding:18px 20px;display:flex;flex-direction:column;gap:8px;} .staff-name{margin:0;font-size:17px;} .staff-position{margin:0;font-size:13px;color:var(--color-brand-primary);font-weight:600;} .expertise-tag{background:var(--gray-100);color:var(--gray-600);padding:4px 10px;font-size:11px;font-weight:600;border-radius:var(--radius-pill);} 
.staff-expertise{display:flex;gap:8px;flex-wrap:wrap;} 

/* -------- Sidebar inside legacy layout bridging -------- */
.sidebar .widget{background:#fff;padding:18px 20px;border:1px solid var(--gray-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);margin-bottom:var(--space-6);} 
.sidebar .widget h5{margin:0 0 12px;font-size:15px;} 

/* -------- Pagination -------- */
.pagination-modern{text-align:center;margin-top:var(--space-8);} .pagination-modern a, .pagination-modern span{display:inline-block;margin:0 4px;padding:8px 14px;font-size:13px;border-radius:var(--radius-pill);background:var(--gray-100);color:var(--gray-700);font-weight:500;} .pagination-modern a:hover{background:var(--color-brand-primary);color:#fff;} .pagination-modern .active{background:linear-gradient(135deg,var(--color-brand-primary),var(--color-brand-secondary));color:#fff;}

/* -------- Detail Berita -------- */
.section-news-detail{padding:var(--space-9) 0;} .card-modern.card-news-detail{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);padding:var(--space-6);} 
.news-detail-image{margin:0 0 var(--space-5);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);} .news-detail-image img{width:100%;display:block;object-fit:cover;} .image-caption{margin:8px 0 0;font-size:12px;color:var(--gray-500);} 
.news-detail-title{margin:0 0 var(--space-3);font-size:clamp(1.6rem,3vw,2.2rem);} .news-detail-subtitle{margin:0 0 var(--space-4);font-size:18px;color:var(--color-brand-primary);} 
.news-meta-detail{display:flex;flex-wrap:wrap;gap:14px;font-size:12px;margin:0 0 var(--space-4);color:var(--gray-600);font-weight:500;} .news-meta-detail i{margin-right:4px;color:var(--color-brand-primary);} 
.news-detail-body{line-height:1.65;color:var(--gray-700);font-size:15px;} 
.news-tags{margin-top:var(--space-6);display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:12px;} .tag-item{background:var(--gray-100);padding:6px 12px;border-radius:var(--radius-pill);font-weight:600;color:var(--gray-600);} .tag-item:hover{background:var(--color-brand-primary);color:#fff;} 

/* -------- Comments Modern -------- */
.comments-section{margin-top:var(--space-9);} .comments-title{margin:0 0 var(--space-5);font-size:clamp(1.2rem,2.2vw,1.6rem);} 
.comment-list-modern{list-style:none;margin:0 0 var(--space-6);padding:0;display:flex;flex-direction:column;gap:22px;} 
.comment-item{display:flex;gap:18px;align-items:flex-start;} 
.comment-avatar img{width:56px;height:56px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 4px #fff,0 0 0 5px var(--color-brand-primary);} 
.comment-body-modern{flex:1 1 auto;min-width:0;background:#fff;border:1px solid var(--gray-200);padding:14px 18px;border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);} 
.comment-meta-top{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:0 0 6px;font-size:12px;font-weight:600;color:var(--gray-600);} 
.comment-author-name{color:var(--color-brand-primary);} .comment-date{font-weight:500;} 
.comment-text{font-size:14px;line-height:1.55;color:var(--gray-700);} 
.comment-empty{font-size:13px;color:var(--gray-500);} 
.comment-form-wrapper{background:#fff;border:1px solid var(--gray-200);padding:var(--space-6);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);} 
.comment-form-title{margin:0 0 var(--space-4);font-size:1.25rem;} 
.comment-form-modern label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--gray-700);} 
.comment-form-modern input,.comment-form-modern textarea{font:inherit;padding:10px 12px;border:1px solid var(--gray-300);border-radius:10px;background:#fff;resize:vertical;} 
.comment-form-modern input:focus,.comment-form-modern textarea:focus{outline:2px solid var(--color-brand-primary);border-color:var(--color-brand-primary);} 
.form-grid-2{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));} 
.captcha-row{display:flex;align-items:center;gap:18px;margin-top:var(--space-4);} .captcha-img img{display:block;max-height:60px;} 

:root[data-theme='dark'] .comment-body-modern,:root[data-theme='dark'] .comment-form-wrapper{background:#1f2529;border-color:#2c3338;} 
:root[data-theme='dark'] .comment-text{color:var(--gray-400);} 
:root[data-theme='dark'] .comment-form-modern input,:root[data-theme='dark'] .comment-form-modern textarea{background:#22292e;border-color:#2f363d;color:var(--gray-300);} 
:root[data-theme='dark'] .comment-form-modern input:focus,:root[data-theme='dark'] .comment-form-modern textarea:focus{outline:2px solid var(--color-brand-primary);}

/* -------- Animasi Entry (bridge ke utilities) -------- */
.fade-in,[data-animate]{opacity:0;transform:translateY(26px);}

/* -------- Dark Mode Overrides -------- */
:root[data-theme='dark'] .modern-page-header,:root[data-theme='dark'] .page-header-modern{background:linear-gradient(120deg,#1e3a68,#114b57);} 
:root[data-theme='dark'] .news-card,:root[data-theme='dark'] .project-card,:root[data-theme='dark'] .service-card-modern,:root[data-theme='dark'] .staff-card,:root[data-theme='dark'] .card-modern.card-news-detail{background:#1f2529;border-color:#2c3338;} 
:root[data-theme='dark'] .section-subtitle-modern,:root[data-theme='dark'] .news-excerpt,:root[data-theme='dark'] .project-description,:root[data-theme='dark'] .news-detail-body{color:var(--gray-400);} 
:root[data-theme='dark'] .section-badge-modern{background:#22292e;color:var(--gray-300);} 

/* -------- Responsive tweaks -------- */
@media (max-width:880px){.modern-content,.main-shell{padding:var(--space-8) 0;} .section-header-modern{margin-bottom:var(--space-6);} }
@media (max-width:600px){.news-card .body{padding:14px 16px;} .service-card-modern{padding:18px;} }

/* -------- Static Pages (Visi & Misi / Halaman Statis) -------- */
.content-static-wrapper{max-width:900px;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-7);} 
.static-figure{margin:0;position:relative;border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-md);} .static-figure img{width:100%;display:block;object-fit:cover;aspect-ratio:16/6;} 
.static-article{font-size:15px;line-height:1.7;color:var(--gray-700);} 
.static-article h2,.static-article h3{margin-top:var(--space-7);} 
.static-article p{margin:0 0 1.1em;} 

/* Visi Misi Block */
.visi-misi-block{display:flex;flex-direction:column;gap:var(--space-4);}
.visi-misi-block h2,.visi-misi-block h3{position:relative;padding-left:14px;font-size:1.3rem;margin:0 0 .75rem;} 
.visi-misi-block h2:before,.visi-misi-block h3:before{content:"";position:absolute;left:0;top:.45em;width:6px;height:6px;border-radius:50%;background:linear-gradient(135deg,var(--color-brand-primary),var(--color-brand-secondary));box-shadow:0 0 0 4px rgba(32,98,255,.15);} 
.visi-misi-block ul{list-style:none;padding:0;margin:0;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));} 
.visi-misi-block ul li{background:#fff;border:1px solid var(--gray-200);padding:10px 14px;border-radius:14px;box-shadow:var(--shadow-xs);position:relative;font-size:14px;line-height:1.45;display:flex;gap:8px;align-items:flex-start;} 
.visi-misi-block ul li:before{content:"\f00c";font-family:"Font Awesome 5 Free";font-weight:900;color:var(--color-brand-primary);margin-top:2px;} 
.visi-misi-block br+br{display:none;}
/* Kompresi paragraf dalam block agar tidak terlalu renggang */
.visi-misi-block p{margin:0 0 .65rem;line-height:1.5;}
.visi-misi-block h2 + p,.visi-misi-block h3 + p{margin-top:-.25rem;}
/* Jika ada list setelah paragraf, kecilkan jarak */
.visi-misi-block p + ol,.visi-misi-block p + ul{margin-top:.4rem;}

:root[data-theme='dark'] .static-article{color:var(--gray-300);} 
:root[data-theme='dark'] .visi-misi-block ul li{background:#1f2529;border-color:#2c3338;} 

/* === Compact override khusus Visi Misi (permintaan pengurangan jarak lebih lanjut) === */
.visi-misi-block{gap:1rem;} /* sebelumnya var(--space-4) */
.visi-misi-block h2,.visi-misi-block h3{margin:0 0 .55rem;}
.visi-misi-block p{margin:0 0 .45rem;line-height:1.42;}
.visi-misi-block h2 + p,.visi-misi-block h3 + p{margin-top:-.2rem;}
.visi-misi-block ul{gap:8px;}
.visi-misi-block ul li{padding:8px 12px;line-height:1.38;border-radius:12px;}
.visi-misi-block ul li + li{margin-top:0;} /* pastikan tidak ada margin ekstra */
.visi-misi-block ol,.visi-misi-block .vm-numbered{margin:0;}
.visi-misi-block .vm-numbered>li{margin:0 0 .4rem;}
.visi-misi-block .vm-numbered>li:last-child{margin-bottom:0;}
@media (min-width:680px){
	.visi-misi-block ul{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));}
}

/* ================= 2 COLUMN VARIANT FOR VISI & MISI ================= */
.visi-misi-block.cols-2{display:grid;gap:1.2rem;}
.visi-misi-block.cols-2 > .vm-header{margin-bottom:.35rem;}
/* Mobile: tetap satu kolom */
.visi-misi-block.cols-2 > .vm-vision,
.visi-misi-block.cols-2 > .vm-mission{background:var(--surface-1,#fff);border:1px solid var(--gray-200);padding:1rem .95rem .95rem;border-radius:14px;box-shadow:var(--shadow-xs);}
.dark-mode .visi-misi-block.cols-2 > .vm-vision,
.dark-mode .visi-misi-block.cols-2 > .vm-mission{background:#1f2529;border-color:#2c3338;}
.visi-misi-block.cols-2 > .vm-vision h3,
.visi-misi-block.cols-2 > .vm-mission h3{margin-top:0;font-size:1.05rem;letter-spacing:.5px;}
@media (min-width:720px){
	.visi-misi-block.cols-2{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:'header header' 'vision mission';align-items:start;}
	.visi-misi-block.cols-2 > .vm-header{grid-area:header;}
	.visi-misi-block.cols-2 > .vm-vision{grid-area:vision;}
	.visi-misi-block.cols-2 > .vm-mission{grid-area:mission;}
}
/* Kompres list di dalam varian 2 kolom */
.visi-misi-block.cols-2 ol,.visi-misi-block.cols-2 ul{gap:6px;}
.visi-misi-block.cols-2 li{padding:6px 10px;line-height:1.35;border-radius:10px;}
