/* ===============================
   GOOGLE-STYLE GOVERNMENT DESIGN
   Constitutional Emirate of Moeezland
================================== */

:root{

    --primary:#0B4EA2;
    --primary-dark:#083A79;
    --primary-light:#EAF2FF;

    --gold:#D4AF37;

    --white:#ffffff;

    --bg:#F5F8FC;

    --text:#1D2939;

    --gray:#667085;

    --border:#E4E7EC;

    --shadow:0 12px 35px rgba(0,0,0,.08);

}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    font-family:'Inter',sans-serif;

    background:var(--bg);

    color:var(--text);

    line-height:1.7;

}

img{

    max-width:100%;

    display:block;

}

a{

    text-decoration:none;

    color:inherit;

}

.container{

    width:min(1250px,92%);

    margin:auto;

}

/* ===============================
TOP BAR
================================== */

.topbar{

    background:var(--primary-dark);

    color:white;

    font-size:.9rem;

}

.topbar .container{

    height:42px;

    display:flex;

    justify-content:space-between;

    align-items:center;

}

/* ===============================
HEADER
================================== */

header{

    position:sticky;

    top:0;

    z-index:999;

    backdrop-filter:blur(18px);

    background:rgba(255,255,255,.92);

    border-bottom:1px solid rgba(0,0,0,.06);

}

.nav{

    height:88px;

    display:flex;

    justify-content:space-between;

    align-items:center;

}

.logo{

    display:flex;

    align-items:center;

    gap:16px;

}

.logo img{

    width:60px;

}

.logo h2{

    font-size:1.35rem;

    color:var(--primary);

}

.logo span{

    color:var(--gray);

    font-size:.9rem;

}

nav{

    display:flex;

    gap:34px;

}

nav a{

    font-weight:600;

    position:relative;

    transition:.25s;

}

nav a::after{

    content:"";

    position:absolute;

    bottom:-8px;

    left:0;

    width:0;

    height:2px;

    background:var(--gold);

    transition:.3s;

}

nav a:hover{

    color:var(--primary);

}

nav a:hover::after{

    width:100%;

}

/* ===============================
HERO
================================== */

.hero{

    min-height:82vh;

    display:flex;

    align-items:center;

    background:

    linear-gradient(rgba(8,40,95,.78),rgba(8,40,95,.78)),

    url("assets/images/hero.jpg") center/cover no-repeat;

}

.hero-content{

    width:min(1200px,92%);

    margin:auto;

    color:white;

}

.hero h4{

    color:#FFD66E;

    letter-spacing:3px;

    text-transform:uppercase;

    margin-bottom:20px;

    font-size:.95rem;

}

.hero h1{

    font-size:4.5rem;

    line-height:1.1;

    max-width:850px;

    margin-bottom:30px;

}

.hero p{

    max-width:650px;

    font-size:1.2rem;

    opacity:.95;

    margin-bottom:45px;

}

/* ===============================
BUTTONS
================================== */

.buttons{

    display:flex;

    gap:20px;

}

.btn{

    padding:16px 36px;

    border-radius:100px;

    font-weight:700;

    transition:.3s;

}

.primary{

    background:white;

    color:var(--primary);

}

.primary:hover{

    background:var(--gold);

    transform:translateY(-3px);

}

.secondary{

    border:2px solid rgba(255,255,255,.7);

    color:white;

}

.secondary:hover{

    background:white;

    color:var(--primary);

}

.services{
    background:#EAF2FF;
}

/* ===============================
SECTIONS
================================== */

section{

    padding:110px 0;

}

section h2{

    font-size:2.6rem;

    text-align:center;

    margin-bottom:18px;

}

section h2::after{

    content:"";

    display:block;

    width:70px;

    height:4px;

    background:var(--gold);

    margin:18px auto 0;

    border-radius:10px;

}

/* ===============================
GRID
================================== */

.cards{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

    gap:30px;

    margin-top:60px;

}

/* ===============================
   SERVICE CARD
================================== */

.card{

    background:#ffffff;

    border:1.5px solid var(--primary);

    height:120px;

    display:flex;

    align-items:center;

    padding:0 24px;

    transition:.25s;

    cursor:pointer;

}

.card:hover{

    background:#0B4EA2;

    border-color:#0B4EA2;

    transform:translateY(-4px);

}

.card:hover h3,
.card:hover p{

    color:#ffffff;

}

.card:hover .service-icon{

    filter:brightness(0) invert(1);

    transform:scale(1.08);

}

.service-icon{

    width:42px;

    height:42px;

    object-fit:contain;

    margin-right:22px;

    flex-shrink:0;

    transition:.25s;

}

.card-content{

    flex:1;

}

.card h3{

    margin:0 0 6px;

    color:#0B4EA2;

    font-size:1.15rem;

    transition:.25s;

}

.card p{

    margin:0;

    color:#667085;

    font-size:.95rem;

    line-height:1.5;

    transition:.25s;

}

/* ===============================
ABOUT
================================== */

.about{

    background:white;

    padding:70px 0;

}

.about-grid{

    display:grid;

    grid-template-columns:420px 1fr;

    gap:45px;

    align-items:center;

}

.about img{

    width:100%;

    max-width:420px;

    border-radius:18px;

    box-shadow:var(--shadow);

}

.about h2{

    text-align:left;

}

.about h2::after{

    margin:18px 0;

}

.about p{

    color:var(--gray);

    margin-bottom:35px;

}

/* ===============================
NEWS
================================== */

.news{

    background:var(--primary-light);

}

.news-layout{

    display:grid;

    grid-template-columns:2fr 340px;

    gap:40px;

    align-items:start;

}

.news-left h2{

    text-align:left;

    margin-bottom:35px;

}

.news-left h2::after{

    margin:18px 0 0;

}

#latestNews{

    display:flex;

    flex-direction:column;

    gap:22px;

}

.news-card{

    display:grid;

    grid-template-columns: 180px 1fr;

    background:#fff;

    border:1.5px solid var(--primary);

    overflow:hidden;

    transition:.25s;

}

.news-card:hover{

    transform:translateY(-3px);

    box-shadow:0 10px 30px rgba(11,78,162,.12);

}

.news-card img{

    width:100%;

    height:100%;

    min-height:150px;

    object-fit:cover;

}

.news-content{

    padding:18px 20px;

    display:flex;

    flex-direction:column;

}

.news-card span{

    color:#667085;

    font-size:.9rem;

    font-weight:600;

}

.news-card h3{

    margin:12px 0;

    color:var(--primary);

    font-size:1.2rem;

    line-height:1.35;

}

.news-card p{

    color:#667085;

    line-height:1.7;

    flex:1;

    display:-webkit-box;

    -webkit-line-clamp:3;

    -webkit-box-orient:vertical;

    overflow:hidden;

}

.news-read{

    margin-top:20px;

    color:var(--primary);

    font-weight:700;

}

.view-all-news{

    display:inline-block;

    margin-top:30px;

    color:var(--primary);

    font-weight:700;

}

.weather-card{
    border:1.5px solid var(--primary);
    background:#fff;
    padding:28px;

    /* NEW */
    margin-top:116px;
}

.weather-card h2{

    text-align:left;

    font-size:2rem;

}

.weather-card h2::after{

    margin:18px 0 0;

}

/* ======================================
   FOOTER
====================================== */

.footer{

    background:#F5F8FC;

}

.footer-top-line{

    height:5px;

    background:#0B4EA2;

}

.footer-container{

    width:min(1250px,92%);

    margin:auto;

    padding:55px 0;

    display:grid;

    grid-template-columns:repeat(4,1fr) 300px;

    gap:45px;

}

.footer-column{

    display:flex;

    flex-direction:column;

}

.footer-column h3{

    color:#163658;

    font-size:1.45rem;

    margin-bottom:20px;

}

.footer-column a{

    color:#4B5563;

    margin-bottom:14px;

    transition:.2s;

}

.footer-column a:hover{

    color:#0B4EA2;

}

.footer-logos{

    display:flex;

    flex-direction:column;

    gap:20px;

}

.footer-logo-card{

    display:flex;

    align-items:center;

    gap:15px;

    padding-bottom:18px;

    border-bottom:1px solid #D8E2EE;

}

.footer-logo-card img{

    width:52px;

}

.footer-logo-card span{

    font-weight:600;

    color:#163658;

}

.footer-bottom{

    border-top:1px solid #D8E2EE;

    width:min(1250px,92%);

    margin:auto;

    padding:22px 0;

    display:flex;

    justify-content:space-between;

    align-items:center;

    color:#667085;

}

.footer-social{

    display:flex;

    gap:18px;

}

.footer-social img{

    width:24px;

    transition:.2s;

}

.footer-social img:hover{

    transform:translateY(-2px);

}

/* ===============================
RESPONSIVE
================================== */

@media(max-width:1000px){

    nav{

        display:none;

    }

    .hero h1{

        font-size:3.2rem;

    }

    .about-grid{

        grid-template-columns:1fr;

    }

}

@media(max-width:700px){

    .hero{

        text-align:center;

    }

    .hero p{

        margin:auto auto 40px;

    }

    .buttons{

        justify-content:center;

        flex-wrap:wrap;

    }

    .hero h1{

        font-size:2.4rem;

    }

    section{

        padding:80px 0;

    }

}

.gov-banner {
  background-color: #f1f1f1;
  border-bottom: 1px solid #ccc;
  font-family: system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif;
  font-size: 0.9rem;
  line-height: 1.5;
  color: #1b1b1b;
  position: sticky;
  top: 0;
  z-index: 1000;
  width: 100%;
}

.gov-banner__container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0.25rem 1rem; /* 👈 reduce height */
}

.gov-banner__header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem; /* 👈 tighter spacing */
}

.gov-banner__icon img {
  width: 28px;
  height: 28px;
}

.gov-banner__icon {
  font-size: 1.4rem;
  line-height: 1;
}

.gov-banner__text {
  font-weight: 500;
  margin-right: auto; /* pushes toggle to the right on larger screens */
}

.gov-banner__toggle {
  background: none;
  border: none;
  color: #005ea2;
  font-size: 0.9rem;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  cursor: pointer;
  padding: 0.2rem 0;
  border-bottom: 2px solid transparent;
  transition: border-color 0.1s;
}

.gov-banner__toggle:hover {
  border-bottom-color: currentColor;
}

.gov-banner__toggle:focus-visible {
  outline: 2px solid #005ea2;
  outline-offset: 2px;
  border-radius: 2px;
}

.gov-banner__toggle-icon {
  width: 1rem;
  height: 1rem;
  transition: transform 0.2s ease;
}

.gov-banner__toggle[aria-expanded="true"] .gov-banner__toggle-icon {
  transform: rotate(180deg);
}

.gov-banner__panel {
  background-color: #ffffff;
  border: 1px solid #ccc;
  border-radius: 4px;
  margin-top: 0;
  padding: 0 1rem; /* 👈 important: remove vertical padding */
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);

  /* animation base */
  opacity: 0;
  transform: translateY(-8px);
  pointer-events: none;

  max-height: 0;          /* 👈 THIS FIXES YOUR ISSUE */
  overflow: hidden;       /* 👈 hides content */

  transition: opacity 0.2s ease, transform 0.2s ease, max-height 0.25s ease;
}

.gov-banner__panel.open {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;

  max-height: 500px; /* 👈 enough to fit content */
  padding: 0.75rem 1rem; /* restore spacing when open */

  margin-top: 0.75rem; /* 👈 move it here */
}

.gov-banner__panel-content {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

@media (min-width: 640px) {
  .gov-banner__panel-content {
    flex-direction: row;
    gap: 2rem;
  }
}

.gov-banner__panel-item {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.gov-banner__panel-item strong {
  font-weight: 700;
  color: #1e1e1e;
}

.gov-banner__panel-item span {
  color: #3d3d3d;
}

.mobile-menu-extra {
    display: none;
}

/* Mobile adjustments */
@media (max-width: 640px) {
  .gov-banner__header {
  flex-wrap: nowrap;          /* 👈 stop stacking */
  justify-content: space-between;
  align-items: center;
}

  .gov-banner {
    z-index: 9;
  }

  .gov-banner__text {
  width: auto;
  text-align: left;
  font-size: 0.8rem; /* optional: keeps it tighter */
}

  .gov-banner__icon {
    margin-left: auto;
    margin-right: auto;
  }

  .gov-banner__toggle {
    margin-left: auto;
    margin-right: auto;
  }

.gov-banner__toggle {
  font-size: 0.8rem;
}
}

/* ==========================
   HERO SEARCH
========================== */

.hero-search{

    width:100%;
    max-width:520px;

    height:58px;

    margin-top:45px;

    display:flex;
    align-items:center;

    background:#ffffff;

    border:2px solid var(--primary);

    border-radius:6px;

    overflow:hidden;

    cursor:pointer;

    transition:.25s;

}

.hero-search:hover{

    box-shadow:0 6px 18px rgba(11,78,162,.18);

}

.search-placeholder{

    flex:1;

    padding:0 22px;

    color:#6B7280;

    font-size:1rem;

}

.search-btn{

    width:60px;

    height:100%;

    display:flex;

    align-items:center;

    justify-content:center;

    background:var(--primary);

    color:#ffffff;

}

.search-btn svg{

    width:22px;

    height:22px;

}

/* ==========================================
   SERVICES PAGE
========================================== */

.services-page{

    background:#ffffff;
    padding:0;

}

.services-layout{

    display:flex;
    align-items:flex-start;

    width:fit-content;

    margin:0 auto;

    min-height:1200px;

}

/* ==========================
   SIDEBAR
========================== */

.services-sidebar{

    width:320px;

    flex-shrink:0;

    padding:40px 20px 40px 0;

}

.sidebar-btn{

    display:flex;

    align-items:center;

    width:100%;

    height:82px;

    padding:0 22px;

    margin-bottom:14px;

    background:#fff;

    border:1.5px solid var(--primary);

    text-decoration:none;

    color:#5f6368;

    font-weight:700;

    font-size:1.05rem;

    transition:.25s;

}

.sidebar-btn img{

    width:36px;

    height:36px;

    object-fit:contain;

    margin-right:18px;

}

.sidebar-btn span{

    flex:1;

}

.sidebar-arrow{

    font-size:20px;

    color:#0B4EA2;

    transition:.25s;

}

.sidebar-btn:hover{

    background:#0B4EA2;

    border-color:#0B4EA2;

    color:#fff;

}

.sidebar-btn:hover .sidebar-arrow{

    color:#fff;

}

.sidebar-btn:hover img{

    filter:brightness(0) invert(1);

}

.sidebar-btn.active{

    background:#0B4EA2;

    border-color:#0B4EA2;

    color:#fff;

}

.sidebar-btn.active img{

    filter:brightness(0) invert(1);

}

.sidebar-btn.active .sidebar-arrow{

    color:#fff;

}

/* ==========================
   CONTENT
========================== */

.services-content{

    flex:1;

    padding:45px 60px;

}

.services-content h1{

    font-size:3.3rem;

    color:#0B4EA2;

    margin-bottom:25px;

}

.services-content .intro{

    max-width:800px;

    font-size:1.12rem;

    color:#667085;

    line-height:1.85;

    margin-bottom:60px;

}

.services-content section{

    padding:0;

    margin-bottom:60px;

}

.services-content section h2{

    text-align:left;

    color:#0B4EA2;

    font-size:2rem;

    margin-bottom:18px;

}

.services-content section h2::after{

    display:none;

}

.services-content section p{

    max-width:800px;

    color:#4b5563;

    font-size:1.05rem;

    line-height:1.95;

}

/* ==========================
   MOBILE
========================== */

@media(max-width:1000px){

.services-layout{

    flex-direction:column;

}

.services-sidebar{

    position:relative;

    top:0;

    width:100%;

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:12px;

}

.sidebar-btn{

    margin:0;

}

.services-content{

    padding:45px 30px;

}

}

@media(max-width:650px){

.services-sidebar{

    grid-template-columns:1fr;

}

.services-content{

    padding:35px 22px;

}

.services-content h1{

    font-size:2.4rem;

}

}

/* Clickable Logo */

.logo{

    text-decoration:none;

    color:inherit;

    cursor:pointer;

    transition:opacity .2s ease;

}

.logo:hover{

    opacity:.85;

}

/* ==========================
   BREADCRUMB
========================== */

.breadcrumb-wrapper{

    background:#ffffff;

    border-bottom:1px solid #E4E7EC;

}

.breadcrumb{

    width:min(1250px,92%);

    margin:0 auto;

    padding:18px 0;

    font-size:.95rem;

    color:#667085;

}

.breadcrumb a{

    color:#0B4EA2;

    text-decoration:none;

    font-weight:600;

}

.breadcrumb a:hover{

    text-decoration:underline;

}

.breadcrumb span{

    margin:0 8px;

}

.breadcrumb .current{

    color:#1D2939;

    font-weight:600;

}

/* External Link Icon */

.external-link{

    font-size:.78em;

    margin-left:4px;

    vertical-align:super;

    font-weight:700;

    transition:.25s;

}

nav a:hover .external-link{

    transform:translate(2px,-2px);

}

/* ==========================
   SIDEBAR CONTACT BOX
========================== */

.contact-box{

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:flex-start;

    width:100%;

    height:220px;

    margin-top:14px;

    padding:24px;

    background:var(--primary);

    border:1.5px solid var(--primary);

    color:#ffffff;

    transition:.25s;

}

.contact-box:hover{

    background:#ffffff;

    color:var(--primary);

}

.contact-box h3{

    font-size:1.2rem;

    margin-bottom:14px;

    line-height:1.3;

}

.contact-box p{

    font-size:.95rem;

    line-height:1.6;

    margin-bottom:20px;

    opacity:.95;

}

.contact-box span{

    font-weight:700;

    font-size:.95rem;

}

/* ==========================
   PAGE FEEDBACK
========================== */

.feedback-card{

    max-width:900px;

    margin-top:30px;

    padding:28px 32px;

    border:1.5px solid var(--border);

    background:#fff;

    display:flex;

    justify-content:space-between;

    align-items:center;

    transition:.3s;

}

.feedback-content{

    flex:1;

}

.feedback-content h3{

    color:var(--primary);

    margin-bottom:10px;

    font-size:1.35rem;

}

.feedback-content p{

    color:#667085;

    line-height:1.7;

}

.feedback-content a{

    color:var(--primary);

    font-weight:600;

}

.feedback-buttons{

    display:flex;

    gap:12px;

    margin-left:30px;

}

.feedback-btn{

    width:58px;

    height:58px;

    border:2px solid var(--primary);

    background:#fff;

    font-size:1.5rem;

    cursor:pointer;

    transition:.25s;

}

.feedback-btn:hover{

    background:var(--primary);

    color:#fff;

}

.feedback-success{

    background:#EAF8EF;

    border-color:#2E8B57;

    color:#2E8B57;

}

.feedback-success h3{

    color:#2E8B57;

}

.feedback-success .feedback-buttons{

    display:none;

}

.feedback-check{

    font-size:3rem;

    margin-left:25px;

    color:#2E8B57;

}

.weather-icon{

    display:flex;

    justify-content:center;

    margin:20px 0 15px;

}

.weather-icon img{

    width:90px;

    height:90px;

}

.weather-temp{

    text-align:center;

    font-size:3.4rem;

    font-weight:700;

    color:var(--primary);

}

.weather-condition{

    text-align:center;

    color:#667085;

    font-size:1.15rem;

    margin-top:8px;

}

.weather-location{

    text-align:center;

    margin:22px 0;

    color:#667085;

    font-weight:600;

}

.weather-details{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:18px;

    margin-top:20px;

}

.weather-details div{

    border:1px solid #d9e4f3;

    padding:14px;

}

.weather-details span{

    display:block;

    color:#667085;

    font-size:.9rem;

    margin-bottom:6px;

}

.weather-details strong{

    color:var(--primary);

    font-size:1.15rem;

}

.weather-updated{

    text-align:center;

    margin-top:24px;

    color:#8b8b8b;

    font-size:.85rem;

}