:root{
    --red:#800020;
    --dark:#20252d;
    --border:#c6c4b9;
    --tile-border:#8f8989;
    --muted:#8f8989;
    --midline:#c6c4b9;
    --closed:#e7e9ec;
    --lightblue:#bfd6e7;
    --white:#ffffff;
    --black:#000000;
}
html{scroll-behavior:smooth}
*{box-sizing:border-box}
body{margin:0}
.di-page{width:100%;background:#fff}
.di-container{max-width:1120px;margin:0 auto;padding:0 16px}

.di-topbar{background:var(--dark);color:var(--white)}
.di-topbar-inner{height:72px;display:flex;align-items:center;justify-content:center;flex-direction:column}
.di-brandmark{display:flex;flex-direction:column;align-items:center;gap:15px}
.di-brandmark-logo-img{height:58px;width:auto;display:block}
.di-brandmark-word-img{height:22px;width:auto;max-width:260px;display:block}

.di-hero{position:relative;display:flex;align-items:flex-end;justify-content:flex-start;min-height:100vh;min-height:100svh}
.di-hero-media{position:absolute;inset:0;overflow:hidden;background:url("/img/header/destination_header.webp") center top/cover no-repeat}
.di-hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.35),rgba(0,0,0,.05))}
.di-hero-logo{position:absolute;top:30px;left:50%;transform:translateX(-50%);color:#fff;text-align:center}
.di-hero-logo .di-brandmark-logo-img{height:66px}
.di-hero-logo .di-brandmark-word-img{height:31px;max-width:320px}
.di-hero-rule{position:absolute;top:92px;left:0;right:0;height:2px;background:rgba(255,255,255,.45)}
.di-hero-content{position:relative;width:100%;padding:0 0 88px 0}
.di-hero-grid{display:grid;grid-template-columns:1fr;gap:18px;max-width:620px;justify-items:start;text-align:left;padding-left:clamp(32px,4vw,48px)}
.di-hero-headline{font-family:Raleway,sans-serif;font-size:38pt;font-weight:400;color:#fff;line-height:1.08;margin:0;text-align:left}
.di-hero-headline .di-accent{font-weight:700;color:var(--lightblue)}
.di-plane{display:inline-flex;align-items:center;gap:14px}
.di-plane svg{width:140px;height:auto;transform:translateX(-105px) translateY(15px) scaleX(-1) rotate(235deg) scale(1.3);transform-origin:center}
.di-hero-cta{display:inline-flex;align-items:center;justify-content:center;background:var(--red);color:#fff;font-family:Montserrat,sans-serif;font-size:16pt;padding:14px 22px;border-radius:999px;text-decoration:none;width:max-content;justify-self:start;margin-top:22px;margin-left:-20px}

.di-section{padding:64px 0}
.di-h2{font-family:Montserrat,sans-serif;font-size:35pt;font-weight:400;color:#000;margin:0 0 10px 0}
.di-underline{width:210px;height:3px;background:var(--red);margin:6px 0 26px 0}

.di-chips{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 22px 0}
.di-chip{display:inline-grid;place-items:center;padding:9px 14px;border:1px solid var(--border);border-radius:10px;background:#fff;color:#000;text-decoration:none;font-family:Montserrat,sans-serif;font-size:12pt;line-height:1}
.di-chip-label{grid-area:1/1;white-space:nowrap;font-weight:400}
.di-chip::before{content:attr(data-label);grid-area:1/1;font-weight:700;visibility:hidden;white-space:nowrap}
.di-chip.is-active{box-shadow:inset 0 -2px 0 var(--red)}
.di-chip.is-active .di-chip-label{font-weight:700}

.di-top-offer-grid{display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible}
.di-card-link{display:block;text-decoration:none;color:inherit;overflow:visible;padding:10px}
.di-card{position:relative;border:1px solid var(--tile-border);background:#fff;z-index:0;transition:transform .22s ease,box-shadow .22s ease;will-change:transform;transform-origin:center center;backface-visibility:hidden;outline:1px solid transparent}
@media (hover:hover) and (pointer:fine){
    .di-card-link:hover .di-card{z-index:10;transform:scale(1.03)}
}
.di-card-link:focus-visible .di-card{z-index:10;transform:scale(1.03)}
.di-city-img{width:100%;height:100%;object-fit:cover;display:block}
.di-city-label{position:absolute;top:10px;left:10px;background:#fff;padding:4px 8px;font-family:Montserrat,sans-serif;font-weight:700;font-size:13pt;color:var(--dark);border-bottom:3px solid var(--red)}
.di-card-media{position:relative;overflow:hidden}

.di-ribbon-wrap{
    position:absolute;
    top:0;
    right:0;
    width:110px;     /* ggf. 110–140 anpassen */
    height:110px;    /* ggf. 110–140 anpassen */
    overflow:hidden; /* clippt sauber im Eck */
    z-index:5;
    pointer-events:none;
}

.di-ribbon{
    position:absolute;
    left:70%;
    top:30%;
    width:220px;     /* muss > diagonal der wrap-box sein */
    padding:6px 0;

    display:flex;
    align-items:center;
    justify-content:center;  /* TEXT IMMER MITTIG */

    transform:translate(-50%,-50%) rotate(45deg);

    background:var(--red);
    color:#fff;
    font-family:Montserrat,sans-serif;
    font-weight:700;
    font-size:10pt;
    text-transform:uppercase;

    white-space:nowrap;
    line-height:1;
}





.di-price-overlay{position:absolute;right:12px;bottom:12px}

.di-card-footer{display:flex;align-items:flex-end;justify-content:space-between;padding:14px 14px 16px 14px;gap:12px}
.di-airline{display:flex;align-items:center;justify-content:center;align-self:center}
.di-airline-logo-img{height:28px;width:auto;max-width:120px;display:block}
.di-meta{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.di-class{font-family:Montserrat,sans-serif;font-size:12pt;font-weight:700;color:var(--dark);padding-right:15px;text-align: end}
.di-class .is-first{color:var(--red)}
.di-price-pill{background:var(--dark);color:#fff;border-radius:999px;padding:10px 18px;font-family:Montserrat,sans-serif;font-size:14pt;line-height:1;white-space:nowrap}

.di-carousel{position:relative}
.di-carousel-viewport{overflow:hidden}
.di-carousel-track{display:flex;gap:18px;transition:transform .35s ease;will-change:transform;overflow:visible}
.di-carousel-track>.di-card-link{flex:0 0 calc((100% - 36px)/3);min-width:0}
.di-carousel-btn{position:absolute;top:50%;transform:translateY(-50%);width:64px;height:64px;border:0;padding:0;background:transparent;cursor:pointer;z-index:50;user-select:none;-webkit-tap-highlight-color:transparent}
.di-carousel-btn[hidden]{display:none}
.di-carousel-btn span{display:block;margin:auto;width:34px;height:34px;border-right:4px solid #111827;border-bottom:4px solid #111827}
.di-carousel-prev{left:-90px}
.di-carousel-prev span{transform:rotate(135deg)}
.di-carousel-next{right:-90px}
.di-carousel-next span{transform:rotate(-45deg)}

.di-breadcrumb{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 22px 0}
.di-bc-item{font-family:Montserrat,sans-serif;font-size:16pt;text-decoration:none}
.di-bc-alle{color:#000;font-weight:400}
.di-bc-strong{color:var(--dark);font-weight:700;border-bottom:3px solid var(--red);padding-bottom:2px}
.di-bc-sep{width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:10px solid var(--red)}
.di-bc-sep-2{width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-right:10px solid var(--red)}
.di-bc-x{color:var(--red);font-family:Montserrat,sans-serif;font-size:18pt;line-height:1;text-decoration:none}

.di-offers{display:flex;flex-direction:column;gap:0}
.di-offers>.di-offer+.di-offer{margin-top:22px}
.di-offer{border:1px solid var(--tile-border);background:#fff;border-top:0}
.di-offer-summary{list-style:none;cursor:pointer;display:block;padding:0;margin:0}
.di-offer-summary::-webkit-details-marker{display:none}
.di-offer-summary::marker{content:""}

.di-offer-image{position:relative;height:290px;overflow:hidden;background:linear-gradient(135deg,#d7dbe0,#8e9aa6)}
.di-offer-bar{display:grid;grid-template-columns:1fr auto;gap:22px;align-items:center;padding:22px 26px;background:var(--closed);border-top:1px solid var(--tile-border)}
.di-offer-airline{display:flex;align-items:center;gap:16px;min-width:0}
.di-offer .di-airline-logo-img{height:64px;width:auto;max-width:220px;display:block}
.di-airline-badge{width:52px;height:52px;border-radius:999px;border:2px solid rgba(0,0,0,.25);display:grid;place-items:center;font-family:Montserrat,sans-serif;font-weight:700;font-size:14pt;color:var(--dark);background:#fff}
.di-airline-name{font-family:Montserrat,sans-serif;font-weight:700;font-size:32pt;line-height:1.02;color:var(--dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:560px}
.di-offer-meta{display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.di-offer-class{font-family:Montserrat,sans-serif;font-size:14pt;font-weight:700;color:var(--dark)}
.di-offer-class .is-first{color:var(--red)}
.di-offer-meta .di-price-pill{min-width:340px;text-align:center}
.di-from{font-family:Montserrat,sans-serif;font-size:13pt;color:#000}

.di-offer-body{background:#fff;border-top:1px solid var(--midline);padding:18px 22px 22px 22px}
.di-offer-body-inner{display:grid;grid-template-columns:1fr auto;gap:26px;align-items:start}
.di-flightlink{display:inline-flex;align-items:center;gap:10px;font-family:Montserrat,sans-serif;font-size:13pt;font-weight:700;color:#000;text-decoration:none;border-bottom:2px solid var(--red);padding-bottom:2px;width:max-content}
.di-flightlink .di-arrow{font-size:14pt;color:#000}
.di-bullets{margin:14px 0 0 0;padding:0 0 0 18px;display:grid;gap:8px}
.di-bullets li{font-family:Montserrat,sans-serif;font-size:13pt;color:#000}
.di-offer-actions{display:flex;flex-direction:column;align-items:flex-end;gap:10px;padding-top:6px}
.di-book{background:var(--red);color:#fff;font-family:Montserrat,sans-serif;font-size:16pt;border-radius:999px;padding:12px 28px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}
.di-direct{font-family:Montserrat,sans-serif;font-size:12pt;font-weight:700;color:#000;text-align:right}

.di-news{padding:56px 0 64px 0}
.di-subline{font-family:Montserrat,sans-serif;font-size:14pt;color:#000;margin:0 0 22px 0}
.di-form{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:end;max-width:760px}
.di-field label{display:block;font-family:Roboto,sans-serif;font-size:16pt;color:#000;margin-bottom:8px}
.di-field select,.di-field input{width:100%;height:44px;border:1px solid var(--midline);padding:8px 12px;font-family:Roboto,sans-serif;font-size:12pt;outline:none}
.di-check{grid-column:1 / -1;display:flex;gap:12px;align-items:flex-start}
.di-check input{width:18px;height:18px;margin-top:3px}
.di-check span{font-family:Roboto,sans-serif;font-size:16pt;color:#000}
.di-fineprint{grid-column:1 / -1;font-family:Roboto,sans-serif;font-size:12pt;color:var(--muted);line-height:1.35}
.di-dsgvo{grid-column:1 / -1;font-family:Roboto,sans-serif;font-size:12pt;color:#000}
.di-dsgvo a{color:#000;text-decoration:underline}
.di-submit{grid-column:1 / -1;display:flex;justify-content:flex-start}
.di-submit button{background:var(--red);color:#fff;font-family:Montserrat,sans-serif;font-size:16pt;border:none;border-radius:999px;padding:10px 22px;cursor:pointer}

.di-footer{background:var(--dark);color:#fff;padding:64px 0 52px 0}
.di-footer-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;text-align:center}
.di-footer-links{display:grid;gap:1px}
.di-footer-links a{color:#fff;text-decoration:none;font-family:Montserrat,sans-serif;font-size:10pt}
.di-footer .di-brandmark-logo-img{height:80px}
.di-footer .di-brandmark-word-img{height:26px;max-width:360px}

.di-page,.di-page *{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}
.di-page input,.di-page textarea,.di-page select,.di-page option,.di-page [contenteditable="true"]{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}
img{-webkit-user-drag:none;user-drag:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}

#offer{padding-top:64px!important}

.di-brandmark-word-img{height:31px}
.di-tagline{font-family:Montserrat,sans-serif;font-size:10pt;font-weight:400;line-height:1}

.di-fade-item{opacity:0;transform:translateY(10px);transition-property:opacity,transform;transition-timing-function:ease;will-change:opacity,transform}
.di-fade-item.di-fade-in{opacity:1;transform:translateY(0)}
@media (prefers-reduced-motion: reduce){
    .di-fade-item{transition:none;transform:none}
}

@media (max-width: 1300px){
    .di-carousel-btn{display:none!important}
    .di-carousel-viewport{overflow:visible}
    .di-carousel-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));transform:none!important;transition:none!important}
    .di-carousel-track>.di-card-link{flex:none;min-width:0;width:auto;padding:0}
    .di-card-link{padding:0}
}

@media (max-width: 992px){
    .di-top-offer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .di-h2{font-size:30pt}
    .di-underline{width:190px}
    .di-offer-meta .di-price-pill{min-width:280px}
    .di-airline-name{font-size:28pt;max-width:100%}
}

@media (max-width: 900px){
    .di-carousel-track{grid-template-columns:repeat(2,minmax(0,1fr))}
    .di-carousel-btn{display:none!important}
    .di-carousel-viewport{overflow:visible}
    .di-carousel-track{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));transform:none!important;transition:none!important}
    .di-carousel-track>.di-card-link{flex:none;min-width:0;width:auto;padding:0}
    .di-card-link{padding:0}
    .di-offer-image{height:260px}
    .di-offer-meta .di-price-pill{min-width:260px}
}

@media (max-width: 640px){
    .di-carousel-track{grid-template-columns:1fr}

    .di-container{padding:0 14px}

    .di-topbar-inner{height:92px}
    .di-brandmark{gap:10px}
    .di-brandmark-logo-img{height:48px}
    .di-brandmark-word-img{height:20px;max-width:240px}
    .di-tagline{font-size:9pt}

    .di-hero-logo{top:26px}
    .di-hero-rule{top:84px}
    .di-hero-content{padding-bottom:46px}
    .di-hero-grid{max-width:100%;justify-items:right;text-align:center;padding-left:0;padding-right:0}
    .di-hero-headline{font-size:30pt;text-align:right;padding-right: 40px;}
    .di-plane{justify-content:center;flex-direction: row-reverse;align-items: flex-start;padding: 60px 20px 0 0;}
    .di-plane svg{width:132px;transform:translateX(95px) translateY(-40px) rotate(235deg) scale(1.18)}
    .di-hero-cta{margin-left:0;width:100%;max-width:420px;justify-self:end;}

    .di-h2{font-size:24pt}
    .di-underline{width:160px}

    .di-chips{gap:8px}
    .di-chip{padding:8px 12px;font-size:11pt}

    .di-top-offer-grid{grid-template-columns:1fr}
    .di-carousel-track{grid-template-columns:1fr}
    .di-price-pill.di-price-overlay{background:#fff;color:var(--dark);border:1px solid rgba(0,0,0,.10);box-shadow:0 6px 18px rgba(0,0,0,.12)}

    .di-bc-item{font-size:13pt}
    .di-bc-x{font-size:16pt}

    .di-offer-image{height:220px}
    .di-offer-bar{grid-template-columns:1fr;align-items:start;padding:18px 18px;gap:14px}
    .di-offer-meta{align-items:flex-start}
    .di-offer-meta .di-price-pill{min-width:0;width:100%;text-align:center}
    .di-offer-body-inner{grid-template-columns:1fr;gap:16px}
    .di-offer-actions{align-items:flex-start}
    .di-book{width:100%}
    .di-direct{text-align:left}
    .di-airline-name{font-size:22pt}

    .di-form{grid-template-columns:1fr}
    .di-field label{font-size:14pt}
    .di-check span{font-size:14pt}

    /*.destinations-for-tarif .custom-control-input.tarif_destination_checkbox { opacity: 1 !important}*/

}
/* Airline-Logo-Link: keine Unterstreichung, kein Inline-Gap */
.di-airline a,
.di-offer-airline a{
    display:inline-flex;
    align-items:center;
    text-decoration:none;
    line-height:0;
}

/* optional: sichtbarer Fokus für Tastatur */
.di-airline a:focus-visible,
.di-offer-airline a:focus-visible{
    outline:2px solid var(--lightblue);
    outline-offset:4px;
    border-radius:8px;
}

.datenschutz.container,
.impressum.container {
    padding: 24px;
}
