:root {
  --tmm-ink: #17191d;
  --tmm-charcoal: #25272b;
  --tmm-muted: #667085;
  --tmm-line: #e7e9ed;
  --tmm-accent: var(--tomi-red, #e5232a);
  --tmm-accent-dark: var(--tomi-red-dark, #bd171d);
  --tmm-panel-top: 96px;
}

body.tmm-lock { overflow: hidden; }
body.tmm-mega-open .tomiline-nb { display: none !important; }
body.tmm-nav-open .tomiline-nb { display: none !important; }

#site-navigation,
#site-navigation .menu-nowe-menu-container,
#site-navigation .nav-menu { position: static; }

#site-navigation .nav-menu > .menu-item { vertical-align: middle; }

#site-navigation .nav-menu > .menu-item > a,
#site-navigation .tmm-trigger {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 11px;
  border: 0;
  border-radius: 9px;
  color: #fff;
  background: transparent;
  font: inherit;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
  transition: background .16s ease, color .16s ease;
}

#site-navigation .nav-menu > .menu-item > a:hover,
#site-navigation .nav-menu > .menu-item > a:focus,
#site-navigation .tmm-trigger:hover,
#site-navigation .tmm-trigger:focus-visible,
#site-navigation .tmm-trigger[aria-expanded="true"] {
  color: #fff;
  background: rgba(255,255,255,.11);
  outline: 0;
}

#site-navigation .tmm-booking-link {
  color: #fff !important;
  background: var(--tmm-accent) !important;
  box-shadow: 0 7px 18px rgba(229,35,42,.22);
}

#site-navigation .tmm-booking-link:hover,
#site-navigation .tmm-booking-link:focus { background: var(--tmm-accent-dark) !important; }

.tmm-chevron {
  width: 8px;
  height: 8px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
  transition: transform .16s ease;
}

.tmm-trigger[aria-expanded="true"] .tmm-chevron { transform: translateY(2px) rotate(225deg); }

.tmm-mega {
  position: fixed;
  z-index: 99998;
  top: var(--tmm-panel-top);
  left: 50%;
  width: min(1380px, calc(100vw - 36px));
  max-height: calc(100vh - var(--tmm-panel-top) - 18px);
  color: var(--tmm-ink);
  background: #fff;
  border: 1px solid rgba(16,24,40,.1);
  border-radius: 16px;
  box-shadow: 0 24px 70px rgba(12,17,29,.2);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateX(-50%) translateY(-8px);
  transition: opacity .16s ease, transform .16s ease, visibility .16s ease;
  overflow: auto;
  overscroll-behavior: contain;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  text-align: left;
  white-space: normal;
}

.tmm-root.tmm-open .tmm-mega {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}

.tmm-layout { min-height: 500px; display: grid; grid-template-columns: 250px minmax(0,1fr); }
.tmm-rail { padding: 25px 18px; background: #f3f4f6; border-right: 1px solid var(--tmm-line); }
.tmm-eyebrow { margin: 0 10px 14px; color: #737986; font-size: 11px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.tmm-tabs { display: grid; gap: 6px; }
.tmm-tab {
  width: 100%;
  min-height: 60px;
  display: grid;
  grid-template-columns: 38px minmax(0,1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border: 0;
  border-radius: 12px;
  color: #343741;
  background: transparent;
  text-align: left;
  font: inherit;
  cursor: pointer;
}
#site-navigation .tmm-tab { color: #343741 !important; }
.tmm-tab:hover, .tmm-tab:focus-visible { color: #343741 !important; background: rgba(255,255,255,.72); outline: 0; }
.tmm-tab[aria-selected="true"] { color: #111318 !important; background: #fff; box-shadow: 0 8px 24px rgba(16,24,40,.08); }
.tmm-flag { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid #e1e4e8; border-radius: 10px; background: #fff; font-size: 21px; }
.tmm-tab strong, .tmm-tab:hover strong, .tmm-tab:focus-visible strong { display: block; color: #343741 !important; font-size: 14px; }
.tmm-tab[aria-selected="true"] strong { color: #111318 !important; }
.tmm-tab small { display: block; margin-top: 2px; color: #7b8190; font-size: 11px; }
.tmm-tab-arrow { color: #a1a6b0; font-size: 18px; font-weight: 900; }
.tmm-rail-card { margin: 22px 8px 0; padding: 15px; border-radius: 13px; color: #fff; background: var(--tmm-charcoal); }
.tmm-rail-card strong { display: block; font-size: 14px; }
.tmm-rail-card p { margin: 6px 0 12px; color: #d6d8dc; font-size: 12px; line-height: 1.5; }
.tmm-rail-card a { color: #fff; font-size: 12px; font-weight: 800; text-decoration: none; }

.tmm-content { min-width: 0; padding: 28px 32px 24px; }
.tmm-panel[hidden] { display: none !important; }
.tmm-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding-bottom: 20px; border-bottom: 1px solid var(--tmm-line); }
.tmm-heading h2 { margin: 0; color: var(--tmm-ink); font-family: inherit; font-size: 24px; font-weight: 800; line-height: 1.2; letter-spacing: -.025em; text-transform: none; }
.tmm-heading p { max-width: 670px; margin: 7px 0 0; color: var(--tmm-muted); font-size: 13px; line-height: 1.55; }
.tmm-all-link { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; padding: 8px 13px; border: 1px solid #dfe2e7; border-radius: 10px; color: #272a31 !important; font-size: 13px; font-weight: 800; text-decoration: none !important; white-space: nowrap; }
.tmm-all-link:hover, .tmm-all-link:focus { border-color: var(--tmm-accent); color: var(--tmm-accent) !important; }
.tmm-mobile-trust { display: none; }

.tmm-link-grid { display: grid; grid-template-columns: 1.15fr 1fr 1.05fr; gap: 30px; padding-top: 23px; }
.tmm-link-column h3 { margin: 0 0 11px; color: #747b87; font-family: inherit; font-size: 11px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.tmm-links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2px 12px; margin: 0; padding: 0; list-style: none; }
.tmm-links-one { grid-template-columns: 1fr; }
.tmm-links li { min-width: 0; margin: 0; padding: 0; border: 0; }
#site-navigation .tmm-links a { width: 100% !important; max-width: 100% !important; min-height: 34px; display: flex; align-items: center; box-sizing: border-box !important; padding: 6px 8px; border-radius: 8px; color: #353841 !important; font-size: 13px; font-weight: 620; line-height: 1.3; text-decoration: none !important; }
#site-navigation .tmm-links a:hover,
#site-navigation .tmm-links a:focus,
#site-navigation .tmm-links a:focus-visible {
  color: #fff !important;
  background: var(--tmm-accent) !important;
}
.tmm-links a::after { content: ""; width: 6px; height: 6px; margin-left: auto; border-top: 1.5px solid #b1b5bd; border-right: 1.5px solid #b1b5bd; opacity: 0; transform: translateX(-4px) rotate(45deg); transition: opacity .16s,transform .16s; }
#site-navigation .tmm-links a:hover::after,
#site-navigation .tmm-links a:focus::after,
#site-navigation .tmm-links a:focus-visible::after {
  border-color: #fff !important;
  opacity: 1;
  transform: translateX(0) rotate(45deg);
}
#site-navigation .tmm-quick-actions { display: grid !important; grid-template-columns: 1fr !important; grid-auto-rows: 64px; align-content: start !important; gap: 8px; height: auto !important; }
#site-navigation .tmm-quick-card { width: 100%; height: 64px !important; min-height: 64px !important; display: grid !important; grid-template-columns: 38px minmax(0,1fr) 12px !important; align-items: center !important; gap: 10px; padding: 9px 11px !important; overflow: hidden; border: 1px solid var(--tmm-line); border-radius: 12px; color: #272a31 !important; background: #fff !important; line-height: 1.2 !important; text-decoration: none !important; }
.tmm-quick-card:hover, .tmm-quick-card:focus { border-color: rgba(229,35,42,.34); box-shadow: 0 9px 26px rgba(16,24,40,.08); }
#site-navigation .tmm-quick-icon { width: 38px; height: 38px; display: grid !important; place-items: center; border-radius: 10px; color: var(--tmm-accent); background: #fff0f1; font-size: 16px; }
#site-navigation .tmm-quick-card > span:nth-child(2) { display: block !important; min-width: 0; }
#site-navigation .tmm-quick-card strong { display: block !important; margin: 0 !important; color: #272a31 !important; font-size: 13px; line-height: 1.2 !important; }
#site-navigation .tmm-quick-card small { display: block !important; margin-top: 3px; color: var(--tmm-muted) !important; font-size: 11px; line-height: 1.2 !important; }
#site-navigation .tmm-quick-card > span:last-child { display: block !important; color: #9aa0aa; }

.tmm-footer { margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--tmm-line); display: flex; align-items: center; justify-content: space-between; gap: 20px; color: var(--tmm-muted); font-size: 12px; }
#site-navigation .tmm-help-call { min-height: 48px; display: inline-flex !important; align-items: center; gap: 10px; padding: 8px 15px 8px 9px !important; border-radius: 12px; color: #fff !important; background: var(--tmm-charcoal) !important; box-shadow: 0 8px 22px rgba(16,24,40,.16); text-decoration: none !important; white-space: nowrap; line-height: 1.2; }
.tmm-help-icon { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 9px; color: #fff; background: var(--tmm-accent); font-size: 15px; }
.tmm-help-call > span:last-child { display: grid; gap: 1px; }
.tmm-help-call small { color: #cfd2d7; font-size: 10px; font-weight: 650; }
.tmm-help-call strong { color: #fff; font-size: 14px; }
#site-navigation .tmm-help-call:hover, #site-navigation .tmm-help-call:focus { background: #15171a !important; }
.tmm-mobile-actions { display: none !important; list-style: none !important; }
.tmm-call-item { display: none !important; list-style: none !important; }

@media (min-width: 921px) {
  #top .row { display: flex; flex-wrap: nowrap; align-items: center; }
  #top .logo { width: 20%; }
  #top .menu-top { width: 60%; }
  #top .row > .col-md-3:last-child { width: 20%; }
  #site-navigation .nav-menu { display: flex !important; flex-wrap: nowrap; align-items: center; justify-content: center; gap: 3px; }
  #site-navigation .nav-menu > li { float: none !important; flex: 0 0 auto; }
}

@media (max-width: 1180px) and (min-width: 921px) {
  #top .logo { width: 20%; }
  #top .menu-top { width: 60%; }
  #top .row > .col-md-3:last-child { width: 20%; }
  #site-navigation .nav-menu > .menu-item > a, #site-navigation .tmm-trigger { padding-inline: 7px; font-size: 12px; }
  #site-navigation .tmm-optional-item { display: none !important; }
  #site-navigation .tmm-compact-hide { display: none !important; }
  .tmm-layout { grid-template-columns: 224px minmax(0,1fr); }
  .tmm-content { padding-inline: 24px; }
  .tmm-link-grid { gap: 20px; }
  #site-navigation .tmm-quick-card small { display: none !important; }
}

@media (max-width: 920px) {
  #site-navigation .nav-menu.toggled-on,
  #site-navigation .nav-menu.tmm-theme-open {
    position: fixed !important;
    z-index: 99997;
    top: var(--tmm-panel-top);
    left: 0;
    right: 0;
    bottom: 0;
    display: block !important;
    margin: 0 !important;
    padding: 8px 0 88px !important;
    background: #fff;
    overflow-y: auto;
    overscroll-behavior: contain;
    text-align: left;
  }
  #site-navigation .nav-menu > .menu-item { display: block; margin: 0 16px; }
  #site-navigation .nav-menu > .tmm-root { margin: 0 16px; }
  #site-navigation .nav-menu > .menu-item > a {
    width: 100%;
    min-height: 52px;
    justify-content: space-between;
    padding: 0 16px;
    border-bottom: 1px solid #e3e6ea;
    border-radius: 0;
    color: #272a31;
    background: transparent;
    font-size: 14px;
  }
  #site-navigation .nav-menu > .menu-item > a::after { content: "›"; margin-left: auto; color: #a0a5ae; font-size: 20px; }
  #site-navigation .nav-menu > .menu-item > a:hover,
  #site-navigation .nav-menu > .menu-item > a:focus,
  #site-navigation .nav-menu > .menu-item > a:active {
    color: #272a31 !important;
    background: #f7f8f9 !important;
  }
  #site-navigation .nav-menu > .tmm-booking-item { display: none; }
  #site-navigation .tmm-trigger {
    width: 100%;
    min-height: 52px;
    justify-content: space-between;
    padding: 0 18px;
    border-bottom: 1px solid #e3e6ea;
    border-radius: 0;
    color: #202329;
    background: transparent;
    font-size: 14px;
  }
  #site-navigation .tmm-trigger:hover,
  #site-navigation .tmm-trigger:focus-visible,
  #site-navigation .tmm-trigger[aria-expanded="true"] { color: #202329 !important; background: #f7f8f9; }
  #site-navigation .tmm-trigger .tmm-chevron { transform: rotate(-45deg); }
  #site-navigation .tmm-trigger[aria-expanded="true"] .tmm-chevron { transform: rotate(45deg); }
  .tmm-mega {
    position: static;
    width: 100%;
    max-height: none;
    border: 1px solid #e4e7eb;
    border-radius: 12px;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
    display: none;
    overflow: visible;
  }
  .tmm-root.tmm-open .tmm-mega { display: block; transform: none; }
  .tmm-layout { min-height: 0; display: block; }
  .tmm-rail { padding: 16px; border-right: 0; border-bottom: 1px solid var(--tmm-line); background: #fff; }
  .tmm-eyebrow { margin: 0 0 10px; color: #5e6470; }
  .tmm-tabs { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
  .tmm-tab { min-height: 58px; grid-template-columns: 34px minmax(0,1fr); padding: 9px 10px; border: 1px solid #e1e4e8; background: #fff; }
  .tmm-tab:hover, .tmm-tab:focus-visible, .tmm-tab:active { color: #343741 !important; background: #fff !important; }
  .tmm-tab[aria-selected="true"] { color: #111318 !important; border-color: var(--tmm-accent); background: #fff !important; box-shadow: 0 0 0 2px rgba(229,35,42,.1); }
  .tmm-tab small, .tmm-tab-arrow { display: none; }
  .tmm-tab strong { font-size: 13px; line-height: 1.2; }
  .tmm-flag { width: 34px; height: 34px; font-size: 19px; }
  .tmm-rail-card { display: none; }
  .tmm-content { padding: 18px 16px 22px; }
  .tmm-heading { display: block; }
  .tmm-heading h2 { font-size: 21px; }
  .tmm-heading p { margin-top: 5px; font-size: 12px; line-height: 1.45; }
  .tmm-all-link { width: 100%; min-height: 46px; margin-top: 13px; }
  .tmm-mobile-trust { display: flex; align-items: center; gap: 8px; margin-top: 13px; color: #4e5561; font-size: 12px; font-weight: 700; }
  .tmm-mobile-trust span { color: #149447; }
  .tmm-link-grid { grid-template-columns: 1fr; gap: 22px; padding-top: 20px; }
  .tmm-quick-column { display: none !important; }
  .tmm-links { column-gap: 8px; }
  .tmm-links li:nth-child(n+9) { display: none; }
  .tmm-links a { min-height: 44px; padding: 9px 10px; border-bottom: 1px solid #eceef1; border-radius: 0; }
  .tmm-links a::after { opacity: 1; transform: rotate(45deg); }
  .tmm-footer { display: none; }
  .tmm-mobile-actions {
    position: fixed;
    z-index: 99999;
    left: 0;
    right: 0;
    bottom: 0;
    display: none;
    gap: 8px;
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
    background: rgba(255,255,255,.97);
    border-top: 1px solid #e1e4e8;
    box-shadow: 0 -10px 28px rgba(16,24,40,.12);
  }
  body.tmm-mobile-open .tmm-mobile-actions { display: flex !important; }
  .tmm-mobile-actions a { min-height: 50px; display: flex; align-items: center; justify-content: center; gap: 8px; border-radius: 11px; color: #fff !important; font-size: 14px; font-weight: 850; text-decoration: none !important; }
  .tmm-mobile-call { flex: .8; background: var(--tmm-charcoal); box-shadow: 0 7px 18px rgba(16,24,40,.17); }
  .tmm-mobile-book { flex: 1.2; background: var(--tmm-accent); box-shadow: 0 7px 18px rgba(229,35,42,.22); }
  #site-navigation .tmm-call-item { display: block !important; margin: 14px 16px 20px; }
  #site-navigation .tmm-call-link {
    min-height: 58px;
    display: grid !important;
    grid-template-columns: 34px minmax(0,1fr);
    align-items: center;
    column-gap: 10px;
    padding: 9px 13px !important;
    border: 0 !important;
    border-radius: 11px !important;
    color: #fff !important;
    background: var(--tmm-charcoal) !important;
    box-shadow: 0 8px 20px rgba(16,24,40,.16);
    text-decoration: none !important;
  }
  #site-navigation .tmm-call-link > span:first-child { grid-row: 1 / span 2; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 9px; background: var(--tmm-accent); }
  #site-navigation .tmm-call-link > span:nth-child(2) { align-self: end; font-size: 13px; font-weight: 850; }
  #site-navigation .tmm-call-link strong { align-self: start; color: #d9dce1; font-size: 11px; font-weight: 700; }
  #site-navigation .tmm-call-link::after { display: none !important; }
}

@media (max-width: 560px) {
  .tmm-links { grid-template-columns: 1fr 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .tmm-mega, .tmm-chevron, .tmm-links a::after { transition: none !important; }
}
