﻿:root {
    --blue: #1e1e4b;
    --green: #a0b920;
    --footer: #182b45;
    --muted: #5c5c77;
    --line: #e6eaf0;
}

* { box-sizing: border-box; }
body { margin: 0; color: #24243d; font-family: Arial, sans-serif; background: #fff; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }
.container { width: 100%; max-width: 1170px; margin: 0 auto; padding-left: 15px; padding-right: 15px; }

.site-header { position: sticky; top: 0; z-index: 1000; background: #fff; box-shadow: 0 6px 18px rgba(24,43,69,.08); }
.top-header { background: #fff; border-bottom: 1px solid var(--line); }
.contact-strip { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 26px; margin: 0; padding: 7px 0; list-style: none; color: var(--blue); font-size: 13px; font-weight: 600; }

.main-navigation { background: linear-gradient(90deg, #fff 0 49%, var(--green) 49% 100%); }
.nav-shell { min-height: 74px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand img { width: 337px; max-width: 62vw; }
.menu-toggle { display: none; }
.site-menu ul { display: flex; align-items: center; gap: 4px; margin: 0; padding: 0; list-style: none; }
.site-menu a, .site-menu button { display: inline-flex; align-items: center; min-height: 46px; padding: 0 13px; border: 0; background: transparent; color: #000; font-size: 14px; font-weight: 700; text-transform: uppercase; cursor: pointer; }
.site-menu a:hover, .site-menu button:hover, .site-menu a.active, .site-menu button.active { color: #fff; }
.has-dropdown { position: relative; }
.dropdown-panel { position: absolute; top: 100%; left: 0; z-index: 1002; min-width: 220px; padding: 8px; border: 1px solid var(--line); background: #fff; box-shadow: 0 14px 30px rgba(24,43,69,.16); opacity: 0; visibility: hidden; transform: translateY(8px); pointer-events: none; }
.has-dropdown:hover .dropdown-panel, .has-dropdown:focus-within .dropdown-panel, .has-dropdown.open .dropdown-panel { opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto; }
.dropdown-panel a { display: flex; min-height: 38px; padding: 10px 12px; color: var(--blue); text-transform: none; }

.hero-slider { height: 500px; overflow: hidden; background: #182b45; }
.slider-carousel { position: relative; height: 500px; }
.hero-slide { position: relative; height: 500px; display: none; align-items: center; background-position: center; background-size: cover; background-repeat: no-repeat; }
.hero-slide::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(30,30,75,.72), rgba(30,30,75,.18)); }
.hero-slide .container { position: relative; z-index: 1; }
.hero-slide.is-active { display: flex; }
.hero-copy { width: 100%; max-width: 570px; padding: 110px 0 70px; color: #fff; }
.hero-copy h1 { margin: 0 0 18px; color: #fff; font-size: 48px; font-weight: 700; line-height: 1.05; text-transform: uppercase; }
.hero-copy p { margin: 0; color: #fff; font-size: 15px; line-height: 1.85; text-align: justify; }

.content-section, .about-section { padding: 42px 0; }
.section-heading { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 22px; margin-bottom: 28px; }
.section-heading h2, .about-grid h2 { margin: 0; color: var(--blue); font-size: 20px; font-weight: 700; text-transform: uppercase; }
.section-heading span { height: 1px; background: var(--line); }

.card-carousel { width: 100%; display: flex; gap: 22px; overflow: hidden; scroll-behavior: smooth; }
.card-carousel > .info-card { flex: 0 0 calc((100% - 66px) / 4); min-width: 0; }
.info-card { position: relative; overflow: hidden; border: 1px solid var(--line); border-radius: 4px; background: #fff; box-shadow: 0 10px 24px rgba(24,43,69,.08); }
.card-image { height: 180px; display: block; overflow: hidden; background: #eef2f7; }
.card-image img { width: 100%; height: 100%; object-fit: cover; }
.info-card time { position: absolute; top: 0; left: 0; width: 80px; min-height: 58px; display: flex; align-items: center; justify-content: center; padding: 8px; background: var(--green); color: #fff; font-size: 12px; font-weight: 700; text-align: center; text-transform: uppercase; }
.card-body { min-height: 96px; padding: 15px; }
.card-body h3 { margin: 0; color: var(--blue); font-size: 13px; font-weight: 700; line-height: 1.45; }
.card-actions { display: flex; justify-content: space-between; gap: 10px; margin-top: 12px; color: var(--muted); font-size: 12px; }
.card-actions a { padding: 6px 10px; border: 1px solid var(--green); color: var(--blue); font-weight: 700; }

.about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 34px; align-items: center; }
.about-grid p { color: var(--muted); font-size: 14px; line-height: 1.9; text-align: justify; }
.about-grid img { width: 100%; }
.outline-btn { display: inline-flex; align-items: center; min-height: 42px; padding: 0 16px; border: 1px solid var(--green); color: var(--green); font-weight: 700; }

.site-footer { background: var(--footer); color: #fff; }
.footer-grid { display: grid; grid-template-columns: 1.25fr 1fr 1fr 1.35fr; gap: 34px; padding-top: 46px; padding-bottom: 34px; }
.footer-logo { display: inline-block; margin-bottom: 18px; }
.footer-logo img { width: 210px; max-width: 100%; background: #fff; border-radius: 4px; padding: 5px; }
.site-footer h2 { margin: 0 0 16px; color: #fff; font-size: 18px; text-align: center; }
.site-footer p, .site-footer address, .site-footer a { color: #fff; font-size: 12px; line-height: 1.8; }
.site-footer p, .site-footer address { margin: 0; font-style: normal; text-align: justify; }
.site-footer ul { margin: 0; padding: 0; list-style: none; text-align: center; }
.site-footer li + li { margin-top: 11px; }
.social-list { display: inline-block; text-align: left !important; }
.social-list a { display: inline-flex; align-items: center; gap: 8px; }
.social-icon { width: 18px; min-width: 18px; height: 18px; display: inline-flex; align-items: center; justify-content: center; color: var(--green); font-weight: 700; line-height: 1; }
.social-icon svg { width: 18px; height: 18px; display: block; fill: currentColor; }
.copyright { border-top: 1px solid rgba(255,255,255,.12); padding: 14px 0; color: #fff; font-size: 14px; }

@media (max-width: 991px) {
    .main-navigation { background: #fff; }
    .menu-toggle { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border: 1px solid var(--line); background: #fff; color: var(--blue); }
    .site-menu { position: absolute; top: 100%; left: 0; right: 0; z-index: 1001; display: none; background: #fff; box-shadow: 0 14px 26px rgba(24,43,69,.12); }
    .site-menu.open { display: block; }
    .site-menu ul { display: block; padding: 8px 15px 15px; }
    .site-menu a, .site-menu button { width: 100%; justify-content: space-between; color: var(--blue); }
    .site-menu a:hover, .site-menu button:hover, .site-menu a.active, .site-menu button.active { color: var(--green); }
    .dropdown-panel { position: static; display: none; margin-left: 14px; box-shadow: none; opacity: 1; visibility: visible; transform: none; pointer-events: auto; }
    .has-dropdown.open .dropdown-panel { display: block; }
    .card-carousel > .info-card { flex-basis: calc((100% - 22px) / 2); }
    .footer-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 767px) {
    .hero-slider, .slider-carousel, .hero-slide { height: 430px; }
    .hero-slider { background-size: cover; }
    .hero-copy { padding: 92px 0 54px; }
    .hero-copy h1 { font-size: 32px; }
    .hero-copy p { font-size: 14px; text-align: left; }
    .card-carousel > .info-card { flex-basis: 100%; }
    .about-grid, .footer-grid { grid-template-columns: 1fr; }
    .about-grid img { order: -1; }
}




/* Final homepage corrections: original footer + package section */
.package-carousel {
    width: 100%;
    display: flex;
    gap: 22px;
    overflow: hidden;
    scroll-behavior: smooth;
}

.package-carousel > .package-card {
    flex: 0 0 calc((100% - 66px) / 4);
    min-width: 0;
}

.package-card {
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 4px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(24,43,69,.08);
}

.package-card a {
    display: block;
}

.package-card img {
    width: 100%;
    height: 243px;
    object-fit: cover;
}

.package-card h3 {
    margin: 0;
    padding: 15px;
    color: var(--blue);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.45;
}


@media (max-width: 991px) {
    .package-carousel > .package-card {
        flex-basis: calc((100% - 22px) / 2);
    }

    .footer-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 767px) {
    .package-carousel > .package-card {
        flex-basis: 100%;
    }

    .footer-grid {
        grid-template-columns: 1fr;
    }
}









/* Inner pages */
.inner-banner {
    min-height: 280px;
    display: flex;
    align-items: center;
    background-color: #0db2f0;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.inner-banner h1 {
    margin: 0;
    color: #000;
    font-size: 32px;
    font-weight: 700;
    line-height: 1.25;
}

.breadcrumb-band {
    border-bottom: 1px solid var(--line);
    background: #fff;
}

.breadcrumb-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 14px 0;
    list-style: none;
    color: var(--muted);
    font-size: 13px;
}

.breadcrumb-list li + li::before {
    content: "/";
    margin-right: 8px;
    color: #9aa3b3;
}

.breadcrumb-list a {
    color: var(--blue);
    font-weight: 700;
}

.page-content h2 {
    margin: 0 0 18px;
    color: var(--blue);
    font-size: 24px;
    font-weight: 700;
}

.page-content p {
    margin: 0;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.9;
    text-align: justify;
}

.about-page-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 34px;
    align-items: start;
}

.image-block img {
    width: 100%;
    border-radius: 4px;
}

@media (max-width: 767px) {
    .inner-banner {
        min-height: 220px;
    }

    .inner-banner h1 {
        font-size: 26px;
    }

    .about-page-grid {
        grid-template-columns: 1fr;
    }
}

/* Blog page */
.blog-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 26px;
}

.blog-card {
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 4px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(24,43,69,.08);
}

.blog-image {
    display: block;
    height: 180px;
    overflow: hidden;
    background: #eef2f7;
}

.blog-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.blog-body {
    padding: 16px;
}

.blog-body time {
    display: block;
    margin-bottom: 8px;
    color: var(--green);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.blog-body h3 {
    margin: 0 0 10px;
    color: var(--blue);
    font-size: 16px;
    font-weight: 700;
    line-height: 1.45;
}

.blog-body p {
    margin: 0 0 14px;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.75;
}

.read-more {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid var(--green);
    color: var(--blue);
    font-size: 12px;
    font-weight: 700;
}

@media (max-width: 991px) {
    .blog-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .blog-grid {
        grid-template-columns: 1fr;
    }
}

/* Contact page */
.contact-panel {
    display: grid;
    grid-template-columns: 1fr 1fr;
    background: #f1f1f1;
    margin-top: 10px;
}

.contact-form-card,
.quick-contact-card {
    padding: 28px;
}

.contact-form-card {
    background: var(--green);
}

.contact-form-card h2,
.quick-contact-card h2 {
    margin: 0 0 18px;
    color: #111;
    font-size: 22px;
    font-weight: 700;
    text-transform: uppercase;
}

.contact-form-card h2::after,
.quick-contact-card h2::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    margin-top: 14px;
    background: rgba(0,0,0,.18);
}

.contact-form {
    display: grid;
    gap: 10px;
}

.contact-form label {
    color: #111;
    font-size: 13px;
    font-weight: 700;
}

.contact-form label span {
    color: #b00020;
}

.contact-form input,
.contact-form textarea {
    width: 100%;
    border: 1px solid rgba(0,0,0,.14);
    background: #fff;
    color: #24243d;
    font: inherit;
    font-size: 14px;
    padding: 11px 12px;
    outline: none;
}

.contact-form textarea {
    resize: vertical;
}

.contact-form button {
    justify-self: start;
    min-height: 40px;
    padding: 0 22px;
    border: 0;
    background: var(--blue);
    color: #fff;
    font-weight: 700;
    cursor: pointer;
}

.quick-contact-card {
    background: #f1f1f1;
}

.contact-info-block {
    padding: 10px 0 16px;
    border-bottom: 1px solid #d9d9d9;
}

.contact-info-block h3 {
    margin: 0 0 10px;
    color: #24243d;
    font-size: 18px;
    font-weight: 700;
}

.contact-info-block p {
    margin: 0;
    color: #24243d;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.7;
}

.map-panel {
    margin-top: 15px;
    border: 1px solid #ff6a00;
    background: #f1f1f1;
}

.map-panel iframe {
    display: block;
    width: 100%;
    height: 360px;
}

@media (max-width: 767px) {
    .contact-panel {
        grid-template-columns: 1fr;
    }

    .contact-form-card,
    .quick-contact-card {
        padding: 22px;
    }

    .map-panel iframe {
        height: 300px;
    }
}

/* Packages page */
.package-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 24px;
}

.package-tabs a {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 0 16px;
    border: 1px solid var(--green);
    color: var(--blue);
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
}

.package-tabs a.active,
.package-tabs a:hover {
    background: var(--green);
    color: #fff;
}

.packages-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 26px;
}

.package-list-card {
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 4px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(24,43,69,.08);
}

.package-list-card a {
    display: block;
}

.package-list-card img {
    width: 100%;
    height: 230px;
    object-fit: cover;
}

.package-list-body {
    padding: 15px;
}

.package-list-body h3 {
    margin: 0 0 12px;
    color: var(--blue);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.45;
}

.package-list-body span {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid var(--green);
    color: var(--blue);
    font-size: 12px;
    font-weight: 700;
}

@media (max-width: 991px) {
    .packages-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .packages-grid {
        grid-template-columns: 1fr;
    }
}



/* Login page */
.login-hero {
    height: 186px;
    background: url("../images/banners/home-hero.jpg") center top / cover no-repeat;
}

.login-page-section {
    padding: 24px 0 0;
    background: #fff;
}

.login-panel {
    width: min(100%, 1430px);
    min-height: 315px;
    margin: 0 auto;
    padding: 18px 0 22px;
    background: #3689a9;
    box-shadow: 0 0 8px rgba(0,0,0,.55);
}

.login-form {
    width: min(100%, 436px);
    margin: 20px auto;
    display: grid;
    gap: 20px;
}

.login-form h1 {
    margin: 0;
    color: #fff;
    font-size: 25px;
    font-weight: 400;
    line-height: 1.2;
    text-align: center;
    text-transform: uppercase;
}

.login-form input {
    width: 100%;
    height: 51px;
    border: 0;
    background: #fff;
    color: #555;
    font-size: 20px;
    padding: 0 17px;
    outline: none;
}

.login-form button {
    width: 100%;
    height: 50px;
    border: 0;
    background: #ff1c00;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 5px;
    text-transform: uppercase;
    cursor: pointer;
}

.login-rule {
    width: min(100%, 438px);
    height: 1px;
    margin: 0 auto;
    background: rgba(0,0,0,.12);
}

@media (max-width: 991px) {
    .login-hero {
        height: 160px;
    }

    .login-panel {
        min-height: 300px;
    }
}

@media (max-width: 767px) {
    .login-hero {
        height: 145px;
        background-position: center;
    }

    .login-page-section {
        padding: 18px 0 0;
    }

    .login-panel {
        min-height: 0;
        padding: 18px 16px 24px;
    }

    .login-form {
        gap: 15px;
    }

    .login-form h1 {
        font-size: 21px;
    }

    .login-form input {
        height: 48px;
        font-size: 17px;
    }
}

/* Home image hover effects */
.info-card,
.package-card,
.about-grid img {
    transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.card-image img,
.package-card img,
.about-grid img {
    transition: transform .32s ease, filter .32s ease;
    will-change: transform;
}

.info-card:hover,
.package-card:hover {
    transform: translateY(-5px);
    border-color: rgba(160,185,32,.55);
    box-shadow: 0 16px 32px rgba(24,43,69,.16);
}

.info-card:hover .card-image img,
.package-card:hover img {
    transform: scale(1.06);
    filter: saturate(1.08) contrast(1.04);
}

.about-grid img:hover {
    transform: scale(1.025);
    filter: saturate(1.06) contrast(1.03);
    box-shadow: 0 14px 28px rgba(24,43,69,.14);
}

@media (prefers-reduced-motion: reduce) {
    .info-card,
    .package-card,
    .about-grid img,
    .card-image img,
    .package-card img {
        transition: none;
    }
}

/* Package and news image hover effects */
.blog-card,
.package-list-card {
    transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.blog-image img,
.package-list-card img {
    transition: transform .32s ease, filter .32s ease;
    will-change: transform;
}

.blog-card:hover,
.package-list-card:hover {
    transform: translateY(-5px);
    border-color: rgba(160,185,32,.55);
    box-shadow: 0 16px 32px rgba(24,43,69,.16);
}

.blog-card:hover .blog-image img,
.package-list-card:hover img {
    transform: scale(1.06);
    filter: saturate(1.08) contrast(1.04);
}

@media (prefers-reduced-motion: reduce) {
    .blog-card,
    .package-list-card,
    .blog-image img,
    .package-list-card img {
        transition: none;
    }
}

/* Dropdown menu indicator */
.has-dropdown > button::after {
    content: "";
    width: 7px;
    height: 7px;
    margin-left: 7px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg) translateY(-2px);
    transition: transform .2s ease;
}

.has-dropdown.open > button::after,
.has-dropdown:hover > button::after,
.has-dropdown:focus-within > button::after {
    transform: rotate(225deg) translateY(-1px);
}

@media (max-width: 991px) {
    .has-dropdown > button::after {
        margin-left: auto;
    }
}

/* Package detail page */
.package-detail-layout {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(310px, .9fr);
    gap: 30px;
    align-items: start;
}

.package-detail-main h2 {
    margin: 0 0 14px;
    color: var(--blue);
    font-size: 26px;
    font-weight: 700;
}

.package-lead {
    margin: 0 0 20px;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.9;
    text-align: justify;
}

.detail-image {
    overflow: hidden;
    margin-bottom: 22px;
    border-radius: 4px;
    background: #eef2f7;
}

.detail-image img {
    width: 100%;
    height: 300px;
    object-fit: cover;
    transition: transform .32s ease, filter .32s ease;
}

.detail-image:hover img {
    transform: scale(1.04);
    filter: saturate(1.08) contrast(1.04);
}

.detail-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 18px;
}

.detail-tabs button {
    min-height: 40px;
    padding: 0 13px;
    border: 1px solid var(--line);
    background: #f5f5f5;
    color: var(--blue);
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
}

.detail-tabs button.active,
.detail-tabs button:hover {
    border-color: #3580a5;
    background: #3580a5;
    color: #fff;
}

.detail-tab-panel {
    display: none;
}

.detail-tab-panel.active {
    display: block;
}

.itinerary-item {
    overflow: hidden;
    margin-bottom: 8px;
    border: 1px solid #ddd;
    border-radius: 4px;
    background: #fff;
}

.itinerary-item h3 {
    margin: 0;
    padding: 13px;
    background: #3580a5;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
}

.itinerary-item p,
.detail-tab-panel li {
    color: #24243d;
    font-size: 14px;
    line-height: 1.8;
}

.itinerary-item p {
    margin: 0;
    padding: 15px;
    font-weight: 700;
}

.detail-tab-panel ul {
    margin: 0;
    padding: 18px 22px;
    border: 1px solid var(--line);
    background: #fff;
}

.detail-tab-panel li + li {
    margin-top: 8px;
}

.price-box {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 20px;
    background: #f5f7fa;
    color: var(--blue);
    font-size: 28px;
    font-weight: 700;
}

.package-query-card {
    padding: 22px;
    background: var(--green);
}

.package-query-card h3 {
    margin: 0 0 16px;
    color: #111;
    font-size: 20px;
    font-weight: 700;
}

.package-query-form {
    display: grid;
    gap: 10px;
}

.package-query-form label {
    color: #111;
    font-size: 13px;
    font-weight: 700;
}

.package-query-form input,
.package-query-form select,
.package-query-form textarea {
    width: 100%;
    border: 1px solid rgba(0,0,0,.14);
    background: #fff;
    color: #24243d;
    font: inherit;
    font-size: 14px;
    padding: 10px 11px;
    outline: none;
}

.package-query-form textarea {
    min-height: 70px;
    resize: vertical;
}

.query-two {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.package-query-form button {
    justify-self: start;
    min-height: 40px;
    padding: 0 18px;
    border: 0;
    background: #3580a5;
    color: #fff;
    font-weight: 700;
    cursor: pointer;
}

@media (max-width: 991px) {
    .package-detail-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    .detail-image img {
        height: 230px;
    }

    .query-two {
        grid-template-columns: 1fr;
    }
}

/* News detail page */
.news-detail-layout {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(280px, .85fr);
    gap: 30px;
    align-items: start;
}

.news-post,
.sidebar-widget {
    border: 1px solid var(--line);
    background: #fff;
    box-shadow: 0 10px 24px rgba(24,43,69,.08);
}

.news-post-image {
    overflow: hidden;
    max-height: 280px;
    background: #eef2f7;
}

.news-post-image img {
    width: 100%;
    height: 280px;
    object-fit: cover;
    transition: transform .32s ease, filter .32s ease;
}

.news-post-image:hover img {
    transform: scale(1.05);
    filter: saturate(1.08) contrast(1.04);
}

.news-post-header,
.news-post-content {
    padding: 18px;
}

.news-post-header {
    padding-bottom: 0;
}

.news-post-header time {
    display: block;
    margin-bottom: 8px;
    color: var(--green);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.news-post-header h2 {
    margin: 0;
    color: var(--blue);
    font-size: 24px;
    font-weight: 700;
    line-height: 1.35;
}

.news-post-content p {
    margin: 0;
    color: #111;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.9;
    text-align: justify;
}

.sidebar-widget {
    padding: 18px;
    margin-bottom: 20px;
}

.sidebar-widget h3 {
    margin: 0 0 14px;
    color: var(--blue);
    font-size: 18px;
    font-weight: 700;
    text-transform: uppercase;
}

.sidebar-widget ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.sidebar-widget li + li {
    margin-top: 12px;
}

.recent-list a {
    color: var(--blue);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5;
}

.recent-list a:hover {
    color: var(--green);
}

@media (max-width: 991px) {
    .news-detail-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    .news-post-image,
    .news-post-image img {
        height: 220px;
    }
}

/* Clear menu hover and active states */
.site-menu a,
.site-menu button {
    transition: background-color .2s ease, color .2s ease;
}

.site-menu > ul > li > a:hover,
.site-menu > ul > li > button:hover,
.site-menu > ul > li:hover > a,
.site-menu > ul > li:hover > button,
.site-menu > ul > li > a.active,
.site-menu > ul > li > button.active,
.has-dropdown.open > button {
    background: var(--blue);
    color: #fff;
}

.dropdown-panel a:hover,
.dropdown-panel a:focus {
    background: var(--green);
    color: #000;
}

@media (max-width: 991px) {
    .site-menu > ul > li > a:hover,
    .site-menu > ul > li > button:hover,
    .site-menu > ul > li > a.active,
    .site-menu > ul > li > button.active,
    .has-dropdown.open > button {
        background: rgba(160,185,32,.15);
        color: var(--blue);
    }
}

.form-message{margin:0 0 14px;padding:11px 14px;border-radius:4px;font-weight:700}.form-message.success{background:#e8f7ed;color:#17613a;border:1px solid #bce5ca}.form-message.error{background:#fff0f0;color:#a02424;border:1px solid #f0b8b8}.visa-requirement-box select{width:100%;height:46px;margin-bottom:14px;border:1px solid #d8d8d8;padding:0 12px;background:#fff}.visa-requirement-box p{margin:0 0 15px}.visa-result{margin-top:22px;text-align:left;background:#fff;border:1px solid #e4e4e4;padding:18px}.visa-result h2{margin:0 0 14px;color:#11194d}.visa-result h3{margin:18px 0 8px;color:#11194d;font-size:18px}.visa-result ul{padding-left:20px}

/* Header contact polish */
.top-header{background:linear-gradient(90deg,#f7fbff 0%,#ffffff 46%,#f5f9e7 100%);border-bottom:1px solid rgba(17,25,77,.10)}
.contact-strip{gap:12px 34px;padding:9px 0;color:#11194d;font-size:14px;font-weight:700}
.contact-strip li{display:inline-flex;align-items:center;gap:9px;line-height:1.35;white-space:nowrap}
.top-icon{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#a7c814;color:#11194d;border:1px solid rgba(17,25,77,.12);font-size:13px;line-height:1;flex:0 0 24px}
.main-navigation{border-bottom:1px solid rgba(17,25,77,.08)}
.nav-shell{min-height:78px}
.brand img{display:block}
@media(max-width:820px){.contact-strip{justify-content:flex-start;gap:8px;padding:8px 0}.contact-strip li{white-space:normal;font-size:13px}.top-icon{width:22px;height:22px;flex-basis:22px;font-size:12px}}
