/* ===============================
   GOOGLE-STYLE GOVERNMENT DESIGN
   Constitutional Emirate of Moeezland
================================== */

:root{

    --primary:#B32134;
    --primary-dark:#9C2134;
    --primary-light:#FCEF41;

    --gold:#FCEF41;

    --white:#ffffff;

    --bg:#F5F8FC;

    --text:#B32134;

    --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(0, 0, 0, .40), rgba(0, 0, 0, .40)),
    url("../assets/images/heroxt.jpeg") center/cover no-repeat;
}

.hero-content{

    width:min(1200px,92%);

    margin:auto;

    color:white;

}

.hero h4{

    color:#FFFFFF;

    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:#FEE1E4;
}

/* ===============================
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:#B32134;

    border-color:#B32134;

    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:#B32134;

    font-size:1.15rem;

    transition:.25s;

}

.card p{

    margin:0;

    color:#667085;

    font-size:.95rem;

    line-height:1.5;

    transition:.25s;

}

/* ===============================
ABOUT
================================== */

.about{

    background:#ffffff;

    padding:90px 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:#FEE1E4;

}

.footer-top-line{

    height:5px;

    background:#B32134;

}

.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:#000000;

    font-size:1.45rem;

    margin-bottom:20px;

}

.footer-column a{

    color:#4B5563;

    margin-bottom:14px;

    transition:.2s;

}

.footer-column a:hover{

    color:#B32134;

}

.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 #b32134;

}

.footer-logo-card img{

    width:52px;

}

.footer-logo-card span{

    font-weight:600;

    color:#000000;

}

/* ==========================
   NEWSLETTER
========================== */

.footer-newsletter{

    width:min(1250px,92%);
    margin:0 auto;

    padding:35px;

    border-top:1px solid #D8E2EE;
    border-bottom:1px solid #D8E2EE;

}

.newsletter-content{

    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:40px;

}

.newsletter-text{

    max-width:600px;

}

.newsletter-title{

    display:flex;

    align-items:center;

    gap:14px;

    margin-bottom:12px;

}

.newsletter-title img{

    height:25px;

    width:auto;

    object-fit:contain;

}

.newsletter-text h3{

    font-size:1.7rem;
    color:#0B4EA2;
    margin-bottom:12px;

}

.newsletter-text p{

    color:#667085;
    line-height:1.8;

}

.newsletter-form{

    display:flex;
    gap:15px;

    flex-shrink:0;

}

.newsletter-form input{

    width:340px;

    height:52px;

    padding:0 18px;

    border:1.5px solid #0B4EA2;

    outline:none;

    font-size:.95rem;

    font-family:inherit;

    transition:.25s;

}

.newsletter-form input:focus{

    box-shadow:0 0 0 3px rgba(11,78,162,.12);

}

.newsletter-form button{

    height:52px;

    padding:0 28px;

    border:none;

    background:#0B4EA2;

    color:#fff;

    font-family:'Inter',sans-serif;

    font-size:.95rem;

    font-weight:600;

    letter-spacing:.2px;

    cursor:pointer;

    transition:.25s;

}

.newsletter-form button:hover{

    background:#083A79;

}

.footer-bottom{

    border-top:1px solid #b32134;

    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;
  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: #B32134;
  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%;

    min-height:96px;

    padding:22px;

    margin-bottom:14px;

    background:#fff;

    border:1.5px solid var(--primary);

    text-decoration:none;

    color:#B32134;

    font-weight:700;

    font-size:1.05rem;

    transition:.25s;

}

.sidebar-btn img{
    width:34px;
    height:34px;
    margin-right:16px;
}

.sidebar-btn span{
    font-size:1rem;
}

.sidebar-btn img{

    width:40px;

    height:40px;

    object-fit:contain;

    margin-right:20px;

    flex-shrink:0;

}

.sidebar-btn span{

    flex:1;

}

.sidebar-arrow{

    font-size:20px;

    color:#0B4EA2;

    transition:.25s;

}

.sidebar-btn:hover{

    background:#B32134;

    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:#B32134;

    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;

}

.signin-btn{

    display:inline-flex;

    align-items:center;

    gap:10px;

    margin-top:-25px;

    margin-bottom:45px;

    padding:14px 24px;

    background:#ffffff;          /* Yellow/Orange */

    color:#1D2939;

    border:2px solid #F4B400;

    font-weight:600;

    transition:.25s ease;

    cursor:pointer;

}

.signin-btn:hover,
.signin-btn:focus,
.signin-btn:active{

    background:#F4B400;

    color:#1D2939;

    border-color:#F4B400;

}

.signin-btn img{

    width:18px;

    height:18px;

    object-fit:contain;

    flex-shrink:0;

    /* NO filter here */
}

/* ==========================
   MOBILE
========================== */

@media(max-width:1000px){

.services-layout{

    display:flex;
    flex-direction:column;

}

.services-content{

    order:1;

}

.services-sidebar{

    order:2;

}

.services-sidebar{

    position:relative;

    top:0;

    width:100%;

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:12px;

}

.sidebar-btn{
    margin:0;
    min-height:82px;
    padding:18px 20px;
}

.services-content{

    padding:45px 30px;

}

}

@media(max-width:650px){

.services-sidebar{
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
    padding:0 14px 20px;
    margin-top:35px;
}

    .services-content{

        padding:30px 20px;

    }

    .services-content h1{

        font-size:2rem;

        line-height:1.2;

        margin-bottom:18px;

    }

    .services-content .intro{

        font-size:1rem;

        line-height:1.8;

        margin-bottom:35px;

    }

.services-content section{

    margin-bottom:35px;

}

.contact-box{

    margin-top:18px;

}

}

/* Clickable Logo */

.logo{

    text-decoration:none;

    color:inherit;

    cursor:pointer;

    transition:opacity .2s ease;

}

.logo:hover{

    opacity:.85;

}


/* ==========================
   CIVIL ID SERVICE OPTIONS
========================== */

.service-options{
    width:900px;
    max-width:100%;
    display:flex;
    flex-direction:column;
    gap:14px;
    padding:45px 0;
    margin:0;
}

.service-option{
    display:flex;
    align-items:center;
    gap:22px;
    width:100%;
    min-height:120px;
    padding:22px 24px;
    background:#ffffff;
    border:1.5px solid var(--primary);
    color:inherit;
    text-decoration:none;
    transition:.25s ease;
    cursor:pointer;
}

.service-option:hover{
    background:#0B4EA2;
    border-color:#0B4EA2;
    transform:translateY(-3px);
}

.service-option-icon{
    width:42px;
    height:42px;
    object-fit:contain;
    flex-shrink:0;
    transition:.25s ease;
}

.service-option:hover .service-option-icon{
    filter:brightness(0) invert(1);
    transform:scale(1.08);
}

.service-option-content{
    flex:1;
}

.service-option h3{
    margin:0 0 6px;
    color:#0B4EA2;
    font-size:1.15rem;
    transition:.25s ease;
}

.service-option p{
    margin:0;
    color:#667085;
    font-size:.95rem;
    line-height:1.5;
    transition:.25s ease;
}

.service-option:hover h3,
.service-option:hover p{
    color:#ffffff;
}

@media(max-width:1000px){
    .services-layout{
        width:100%;
        min-height:0;
    }

    .services-content{
        padding:30px 30px 60px;
    }

    .service-options{
        width:100%;
        max-width:900px;
        margin:0 auto;
    }
}

@media(max-width:650px){
    .services-content{
        padding:20px 16px 45px;
    }

    .service-options{
        padding:25px 0;
        gap:12px;
    }

    .service-option{
        min-height:96px;
        padding:18px;
        gap:16px;
    }

    .service-option-icon{
        width:34px;
        height:34px;
    }

    .service-option h3{
        font-size:1rem;
        margin-bottom:4px;
    }

    .service-option p{
        font-size:.88rem;
        line-height:1.5;
    }
}

/* ==========================
   BREADCRUMB
========================== */

.breadcrumb-wrapper{
    background:#FEE1E4;

    border-top:1.5px solid #B32134;
    border-bottom:1.5px solid #B32134;
}

.breadcrumb{

    width:min(1250px,92%);

    margin:0 auto;

    padding:18px 0;

    font-size:.95rem;

    color:#667085;

}

.breadcrumb a{

    color:#B32134;

    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{

    width:100%;
    min-height:270px;

    margin-top:14px;
    padding:30px 28px;

    background:var(--primary);
    border:1.5px solid var(--primary);

    color:#fff;

    display:flex;
    flex-direction:column;
    justify-content:flex-start;

    transition:.25s;

}

.contact-icon{

    width:42px;
    height:42px;

    object-fit:contain;

    margin-bottom:20px;

    filter: brightness(0) invert(1);
    transition: .25s;

}

.contact-box:hover{

    background:#ffffff;

    color:var(--primary);

}

.contact-box:hover .contact-icon{
    filter: none;
}

.contact-box h3{

    font-size:1.2rem;

    line-height:1.3;

    margin-bottom:14px;

}

.contact-box p{

    font-size:.95rem;

    line-height:1.8;

    margin-bottom:14px;

}

.contact-box span{

    display:inline-block;

    font-weight:700;

    margin-top:0px;

}

/* ==========================
   PAGE FEEDBACK
========================== */

.feedback-card{

    max-width:900px;

    margin-top:30px;

    padding:28px 32px;

    border:1.5px solid var(--primary);

    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;

}

/* ======================================
   GOVERNMENT MINISTRIES
====================================== */

.about{
    background:#ffffff;
    padding:90px 0;
}

.about h2{
    text-align:left;
    margin-bottom:45px;
}

.about h2::after{
    margin:18px 0 0;
}

.about .cards{
    margin-top:0;
}

.ministry-cards{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
}

.ministry-cards .card{
    height:auto;
    min-height:180px;

    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;

    text-align:center;

    padding:35px 25px;
}

.ministry-cards .service-icon{
    width:58px;
    height:58px;
    margin:0 0 22px;
}

.ministry-cards .card-content{
    text-align:center;
}

.ministry-cards .card h3{
    margin-bottom:12px;
}

.ministry-cards .card p{
    line-height:1.7;
}

/* ======================================
   MINISTRY CARDS
====================================== */

.ministry-cards .card{

    background:#FEE1E4;

    border:1.5px solid var(--primary);

}

.ministry-cards .card h3{

    color:var(--primary);

}

.ministry-cards .card p{

    color:#667085;

}

.ministry-cards .card:hover{

    background:#ffffff;

    border-color:var(--primary);

    transform:translateY(-4px);

}

.ministry-cards .card:hover h3{

    color:var(--primary);

}

.ministry-cards .card:hover p{

    color:#667085;

}

.ministry-cards .service-icon{

    filter:none;

    transition:.25s;

}

.ministry-cards .card:hover .service-icon{

    filter:none !important;

    transform:scale(1.08);

}

/* ======================================
   HEADER DROPDOWN
====================================== */

.dropdown{

    position:relative;

}

.dropdown-toggle{

    display:flex;

    align-items:center;

    gap:6px;

    background:none;

    border:none;

    outline:none;

    padding:0;

    margin:0;

    color:inherit;

    font:inherit;

    font-weight:600;

    cursor:pointer;

    transition:.25s;

}

.dropdown-toggle:hover{

    color:var(--primary);

}

.dropdown-menu{

    position:absolute;

    top:calc(100% + 18px);

    left:0;

    width:230px;

    background:#ffffff;

    border:1.5px solid var(--primary);

    box-shadow:0 14px 35px rgba(0,0,0,.08);

    opacity:0;

    visibility:hidden;

    transform:translateY(10px);

    transition:.25s;

    z-index:9999;

}

.dropdown-menu a{

    display:block;

    padding:15px 18px;

    color:#1D2939;

    font-weight:600;

    border-bottom:1px solid #E4E7EC;

    transition:.2s;

}

.dropdown-menu a:last-child{

    border-bottom:none;

}

.dropdown-menu a:hover{

    background:#EAF2FF;

    color:var(--primary);

}

.dropdown:hover .dropdown-menu{

    opacity:1;

    visibility:visible;

    transform:translateY(0);

}

/* ======================================
   MOBILE HEADER
====================================== */

.menu-toggle{

    display:none;

    width:48px;

    height:48px;

    background:none;

    border:none;

    cursor:pointer;

    z-index:10002;

}

.menu-toggle span{

    display:block;

    width:28px;

    height:3px;

    background:var(--primary);

    margin:6px auto;

    transition:.3s;

}

@media(max-width:1000px){

    .menu-toggle{

        display:block;

    }

    nav{

        position:fixed;

        top:0;

        right:-100%;

        width:320px;

        max-width:85vw;

        height:100vh;

        background:#ffffff;

        display:flex;

        flex-direction:column;

        align-items:flex-start;

        gap:0;

        padding:110px 30px 40px;

        box-shadow:-8px 0 35px rgba(0,0,0,.12);

        transition:.35s ease;

        overflow-y:auto;

        z-index:10001;

    }

    nav.active{

        right:0;

    }

    nav>a,
    .dropdown{

        width:100%;

    }

    nav>a,
    .dropdown-toggle{

        display:flex;

        justify-content:space-between;

        align-items:center;

        width:100%;

        padding:18px 0;

        border-bottom:1px solid #E4E7EC;

    }

}

/* ======================================
   MOBILE HOMEPAGE - PHASE 1 (HERO)
====================================== */

@media (max-width: 1000px){

    .nav{

        height:74px;

    }

    .logo img{

        width:50px;

    }

    .logo h2{

        font-size:1.15rem;

    }

    .logo span{

        font-size:.82rem;

    }

    .hero{

        min-height:auto;

        padding:90px 0 70px;

    }

    .hero-content{

        width:min(92%,700px);

    }

    .hero h4{

        font-size:.82rem;

        letter-spacing:2px;

    }

    .hero h1{

        font-size:3rem;

        line-height:1.15;

        margin-bottom:22px;

    }

    .hero p{

        font-size:1.05rem;

        max-width:100%;

        margin-bottom:34px;

    }

    .hero-search{

        max-width:100%;

        width:100%;

        height:56px;

        margin-top:28px;

    }

}

@media (max-width:768px){

    .hero{

        text-align:left;

        padding:75px 0 60px;

    }

    .hero-content{

        display:flex;

        flex-direction:column;

        align-items:flex-start;

    }

    .hero h1{

        font-size:2.35rem;

    }

    .hero p{

        font-size:1rem;

        max-width:100%;

    }

    .hero-search{

        width:100%;

    }

}

@media (max-width:480px){

    .hero{

        padding:60px 0 50px;

    }

    .hero h1{

        font-size:2rem;

        line-height:1.2;

    }

    .hero h4{

        font-size:.75rem;

    }

    .hero p{

        font-size:.95rem;

    }

    .hero-search{

        height:52px;

    }

    .search-placeholder{

        font-size:.92rem;

        padding:0 16px;

    }

    .search-btn{

        width:54px;

    }

}

/* ======================================
   MOBILE HOMEPAGE - PHASE 2 (SERVICES)
====================================== */

@media (max-width:900px){

    .services{

        padding:75px 0;

    }

    .services h2{

        font-size:2rem;

        text-align:left;

    }

    .services h2::after{

        margin:16px 0 0;

    }

    .cards{

        grid-template-columns:1fr;

        gap:18px;

        margin-top:40px;

    }

    .card{

        height:auto;

        min-height:96px;

        padding:20px;

        align-items:center;

    }

    .service-icon{

        width:38px;

        height:38px;

        margin-right:18px;

    }

    .card h3{

        font-size:1.05rem;

    }

    .card p{

        font-size:.92rem;

        line-height:1.5;

    }

}

@media (max-width:480px){

    .services{

        padding:60px 0;

    }

    .card{

        padding:18px;

        min-height:88px;

    }

    .service-icon{

        width:34px;

        height:34px;

        margin-right:15px;

    }

    .card h3{

        font-size:1rem;

    }

    .card p{

        font-size:.88rem;

    }

}

/* ======================================
   MOBILE HOMEPAGE - PHASE 3 (MINISTRIES)
====================================== */

@media (max-width:900px){

    .about{

        padding:75px 0;

    }

    .about h2{

        font-size:2rem;

        text-align:left;

        margin-bottom:35px;

    }

    .about h2::after{

        margin:16px 0 0;

    }

    .ministry-cards{

        grid-template-columns:repeat(2,1fr);

        gap:18px;

    }

    .ministry-cards .card{

        min-height:170px;

        padding:28px 18px;

    }

    .ministry-cards .service-icon{

        width:52px;

        height:52px;

        margin-bottom:18px;

    }

    .ministry-cards .card h3{

        font-size:1.08rem;

    }

    .ministry-cards .card p{

        font-size:.92rem;

        line-height:1.55;

    }

}

@media (max-width:600px){

    .ministry-cards{

        grid-template-columns:1fr;

    }

    .ministry-cards .card{

        min-height:150px;

        padding:24px;

    }

    .ministry-cards .service-icon{

        width:48px;

        height:48px;

    }

}

/* ======================================
   MOBILE HOMEPAGE - PHASE 4 (NEWS)
====================================== */

@media (max-width:900px){

    .news{

        padding:75px 0;

    }

    .news-layout{

        grid-template-columns:1fr;

        gap:35px;

    }

    .news-left h2{

        font-size:2rem;

        margin-bottom:30px;

    }

    .news-left h2::after{

        margin:16px 0 0;

    }

    .weather-card{

        margin-top:0;

        width:100%;

    }

}

@media (max-width:700px){

    .news{
        padding:60px 0;
    }

    .news-card{
        grid-template-columns:1fr;
    }

    .news-card img{
        height:170px;
        min-height:170px;
    }

    .news-content{
        padding:16px;
    }

    .news-card h3{
        font-size:1.05rem;
        margin:8px 0;
    }

    .news-card p{
        font-size:.9rem;
        line-height:1.55;
        -webkit-line-clamp:3;
    }

    .news-read{
        margin-top:12px;
        font-size:.9rem;
    }

    #latestNews .news-card:nth-child(n+2){
        display:none;
    }

}

@media (max-width:700px){

    .weather-card{
        padding:18px;
    }

    .weather-card h2{
        font-size:1.55rem;
    }

    .weather-icon{
        margin:14px 0 10px;
    }

    .weather-icon img{
        width:64px;
        height:64px;
    }

    .weather-temp{
        font-size:2.5rem;
    }

    .weather-condition{
        font-size:1rem;
    }

    .weather-location{
        margin:16px 0;
        font-size:.9rem;
    }

    .weather-details{
        gap:10px;
        margin-top:16px;
    }

    .weather-details div{
        padding:10px;
    }

    .weather-details span{
        font-size:.8rem;
    }

    .weather-details strong{
        font-size:1rem;
    }

    .weather-updated{
        margin-top:18px;
        font-size:.75rem;
    }

}

@media (max-width:430px){

    .weather-details{

        grid-template-columns:1fr;

    }

}

/* ======================================
   MOBILE HOMEPAGE - PHASE 5 (NEWSLETTER)
====================================== */

@media (max-width:900px){

    .footer-newsletter{

        padding:30px 0;

    }

    .newsletter-content{

        flex-direction:column;

        align-items:flex-start;

        gap:28px;

    }

    .newsletter-text{

        max-width:100%;

    }

    .newsletter-text h3{

        font-size:1.6rem;

    }

    .newsletter-form{

        width:100%;

        flex-direction:column;

        gap:14px;

    }

    .newsletter-form input{

        width:100%;

    }

    .newsletter-form button{

        width:100%;

    }

}

/* ======================================
   MOBILE HOMEPAGE - PHASE 5 (FOOTER)
====================================== */

@media (max-width:900px){

    .footer-container{

        grid-template-columns:1fr 1fr;

        gap:35px;

    }

    .footer-logos{

        grid-column:span 2;

    }

}

@media (max-width:600px){

    .footer-container{

        grid-template-columns:1fr;

        gap:28px;

        padding:40px 0;

    }

    .footer-logos{

        grid-column:auto;

    }

    .footer-logo-card{

        justify-content:flex-start;

    }

    .footer-bottom{

        flex-direction:column;

        gap:18px;

        text-align:center;

    }

    .footer-social{

        justify-content:center;

    }

}

@media (max-width:600px){

    .newsletter-title{

        flex-wrap:wrap;

        gap:10px;

    }

}

/* ======================================
   NEWS - MOBILE
====================================== */

@media (max-width:700px){

    #latestNews .news-card:nth-child(n+2){
        display:none;
    }

}

@media (max-width:650px){

    .feedback-card{

        flex-direction:column;

        align-items:flex-start;

        padding:24px 20px;

        gap:20px;

    }

    .feedback-content{

        width:100%;

    }

    .feedback-content h3{

        font-size:1.2rem;

    }

    .feedback-content p{

        font-size:.95rem;

        line-height:1.7;

    }

    .feedback-buttons{

        width:100%;

        margin-left:0;

        justify-content:flex-start;

    }

    .feedback-btn{

        width:56px;

        height:56px;

        font-size:1.4rem;

    }

    .feedback-check{

        margin-left:0;

        margin-top:10px;

        font-size:2.6rem;

    }

}

/* Civil Registration - e-Moeezland Sign In Button */

.passport-signin-btn{

    display:inline-flex;
    align-items:center;
    gap:10px;

    margin-top:12px;
    margin-bottom:45px;

    padding:14px 24px;

    background:#ffffff;
    color:#0B4EA2;

    border:2px solid #0B4EA2;

    font-weight:600;
    text-decoration:none;

    transition:.25s ease;
    cursor:pointer;

}

.passport-signin-btn:hover,
.passport-signin-btn:focus,
.passport-signin-btn:active{

    background:#0B4EA2;
    border-color:#0B4EA2;
    color:#ffffff;

}

.passport-signin-btn img{

    width:18px;
    height:18px;

    object-fit:contain;
    flex-shrink:0;

    transition:.25s ease;

}

.passport-signin-btn:hover img,
.passport-signin-btn:focus img,
.passport-signin-btn:active img{

    filter:brightness(0) invert(1);

}

/* Civil ID page: no sidebar/contact/sign-in/feedback */
.civil-id-page-clean .services-sidebar,
.civil-id-page-clean .passport-signin-btn,
.civil-id-page-clean .feedback-card{
    display:none;
}

/* Civil ID page — service cards alignment only */
.civil-id-page .service-options {
    margin-left: 0;
    margin-right: auto;
}

.civil-id-page .service-options {
    transform: translateX(-172px);
}

/* ==========================
   CIVIL ID CARDS - MOBILE FIX
   ========================== */

@media (max-width: 650px) {

    .civil-id-page .services-content {
        width: 100%;
        padding: 20px 16px 45px;
    }

    .civil-id-page .service-options {
        width: 100%;
        max-width: 100%;
        margin: 0;
        padding: 20px 0;
        gap: 12px;
        transform: none;
    }

    .civil-id-page .service-option {
        width: 100%;
        min-height: 96px;
        padding: 18px;
        gap: 16px;
        box-sizing: border-box;
    }

    .civil-id-page .service-option-icon {
        width: 34px;
        height: 34px;
        flex-shrink: 0;
    }

    .civil-id-page .service-option-content {
        min-width: 0;
    }

    .civil-id-page .service-option h3 {
        font-size: 1rem;
        line-height: 1.35;
    }

    .civil-id-page .service-option p {
        font-size: .88rem;
        line-height: 1.5;
    }
}

/* ==========================================
   EMIR'S COPYRIGHTS
========================================== */

.emirs-copyrights {
    width: 100%;
    max-width: 950px;
    margin: 0 auto;
    color: #1D2939;
}

.emirs-copyrights > header {
    position: static;
    top: auto;
    z-index: auto;
    backdrop-filter: none;
    background: transparent;
    border-bottom: none;

    padding: 0 0 40px;
}

.emirs-copyrights > header p:first-child {
    color: #B32134;
    font-size: 0.95rem;
    margin-bottom: 18px;
}

.emirs-copyrights > header h1 {
    color: #B32134;
    font-size: 3rem;
    line-height: 1.15;
    margin-bottom: 15px;
}

.emirs-copyrights > header h2 {
    text-align: left;
    color: #667085;
    font-size: 1.25rem;
    font-weight: 500;
    line-height: 1.5;
    margin-bottom: 12px;
}

.emirs-copyrights > header h2::after {
    display: none;
}

.emirs-copyrights > header p:last-child {
    color: #667085;
    font-size: 1rem;
}

.emirs-copyrights h3 {
    color: #B32134;
    font-size: 1.75rem;
    line-height: 1.3;
    margin: 55px 0 18px;
}

.emirs-copyrights h4 {
    color: #1D2939;
    font-size: 1.25rem;
    line-height: 1.4;
    margin: 35px 0 14px;
}

.emirs-copyrights p {
    color: #4B5563;
    font-size: 1.02rem;
    line-height: 1.9;
    margin-bottom: 18px;
    max-width: 900px;
}

.emirs-copyrights ul,
.emirs-copyrights ol {
    margin: 20px 0 25px 25px;
    padding-left: 20px;
    color: #4B5563;
}

.emirs-copyrights li {
    margin-bottom: 9px;
    line-height: 1.7;
}

.emirs-copyrights blockquote {
    margin: 28px 0;
    padding: 20px 25px;
    border-left: 4px solid #D4AF37;
    background: #F5F8FC;
}

.emirs-copyrights blockquote p {
    margin-bottom: 8px;
    color: #1D2939;
}

.emirs-copyrights blockquote p:last-child {
    margin-bottom: 0;
}

.emirs-copyrights hr {
    border: 0;
    border-top: 1px solid #E4E7EC;
    margin: 55px 0;
}

.emirs-copyrights .short-notice {
    margin-top: 50px;
    padding: 28px 30px;
    background: #FEE1E4;
    border: 1.5px solid #B32134;
}

.emirs-copyrights .short-notice h4 {
    color: #B32134;
    margin-top: 0;
}

.emirs-copyrights .short-notice p:last-child {
    margin-bottom: 0;
}

.emirs-copyrights > footer {
    margin-top: 45px;
    padding-top: 20px;
    border-top: 1px solid #E4E7EC;
}

.emirs-copyrights > footer p {
    color: #667085;
    font-weight: 600;
}

/* ==========================================
   EMIR'S COPYRIGHTS - MOBILE
========================================== */

@media (max-width: 650px) {

    .emirs-copyrights {
        max-width: 100%;
    }

    .emirs-copyrights > header {
        padding-bottom: 25px;
    }

    .emirs-copyrights > header h1 {
        font-size: 2.2rem;
    }

    .emirs-copyrights > header h2 {
        font-size: 1.05rem;
    }

    .emirs-copyrights h3 {
        font-size: 1.45rem;
        margin-top: 40px;
    }

    .emirs-copyrights h4 {
        font-size: 1.1rem;
    }

    .emirs-copyrights p {
        font-size: 0.98rem;
        line-height: 1.8;
    }

    .emirs-copyrights blockquote {
        padding: 16px 18px;
    }

    .emirs-copyrights .short-notice {
        padding: 22px 20px;
    }
}