:root {
  --kik-orange: #ff6b00;
  --kik-orange-dark: #d95a00;
  --kik-blue: #0b5ed7;
  --kik-navy: #0a1f44;
  --kik-navy-2: #12326b;
  --kik-green: #22a06b;
  --kik-bg: #f5f7fb;
  --kik-radius: 14px;
}

body { background: var(--kik-bg); color: #1f2a44; font-family: 'Segoe UI', system-ui, -apple-system, Roboto, 'Helvetica Neue', Arial, sans-serif; }
a { color: var(--kik-blue); }
.btn-kik { background: var(--kik-orange); border-color: var(--kik-orange); color: #fff; font-weight: 600; }
.btn-kik:hover, .btn-kik:focus { background: var(--kik-orange-dark); border-color: var(--kik-orange-dark); color: #fff; }
.btn-outline-kik { border-color: var(--kik-orange); color: var(--kik-orange); font-weight: 600; }
.btn-outline-kik:hover { background: var(--kik-orange); color: #fff; }
.text-kik { color: var(--kik-orange) !important; }
.bg-navy { background: var(--kik-navy) !important; }

/* Header */
.kik-nav { background: var(--kik-navy); box-shadow: 0 2px 10px rgba(0,0,0,.15); }
.kik-nav .navbar-brand { font-weight: 800; letter-spacing: .3px; color: #fff; }
.kik-nav .navbar-brand span { color: var(--kik-orange); }
.kik-nav .nav-link { color: rgba(255,255,255,.85); font-weight: 500; }
.kik-nav .nav-link:hover, .kik-nav .nav-link.active { color: var(--kik-orange); }
.kik-search { width: 200px; max-width: 100%; }
.kik-nav .dropdown-menu { border: 0; border-radius: 12px; box-shadow: 0 8px 24px rgba(10,31,68,.18); }
.kik-nav .dropdown-item.active, .kik-nav .dropdown-item:active { background: var(--kik-orange); }
@media (min-width: 1200px) { .kik-nav .dropdown:hover > .dropdown-menu { display: block; margin-top: 0; } }

/* Hero */
.hero {
  background: linear-gradient(135deg, var(--kik-navy) 0%, var(--kik-navy-2) 60%, #1b4aa8 100%);
  color: #fff; position: relative; overflow: hidden;
}
.hero::after {
  content: ""; position: absolute; right: -120px; top: -120px; width: 420px; height: 420px; border-radius: 50%;
  background: radial-gradient(circle, rgba(255,107,0,.55), rgba(255,107,0,0) 70%);
}
.hero h1 { font-weight: 800; line-height: 1.15; }
.hero .accent { color: var(--kik-orange); }
.stat-pill { background: rgba(255,255,255,.1); border-radius: 12px; padding: .75rem 1.25rem; }
.stat-pill b { font-size: 1.5rem; display: block; }

/* Cards */
.card { border: 0; border-radius: var(--kik-radius); box-shadow: 0 2px 12px rgba(10,31,68,.07); }
.card-hover { transition: transform .15s ease, box-shadow .15s ease; }
.card-hover:hover { transform: translateY(-3px); box-shadow: 0 8px 24px rgba(10,31,68,.14); }
.sport-card { text-align: center; padding: 1.1rem .5rem; text-decoration: none; color: inherit; display: block; }
.sport-card .icon { font-size: 2.2rem; line-height: 1; }
.sport-card .name { font-weight: 600; margin-top: .4rem; }
.t-banner { height: 150px; background: linear-gradient(135deg, var(--kik-navy), var(--kik-blue)); border-radius: var(--kik-radius) var(--kik-radius) 0 0; background-size: cover; background-position: center; position: relative; }
.t-banner .badge { position: absolute; top: 10px; left: 10px; }
.t-banner .fee { position: absolute; top: 10px; right: 10px; }
.t-banner .t-sport { position: absolute; bottom: 8px; left: 12px; font-size: 2rem; }
.section-title { font-weight: 800; color: var(--kik-navy); }
.section-title::after { content: ""; display: block; width: 56px; height: 4px; border-radius: 4px; background: var(--kik-orange); margin-top: .45rem; }
.step-circle { width: 56px; height: 56px; border-radius: 50%; background: var(--kik-orange); color: #fff; font-weight: 800; font-size: 1.3rem; display: flex; align-items: center; justify-content: center; margin: 0 auto .6rem; }

/* Verify band */
.verify-band { background: linear-gradient(135deg, var(--kik-orange), #ff9a3d); color: #fff; border-radius: var(--kik-radius); }

/* Footer */
.kik-footer { background: var(--kik-navy); color: rgba(255,255,255,.75); }
.kik-footer a { color: rgba(255,255,255,.75); text-decoration: none; }
.kik-footer a:hover { color: var(--kik-orange); }

/* Portal + admin layout */
.side { background: var(--kik-navy); min-height: 100vh; color: #fff; }
.side .brand { padding: 1.1rem 1.25rem; font-weight: 800; font-size: 1.15rem; border-bottom: 1px solid rgba(255,255,255,.1); }
.side .brand span { color: var(--kik-orange); }
.side .nav-link { color: rgba(255,255,255,.78); padding: .55rem 1.25rem; border-left: 3px solid transparent; font-size: .95rem; }
.side .nav-link:hover { color: #fff; background: rgba(255,255,255,.06); }
.side .nav-link.active { color: #fff; background: rgba(255,107,0,.18); border-left-color: var(--kik-orange); }
.side .nav-group { font-size: .7rem; text-transform: uppercase; letter-spacing: 1px; color: rgba(255,255,255,.4); padding: 1rem 1.25rem .3rem; }
.topbar { background: #fff; box-shadow: 0 1px 6px rgba(10,31,68,.08); }
.stat-card { border-left: 5px solid var(--kik-orange); }
.stat-card .num { font-size: 1.6rem; font-weight: 800; color: var(--kik-navy); }
.stat-card .lbl { color: #6b7691; font-size: .85rem; }
.table > :not(caption) > * > * { vertical-align: middle; }
.table thead th { background: #eef2fa; color: var(--kik-navy); font-weight: 700; border-bottom: 0; white-space: nowrap; }

/* Misc */
.reg-no { font-family: Consolas, monospace; background: #eef2fa; border-radius: 6px; padding: .1rem .45rem; font-size: .85rem; white-space: nowrap; }
.avatar { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; background: #dde4f3; }
.avatar-lg { width: 110px; height: 110px; }
.cert-valid { border: 3px solid var(--kik-green); }
.cert-invalid { border: 3px solid #dc3545; }
.perm-table th, .perm-table td { text-align: center; }
.perm-table th:first-child, .perm-table td:first-child { text-align: left; }
.form-label { font-weight: 600; font-size: .9rem; }
.required::after { content: " *"; color: #dc3545; }
@media (max-width: 991.98px) {
  .side { min-height: auto; }
}
@media print {
  .no-print { display: none !important; }
  body { background: #fff; }
  .card { box-shadow: none; border: 1px solid #ccc; }
}

/* Logo */
.kik-nav .navbar-brand { padding: .15rem 0; }
.kik-logo { height: 46px; width: auto; display: block; }
.side .brand { padding: .8rem 1rem; }
.kik-logo-side { height: 58px; width: auto; max-width: 100%; display: block; }

/* ---- Marquee announcement bar ---- */
.kik-marquee { overflow: hidden; white-space: nowrap; font-size: .9rem; font-weight: 600; padding: .35rem 0; position: relative; }
.kik-marquee-track { display: flex; width: max-content; animation: kik-scroll 30s linear infinite; }
.kik-marquee:hover .kik-marquee-track { animation-play-state: paused; }
.kik-marquee-group { display: flex; flex-shrink: 0; min-width: 100vw; justify-content: space-around; }
.kik-marquee-item { padding: 0 2.5rem; }
.kik-marquee a { text-decoration: none; }
.kik-marquee a:hover { text-decoration: underline; }
@keyframes kik-scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .kik-marquee-track { animation: none; } .kik-marquee { overflow-x: auto; } }

/* ---- Advertisements ---- */
.kik-ad-banner { text-align: center; padding: .5rem 0; }
.kik-ad-banner img { max-width: 100%; height: auto; border-radius: .5rem; max-height: 140px; object-fit: contain; }
.kik-ad-label { font-size: .65rem; letter-spacing: .08em; text-transform: uppercase; color: #8a8f98; }
.kik-ad-float { position: fixed; right: 16px; bottom: 16px; width: 260px; z-index: 1030; background: #fff; border-radius: .75rem; box-shadow: 0 10px 30px rgba(10,31,68,.25); overflow: hidden; }
.kik-ad-float img { width: 100%; display: block; }
.kik-ad-float .kik-ad-close { position: absolute; top: 4px; right: 4px; width: 26px; height: 26px; border: 0; border-radius: 50%; background: rgba(0,0,0,.55); color: #fff; line-height: 1; }
.kik-ad-side { border: 1px solid #e5e7eb; border-radius: .5rem; background: #fff; margin: .75rem; padding: .5rem; text-align: center; }
.kik-ad-side img { max-width: 100%; border-radius: .35rem; }

/* Admin sidebar: collapsible groups */
.side .nav-toggle { display:flex; justify-content:space-between; align-items:center; cursor:pointer; user-select:none; margin-top:.25rem; }
.side .nav-toggle:hover { color: rgba(255,255,255,.8); }
.side .nav-toggle .bi-chevron-down { transition: transform .2s; font-size:.7rem; }
.side .nav-toggle:not(.open) .bi-chevron-down { transform: rotate(-90deg); }
.side .nav-items { display:none; }
.side .nav-items.open { display:block; }
.side .nav-items .nav-link { padding-left:1.6rem; font-size:.9rem; }

/* Mobile / tablet navigation drawer (slide-in, Myntra style) */
@media (max-width: 1199.98px) {
  .kik-drawer { background: var(--kik-navy); width: min(86vw, 340px) !important; color:#fff; }
  .kik-drawer .offcanvas-header { border-bottom: 1px solid rgba(255,255,255,.12); padding: .9rem 1.1rem; }
  .kik-drawer .offcanvas-body { padding: 0; display:flex; flex-direction:column; }
  .kik-drawer .navbar-nav { margin: 0 !important; }
  .kik-drawer .nav-link { padding: .95rem 1.25rem; font-size: 1rem; font-weight: 600; border-bottom: 1px solid rgba(255,255,255,.07); display:flex; justify-content:space-between; align-items:center; }
  .kik-drawer .nav-link.active { color: var(--kik-orange); background: rgba(255,107,0,.1); border-left: 3px solid var(--kik-orange); }
  .kik-drawer .dropdown-menu { position: static !important; transform:none !important; background: rgba(255,255,255,.05); border-radius:0; box-shadow:none; margin:0; padding:0; }
  .kik-drawer .dropdown-item { color: rgba(255,255,255,.85); padding: .8rem 1.25rem .8rem 2.2rem; }
  .kik-drawer .dropdown-item:hover { background: rgba(255,255,255,.08); color:#fff; }
  .kik-drawer .dropdown-divider { border-color: rgba(255,255,255,.12); }
  .kik-drawer form.d-flex { margin: 1rem 1.25rem .5rem !important; }
  .kik-drawer form.d-flex .kik-search { width: 100%; padding: .6rem .8rem; }
  .kik-drawer .offcanvas-body > .d-flex.align-items-center { margin: .5rem 1.25rem 1.5rem; flex-wrap: wrap; }
  .kik-drawer .offcanvas-body > .d-flex.align-items-center .btn { padding: .55rem 1.1rem; }
}
@media (min-width: 1200px) { .kik-drawer { background: transparent; } .kik-drawer .offcanvas-header { display:none; } .kik-drawer .offcanvas-body { overflow: visible; flex-grow: 1 !important; align-items: center; } }

/* Admin > Page SEO */
.seo-item { overflow: hidden; }
.seo-head { display:flex; align-items:center; gap:.6rem; width:100%; background:none; border:0; text-align:left; padding:.75rem 1rem; }
.seo-head:hover { background:#f6f8fc; }
.seo-name { min-width:0; }
.seo-chev { transition: transform .2s; color:#7a8499; }
.seo-item.is-open .seo-chev { transform: rotate(180deg); }
.seo-item.is-open .seo-head { background:#f6f8fc; border-bottom:1px solid #e6eaf2; }
.seo-dot { width:12px; height:12px; border-radius:50%; flex:0 0 12px; background:#cbd2e0; }
.seo-dot.is-ok { background:#198754; } .seo-dot.is-warn { background:#ffc107; } .seo-dot.is-miss { background:#dc3545; } .seo-dot.is-private { background:#adb5bd; }
.seo-body { padding:1.1rem 1rem 1rem; }
.seo-meter { height:4px; background:#e9ecef; border-radius:2px; margin-top:4px; overflow:hidden; }
.seo-meter span { display:block; height:100%; width:0; transition: width .15s; }
.seo-chips { display:flex; flex-wrap:wrap; gap:.35rem; align-items:center; min-height:42px; cursor:text; }
.seo-chip { display:inline-flex; align-items:center; gap:.25rem; background:#e8efff; color:#173a8a; border-radius:999px; padding:.15rem .3rem .15rem .7rem; font-size:.85rem; }
.seo-chip button { border:0; background:none; color:#173a8a; font-size:1.1rem; line-height:1; padding:0 .25rem; cursor:pointer; }
.seo-chip-input { border:0; outline:0; flex:1 1 140px; min-width:140px; background:transparent; }
.serp { background:#fff; border:1px solid #dfe3ec; border-radius:10px; padding:14px 16px; font-family: Arial, sans-serif; }
.serp-url { color:#202124; font-size:.8rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.serp-title { color:#1a0dab; font-size:1.2rem; line-height:1.3; margin:3px 0; word-break:break-word; }
.serp-desc { color:#4d5156; font-size:.88rem; line-height:1.5; word-break:break-word; }
.serp .is-fallback { opacity:.55; font-style:italic; }
.seo-savebar { position:sticky; bottom:0; z-index:5; display:flex; justify-content:space-between; align-items:center; gap:1rem; background:#fff; border:1px solid #dfe3ec; border-radius:12px; padding:.7rem 1rem; margin-top:1rem; box-shadow:0 -4px 16px rgba(10,31,68,.08); }

/* Admin > Last Activity */
.act-row { display:flex; gap:.85rem; padding:.7rem 0; border-bottom:1px solid #edf0f6; }
.act-row:last-child { border-bottom:0; }
.act-ico { flex:0 0 38px; width:38px; height:38px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:1.05rem; }
.act-main { min-width:0; flex:1; }
.act-detail { word-break:break-word; }

/* ---- Admin shell: wider, sticky sidebar ---- */
@media (min-width: 992px) {
  .admin-shell { display: flex; align-items: flex-start; }
  .admin-side { width: 300px; flex: 0 0 300px; position: sticky; top: 0; height: 100vh; overflow-y: auto; min-height: 0; scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.25) transparent; }
  .admin-main { flex: 1 1 0; min-width: 0; }
}
@media (max-width: 991.98px) { .admin-side { width: 100%; } }

/* ---- Admin menu: groups big, sub-menu small ---- */
.side .nav-group.nav-toggle {
  font-size: var(--kik-menu-size, 1.05rem); font-weight: 600; text-transform: none; letter-spacing: .2px;
  color: rgba(255,255,255,.92); padding: .8rem 1.25rem; margin-top: 0; border-top: 1px solid rgba(255,255,255,.06);
}
.side .nav-group.nav-toggle:hover { background: rgba(255,255,255,.06); color: #fff; }
.side .nav-group.nav-toggle.open { color: #fff; }
.side .nav-group.nav-toggle .bi-chevron-down { font-size: .8rem; }
.side .nav-items .nav-link { font-size: var(--kik-submenu-size, .85rem); font-weight: 400; padding: .42rem 1.25rem .42rem 2.9rem; color: rgba(255,255,255,.7); }
.side .nav-items .nav-link .bi { opacity: .8; font-size: .95em; }
.side .nav-items .nav-link:hover { color: #fff; }
.side .nav-items .nav-link.active { color: #fff; font-weight: 600; }
.side .nav-items { padding-bottom: .35rem; background: rgba(0,0,0,.12); }

/* ---- theme variables used by the style guide ---- */
body { font-family: var(--kik-font-body, 'Segoe UI', system-ui, -apple-system, Roboto, 'Helvetica Neue', Arial, sans-serif); color: var(--kik-text, #1f2a44); }
.kik-nav .nav-link { font-size: var(--kik-site-menu-size, 1rem); }

/* brand name beside the header logo */
.kik-nav .navbar-brand { display: flex; align-items: center; gap: .6rem; }
.kik-nav .navbar-brand .kik-brand-text { color: #fff; font-weight: 800; font-size: 1.25rem; letter-spacing: .3px; line-height: 1.1; white-space: nowrap; }
@media (max-width: 575.98px) { .kik-brand-text { font-size: 1rem; } }

/* ================= People lists: icon actions, compact tables ================= */
.act { width: 32px; height: 30px; padding: 0; display: inline-flex; align-items: center; justify-content: center; font-size: .95rem; line-height: 1; }
.act-group { display: inline-flex; gap: 4px; align-items: center; }
.people-table th { white-space: nowrap; font-size: .85rem; }
.people-table td { vertical-align: middle; }
.people-table .text-break { word-break: break-all; }

/* ================= Admin menu: smaller, icon-only mode, mobile drawer ================= */
.admin-toggle { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 32px; padding: 0; }
.kik-logo-mini { display: none; width: 36px; height: 36px; object-fit: contain; }
.side-backdrop { display: none; }

@media (min-width: 992px) {
  .admin-side { width: 252px; flex-basis: 252px; transition: width .18s, flex-basis .18s; }
  .side .nav-group.nav-toggle { padding: .62rem 1rem; font-size: var(--kik-menu-size, .95rem); }
  .side .nav-items .nav-link { padding: .36rem 1rem .36rem 2.6rem; }
  .side .brand { padding: .6rem .9rem; }
  .kik-logo-side { height: 48px; }

  /* icon-only rail */
  body.side-mini .admin-side { width: 64px; flex-basis: 64px; overflow-x: hidden; }
  body.side-mini .side .brand { padding: .6rem 0; text-align: center; }
  body.side-mini .kik-logo-side, body.side-mini .side .brand .small { display: none; }
  body.side-mini .kik-logo-mini { display: block; margin: 0 auto; }
  body.side-mini .side .nav-group.nav-toggle { padding: .7rem 0; justify-content: center; font-size: 0; }
  body.side-mini .side .nav-group.nav-toggle > span { font-size: 0; }
  body.side-mini .side .nav-group.nav-toggle > span > i { font-size: 1.25rem; margin: 0 !important; }
  body.side-mini .side .nav-group.nav-toggle .bi-chevron-down { display: none; }
  body.side-mini .side .nav-items { display: block !important; padding: 0; }
  body.side-mini .side .nav-items .nav-link { font-size: 0; padding: .5rem 0; text-align: center; border-left-width: 3px; }
  body.side-mini .side .nav-items .nav-link .bi { font-size: 1.1rem; margin: 0 !important; opacity: .95; }
  body.side-mini .side form.px-3 { padding: 0 .5rem !important; }
  body.side-mini .side form button { font-size: 0; padding: .35rem 0; }
  body.side-mini .side form button .bi { font-size: 1rem; }
}

@media (max-width: 991.98px) {
  .admin-shell { display: block; }
  .admin-side { position: fixed; top: 0; left: 0; bottom: 0; width: 280px; max-width: 86vw; height: 100vh; overflow-y: auto; z-index: 1045; transform: translateX(-102%); transition: transform .22s ease; box-shadow: 4px 0 24px rgba(0,0,0,.35); }
  body.side-open .admin-side { transform: none; }
  body.side-open { overflow: hidden; }
  .side-backdrop { position: fixed; inset: 0; background: rgba(5,12,30,.5); z-index: 1040; }
  body.side-open .side-backdrop { display: block; }
  .side .nav-items .nav-link { padding: .5rem 1.25rem .5rem 2.6rem; }
}

/* "View all ->" links next to section headings: no underline, clean weight, arrow nudges on hover */
.section-title.no-bar::after { display: none; }
.link-more { text-decoration: none !important; font-weight: 600; font-size: .95rem; letter-spacing: .2px; color: var(--kik-orange); white-space: nowrap; transition: color .15s; }
.link-more:hover { color: var(--kik-navy); text-decoration: none; }
.link-more .arr { display: inline-block; transition: transform .15s; }
.link-more:hover .arr { transform: translateX(4px); }

/* ---- Home: Our Organizations cards ---- */
.org-card { --t:#ff6b00; --tb:#fff1e6; background:#fff; border-radius:18px; padding:20px; display:flex; flex-direction:column; gap:14px;
  border:1px solid #e8edf6; box-shadow:0 2px 10px rgba(10,31,68,.05); position:relative; overflow:hidden; transition:transform .18s ease, box-shadow .18s ease; }
.org-card::before { content:""; position:absolute; left:0; right:0; top:0; height:4px; background:var(--t); }
.org-card:hover { transform:translateY(-4px); box-shadow:0 14px 32px rgba(10,31,68,.13); }
.org-card.o-blue { --t:#0b5ed7; --tb:#e7f0ff; }
.org-card.o-purple { --t:#7048e8; --tb:#efeaff; }
.org-card.o-green { --t:#22a06b; --tb:#e4f6ee; }
.org-card.o-pink { --t:#d6336c; --tb:#fde8f0; }
.org-head { display:flex; align-items:center; gap:12px; }
.org-ico { width:46px; height:46px; flex:0 0 46px; border-radius:13px; background:var(--tb); color:var(--t); display:grid; place-items:center; font-size:1.4rem; }
.org-title { margin:0; font-weight:700; font-size:1.1rem; color:#0a1f44; }
.org-hint { font-size:.76rem; color:#7a869f; line-height:1.25; }
.org-body { flex:1; min-height:64px; }
.org-chips { display:flex; flex-wrap:wrap; gap:6px; }
.org-chip { background:var(--tb); color:#1f2a44; font-size:.78rem; padding:4px 10px; border-radius:999px; max-width:100%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.org-chip.org-more { background:transparent; border:1px dashed var(--t); color:var(--t); font-weight:600; }
.org-empty { border:1.5px dashed #d3dbea; border-radius:12px; padding:14px; text-align:center; color:#7a869f; font-size:.86rem; }
.org-empty i { color:var(--t); margin-right:4px; }
.org-foot { display:flex; align-items:center; justify-content:space-between; gap:8px; border-top:1px solid #eef1f7; padding-top:12px; }
.org-link { text-decoration:none; font-weight:600; font-size:.88rem; color:var(--t); }
.org-link i { display:inline-block; transition:transform .15s; }
.org-link:hover i { transform:translateX(4px); }
.org-join { text-decoration:none; font-size:.78rem; font-weight:600; color:#fff; background:var(--t); padding:5px 14px; border-radius:999px; }
.org-join:hover { color:#fff; filter:brightness(.92); }

/* ---- Home: stats section ---- */
.stat-card { --t:#ff6b00; --tb:#fff1e6; display:flex; align-items:center; gap:14px; background:#fff; border:1px solid #e8edf6; border-radius:16px; padding:16px 18px; box-shadow:0 2px 10px rgba(10,31,68,.05); height:100%; }
.stat-card.s-blue { --t:#0b5ed7; --tb:#e7f0ff; } .stat-card.s-green { --t:#22a06b; --tb:#e4f6ee; } .stat-card.s-purple { --t:#7048e8; --tb:#efeaff; }
.stat-ico { width:52px; height:52px; flex:0 0 52px; border-radius:14px; background:var(--tb); color:var(--t); display:grid; place-items:center; font-size:1.5rem; }
.stat-num { font-size:1.7rem; font-weight:800; color:#0a1f44; line-height:1.1; }
.stat-label { font-size:.85rem; color:#7a869f; }

/* ---- Home: banner inside hero (right side) ---- */
.hb-side .hb { height:320px; border-radius:18px; box-shadow:0 14px 36px rgba(0,0,0,.35); }
.hb-side .hb .hb-in { padding:0 46px; }
.hb-side .hb h2 { font-size:clamp(1.3rem,2.2vw,2rem); }
.hb-side .hb p { font-size:clamp(.85rem,1.2vw,1rem); }
@media (max-width:991px){ .hb-side .hb { height:240px; } }

/* ---- Home: full-width banner section ---- */
.hb-full { margin-top:-1rem; }
.hb-full .hb { height:520px; border-radius:0; }
.hb-full .hb .hb-in { max-width:1320px; margin:0 auto; padding:0 72px; }
.hb-full .hb h2 { font-size:clamp(1.8rem,4.2vw,3.4rem); }
.hb-full .hb p { max-width:720px; }
@media (max-width:767px){ .hb-full .hb { height:340px; } .hb-full .hb .hb-in { padding:0 44px; } }

.hero-card { border-radius:20px; overflow:hidden; position:relative; }

/* hero text shown on the first banner slide */
.hb .hb-hero.hero { background:none; overflow:visible; position:static; }
.hb .hb-hero.hero::after { display:none; }
.hb .hb-hero h1 { font-size:clamp(1.8rem,4vw,3.3rem); text-shadow:0 2px 12px rgba(0,0,0,.35); }
.hb .hb-hero .lead { font-size:clamp(.95rem,1.6vw,1.25rem); max-width:720px; text-shadow:0 1px 8px rgba(0,0,0,.3); }
@media (max-width:767px){ .hb .hb-hero .btn-lg { padding:.4rem .9rem; font-size:.95rem; } .hb-full .hb { height:420px; } }

/* ---- Contact details ---- */
.contact-info { background:#fff; border:1px solid #e8edf6; border-radius:16px; padding:20px; box-shadow:0 2px 10px rgba(10,31,68,.05); display:flex; flex-direction:column; gap:18px; }
.ci-row { display:flex; gap:14px; align-items:flex-start; }
.ci-ico { width:42px; height:42px; flex:0 0 42px; border-radius:12px; background:#fff1e6; color:#ff6b00; display:grid; place-items:center; font-size:1.15rem; }
.ci-ico.ci-wa { background:#e4f6ee; color:#22a06b; }
.ci-label { font-size:.75rem; text-transform:uppercase; letter-spacing:.04em; color:#7a869f; }
.contact-info a { text-decoration:none; font-weight:600; }

/* ---- Search suggestions ---- */
.kik-suggest { position:absolute; top:calc(100% + 6px); left:0; width:340px; max-width:92vw; background:#fff; color:#1f2a44; border-radius:14px; box-shadow:0 14px 36px rgba(10,31,68,.25); border:1px solid #e8edf6; overflow:hidden; z-index:1080; }
.kik-suggest[hidden] { display:none; }
.kik-sg-item { display:flex; align-items:center; gap:12px; padding:9px 14px; text-decoration:none !important; color:#1f2a44 !important; }
.kik-sg-item i { width:32px; height:32px; flex:0 0 32px; border-radius:9px; background:#fff1e6; color:#ff6b00; display:grid; place-items:center; }
.kik-sg-item:hover, .kik-sg-item.active { background:#f3f6fc; }
.kik-sg-text { display:flex; flex-direction:column; min-width:0; line-height:1.25; }
.kik-sg-text b { font-size:.9rem; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.kik-sg-text small { color:#7a869f; font-size:.75rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.kik-sg-all { display:block; padding:10px 14px; font-size:.82rem; font-weight:600; border-top:1px solid #eef1f7; text-decoration:none !important; color:#0b5ed7 !important; background:#fafbfe; }
.kik-sg-empty { padding:14px; font-size:.84rem; color:#7a869f; }
@media (max-width:1199px){ .kik-suggest { width:100%; } }

/* ---- Live scores ---- */
.live-dot { display:inline-block; width:10px; height:10px; border-radius:50%; background:#ff2d2d; box-shadow:0 0 0 0 rgba(255,45,45,.7); animation:livePulse 1.4s infinite; vertical-align:middle; margin-right:6px; }
.live-dot.sm { width:8px; height:8px; margin-right:4px; }
@keyframes livePulse { 0%{box-shadow:0 0 0 0 rgba(255,45,45,.7)} 70%{box-shadow:0 0 0 9px rgba(255,45,45,0)} 100%{box-shadow:0 0 0 0 rgba(255,45,45,0)} }
.live-strip { display:flex; align-items:stretch; background:#0a1f44; color:#fff; border-bottom:3px solid #ff6b00; overflow:hidden; }
.live-strip[hidden] { display:none; }
.live-label { background:#d90f0f; color:#fff !important; font-weight:800; letter-spacing:.06em; padding:0 18px; display:flex; align-items:center; text-decoration:none !important; font-size:.9rem; flex:0 0 auto; }
.live-strip.no-live .live-label { background:#ff6b00; }
.live-label .live-dot { background:#fff; }
.live-track-wrap { flex:1; overflow:hidden; position:relative; }
.live-track { display:flex; width:max-content; animation:ltScroll 60s linear infinite; padding:11px 0; }
.live-track-wrap:hover .live-track { animation-play-state:paused; }
.lt-group { display:flex; align-items:center; white-space:nowrap; }
.lt-item { font-size:.92rem; padding:0 6px; }
.lt-team { font-weight:600; }
.lt-item b { background:rgba(255,255,255,.14); border-radius:6px; padding:2px 8px; margin:0 4px; }
.lt-item em { font-style:normal; color:#ffd27a; margin:0 6px; }
.lt-live { background:#d90f0f; border-radius:4px; font-size:.68rem; font-weight:800; padding:2px 6px; margin-left:4px; }
.lt-ft { background:rgba(255,255,255,.18); border-radius:4px; font-size:.68rem; font-weight:700; padding:2px 6px; margin-left:4px; }
.lt-dot { color:#ff6b00; margin:0 14px; }
.live-all { display:flex; align-items:center; gap:6px; padding:0 16px; color:#fff !important; text-decoration:none !important; font-size:.82rem; font-weight:600; background:rgba(255,255,255,.08); flex:0 0 auto; }
@keyframes ltScroll { from { transform:translateX(0); } to { transform:translateX(-50%); } }
@media (max-width:575px){ .live-all { display:none; } .live-label { padding:0 12px; } }
.live-filters { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.lv-chip { border:1px solid #d3dbea; background:#fff; border-radius:999px; padding:5px 14px; font-size:.82rem; font-weight:600; color:#1f2a44; }
.lv-chip.active { background:#0a1f44; color:#fff; border-color:#0a1f44; }
.lv-sep { width:1px; height:22px; background:#d3dbea; margin:0 4px; }
.lv-card { background:#fff; border:1px solid #e8edf6; border-radius:16px; padding:14px 16px; box-shadow:0 2px 10px rgba(10,31,68,.05); height:100%; }
.lv-card.is-live { border-color:#ffb3b3; box-shadow:0 4px 16px rgba(217,15,15,.12); }
.lv-top { display:flex; justify-content:space-between; gap:10px; font-size:.76rem; color:#7a869f; margin-bottom:10px; }
.lv-league { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:60%; }
.lv-row { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:4px 0; }
.lv-team { font-weight:600; color:#0a1f44; min-width:0; overflow:hidden; text-overflow:ellipsis; }
.lv-score { font-size:1.15rem; color:#0a1f44; white-space:nowrap; }
.lv-foot { margin-top:10px; padding-top:10px; border-top:1px solid #eef1f7; }
.lv-badge { font-size:.76rem; font-weight:700; border-radius:999px; padding:3px 10px; display:inline-flex; align-items:center; gap:6px; }
.lv-live { background:#fde8e8; color:#d90f0f; } .lv-live i { width:7px; height:7px; border-radius:50%; background:#d90f0f; animation:livePulse 1.4s infinite; }
.lv-up { background:#e7f0ff; color:#0b5ed7; } .lv-ft { background:#eef1f7; color:#52607a; }
.india-sec[hidden]{display:none}

.nav-live { display:inline-flex; align-items:center; gap:6px; white-space:nowrap; }
.nav-live .live-dot { margin:0; flex:0 0 auto; }

/* ---- India matches: full-width section ---- */
.flag-in { width:22px; height:15px; border-radius:2px; vertical-align:-2px; box-shadow:0 0 0 1px rgba(0,0,0,.15); }
.flag-in.lg { width:40px; height:27px; border-radius:4px; margin-right:6px; vertical-align:-3px; }
.india-sec { margin-top:1.75rem; background:#071a3a url('/img/india-bg.jpg') center/cover no-repeat; position:relative; }
.india-sec::before { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(7,26,58,.86),rgba(7,26,58,.72)); }
.india-sec[hidden] { display:none; }
.india-inner { position:relative; width:100%; padding:44px clamp(16px,5vw,96px); }
.india-title { color:#fff; font-weight:800; font-size:clamp(1.6rem,3vw,2.3rem); margin:0; }
.india-all { color:#fff; text-decoration:none; font-weight:600; background:rgba(255,255,255,.14); border-radius:999px; padding:7px 18px; }
.india-all:hover { background:#ff6b00; color:#fff; }
.india-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr)); gap:18px; }
.ind-card { background:rgba(255,255,255,.97); border-radius:18px; padding:18px 22px; display:flex; flex-direction:column; gap:14px; box-shadow:0 10px 30px rgba(0,0,0,.28); border-top:5px solid #ff9933; }
.ind-card.is-live { border-top-color:#d90f0f; }
.ind-meta { display:flex; justify-content:space-between; gap:12px; font-size:.82rem; color:#7a869f; }
.ind-league { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:65%; }
.ind-row { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:14px; }
.ind-team { font-size:clamp(1.05rem,1.8vw,1.5rem); font-weight:800; color:#0a1f44; line-height:1.2; }
.ind-team.r { text-align:right; }
.ind-sc { display:flex; align-items:center; gap:8px; background:#0a1f44; color:#fff; border-radius:14px; padding:8px 18px; }
.ind-sc b { font-size:clamp(1.6rem,3vw,2.3rem); min-width:1ch; text-align:center; }
.ind-sc i { font-style:normal; opacity:.6; font-size:1.4rem; }
.ind-vs { font-weight:800; color:#ff6b00; background:#fff1e6; border-radius:999px; padding:6px 16px; }
.ind-foot { border-top:1px solid #eef1f7; padding-top:12px; }
@media (max-width:575px){ .ind-row { grid-template-columns:1fr auto 1fr; gap:8px; } .ind-card { padding:16px; } }

/* India matches: layout adapts to match count (1 = featured, 2 = two columns, 3+ = three columns) */
.india-grid { grid-template-columns:1fr; }
@media (min-width:768px){ .india-grid[data-n="2"] { grid-template-columns:repeat(2,1fr); } }
@media (min-width:768px){ .india-grid[data-n="3"] { grid-template-columns:repeat(2,1fr); } }
@media (min-width:1200px){ .india-grid[data-n="3"] { grid-template-columns:repeat(3,1fr); } }
.india-grid[data-n="1"] { max-width:900px; margin:0 auto; }
.ind-card { border-radius:22px; padding:20px 24px 18px; gap:16px; transition:transform .2s, box-shadow .2s; position:relative; overflow:hidden; }
.ind-card:hover { transform:translateY(-4px); box-shadow:0 16px 38px rgba(0,0,0,.38); }
.ind-card::after { content:""; position:absolute; right:-40px; bottom:-40px; width:140px; height:140px; border-radius:50%; background:radial-gradient(circle,rgba(255,153,51,.18),transparent 70%); }
.ind-sport { font-weight:700; color:#0a1f44; background:#eef2fb; border-radius:999px; padding:3px 12px; }
.ind-row { grid-template-columns:1fr auto 1fr; gap:10px; }
.ind-team { display:flex; flex-direction:column; align-items:center; gap:8px; text-align:center; }
.ind-team.r { text-align:center; }
.ind-av { width:58px; height:58px; border-radius:50%; background:linear-gradient(135deg,#0a1f44,#27447f); color:#fff; font-weight:800; font-size:1.15rem; display:flex; align-items:center; justify-content:center; box-shadow:0 4px 12px rgba(10,31,68,.3); }
.ind-av.is-in { background:linear-gradient(180deg,#ff9933 0 33%,#fff 33% 66%,#138808 66%); color:#0a1f44; border:2px solid #fff; box-shadow:0 4px 12px rgba(0,0,0,.25); }
.ind-name { font-size:clamp(.95rem,1.4vw,1.2rem); font-weight:800; color:#0a1f44; line-height:1.2; word-break:break-word; }
.ind-foot { display:flex; justify-content:center; }
.india-grid[data-n="1"] .ind-av { width:84px; height:84px; font-size:1.7rem; }
.india-grid[data-n="1"] .ind-name { font-size:1.6rem; }
.india-grid[data-n="1"] .ind-sc b { font-size:3rem; }
.india-grid[data-n="1"] .ind-card { padding:28px 34px 22px; }
@media (max-width:575px){ .ind-av { width:46px; height:46px; font-size:.95rem; } .ind-sc { padding:6px 12px; } }

/* India matches: more compact cards */
.india-inner { padding-top:28px; padding-bottom:28px; }
.india-inner .d-flex.mb-4 { margin-bottom:1rem !important; }
.india-title { font-size:clamp(1.3rem,2.4vw,1.8rem); }
.india-title .flag-in.lg { height:26px; width:auto; }
.ind-card { padding:12px 18px 10px; gap:8px; border-radius:18px; border-top-width:4px; }
.ind-meta { font-size:.76rem; }
.ind-sport { padding:1px 10px; }
.ind-team { flex-direction:row; gap:10px; justify-content:flex-start; text-align:left; }
.ind-team.r { flex-direction:row-reverse; justify-content:flex-start; text-align:right; }
.ind-av { width:38px; height:38px; font-size:.8rem; flex:0 0 38px; }
.ind-name { font-size:clamp(.9rem,1.2vw,1.05rem); }
.ind-sc { padding:4px 14px; border-radius:11px; }
.ind-sc b { font-size:clamp(1.3rem,2.2vw,1.7rem); }
.ind-vs { padding:3px 12px; font-size:.85rem; }
.ind-foot { padding-top:6px; }
.ind-card::after { display:none; }
.india-grid[data-n="1"] { max-width:760px; }
.india-grid[data-n="1"] .ind-av { width:46px; height:46px; flex-basis:46px; font-size:.95rem; }
.india-grid[data-n="1"] .ind-name { font-size:1.15rem; }
.india-grid[data-n="1"] .ind-sc b { font-size:1.9rem; }
.india-grid[data-n="1"] .ind-card { padding:14px 22px 12px; }
@media (max-width:575px){ .ind-team, .ind-team.r { flex-direction:column; text-align:center; gap:4px; } .ind-av { width:34px; height:34px; flex-basis:34px; } }

/* Live scores: flags, hero, nicer cards */
.tm-flag, .tm-ini { display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; border-radius:50%; overflow:hidden; vertical-align:middle; background:#eef2fb; }
.tm-flag img { width:100%; height:100%; object-fit:cover; display:block; }
.tm-flag.sm, .tm-ini.sm { width:18px; height:18px; margin:0 5px; font-size:.55rem; }
.tm-flag.md, .tm-ini.md { width:30px; height:30px; font-size:.7rem; }
.tm-flag.lg, .tm-ini.lg { width:58px; height:58px; font-size:1.1rem; box-shadow:0 4px 12px rgba(10,31,68,.3); border:2px solid #fff; }
.tm-ini { background:linear-gradient(135deg,#0a1f44,#27447f); color:#fff; font-weight:800; }
.tm-flag.md { border:1px solid #e1e7f3; }
.ind-av { display:none; }
.india-grid[data-n="1"] .tm-flag.lg, .india-grid[data-n="1"] .tm-ini.lg { width:46px; height:46px; }
.ind-card .tm-flag.lg, .ind-card .tm-ini.lg { width:38px; height:38px; font-size:.8rem; }
@media (max-width:575px){ .ind-card .tm-flag.lg, .ind-card .tm-ini.lg { width:34px; height:34px; } }
.lv-hero { background:#071a3a url('/img/india-bg.jpg') center/cover no-repeat; position:relative; padding:34px 0 30px; color:#fff; }
.lv-hero::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(7,26,58,.94),rgba(7,26,58,.7)); }
.lv-hero .container { position:relative; }
.lv-h1 { font-size:clamp(1.7rem,3.2vw,2.5rem); font-weight:800; margin:0 0 4px; display:flex; align-items:center; gap:12px; }
.lv-sub { color:#c9d5ee; }
.lv-stats { display:flex; gap:10px; flex-wrap:wrap; }
.lv-pill { background:rgba(255,255,255,.14); border-radius:999px; padding:6px 16px; font-size:.85rem; color:#fff; }
.lv-pill b { font-size:1.05rem; margin-right:2px; }
.lv-pill.dim { background:transparent; border:1px solid rgba(255,255,255,.3); color:#c9d5ee; }
.lv-card { border-radius:18px; padding:16px 18px 14px; transition:transform .2s, box-shadow .2s; border-left:4px solid #e8edf6; }
.lv-card:hover { transform:translateY(-3px); box-shadow:0 12px 26px rgba(10,31,68,.12); }
.lv-card.is-live { border-left-color:#d90f0f; }
.lv-card.is-india { border-left-color:#ff9933; background:linear-gradient(135deg,#fff 70%,#fff6ec); }
.lv-sport { font-weight:700; color:#0a1f44; background:#eef2fb; border-radius:999px; padding:2px 10px; }
.lv-row { padding:7px 0; }
.lv-team { display:flex; align-items:center; gap:10px; }
.lv-name { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.lv-row.win .lv-name, .lv-row.win .lv-score { font-weight:800; }
.lv-row:not(.win) .lv-name { font-weight:600; }
.lv-score { min-width:34px; text-align:center; background:#0a1f44; color:#fff; border-radius:9px; padding:2px 8px; font-size:1.1rem; }
.lv-foot { display:flex; justify-content:space-between; align-items:center; }
.lv-src { font-size:.68rem; color:#9aa6bf; text-transform:uppercase; letter-spacing:.4px; }
.lt-team .tm-flag, .lt-team .tm-ini { margin:0 6px; }

/* India matches: extra compact (v3) */
.india-sec { margin-top:1rem; }
.india-inner { padding-top:16px; padding-bottom:16px; }
.india-inner .d-flex.mb-4 { margin-bottom:.6rem !important; }
.india-title { font-size:clamp(1.1rem,2vw,1.45rem); display:flex; align-items:center; gap:10px; }
.india-title .flag-in.lg { height:20px; }
.india-all { padding:4px 14px; font-size:.85rem; }
.ind-card { padding:8px 14px 8px; gap:4px; border-radius:14px; border-top-width:3px; position:relative; }
.ind-meta { font-size:.7rem; }
.ind-sport { padding:0 8px; font-size:.7rem; }
.ind-row { gap:8px; }
.ind-card .tm-flag.lg, .ind-card .tm-ini.lg { width:30px; height:30px; font-size:.7rem; border-width:1px; box-shadow:0 2px 6px rgba(10,31,68,.25); }
.india-grid[data-n="1"] .tm-flag.lg, .india-grid[data-n="1"] .tm-ini.lg { width:34px; height:34px; }
.ind-name { font-size:clamp(.85rem,1.1vw,.98rem); }
.india-grid[data-n="1"] .ind-name { font-size:1rem; }
.ind-sc { padding:2px 12px; border-radius:9px; gap:6px; }
.ind-sc b { font-size:clamp(1.1rem,1.8vw,1.35rem); }
.india-grid[data-n="1"] .ind-sc b { font-size:1.4rem; }
.india-grid[data-n="1"] .ind-card { padding:8px 18px; }
.ind-vs { padding:1px 10px; font-size:.8rem; }
.ind-foot { border-top:0; padding-top:0; margin-top:-2px; }
.ind-foot .lv-badge { font-size:.68rem; padding:1px 8px; }
.india-grid { gap:12px; }
