/* Shared mobile navigation and compact catalogue views. */
.kp-image-disclosure { max-width: 1200px; margin: 24px auto 0; padding: 20px 24px; border-top: 1px solid #ffffff26; color: #ffffffb8; font-size: 12px; line-height: 1.6; }
.kp-image-disclosure strong { display: block; margin-bottom: 4px; color: white; }
.kp-contact-sheet { max-width: 100%; box-sizing: border-box; width: min(480px, calc(100% - 24px)); max-height: calc(100dvh - 24px); margin: auto; padding: 24px; overflow: hidden; overscroll-behavior: contain; border: 1px solid #d8e3f1; border-radius: 24px; color: #003a8c; background: white; box-shadow: 0 20px 70px #00276040; }
.kp-contact-sheet[open] { display: flex; flex-direction: column; }
.kp-contact-body { min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
.kp-contact-sheet::backdrop { background: #001b41a8; }
.kp-contact-heading { display: flex; flex-shrink: 0; align-items: flex-start; gap: 8px; }
.kp-contact-heading > div { flex: 1; }
.kp-contact-eyebrow { font-size: 10px; font-weight: 900; letter-spacing: .1em; color: #526b91; margin: 0 0 8px; }
.kp-contact-heading h2 { font: 800 28px/1.15 'Baloo 2',Nunito,sans-serif; }
.kp-contact-close { display: grid; place-items: center; flex-shrink: 0; width: 44px; height: 44px; border-radius: 50%; background: #f0f4fa; }
.kp-contact-close svg { width: 22px; height: 22px; }
.kp-contact-intro { font-size: 14px; line-height: 1.6; color: #52657f; margin: 16px 0 20px; }
.kp-contact-routes { display: grid; gap: 10px; }
.kp-contact-route { display: flex; align-items: center; gap: 14px; width: 100%; padding: 16px; min-height: 76px; border: 1px solid #d9e3f1; border-radius: 16px; text-align: left; background: #f7f9fc; }
.kp-contact-route:hover { background: #edf4ff; border-color: #003a8c; }
.kp-contact-route > svg { width: 24px; height: 24px; flex-shrink: 0; color: #d31855; }
.kp-contact-route strong { display: block; font-size: 15px; line-height: 1.4; font-weight: 900; }
.kp-contact-route small { display: block; font-size: 12px; line-height: 1.6; color: #52657f; overflow-wrap: anywhere; }
.kp-contact-faq { margin-top: 20px; border-top: 1px solid #dce5f1; padding-top: 8px; }
.kp-contact-faq summary { min-height: 44px; padding: 10px 0; font-size: 13px; font-weight: 800; cursor: pointer; }
.kp-contact-faq p { font-size: 13px; line-height: 1.65; color: #52657f; padding-bottom: 8px; }
.kp-contact-cookies { display: block; min-height: 44px; margin-top: 8px; font-size: 12px; text-decoration: underline; color: #52657f; }
.kp-gallery-strip { display: contents; }
.kp-app-nav,.kp-trip-actionbar,.kp-app-title,.kp-menu-label,.kp-mobile-nav-label,.kp-trip-favorite,.kp-fold-mobile,.kp-config-heading,.kp-intro-preview,.kp-trip-footer,.kp-module-search,.kp-module-empty { display: none; }
@media (max-width: 900px) {
    .kp-mobile-shell { --kp-nav-height: calc(64px + env(safe-area-inset-bottom)); padding-bottom: calc(var(--kp-nav-height) + 20px); }
    .kp-app-nav { box-sizing: border-box; position: fixed; inset: auto 0 0; z-index: 65; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); height: var(--kp-nav-height); padding: 6px max(8px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left)); border-top: 1px solid #d7e2f0; background: #fff; box-shadow: 0 -4px 20px #003a8c09; font-family: Nunito,system-ui,sans-serif; }
    .kp-app-nav > * { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; min-height: 50px; border: 0; border-radius: 12px; background: transparent; color: #536b8a; font-size: 11px; line-height: 1.2; font-weight: 800; text-decoration: none; cursor: pointer; }
    .kp-app-nav > [aria-current="page"] { color: #003a8c; background: #edf4ff; }
    .kp-app-nav > * > svg { width: 23px; height: 23px; }
    .kp-app-nav-count { position: absolute; left: calc(50% + 7px); top: 1px; display: grid; place-items: center; min-width: 17px; height: 17px; padding: 0 4px; border-radius: 999px; border: 2px solid white; color: white; background: #d31855; font-size: 9px; }
    .kp-app-nav-count[hidden] { display: none; }
    .kp-app-nav :focus-visible,.kp-trip-actionbar :focus-visible { outline: 3px solid #003a8c; outline-offset: -3px; }
    html { scroll-padding-top: 70px; }
    .kp-catalog-app #europakarte { scroll-margin-top: 0; }
    #landing-service-bar { display: none; }
    body.kp-catalog-app > header, body.kp-catalog-app[data-application-page="search"] > header { background: white; backdrop-filter: none; }
    body.kp-catalog-app > header > div:first-child, body.kp-catalog-app[data-application-page="search"] > header > div:first-child { height: 58px; min-height: 58px; padding: 4px 16px; gap: 8px; }
    body.kp-catalog-app > header > div:first-child > a { flex: 1; min-width: 0; max-width: 148px; height: 48px; justify-content: center; }
    body.kp-catalog-app > header > div:first-child > a > div { transform: scale(.66); transform-origin: left center; width: 214px; }
    body.kp-catalog-app > header > div:first-child > a > div + div, body.kp-catalog-app > header #btn-favorites-header, body.kp-catalog-app > header .btn-pink { display: none !important; }
    body.kp-catalog-app > header > div:first-child > div { gap: 4px; }
    #mobile-menu-toggle { display: inline-flex; align-items: center; gap: 7px; min-width: 44px; min-height: 44px; padding: 10px 8px; }
    .kp-menu-label { display: inline; font-size: 12px; font-weight: 900; }
    #mobile-menu { max-height: calc(100dvh - 58px - var(--kp-nav-height)); overflow-y: auto; padding: 16px; overscroll-behavior: contain; }
    #mobile-menu a, #mobile-menu button { min-height: 44px; }
    .kp-menu-contact,.kp-menu-cookies { display: flex; align-items: center; gap: 8px; width: 100%; padding: 12px; color: #003a8c; font-size: 13px; font-weight: 800; }
    .kp-menu-contact svg { width: 20px; height: 20px; }
    .kp-menu-cookies { font-size: 12px; text-decoration: underline; }
    .kp-mobile-hero { min-height: 0; background: #f7f9fc; }
    .kp-mobile-hero > div:first-child, .kp-mobile-hero .kp-home-trust, .kp-mobile-hero .hero-partner-note, .kp-mobile-hero .font-hand, .kp-desktop-title { display: none; }
    .kp-app-title { display: inline; }
    .kp-mobile-hero > div:nth-child(2) { padding: 18px 16px 4px; }
    .kp-mobile-hero > div:nth-child(2) > div:first-child { margin: 0; width: 100%; text-align: left; }
    .kp-mobile-hero > div:nth-child(2) > div:first-child > div:first-child { display: none; }
    .kp-mobile-hero h1 { max-width: none; font-size: 25px; line-height: 1.08; letter-spacing: -.3px; margin: 0 0 14px; }
    .kp-mobile-hero > div:nth-child(2) > div:nth-child(2) { margin-top: 0; }
    .kp-mobile-hero .kp-home-search-box { padding: 6px; border: 1px solid #cedbec; border-radius: 16px; box-shadow: 0 4px 16px #003a8c05; }
    .kp-mobile-hero .kp-home-search-box > div { grid-template-columns: minmax(0,1fr) 44px; gap: 0 4px; }
    .kp-mobile-hero .kp-home-search-box > div > * { grid-column: auto; }
    .kp-mobile-hero #search-input-control { grid-column: 1; grid-row: 1; padding: 0 6px; border: 0; }
    .kp-mobile-hero #search-input-control label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
    .kp-mobile-hero input[type="search"] { font-size: 16px; min-height: 44px; }
    .kp-mobile-hero .kp-home-search-box > div > div:last-child { grid-column: 2; grid-row: 1; }
    .kp-mobile-hero .kp-home-search-box .btn-pink { min-height: 44px; height: 44px; padding: 10px; border-radius: 12px; background: #d31855; }
    .kp-mobile-hero .kp-home-search-box .btn-pink > span { display: none; }
    .kp-mobile-hero .kp-home-search-box .btn-pink svg { margin: 0; width: 20px; height: 20px; }
    .kp-mobile-home-filters { grid-column: 1 / -1 !important; grid-row: 2; margin-top: 4px; border-top: 1px solid #e3eaf3; }
    .kp-mobile-home-filters > summary { display: flex; align-items: center; gap: 8px; min-height: 36px; padding: 6px; color: #003a8c; font-size: 12px; font-weight: 800; cursor: pointer; list-style: none; }
    .kp-mobile-home-filters > summary::-webkit-details-marker { display: none; }
    .kp-mobile-home-filters > summary svg { width: 16px; height: 16px; }
    .kp-mobile-home-filters > summary svg:last-child { margin-left: auto; }
    .kp-mobile-home-filters[open] > summary svg:last-child { transform: rotate(180deg); }
    .kp-mobile-home-filter-fields { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 8px; padding: 4px 4px 12px; }
    .kp-mobile-home-filter-fields #search-country-control,.kp-mobile-home-filter-fields #search-transport-control { grid-column: auto; padding: 8px; border: 1px solid #dce5f1; border-radius: 10px; }
    .kp-mobile-home-filter-fields select { font-size: 16px; min-height: 44px; }
    .kp-mobile-home-filter-fields #search-budget-control { grid-column: 1 / -1; flex-wrap: wrap; gap: 8px; padding: 8px; }
    .kp-mobile-home-filter-fields #search-budget-control label { width: 100%; }
    .kp-mobile-home-filter-fields #filter-price { flex: 1; width: 100px; min-height: 44px; margin: 0; }
    .kp-mobile-home-filter-fields #themen,.kp-mobile-home-filter-fields .kp-home-quick-filters,.kp-mobile-home-filter-fields #trips-sort-wrap,.kp-mobile-home-filter-fields #hotel-type-filter-wrap { grid-column: 1 / -1; width: 100%; }
    .kp-mobile-home-filter-fields #themen { padding: 8px 0; border: 0; background: transparent; }
    .kp-mobile-home-filter-fields #themen > div { padding: 0; }
    .kp-mobile-home-filter-fields #themen > div > div { gap: 6px; justify-content: flex-start; }
    .kp-mobile-home-filter-fields .category-pill { min-height: 44px; font-size: 12px; padding: 9px 12px; }
    .kp-mobile-home-filter-fields .kp-home-quick-filters { display: block; margin: 0; padding: 8px 0 0; border: 0; background: transparent; box-shadow: none; }
    .kp-mobile-home-filter-fields .kp-home-quick-filters button { min-height: 44px; padding-inline: 10px; }
    .kp-map-shortcut { display: flex; grid-column: 1 / -1; align-items: center; gap: 8px; min-height: 44px; font-size: 13px; font-weight: 900; color: #003a8c; }
    .kp-map-shortcut svg { width: 19px; height: 19px; }
    #sort-select { min-height: 44px; font-size: 16px; min-width: 0; max-width: 100%; }
    #trips-sort-wrap { justify-content: space-between; }
    body.kp-catalog-app:not([data-application-page="search"]) #katalog { padding: 14px 16px 24px; }
    body > footer #catalog-freshness { padding: 20px 24px; color: #fff; opacity: .8; font-size: 11px; }
    .catalog-header { gap: 10px; margin-bottom: 14px; padding-bottom: 0; border: 0; }
    .catalog-header .font-hand { display: none; }
    #catalog-main-heading { font-size: 24px; line-height: 1.12; }
    .catalog-header p { font-size: 12px; margin-top: 4px; }
    .catalog-tools { gap: 8px; width: 100%; }
    .catalog-tools > div:first-of-type { width: 100%; }
    .catalog-tools > div:first-of-type button { min-height: 42px; flex: 1; padding-inline: 10px; }
    #trips-grid, #hotels-grid { gap: 16px; }
    #trips-grid > article, #hotels-grid > article { cursor: pointer; border: 1px solid #dbe5f2; border-radius: 18px; box-shadow: 0 5px 18px #003a8c08; }
    #trips-grid > article:not(.kp-trip-card) > div:first-child { height: 180px; }
    #trips-grid > article:not(.kp-trip-card) > div:last-child { padding: 14px; }
    #trips-grid > article:not(.kp-trip-card) > div:last-child > div:first-child > div { flex-wrap: nowrap; overflow-x: auto; gap: 6px; margin-bottom: 8px; }
    #trips-grid > article:not(.kp-trip-card) > div:last-child > div:first-child > div > span { flex-shrink: 0; font-size: 11px; padding: 4px 8px; }
    #trips-grid > article:not(.kp-trip-card) .line-clamp-3 { -webkit-line-clamp: 2; font-size: 13px; line-height: 1.5; }
    #trips-grid > article:not(.kp-trip-card) > div:last-child > div:last-child { margin-top: 10px; padding-top: 10px; }
    #trips-grid [data-kp-action="favorite"], #trips-grid a[target], #trips-grid [data-kp-action="trip"] { min-width: 44px; min-height: 44px; }
    body[data-application-page="search"] #search-entry { padding: 12px 16px; }
    #search-results-form { flex-wrap: nowrap; gap: 4px; padding: 6px; border-radius: 16px; }
    #search-query-slot { flex-basis: auto; }
    #search-query-slot #search-input-control { padding: 0 4px; }
    #search-query-slot input { font-size: 16px; min-height: 44px; }
    #search-results-form > button { flex-shrink: 0; width: 44px; min-height: 44px; padding: 12px; font-size: 0; border-radius: 12px; gap: 0; }
    #search-results-form > button svg { width: 20px; height: 20px; }
    body[data-application-page="search"] #katalog { padding-top: 6px; }
    body[data-application-page="search"] #catalog-main-heading { font-size: 24px; }
    body[data-application-page="search"] .catalog-header { margin-bottom: 14px; gap: 10px; }
    body[data-application-page="search"] .catalog-tools { gap: 8px; }
    body[data-application-page="search"] #trips-sort-wrap { flex: 1; width: auto; }
    body[data-application-page="search"] #trips-sort-wrap label { display: none; }
    body[data-application-page="search"] #sort-select { width: 100%; max-width: none; font-size: 14px; }
    #active-filters-bar { flex-wrap: nowrap; gap: 8px; padding: 0; margin-bottom: 14px; border: 0; background: transparent; }
    #active-filters-bar > span { display: none; }
    #active-filter-chips { flex: 1; min-width: 0; flex-wrap: nowrap; overflow-x: auto; padding-block: 3px; }
    #active-filter-chips button { flex-shrink: 0; min-height: 44px; white-space: nowrap; }
    #active-filters-bar > button { flex-shrink: 0; justify-content: center; width: 44px; min-height: 44px; font-size: 0; }
    #active-filters-bar > button svg { width: 18px; height: 18px; margin: 0; }
    .kp-trip-card-price-row { padding: 12px 14px 8px; align-items: center; }
    .kp-trip-card-price { font-size: 30px; }
    .kp-trip-card-price-on-request { font-size: 21px; }
    .kp-trip-card-price-context { font-size: 11px; }
    .kp-trip-card-actions { gap: 2px; }
    .kp-trip-card-image { aspect-ratio: 1.9; }
    .kp-trip-card-body { padding: 12px 14px 14px; }
    .kp-trip-card-title { font-size: 26px; }
    .kp-trip-card-location { margin-bottom: 8px; }
    .kp-trip-card-facts { margin-bottom: 8px; }
    .kp-trip-card-note { padding-top: 8px; margin-bottom: 10px; font-size: 12px; }
    #search-filter-dialog { width: 100%; margin: auto 0 0; max-height: calc(100dvh - 12px); padding: 20px 20px max(20px,env(safe-area-inset-bottom)); border-radius: 22px 22px 0 0; }
    .search-filter-dialog-heading { position: sticky; top: -20px; z-index: 2; background: #f7f9fc; padding-block: 10px; }
    #search-filter-dialog select { font-size: 16px; }
    #search-transport-options label { min-height: 44px; }
    .search-filter-apply { position: sticky; bottom: 0; box-shadow: 0 0 0 8px #f7f9fc; }
    html.kp-advisor-ready .kp-chat-dock, .kp-consent-trigger { display: none !important; }
    body.kp-catalog-app.kp-trip-open #trip-modal { padding-bottom: calc(var(--kp-nav-height) + 86px); scroll-padding-bottom: calc(var(--kp-nav-height) + 86px); }
    html.kp-advisor-lifted #trip-modal .trip-section-nav { margin-right: 0; }
    .trip-detail-toolbar { min-height: 54px; padding: 5px 12px; gap: 8px; grid-template-columns: 44px minmax(0,1fr) auto; }
    .trip-back-link { width: 44px; height: 44px; padding: 0; justify-content: center; }
    .trip-back-link span { display: none; }
    .trip-back-link svg { margin: 0; }
    .trip-detail-toolbar .trip-detail-actions { display: flex; gap: 3px; }
    .trip-detail-actions > button { width: 44px; height: 44px; padding: 10px; min-height: 44px; font-size: 0; border: 0; margin: 0 !important; background: #f0f5fc; }
    .trip-detail-actions > button svg { width: 20px; height: 20px; margin: 0; }
    .trip-detail-actions > button[onclick="openCurrentTripInNewTab()"] { display: none; }
    .trip-detail-actions .kp-trip-favorite { display: inline-flex; align-items: center; justify-content: center; color: #003a8c; border-radius: 50%; }
    .kp-trip-favorite[aria-pressed="true"] > svg { fill: #ffd9e8; color: #d31855; }
    .trip-detail-breadcrumb { display: flex; }
    #modal-breadcrumb-title { font-size: 15px; }
    .trip-section-nav { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); padding: 0 12px 7px; gap: 3px; overflow: visible; }
    .trip-section-nav a { min-height: 40px; padding: 8px 3px; justify-content: center; border-radius: 9px; font-size: 11px; }
    .trip-section-nav .kp-detail-nav-full,.trip-section-nav a:last-child { display: none; }
    .trip-section-nav .kp-mobile-nav-label { display: inline; }
    .trip-section-nav a[aria-current="location"] { background: #003a8c; color: white; }
    #trip-modal > div:nth-child(2) { padding: 16px; }
    #detail-sec-overview { margin-bottom: 14px; }
    #detail-sec-overview > div:last-child,#detail-sec-overview > div:first-child > div:first-child { display: none; }
    #modal-title { font-size: 25px; line-height: 1.12; }
    #trip-modal .trip-mobile-summary { display: none; }
    .kp-trip-gallery { margin-bottom: 16px; }
    .kp-trip-gallery .kp-gallery-main > div { height: clamp(170px,49vw,280px); border-radius: 18px; border-width: 0; }
    #modal-gallery-thumbs { display: block; height: auto; }
    #modal-gallery-thumbs .kp-gallery-strip { display: flex; overflow-x: auto; gap: 8px; padding-bottom: 4px; scrollbar-width: none; }
    #modal-gallery-thumbs .kp-gallery-strip::-webkit-scrollbar { display: none; }
    #modal-gallery-thumbs .kp-gallery-strip > button { flex: 0 0 72px; height: 54px; border-radius: 10px; }
    #modal-gallery-thumbs > details > summary { min-height: 40px; padding: 9px 0; }
    #modal-gallery-thumbs > details > div { max-height: 320px; overflow-y: auto; }
    #detail-sec-hotels h2,#detail-sec-packages h2,#detail-sec-modules h2 { font-size: 22px; line-height: 1.2; }
    #detail-sec-hotels > div:first-child > div > span,#detail-sec-packages > div:first-child > span,#detail-sec-modules > div > span { display: none; }
    .kp-module-search { display: block; width: 100%; min-height: 44px; padding: 10px 14px; margin-bottom: 12px; border: 1px solid #cbd9ec; border-radius: 12px; background: white; font-size: 16px; color: #003a8c; }
    .kp-module-empty:not([hidden]) { display: block; padding: 16px; background: white; font-size: 13px; color: #52657f; }
    .kp-section-hints { margin-top: 6px; }
    .kp-section-hints > summary { font-size: 12px; padding-block: 10px; }
    .kp-section-hints > p { font-size: 12px; line-height: 1.6; margin-bottom: 12px; color: #52657f; }
    .kp-trip-content { margin: 0; }
    .kp-trip-content > * { margin-top: 0 !important; }
    .kp-trip-overview-copy { padding: 16px; border-radius: 18px; }
    .kp-trip-overview-copy h2 { font-size: 19px; }
    .kp-trip-overview-copy > * { margin-top: 12px; }
    .kp-intro-preview { display: block; margin-top: 8px; color: #52657f; font-size: 13px; line-height: 1.55; }
    .kp-fold-mobile { display: block; border-top: 1px solid #dce5f1; margin-top: 10px; color: #003a8c; }
    .kp-fold-mobile[hidden],.kp-module-choice[hidden] { display: none !important; }
    .kp-fold-mobile > summary { padding: 12px 0; min-height: 44px; font-size: 13px; line-height: 1.4; font-weight: 900; cursor: pointer; }
    .kp-fold-mobile .kp-fold-content { border: 0; margin: 0; padding-top: 0; }
    .kp-fold-content > h3 { display: none; }
    #trip-modal[data-mobile-view]:not([data-mobile-view="overview"]) #modal-step-config > :not(.kp-trip-layout) { display: none; }
    #trip-modal[data-mobile-view="overview"] .kp-trip-content > :not(.kp-trip-overview-copy), #trip-modal[data-mobile-view="hotels"] .kp-trip-content > :not(#detail-sec-hotels), #trip-modal[data-mobile-view="packages"] .kp-trip-content > :not(#detail-sec-packages), #trip-modal[data-mobile-view="modules"] .kp-trip-content > :not(#modal-modules-section), #trip-modal[data-mobile-view="config"] .kp-trip-content { display: none; }
    #trip-modal[data-mobile-view]:not([data-mobile-view="config"]) #detail-sec-configuration { display: none; }
    #trip-modal .trip-config-aside { max-height: none; overflow: visible; }
    #trip-modal .trip-config-panel { padding: 16px; }
    .kp-config-heading { display: block; font: 800 25px/1.2 'Baloo 2',Nunito,sans-serif; margin-bottom: 14px; color: #003a8c; }
    #trip-modal .kp-config-price-header,.kp-config-original-actions { display: none; }
    .kp-config-summary { margin-bottom: 0; padding: 14px; }
    .kp-config-summary > div { gap: 12px; }
    #cfg-selected-hotel-name,#cfg-selected-pkg-summary { max-width: 65%; text-align: right; overflow-wrap: anywhere; }
    .kp-selected-modules .kp-module-title { font-size: 13px; }
    .kp-selected-modules .kp-remove-module { min-height: 44px; }
    #cfg-estimated-total { text-align: right; max-width: 50%; }
    .kp-config-wishes > div,.kp-config-terms > div { padding-block: 8px; }
    .kp-config-wishes input:not([type="checkbox"]),.kp-config-wishes select { font-size: 16px; }
    #cfg-transports-container button { min-height: 44px; padding: 10px 8px; }
    .kp-trip-footer { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; border-top: 1px solid #dce5f1; padding-top: 12px; margin-top: 20px; font-size: 11px; color: #52657f; }
    .kp-trip-footer > button { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; white-space: nowrap; }
    .kp-trip-footer svg { width: 15px; height: 15px; }
    .kp-trip-footer details { max-width: 65%; }
    .kp-trip-footer summary { min-height: 44px; padding: 12px 0; cursor: pointer; text-align: right; }
    .kp-trip-footer p { font-size: 11px; line-height: 1.6; }
    .kp-trip-actionbar { position: fixed; left: 0; right: 0; bottom: var(--kp-nav-height); z-index: 65; display: none; align-items: center; gap: 10px; min-height: 74px; padding: 10px max(16px,env(safe-area-inset-right)) 10px max(16px,env(safe-area-inset-left)); border-top: 1px solid #d7e2f0; background: #fff; font-family: Nunito,system-ui,sans-serif; }
    .kp-trip-open:not(.kp-trip-inquiry) .kp-trip-actionbar { display: flex; }
    .kp-trip-selection { display: flex; align-items: center; gap: 8px; min-height: 48px; padding: 0; flex: 1; color: #003a8c; text-align: left; }
    .kp-trip-selection > svg { width: 20px; height: 20px; flex-shrink: 0; }
    .kp-trip-selection strong { display: block; font-size: 13px; line-height: 1.4; font-weight: 900; }
    .kp-trip-selection small { display: block; font-size: 10px; line-height: 1.5; color: #52657f; }
    .kp-trip-request { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 12px 14px; border-radius: 14px; background: #d31855; color: white; font-size: 13px; line-height: 1.2; font-weight: 900; }
    .kp-trip-request > svg { width: 16px; height: 16px; order: 2; }
    .kp-trip-inquiry .trip-section-nav,.kp-trip-inquiry .kp-trip-footer { display: none; }
    .kp-trip-inquiry #modal-step-form { padding: 16px; border-radius: 18px; }
    .kp-trip-inquiry #modal-step-form > div.bg-mblue { padding: 16px; gap: 8px; }
    #form-summary-price { font-size: 22px; }
    .kp-form-selection .kp-selected-modules > h3 { display: none; }
    body.kp-catalog-app.kp-trip-open.kp-trip-inquiry #trip-modal { padding-bottom: calc(var(--kp-nav-height) + 24px); }
    .kp-contact-sheet { width: 100%; max-height: calc(100dvh - 12px); margin: auto 0 0; border-radius: 24px 24px 0 0; padding: 22px 20px max(20px,env(safe-area-inset-bottom)); }
    .kp-contact-heading h2 { font-size: 27px; }
}
@media (min-width: 901px) { .kp-mobile-home-filters { display: none; } }
@media print { .kp-app-nav,.kp-trip-actionbar,.kp-contact-sheet,.kp-trip-footer,.kp-trip-favorite { display: none !important; } }
/* Shared catalogue review, including desktop. */
.kp-program-heading{font-size:.85rem;font-weight:800;color:#003a8c;margin:0 0 12px}
.kp-offer-wishes,.kp-offer-review{border:1px solid #dce5f1;border-radius:18px;padding:16px;background:#f7f9fc;font-size:.85rem;line-height:1.55;color:#183658}
.kp-offer-wishes summary,.kp-offer-review summary{cursor:pointer;font-weight:800;color:#003a8c;min-height:32px}
.kp-wishes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:12px}
.kp-wishes-grid label{display:flex;flex-direction:column;gap:6px;font-weight:750;min-width:0}
.kp-wishes-grid input,.kp-wishes-grid select{width:100%;box-sizing:border-box;min-width:0;min-height:46px;border:1px solid #c8d5e7;border-radius:10px;background:white;padding:10px;font:inherit;color:#003a8c}
.kp-wishes-grid small{font-size:.72rem;font-weight:400;color:#526984}
.kp-offer-review h3{font-size:1.05rem;font-weight:800;color:#003a8c;margin:0 0 10px}
.kp-offer-review p{margin:10px 0}
.kp-offer-review ul{padding-left:20px;list-style:disc}
.kp-offer-review a{color:#003a8c;text-decoration:underline}
.kp-offer-review button{padding:10px 16px;border:1px solid #c8d5e7;border-radius:24px;color:#003a8c;background:white;font:inherit;font-weight:800;min-height:44px}
.kp-review-warning{border-left:3px solid #c77618;background:#fff7e9;border-radius:8px;padding:10px 12px;color:#67420c;font-size:.8rem;line-height:1.55}
.kp-review-warning p+p{margin-top:10px}
@media(max-width:600px){.kp-wishes-grid{grid-template-columns:1fr}.kp-offer-review,.kp-offer-wishes{padding:14px}}

#package-services-detail{list-style:disc;padding-left:20px;margin-top:10px}#detail-sec-packages>.kp-offer-wishes{margin-top:16px}

@media(max-width:600px){#modal-step-success .text-left>div{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:12px}#modal-step-success .text-left>div>span{min-width:0;overflow-wrap:anywhere}#modal-step-success .text-left>div>span:last-child{text-align:right}#modal-step-success .text-left>div:first-child{display:block}#success-inquiry-id{display:block;margin-top:6px;text-align:left!important;overflow-wrap:anywhere}}

@media(max-width:600px){#modal-step-success{padding:20px}#modal-step-success>.text-left{padding:16px}#modal-step-success .text-left>div{grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr)}}

@media(max-width:600px){#modal-step-success .text-left>div>span[id^="success-"]{max-width:100%}}
