/* Global base */
* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
body { overflow-x: hidden; }
img { max-width: 100%; height: auto; }
button, a { cursor: pointer; }
input, textarea, select { -webkit-appearance: none; appearance: none; }

/* Container */
.container { padding-left: 16px; padding-right: 16px; }

/* ── LIGHT MODE NAV ─────────────────────────────────────────── */
body.light-mode .navbar { background: rgba(240,244,255,.96) !important; border-bottom-color: rgba(0,0,0,.08) !important; }
body.light-mode .nav-links { background: rgba(240,244,255,.99) !important; }
body.light-mode .nav-links a { color: #1e293b !important; }
body.light-mode .nav-logo { -webkit-text-fill-color: transparent !important; }
body.light-mode .hamburger span { background: #1e293b !important; }
body.light-mode #themeToggle { background: rgba(0,0,0,.06) !important; border-color: rgba(0,0,0,.1) !important; color: #1e293b !important; }
body.light-mode #navAuthBtn { color: var(--primary) !important; border-color: var(--primary) !important; }
body.light-mode .cart-btn { background: rgba(108,61,232,.08) !important; color: #1e293b !important; }

/* ── HERO ───────────────────────────────────────────────────── */
@media(max-width: 768px) {
  .hero { padding: 100px 16px 60px !important; text-align: center !important; min-height: auto !important; }
  .hero h1 { font-size: 1.75rem !important; line-height: 1.3 !important; }
  .hero p { font-size: .9rem !important; }
}

/* ── SEARCH BOX ─────────────────────────────────────────────── */
.search-box input { background: transparent !important; }
.search-box input:-webkit-autofill,
.search-box input:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 1000px transparent inset !important;
  -webkit-text-fill-color: var(--text) !important;
}
@media(max-width: 640px) {
  .search-box {
    border-radius: 14px !important;
    flex-direction: column !important;
    padding: 12px !important;
    align-items: stretch !important;
    gap: 8px !important;
  }
  .search-box input { text-align: center; font-size: 1rem; padding: 10px; }
  .search-box .btn { width: 100%; justify-content: center; }
}

/* ── CARDS ──────────────────────────────────────────────────── */
@media(max-width: 480px) {
  .card { padding: 16px !important; border-radius: 12px !important; }
}

/* ── STATS BAR ──────────────────────────────────────────────── */
@media(max-width: 640px) {
  .stats-bar { gap: 12px !important; padding: 14px 12px !important; flex-wrap: wrap !important; justify-content: center !important; }
  .stat-item .num { font-size: 1.3rem !important; }
  .stat-item { min-width: 80px; text-align: center; }
}

/* ── SECTIONS ───────────────────────────────────────────────── */
@media(max-width: 480px) {
  .section { padding: 40px 0 !important; }
  .section-title { margin-bottom: 28px !important; }
  .section-title h2 { font-size: 1.5rem !important; }
  h1 { font-size: 1.7rem !important; }
  h2 { font-size: 1.3rem !important; }
  h3 { font-size: 1.1rem !important; }
}

/* ── HOSTING GRID ───────────────────────────────────────────── */
@media(max-width: 768px) {
  .hosting-grid { grid-template-columns: 1fr !important; }
}

/* ── FOOTER ─────────────────────────────────────────────────── */
@media(max-width: 640px) {
  .footer-grid { grid-template-columns: 1fr !important; gap: 24px !important; }
  footer { padding: 40px 16px 20px !important; }
}

/* ── FORMS ──────────────────────────────────────────────────── */
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media(max-width: 560px) {
  .form-row { grid-template-columns: 1fr !important; gap: 0 !important; }
}
.form-control { font-size: 16px !important; } /* Prevent iOS zoom */

/* ── CART PAGE ──────────────────────────────────────────────── */
@media(max-width: 768px) {
  .cart-page { padding-top: 80px !important; }
  .cart-grid { display: block !important; }
  .cart-grid > div:first-child { margin-bottom: 18px; }
  .order-summary { position: static !important; }
  .cart-item { gap: 8px !important; }
  .cart-item-icon { width: 36px !important; height: 36px !important; font-size: 1rem !important; }
}

/* ── DOMAIN RESULTS ─────────────────────────────────────────── */
@media(max-width: 600px) {
  .domain-result-row { flex-direction: column; align-items: flex-start; gap: 10px; }
  .domain-meta { flex-wrap: wrap; gap: 10px; width: 100%; }
  .domain-meta .btn { flex: 1; justify-content: center; }
}

/* ── TABS ───────────────────────────────────────────────────── */
.tabs { flex-wrap: wrap; }
@media(max-width: 480px) {
  .tab { flex: 0 0 calc(50% - 4px); text-align: center; padding: 9px 6px; font-size: .8rem; }
}

/* ── TOAST ──────────────────────────────────────────────────── */
.toast { bottom: 16px; right: 16px; left: 16px; max-width: calc(100vw - 32px); font-size: .85rem; }
@media(min-width: 480px) { .toast { left: auto; max-width: 340px; } }

/* ── CONFIRMATION ───────────────────────────────────────────── */
.confirm-icon { width: 90px; height: 90px; }
@media(max-width: 480px) {
  .confirm-icon { width: 68px !important; height: 68px !important; font-size: 2rem !important; }
}

/* ── ADMIN PANEL ────────────────────────────────────────────── */
@media(max-width: 900px) {
  .stats-grid { grid-template-columns: 1fr 1fr !important; }
  .content { padding: 14px !important; }
  .panel { padding: 16px !important; }
}
@media(max-width: 480px) {
  .stats-grid { grid-template-columns: 1fr !important; }
  .filter-bar { flex-direction: column; align-items: stretch; gap: 8px; }
  .search-input, .filter-select { width: 100%; }
  .topbar { padding: 12px 14px 12px 54px; }
  .panel-header { flex-direction: column; align-items: flex-start; gap: 10px; }
}
.table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
table { min-width: 560px; }
@media(max-width: 520px) {
  .modal { padding: 18px !important; max-height: 90vh; overflow-y: auto; }
}

/* ── OFFER PAGE ─────────────────────────────────────────────── */
@media(max-width: 640px) {
  .offer-grid { grid-template-columns: 1fr !important; }
}

/* ── INTERACTION ────────────────────────────────────────────── */
.btn:active { opacity: .82; transform: scale(.97); }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

/* ── LIGHT MODE COMPLETE FIX ────────────────────────────────── */
body.light-mode { color: #0f172a !important; background: #f0f4ff !important; }
body.light-mode h1, body.light-mode h2, body.light-mode h3, body.light-mode h4,
body.light-mode p, body.light-mode span:not(.badge), body.light-mode li,
body.light-mode td, body.light-mode th, body.light-mode label, body.light-mode div { color: #0f172a; }
body.light-mode .card { background: #fff !important; box-shadow: 0 2px 20px rgba(0,0,0,.08) !important; }
body.light-mode .navbar { background: rgba(240,244,255,.95) !important; border-bottom-color: rgba(0,0,0,.1) !important; }
body.light-mode .nav-logo { color: var(--primary) !important; }
body.light-mode .hero { background: linear-gradient(135deg,#e0e7ff,#f0f4ff) !important; }
body.light-mode .hero h1, body.light-mode .hero p { color: #0f172a !important; }
body.light-mode .stats-bar { background: rgba(255,255,255,.8) !important; }
body.light-mode .form-control, body.light-mode .utr-field {
  background: rgba(0,0,0,.04) !important; border-color: rgba(0,0,0,.15) !important; color: #0f172a !important;
}
body.light-mode input::placeholder { color: #94a3b8 !important; }
body.light-mode .search-box { background: rgba(255,255,255,.95) !important; border-color: rgba(108,61,232,.2) !important; }
body.light-mode .search-box input { color: #0f172a !important; }
body.light-mode .search-box input:-webkit-autofill { -webkit-box-shadow: 0 0 0 1000px #fff inset !important; -webkit-text-fill-color: #0f172a !important; }
body.light-mode .text-muted, body.light-mode [class*="text-muted"] { color: #475569 !important; }
body.light-mode .btn-outline { color: var(--primary) !important; border-color: var(--primary) !important; }
body.light-mode footer { background: #1e293b !important; }
body.light-mode footer * { color: #94a3b8 !important; }
body.light-mode footer h4 { color: #e2e8f0 !important; }
body.light-mode .domain-card { background: #fff !important; }
body.light-mode .upi-id-box, body.light-mode .upi-id-badge { background: rgba(0,0,0,.06) !important; color: var(--primary) !important; }
body.light-mode .app-btn, body.light-mode .upi-app-btn { background: #f8fafc !important; color: #0f172a !important; border-color: rgba(0,0,0,.1) !important; }
body.light-mode .order-bar { background: rgba(108,61,232,.06) !important; }
body.light-mode .pay-info-box { background: rgba(108,61,232,.06) !important; }

/* Status badge */
.status-utr-pending { background: rgba(245,158,11,.15) !important; color: #f59e0b !important; }

/* shimmer */
@keyframes shimmerBg {
  0% { background-position: -200% center; }
  100% { background-position: 200% center; }
}
.offer-shimmer {
  background: linear-gradient(90deg, rgba(108,61,232,.1) 0%, rgba(0,212,255,.15) 50%, rgba(108,61,232,.1) 100%);
  background-size: 200% auto;
  animation: shimmerBg 3s linear infinite;
}
