/* GoPragya Berekum - shared styles (phone first, then tablet and computer) */
:root{
  --yellow:#facc15;--yellow-2:#fde047;--yellow-soft:#fefce8;--yellow-line:#fde68a;
  --ink:#111827;--black:#0f0f0f;--muted:#6b7280;--line:#e5e7eb;--bg:#fffefb;
  --green:#16a34a;--red:#dc2626;--radius:16px
}
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{font-family:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;background:var(--bg);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased;min-height:100vh}
img{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}

/* boot check: only shows if js/gp-core.js did not load */
.boot-warn{position:fixed;left:12px;right:12px;bottom:12px;z-index:999;background:#b91c1c;color:#fff;padding:12px 14px;border-radius:12px;font-size:13px;opacity:0;animation:bootShow .3s 4s forwards}
@keyframes bootShow{to{opacity:1}}

/* nav */
.nav{position:sticky;top:0;z-index:100;background:var(--black);border-bottom:3px solid var(--yellow)}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:12px;height:62px;padding:0 16px;max-width:1280px;margin:0 auto}
.logo{color:#fff;font-weight:800;font-size:18px;letter-spacing:-.4px;line-height:1.05;text-decoration:none}
.logo span{color:var(--yellow)} .logo small{display:block;font-size:11px;font-weight:600;color:#9ca3af;letter-spacing:.3px}
.nav-links{display:none;align-items:center;gap:4px}
.nav-links a{color:#d1d5db;text-decoration:none;font-size:14px;font-weight:600;padding:9px 14px;border-radius:999px;white-space:nowrap}
.nav-links a:hover{color:#fff;background:#1c1c1c}
.nav-links a[aria-current=page]{color:#fff;background:#1c1c1c}
.nav-links a.cta{background:var(--yellow);color:#111}
.menu-btn{width:44px;height:44px;border:0;border-radius:10px;background:#1c1c1c;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}
.menu-btn span,.menu-btn span::before,.menu-btn span::after{display:block;width:20px;height:2px;background:#fff;border-radius:2px;position:relative;content:""}
.menu-btn span::before{position:absolute;top:-6px} .menu-btn span::after{position:absolute;top:6px}
.mobile-menu{display:none;background:var(--black);border-top:1px solid #222;padding:8px 16px 16px}
.mobile-menu.open{display:block}
.mobile-menu a{display:flex;align-items:center;gap:10px;min-height:48px;color:#e5e7eb;text-decoration:none;font-size:15px;font-weight:600;padding:0 12px;border-radius:12px}
.mobile-menu a:hover,.mobile-menu a[aria-current=page]{background:#1c1c1c;color:#fff}
.mobile-menu a.cta{background:var(--yellow);color:#111;justify-content:center;margin-top:8px}
@media(min-width:900px){.nav-links{display:flex}.menu-btn,.mobile-menu,.mobile-menu.open{display:none}.nav-in{height:68px;padding:0 24px}.logo{font-size:20px}}

/* layout */
.wrap{max-width:1280px;margin:0 auto}
.split{display:grid;grid-template-columns:1fr}
@media(min-width:900px){.split{grid-template-columns:1.1fr .9fr;min-height:calc(100vh - 71px)}}
.photo{background-color:#1f2937;background-size:cover;background-position:center;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:28px 16px;min-height:300px}
@media(min-width:900px){.photo{padding:48px 40px;min-height:0}}
.photo h1{font-size:30px;line-height:1.02;font-weight:800;letter-spacing:-1px;margin-top:14px;max-width:16ch}
@media(min-width:900px){.photo h1{font-size:46px}}
.photo p{margin-top:12px;font-size:15px;color:#e5e7eb;max-width:46ch}
.credit{margin-top:14px;font-size:10.5px;color:rgba(255,255,255,.6)}
.panel{background:var(--yellow-soft);padding:16px}
@media(min-width:900px){.panel{padding:32px}}
.badge{display:inline-flex;align-self:flex-start;background:var(--yellow);color:#111;font-size:11px;font-weight:800;padding:6px 12px;border-radius:999px;letter-spacing:.4px}
.badge.dark{background:#111;color:var(--yellow)}

/* card + form */
.card{background:#fff;border:1px solid #f1f1f1;border-radius:var(--radius);padding:18px;box-shadow:0 8px 30px rgba(0,0,0,.06)}
@media(min-width:600px){.card{padding:24px}}
.card h2{font-size:21px;font-weight:800;letter-spacing:-.4px}
.lead{font-size:13.5px;color:var(--muted);margin-top:4px}
.field{margin-top:14px}
.field label,.lbl{display:block;font-size:11px;font-weight:800;color:#4b5563;letter-spacing:.6px;text-transform:uppercase;margin-bottom:6px}
.input{width:100%;min-height:48px;padding:12px 14px;border-radius:12px;border:1.5px solid var(--line);font:inherit;font-size:16px;color:var(--ink);background:#fff;outline:none;appearance:none;-webkit-appearance:none}
select.input{background-image:linear-gradient(45deg,transparent 50%,#6b7280 50%),linear-gradient(135deg,#6b7280 50%,transparent 50%);background-position:calc(100% - 20px) 21px,calc(100% - 14px) 21px;background-size:6px 6px;background-repeat:no-repeat;padding-right:40px}
.input:focus{border-color:var(--yellow);box-shadow:0 0 0 3px rgba(250,204,21,.25)}
.input[aria-invalid=true]{border-color:var(--red)}
.two{display:grid;grid-template-columns:1fr;gap:0 12px}
@media(min-width:600px){.two{grid-template-columns:1fr 1fr}}
.hint{font-size:12px;color:var(--muted);margin-top:4px}
.err{display:none;margin-top:12px;background:#fef2f2;border:1px solid #fecaca;color:var(--red);border-radius:12px;padding:10px 12px;font-size:13.5px;font-weight:600}
.err.show{display:block}
.err.tamper{background:#7f1d1d;color:#fff;border-color:#7f1d1d}
.group{display:inline-block;margin-top:18px;font-size:12px;font-weight:800;background:var(--yellow);color:#111;padding:3px 12px;border-radius:999px}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

/* buttons */
.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:52px;padding:0 18px;border:0;border-radius:12px;font:inherit;font-weight:800;font-size:15px;cursor:pointer;text-decoration:none;transition:transform .15s,box-shadow .15s,background .15s}
.btn-yellow{background:var(--yellow);color:#111}
.btn-yellow:hover{background:var(--yellow-2);box-shadow:0 4px 14px rgba(250,204,21,.4)}
.btn-black{background:#111;color:#fff}
.btn-green{background:#22c55e;color:#fff}
.btn-wa{background:#25d366;color:#fff}
.btn-ghost{background:transparent;border:1.5px solid #d1d5db;color:inherit}
.btn:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}
.btn.inline{display:inline-flex;width:auto;min-height:44px}
.home-btn{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 16px;border-radius:999px;background:#111;color:#fff;text-decoration:none;font-weight:700;font-size:14px;margin-bottom:12px}
.home-btn:hover{background:#262626}
.btn-row{display:grid;gap:8px;margin-top:12px}

/* fare box */
.fare-box{background:#fffbeb;border:1.5px solid var(--yellow-line);border-radius:14px;padding:14px 16px;margin-top:16px}
.fare-row{display:flex;justify-content:space-between;gap:12px;padding:4px 0;font-size:14px}
.fare-row span{color:var(--muted)} .fare-row b{text-align:right}
.fare-total{display:flex;justify-content:space-between;align-items:center;border-top:2px dashed var(--yellow-line);margin-top:10px;padding-top:10px}
.fare-total b{font-size:24px;letter-spacing:-.5px}
.fare-note{font-size:12px;color:var(--muted)}
.pay-note{font-size:12px;color:#9ca3af;text-align:center;margin-top:8px}

/* combobox (search + full list) */
.combo{position:relative}
.combo-list{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:40;background:#fff;border:1px solid var(--line);border-radius:12px;max-height:300px;overflow-y:auto;box-shadow:0 16px 40px rgba(0,0,0,.14);display:none;-webkit-overflow-scrolling:touch}
.combo-list.open{display:block}
.combo-item{display:flex;justify-content:space-between;gap:10px;padding:12px 14px;min-height:46px;cursor:pointer;font-size:14.5px;border-bottom:1px solid #f6f6f6}
.combo-item:hover,.combo-item.active{background:#fffbeb}
.combo-item small{color:var(--muted);font-weight:700;white-space:nowrap}
.combo-empty{padding:12px 14px;color:var(--muted);font-size:14px}

/* status boxes */
.status{display:none;margin-top:16px;background:#111;color:#fff;border-radius:16px;padding:18px;text-align:center}
.status.show{display:block}
.status .code{font-size:28px;color:var(--yellow);letter-spacing:5px;font-weight:800}
.status .rows{text-align:left;background:rgba(255,255,255,.07);border-radius:10px;padding:10px 12px;margin-top:12px;font-size:13.5px}
.status .rows div{display:flex;justify-content:space-between;gap:10px}
.status .rows span{color:#9ca3af}
.status small{display:block;margin-top:10px;color:#9ca3af;font-size:11.5px}
.assigned{display:none;margin-top:16px;background:#f0fdf4;border:2px solid #22c55e;border-radius:16px;padding:16px}
.assigned.show{display:block}

/* sections */
.section{padding:40px 16px}
@media(min-width:900px){.section{padding:56px 24px}}
.section h2{font-size:26px;font-weight:800;letter-spacing:-.6px;margin-top:10px}
.table-wrap{background:#fff;border:1px solid var(--line);border-radius:16px;margin-top:18px;overflow:hidden}
.fares{width:100%;border-collapse:collapse;font-size:14px}
.fares th{background:#111;color:var(--yellow);text-align:left;padding:12px}
.fares td{padding:10px 12px;border-top:1px solid #f3f4f6;vertical-align:top}
.fares td:last-child,.fares th:last-child{text-align:right;white-space:nowrap}
.grid-3{display:grid;grid-template-columns:1fr;gap:14px;margin-top:24px}
@media(min-width:700px){.grid-3{grid-template-columns:repeat(3,1fr)}}
.feature{background:#111;color:#fff;border-radius:16px;padding:20px}
.feature b{color:var(--yellow)} .feature p{font-size:13.5px;color:#a1a1aa;margin-top:8px}
.promo{display:grid;grid-template-columns:1fr;background:var(--black);color:#fff}
@media(min-width:800px){.promo{grid-template-columns:1fr 1fr}}
.promo .txt{padding:40px 16px;display:flex;flex-direction:column;justify-content:center}
@media(min-width:800px){.promo .txt{padding:56px 40px}}
.promo h2{font-size:30px;line-height:1.08;font-weight:800;letter-spacing:-.8px;margin-top:12px}
.promo .pic{min-height:260px;background-color:#1f2937;background-size:cover;background-position:center}

/* footer */
footer{background:var(--black);color:#9ca3af;padding:32px 16px;text-align:center;font-size:13px}
footer .brand{color:#fff;font-weight:800;font-size:19px} footer .brand span{color:var(--yellow)}
footer .legal{margin-top:16px;font-size:11.5px;color:#71717a;max-width:760px;margin-left:auto;margin-right:auto}

/* dark pages (rider) */
body.dark{background:#0a0a0a;color:#fff}
body.dark .card{background:#171717;border-color:#262626;box-shadow:none;color:#fff}
body.dark .input{background:#0f0f0f;border-color:#2e2e2e;color:#fff}
body.dark .field label,body.dark .lbl{color:#a1a1aa}
body.dark .lead,body.dark .hint{color:#a1a1aa}
body.dark .btn-ghost{border-color:#3f3f46;color:#fff}

/* modal */
.modal-bg{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:200;display:none;align-items:center;justify-content:center;padding:16px}
.modal-bg.open{display:flex}
.modal{background:#fff;color:#111;border-radius:18px;padding:22px;max-width:420px;width:100%}
.modal h3{font-size:19px;font-weight:800}
.modal .amt{font-size:32px;font-weight:800;margin:10px 0;letter-spacing:-.5px}

/* rider type chooser */
.types{display:grid;grid-template-columns:1fr;gap:10px}
@media(min-width:520px){.types{grid-template-columns:1fr 1fr}}
.type{display:block;text-align:left;width:100%;padding:16px;border:2px solid #2e2e2e;border-radius:14px;background:#111;color:#fff;cursor:pointer;font:inherit}
.type b{display:block;font-size:16px} .type span{display:block;font-size:13px;color:#a1a1aa;margin-top:4px}
.type em{display:inline-block;margin-top:10px;font-style:normal;font-size:12.5px;font-weight:800;background:var(--yellow);color:#111;padding:3px 10px;border-radius:999px}
.type.on{border-color:var(--yellow);background:#1f1b05}
.type:hover{border-color:#a16207}
.fee-banner{margin-top:12px;background:#1f1b05;border:1px solid #a16207;color:#fde68a;border-radius:12px;padding:12px 14px;font-size:14px}
.fee-banner b{color:#facc15}
.hide{display:none!important}
input[type=file].input{padding:10px;font-size:14px}

/* admin */
body.admin{background:#f7f7f5}
.gate{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px;background:#0a0a0a}
.gate-card{max-width:400px;width:100%}
.adm-head{position:sticky;top:0;z-index:20;background:#111;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 16px;flex-wrap:wrap}
.adm{max-width:1100px;margin:0 auto;padding:16px}
.sec{font-size:18px;font-weight:800;margin:26px 0 4px}
.sub{font-size:13px;color:#6b7280;margin-bottom:8px}
.stack{display:grid;gap:10px}
@media(min-width:900px){.stack{grid-template-columns:1fr 1fr}}
.pill{display:inline-block;font-size:11px;font-weight:800;padding:3px 10px;border-radius:999px;background:#111;color:#facc15;vertical-align:middle}
.pill.blue{background:#2563eb;color:#fff}.pill.amber{background:#f59e0b;color:#111}.pill.green{background:#16a34a;color:#fff}.pill.red{background:#dc2626;color:#fff}
.alertbar{background:#facc15;color:#111;font-weight:800;border-radius:12px;padding:12px 14px;margin-bottom:12px;animation:pulse 1.4s infinite}
@keyframes pulse{50%{opacity:.7}}
.kv{font-size:14px;margin-top:4px} .kv span{color:#6b7280}
.acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.acts .btn{width:auto;min-height:42px;font-size:14px}
.btn-red{background:#dc2626;color:#fff}.btn-amber{background:#f59e0b;color:#111}
.thumbs{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.thumbs img{width:110px;height:110px;object-fit:cover;border-radius:8px;border:1px solid #e5e7eb;cursor:zoom-in}
.log{font-size:12.5px;max-height:320px;overflow:auto}
.log div{padding:6px 0;border-bottom:1px solid #f1f1f1}
.stats{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:14px}
.warn{background:#fef2f2;color:#991b1b;border:1px solid #fecaca;border-radius:10px;padding:8px 10px;font-size:13px;margin-top:8px;font-weight:700}
.okline{color:#15803d;font-weight:700;font-size:13px;margin-top:6px}
pre.code{background:#111;color:#e5e7eb;padding:12px;border-radius:10px;overflow:auto;font-size:12px;white-space:pre-wrap;word-break:break-all}
.photo .credit{font-size:11px;color:rgba(255,255,255,.6);margin-top:14px}

/* support */
.wa-float{position:fixed;right:16px;bottom:16px;z-index:150;display:flex;align-items:center;gap:8px;background:#25d366;color:#fff;text-decoration:none;font-weight:800;font-size:14px;padding:0 18px 0 14px;min-height:52px;border-radius:999px;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.wa-float:hover{background:#1ebe5b}
@media(max-width:480px){.wa-float{right:12px;bottom:12px;padding:0 14px}.wa-float span{font-size:13px}}
footer{padding-bottom:88px}
.foot-support{margin:16px auto 0;display:grid;gap:6px;justify-items:center}
.foot-support p{margin:0}
.support-grid{display:grid;gap:20px;grid-template-columns:1fr}
@media(min-width:900px){.support-grid{grid-template-columns:.9fr 1.1fr;align-items:start}}
textarea.input{resize:vertical;min-height:110px}
.ok-msg{display:none;margin-top:12px;background:#f0fdf4;border:1px solid #bbf7d0;color:#15803d;border-radius:12px;padding:10px 12px;font-size:14px;font-weight:700}
.ok-msg.show{display:block}
[id=book],[id=support]{scroll-margin-top:80px}
.night-note{margin-top:8px;background:#1e1b4b;color:#e0e7ff;border-radius:10px;padding:8px 12px;font-size:13px;font-weight:700}
