/* Header v2 — overrides the template header styles in styles.css */

/* ---------- Top bar ---------- */
.hv2-topbar { background: var(--black-4); color: rgba(255, 255, 255, .8); font-size: 13px; }
.hv2-topbar .top-bar-inner { padding: 9px 0; gap: 20px; }
.hv2-topbar a { color: rgba(255, 255, 255, .85); transition: color .2s; }
.hv2-topbar a:hover { color: var(--global); }
.hv2-tb-left, .hv2-tb-right { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; }
.hv2-tb-item { display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; }
.hv2-tb-item i { color: var(--global); font-size: 13px; }
.hv2-badge { display: inline-flex; align-items: center; gap: 6px; background: var(--global); color: var(--black-4); font-weight: 700; font-size: 12px; letter-spacing: .04em; padding: 3px 10px; border-radius: 999px; white-space: nowrap; }
.hv2-badge::before { content: '✓'; font-size: 11px; }

/* ---------- Header bar ---------- */
.hv2 .header-content { background: #fff; border: 1px solid rgba(32, 38, 91, .08); border-radius: 18px; padding: 0 14px 0 22px; height: 84px; box-shadow: 0 8px 30px rgba(32, 38, 91, .06); gap: 20px; }
#header.hv2 { margin-top: 14px; }
.hv2.header-sticky { background: transparent; box-shadow: none; padding-top: 10px; }
.hv2.header-sticky .header-content { box-shadow: 0 14px 40px rgba(32, 38, 91, .14); border-color: transparent; padding: 0 14px 0 22px; }
.hv2 .logo-header img { height: 48px; width: auto; }

/* ---------- Main menu ---------- */
.hv2 .main-menu { margin-left: auto; padding: 0 !important; }
.hv2 .menu-primary-menu.nav-menu-v2 { gap: 2px; }
.hv2 .menu-primary-menu > .menu-item { padding: 20px 0 !important; }
.hv2 .menu-primary-menu .menu-item .item-link { line-height: 1; padding: 11px 14px; border-radius: 999px; font-size: 15px; font-weight: 600; color: var(--black-4); transition: background .25s, color .25s; }
.hv2 .menu-primary-menu .menu-item.menu-item-has-children > .nav__link { padding-right: 30px; }
.hv2 .menu-primary-menu .menu-item.menu-item-has-children > .nav__link::after { right: 13px; font-size: 9px; color: var(--color-paragraph); }
.hv2 .menu-primary-menu .menu-item:hover > .item-link { background: rgba(152, 202, 77, .18); color: var(--black-4); }
.hv2 .menu-primary-menu .current-menu-item > .nav__link,
.hv2 .menu-primary-menu .current-menu-item:hover > .nav__link { background: var(--black-4); color: #fff; }
.hv2 .menu-primary-menu .current-menu-item > .nav__link::after { color: var(--global); }

/* ---------- Dropdowns ---------- */
.hv2 .sub-menu { left: 0; width: 270px; padding: 10px; border-radius: 16px; border-top: 3px solid var(--global); box-shadow: 0 24px 50px rgba(32, 38, 91, .16); transform: translateY(8px); transition: opacity .25s, visibility .25s, transform .25s; }
.hv2 .menu-primary-menu .menu-item:hover .sub-menu { transform: translateY(0); }
.hv2 .sub-menu .sub-menu-item { border-radius: 10px; }
.hv2 .sub-menu .sub-menu-item .item-link-2 { padding: 9px 14px; font-size: 15px; color: var(--black-4); border-radius: 10px; transition: background .2s, color .2s, padding .2s; }
.hv2 .sub-menu .sub-menu-item:hover { background: transparent; }
.hv2 .sub-menu .sub-menu-item:hover .item-link-2 { background: rgba(152, 202, 77, .16); color: var(--black-4); padding-left: 20px; }
.hv2 .sub-menu .sub-menu-item.current .item-link-2 { color: #5c8f1e; font-weight: 700; }

/* ---------- Right side actions ---------- */
.hv2 .header-right { display: flex; align-items: center; gap: 12px; }
.hv2-emergency { display: flex; align-items: center; gap: 10px; padding-right: 6px; }
.hv2-emergency .ic { width: 44px; height: 44px; border-radius: 50%; background: #fdecec; color: #e5484d; display: grid; place-items: center; font-size: 18px; position: relative; }
.hv2-emergency .ic::after { content: ''; position: absolute; inset: 0; border-radius: 50%; animation: hv2Ring 1.8s infinite; }
@keyframes hv2Ring { 0% { box-shadow: 0 0 0 0 rgba(229, 72, 77, .45); } 100% { box-shadow: 0 0 0 12px rgba(229, 72, 77, 0); } }
.hv2-emergency small { display: block; font-size: 12px; color: var(--color-paragraph); line-height: 1.2; }
.hv2-emergency b { display: block; font-size: 15px; color: var(--black-4); line-height: 1.3; white-space: nowrap; }
.hv2-book { display: inline-flex; align-items: center; gap: 8px; background: var(--global); color: var(--black-4); font-weight: 700; font-size: 15px; padding: 13px 22px; border-radius: 999px; white-space: nowrap; transition: background .25s, color .25s; }
.hv2-book:hover { background: var(--black-4); color: #fff; }
.hv2-call { display: none; width: 44px; height: 44px; border-radius: 50%; background: #e5484d; color: #fff; place-items: center; font-size: 18px; }
.hv2 .mobile-button a { width: 44px; height: 44px; border-radius: 12px; background: var(--black-4); display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 4px; }
.hv2 .mobile-button a span { position: static; display: block; width: 18px; height: 2px; background: #fff; margin: 0; transform: none; }

@media (max-width: 1599px) {
    .hv2-emergency { display: none; }
}
@media (max-width: 1399px) {
    .hv2 .menu-primary-menu .menu-item .item-link { padding: 10px 10px; font-size: 14px; }
    .hv2 .menu-primary-menu .menu-item.menu-item-has-children > .nav__link { padding-right: 24px; }
    .hv2 .menu-primary-menu .menu-item.menu-item-has-children > .nav__link::after { right: 9px; }
}
@media (max-width: 1199px) {
    .hv2 .header-content { height: 74px; padding: 0 12px 0 18px; }
    .hv2-emergency { display: flex; }
    .hv2-tb-hide-lg { display: none; }
}
@media (max-width: 767px) {
    .hv2-topbar { font-size: 12px; }
    .hv2-tb-hide-md, .hv2-emergency, .hv2-book { display: none; }
    .hv2-call { display: grid; }
    .hv2 .logo-header img { height: 40px; }
    .hv2-topbar .top-bar-inner { justify-content: center !important; }
}
