.az-mi {
  --az-mi-ink: #1a1a1a;
  --az-mi-muted: #6d675e;
  --az-mi-gold: #c9a84c;
  --az-mi-gold-dark: #7b5d18;
  --az-mi-gold-soft: #f5edd8;
  --az-mi-ivory: #f5f3ef;
  --az-mi-paper: #fffdf9;
  --az-mi-line: #ded8cc;
  --az-mi-sea: #314b48;
  --az-mi-sea-soft: #e8efed;
  scroll-margin-top: 96px;
  padding: clamp(42px, 6vw, 78px) 0;
  color: var(--az-mi-ink);
  background: var(--az-mi-ivory);
}

.az-mi *, .az-mi *::before, .az-mi *::after { box-sizing: border-box; }
.az-mi button, .az-mi input, .az-mi select { font: inherit; }
.az-mi button { cursor: pointer; }
.az-mi button:focus-visible,
.az-mi input:focus-visible,
.az-mi select:focus-visible,
.az-mi [tabindex="-1"]:focus-visible { outline: 3px solid rgba(201, 168, 76, .58); outline-offset: 3px; }
.az-mi [hidden] { display: none !important; }
.az-mi .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; clip-path: inset(50%) !important; white-space: nowrap !important; }

.az-mi__inner { max-width: 1180px; }
.az-mi__header {
  position: static;
  inset: auto;
  z-index: auto;
  max-width: 820px;
  color: var(--az-mi-ink);
  background: transparent;
  border: 0;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  transition: none;
}
.az-mi__eyebrow { display: block; color: var(--az-mi-gold-dark); font-size: .72rem; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
.az-mi__header h2 { margin: 9px 0 0; font-size: clamp(2.15rem, 4.6vw, 3.85rem); line-height: 1.04; letter-spacing: -.03em; }
.az-mi__header > p { max-width: 680px; margin: 17px 0 0; color: var(--az-mi-muted); font-size: clamp(1rem, 1.7vw, 1.13rem); line-height: 1.65; }

.az-mi__builder { margin-top: clamp(27px, 4vw, 42px); padding: clamp(20px, 3.5vw, 42px); background: var(--az-mi-paper); border: 1px solid rgba(201,168,76,.52); border-top: 4px solid var(--az-mi-gold); box-shadow: 0 22px 58px rgba(26,26,26,.08); }
.az-mi fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.az-mi legend,
.az-mi__question-block h3,
.az-mi__quick-block h3 { margin: 0; font-size: clamp(1.22rem, 2.2vw, 1.55rem); font-weight: 780; }
.az-mi__help { margin: 7px 0 0; color: var(--az-mi-muted); font-size: .88rem; line-height: 1.5; }

.az-mi__intent-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 11px; margin-top: 18px; }
.az-mi__intent { min-width: 0; min-height: 126px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 18px 19px; text-align: left; color: var(--az-mi-ink); background: #fff; border: 1px solid var(--az-mi-line); border-radius: 3px; transition: transform .16s ease, border-color .16s ease, background .16s ease, box-shadow .16s ease; cursor: pointer; }
.az-mi__intent:hover { transform: translateY(-2px); border-color: var(--az-mi-gold); box-shadow: 0 10px 24px rgba(26,26,26,.07); }
.az-mi__intent strong { font-size: 1.08rem; line-height: 1.25; }
.az-mi__intent span { margin-top: 7px; color: var(--az-mi-muted); font-size: .8rem; line-height: 1.42; }
.az-mi__intent small { margin-top: 11px; color: var(--az-mi-gold-dark); font-size: .72rem; font-weight: 800; }
.az-mi__intent[aria-pressed="true"] { color: #fff; background: var(--az-mi-sea); border-color: var(--az-mi-sea); box-shadow: 0 11px 27px rgba(49,75,72,.2); }
.az-mi__intent[aria-pressed="true"] span { color: rgba(255,255,255,.76); }
.az-mi__intent[aria-pressed="true"] small { color: #f4d982; }

.az-mi__question-block { margin-top: 31px; padding-top: 27px; border-top: 1px solid var(--az-mi-line); }
.az-mi__question-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 14px; }
.az-mi__question { min-width: 0; min-height: 92px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 15px 17px; text-align: left; color: var(--az-mi-ink); background: #fff; border: 1px solid var(--az-mi-line); border-radius: 3px; }
.az-mi__question:hover { border-color: var(--az-mi-gold); background: #fffaf0; }
.az-mi__question > span { color: var(--az-mi-gold-dark); font-size: .68rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.az-mi__question strong { max-width: 100%; margin-top: 7px; overflow: hidden; font-size: .92rem; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }

.az-mi__quick-block { margin-top: 25px; }
.az-mi__quick-block h3 { font-size: 1rem; }
.az-mi__quick-block h3 span { margin-left: 6px; color: var(--az-mi-muted); font-size: .72rem; font-weight: 500; }
.az-mi__quick-list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 11px; }
.az-mi__quick-list button { min-height: 44px; padding: 8px 14px; color: var(--az-mi-ink); background: #fff; border: 1px solid var(--az-mi-line); border-radius: 999px; font-size: .8rem; font-weight: 720; }
.az-mi__quick-list button:hover { border-color: var(--az-mi-gold); }
.az-mi__quick-list button[aria-pressed="true"] { color: #fff; background: var(--az-mi-sea); border-color: var(--az-mi-sea); }

.az-mi__selection { margin-top: 22px; padding: 15px 17px; background: var(--az-mi-sea-soft); border-left: 4px solid var(--az-mi-sea); }
.az-mi__selection > div:first-child { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 18px; }
.az-mi__selection > div:first-child > span { color: var(--az-mi-sea); font-size: .72rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.az-mi__selection output { font-size: .8rem; font-weight: 750; }
.az-mi__chips { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px; }
.az-mi__chip { min-height: 36px; display: inline-flex; align-items: center; gap: 7px; padding: 5px 9px 5px 11px; color: var(--az-mi-ink); background: #fff; border: 1px solid rgba(49,75,72,.28); border-radius: 999px; font-size: .74rem; }
.az-mi__chip button { width: 25px; height: 25px; display: grid; place-items: center; padding: 0; color: var(--az-mi-sea); background: var(--az-mi-sea-soft); border: 0; border-radius: 50%; font-weight: 900; line-height: 1; }

.az-mi__start-actions { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: stretch; margin-top: 14px; }
.az-mi__submit { min-height: 58px; padding: 0 22px; color: var(--az-mi-ink); background: var(--az-mi-gold); border: 1px solid var(--az-mi-gold); border-radius: 2px; font-weight: 850; }
.az-mi__submit:hover { background: #d6b85f; }
.az-mi__submit:disabled { cursor: wait; opacity: .62; }
.az-mi__reset { min-height: 58px; padding: 0 17px; color: var(--az-mi-sea); background: #fff; border: 1px solid var(--az-mi-line); border-radius: 2px; font-size: .8rem; font-weight: 780; }
.az-mi__reset:hover { border-color: var(--az-mi-sea); }
.az-mi__trust { margin: 11px 0 0; color: var(--az-mi-muted); font-size: .72rem; line-height: 1.5; }
.az-mi__assistance { display: flex; align-items: center; justify-content: space-between; gap: 12px 20px; margin-top: 14px; padding: 13px 15px; background: var(--az-mi-sea-soft); border-left: 3px solid var(--az-mi-sea); }
.az-mi__assistance p { margin: 0; color: var(--az-mi-muted); font-size: .78rem; line-height: 1.5; }
.az-mi__assistance button { min-height: 44px; flex: 0 0 auto; padding: 8px 13px; color: var(--az-mi-sea); background: #fff; border: 1px solid rgba(49,75,72,.34); font-size: .76rem; font-weight: 800; }
.az-mi__assistance button:hover { border-color: var(--az-mi-sea); }

body.az-page--mein-schiff-search > .cc-trigger { display: none !important; }

.az-mi__results { margin-top: 28px; scroll-margin-top: 18px; }
.az-mi__results-toolbar { position: static; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 16px 18px; background: var(--az-mi-paper); border: 1px solid var(--az-mi-line); box-shadow: 0 7px 24px rgba(26,26,26,.08); }
.az-mi__results-toolbar h3 { margin: 4px 0 0; font-size: clamp(1.3rem, 2.5vw, 1.8rem); }
.az-mi__results-actions { display: flex; align-items: end; gap: 9px; }
.az-mi__results-actions button,
.az-mi__results-actions select { min-height: 44px; padding: 0 13px; background: #fff; border: 1px solid var(--az-mi-line); border-radius: 2px; }
.az-mi__results-actions button { color: var(--az-mi-sea); font-size: .8rem; font-weight: 800; }
.az-mi__results-actions label { display: flex; flex-direction: column; gap: 4px; color: var(--az-mi-muted); font-size: .66rem; font-weight: 750; }
.az-mi__chips--results { margin: 13px 0 0; }
.az-mi__result-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; margin-top: 18px; }
.az-mi__card { min-width: 0; display: flex; flex-direction: column; overflow: hidden; background: #fff; border: 1px solid var(--az-mi-line); box-shadow: 0 13px 32px rgba(26,26,26,.06); }
.az-mi__card-media { position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: var(--az-mi-sea-soft); }
.az-mi__card-media img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .3s ease; }
.az-mi__card:hover .az-mi__card-media img { transform: scale(1.025); }
.az-mi__card-media--fallback { width: 100%; height: 100%; display: grid; place-items: center; color: var(--az-mi-sea); font-weight: 850; }
.az-mi__event-badge { position: absolute; top: 10px; left: 10px; padding: 6px 9px; color: #fff; background: var(--az-mi-sea); font-size: .66rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.az-mi__card-body { min-width: 0; display: flex; flex: 1; flex-direction: column; padding: 18px; }
.az-mi__card-facts { display: flex; flex-wrap: wrap; gap: 6px 11px; color: var(--az-mi-gold-dark); font-size: .78rem; font-weight: 800; }
.az-mi__card h4 { margin: 10px 0 0; color: var(--az-mi-sea); font-size: clamp(1.28rem, 2.1vw, 1.6rem); line-height: 1.15; }
.az-mi__route { margin: 11px 0 0; font-size: .96rem; font-weight: 720; line-height: 1.4; }
.az-mi__ports { margin: 9px 0 0; color: var(--az-mi-muted); font-size: .78rem; line-height: 1.5; }
.az-mi__why { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 12px; }
.az-mi__why span { padding: 5px 8px; color: var(--az-mi-sea); background: var(--az-mi-sea-soft); border-radius: 999px; font-size: .65rem; font-weight: 720; }
.az-mi__card-action { display: grid; gap: 8px; margin-top: auto; }
.az-mi__card-cta { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; padding: 10px 15px; color: var(--az-mi-ink); background: var(--az-mi-gold); border: 1px solid var(--az-mi-gold); text-align: center; text-decoration: none; font-size: .8rem; font-weight: 850; }
.az-mi__card-cta:hover { background: #d6b85f; }
.az-mi__card-next-step { margin: 0; color: var(--az-mi-muted); font-size: .72rem; line-height: 1.45; text-align: center; }
.az-mi__card-credit { margin: 6px 0 0; color: var(--az-mi-muted); font-size: .58rem; }
.az-mi__load-more { width: 100%; min-height: 52px; margin-top: 15px; color: var(--az-mi-sea); background: #fff; border: 1px solid var(--az-mi-sea); font-weight: 800; }
.az-mi__empty { margin-top: 18px; padding: 24px; background: var(--az-mi-paper); border: 1px solid var(--az-mi-line); }
.az-mi__empty h4 { margin: 0; font-size: 1.25rem; }
.az-mi__empty p { margin: 8px 0 0; color: var(--az-mi-muted); }
.az-mi__empty [data-recovery-options] { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 15px; }
.az-mi__empty button { min-height: 44px; padding: 8px 13px; color: var(--az-mi-sea); background: #fff; border: 1px solid var(--az-mi-line); font-weight: 760; }
.az-mi__error { margin: 20px 0 0; padding: 14px 16px; color: #7c241f; background: #fff4f2; border-left: 4px solid #b34c43; }
.az-mi__error button { color: inherit; background: transparent; border: 0; text-decoration: underline; }

.az-mi__sheet { width: min(760px, calc(100vw - 28px)); max-height: min(88vh, 900px); margin: auto; padding: 0; color: var(--az-mi-ink); background: var(--az-mi-paper); border: 0; box-shadow: 0 30px 90px rgba(0,0,0,.3); }
.az-mi__sheet::backdrop { background: rgba(20,24,23,.64); backdrop-filter: blur(3px); }
.az-mi__sheet-shell { display: flex; max-height: inherit; flex-direction: column; }
.az-mi__sheet-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 21px 23px; border-bottom: 1px solid var(--az-mi-line); }
.az-mi__sheet-header h3 { margin: 5px 0 0; font-size: clamp(1.35rem, 2.8vw, 1.85rem); }
.az-mi__sheet-header > button { width: 44px; height: 44px; flex: 0 0 44px; display: grid; place-items: center; padding: 0; color: var(--az-mi-ink); background: #fff; border: 1px solid var(--az-mi-line); border-radius: 50%; font-size: 1.45rem; }
.az-mi__sheet-body { overflow: auto; overscroll-behavior: contain; padding: 0 23px; }
.az-mi__facet-conflicts { margin: 18px 0 0; padding: 13px 14px; color: #68261f; background: #fff3ef; border-left: 4px solid #b34c43; font-size: .8rem; line-height: 1.5; }
.az-mi__facet-conflicts p { margin: 0; }
.az-mi__facet-conflicts p + p { margin-top: 10px; }
.az-mi__facet-conflicts button { min-height: 40px; margin-top: 7px; padding: 6px 11px; color: #68261f; background: #fff; border: 1px solid rgba(104,38,31,.32); font-size: .75rem; font-weight: 800; }
.az-mi__sheet-group { padding: 23px 0; border-bottom: 1px solid var(--az-mi-line); scroll-margin-top: 12px; }
.az-mi__sheet-group:last-child { border-bottom: 0; }
.az-mi__sheet-group h4 { margin: 0 0 13px; font-size: 1.12rem; }
.az-mi__sheet-group > p { margin: -5px 0 13px; color: var(--az-mi-muted); font-size: .8rem; line-height: 1.5; }
.az-mi__sheet label { min-width: 0; display: flex; flex-direction: column; gap: 7px; color: var(--az-mi-muted); font-size: .74rem; font-weight: 750; }
.az-mi__sheet input[type="date"],
.az-mi__sheet select { width: 100%; min-width: 0; min-height: 48px; padding: 0 12px; color: var(--az-mi-ink); background: #fff; border: 1px solid var(--az-mi-line); border-radius: 2px; }
.az-mi__field-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
.az-mi__or { display: flex; align-items: center; gap: 9px; margin: 14px 0; color: var(--az-mi-muted); font-size: .7rem; text-transform: uppercase; }
.az-mi__or::before, .az-mi__or::after { height: 1px; flex: 1; content: ""; background: var(--az-mi-line); }
.az-mi__field-note { margin: 12px 0 0 !important; font-size: .7rem !important; }
.az-mi__facet-status { margin: 10px 0 0 !important; color: var(--az-mi-sea) !important; font-size: .74rem !important; font-weight: 750; }
.az-mi__ship-hint { margin-top: 14px; padding: 13px 14px; background: var(--az-mi-sea-soft); border-left: 3px solid var(--az-mi-sea); }
.az-mi__ship-hint p { margin: 0; color: var(--az-mi-muted); font-size: .76rem; line-height: 1.5; }
.az-mi__ship-hint button { min-height: 40px; margin-top: 9px; padding: 6px 11px; color: var(--az-mi-sea); background: #fff; border: 1px solid rgba(49,75,72,.32); font-size: .74rem; font-weight: 800; }
.az-mi__choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.az-mi__choice-grid label { position: relative; }
.az-mi__choice-grid input { position: absolute; opacity: 0; }
.az-mi__choice-grid span { min-height: 52px; display: flex; flex-direction: column; justify-content: center; padding: 10px 12px; color: var(--az-mi-ink); background: #fff; border: 1px solid var(--az-mi-line); cursor: pointer; }
.az-mi__choice-grid small { margin-top: 2px; color: var(--az-mi-muted); font-size: .66rem; }
.az-mi__choice-grid input:checked + span { color: #fff; background: var(--az-mi-sea); border-color: var(--az-mi-sea); }
.az-mi__choice-grid input:checked + span small { color: rgba(255,255,255,.76); }
.az-mi__choice-grid input:focus-visible + span { outline: 3px solid rgba(201,168,76,.58); outline-offset: 2px; }
.az-mi__sheet-checks { display: grid; gap: 10px; margin-top: 15px; }
.az-mi__sheet-checks label { min-height: 44px; display: flex; flex-direction: row; align-items: center; gap: 10px; color: var(--az-mi-ink); font-size: .82rem; }
.az-mi__sheet-checks input { width: 20px; height: 20px; accent-color: var(--az-mi-sea); }
.az-mi__sheet-checks + [data-event-category-wrap] { margin-top: 13px; }
.az-mi__sheet-footer { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 9px; padding: 14px 23px calc(14px + env(safe-area-inset-bottom)); background: var(--az-mi-paper); border-top: 1px solid var(--az-mi-line); }
.az-mi__sheet-reset { min-height: 52px; padding: 0 14px; color: var(--az-mi-sea); background: #fff; border: 1px solid var(--az-mi-line); font-size: .76rem; font-weight: 760; }
.az-mi__sheet-apply { min-height: 52px; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 16px; color: var(--az-mi-ink); background: var(--az-mi-gold); border: 1px solid var(--az-mi-gold); text-align: left; }
.az-mi__sheet-apply:disabled { cursor: not-allowed; opacity: .48; }
.az-mi__sheet-apply strong { font-size: .84rem; }
.az-mi__sheet-apply small { font-size: .68rem; }

@media (max-width: 900px) {
  .az-mi__intent-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .az-mi__question-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .az-mi__result-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .az-mi__start-actions { grid-template-columns: minmax(0, 1fr) auto; }
  .az-mi__reset { grid-column: 1 / -1; }
}

@media (max-width: 680px) {
  .az-mi { padding: 34px 0 48px; }
  .az-mi__builder { margin-inline: -2px; padding: 19px 15px 16px; }
  .az-mi__intent { min-height: 112px; padding: 15px 13px; }
  .az-mi__intent strong { font-size: .96rem; }
  .az-mi__intent span { font-size: .72rem; }
  .az-mi__question { min-height: 83px; padding: 13px; }
  .az-mi__start-actions { grid-template-columns: 1fr; }
  .az-mi__reset { min-height: 44px; }
  .az-mi__assistance { align-items: stretch; flex-direction: column; }
  .az-mi__assistance button { width: 100%; }
  .az-mi__results-toolbar { align-items: stretch; flex-direction: column; }
  .az-mi__results-actions { justify-content: space-between; }
  .az-mi__results-actions label { flex: 1; }
  .az-mi__results-actions select { width: 100%; }
  .az-mi__result-grid { grid-template-columns: 1fr; }
  .az-mi__sheet { width: 100%; max-width: none; max-height: 92dvh; margin: auto 0 0; }
  .az-mi__sheet-header, .az-mi__sheet-body, .az-mi__sheet-footer { padding-left: 16px; padding-right: 16px; }
  .az-mi__field-row, .az-mi__choice-grid { grid-template-columns: 1fr; }
  .az-mi__sheet-footer { grid-template-columns: 1fr; }
  .az-mi__sheet-reset { order: 2; min-height: 44px; }
}

@media (max-width: 359px) {
  .az-mi__intent-grid, .az-mi__question-grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .az-mi *, .az-mi *::before, .az-mi *::after { scroll-behavior: auto !important; transition: none !important; }
}
