.mp-catalog{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));align-items:start;gap:24px}.mp-card{min-width:0;overflow:hidden;border:1px solid #dce5ea;border-radius:18px;background:#fff;box-shadow:0 12px 35px rgba(16,42,67,.08)}.mp-card__image{display:block;width:100%;height:220px;object-fit:cover}.mp-card__body{min-width:0;padding:22px}.mp-card h3{margin:0 0 8px;color:#102A43}.mp-card__price{color:#102A43;font-size:1.1rem}.mp-rental-form{display:grid;min-width:0;gap:12px}.mp-rental-form label{display:grid;min-width:0;gap:5px;font-size:13px;font-weight:700}.mp-rental-form input,.mp-rental-form select{box-sizing:border-box;width:100%;max-width:100%;min-width:0;min-height:44px;padding:9px 11px;border:1px solid #c8d4dc;border-radius:8px;background:#fff;color:#102A43}.mp-dates{display:grid;min-width:0;grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));gap:10px}.mp-button{min-height:48px;border:0;border-radius:10px;padding:12px 16px;background:var(--mp-accent,#43D3B0);color:#102A43;font-weight:800;cursor:pointer;transition:.2s}.mp-button:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(16,42,67,.16)}.mp-button:disabled{opacity:.45;cursor:not-allowed;transform:none}.mp-summary{position:relative;margin-top:9px;padding:16px;border:1px solid color-mix(in srgb,var(--mp-accent,#43D3B0) 65%,#ddd);border-radius:14px;background:color-mix(in srgb,var(--mp-accent,#43D3B0) 9%,#fff);box-shadow:0 10px 28px rgba(16,42,67,.08);transition:opacity .2s,transform .2s}.mp-summary[hidden]{display:none}.mp-summary:before{position:absolute;top:-8px;left:24px;width:14px;height:14px;border-top:1px solid color-mix(in srgb,var(--mp-accent,#43D3B0) 65%,#ddd);border-left:1px solid color-mix(in srgb,var(--mp-accent,#43D3B0) 65%,#ddd);background:inherit;content:"";transform:rotate(45deg)}.mp-summary.is-loading{opacity:.65}.mp-summary__eyebrow{display:block;margin-bottom:9px;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.mp-summary__rows{display:grid;gap:6px}.mp-summary__rows>div,.mp-summary__total{display:flex;justify-content:space-between;gap:14px;font-size:13px}.mp-summary__rows strong,.mp-summary__total strong{text-align:right}.mp-summary__total{margin-top:11px;padding-top:11px;border-top:1px solid rgba(0,0,0,.12);font-size:15px;font-weight:900}.mp-status{min-height:20px;margin:11px 0 0;font-size:13px;font-weight:800}.mp-status.is-ok{color:#157a36}.mp-status.is-bad,.mp-alert{color:#b42318}@media(max-width:380px){.mp-summary__rows>div,.mp-summary__total{display:grid;gap:1px}.mp-summary__rows strong,.mp-summary__total strong{text-align:left}}

.mp-catalog-toolbar{display:grid;gap:14px;margin:0 0 24px}
.mp-catalog-search{box-sizing:border-box;display:grid;grid-template-columns:20px minmax(0,1fr) 28px;align-items:center;gap:10px;width:min(100%,480px);min-height:52px;padding:5px 9px 5px 17px;border:1px solid #cbd8df;border-radius:16px;background:#fff;color:#527080;box-shadow:0 10px 30px rgba(16,42,67,.08);transition:border-color .2s,box-shadow .2s,transform .2s}
.mp-catalog-search:focus-within{border-color:#43D3B0;box-shadow:0 0 0 3px rgba(67,211,176,.16),0 13px 34px rgba(16,42,67,.12);transform:translateY(-1px)}
.mp-catalog-search__icon{display:block;width:19px;height:19px;overflow:visible;color:#102A43;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.mp-catalog-search input{box-sizing:border-box;width:100%;min-width:0;min-height:40px;padding:0;border:0!important;outline:0;background:transparent!important;box-shadow:none!important;color:#102A43;font-size:14px}
.mp-catalog-search input::-webkit-search-cancel-button{display:none}
.mp-catalog-search__clear{display:grid;width:27px;height:27px;padding:0;place-items:center;border:0;border-radius:8px;background:#eaf1f4;color:#526878;font-size:18px;line-height:1;cursor:pointer}
.mp-catalog-search__clear[hidden]{display:block;visibility:hidden}
.mp-standalone-search{width:100%}
.mp-catalog-search.is-standalone{width:min(100%,560px)}
.mp-catalog-filters{display:flex;gap:8px;overflow-x:auto;padding:2px 0 5px;scrollbar-width:thin}
.mp-catalog-filters button{flex:0 0 auto;padding:8px 14px;border:1px solid #cbd8df;border-radius:999px;background:#fff;color:#102A43;font-weight:700;cursor:pointer;transition:.2s}
.mp-catalog-filters button:hover,.mp-catalog-filters button.is-active{border-color:#102A43;background:#102A43;color:#fff}
.mp-catalog-empty{padding:24px;border-radius:14px;background:#f3f7f9;color:#526678;text-align:center}
.mp-card[hidden]{display:none}
.mp-card.is-calendar-open{position:relative;z-index:100;overflow:visible}
.mp-card.is-calendar-open .mp-gallery{overflow:hidden;border-radius:17px 17px 0 0}
.mp-card__categories{display:flex;flex-wrap:wrap;gap:5px;margin:0 0 10px}
.mp-card__categories span{padding:4px 8px;border-radius:999px;background:#e8f8f4;color:#235c50;font-size:11px;font-weight:750}
.mp-card__excerpt{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3}
.mp-pickup-location{display:grid;gap:3px;margin:0;padding:11px 13px;border:1px solid #d7e5eb;border-radius:10px;background:#f5fafc;color:#173746;font-size:13px;line-height:1.45}
.mp-pickup-location span{overflow-wrap:anywhere}
.mp-booking-toggle{box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:48px;padding:12px 16px;border:0;border-radius:10px;background:var(--mp-accent,#43D3B0);color:#102A43;font-weight:800;text-align:left;cursor:pointer;transition:transform .2s,box-shadow .2s}
.mp-booking-toggle:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(16,42,67,.16)}
.mp-booking-toggle__icon{display:grid;flex:0 0 27px;width:27px;height:27px;place-items:center;border-radius:50%;background:rgba(255,255,255,.5);font-size:15px}
.mp-booking-panel{padding-top:16px}
.mp-booking-panel[hidden]{display:none}
.mp-extras{min-width:0;margin:2px 0;padding:0;border:0}
.mp-extras legend{display:flex;align-items:center;gap:8px;margin-bottom:8px;color:#102A43;font-size:13px;font-weight:850}
.mp-extras legend small{padding:3px 7px;border-radius:999px;background:#edf3f5;color:#607583;font-size:10px;font-weight:750;text-transform:uppercase}
.mp-extras__list{display:grid;gap:8px}
.mp-extra-option{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px;padding:11px;border:1px solid #d3dfe5;border-radius:12px;background:#fff;transition:border-color .2s,background .2s,box-shadow .2s}
.mp-extra-option:hover{border-color:#9fcfc4}
.mp-extra-option.is-selected{border-color:var(--mp-accent,#43D3B0);background:color-mix(in srgb,var(--mp-accent,#43D3B0) 8%,#fff);box-shadow:0 0 0 2px color-mix(in srgb,var(--mp-accent,#43D3B0) 18%,transparent)}
.mp-extra-option__select{display:grid!important;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:9px;cursor:pointer}
.mp-extra-option__select>input{position:absolute;width:1px!important;height:1px!important;min-height:0!important;opacity:0;pointer-events:none}
.mp-extra-option__check{display:grid;width:20px;height:20px;place-items:center;border:1px solid #b8c9d1;border-radius:6px;background:#fff;color:transparent;font-size:12px}
.mp-extra-option.is-selected .mp-extra-option__check{border-color:var(--mp-accent,#43D3B0);background:var(--mp-accent,#43D3B0);color:#102A43}
.mp-extra-option__content{display:grid;min-width:0;gap:2px}
.mp-extra-option__content strong{color:#102A43;font-size:13px}
.mp-extra-option__content small{overflow:hidden;color:#607583;font-size:11px;font-weight:500;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.mp-extra-option__content b{color:#276b5c;font-size:11px}
.mp-extra-option__qty{display:grid!important;width:65px;gap:3px!important;color:#607583!important;font-size:10px!important;text-align:center}
.mp-extra-option__qty input{min-height:36px!important;padding:5px!important;text-align:center}
@container (max-width:360px){
  .mp-extra-option{grid-template-columns:minmax(0,1fr)}
  .mp-extra-option__qty{grid-template-columns:auto 70px!important;align-items:center;width:auto;justify-content:end;text-align:left}
}
.mp-package-card{border-color:color-mix(in srgb,var(--mp-accent,#43D3B0) 45%,#dce5ea)}
.mp-package-badge{display:inline-flex;margin-bottom:8px;padding:5px 9px;border-radius:999px;background:#102A43;color:#fff;font-size:10px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}
.mp-package-includes{margin:13px 0;padding:13px;border:1px solid #dce8e5;border-radius:12px;background:#f5fbf9}
.mp-package-includes>strong{display:block;margin-bottom:7px;color:#102A43;font-size:12px}
.mp-package-includes ul{display:grid;gap:5px;margin:0;padding:0;list-style:none}
.mp-package-includes li{display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:5px;color:#415d68;font-size:12px}
.mp-package-includes li>span{color:#168168;font-weight:900}.mp-package-includes li>b{color:#102A43}
.mp-package-saving{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:11px 0}
.mp-package-saving del{color:#7a8d96}.mp-package-saving span{padding:5px 8px;border-radius:999px;background:#e6f8f3;color:#176d59;font-size:11px;font-weight:800}
.mp-date-picker{position:relative;min-width:0}
.mp-date-picker__label{display:block;margin-bottom:5px;font-size:13px;font-weight:700}
.mp-date-picker__trigger{box-sizing:border-box;display:flex;align-items:center;gap:9px;width:100%;min-height:48px;padding:10px 12px;border:1px solid #c8d4dc;border-radius:10px;background:#fff;color:#102A43;text-align:left;cursor:pointer}
.mp-date-picker__trigger [data-mp-date-label]{flex:1;font-weight:700}
.mp-date-picker__icon{display:grid;width:26px;height:26px;place-items:center;border-radius:7px;background:#e8f8f4;color:#236c5c}
.mp-date-picker__panel{position:absolute;z-index:50;top:calc(100% + 8px);left:0;box-sizing:border-box;width:min(100%,390px);min-width:320px;padding:16px;border:1px solid #d4e0e6;border-radius:16px;background:#fff;box-shadow:0 22px 60px rgba(16,42,67,.2)}
.mp-date-picker__panel[hidden]{display:none}
.mp-date-picker__nav{display:grid;grid-template-columns:38px 1fr 38px;align-items:center;margin-bottom:12px;color:#102A43;text-align:center}
.mp-date-picker__nav strong{text-transform:capitalize}
.mp-date-picker__nav button{display:grid;width:34px;height:34px;padding:0;place-items:center;border:1px solid #d4e0e6;border-radius:9px;background:#fff;color:#102A43;cursor:pointer}
.mp-date-picker__week,.mp-date-picker__days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.mp-date-picker__week{margin-bottom:5px;color:#718292;font-size:11px;font-weight:800;text-align:center}
.mp-date-picker__days button{position:relative;display:grid;aspect-ratio:1;min-width:0;padding:0;place-items:center;border:0;border-radius:9px;background:#edf9f6;color:#174f44;font-size:12px;font-weight:800;cursor:pointer}
.mp-date-picker__days button:hover:not(:disabled){outline:2px solid #43D3B0;outline-offset:1px}
.mp-date-picker__days button.is-limited{background:#fff1cc;color:#795600}
.mp-date-picker__days button.is-full{background:#fdecee;color:#a82432;box-shadow:inset 0 0 0 1px #f4c7cc;cursor:not-allowed}
.mp-date-picker__days button.is-past,.mp-date-picker__days button.is-closed{background:#f0f2f4;color:#9ba5ad;text-decoration:line-through;cursor:not-allowed}
.mp-date-picker__days button.is-past-full{background:#f8e4e7;color:#b66e77;box-shadow:inset 0 0 0 1px #efd0d4;text-decoration:line-through;cursor:not-allowed}
.mp-date-picker__days button.is-loading{background:#f4f6f7;color:transparent}
.mp-date-picker__days button.is-start,.mp-date-picker__days button.is-end{background:#102A43;color:#fff;outline:2px solid #43D3B0}
.mp-date-picker__days button.is-range{border-radius:4px;background:#c9f2e8;color:#174f44}
.mp-date-picker__days.is-loading{opacity:.55}
.mp-date-picker__legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:13px;color:#334b5d;font-size:10px;font-weight:750}
.mp-date-picker__legend span{display:flex;min-width:0;align-items:center;justify-content:center;gap:5px;padding:7px 5px;border:1px solid #e0e8ec;border-radius:9px;background:#f8fafb;text-align:center}
.mp-date-picker__legend i{flex:0 0 10px;width:10px;height:10px;border:2px solid #7edfc8;border-radius:50%;background:#d9f5ee}
.mp-date-picker__legend i.is-limited{border-color:#e1ad29;background:#f5cc63}
.mp-date-picker__legend i.is-full{border-color:#d65c68;background:#f6aab2}
.mp-date-picker__hint{display:flex;align-items:flex-start;gap:9px;margin:0 0 13px;padding:10px 11px;border:1px solid #bce9de;border-radius:10px;background:#edf9f6;color:#173f37;font-size:11px;font-weight:750;line-height:1.4}
.mp-date-picker__hint:before{display:grid;flex:0 0 18px;width:18px;height:18px;place-items:center;border-radius:50%;background:#43D3B0;color:#102A43;content:"i";font:800 11px/1 Arial,sans-serif}
.mp-date-picker__hint.is-error{border-color:#efb9b9;background:#fff1f1;color:#9f1f1f}
.mp-date-picker__hint.is-error:before{background:#d63638;color:#fff;content:"!"}
@media(max-width:600px){
  .mp-catalog{grid-template-columns:1fr!important;gap:16px}
  .mp-catalog-toolbar{margin-bottom:17px}
  .mp-catalog-search,.mp-catalog-search.is-standalone{width:100%;min-height:50px}
  .mp-catalog-filters{margin-right:-4px;padding-bottom:8px;scroll-padding-inline:2px;scroll-snap-type:x proximity}
  .mp-catalog-filters button{min-height:42px;scroll-snap-align:start}
  .mp-card{border-radius:14px;box-shadow:0 8px 24px rgba(16,42,67,.08)}
  .mp-card__image{height:190px}
  .mp-card__body{padding:16px}
  .mp-card h3{font-size:clamp(20px,6vw,25px);line-height:1.2}
  .mp-card__excerpt{margin-bottom:12px;-webkit-line-clamp:2;line-clamp:2;font-size:14px;line-height:1.5}
  .mp-card__price{margin:13px 0;font-size:1rem}
  .mp-gallery__thumbs{overflow-x:auto;scroll-snap-type:x proximity}
  .mp-gallery__thumb{scroll-snap-align:start}
  .mp-booking-toggle,.mp-button,.mp-date-picker__trigger{min-height:50px}
  .mp-rental-form{gap:11px}
  .mp-rental-form input,.mp-rental-form select{min-height:48px;font-size:16px}
  .mp-date-picker__panel{position:fixed;z-index:999999;top:auto;right:max(8px,env(safe-area-inset-right));bottom:max(8px,env(safe-area-inset-bottom));left:max(8px,env(safe-area-inset-left));width:auto;min-width:0;max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px);overflow:auto;padding:15px;border-radius:18px;overscroll-behavior:contain}
  .mp-date-picker__nav button{width:40px;height:40px}
  .mp-date-picker__days button{min-height:40px;aspect-ratio:auto}
  .mp-date-picker__legend{gap:4px}
  .mp-date-picker__legend span{padding:7px 3px;font-size:9px}
  .mp-extra-option{padding:10px}
  .mp-summary{padding:14px}
  .mp-button{width:100%}
}
.mp-route-privacy {
    margin: -2px 0 4px;
    padding: 10px 12px;
    border: 1px solid #b9e8dc;
    border-color: color-mix(in srgb, var(--mp-accent, #43d3b0) 35%, #dbe5e9);
    border-radius: 12px;
    background: #f2fbf8;
    background: color-mix(in srgb, var(--mp-accent, #43d3b0) 8%, #fff);
    color: #46545a;
    font-size: 12px;
    line-height: 1.45;
}

.mp-route-privacy[hidden] {
    display: none !important;
}

/* Builder-unabhängiges Vermivo-Basisdesign. Elementor-Regeln bleiben durch
   ihre Widget-Spezifität weiterhin als lokale Überschreibung wirksam. */
.mp-catalog-shell,.mp-card,.mp-standalone-search{color:var(--mp-text,#334E68)}
.mp-catalog{grid-template-columns:repeat(var(--mp-catalog-columns,3),minmax(0,1fr));gap:var(--mp-catalog-gap,24px)}
.mp-card{border-color:var(--mp-card-border,#DCE5EA);border-radius:var(--mp-card-radius,18px);background:var(--mp-card-bg,#fff);color:var(--mp-text,#334E68);box-shadow:var(--mp-card-shadow,0 12px 35px rgba(16,42,67,.08))}
.mp-card.is-calendar-open .mp-gallery{border-radius:calc(var(--mp-card-radius,18px) - 1px) calc(var(--mp-card-radius,18px) - 1px) 0 0}
.mp-card__image{height:var(--mp-image-height,220px)}
.mp-card h3,.mp-card__price,.mp-package-includes>strong,.mp-package-includes li>b,.mp-extra-option__content strong,.mp-extras legend{color:var(--mp-heading,#102A43)}
.mp-card__excerpt,.mp-package-includes li,.mp-extra-option__content small{color:var(--mp-text,#334E68)}
.mp-button,.mp-booking-toggle{border-radius:var(--mp-button-radius,10px);background:var(--mp-button-bg,var(--mp-accent,#43D3B0));color:var(--mp-button-text,#102A43)}
.mp-button:hover,.mp-booking-toggle:hover{background:var(--mp-button-hover-bg,#102A43);color:var(--mp-button-hover-text,#fff)}
.mp-rental-form input,.mp-rental-form select,.mp-date-picker__trigger,.mp-catalog-search{border-color:var(--mp-field-border,#C8D4DC);border-radius:var(--mp-field-radius,8px);background:var(--mp-field-bg,#fff);color:var(--mp-field-text,#102A43)}
.mp-catalog-search input{color:var(--mp-field-text,#102A43)}
.mp-catalog-search:focus-within{border-color:var(--mp-accent,#43D3B0)}
.mp-catalog-filters button{border-color:var(--mp-card-border,#DCE5EA);background:var(--mp-card-bg,#fff);color:var(--mp-heading,#102A43)}
.mp-catalog-filters button:hover,.mp-catalog-filters button.is-active{border-color:var(--mp-heading,#102A43);background:var(--mp-heading,#102A43);color:#fff}
.mp-date-picker__panel{border-color:var(--mp-card-border,#DCE5EA);background:var(--mp-calendar-bg,#fff);color:var(--mp-text,#334E68)}
.mp-date-picker__nav,.mp-date-picker__nav button{color:var(--mp-heading,#102A43)}
.mp-date-picker__nav button{border-color:var(--mp-card-border,#DCE5EA);background:var(--mp-field-bg,#fff)}
.mp-date-picker__days button{background:var(--mp-calendar-free,#EDF9F6)}
.mp-date-picker__days button.is-limited{background:var(--mp-calendar-limited,#FFF1CC)}
.mp-date-picker__days button.is-full{background:var(--mp-calendar-full,#FDECEE)}
.mp-date-picker__days button.is-start,.mp-date-picker__days button.is-end{background:var(--mp-calendar-selected,#102A43);outline-color:var(--mp-accent,#43D3B0)}
.mp-date-picker__days button:hover:not(:disabled){outline-color:var(--mp-accent,#43D3B0)}
.mp-summary{color:var(--mp-text,#334E68)}
@media(max-width:600px){.mp-catalog{grid-template-columns:repeat(var(--mp-catalog-columns,1),minmax(0,1fr))!important;gap:var(--mp-catalog-gap,16px)}}
.mp-catalog-search__icon{color:var(--mp-heading,#102A43)}
.mp-package-badge{background:var(--mp-heading,#102A43)}
.mp-card__categories span{background:color-mix(in srgb,var(--mp-accent,#43D3B0) 16%,#fff);color:color-mix(in srgb,var(--mp-heading,#102A43) 82%,var(--mp-accent,#43D3B0))}
