/*
|--------------------------------------------------------------------------
| Reset
|--------------------------------------------------------------------------
*/

*
{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/*
|--------------------------------------------------------------------------
| Body
|--------------------------------------------------------------------------
*/

body
{
    background: #f5f7fa;
    color: #222;
    font-family: Arial, sans-serif;
}

/*
|--------------------------------------------------------------------------
| Container
|--------------------------------------------------------------------------
*/

.container
{
    width: 1400px;
    max-width: 95%;
    margin: 0 auto;
}

/*
|--------------------------------------------------------------------------
| Header
|--------------------------------------------------------------------------
*/

.site-header
{
    position: sticky;
    top: 0;
    z-index: 10000;
    width: 100%;
    background: #ffffff;
    border-bottom: 1px solid #e5e9f0;
    box-shadow: 0 4px 20px rgba(15, 23, 42, .05);
}

/*
|--------------------------------------------------------------------------
| Header Topbar
|--------------------------------------------------------------------------
*/

.header-topbar
{
    background: #06255b;
    color: #ffffff;
}

.header-topbar-inner
{
    min-height: 34px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.header-topbar-left,
.header-topbar-right
{
    display: flex;
    align-items: center;
    gap: 18px;
}

.header-slogan
{
    font-size: 13px;
    font-weight: 500;
    color: rgba(255, 255, 255, .82);
}

.header-topbar-link
{
    color: rgba(255, 255, 255, .85);
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    transition: color .2s ease;
}

.header-topbar-link:hover
{
    color: #ffffff;
}

/*
|--------------------------------------------------------------------------
| Header Main
|--------------------------------------------------------------------------
*/

.header-main
{
    background: rgba(255, 255, 255, .98);
}

.header-main-inner
{
    min-height: 82px;
    display: flex;
    align-items: center;
    gap: 36px;
}

.logo-area
{
    flex: 0 0 auto;
    display: flex;
    align-items: center;
}

.site-logo
{
    display: inline-flex;
    align-items: center;
    color: #06255b;
    text-decoration: none;
    line-height: 1;
}

.site-logo-image
{
    display: block;
    width: auto;
    height: 56px;
    max-width: 230px;
    object-fit: contain;
}

.site-logo-text
{
    color: #06255b;
    font-size: 32px;
    font-weight: 800;
    letter-spacing: -.8px;
}

/*
|--------------------------------------------------------------------------
| Main Navigation
|--------------------------------------------------------------------------
*/

.main-navigation
{
    flex: 1;
    min-width: 0;
}

.main-menu
{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.main-menu-item
{
    position: relative;
}

.main-menu-item-inner
{
    display: flex;
    align-items: center;
}

.main-menu-link
{
    position: relative;
    display: flex;
    align-items: center;
    min-height: 82px;
    padding: 0 13px;
    color: #172033;
    font-size: 15px;
    font-weight: 650;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
    transition:
        color .2s ease,
        background .2s ease;
}

.main-menu-link::after
{
    content: "";
    position: absolute;
    left: 13px;
    right: 13px;
    bottom: 0;
    height: 3px;
    border-radius: 3px 3px 0 0;
    background: #1769e0;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform .2s ease;
}

.main-menu-item:hover > .main-menu-item-inner .main-menu-link,
.main-menu-link:hover,
.main-menu-link:focus
{
    color: #1769e0;
}

.main-menu-item:hover > .main-menu-item-inner .main-menu-link::after,
.main-menu-link:hover::after,
.main-menu-link:focus::after
{
    transform: scaleX(1);
}

.submenu-toggle
{
    width: 26px;
    height: 34px;
    margin-left: -8px;
    border: 0;
    background: transparent;
    color: #667085;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition:
        color .2s ease,
        transform .2s ease;
}

.main-menu-item:hover .submenu-toggle
{
    color: #1769e0;
    transform: rotate(180deg);
}

/*
|--------------------------------------------------------------------------
| Submenu
|--------------------------------------------------------------------------
*/

.submenu
{
    position: absolute;
    top: calc(100% - 10px);
    left: 0;
    z-index: 10020;
    min-width: 240px;
    margin: 0;
    padding: 10px;
    list-style: none;
    background: #ffffff;
    border: 1px solid #e7ebf1;
    border-radius: 14px;
    box-shadow: 0 20px 55px rgba(15, 23, 42, .14);
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    pointer-events: none;
    transition:
        opacity .2s ease,
        visibility .2s ease,
        transform .2s ease;
}

.has-submenu:hover > .submenu,
.has-submenu:focus-within > .submenu
{
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}

.submenu-item
{
    display: block;
    width: 100%;
}

.submenu-link
{
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 42px;
    padding: 10px 13px;
    color: #273142;
    font-size: 14px;
    font-weight: 550;
    line-height: 1.35;
    text-decoration: none;
    white-space: nowrap;
    border-radius: 9px;
    transition:
        background .2s ease,
        color .2s ease,
        padding-left .2s ease;
}

.submenu-link:hover,
.submenu-link:focus
{
    color: #1769e0;
    background: #f1f6ff;
    padding-left: 17px;
}

/*
|--------------------------------------------------------------------------
| Header Tools
|--------------------------------------------------------------------------
*/

.header-tools
{
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 8px;
}

.header-tool-button
{
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid #e4e9f0;
    border-radius: 12px;
    background: #ffffff;
    color: #172033;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition:
        color .2s ease,
        border-color .2s ease,
        background .2s ease,
        transform .2s ease;
}

.header-tool-button:hover
{
    color: #1769e0;
    border-color: #cbdcf7;
    background: #f2f7ff;
    transform: translateY(-1px);
}

.mobile-menu-toggle
{
    display: none;
    flex-direction: column;
    gap: 4px;
}

.mobile-menu-line
{
    display: block;
    width: 19px;
    height: 2px;
    border-radius: 2px;
    background: currentColor;
    transition:
        transform .2s ease,
        opacity .2s ease;
}

/*
|--------------------------------------------------------------------------
| Header Search
|--------------------------------------------------------------------------
*/

.header-search-panel
{
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    padding: 20px 0;
    background: #ffffff;
    border-top: 1px solid #edf0f4;
    border-bottom: 1px solid #e3e8ef;
    box-shadow: 0 16px 35px rgba(15, 23, 42, .08);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    pointer-events: none;
    transition:
        opacity .2s ease,
        visibility .2s ease,
        transform .2s ease;
}

.header-search-panel.is-open
{
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}

.header-search-form
{
    max-width: 820px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 10px;
}

.header-search-input
{
    width: 100%;
    height: 52px;
    padding: 0 18px;
    border: 1px solid #dce2ea;
    border-radius: 12px;
    background: #f8fafc;
    color: #172033;
    font-size: 16px;
    outline: none;
    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        background .2s ease;
}

.header-search-input:focus
{
    background: #ffffff;
    border-color: #1769e0;
    box-shadow: 0 0 0 4px rgba(23, 105, 224, .1);
}

.header-search-submit
{
    height: 52px;
    padding: 0 25px;
    border: 0;
    border-radius: 12px;
    background: #1769e0;
    color: #ffffff;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    transition:
        background .2s ease,
        transform .2s ease;
}

.header-search-submit:hover
{
    background: #0e56bd;
    transform: translateY(-1px);
}

.header-search-close
{
    width: 52px;
    height: 52px;
    padding: 0;
    border: 1px solid #dce2ea;
    border-radius: 12px;
    background: #ffffff;
    color: #465268;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.screen-reader-text
{
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/*
|--------------------------------------------------------------------------
| Responsive Header
|--------------------------------------------------------------------------
*/

@media (max-width: 1200px)
{
    .header-main-inner
    {
        gap: 20px;
    }

    .site-logo-image
    {
        height: 48px;
        max-width: 190px;
    }

    .main-menu-link
    {
        padding: 0 9px;
        font-size: 14px;
    }

    .main-menu-link::after
    {
        left: 9px;
        right: 9px;
    }
}

@media (max-width: 991px)
{
    .header-topbar
    {
        display: none;
    }

    .header-main-inner
    {
        min-height: 70px;
        justify-content: space-between;
    }

    .site-logo-image
    {
        height: 46px;
        max-width: 185px;
    }

    .main-navigation
    {
        position: fixed;
        top: 70px;
        right: 0;
        bottom: 0;
        width: min(360px, 88vw);
        padding: 18px;
        background: #ffffff;
        border-left: 1px solid #e5e9f0;
        box-shadow: -20px 0 50px rgba(15, 23, 42, .12);
        overflow-y: auto;
        opacity: 0;
        visibility: hidden;
        transform: translateX(100%);
        transition:
            opacity .25s ease,
            visibility .25s ease,
            transform .25s ease;
    }

    .main-navigation.is-open
    {
        opacity: 1;
        visibility: visible;
        transform: translateX(0);
    }

    .main-menu
    {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 4px;
    }

    .main-menu-item
    {
        width: 100%;
    }

    .main-menu-item-inner
    {
        width: 100%;
    }

    .main-menu-link
    {
        flex: 1;
        min-height: 48px;
        padding: 0 13px;
        border-radius: 10px;
    }

    .main-menu-link::after
    {
        display: none;
    }

    .main-menu-link:hover
    {
        background: #f1f6ff;
    }

    .submenu-toggle
    {
        flex: 0 0 44px;
        width: 44px;
        height: 44px;
        margin-left: 0;
    }

    .submenu
    {
        position: static;
        display: none;
        min-width: 0;
        margin: 4px 0 8px;
        padding: 6px;
        border: 0;
        box-shadow: none;
        background: #f7f9fc;
        opacity: 1;
        visibility: visible;
        transform: none;
        pointer-events: auto;
    }

    .has-submenu.submenu-open > .submenu
    {
        display: block;
    }

    .has-submenu:hover > .submenu
    {
        display: none;
    }

    .has-submenu.submenu-open:hover > .submenu
    {
        display: block;
    }

    .mobile-menu-toggle
    {
        display: inline-flex;
    }

    .header-search-panel
    {
        position: fixed;
        top: 70px;
    }

    .header-search-form
    {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .header-search-close
    {
        grid-column: 1 / -1;
        width: 100%;
    }
}

@media (max-width: 576px)
{
    .container
    {
        max-width: calc(100% - 30px);
    }

    .site-logo-image
    {
        height: 40px;
        max-width: 160px;
    }

    .site-logo-text
    {
        font-size: 25px;
    }

    .header-tool-button
    {
        width: 40px;
        height: 40px;
        border-radius: 10px;
    }

    .header-search-panel
    {
        padding: 15px 0;
    }

    .header-search-form
    {
        grid-template-columns: 1fr;
    }

    .header-search-submit,
    .header-search-close
    {
        width: 100%;
    }
}
/*
|--------------------------------------------------------------------------
| Hero
|--------------------------------------------------------------------------
*/

.hero-section
{
    position: relative;

    background-image:
    linear-gradient(
    rgba(0,0,0,.55),
    rgba(0,0,0,.55)
    ),
    url('/assets/images/guides/hero.jpg');

    background-size: cover;
    background-position: center;

    padding: 100px 0;
}

.hero-box
{
    max-width: 1200px;
    margin: 0 auto;
    text-align: center;
    color: #ffffff;
}

.hero-box h1
{
    font-size: 64px;
    line-height: 1.1;
    margin-bottom: 20px;
}

.hero-box p
{
    max-width: 700px;
    margin: 0 auto 35px;
    font-size: 22px;
    line-height: 1.7;
}

.hero-search
{
    display: flex;
    overflow: hidden;
    border-radius: 14px;
    background: #ffffff;
    max-width: 700px;
    margin: 0 auto 50px;
}

.hero-search input
{
    flex: 1;
    border: none;
    padding: 18px 25px;
    font-size: 18px;
}

.hero-search button
{
    border: none;
    background: #0057d9;
    color: #ffffff;
    padding: 0 35px;
    cursor: pointer;
}

.hero-categories
{
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 20px;
}

.hero-category-card
{
    background: rgba(255,255,255,.15);
    backdrop-filter: blur(12px);

    border: 1px solid rgba(255,255,255,.20);

    border-radius: 18px;

    padding: 25px;

    text-decoration: none;

    transition: .3s;
}

.hero-category-card:hover
{
    transform: translateY(-6px);
    background: rgba(255,255,255,.22);
}

.hero-category-icon
{
    font-size: 42px;
    margin-bottom: 15px;
}

.hero-category-card h3
{
    color: #ffffff;
    font-size: 20px;
    margin-bottom: 8px;
}

.hero-category-card span
{
    color: rgba(255,255,255,.85);
    font-size: 14px;
}

@media (max-width: 992px)
{
    .hero-categories
    {
        grid-template-columns: repeat(2,1fr);
    }
}

@media (max-width: 768px)
{
    .hero-box h1
    {
        font-size: 42px;
    }

    .hero-box p
    {
        font-size: 18px;
    }

    .hero-search
    {
        flex-direction: column;
    }

    .hero-search button
    {
        padding: 18px;
    }
}

@media (max-width: 576px)
{
    .hero-categories
    {
        grid-template-columns: 1fr;
    }
}



/*
|--------------------------------------------------------------------------
| Sections
|--------------------------------------------------------------------------
*/

.guide-section,
.tools-section
{
    padding: 80px 0;
}

.section-header
{
    margin-bottom: 30px;
}

/*
|--------------------------------------------------------------------------
| Guides
|--------------------------------------------------------------------------
*/

.guide-grid
{
   display:grid;
    grid-template-columns:
    repeat(3,1fr);

    gap:30px;
}

.guide-card
{
    overflow:hidden;
    background:#ffffff;

    border-radius:12px;

    box-shadow:
    0 2px 8px rgba(0,0,0,.05);

    transition:.3s;
}

.guide-card:hover
{
    transform:translateY(-5px);
}

.guide-card img
{
       width:100%;
    height:auto;
    display:block;
}

.guide-content
{
    padding:20px;
}

.guide-content h3
{
      padding:15px 5px 0;
}

.guide-content p
{
    color:#666;
    line-height:1.5;
}

/*
|--------------------------------------------------------------------------
| Advertisement
|--------------------------------------------------------------------------
*/

.advertisement-section
{
    padding: 40px 0;
}

.advertisement-box
{
    height: 250px;
    background: #dcdcdc;
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/*
|--------------------------------------------------------------------------
| Tools
|--------------------------------------------------------------------------
*/

.tools-grid
{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 25px;
}

.tool-card
{
    background:#ffffff;

    border-radius:16px;

    padding:30px;

    text-align:center;

    box-shadow:
    0 5px 20px rgba(0,0,0,.08);
}

.tool-title
{
    font-size:18px;

    color:#666;

    margin-bottom:10px;
}

.tool-value
{
    font-size:42px;

    font-weight:700;

    color:#001f54;

    margin-bottom:10px;
}

.tool-desc
{
    color:#888;
}

/*
|--------------------------------------------------------------------------
| Footer
|--------------------------------------------------------------------------
*/

.site-footer
{
    margin-top: 80px;
    padding: 60px 0;
    background: #001f54;
    color: #ffffff;
}

.footer-grid
{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
}

.footer-column ul
{
    list-style: none;
}

.footer-column li
{
    margin-bottom: 10px;
}

.ad-grid
{
    display:grid;
    grid-template-columns:
    3fr 1fr;

    gap:30px;
}

.ad-box-large
{
    height:250px;

    background:#dcdcdc;

    border-radius:16px;

    display:flex;
    align-items:center;
    justify-content:center;
}

.ad-box-side
{
    height:250px;

    background:#dcdcdc;

    border-radius:16px;

    display:flex;
    align-items:center;
    justify-content:center;
}
/*
|--------------------------------------------------------------------------
| Homepage Layout
|--------------------------------------------------------------------------
*/

.homepage-layout
{
    width:1400px;
    max-width:95%;

    margin:40px auto;

    display:grid;

    grid-template-columns:
    minmax(0,1fr)
    320px;

    gap:30px;
}

.homepage-content
{
    min-width:0;
}

.homepage-sidebar
{
    display:flex;

    flex-direction:column;

    gap:25px;
}

.sidebar-ad
{
    background:#ffffff;

    border-radius:16px;

    min-height:250px;

    display:flex;

    align-items:center;

    justify-content:center;

    box-shadow:
    0 2px 8px rgba(0,0,0,.05);
}

.sidebar-widget
{
    background:#ffffff;

    border-radius:16px;

    padding:25px;

    box-shadow:
    0 2px 8px rgba(0,0,0,.05);
}

.sidebar-widget h3
{
    margin-bottom:15px;
}

.sidebar-widget ul
{
    list-style:none;
}

.sidebar-widget li
{
    padding:10px 0;

    border-bottom:
    1px solid #eeeeee;
}
/*
|--------------------------------------------------------------------------
| Regions
|--------------------------------------------------------------------------
*/

.regions-layout
{
    display:grid;

    grid-template-columns:
    1fr
    1fr;

    gap:30px;
}

.regions-map img
{
    width:100%;

    border-radius:20px;

    display:block;
}

.regions-list
{
    display:grid;

    gap:15px;
}

.region-item
{
    display:flex;

    align-items:center;

    gap:15px;

    background:#ffffff;

    border-radius:16px;

    padding:12px;
}

.region-item img
{
    width:120px;

    height:80px;

    object-fit:cover;

    border-radius:10px;
}

.region-item span
{
    font-size:20px;

    font-weight:700;
}
/*
|--------------------------------------------------------------------------
| Main Menu Dropdown
|--------------------------------------------------------------------------
*/

.main-navigation
{
    position:relative;
}

.main-navigation ul
{
    list-style:none;
    margin:0;
    padding:0;
}

.main-menu
{
    display:flex;
    align-items:center;
    gap:4px;
}

.main-menu-item
{
    position:relative;
}

.main-menu-item > a
{
    display:flex;
    align-items:center;
    gap:6px;
    padding:14px 12px;
    color:inherit;
    text-decoration:none;
    white-space:nowrap;
}

.submenu-arrow
{
    font-size:9px;
    transition:transform .2s ease;
}

.has-submenu:hover .submenu-arrow
{
    transform:rotate(180deg);
}

.submenu
{
    position:absolute;
    top:100%;
    left:0;
    z-index:9999;
    min-width:220px;
    padding:8px 0 !important;
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:10px;
    box-shadow:0 14px 35px rgba(0,0,0,.12);
    opacity:0;
    visibility:hidden;
    transform:translateY(8px);
    transition:
        opacity .2s ease,
        visibility .2s ease,
        transform .2s ease;
}

.has-submenu:hover > .submenu,
.has-submenu:focus-within > .submenu
{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}

.submenu li
{
    display:block;
    width:100%;
}

.submenu li a
{
    display:block;
    width:100%;
    padding:11px 16px;
    color:#1f2937;
    text-decoration:none;
    white-space:nowrap;
    box-sizing:border-box;
}

.submenu li a:hover
{
    background:#f3f4f6;
}

@media (max-width:991px)
{
    .main-menu
    {
        flex-direction:column;
        align-items:stretch;
    }

    .submenu
    {
        position:static;
        display:none;
        min-width:0;
        border:0;
        box-shadow:none;
        opacity:1;
        visibility:visible;
        transform:none;
    }

    .has-submenu:hover > .submenu,
    .has-submenu:focus-within > .submenu
    {
        display:block;
    }
}