
.mtt-page .schengen-page .schengen-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }.mtt-page .schengen-page {
  --sc-ink: var(--mtt-blue-dark, #122b50);
  --sc-blue: var(--mtt-blue, #3984f3);
  --sc-soft: #f3f7fe;
  --sc-line: #dce6f4;
  --sc-muted: #637188;
  --sc-warm: #a54a15;
  --sc-warm-bg: #fff5ea;
  --sc-radius: 16px;
  color: var(--sc-ink);
}.mtt-page .schengen-page [hidden] { display: none; }.mtt-page .schengen-page p { letter-spacing: normal; line-height: 1.6; }.mtt-page .schengen-page .mtt-page-hero {
  width: min(1140px, calc(100% - 48px)); max-width: 1140px;
  display: flex; align-items: center; gap: 32px; min-height: 0;
  margin: 0 auto 36px; padding: 22px 0 12px;
  background: transparent; border: 0;
}.mtt-page .schengen-page .mtt-page-hero .bh-hero-copy { width: 55%; max-width: 610px; padding: 0; margin: 0; }.mtt-page .schengen-page .mtt-page-hero h1 { font-size: clamp(32px, 3.2vw, 48px); line-height: 1.12; max-width: 600px; margin-block: 12px 18px; }.mtt-page .schengen-page .mtt-page-hero p { max-width: 530px; font-size: 17px; }.mtt-page .schengen-page .mtt-page-hero-art { display: flex; position: static; flex: 1; width: 43%; max-width: 490px; height: 315px; margin: 0; padding: 0; opacity: 1; }.mtt-page .schengen-page .mtt-page-hero-art img { width: 100%; height: 100%; max-height: none; object-fit: contain; }.mtt-page .schengen-page #schengen-calculator-app { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr); gap: 32px 44px; align-items: start; width: min(1140px, calc(100% - 48px)); max-width: 1140px; padding: 0; margin: 0 auto 64px; scroll-margin-top: 110px; }.mtt-page .schengen-page .schengen-tool-heading { grid-column: 1/-1; display: flex; align-items: end; justify-content: space-between; gap: 20px; padding-block: 8px 24px; border-bottom: 1px solid var(--sc-line); }.mtt-page .schengen-page .schengen-tool-heading h2 { font-size: 28px; margin: 8px 0 0; }.mtt-page .schengen-page .schengen-tool-heading a { color: #2565c4; font-size: 14px; white-space: nowrap; padding-block: 12px; }.mtt-page .schengen-page .eyebrow { font-size: 11px; font-weight: 500; letter-spacing: .08em; color: #2864b6; text-transform: uppercase; margin: 0 0 8px; }.mtt-page .schengen-page .schengen-workbench, .mtt-page .schengen-page .schengen-result-column { min-width: 0; }.mtt-page .schengen-page .schengen-trip-editor { background: transparent; border: 0; padding: 0; box-shadow: none; }.mtt-page .schengen-page .schengen-panel-head { display: flex; align-items: start; justify-content: space-between; gap: 16px; margin-bottom: 20px; }.mtt-page .schengen-page .schengen-panel-head h2 { font-size: 25px; line-height: 1.25; margin: 0 0 8px; }.mtt-page .schengen-page .schengen-panel-head p:not(.eyebrow) { font-size: 14px; color: var(--sc-muted); margin: 0; max-width: 440px; }.mtt-page .schengen-page .schengen-trip-editor > .schengen-panel-head .eyebrow { display: none; }.mtt-page .schengen-page input:not([type=checkbox]):not([type=radio]):not([type=range]), .mtt-page .schengen-page select { box-sizing: border-box; min-width: 0; width: 100%; max-width: 100%; min-height: 46px; padding: 11px 12px; border: 1px solid var(--sc-line); border-radius: 9px; background: #fff; color: var(--sc-ink); font: inherit; font-size: 14px; }.mtt-page .schengen-page input[type=date] { min-inline-size: 0; }.mtt-page .schengen-page input[type=checkbox], .mtt-page .schengen-page input[type=radio] { accent-color: #286dd4; flex: 0 0 auto; }.mtt-page .schengen-page input[aria-invalid=true] { border-color: #b44d1f; background: #fffaf5; }.mtt-page .schengen-page label { color: var(--sc-ink); font-size: 13px; font-weight: 500; }.mtt-page .schengen-page label > input, .mtt-page .schengen-page label > select, .mtt-page .schengen-page label > .schengen-country-combobox { margin-top: 6px; }.mtt-page .schengen-page button, .mtt-page .schengen-page summary, .mtt-page .schengen-page a { -webkit-tap-highlight-color: transparent; }.mtt-page .schengen-page button { cursor: pointer; }.mtt-page .schengen-page :is(button,input,select,summary,a):focus-visible { outline: 3px solid #1d64cf; outline-offset: 3px; }.mtt-page .schengen-page button:disabled { cursor: wait; opacity: .6; }.mtt-page .schengen-page .schengen-text-button { border: 0; background: transparent; color: #2565c4; font-size: 13px; font-weight: 500; min-height: 44px; padding: 8px; border-radius: 8px; }.mtt-page .schengen-page .schengen-text-button:hover { background: var(--sc-soft); }.mtt-page .schengen-page .schengen-modes { display: grid; grid-template-columns: 1fr 1fr; padding: 5px; margin: 0 0 24px; border: 0; border-radius: 11px; background: #eff4fc; gap: 4px; min-width: 0; }.mtt-page .schengen-page .schengen-modes legend { position: absolute; width: 1px; height: 1px; clip-path: inset(50%); overflow: hidden; }.mtt-page .schengen-page .schengen-modes label { display: flex; align-items: center; justify-content: center; gap: 7px; min-height: 46px; border-radius: 8px; cursor: pointer; font-size: 14px; padding: 6px; }.mtt-page .schengen-page .schengen-modes label:has(:checked) { background: #fff; color: #215fbd; box-shadow: 0 2px 6px #1d468910; }.mtt-page .schengen-page .schengen-modes input { margin: 0; width: 14px; height: 14px; }.mtt-page .schengen-page .schengen-reference-row { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 20px; align-items: end; }.mtt-page .schengen-page .schengen-reference-row p { font-size: 12px; color: var(--sc-muted); margin: 0 0 4px; }.mtt-page .schengen-page .schengen-plan-inputs { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 12px 20px; margin-top: 16px; }.mtt-page .schengen-page .schengen-plan-inputs > p { grid-column: 1/-1; font-size: 12px; color: var(--sc-muted); margin: 0; }.mtt-page .schengen-page .schengen-duration-input { display: block; position: relative; }.mtt-page .schengen-page .schengen-duration-input > span { position: absolute; inset-inline-end: 34px; top: 21px; color: var(--sc-muted); font-size: 13px; pointer-events: none; }.mtt-page .schengen-page .schengen-duration-input input { padding-inline-end: 72px; }.mtt-page .schengen-page .schengen-mode-help { font-size: 13px; color: var(--sc-muted); margin: 14px 0; }.mtt-page .schengen-page .schengen-permit-help { background: transparent; border: 0; font-size: 12px; margin: 0 0 18px; }.mtt-page .schengen-page summary { cursor: pointer; min-height: 44px; padding-block: 12px; font-weight: 500; }.mtt-page .schengen-page .schengen-permit-help p { color: var(--sc-muted); font-size: 13px; margin-top: 0; }.mtt-page .schengen-page .schengen-trip-section-head { display: flex; align-items: baseline; justify-content: space-between; margin-top: 24px; gap: 8px; }.mtt-page .schengen-page .schengen-trip-section-head h3 { font-size: 17px; margin: 0 0 12px; }.mtt-page .schengen-page .schengen-trip-section-head > span { font-size: 12px; color: var(--sc-muted); }.mtt-page .schengen-page .schengen-trip-card { position: relative; border: 0; border-top: 1px solid var(--sc-line); padding: 12px 0 4px; margin: 0; background: transparent; border-radius: 0; box-shadow: none; }.mtt-page .schengen-page .schengen-trip-card.has-overlap { border-top-color: #dc9866; background: #fffbf7; }.mtt-page .schengen-page .schengen-trip-card__head { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-bottom: 6px; }.mtt-page .schengen-page .schengen-trip-card__head > div { display: flex; align-items: center; gap: 10px; }.mtt-page .schengen-page .schengen-trip-card__head strong { font-size: 14px; }.mtt-page .schengen-page [data-trip-status] { color: var(--sc-muted); font-size: 12px; }.mtt-page .schengen-page .schengen-date-grid { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr); gap: 9px; }.mtt-page .schengen-page .schengen-date-grid label { font-size: 12px; }.mtt-page .schengen-page .schengen-trip-days { grid-column: 1/-1; color: #2864b6; font-size: 13px; font-weight: 500; margin-top: 5px; }.mtt-page .schengen-page .schengen-trip-options { display: inline-block; font-size: 12px; color: var(--sc-muted); }.mtt-page .schengen-page .schengen-trip-options summary { padding-block: 10px; }.mtt-page .schengen-page .schengen-country-note { font-size: 12px; color: var(--sc-muted); margin: 0 0 6px; }.mtt-page .schengen-page .schengen-trip-error, .mtt-page .schengen-page .schengen-trip-overlap { font-size: 13px; color: #98421a; margin: 4px 0 12px; }.mtt-page .schengen-page .schengen-overlap-notice, .mtt-page .schengen-page .schengen-future-notice, .mtt-page .schengen-page .schengen-example-note { border-radius: 10px; background: var(--sc-warm-bg); color: #7e431e; padding: 12px 16px; font-size: 13px; margin-bottom: 12px; }.mtt-page .schengen-page .schengen-future-notice, .mtt-page .schengen-page .schengen-example-note { background: var(--sc-soft); color: #285787; }.mtt-page .schengen-page :is(.schengen-overlap-notice,.schengen-future-notice) p { margin: 0; }.mtt-page .schengen-page :is(.schengen-overlap-notice,.schengen-future-notice) button { min-height: 44px; background: none; border: 0; color: inherit; padding: 8px 0 0; font-weight: 500; }.mtt-page .schengen-page .schengen-country-combobox { display: block; position: relative; }.mtt-page .schengen-page .schengen-country-menu { position: absolute; inset-inline: 0; inset-block-start: calc(100% + 6px); z-index: 5; min-width: 240px; max-height: 270px; overflow-y: auto; background: #fff; border: 1px solid var(--sc-line); border-radius: 12px; box-shadow: 0 12px 28px #15366318; padding: 6px; }.mtt-page .schengen-page .schengen-country-menu button { width: 100%; display: flex; align-items: center; gap: 8px; min-height: 46px; padding: 8px; background: transparent; border: 0; text-align: start; color: var(--sc-ink); border-radius: 6px; font-size: 13px; }.mtt-page .schengen-page .schengen-country-menu button:hover, .mtt-page .schengen-page .schengen-country-menu button:focus { background: var(--sc-soft); }.mtt-page .schengen-page .schengen-country-menu img { width: 24px; height: 18px; object-fit: contain; }.mtt-page .schengen-page .schengen-country-menu small { font-size: 10px; color: var(--sc-muted); }.mtt-page .schengen-page .schengen-country-menu p { padding: 8px; font-size: 13px; }.mtt-page .schengen-page .schengen-editor-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding-top: 18px; border-top: 1px solid var(--sc-line); margin-top: 10px; }.mtt-page .schengen-page .button-link { min-height: 46px; display: inline-flex; align-items: center; justify-content: center; padding: 12px 18px; border-radius: 9px; font-size: 14px; gap: 6px; margin: 0; }.mtt-page .schengen-page .schengen-storage-choice { display: flex; align-items: center; gap: 9px; min-height: 44px; font-size: 12px; color: var(--sc-muted); cursor: pointer; }.mtt-page .schengen-page .schengen-storage-choice input { margin: 0; width: 16px; height: 16px; }.mtt-page .schengen-page .schengen-storage-note { font-size: 11px; color: var(--sc-muted); margin: 0; }.mtt-page .schengen-page .schengen-result-panel { position: relative; padding: 30px; border-radius: var(--sc-radius); background: var(--sc-soft); border: 0; box-shadow: none; min-height: 385px; }.mtt-page .schengen-page .schengen-result-panel[data-status=overstay] { background: var(--sc-warm-bg); }.mtt-page .schengen-page .schengen-result-panel h2 { font-size: clamp(22px,2.1vw,29px); line-height: 1.23; margin: 12px 0; }.mtt-page .schengen-page .result-kicker { color: #2864b6; text-transform: uppercase; font-size: 10px; letter-spacing: .06em; font-weight: 500; }.mtt-page .schengen-page .schengen-result-panel[data-status=overstay] .result-kicker { color: var(--sc-warm); }.mtt-page .schengen-page .schengen-result-panel p { font-size: 13px; color: var(--sc-muted); margin: 10px 0; }.mtt-page .schengen-page .schengen-empty-rule { display: flex; align-items: baseline; gap: 12px; padding-top: 22px; color: #2864b6; }.mtt-page .schengen-page .schengen-empty-rule strong { font-size: 86px; font-weight: 500; letter-spacing: -.07em; }.mtt-page .schengen-page .schengen-empty-rule > span { font-size: 26px; color: #738cb2; }.mtt-page .schengen-page .schengen-allowance-visual { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); align-items: center; gap: 20px; margin-block: 22px 20px; }.mtt-page .schengen-page .schengen-ring { position: relative; width: 180px; max-width: 100%; aspect-ratio: 1; }.mtt-page .schengen-page .schengen-ring svg { width: 100%; height: 100%; overflow: visible; transform: rotate(-90deg); }.mtt-page .schengen-page .schengen-ring circle { fill: none; stroke-width: 10; }.mtt-page .schengen-page .schengen-ring-track { stroke: #e0e9f7; }.mtt-page .schengen-page .schengen-ring-value { stroke: var(--sc-blue); stroke-linecap: round; stroke-dasharray: 0 100; transition: stroke-dasharray 400ms ease; }.mtt-page .schengen-page [data-status=overstay] .schengen-ring-value { stroke: #c16a31; }.mtt-page .schengen-page .schengen-ring > div { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; flex-direction: column; }.mtt-page .schengen-page .schengen-ring strong { font-size: 49px; line-height: 1.1; font-weight: 500; }.mtt-page .schengen-page .schengen-ring span { font-size: 11px; color: var(--sc-muted); margin-top: 5px; }.mtt-page .schengen-page .schengen-balance { display: flex; flex-direction: column; gap: 7px; }.mtt-page .schengen-page .schengen-balance strong { font-size: 42px; font-weight: 500; line-height: 1; }.mtt-page .schengen-page .schengen-balance span { font-size: 14px; line-height: 1.4; }.mtt-page .schengen-page .schengen-balance small { color: var(--sc-muted); font-size: 11px; margin-top: 4px; }.mtt-page .schengen-page .schengen-progress { display: none; }.mtt-page .schengen-page p.schengen-exact-window { padding-top: 16px; border-top: 1px solid #d8e4f5; font-size: 13px; color: var(--sc-ink); font-weight: 500; }.mtt-page .schengen-page p.schengen-balance-note, .mtt-page .schengen-page p.schengen-summary-note { font-size: 12px; }.mtt-page .schengen-page .schengen-requested-result { padding: 24px 0 22px; border-bottom: 1px solid var(--sc-line); }.mtt-page .schengen-page .schengen-requested-result h3 { font-size: 23px; line-height: 1.25; margin: 6px 0 10px; }.mtt-page .schengen-page .schengen-requested-result p:not(.eyebrow) { font-size: 13px; color: var(--sc-muted); margin: 8px 0; }.mtt-page .schengen-page .schengen-requested-result.is-overstay { color: #9f491c; }.mtt-page .schengen-page .schengen-requested-result [data-requested-range] { color: var(--sc-ink); font-weight: 500; }.mtt-page .schengen-page .schengen-warning-list { padding-top: 16px; }.mtt-page .schengen-page .schengen-warning-list p { font-size: 12px; color: var(--sc-muted); margin: 0 0 10px; }.mtt-page .schengen-page .schengen-history-warning { padding: 18px 20px; margin-top: 20px; background: var(--sc-warm-bg); border-radius: 12px; color: #874118; }.mtt-page .schengen-page .schengen-history-warning h3 { font-size: 17px; margin: 0 0 8px; }.mtt-page .schengen-page .schengen-history-warning p { font-size: 12px; margin: 6px 0; }.mtt-page .schengen-page .schengen-history-warning summary { font-size: 13px; }.mtt-page .schengen-page .schengen-breach-card { padding-block: 8px; }.mtt-page .schengen-page .schengen-breach-card strong { font-size: 13px; }.mtt-page .schengen-page .schengen-calendar-panel { grid-column: 1/-1; min-width: 0; border: 0; border-radius: var(--sc-radius); background: #fff; padding: 28px 0 0; margin: 0; border-top: 1px solid var(--sc-line); }.mtt-page .schengen-page .schengen-window-total { color: #2864b6; font-size: 13px; white-space: nowrap; padding-top: 20px; }.mtt-page .schengen-page .schengen-visual-intro { font-size: 14px; color: var(--sc-muted); max-width: 720px; margin-bottom: 24px; }.mtt-page .schengen-page .schengen-date-scrubber { display: grid; grid-template-columns: 44px minmax(0,1fr) 44px 190px; gap: 18px; align-items: end; }.mtt-page .schengen-page .schengen-date-scrubber button { width: 44px; height: 46px; border: 1px solid var(--sc-line); border-radius: 9px; background: #fff; font-size: 25px; color: #2864b6; }.mtt-page .schengen-page .schengen-date-scrubber input[type=range] { display: block; width: 100%; margin: 0; height: 46px; accent-color: #327ce9; cursor: ew-resize; }.mtt-page .schengen-page .schengen-window-caption { font-size: 13px; color: var(--sc-muted); margin: 10px 0 20px; }.mtt-page .schengen-page .schengen-tab-row { display: flex; gap: 4px; border-bottom: 1px solid var(--sc-line); margin-bottom: 24px; }.mtt-page .schengen-page .schengen-tab-row button { border: 0; background: transparent; color: var(--sc-muted); min-height: 46px; padding: 12px 24px; font: inherit; font-size: 14px; border-bottom: 2px solid transparent; }.mtt-page .schengen-page .schengen-tab-row button.is-active { color: #215fbd; border-bottom-color: #327ce9; }.mtt-page .schengen-page .schengen-timeline-scroll { overflow-x: auto; overscroll-behavior-inline: contain; padding: 4px 3px 12px; }.mtt-page .schengen-page .schengen-timeline-months { display: flex; min-width: 720px; gap: 0; margin-bottom: 14px; color: var(--sc-muted); font-size: 11px; }.mtt-page .schengen-page .schengen-timeline-months > span { flex-grow: 0; flex-shrink: 0; overflow: hidden; white-space: nowrap; }.mtt-page .schengen-page .schengen-timeline-days { display: grid; grid-template-columns: repeat(180,minmax(0,1fr)); gap: 2px; height: 76px; min-width: 720px; align-items: end; }.mtt-page .schengen-page .schengen-timeline-day { display: block; position: relative; padding: 0; width: 100%; min-width: 0; height: 48px; border: 0; border-radius: 3px; background: #eaf0f9; }.mtt-page .schengen-page .schengen-timeline-day.is-stay { background: #4588eb; height: 66px; }.mtt-page .schengen-page .schengen-timeline-day.is-planned { background: #76b3af; }.mtt-page .schengen-page .schengen-timeline-day.is-overstay { background: #cc7841; height: 76px; }.mtt-page .schengen-page .schengen-timeline-day.is-inspected { box-shadow: 0 0 0 2px var(--sc-ink); }.mtt-page .schengen-page .schengen-timeline-day.is-today::after { content: ""; width: 4px; height: 4px; border-radius: 50%; background: var(--sc-ink); position: absolute; bottom: -8px; inset-inline-start: 0; }.mtt-page .schengen-page .schengen-timeline-endpoints { display: flex; justify-content: space-between; color: var(--sc-muted); font-size: 11px; margin-top: 8px; }.mtt-page .schengen-page .schengen-calendar-toolbar { display: flex; align-items: end; gap: 12px; padding: 0 0 18px; }.mtt-page .schengen-page .schengen-calendar-toolbar button { border: 1px solid var(--sc-line); min-width: 44px; min-height: 46px; border-radius: 9px; padding: 8px 12px; color: #215fbd; background: #fff; font: inherit; font-size: 14px; }.mtt-page .schengen-page .schengen-calendar-toolbar .schengen-calendar-arrow { font-size: 23px; }.mtt-page .schengen-page .schengen-month-jump { display: grid; grid-template-columns: 110px 100px; gap: 12px; }.mtt-page .schengen-page .schengen-calendar-legend { display: flex; flex-wrap: wrap; gap: 10px 24px; margin: 20px 0; font-size: 11px; color: var(--sc-muted); }.mtt-page .schengen-page .schengen-calendar-legend > span { display: inline-flex; align-items: center; gap: 6px; }.mtt-page .schengen-page .schengen-calendar-legend i { width: 9px; height: 9px; border-radius: 2px; display: inline-block; background: #4588eb; }.mtt-page .schengen-page i.legend-planned { background: #76b3af; }.mtt-page .schengen-page i.legend-window { background: #eef4fd; border: 1px solid #dce6f4; }.mtt-page .schengen-page i.legend-overstay { background: #cc7841; }.mtt-page .schengen-page i.legend-outside { background: #dbe0e7; }.mtt-page .schengen-page i.legend-today { background: #fff; border: 1px solid #193967; }.mtt-page .schengen-page .schengen-calendar-help { color: var(--sc-muted); font-size: 12px; margin-bottom: 16px; }.mtt-page .schengen-page .schengen-calendar-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 40px; }.mtt-page .schengen-page .schengen-month { padding: 20px; border-radius: 12px; background: #fff; border: 1px solid var(--sc-line); }.mtt-page .schengen-page .schengen-month h3 { font-size: 18px; margin: 0 0 18px; }.mtt-page .schengen-page .schengen-weekdays, .mtt-page .schengen-page .schengen-days { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 4px; }.mtt-page .schengen-page .schengen-weekdays { color: var(--sc-muted); font-size: 11px; text-align: center; margin-bottom: 8px; }.mtt-page .schengen-page .schengen-day { min-width: 0; min-height: 44px; font-size: 13px; color: var(--sc-ink); background: transparent; border: 1px solid transparent; border-radius: 6px; padding: 4px 0; font-family: inherit; }.mtt-page .schengen-page .schengen-day.is-window { background: #f0f5fd; }.mtt-page .schengen-page .schengen-day.is-stay { background: #e2edfe; color: #1558b5; font-weight: 500; }.mtt-page .schengen-page .schengen-day.is-planned { background: #e3f1ee; color: #216658; }.mtt-page .schengen-page .schengen-day.is-overstay { background: #fce7d7; color: #964414; }.mtt-page .schengen-page .schengen-day.is-muted { opacity: 1; color: #4d637e; }.mtt-page .schengen-page .schengen-day.is-today { border-color: #3c648e; text-decoration: underline; text-underline-offset: 4px; }.mtt-page .schengen-page .schengen-day.is-selected { box-shadow: 0 0 0 2px #367fe5 inset; }.mtt-page .schengen-page .schengen-day-inspector { display: grid; grid-template-columns: 1fr auto; gap: 8px 16px; padding: 18px 22px; background: var(--sc-soft); border-radius: 10px; min-height: 114px; }.mtt-page .schengen-page .schengen-day-inspector strong { font-size: 16px; }.mtt-page .schengen-page .schengen-day-inspector > span { font-size: 13px; color: #2864b6; }.mtt-page .schengen-page .schengen-day-inspector p { grid-column: 1/-1; margin: 0; font-size: 13px; color: var(--sc-muted); }.mtt-page .schengen-page .schengen-day-inspector small { grid-column: 1/-1; font-size: 11px; color: var(--sc-muted); }.mtt-page .schengen-page .schengen-calendar-edit { margin-top: 12px; }.mtt-page .schengen-page .schengen-result-details { grid-column: 1/-1; padding-top: 30px; border-top: 1px solid var(--sc-line); }.mtt-page .schengen-page .schengen-result-quicklist { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 28px; margin-block: 26px 24px; }.mtt-page .schengen-page .schengen-result-quicklist article { padding: 0; border: 0; background: transparent; }.mtt-page .schengen-page .schengen-result-quicklist span { display: block; font-size: 12px; color: var(--sc-muted); margin-bottom: 10px; }.mtt-page .schengen-page .schengen-result-quicklist strong { display: block; font-size: 22px; line-height: 1.3; }.mtt-page .schengen-page .schengen-result-quicklist p { font-size: 12px; color: var(--sc-muted); margin: 10px 0 0; }.mtt-page .schengen-page .schengen-drop-section { border-block: 1px solid var(--sc-line); padding-block: 4px; margin-block: 20px; }.mtt-page .schengen-page .schengen-drop-section summary { color: #2864b6; font-size: 14px; }.mtt-page .schengen-page .schengen-drop-section p, .mtt-page .schengen-page .schengen-result-details > p { font-size: 13px; color: var(--sc-muted); }.mtt-page .schengen-page [data-drop-list] { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0 24px; }.mtt-page .schengen-page [data-drop-list] p { padding-block: 8px; margin: 0; }.mtt-page .schengen-page .schengen-plan-card { padding-block: 12px; display: grid; gap: 6px; }.mtt-page .schengen-page .schengen-plan-card strong { font-size: 14px; }.mtt-page .schengen-page .schengen-plan-card span { font-size: 13px; color: var(--sc-muted); }.mtt-page .schengen-page .schengen-plan-card.is-overstay strong { color: #98441c; }.mtt-page .schengen-page .schengen-result-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }.mtt-page .schengen-page .schengen-step-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 36px; margin-top: 28px; }.mtt-page .schengen-page .schengen-step-grid article { padding: 0; border: 0; background: transparent; box-shadow: none; }.mtt-page .schengen-page .schengen-step-grid article > span { display: flex; width: 30px; height: 30px; align-items: center; justify-content: center; background: #edf4ff; color: #2864b6; font-size: 14px; border-radius: 50%; margin-bottom: 16px; }.mtt-page .schengen-page .schengen-step-grid h3 { font-size: 17px; margin-bottom: 10px; }.mtt-page .schengen-page .schengen-step-grid p { color: var(--sc-muted); font-size: 14px; }.mtt-page .schengen-page .schengen-country-search { box-shadow: none; background: none; border: 0; padding: 0; max-width: 360px; margin-block: 20px; }.mtt-page .schengen-page .schengen-country-search p { font-size: 12px; }.mtt-page .schengen-page .schengen-country-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 10px 24px; }.mtt-page .schengen-page .schengen-country-grid article { display: flex; align-items: center; gap: 8px; padding-block: 5px; font-size: 13px; }.mtt-page .schengen-page .flag-inline { width: 22px; height: 16px; object-fit: contain; }.mtt-page .schengen-page > section:is(.schengen-steps,.schengen-countries,.schengen-exceptions,.schengen-source) { margin-block: 0 56px; padding-block: 16px; border: 0; border-radius: 0; background: transparent; }.mtt-page .schengen-page .section-heading p:not(.eyebrow) { font-size: 14px; color: var(--sc-muted); max-width: 820px; }.mtt-page .schengen-page :is(.schengen-exceptions,.schengen-source) p:not(.eyebrow) { font-size: 13px; color: var(--sc-muted); }.mtt-page .schengen-page :is(.schengen-source,.schengen-exceptions) h2 { font-size: 23px; margin-bottom: 16px; }.mtt-page .schengen-page .schengen-mobile-bar { display: none; }.mtt-page .schengen-page .schengen-toast { position: fixed; bottom: 30px; inset-inline-start: 50%; transform: translateX(-50%); z-index: 20; max-width: min(480px,calc(100% - 32px)); width: max-content; display: flex; align-items: center; gap: 10px; padding: 14px 20px; border-radius: 12px; color: #fff; background: #19375e; box-shadow: 0 8px 24px #19375e20; font-size: 13px; }.mtt-page .schengen-page .schengen-toast button { color: #fff; background: transparent; min-height: 44px; border: 1px solid #aebdd4; border-radius: 6px; }.mtt-page .schengen-page .schengen-print-trips { display: none; }@media (max-width: 1100px) {
  .mtt-page .schengen-page #schengen-calculator-app { gap: 28px; }
  .mtt-page .schengen-page .schengen-date-grid { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  .mtt-page .schengen-page .schengen-country-picker { grid-column: 1/-1; }
  .mtt-page .schengen-page .schengen-result-panel { padding: 24px; }
  .mtt-page .schengen-page .schengen-allowance-visual { gap: 12px; }
  .mtt-page .schengen-page .schengen-ring { width: 156px; }
  .mtt-page .schengen-page .schengen-ring strong { font-size: 42px; }
  .mtt-page .schengen-page .schengen-balance strong { font-size: 36px; }
  .mtt-page .schengen-page .schengen-result-quicklist { grid-template-columns: repeat(2,minmax(0,1fr)); }
}@media (max-width: 850px) {
  .mtt-page .schengen-page .mtt-page-hero h1 { font-size: 35px; }
  .mtt-page .schengen-page .mtt-page-hero-art { height: 255px; }
  .mtt-page .schengen-page #schengen-calculator-app { grid-template-columns: minmax(0,1fr); }
  .mtt-page .schengen-page .schengen-result-column { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 20px; align-items: start; }
  .mtt-page .schengen-page .schengen-result-column .schengen-warning-list, .mtt-page .schengen-page .schengen-result-column .schengen-history-warning { grid-column: 1/-1; }
  .mtt-page .schengen-page .schengen-result-panel { min-height: 320px; }
  .mtt-page .schengen-page .schengen-result-panel:has(+ [hidden]) { grid-column: 1/-1; }
  .mtt-page .schengen-page .schengen-result-panel h2 { font-size: 24px; }
  .mtt-page .schengen-page .schengen-tool-heading h2 { font-size: 25px; }
  .mtt-page .schengen-page .schengen-country-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}@media (max-width: 768px) {
  .mtt-page .schengen-page .mtt-page-hero { width: calc(100% - 32px); flex-direction: column; align-items: stretch; gap: 0; padding-block: 16px 4px; margin-bottom: 24px; }
  .mtt-page .schengen-page .mtt-page-hero .bh-hero-copy { width: 100%; max-width: none; }
  .mtt-page .schengen-page .mtt-page-hero h1 { font-size: clamp(31px,7.4vw,40px); max-width: 570px; }
  .mtt-page .schengen-page .mtt-page-hero p { font-size: 15px; }
  .mtt-page .schengen-page .mtt-page-hero-art { display: flex; width: 100%; max-width: 390px; height: 235px; min-height: 235px; flex: none; margin: 0 auto; position: static; }
  .mtt-page .schengen-page #schengen-calculator-app { width: calc(100% - 32px); gap: 26px; margin-bottom: 40px; }
  .mtt-page .schengen-page .schengen-tool-heading { display: block; padding-bottom: 18px; }
  .mtt-page .schengen-page .schengen-tool-heading a { display: inline-flex; padding-bottom: 0; }
  .mtt-page .schengen-page .schengen-tool-heading h2 { font-size: 24px; }
  .mtt-page .schengen-page .schengen-panel-head h2 { font-size: 23px; }
  .mtt-page .schengen-page .schengen-result-column { display: block; }
  .mtt-page .schengen-page .schengen-result-panel { min-height: 355px; padding: 24px; }
  .mtt-page .schengen-page .schengen-allowance-visual { grid-template-columns: 1.15fr 1fr; gap: 20px; }
  .mtt-page .schengen-page .schengen-ring { width: 170px; }
  .mtt-page .schengen-page .schengen-window-total { padding-top: 0; white-space: normal; font-size: 12px; text-align: end; }
  .mtt-page .schengen-page .schengen-date-scrubber { grid-template-columns: 44px minmax(0,1fr) 44px; gap: 10px; }
  .mtt-page .schengen-page .schengen-visual-date { grid-column: 1/-1; max-width: 220px; }
  .mtt-page .schengen-page .schengen-calendar-toolbar { gap: 8px; flex-wrap: wrap; }
  .mtt-page .schengen-page .schengen-month-jump { grid-template-columns: minmax(70px,100px) 85px; gap: 8px; }
  .mtt-page .schengen-page .schengen-calendar-toolbar [data-calendar-today] { margin-inline-start: auto; }
  .mtt-page .schengen-page .schengen-calendar-grid { grid-template-columns: minmax(0,1fr); gap: 0; }
  .mtt-page .schengen-page .schengen-month { padding: 16px 10px; }
  .mtt-page .schengen-page .schengen-days, .mtt-page .schengen-page .schengen-weekdays { gap: 2px; }
  .mtt-page .schengen-page .schengen-day-inspector { grid-template-columns: minmax(0,1fr); padding: 18px; }
  .mtt-page .schengen-page .schengen-day-inspector > span { grid-column: 1; }
  .mtt-page .schengen-page .schengen-step-grid { grid-template-columns: minmax(0,1fr); gap: 22px; }
  .mtt-page .schengen-page .schengen-step-grid article { position: relative; padding-inline-start: 46px; }
  .mtt-page .schengen-page .schengen-step-grid article > span { position: absolute; inset-inline-start: 0; top: 0; }
  .mtt-page .schengen-page .schengen-country-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px 18px; }
  .mtt-page .schengen-page [data-drop-list] { grid-template-columns: minmax(0,1fr); }
  .mtt-page .schengen-page .schengen-result-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .mtt-page .schengen-page .schengen-result-actions a { grid-column: 1/-1; }
  .mtt-page .schengen-page .schengen-toast { bottom: calc(20px + env(safe-area-inset-bottom)); }
}@media (max-width: 380px) {
  .mtt-page .schengen-page .schengen-modes label { font-size: 12px; }
  .mtt-page .schengen-page .schengen-reference-row, .mtt-page .schengen-page .schengen-plan-inputs { gap: 12px; }
  .mtt-page .schengen-page .schengen-result-panel { padding: 20px; }
  .mtt-page .schengen-page .schengen-allowance-visual { gap: 12px; }
  .mtt-page .schengen-page .schengen-ring { width: 140px; }
  .mtt-page .schengen-page .schengen-ring strong { font-size: 36px; }
  .mtt-page .schengen-page .schengen-ring span { font-size: 9px; }
  .mtt-page .schengen-page .schengen-balance strong { font-size: 34px; }
  .mtt-page .schengen-page .schengen-balance span { font-size: 12px; }
  .mtt-page .schengen-page .schengen-editor-actions .button-link { padding: 12px; font-size: 13px; }
  .mtt-page .schengen-page .schengen-calendar-toolbar [data-calendar-today] { order: 5; }
}@media (prefers-reduced-motion: reduce) { .mtt-page .schengen-page .schengen-ring-value { transition: none; } }@media print {
  .mtt-page .schengen-page .mtt-page-hero, .mtt-page .schengen-page .schengen-workbench, .mtt-page .schengen-page .schengen-calendar-panel, .mtt-page .schengen-page .schengen-tool-heading, .mtt-page .schengen-page .schengen-result-actions, .mtt-page .schengen-page .schengen-toast { display: none; }
  .mtt-page .schengen-page #schengen-calculator-app { display: block; width: 100%; margin: 0; }
  .mtt-page .schengen-page .schengen-result-column { display: block; }
  .mtt-page .schengen-page .schengen-result-panel { min-height: 0; padding: 18px; break-inside: avoid; }
  .mtt-page .schengen-page .schengen-print-trips { display: block; font-size: 12px; }
  .mtt-page .schengen-page .schengen-result-quicklist { grid-template-columns: repeat(2,1fr); }
  .mtt-page .schengen-page .schengen-source { display: block; }
}.mtt-page .schengen-page .schengen-window-impact { font-weight: 400; color: var(--sc-muted); padding-inline-start: 12px; font-size: 12px; }.mtt-page .schengen-page .button-link:not(.secondary) { background: #286dd4; border-color: #286dd4; color: #fff; }@media (max-width: 768px) {
  .mtt-page .schengen-page .schengen-calendar-panel .schengen-panel-head { display: block; }
  .mtt-page .schengen-page .schengen-window-total { display: block; text-align: start; margin-top: 12px; }
  .mtt-page .schengen-page .schengen-calendar-toolbar { display: grid; grid-template-columns: 44px minmax(0,1fr) 44px; align-items: end; }
  .mtt-page .schengen-page .schengen-calendar-toolbar [data-calendar-prev] { grid-column: 1; grid-row: 1; }
  .mtt-page .schengen-page .schengen-month-jump { grid-column: 2; grid-row: 1; grid-template-columns: minmax(0,1fr) 80px; }
  .mtt-page .schengen-page .schengen-calendar-toolbar [data-calendar-next] { grid-column: 3; grid-row: 1; }
  .mtt-page .schengen-page .schengen-calendar-toolbar [data-calendar-today] { grid-column: 2; grid-row: 2; margin: 0; justify-self: center; }
}