/* Theme 2026 public UI system: shared shell, navigation, and interior geometry. */
.tgo-theme-2026 {
    --tgo-shell-max: 1240px;
    --tgo-shell-gutter: 24px;
    --tgo-utility-height: 32px;
    --tgo-header-height: 72px;
    --tgo-header-total-height: 104px;
    --tgo-shell-ink: #12343d;
    --tgo-shell-muted: #55717a;
    --tgo-shell-cyan: var(--tgo-color-primary);
    --tgo-shell-cyan-deep: var(--tgo-color-primary-hover);
    --tgo-shell-mint: #71c99d;
    --tgo-shell-line: #d9e9ed;
    --tgo-shell-surface: #f5fbfc;
}

.tgo-theme-2026 .tgo-container,
.tgo-theme-2026 .tgo-public-container {
    width: min(var(--tgo-shell-max), calc(100% - (var(--tgo-shell-gutter) * 2)));
    max-width: var(--tgo-shell-max);
}

.tgo-theme-2026 .tgo-public-shell__header {
    position: sticky;
    z-index: 100;
    top: 0;
}

.tgo-theme-2026 .tgo-site-header {
    position: relative;
    background: #fff;
    box-shadow: 0 8px 24px rgba(17, 72, 84, .09);
}

.tgo-theme-2026 .tgo-utility {
    height: var(--tgo-utility-height);
    background: linear-gradient(90deg, #078fb4, var(--tgo-shell-cyan));
    color: #fff;
    font-size: 12px;
}

.tgo-theme-2026 .tgo-utility .tgo-container {
    display: flex;
    width: min(var(--tgo-shell-max), calc(100% - (var(--tgo-shell-gutter) * 2)));
    max-width: var(--tgo-shell-max);
    height: var(--tgo-utility-height);
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.tgo-theme-2026 .tgo-utility-contact,
.tgo-theme-2026 .tgo-utility-right,
.tgo-theme-2026 .tgo-utility-contact a,
.tgo-theme-2026 .tgo-utility-search,
.tgo-theme-2026 .tgo-language-current {
    display: flex;
    align-items: center;
}

.tgo-theme-2026 .tgo-utility-contact { gap: 4px; min-width: 0; }
.tgo-theme-2026 .tgo-utility-contact a {
    min-height: 24px;
    gap: 7px;
    padding: 0 11px;
    border-right: 1px solid rgba(255, 255, 255, .24);
    color: #fff;
    white-space: nowrap;
}
.tgo-theme-2026 .tgo-utility-contact a:first-child { padding-left: 0; }
.tgo-theme-2026 .tgo-utility-contact img,
.tgo-theme-2026 .tgo-utility-search img,
.tgo-theme-2026 .tgo-language-current img { width: 16px; height: 16px; object-fit: contain; filter: brightness(0) invert(1); }
.tgo-theme-2026 .tgo-utility-right { flex: 0 0 auto; gap: 12px; }
.tgo-theme-2026 .tgo-utility-search { min-height: 28px; gap: 6px; color: #fff; white-space: nowrap; }
.tgo-theme-2026 .tgo-language-switcher { position: relative; height: var(--tgo-utility-height); }
.tgo-theme-2026 .tgo-language-current { height: var(--tgo-utility-height); gap: 5px; }
.tgo-theme-2026 button.tgo-language-current { min-height: var(--tgo-utility-height); padding: 0 5px; border: 0; border-radius: 6px; background: transparent; color: #fff; font: inherit; cursor: pointer; }
.tgo-theme-2026 .tgo-language-current:hover,
.tgo-theme-2026 .tgo-language-current:focus-visible { background: rgba(0, 66, 86, .32) !important; color: #fff !important; }
.tgo-theme-2026 .tgo-font-size-controls { gap: 5px; }
.tgo-theme-2026 .tgo-font-size-controls button { min-width: 24px; min-height: 24px; }

.tgo-theme-2026 .tgo-nav-row {
    position: relative;
    z-index: 2;
    display: flex;
    width: min(var(--tgo-shell-max), calc(100% - (var(--tgo-shell-gutter) * 2)));
    max-width: var(--tgo-shell-max);
    min-height: var(--tgo-header-height);
    align-items: center;
    gap: 34px;
}

.tgo-theme-2026 .tgo-brand {
    position: relative;
    display: flex;
    width: 118px;
    height: var(--tgo-header-height);
    flex: 0 0 118px;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 0 0 12px 12px;
    background: #fff;
    box-shadow: 0 5px 14px rgba(17, 72, 84, .12);
    isolation: isolate;
}
.tgo-theme-2026 .tgo-brand::after { display: none; }
.tgo-theme-2026 .tgo-brand img {
    position: static;
    width: auto;
    height: auto;
    max-width: 52px;
    max-height: 64px;
    object-fit: contain;
    filter: none;
}
body.tgo-site-theme--soft .tgo-brand,
body.tgo-site-theme--soft .tgo-brand img { filter: none; }
body.tgo-site-theme--soft .tgo-brand { background: #fff; }
.tgo-theme-2026 .tgo-navigation { display: block; width: auto; min-width: 0; flex: 1 1 auto; margin-left: auto; }
.tgo-theme-2026 .tgo-navigation-desktop { display: block; }
.tgo-theme-2026 .tgo-navigation-mobile { display: none; }
.tgo-theme-2026 .tgo-navigation-desktop .tgo-nav-level-0 { height: var(--tgo-header-height); align-items: stretch; justify-content: space-between; gap: 4px; }
.tgo-theme-2026 .tgo-navigation-desktop .tgo-mega-item { position: static; display: flex; height: var(--tgo-header-height); align-items: stretch; }
.tgo-theme-2026 .tgo-navigation-desktop .tgo-mega-item > a,
.tgo-theme-2026 .tgo-navigation-desktop .tgo-mega-trigger {
    display: inline-flex;
    height: var(--tgo-header-height);
    min-width: 0;
    align-items: center;
    justify-content: center;
    padding: 0 12px;
    border-bottom: 3px solid transparent;
    color: var(--tgo-shell-ink);
    font-size: 15px;
    font-weight: 500;
    line-height: 20px;
    white-space: nowrap;
}
.tgo-theme-2026 .tgo-navigation-desktop .tgo-mega-trigger { gap: 10px; border-top: 0; border-right: 0; border-left: 0; background: transparent; font: inherit; cursor: pointer; }
.tgo-theme-2026 .tgo-mega-trigger span { width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; font-size: 0; transform: rotate(45deg); transition: transform .18s ease; }
.tgo-theme-2026 .tgo-mega-trigger[aria-expanded="true"] span { transform: rotate(225deg); }
.tgo-theme-2026 .tgo-navigation-desktop .tgo-mega-item:hover > a,
.tgo-theme-2026 .tgo-navigation-desktop .tgo-mega-item:focus-within > a,
.tgo-theme-2026 .tgo-navigation-desktop .tgo-mega-item.is-active > a,
.tgo-theme-2026 .tgo-navigation-desktop .tgo-mega-item.is-mega-open > a,
.tgo-theme-2026 .tgo-navigation-desktop .tgo-mega-item.is-mega-open > .tgo-mega-trigger,
.tgo-theme-2026 .tgo-nav-level li.is-current > a { border-bottom-color: var(--tgo-shell-cyan); color: var(--tgo-shell-cyan); }

.tgo-theme-2026 .tgo-mega-panel {
    position: fixed;
    z-index: 90;
    top: var(--tgo-header-total-height);
    right: 0;
    left: 0;
    width: 100vw;
    max-height: calc(100vh - var(--tgo-header-total-height));
    overflow: auto;
    border-top: 1px solid var(--tgo-shell-line);
    background: rgba(255, 255, 255, .98);
    box-shadow: 0 20px 42px rgba(17, 72, 84, .16);
}
.tgo-theme-2026 .tgo-mega-layout { display: grid; width: min(var(--tgo-shell-max), calc(100% - (var(--tgo-shell-gutter) * 2))); min-height: 340px; margin: 0 auto; grid-template-columns: 300px minmax(0, 1fr); }
.tgo-theme-2026 .tgo-mega-categories { padding: 22px 0 28px; border-right: 1px solid var(--tgo-shell-line); background: #f7fcfd; }
.tgo-theme-2026 .tgo-mega-category { display: flex; width: 100%; min-height: 54px; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 22px 12px 26px; border: 0; border-left: 4px solid transparent; border-bottom: 1px solid #e3eff1; background: transparent; color: var(--tgo-shell-ink); font: 500 15px/22px Prompt, Arial, sans-serif; text-align: left; cursor: pointer; }
.tgo-theme-2026 .tgo-mega-category:hover,
.tgo-theme-2026 .tgo-mega-category:focus-visible,
.tgo-theme-2026 .tgo-mega-category.is-selected { border-left-color: var(--tgo-shell-cyan); background: #fff; color: var(--tgo-shell-cyan-deep); font-weight: 600; }
.tgo-theme-2026 .tgo-mega-groups { min-width: 0; padding: 28px 34px 40px; }
.tgo-theme-2026 .tgo-mega-group-link { display: inline-flex; max-width: 820px; align-items: center; gap: 10px; margin: 0 0 12px; padding: 10px 16px; border: 1px solid #bde2e8; border-radius: 999px; background: #f3fbfc; color: var(--tgo-shell-cyan-deep); font-size: 14px; font-weight: 600; line-height: 22px; }
.tgo-theme-2026 .tgo-mega-group-link:hover,
.tgo-theme-2026 .tgo-mega-group-link:focus-visible { border-color: var(--tgo-shell-cyan); background: #e5f7fa; }
.tgo-theme-2026 .tgo-mega-destinations { display: grid; margin: 0; padding: 0; gap: 4px; list-style: none; }
.tgo-theme-2026 .tgo-mega-destinations > li > a { display: block; max-width: 820px; padding: 12px 16px; border-radius: 9px; color: var(--tgo-shell-ink); font-size: 15px; font-weight: 500; line-height: 24px; overflow-wrap: anywhere; }
.tgo-theme-2026 .tgo-navigation-unresolved { display: block; max-width: 820px; padding: 12px 16px; color: #6f7f84; font-size: 15px; font-weight: 500; line-height: 24px; overflow-wrap: anywhere; cursor: not-allowed; }
.tgo-theme-2026 .tgo-mega-destinations > li.is-active > a,
.tgo-theme-2026 .tgo-mega-destinations > li > a:hover,
.tgo-theme-2026 .tgo-mega-destinations > li > a:focus-visible { background: #eaf8fb; color: var(--tgo-shell-cyan-deep); }
.tgo-theme-2026 .tgo-mega-destination-children { margin-left: 24px; }
.tgo-theme-2026 .tgo-mega-destination-children .tgo-mega-destinations > li > a { padding-top: 8px; padding-bottom: 8px; color: var(--tgo-shell-muted); font-size: 14px; line-height: 22px; }

.tgo-theme-2026 .tgo-public-content { background-color: var(--tgo-shell-surface); }
.tgo-theme-2026 .tgo-interior-hero { min-height: 250px; background: linear-gradient(115deg, #eaf8fa 0%, #f8fcfd 62%, #dff4ec 100%); }
.tgo-theme-2026 .tgo-interior-hero .tgo-public-container { min-height: 250px; padding-top: 4px; padding-bottom: 42px; }
.tgo-theme-2026 .tgo-interior-hero h1 { color: var(--tgo-shell-cyan-deep); font-weight: 600; }
.tgo-theme-2026 .tgo-interior-hero__breadcrumbs { min-height: 42px; color: var(--tgo-shell-muted); }
.tgo-theme-2026 .tgo-interior-hero__breadcrumbs [aria-current="page"] { color: var(--tgo-shell-cyan-deep); font-weight: 500; }
.tgo-theme-2026 .tgo-public-content { padding-top: clamp(42px, 5vw, 68px); padding-bottom: clamp(56px, 7vw, 92px); }

@media (max-width: 1100px) {
    .tgo-theme-2026 { --tgo-shell-gutter: 20px; }
    .tgo-theme-2026 .tgo-nav-row { gap: 20px; }
    .tgo-theme-2026 .tgo-navigation-desktop .tgo-mega-item > a,
    .tgo-theme-2026 .tgo-navigation-desktop .tgo-mega-trigger { padding-right: 8px; padding-left: 8px; font-size: 14px; }
}

@media (max-width: 1024px) {
    .tgo-theme-2026 { --tgo-header-height: 68px; --tgo-header-total-height: 100px; }
    .tgo-theme-2026 .tgo-utility-contact { display: none; }
    .tgo-theme-2026 .tgo-utility .tgo-container { width: calc(100% - 32px); }
    .tgo-theme-2026 .tgo-nav-row { width: 100%; padding: 0 16px; gap: 16px; }
    .tgo-theme-2026 .tgo-brand { width: 100px; height: var(--tgo-header-height); flex-basis: 100px; }
    .tgo-theme-2026 .tgo-brand img { width: auto; height: auto; max-width: 48px; max-height: 60px; }
    .tgo-theme-2026 .tgo-menu-toggle { display: inline-flex; min-width: 84px; min-height: 44px; align-items: center; justify-content: center; margin-left: auto; padding: 9px 16px; border: 1px solid var(--tgo-shell-cyan); border-radius: 9px; background: #fff; color: var(--tgo-shell-cyan-deep); font: 600 14px/22px Prompt, Arial, sans-serif; }
    .tgo-theme-2026 .tgo-navigation { position: absolute; top: 100%; right: 0; left: 0; display: none; width: auto; max-height: calc(100vh - var(--tgo-header-total-height)); margin: 0; overflow: auto; border-top: 1px solid var(--tgo-shell-line); background: #fff; box-shadow: 0 16px 30px rgba(17, 72, 84, .14); }
    .tgo-theme-2026 .tgo-navigation.is-open { display: block; }
    .tgo-theme-2026 .tgo-navigation-desktop { display: none; }
    .tgo-theme-2026 .tgo-navigation-mobile { display: block; padding: 10px 16px 20px; }
    .tgo-theme-2026 .tgo-navigation-mobile .tgo-nav-level { display: block; }
    .tgo-theme-2026 .tgo-navigation-mobile li { border-bottom: 1px solid #e4eff1; }
    .tgo-theme-2026 .tgo-navigation-mobile a,
    .tgo-theme-2026 .tgo-navigation-mobile .tgo-submenu-toggle,
    .tgo-theme-2026 .tgo-navigation-mobile .tgo-navigation-unresolved { display: flex; width: 100%; min-height: 48px; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 8px; border: 0; background: transparent; color: var(--tgo-shell-ink); font: 500 15px/24px Prompt, Arial, sans-serif; text-align: left; }
    .tgo-theme-2026 .tgo-navigation-mobile .tgo-navigation-unresolved { color: #728287; }
    .tgo-theme-2026 .tgo-navigation-mobile a:hover,
    .tgo-theme-2026 .tgo-navigation-mobile a:focus-visible,
    .tgo-theme-2026 .tgo-navigation-mobile .tgo-submenu-toggle:hover,
    .tgo-theme-2026 .tgo-navigation-mobile .tgo-submenu-toggle:focus-visible { background: #eef9fb; color: var(--tgo-shell-cyan-deep); }
    .tgo-theme-2026 .tgo-navigation-mobile .tgo-nav-level-1,
    .tgo-theme-2026 .tgo-navigation-mobile .tgo-nav-level-2 { padding: 0 0 6px 16px; }
    .tgo-theme-2026 .tgo-navigation-mobile .tgo-nav-level-1 a,
    .tgo-theme-2026 .tgo-navigation-mobile .tgo-nav-level-1 .tgo-submenu-toggle { min-height: 44px; padding-top: 9px; padding-bottom: 9px; color: var(--tgo-shell-muted); font-size: 14px; }
    .tgo-theme-2026 .tgo-navigation-mobile .tgo-submenu-inline-destination > a { margin: 4px 0; border-radius: 8px; background: #eef9fb; color: var(--tgo-shell-cyan-deep); font-weight: 600; }
}

@media (max-width: 640px) {
    .tgo-theme-2026 { --tgo-shell-gutter: 14px; }
    .tgo-theme-2026 .tgo-utility .tgo-container { width: calc(100% - 28px); }
    .tgo-theme-2026 .tgo-utility-search span,
    .tgo-theme-2026 .tgo-font-size-label { display: none; }
    .tgo-theme-2026 .tgo-utility-right { gap: 8px; }
    .tgo-theme-2026 .tgo-nav-row { padding-right: 14px; padding-left: 14px; }
    .tgo-theme-2026 .tgo-brand { width: 86px; flex-basis: 86px; }
    .tgo-theme-2026 .tgo-brand img { width: auto; height: auto; max-width: 44px; max-height: 56px; }
    .tgo-theme-2026 .tgo-menu-toggle { min-width: 76px; }
    .tgo-theme-2026 .tgo-interior-hero { min-height: 210px; }
    .tgo-theme-2026 .tgo-interior-hero .tgo-public-container { min-height: 210px; padding-bottom: 30px; }
}

@media (prefers-reduced-motion: reduce) {
    .tgo-theme-2026 .tgo-mega-trigger span { transition: none; }
}
