/* RAIBARI PART-20 — Complete Public Pages UI Standardization */
:root{
  --ui-navy:#123b66;
  --ui-navy-dark:#0c2a49;
  --ui-blue:#1f5b96;
  --ui-gold:#bd8928;
  --ui-bg:#f4f7fa;
  --ui-soft:#eef3f7;
  --ui-white:#fff;
  --ui-text:#1f2d3b;
  --ui-muted:#667586;
  --ui-line:#d8e1e9;
  --ui-success:#2f6a47;
  --ui-danger:#8a3636;
}

body{
  background:var(--ui-bg);
  color:var(--ui-text);
  font-family:"Nirmala UI","Segoe UI",Arial,sans-serif;
}

main{min-height:52vh}

.section,
.portal-section{
  padding:42px 0;
}

.section>.container,
.portal-section>.container{
  position:relative;
}

.section h1,
.section h2,
.portal-section h1,
.portal-section h2{
  color:var(--ui-navy-dark);
}

.section h2,
.portal-section h2{
  font-size:28px;
  line-height:1.25;
  margin-bottom:18px;
}

.section h2:after{
  content:"";
  display:block;
  width:54px;
  height:3px;
  background:var(--ui-gold);
  margin-top:9px;
}

.page-intro,
.section-intro{
  color:var(--ui-muted);
  max-width:800px;
  margin-top:-6px;
  margin-bottom:22px;
}

.card{
  border-radius:3px !important;
  border:1px solid var(--ui-line) !important;
  box-shadow:0 4px 14px rgba(17,45,72,.045) !important;
  background:var(--ui-white);
}

.card h3{
  color:var(--ui-navy);
}

.grid-2,.grid-3{
  align-items:start;
}

.btn{
  border-radius:3px !important;
  background:var(--ui-navy) !important;
  color:#fff !important;
  box-shadow:none !important;
  text-decoration:none;
}

.btn:hover{
  background:var(--ui-navy-dark) !important;
}

.badge{
  border-radius:2px !important;
  background:#edf3f8 !important;
  border:1px solid #d4dee7 !important;
  color:#34536f !important;
  font-weight:700;
}

.alert{
  border-radius:3px !important;
}

.table-wrap{
  border-radius:3px !important;
  border:1px solid var(--ui-line) !important;
  box-shadow:none !important;
}

table{
  background:#fff;
}

th{
  background:#eaf0f5 !important;
  color:#173b5d !important;
  font-size:13px;
  letter-spacing:.01em;
}

td{
  color:#2c3947;
}

tr:hover td{
  background:#fafcfd;
}

.field input,
.field textarea,
.field select{
  border-radius:3px !important;
  border:1px solid #c7d2dc !important;
  background:#fff;
}

.field input:focus,
.field textarea:focus,
.field select:focus{
  outline:none;
  border-color:#7e9ab4 !important;
  box-shadow:0 0 0 2px rgba(31,91,150,.08);
}

.public-page-head{
  background:#eef3f7;
  border-bottom:1px solid var(--ui-line);
  padding:22px 0;
}

.public-page-head .container{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:end;
}

.public-page-head small{
  display:block;
  color:var(--ui-gold);
  font-weight:800;
  letter-spacing:.1em;
  margin-bottom:3px;
}

.public-page-head h1{
  margin:0;
  color:var(--ui-navy-dark);
  font-size:29px;
}

.public-breadcrumb{
  color:var(--ui-muted);
  font-size:12px;
}

.public-breadcrumb a{
  color:var(--ui-blue);
  text-decoration:none;
}

.public-info-strip{
  padding:10px 0;
  border-bottom:1px solid var(--ui-line);
  background:#fff;
}

.public-info-strip .container{
  display:flex;
  gap:22px;
  flex-wrap:wrap;
  font-size:12px;
  color:var(--ui-muted);
}

.public-info-strip b{
  color:var(--ui-navy);
}

.notice-list,
.document-list,
.scheme-list,
.service-list{
  display:grid;
  gap:12px;
}

.notice-item,
.document-item,
.scheme-item,
.service-item{
  display:block;
  background:#fff;
  border:1px solid var(--ui-line);
  padding:17px;
  text-decoration:none;
  color:inherit;
}

.notice-item:hover,
.document-item:hover,
.scheme-item:hover,
.service-item:hover{
  border-color:#9fb1c2;
}

.public-filter-bar{
  background:#fff;
  border:1px solid var(--ui-line);
  padding:14px;
  margin-bottom:18px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:end;
}

.public-filter-bar>*{
  margin:0 !important;
}

.public-stat-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
  margin-bottom:22px;
}

.public-stat{
  background:#fff;
  border:1px solid var(--ui-line);
  padding:18px;
}

.public-stat strong{
  display:block;
  font-size:27px;
  color:var(--ui-navy);
}

.public-stat span{
  font-size:12px;
  color:var(--ui-muted);
}

.progress-public{
  height:8px;
  background:#e4e9ee;
  overflow:hidden;
}

.progress-public>span{
  display:block;
  height:100%;
  background:var(--ui-blue);
}

.public-empty{
  padding:24px;
  background:#fff;
  border:1px dashed #bdc8d2;
  color:var(--ui-muted);
}

.public-note{
  margin-top:20px;
  padding:13px 15px;
  background:#fff8de;
  border:1px solid #e5d39a;
  color:#5f4e22;
  font-size:12px;
}

.public-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.public-actions a{
  text-decoration:none;
}

.gallery{
  gap:14px !important;
}

.gallery>div,
.gallery>a{
  background:#fff;
  border:1px solid var(--ui-line);
  padding:8px;
}

.gallery img{
  border-radius:1px !important;
}

/* Tracking and verification pages */
.tracking-box,
.verification-box{
  max-width:760px;
  margin:0 auto;
}

.tracking-box .card,
.verification-box .card{
  padding:24px;
}

.tracking-result{
  margin-top:18px;
}

.status-timeline{
  position:relative;
  padding-left:26px;
}

.status-timeline:before{
  content:"";
  position:absolute;
  left:7px;
  top:4px;
  bottom:4px;
  width:2px;
  background:#d6dfe7;
}

.status-timeline>.card{
  position:relative;
}

.status-timeline>.card:before{
  content:"";
  position:absolute;
  left:-24px;
  top:20px;
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--ui-navy);
  border:2px solid #fff;
  box-shadow:0 0 0 1px #b8c4cf;
}

/* Public profile / directory cards */
.directory-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}

.directory-card{
  background:#fff;
  border:1px solid var(--ui-line);
  padding:18px;
  text-align:center;
}

.directory-card img{
  width:100px;
  height:100px;
  border-radius:50%;
  object-fit:cover;
  border:1px solid #ccd6df;
  margin-bottom:10px;
}

.directory-card h3{
  color:var(--ui-navy);
  margin:6px 0;
}

.directory-card p{
  margin:4px 0;
  color:var(--ui-muted);
  font-size:13px;
}

/* Print-friendly cleanup */
@media print{
  .gov-strip,.portal-header,.service-ticker,.mega-nav,.portal-footer,.public-actions{display:none!important}
  body{background:#fff}
  main{min-height:auto}
  .section{padding:0}
  .card,.table-wrap{box-shadow:none!important}
}

@media(max-width:980px){
  .public-stat-grid{grid-template-columns:repeat(2,1fr)}
  .directory-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:620px){
  .section,.portal-section{padding:30px 0}
  .section h2,.portal-section h2{font-size:24px}
  .public-page-head .container{align-items:flex-start;flex-direction:column}
  .public-page-head h1{font-size:25px}
  .public-stat-grid,.directory-grid{grid-template-columns:1fr}
  .table-wrap{font-size:12px}
  th,td{padding:9px}
}
