/* =========================================================
   Gujarat Bharti — Design System
   Palette: Navy #0D1B2A · Royal Blue #1E3A8A · Yellow #FBBF24
            White #FFFFFF · Light Gray #F5F7FA
            Green #16A34A · Amber #F59E0B · Red #DC2626
   Type: Poppins (headings) / Inter (body)
   ========================================================= */

:root{
  --navy:#0D1B2A;
  --royal:#1E3A8A;
  --yellow:#FBBF24;
  --white:#FFFFFF;
  --gray-bg:#F5F7FA;
  --green:#16A34A;
  --amber:#F59E0B;
  --red:#DC2626;
  --ink-600:#4B5563;
  --ink-500:#6B7280;
  --ink-300:#D1D5DB;
  --border:#E6E9EF;
  --radius:12px;
  --shadow-sm:0 1px 2px rgba(13,27,42,.06), 0 1px 1px rgba(13,27,42,.04);
  --shadow-md:0 6px 20px rgba(13,27,42,.08);
}

html{ scroll-behavior:smooth; }

body{
  font-family:'Inter', 'Roboto', sans-serif;
  color:var(--navy);
  background:var(--white);
  font-size:16px;
  line-height:1.6;
}

h1,h2,h3,h4,h5,h6{
  font-family:'Poppins','Nunito Sans',sans-serif;
  font-weight:600;
  color:var(--navy);
  letter-spacing:-0.01em;
}

a{ color:var(--royal); text-decoration:none; }
a:hover{ color:var(--navy); }

.text-muted-gb{ color:var(--ink-500); }
.bg-gray{ background:var(--gray-bg); }
.bg-navy{ background:var(--navy); }
.text-yellow{ color:var(--yellow); }

.container-gb{
  max-width:1200px;
  margin:0 auto;
  padding-left:1.25rem;
  padding-right:1.25rem;
}

/* ---------- Buttons ---------- */
.btn{ border-radius:8px; font-weight:600; padding:.6rem 1.3rem; }
.btn-gb-primary{
  background:var(--yellow);
  color:var(--navy);
  border:1px solid var(--yellow);
}
.btn-gb-primary:hover{ background:#eab112; border-color:#eab112; color:var(--navy); }

.btn-gb-outline{
  background:transparent;
  color:var(--white);
  border:1px solid rgba(255,255,255,.55);
}
.btn-gb-outline:hover{ background:rgba(255,255,255,.12); color:var(--white); }

.btn-gb-navy{
  background:var(--navy);
  color:var(--white);
  border:1px solid var(--navy);
}
.btn-gb-navy:hover{ background:#132437; color:var(--white); }

.btn-gb-royal-outline{
  background:transparent;
  color:var(--royal);
  border:1px solid var(--royal);
}
.btn-gb-royal-outline:hover{ background:var(--royal); color:var(--white); }

/* ---------- Navbar ---------- */
.gb-header{ background:var(--navy); position:sticky; top:0; z-index:1000; box-shadow:0 1px 0 rgba(255,255,255,.06); }
.gb-navbar{ display:flex; align-items:center; justify-content:space-between; padding:.7rem 0; }
.gb-brand{ display:flex; align-items:center; gap:.6rem; color:var(--white); }
.gb-brand img{ width:40px; height:40px; }
.gb-brand-text{ line-height:1.1; }
.gb-brand-text .name{ font-family:'Poppins',sans-serif; font-weight:700; font-size:1.1rem; color:var(--white); display:block; }
.gb-brand-text .tag{ font-size:.68rem; color:var(--yellow); letter-spacing:.02em; display:block; }

.gb-nav-toggle{ display:none; }
.gb-nav-toggle-label{
  display:none;
  color:var(--white);
  font-size:1.5rem;
  cursor:pointer;
  line-height:1;
}

.gb-nav-links{ display:flex; align-items:center; gap:1.6rem; }
.gb-nav-links a.nav-link-gb{
  color:rgba(255,255,255,.88);
  font-weight:500;
  font-size:.95rem;
  padding:.4rem 0;
  border-bottom:2px solid transparent;
}
.gb-nav-links a.nav-link-gb:hover,
.gb-nav-links a.nav-link-gb.active{
  color:var(--white);
  border-bottom-color:var(--yellow);
}

.gb-dropdown{ position:relative; }
.gb-dropdown > .nav-link-gb::after{
  content:"";
  display:inline-block;
  margin-left:.35rem;
  width:0; height:0;
  border-left:4px solid transparent;
  border-right:4px solid transparent;
  border-top:5px solid rgba(255,255,255,.7);
  vertical-align:middle;
}
.gb-dropdown-menu{
  display:none;
  position:absolute;
  top:100%; left:0;
  min-width:190px;
  background:var(--white);
  border:1px solid var(--border);
  border-radius:10px;
  box-shadow:var(--shadow-md);
  padding:.5rem;
  margin-top:.6rem;
  z-index:20;
}
.gb-dropdown:hover .gb-dropdown-menu,
.gb-dropdown:focus-within .gb-dropdown-menu{ display:block; }
.gb-dropdown-menu a{
  display:block;
  padding:.5rem .7rem;
  border-radius:6px;
  color:var(--navy);
  font-size:.92rem;
}
.gb-dropdown-menu a:hover{ background:var(--gray-bg); }

.gb-nav-actions{ display:flex; align-items:center; gap:.75rem; }
.gb-search-icon{
  width:38px; height:38px;
  border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  border:1px solid rgba(255,255,255,.3);
  color:var(--white);
}
.gb-search-icon:hover{ background:rgba(255,255,255,.1); }

@media (max-width: 991.98px){
  .gb-nav-toggle-label{ display:block; }
  .gb-nav-links{
    display:none;
    position:absolute;
    left:0; right:0; top:100%;
    background:var(--navy);
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:.5rem 1.25rem 1rem;
    border-top:1px solid rgba(255,255,255,.08);
  }
  .gb-nav-toggle:checked ~ .gb-nav-links{ display:flex; }
  .gb-nav-links a.nav-link-gb{ padding:.65rem 0; border-bottom:1px solid rgba(255,255,255,.08); }
  .gb-dropdown-menu{
    position:static;
    display:none !important;
    box-shadow:none;
    border:none;
    background:transparent;
    margin:0 0 0 .75rem;
    padding:0;
  }
  .gb-dropdown-check:checked ~ .gb-dropdown-menu{ display:block !important; }
  .gb-dropdown-menu a{ color:rgba(255,255,255,.8); }
  .gb-dropdown-menu a:hover{ background:rgba(255,255,255,.06); }
  .gb-nav-actions{ margin-top:.75rem; }
}

/* ---------- Hero ---------- */
.gb-hero{
  background:linear-gradient(180deg, var(--navy) 0%, #14273c 100%);
  color:var(--white);
  padding:3.5rem 0 4.5rem;
}
.gb-hero h1{ color:var(--white); font-size:2.4rem; max-width:640px; }
.gb-hero p.lead{ color:rgba(255,255,255,.78); max-width:560px; font-size:1.05rem; }
.gb-hero .gujarati-line{ color:var(--yellow); font-size:.95rem; margin-bottom:.75rem; }

.gb-search-form{
  background:var(--white);
  border-radius:12px;
  padding:.5rem;
  box-shadow:var(--shadow-md);
  max-width:640px;
}
.gb-search-form input{ border:none; padding:.65rem .9rem; }
.gb-search-form input:focus{ box-shadow:none; outline:none; }

.gb-stats{ display:flex; gap:2.2rem; margin-top:2.2rem; flex-wrap:wrap; }
.gb-stat .num{ font-family:'Poppins',sans-serif; font-weight:700; font-size:1.7rem; color:var(--yellow); }
.gb-stat .label{ font-size:.85rem; color:rgba(255,255,255,.7); }

/* ---------- Section headings ---------- */
.section-pad{ padding:3.2rem 0; }
.section-head{ margin-bottom:1.8rem; display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:.5rem; }
.section-head h2{ font-size:1.5rem; margin-bottom:0; }
.section-head .view-all{ font-size:.9rem; font-weight:600; }

/* ---------- Category tiles ---------- */
.gb-cat{
  display:block;
  background:var(--white);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:1.4rem 1.2rem;
  text-align:left;
  height:100%;
  box-shadow:var(--shadow-sm);
}
.gb-cat:hover{ box-shadow:var(--shadow-md); border-color:var(--royal); }
.gb-cat .icon{
  width:46px; height:46px;
  border-radius:10px;
  display:flex; align-items:center; justify-content:center;
  background:var(--gray-bg);
  color:var(--royal);
  font-size:1.3rem;
  margin-bottom:.9rem;
}
.gb-cat h3{ font-size:1.05rem; margin-bottom:.3rem; }
.gb-cat p{ font-size:.87rem; color:var(--ink-500); margin-bottom:0; }

/* ---------- Job Card ---------- */
.job-card{
  background:var(--white);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:1.25rem 1.3rem;
  box-shadow:var(--shadow-sm);
  height:100%;
}
.job-card:hover{ box-shadow:var(--shadow-md); }
.job-card .top-row{ display:flex; justify-content:space-between; align-items:flex-start; gap:.75rem; }
.job-card h3{ font-size:1.05rem; margin-bottom:.15rem; }
.job-card .org{ font-size:.85rem; color:var(--ink-500); margin-bottom:.7rem; }
.job-card .meta{ list-style:none; padding:0; margin:0 0 .9rem; font-size:.86rem; color:var(--ink-600); }
.job-card .meta li{ display:flex; align-items:center; gap:.5rem; padding:.18rem 0; }
.job-card .meta li i{ color:var(--royal); width:16px; text-align:center; }
.job-card .last-date{ color:var(--red); font-weight:600; }
.job-card .bottom-row{ display:flex; justify-content:space-between; align-items:center; margin-top:.4rem; }

.badge-status{
  font-size:.72rem;
  font-weight:600;
  padding:.32rem .6rem;
  border-radius:999px;
  border:1px solid transparent;
}
.badge-open{ background:#EAF7EE; color:var(--green); border-color:#CDEAD5; }
.badge-closing{ background:#FEF3E2; color:var(--amber); border-color:#FCE3B8; }
.badge-closed{ background:var(--gray-bg); color:var(--ink-500); border-color:var(--border); }
.badge-new{ background:#E9EEFB; color:var(--royal); border-color:#CFDAF5; }

/* ---------- Filters ---------- */
.gb-filter-card{
  background:var(--white);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:1.3rem;
}
.gb-filter-card h3{ font-size:1rem; margin-bottom:1rem; }
.gb-filter-card .form-label{ font-size:.83rem; font-weight:600; color:var(--navy); }
.form-select, .form-control{ border-radius:8px; border-color:var(--border); font-size:.92rem; }
.form-select:focus, .form-control:focus{ border-color:var(--royal); box-shadow:0 0 0 3px rgba(30,58,138,.12); }

/* ---------- Breadcrumb ---------- */
.gb-breadcrumb{ font-size:.86rem; padding:1rem 0; color:var(--ink-500); }
.gb-breadcrumb a{ color:var(--ink-500); }
.gb-breadcrumb a:hover{ color:var(--royal); }
.gb-breadcrumb .sep{ margin:0 .4rem; color:var(--ink-300); }

/* ---------- Detail page ---------- */
.detail-card{
  background:var(--white);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:1.5rem;
  margin-bottom:1.5rem;
}
.detail-card h2{ font-size:1.15rem; margin-bottom:1rem; padding-bottom:.7rem; border-bottom:1px solid var(--border); }
.detail-summary{
  background:var(--navy);
  color:var(--white);
  border-radius:var(--radius);
  padding:1.6rem;
  margin-bottom:1.5rem;
}
.detail-summary h1{ color:var(--white); font-size:1.5rem; margin-bottom:.3rem; }
.detail-summary .org{ color:rgba(255,255,255,.75); margin-bottom:1rem; }
.detail-summary .qa-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:1rem; margin-top:1rem; }
.detail-summary .qa-grid .qa-label{ font-size:.75rem; color:rgba(255,255,255,.6); }
.detail-summary .qa-grid .qa-value{ font-weight:600; font-size:.95rem; }

.info-table{ width:100%; font-size:.92rem; }
.info-table tr td{ padding:.5rem .3rem; border-bottom:1px solid var(--border); vertical-align:top; }
.info-table tr td:first-child{ color:var(--ink-500); width:42%; }
.info-table tr:last-child td{ border-bottom:none; }

.gb-list-check{ list-style:none; padding:0; margin:0; }
.gb-list-check li{ display:flex; gap:.6rem; padding:.4rem 0; font-size:.93rem; color:var(--ink-600); }
.gb-list-check li i{ color:var(--green); margin-top:.2rem; }

/* ---------- FAQ ---------- */
.gb-faq-item{ border-bottom:1px solid var(--border); padding:1rem 0; }
.gb-faq-item summary{ font-weight:600; cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center; }
.gb-faq-item summary::-webkit-details-marker{ display:none; }
.gb-faq-item summary::after{ content:"+"; font-size:1.3rem; color:var(--royal); }
.gb-faq-item[open] summary::after{ content:"\2212"; }
.gb-faq-item p{ margin:.7rem 0 0; color:var(--ink-600); font-size:.92rem; }

/* ---------- Cards generic (about/contact) ---------- */
.gb-plain-card{
  background:var(--white);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:1.5rem;
  box-shadow:var(--shadow-sm);
  height:100%;
}

.gb-value-tile{ text-align:left; }
.gb-value-tile .icon{
  width:48px; height:48px;
  border-radius:10px;
  background:var(--navy);
  color:var(--yellow);
  display:flex; align-items:center; justify-content:center;
  font-size:1.2rem;
  margin-bottom:.8rem;
}

/* ---------- Forms ---------- */
.gb-form-card{
  background:var(--white);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:2rem;
  box-shadow:var(--shadow-sm);
}
.gb-form-card label{ font-weight:600; font-size:.88rem; margin-bottom:.3rem; }
.gb-star-rate{ display:flex; gap:.4rem; font-size:1.4rem; color:var(--ink-300); }

/* ---------- CTA band ---------- */
.gb-cta-band{
  background:var(--royal);
  color:var(--white);
  border-radius:var(--radius);
  padding:2.4rem;
  text-align:center;
}
.gb-cta-band h2{ color:var(--white); }
.gb-cta-band p{ color:rgba(255,255,255,.8); }

/* ---------- Footer ---------- */
.gb-footer{ background:var(--navy); color:rgba(255,255,255,.75); padding:3rem 0 0; }
.gb-footer h4{ color:var(--white); font-size:.95rem; margin-bottom:1rem; }
.gb-footer a{ color:rgba(255,255,255,.68); display:block; font-size:.89rem; margin-bottom:.55rem; }
.gb-footer a:hover{ color:var(--yellow); }
.gb-footer .gb-brand-text .name{ color:var(--white); }
.gb-footer p.desc{ font-size:.88rem; color:rgba(255,255,255,.6); max-width:280px; }
.gb-footer-bottom{ border-top:1px solid rgba(255,255,255,.1); margin-top:2.2rem; padding:1.1rem 0; font-size:.83rem; display:flex; justify-content:space-between; flex-wrap:wrap; gap:.6rem; color:rgba(255,255,255,.55); }
.gb-social{ display:flex; gap:.6rem; margin-top:1rem; }
.gb-social a{ width:34px; height:34px; border-radius:50%; border:1px solid rgba(255,255,255,.2); display:flex; align-items:center; justify-content:center; }
.gb-social a:hover{ background:var(--yellow); color:var(--navy); border-color:var(--yellow); }

/* ---------- 404 ---------- */
.gb-404{ text-align:center; padding:5rem 0; }
.gb-404 .code{ font-family:'Poppins',sans-serif; font-weight:700; font-size:5.5rem; color:var(--royal); line-height:1; }

/* ---------- Utility ---------- */
.gb-divider{ height:1px; background:var(--border); margin:2.5rem 0; }
.pagination-gb{ display:flex; gap:.4rem; justify-content:center; margin-top:2rem; }
.pagination-gb a{
  width:38px; height:38px;
  border:1px solid var(--border);
  border-radius:8px;
  display:flex; align-items:center; justify-content:center;
  color:var(--navy); font-size:.9rem;
}
.pagination-gb a.active{ background:var(--navy); color:var(--white); border-color:var(--navy); }
.pagination-gb a:hover:not(.active){ border-color:var(--royal); color:var(--royal); }
