/* Schriften lokal eingebunden (keine Verbindung zu Google) – Lizenz: SIL Open Font License, siehe assets/fonts/ */
@font-face{font-family:"Manrope";font-style:normal;font-weight:200 800;font-display:swap;src:url(fonts/manrope.woff) format("woff")}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:300 700;font-display:swap;src:url(fonts/cormorant-garamond.woff) format("woff")}

body.m21r-app{--r-page:#D8C8AE;--r-card:#E5D8C2;--r-card2:#DFD0B6;--r-field:#ECE2D0;--r-olive:#30382B;--r-olive2:#46503D;--r-text:#252D22;--r-muted:#575A4B;--r-hair:rgba(37,45,34,.16);--r-hair2:rgba(37,45,34,.09);--r-glass:rgba(229,216,194,.74);--r-on:#EFE4D0;--r-err:#8A2F1F;--r-warn:#6B4A12;--r-r:22px;--r-r2:30px;--r-serif:var(--m21-serif,"Cormorant Garamond",Georgia,serif);--r-sans:var(--font-sans,"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif);--r-gut:clamp(16px,4vw,40px);--r-max:1240px;margin:0;background:var(--r-page)!important;color:var(--r-text);font-family:var(--r-sans);font-size:16px;line-height:1.5;padding-bottom:calc(108px + env(safe-area-inset-bottom));-webkit-text-size-adjust:100%}
body.m21r-app *,body.m21r-app *::before,body.m21r-app *::after{box-sizing:border-box}
/* Fremde Shop-Elemente auf der Vorschau ausblenden */
body.m21r-app .m21-mega,body.m21r-app .m21-mega__scrim,body.m21r-app .m21-dock,body.m21r-app .m21-layer,body.m21r-app .m21-welcome,body.m21r-app .m21-wl,body.m21r-app .m21-bgm,body.m21r-app .m21-bgm-toggle,body.m21r-app .m21-toast{display:none!important}
.m21r-sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.m21r-skip{position:absolute;left:12px;top:-60px;z-index:200;padding:10px 16px;border-radius:999px;background:var(--r-olive);color:var(--r-on);text-decoration:none}
.m21r-skip:focus{top:12px}
.m21r-app a{color:inherit}
.m21r-app :focus-visible{outline:2px solid var(--r-olive);outline-offset:3px}
.m21r-ic{flex:0 0 auto}
/* Header */
.m21r-hd{position:sticky;top:0;z-index:60;padding:10px var(--r-gut) 0}
.m21r-hd__in{max-width:var(--r-max);margin:0 auto;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:8px 10px 8px 18px;border-radius:999px;background:var(--r-glass);-webkit-backdrop-filter:blur(14px) saturate(1.1);backdrop-filter:blur(14px) saturate(1.1);box-shadow:0 0 0 1px var(--r-hair) inset,0 14px 30px -24px rgba(37,45,34,.5)}
.m21r-logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--r-text);white-space:nowrap}
.m21r-logo__m{width:40px;height:auto}
.m21r-logo__t{font-family:var(--r-serif);font-size:1.45rem;font-weight:600;letter-spacing:.01em}
.m21r-types{display:flex;justify-content:center;gap:4px;padding:4px;border-radius:999px;background:rgba(37,45,34,.06);justify-self:center}
.m21r-type{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 16px;border-radius:999px;text-decoration:none;font-size:14px;font-weight:600;color:var(--r-text);transition:background .2s ease,color .2s ease}
.m21r-type:hover{background:rgba(37,45,34,.07)}
.m21r-type[aria-current="true"]{background:var(--r-olive);color:var(--r-on)}
.m21r-hd__tools{display:flex;align-items:center;gap:6px}
.m21r-tool{display:inline-flex;align-items:center;gap:6px;min-height:42px;padding:0 12px;border-radius:999px;text-decoration:none;font-size:14px;font-weight:600}
.m21r-tool:hover{background:rgba(37,45,34,.07)}
.m21r-lang{display:flex;gap:2px;padding:3px;border-radius:999px;box-shadow:0 0 0 1px var(--r-hair) inset}
.m21r-lang a{display:inline-flex;align-items:center;justify-content:center;min-width:38px;min-height:36px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.08em;text-decoration:none}
.m21r-lang a[aria-current="true"]{background:var(--r-olive);color:var(--r-on)}
.m21r-demo{max-width:var(--r-max);margin:12px auto 0;padding:10px 18px;border-radius:16px;background:rgba(107,74,18,.1);box-shadow:0 0 0 1px rgba(107,74,18,.25) inset;color:#4A350E;font-size:14px;width:calc(100% - 2 * var(--r-gut))}
.m21r-demo strong{font-weight:700}
.m21r-main{max-width:var(--r-max);margin:0 auto;padding:0 var(--r-gut);outline:none}
.m21r-view[hidden]{display:none!important}
/* Hero */
.m21r-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);grid-template-areas:"txt media" "search search";gap:22px 36px;padding:clamp(22px,4vw,48px) 0 10px;align-items:center}
.m21r-hero__txt{grid-area:txt}
.m21r-hero__media{grid-area:media;border-radius:var(--r-r2);overflow:hidden;aspect-ratio:16/10;background:var(--r-card2);box-shadow:0 0 0 1px var(--r-hair2) inset}
.m21r-hero__img,.m21r-hero__svg{display:block;width:100%;height:100%;object-fit:cover}
.m21r-slot{grid-area:search;min-width:0}
.m21r-eyebrow{margin:0 0 10px;font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--r-muted)}
.m21r-h1{margin:0;font-family:var(--r-serif);font-weight:500;font-size:clamp(2.4rem,1.6rem + 3vw,4.2rem);line-height:1.02;letter-spacing:-.01em}
.m21r-lead{margin:14px 0 0;max-width:34em;font-size:clamp(1rem,.95rem + .3vw,1.2rem);color:var(--r-muted)}
.m21r-h2{margin:0;font-family:var(--r-serif);font-weight:500;font-size:clamp(1.8rem,1.4rem + 1.4vw,2.6rem);line-height:1.08;outline:none}
.m21r-h3{margin:0 0 6px;font-size:1.05rem;font-weight:700;line-height:1.3}
.m21r-note{margin:0;font-size:13.5px;color:var(--r-muted)}
/* Suche */
.m21r-search{position:relative;padding:14px;border-radius:var(--r-r2);background:var(--r-glass);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 0 0 1px var(--r-hair) inset,0 30px 50px -40px rgba(37,45,34,.6)}
.m21r-tabs{display:flex;gap:6px;margin-bottom:12px;overflow-x:auto;scrollbar-width:none}
.m21r-tabs::-webkit-scrollbar{display:none}
.m21r-tab{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 18px;border:0;border-radius:999px;background:transparent;color:var(--r-text);font:inherit;font-size:15px;font-weight:700;cursor:pointer;box-shadow:0 0 0 1px var(--r-hair) inset;transition:background .2s ease,color .2s ease}
.m21r-tab:hover{background:rgba(37,45,34,.06)}
.m21r-tab[aria-selected="true"]{background:var(--r-olive);color:var(--r-on);box-shadow:none}
.m21r-fs{margin:0;padding:0;border:0;min-width:0}
.m21r-fs[hidden]{display:none}
.m21r-grid{display:grid;gap:12px;align-items:start}
.m21r-grid--p{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1.6fr) minmax(0,.9fr) minmax(0,1.1fr) auto}
.m21r-grid--f{grid-template-columns:minmax(0,2.2fr) minmax(0,1.6fr) minmax(0,1.1fr) minmax(0,.9fr) auto}
.m21r-grid--h{grid-template-columns:minmax(0,1.6fr) minmax(0,1.6fr) minmax(0,1.2fr) auto}
.m21r-fld{position:relative;display:flex;flex-direction:column;gap:6px;min-width:0}
.m21r-lbl{font-size:12.5px;font-weight:700;letter-spacing:.02em;color:var(--r-text)}
.m21r-opt{font-weight:500;color:var(--r-muted)}
.m21r-in{width:100%;min-height:52px;padding:12px 14px;border:0;border-radius:16px;background:var(--r-field);color:var(--r-text);font:inherit;font-size:16px;box-shadow:0 0 0 1px var(--r-hair) inset;-webkit-appearance:none;appearance:none}
select.m21r-in{padding-right:36px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m7 10 5 5 5-5' fill='none' stroke='%23252D22' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:20px}
.m21r-in::placeholder{color:#7B7A6A}
.m21r-in:focus{outline:none;box-shadow:0 0 0 2px var(--r-olive) inset}
.m21r-in[aria-invalid="true"]{box-shadow:0 0 0 2px var(--r-err) inset}
input[type="date"].m21r-in{min-width:0}
.m21r-ta{min-height:110px;resize:vertical}
.m21r-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px;min-width:0}
.m21r-pair>[data-ret][hidden]{display:none}
.m21r-route{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;align-items:end;min-width:0}
.m21r-swap{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin-bottom:4px;border:0;border-radius:50%;background:var(--r-card2);color:var(--r-text);cursor:pointer;box-shadow:0 0 0 1px var(--r-hair) inset;transition:transform .3s ease}
.m21r-swap:hover{background:var(--r-on)}
.m21r-swap.is-spin{transform:rotate(180deg)}
.m21r-trip{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.m21r-trip label{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border-radius:999px;box-shadow:0 0 0 1px var(--r-hair) inset;font-size:14px;font-weight:600;cursor:pointer}
.m21r-trip input{accent-color:var(--r-olive);width:18px;height:18px;margin:0}
.m21r-trip label:has(input:checked){background:var(--r-card2);box-shadow:0 0 0 2px var(--r-olive) inset}
.m21r-go{display:flex;align-items:flex-end;min-height:100%;padding-top:24px}
.m21r-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 22px;border:0;border-radius:999px;background:var(--r-olive);color:var(--r-on);font:inherit;font-size:15px;font-weight:700;letter-spacing:.01em;text-decoration:none;cursor:pointer;transition:background .2s ease,transform .2s ease}
.m21r-btn:hover{background:var(--r-olive2)}
.m21r-btn:active{transform:translateY(1px)}
.m21r-btn[disabled],.m21r-btn[aria-disabled="true"]{opacity:.55;cursor:not-allowed}
.m21r-app a.m21r-btn,.m21r-app a.m21r-btn:visited,.m21r-app a.m21r-btn:hover,.m21r-app a.m21r-btn:focus{color:var(--r-on);text-decoration:none}.m21r-app a.m21r-btn--ghost,.m21r-app a.m21r-btn--ghost:visited,.m21r-app a.m21r-btn--ghost:hover{color:var(--r-text)}
.m21r-btn--go{width:100%;white-space:nowrap}
.m21r-btn--sm{min-height:44px;font-size:14px}
.m21r-btn--ghost{background:transparent;color:var(--r-text);box-shadow:0 0 0 1px var(--r-hair) inset}
.m21r-btn--ghost:hover{background:rgba(37,45,34,.06)}
.m21r-link{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0;border:0;background:none;color:var(--r-text);font:inherit;font-size:14px;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.m21r-err{margin:2px 2px 0;font-size:13px;font-weight:600;color:var(--r-err)}
.m21r-err[hidden]{display:none}
.m21r-sum{margin:0 0 12px;padding:10px 14px;border-radius:14px;background:rgba(138,47,31,.08);box-shadow:0 0 0 1px rgba(138,47,31,.25) inset;color:var(--r-err);font-size:14px;font-weight:600}
.m21r-sum[hidden]{display:none}
.m21r-hint{margin:6px 0 0;font-size:13px;color:var(--r-muted)}
.m21r-warn{padding:10px 14px;border-radius:14px;background:rgba(107,74,18,.1);color:var(--r-warn);font-size:14px}
/* Vorschlagsliste */
.m21r-lb{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:40;max-height:320px;margin:0;padding:6px;overflow:auto;list-style:none;border-radius:18px;background:#E9DECB;box-shadow:0 0 0 1px var(--r-hair) inset,0 24px 40px -22px rgba(37,45,34,.55)}
.m21r-lb[hidden]{display:none}
.m21r-lb li{display:flex;flex-direction:column;gap:1px;padding:10px 12px;border-radius:12px;cursor:pointer}
.m21r-lb li[aria-selected="true"],.m21r-lb li:hover{background:var(--r-card2)}
.m21r-lb__t{font-weight:700;font-size:15px}
.m21r-lb__s{font-size:12.5px;color:var(--r-muted)}
.m21r-lb__empty{color:var(--r-muted);cursor:default}
/* Reisende */
.m21r-trav__btn{text-align:left;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.m21r-trav__pop{position:absolute;left:auto;right:0;scroll-margin-bottom:120px;scroll-margin-top:90px;top:calc(100% + 6px);z-index:75;width:min(360px,calc(100vw - 32px));padding:14px;border-radius:20px;background:#E9DECB;box-shadow:0 0 0 1px var(--r-hair) inset,0 30px 50px -26px rgba(37,45,34,.6)}
.m21r-trav__pop[hidden]{display:none}
.m21r-step{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--r-hair2)}
.m21r-step__t{display:block;font-weight:700}
.m21r-step__s{display:block;font-size:12.5px;color:var(--r-muted)}
.m21r-step__c{display:flex;align-items:center;gap:10px}
.m21r-step__c output{min-width:22px;text-align:center;font-weight:700;font-variant-numeric:tabular-nums}
.m21r-step__b{width:42px;height:42px;border:0;border-radius:50%;background:var(--r-card2);color:var(--r-text);font:inherit;font-size:20px;font-weight:600;line-height:1;cursor:pointer;box-shadow:0 0 0 1px var(--r-hair) inset}
.m21r-step__b:disabled{opacity:.4;cursor:not-allowed}
.m21r-ages{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:10px}
.m21r-ages:empty{display:none}
.m21r-ages .m21r-in{min-height:46px;font-size:15px}
.m21r-trav__pop .m21r-btn{width:100%;margin-top:12px}
/* Abschnitte */
.m21r-sec{padding:clamp(34px,5vw,64px) 0 0}
.m21r-sec__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px 24px;margin-bottom:18px}
.m21r-dests{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin:0;padding:0;list-style:none}
.m21r-dest{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;height:100%;padding:14px;border:0;border-radius:var(--r-r);background:var(--r-card);color:var(--r-text);font:inherit;text-align:left;cursor:pointer;box-shadow:0 0 0 1px var(--r-hair2) inset;transition:transform .25s ease,box-shadow .25s ease}
.m21r-dest:hover{transform:translateY(-2px);box-shadow:0 0 0 1px var(--r-hair) inset,0 18px 28px -22px rgba(37,45,34,.5)}
.m21r-dest__img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px;margin-bottom:8px}
.m21r-dest__mono{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin-bottom:6px;border-radius:50%;background:var(--r-olive);color:var(--r-on);font-family:var(--r-serif);font-size:1.4rem}
.m21r-dest__t{font-family:var(--r-serif);font-size:1.4rem;font-weight:600;line-height:1.1}
.m21r-dest__s{font-size:13px;color:var(--r-muted)}
.m21r-dest__cta{margin-top:auto;padding-top:8px;font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.m21r-insp{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.m21r-insp__c{padding:20px;border-radius:var(--r-r2);background:var(--r-card);box-shadow:0 0 0 1px var(--r-hair2) inset}
.m21r-insp__c--stadt{background:var(--r-card2)}
.m21r-insp__c--familie{background:#D2C09F}
.m21r-insp__p{margin:0 0 12px;color:var(--r-muted);font-size:14.5px}
.m21r-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.m21r-chip{min-height:40px;padding:0 14px;border:0;border-radius:999px;background:rgba(239,228,208,.7);color:var(--r-text);font:inherit;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 0 0 1px var(--r-hair) inset}
.m21r-chip:hover{background:var(--r-olive);color:var(--r-on)}
.m21r-how{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 14px;padding:0;list-style:none}
.m21r-how li{padding:20px;border-radius:var(--r-r);background:var(--r-card);box-shadow:0 0 0 1px var(--r-hair2) inset}
.m21r-how p{margin:0;font-size:14.5px;color:var(--r-muted)}
.m21r-how__n{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;margin-bottom:10px;border-radius:50%;background:var(--r-olive);color:var(--r-on);font-weight:700}
.m21r-contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;padding-bottom:20px;scroll-margin-top:90px}
.m21r-contact__info p{color:var(--r-muted)}
.m21r-addr{display:flex;flex-direction:column;font-style:normal}
.m21r-cform{display:flex;flex-direction:column;gap:12px;padding:20px;border-radius:var(--r-r2);background:var(--r-card);box-shadow:0 0 0 1px var(--r-hair2) inset}
.m21r-cform .m21r-btn{align-self:flex-start}
.m21r-cform__st{margin:0;font-weight:600}
.m21r-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.m21r-ft{padding:30px var(--r-gut) 10px}
.m21r-ft__in{max-width:var(--r-max);margin:0 auto;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:18px;border-top:1px solid var(--r-hair);font-size:14px;color:var(--r-muted)}
.m21r-ft__in p{margin:0}
.m21r-ft nav{display:flex;flex-wrap:wrap;gap:16px}
.m21r-ft nav a{font-weight:600}
/* Ergebnisse */
.m21r-rhead{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:22px 0 12px}
.m21r-slot--res .m21r-search{margin-bottom:16px}
.m21r-results{min-height:200px}
.m21r-rbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px}
.m21r-rbar__l{display:flex;flex-direction:column;gap:2px}
.m21r-rcount{font-weight:700;font-size:16px}
.m21r-rquery{font-size:13.5px;color:var(--r-muted)}
.m21r-rbar__r{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.m21r-rbar__r .m21r-in{min-height:44px;width:auto;padding-top:8px;padding-bottom:8px;font-size:15px}
.m21r-rlayout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:18px;align-items:start}
.m21r-filters{position:sticky;top:90px;padding:16px;border-radius:var(--r-r);background:var(--r-card);box-shadow:0 0 0 1px var(--r-hair2) inset}
.m21r-filters h2{margin:0 0 4px;font-size:15px;font-weight:700}
.m21r-fgroup{margin:0;padding:12px 0;border:0;border-top:1px solid var(--r-hair2)}
.m21r-fgroup legend{padding:0;margin-bottom:8px;font-size:13px;font-weight:700}
.m21r-fgroup label{display:flex;align-items:center;gap:10px;min-height:36px;font-size:14px;cursor:pointer}
.m21r-fgroup input[type="checkbox"],.m21r-fgroup input[type="radio"]{width:18px;height:18px;margin:0;accent-color:var(--r-olive)}
.m21r-fgroup input[type="range"]{width:100%;accent-color:var(--r-olive)}
.m21r-fbtn{display:none}
.m21r-cards{display:flex;flex-direction:column;gap:12px;margin:0;padding:0;list-style:none}
.m21r-card{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:16px;padding:18px;border-radius:var(--r-r2);background:var(--r-card);box-shadow:0 0 0 1px var(--r-hair2) inset}
.m21r-card__tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.m21r-tag{display:inline-flex;align-items:center;min-height:24px;padding:0 10px;border-radius:999px;font-size:11.5px;font-weight:700;letter-spacing:.04em;background:rgba(37,45,34,.08)}
.m21r-tag--demo{background:rgba(107,74,18,.14);color:#4A350E}
.m21r-tag--ad{background:var(--r-olive);color:var(--r-on)}
.m21r-card__t{margin:0;font-family:var(--r-serif);font-size:1.55rem;font-weight:600;line-height:1.1}
.m21r-card__sub{margin:4px 0 8px;font-size:14px;color:var(--r-muted)}
.m21r-meta{display:flex;flex-wrap:wrap;gap:6px 14px;margin:0 0 10px;padding:0;list-style:none;font-size:14px}
.m21r-meta li{display:inline-flex;align-items:center;gap:6px}
.m21r-incl{margin:0;padding:0 0 0 18px;font-size:14px;color:var(--r-muted)}
.m21r-incl li{margin:2px 0}
.m21r-stars{letter-spacing:.06em;color:var(--r-olive)}
.m21r-card__side{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:10px;text-align:right;padding-left:16px;border-left:1px solid var(--r-hair2)}
.m21r-price{font-family:var(--r-serif);font-size:2rem;font-weight:600;line-height:1}
.m21r-price__l{font-size:12.5px;color:var(--r-muted)}
.m21r-pp{font-size:13.5px;font-weight:600}
.m21r-extra{font-size:12.5px;color:var(--r-muted)}
.m21r-card__act{display:flex;flex-direction:column;align-items:stretch;gap:8px;width:100%}
.m21r-heart{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:42px;padding:0 14px;border:0;border-radius:999px;background:transparent;color:var(--r-text);font:inherit;font-size:14px;font-weight:700;cursor:pointer;box-shadow:0 0 0 1px var(--r-hair) inset}
.m21r-heart[aria-pressed="true"] .m21r-ic{fill:currentColor}
.m21r-status{font-size:12px;color:var(--r-muted)}
.m21r-state{padding:28px;border-radius:var(--r-r2);background:var(--r-card);box-shadow:0 0 0 1px var(--r-hair2) inset;text-align:center}
.m21r-state h2{margin:0 0 6px;font-size:1.2rem}
.m21r-state p{margin:0 auto 14px;max-width:36em;color:var(--r-muted)}
.m21r-skel{height:170px;border-radius:var(--r-r2);background:linear-gradient(90deg,var(--r-card) 0,#EADFCB 40%,var(--r-card) 80%);background-size:200% 100%;animation:m21r-sh 1.4s linear infinite}
@keyframes m21r-sh{to{background-position:-200% 0}}
.m21r-explain{margin:0 0 12px;padding:12px 16px;border-radius:16px;background:var(--r-card2);font-size:14px}
.m21r-explain summary{cursor:pointer;font-weight:700}
.m21r-explain p{margin:8px 0 0;color:var(--r-muted)}
/* Detail */
.m21r-offerv{padding-bottom:20px}
.m21r-od{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}
.m21r-od__main{display:flex;flex-direction:column;gap:14px}
.m21r-box{padding:20px;border-radius:var(--r-r2);background:var(--r-card);box-shadow:0 0 0 1px var(--r-hair2) inset}
.m21r-box h2{margin:0 0 10px;font-size:1.1rem}
.m21r-dl{display:grid;grid-template-columns:minmax(120px,max-content) 1fr;gap:8px 18px;margin:0}
.m21r-dl dt{font-weight:700;font-size:14px}
.m21r-dl dd{margin:0;font-size:14.5px;color:var(--r-text)}
.m21r-od__side{position:sticky;top:90px;display:flex;flex-direction:column;gap:12px}
.m21r-od__side .m21r-btn{width:100%}
.m21r-chg{padding:10px 14px;border-radius:14px;background:rgba(107,74,18,.12);color:var(--r-warn);font-size:14px;font-weight:600}
/* Dock */
.m21r-dock{position:fixed;left:50%;bottom:calc(12px + env(safe-area-inset-bottom));z-index:70;transform:translateX(-50%);width:min(560px,calc(100% - 24px));border-radius:26px;background:var(--r-glass);-webkit-backdrop-filter:blur(16px) saturate(1.1);backdrop-filter:blur(16px) saturate(1.1);box-shadow:0 0 0 1px var(--r-hair) inset,0 20px 40px -24px rgba(37,45,34,.55)}
.m21r-dock ul{display:grid;grid-template-columns:repeat(5,1fr);margin:0;padding:6px;list-style:none}
.m21r-dock__b{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:100%;min-height:56px;padding:4px 2px;border:0;border-radius:20px;background:none;color:var(--r-text);font:inherit;font-size:11px;font-weight:700;letter-spacing:.03em;text-decoration:none;cursor:pointer}
.m21r-dock__b:hover{background:rgba(37,45,34,.07)}
.m21r-dock__b[aria-current="page"],.m21r-dock__b[aria-expanded="true"]{background:var(--r-olive);color:var(--r-on)}
.m21r-badge{position:absolute;top:4px;right:calc(50% - 22px);min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--r-olive);color:var(--r-on);font-size:10.5px;line-height:18px;text-align:center}
.m21r-dock__b[aria-current="page"] .m21r-badge{background:var(--r-on);color:var(--r-olive)}
.m21r-badge[hidden]{display:none}
.m21r-panel{position:fixed;left:50%;bottom:calc(92px + env(safe-area-inset-bottom));z-index:71;transform:translateX(-50%);width:min(420px,calc(100% - 24px));border-radius:26px;background:#E9DECB;box-shadow:0 0 0 1px var(--r-hair) inset,0 30px 60px -30px rgba(37,45,34,.6)}
.m21r-panel[hidden]{display:none}
.m21r-panel__head{display:flex;align-items:center;justify-content:space-between;padding:14px 14px 0 20px}
.m21r-panel__body{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:8px 20px 20px}
.m21r-panel__body p{margin:0}
.m21r-x{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:0;border-radius:50%;background:transparent;color:var(--r-text);cursor:pointer}
.m21r-x:hover{background:rgba(37,45,34,.08)}
/* Responsiv */
@media (max-width:1100px){.m21r-grid--p{grid-template-columns:repeat(2,minmax(0,1fr))}.m21r-grid--p .m21r-pair{grid-column:span 2}.m21r-grid--f{grid-template-columns:repeat(2,minmax(0,1fr))}.m21r-grid--f .m21r-route{grid-column:span 2}.m21r-grid--h{grid-template-columns:repeat(2,minmax(0,1fr))}.m21r-go{padding-top:0;grid-column:span 2}.m21r-how{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){.m21r-hd__in{grid-template-columns:auto auto;grid-template-areas:"logo tools" "types types";border-radius:28px;padding:8px 10px 10px 14px;row-gap:8px}.m21r-logo{grid-area:logo}.m21r-hd__tools{grid-area:tools;justify-self:end}.m21r-types{grid-area:types;justify-self:stretch;display:grid;grid-template-columns:repeat(3,1fr)}.m21r-type{justify-content:center;padding:0 8px;font-size:13px;gap:6px}.m21r-tool__t{display:none}
.m21r-hero{grid-template-columns:1fr;grid-template-areas:"txt" "search" "media"}.m21r-hero__media{aspect-ratio:16/8}
.m21r-rlayout{grid-template-columns:1fr}.m21r-filters{position:static;display:none}.m21r-filters.is-open{display:block}.m21r-fbtn{display:inline-flex}
.m21r-od{grid-template-columns:1fr}.m21r-od__side{position:static}.m21r-insp{grid-template-columns:1fr}.m21r-contact{grid-template-columns:1fr}}
@media (max-width:640px){.m21r-grid--p,.m21r-grid--f,.m21r-grid--h{grid-template-columns:1fr}.m21r-grid--p .m21r-pair,.m21r-grid--f .m21r-route,.m21r-go{grid-column:auto}
.m21r-route{grid-template-columns:1fr;gap:6px}.m21r-swap{justify-self:end;margin:-4px 6px -4px 0;transform:rotate(90deg)}.m21r-swap.is-spin{transform:rotate(270deg)}
.m21r-pair{grid-template-columns:1fr 1fr}.m21r-search{padding:10px;border-radius:24px}.m21r-tab{padding:0 12px;font-size:14px}.m21r-tabs{display:grid;grid-template-columns:repeat(3,1fr)}.m21r-tab{justify-content:center;flex-direction:column;gap:2px;min-height:58px;font-size:12.5px;padding:4px}
.m21r-type .m21r-ic{display:none}.m21r-logo__t{font-size:1.25rem}.m21r-logo__m{width:34px}
.m21r-card{grid-template-columns:1fr}.m21r-card__side{align-items:stretch;text-align:left;padding:14px 0 0;border-left:0;border-top:1px solid var(--r-hair2)}.m21r-how{grid-template-columns:1fr}
.m21r-trav__pop{position:absolute;left:0;right:0;top:calc(100% + 6px);bottom:auto;width:auto;max-height:none;overflow:visible;z-index:75}.m21r-trav__pop.is-up{top:auto;bottom:calc(100% + 6px)}
.m21r-dock__b{font-size:10px;letter-spacing:0;white-space:nowrap}.m21r-hero__media{display:none}}
@media (prefers-reduced-motion:reduce){.m21r-app *{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

.m21r-sumbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 14px 12px 20px;margin-bottom:12px;border-radius:var(--r-r2);background:var(--r-glass);box-shadow:0 0 0 1px var(--r-hair) inset}.m21r-sumbar[hidden]{display:none}.m21r-sumbar__q{margin:0;font-weight:600;line-height:1.4;flex:1 1 260px}.m21r-search.is-compact{display:none}
.m21r-view[data-view="results"] .m21r-rquery{display:none}
.m21r-trav__pop.is-up{top:auto;bottom:calc(100% + 6px)}
.m21r-search.is-trav-open{z-index:85}

/* App-Modus (vom Home-Bildschirm geöffnet) */
@media (display-mode:standalone){body.m21r-app .m21r-hd{padding-top:calc(10px + env(safe-area-inset-top))}body.m21r-app{overscroll-behavior-y:none}}
.m21r-install{max-width:var(--r-max);width:calc(100% - 2 * var(--r-gut));margin:10px auto 0;display:flex;align-items:center;gap:12px;padding:10px 10px 10px 12px;border-radius:18px;background:var(--r-card);box-shadow:0 0 0 1px var(--r-hair) inset}
.m21r-install[hidden]{display:none}
.m21r-install img{border-radius:10px;flex:none}
.m21r-install__t{flex:1;font-size:14px;line-height:1.35}
.m21r-install__t strong{display:block}
.m21r-install [hidden]{display:none!important}

/* ---------- Begrüßung beim Öffnen der App ---------- */
.m21r-intro{position:fixed;inset:0;z-index:500;display:grid;place-items:center;pointer-events:auto;cursor:pointer}
.m21r-intro__half{position:absolute;left:0;right:0;height:50.5%;background:#1F261B;transition:translate 1s cubic-bezier(.76,0,.24,1) .15s,box-shadow .3s ease}
.m21r-intro__half--t{top:0;box-shadow:0 14px 34px -14px rgba(37,45,34,0)}.m21r-intro__half--b{bottom:0;box-shadow:0 -14px 34px -14px rgba(37,45,34,0)}
.m21r-intro.is-open .m21r-intro__half{box-shadow:0 0 0 0 transparent}
.m21r-intro.is-open .m21r-intro__half--t{box-shadow:0 18px 40px -16px rgba(37,45,34,.45)}.m21r-intro.is-open .m21r-intro__half--b{box-shadow:0 -18px 40px -16px rgba(37,45,34,.45)}
.m21r-intro__c{position:relative;display:flex;flex-direction:column;align-items:center;gap:14px;color:#EFE4D0;padding:24px;transition:opacity .45s ease,translate .6s cubic-bezier(.4,0,.2,1),scale .6s cubic-bezier(.4,0,.2,1)}
.m21r-intro__hi{margin:0;font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-weight:500;font-size:clamp(22px,6vw,30px);letter-spacing:.01em;opacity:0;translate:0 10px}
.m21r-intro.is-play .m21r-intro__hi{animation:m21r-in-up .7s .25s cubic-bezier(.2,.7,.2,1) forwards}
.m21r-intro__brand{display:flex;align-items:center;gap:clamp(12px,3vw,18px)}
.m21r-intro__m{width:clamp(78px,22vw,112px);height:auto;clip-path:inset(0 100% 0 0)}
.m21r-intro.is-play .m21r-intro__m{animation:m21r-wipe .9s .55s cubic-bezier(.65,0,.35,1) forwards}
.m21r-intro__word{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:clamp(46px,13vw,68px);line-height:1;letter-spacing:.14em;opacity:0;translate:14px 0}
.m21r-intro.is-play .m21r-intro__word{animation:m21r-in-word .8s 1s cubic-bezier(.2,.7,.2,1) forwards}
.m21r-intro__line{display:block;width:clamp(120px,40vw,200px);height:1.5px;background:#EBD3A3;opacity:.7;transform:scaleX(0);transform-origin:center}
.m21r-intro.is-play .m21r-intro__line{animation:m21r-line .8s 1.35s cubic-bezier(.65,0,.35,1) forwards}
@keyframes m21r-in-up{to{opacity:1;translate:0 0}}
@keyframes m21r-wipe{to{clip-path:inset(0 0 0 0)}}
@keyframes m21r-in-word{to{opacity:1;translate:0 0;letter-spacing:.02em}}
@keyframes m21r-line{to{transform:scaleX(1)}}
/* Entfalten: Inhalt tritt zurück, die beiden Hälften öffnen sich wie eine Tür */
.m21r-intro.is-open{pointer-events:none}
.m21r-intro.is-open .m21r-intro__c{opacity:0;scale:.96;translate:0 -6px}
.m21r-intro.is-open .m21r-intro__half--t{translate:0 -101%}
.m21r-intro.is-open .m21r-intro__half--b{translate:0 101%}
html.m21r-intro-on body{overflow:hidden}
/* Die App baut sich nach dem Öffnen Stück für Stück auf */
html.m21r-intro-on .m21r-hd,html.m21r-intro-on .m21r-demo,html.m21r-intro-on .m21r-install,html.m21r-intro-on .m21r-hero__txt,html.m21r-intro-on .m21r-featured,html.m21r-intro-on .m21r-slot,html.m21r-intro-on .m21r-dock{opacity:0}
html.m21r-intro-on .m21r-hd{translate:0 -24px}
html.m21r-intro-on .m21r-hero__txt,html.m21r-intro-on .m21r-slot,html.m21r-intro-on .m21r-demo,html.m21r-intro-on .m21r-install{translate:0 22px}
html.m21r-intro-on .m21r-featured{scale:.94}
html.m21r-intro-on .m21r-dock{translate:0 40px}
html.m21r-intro-go .m21r-hd,html.m21r-intro-go .m21r-demo,html.m21r-intro-go .m21r-install,html.m21r-intro-go .m21r-hero__txt,html.m21r-intro-go .m21r-featured,html.m21r-intro-go .m21r-slot,html.m21r-intro-go .m21r-dock{opacity:1;translate:0 0;scale:1;transition:opacity .7s ease,translate .9s cubic-bezier(.2,.7,.2,1),scale 1s cubic-bezier(.2,.7,.2,1)}
html.m21r-intro-go .m21r-hd{transition-delay:.3s}
html.m21r-intro-go .m21r-demo,html.m21r-intro-go .m21r-install{transition-delay:.38s}
html.m21r-intro-go .m21r-hero__txt{transition-delay:.42s}
html.m21r-intro-go .m21r-featured{transition-delay:.5s}
html.m21r-intro-go .m21r-slot{transition-delay:.56s}
html.m21r-intro-go .m21r-dock{transition-delay:.68s}
/* „Bewegung reduzieren“ (iPhone-Einstellung): Begrüßung ruhig einblenden statt bewegen */
@keyframes m21r-fade{to{opacity:1}}
@media (prefers-reduced-motion:reduce){
 body.m21r-app .m21r-intro .m21r-intro__hi,body.m21r-app .m21r-intro .m21r-intro__word{translate:none!important;letter-spacing:.02em}
 body.m21r-app .m21r-intro .m21r-intro__m{clip-path:none!important;opacity:0}
 body.m21r-app .m21r-intro .m21r-intro__line{transform:none!important;opacity:0}
 body.m21r-app .m21r-intro.is-play .m21r-intro__hi{animation:m21r-fade .6s .1s forwards!important}
 body.m21r-app .m21r-intro.is-play .m21r-intro__m,body.m21r-app .m21r-intro.is-play .m21r-intro__word{animation:m21r-fade .7s .45s forwards!important}
 body.m21r-app .m21r-intro.is-play .m21r-intro__line{animation:m21r-fade .6s .9s forwards!important}
 body.m21r-app .m21r-intro .m21r-intro__half,body.m21r-app .m21r-intro .m21r-intro__c{transition:opacity .6s ease!important}
 .m21r-intro.is-open .m21r-intro__half--t,.m21r-intro.is-open .m21r-intro__half--b{translate:none;opacity:0}
 .m21r-intro.is-open .m21r-intro__c{translate:none;scale:none}
 html.m21r-intro-on .m21r-hd,html.m21r-intro-on .m21r-demo,html.m21r-intro-on .m21r-install,html.m21r-intro-on .m21r-hero__txt,html.m21r-intro-on .m21r-featured,html.m21r-intro-on .m21r-slot,html.m21r-intro-on .m21r-dock{translate:none;scale:none}
}


/* =====================================================================
   App-Layout fürs Handy (bis 900 px): kompakter Kopf, Suche im Fokus,
   Reiseziele und Ideen als wischbare Karten.
   ===================================================================== */
@media (max-width:900px){
 /* Kopf: nur Logo, Kontakt und Sprache – Reisearten stehen direkt in der Suche */
 body.m21r-app .m21r-hd{padding-top:8px}
 body.m21r-app .m21r-hd__in{grid-template-columns:1fr auto;grid-template-areas:"logo tools";padding:6px 6px 6px 14px;border-radius:999px;gap:8px}
 body.m21r-app .m21r-types{display:none}
 body.m21r-app .m21r-logo__m{width:34px;height:auto}
 body.m21r-app .m21r-logo__t{font-size:1.25rem}
 body.m21r-app .m21r-lang a{min-width:32px;min-height:32px;font-size:11px}
 body.m21r-app .m21r-tool{min-width:36px;min-height:36px;padding:0;justify-content:center}
 /* Demo-Hinweis als schlanke Zeile */
 body.m21r-app .m21r-demo{padding:7px 14px;border-radius:999px;font-size:12.5px;text-align:center}
 body.m21r-app .m21r-demo span{display:none}
 /* Begrüßung + Suche */
 body.m21r-app .m21r-hero{gap:14px;padding-top:18px}
 body.m21r-app .m21r-hero .m21r-eyebrow{display:none}
 body.m21r-app .m21r-h1{font-size:clamp(2rem,8.6vw,2.6rem);line-height:1.05}
 body.m21r-app .m21r-lead{margin-top:8px;font-size:15px}
 body.m21r-app .m21r-hero__media{display:none}
 /* Abschnitte kompakter */
 body.m21r-app .m21r-sec{padding-top:30px}
 body.m21r-app .m21r-sec__head{margin-bottom:12px}
 body.m21r-app .m21r-sec__head .m21r-note{font-size:12.5px}
 body.m21r-app .m21r-h2{font-size:1.75rem}
 /* Wischbare Reihen */
 body.m21r-app .m21r-dests,body.m21r-app .m21r-insp,body.m21r-app .m21r-how{display:flex;gap:12px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--r-gut);margin-inline:calc(-1 * var(--r-gut));padding:2px var(--r-gut) 10px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
 body.m21r-app .m21r-dests::-webkit-scrollbar,body.m21r-app .m21r-insp::-webkit-scrollbar,body.m21r-app .m21r-how::-webkit-scrollbar{display:none}
 body.m21r-app .m21r-dests>li{flex:0 0 46%;max-width:190px;scroll-snap-align:start}
 body.m21r-app .m21r-insp>*{flex:0 0 82%;scroll-snap-align:start}
 body.m21r-app .m21r-how>li{flex:0 0 74%;scroll-snap-align:start;padding:16px}
 /* Reiseziel-Karte: großes Bildfeld mit Initiale, Name darunter */
 body.m21r-app .m21r-dest{padding:8px 8px 12px;gap:2px}
 body.m21r-app .m21r-dest__mono{width:100%;height:auto;aspect-ratio:1/1;margin:0 0 8px;border-radius:16px;font-size:3.4rem;font-weight:500;color:rgba(239,228,208,.92);background:linear-gradient(160deg,#5E6A50 0%,#30382B 100%)}
 body.m21r-app .m21r-dests>li:nth-child(3n+2) .m21r-dest__mono{background:linear-gradient(160deg,#B79A6E 0%,#8A6E45 100%)}
 body.m21r-app .m21r-dests>li:nth-child(3n) .m21r-dest__mono{background:linear-gradient(160deg,#8C9A7C 0%,#56634A 100%)}
 body.m21r-app .m21r-dest__t{font-size:1.2rem;padding:0 4px}
 body.m21r-app .m21r-dest__s{font-size:12px;padding:0 4px;line-height:1.35}
 body.m21r-app .m21r-dest__cta{display:none}
 body.m21r-app .m21r-dest:active{transform:scale(.97)}
 /* Kontakt kompakter */
 body.m21r-app .m21r-contact{gap:16px}
}


/* =====================================================================
   Stil „Oliv-Glas“: tiefes Oliv, beige Schrift, Milchglas, Fotos im Fokus
   ===================================================================== */
body.m21r-app{--r-page:#1F261B;--r-card:rgba(239,228,208,.07);--r-card2:rgba(239,228,208,.11);--r-field:rgba(239,228,208,.08);--r-olive:#EBD3A3;--r-olive2:#F3E2BC;--r-text:#EFE4D0;--r-muted:rgba(239,228,208,.66);--r-hair:rgba(239,228,208,.18);--r-hair2:rgba(239,228,208,.10);--r-glass:rgba(34,42,30,.66);--r-on:#1F261B;--r-err:#F2A895;--r-warn:#E8CB92;--r-pop:#2A3325;--r-serif:"Cormorant Garamond",Georgia,serif;--r-sans:-apple-system,BlinkMacSystemFont,"SF Pro Text","Manrope",system-ui,sans-serif;color-scheme:dark;background:radial-gradient(110% 55% at 90% -5%,#3B4731 0%,rgba(59,71,49,0) 60%),radial-gradient(90% 45% at -10% 35%,#2C3626 0%,rgba(44,54,38,0) 70%),#1A2017!important;background-attachment:fixed!important;font-family:var(--r-sans)}
body.m21r-app ::selection{background:#EBD3A3;color:#1F261B}
/* Glas für Karten und Felder */
body.m21r-app .m21r-card,body.m21r-app .m21r-dest,body.m21r-app .m21r-how li,body.m21r-app .m21r-insp__c,body.m21r-app .m21r-cform,body.m21r-app .m21r-sumbar,body.m21r-app .m21r-rbar,body.m21r-app .m21r-install{-webkit-backdrop-filter:blur(18px) saturate(1.3);backdrop-filter:blur(18px) saturate(1.3);box-shadow:0 0 0 1px var(--r-hair2) inset}
body.m21r-app .m21r-in{background:var(--r-field);color:var(--r-text);box-shadow:0 0 0 1px var(--r-hair) inset;border-color:transparent}
body.m21r-app .m21r-in::placeholder{color:rgba(239,228,208,.45)}
body.m21r-app select.m21r-in option{background:#2A3325;color:#EFE4D0}
body.m21r-app .m21r-search{background:rgba(34,42,30,.55);-webkit-backdrop-filter:blur(22px) saturate(1.4);backdrop-filter:blur(22px) saturate(1.4);box-shadow:0 0 0 1px var(--r-hair) inset,0 30px 50px -30px rgba(0,0,0,.7)}
body.m21r-app .m21r-tab{color:var(--r-text);background:rgba(239,228,208,.06);box-shadow:0 0 0 1px var(--r-hair2) inset}
body.m21r-app .m21r-tab[aria-selected="true"]{background:#EBD3A3;color:#1F261B;box-shadow:none}
body.m21r-app .m21r-btn{background:#EBD3A3;color:#1F261B}
body.m21r-app .m21r-btn:hover{background:#F3E2BC}
body.m21r-app .m21r-btn--ghost{background:transparent;color:var(--r-text);box-shadow:0 0 0 1px var(--r-hair) inset}
body.m21r-app .m21r-lb,body.m21r-app .m21r-trav__pop,body.m21r-app .m21r-panel{background:rgba(42,51,37,.94);-webkit-backdrop-filter:blur(24px) saturate(1.4);backdrop-filter:blur(24px) saturate(1.4);color:var(--r-text);box-shadow:0 0 0 1px var(--r-hair) inset,0 24px 48px -20px rgba(0,0,0,.7)}
body.m21r-app .m21r-demo{background:rgba(232,203,146,.10);box-shadow:0 0 0 1px rgba(232,203,146,.28) inset;color:#E8CB92}
body.m21r-app .m21r-tag--demo{background:rgba(232,203,146,.14);color:#E8CB92}
body.m21r-app .m21r-sum{background:rgba(242,168,149,.10);box-shadow:0 0 0 1px rgba(242,168,149,.3) inset}
body.m21r-app .m21r-warn,body.m21r-app .m21r-chg{background:rgba(232,203,146,.10)}
body.m21r-app .m21r-skel{background:linear-gradient(90deg,rgba(239,228,208,.05) 0,rgba(239,228,208,.12) 40%,rgba(239,228,208,.05) 80%);background-size:200% 100%}
body.m21r-app .m21r-insp__c--familie{background:rgba(235,211,163,.10)}
body.m21r-app .m21r-chip{background:rgba(239,228,208,.08);color:var(--r-text);box-shadow:0 0 0 1px var(--r-hair2) inset}
body.m21r-app .m21r-how__n{background:#EBD3A3;color:#1F261B}
body.m21r-app .m21r-dest__mono{background:linear-gradient(160deg,#4E5A42 0%,#2A3325 100%);color:rgba(239,228,208,.9)}
body.m21r-app .m21r-lang a[aria-current="true"],body.m21r-app .m21r-dock__b[aria-current="page"],body.m21r-app .m21r-type[aria-current="true"]{background:#EBD3A3;color:#1F261B}
body.m21r-app .m21r-h1,body.m21r-app .m21r-h2{font-weight:500;color:var(--r-text)}
body.m21r-app a{color:inherit}
/* Begrüßungstext */
.m21r-hello{margin:0 0 4px;color:var(--r-muted);font-size:15px;letter-spacing:.02em}
body.m21r-app .m21r-hero{grid-template-columns:minmax(0,1fr);grid-template-areas:"txt" "search";max-width:var(--r-max)}
body.m21r-app .m21r-h1{font-size:clamp(2.5rem,1.6rem + 3.2vw,4.4rem);line-height:1.04;max-width:14em}
/* Große Foto-Karten „Entdecken“ */
.m21r-feat{display:flex;gap:14px;margin:0;padding:4px 0 18px;list-style:none;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.m21r-feat::-webkit-scrollbar{display:none}
.m21r-feat>li{flex:0 0 min(420px,86%);scroll-snap-align:start}
.m21r-fcard{position:relative;display:block;width:100%;height:clamp(380px,62vh,520px);padding:0;border:0;border-radius:28px;overflow:hidden;background:linear-gradient(160deg,#4E5A42,#2A3325);color:#EFE4D0;text-align:left;cursor:pointer;box-shadow:0 0 0 1px var(--r-hair2) inset,0 24px 48px -26px rgba(0,0,0,.8);transition:transform .3s ease}
.m21r-fcard:active{transform:scale(.985)}
.m21r-fcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:m21r-kb 16s ease-in-out infinite alternate}
@keyframes m21r-kb{from{transform:scale(1.02)}to{transform:scale(1.12) translate(-1.5%,-1%)}}
.m21r-fcard::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,26,17,0) 38%,rgba(20,26,17,.72) 100%)}
.m21r-fcard__tag{position:absolute;top:14px;left:14px;z-index:2;padding:6px 12px;border-radius:999px;font-size:12px;font-weight:600;background:rgba(31,38,27,.35);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 0 0 1px rgba(239,228,208,.2) inset}
.m21r-fcard__glass{position:absolute;left:12px;right:12px;bottom:12px;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 14px 14px 18px;border-radius:20px;background:rgba(31,38,27,.42);-webkit-backdrop-filter:blur(22px) saturate(1.6);backdrop-filter:blur(22px) saturate(1.6);box-shadow:0 0 0 1px rgba(239,228,208,.22) inset}
.m21r-fcard__glass small{display:block;font-size:12.5px;opacity:.8}
.m21r-fcard__glass b{display:block;font-family:var(--r-serif);font-weight:600;font-size:32px;line-height:1.02}
.m21r-fcard__go{flex:none;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#EBD3A3;color:#1F261B}
/* Reiseziel-Kacheln mit Foto */
body.m21r-app .m21r-dest__mono{position:relative;overflow:hidden}
body.m21r-app .m21r-dest__mono .m21r-dest__img{position:absolute;inset:0;width:100%;height:100%;margin:0;border-radius:0;object-fit:cover;aspect-ratio:auto}
.m21r-credit{margin:6px 0 0;font-size:11.5px;color:var(--r-muted)}
@media (min-width:901px){
 body.m21r-app .m21r-dest__mono{width:100%;height:auto;aspect-ratio:4/3;border-radius:16px;font-size:3rem;margin-bottom:10px}
 body.m21r-app .m21r-dest__cta{display:none}
}
@media (max-width:900px){
 body.m21r-app .m21r-h1{font-size:clamp(2.3rem,10vw,2.9rem)}
 body.m21r-app .m21r-dests>li .m21r-dest__mono{background:linear-gradient(160deg,#4E5A42 0%,#2A3325 100%)}
 body.m21r-app .m21r-featured{padding-top:22px}
 body.m21r-app .m21r-feat{margin-inline:calc(-1 * var(--r-gut));padding-inline:var(--r-gut);scroll-padding-inline:var(--r-gut)}
}
@media (prefers-reduced-motion:reduce){.m21r-fcard img{animation:none!important}}

/* =====================================================================
   Liquid Glass: Fotohintergrund + gläserne Flächen mit Lichtkante
   ===================================================================== */
.m21r-bgphoto{position:fixed;inset:0;z-index:-1;overflow:hidden;background:#1A2017}
.m21r-bgphoto img{width:100%;height:100%;object-fit:cover;filter:saturate(.75) brightness(.9);transform:scale(1.05)}
.m21r-bgphoto::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(26,32,23,.70) 0%,rgba(26,32,23,.82) 45%,rgba(22,28,20,.94) 100%),rgba(47,58,40,.35);mix-blend-mode:normal}
body.m21r-app{background:#1A2017!important}
/* Gemeinsames Glas */
body.m21r-app .m21r-hd__in,body.m21r-app .m21r-search,body.m21r-app .m21r-dock,body.m21r-app .m21r-panel,body.m21r-app .m21r-card,body.m21r-app .m21r-dest,body.m21r-app .m21r-how li,body.m21r-app .m21r-insp__c,body.m21r-app .m21r-cform,body.m21r-app .m21r-sumbar,body.m21r-app .m21r-rbar,body.m21r-app .m21r-install,body.m21r-app .m21r-demo,body.m21r-app .m21r-lb,body.m21r-app .m21r-trav__pop,.lg{
 background:linear-gradient(135deg,rgba(255,255,255,.16) 0%,rgba(255,255,255,.06) 40%,rgba(255,255,255,.04) 100%),rgba(46,56,40,.30);
 -webkit-backdrop-filter:blur(26px) saturate(180%);backdrop-filter:blur(26px) saturate(180%);
 box-shadow:inset 0 1px 0 rgba(255,255,255,.38),inset 0 -1px 0 rgba(255,255,255,.07),inset 0 0 0 1px rgba(255,255,255,.13),0 22px 44px -24px rgba(0,0,0,.65)}
body.m21r-app .m21r-lb,body.m21r-app .m21r-trav__pop,body.m21r-app .m21r-panel{background:linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,.05)),rgba(36,44,32,.86)}
body.m21r-app .m21r-demo{background:linear-gradient(135deg,rgba(232,203,146,.20),rgba(232,203,146,.07));color:#F0D7A6}
body.m21r-app .m21r-in{background:rgba(255,255,255,.07);box-shadow:inset 0 1px 0 rgba(255,255,255,.10),inset 0 0 0 1px rgba(255,255,255,.12)}
body.m21r-app .m21r-in:focus{box-shadow:inset 0 0 0 1.5px #EBD3A3}
body.m21r-app .m21r-btn{box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 10px 24px -12px rgba(235,211,163,.55)}
body.m21r-app .m21r-chip,body.m21r-app .m21r-tab{background:rgba(255,255,255,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),inset 0 0 0 1px rgba(255,255,255,.12)}
/* Reiseart nur noch über Startauswahl / Kopf-Knopf / Vergleich – keine Reiter im Formular */
body.m21r-app .m21r-search .m21r-tabs{display:none}
body.m21r-app .m21r-types{display:none}
body.m21r-app .m21r-hd__in{grid-template-columns:auto 1fr auto}
.m21r-modebtn{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 12px 0 10px;border:0;border-radius:999px;font:inherit;font-size:13.5px;font-weight:700;color:#1F261B;background:#EBD3A3;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.6);white-space:nowrap}
.m21r-modebtn .m21r-ic,.m21r-modebtn [data-mode-ic] svg{width:17px;height:17px}
.m21r-modebtn [data-mode-ic]{display:inline-flex}
body.m21r-app .m21r-hd__tools{display:flex;align-items:center;gap:8px}
/* Vergleichs-Leiste in den Ergebnissen */
.m21r-compare{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0 0 14px;padding:12px 14px;border-radius:22px}
.m21r-compare__t{font-size:13.5px;font-weight:700}
.m21r-compare__b{display:flex;gap:8px;flex-wrap:wrap}
.m21r-compare .m21r-chip{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:0 14px;border:0;border-radius:999px;font:inherit;font-size:13.5px;font-weight:600;color:var(--r-text);cursor:pointer}
.m21r-compare .m21r-chip svg{width:17px;height:17px}

/* ---------- Startauswahl: Logo-Glas oben, drei Glaskarten ---------- */
.m21r-portal{position:fixed;inset:0;z-index:400;display:grid;place-items:center;padding:calc(20px + env(safe-area-inset-top)) 18px calc(28px + env(safe-area-inset-bottom));overflow:hidden;color:#EFE4D0}
.m21r-portal[hidden]{display:none}
html.m21r-portal-on body{overflow:hidden}
.m21r-portal__bg{position:absolute;inset:0;background:#1F261B}
.m21r-portal__bg img{width:100%;height:100%;object-fit:cover;transform:scale(1.08);filter:saturate(.85);animation:m21r-kb 18s ease-in-out infinite alternate}
.m21r-portal__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(31,38,27,.55) 0%,rgba(31,38,27,.35) 40%,rgba(24,30,21,.85) 100%),rgba(47,58,40,.25)}
.m21r-portal__in{position:relative;z-index:1;width:min(560px,100%);display:flex;flex-direction:column;align-items:center;gap:22px}
.m21r-portal__head{display:flex;align-items:center;justify-content:center;gap:14px;width:100%;padding:26px 20px;border-radius:30px}
.m21r-portal__head .m21r-intro__m{width:clamp(70px,20vw,96px);clip-path:none;animation:none;color:#EFE4D0}
.m21r-portal__word{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:clamp(42px,12vw,60px);line-height:1;letter-spacing:.02em}
.m21r-portal__q{margin:6px 0 0;font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;font-size:clamp(26px,7vw,34px);text-align:center}
.m21r-portal__cards{display:grid;grid-template-columns:1fr 1.12fr 1fr;align-items:end;gap:10px;width:100%}
.m21r-pcard{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:170px;padding:18px 8px;border:0;border-radius:24px;color:#EFE4D0;font:inherit;text-align:center;cursor:pointer;transition:transform .35s cubic-bezier(.2,.7,.2,1),background .3s}
.m21r-pcard--main{min-height:200px}
.m21r-pcard .m21r-ic{width:30px;height:30px;stroke-width:1.4}
.m21r-pcard b{font-size:15px;line-height:1.2}
.m21r-pcard small{font-size:12px;opacity:.75}
.m21r-pcard:active{transform:scale(.95)}
.m21r-pcard[aria-pressed="true"]{box-shadow:inset 0 1px 0 rgba(255,255,255,.5),inset 0 0 0 1.5px #EBD3A3,0 22px 44px -24px rgba(0,0,0,.65)}
.m21r-pcard--main .m21r-ic{width:36px;height:36px}
@media (hover:hover){.m21r-pcard:hover{transform:translateY(-4px)}}
/* Auftritt */
.m21r-portal .m21r-portal__head,.m21r-portal .m21r-portal__q,.m21r-portal .m21r-pcard{opacity:0;translate:0 26px;transition:opacity .7s ease,translate .9s cubic-bezier(.2,.7,.2,1),transform .35s cubic-bezier(.2,.7,.2,1)}
.m21r-portal.is-in .m21r-portal__head,.m21r-portal.is-in .m21r-portal__q,.m21r-portal.is-in .m21r-pcard{opacity:1;translate:0 0}
html.m21r-intro-on .m21r-portal.is-in .m21r-portal__head{transition-delay:2.6s}
html.m21r-intro-on .m21r-portal.is-in .m21r-portal__q{transition-delay:2.75s}
html.m21r-intro-on .m21r-portal.is-in .m21r-pcard:nth-child(1){transition-delay:2.85s}
html.m21r-intro-on .m21r-portal.is-in .m21r-pcard:nth-child(2){transition-delay:2.95s}
html.m21r-intro-on .m21r-portal.is-in .m21r-pcard:nth-child(3){transition-delay:3.05s}
.m21r-portal.is-in .m21r-pcard:nth-child(2){transition-delay:.08s}.m21r-portal.is-in .m21r-pcard:nth-child(3){transition-delay:.16s}
/* Wegklappen nach der Wahl */
.m21r-portal.is-out{pointer-events:none}
.m21r-portal.is-out .m21r-portal__in{opacity:0;scale:1.06;transition:opacity .45s ease,scale .6s cubic-bezier(.4,0,.2,1)}
.m21r-portal.is-out .m21r-portal__bg{opacity:0;transition:opacity .6s ease .1s}
@media (max-width:900px){
 body.m21r-app .m21r-hd__in{grid-template-columns:auto 1fr auto;grid-template-areas:none}
 body.m21r-app .m21r-hd__tools{justify-content:flex-end}
 .m21r-modebtn{font-size:12.5px;padding:0 10px 0 8px;min-height:34px}
 body.m21r-app .m21r-logo__t{display:none}
}
@media (prefers-reduced-motion:reduce){
 body.m21r-app .m21r-portal .m21r-portal__head,body.m21r-app .m21r-portal .m21r-portal__q,body.m21r-app .m21r-portal .m21r-pcard{translate:none!important;transition:opacity .5s ease!important}
 body.m21r-app .m21r-portal.is-out .m21r-portal__in,body.m21r-app .m21r-portal.is-out .m21r-portal__bg{transition:opacity .4s ease!important;scale:none}
}
body.m21r-app .m21r-hd__in{display:flex;align-items:center;justify-content:space-between}
body.m21r-app .m21r-logo{flex:none}
body.m21r-app .m21r-logo__m{width:40px;height:auto;flex:none}
@media (max-width:900px){body.m21r-app .m21r-logo__m{width:34px}}

/* Impressum */
.m21r-imprint{border:0;padding:22px;width:min(520px,calc(100vw - 24px));border-radius:24px;color:var(--r-text);background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.04)),rgba(36,44,32,.95);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),inset 0 0 0 1px rgba(255,255,255,.13),0 30px 60px -20px rgba(0,0,0,.8)}
.m21r-imprint::backdrop{background:rgba(10,14,9,.55)}
.m21r-imprint h3{margin:14px 0 4px}
.m21r-imprint p{margin:0 0 8px}
.m21r-ft nav{display:flex;gap:14px;align-items:center}
.m21r-ft .m21r-link{background:none;border:0;padding:0;color:inherit;font:inherit;text-decoration:underline;cursor:pointer}
body.m21r-app .m21r-demo[hidden]{display:none}

/* Vertrauensleiste */
.m21r-trust{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px 18px;margin:2px 0 0;padding:0;list-style:none;color:var(--r-muted);font-size:13px}
.m21r-trust li{display:flex;align-items:center;gap:7px}
.m21r-trust svg{color:#EBD3A3;flex:none}
/* Zuletzt gesucht */
.m21r-recent .m21r-sec__head{display:flex;align-items:baseline;justify-content:space-between}
.m21r-recent .m21r-link{background:none;border:0;color:var(--r-muted);font:inherit;font-size:13px;text-decoration:underline;cursor:pointer}
.m21r-recent__list{display:flex;gap:10px;overflow-x:auto;margin:0;padding:2px 0 8px;list-style:none;scrollbar-width:none}
.m21r-recent__list::-webkit-scrollbar{display:none}
.m21r-rcard{display:flex;align-items:center;gap:10px;min-width:220px;max-width:280px;padding:12px 14px;border:0;border-radius:18px;color:var(--r-text);font:inherit;text-align:left;cursor:pointer}
.m21r-rcard svg{flex:none;width:22px;height:22px;color:#EBD3A3}
.m21r-rcard b{display:block;font-size:14.5px;line-height:1.25}
.m21r-rcard small{display:block;font-size:12px;color:var(--r-muted)}
@media (max-width:900px){.m21r-recent__list{margin-inline:calc(-1 * var(--r-gut));padding-inline:var(--r-gut)}}
/* Andere Termine */
.m21r-alt{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0 0 14px}
.m21r-alt .m21r-chip{display:inline-flex;align-items:center;min-height:36px;padding:0 13px;border:0;border-radius:999px;font:inherit;font-size:13px;font-weight:600;color:var(--r-text);cursor:pointer}
.m21r-share{margin-top:8px;width:100%}
body.m21r-app .m21r-rbar{padding:12px 14px;border-radius:20px;margin-bottom:12px}

/* Smarte Suche */
.m21r-smart{grid-column:1/-1;display:flex;align-items:center;gap:10px;padding:8px 8px 8px 16px;border-radius:999px}
.m21r-smart__ic{flex:none;color:#EBD3A3}
.m21r-smart__in{flex:1;min-width:0;min-height:44px;border:0;background:transparent;color:var(--r-text);font:inherit;font-size:16px;outline:none}
.m21r-smart__in::placeholder{color:rgba(239,228,208,.55)}
.m21r-smart__go{flex:none;display:grid;place-items:center;width:46px;height:46px;border:0;border-radius:50%;background:#EBD3A3;color:#1F261B;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.6)}
.m21r-smart:focus-within{box-shadow:inset 0 1px 0 rgba(255,255,255,.38),inset 0 0 0 1.5px #EBD3A3,0 22px 44px -24px rgba(0,0,0,.65)}
.m21r-smart__out{grid-column:1/-1;padding:16px 18px;border-radius:22px}
.m21r-smart__out[hidden]{display:none}
.m21r-smart__out p{margin:0 0 8px}
.m21r-smart__h{font-weight:700}
.m21r-smchips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.m21r-smchip{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border-radius:999px;background:rgba(235,211,163,.18);box-shadow:inset 0 0 0 1px rgba(235,211,163,.35);font-size:13.5px;font-weight:600}
.m21r-smchips .m21r-chip{min-height:34px;padding:0 13px;border:0;border-radius:999px;font:inherit;font-size:13.5px;font-weight:600;color:var(--r-text);cursor:pointer}
.m21r-smchips .m21r-chip[aria-pressed="true"]{background:#EBD3A3;color:#1F261B}
.m21r-smart__out .m21r-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.m21r-smart__out .m21r-link{background:none;border:0;color:var(--r-muted);font:inherit;text-decoration:underline;cursor:pointer}
.m21r-or{grid-column:1/-1;display:flex;align-items:center;gap:12px;margin:2px 0 -4px;color:var(--r-muted);font-size:12.5px}
.m21r-or::before,.m21r-or::after{content:"";flex:1;height:1px;background:rgba(239,228,208,.15)}
.m21r-fromsmart{margin:0 0 12px;font-size:13.5px;color:var(--r-muted)}
.m21r-fromsmart .m21r-link{background:none;border:0;color:var(--r-text);font:inherit;text-decoration:underline;cursor:pointer}
body.m21r-app .m21r-hero{grid-template-areas:none}
body.m21r-app .m21r-hero>*{grid-area:auto;grid-column:1/-1}

/* Bilder in Ergebnissen und Angeboten */
.m21r-rhero{position:relative;height:clamp(150px,30vw,240px);margin:0 0 14px;border-radius:24px;overflow:hidden;background:linear-gradient(160deg,#4E5A42,#2A3325);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.m21r-rhero img,.m21r-ohero img,.m21r-card__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.m21r-rhero::after,.m21r-ohero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,26,17,0) 35%,rgba(20,26,17,.75) 100%)}
.m21r-rhero__t{position:absolute;left:18px;bottom:14px;z-index:1;color:#EFE4D0}
.m21r-rhero__t small{display:block;font-size:12.5px;opacity:.8}
.m21r-rhero__t b{font-family:var(--r-serif);font-weight:600;font-size:clamp(30px,6vw,44px);line-height:1}
.m21r-ohero{position:relative;height:clamp(200px,40vw,340px);margin:0 0 14px;border-radius:24px;overflow:hidden;background:linear-gradient(160deg,#4E5A42,#2A3325)}
.m21r-card.has-img{grid-template-columns:minmax(0,1fr)}
.m21r-card__img{position:relative;height:150px;margin:-2px -2px 12px;border-radius:18px;overflow:hidden;background:linear-gradient(160deg,#4E5A42,#2A3325)}
@media (min-width:901px){.m21r-card.has-img{grid-template-columns:200px minmax(0,1fr) 230px}.m21r-card__img{height:auto;min-height:170px;margin:0}}
.m21r-imgnote{position:absolute;right:10px;bottom:8px;z-index:1;padding:3px 8px;border-radius:999px;font-size:10.5px;color:#EFE4D0;background:rgba(20,26,17,.55);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.m21r-canc{margin:6px 0 0;font-size:13px;color:var(--r-muted)}
.m21r-canc.is-free{color:#A9D18E;font-weight:600}

/* Newsletter */
.m21r-nl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 28px;align-items:center;margin-top:34px;padding:22px!important;border-radius:28px}
.m21r-nl__txt .m21r-h2{margin:0}
.m21r-nl__row{display:flex;gap:8px}
.m21r-nl__row .m21r-in{flex:1;min-width:0}
.m21r-nl .m21r-check{display:flex;gap:10px;align-items:flex-start;margin-top:10px;font-size:13px;color:var(--r-muted);line-height:1.4}
.m21r-nl .m21r-check input{margin-top:2px;flex:none;width:18px;height:18px;accent-color:#EBD3A3}
.m21r-nl__st{margin:10px 0 0;font-size:13.5px}
@media (max-width:900px){.m21r-nl{grid-template-columns:1fr}.m21r-nl__row{flex-direction:column}}
.m21r-nl[hidden]{display:none!important}

/* Versprechen + FAQ */
.m21r-prom{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none}
.m21r-prom li{padding:20px;border-radius:var(--r-r);background:var(--r-card);box-shadow:0 0 0 1px var(--r-hair2) inset;-webkit-backdrop-filter:blur(18px) saturate(1.3);backdrop-filter:blur(18px) saturate(1.3)}
.m21r-prom p{margin:0;font-size:14.5px;color:var(--r-muted)}
.m21r-prom__i{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;margin-bottom:10px;border-radius:50%;background:rgba(235,211,163,.16);color:#EBD3A3;font-weight:700}
.m21r-faq__l{display:grid;gap:10px;margin-top:14px}
.m21r-faq__q{border-radius:18px;background:var(--r-card);box-shadow:0 0 0 1px var(--r-hair2) inset;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
.m21r-faq__q summary{cursor:pointer;list-style:none;padding:16px 48px 16px 18px;font-weight:600;position:relative}
.m21r-faq__q summary::-webkit-details-marker{display:none}
.m21r-faq__q summary::after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:22px;font-weight:400;transition:transform .25s}
.m21r-faq__q[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.m21r-faq__q p{margin:0;padding:0 18px 16px;color:var(--r-muted);font-size:15px}
@media (max-width:900px){.m21r-prom{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.m21r-prom{grid-template-columns:1fr}}

/* Eigener Kalender */
.m21r-dwrap{position:relative;display:block;min-width:0}.m21r-dwrap .m21r-in{width:100%}
.m21r-dwrap input[type="date"]{opacity:0;pointer-events:none}
.m21r-dbtn{position:absolute;inset:0;margin:0;padding:0 14px;border:0;background:var(--r-field);box-shadow:0 0 0 1px var(--r-hair) inset;border-radius:16px;cursor:pointer;-webkit-tap-highlight-color:transparent;display:flex;align-items:center;gap:10px;color:var(--r-text,#EFE4D0);font:inherit;font-size:16px;text-align:left;white-space:nowrap;overflow:hidden}
.m21r-dbtn svg{flex:none;color:#EBD3A3}
.m21r-dbtn__v{overflow:hidden;text-overflow:ellipsis}.m21r-dbtn__v.is-empty{color:rgba(239,228,208,.5)}
.m21r-dbtn:active{transform:scale(.98)}
.m21r-dbtn:focus-visible{outline:2px solid #EBD3A3;outline-offset:2px}
html.m21r-noscroll,html.m21r-noscroll body{overflow:hidden}
.m21r-cal{position:fixed;inset:0;z-index:200;display:flex;align-items:flex-end;justify-content:center}
.m21r-cal[hidden]{display:none}
.m21r-cal__bg{position:absolute;inset:0;background:rgba(10,14,8,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transition:opacity .25s}
.m21r-cal__p{position:relative;width:min(440px,100%);margin:0 auto;padding:10px 18px calc(18px + env(safe-area-inset-bottom));border-radius:30px 30px 0 0;color:#EFE4D0;
 background:linear-gradient(160deg,rgba(74,88,58,.82),rgba(31,38,27,.9));-webkit-backdrop-filter:blur(30px) saturate(170%);backdrop-filter:blur(30px) saturate(170%);
 box-shadow:0 0 0 1px rgba(239,228,208,.14) inset,0 1px 0 rgba(255,255,255,.18) inset,0 -20px 60px rgba(0,0,0,.4);transform:translateY(100%);transition:transform .32s cubic-bezier(.2,.9,.25,1)}
.m21r-cal.is-open .m21r-cal__bg{opacity:1}.m21r-cal.is-open .m21r-cal__p{transform:none}
@media (min-width:700px){.m21r-cal{align-items:center}.m21r-cal__p{border-radius:30px;padding-bottom:20px}}
.m21r-cal__grab{width:40px;height:5px;border-radius:3px;background:rgba(239,228,208,.3);margin:0 auto 12px}
.m21r-cal__top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.m21r-cal__t{margin:0;font-family:var(--r-serif,serif);font-size:26px;line-height:1.15}
.m21r-cal__sum{margin:4px 0 0;font-size:14px;color:#EBD3A3;min-height:20px}
.m21r-cal__x{flex:none;width:36px;height:36px;border:0;border-radius:50%;background:rgba(239,228,208,.12);color:#EFE4D0;font-size:22px;line-height:1;cursor:pointer}
.m21r-cal__nav{display:flex;align-items:center;justify-content:space-between;margin:16px 0 8px}
.m21r-cal__nav p{margin:0;font-weight:600;font-size:17px;text-transform:capitalize}
.m21r-cal__nav button{width:40px;height:40px;border:0;border-radius:50%;background:rgba(239,228,208,.1);color:#EFE4D0;font-size:24px;line-height:1;cursor:pointer}
.m21r-cal__nav button:disabled{opacity:.3;cursor:default}
.m21r-cal__wd,.m21r-cal__g{display:grid;grid-template-columns:repeat(7,1fr);text-align:center}
.m21r-cal__wd span{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:rgba(239,228,208,.55);padding:6px 0}
.m21r-cal__g{row-gap:4px;min-height:276px;align-content:start}
.m21r-cal__d{position:relative;height:42px;border:0;background:transparent;color:#EFE4D0;font:inherit;font-size:16px;cursor:pointer;-webkit-tap-highlight-color:transparent;z-index:0}
.m21r-cal__d::before{content:"";position:absolute;inset:2px;margin:auto;width:40px;max-width:100%;border-radius:50%;z-index:-1;transition:background .15s}
.m21r-cal__d:hover:not(:disabled)::before{background:rgba(239,228,208,.1)}
.m21r-cal__d:disabled{color:rgba(239,228,208,.25);cursor:default}
.m21r-cal__d.is-today{font-weight:700;text-decoration:underline;text-underline-offset:4px;text-decoration-color:#EBD3A3}
.m21r-cal__d.is-in{background:rgba(235,211,163,.16)}
.m21r-cal__d.is-a,.m21r-cal__d.is-b{color:#1F261B;font-weight:700}
.m21r-cal__d.is-a::before,.m21r-cal__d.is-b::before{background:#EBD3A3;box-shadow:0 4px 14px rgba(0,0,0,.25)}
.m21r-cal__d.is-a:has(~ .is-b){background:linear-gradient(90deg,transparent 50%,rgba(235,211,163,.16) 50%)}
.m21r-cal__d.is-b{background:linear-gradient(90deg,rgba(235,211,163,.16) 50%,transparent 50%)}
.m21r-cal__d.is-a.is-b{background:none}
.m21r-cal__d:focus-visible{outline:2px solid #EBD3A3;outline-offset:-2px;border-radius:50%}
.m21r-cal__ft{display:flex;gap:10px;margin-top:14px}.m21r-cal__ft .m21r-btn{flex:1}
@media (prefers-reduced-motion:reduce){.m21r-cal__p,.m21r-cal__bg{transition:none}}
.m21r-dwrap:has(input[aria-invalid="true"]) .m21r-dbtn{box-shadow:0 0 0 2px var(--r-err) inset}

.m21r-dwrap{container-type:inline-size}
@container (max-width:150px){.m21r-dbtn{padding:0 10px;gap:0}.m21r-dbtn svg{display:none}}

@media (min-width:641px) and (max-width:1400px){.m21r-grid--p{grid-template-columns:repeat(3,minmax(0,1fr))}.m21r-grid--p .m21r-pair{grid-column:span 1}.m21r-grid--h{grid-template-columns:repeat(2,minmax(0,1fr))}.m21r-grid--f{grid-template-columns:repeat(2,minmax(0,1fr))}.m21r-grid--f .m21r-route{grid-column:span 2}.m21r-go{grid-column:1/-1;padding-top:0}}

/* Entdecken: Geheimtipps zum Wischen */
.m21r-sw__wrap{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:28px;align-items:start}
.m21r-sw__play{position:relative}
.m21r-deck{position:relative;aspect-ratio:3/4;max-height:72vh;margin:0 auto;width:100%;outline:none;touch-action:pan-y}
.m21r-deck:focus-visible{outline:2px solid #EBD3A3;outline-offset:6px;border-radius:30px}
.m21r-gcard{position:absolute;inset:0;margin:0;border-radius:28px;overflow:hidden;background:linear-gradient(160deg,#4E5A42,#2A3325);color:#EFE4D0;box-shadow:0 0 0 1px rgba(239,228,208,.14) inset,0 18px 40px rgba(0,0,0,.35);
 transform:translateY(calc(var(--i,0) * 12px)) scale(calc(1 - var(--i,0) * .045));transition:transform .3s cubic-bezier(.2,.9,.25,1),opacity .3s;user-select:none;-webkit-user-select:none;touch-action:pan-y;cursor:grab}
.m21r-gcard.is-drag{transition:none;cursor:grabbing}
.m21r-gcard:not(.is-top){pointer-events:none}
.m21r-gcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.m21r-gcard::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,26,17,0) 38%,rgba(20,26,17,.55) 62%,rgba(20,26,17,.92) 100%);pointer-events:none}
.m21r-gcard__b{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:20px 22px 22px}
.m21r-gcard__c{margin:0 0 4px;font-size:13px;letter-spacing:.02em;color:#EBD3A3}
.m21r-gcard__t{margin:0;font-family:var(--r-serif);font-weight:500;font-size:clamp(28px,7vw,36px);line-height:1.05}
.m21r-gcard__h{margin:8px 0 0;font-size:15px;line-height:1.4;color:rgba(239,228,208,.92)}
.m21r-gcard__w,.m21r-gcard__by{display:none;margin:10px 0 0;font-size:14px}
.m21r-gcard__by{font-size:11.5px;color:rgba(239,228,208,.6)}
.m21r-gcard.is-open .m21r-gcard__w,.m21r-gcard.is-open .m21r-gcard__by{display:block}
.m21r-gcard.is-open::after{background:linear-gradient(180deg,rgba(20,26,17,.1) 20%,rgba(20,26,17,.95) 75%)}
.m21r-gcard__stamp{position:absolute;top:26px;z-index:2;padding:6px 14px;border:3px solid;border-radius:12px;font-weight:800;font-size:20px;letter-spacing:.06em;opacity:0;pointer-events:none;background:rgba(20,26,17,.25);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.m21r-gcard__stamp--y{left:22px;color:#CAE6A8;border-color:#CAE6A8;transform:rotate(-12deg)}
.m21r-gcard__stamp--n{right:22px;color:#F2B8A8;border-color:#F2B8A8;transform:rotate(12deg)}
.m21r-gcard--end{display:flex;align-items:center;justify-content:center;text-align:center;padding:30px;cursor:default}
.m21r-gcard--end::after{display:none}
.m21r-swbtns{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:18px}
.m21r-swb{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:64px;height:64px;padding:0 22px;border:0;border-radius:40px;font:inherit;font-weight:700;font-size:15px;cursor:pointer;transition:transform .15s,opacity .2s;-webkit-tap-highlight-color:transparent;box-shadow:0 0 0 1px rgba(239,228,208,.16) inset,0 8px 20px rgba(0,0,0,.25)}
.m21r-swb:active{transform:scale(.94)}.m21r-swb:disabled{opacity:.35;cursor:default}
.m21r-swb--no{background:rgba(239,228,208,.1);color:#F2B8A8;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
.m21r-swb--yes{background:#EBD3A3;color:#1F261B}
.m21r-swb--undo{min-width:46px;height:46px;padding:0;background:rgba(239,228,208,.08);color:#EFE4D0}
.m21r-sw__toast{min-height:22px;margin:12px 0 0;text-align:center;font-weight:600;color:#EBD3A3}
.m21r-sw__toast.is-on{animation:m21rpop .5s cubic-bezier(.2,.9,.25,1.3)}
@keyframes m21rpop{from{transform:scale(.8);opacity:0}to{transform:none;opacity:1}}
.m21r-swstats{padding:22px;border-radius:28px}
.m21r-swstats .m21r-h3{margin:2px 0 12px;font-family:var(--r-serif);font-weight:500;font-size:26px}
.m21r-swtabs{display:inline-flex;gap:4px;padding:4px;margin-bottom:12px;border-radius:30px;background:rgba(239,228,208,.08)}
.m21r-swtabs button{border:0;border-radius:24px;padding:8px 14px;background:transparent;color:#EFE4D0;font:inherit;font-size:13.5px;font-weight:600;cursor:pointer}
.m21r-swtabs button[aria-pressed="true"]{background:#EBD3A3;color:#1F261B}
.m21r-swrank{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.m21r-swrank li{display:grid;grid-template-columns:22px 46px minmax(0,1fr) auto;gap:12px;align-items:center;padding:8px 10px;border-radius:18px;background:rgba(239,228,208,.05)}
.m21r-swrank li.is-mine{box-shadow:inset 0 0 0 1.5px rgba(235,211,163,.6)}
.m21r-swrank__n{font-weight:700;color:#EBD3A3;text-align:center}
.m21r-swrank img{width:46px;height:46px;border-radius:12px;object-fit:cover}
.m21r-swrank__t{display:flex;flex-direction:column;min-width:0}
.m21r-swrank__t b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.m21r-swrank__t small,.m21r-swrank__p small{font-size:12px;color:var(--r-muted)}
.m21r-swrank__bar{display:block;height:5px;margin-top:6px;border-radius:3px;background:rgba(239,228,208,.1);overflow:hidden}
.m21r-swrank__bar i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,#9FB07F,#EBD3A3);transition:width .6s}
.m21r-swrank__p{display:flex;flex-direction:column;align-items:flex-end;font-weight:700;font-size:17px}
.m21r-swstats__n{margin:12px 0 0}
.m21r-swfav{margin-top:22px;padding:20px;border-radius:24px;background:var(--r-card);box-shadow:0 0 0 1px var(--r-hair2) inset}
.m21r-swfav__l{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:10px 0 14px;padding:0}
.m21r-swfav__l li{display:flex;align-items:center;gap:10px;padding:6px 12px 6px 6px;border-radius:30px;background:rgba(239,228,208,.08)}
.m21r-swfav__l img{width:36px;height:36px;border-radius:50%;object-fit:cover}
.m21r-swfav__l span{display:flex;flex-direction:column;line-height:1.15}.m21r-swfav__l small{font-size:12px;color:var(--r-muted)}
.m21r-swfav .m21r-row{display:flex;gap:10px;flex-wrap:wrap}
@media (max-width:860px){.m21r-sw__wrap{grid-template-columns:1fr}.m21r-deck{max-width:420px}}
@media (prefers-reduced-motion:reduce){.m21r-gcard{transition:opacity .2s}.m21r-sw__toast.is-on{animation:none}}

.m21r-swb span{white-space:nowrap}
@media (max-width:600px){
 .m21r-deck{aspect-ratio:auto;height:min(58svh,500px)}
 .m21r-swbtns{gap:22px;margin-top:14px}
 .m21r-swb{width:64px;min-width:64px;padding:0}.m21r-swb--undo{width:46px;min-width:46px}
 .m21r-swb:not(.m21r-swb--undo) span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .m21r-gcard__h{font-size:14.5px}
}
.m21r-swfav__l{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:4px}
.m21r-swfav__l::-webkit-scrollbar{display:none}.m21r-swfav__l li{flex:none}
@media (max-width:600px){.m21r-deck{height:min(52svh,470px)}}
.m21r-sw__cnt{margin:2px 0 0;text-align:center;font-size:12.5px}
/* Community */
.m21r-sw__side{display:grid;gap:18px;min-width:0}
.m21r-comm{padding:22px;border-radius:28px;min-width:0}
.m21r-comm__head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap}
.m21r-comm .m21r-h3{margin:2px 0 0;font-family:var(--r-serif);font-weight:500;font-size:26px}
.m21r-comm__f{max-width:100%;min-height:40px;padding:6px 34px 6px 14px;border:0;border-radius:20px;background:rgba(239,228,208,.1);color:#EFE4D0;font:inherit;font-size:14px;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m7 10 5 5 5-5' fill='none' stroke='%23EFE4D0' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:18px}
.m21r-comm__f option,.m21r-comm select option{color:#1F261B}
.m21r-comm__intro{margin:8px 0 12px}
.m21r-comm__l{list-style:none;margin:0 -6px;padding:4px 6px;max-height:420px;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:10px;scrollbar-width:thin}
.m21r-comm__empty,.m21r-comm__more{text-align:center;color:var(--r-muted);padding:18px 0;font-size:14.5px}
.m21r-comm__more{padding:4px 0}
.m21r-cmsg{display:flex;gap:10px;align-items:flex-start}
.m21r-cmsg__av{flex:none;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:hsl(var(--h) 22% 42%);color:#EFE4D0;font-weight:700}
.m21r-cmsg__b{min-width:0;flex:1;padding:10px 14px;border-radius:4px 18px 18px 18px;background:rgba(239,228,208,.07)}
.m21r-cmsg.is-mine .m21r-cmsg__b{background:rgba(235,211,163,.16)}
.m21r-cmsg__h{margin:0;font-size:13.5px;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}
.m21r-cmsg__h time{color:var(--r-muted);font-size:12px}
.m21r-cmsg__pl{border:0;border-radius:12px;padding:2px 8px;background:rgba(235,211,163,.16);color:#EBD3A3;font:inherit;font-size:12px;cursor:pointer}
.m21r-cmsg__q{margin:6px 0 0;padding:4px 10px;border-left:3px solid rgba(235,211,163,.5);font-size:13px;color:var(--r-muted)}
.m21r-cmsg__t{margin:4px 0 0;font-size:15px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}
.m21r-cmsg__a{margin:4px 0 0;display:flex;gap:14px}
.m21r-cmsg__a .m21r-link{background:none;border:0;padding:0;color:var(--r-muted);font:inherit;font-size:12.5px;cursor:pointer;text-decoration:none}
.m21r-cmsg__a .m21r-link:hover{color:#EFE4D0;text-decoration:underline}
.m21r-cmsg__a .m21r-link:disabled{cursor:default;text-decoration:none}
.m21r-comm__form{display:grid;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid rgba(239,228,208,.1)}
.m21r-comm__row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.m21r-comm__form .m21r-in{min-height:46px}
.m21r-comm__form select.m21r-in{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m7 10 5 5 5-5' fill='none' stroke='%23EFE4D0' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E")}
.m21r-comm__ta{resize:none;min-height:52px;line-height:1.4}
.m21r-comm__re{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0;padding:6px 12px;border-radius:12px;background:rgba(235,211,163,.12);font-size:13.5px}
.m21r-comm__re .m21r-link{background:none;border:0;color:var(--r-muted);font:inherit;cursor:pointer;text-decoration:underline}
.m21r-comm__rules{font-size:12.5px;color:var(--r-muted);line-height:1.4}
.m21r-comm__send{display:flex;justify-content:space-between;align-items:center;gap:12px}
.m21r-comm__st{margin:0;font-size:13.5px;min-height:18px}.m21r-comm__st.is-err{color:#F2B8A8}.m21r-comm__st.is-ok{color:#EBD3A3}
@media (max-width:600px){.m21r-comm{padding:18px}.m21r-comm__row{grid-template-columns:1fr}.m21r-comm__l{max-height:360px}}
.m21r-comm__re[hidden]{display:none}
.m21r-comm__form select.m21r-in,.m21r-comm__f{background-repeat:no-repeat!important;background-position:right 12px center!important;background-size:18px!important;padding-right:38px}

/* Entdecken: Spalten bündig */
.m21r-sw__wrap{align-items:stretch}
.m21r-sw__play{display:flex;flex-direction:column}
.m21r-sw__play .m21r-deck{flex:none}
.m21r-sw__play .m21r-swfav{flex:1;display:flex;flex-direction:column;margin-top:16px;padding:22px;border-radius:28px}
.m21r-swfav .m21r-h3{margin:2px 0 4px;font-family:var(--r-serif);font-weight:500;font-size:26px}
.m21r-swfav__sum{margin:0}
.m21r-sw__play .m21r-swfav__l{flex-wrap:wrap;overflow:visible;margin:12px 0 14px;align-content:flex-start}
.m21r-swfav__more{justify-content:center;min-width:48px;font-weight:700;color:#EBD3A3}
.m21r-swfav__none{background:none!important;padding:0!important}
.m21r-swfav__act{display:grid;gap:10px;margin-top:auto}
.m21r-swfav__act [hidden]{display:none}
.m21r-sw__toast:empty{min-height:0;margin:6px 0 0}
/* KI-Kugel (Liquid Glass) */
.m21r-orb{position:relative;display:inline-block;width:56px;height:56px;flex:none;border-radius:50%;
 background:radial-gradient(circle at 32% 26%,rgba(255,255,255,.95) 0 8%,rgba(255,255,255,.35) 18%,transparent 40%),
  radial-gradient(circle at 70% 78%,rgba(255,196,120,.85),transparent 55%),
  radial-gradient(circle at 30% 70%,rgba(150,190,235,.9),transparent 60%),
  linear-gradient(160deg,#DCE7F2,#9DB7D6 55%,#E9C79A);
 box-shadow:inset 0 -6px 14px rgba(40,60,90,.35),inset 0 6px 12px rgba(255,255,255,.6),0 10px 24px rgba(0,0,0,.35),0 0 0 1px rgba(255,255,255,.35);
 animation:m21rblob 7s ease-in-out infinite}
.m21r-orb i{position:absolute;border-radius:50%;pointer-events:none}
.m21r-orb i:nth-child(1){inset:12% 18% auto auto;width:22%;height:14%;background:rgba(255,255,255,.85);filter:blur(1px);transform:rotate(-30deg)}
.m21r-orb i:nth-child(2){inset:auto auto 14% 20%;width:44%;height:18%;background:radial-gradient(rgba(255,170,90,.7),transparent 70%);filter:blur(3px)}
.m21r-orb i:nth-child(3){inset:-2px;border-radius:inherit;background:conic-gradient(from 0deg,transparent,rgba(255,255,255,.35),transparent 40%);animation:m21rspin 6s linear infinite;mix-blend-mode:overlay}
@keyframes m21rblob{0%,100%{border-radius:50% 50% 48% 52%/52% 48% 52% 48%}25%{border-radius:56% 44% 52% 48%/46% 56% 44% 54%}50%{border-radius:46% 54% 44% 56%/55% 45% 55% 45%}75%{border-radius:52% 48% 56% 44%/48% 52% 46% 54%}}
@keyframes m21rspin{to{transform:rotate(360deg)}}
.m21r-orb.is-busy{animation:m21rblob 1.6s ease-in-out infinite,m21rpulse 1.2s ease-in-out infinite}
@keyframes m21rpulse{50%{transform:scale(1.08)}}
.m21r-orb--sm{width:40px;height:40px}.m21r-orb--xs{width:28px;height:28px;box-shadow:inset 0 -3px 7px rgba(40,60,90,.35),inset 0 3px 6px rgba(255,255,255,.6),0 4px 10px rgba(0,0,0,.3)}
.m21r-orb--xl{width:120px;height:120px}
/* Dock-Knopf */
.m21r-dock__ai{display:flex;justify-content:center}
.m21r-orbbtn{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;width:100%;margin-top:-26px;padding:0;border:0;background:none;color:var(--r-text);font:inherit;font-size:11px;font-weight:700;letter-spacing:.03em;cursor:pointer;-webkit-tap-highlight-color:transparent}
.m21r-orbbtn .m21r-orb{width:60px;height:60px;transition:transform .2s}
.m21r-orbbtn:active .m21r-orb{transform:scale(.92)}
.m21r-orbbtn:focus-visible{outline:none}.m21r-orbbtn:focus-visible .m21r-orb{outline:2px solid #EBD3A3;outline-offset:3px}
@media (max-width:640px){.m21r-orbbtn{font-size:10px;letter-spacing:0;white-space:nowrap}.m21r-orbbtn .m21r-orb{width:54px;height:54px}}
/* KI-Fenster */
.m21r-ai{position:fixed;inset:0;z-index:210;display:flex;align-items:flex-end;justify-content:center}
.m21r-ai[hidden]{display:none}
.m21r-ai__bg{position:absolute;inset:0;background:rgba(10,14,8,.55);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;transition:opacity .3s}
.m21r-ai__p{position:relative;display:flex;flex-direction:column;width:min(760px,100%);height:min(92svh,860px);padding:14px 16px calc(12px + env(safe-area-inset-bottom));border-radius:30px 30px 0 0;color:#EFE4D0;
 background:linear-gradient(165deg,rgba(70,84,58,.9),rgba(28,34,24,.95));-webkit-backdrop-filter:blur(30px) saturate(170%);backdrop-filter:blur(30px) saturate(170%);
 box-shadow:0 0 0 1px rgba(239,228,208,.14) inset,0 1px 0 rgba(255,255,255,.16) inset,0 -20px 60px rgba(0,0,0,.45);transform:translateY(100%);transition:transform .38s cubic-bezier(.2,.9,.25,1)}
@media (min-width:800px){.m21r-ai{align-items:center}.m21r-ai__p{border-radius:30px;height:min(86vh,820px)}}
.m21r-ai.is-open .m21r-ai__bg{opacity:1}.m21r-ai.is-open .m21r-ai__p{transform:none}
.m21r-ai__hd{display:flex;align-items:center;gap:12px;padding:2px 2px 12px;border-bottom:1px solid rgba(239,228,208,.1)}
.m21r-ai__hd>div{flex:1;min-width:0}
.m21r-ai__t{margin:0;font-family:var(--r-serif);font-weight:500;font-size:24px;line-height:1.1}
.m21r-ai__s{margin:2px 0 0;font-size:13px;color:rgba(239,228,208,.7)}
.m21r-ai__x{flex:none;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:0;border-radius:50%;background:rgba(239,228,208,.1);color:#EFE4D0;cursor:pointer}
.m21r-ai__intro{flex:1;overflow-y:auto;display:flex;flex-direction:column;align-items:center;text-align:center;padding:24px 8px 8px}
.m21r-ai__intro[hidden],.m21r-ai__log[hidden],.m21r-ai__chips[hidden],.m21r-ai__in[hidden]{display:none}
.m21r-ai__it{margin:18px 0 6px;font-family:var(--r-serif);font-weight:500;font-size:30px;line-height:1.1}
.m21r-ai__steps{list-style:none;counter-reset:s;margin:14px 0;padding:0;display:grid;gap:10px;width:100%;max-width:520px;text-align:left}
.m21r-ai__steps li{counter-increment:s;display:grid;grid-template-columns:34px 1fr;gap:2px 12px;padding:12px 14px;border-radius:18px;background:rgba(239,228,208,.07)}
.m21r-ai__steps li::before{content:counter(s);grid-row:span 2;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#EBD3A3;color:#1F261B;font-weight:800}
.m21r-ai__steps span{font-size:14px;color:rgba(239,228,208,.78)}
.m21r-ai__ex{width:100%;max-width:520px;margin:4px 0 16px;padding:14px 16px;border-radius:18px;border:1px dashed rgba(235,211,163,.4);text-align:left}
.m21r-ai__ex small{color:#EBD3A3;font-weight:700}.m21r-ai__ex p{margin:4px 0 0;font-style:italic;line-height:1.45}
.m21r-ai__ia{display:grid;gap:10px;width:100%;max-width:520px}
.m21r-ai__log{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:14px 2px;display:flex;flex-direction:column;gap:14px}
.m21r-aim{display:flex;gap:10px;align-items:flex-start;max-width:100%}
.m21r-aim.is-u{justify-content:flex-end}
.m21r-aim.is-u p{margin:0;max-width:82%;padding:10px 14px;border-radius:20px 20px 6px 20px;background:#EBD3A3;color:#1F261B;font-size:15.5px;line-height:1.45}
.m21r-aim__c{min-width:0;flex:1}
.m21r-aim.is-a .m21r-aim__c>p{margin:0;padding:10px 14px;border-radius:6px 20px 20px 20px;background:rgba(239,228,208,.08);font-size:15.5px;line-height:1.5;max-width:92%;display:inline-block}
.m21r-aim__lbl{margin:12px 0 0;font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#EBD3A3}
.m21r-aim__dots{display:inline-flex!important;align-items:center;gap:4px}
.m21r-aim__dots span{width:6px;height:6px;border-radius:50%;background:#EBD3A3;animation:m21rdot 1s infinite}
.m21r-aim__dots span:nth-child(2){animation-delay:.15s}.m21r-aim__dots span:nth-child(3){animation-delay:.3s}
.m21r-aim__dots em{margin-left:8px;font-style:normal;font-size:13.5px;color:rgba(239,228,208,.75)}
@keyframes m21rdot{0%,100%{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}
.m21r-aic__row{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin:10px -2px 0;padding:2px 2px 8px;scrollbar-width:none}
.m21r-aic__row::-webkit-scrollbar{display:none}
.m21r-aic{flex:0 0 min(78%,280px);scroll-snap-align:start;border-radius:20px;overflow:hidden;background:rgba(239,228,208,.08);box-shadow:0 0 0 1px rgba(239,228,208,.12) inset}
.m21r-aic.is-near{opacity:.9}
.m21r-aic__img{position:relative;height:120px;background:linear-gradient(160deg,#4E5A42,#2A3325)}
.m21r-aic__img img{width:100%;height:100%;object-fit:cover;display:block}
.m21r-aic__img span{position:absolute;left:10px;bottom:8px;padding:3px 10px;border-radius:12px;background:rgba(20,26,17,.6);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:13px;font-weight:700}
.m21r-aic__b{padding:10px 12px 12px}
.m21r-aic__t{margin:0;font-weight:700;font-size:14.5px;line-height:1.3}
.m21r-aic__m{margin:3px 0 0;font-size:12.5px;color:rgba(239,228,208,.72)}
.m21r-aic__f{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:10px}
.m21r-aic__p{margin:0;display:flex;flex-direction:column;line-height:1.1}.m21r-aic__p b{font-size:19px}.m21r-aic__p small{font-size:11.5px;color:rgba(239,228,208,.65)}
.m21r-aic__all{margin-top:8px;padding:0;border:0;background:none;color:#EBD3A3;font:inherit;font-size:13px;font-weight:600;cursor:pointer}
.m21r-ai__chips{display:flex;gap:8px;overflow-x:auto;padding:8px 0;scrollbar-width:none}
.m21r-ai__chips::-webkit-scrollbar{display:none}
.m21r-aichip{flex:none;padding:8px 14px;border:0;border-radius:18px;background:rgba(239,228,208,.1);color:#EFE4D0;font:inherit;font-size:13.5px;cursor:pointer;box-shadow:0 0 0 1px rgba(239,228,208,.12) inset}
.m21r-ai__in{display:flex;align-items:flex-end;gap:8px;padding:8px;border-radius:26px;background:rgba(239,228,208,.08);box-shadow:0 0 0 1px rgba(239,228,208,.14) inset}
.m21r-ai__in textarea{flex:1;min-height:40px;max-height:140px;padding:9px 10px;border:0;background:transparent;color:#EFE4D0;font:inherit;font-size:16px;line-height:1.4;resize:none;outline:none}
.m21r-ai__in textarea::placeholder{color:rgba(239,228,208,.5)}
.m21r-ai__mic,.m21r-ai__go{flex:none;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:0;border-radius:50%;cursor:pointer}
.m21r-ai__mic{background:rgba(239,228,208,.12);color:#EFE4D0}
.m21r-ai__mic[hidden]{display:none}
.m21r-ai__mic.is-on{background:#F2B8A8;color:#1F261B;animation:m21rpulse 1s ease-in-out infinite}
.m21r-ai__go{background:#EBD3A3;color:#1F261B}
.m21r-ai__note{margin:8px 0 0;text-align:center;font-size:11.5px;color:rgba(239,228,208,.55)}
@media (prefers-reduced-motion:reduce){.m21r-orb,.m21r-orb i,.m21r-orb.is-busy{animation:none}.m21r-ai__p{transition:none}}
.m21r-swfav__l li.m21r-swfav__none{flex:1 1 100%;min-width:0;white-space:normal}
.m21r-ai__in textarea:focus,.m21r-ai__in textarea:focus-visible{outline:none!important;box-shadow:none!important}
.m21r-ai__in:focus-within{box-shadow:0 0 0 1.5px rgba(235,211,163,.6) inset}
/* ---------- KI: Liquid-Glass in M21-Farben ---------- */
.m21r-orb{background:radial-gradient(circle at 32% 24%,rgba(255,255,255,.95) 0 7%,rgba(255,255,255,.4) 16%,transparent 38%),
  radial-gradient(circle at 68% 80%,rgba(233,199,154,.95),transparent 55%),
  radial-gradient(circle at 26% 72%,rgba(150,172,120,.85),transparent 60%),
  linear-gradient(165deg,#EEF1E4,#B9C7A0 45%,#7E9168 75%,#D9BC8C)}
.m21r-orb i:nth-child(2){background:radial-gradient(rgba(240,190,120,.75),transparent 70%)}
.m21r-orb--hero{width:min(54vw,240px);height:min(54vw,240px);box-shadow:inset 0 -18px 40px rgba(46,58,34,.45),inset 0 16px 30px rgba(255,255,255,.55),inset 0 0 0 1px rgba(255,255,255,.45),0 30px 60px rgba(10,14,8,.45)}
/* Bühne */
.m21r-ai__p.is-voice{padding:0;overflow:hidden;background:#1A2016}
.m21r-ai__p.is-voice .m21r-ai__hd{position:relative;z-index:3;margin:14px 16px 0;padding:8px 10px;border:0;border-radius:24px;background:rgba(20,26,17,.35);-webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%);box-shadow:0 0 0 1px rgba(239,228,208,.14) inset}
.m21r-ai__p.is-voice .m21r-ai__note{position:relative;z-index:3;margin:0 0 calc(10px + env(safe-area-inset-bottom));color:rgba(239,228,208,.6)}
.m21r-ai__voice{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;overflow:hidden}
.m21r-ai__voice[hidden]{display:none}
.m21r-vs{position:absolute;inset:0;z-index:0}
.m21r-vs__sky{position:absolute;left:0;right:0;top:0;height:58%;background:linear-gradient(180deg,#1C2318 0%,#36432C 38%,#7C8C62 72%,#D8C79E 92%,#EFE1C2 100%)}
.m21r-vs__sea{position:absolute;left:0;right:0;bottom:0;height:42%;background:linear-gradient(180deg,#A8A27C 0%,#5F6E4A 10%,#2E3A26 45%,#151B12 100%);
 -webkit-mask:linear-gradient(#000,#000);mask:linear-gradient(#000,#000)}
.m21r-vs__sea::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(180deg,rgba(255,240,210,.12) 0 2px,transparent 2px 9px);opacity:.55;animation:m21rwave 6s linear infinite;-webkit-mask:linear-gradient(180deg,#000,transparent 80%);mask:linear-gradient(180deg,#000,transparent 80%)}
.m21r-vs__sea::after{content:"";position:absolute;left:0;right:0;top:-6px;height:14px;background:linear-gradient(180deg,transparent,rgba(46,58,34,.9) 60%,transparent);filter:blur(2px)}
.m21r-vs__glow{position:absolute;left:50%;top:50%;width:120%;height:30%;transform:translate(-50%,-50%);background:radial-gradient(ellipse at center,rgba(255,226,170,.35),transparent 60%);pointer-events:none}
@keyframes m21rwave{to{background-position:0 18px}}
.m21r-vorb{position:absolute;z-index:2;left:50%;top:max(110px,28%);transform:translate(-50%,-50%);padding:0;border:0;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent;animation:m21rfloat 5s ease-in-out infinite}
.m21r-vorb:focus-visible{outline:none}.m21r-vorb:focus-visible .m21r-orb{outline:2px solid #EFE4D0;outline-offset:6px}
@keyframes m21rfloat{0%,100%{translate:0 0}50%{translate:0 -10px}}
.m21r-vorb__refl{position:absolute;z-index:1;left:50%;top:calc(max(110px,28%) + min(54vw,240px) * .95);transform:translate(-50%,0) scaleY(-.75);opacity:.32;filter:blur(3px);-webkit-mask:linear-gradient(0deg,#000,transparent 85%);mask:linear-gradient(0deg,#000,transparent 85%);pointer-events:none;animation:m21rfloat 5s ease-in-out infinite reverse}
.m21r-vorb__ring{position:absolute;left:50%;top:50%;width:100%;height:100%;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 2px rgba(239,228,208,.5);opacity:0;pointer-events:none}
.m21r-ai__p[data-v="listen"] .m21r-vorb__ring{animation:m21rring 1.8s ease-out infinite}
.m21r-ai__p[data-v="listen"] .m21r-vorb__ring+.m21r-vorb__ring{animation-delay:.9s}
@keyframes m21rring{0%{opacity:.8;width:100%;height:100%}100%{opacity:0;width:160%;height:160%}}
.m21r-ai__p[data-v="listen"] .m21r-vorb .m21r-orb{animation:m21rblob 2.4s ease-in-out infinite,m21rbreath 1.6s ease-in-out infinite}
@keyframes m21rbreath{50%{transform:scale(1.06)}}
.m21r-ai__p[data-v="think"] .m21r-vorb .m21r-orb{animation:m21rblob 1.2s ease-in-out infinite}
.m21r-ai__p[data-v="think"] .m21r-vorb .m21r-orb i:nth-child(3){animation-duration:1.2s}
.m21r-ai__p[data-v="speak"] .m21r-vorb .m21r-orb{animation:m21rblob 2s ease-in-out infinite}
.m21r-ai__p.is-word .m21r-vorb .m21r-orb{animation:m21rblob 2s ease-in-out infinite,m21rword .25s ease-out}
@keyframes m21rword{40%{transform:scale(1.045)}}
.m21r-vtxt{position:absolute;z-index:3;left:0;right:0;top:calc(max(110px,28%) + min(27vw,120px) + 34px);padding:0 22px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px;max-height:34%;overflow-y:auto}
.m21r-vtxt__st{margin:0;padding:6px 14px;border-radius:16px;background:rgba(20,26,17,.35);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-size:13.5px;font-weight:700;letter-spacing:.02em;color:#EFE4D0}
.m21r-vtxt__you{margin:0;font-size:14.5px;font-style:italic;color:rgba(239,228,208,.75)}
.m21r-vtxt__you:empty,.m21r-vtxt__ai:empty{display:none}
.m21r-vtxt__ai{margin:0;max-width:560px;padding:12px 16px;border-radius:20px;background:rgba(20,26,17,.42);-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%);box-shadow:0 0 0 1px rgba(239,228,208,.14) inset;font-size:15.5px;line-height:1.5;color:#EFE4D0}
.m21r-vres{position:absolute;z-index:3;left:0;right:0;bottom:calc(118px + env(safe-area-inset-bottom));padding:0 16px}
.m21r-vres:empty{display:none}
.m21r-vres .m21r-aic{background:rgba(20,26,17,.5);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
.m21r-vres .m21r-aic__img{height:84px}
.m21r-vbar{position:absolute;z-index:3;left:50%;bottom:calc(36px + env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;align-items:center;gap:22px;padding:10px 18px;border-radius:40px;background:rgba(20,26,17,.35);-webkit-backdrop-filter:blur(20px) saturate(160%);backdrop-filter:blur(20px) saturate(160%);box-shadow:0 0 0 1px rgba(239,228,208,.16) inset,0 1px 0 rgba(255,255,255,.12) inset}
.m21r-vbtn{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:52px;padding:6px 4px;border:0;border-radius:18px;background:none;color:#EFE4D0;font:inherit;font-size:11px;font-weight:700;cursor:pointer}
.m21r-vbtn--main{width:66px;height:66px;min-width:66px;justify-content:center;border-radius:50%;background:#EBD3A3;color:#1F261B;box-shadow:0 8px 20px rgba(0,0,0,.35)}
.m21r-vbtn__stop{display:none}
.m21r-ai__p[data-v="listen"] .m21r-vbtn--main,.m21r-ai__p[data-v="speak"] .m21r-vbtn--main{background:#F2B8A8}
.m21r-ai__p[data-v="listen"] .m21r-vbtn__mic,.m21r-ai__p[data-v="speak"] .m21r-vbtn__mic{display:none}
.m21r-ai__p[data-v="listen"] .m21r-vbtn__stop,.m21r-ai__p[data-v="speak"] .m21r-vbtn__stop{display:block}
.m21r-vbtn__x{display:none}.m21r-vbtn[aria-pressed="true"] .m21r-vbtn__x{display:inline}.m21r-vbtn[aria-pressed="true"] .m21r-vbtn__w{display:none}
.m21r-ai__x[data-v-voice][hidden]{display:none}
.m21r-ai__x .m21r-orb--xs{width:22px;height:22px}
/* Chat-Ansicht ebenfalls glasiger */
.m21r-ai__p:not(.is-voice){background:linear-gradient(165deg,rgba(74,88,60,.72),rgba(28,34,24,.86))}
@media (max-height:700px){.m21r-orb--hero{width:min(40vw,170px);height:min(40vw,170px)}.m21r-vorb__refl{top:calc(max(100px,26%) + min(40vw,170px) * .95)}.m21r-vtxt{top:calc(max(100px,26%) + min(20vw,85px) + 26px)}}
@media (prefers-reduced-motion:reduce){.m21r-vorb,.m21r-vorb__refl,.m21r-vs__sea::before,.m21r-vorb__ring{animation:none!important}}
.m21r-ai__p.is-voice .m21r-ai__note{margin-top:auto}
/* Sprachmodus als Spalte (nichts überlappt) */
.m21r-ai__voice{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:calc(96px + 2vh) 0 calc(150px + env(safe-area-inset-bottom))}
.m21r-vorb,.m21r-vtxt,.m21r-vres{position:relative;left:auto;right:auto;top:auto;bottom:auto;transform:none}
.m21r-vorb{flex:none;margin:auto 0 0;z-index:2}
.m21r-vorb__refl{display:none}
.m21r-vorb::after{content:"";position:absolute;left:10%;right:10%;top:104%;height:60%;border-radius:50%;background:radial-gradient(ellipse at top,rgba(233,215,170,.35),transparent 70%);filter:blur(6px);pointer-events:none}
.m21r-vtxt{flex:none;margin:22px 0 0;max-height:none;overflow:visible;width:100%}
.m21r-vres{flex:none;width:100%;margin:14px 0 0}
.m21r-ai__voice:not(.has-res) .m21r-vres{display:none}
.m21r-ai__voice::after{content:"";flex:1 1 0}
.m21r-ai__voice.has-res .m21r-orb--hero{width:min(30vw,130px);height:min(30vw,130px)}
.m21r-ai__voice.has-res .m21r-vtxt__ai{font-size:14.5px;max-height:7.5em;overflow-y:auto}
.m21r-ai__voice.has-res{padding-top:calc(90px + 1vh)}
.m21r-vbar{position:absolute}
@media (max-height:700px){.m21r-ai__voice{padding-top:86px}}
@media (max-width:600px){
 .m21r-ai__p.is-voice .m21r-ai__s{display:none}
 .m21r-ai__voice{padding-top:118px}
 .m21r-ai__voice.has-res{padding-top:104px}
 .m21r-ai__voice.has-res .m21r-vtxt{margin-top:12px;gap:6px}
 .m21r-ai__voice.has-res .m21r-vtxt__you{display:none}
 .m21r-ai__voice.has-res .m21r-vtxt__ai{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;max-height:none;padding:10px 14px}
 .m21r-ai__voice.has-res .m21r-orb--hero{width:110px;height:110px}
 .m21r-vres .m21r-aic__b{padding:8px 12px 10px}
 .m21r-vbar{bottom:calc(30px + env(safe-area-inset-bottom));gap:16px;padding:8px 14px}
 .m21r-vbtn--main{width:60px;height:60px;min-width:60px}
 .m21r-ai__voice{padding-bottom:calc(128px + env(safe-area-inset-bottom))}
}
@media (max-width:600px){
 .m21r-ai__p.is-voice{background:linear-gradient(180deg,#1C2318 0%,#36432C 22%,#7C8C62 42%,#D8C79E 53%,#EFE1C2 56%,#A8A27C 57%,#5F6E4A 62%,#2E3A26 80%,#151B12 100%)}
 .m21r-ai__voice .m21r-vs{display:none}
 .m21r-ai__voice{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
 .m21r-ai__voice.has-res .m21r-vtxt__ai{-webkit-line-clamp:3}
 .m21r-vbar{position:fixed;bottom:calc(26px + env(safe-area-inset-bottom))}
 .m21r-ai.is-open .m21r-vbar{transform:translateX(-50%)}
}
.m21r-vtxt__ai span{display:block}
@media (max-width:600px){
 .m21r-ai__voice.has-res .m21r-vtxt__ai{display:block;-webkit-line-clamp:unset;overflow:visible}
 .m21r-ai__voice.has-res .m21r-vtxt__ai span{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
 .m21r-ai__voice.has-res .m21r-orb--hero{width:84px;height:84px}
 .m21r-ai__voice.has-res .m21r-ai__p:not([data-v="listen"]) .m21r-vtxt__st{display:none}
 .m21r-ai__p.is-voice .m21r-ai__note{display:none}
 .m21r-vres .m21r-aic__img{height:64px}
 .m21r-vres .m21r-aic__all{margin-top:4px}
}
.m21r-ai__p[data-v="idle"] .m21r-ai__voice.has-res .m21r-vtxt__st,.m21r-ai__p:not([data-v]) .m21r-ai__voice.has-res .m21r-vtxt__st{display:none}
/* 3D-Kugel */
.m21r-gl{position:absolute;inset:0;width:100%;height:100%;z-index:0;display:block}
.m21r-ai__voice.has-gl .m21r-vs{display:none}
.m21r-ai__voice.has-gl .m21r-vorb .m21r-orb{opacity:0}
.m21r-ai__voice.has-gl .m21r-vorb__ring,.m21r-ai__voice.has-gl .m21r-vorb::after{display:none}
.m21r-ai__voice.has-gl .m21r-vorb{animation:none}
@media (max-width:600px){.m21r-ai__p.is-voice{background:#151B12}}
/* Lesbarkeit vor hellem Horizont */
.m21r-vtxt__st,.m21r-vtxt__you,.m21r-vtxt__ai{background:rgba(18,23,15,.62)!important;-webkit-backdrop-filter:blur(20px) saturate(140%);backdrop-filter:blur(20px) saturate(140%);box-shadow:0 0 0 1px rgba(239,228,208,.16) inset,0 8px 24px rgba(0,0,0,.25);color:#F3EAD8!important;text-shadow:0 1px 2px rgba(0,0,0,.35)}
.m21r-vtxt__you{max-width:560px;padding:8px 14px;border-radius:16px;font-style:normal;font-size:14.5px;color:#DDE5C9!important}
.m21r-vtxt__you::before{content:"Du: ";font-weight:700;color:#EBD3A3}
html[lang="en"] .m21r-vtxt__you::before{content:"You: "}
html[lang="tr"] .m21r-vtxt__you::before{content:"Sen: "}
/* KI-Fenster komplett Liquid Glass – App bleibt sichtbar */
.m21r-ai__bg{background:rgba(12,16,10,.18);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.m21r-ai__p,.m21r-ai__p:not(.is-voice),.m21r-ai__p.is-voice{background:linear-gradient(165deg,rgba(84,100,68,.34),rgba(24,30,20,.42))!important;
 -webkit-backdrop-filter:blur(26px) saturate(170%) brightness(.92);backdrop-filter:blur(26px) saturate(170%) brightness(.92);
 box-shadow:0 0 0 1px rgba(239,228,208,.22) inset,0 1px 0 rgba(255,255,255,.28) inset,0 -1px 0 rgba(0,0,0,.2) inset,0 30px 80px rgba(0,0,0,.45)!important}
.m21r-ai__p.is-voice .m21r-ai__hd{background:rgba(20,26,17,.28)}
.m21r-aim.is-a .m21r-aim__c>p{background:rgba(20,26,17,.42);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.m21r-ai__in{background:rgba(20,26,17,.38)}
.m21r-aic{background:rgba(20,26,17,.45)}
@media (max-width:600px){.m21r-ai__p.is-voice{background:linear-gradient(165deg,rgba(84,100,68,.34),rgba(24,30,20,.42))!important}}
/* Portal: länger gezogen, äußere Karten geneigt */
.m21r-portal__in{width:min(780px,100%)}
.m21r-portal__cards{perspective:1000px;gap:14px;align-items:center}
.m21r-pcard{min-height:250px;padding:22px 10px;transition:transform .35s cubic-bezier(.2,.7,.2,1),rotate .5s cubic-bezier(.2,.7,.2,1),background .3s}
.m21r-pcard--main{min-height:300px}
.m21r-pcard:nth-child(1){rotate:y 18deg;transform-origin:right center}
.m21r-pcard:nth-child(3){rotate:y -18deg;transform-origin:left center}
@media (hover:hover){.m21r-pcard:nth-child(1):hover,.m21r-pcard:nth-child(3):hover{rotate:y 0deg}}
.m21r-pcard .m21r-ic{width:34px;height:34px}.m21r-pcard--main .m21r-ic{width:42px;height:42px}
.m21r-pcard b{font-size:16px}
@media (max-width:600px){.m21r-pcard{min-height:200px;padding:16px 6px}.m21r-pcard--main{min-height:236px}.m21r-portal__cards{gap:8px}.m21r-pcard:nth-child(1){rotate:y 16deg}.m21r-pcard:nth-child(3){rotate:y -16deg}}
@media (min-width:601px){.m21r-portal__in{width:min(720px,100%)}.m21r-pcard{min-height:340px}.m21r-pcard--main{min-height:390px}}
/* Flugstrecken */
.m21r-legs{list-style:none;margin:8px 0 6px;padding:0;display:grid;gap:5px}
.m21r-leg{font-size:14px;line-height:1.4}
.m21r-leg b{display:inline-block;min-width:74px;color:#EBD3A3}
.m21r-leg__t{font-weight:700;font-variant-numeric:tabular-nums}
.m21r-legd{padding:12px 0;border-top:1px solid var(--r-hair2)}
.m21r-legd:first-of-type{border-top:0;padding-top:4px}
.m21r-legd h3 small{font-weight:500;font-size:13px;color:var(--r-muted)}
.m21r-legd ol{list-style:none;margin:8px 0;padding:0 0 0 16px;border-left:2px solid rgba(235,211,163,.4);display:grid;gap:8px}
.m21r-seg div{font-variant-numeric:tabular-nums}
.m21r-seg__m{margin:2px 0;font-size:13px;color:var(--r-muted)}
.m21r-lay{font-size:13px;color:#E8CB92;font-weight:600}
/* Buchung */
.m21r-bkg{display:grid;grid-template-columns:110px repeat(3,minmax(0,1fr));gap:10px}
.m21r-bk .m21r-box:has(> .m21r-bkg) .m21r-bkg:not(:has(select)){grid-template-columns:repeat(2,minmax(0,1fr))}
.m21r-bkp{border:0;margin:0}
.m21r-bkp legend{float:left;width:100%;margin:0 0 10px;padding:0}
.m21r-bkp legend+*{clear:both}
.m21r-bkbags{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:8px}
.m21r-bkbags .m21r-check{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:rgba(239,228,208,.06)}
.m21r-bkbags .m21r-check span{flex:1}
.m21r-bksum{position:sticky;top:90px;display:grid;gap:10px}
.m21r-bkst{margin:0;font-size:14px;color:#F2B8A8;min-height:20px}
.m21r-bkok{max-width:640px;margin:20px auto;text-align:center}
.m21r-bkok .m21r-dl{text-align:left}
.m21r-bkok__i{width:64px;height:64px;margin:0 auto 10px;border-radius:50%;display:grid;place-items:center;font-size:32px;font-weight:800;background:#EBD3A3;color:#1F261B;animation:m21rpop .5s cubic-bezier(.2,.9,.25,1.3)}
.m21r-bkref{font-size:34px;font-weight:800;letter-spacing:.12em;margin:4px 0 14px;font-variant-numeric:tabular-nums}
.m21r-bkok .m21r-row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:14px}
@media (max-width:700px){.m21r-bkg{grid-template-columns:1fr 1fr}.m21r-bkg .m21r-fld:first-child{grid-column:1/-1}}

.m21r-cal__type{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0 0}
.m21r-cal__type label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:700;color:rgba(239,228,208,.7)}
.m21r-cal__type label[hidden]{display:none}
.m21r-cal__type .m21r-in{min-height:44px;font-size:16px;font-variant-numeric:tabular-nums;background:rgba(239,228,208,.08);color:#EFE4D0}
.m21r-cal__type .m21r-in[aria-invalid="true"]{box-shadow:inset 0 0 0 2px #F2B8A8}
/* Gepäck-Hinweis */
.m21r-bagb{margin:10px 0 0;padding:9px 12px;border-radius:14px;font-size:14px;line-height:1.4}
.m21r-bagb.is-ok{background:rgba(169,209,142,.16);color:#D9EBC8;box-shadow:inset 0 0 0 1px rgba(169,209,142,.35)}
.m21r-bagb.is-no{background:rgba(232,203,146,.14);color:#F0DDB4;box-shadow:inset 0 0 0 1px rgba(232,203,146,.35)}
.m21r-bkbags span small{display:block;font-size:12.5px;color:var(--r-muted)}
.m21r-tripd{margin-top:10px;display:grid;gap:4px;font-size:14px}
.m21r-tripd p{margin:0}
.m21r-bkok .m21r-tripd{text-align:left;margin:12px 0}
.m21r-bkst.is-info{color:#E8CB92}
/* Unsere Empfehlungen – kompakter Apple-Karten-Stil */
.m21r-feat{gap:12px;padding-bottom:10px}
.m21r-feat>li{flex:0 0 clamp(200px,58vw,250px)}
.m21r-fcard{height:auto;display:flex;flex-direction:column;border-radius:22px;background:rgba(239,228,208,.06);-webkit-backdrop-filter:blur(20px) saturate(1.4);backdrop-filter:blur(20px) saturate(1.4);box-shadow:0 0 0 1px rgba(239,228,208,.14) inset,0 14px 30px -20px rgba(0,0,0,.7)}
.m21r-fcard::after{display:none}
.m21r-fcard img{position:relative;inset:auto;display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:22px 22px 0 0;animation:none}
.m21r-fcard__tag{top:10px;left:10px;padding:4px 10px;font-size:11px}
.m21r-fcard__glass{position:static;padding:11px 12px 12px 14px;border-radius:0;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}
.m21r-fcard__glass small{font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;opacity:.65}
.m21r-fcard__glass b{font-size:22px;line-height:1.1;margin-top:2px}
.m21r-fcard__go{width:32px;height:32px}
.m21r-fcard__go svg{width:16px;height:16px}
@media (hover:hover){.m21r-fcard:hover{transform:translateY(-3px)}}

.m21r-how2{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.m21r-how2 li{display:flex;flex-direction:column;gap:4px;padding:14px;border-radius:20px;background:rgba(239,228,208,.06);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 0 0 1px rgba(239,228,208,.13) inset}
.m21r-how2 span{display:grid;place-items:center;width:28px;height:28px;margin-bottom:4px;border-radius:50%;background:#EBD3A3;color:#1F261B;font-weight:800;font-size:14px}
.m21r-how2 b{font-size:16px}
.m21r-how2 small{font-size:13px;line-height:1.35;color:var(--r-muted)}
@media (max-width:760px){.m21r-how2{grid-template-columns:repeat(2,minmax(0,1fr))}}

.m21r-tag--ok{background:rgba(235,211,163,.16);color:#EBD3A3}
.m21r-aic__lb{display:inline-block;margin-bottom:4px;padding:2px 8px;border-radius:99px;background:rgba(235,211,163,.18);color:#EBD3A3;font-size:11px;font-weight:700;letter-spacing:.02em}
/* Kundenkonto */
.m21r-acct{display:grid;gap:14px;margin-bottom:14px}
.m21r-acct form{display:grid;gap:12px}
.m21r-acct__tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:16px;background:rgba(239,228,208,.06);box-shadow:0 0 0 1px var(--r-hair) inset}
.m21r-acct__tabs button{min-height:42px;border:0;border-radius:12px;background:transparent;color:inherit;font:inherit;font-weight:700;cursor:pointer}
.m21r-acct__tabs button[aria-selected="true"]{background:#EBD3A3;color:#1F261B}
.m21r-acct__me{grid-template-columns:auto 1fr;align-items:center}
.m21r-acct__me .m21r-h3{margin:0}
.m21r-acct__me p{margin:2px 0 0}
.m21r-acct__act{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px}
.m21r-acct__av{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#EEF2E2,#EBD3A3 45%,#7E8C68);color:#1F261B;font-weight:800;font-size:20px;box-shadow:0 8px 20px -8px rgba(0,0,0,.5)}
.m21r-acct details summary{cursor:pointer;list-style:none}
.m21r-acct details summary::-webkit-details-marker{display:none}
.m21r-acct details[open] summary{margin-bottom:12px}
.m21r-btn--danger{background:#E8A795;color:#2A1A14}
.m21r-need{justify-items:start}
.m21r-need .m21r-row{display:flex;flex-wrap:wrap;gap:8px}
.m21r-acct__foot{margin-top:18px;text-align:center}

/* =====================================================================
   Urlaubs-Atmosphäre: Meer, Sonne, Sand – bewegt sich beim Scrollen
   (--sy = Scroll-Fortschritt 0…1, gesetzt von app.js)
   ===================================================================== */
body.m21r-app{--sea:#62C6D6;--sea2:#2E8FB2;--sea3:#16506A;--sand:#EBD3A3;--sand2:#D9B47A;--coral:#F4A27E;--sy:0;background:#0F2A33!important}

.m21r-bgphoto img{filter:saturate(1.15) brightness(.92);transform:scale(calc(1.06 + var(--sy,0) * .06)) translateY(calc(var(--sy,0) * -3%))}
.m21r-bgphoto::after{background:linear-gradient(180deg,rgba(10,46,60,.50) 0%,rgba(12,52,64,.62) 38%,rgba(14,44,54,.78) 70%,rgba(46,40,26,.86) 100%)!important}
.m21r-sea{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.m21r-sea__sun{position:absolute;right:-20vw;top:-18vh;width:85vw;height:85vw;max-width:780px;max-height:780px;border-radius:50%;background:radial-gradient(circle,rgba(255,214,150,.42) 0%,rgba(255,196,130,.16) 35%,rgba(255,190,120,0) 68%);opacity:calc(1 - var(--sy,0) * .7);transform:translateY(calc(var(--sy,0) * 18vh));animation:m21rSun 9s ease-in-out infinite alternate}
@keyframes m21rSun{to{filter:brightness(1.18);scale:1.06}}
.m21r-sea__glint{position:absolute;inset:-20%;opacity:.55;background:radial-gradient(40% 18% at 30% 40%,rgba(120,220,235,.20),transparent 70%),radial-gradient(30% 14% at 70% 62%,rgba(98,198,214,.20),transparent 70%),radial-gradient(26% 12% at 45% 80%,rgba(255,236,190,.12),transparent 70%);animation:m21rGlint 16s ease-in-out infinite alternate;transform:translateY(calc(var(--sy,0) * -10vh))}
@keyframes m21rGlint{0%{translate:-3% 0}50%{translate:3% -2%}100%{translate:-1% 2%}}
.m21r-sea__waves{position:absolute;left:0;right:0;bottom:-10vh;height:50vh;transform:translateY(calc(6vh - var(--sy,0) * 14vh))}
.m21r-sea__w{position:absolute;left:0;bottom:0;width:200%;height:100%;will-change:transform}
.m21r-sea__w path{vector-effect:non-scaling-stroke}
.m21r-sea__w.w1{height:92%;fill:rgba(46,143,178,.22);animation:m21rWave 22s linear infinite}
.m21r-sea__w.w2{height:74%;fill:rgba(98,198,214,.18);animation:m21rWave 15s linear infinite reverse}
.m21r-sea__w.w3{height:52%;fill:rgba(22,80,106,.42);animation:m21rWave 11s linear infinite}
@keyframes m21rWave{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.m21r-sea__sand{position:absolute;left:0;bottom:-2px;width:200%;height:24vh;opacity:calc(var(--sy,0) * 1.3 - .25);transform:translateY(calc((1 - var(--sy,0)) * 16vh));filter:drop-shadow(0 -6px 16px rgba(241,221,178,.18))}
.m21r-sea__sand path{animation:m21rDune 60s linear infinite}
@keyframes m21rDune{to{transform:translateX(-1200px)}}
@media (prefers-reduced-motion:reduce){.m21r-sea *{animation:none!important}}

/* Glas bekommt Meeres-Schimmer statt Oliv */
body.m21r-app .m21r-hd__in,body.m21r-app .m21r-search,body.m21r-app .m21r-dock,body.m21r-app .m21r-card,body.m21r-app .m21r-dest,body.m21r-app .m21r-how2 li,body.m21r-app .m21r-cform,body.m21r-app .m21r-sumbar,body.m21r-app .m21r-box,body.m21r-app .m21r-acct{
 background:linear-gradient(135deg,rgba(255,255,255,.17) 0%,rgba(255,255,255,.06) 42%,rgba(98,198,214,.06) 100%),rgba(14,52,64,.26)}
body.m21r-app .m21r-hd__in,body.m21r-app .m21r-dock{box-shadow:inset 0 1px 0 rgba(255,236,200,.42),inset 0 -1px 0 rgba(98,198,214,.18),inset 0 0 0 1px rgba(255,255,255,.13),0 22px 44px -24px rgba(0,20,30,.7)}

/* Farbakzente: Sand, Meer, Koralle */
body.m21r-app .m21r-eyebrow{color:var(--sand)}
body.m21r-app .m21r-hero .m21r-h1,body.m21r-app .m21r-view[data-view="home"] .m21r-h2{background:linear-gradient(100deg,#F7EBD2 0%,var(--sand) 45%,#A8E2EA 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
body.m21r-app .m21r-sec__head .m21r-eyebrow::after{content:"";display:block;width:54px;height:8px;margin-top:8px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 54 8'%3E%3Cpath d='M1 4c4.5-4 8.5-4 13 0s8.5 4 13 0 8.5-4 13 0 8.5 4 13 0' fill='none' stroke='%2362C6D6' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat}
body.m21r-app .m21r-how2 li:nth-child(1) span{background:var(--sea);color:#0E2F3A}
body.m21r-app .m21r-how2 li:nth-child(2) span{background:var(--sand);color:#3A2C12}
body.m21r-app .m21r-how2 li:nth-child(3) span{background:var(--coral);color:#3A1A0E}
body.m21r-app .m21r-how2 li:nth-child(4) span{background:#A8E2EA;color:#0E2F3A}
body.m21r-app .m21r-demo{background:linear-gradient(135deg,rgba(235,211,163,.26),rgba(98,198,214,.10));color:#F4DFB4}
body.m21r-app .m21r-tag--ok,body.m21r-app .m21r-aic__lb{background:rgba(98,198,214,.18);color:#A8E2EA}
body.m21r-app a.m21r-link,body.m21r-app button.m21r-link{color:#A8E2EA}

/* Abschnitte gleiten beim Scrollen herein */
body.m21r-app .m21r-sec.m21r-rv{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)}
body.m21r-app .m21r-sec.m21r-rv.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){body.m21r-app .m21r-sec.m21r-rv{opacity:1;transform:none;transition:none}}
/* Begrüßung: Himmel oben, Meer und Sand unten – öffnet sich am Horizont */
body.m21r-app .m21r-intro__half--t{background:radial-gradient(60% 55% at 72% 78%,rgba(255,214,150,.55) 0%,rgba(255,196,130,.18) 40%,rgba(255,190,120,0) 70%),linear-gradient(180deg,#0E3B4E 0%,#1B6A80 62%,#4FA6B6 100%)}
body.m21r-app .m21r-intro__half--b{background:linear-gradient(180deg,#2E8FB2 0%,#1D6F8C 30%,#155670 58%,#D9BE8A 82%,#EBD3A3 100%)}
body.m21r-app .m21r-intro__half--b::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,transparent,rgba(255,236,200,.85) 50%,transparent);filter:blur(1px)}

/* =====================================================================
   Bewegung: Bilder im Bumerang, Bauteile schweben wie eine Welle,
   Wasser-Ripple beim Antippen, Lichtreflex auf dem Glas
   ===================================================================== */
/* Urlaubsbilder: langsam hin und zurück (Bumerang) */
@keyframes m21rBoom{0%{transform:scale(1.05) translate(-1.6%,-1.2%)}50%{transform:scale(1.14) translate(1.6%,.8%)}100%{transform:scale(1.08) translate(-.4%,2%)}}
body.m21r-app .m21r-dest__mono .m21r-dest__img,body.m21r-app .m21r-fcard img,body.m21r-app .m21r-gcard img,body.m21r-app .m21r-aic__img img{animation:m21rBoom 18s ease-in-out infinite alternate;transform-origin:50% 55%;will-change:transform}
body.m21r-app .m21r-fcard,body.m21r-app .m21r-aic__img{overflow:hidden}
body.m21r-app .m21r-fcard img{border-radius:0}
body.m21r-app li:nth-child(4n+2) .m21r-dest__img,body.m21r-app li:nth-child(4n+2) .m21r-fcard img{animation-duration:21s;animation-delay:-6s;animation-direction:alternate-reverse}
body.m21r-app li:nth-child(4n+3) .m21r-dest__img,body.m21r-app li:nth-child(4n+3) .m21r-fcard img{animation-duration:16s;animation-delay:-11s}
body.m21r-app li:nth-child(4n) .m21r-dest__img,body.m21r-app li:nth-child(4n) .m21r-fcard img{animation-duration:24s;animation-delay:-3s;animation-direction:alternate-reverse}

/* Bauteile schweben versetzt – wie eine Welle, die durch die Reihe läuft */
@keyframes m21rBob{0%,100%{translate:0 0}50%{translate:0 -7px}}
body.m21r-app .m21r-dests>li,body.m21r-app .m21r-feat>li,body.m21r-app .m21r-how2>li,body.m21r-app .m21r-prom>li{animation:m21rBob 5.6s ease-in-out infinite;--k:1;rotate:calc(var(--sv,0) * var(--k) * 1.4deg);transition:rotate .5s cubic-bezier(.2,.8,.2,1)}
body.m21r-app :is(.m21r-dests,.m21r-feat,.m21r-how2,.m21r-prom)>li:nth-child(2){animation-delay:-.7s;--k:-.8}
body.m21r-app :is(.m21r-dests,.m21r-feat,.m21r-how2,.m21r-prom)>li:nth-child(3){animation-delay:-1.4s;--k:.6}
body.m21r-app :is(.m21r-dests,.m21r-feat,.m21r-how2,.m21r-prom)>li:nth-child(4){animation-delay:-2.1s;--k:-.9}
body.m21r-app :is(.m21r-dests,.m21r-feat,.m21r-how2,.m21r-prom)>li:nth-child(5){animation-delay:-2.8s;--k:.8}
body.m21r-app :is(.m21r-dests,.m21r-feat,.m21r-how2,.m21r-prom)>li:nth-child(6){animation-delay:-3.5s;--k:-.6}
body.m21r-app :is(.m21r-dests,.m21r-feat,.m21r-how2,.m21r-prom)>li:nth-child(7){animation-delay:-4.2s;--k:.9}
body.m21r-app :is(.m21r-dests,.m21r-feat,.m21r-how2,.m21r-prom)>li:nth-child(n+8){animation-delay:-4.9s;--k:-.7}

/* Überschrift schimmert langsam zwischen Sand und Meer */
@keyframes m21rTextSea{to{background-position:100% 0}}
body.m21r-app .m21r-hero .m21r-h1{background-size:220% 100%;animation:m21rTextSea 9s ease-in-out infinite alternate}
/* kleine Welle unter den Überschriften läuft */
@keyframes m21rSquig{to{background-position-x:18px}}
body.m21r-app .m21r-sec__head .m21r-eyebrow::after{background-repeat:repeat-x;background-size:18px 8px;width:72px;animation:m21rSquig 1.6s linear infinite}

/* Lichtreflex läuft als Welle über die Glas-Karten */
body.m21r-app .m21r-how2>li,body.m21r-app .m21r-prom>li{position:relative;overflow:hidden}
body.m21r-app .m21r-how2>li::after,body.m21r-app .m21r-prom>li::after{content:"";position:absolute;top:-30%;bottom:-30%;left:-50%;width:40%;pointer-events:none;background:linear-gradient(100deg,transparent 0%,rgba(255,244,220,.16) 45%,rgba(160,230,240,.12) 58%,transparent 100%);transform:translateX(-140%) skewX(-18deg);animation:m21rSheen 10s ease-in-out infinite}
body.m21r-app :is(.m21r-how2,.m21r-prom)>li:nth-child(2)::after{animation-delay:.35s}
body.m21r-app :is(.m21r-how2,.m21r-prom)>li:nth-child(3)::after{animation-delay:.7s}
body.m21r-app :is(.m21r-how2,.m21r-prom)>li:nth-child(4)::after{animation-delay:1.05s}
body.m21r-app :is(.m21r-how2,.m21r-prom)>li:nth-child(5)::after{animation-delay:1.4s}
body.m21r-app :is(.m21r-how2,.m21r-prom)>li:nth-child(6)::after{animation-delay:1.75s}
@keyframes m21rSheen{0%,70%{transform:translateX(-140%) skewX(-18deg)}86%,100%{transform:translateX(420%) skewX(-18deg)}}

/* Wasser-Ripple beim Antippen */
.m21r-ripple{position:absolute;pointer-events:none;border-radius:50%;width:16px;height:16px;margin:-8px 0 0 -8px;border:2px solid rgba(168,226,234,.75);box-shadow:0 0 0 6px rgba(168,226,234,.18),inset 0 0 12px rgba(255,244,220,.35);animation:m21rRip .75s cubic-bezier(.2,.7,.3,1) forwards;z-index:3}
.m21r-ripple+.m21r-ripple{animation-delay:.12s;border-color:rgba(235,211,163,.6)}
@keyframes m21rRip{from{transform:scale(.4);opacity:1}to{transform:scale(14);opacity:0}}

@media (prefers-reduced-motion:reduce){
 body.m21r-app .m21r-dest__img,body.m21r-app .m21r-fcard img,body.m21r-app .m21r-gcard img,body.m21r-app .m21r-aic__img img,body.m21r-app :is(.m21r-dests,.m21r-feat,.m21r-how2,.m21r-prom)>li,body.m21r-app .m21r-hero .m21r-h1,body.m21r-app .m21r-sec__head .m21r-eyebrow::after,body.m21r-app :is(.m21r-how2,.m21r-prom)>li::after,.m21r-ripple{animation:none!important;rotate:none!important}
}

/* ===== Urlaubs-Feinschliff 2: KI-Einstieg, Reiseart, Logo, Szene ===== */
/* KI-Einstieg statt Suchzeile */
.m21r-aicta{display:flex;align-items:center;gap:12px;width:100%;margin:16px 0 4px;padding:10px 18px 10px 10px;border:0;border-radius:999px;font:inherit;font-size:15.5px;font-weight:600;text-align:left;color:#FFF4DC;cursor:pointer;
 background:linear-gradient(120deg,rgba(255,244,220,.20),rgba(98,198,214,.16) 60%,rgba(235,211,163,.14)),rgba(14,52,64,.30);-webkit-backdrop-filter:blur(22px) saturate(170%);backdrop-filter:blur(22px) saturate(170%);
 box-shadow:inset 0 1px 0 rgba(255,236,200,.5),inset 0 0 0 1px rgba(255,255,255,.16),0 18px 36px -20px rgba(0,20,30,.7);position:relative;overflow:hidden}
.m21r-aicta .m21r-orb--xs{width:38px;height:38px;flex:none}
.m21r-aicta::after{content:"";position:absolute;inset:-30% auto -30% -40%;width:35%;background:linear-gradient(100deg,transparent,rgba(255,244,220,.28),transparent);transform:translateX(-120%) skewX(-18deg);animation:m21rSheen 7s ease-in-out infinite}
body.m21r-app .m21r-hero{padding-bottom:6px}

/* Logo: Sand → Meer */
body.m21r-app .m21r-logo__m{filter:drop-shadow(0 2px 8px rgba(98,198,214,.25))}

/* Reiseart-Knopf oben: Sand statt Salbei */
body.m21r-app .m21r-modebtn{color:#2B2312;background:linear-gradient(135deg,#F7E8C6 0%,#EBD3A3 55%,#DDBB80 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 8px 20px -10px rgba(235,190,120,.6)}
/* Reiseart-Karten beim Start: Meer, Sonne, Strand */
body.m21r-app .m21r-pcard{color:#FFF4DC;background:linear-gradient(160deg,rgba(255,255,255,.18),rgba(255,255,255,.04) 45%),linear-gradient(170deg,#2E8FB2 0%,#16506A 100%)}
body.m21r-app .m21r-pcard:nth-child(2){background:linear-gradient(160deg,rgba(255,255,255,.22),rgba(255,255,255,.05) 45%),linear-gradient(170deg,#F4B37E 0%,#D98E5F 45%,#1D6F8C 100%)}
body.m21r-app .m21r-pcard:nth-child(3){background:linear-gradient(160deg,rgba(255,255,255,.2),rgba(255,255,255,.04) 45%),linear-gradient(170deg,#62C6D6 0%,#2E8FB2 50%,#D9B47A 100%)}
body.m21r-app .m21r-pcard[aria-pressed="true"]{box-shadow:inset 0 1px 0 rgba(255,255,255,.6),inset 0 0 0 2px #EBD3A3,0 22px 44px -24px rgba(0,20,30,.7)}

/* Szene: Palmenblatt, Glitzern auf dem Wasser, Möwen */
.m21r-sea__palm{position:absolute;top:-6vh;right:-12vw;width:min(62vw,420px);opacity:.42;transform-origin:92% 6%;animation:m21rPalm 7s ease-in-out infinite alternate;filter:blur(.6px)}
.m21r-sea__palm path{fill:#06212B}
@keyframes m21rPalm{0%{rotate:-4deg}100%{rotate:5deg}}
.m21r-sea__spark{position:absolute;width:6px;height:6px;border-radius:50%;background:radial-gradient(circle,#FFF8E4 0%,rgba(255,240,200,.6) 40%,transparent 70%);opacity:0;animation:m21rSpark 3.6s ease-in-out infinite}
@keyframes m21rSpark{0%,100%{opacity:0;transform:scale(.4)}45%{opacity:1;transform:scale(1.6)}60%{opacity:.2;transform:scale(1)}}
.m21r-sea__bird{position:absolute;top:16vh;left:-12vw;width:34px;opacity:.55;animation:m21rBird 26s linear infinite}
.m21r-sea__bird path{fill:none;stroke:#FFF4DC;stroke-width:2.2;stroke-linecap:round;animation:m21rFlap .9s ease-in-out infinite alternate;transform-origin:50% 50%}
.m21r-sea__bird.b2{top:22vh;width:24px;animation-delay:-9s;animation-duration:31s;opacity:.4}
@keyframes m21rBird{0%{translate:0 0}50%{translate:62vw -5vh}100%{translate:125vw 2vh}}
@keyframes m21rFlap{to{transform:scaleY(.55)}}
/* Hintergrundfoto bewegt sich langsam hin und zurück */
.m21r-bgphoto img{animation:m21rBgBoom 34s ease-in-out infinite alternate}
@keyframes m21rBgBoom{0%{translate:-1.5% 0;scale:1}100%{translate:1.5% -1.5%;scale:1.08}}

/* stärkeres Schweben */
@keyframes m21rBob{0%,100%{translate:0 0}50%{translate:0 -10px}}

/* „Bewegung reduzieren“: nur die ruhigen Umgebungs-Effekte bleiben, langsamer */
@media (prefers-reduced-motion:reduce){
 .m21r-sea__w,.m21r-sea__palm,.m21r-bgphoto img,body.m21r-app .m21r-dest__img,body.m21r-app .m21r-fcard img,body.m21r-app .m21r-gcard img{animation-duration:60s!important;animation-play-state:running!important}
 .m21r-sea__w.w1,.m21r-sea__w.w2,.m21r-sea__w.w3{animation-name:m21rWave!important}
 .m21r-sea__palm{animation:m21rPalm 14s ease-in-out infinite alternate!important}
 body.m21r-app .m21r-dest__mono .m21r-dest__img,body.m21r-app .m21r-fcard img,body.m21r-app .m21r-gcard img{animation:m21rBoom 40s ease-in-out infinite alternate!important}
 .m21r-bgphoto img{animation:m21rBgBoom 60s ease-in-out infinite alternate!important}
}
.m21r-sea__sparks{position:absolute;inset:0;transform:translateY(calc(var(--sy,0) * -8vh))}

/* ===== Schnäppchen des Tages ===== */
.m21r-deal__card{display:grid;grid-template-columns:1fr;border-radius:28px;overflow:hidden;color:#FFF4DC;
 background:linear-gradient(135deg,rgba(255,244,220,.16),rgba(255,255,255,.04) 45%,rgba(98,198,214,.10)),rgba(14,52,64,.34);-webkit-backdrop-filter:blur(24px) saturate(170%);backdrop-filter:blur(24px) saturate(170%);
 box-shadow:inset 0 1px 0 rgba(255,236,200,.5),inset 0 0 0 1px rgba(235,211,163,.35),0 26px 50px -26px rgba(0,20,30,.8)}
.m21r-deal__img{position:relative;aspect-ratio:16/10;overflow:hidden;background:linear-gradient(170deg,#62C6D6,#2E8FB2 55%,#D9B47A)}
.m21r-deal__img img{width:100%;height:100%;object-fit:cover;animation:m21rBoom 20s ease-in-out infinite alternate}
.m21r-deal__img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 55%,rgba(8,30,40,.55))}
.m21r-deal__badge{position:absolute;left:14px;top:14px;z-index:1;padding:7px 12px;border-radius:999px;font-size:13px;font-weight:800;letter-spacing:.02em;color:#3A2410;background:linear-gradient(135deg,#FFE6A8,#F4B37E);box-shadow:0 6px 18px -6px rgba(244,179,126,.8);animation:m21rBadge 2.8s ease-in-out infinite}
@keyframes m21rBadge{50%{transform:scale(1.05)}}
.m21r-deal__b{display:grid;gap:6px;padding:18px 18px 16px}
.m21r-deal__c{margin:0;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#A8E2EA}
.m21r-deal__t{margin:0;font-family:var(--r-serif);font-size:1.7rem;font-weight:500;line-height:1.1}
.m21r-deal__t small{font-family:var(--r-sans);font-size:14px;opacity:.75}
.m21r-deal__m,.m21r-deal__d{margin:0;color:rgba(255,244,220,.8);font-size:14.5px}
.m21r-deal__save{margin:4px 0 0;font-weight:700;color:#FFD59A}
.m21r-deal__p{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin-top:6px}
.m21r-deal__p>div{display:grid;padding:10px 12px;border-radius:16px;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.m21r-deal__p small{font-size:12px;opacity:.8}.m21r-deal__p b{font-size:1.35rem}
.m21r-deal__go{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.m21r-deal__wait{display:flex;align-items:center;gap:10px;padding:18px;border-radius:22px;background:rgba(14,52,64,.3)}
@media (min-width:760px){.m21r-deal__card{grid-template-columns:1.1fr 1fr}.m21r-deal__img{aspect-ratio:auto;min-height:100%}}
@media (prefers-reduced-motion:reduce){.m21r-deal__badge{animation:none}}

/* ===== Urlaubs-Stories ===== */
.m21r-stories{margin:6px calc(var(--r-gut) * -1) 6px;padding:0 var(--r-gut);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.m21r-stories::-webkit-scrollbar{display:none}
.m21r-stories__row{display:flex;gap:14px;margin:0;padding:6px 2px 4px;list-style:none;width:max-content}
.m21r-st{display:grid;justify-items:center;gap:6px;width:74px;padding:0;border:0;background:none;color:#FFF4DC;font:inherit;cursor:pointer}
.m21r-st__ring{position:relative;display:block;width:70px;height:70px;padding:3px;border-radius:50%;background:conic-gradient(from 210deg,#FFE6A8,#F4A27E,#E36F8F,#62C6D6,#A8E2EA,#FFE6A8);animation:m21rRing 6s linear infinite;box-shadow:0 8px 20px -10px rgba(244,162,126,.8)}
.m21r-st__ring::before{content:"";position:absolute;inset:3px;border-radius:50%;background:#0E3B4E}
.m21r-st__ring img{position:relative;display:block;width:100%;height:100%;border-radius:50%;object-fit:cover;border:2.5px solid #0E3B4E;animation:m21rRingIn 6s linear infinite}
@keyframes m21rRing{to{rotate:360deg}}@keyframes m21rRingIn{to{rotate:-360deg}}
.m21r-st.is-seen .m21r-st__ring{background:rgba(255,244,220,.28);animation:none;box-shadow:none}.m21r-st.is-seen .m21r-st__ring img{animation:none}
.m21r-st__t{max-width:74px;overflow:hidden;font-size:12px;font-weight:600;white-space:nowrap;text-overflow:ellipsis;opacity:.9}
.m21r-st:active .m21r-st__ring{transform:scale(.92)}
/* Betrachter */
.m21r-sv{position:fixed;inset:0;z-index:600;display:grid;place-items:center;background:rgba(4,18,24,.92);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);opacity:0;transition:opacity .25s ease;touch-action:none;user-select:none;-webkit-user-select:none}
.m21r-sv.is-open{opacity:1}
.m21r-sv__in{position:relative;width:min(100vw,calc(100dvh * 9 / 16));height:min(100dvh,calc(100vw * 16 / 9));max-height:100dvh;overflow:hidden;background:#0E3B4E;transform:scale(.94);transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.m21r-sv.is-open .m21r-sv__in{transform:none}
@media (min-width:600px){.m21r-sv__in{height:min(92dvh,860px);width:calc(min(92dvh,860px) * 9 / 16);border-radius:22px}}
.m21r-sv__v{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#0E3B4E}
.m21r-sv__in::before,.m21r-sv__in::after{content:"";position:absolute;left:0;right:0;z-index:1;pointer-events:none}
.m21r-sv__in::before{top:0;height:22%;background:linear-gradient(180deg,rgba(0,0,0,.45),transparent)}
.m21r-sv__in::after{bottom:0;height:40%;background:linear-gradient(0deg,rgba(4,24,32,.75),transparent)}
.m21r-sv__bars{position:absolute;z-index:3;top:calc(10px + env(safe-area-inset-top));left:10px;right:10px;display:flex;gap:4px}
.m21r-sv__bars span{flex:1;height:2.5px;border-radius:2px;background:rgba(255,255,255,.35);overflow:hidden}
.m21r-sv__bars i{display:block;height:100%;width:0;background:#fff}
.m21r-sv__top{position:absolute;z-index:3;top:calc(22px + env(safe-area-inset-top));left:12px;right:8px;display:flex;align-items:center;gap:8px;color:#fff}
.m21r-sv__av{width:32px;height:32px;border-radius:50%;background:#2E8FB2 center/cover;box-shadow:0 0 0 2px #FFE6A8}
.m21r-sv__top b{font-size:14px}.m21r-sv__top small{opacity:.7;font-size:12px}
.m21r-sv__x{margin-left:auto;display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:50%;background:rgba(0,0,0,.25);color:#fff;cursor:pointer}
.m21r-sv__prev,.m21r-sv__next{position:absolute;z-index:2;top:0;bottom:0;border:0;background:transparent;cursor:pointer}
.m21r-sv__prev{left:0;width:32%}.m21r-sv__next{right:0;width:68%}
.m21r-sv__cap{position:absolute;z-index:3;left:18px;right:18px;bottom:calc(22px + env(safe-area-inset-bottom));color:#FFF4DC;transition:opacity .2s}
.m21r-sv.is-paused .m21r-sv__cap,.m21r-sv.is-paused .m21r-sv__bars,.m21r-sv.is-paused .m21r-sv__top{opacity:0}
.m21r-sv__t{margin:0;font-family:var(--r-serif);font-size:2.4rem;font-weight:500;line-height:1;text-shadow:0 2px 18px rgba(0,0,0,.35)}
.m21r-sv__p{margin:6px 0 14px;font-size:15.5px;opacity:.92}
.m21r-sv__cta{display:inline-flex;align-items:center;gap:10px;padding:8px 16px 8px 8px;border:0;border-radius:999px;font:inherit;font-weight:700;color:#2B2312;background:linear-gradient(135deg,#FFF0CC,#EBD3A3);box-shadow:0 10px 26px -10px rgba(0,0,0,.6);cursor:pointer}
.m21r-sv__cta .m21r-orb--xs{width:30px;height:30px}
body.m21r-app .m21r-hero{padding-top:4px}
@media (prefers-reduced-motion:reduce){.m21r-st__ring,.m21r-st__ring img{animation:none}}
.m21r-sv[hidden]{display:none!important}
.m21r-stories__h{margin:2px 0 4px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--sand,#EBD3A3)}
.m21r-sv__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.m21r-sv__img.is-kb{animation:m21rStoryKB 7s ease-out forwards}
@keyframes m21rStoryKB{from{transform:scale(1.02) translate(0,0)}to{transform:scale(1.14) translate(-2%,-2%)}}
.m21r-sv__k{margin:0 0 4px;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#A8E2EA;text-shadow:0 1px 8px rgba(0,0,0,.4)}
.m21r-sv__w{margin:-6px 0 14px;font-size:13.5px;font-weight:600;color:#FFE6A8}
.m21r-sv__w:empty{display:none}

/* ===== Sitzplan ===== */
.m21r-seatlist{margin:8px 0;padding:0;list-style:none;display:grid;gap:6px}
.m21r-seatlist li{display:flex;gap:6px;align-items:center;padding:8px 12px;border-radius:12px;background:rgba(255,255,255,.07)}
.m21r-seatlist li span{margin-left:auto;font-weight:700}
.m21r-seatov{position:fixed;inset:0;z-index:650;display:flex;align-items:flex-end;justify-content:center;background:rgba(4,18,24,.6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.m21r-seatov__in{display:flex;flex-direction:column;width:min(560px,100%);max-height:92dvh;border-radius:26px 26px 0 0;color:#FFF4DC;background:linear-gradient(160deg,rgba(255,255,255,.1),rgba(255,255,255,.03)),#0F3A4A;box-shadow:0 -20px 50px -20px rgba(0,0,0,.6);padding-bottom:env(safe-area-inset-bottom)}
@media (min-width:600px){.m21r-seatov{align-items:center}.m21r-seatov__in{border-radius:26px}}
.m21r-seatov__h{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.1)}
.m21r-seatov__b{overflow:auto;padding:12px 14px 20px}
.m21r-seattabs{display:flex;gap:6px;overflow-x:auto;margin-bottom:8px;scrollbar-width:none}
.m21r-seattabs .m21r-chip{white-space:nowrap}.m21r-chip.is-on{background:#EBD3A3!important;color:#2B2312!important}
.m21r-seatleg{display:flex;align-items:center;gap:6px;font-size:12.5px;opacity:.85;margin:6px 0 10px}
.m21r-seatleg span{display:inline-block;width:14px;height:14px;border-radius:4px;margin-left:8px}
.m21r-seatleg span:first-child{margin-left:0}
.m21r-plane{margin:0 auto;width:max-content;max-width:100%;padding:18px 12px;border-radius:120px 120px 24px 24px;background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
.m21r-prow{display:flex;align-items:center;gap:4px;margin:3px 0}
.m21r-prow.is-exit{border-top:2px dashed rgba(244,162,126,.6);padding-top:4px}
.m21r-prow__n{width:22px;font-size:11px;text-align:right;opacity:.6;margin-right:4px}
.m21r-psec{display:flex;gap:4px}.m21r-aisle{width:16px}
.m21r-seat,.m21r-pgap{width:30px;height:32px}
.m21r-seat{padding:0;border:0;border-radius:8px 8px 5px 5px;font:inherit;font-size:11px;font-weight:700;cursor:pointer;color:#0E2F3A}
.m21r-seat.is-free,.m21r-seatleg .is-free{background:#A8E2EA}
.m21r-seat.is-paid,.m21r-seatleg .is-paid{background:#EBD3A3;color:#3A2C12}
.m21r-seat.is-taken,.m21r-seatleg .is-taken{background:rgba(255,255,255,.14);color:transparent;cursor:not-allowed}
.m21r-seat.is-mine{background:#F4A27E!important;color:#3A1A0E!important;box-shadow:0 0 0 2px #FFF4DC}
.m21r-seatcur{min-height:20px;margin:12px 0 0;font-weight:700;text-align:center}
@media (max-width:380px){.m21r-seat,.m21r-pgap{width:26px;height:28px}.m21r-aisle{width:10px}}
.m21r-card.is-cx{opacity:.72}.m21r-tag--cx{background:rgba(242,168,149,.2)!important;color:#F2A895!important}
.m21r-cxbox{margin-top:10px;display:grid;gap:8px}.m21r-cxbox .m21r-row{display:flex;flex-wrap:wrap;gap:8px}
/* Barrierefreiheit: ausreichend große Ziele, sichtbarer Fokus */
body.m21r-app .m21r-logo{min-height:44px;display:inline-flex;align-items:center}
body.m21r-app .m21r-ft nav a,body.m21r-app .m21r-ft nav button,footer nav a,footer nav button{display:inline-flex;align-items:center;min-height:32px;padding:4px 2px}
body.m21r-app :focus-visible{outline:2.5px solid #FFE6A8;outline-offset:3px}
.m21r-skip{background:#FFE6A8!important;color:#2B2312!important}
.m21r-st:focus-visible .m21r-st__ring{outline:2.5px solid #FFE6A8;outline-offset:3px}
body.m21r-app input[type=checkbox]{width:22px;height:22px;flex:none;accent-color:#2E8FB2}
/* ---------- Hotels (liteAPI): Galerie, Zimmer, Buchung ---------- */
.m21r-gal{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 0 14px;border-radius:24px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.m21r-gal::-webkit-scrollbar{display:none}
.m21r-gal img{flex:0 0 88%;max-width:560px;height:clamp(210px,42vw,340px);object-fit:cover;border-radius:22px;scroll-snap-align:start;background:linear-gradient(160deg,#1B5C70,#0B2E3C)}
.m21r-gal img:first-child{flex-basis:92%}
.m21r-rooms{list-style:none;margin:12px 0 10px;padding:0;display:grid;gap:12px}
.m21r-room{display:grid;grid-template-columns:96px 1fr;gap:12px 14px;padding:12px;border-radius:18px;background:var(--r-card2);box-shadow:0 0 0 1px var(--r-hair2) inset}
.m21r-room>img{width:96px;height:96px;object-fit:cover;border-radius:14px}
.m21r-room:not(:has(>img)){grid-template-columns:1fr}
.m21r-room__b b{display:block;font-size:15.5px;line-height:1.3}
.m21r-room__m{display:flex;flex-wrap:wrap;gap:4px 10px;margin:4px 0 0;padding:0;list-style:none;font-size:13px;color:var(--r-muted)}
.m21r-room__p{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:8px;border-top:1px solid var(--r-hair2)}
.m21r-room__p .m21r-price{font-size:22px}
.m21r-room.is-gone{opacity:.45}
.m21r-hchips{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 0;padding:0;list-style:none}
.m21r-hchips li{padding:6px 12px;border-radius:999px;font-size:13px;background:rgba(168,226,234,.12);box-shadow:0 0 0 1px rgba(168,226,234,.22) inset}
.m21r-hdesc summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between}
.m21r-hdesc summary::-webkit-details-marker{display:none}
.m21r-hdesc summary::after{content:'＋';font-size:20px;opacity:.7}
.m21r-hdesc[open] summary::after{content:'－'}
.m21r-hdesc summary h2{margin:0}
.m21r-hdesc p{margin:10px 0 0;font-size:14.5px;line-height:1.6;color:var(--r-muted)}
.m21r-hsum{display:grid;gap:14px}
.m21r-hsum>img{width:100%;height:170px;object-fit:cover;border-radius:18px}
.m21r-bkok__img{display:block;width:100%;max-width:520px;height:190px;object-fit:cover;border-radius:18px;margin:14px auto}
@media (min-width:760px){.m21r-hsum{grid-template-columns:200px 1fr}.m21r-hsum>img{height:100%;min-height:150px}.m21r-room{grid-template-columns:120px 1fr auto}.m21r-room>img{width:120px;height:100px}.m21r-room__p{grid-column:auto;flex-direction:column;align-items:flex-end;justify-content:center;border:0;padding:0}}
.m21r-od__main,.m21r-od__side{min-width:0}
.m21r-gal{max-width:100%}
.m21r-room{grid-template-columns:96px minmax(0,1fr)}
.m21r-room:not(:has(>img)){grid-template-columns:minmax(0,1fr)}
@media (min-width:760px){.m21r-room{grid-template-columns:120px minmax(0,1fr) auto}}
/* ---------- Hotelkarte in den Suchergebnissen: großes Foto, Bewertung, klare Preisangabe ---------- */
.m21r-card.m21r-hc{display:block;padding:0;overflow:hidden}
.m21r-hc__img{position:relative;display:block;height:clamp(190px,52vw,250px);background:linear-gradient(160deg,#1B5C70,#0B2E3C)}
.m21r-hc__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.m21r-hc:hover .m21r-hc__img img{transform:scale(1.03)}
.m21r-hc__img::after{content:'';position:absolute;inset:auto 0 0;height:45%;background:linear-gradient(to top,rgba(8,30,40,.55),transparent);pointer-events:none}
.m21r-hc__rate{position:absolute;left:14px;bottom:14px;z-index:1;display:flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border-radius:999px;background:rgba(10,38,50,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#FFF4DC;font-size:13.5px;font-weight:600}
.m21r-hc__rate b{display:inline-grid;place-items:center;min-width:34px;height:28px;padding:0 6px;border-radius:999px;background:#EBD3A3;color:#1F261B;font-size:14px;font-weight:800}
.m21r-hc__test{position:absolute;right:14px;top:14px;z-index:1;padding:4px 10px;border-radius:999px;background:rgba(10,38,50,.72);color:#E8CB92;font-size:12px;font-weight:700}
.m21r-hc__b{padding:16px 18px 18px}
.m21r-hc .m21r-card__t{margin:0}
.m21r-hc__loc{margin:6px 0 0;font-size:14px;color:var(--r-muted)}
.m21r-hc__loc .m21r-stars{color:#EBD3A3;letter-spacing:1px}
.m21r-hc__facts{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 0;padding:0;list-style:none}
.m21r-hc__facts li{padding:5px 11px;border-radius:999px;font-size:13px;background:rgba(168,226,234,.10);box-shadow:0 0 0 1px rgba(168,226,234,.20) inset}
.m21r-hc .m21r-canc{margin-top:10px}
.m21r-hc__foot{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px;margin-top:14px;padding-top:14px;border-top:1px solid var(--r-hair2)}
.m21r-hc__foot .m21r-price{font-size:28px;line-height:1.1}
.m21r-hc__act{display:flex;flex-direction:column;gap:8px;flex:1 1 200px}
.m21r-hc__act .m21r-btn{width:100%}
@media (min-width:901px){.m21r-card.m21r-hc{display:grid;grid-template-columns:280px minmax(0,1fr)}.m21r-hc__img{height:auto;min-height:230px}.m21r-hc__act{flex:0 0 220px}}
.m21r-bkfacts{margin-top:12px}
.m21r-bkfacts{grid-template-columns:minmax(92px,auto) minmax(0,1fr)!important;column-gap:16px;font-size:15px}
/* Installierte App (iPhone): Kopf unter Uhrzeit/Dynamic Island schieben und Statusleiste abdecken */
@media (display-mode:standalone){
 body.m21r-app .m21r-hd{padding-top:calc(8px + env(safe-area-inset-top))}
 body.m21r-app::before{content:'';position:fixed;left:0;right:0;top:0;height:env(safe-area-inset-top);z-index:59;background:linear-gradient(to bottom,rgba(9,36,48,.92),rgba(9,36,48,.55));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:none}
}
/* Karten überall etwas durchsichtiger – Meer schimmert durch, Glas-Unschärfe bleibt */
body.m21r-app .m21r-search,body.m21r-app .m21r-card,body.m21r-app .m21r-dest,body.m21r-app .m21r-how2 li,body.m21r-app .m21r-how li,body.m21r-app .m21r-cform,body.m21r-app .m21r-sumbar,body.m21r-app .m21r-rbar,body.m21r-app .m21r-box,body.m21r-app .m21r-acct,body.m21r-app .m21r-fcard,body.m21r-app .m21r-prom li,body.m21r-app .m21r-faq__q,body.m21r-app .m21r-install,body.m21r-app .m21r-insp__c,body.m21r-app .m21r-explain,body.m21r-app .m21r-compare,body.m21r-app .m21r-alt{
 background:linear-gradient(135deg,rgba(255,255,255,.09) 0%,rgba(255,255,255,.02) 45%,rgba(98,198,214,.02) 100%),rgba(10,40,52,.06)!important;
 -webkit-backdrop-filter:blur(7px) saturate(1.5);backdrop-filter:blur(7px) saturate(1.5)}
body.m21r-app .m21r-hd__in,body.m21r-app .m21r-dock{background:linear-gradient(135deg,rgba(255,255,255,.14) 0%,rgba(255,255,255,.05) 45%,rgba(98,198,214,.05) 100%),rgba(10,40,52,.12)!important;-webkit-backdrop-filter:blur(10px) saturate(1.5);backdrop-filter:blur(10px) saturate(1.5)}
body.m21r-app .m21r-in,body.m21r-app .m21r-trav__btn,body.m21r-app .m21r-date{background-color:rgba(255,255,255,.05)}
/* Lesbarkeit auf durchsichtigem Glas */
body.m21r-app .m21r-card,body.m21r-app .m21r-box,body.m21r-app .m21r-search,body.m21r-app .m21r-dest,body.m21r-app .m21r-how2 li,body.m21r-app .m21r-faq__q,body.m21r-app .m21r-acct,body.m21r-app .m21r-install,body.m21r-app .m21r-compare,body.m21r-app .m21r-alt,body.m21r-app .m21r-rbar,body.m21r-app .m21r-explain{text-shadow:0 1px 2px rgba(0,25,35,.55)}
/* ===== Einheitliches Liquid Glass: überall fast durchsichtig, Unschärfe bleibt ===== */
body.m21r-app :is(.lg:not(.m21r-pcard),.m21r-swfav,.m21r-swstats,.m21r-comm,.m21r-nl,.m21r-deal__wait,.m21r-hd__in,.m21r-dock,.m21r-search,.m21r-card,.m21r-box,.m21r-dest,.m21r-how li,.m21r-how2 li,.m21r-prom li,.m21r-faq__q,.m21r-fcard,.m21r-insp__c,.m21r-cform,.m21r-sumbar,.m21r-rbar,.m21r-acct,.m21r-install,.m21r-demo,.m21r-aicta,.m21r-deal__card,.m21r-imprint,.m21r-compare,.m21r-alt,.m21r-explain,.m21r-filters,.m21r-rcard,.m21r-room,.m21r-gcard__b){
 background:linear-gradient(135deg,rgba(255,255,255,.085) 0%,rgba(255,255,255,.015) 50%,rgba(98,198,214,.02) 100%),rgba(8,36,48,.05)!important;
 -webkit-backdrop-filter:blur(6px) saturate(1.5)!important;backdrop-filter:blur(6px) saturate(1.5)!important}
body.m21r-app :is(.m21r-hd__in,.m21r-dock){background:linear-gradient(135deg,rgba(255,255,255,.11) 0%,rgba(255,255,255,.03) 50%,rgba(98,198,214,.03) 100%),rgba(8,36,48,.1)!important;-webkit-backdrop-filter:blur(9px) saturate(1.5)!important;backdrop-filter:blur(9px) saturate(1.5)!important}
body.m21r-app :is(.m21r-room,.m21r-box .m21r-box){-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
body.m21r-app .m21r-demo{text-shadow:0 1px 2px rgba(0,25,35,.55)}
body.m21r-app :is(.m21r-rcard,.m21r-aicta,.m21r-deal__card,.m21r-prom li,.m21r-how li,.m21r-fcard,.m21r-imprint,.m21r-filters){text-shadow:0 1px 2px rgba(0,25,35,.55)}

/* Innere Zeilen in Glas-Karten (Rangliste, Tabs, Beiträge) ganz zart */
body.m21r-app :is(.m21r-swrank li,.m21r-swtabs,.m21r-cmsg,.m21r-cmsg__b,.m21r-swfav__l li){background:rgba(255,255,255,.035)!important}
body.m21r-app :is(.m21r-swstats,.m21r-comm,.m21r-nl,.m21r-swfav){text-shadow:0 1px 2px rgba(0,25,35,.55)}
/* Meine Reisen: Hotelfoto oben auf der Karte */
.m21r-card.m21r-trip--img{padding-top:0;overflow:hidden}
.m21r-trip__img{position:relative;height:clamp(170px,46vw,240px);margin:0 -18px 16px;background:linear-gradient(160deg,#1B5C70,#0B2E3C)}
.m21r-trip__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.m21r-card.is-cx .m21r-trip__img img{filter:grayscale(.7) brightness(.8)}
@media (min-width:901px){.m21r-card.m21r-trip--img{grid-template-columns:minmax(0,1fr) 220px}.m21r-trip__img{grid-column:1/-1}}
/* Wie eine echte App: kein Zoomen per Doppeltippen, kein Auto-Zoom in Eingabefeldern */
html,body.m21r-app{touch-action:pan-x pan-y;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body.m21r-app :is(input,select,textarea,.m21r-in){font-size:16px!important}
.m21r-ver{opacity:.7;letter-spacing:.04em}
/* Bildnachweise eingeklappt */
.m21r-credits{margin-top:10px}
.m21r-credits summary{display:inline-flex;align-items:center;gap:6px;min-height:32px;cursor:pointer;list-style:none;opacity:.75;font-size:13px}
.m21r-credits summary::-webkit-details-marker{display:none}
.m21r-credits summary::after{content:'›';display:inline-block;transition:transform .2s}
.m21r-credits[open] summary::after{transform:rotate(90deg)}
.m21r-credits p{margin:8px 0 0;font-size:12.5px;opacity:.7}
/* Preisalarm */
.m21r-alarm{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 12px;align-items:center;margin:0 0 14px;padding:14px 16px;border-radius:22px;background:linear-gradient(135deg,rgba(235,211,163,.16),rgba(98,198,214,.06));box-shadow:inset 0 0 0 1px rgba(235,211,163,.35);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);text-shadow:0 1px 2px rgba(0,25,35,.5)}
.m21r-alarm__i{font-size:26px;line-height:1}
.m21r-alarm b{display:block;font-size:16px}
.m21r-alarm p{margin:2px 0 0;font-size:13.5px;opacity:.9}
.m21r-alarm .m21r-btn{grid-column:1/-1;width:100%}
.m21r-alarm.is-on{box-shadow:inset 0 0 0 1.5px rgba(169,209,142,.6)}
@media (min-width:760px){.m21r-alarm{grid-template-columns:auto minmax(0,1fr) auto}.m21r-alarm .m21r-btn{grid-column:auto;width:auto}}
.m21r-alarms{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:10px}
.m21r-alarms li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-radius:18px;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
.m21r-alarms small{display:block;font-size:13px;opacity:.8;margin-top:2px}
/* Zahlung (Nuitée Pay) */
.m21r-paybox h2{margin:0 0 6px}
.m21r-pay{margin:12px 0;min-height:120px;padding:12px;border-radius:18px;background:rgba(255,255,255,.92);color:#1d2a30;text-shadow:none}
.m21r-pay .m21r-note{color:#3a4a50}
.m21r-pay .m21r-bkst{color:#9a2b1a}
/* ===================== Hotelseite (Übersicht → Zimmer → Buchungs-Karte) ===================== */
html.m21r-lock,html.m21r-lock body{overflow:hidden}
.m21r-hv{display:flex;flex-direction:column;gap:14px;max-width:860px;margin:0 auto;padding-bottom:84px}
.m21r-hv h2{margin:0 0 10px;font-size:19px}
/* Foto-Mosaik */
.m21r-mosaic{position:relative;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,minmax(0,1fr));gap:4px;height:clamp(240px,62vw,420px);border-radius:24px;overflow:hidden}
.m21r-mosaic.is-one{grid-template-columns:1fr;grid-template-rows:1fr}
.m21r-mosaic__i{position:relative;padding:0;border:0;background:linear-gradient(160deg,#1B5C70,#0B2E3C);cursor:zoom-in;overflow:hidden}
.m21r-mosaic__i:first-child{grid-column:1/-1;grid-row:1}
.m21r-mosaic.is-one .m21r-mosaic__i:first-child{grid-row:1/-1}
.m21r-mosaic__i img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.m21r-mosaic__i:hover img{transform:scale(1.04)}
.m21r-mosaic__i span{position:absolute;inset:0;display:grid;place-items:center;background:rgba(6,28,38,.5);color:#FFF4DC;font-size:20px;font-weight:700}
.m21r-mosaic .m21r-hc__test{z-index:2}
@media (min-width:760px){.m21r-mosaic{grid-template-columns:2fr 1fr 1fr;grid-template-rows:1fr 1fr}.m21r-mosaic__i:first-child{grid-column:1;grid-row:1/-1}}
/* Kopf */
.m21r-hv__top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.m21r-hv__head h1{margin:0}
.m21r-hv__stars{margin:4px 0 0;color:#EBD3A3;letter-spacing:2px;font-size:17px}
.m21r-hv__loc{display:flex;align-items:center;gap:6px;margin:6px 0 0;font-size:14.5px;opacity:.88}
.m21r-hv__act{display:flex;gap:6px;align-items:center}
.m21r-hv__act .m21r-heart span{display:none}
.m21r-hv__share,.m21r-hv__act .m21r-heart{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);color:inherit;cursor:pointer}
.m21r-hv__rate{display:flex;align-items:center;gap:12px;margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.12);color:inherit;text-decoration:none}
.m21r-hv__rate>b,.m21r-rv__sum>b{display:grid;place-items:center;min-width:46px;height:40px;padding:0 8px;border-radius:12px;background:#EBD3A3;color:#1F261B;font-size:17px}
.m21r-hv__rate i{margin-left:auto;font-style:normal;font-size:24px;opacity:.7}
/* Highlights */
.m21r-hl{display:flex;gap:10px;margin:0;padding:2px 2px 6px;list-style:none;overflow-x:auto;scrollbar-width:none}
.m21r-hl::-webkit-scrollbar{display:none}
.m21r-hl li{flex:0 0 88px;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;font-size:12.5px;line-height:1.25}
.m21r-hl li svg{width:52px;height:52px;padding:13px;border-radius:50%;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(235,211,163,.35);color:#EBD3A3}
.m21r-hl li span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
/* Bestes Angebot */
.m21r-best h2{color:#EBD3A3}
.m21r-best__m{margin:2px 0;font-size:14.5px}
.m21r-best__p{display:flex;justify-content:flex-end;margin-top:10px;text-align:right}
.m21r-best .m21r-price{font-size:30px}
/* Beschreibung kürzen */
.m21r-clamp{max-height:9.5em;overflow:hidden;-webkit-mask-image:linear-gradient(#000 60%,transparent);mask-image:linear-gradient(#000 60%,transparent)}
.m21r-clamp.is-open{max-height:none;-webkit-mask-image:none;mask-image:none}
.m21r-hv .m21r-box p{line-height:1.6}
/* Ausstattung */
.m21r-fac{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;margin:0 0 8px;padding:0;list-style:none}
.m21r-fac li{display:flex;align-items:center;gap:8px;font-size:14px}
.m21r-fi{flex:none;width:22px;height:22px;color:#A8E2EA}
@media (min-width:760px){.m21r-fac{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* Bewertungen */
.m21r-rv__sum{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.m21r-rv__sum span{display:block;font-size:13.5px;opacity:.8}
.m21r-bars{display:grid;gap:10px;margin:0 0 16px;padding:0;list-style:none}
.m21r-bars li{display:grid;grid-template-columns:minmax(90px,1fr) 2fr 34px;align-items:center;gap:10px;font-size:14px}
.m21r-bars i{height:8px;border-radius:99px;background:rgba(255,255,255,.12);overflow:hidden}
.m21r-bars i b{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#62C6D6,#EBD3A3)}
.m21r-bars em{font-style:normal;font-weight:700;text-align:right}
.m21r-pc{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.m21r-pc span{padding:5px 11px;border-radius:999px;font-size:13px}
.m21r-pc .is-p{background:rgba(169,209,142,.16);color:#CDEBB8}
.m21r-pc .is-c{background:rgba(242,168,149,.14);color:#F6C3B5}
.m21r-revs{display:grid;gap:12px;margin:14px 0 0;padding:0;list-style:none}
.m21r-revs li{padding:14px;border-radius:18px;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
.m21r-revs__h{display:flex;align-items:center;gap:10px}
.m21r-revs__h small{display:block;font-size:12.5px;opacity:.75}
.m21r-revs__h em{margin-left:auto;padding:4px 9px;border-radius:9px;background:#EBD3A3;color:#1F261B;font-style:normal;font-weight:800}
.m21r-revs__av{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:rgba(168,226,234,.18);font-weight:700}
.m21r-revs__t{margin:10px 0 4px;font-weight:700}
.m21r-revs__p,.m21r-revs__c{display:flex;gap:8px;margin:6px 0 0;font-size:14px}
.m21r-revs__p span{color:#A9D18E}.m21r-revs__c span{color:#F2A895}
/* schwebender Knopf */
.m21r-fab{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom) + 104px);z-index:65;transform:translateX(-50%);display:flex;align-items:center;gap:10px;padding:11px 20px;border:0;border-radius:999px;background:linear-gradient(135deg,#F3E2BC,#EBD3A3);color:#1F261B;font:inherit;font-weight:700;font-size:15px;box-shadow:0 12px 30px -10px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.6);cursor:pointer;white-space:nowrap;animation:m21rFab .5s cubic-bezier(.2,.8,.2,1) both}
.m21r-fab b{font-weight:600;opacity:.75;font-size:13.5px}
.m21r-fab[disabled]{opacity:.5}
@keyframes m21rFab{from{opacity:0;transform:translate(-50%,20px)}}
/* Zimmerliste */
.m21r-rmhead h1{margin:0}
.m21r-rm{padding:0;overflow:hidden}
.m21r-rm__img{height:clamp(150px,40vw,220px)}
.m21r-rm__img img{width:100%;height:100%;object-fit:cover;display:block}
.m21r-rm h2{margin:14px 18px 6px}
.m21r-rm__f{display:flex;flex-wrap:wrap;gap:6px;margin:0 18px 10px;padding:0;list-style:none}
.m21r-rm__f li{padding:4px 10px;border-radius:999px;font-size:12.5px;background:rgba(168,226,234,.10);box-shadow:inset 0 0 0 1px rgba(168,226,234,.2)}
.m21r-rm__o{margin:0;padding:0;list-style:none}
.m21r-rm__o li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;border-top:1px solid rgba(255,255,255,.1)}
.m21r-rm__o li.is-gone{opacity:.45}
.m21r-rm__o .m21r-canc{margin:2px 0 0}
.m21r-rm__p{display:flex;flex-direction:column;align-items:flex-end;gap:4px;text-align:right}
.m21r-rm__p .m21r-price{font-size:22px}
.m21r-rm__p small{font-size:12px;opacity:.75}
/* Buchungs-Karte (Sheet) */
.m21r-sheet{position:fixed;inset:0;z-index:120}
.m21r-sheet__bg{position:absolute;inset:0;background:rgba(3,18,24,.55);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;transition:opacity .25s}
.m21r-sheet.is-in .m21r-sheet__bg{opacity:1}
.m21r-sheet__p{position:absolute;left:0;right:0;bottom:0;max-height:92vh;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;margin:0 auto;max-width:640px;padding:6px 18px calc(24px + env(safe-area-inset-bottom));border-radius:28px 28px 0 0;background:linear-gradient(180deg,rgba(22,72,88,.97),rgba(10,40,52,.98));box-shadow:0 -20px 50px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,236,200,.35);color:#FFF4DC;transform:translateY(100%);transition:transform .32s cubic-bezier(.2,.8,.2,1)}
.m21r-sheet.is-in .m21r-sheet__p{transform:none}
.m21r-sheet__grab{width:44px;height:5px;margin:4px auto 8px;border-radius:9px;background:rgba(255,255,255,.3)}
.m21r-sheet__hd{position:sticky;top:-6px;z-index:2;display:flex;align-items:center;justify-content:space-between;margin:0 -18px 6px;padding:8px 18px;background:rgba(18,62,76,.96)}
.m21r-sheet__hd h2{margin:0;font-size:20px}
.m21r-sheet__x{width:40px;height:40px;border:0;border-radius:50%;background:rgba(255,255,255,.1);color:inherit;font-size:16px;cursor:pointer}
.m21r-sec2{padding:14px 0;border-top:1px solid rgba(255,255,255,.1)}
.m21r-sec2 h3{margin:0 0 10px;font-size:16px}
.m21r-sumc{display:flex;gap:12px;align-items:center;border-top:0}
.m21r-sumc img{width:84px;height:84px;object-fit:cover;border-radius:16px;flex:none}
.m21r-sumc span{display:block;font-size:13.5px;opacity:.85}
.m21r-pm{display:grid;gap:8px}
.m21r-pm__o{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);cursor:pointer}
.m21r-pm__o:has(input:checked){box-shadow:inset 0 0 0 2px #EBD3A3;background:rgba(235,211,163,.08)}
.m21r-pm__o.is-off{opacity:.5;cursor:not-allowed}
.m21r-pm__o input{accent-color:#EBD3A3;width:20px;height:20px}
.m21r-pm__o small{display:block;font-size:12.5px;opacity:.8}
.m21r-pm__ic{flex:none;width:40px;height:28px;border-radius:7px;background:#fff center/70% no-repeat}
.m21r-pm__ic--card{background-color:#1A1F71;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 28'%3E%3Crect x='5' y='8' width='30' height='4' fill='%23fff' opacity='.85'/%3E%3Crect x='5' y='17' width='12' height='3' rx='1' fill='%23F7B600'/%3E%3C/svg%3E")}
.m21r-pm__ic--debit{background-color:#0E6E5C;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 28'%3E%3Ccircle cx='16' cy='14' r='7' fill='%23EB001B'/%3E%3Ccircle cx='24' cy='14' r='7' fill='%23F79E1B' opacity='.9'/%3E%3C/svg%3E")}
.m21r-pm__ic--paypal{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 28'%3E%3Ctext x='20' y='18' font-family='Arial' font-weight='700' font-size='10' text-anchor='middle' fill='%23003087'%3EPay%3Ctspan fill='%23009CDE'%3EPal%3C/tspan%3E%3C/text%3E%3C/svg%3E");background-size:100%}
.m21r-pm__ic--klarna{background-color:#FFB3C7;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 28'%3E%3Ctext x='20' y='18' font-family='Arial' font-weight='700' font-size='9.5' text-anchor='middle' fill='%23000'%3EKlarna.%3C/text%3E%3C/svg%3E");background-size:100%}
.m21r-payfoot__p{display:grid;grid-template-columns:1fr auto;align-items:end;margin:12px 0 6px}
.m21r-payfoot__p b{font-family:var(--r-serif);font-size:30px;line-height:1;color:#FFF4DC}
.m21r-payfoot__p small{grid-column:1/-1;font-size:12.5px;opacity:.8}
.m21r-pay{margin:10px 0 0;padding:0;background:none;min-height:80px;color:inherit}
.m21r-testcard{padding:8px 12px;border-radius:12px;background:rgba(232,203,146,.12);color:#E8CB92}
.m21r-btn--pay,.m21r-sheet .lp-submit-button{display:block;width:100%;min-height:56px;margin:14px 0 4px;padding:0 20px;border:0;border-radius:999px;background:linear-gradient(135deg,#F3E2BC,#EBD3A3)!important;color:#1F261B!important;font:inherit!important;font-size:17px!important;font-weight:800!important;box-shadow:0 12px 26px -12px rgba(235,211,163,.8);cursor:pointer;text-transform:none!important;letter-spacing:0!important}
.m21r-sheet.is-locked .lp-submit-button{opacity:.45;filter:grayscale(.3)}
.m21r-sheet .m21r-bkst{text-shadow:none}
.m21r-sheet .m21r-pay .m21r-bkst{color:#F6B9A8}
.m21r-fab{padding:9px 18px;font-size:14px;gap:8px}
.m21r-fab b{font-size:12.5px}
/* Kartenfeld des Hotelpartners (Stripe in einem iframe) an das App-Design anpassen:
   weißes Formular invertieren und mit dem Meeresblau verschmelzen – Kartenlogos behalten ihre Farbtöne */
.m21r-sheet #m21r-pay{position:relative;isolation:isolate;margin-top:12px;padding:6px 4px;border-radius:20px;background:#0F3846;box-shadow:inset 0 0 0 1px rgba(235,211,163,.28),inset 0 1px 0 rgba(255,236,200,.18);overflow:hidden}
.m21r-sheet #m21r-pay div{background:transparent!important;border-color:transparent!important;box-shadow:none!important}
.m21r-sheet #m21r-pay iframe{filter:invert(1) hue-rotate(180deg) saturate(1.15);mix-blend-mode:screen;color-scheme:normal}
.m21r-sheet #m21r-pay .lp-submit-button{filter:none;mix-blend-mode:normal}
body.m21r-app h1[tabindex="-1"]:focus,body.m21r-app h1[tabindex="-1"]:focus-visible{outline:none}
.m21r-moreload{display:flex;align-items:center;gap:10px;margin:0 0 12px;padding:10px 14px;border-radius:16px;background:rgba(98,198,214,.12);box-shadow:inset 0 0 0 1px rgba(168,226,234,.25);font-size:14px}
.m21r-spin{width:16px;height:16px;border:2px solid rgba(255,244,220,.3);border-top-color:#EBD3A3;border-radius:50%;animation:m21rSpin .8s linear infinite}
@keyframes m21rSpin{to{transform:rotate(360deg)}}
/* Bewertungen: Plus/Minus statt Emoji, Übersetzungshinweis */
.m21r-pm2{flex:none;display:inline-grid;place-items:center;width:22px;height:22px;margin-top:1px;border-radius:50%;font-style:normal;font-weight:800;font-size:14px;line-height:1}
.m21r-pm2.is-p{background:rgba(169,209,142,.2);color:#BDE3A3}
.m21r-pm2.is-c{background:rgba(242,168,149,.18);color:#F6B9A8}
.m21r-revs__p,.m21r-revs__c{align-items:flex-start}
.m21r-revs__tr{margin:10px 0 0;font-size:12.5px;opacity:.8}
.m21r-revs__tr .m21r-link{font-size:12.5px}
/* Lage: Luftbild mit Hotelfoto als Markierung */
.m21r-aerial{position:relative;display:block;height:clamp(190px,52vw,300px);margin:4px 0 12px;border-radius:20px;overflow:hidden;background:linear-gradient(160deg,#1B5C70,#0B2E3C)}
.m21r-aerial>img{width:100%;height:100%;object-fit:cover;display:block}
.m21r-aerial.is-x>img{display:none}
.m21r-aerial__pin{position:absolute;left:50%;top:50%;width:64px;height:64px;transform:translate(-50%,-100%);border-radius:50% 50% 50% 0;rotate:-45deg;background:#EBD3A3;box-shadow:0 10px 24px rgba(0,0,0,.45);padding:4px}
.m21r-aerial__pin img{width:100%;height:100%;border-radius:50%;object-fit:cover;rotate:45deg;display:block}
.m21r-aerial__pin::after{content:'';position:absolute;left:-6px;bottom:-6px;width:12px;height:12px;border-radius:50%;background:rgba(235,211,163,.9);box-shadow:0 0 0 6px rgba(235,211,163,.25)}
.m21r-aerial small{position:absolute;right:8px;bottom:6px;padding:2px 7px;border-radius:8px;background:rgba(0,0,0,.45);color:#fff;font-size:10.5px}
.m21r-revs__p span[data-f],.m21r-revs__c span[data-f]{color:inherit}
.m21r-aerial__pin{rotate:none;border-radius:50%;transform:translate(-50%,calc(-100% - 12px));width:62px;height:62px}
.m21r-aerial__pin img{rotate:none}
.m21r-aerial__pin::after{left:50%;bottom:-13px;width:0;height:0;margin-left:-9px;border-radius:0;background:none;box-shadow:none;border-left:9px solid transparent;border-right:9px solid transparent;border-top:14px solid #EBD3A3}
.m21r-aerial::after{content:'';position:absolute;left:50%;top:50%;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:#EBD3A3;box-shadow:0 0 0 6px rgba(235,211,163,.3)}
.m21r-hc__match{position:absolute;left:14px;top:14px;z-index:1;padding:5px 12px;border-radius:999px;background:#EBD3A3;color:#1F261B;font-size:12.5px;font-weight:800}
.m21r-hc.is-match{box-shadow:inset 0 0 0 2px rgba(235,211,163,.7)!important}
.m21r-moreload.is-gone{background:rgba(232,203,146,.12);box-shadow:inset 0 0 0 1px rgba(232,203,146,.35)}
/* ===== Geteilte Ansicht (iPad quer, Mac, PC): links Ergebnisse, rechts Details ===== */
@media (min-width:1000px),(min-width:680px) and (min-aspect-ratio:9/10){
 body.m21r-split .m21r-main{display:grid;grid-template-columns:minmax(320px,38%) minmax(0,1fr);column-gap:24px;align-items:start;max-width:min(1500px,100%)}
 body.m21r-split .m21r-main>*{grid-column:1/-1}
 body.m21r-split .m21r-view[data-view="results"]{grid-column:1;grid-row:1;position:sticky;top:96px;max-height:calc(100vh - 110px);overflow-y:auto;overscroll-behavior:contain;padding:0 6px 120px 2px;scrollbar-width:thin}
 body.m21r-split .m21r-view[data-view="offer"]{grid-column:2;grid-row:1;min-width:0}
 body.m21r-split .m21r-view[data-view="results"] .m21r-rhead .m21r-h2{font-size:1.6rem}
 body.m21r-split .m21r-offerv>.m21r-rhead [data-back],body.m21r-split .m21r-offerv>.m21r-rhead [data-rooms-back]~*{display:none}
 body.m21r-split .m21r-offerv>.m21r-rhead:has([data-back]:only-child){display:none}
 /* linke Spalte: kompakte Karten, Filter einklappbar */
 body.m21r-split .m21r-rlayout{grid-template-columns:1fr}
 body.m21r-split .m21r-filters{position:static;display:none}
 body.m21r-split .m21r-filters.is-open{display:block}
 body.m21r-split .m21r-fbtn{display:inline-flex}
 body.m21r-split .m21r-card{grid-template-columns:1fr}
 body.m21r-split .m21r-card.has-img{grid-template-columns:1fr}
 body.m21r-split .m21r-card__side{align-items:stretch;text-align:left;padding:14px 0 0;border-left:0;border-top:1px solid var(--r-hair2)}
 body.m21r-split .m21r-card.m21r-hc{display:block}
 body.m21r-split .m21r-hc__img{height:190px;min-height:0}
 body.m21r-split .m21r-hc__act{flex:1 1 200px}
 body.m21r-split .m21r-card{cursor:pointer;transition:box-shadow .2s,transform .2s}
 body.m21r-split .m21r-card.is-active{box-shadow:inset 0 0 0 2.5px #EBD3A3,0 16px 40px -18px rgba(0,0,0,.6)!important;transform:translateX(4px)}
 body.m21r-split .m21r-compare,body.m21r-split .m21r-alt,body.m21r-split .m21r-explain{display:none}
 /* rechte Spalte */
 body.m21r-split .m21r-od{grid-template-columns:minmax(0,1fr) 300px}
 body.m21r-split .m21r-hv{max-width:none}
 body.m21r-split .m21r-fab{left:auto;right:max(32px,calc((100vw - 1500px)/2 + 32px));transform:none;animation:none}
 .m21r-splitph{display:grid;place-items:center;gap:10px;min-height:60vh;padding:40px;border-radius:28px;text-align:center;font-size:17px;opacity:.85;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.14)}
 .m21r-splitph span{font-size:40px;color:#EBD3A3;animation:m21rNudge 1.6s ease-in-out infinite}
 @keyframes m21rNudge{50%{transform:translateX(-8px)}}
}

/* ===== Foldables (aufgeklappt/zugeklappt): randlos, volle Breite, Notch/Scharnier beachten ===== */
html{background:#1A2017;width:100%;min-height:100%;-webkit-text-size-adjust:100%}
body.m21r-app{width:100%;min-height:100vh;min-height:100dvh;overflow-x:hidden}
body.m21r-app .m21r-hd{padding-left:max(var(--r-gut),env(safe-area-inset-left));padding-right:max(var(--r-gut),env(safe-area-inset-right))}
body.m21r-app .m21r-main{padding-left:max(var(--r-gut),env(safe-area-inset-left));padding-right:max(var(--r-gut),env(safe-area-inset-right))}
@media (min-width:680px) and (min-aspect-ratio:9/10){
 body.m21r-split .m21r-main{max-width:100%}
 body.m21r-split .m21r-view[data-view="results"]{top:84px;max-height:calc(100vh - 96px);max-height:calc(100dvh - 96px)}
 body.m21r-split .m21r-od{grid-template-columns:minmax(0,1fr)}
 body.m21r-split .m21r-fab{right:max(20px,env(safe-area-inset-right))}
}
/* Foldables/Duo: Vollflächen-Ebenen auf die volle Gerätebreite ziehen (Randstreifen mitnehmen, falls das System es zulässt) */
html,body.m21r-app{min-width:100%}
.m21r-portal{left:0;top:0;right:0;bottom:0;width:100vw;width:100lvw;height:100vh;height:100lvh;min-height:100dvh}
.m21r-portal__bg{left:calc(-1 * env(safe-area-inset-left,0px));right:calc(-1 * env(safe-area-inset-right,0px));top:calc(-1 * env(safe-area-inset-top,0px));bottom:calc(-1 * env(safe-area-inset-bottom,0px))}
.m21r-sea{left:0;top:0;right:0;bottom:0;width:100vw;width:100lvw;height:100vh;height:100lvh}
/* Stories: bündig im Seitenrahmen, letzte sichtbare Story endet genau am rechten Rand (kein halb abgeschnittener Kreis) */
.m21r-stories{margin:0 -4px;padding:0 4px;scroll-snap-type:x mandatory;scroll-padding:0 4px}
.m21r-stories__row{padding:6px 0 4px}
.m21r-st{scroll-snap-align:start}
/* Startseite: äußerster rechter Rand in Meerblau – der System-Streifen (iPhone Duo quer) übernimmt diese Farbe */
.m21r-portal::after{content:"";position:absolute;top:0;right:0;bottom:0;width:2px;z-index:2;pointer-events:none;background:#123447}
/* Prüfung 1.24: unbekannte Stornobedingungen, Änderungsbestätigung, Galerie-Navigation */
.m21r-canc.is-unknown{color:#E8CB92}
.m21r-canc.is-unknown::before{content:"? ";font-weight:700}
.m21r-chgbox{display:grid;gap:8px;margin:10px 0;padding:12px 14px;border-radius:16px}
.m21r-chgbox p{margin:0}
.m21r-galv__nav{position:absolute;top:50%;z-index:3;width:48px;height:48px;margin-top:-24px;border:0;border-radius:50%;background:rgba(0,0,0,.45);color:#fff;font-size:30px;line-height:1;cursor:pointer}
.m21r-galv__nav.is-prev{left:12px}.m21r-galv__nav.is-next{right:12px}
.m21r-galv__nav:focus-visible,.m21r-galv__x:focus-visible{outline:3px solid #EBD3A3;outline-offset:2px}
@media (hover:none){.m21r-galv__nav{display:none}}
/* Vollbild-Galerie (fehlte bisher – Bilder erschienen sonst ungestylt unten auf der Seite) */
.m21r-galv{position:fixed;inset:0;z-index:600;display:flex;flex-direction:column;background:rgba(5,14,20,.97);color:#fff}
.m21r-galv__bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(10px + env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 10px max(16px,env(safe-area-inset-left));font-weight:700}
.m21r-galv__x{width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:20px;cursor:pointer}
.m21r-galv__s{flex:1;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.m21r-galv__s::-webkit-scrollbar{display:none}
.m21r-galv__s img{flex:0 0 100%;width:100%;height:100%;object-fit:contain;scroll-snap-align:center;padding-bottom:env(safe-area-inset-bottom)}
/* Kleine Handys (≤ 400 px): Kopfzeile darf nie breiter als der Bildschirm werden (z. B. „Sadece otel“ auf Türkisch) */
@media (max-width:400px){
 body.m21r-app .m21r-hd__tools{min-width:0;gap:4px}
 body.m21r-app .m21r-hd__in{gap:6px;min-width:0}
 body.m21r-app .m21r-modebtn{min-width:0;max-width:38vw;padding:0 8px 0 7px;gap:4px}
 body.m21r-app .m21r-modebtn [data-mode-label]{min-width:0;overflow:hidden;text-overflow:ellipsis}
 body.m21r-app .m21r-lang a{padding-left:7px;padding-right:7px}
}
.m21r-showmore{display:block;width:100%;margin:14px 0 4px}
/* Buchungskarte: alle Angaben auf einer Karte (wie Check24, im M21-Stil) */
.m21r-cko{margin:4px 0 12px;border-radius:22px;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(235,211,163,.22);overflow:hidden}
.m21r-cko__hd{display:grid;gap:2px;padding:14px 16px 10px}
.m21r-cko__hd b{font-family:var(--r-serif);font-size:22px;line-height:1.15;color:#FFF4DC}
.m21r-cko__hd>span{font-size:13px;opacity:.8}
.m21r-cko__hd .m21r-stars{color:#EBD3A3;letter-spacing:.05em}
.m21r-cko__dates{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;padding:10px 16px 12px;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
.m21r-cko__dates>div{display:grid;gap:1px;min-width:0}
.m21r-cko__dates small{font-size:12px;opacity:.75}
.m21r-cko__dates b{font-size:16px;color:#FFF4DC}
.m21r-cko__dates span{font-size:12.5px;opacity:.8}
.m21r-cko__dates .is-r{text-align:right}
.m21r-cko__mid{display:grid;justify-items:center;gap:2px;font-size:12px;color:#EBD3A3}
.m21r-cko__room{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;padding:12px 16px}
.m21r-cko__room h3{margin:0 0 8px;font-size:16.5px;line-height:1.3;color:#EBD3A3}
.m21r-cko__room img{width:104px;height:104px;object-fit:cover;border-radius:16px}
.m21r-cko__ok{display:grid;gap:6px;margin:0;padding:0;list-style:none;font-size:14px}
.m21r-cko__ok li{display:grid;grid-template-columns:20px 1fr;gap:6px;align-items:start}
.m21r-cko__ok i{display:grid;place-items:center;width:18px;height:18px;margin-top:1px;border-radius:50%;font-style:normal;font-size:11px;font-weight:800}
.m21r-cko__ok .is-ok i{background:rgba(169,209,142,.18);color:#A9D18E;box-shadow:inset 0 0 0 1.5px #A9D18E}
.m21r-cko__ok .is-ok span{color:#CDE6BA}
.m21r-cko__ok .is-no i{background:rgba(255,255,255,.08);color:rgba(255,244,220,.75);box-shadow:inset 0 0 0 1.5px rgba(255,244,220,.4)}
.m21r-cko__ok .is-unk i{color:#E8CB92;box-shadow:inset 0 0 0 1.5px #E8CB92}
.m21r-cko__ok .is-unk span{color:#E8CB92}
.m21r-cko__foot{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;padding:12px 16px 14px;background:rgba(235,211,163,.08);border-top:1px solid rgba(235,211,163,.2)}
.m21r-cko__foot>div{display:grid;gap:1px}
.m21r-cko__foot small{font-size:12px;opacity:.8}
.m21r-cko__foot b{font-family:var(--r-serif);font-size:30px;line-height:1;color:#FFF4DC}
.m21r-cko__foot span{font-size:12.5px;opacity:.85}
.m21r-cko__chk{color:#A9D18E;font-weight:700;text-align:right}
@media (max-width:420px){.m21r-cko__room{grid-template-columns:1fr}.m21r-cko__room img{order:-1;width:100%;height:130px}}
/* Felder in der Buchungskarte immer volle Breite (vorher zu schmal, E-Mail abgeschnitten) */
.m21r-sheet .m21r-bkg{grid-template-columns:repeat(2,minmax(0,1fr))}
.m21r-sheet .m21r-bkg .m21r-fld:first-child{grid-column:auto}
@media (max-width:520px){.m21r-sheet .m21r-bkg{grid-template-columns:1fr}}
/* Reisende & Zahlung (Schritt vor „Buchung abschließen“) */
.m21r-tv{max-width:760px}
.m21r-tv__list{display:grid;gap:8px;margin:12px 0;padding:0;list-style:none}
.m21r-tv__p{display:flex;align-items:center;gap:8px;padding:6px 6px 6px 10px;border-radius:18px;background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);transition:box-shadow .15s,background .15s}
.m21r-tv__p.is-on{background:rgba(235,211,163,.12);box-shadow:inset 0 0 0 2px #EBD3A3}
.m21r-tv__p label{flex:1;display:flex;align-items:center;gap:12px;min-height:52px;cursor:pointer;min-width:0}
.m21r-tv__p input{width:22px;height:22px;accent-color:#EBD3A3;flex:none}
.m21r-tv__av{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:rgba(235,211,163,.2);color:#EBD3A3;font-weight:800;font-size:14px;flex:none}
.m21r-tv__n{display:grid;min-width:0}
.m21r-tv__n b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.m21r-tv__n small,.m21r-tv__row small{display:block;font-size:12.5px;opacity:.8}
.m21r-tv__ed{display:grid;place-items:center;width:44px;height:44px;flex:none;border:0;border-radius:50%;background:rgba(255,255,255,.08);color:#EBD3A3;cursor:pointer}
.m21r-tv__ed:hover{background:rgba(235,211,163,.18)}
.m21r-tv__f{list-style:none}
.m21r-tv__form{padding:12px;border-radius:18px;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1.5px rgba(235,211,163,.4)}
.m21r-tv__form .m21r-bkg,.m21r-tv__cf{grid-template-columns:repeat(2,minmax(0,1fr))}
.m21r-tv__form .m21r-bkg .m21r-fld:first-child{grid-column:auto}
.m21r-tv__del{margin-left:auto;color:#F2A895}
.m21r-tv__row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.m21r-tv__go{position:sticky;bottom:calc(92px + env(safe-area-inset-bottom));z-index:5;display:grid;gap:6px;padding:12px;border-radius:22px;background:rgba(12,40,52,.92);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 10px 30px -10px rgba(0,0,0,.6)}
.m21r-tv__go .m21r-btn{width:100%}
.m21r-tvsum ul{margin:6px 0 0;padding:0;list-style:none;display:grid;gap:4px}
.m21r-tvsum small{opacity:.75;margin-left:4px}
.m21r-tvsum p{margin:6px 0 0}
.m21r-tvsum__h{display:flex;align-items:center;justify-content:space-between;gap:8px}
.m21r-tvsum__h h2,.m21r-tvsum__h h3{margin:0}
.m21r-tvsum .m21r-pm__ic{display:inline-block;width:30px;height:20px;vertical-align:middle;border-radius:5px}
@media (max-width:520px){.m21r-tv__form .m21r-bkg,.m21r-tv__cf{grid-template-columns:1fr}}
@media (max-height:700px){.m21r-tv__go{position:static;background:none;box-shadow:none;padding:4px 0}}
/* Feste Abschlusskarte: kein Scrollen, nur lesen und buchen */
.m21r-sheet.is-fixed .m21r-sheet__p{overflow:hidden;max-height:calc(100dvh - 8px - env(safe-area-inset-top));padding-bottom:calc(14px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:8px;max-width:560px}
.m21r-sheet.is-fixed .m21r-sheet__hd{padding-top:2px}
.m21r-cko--fx{margin:0}
.m21r-cko--fx .m21r-cko__hd{padding:10px 14px 6px}
.m21r-cko--fx .m21r-cko__hd b{font-size:19px}
.m21r-cko--fx .m21r-cko__dates{padding:8px 14px}
.m21r-cko--fx .m21r-cko__dates b{font-size:15px}
.m21r-cko--fx .m21r-cko__room{grid-template-columns:72px minmax(0,1fr);gap:10px;padding:10px 14px}
.m21r-cko--fx .m21r-cko__room img{width:72px;height:72px;border-radius:14px;order:0}
.m21r-cko--fx .m21r-cko__room h3{font-size:15px;margin:0 0 6px}
.m21r-cko--fx .m21r-cko__ok{gap:4px;font-size:13px}
.m21r-cko--fx .m21r-cko__foot{padding:10px 14px}
.m21r-cko--fx .m21r-cko__foot b{font-size:26px}
.m21r-fx__rows{display:grid;border-top:1px solid rgba(255,255,255,.08)}
.m21r-fx__row{display:grid;grid-template-columns:92px minmax(0,1fr) 36px;align-items:center;gap:8px;padding:4px 8px 4px 14px;border-bottom:1px solid rgba(255,255,255,.06);font-size:13.5px}
.m21r-fx__row small{opacity:.7;font-size:12px}
.m21r-fx__row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.m21r-fx__row .m21r-tv__ed{width:36px;height:36px}
.m21r-fx__chg{margin:0;padding:10px 12px;font-size:13.5px}
.m21r-fx__go{display:grid;gap:6px;margin-top:auto}
.m21r-fx__acc{margin:0;font-size:11.5px;line-height:1.35;opacity:.75}
.m21r-fx__test{margin:0;font-size:12.5px;color:#E8CB92}
.m21r-fx__go .m21r-btn{width:100%;min-height:54px;font-size:17px}
.m21r-fx__go .m21r-bkst:empty{display:none}
.m21r-fx--pay{overflow-y:auto!important}
.m21r-fx__sum{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:10px 14px;border-radius:16px;background:rgba(255,255,255,.06)}
.m21r-fx__sum b{font-family:var(--r-serif);font-size:24px}
@media (max-height:640px){.m21r-sheet.is-fixed .m21r-sheet__p{overflow-y:auto}}
@media (max-width:420px){.m21r-cko--fx .m21r-cko__room{grid-template-columns:56px minmax(0,1fr)}.m21r-cko--fx .m21r-cko__room img{width:56px;height:56px}.m21r-fx__row{grid-template-columns:78px minmax(0,1fr) 36px}}
.m21r-sheet.is-fixed .m21r-cko--fx,.m21r-sheet.is-fixed .m21r-fx__chg,.m21r-sheet.is-fixed .m21r-fx__go{flex-shrink:0}
.m21r-fx.is-tight .m21r-cko__hd{padding:8px 14px 4px}.m21r-fx.is-tight .m21r-cko__hd b{font-size:17px}
.m21r-fx.is-tight .m21r-cko__dates{padding:6px 14px}.m21r-fx.is-tight .m21r-cko__dates>div:not(.m21r-cko__mid) span{display:none}
.m21r-fx.is-tight .m21r-cko__room{padding:8px 14px}.m21r-fx.is-tight .m21r-cko__ok{font-size:12.5px}
.m21r-fx.is-tight .m21r-fx__row{padding-top:2px;padding-bottom:2px}.m21r-fx.is-tight .m21r-fx__row .m21r-tv__ed{width:32px;height:32px}
.m21r-fx.is-tight .m21r-cko__foot{padding:8px 14px}.m21r-fx.is-tight .m21r-cko__foot b{font-size:23px}
.m21r-fx.is-tight .m21r-fx__chg{padding:8px 10px;font-size:12.5px;gap:4px}
.m21r-fx.is-tight .m21r-fx__acc{font-size:10.5px}
.m21r-fx.is-tighter .m21r-cko__room img,.m21r-fx.is-tighter .m21r-cko__hd>span{display:none}
.m21r-fx.is-tighter .m21r-cko__room{grid-template-columns:1fr}
.m21r-fx.is-tighter .m21r-sheet__hd h2{font-size:18px}
.m21r-fx.is-tighter .m21r-fx__test{font-size:11.5px}
.m21r-fx__chgS{display:none!important;font-weight:700}
.m21r-fx.is-tight .m21r-fx__chg>p:not(.m21r-fx__chgS){display:none}
.m21r-fx.is-tight .m21r-fx__chgS{display:block!important;margin:0}
.m21r-fx.is-tight .m21r-fx__chg .m21r-check{font-size:12.5px}
.m21r-fx.is-tighter .m21r-cko__dates{display:flex;justify-content:space-between}.m21r-fx.is-tighter .m21r-cko__dates small{display:none}
.m21r-fx.is-tighter .m21r-cko__foot b{font-size:21px}
.m21r-fx.is-tighter .m21r-fx__go{gap:4px}.m21r-fx.is-tighter .m21r-fx__go .m21r-btn{min-height:48px}
.m21r-fx__accS{display:none;margin:0;font-size:10.5px;line-height:1.3;opacity:.75}
.m21r-fx.is-tighter .m21r-fx__acc{display:none}.m21r-fx.is-tighter .m21r-fx__accS{display:block}
.m21r-fx.is-tighter .m21r-sheet__hd{padding-top:0;padding-bottom:0}.m21r-fx.is-tighter .m21r-sheet__x{width:36px;height:36px}
.m21r-fx.is-tighter .m21r-cko__ok li:nth-child(2){display:none}
.m21r-fx.is-tighter{gap:6px!important}
/* v1.30 – Split-Ansicht: FAQ/Kontakt nur in der rechten Spalte (keine Überlappung mit der mitlaufenden Ergebnisliste) */
@media (min-width:1px){body.m21r-split .m21r-main>.m21r-sec{grid-column:2;min-width:0}}
/* v1.30 – Vorschlagsliste deckend und immer über den folgenden Feldern */
body.m21r-app .m21r-lb{background:#103743!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:0 0 0 1px rgba(255,255,255,.16) inset,0 26px 50px -18px rgba(0,0,0,.8)!important;z-index:90}
.m21r-fld:has(> .m21r-lb:not([hidden])),.m21r-fld:has(.m21r-lb:not([hidden])),.m21r-combo:has(.m21r-lb:not([hidden])),.m21r-fld:focus-within{position:relative;z-index:90}
.m21r-search:has(.m21r-lb:not([hidden])){z-index:85;position:relative}
/* v1.30 – Während der Tastatur offen ist: schwebende Leisten ausblenden */
html.m21r-kb .m21r-dock,html.m21r-kb .m21r-fab,html.m21r-kb .m21r-install,html.m21r-kb .m21r-cmpbar,html.m21r-kb .m21r-aicta{visibility:hidden!important;opacity:0!important;pointer-events:none!important}
/* v1.30 – iOS zoomt bei Schrift < 16px in Eingabefeldern hinein; danach stehen Dock/Knopf mitten im Bild */
@media (pointer:coarse){input,select,textarea,.m21r-in{font-size:max(16px,1em)!important}}
/* v1.31 – verborgene Teile der Abschlusskarte wirklich ausblenden (Zahlungsfeld lag sonst über dem Buchen-Knopf) */
.m21r-sheet [hidden],.m21r-fx[hidden],[data-fx-pay][hidden],[data-fx-main][hidden]{display:none!important}
/* v1.32 – Zahlungsfeld kompakt: passt auch auf niedrige Bildschirme (Foldable quer, iPhone quer) */
.m21r-sheet.is-fixed .m21r-fx--pay{gap:8px;overflow-y:auto!important;overscroll-behavior:contain}
.m21r-fxp__hd{display:grid!important;grid-template-columns:auto 1fr auto;align-items:center;gap:10px}
.m21r-fxp__hd h2{margin:0;font-size:19px}
.m21r-fxp__p{font-family:var(--r-serif);font-size:24px;line-height:1;color:#FFF4DC;white-space:nowrap}
.m21r-fxp__t{margin:0;padding:6px 10px;font-size:12.5px;line-height:1.35}
.m21r-fxp__n{margin:2px 2px 0;font-size:12px;line-height:1.35;opacity:.75;flex-shrink:0}
.m21r-sheet.is-fixed #m21r-pay{margin-top:0;padding:2px 2px 4px;flex-shrink:0}
@media (max-height:700px){.m21r-fxp__hd h2{font-size:17px}.m21r-fxp__p{font-size:21px}.m21r-sheet.is-fixed .m21r-fx--pay{gap:6px;padding-top:2px}}
.m21r-fxp__d{margin:0;padding:6px 10px;border-radius:12px;background:rgba(98,198,214,.12);font-size:12.5px;line-height:1.35}
/* v1.37 – Hinweis verbundene Reiseleistungen, Veranstalter-Box */
.m21r-vrl{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:16px;background:rgba(4,18,24,.62);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.m21r-vrl__c{width:min(560px,100%);max-height:calc(100dvh - 32px);overflow:auto;padding:22px 20px;border-radius:24px;background:linear-gradient(180deg,rgba(22,72,88,.98),rgba(10,40,52,.99));color:#FFF4DC;box-shadow:0 30px 60px -20px rgba(0,0,0,.8),inset 0 0 0 1px rgba(255,255,255,.14)}
.m21r-vrl__c h2{margin:0 0 10px;font-size:19px}.m21r-vrl__c p{margin:0 0 16px;line-height:1.5;font-size:15px}
.m21r-org .m21r-dl a{color:inherit;text-decoration:underline}
.m21r-trwarn{margin:8px 0 0;padding:8px 12px;border-radius:12px;background:rgba(232,203,146,.14);color:#E8CB92;font-size:13.5px}
.m21r-vrl__form{margin:6px 0 12px;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}.m21r-vrl__form p{margin:0 0 10px;font-size:14.5px}.m21r-vrl__form p:last-child{margin:0}.m21r-vrl__form a{color:#BFE3EA}
/* v1.39 – Rückkehr von der Zahlung: „Danke für deine Buchung! … Gute Reise!“ statt „Willkommen bei“ */
.m21r-intro__bye{margin-top:14px;animation-delay:.9s!important}
/* v1.40 – KI-Kugel: Meer-Türkis mit Sandgold (statt weißer Perle) */
.m21r-orb{background:radial-gradient(circle at 32% 24%,rgba(255,255,255,.92) 0 7%,rgba(220,250,250,.45) 16%,transparent 38%),
  radial-gradient(circle at 68% 80%,rgba(240,200,130,.95),transparent 55%),
  radial-gradient(circle at 24% 70%,rgba(40,190,200,.85),transparent 60%),
  linear-gradient(165deg,#BFF1EF,#3FB7BF 42%,#127C8A 72%,#E3BE7E)!important;
 box-shadow:inset 0 -8px 18px rgba(5,60,72,.45),inset 0 6px 12px rgba(255,255,255,.55),0 10px 26px rgba(0,30,40,.45),0 0 0 1px rgba(255,255,255,.35),0 0 22px rgba(80,210,215,.35)}
.m21r-orb i:nth-child(2){background:radial-gradient(rgba(245,205,135,.85),transparent 70%)}
.m21r-orb--hero{box-shadow:inset 0 -18px 40px rgba(5,60,72,.5),inset 0 16px 30px rgba(255,255,255,.5),inset 0 0 0 1px rgba(255,255,255,.45),0 30px 60px rgba(0,25,35,.5),0 0 60px rgba(80,210,215,.35)}
.m21r-orb--xs{box-shadow:inset 0 -3px 7px rgba(5,60,72,.45),inset 0 3px 6px rgba(255,255,255,.55),0 4px 10px rgba(0,0,0,.3)}
/* v1.42 – iPhone Duo (aufgeklappt, System-Streifen an der Seite): Schnellzugriff als senkrechte Leiste rechts – wie das Dock von Apple */
/* Kontakt: Nachricht oder Rückruf */
.m21r-cmode{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:4px;border-radius:999px;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.m21r-cmode label{position:relative;cursor:pointer}
.m21r-cmode input{position:absolute;opacity:0;pointer-events:none}
.m21r-cmode span{display:flex;align-items:center;justify-content:center;gap:6px;min-height:42px;padding:6px 10px;border-radius:999px;font-size:14px;font-weight:700;text-align:center;transition:background .2s,color .2s}
.m21r-cmode input:checked+span{background:linear-gradient(135deg,#F4DFB4,#E2C084);color:#0E3B4E}
.m21r-cmode input:focus-visible+span{outline:2px solid #F4DFB4;outline-offset:2px}
.m21r-cbk{display:flex;align-items:center;gap:8px;margin:10px 0 0;font-size:14px}
/* Hilfe bei Verspätung/Ausfall (Meine Reisen) */
.m21r-fhelp{margin:12px 0 0;padding:10px 14px;border-radius:18px;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);font-size:14px}
.m21r-fhelp summary{cursor:pointer;font-weight:700;list-style-position:inside}
.m21r-fhelp p,.m21r-fhelp ul{margin:8px 0}
.m21r-fhelp ul{padding-left:20px}
.m21r-fhelp li{margin:4px 0}
.m21r-fhelp .m21r-btn{margin-top:6px}
.m21r-chk ul{list-style:none;padding:0}
.m21r-chk li{margin:8px 0}
.m21r-chk label{display:flex;gap:10px;align-items:flex-start;cursor:pointer}
.m21r-chk input{width:20px;height:20px;flex:none;margin-top:1px;accent-color:#E2C084}
.m21r-chk input:checked+span{opacity:.6;text-decoration:line-through}
.m21r-chk small{font-weight:400;opacity:.75;margin-left:6px}
.m21r-chk li>.m21r-link{display:inline-block;margin:4px 0 0 30px;font-size:13px}
/* Preiskalender Flüge */
.m21r-chip--gold{background:linear-gradient(135deg,rgba(244,223,180,.22),rgba(226,192,132,.12));box-shadow:inset 0 0 0 1px rgba(244,223,180,.5);font-weight:700}
.m21r-flexcal{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 8px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.m21r-flexcal::-webkit-scrollbar{display:none}
.m21r-flexd{flex:0 0 auto;min-width:92px;display:flex;flex-direction:column;align-items:center;gap:2px;padding:9px 10px;border:0;border-radius:16px;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);color:inherit;font:inherit;cursor:pointer}
.m21r-flexd small{font-size:12px;opacity:.8}
.m21r-flexd b{font-size:15px}
.m21r-flexd i{font-style:normal;font-size:11px;min-height:14px;opacity:.85}
.m21r-flexd.is-cur{box-shadow:inset 0 0 0 2px rgba(244,223,180,.8);cursor:default}
.m21r-flexd.is-low{background:rgba(169,209,142,.16);box-shadow:inset 0 0 0 1.5px rgba(169,209,142,.7)}
.m21r-flexd.is-low i{color:#BFE3A6;font-weight:700}
.m21r-flexd:disabled:not(.is-cur){opacity:.5;cursor:default}
.m21r-hc__fam{color:#BFE3A6;font-weight:700}
.m21r-wbag{margin:10px 0 6px;padding:10px 14px;border-radius:16px;background:rgba(244,223,180,.12);box-shadow:inset 0 0 0 1px rgba(244,223,180,.35)}
/* Konto als Karte (Bottom Sheet) */
.m21r-as{position:fixed;inset:0;z-index:120}
.m21r-as__bg{position:absolute;inset:0;background:rgba(3,22,30,.45);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;transition:opacity .3s}
.m21r-as.is-open .m21r-as__bg{opacity:1}
.m21r-as__p{position:absolute;left:0;right:0;bottom:0;max-height:min(92vh,92dvh);display:flex;flex-direction:column;margin:0 auto;max-width:560px;border-radius:30px 30px 0 0;background:linear-gradient(180deg,rgba(18,72,92,.97),rgba(10,44,58,.985) 45%,rgba(8,34,46,.99));box-shadow:inset 0 1px 0 rgba(255,236,200,.35),0 -20px 60px -20px rgba(0,0,0,.6);transform:translateY(105%);transition:transform .34s cubic-bezier(.2,.9,.25,1);padding-bottom:env(safe-area-inset-bottom);color:var(--r-text,#FFF4DC)}
.m21r-as.is-open .m21r-as__p{transform:translateY(0)}
.m21r-as__grab{width:44px;height:5px;border-radius:9px;background:rgba(255,244,220,.35);margin:9px auto 2px;flex:none}
.m21r-as__hd{display:flex;align-items:center;gap:8px;padding:4px 14px 8px;flex:none;touch-action:none}
.m21r-as__t{flex:1;margin:0;text-align:center;font-family:'Cormorant Garamond',serif;font-weight:500;font-size:24px}
.m21r-as__x{width:38px;height:38px;border:0;border-radius:50%;background:rgba(255,255,255,.08);color:inherit;font-size:18px;line-height:1;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.m21r-as__x[data-as-back]{font-size:26px}
.m21r-as__x[hidden]{display:block!important;visibility:hidden}
.m21r-as__body{overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:4px 16px 22px}
.m21r-as__me{display:grid;grid-template-columns:auto 1fr;gap:12px 14px;align-items:center;padding:16px;border-radius:24px;background:linear-gradient(135deg,rgba(244,223,180,.16),rgba(98,198,214,.08));box-shadow:inset 0 0 0 1px rgba(244,223,180,.28)}
.m21r-as__av{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;font-size:22px;font-weight:800;color:#0E3B4E;background:linear-gradient(135deg,#F4DFB4,#E2C084);box-shadow:0 6px 18px -8px rgba(226,192,132,.8)}
.m21r-as__who{min-width:0}.m21r-as__who b{display:block;font-size:18px}.m21r-as__who small{display:block;opacity:.75;font-size:13px;overflow:hidden;text-overflow:ellipsis}
.m21r-as__me--guest .m21r-btn{grid-column:1/-1;width:100%}
.m21r-as__stats{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.m21r-as__stats button{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 4px;border:0;border-radius:16px;background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);color:inherit;font:inherit;cursor:pointer}
.m21r-as__stats b{font-size:20px}.m21r-as__stats span{font-size:12px;opacity:.8}
.m21r-as__g{margin-top:18px}
.m21r-as__g h3{margin:0 6px 8px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#E8CB92;font-weight:800}
.m21r-as__card{list-style:none;margin:0;padding:4px 0;border-radius:22px;background:rgba(255,255,255,.055);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
.m21r-as__card li+li{border-top:1px solid rgba(255,255,255,.08);margin:0 14px}
.m21r-as__card li+li .m21r-as__row{padding-left:0;padding-right:0}
.m21r-as__row{width:100%;display:flex;align-items:center;gap:14px;padding:13px 14px;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;min-height:58px}
.m21r-as__ic{width:38px;height:38px;flex:none;display:grid;place-items:center;border-radius:12px;background:rgba(244,223,180,.12);color:#F4DFB4}
.m21r-as__rt{flex:1;min-width:0}.m21r-as__rt b{display:block;font-size:15.5px;font-weight:700}.m21r-as__rt small{display:block;font-size:12.5px;opacity:.7;margin-top:1px}
.m21r-as__chev{font-size:24px;opacity:.5;line-height:1}
.m21r-as__row:active{background:rgba(255,255,255,.05)}
.m21r-as__out{width:100%;margin-top:18px}
.m21r-as [data-as-subbox] .m21r-box{margin:0 0 12px}
.m21r-as [data-as-subbox] details>summary{display:none}
html.m21r-as-on{overflow:hidden}
@media (prefers-reduced-motion:reduce){.m21r-as__p,.m21r-as__bg{transition:none}}
.m21r-as [data-as-subbox] #m21r-acct>[hidden]{display:none!important}
a.m21r-as__row{text-decoration:none}
/* Verwaltung in der App (Vollbild) */
.m21r-as__own{margin:18px 0 0;text-align:center;font-size:13px;opacity:.75}
.m21r-adm{position:fixed;inset:0;z-index:130;display:flex;flex-direction:column;background:#0B2A36;transform:translateY(100%);transition:transform .3s cubic-bezier(.2,.9,.25,1)}
.m21r-adm.is-open{transform:none}
.m21r-adm__bar{flex:none;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;padding:calc(env(safe-area-inset-top) + 8px) calc(12px + env(safe-area-inset-right)) 8px calc(12px + env(safe-area-inset-left));background:linear-gradient(180deg,rgba(18,72,92,.98),rgba(11,42,54,.98));box-shadow:0 1px 0 rgba(255,255,255,.1);color:#FFF4DC}
.m21r-adm__bar b{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:21px}
.m21r-adm__x{justify-self:start;border:0;border-radius:999px;padding:8px 14px;background:rgba(255,255,255,.1);color:inherit;font:inherit;font-weight:700;font-size:14px;cursor:pointer}
.m21r-adm__f{flex:1;width:100%;border:0;background:#0B2A36}
@media (prefers-reduced-motion:reduce){.m21r-adm{transition:none}}
.m21r-adm{padding-bottom:env(safe-area-inset-bottom)}
.m21r-adm[hidden]{display:none}

/* Eingebettet in die native App (iPhone/Android): eigene Kopf- und Fußleisten ausblenden */
html.m21r-native .m21r-hd,html.m21r-native .m21r-dock,html.m21r-native .m21r-ft,html.m21r-native #m21r-install,html.m21r-native .m21r-intro,html.m21r-native .m21r-fab{display:none!important}
html.m21r-native .m21r-main{padding-bottom:calc(24px + env(safe-area-inset-bottom))!important}
html.m21r-native body{padding-top:8px}

/* Kartenformular direkt auf der Buchungsübersicht */
.m21r-fx__inpay{display:grid;gap:10px;padding-bottom:calc(18px + env(safe-area-inset-bottom))}
.m21r-fx__inpay .m21r-fx__acc{display:block!important;font-size:12px}
.m21r-fxp__h{margin:6px 0 0;font-size:1.05rem}
.m21r-fx__inpay .m21r-pay{min-height:120px}
/* Kartenformular direkt im Schritt „Wer reist mit?“ (Kreditkarte/Debitkarte) – gleiches Erscheinungsbild wie auf der Übersicht */
.m21r-tv__card h2{margin:0 0 6px}
.m21r-tv #m21r-tvpay{position:relative;isolation:isolate;margin:10px 0 8px;padding:6px 4px;min-height:120px;border-radius:20px;background:#0F3846;box-shadow:inset 0 0 0 1px rgba(235,211,163,.28),inset 0 1px 0 rgba(255,236,200,.18);overflow:hidden;color:inherit}
.m21r-tv #m21r-tvpay div{background:transparent!important;border-color:transparent!important;box-shadow:none!important}
.m21r-tv #m21r-tvpay iframe{filter:invert(1) hue-rotate(180deg) saturate(1.15);mix-blend-mode:screen;color-scheme:normal}
.m21r-tv #m21r-tvpay .m21r-note{color:inherit;padding:8px}
.m21r-tv #m21r-tvpay .m21r-bkst{color:#F6B9A8;padding:8px}
/* eigener Knopf des Zahlungspartners: unsichtbar, wird von „Zahlungspflichtig buchen“ ausgelöst */
.lp-submit-button.m21r-lp-hid{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;margin:0!important;padding:0!important;opacity:0!important;pointer-events:none!important;overflow:hidden!important;clip-path:inset(50%)!important}
.m21r-tv>[data-tv-a],.m21r-tv>[data-tv-b]{display:contents}
.m21r-tv>[data-tv-card][hidden]{display:none}
/* ?nur=1 – Rechtstext als Karte in der App: nur der Text, kein Hintergrund, nur er scrollt */
html.m21r-only,html.m21r-only body{overflow:auto!important;height:auto!important;background:#0F4256!important}
html.m21r-only body>*:not(dialog):not(script){display:none!important}
html.m21r-only dialog.m21r-imprint[open]{position:static!important;display:block;inset:auto;margin:0!important;width:100%!important;max-width:none!important;max-height:none!important;height:auto!important;padding:4px 18px 40px!important;border:0!important;border-radius:0!important;background:transparent!important;background-image:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:none!important;overflow:visible!important;transform:none!important;animation:none!important}
html.m21r-only dialog.m21r-imprint>h2,html.m21r-only dialog.m21r-imprint>form{display:none}
/* Flüge: Kartenformular des Flugpartners (Duffel) */
.m21r-fcard{margin:10px 0 8px;padding:10px 12px;border-radius:18px;background:rgba(255,255,255,.95);color:#1d2a30;text-shadow:none;min-height:120px}
.m21r-fcard .m21r-note{color:#3a4a50}
.m21r-fcbox .m21r-bkst{color:#F6B9A8}
/* Übersetzungshilfe für das englische Kartenformular des Flugpartners */
.m21r-fgl{margin:8px 0 2px;padding:8px 12px;border-radius:14px;background:rgba(98,198,214,.1);box-shadow:inset 0 0 0 1px rgba(168,226,234,.2);font-size:13.5px}
.m21r-fgl summary{cursor:pointer;font-weight:700;list-style:none}
.m21r-fgl summary::-webkit-details-marker{display:none}
.m21r-fgl summary::after{content:" ›";opacity:.7}
.m21r-fgl[open] summary::after{content:" ⌄"}
.m21r-fgl dl{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:8px 0 2px}
.m21r-fgl dt{opacity:.75;font-style:italic}
.m21r-fgl dd{margin:0;font-weight:600}
/* Hotels auf der Karte */
.m21r-mapbtn.is-on{background:linear-gradient(135deg,#F3E2BC,#EBD3A3);color:#1F261B}
.m21r-hmap{position:relative;height:min(68vh,640px);min-height:360px;border-radius:24px;overflow:hidden;background:#123B49;box-shadow:inset 0 0 0 1px rgba(168,226,234,.2)}
.m21r-hmap__st{position:absolute;inset:0;display:grid;place-items:center;margin:0;padding:20px;text-align:center}
.m21r-hmap__miss{position:absolute;left:10px;bottom:10px;margin:0;padding:4px 10px;border-radius:999px;background:rgba(12,40,52,.85);font-size:12px;z-index:2}
.m21r-pin{padding:5px 10px;border:0;border-radius:999px;background:#0F3846;color:#FFF4DC;font:800 13px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;white-space:nowrap;box-shadow:0 4px 12px rgba(0,0,0,.35),inset 0 0 0 1.5px rgba(235,211,163,.7);cursor:pointer;transition:transform .15s}
.m21r-pin:hover,.m21r-pin:focus-visible{transform:scale(1.08)}
.m21r-pin.is-on{background:linear-gradient(135deg,#F3E2BC,#EBD3A3);color:#1F261B;transform:scale(1.12);z-index:3}
.m21r-hmap__card{margin-top:12px}
.m21r-hmap .maplibregl-ctrl-attrib{font-size:10px}

/* Schutz: nichts darf die Seite seitlich verschiebbar machen (z. B. Bilder während des Ladens) */
html,body.m21r-app{overflow-x:clip}
.m21r-deal__go .m21r-btn{flex:1 1 100%;justify-content:center}.m21r-deal__go .m21r-deal__fl{flex:1 1 100%;margin:6px auto 0;font-weight:600;text-align:center}
.m21r-deal__ai{display:block;width:fit-content;margin:6px 0 2px;padding:5px 12px;border-radius:999px;background:rgba(98,198,214,.16);color:#9fe3ee;font-weight:700;font-size:14px}

/* ---------- Empfehlungen & Beliebte Ziele (neu: Karussell und runde Ziele) ---------- */
body.m21r-app .m21r-feat{gap:18px;padding:18px var(--r-gut) 12px;margin-inline:calc(-1 * var(--r-gut));scroll-padding-inline:var(--r-gut);scroll-snap-type:x mandatory}
body.m21r-app .m21r-feat>li{flex:0 0 min(460px,82%);scroll-snap-align:center;perspective:1100px}
body.m21r-app .m21r-feat>li:first-child{scroll-snap-align:start}
body.m21r-app .m21r-fcard{height:clamp(420px,62vh,560px);border-radius:32px;transform:scale(var(--fs,1)) rotateY(var(--fr,0deg));opacity:var(--fo,1);transition:transform .2s ease-out,opacity .2s ease-out,box-shadow .3s;box-shadow:0 0 0 1px rgba(255,255,255,.1) inset,0 34px 60px -30px rgba(0,0,0,.9)}
body.m21r-app .m21r-fcard::after{background:linear-gradient(180deg,rgba(5,25,35,.38) 0%,rgba(5,25,35,0) 24%,rgba(5,25,35,0) 46%,rgba(5,25,35,.94) 100%)}
body.m21r-app .m21r-fcard::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.16) 48%,transparent 60%);transform:translateX(-130%);animation:m21r-shine 7s ease-in-out infinite}
body.m21r-app .m21r-feat>li:nth-child(2) .m21r-fcard::before{animation-delay:1.6s}body.m21r-app .m21r-feat>li:nth-child(3) .m21r-fcard::before{animation-delay:3.2s}body.m21r-app .m21r-feat>li:nth-child(4) .m21r-fcard::before{animation-delay:4.8s}
@keyframes m21r-shine{0%,62%{transform:translateX(-130%)}82%,100%{transform:translateX(130%)}}
body.m21r-app .m21r-fcard__tag{top:18px;left:18px;padding:7px 14px;font-size:13px;font-weight:800;color:#0E3B4E;background:rgba(255,244,220,.94);box-shadow:0 8px 20px -10px rgba(0,0,0,.6)}
body.m21r-app .m21r-fcard__tag i,body.m21r-app .m21r-fcard__glass small i{font-style:normal}
body.m21r-app .m21r-fcard__glass{left:0;right:0;bottom:0;flex-direction:column;align-items:flex-start;gap:14px;padding:26px 24px 24px;border-radius:0;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}
body.m21r-app .m21r-fcard__glass small{font-size:12.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#F4DFB4;opacity:1}
body.m21r-app .m21r-fcard__glass b{font-size:clamp(34px,5vw,46px);color:#fff;text-shadow:0 4px 24px rgba(0,0,0,.45)}
body.m21r-app .m21r-fcard__go{width:auto;height:auto;gap:12px;padding:6px 6px 6px 20px;border-radius:999px;background:#F4DFB4;color:#0E3B4E;font-weight:800;font-size:15px;transition:gap .25s,background .25s}
body.m21r-app .m21r-fcard__go svg{width:34px;height:34px;padding:8px;border-radius:50%;background:#0E3B4E;color:#F4DFB4}
body.m21r-app .m21r-fcard:hover .m21r-fcard__go,body.m21r-app .m21r-fcard:focus-visible .m21r-fcard__go{gap:18px;background:#fff}
.m21r-feat__dots{display:flex;justify-content:center;gap:7px;margin:4px 0 6px}
.m21r-feat__dots i{width:7px;height:7px;border-radius:99px;background:rgba(255,244,220,.28);transition:width .3s,background .3s}
.m21r-feat__dots i.on{width:24px;background:#F4DFB4}
/* Beliebte Ziele: runde Bilder mit drehendem Leuchtring */
body.m21r-app .m21r-dests{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;scroll-snap-type:x proximity;margin-inline:calc(-1 * var(--r-gut));padding:10px var(--r-gut) 14px;scrollbar-width:none}
body.m21r-app .m21r-dests::-webkit-scrollbar{display:none}
body.m21r-app .m21r-dests>li{flex:0 0 auto;width:124px;max-width:none;scroll-snap-align:start}
body.m21r-app .m21r-dest{align-items:center;text-align:center;gap:2px;padding:0;background:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
body.m21r-app .m21r-dest:hover{transform:none;box-shadow:none}
body.m21r-app .m21r-dest__mono,body.m21r-app .m21r-dests>li .m21r-dest__mono,body.m21r-app .m21r-dests>li:nth-child(n) .m21r-dest__mono{position:relative;overflow:visible;width:104px;height:104px;aspect-ratio:1;margin:6px auto 10px;border-radius:50%;background:#0E3B4E;font-size:2.4rem;color:rgba(255,244,220,.8);transition:transform .35s cubic-bezier(.2,.8,.2,1.4)}
body.m21r-app .m21r-dest__mono::before{content:"";position:absolute;inset:-5px;z-index:0;border-radius:50%;background:conic-gradient(#F4DFB4,#62C6D6,#2A8FB0,#E2C084,#F4DFB4);animation:m21r-spin 9s linear infinite}
body.m21r-app .m21r-dest__mono::after{content:"";position:absolute;inset:-1px;z-index:0;border-radius:50%;background:#0B2A36}
body.m21r-app .m21r-dest__mono .m21r-dest__img{position:absolute;inset:2px;z-index:1;width:calc(100% - 4px);height:calc(100% - 4px);border-radius:50%;object-fit:cover;animation:m21r-kb 14s ease-in-out infinite alternate}
body.m21r-app .m21r-dests>li:nth-child(2n) .m21r-dest__mono::before{animation-duration:11s;animation-direction:reverse}
.m21r-dest__flag{position:absolute;right:-4px;bottom:-2px;z-index:2;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#0B2A36;box-shadow:0 0 0 2px #F4DFB4;font-size:16px;line-height:1}
body.m21r-app .m21r-dest:hover .m21r-dest__mono,body.m21r-app .m21r-dest:focus-visible .m21r-dest__mono{transform:scale(1.07)}
body.m21r-app .m21r-dest:hover .m21r-dest__mono::before{animation-duration:2.5s}
body.m21r-app .m21r-dest:active .m21r-dest__mono{transform:scale(.94)}
body.m21r-app .m21r-dest__t{font-family:inherit;font-size:14.5px;font-weight:800;line-height:1.2;padding:0 2px}
body.m21r-app .m21r-dest__s{font-size:12px;padding:0 2px;line-height:1.3}
@keyframes m21r-spin{to{transform:rotate(360deg)}}
@media (min-width:900px){body.m21r-app .m21r-dests>li{width:150px}body.m21r-app .m21r-dest__mono,body.m21r-app .m21r-dests>li .m21r-dest__mono,body.m21r-app .m21r-dests>li:nth-child(n) .m21r-dest__mono{width:128px;height:128px}}
@media (prefers-reduced-motion:reduce){body.m21r-app .m21r-fcard::before,body.m21r-app .m21r-dest__mono::before,body.m21r-app .m21r-dest__mono .m21r-dest__img{animation:none!important}}
/* Neue Karten: ältere Stil-Schichten (kompakter Karten-Stil, Glas) für diese beiden Bereiche aufheben */
html body.m21r-app .m21r-feat .m21r-fcard.m21r-fcard{display:block;background:linear-gradient(160deg,#1A7392,#0E3B4E)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
html body.m21r-app .m21r-fcard img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;border-radius:0;object-fit:cover;animation:m21r-kb 16s ease-in-out infinite alternate}
html body.m21r-app .m21r-fcard::after{display:block;content:"";position:absolute;inset:0;z-index:1;pointer-events:none}
html body.m21r-app .m21r-fcard__glass{position:absolute;z-index:2;display:flex}
html body.m21r-app .m21r-fcard__glass>span:first-child{background:none;box-shadow:none}
html body.m21r-app .m21r-fcard__go{display:inline-flex;align-items:center;width:auto;height:auto}
html body.m21r-app .m21r-fcard__go svg{width:34px;height:34px}
html body.m21r-app .m21r-dests .m21r-dest.m21r-dest{background:none!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;text-shadow:0 1px 2px rgba(0,25,35,.55)}
@media (prefers-reduced-motion:reduce){html body.m21r-app .m21r-fcard img{animation:none}}
/* Karussell: aktive Karte in der Mitte, links und rechts sieht man die nächsten Ziele */
html body.m21r-app .m21r-feat>li{flex:0 0 min(400px,72vw);scroll-snap-align:center}
html body.m21r-app .m21r-feat>li:first-child{scroll-snap-align:center}
html body.m21r-app .m21r-feat{padding-inline:calc(50% - min(200px,36vw));scroll-padding-inline:0}
@media (min-width:900px){html body.m21r-app .m21r-feat>li{flex-basis:min(400px,34vw)}html body.m21r-app .m21r-feat{padding-inline:calc(50% - min(200px,17vw))}}

/* ===== Kirmes-Karussell (ersetzt die Wisch-Leiste) ===== */
html body.m21r-app .m21r-feat.is-ring{position:relative;display:block;overflow:visible;height:clamp(520px,74vh,660px);margin:0;padding:0;scroll-snap-type:none;touch-action:pan-y;-webkit-user-select:none;user-select:none}
html body.m21r-app .m21r-feat.is-ring>li{position:absolute;left:50%;bottom:6px;width:min(340px,54vw);flex:none;transform-origin:50% 100%;will-change:transform,opacity;perspective:none;filter:brightness(calc(1 - var(--dim,0) * .6)) saturate(calc(1 - var(--dim,0) * .4))}
@media (min-width:900px){html body.m21r-app .m21r-feat.is-ring>li{width:min(360px,30vw)}}
html body.m21r-app .m21r-feat.is-ring .m21r-fcard{height:clamp(400px,56vh,520px);transform:none;opacity:1;cursor:grab}
html body.m21r-app .m21r-feat.is-ring>li:not(.is-front) .m21r-fcard{cursor:pointer}
html body.m21r-app .m21r-feat.is-ring>li:not(.is-front) .m21r-fcard::before{animation:none}
html body.m21r-app .m21r-feat.is-ring>li.is-front .m21r-fcard{box-shadow:0 0 0 1px rgba(255,255,255,.14) inset,0 40px 70px -28px rgba(0,0,0,.95),0 0 60px -10px rgba(98,198,214,.35)}
html body.m21r-app .m21r-featured{overflow-x:clip}
/* Boden des Karussells: leuchtende Scheibe unter den Karten */
html body.m21r-app .m21r-feat.is-ring::before{content:"";position:absolute;left:6%;right:6%;bottom:-18px;height:120px;border-radius:50%;background:radial-gradient(closest-side,rgba(98,198,214,.28),rgba(98,198,214,.08) 60%,transparent);pointer-events:none}
html body.m21r-app .m21r-feat.is-ring::after{content:"";position:absolute;left:18%;right:18%;bottom:-6px;height:40px;border-radius:50%;box-shadow:0 0 0 1px rgba(244,223,180,.22),0 0 40px rgba(244,223,180,.12);pointer-events:none}
/* Meine Reisen / Buchungsbestätigung: Hotelfoto immer über die ganze Kartenbreite, Text darunter (nie neben oder hinter dem Bild) */
.m21r-card.m21r-trip--img>.m21r-trip__img{grid-column:1/-1}

/* Newsletter: Geburtstag freiwillig */
.m21r-nl__bd{margin-top:10px}
.m21r-nl__bd summary{cursor:pointer;font-weight:700;font-size:14.5px;list-style:none}
.m21r-nl__bd summary::-webkit-details-marker{display:none}
.m21r-nl__bdrow{display:grid;grid-template-columns:1fr 1.6fr;gap:8px;margin:10px 0}

/* Cashback */
.m21r-cbin{margin:12px 0 4px;padding:12px 14px;border-radius:16px;background:rgba(244,223,180,.08);box-shadow:0 0 0 1px rgba(244,223,180,.25) inset}
.m21r-cbin summary{cursor:pointer;font-weight:700;list-style:none}.m21r-cbin summary::-webkit-details-marker{display:none}
.m21r-cbin__row{display:flex;gap:8px;margin-top:10px}.m21r-cbin__row .m21r-in{flex:1;min-width:0;text-transform:uppercase;letter-spacing:.06em}
.m21r-note.is-ok{color:#A9D8B8}.m21r-note.is-err{color:#F4A99A}
.m21r-cbbox{margin:12px 0;padding:12px 14px;border-radius:16px;background:rgba(244,223,180,.08);box-shadow:0 0 0 1px rgba(244,223,180,.25) inset}
.m21r-cbbox p{margin:4px 0 0}.m21r-cbbox.is-verfallen{opacity:.7}.m21r-cbbox.is-ausgezahlt{box-shadow:0 0 0 1px rgba(169,216,184,.45) inset}
.m21r-cbf{display:grid;gap:8px;margin-top:10px}
/* v1.90 Versprechen kompakt */
html body.m21r-app .m21r-prom{gap:10px}
html body.m21r-app .m21r-prom>li{display:grid;grid-template-columns:30px 1fr;column-gap:9px;align-items:center;padding:12px 14px}
html body.m21r-app .m21r-prom__i{width:30px;height:30px;margin:0}
html body.m21r-app .m21r-prom h3{margin:0;font-size:15px;line-height:1.25}
html body.m21r-app .m21r-prom p{grid-column:1/-1;margin-top:6px;font-size:13px;line-height:1.4}
@media (max-width:600px){
 html body.m21r-app .m21r-prom{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 html body.m21r-app .m21r-prom>li{grid-template-columns:24px 1fr;column-gap:7px;padding:10px 11px;border-radius:16px}
 html body.m21r-app .m21r-prom__i{width:24px;height:24px}
 html body.m21r-app .m21r-prom__i svg{width:14px;height:14px}
 html body.m21r-app .m21r-prom h3{font-size:13px}
 html body.m21r-app .m21r-prom p{font-size:11.5px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
}
/* v1.91 Häufige Fragen kompakt wie Versprechen */
html body.m21r-app .m21r-faq__l{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:stretch;grid-auto-flow:row dense}
html body.m21r-app .m21r-faq__q{border-radius:16px}
html body.m21r-app .m21r-faq__q summary{display:flex;align-items:center;gap:9px;padding:12px 34px 12px 14px;font-size:15px;line-height:1.25;font-weight:700}
html body.m21r-app .m21r-faq__q summary::after{right:12px;font-size:18px;color:#EBD3A3}
html body.m21r-app .m21r-faq__i{flex:none;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:10px;background:rgba(235,211,163,.16);color:#EBD3A3}
html body.m21r-app .m21r-faq__q[open]{grid-column:1/-1;box-shadow:0 0 0 1px rgba(235,211,163,.35) inset}
html body.m21r-app .m21r-faq__q p{padding:0 14px 14px;font-size:14px;line-height:1.45}
@media (max-width:900px){html body.m21r-app .m21r-faq__l{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){
 html body.m21r-app .m21r-faq__l{gap:8px}
 html body.m21r-app .m21r-faq__q summary{gap:7px;padding:10px 26px 10px 11px;font-size:13px}
 html body.m21r-app .m21r-faq__q summary::after{right:9px;font-size:16px}
 html body.m21r-app .m21r-faq__i{width:24px;height:24px;border-radius:8px}
 html body.m21r-app .m21r-faq__q p{padding:0 11px 12px;font-size:13px}
 html body.m21r-app .m21r-faq__q:last-child:nth-child(odd){grid-column:1/-1}
}
/* v1.92 Anmelden mit Apple / Google */
.m21r-sso{display:grid;gap:10px;margin:14px 0 4px}
.m21r-sso__b{display:flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:0 16px;border-radius:999px;font-weight:600;font-size:16px;text-decoration:none;transition:transform .15s,filter .15s}
.m21r-sso__b:active{transform:scale(.98)}
.m21r-sso__b:hover{filter:brightness(1.06)}
html body.m21r-app .m21r-sso__a{background:#000;color:#fff;box-shadow:0 0 0 1px rgba(255,255,255,.25) inset}
html body.m21r-app .m21r-sso__g{background:#fff;color:#1f1f1f;box-shadow:0 0 0 1px #dadce0 inset}
html body.m21r-app .m21r-sso__g,html body.m21r-app .m21r-sso__a{text-shadow:none}
.m21r-sso__n{margin:0;font-size:12.5px;text-align:center}
.m21r-sso__or{display:flex;align-items:center;gap:10px;margin:6px 0 0;font-size:13px;color:var(--r-muted)}
.m21r-sso__or::before,.m21r-sso__or::after{content:"";flex:1;height:1px;background:var(--r-hair2,rgba(255,255,255,.15))}
/* v1.95 Schnäppchen des Tages kompakt: Bild bestimmt die Höhe nicht mehr, Inhalt nicht auseinandergezogen */
html body.m21r-app .m21r-deal__b{align-content:center;gap:4px}
html body.m21r-app .m21r-deal__go{align-items:center}
html body.m21r-app .m21r-deal__go .m21r-btn{flex:1 1 100%;min-height:0;height:auto;padding-top:12px;padding-bottom:12px}
@media (min-width:760px){
 html body.m21r-app .m21r-deal__card{grid-template-columns:minmax(0,1fr) minmax(0,1fr);max-width:980px;margin-inline:auto}
 html body.m21r-app .m21r-deal__img{aspect-ratio:auto;min-height:260px;height:100%}
 html body.m21r-app .m21r-deal__img img{position:absolute;inset:0;width:100%;height:100%}
 html body.m21r-app .m21r-deal__b{padding:20px 22px}
}
@media (max-width:759px){html body.m21r-app .m21r-deal__img{aspect-ratio:16/9}}
/* v1.96 kompakter: Entdecken, Live-Statistik, Community, Kontakt */
html body.m21r-app [hidden]{display:none!important}
html body.m21r-app .m21r-swrank{gap:5px}
html body.m21r-app .m21r-swrank li{grid-template-columns:18px 34px minmax(0,1fr) auto;gap:9px;padding:5px 10px;border-radius:14px}
html body.m21r-app .m21r-swrank img{width:34px;height:34px;border-radius:9px}
html body.m21r-app .m21r-swrank__t b{font-size:14px}
html body.m21r-app .m21r-swrank__t small{font-size:11.5px}
html body.m21r-app .m21r-swrank__bar{height:3px;margin-top:4px}
html body.m21r-app .m21r-swrank__p{font-size:14px}
html body.m21r-app .m21r-swrank__p small{font-size:11px}
html body.m21r-app .m21r-swrank__more{display:block;margin:8px auto 0;font-size:14px}
html body.m21r-app .m21r-swstats,html body.m21r-app .m21r-comm{padding:16px 18px!important}
html body.m21r-app .m21r-sw__wrap{grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:20px}
html body.m21r-app .m21r-deck{max-height:min(60vh,480px)}
html body.m21r-app .m21r-sw__play .m21r-swfav{padding:16px 18px;margin-top:12px}
html body.m21r-app .m21r-cform{gap:8px;padding:16px 18px}
html body.m21r-app .m21r-cform .m21r-in{min-height:42px;padding-top:9px;padding-bottom:9px}
html body.m21r-app .m21r-cform textarea.m21r-in{min-height:96px;height:96px}
html body.m21r-app .m21r-cform .m21r-lbl{margin-bottom:3px}
@media (max-width:860px){html body.m21r-app .m21r-sw__wrap{grid-template-columns:1fr}}
@media (max-width:600px){html body.m21r-app .m21r-deck{height:min(48svh,430px)}}
html body.m21r-app .m21r-comm__form:not(.is-open) :is(.m21r-comm__row,.m21r-comm__rules,.m21r-comm__send){display:none}
html body.m21r-app .m21r-comm__form:not(.is-open) .m21r-comm__ta{min-height:44px;height:44px;resize:none}
html body.m21r-app .m21r-comm__intro{margin:4px 0 6px;font-size:13px}
html body.m21r-app .m21r-comm__l:empty{display:none}
html body.m21r-app .m21r-sw__wrap{align-items:start}
html body.m21r-app .m21r-sw__side>*{flex:none!important;height:auto!important;min-height:0!important}
html body.m21r-app .m21r-sw__play .m21r-swfav{flex:none}
html body.m21r-app .m21r-swfav__l:empty{display:none}
@media (min-width:861px){html body.m21r-app .m21r-deck{max-height:min(56vh,400px)}}
html body.m21r-app .m21r-swfav__sum{margin:2px 0 6px}
/* v2.04 „Bald für dich da“ – Seite für Kunden gesperrt */
html.m21r-locked body>*:not(#m21r-soon):not(dialog):not(script){display:none!important}
html.m21r-locked body{overflow:hidden}
#m21r-soon{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:24px;background:radial-gradient(120% 80% at 70% 10%,rgba(244,223,180,.18),transparent 60%),linear-gradient(180deg,#0f3a47,#0a2530);color:#FFF4DC;text-align:center;overflow:auto}
.m21r-soon__c{max-width:560px}
.m21r-soon__logo{width:84px;height:84px;margin:0 auto 14px;border-radius:24px;display:grid;place-items:center;font:700 30px/1 var(--r-serif,Georgia,serif);color:#0f3a47;background:linear-gradient(135deg,#FFF1D2,#E9C98F);box-shadow:0 18px 40px -18px rgba(0,0,0,.6)}
.m21r-soon__b{margin:0 0 6px;letter-spacing:.18em;text-transform:uppercase;font-size:13px;font-weight:700;color:#EBD3A3}
.m21r-soon__h{margin:0 0 14px;font-family:var(--r-serif,Georgia,serif);font-weight:500;font-size:clamp(30px,6vw,48px);line-height:1.1}
.m21r-soon__p{margin:0 0 18px;font-size:17px;line-height:1.55;color:rgba(255,244,220,.86)}
.m21r-soon__m{margin:0 0 22px;font-size:15px}.m21r-soon__m a{color:#EBD3A3;font-weight:700}
.m21r-soon__l{margin:0;font-size:13.5px;color:rgba(255,244,220,.7)}.m21r-soon__l .m21r-link{color:inherit;font-size:inherit}
#m21r-lockpill{position:fixed;left:50%;top:max(8px,env(safe-area-inset-top));transform:translateX(-50%);z-index:60;padding:6px 14px;border-radius:999px;background:#7a2e1f;color:#fff;font-size:12.5px;font-weight:700;text-decoration:none;box-shadow:0 6px 18px -6px rgba(0,0,0,.5)}

/* v2.05 Suche wie in der App: Reiseart-Kacheln oben, Felder mit Symbol und Beschriftung im Feld */
html body.m21r-app .m21r-search{padding:12px;border-radius:26px}
html body.m21r-app .m21r-search .m21r-tabs{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0 0 12px}
html body.m21r-app .m21r-search .m21r-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:58px;padding:8px 6px;border-radius:16px;background:transparent;color:var(--r-text,#FFF4DC);font-weight:700;font-size:14.5px;box-shadow:none;border:0}
html body.m21r-app .m21r-search .m21r-tab[aria-selected="true"]{background:linear-gradient(135deg,#F4DFB4,#E7C58C);color:#13323B}
html body.m21r-app .m21r-search .m21r-tab svg{width:20px;height:20px}
html body.m21r-app .m21r-search .m21r-grid{gap:10px}
html body.m21r-app .m21r-search .m21r-fld{position:relative;margin:0}
html body.m21r-app .m21r-search .m21r-fld>.m21r-lbl{position:absolute;left:50px;top:8px;z-index:2;margin:0;font-size:13px;font-weight:500;letter-spacing:0;color:rgba(255,244,220,.62);pointer-events:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100% - 64px)}
html body.m21r-app .m21r-search .m21r-fld>.m21r-lbl .m21r-opt{font-size:12px}
html body.m21r-app .m21r-search .m21r-fld .m21r-in{min-height:60px;height:60px;padding:24px 14px 6px 50px!important;border-radius:16px;font-size:17px;font-weight:700;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);box-shadow:none;text-align:left;justify-content:flex-start}
html body.m21r-app .m21r-search .m21r-fld .m21r-in::placeholder{color:rgba(255,244,220,.5);font-weight:600}
html body.m21r-app .m21r-search .m21r-fld::before{content:"";position:absolute;left:16px;top:20px;z-index:2;width:20px;height:20px;background:currentColor;color:rgba(255,244,220,.85);-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat;pointer-events:none}
html body.m21r-app .m21r-search .m21r-combo[data-kind="destination"]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2021s-7-6.2-7-11.5A7%207%200%200%201%2019%209.5C19%2014.8%2012%2021%2012%2021z%22/%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%229.5%22%20r%3D%222.5%22/%3E%3C/svg%3E")}
html body.m21r-app .m21r-search .m21r-combo[data-kind="airport"]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M2%2016l20-6-2-3-7%203-6-7-2%201%203%207-5%202-1-1-1%201z%22/%3E%3C/svg%3E")}
html body.m21r-app .m21r-search .m21r-date{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%225%22%20width%3D%2218%22%20height%3D%2216%22%20rx%3D%222%22/%3E%3Cpath%20d%3D%22M3%2010h18M8%203v4M16%203v4%22/%3E%3C/svg%3E")}
html body.m21r-app .m21r-search .m21r-trav{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%228%22%20r%3D%224%22/%3E%3Cpath%20d%3D%22M4%2021c0-4%204-6%208-6s8%202%208%206%22/%3E%3C/svg%3E")}
html body.m21r-app .m21r-search .m21r-fld:has(select[name="duration"]){--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22/%3E%3Cpath%20d%3D%22M12%207v5l3%202%22/%3E%3C/svg%3E")}
html body.m21r-app .m21r-search .m21r-fld:has(select[name="cabin"]){--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M7%204v9a2%202%200%200%200%202%202h7l2%205M7%2013h9%22/%3E%3C/svg%3E")}
html body.m21r-app .m21r-search .m21r-fld:not(.m21r-combo):not(.m21r-date):not(.m21r-trav):not(:has(select)){--ic:none}
html body.m21r-app .m21r-search .m21r-date .m21r-in svg,html body.m21r-app .m21r-search .m21r-date .m21r-in>.m21r-ico{display:none}
html body.m21r-app .m21r-search .m21r-pair{gap:10px}
html body.m21r-app .m21r-search .m21r-btn--go{min-height:54px;border-radius:18px;font-size:17px}
/* App-Look: Testphase-Hinweis ganz, Vertrauens-Chips zentriert, Kopfzeile ohne Reiseart-Menü (Kacheln sind in der Suche) */
html body.m21r-app .m21r-demo{display:block!important;text-align:left;padding:12px 14px!important;border-radius:16px!important;font-size:13.5px;line-height:1.45;background:rgba(255,255,255,.06)!important;box-shadow:inset 0 0 0 1px rgba(235,211,163,.45)!important;white-space:normal!important;max-height:none!important}
html body.m21r-app .m21r-demo span{display:inline!important}
html body.m21r-app .m21r-hd .m21r-type,html body.m21r-app .m21r-hd [data-htype],html body.m21r-app .m21r-hd .m21r-hd__type{display:none!important}
html body.m21r-app .m21r-trust{display:flex!important;flex-direction:column;align-items:center;gap:8px;margin:16px 0 4px;padding:0;list-style:none}
html body.m21r-app .m21r-trust li{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);font-size:13.5px;font-weight:700;color:var(--r-text,#FFF4DC)}
html body.m21r-app .m21r-trust li svg{width:17px;height:17px}
@media (min-width:760px){html body.m21r-app .m21r-trust{flex-direction:row;justify-content:center;flex-wrap:wrap}}
html body.m21r-app .m21r-search .m21r-date .m21r-dbtn svg{display:none}
html body.m21r-app .m21r-search .m21r-date .m21r-dbtn{position:absolute;inset:0;width:100%;height:60px;padding:24px 10px 6px 50px;display:flex;align-items:center;justify-content:flex-start;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);border-radius:16px;font-size:16px;font-weight:700;color:inherit;text-align:left}
html body.m21r-app .m21r-search .m21r-date .m21r-dwrap{position:relative;display:block;height:60px}
html body.m21r-app .m21r-search .m21r-date .m21r-dbtn__v{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body.m21r-app .m21r-search .m21r-date .m21r-dbtn__v.is-empty{color:rgba(255,244,220,.5);font-weight:600}
html body.m21r-app .m21r-search .m21r-pair .m21r-fld>.m21r-lbl{left:46px;max-width:calc(100% - 54px)}
html body.m21r-app .m21r-search .m21r-pair .m21r-fld::before{left:14px}
html body.m21r-app .m21r-search .m21r-pair .m21r-date .m21r-dbtn{padding-left:46px}
@media (max-width:600px){html body.m21r-app .m21r-deal__img{aspect-ratio:auto;height:140px}}
html body.m21r-app .m21r-hd .m21r-modebtn{display:none!important}
html body.m21r-app .m21r-search .m21r-tab span{font-size:13.5px;line-height:1.15;white-space:normal;text-align:center}

/* v2.06 App-Look für alle Unterseiten (Handy/Tablet): ohne Kopfzeile, Titel groß, runder Zurück-Knopf, Testphase/FAQ/Kontakt nur auf der Startseite */
html[data-view]:not([data-view="home"]) body.m21r-app .m21r-demo{display:none!important}
@media (max-width:899px){
 html[data-view]:not([data-view="home"]) body.m21r-app .m21r-hd{display:none!important}
 html[data-view]:not([data-view="home"]) body.m21r-app .m21r-main,html[data-view]:not([data-view="home"]) body.m21r-app main{padding-top:max(14px,env(safe-area-inset-top))}
}
html body.m21r-app .m21r-rhead{display:flex;align-items:center;gap:12px;margin:4px 0 14px}
html body.m21r-app .m21r-rhead>.m21r-link{flex:none;width:42px;height:42px;padding:0;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);font-size:0;color:var(--r-text,#FFF4DC);text-decoration:none}
html body.m21r-app .m21r-rhead>.m21r-link>*{display:none}
html body.m21r-app .m21r-rhead>.m21r-link::before{content:"";width:20px;height:20px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222.2%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M15%205l-7%207%207%207%22/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222.2%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M15%205l-7%207%207%207%22/%3E%3C/svg%3E") center/contain no-repeat}
html body.m21r-app .m21r-rhead>.m21r-h2{margin:0;font-size:clamp(30px,7vw,40px);line-height:1.1}
/* Ergebnisse: Kopf wie in der App – Zurück, Ziel + Daten, „Suche ändern“ */
html[data-view="results"] body.m21r-app .m21r-rhead>.m21r-h2{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
html[data-view="results"] body.m21r-app .m21r-rhead{margin:4px 0 -54px;position:relative;z-index:2;width:42px}
html body.m21r-app .m21r-slot--res .m21r-sumbar{padding:4px 0 4px 54px;margin-bottom:10px;background:none!important;box-shadow:none!important;-webkit-backdrop-filter:none;backdrop-filter:none;flex-wrap:nowrap;min-height:50px}
html body.m21r-app .m21r-slot--res .m21r-sumbar__q{margin:0;font-size:14.5px;font-weight:700;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
html body.m21r-app .m21r-slot--res .m21r-sumbar .m21r-btn{flex:none;min-height:38px;padding:0 14px;font-size:14px;border-radius:999px}
/* Kleinere Kästen und Chips wie in der App */
html body.m21r-app .m21r-results .m21r-box,html body.m21r-app .m21r-results .m21r-cmp{padding:12px 14px;border-radius:20px}
html body.m21r-app .m21r-results :is(.m21r-chip,.m21r-btn--sm){min-height:38px;padding:0 14px;border-radius:999px;font-size:14px}
/* Hotelseite: großes Titelbild bis an den Rand, Zurück-Knopf auf dem Bild */
@media (max-width:899px){
 html[data-view="offer"] body.m21r-app #m21r-offer>.m21r-rhead{position:absolute;z-index:5;margin:0;top:max(12px,env(safe-area-inset-top));left:16px}
 html[data-view="offer"] body.m21r-app #m21r-offer>.m21r-rhead>.m21r-link{background:rgba(10,40,50,.55);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
 html[data-view="offer"] body.m21r-app main,html[data-view="offer"] body.m21r-app .m21r-main{padding-top:0!important}
 html[data-view="offer"] body.m21r-app .m21r-mosaic{margin:0 calc(var(--r-gut,16px) * -1) 14px;border-radius:0 0 26px 26px;overflow:hidden}
 html[data-view="offer"] body.m21r-app .m21r-mosaic>*:not(:first-child){display:none}
 html[data-view="offer"] body.m21r-app .m21r-mosaic{display:block!important;height:300px}
 html[data-view="offer"] body.m21r-app .m21r-mosaic>*:first-child{height:100%;border-radius:0}
 html[data-view="offer"] body.m21r-app .m21r-mosaic img{width:100%;height:100%;object-fit:cover}
 html[data-view="offer"] body.m21r-app .m21r-hv__head{background:none!important;box-shadow:none!important;-webkit-backdrop-filter:none;backdrop-filter:none;padding:0 0 6px}
}
@media (max-width:899px){html[data-view="offer"] body.m21r-app .m21r-mosaic>.m21r-mosaic__i:first-child{display:block;width:100%;height:100%}html[data-view="offer"] body.m21r-app .m21r-mosaic>:not(.m21r-mosaic__i){display:block!important}}
html body.m21r-app .m21r-view .m21r-rhead{flex-direction:row!important;justify-content:flex-start!important;text-align:left!important}
html:is([data-view="merkliste"],[data-view="trips"],[data-view="konto"]) body.m21r-app .m21r-rhead>.m21r-link{display:none}
html:is([data-view="merkliste"],[data-view="trips"],[data-view="konto"]) body.m21r-app .m21r-view .m21r-box:first-child{text-align:center}
