/* VTNA Mobile 2.1.29: shared, accessible sector switch. */
.sector-switch {
    position: relative;
    isolation: isolate;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px;
    width: 100%;
    max-width: 400px;
    box-sizing: border-box;
    padding: 4px;
    border: 1px solid #e0e7ed;
    border-radius: 17px;
    background: #edf2f5;
    box-shadow: inset 0 1px 2px #102f5103;
    margin: 0 auto 18px;
}
.sector-switch::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 4px;
    bottom: 4px;
    left: 4px;
    width: calc((100% - 12px) / 2);
    border: 1px solid #ffffff;
    box-sizing: border-box;
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 2px 7px #183c5710, 0 1px 2px #183c5708;
    pointer-events: none;
    opacity: 0;
}
.sector-switch:has(> a[aria-current], > a[aria-selected="true"], > label input:checked)::before { opacity: 1; }
.sector-switch:has(> a:nth-child(2)[aria-current], > a:nth-child(2)[aria-selected="true"], > label:nth-child(2) input:checked)::before { transform: translateX(calc(100% + 4px)); }
.sector-switch > a,
.module-choice .sector-switch > label {
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 0;
    min-height: 44px;
    margin: 0;
    padding: 10px 12px;
    border: 0;
    border-radius: 12px;
    background: transparent;
    box-shadow: none;
    color: #5c6d7e;
    font: inherit;
    font-size: 14px;
    font-weight: 650;
    line-height: 1.5;
    text-decoration: none;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}
.sector-switch > a:first-child { color: #5c6d7e; }
.sector-switch > a:hover,
.module-choice .sector-switch > label:hover { background: transparent; border: 0; color: var(--brand-blue); text-decoration: none; }
.sector-switch > a[aria-current],
.sector-switch > a[aria-selected="true"],
.module-choice .sector-switch > label:has(input:checked) {
    border: 0;
    background: transparent;
    color: var(--brand-blue);
    box-shadow: none;
}
.sector-switch > a::after { content: none; }
.sector-switch > a > .icon,
.module-choice .sector-switch > label > .icon {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    color: inherit;
    stroke-width: 1.65;
}
.sector-switch > a[aria-current] > .icon,
.sector-switch > a[aria-selected="true"] > .icon { color: inherit; }
.home-page .sector-switch > a:focus-visible,
.sector-switch > a:focus-visible,
.module-choice .sector-switch > label:has(input:focus-visible) {
    outline: 2px solid var(--brand-blue);
    outline-offset: 2px;
}
.home-tabs.sector-switch { margin: 18px auto 16px; }
.module-choice { min-width: 0; }
.module-choice > .sector-switch { flex: 1 0 100%; max-width: 400px; margin: 0; }
.module-choice .sector-switch input[type="radio"] {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}
@media (prefers-reduced-motion: no-preference) {
    .sector-switch::before { transition: transform 220ms cubic-bezier(.22,.68,.2,1), opacity 160ms ease; }
    .sector-switch > a,
    .module-choice .sector-switch > label { transition: color 160ms ease; }
}
@media (prefers-reduced-motion: reduce) {
    .sector-switch::before,
    .sector-switch > a,
    .module-choice .sector-switch > label { transition: none; }
}
@media (max-width: 360px) {
    .sector-switch > a,
    .module-choice .sector-switch > label { padding: 10px 8px; font-size: 13px; gap: 6px; }
}
@supports not selector(:has(*)) {
    .sector-switch > a[aria-current],
    .sector-switch > a[aria-selected="true"] { background: #fff; box-shadow: 0 2px 7px #183c5710; }
    .module-choice .sector-switch input[type="radio"] { position: static; width: 16px; height: 16px; margin: 0; clip-path: none; }
}
.home-tabs.sector-switch > a[aria-current]::after,
.home-tabs.sector-switch > a[aria-selected="true"]::after { content: none; }

/* 2.1.30: raised, curved homepage tabs. Search fields and shared forms are untouched. */
.home-tabs.sector-switch {
    --tab-paper: #fff;
    --tab-ink: #102f51;
    position: relative;
    z-index: 11;
    isolation: isolate;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: end;
    gap: 0;
    width: 100%;
    max-width: none;
    height: 80px;
    padding: 0;
    margin: -24px 0 16px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.home-tabs.sector-switch::before {
    content: none;
}
.home-tabs.sector-switch::after {
    content: "";
    position: absolute;
    z-index: -1;
    inset: auto 0 -10px;
    height: 12px;
    background: var(--tab-paper);
    pointer-events: none;
}
.home-tabs.sector-switch > a {
    position: relative;
    isolation: isolate;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    min-width: 0;
    height: 64px;
    min-height: 0;
    padding: 10px 12px 8px;
    border: 0;
    border-radius: 18px 18px 0 0;
    background: transparent;
    box-shadow: none;
    color: var(--tab-ink);
    font-size: 16px;
    line-height: 1.35;
    text-decoration: none;
    transition: color 160ms ease;
}
.home-tabs.sector-switch > a::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    border-radius: 18px 18px 0 0;
    background: linear-gradient(135deg, #e0e8f0ed, #c2cfddf5);
    box-shadow: inset 0 1px 0 #ffffff80;
    pointer-events: none;
}
.home-tabs.sector-switch > a::after {
    content: none;
}
.home-tabs.sector-switch > a > .icon {
    width: 32px;
    height: 32px;
    color: var(--tab-ink);
    stroke-width: 1.6;
}
.home-tabs.sector-switch > a > span {
    position: relative;
    display: block;
    min-width: 0;
    text-align: left;
}
.home-tabs.sector-switch > a b {
    display: block;
    font-size: inherit;
    font-weight: 800;
    white-space: nowrap;
}
.home-tabs.sector-switch > a small {
    display: block;
    margin: 4px 0 0;
    color: #53657b;
    font-size: 10px;
    font-weight: 450;
    line-height: 1.4;
    white-space: nowrap;
}
.home-tabs.sector-switch > a[aria-current],
.home-tabs.sector-switch > a[aria-selected="true"] {
    z-index: 1;
    height: 80px;
    padding-bottom: 12px;
    border: 0;
    border-radius: 20px 20px 0 0;
    background: transparent;
    color: var(--tab-ink);
    box-shadow: none;
}
.home-tabs.sector-switch > a[aria-current]::before,
.home-tabs.sector-switch > a[aria-selected="true"]::before {
    inset: 0 -28px -1px 0;
    border-radius: 0;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 280 88' preserveAspectRatio='none'%3E%3Cpath fill='white' d='M24 0H218C231 0 235 10 239 23L250 55C254 69 260 77 280 77V88H0V24Q0 0 24 0Z'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
    box-shadow: none;
}
.home-tabs.sector-switch > a:nth-child(2)[aria-current]::before,
.home-tabs.sector-switch > a:nth-child(2)[aria-selected="true"]::before {
    inset: 0 0 -1px -28px;
    transform: scaleX(-1);
}
.home-tabs.sector-switch > a[aria-current] > span::before,
.home-tabs.sector-switch > a[aria-selected="true"] > span::before {
    content: "";
    position: absolute;
    top: 10px;
    left: -17px;
    width: 12px;
    height: 2px;
    border-radius: 2px;
    background: #ff671d;
}
.home-tabs.sector-switch > a:hover {
    background: transparent;
    border: 0;
    color: var(--tab-ink);
    text-decoration: none;
}
.home-tabs.sector-switch > a:hover > .icon {
    color: #ff671d;
}
.home-tabs.sector-switch > a:focus-visible {
    outline: 3px solid var(--brand-blue);
    outline-offset: -5px;
}
@media (max-width: 420px) {
    .home-tabs.sector-switch { height: 74px; }
    .home-tabs.sector-switch > a { height: 60px; gap: 20px; padding: 9px 7px; font-size: 15px; }
    .home-tabs.sector-switch > a > .icon { width: 27px; height: 27px; }
    .home-tabs.sector-switch > a[aria-current],
    .home-tabs.sector-switch > a[aria-selected="true"] { height: 74px; padding-bottom: 11px; }
    .home-tabs.sector-switch > a small { font-size: 9px; }
    .home-tabs.sector-switch > a[aria-current] > span::before,
    .home-tabs.sector-switch > a[aria-selected="true"] > span::before { left: -14px; width: 10px; top: 9px; }
}
@media (max-width: 340px) {
    .home-tabs.sector-switch > a { gap: 15px; font-size: 13px; }
    .home-tabs.sector-switch > a > .icon { width: 23px; height: 23px; }
    .home-tabs.sector-switch > a small { font-size: 8px; }
}
@media (prefers-reduced-motion: reduce) {
    .home-tabs.sector-switch > a { transition: none; }
}
