/*
Theme Name: Gov Links Pakistan
Description: Pakistan Government Schemes Portal - Custom Theme
Version: 1.0
*/

* { margin: 0; padding: 0; box-sizing: border-box; }

body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background: linear-gradient(160deg, #01411C 0%, #0a6632 55%, #1a8a4a 100%);
    min-height: 100vh;
    padding: 20px;
}

.gov-container {
    max-width: 1000px;
    margin: 0 auto;
    padding: 40px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 32px;
}

/* ── HEADER ── */
.gov-header { text-align: center; color: white; }
.gov-header h1 { font-size: 3em; font-weight: 800; text-shadow: 2px 2px 4px rgba(0,0,0,0.3); margin-bottom: 8px; }
.gov-header p { font-size: 1.1em; opacity: 0.9; }

/* ── HERO BANNER ── */
.hero-banner { width: 100%; border-radius: 20px; position: relative; overflow: hidden; box-shadow: 0 20px 60px rgba(0,0,0,0.22); padding: 48px 40px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.hero-banner::before { content: ''; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(1,65,28,0.92) 0%, rgba(10,100,50,0.82) 40%, rgba(80,80,200,0.18) 100%); z-index: 0; }
.hero-banner::after { content: ''; position: absolute; width: 320px; height: 320px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.08); right: -60px; top: -80px; z-index: 0; }
.hero-dot { position: absolute; border-radius: 50%; background: rgba(255,255,255,0.07); z-index: 0; }
.hero-left { position: relative; z-index: 1; flex: 1; }
.hero-flag { font-size: 3.2em; margin-bottom: 10px; }
.hero-title { font-size: 2.1em; font-weight: 900; color: #fff; line-height: 1.2; margin-bottom: 10px; text-shadow: 0 3px 12px rgba(0,0,0,0.3); }
.hero-title span { color: #90EE90; }
.hero-subtitle { color: rgba(255,255,255,0.85); font-size: 1.05em; line-height: 1.6; }
.hero-right { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 14px; min-width: 200px; }
.hero-stat { background: rgba(255,255,255,0.13); border: 1px solid rgba(255,255,255,0.2); border-radius: 14px; padding: 14px 22px; text-align: center; backdrop-filter: blur(6px); transition: transform 0.2s; }
.hero-stat:hover { transform: translateY(-3px); }
.hero-stat-num { font-size: 1.8em; font-weight: 900; color: #90EE90; }
.hero-stat-label { color: rgba(255,255,255,0.85); font-size: 0.82em; margin-top: 2px; }

/* ── PROVINCE BUTTONS ── */
.provinces-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 28px; width: 100%; }
.province-btn { background: white; border: none; border-bottom: 4px solid #d4a017; padding: 24px 18px; border-radius: 15px; font-size: 1.2em; font-weight: bold; cursor: pointer; transition: all 0.3s ease; box-shadow: 0 5px 20px rgba(0,0,0,0.15); color: #01411C; text-decoration: none; display: flex; min-height: 90px; align-items: center; justify-content: center; position: relative; overflow: hidden; }
.province-btn::before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, #01411C, #1a8a4a); transition: left 0.3s ease; z-index: 0; }
.province-btn:hover { transform: translateY(-10px); box-shadow: 0 15px 40px rgba(1,65,28,0.3); color: white; }
.province-btn:hover::before { left: 0; }
.province-btn span { position: relative; z-index: 1; font-weight: 800; }

/* ── BACK BUTTON ── */
.back-btn { display: inline-block; background: #d4a017; color: #fff; padding: 10px 26px; border-radius: 28px; text-decoration: none; font-weight: 700; transition: transform 0.18s, box-shadow 0.18s; box-shadow: 0 8px 24px rgba(0,0,0,0.18); align-self: flex-start; }
.back-btn:hover { transform: translateY(-4px); background: #c49010; color: #fff; }

/* ── SEARCH BAR ── */
.search-wrap { width: 100%; }
.search-form { display: flex; align-items: center; background: #fff; border-radius: 999px; box-shadow: 0 10px 32px rgba(16,24,40,0.16); overflow: hidden; padding: 6px 8px 6px 22px; gap: 8px; }
.search-form input[type="search"] { flex: 1; border: none; outline: none; font-size: 1.05em; color: #222; background: transparent; padding: 8px 0; }
.search-form input[type="search"]::placeholder { color: #aaa; }
.search-form input[type="submit"] { background: linear-gradient(135deg, #01411C, #1a8a4a); color: #fff; border: none; border-radius: 999px; padding: 10px 24px; font-size: 1em; font-weight: 700; cursor: pointer; transition: opacity 0.18s; }
.search-form input[type="submit"]:hover { opacity: 0.88; }

/* ── FILTER SECTION ── */
.filters-section { background: #fff; padding: 24px 26px; border-radius: 14px; box-shadow: 0 18px 48px rgba(0,0,0,0.18); border-top: 4px solid #d4a017; width: 100%; }
.filters-title { font-size: 1.2em; font-weight: bold; margin-bottom: 15px; color: #01411C; }
.filter-buttons { display: flex; flex-wrap: wrap; gap: 10px; }
.filter-btn { background: #fff; border: 2px solid #a8d5b5; padding: 8px 18px; border-radius: 999px; font-weight: 700; transition: all 0.14s; color: #01411C; text-decoration: none; font-size: 0.95em; box-shadow: 0 4px 12px rgba(0,0,0,0.06); }
.filter-btn:hover { transform: translateY(-3px); background: #e8f5ec; color: #01411C; }
.filter-btn.active { background: linear-gradient(90deg, #01411C, #1a8a4a); color: #fff; border-color: transparent; box-shadow: 0 10px 28px rgba(1,65,28,0.25); }

/* ── SCHEME CARDS ── */
.posts-grid { display: grid; grid-template-columns: 1fr; gap: 24px; width: 100%; }
.post-card { background: #fff; border-radius: 14px; padding: 28px; box-shadow: 0 14px 40px rgba(0,0,0,0.15); border-left: 5px solid #01411C; transition: box-shadow 0.25s, transform 0.18s; }
.post-card:hover { transform: translateY(-6px); box-shadow: 0 24px 60px rgba(0,0,0,0.2); border-left-color: #d4a017; }
.post-meta-row { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; flex-wrap: wrap; }
.post-badge { display: inline-block; background: linear-gradient(135deg, #f59e0b, #f97316); color: #fff; padding: 5px 14px; border-radius: 999px; font-size: 0.84em; font-weight: 700; }
.post-province-tag { display: inline-block; background: #eef2ff; color: #4d3fd4; padding: 5px 12px; border-radius: 999px; font-size: 0.82em; font-weight: 700; border: 1px solid #c7d2fe; }
.verified-badge { display: inline-flex; align-items: center; background: #dcfce7; color: #166534; border: 1px solid #86efac; padding: 4px 12px; border-radius: 999px; font-size: 0.8em; font-weight: 700; }
.post-title { font-size: 1.4em; font-weight: 800; color: #111827; margin-bottom: 10px; }
.post-description { color: #4b5563; font-size: 1rem; margin-bottom: 16px; line-height: 1.7; }
.post-link { display: inline-block; background: linear-gradient(135deg, #01411C, #1a8a4a); color: white; padding: 12px 22px; border-radius: 999px; text-decoration: none; font-weight: 700; transition: transform 0.22s, box-shadow 0.22s; }
.post-link:hover { transform: translateY(-3px); background: linear-gradient(135deg, #d4a017, #e8b820); color: #fff; }

/* ── SCAM BANNER ── */
.scam-banner { background: linear-gradient(135deg, #7f1d1d, #dc2626); border-radius: 14px; padding: 16px 22px; display: flex; align-items: center; gap: 14px; box-shadow: 0 8px 28px rgba(220,38,38,0.35); border-left: 5px solid #fca5a5; width: 100%; }
.scam-banner-icon { font-size: 2em; flex-shrink: 0; }
.scam-banner-text strong { display: block; color: #fff; font-size: 1.05em; margin-bottom: 4px; }
.scam-banner-text span { color: rgba(255,255,255,0.88); font-size: 0.9em; line-height: 1.5; }

/* ── NO RESULTS ── */
.no-results { text-align: center; color: white; padding: 40px; font-size: 1.2em; }

/* ── FLOATING WHATSAPP ── */
.whatsapp-float { position: fixed; bottom: 28px; right: 28px; background: #25D366; color: #fff; border-radius: 999px; padding: 14px 22px; font-size: 1em; font-weight: 700; text-decoration: none; display: flex; align-items: center; gap: 10px; box-shadow: 0 8px 28px rgba(37,211,102,0.38); z-index: 9999; transition: transform 0.22s; }
.whatsapp-float:hover { transform: translateY(-4px) scale(1.04); color: #fff; }
.whatsapp-float svg { width: 26px; height: 26px; fill: #fff; flex-shrink: 0; }

/* ── SINGLE POST LAYOUT ── */
.single-title-bar { width:100%; background:linear-gradient(135deg,#01411C,#0a6632); border-radius:14px; padding:16px 24px; display:flex; align-items:center; justify-content:space-between; gap:16px; box-shadow:0 8px 24px rgba(0,0,0,0.2); }
.single-title-text { color:#fff; font-size:1.05em; font-weight:800; flex:1; line-height:1.4; }
.single-home-link { color:#fff; text-decoration:none; font-weight:700; font-size:0.88em; background:rgba(255,255,255,0.2); padding:8px 16px; border-radius:999px; white-space:nowrap; flex-shrink:0; }
.single-section-card { background:#fff; border-radius:18px; padding:28px; width:100%; box-shadow:0 14px 40px rgba(0,0,0,0.13); }
.single-section-label { font-size:1.2em; font-weight:800; color:#01411C; margin-bottom:20px; padding-bottom:10px; border-bottom:3px solid #d4a017; }
.single-req-grid { display:grid; grid-template-columns:1fr 340px; gap:28px; align-items:start; }
.single-featured-image { position:sticky; top:20px; }
.single-featured-image img { width:100%; height:auto; border-radius:14px; display:block; box-shadow:0 8px 24px rgba(0,0,0,0.12); }

/* ── SINGLE CONTENT ── */
.single-content { color:#374151; font-size:1.05rem; line-height:1.9; }
.single-content h2 { font-size:1.3em; font-weight:800; color:#01411C; margin:28px 0 16px; border-left:4px solid #d4a017; padding-left:12px; }
.single-content ul { list-style:none; padding:0; display:grid; grid-template-columns:repeat(auto-fit, minmax(180px, 1fr)); gap:12px; margin:0 0 20px; }
.single-content ul li { background:linear-gradient(135deg,#e8f5e9,#f1f8e9); border:2px solid #a8d5b5; border-radius:12px; padding:14px 16px; color:#01411C; font-weight:600; font-size:0.95em; }
.single-content ul li::before { content:'✅ '; }
.single-content ol { list-style:none; padding:0; counter-reset:steps; display:flex; flex-direction:column; gap:10px; margin:0 0 20px; }
.single-content ol li { counter-increment:steps; background:#f0fdf4; border:2px solid #86efac; border-radius:12px; padding:14px 18px; color:#166534; font-weight:600; display:flex; align-items:center; gap:14px; }
.single-content ol li::before { content:counter(steps); background:#01411C; color:#fff; width:28px; height:28px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:800; flex-shrink:0; }
.single-content p { margin-bottom:14px; }

/* ── OFFICIAL BUTTON ── */
.official-btn { display:inline-block; background:linear-gradient(135deg,#01411C,#1a8a4a); color:#fff; padding:14px 36px; border-radius:999px; text-decoration:none; font-weight:700; font-size:1.05em; transition:transform 0.22s; box-shadow:0 8px 24px rgba(1,65,28,0.25); }
.official-btn:hover { transform:translateY(-3px); background:linear-gradient(135deg,#d4a017,#e8b820); color:#fff; }

/* ── APPLY HELP BOX ── */
.apply-help-box { background:linear-gradient(135deg,#fff8e1,#fffde7); border:2px solid #d4a017; border-radius:16px; padding:28px 24px; text-align:center; margin-top:24px; }
.apply-help-icon { font-size:2em; margin-bottom:8px; }
.apply-help-title { font-size:1.2em; font-weight:800; color:#92400e; margin-bottom:6px; }
.apply-help-desc { color:#78350f; font-size:0.97rem; line-height:1.6; margin-bottom:20px; }
.apply-help-btn { display:inline-block; background:linear-gradient(135deg,#25D366,#128C7E); color:#fff; padding:14px 32px; border-radius:999px; text-decoration:none; font-weight:700; font-size:1rem; box-shadow:0 4px 16px rgba(37,211,102,0.35); }
.apply-help-btn:hover { opacity:0.92; }

/* ── FOOTER ── */
.gov-footer { color: rgba(255,255,255,0.8); text-align: center; font-size: 0.9em; }

/* ── PAGINATION ── */
.gov-pagination { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; }
.gov-pagination a, .gov-pagination span { background: rgba(255,255,255,0.15); color: #fff; padding: 8px 16px; border-radius: 999px; text-decoration: none; font-weight: 700; font-size: 0.9em; }
.gov-pagination .current { background: #d4a017; }
.gov-pagination a:hover { background: rgba(255,255,255,0.3); }

/* ── RESPONSIVE: Tablet ── */
@media (max-width: 768px) {
    body { padding: 12px; }
    .gov-container { padding: 24px 14px; gap: 20px; }
    .gov-header h1 { font-size: 1.8em; }
    .gov-header p  { font-size: 0.95em; }
    .hero-banner { flex-direction: column; padding: 28px 20px; text-align: center; }
    .hero-right  { flex-direction: row; justify-content: center; min-width: unset; width: 100%; }
    .hero-stat   { flex: 1; padding: 10px 8px; }
    .hero-stat-num { font-size: 1.4em; }
    .hero-title  { font-size: 1.5em; }
    .hero-subtitle { font-size: 0.95em; }
    .provinces-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
    .province-btn   { padding: 16px 10px; font-size: 0.95em; min-height: 64px; }
    .search-form { padding: 5px 6px 5px 16px; gap: 6px; }
    .search-form input[type="search"] { font-size: 0.95em; }
    .search-form input[type="submit"] { padding: 9px 16px; font-size: 0.9em; }
    .filters-section { padding: 16px; }
    .filter-buttons  { flex-direction: column; gap: 8px; }
    .filter-btn      { width: 100%; text-align: center; padding: 10px 14px; }
    .post-card   { padding: 20px 16px; }
    .post-title  { font-size: 1.15em; }
    .post-description { font-size: 0.95rem; }
    .post-meta-row { gap: 6px; }
    .back-btn { font-size: 0.9em; padding: 9px 20px; }
    .whatsapp-float { padding: 10px 14px; font-size: 0.85em; bottom: 16px; right: 12px; }
    .whatsapp-float svg { width: 22px; height: 22px; }
    .scam-banner { flex-direction: column; text-align: center; padding: 14px 16px; gap: 8px; }
    .scam-banner-icon { font-size: 1.6em; }
    .single-req-grid { grid-template-columns: 1fr; }
    .single-featured-image { position: static; }
    .single-title-bar { flex-direction: column; text-align: center; }
    .single-title-text { font-size: 0.95em; }
    .single-content { font-size: 0.97rem; }
    .single-content ul { grid-template-columns: 1fr; }
}

/* ── RESPONSIVE: Small Phones ── */
@media (max-width: 400px) {
    .gov-header h1 { font-size: 1.4em; }
    .hero-title    { font-size: 1.2em; }
    .hero-right    { flex-direction: column; align-items: center; }
    .hero-stat     { width: 100%; }
    .provinces-grid { grid-template-columns: 1fr; }
    .province-btn  { min-height: 54px; }
    .post-title    { font-size: 1.05em; }
    .search-form input[type="submit"] { padding: 8px 12px; font-size: 0.82em; }
}
