/* Shared public-site header and footer. Admin pages use their own layout. */
.topbar {
    min-height:30px;
    background:linear-gradient(90deg,#042b46,#0c5076,#041d35);
    font-size:11px;
}
.navbar { box-shadow:0 2px 8px #08304a12; }
.nav-has-search .nb-links { margin-left:0; }
.nb-search { position:relative; min-width:240px; }
.nb-search input { min-width:0; }
.nb-suggestions {
    position:absolute;
    top:calc(100% + 9px);
    left:0;
    right:0;
    z-index:260;
    display:none;
    overflow:hidden;
    max-height:min(440px,70vh);
    overflow-y:auto;
    border:1px solid #dce5ec;
    border-radius:13px;
    background:#fff;
    box-shadow:0 16px 38px rgba(7,36,60,.2);
}
.nb-suggestions.open { display:block; }
.nb-suggestion {
    display:grid;
    grid-template-columns:52px minmax(0,1fr) auto;
    align-items:center;
    gap:10px;
    padding:9px 11px;
    border-bottom:1px solid #edf1f4;
    color:#173753;
    text-decoration:none;
}
.nb-suggestion:last-child { border-bottom:0; }
.nb-suggestion:hover,.nb-suggestion.active { background:#f5f9fc; }
.nb-suggestion img { width:52px; height:46px; border-radius:8px; object-fit:cover; background:#e6edf2; }
.nb-suggestion-copy { min-width:0; }
.nb-suggestion-copy strong,.nb-suggestion-copy small { display:block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.nb-suggestion-copy strong { color:#16344f; font-size:.76rem; }
.nb-suggestion-copy small { margin-top:3px; color:#758697; font-size:.64rem; }
.nb-suggestion-intent { padding:5px 9px; border-radius:20px; background:#fff0e9; color:#e8572a; font-size:.64rem; font-weight:800; white-space:nowrap; }
.nb-suggestion-state { padding:15px; color:#708497; font-size:.72rem; text-align:center; }
.nb-suggestion-all { display:block; padding:11px; background:#f9fbfd; color:#e8572a; font-size:.7rem; font-weight:800; text-align:center; text-decoration:none; }
.nb-post { border-radius:30px; background:linear-gradient(110deg,#ff8a3a,#ff581a); }

.hp-footer,.hp-footer * { box-sizing:border-box; }
.hp-footer {
    position:relative;
    margin-top:32px;
    padding:32px 0 0;
    border-top:1px solid #14729b;
    background:#031f35;
    color:#bbccdc;
    font-family:'DM Sans',Arial,sans-serif;
    font-size:12px;
}
.page-home .hp-footer { margin-top:0; }
.hp-footer .hp-wrap { width:calc(100% - 96px); max-width:1240px; margin:0 auto; }
.hp-footer a { color:inherit; text-decoration:none; }
.hp-footer a:hover { color:#ff9551; }
.hp-footer-grid { display:grid; grid-template-columns:1.6fr .75fr .9fr .9fr 1.4fr; gap:35px; }
.hp-footer-grid>* { min-width:0; }
.hp-footer h2 { margin:0 0 16px; color:#fff; font-size:13px; }
.hp-footer-brand img {
    width:185px;
    height:65px;
    padding:4px;
    border-radius:7px;
    background:#fff;
    object-fit:contain;
}
.hp-footer-brand p { margin:14px 0; font-size:12px; line-height:1.8; }
.hp-footer-contact { color:#dbe9f2; font-size:11px; }
.hp-footer-contact span { margin-left:8px; color:#ff7b2d; }
.hp-footer-column a { display:block; margin:0 0 11px; font-size:11px; }
.hp-newsletter p { margin:0 0 12px; font-size:11px; line-height:1.5; }
.hp-newsletter input {
    width:100%;
    padding:11px;
    border:1px solid #d7e0e7;
    border-radius:7px;
    background:#fff;
    color:#163952;
    font:inherit;
}
.hp-newsletter .hp-button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:37px;
    margin-top:9px;
    padding:9px 16px;
    border:0;
    border-radius:8px;
    background:linear-gradient(105deg,#ff822e,#ff5817);
    color:#fff;
    font:700 12px 'DM Sans',Arial,sans-serif;
}
.hp-newsletter button:disabled { cursor:default; box-shadow:none; }
.hp-newsletter input:disabled { opacity:1; }
.hp-newsletter-status { margin-top:9px!important; }
.hp-footer .hp-sr {
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
}
.hp-footer-bottom {
    position:relative;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-top:25px!important;
    padding:20px 0;
    border-top:1px solid #ffffff18;
    font-size:10px;
}
.hp-footer-bottom b { color:#fa642e; }
.hp-visitors { color:#92adbf; font-size:9px; }
.hp-back-top {
    display:grid;
    width:33px;
    height:33px;
    place-items:center;
    border-radius:50%;
    background:#ff7421;
    color:#fff!important;
    font-size:20px;
}

@media(max-width:1100px) and (min-width:768px) {
    .hp-footer-grid { grid-template-columns:1.3fr .8fr .9fr .9fr 1.2fr; gap:22px; }
}
@media(min-width:768px) and (max-width:950px) {
    .hp-footer-grid { grid-template-columns:1.5fr repeat(3,minmax(0,1fr)); }
    .hp-newsletter { grid-column:1/-1; max-width:350px; }
}
@media(max-width:767px) {
    .topbar { display:none; }
    .navbar { width:100%; min-height:66px; margin:0; border-radius:0; }
    .navbar .logo-img { width:175px; max-height:55px; object-fit:contain; }
    .navbar .nb-login-icon-btn { display:none; }
    .mob-bottom-nav { display:block; }
    body { padding-bottom:58px!important; }
    .hp-footer {
        width:100%;
        margin:24px 0 0;
        padding:25px 0 0;
        overflow:hidden;
        border:0;
        border-radius:0;
        box-shadow:none;
    }
    .hp-footer .hp-wrap { width:calc(100% - 36px); }
    .hp-footer-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:27px 12px; }
    .hp-footer-brand { grid-column:1/-1; }
    .hp-footer-brand p { max-width:255px; font-size:12px; }
    .hp-footer h2 { margin-bottom:15px; font-size:12px; }
    .hp-footer-column a { font-size:10px; line-height:1.5; }
    .hp-newsletter { grid-column:1/-1; padding:6px 0 15px; }
    .hp-footer-bottom {
        flex-wrap:wrap;
        gap:12px;
        margin-top:5px!important;
        padding-right:25px;
        padding-bottom:23px;
        font-size:9px;
    }
    .hp-footer-bottom .hp-visitors { order:3; flex-basis:100%; }
    .hp-back-top { position:absolute; top:16px; right:-3px; }
}

@media(max-width:900px) {
    .nav-has-search { flex-wrap:wrap; padding-bottom:9px; }
    .nav-has-search .nb-brand { order:1; }
    .nav-has-search .nb-right { order:2; margin-left:auto; }
    .nav-has-search .nb-hamburger { order:3; }
    .nav-has-search .nb-search { order:4; flex:1 0 100%; width:100%; max-width:none; height:42px; margin:0; }
    .nav-has-search .nb-suggestions { top:calc(100% + 6px); max-height:58vh; }
}

@media(max-width:420px) {
    .nb-suggestion { grid-template-columns:46px minmax(0,1fr); }
    .nb-suggestion img { width:46px; height:42px; }
    .nb-suggestion-intent { grid-column:2; width:max-content; margin-top:-7px; }
}
