/* NESA Footer Manager V1 */
.site-footer.nesa-footer{padding:0;background:#0f1217;color:#d6dce5}.nesa-footer-main{padding:64px 0 34px}.nesa-footer-main--full{width:100%;padding-left:clamp(20px,4vw,72px);padding-right:clamp(20px,4vw,72px)}.nesa-footer-grid{display:grid;grid-template-columns:repeat(var(--footer-columns,3),minmax(0,1fr));gap:clamp(28px,4vw,62px);align-items:start}.nesa-footer--classic .nesa-footer-grid[data-columns="3"]{grid-template-columns:minmax(260px,1.45fr) minmax(180px,.9fr) minmax(180px,.8fr)}.nesa-footer--shop .nesa-footer-grid[data-columns="4"]{grid-template-columns:minmax(250px,1.35fr) repeat(3,minmax(150px,.8fr))}.nesa-footer--compact .nesa-footer-main{padding-top:42px}.nesa-footer--compact .nesa-footer-grid[data-columns="2"]{grid-template-columns:minmax(250px,1.2fr) minmax(180px,.8fr)}.nesa-footer-column h3{margin:0 0 18px;color:#fff;font-size:14px;letter-spacing:-.01em}.nesa-footer-brand img{display:block;max-width:min(280px,100%);max-height:82px;object-fit:contain}.nesa-footer-brand-name{display:block;color:#fff;font-size:22px;font-weight:850}.nesa-footer-brand p,.nesa-footer-text p,.nesa-footer-contact address{margin:16px 0 0;color:#aeb8c6;font-size:13px;line-height:1.7;font-style:normal}.nesa-footer-brand small{display:block;margin-top:11px;color:#7f8998;font-size:11px;line-height:1.55}.nesa-footer-contact{display:grid;gap:10px}.nesa-footer-contact address{margin:0 0 4px}.nesa-footer-contact>a{display:inline-flex;width:max-content;max-width:100%;margin:0;color:#c8d0db;font-size:13px}.nesa-footer-contact>a:hover{color:#fff}.nesa-footer-menu,.nesa-footer-menu ul{list-style:none;margin:0;padding:0}.nesa-footer-menu{display:grid;gap:9px}.nesa-footer-menu ul{display:grid;gap:8px;margin-top:8px;padding-left:13px;border-left:1px solid rgba(255,255,255,.12)}.nesa-footer-menu a,.nesa-footer-menu .footer-menu-action{display:inline-flex;align-items:center;padding:0;margin:0;border:0;background:transparent;color:#b8c1cd;font:inherit;font-size:13px;line-height:1.5;text-align:left;cursor:pointer}.nesa-footer-menu a:hover,.nesa-footer-menu .footer-menu-action:hover{color:#fff}.nesa-footer-social{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.nesa-footer-social a{width:34px;height:34px;display:grid!important;place-items:center;margin:0!important;border:1px solid rgba(255,255,255,.15);border-radius:50%;color:#dce3eb}.nesa-footer-social a:hover{border-color:rgba(255,255,255,.35);background:rgba(255,255,255,.06)}.nesa-footer-social svg{width:16px;height:16px;fill:currentColor}.nesa-footer-empty{color:#768190;font-size:12px;line-height:1.55}.nesa-footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:22px;padding-bottom:22px;border-top:1px solid rgba(255,255,255,.11);color:#8f99a7;font-size:12px}.nesa-footer-bottom a{color:#aab4c1}.nesa-footer-bottom a:hover{color:#fff}@media(max-width:980px){.nesa-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media(max-width:640px){.nesa-footer-main{padding:48px 0 24px}.nesa-footer-grid{grid-template-columns:1fr!important;gap:32px}.nesa-footer-bottom{align-items:flex-start;flex-direction:column;gap:8px}.nesa-footer-main--full{padding-left:20px;padding-right:20px}}

/* Footer polish: brand column can also render a selected Menu Manager group. */
.nesa-footer-brand-menu{margin-top:28px;padding-top:24px;border-top:1px solid rgba(255,255,255,.10)}
.nesa-footer-brand-menu h3{margin:0 0 14px!important;color:#fff;font-size:13px;letter-spacing:.01em}
.nesa-footer-brand-menu>.nesa-footer-menu{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 18px}
.nesa-footer-social svg{display:block;width:16px;height:16px;fill:currentColor!important;stroke:none!important}
@media(max-width:640px){.nesa-footer-brand-menu>.nesa-footer-menu{grid-template-columns:1fr 1fr}}

/* Footer polish V1.1 -------------------------------------------------- */
/* One visual rhythm: the footer body, links and contact values share one size. */
.nesa-footer,
.nesa-footer a,
.nesa-footer p,
.nesa-footer address,
.nesa-footer span,
.nesa-footer small,
.nesa-footer button{
    font-family:inherit;
}
.nesa-footer-column,
.nesa-footer-brand p,
.nesa-footer-brand small,
.nesa-footer-text p,
.nesa-footer-contact address,
.nesa-footer-contact a,
.nesa-footer-contact span,
.nesa-footer-menu a,
.nesa-footer-menu .footer-menu-action,
.nesa-footer-category-tag{
    font-size:13px!important;
    line-height:1.6;
}
.nesa-footer-brand small{font-size:12px!important}
.nesa-footer-contact span{display:block;color:#c8d0db;white-space:pre-line}

/* Unified section title with a subtle accent lead line. */
.nesa-footer-column h3,
.nesa-footer-brand-menu h3{
    position:relative;
    display:flex;
    align-items:center;
    gap:10px;
    margin:0 0 16px!important;
    color:#fff;
    font-size:13px!important;
    line-height:1.35;
    font-weight:750;
    letter-spacing:0;
}
.nesa-footer-column h3::before,
.nesa-footer-brand-menu h3::before{
    content:"";
    width:22px;
    height:2px;
    flex:0 0 22px;
    border-radius:999px;
    background:#73c9ff;
    box-shadow:0 0 14px rgba(115,201,255,.28);
}

/* Brand menu: only root commerce categories, shown as compact two-column tags. */
.nesa-footer-brand-menu{
    margin-top:26px;
    padding-top:22px;
    border-top:1px solid rgba(255,255,255,.10);
}
.nesa-footer-category-tags{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
}
.nesa-footer-category-tag{
    min-height:38px;
    display:flex!important;
    align-items:center;
    justify-content:flex-start;
    padding:8px 11px!important;
    border:1px solid rgba(126,202,255,.16)!important;
    border-radius:12px;
    background:rgba(115,201,255,.055)!important;
    color:#cbd8e7!important;
    text-decoration:none!important;
    transition:transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease;
}
.nesa-footer-category-tag:hover{
    transform:translateY(-1px);
    border-color:rgba(115,201,255,.38)!important;
    background:rgba(115,201,255,.11)!important;
    color:#fff!important;
}

/* Social links belong to the brand identity column only; no duplicate row in Contact. */
.nesa-footer-column--contact .nesa-footer-social{display:none!important}

@media(max-width:1180px){
    .nesa-footer-category-tags{grid-template-columns:1fr}
}
@media(max-width:980px){
    .nesa-footer-category-tags{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:420px){
    .nesa-footer-category-tags{grid-template-columns:1fr}
}


/* Footer polish V1.2: root categories behave like compact partner tags.
   They wrap naturally according to available width instead of a rigid 2-column grid. */
.nesa-footer-category-tags{
    display:flex!important;
    flex-wrap:wrap;
    align-items:flex-start;
    gap:10px 9px;
}
.nesa-footer-category-tag{
    width:auto!important;
    min-width:0!important;
    min-height:36px;
    flex:0 0 auto;
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    padding:8px 13px!important;
    border-radius:999px;
    white-space:nowrap;
    line-height:1.25!important;
}
.nesa-footer-category-tag:hover{
    transform:translateY(-2px);
    box-shadow:0 8px 22px rgba(0,0,0,.16);
}
@media(max-width:640px){
    .nesa-footer-category-tags{gap:8px}
    .nesa-footer-category-tag{
        min-height:34px;
        padding:7px 11px!important;
        white-space:normal;
        text-align:center;
    }
}


/* Commerce footer V1.3 — mirror Hit Tours partner-cloud behavior.
   IMPORTANT: category tags are <a>, unlike Hit Tours partner <span>s,
   so explicitly reset inherited footer-link margins. */
.nesa-footer-brand-menu{
    margin-top:22px;
    padding-top:20px;
}

.nesa-footer-category-tags{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:flex-start!important;
    align-content:flex-start!important;
    justify-content:flex-start!important;
    gap:9px!important;
    margin-top:14px!important;
    width:100%!important;
}

.site-footer .nesa-footer-category-tags > a.nesa-footer-category-tag,
.nesa-footer-category-tag{
    display:inline-flex!important;
    flex:0 0 auto!important;
    width:auto!important;
    min-width:0!important;
    min-height:32px!important;
    margin:0!important;
    padding:7px 11px!important;
    align-items:center!important;
    justify-content:center!important;
    border:1px solid rgba(255,255,255,.13)!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.055)!important;
    color:#d5dbe4!important;
    font-size:13px!important;
    line-height:1.2!important;
    white-space:nowrap!important;
    box-shadow:none!important;
    transition:.18s ease!important;
}

.site-footer .nesa-footer-category-tags > a.nesa-footer-category-tag:hover,
.nesa-footer-category-tag:hover{
    margin:0!important;
    border-color:rgba(255,255,255,.25)!important;
    background:rgba(255,255,255,.10)!important;
    color:#fff!important;
    transform:translateY(-1px)!important;
    box-shadow:none!important;
}

/* Give the category cloud a little more usable width in the 4-column shop footer,
   while keeping the other three columns balanced. */
.nesa-footer--shop .nesa-footer-grid[data-columns="4"]{
    grid-template-columns:minmax(300px,1.45fr) minmax(190px,.82fr) minmax(180px,.78fr) minmax(180px,.78fr)!important;
    gap:42px!important;
}

@media(max-width:1100px){
    .nesa-footer--shop .nesa-footer-grid[data-columns="4"]{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
}
@media(max-width:700px){
    .nesa-footer-category-tags{gap:7px!important}
    .site-footer .nesa-footer-category-tags > a.nesa-footer-category-tag{
        min-height:32px!important;
        padding:7px 10px!important;
        font-size:12px!important;
    }
}
