/*
Theme Name: UpShaba
Theme URI: https://upshaba.com
Author: UpShaba
Description: ইউনিয়ন পরিষদ সেবা পোর্টালের জন্য থিম — বিভাগ/জেলা/উপজেলা/ইউনিয়ন সিলেক্টর, সেবা, সুবিধা, পার্টনার ও পেমেন্ট মাধ্যম সবই ওয়ার্ডপ্রেস অ্যাডমিন থেকে ম্যানেজযোগ্য।
Version: 1.0.0
Requires at least: 5.8
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: upshaba
*/
:root{
  --g:#3aa935; --g-dark:#2f9e3f; --purple:#7a2a80; --blue:#00aaff; --red:#ff3b4e; --orange:#ffb020;
  --bg:#ebeef3; --line:#cfd4da; --text:#111; --muted:#666; --ups-card:#fff;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Hind Siliguri','Noto Sans Bengali',Kalpurush,Arial,sans-serif;font-size:16px;line-height:1.6;color:var(--text);background:#fff}
img,svg{max-width:100%}
a{color:inherit;text-decoration:none}
:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.ups-wrap{width:100%;max-width:1160px;margin:0 auto;padding:0 16px}
.screen-reader-text{position:absolute;left:-9999px}

/* Header */
.ups-header{background:#fff;border-bottom:1px solid #ddd;position:relative;z-index:20}
.ups-header__in{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 16px;max-width:1160px;margin:0 auto;flex-wrap:wrap}
.ups-logo{display:flex;align-items:center;gap:10px;font-size:24px;font-weight:600;color:var(--g-dark)}
.ups-logo svg{width:44px;height:44px}
.ups-logo img{height:48px;width:auto;max-width:100%}
.ups-header__right{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.ups-btn{display:inline-block;color:#fff;padding:7px 16px;border-radius:3px;font-size:15px;font-weight:500;line-height:1.5}
.ups-btn--blue{background:var(--blue)}.ups-btn--red{background:var(--red)}.ups-btn--orange{background:var(--orange)}
.ups-btn:hover{filter:brightness(.93)}
.ups-fb{display:inline-flex;width:34px;height:34px;background:#1877f2;border-radius:4px;color:#fff;align-items:center;justify-content:center}
.ups-fb svg{width:22px;height:22px}
.ups-contact{font-size:13px;color:#555;line-height:1.6}
.ups-contact div{display:flex;align-items:center;gap:8px}
.ups-contact svg{width:13px;height:13px;fill:#777;flex:none}

/* Hero */
.ups-hero{background:linear-gradient(100deg,#2bb673 0%,#5cc05a 50%,#7dc242 100%);color:#fff;text-align:center;padding:24px 16px 40px}
.ups-hero__art{max-width:1250px;margin:0 auto}
.ups-hero__art img{display:block;margin:0 auto;width:100%;height:auto;max-height:430px;object-fit:contain}
.ups-hero__title{font-size:30px;font-weight:500;margin:34px 0 22px}
.ups-select{display:flex;gap:18px;justify-content:center;align-items:center;flex-wrap:wrap;max-width:1100px;margin:0 auto}
.ups-select select{width:156px;max-width:100%;height:38px;padding:0 8px;border:0;border-radius:3px;background:#fff;color:#111;font:inherit;font-size:15px}
.ups-select select:disabled{opacity:.75;cursor:not-allowed}
.ups-select button{height:42px;min-width:200px;padding:0 24px;border:0;border-radius:3px;background:var(--blue);color:#fff;font:inherit;font-size:16px;font-weight:500;cursor:pointer}
.ups-select button:hover{filter:brightness(.93)}
.ups-select__msg{flex-basis:100%;margin:0;min-height:1.5em;font-size:15px;color:#fff;background:transparent}

.ups-picked{background:#fff;border-bottom:3px solid var(--g);padding:12px 16px;text-align:center;font-size:17px}

/* Sections */
.ups-sec{padding:34px 0 40px}
.ups-sec--gray{background:var(--bg)}
.ups-sec__title{text-align:center;font-size:26px;font-weight:500;color:var(--purple);margin:0 0 30px}
.ups-sec__title::after{content:"";display:block;width:70px;height:3px;background:var(--g);margin:6px auto 0}

/* Services */
.ups-grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:26px 66px;max-width:1080px;margin:0 auto}
.ups-card{background:#fff;border:1px solid var(--line);border-radius:5px;min-height:138px;padding:18px 14px 14px;display:flex;flex-direction:column;align-items:center;text-align:center;color:#111;font-size:16.5px;line-height:1.35}
.ups-card:hover{border-color:var(--g);box-shadow:0 2px 10px rgba(0,0,0,.08)}
.ups-card__ico{color:var(--g);height:46px;display:flex;align-items:center;margin-bottom:12px}
.ups-card__ico svg{width:44px;height:44px}
.ups-card__ico img{max-height:44px;width:auto}
.ups-card__bar{display:block;width:70px;height:2px;background:var(--g);margin-top:8px}

/* Benefits */
.ups-benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:30px 24px;max-width:1090px;margin:0 auto}
.ups-ben{text-align:center;font-size:15.5px;line-height:1.45;padding:0 6px}
.ups-ben__ico{color:var(--purple);height:64px;display:flex;justify-content:center;align-items:center;margin-bottom:12px}
.ups-ben__ico svg{width:56px;height:56px}
.ups-ben__ico img{max-height:56px}

/* About */
.ups-about{max-width:1160px;margin:0 auto;font-size:15.5px;line-height:1.75;text-align:justify}
.ups-about__video{float:right;width:min(560px,46%);margin:0 0 12px 24px}
.ups-about__video iframe{display:block;width:100%;aspect-ratio:16/9;border:0}
.ups-about::after{content:"";display:block;clear:both}

/* Partners & payments */
.ups-pp{display:grid;grid-template-columns:1fr 2fr;gap:30px;max-width:1160px;margin:0 auto;align-items:start}
.ups-pp h3{margin:0 0 0;font-size:19px;font-weight:500;color:var(--g-dark);border-bottom:1px solid #999;text-align:center}
.ups-pp h3 span{display:inline-block;border-bottom:3px solid var(--g);padding:0 4px 3px;margin-bottom:-2px}
.ups-pp__list{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:12px}
.ups-pp__pay{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:12px;justify-items:center}
.ups-logo-chip{display:flex;align-items:center;justify-content:center;min-width:150px;min-height:40px;padding:6px 18px;border-radius:5px;font-weight:700;font-size:20px;color:var(--chip,#333);letter-spacing:.2px}
.ups-logo-chip img{max-height:46px;width:auto}

/* Footer */
.ups-fmenu{border-top:4px solid var(--bg);padding:12px 16px;text-align:center;font-size:14px}
.ups-fmenu ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center}
.ups-fmenu li+li{border-left:1px solid #ccc}
.ups-fmenu a{display:block;padding:0 18px}
.ups-fmenu a:hover{color:var(--g-dark)}
.ups-fbar{background:#000;color:#fff;padding:22px 0;font-size:15px}
.ups-fbar .ups-wrap{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center}
.ups-fbar a{display:inline-flex;align-items:center;gap:6px}
.ups-fbar svg{width:16px;height:16px;fill:#1877f2}
.ups-fbar__credit{color:#999;font-size:13px}

/* Generic content */
.ups-content{padding:36px 0;min-height:50vh}
.ups-content h1{color:var(--purple);font-weight:500}
.ups-content .entry{max-width:860px}

@media (max-width:1000px){
  .ups-grid4{gap:20px 24px}
  .ups-benefits{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:760px){
  .ups-grid4{grid-template-columns:repeat(2,1fr);gap:14px}
  .ups-card{font-size:15px;padding:14px 8px}
  .ups-header__in{justify-content:center}
  .ups-hero__title{font-size:24px}
  .ups-select select,.ups-select button{width:100%}
  .ups-select{gap:10px;max-width:420px}
  .ups-about__video{float:none;width:100%;margin:0 0 16px}
  .ups-about{text-align:left}
  .ups-pp{grid-template-columns:1fr}
  .ups-pp__pay{grid-template-columns:repeat(2,1fr)}
  .ups-fbar .ups-wrap{justify-content:center;text-align:center}
}
@media (max-width:460px){.ups-benefits{grid-template-columns:1fr}.ups-fmenu a{padding:2px 10px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Certificate lookup */
.ups-cert-page{background:#fff}
.ups-cert{padding:190px 16px 40px}
.ups-cert__card{background:#f4f4f4;border:1px solid #ccc;border-radius:6px;padding:14px 16px 16px}
.ups-cert__card h1{font-size:22px;font-weight:500;margin:0 0 22px}
.ups-cert__card label{display:block;font-size:14px;margin:0 0 8px}
.ups-cert__card input,.ups-cert__card select{display:block;width:100%;height:38px;padding:6px 12px;border:1px solid #ccc;border-radius:4px;background:#fff;font:inherit;font-size:15px;margin:0 0 16px}
.ups-cert__card small{display:block;margin:-14px 0 6px;font-size:11.5px;color:#4a6a7a}
.ups-cert__card select{margin-bottom:16px}
.ups-cert__act{text-align:right}
.ups-cert__card button{height:38px;padding:0 12px;border:0;border-radius:4px;background:#28a745;color:#fff;font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.ups-cert__card button:hover{background:#218838}
.ups-cert__msg{margin-top:16px;padding:12px 16px;border-radius:6px;font-size:15px}
.ups-cert__msg--err{background:#fdecea;border:1px solid #f5c2c0;color:#8a1f1a}
.ups-cert__msg--ok{background:#e8f6ec;border:1px solid #b8e0c3}
.ups-cert__msg dl{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;margin:8px 0}
.ups-cert__msg dt{color:#555}.ups-cert__msg dd{margin:0;font-weight:500}
.ups-cert__dl{display:inline-block;background:#28a745;color:#fff;padding:7px 14px;border-radius:4px}
@media (max-width:520px){.ups-cert{padding-top:60px}}

.ups-cert__card,.ups-cert__msg--err{max-width:450px;margin-left:auto;margin-right:auto}
.ups-cert__msg--ok{max-width:900px;margin:16px auto 0}
.ups-cert__img{display:block;max-width:100%;height:auto;margin:12px 0;border:1px solid #cfe5d5;background:#fff}
.ups-cert__pdf{display:block;width:100%;height:80vh;min-height:420px;margin:12px 0;border:1px solid #cfe5d5;background:#fff}

/* Certificate view (search result / QR link) */
.ups-cview{max-width:640px;margin:0 auto;padding:16px 8px 40px}
.ups-cview__bar{display:flex;gap:16px;justify-content:center;align-items:center;flex-wrap:wrap;font-size:14px;padding:8px 0 12px;color:#444}
.ups-cview__bar a{color:#1a7f37;text-decoration:underline}
.ups-cview__img{display:block;width:100%;height:auto;margin:0 auto;box-shadow:0 0 0 1px #e3e3e3}
.ups-cview__pdf{display:block;width:100%;height:92vh;min-height:600px;border:1px solid #e3e3e3;background:#fff}
