﻿

      /* =========================================================
   1. THEME VARIABLES
   Switch data-theme on <html> to change entire palette.
   ========================================================= */
      :root,
      html[data-theme="teal"] {
        --primary: 32, 178, 170; /* rgb(32,178,170) */
        --primary-dark: 22, 130, 124;
        --primary-light: 92, 210, 203;
        --accent: 255, 153, 51; /* warm accent for CTAs/badges */
        --footer-tint: 214, 240, 238;
      }
      html[data-theme="dark"] {
        --primary: 38, 38, 38; /* rgb(38,38,38) */
        --primary-dark: 20, 20, 20;
        --primary-light: 92, 92, 92;
        --accent: 255, 153, 51;
        --footer-tint: 214, 214, 214;
      }
      html[data-theme="green"] {
        --primary: 33, 77, 81; /* rgb(33,77,81) */
        --primary-dark: 20, 50, 53;
        --primary-light: 78, 122, 126;
        --accent: 255, 179, 71;
        --footer-tint: 210, 226, 227;
      }
      html[data-theme="red"] {
        --primary: 255, 83, 83; /* rgb(255,83,83) */
        --primary-dark: 200, 50, 50;
        --primary-light: 255, 140, 140;
        --accent: 33, 77, 81;
        --footer-tint: 255, 220, 220;
      }

      :root {
        --ink: #1c2327;
        --ink-soft: #55636a;
        --surface: #ffffff;
        --surface-alt: #f6f9f9;
        --border-soft: rgba(0, 0, 0, 0.08);
        --radius-lg: 18px;
        --radius-md: 12px;
        --shadow-soft: 0 10px 30px rgba(0, 0, 0, 0.07);
        --shadow-hover: 0 18px 40px rgba(0, 0, 0, 0.14);
        --font-display: "Poppins", "Noto Sans", sans-serif;
        --font-body: "Noto Sans", "Poppins", sans-serif;
        --fs-scale: 1;
      }

      /* =========================================================
   2. BASE
   ========================================================= */
      * {
        box-sizing: border-box;
      }
      html {
        scroll-behavior: smooth;
      }
      body {
        font-family: var(--font-body);
        color: var(--ink);
        background: var(--surface-alt);
        font-size: calc(1rem * var(--fs-scale));
        transition: background 0.3s ease;
      }
      h1,
      h2,
      h3,
      h4,
      h5,
      .display-font {
        font-family: var(--font-display);
      }

      .text-primary-theme {
        color: rgb(var(--primary)) !important;
      }
      .bg-primary-theme {
        background-color: rgb(var(--primary)) !important;
      }


@media(max-width:532px) {
    .logo-titles{
        flex-direction:column;
        align-items:center;
        justify-content:end;
    }

    .logo-titles-left{
        flex-direction:column;
        justify-content:center;
        align-items:center;
    }

    .ofmas-title{
        text-align:center;
    }

    .brand-title{
        font-size:1.2rem !important;
    }

    .brand-subtitle{
        font-size:1.1rem !important;
    }

    #heroCarousel{
        display:none;
    }
}

@media(max-width:1200px)
{
    .scheme-card-footer{
        flex-direction:column;
        gap:1rem;
        justify-content:center;
        align-items:center;
    }

    .brand-title {
        font-size: 1.15rem !important;
    }

 
}


.rgb-badge {
    position: relative;
    display: inline-block;
    padding: 2px 10px;
    font-family: sans-serif;
    font-weight: 600;
    font-size: 14px;
    color: inherit;
    background: transparent;
    border-radius: 999px;
    z-index: 0;
}

    .rgb-badge::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: -1;
        border-radius: 999px;
        padding: 2px;
        background: linear-gradient( 90deg, #ff0000, #ff8c00, #ffed00, #00c853, #00b0ff, #6200ea, #ff0000 );
        background-size: 300% 300%;
        animation: rgb-flow 3s linear infinite;
        -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
        -webkit-mask-composite: xor;
        mask-composite: exclude;
    }

@keyframes rgb-flow {
    0% {
        background-position: 0% 50%;
    }

    100% {
        background-position: 300% 50%;
    }
}

.logo-titles {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
}

.logo-titles-left {
    display:flex;
    align-items:center;
    gap:1rem;
}


.login-modal {
    background-color: lightseagreen;
    width: 80%;
    height: auto;
    padding:24px 0;
    position: absolute;
    top: 40%;
    left: 50%;
    transform: translate(-50%,-50%);
    z-index: 1022;
    border-radius: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    opacity:0;
}

.btn-login:active + .login-modal {
    transition:all 0.2s ease-in;
    top: 50%;
    opacity: 1;

}

.header-content{
    display:flex;
    align-items:center;
    justify-content:space-between;
    /*flex-wrap:wrap;*/
    gap:10px
}
/*d-flex align-items-center justify-content-between flex-wrap gap-3{}*/




.notify-li {
    font-size: 0.9rem;
    font-weight: 600;
}


.btn-theme {
    background: rgb(var(--primary));
    border: 2px solid rgb(var(--primary));
    color: #fff;
    font-weight: 600;
    padding: 0.65rem 1.6rem;
    /*border-radius: 50px;*/
    position: relative;
    overflow: hidden;
    transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
}
      .btn-theme:hover {
        background: rgb(var(--primary-dark));
        border-color: rgb(var(--primary-dark));
        color: #fff;
        transform: translateY(-2px);
        box-shadow: 0 10px 24px rgba(var(--primary), 0.35);
      }
      .btn-outline-theme {
        background: transparent;
        border: 2px solid rgb(var(--primary));
        color: rgb(var(--primary));
        font-weight: 600;
        padding: 0.6rem 1.5rem;
        border-radius: 50px;
        transition: all 0.25s ease;
      }
      .btn-outline-theme:hover {
        background: rgb(var(--primary));
        color: #fff;
        transform: translateY(-2px);
      }

      /* ripple */
      .btn-theme,
      .btn-outline-theme {
      }
      .ripple {
        position: relative;
        overflow: hidden;
      }
      .ripple-circle {
        position: absolute;
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.55);
        transform: scale(0);
        animation: ripple-anim 0.6s linear;
        pointer-events: none;
      }
      @keyframes ripple-anim {
        to {
          transform: scale(3);
          opacity: 0;
        }
      }

      /* fade-in on scroll */
      .reveal {
        opacity: 0;
        transform: translateY(28px);
        transition:
          opacity 0.7s ease,
          transform 0.7s ease;
      }
      .reveal.in-view {
        opacity: 1;
        transform: translateY(0);
      }

      /* =========================================================
   3. HEADER (top bar)
   ========================================================= */
      .top-header {
        background: var(--surface);
        border-bottom: 1px solid var(--border-soft);
        padding: 0.85rem 0;
      }
.brand-logo {
    /*height: 62px;*/
    height: 100px;
    width: auto;
}
.brand-title {
    width: 100%;
    /*font-size: 1.15rem;*/
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--ink);
    line-height: 1.25;
    margin: 0;
}
.brand-subtitle {
    /*font-size: 0.82rem;*/
    font-size: 1rem;
    color: var(--ink-soft);
    font-weight: 500;
    margin: 0;
}
      @media (max-width: 767.98px) {
        .brand-title {
          font-size: 0.95rem;
        }
        .brand-subtitle {
          font-size: 0.72rem;
        }
        .brand-logo {
            /*height: 46px;*/
            height: 120px;
        }


        .header-content{
            
        }
      }

      .header-actions .btn {
        white-space: nowrap;
      }

      .accessibility-btn {
        border: 2px solid rgb(var(--primary));
        color: rgb(var(--primary));
        background: rgba(var(--primary), 0.06);
        border-radius: 50px;
        width: 44px;
        height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        transition: all 0.25s ease;
      }
      .accessibility-btn:hover {
        background: rgb(var(--primary));
        color: #fff;
      }

      .accessibility-panel {
        min-width: 260px;
        border-radius: var(--radius-md);
        border: 1px solid var(--border-soft);
        box-shadow: var(--shadow-hover);
        padding: 1rem;
      }
      .accessibility-panel h6 {
        font-size: 0.75rem;
        text-transform: uppercase;
        letter-spacing: 0.06em;
        color: var(--ink-soft);
        font-weight: 700;
        margin-bottom: 0.6rem;
      }
      .theme-swatch {
        width: 32px;
        height: 32px;
        border-radius: 50%;
        border: 3px solid #fff;
        outline: 2px solid var(--border-soft);
        cursor: pointer;
        transition:
          transform 0.2s ease,
          outline-color 0.2s ease;
      }
      .theme-swatch:hover {
        transform: scale(1.12);
      }
      .theme-swatch.active {
        outline: 3px solid rgb(var(--primary));
      }
      .swatch-teal {
        background: rgb(32, 178, 170);
      }
      .swatch-dark {
        background: rgb(38, 38, 38);
      }
      .swatch-green {
        background: rgb(33, 77, 81);
      }
      .swatch-red {
        background: rgb(255, 83, 83);
      }

      .font-size-controls .btn {
        width: 38px;
        height: 38px;
        padding: 0;
        border-radius: 8px;
        border: 1px solid var(--border-soft);
        font-weight: 700;
      }
      .font-size-controls .btn:hover {
        background: rgb(var(--primary));
        color: #fff;
        border-color: rgb(var(--primary));
      }

/* =========================================================
   4. NAVIGATION
   ========================================================= */
/* ===========================
   NAVBAR BASE
=========================== */
.navbar-ofmas {
    background: rgb(var(--primary));
    transition: background .3s ease;
}

    .navbar-ofmas .nav-link {
        color: rgba(255, 255, 255, 0.92) !important;
        font-weight: 600;
        font-size: .93rem;
        padding: .9rem 1rem !important;
        position: relative;
    }

        .navbar-ofmas .nav-link::after {
            content: "";
            position: absolute;
            left: 1rem;
            right: 1rem;
            bottom: .55rem;
            height: 2px;
            background: #fff;
            transform: scaleX(0);
            transform-origin: left;
            transition: transform .25s ease;
        }

        .navbar-ofmas .nav-link:hover::after,
        .navbar-ofmas .nav-link.active::after {
            transform: scaleX(1);
        }

        .navbar-ofmas .nav-link:hover {
            color: #fff !important;
        }

.navbar-toggler {
    border: none;
    color: #fff;
}

    .navbar-toggler:focus {
        box-shadow: none;
    }

/* ===========================
   DROPDOWN MENU - BASE (shared, click-controlled)
=========================== */
.navbar-ofmas .dropdown-menu {
    border: none;
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-hover);
    padding: .5rem;
    font-size: .9rem;
    display: none;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity .22s ease, transform .22s ease;
}

    .navbar-ofmas .dropdown-menu.show {
        display: block;
        opacity: 1;
        transform: translateY(0);
    }

.navbar-ofmas .dropdown-item {
    border-radius: 8px;
    padding: .55rem .9rem;
    font-weight: 500;
    font-size: .9rem;
    transition: background .2s ease, padding-left .2s ease;
}

    .navbar-ofmas .dropdown-item:hover {
        background: rgba(var(--primary), 0.1);
        color: rgb(var(--primary-dark));
        padding-left: 1.1rem;
    }

/* ===========================
   DESKTOP (>= 992px)
=========================== */
@media (min-width: 992px) {

    .navbar-ofmas .dropdown-menu {
        position: absolute;
        top: 100%;
        left: 0;
    }

    .navbar-ofmas .dropdown-submenu {
        position: relative;
    }

        .navbar-ofmas .dropdown-submenu > .dropdown-menu {
            top: -.5rem;
            left: 100%;
            margin: 0;
        }
}

/* ===========================
   MOBILE / TABLET (< 992px)
=========================== */
@media (max-width: 991.98px) {

    .navbar-ofmas .dropdown-menu.show {
        position: static;
        box-shadow: none;
        background: rgba(255, 255, 255, 0.06);
        margin-top: .25rem;
        margin-bottom: .25rem;
    }

    .navbar-ofmas .dropdown-item {
        color: #fff;
    }

        .navbar-ofmas .dropdown-item:hover {
            background: rgba(255, 255, 255, 0.12);
            color: #fff;
        }

    .navbar-ofmas .dropdown-submenu > .dropdown-menu.show {
        margin-left: 1rem;
        border-left: 2px solid rgba(255, 255, 255, 0.2);
        padding-left: .5rem;
    }

    #lblheader{
        font-size:0.6rem;
    }

    .site-footer {
        flex-direction: column;
        padding: 10px;
    }
}
      /* =========================================================
   5. HERO
   ========================================================= */
      .hero-section {
        padding: 4.5rem 0;
        background: linear-gradient(
          135deg,
          rgba(var(--primary), 0.07),
          rgba(var(--primary), 0.015) 60%
        );
        overflow: hidden;
      }
      .hero-eyebrow {
        display: inline-flex;
        align-items: center;
        gap: 0.5rem;
        background: rgba(var(--primary), 0.1);
        color: rgb(var(--primary-dark));
        font-weight: 700;
        font-size: 0.78rem;
        letter-spacing: 0.05em;
        text-transform: uppercase;
        padding: 0.4rem 0.9rem;
        border-radius: 50px;
        margin-bottom: 1.2rem;
      }
      .hero-heading {
        font-size: clamp(2rem, 3.6vw, 3rem);
        font-weight: 800;
        line-height: 1.15;
        margin-bottom: 1.1rem;
        color: var(--ink);
      }
      .hero-heading span {
        color: rgb(var(--primary));
      }
      .hero-desc {
        color: var(--ink-soft);
        font-size: 1.05rem;
        margin-bottom: 1.5rem;
      }
      .hero-benefits {
        list-style: none;
        padding: 0;
        margin: 0 0 1.6rem;
      }
      .hero-benefits li {
        display: flex;
        align-items: flex-start;
        gap: 0.65rem;
        margin-bottom: 0.65rem;
        font-weight: 500;
        color: var(--ink);
      }
      .hero-benefits li i {
        color: rgb(var(--primary));
        margin-top: 0.2rem;
      }
      .subsidy-chip {
        display: inline-flex;
        align-items: center;
        gap: 0.5rem;
        background: rgb(var(--primary));
        color: #fff;
        font-weight: 700;
        font-size: 0.88rem;
        padding: 0.55rem 1.1rem;
        border-radius: 50px;
        margin-bottom: 1.8rem;
      }

      .hero-carousel {
        border-radius: var(--radius-lg);
        overflow: hidden;
        box-shadow: var(--shadow-hover);
      }
      .hero-carousel .carousel-item img {
        height: 420px;
        width: 100%;
        object-fit: contain;
      }
      @media (max-width: 767.98px) {
        .hero-carousel .carousel-item img {
          height: 260px;
        }
      }
      .hero-carousel .carousel-caption {
        background: linear-gradient(0deg, rgba(0, 0, 0, 0.65), transparent);
        border-radius: 0 0 var(--radius-lg) var(--radius-lg);
        text-align: left;
        left: 0;
        right: 0;
        bottom: 0;
        padding: 1.2rem 1.5rem;
      }
      .hero-carousel .carousel-indicators [data-bs-target] {
        width: 9px;
        height: 9px;
        border-radius: 50%;
        margin: 0 4px;
      }
      .hero-carousel .carousel-control-prev,
      .hero-carousel .carousel-control-next {
        width: 8%;
      }
      .hero-carousel .carousel-control-prev-icon,
      .hero-carousel .carousel-control-next-icon {
        background-color: rgba(var(--primary), 0.85);
        border-radius: 50%;
        padding: 18px;
        background-size: 50%;
      }

      /* =========================================================
   6. SECTION HEADINGS
   ========================================================= */
      .section-pad {
        padding: 4.5rem 0;
      }
      .section-tag {
        color: rgb(var(--primary));
        font-weight: 700;
        font-size: 1.5rem;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        margin-bottom: 0.5rem;
      }
      .section-title {
        font-weight: 800;
        font-size: clamp(1.6rem, 2.6vw, 2.2rem);
        margin-bottom: 0.6rem;
      }
      .section-sub {
        color: var(--ink-soft);
        max-width: 640px;
      }

      /* =========================================================
   7. SCHEME CARDS
   ========================================================= */
      .scheme-card {
        background: var(--surface);
        border-radius: var(--radius-lg);
        padding: 2rem 1.6rem;
        box-shadow: var(--shadow-soft);
        border: 1px solid var(--border-soft);
        height: 100%;
        transition:
          transform 0.3s ease,
          box-shadow 0.3s ease,
          border-color 0.3s ease;
        position: relative;
        overflow: hidden;
      }
      .scheme-card::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 4px;
        background: rgb(var(--primary));
        transform: scaleX(0);
        transform-origin: left;
        transition: transform 0.35s ease;
      }
      .scheme-card:hover::before {
        transform: scaleX(1);
      }
      .scheme-card:hover {
        transform: translateY(-8px);
        box-shadow: var(--shadow-hover);
        border-color: rgba(var(--primary), 0.35);
      }
      .scheme-icon {
        width: 58px;
        height: 58px;
        border-radius: 16px;
        background: rgba(var(--primary), 0.1);
        color: rgb(var(--primary));
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.5rem;
        margin-bottom: 1.2rem;
        transition: transform 0.3s ease;
      }
      .scheme-card:hover .scheme-icon {
        transform: rotate(-6deg) scale(1.08);
      }
      .scheme-card h5 {
        font-weight: 700;
        margin-bottom: 0.5rem;
      }
      .scheme-card p {
        color: var(--ink-soft);
        font-size: 0.9rem;
        margin-bottom: 1rem;
      }
      .scheme-subsidy {
        font-weight: 700;
        color: rgb(var(--primary-dark));
        font-size: 0.95rem;
        margin-bottom: 0.8rem;
      }
      .status-badge {
        font-size: 0.9rem;
        font-weight: 700;
        padding: 0.3rem 0.7rem;
        border-radius: 50px;
        text-transform: uppercase;
        letter-spacing: 0.03em;
      }
      .status-open {
        background: #e2f6ea;
        color: #1a8a4a;
      }
      .status-closed {
        background: #fde8e8;
        color: #c53030;
      }
      .scheme-card-footer {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-top: 1.2rem;
        padding-top: 1rem;
        border-top: 1px dashed var(--border-soft);
      }

.scheme-card-footer-alt {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 1.2rem;
    padding-top: 1rem;
    border-top: 1px dashed var(--border-soft);
}

      /* =========================================================
   8. NOTIFICATIONS & INSTRUCTIONS
   ========================================================= */
      .info-card {
        background: var(--surface);
        border-radius: var(--radius-lg);
        box-shadow: var(--shadow-soft);
        border: 1px solid var(--border-soft);
        height: 100%;
        overflow: hidden;
      }
      .info-card-header {
        display: flex;
        align-items: center;
        gap: 0.8rem;
        padding: 1.3rem 1.5rem;
        background: rgba(var(--primary), 0.06);
        border-bottom: 1px solid var(--border-soft);
      }
      .info-card-header .icon-box {
        width: 42px;
        height: 42px;
        border-radius: 12px;
        background: rgb(var(--primary));
        color: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
      }
      .info-card-header h5 {
        margin: 0;
        font-weight: 700;
        font-size: 1.05rem;
      }
      .notif-list {
        list-style: none;
        margin: 0;
        padding: 0;
        max-height: 320px;
        overflow-y: auto;
      }
      .notif-list li {
        display: flex;
        justify-content: space-between;
        gap: 1rem;
        padding: 1rem 1.5rem;
        border-bottom: 1px solid var(--border-soft);
        transition: background 0.2s ease;
      }
      .notif-list li:hover {
        background: var(--surface-alt);
      }
      .notif-list li:last-child {
        border-bottom: none;
      }
      .notif-text {
        font-size: 0.9rem;
        font-weight: 600;
        color: var(--ink);
      }
      .notif-date {
        font-size: 0.76rem;
        color: var(--ink-soft);
        white-space: nowrap;
      }
      .badge-new {
        background: rgba(var(--accent), 0.15);
        color: rgb(var(--accent));
        font-size: 0.65rem;
        font-weight: 800;
        padding: 0.2rem 0.5rem;
        border-radius: 5px;
        margin-left: 0.5rem;
        vertical-align: middle;
      }
      .instr-list {
        list-style: none;
        margin: 0;
        padding: 1.3rem 1.5rem;
      }
      .instr-list li {
        display: flex;
        align-items: flex-start;
        gap: 0.7rem;
        padding: 0.6rem 0;
        font-size: 0.9rem;
        color: var(--ink);
      }
      .instr-list li i {
        color: rgb(var(--primary));
        margin-top: 0.25rem;
      }
      .instr-list a {
        color: rgb(var(--primary-dark));
        font-weight: 600;
        text-decoration: none;
      }
      .instr-list a:hover {
        text-decoration: underline;
      }

      /* =========================================================
   9. STATISTICS
   ========================================================= */
      .stats-section {
        background: rgb(var(--primary));
        position: relative;
        overflow: hidden;
      }
      .stats-section::before {
        content: "";
        position: absolute;
        inset: 0;
        background:
          radial-gradient(
            circle at 20% 20%,
            rgba(255, 255, 255, 0.08),
            transparent 45%
          ),
          radial-gradient(
            circle at 80% 80%,
            rgba(255, 255, 255, 0.06),
            transparent 45%
          );
      }
      .stat-card {
        background: rgba(255, 255, 255, 0.08);
        border: 1px solid rgba(255, 255, 255, 0.18);
        backdrop-filter: blur(6px);
        border-radius: var(--radius-lg);
        padding: 2.2rem 1.5rem;
        text-align: center;
        color: #fff;
        transition:
          transform 0.3s ease,
          background 0.3s ease;
        position: relative;
        z-index: 1;
      }
      .stat-card:hover {
        transform: translateY(-6px);
        background: rgba(255, 255, 255, 0.14);
      }
      .stat-icon {
        font-size: 1.8rem;
        margin-bottom: 0.8rem;
        opacity: 0.9;
      }
      .stat-number {
        font-size: 2.6rem;
        font-weight: 800;
        line-height: 1;
      }
      .stat-label {
        font-size: 0.9rem;
        opacity: 0.85;
        margin-top: 0.5rem;
        font-weight: 500;
      }

      /* =========================================================
   10. FOOTER
   ========================================================= */
      .site-footer {
          display:flex;
          justify-content:space-around;
          align-items:center;
        background: rgb(var(--footer-tint));
        color: var(--ink);
        padding-top: 1.5rem;
      }
      html[data-theme="dark"] .site-footer {
        color: #1c2327;
      }
      .footer-heading {
        font-weight: 700;
        font-size: 1rem;
        margin-bottom: 1.1rem;
      }
      .footer-links {
        list-style: none;
        padding: 0;
        margin: 0;
      }
      .footer-links li {
        margin-bottom: 0.6rem;
      }
      .footer-links a {
        color: var(--ink-soft);
        text-decoration: none;
        font-size: 0.9rem;
        transition:
          color 0.2s ease,
          padding-left 0.2s ease;
      }
      .footer-links a:hover {
        color: rgb(var(--primary-dark));
        padding-left: 4px;
      }
      .footer-contact li {
        display: flex;
        gap: 0.6rem;
        margin-bottom: 0.8rem;
        font-size: 0.9rem;
        color: var(--ink-soft);
      }
      .footer-contact i {
        color: rgb(var(--primary-dark));
        margin-top: 0.2rem;
      }
      .footer-social a {
        width: 38px;
        height: 38px;
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.6);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: rgb(var(--primary-dark));
        margin-right: 0.5rem;
        transition: all 0.25s ease;
      }
      .footer-social a:hover {
        background: rgb(var(--primary));
        color: #fff;
        transform: translateY(-3px);
      }
      .footer-bottom {
        /*border-top: 1px solid rgba(0, 0, 0, 0.08);*/
        /*margin-top: 2.5rem;*/
        padding: 1.2rem 0;
        font-size: 0.82rem;
        color: var(--ink-soft);
      }
      .footer-logo-row img {
        height: 44px;
        margin-right: 0.8rem;
      }
      .footer-disclaimer {
        font-size: 0.8rem;
        color: var(--ink-soft);
        max-width: 520px;
      }

      /* Skip link for accessibility */
      .skip-link {
        position: absolute;
        left: -999px;
        top: 0;
        background: rgb(var(--primary));
        color: #fff;
        padding: 0.6rem 1rem;
        z-index: 2000;
        border-radius: 0 0 8px 0;
      }
      .skip-link:focus {
        left: 0;
      }

      a:focus-visible,
      button:focus-visible,
      .nav-link:focus-visible {
        outline: 3px solid rgba(var(--accent), 0.9);
        outline-offset: 2px;
      }







#main-content-wrapper {
    min-height: calc(100vh - var(--header-h) - var(--brand-h) - var(--nav-h) - 60px);
    padding: 0;
}

.content-container {
    padding: 24px 20px;
    /*max-width: 1400px;*/
    max-width: 100%;
    margin: 0 auto;
}

/* Page title bar */
.page-title-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
    padding-bottom: 14px;
    border-bottom: 2px solid var(--primary-light);
}

    .page-title-bar h2 {
        font-family: 'Noto Serif', Georgia, serif;
        font-size: 22px;
        font-weight: 700;
        color: var(--primary-dark);
        margin: 0;
    }

/* Card styles for content */
.ofmas-card {
    background: var(--white);
    border-radius: var(--radius);
    box-shadow: var(--shadow-sm);
    border: 1px solid var(--border);
    transition: box-shadow var(--transition);
}

    .ofmas-card:hover {
        box-shadow: var(--shadow-md);
    }

.ofmas-card-header {
    background: linear-gradient(90deg, var(--primary-light), var(--white));
    border-bottom: 1px solid var(--primary-mid);
    border-radius: var(--radius) var(--radius) 0 0;
    padding: 12px 18px;
    display: flex;
    align-items: center;
    gap: 10px;
}

    .ofmas-card-header .card-icon {
        width: 32px;
        height: 32px;
        background: var(--primary);
        border-radius: var(--radius);
        display: flex;
        align-items: center;
        justify-content: center;
        color: var(--white);
        font-size: 14px;
    }

    .ofmas-card-header h4 {
        margin: 0;
        font-size: 14px;
        font-weight: 600;
        color: var(--primary-dark);
    }

.ofmas-card-body {
    padding: 18px;
}


:root {
    --primary: #007ACC;
    --primary-dark: #005A99;
    --primary-darker: #003D6B;
    --primary-light: #E8F4FD;
    --primary-mid: #C2E0F7;
    /*--primary: #20B2AA;*/ /* LightSeaGreen */
    /*--primary-dark: #1A938C;*/ /* Slightly deeper for hover states */
    /*--primary-darker: #0E6B66;*/ /* Deep teal for text/headers */
    /*--primary-light: #F0FBFB;*/ /* Very light wash for backgrounds */
    /*--primary-mid: #B2E5E2;*/ /* Soft tint for borders */
    --accent: #F5A623;
    --success: #27AE60;
    --text-dark: #1A2332;
    --text-mid: #4A5568;
    --text-light: #718096;
    --border: #DEE2E6;
    --bg-light: #F7F9FC;
    --white: #FFFFFF;
    --header-h: 48px;
    --brand-h: 90px;
    --nav-h: 50px;
    --shadow-sm: 0 1px 4px rgba(0,122,204,0.10);
    --shadow-md: 0 4px 16px rgba(0,122,204,0.14);
    --shadow-lg: 0 8px 32px rgba(0,122,204,0.18);
    --radius: 6px;
    --transition: 0.22s cubic-bezier(.4,0,.2,1);
}

*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
}
