:root{
    --travel-navy:#05345f;
    --travel-deep:#062945;
    --travel-blue:#0c5f9f;
    --travel-soft:#f3f7fb;
    --travel-sand:#fbf6ee;
    --travel-line:#dbe6ef;
    --travel-text:#1b2f43;
    --travel-muted:#647486;
    --travel-orange:#ff6b2d;
    --travel-orange-dark:#e95418;
    --travel-shadow:0 18px 45px rgba(4,33,61,.13);
}

html{scroll-behavior:smooth;}
body{
    margin:0;
    background:#fff;
    color:var(--travel-text);
    font-family:'Open Sans','Roboto',Arial,sans-serif;
    font-size:16px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
}
body p{color:var(--travel-muted); line-height:1.72;}
a{color:var(--travel-blue);}
a:hover,a:focus{color:var(--travel-navy); text-decoration:none;}
img{max-width:100%;}

.travel-topbar{
    background:var(--travel-deep);
    color:rgba(255,255,255,.88);
    font-size:13px;
    letter-spacing:.01em;
}
.travel-topbar .container{
    min-height:36px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}
.travel-topbar__left,.travel-topbar__right{display:flex; align-items:center; flex-wrap:wrap; gap:18px;}
.travel-topbar i{margin-right:6px; color:#b9dcff;}
.travel-topbar a{color:#fff;}
.travel-topbar small{opacity:.75; margin-left:4px;}

.travel-mainnav{
    min-height:72px;
    margin:0;
    border:0;
    border-radius:0;
    background:#fff;
    box-shadow:0 1px 0 rgba(5,52,95,.09);
    z-index:1000;
}
.travel-mainnav .container{position:relative;}
.travel-brand.navbar-brand{
    height:72px;
    display:flex;
    align-items:center;
    padding:0 15px;
    color:var(--travel-navy)!important;
    font-family:'Roboto Condensed','Roboto',Arial,sans-serif;
    font-weight:900;
    font-size:30px;
    letter-spacing:-.03em;
    text-shadow:none;
}
.travel-brand span{color:var(--travel-orange);}
.travel-menu>li>a{
    height:72px;
    display:flex!important;
    align-items:center;
    padding:0 15px!important;
    color:#0e375d!important;
    font-weight:700;
    font-size:14px;
    border:0!important;
    background:transparent!important;
}
.travel-menu>li>a:hover,.travel-menu>li.open>a{color:var(--travel-orange)!important; background:#f8fbfe!important;}
.travel-mainnav .dropdown-menu{
    border:0;
    border-radius:12px;
    padding:10px;
    min-width:230px;
    box-shadow:0 14px 36px rgba(4,33,61,.16);
}
.travel-mainnav .dropdown-menu>li>a{
    border-radius:8px;
    color:#24435e;
    padding:9px 12px;
    font-weight:600;
}
.travel-mainnav .dropdown-menu>li>a:hover{background:#eef6fd; color:var(--travel-navy);}
.travel-mainnav .navbar-toggle{margin-top:19px; border:1px solid var(--travel-line);}
.travel-mainnav .navbar-toggle .icon-bar{background:var(--travel-navy);}
.travel-nav-cta>a{
    height:auto!important;
    margin:16px 0 0 10px;
    padding:10px 18px!important;
    border-radius:999px!important;
    background:var(--travel-orange)!important;
    color:#fff!important;
    box-shadow:0 8px 18px rgba(255,107,45,.24);
}
.travel-nav-cta>a:hover{background:var(--travel-orange-dark)!important; color:#fff!important;}

.home-hero{
    position:relative;
    min-height:660px;
    background-size:cover;
    background-position:center center;
    display:flex;
    align-items:center;
    overflow:hidden;
}
.home-hero::after{
    content:"";
    position:absolute;
    left:0; right:0; bottom:-1px;
    height:76px;
    background:linear-gradient(180deg, rgba(255,255,255,0), #fff 86%);
    pointer-events:none;
}
.home-hero__grid{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:minmax(360px, 520px) minmax(360px, 1fr);
    align-items:center;
    gap:70px;
    padding:70px 0 82px;
}
.home-hero__search{
    position:relative;
    background:#fff;
    border-radius:14px;
    box-shadow:var(--travel-shadow);
    padding:18px 18px 16px;
}
.search-card-label{
    display:inline-flex;
    align-items:center;
    height:30px;
    padding:0 12px;
    margin-bottom:8px;
    border-radius:999px;
    background:#e9f4ff;
    color:var(--travel-navy);
    font-weight:800;
    font-size:12px;
    letter-spacing:.03em;
    text-transform:uppercase;
}
.home-hero__copy{color:#fff; max-width:640px;}
.eyebrow,.section-kicker{
    display:inline-flex;
    align-items:center;
    margin:0 0 13px;
    color:var(--travel-orange);
    font-weight:800;
    font-size:13px;
    letter-spacing:.06em;
    text-transform:uppercase;
}
.home-hero__copy .eyebrow{
    color:#fff;
    background:rgba(255,255,255,.15);
    border:1px solid rgba(255,255,255,.24);
    border-radius:999px;
    padding:8px 13px;
    backdrop-filter:blur(6px);
}
.home-hero h1{
    margin:0 0 20px;
    color:#fff;
    font-family:'Roboto Condensed','Roboto',Arial,sans-serif;
    font-weight:900;
    font-size:62px;
    line-height:.96;
    letter-spacing:-.04em;
    text-shadow:0 3px 22px rgba(0,0,0,.28);
}
.home-hero .lead{
    max-width:590px;
    color:rgba(255,255,255,.94);
    font-size:19px;
    line-height:1.64;
    margin:0 0 22px;
}
.hero-checks{list-style:none; padding:0; margin:0 0 26px; color:#fff;}
.hero-checks li{position:relative; padding-left:27px; margin:9px 0; font-weight:700;}
.hero-checks li::before{content:"\f00c"; font-family:FontAwesome; position:absolute; left:0; top:0; color:#a8e3bd;}
.hero-actions{display:flex; flex-wrap:wrap; gap:12px;}
.btn-hero-primary,.btn-hero-secondary,.btn-footer-cta{
    border:0;
    border-radius:999px;
    padding:13px 22px;
    font-weight:800;
    transition:.18s ease;
}
.btn-hero-primary,.btn-footer-cta{background:var(--travel-orange); color:#fff!important;}
.btn-hero-primary:hover,.btn-footer-cta:hover{background:var(--travel-orange-dark); transform:translateY(-1px);}
.btn-hero-secondary{background:#fff; color:var(--travel-navy)!important;}
.btn-hero-secondary:hover{background:#f1f7fb;}

.home-hero__search #searchform-tibe{margin:0;}
.home-hero__search #searchform-tibe label,
.home-hero__search #searchform label{
    color:#54677a;
    font-size:12px;
    font-weight:800;
    letter-spacing:.035em;
    text-transform:uppercase;
    margin:9px 0 5px;
}
.home-hero__search .row{margin-left:-7px; margin-right:-7px;}
.home-hero__search [class*="col-"]{padding-left:7px; padding-right:7px;}
.home-hero__search .form-input,
.home-hero__search .form-control,
.home-hero__search .form-input-btn,
.home-hero__search select,
.home-hero__search input[type="text"]{
    height:45px!important;
    border:1px solid #d8e3ed!important;
    border-radius:7px!important;
    background:#fff!important;
    color:#173855!important;
    font-weight:700!important;
    box-shadow:none!important;
}
.home-hero__search .form-input-btn{text-align:left; width:100%; padding:0 12px;}
.home-hero__search .select-box{position:relative;}
.home-hero__search .form-btn,
.home-hero__search .btn-primary.form-btn{
    position:absolute;
    top:0;
    right:0;
    width:44px;
    height:45px;
    border-radius:0 7px 7px 0!important;
    background:#0f68a8!important;
    border-color:#0f68a8!important;
    display:flex;
    align-items:center;
    justify-content:center;
}
.home-hero__search button[type="submit"],
.home-hero__search .btn-large,
.home-hero__search .btn-block.btn-primary,
.home-hero__search input[type="submit"]{
    min-height:48px;
    border:0!important;
    border-radius:8px!important;
    background:var(--travel-orange)!important;
    color:#fff!important;
    font-weight:900!important;
    box-shadow:none!important;
}
.home-hero__search button[type="submit"]:hover,
.home-hero__search .btn-block.btn-primary:hover{background:var(--travel-orange-dark)!important;}
.home-hero__search .nav-tabs{border:0; display:flex; gap:6px; margin:-4px 0 10px;}
.home-hero__search .nav-tabs>li{float:none; flex:1; margin:0;}
.home-hero__search .nav-tabs>li>a{
    border:1px solid #dbe6ef!important;
    border-radius:8px!important;
    color:#173855!important;
    font-weight:800;
    text-align:center;
    background:#f8fbfe;
}
.home-hero__search .nav-tabs>li.active>a{background:var(--travel-navy)!important; color:#fff!important;}

.site-main{background:#fff;}
.trust-strip{background:#fff; border-bottom:1px solid #edf2f6;}
.trust-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:0;}
.trust-item{
    min-height:112px;
    display:grid;
    grid-template-columns:46px 1fr;
    grid-template-rows:auto auto;
    column-gap:12px;
    align-content:center;
    padding:24px 20px;
    border-right:1px solid #edf2f6;
}
.trust-item:last-child{border-right:0;}
.trust-item i{grid-row:1/3; color:var(--travel-blue); font-size:31px; align-self:center;}
.trust-item strong{color:var(--travel-navy); font-weight:900;}
.trust-item span{color:var(--travel-muted); font-size:14px; line-height:1.45;}

.section{padding:74px 0;}
.section-intro{background:#fff;}
.section-heading{margin-bottom:34px;}
.section-heading--split{display:grid; grid-template-columns:minmax(300px, 520px) 1fr; gap:60px; align-items:end;}
.section-heading h2,
.live-booking-copy h2,
.service-story h2,
.footer-cta h2{
    margin:0;
    color:var(--travel-navy);
    font-family:'Roboto Condensed','Roboto',Arial,sans-serif;
    font-size:42px;
    line-height:1.05;
    letter-spacing:-.025em;
    font-weight:900;
}
.section-heading p{font-size:16px; margin:0 0 4px;}
.section-heading--compact{margin-bottom:24px; align-items:center;}
.category-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.category-card{
    position:relative;
    display:block;
    min-height:280px;
    border:1px solid var(--travel-line);
    border-radius:12px;
    background:#fff;
    overflow:hidden;
    color:var(--travel-text);
    box-shadow:0 8px 24px rgba(4,33,61,.06);
    transition:.18s ease;
}
.category-card:hover{transform:translateY(-4px); box-shadow:0 16px 36px rgba(4,33,61,.12);}
.category-card img{width:100%; height:128px; object-fit:cover; display:block;}
.category-icon{
    width:48px;
    height:48px;
    border-radius:50%;
    background:#fff;
    border:1px solid var(--travel-line);
    color:var(--travel-blue);
    display:flex;
    align-items:center;
    justify-content:center;
    margin:-24px 0 10px 22px;
    box-shadow:0 8px 18px rgba(4,33,61,.12);
    position:relative;
    z-index:2;
    font-size:20px;
}
.category-card h3{margin:0 22px 6px; color:var(--travel-navy); font-size:21px; font-weight:900;}
.category-card p{margin:0 22px 14px; color:var(--travel-muted); font-size:14px; line-height:1.55;}
.category-card strong{display:block; margin:0 22px 22px; color:var(--travel-blue); font-size:14px;}
.category-card strong::after{content:" \f105"; font-family:FontAwesome;}

.live-booking-section{background:linear-gradient(180deg,#f1f7fc 0%,#fff 100%);}
.live-booking-layout{display:grid; grid-template-columns:minmax(290px,390px) 1fr; gap:46px; align-items:start;}
.live-booking-copy p{margin:20px 0; color:#536c83;}
.check-list{list-style:none; padding:0; margin:24px 0 0;}
.check-list li{position:relative; padding-left:30px; margin:12px 0; color:#25455f; font-weight:700;}
.check-list li::before{content:"\f00c"; font-family:FontAwesome; position:absolute; left:0; top:0; color:#2e9d62;}
.live-booking-frame{
    background:#fff;
    border:1px solid var(--travel-line);
    border-radius:14px;
    box-shadow:0 14px 34px rgba(4,33,61,.08);
    overflow:hidden;
}
.live-booking-frame__head{
    min-height:58px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:0 22px;
    color:var(--travel-navy);
    border-bottom:1px solid #e3edf5;
    background:#fbfdff;
}
.live-booking-frame__head strong{font-size:16px;}
.live-booking-frame__head span{font-size:13px; color:#2c7d51; font-weight:800;}
#ypsnet-ibe{
    width:100%;
    min-height:860px;
    background:#fff;
    position:relative;
}
#ypsnet-ibe iframe{
    width:100%!important;
    min-height:860px!important;
    border:0!important;
}

.inspiration-section{background:#fff;}
.text-link{font-weight:900; color:var(--travel-navy);}
.teaser-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.image-teaser{
    min-height:260px;
    border-radius:12px;
    overflow:hidden;
    padding:24px;
    color:#fff!important;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    background-size:cover;
    background-position:center;
    box-shadow:0 12px 28px rgba(4,33,61,.12);
    transition:.18s ease;
}
.image-teaser:hover{transform:translateY(-3px);}
.image-teaser span{
    align-self:flex-start;
    display:inline-flex;
    border-radius:999px;
    padding:5px 10px;
    margin-bottom:14px;
    background:rgba(255,255,255,.92);
    color:var(--travel-navy);
    font-weight:900;
    font-size:12px;
}
.image-teaser h3{color:#fff; margin:0 0 14px; font-size:24px; line-height:1.14; font-weight:900;}
.image-teaser strong{color:#fff; font-size:14px;}
.image-teaser strong::after{content:" \f105"; font-family:FontAwesome;}

.service-story{padding-top:20px; background:#fff;}
.service-story__box{
    display:grid;
    grid-template-columns:1fr 360px;
    gap:40px;
    align-items:center;
    border:1px solid #f0dfc5;
    border-radius:14px;
    background:var(--travel-sand);
    padding:36px 40px;
}
.service-story__box p{margin:16px 0 0;}
.service-story__links{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
.service-story__links a{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    border-radius:999px;
    background:#fff;
    color:var(--travel-navy);
    font-weight:900;
    box-shadow:0 8px 18px rgba(4,33,61,.06);
}
.service-story__links a:hover{background:var(--travel-navy); color:#fff;}

.site-footer{background:var(--travel-deep); color:#fff; margin-top:0;}
.footer-cta{background:#083b68; padding:46px 0;}
.footer-cta__inner{display:flex; align-items:center; justify-content:space-between; gap:30px;}
.footer-cta h2{color:#fff; font-size:38px;}
.footer-cta p{color:rgba(255,255,255,.82); margin:8px 0 0;}
.footer-benefits{border-bottom:1px solid rgba(255,255,255,.12);}
.footer-benefits__grid{display:grid; grid-template-columns:repeat(4,1fr); gap:0;}
.footer-benefits__grid>div{display:grid; grid-template-columns:42px 1fr; grid-template-rows:auto auto; padding:24px 18px; column-gap:12px;}
.footer-benefits i{grid-row:1/3; color:#a9d9ff; font-size:28px; align-self:center;}
.footer-benefits strong{font-weight:900; color:#fff;}
.footer-benefits span{color:rgba(255,255,255,.68); font-size:13px;}
.footer-main{padding:50px 0 0;}
.footer-grid{display:grid; grid-template-columns:1.05fr 1.05fr 1.15fr .95fr 1.55fr; gap:34px;}
.footer-column h4,.footer-contact h4,.organizer-block h4{
    color:#fff;
    margin:0 0 14px;
    font-size:15px;
    font-weight:900;
    letter-spacing:.02em;
}
.footer-column ul{list-style:none; padding:0; margin:0;}
.footer-column li{margin:6px 0;}
.footer-column a,.organizer-block a{color:rgba(255,255,255,.74); font-size:13px;}
.footer-column a:hover,.organizer-block a:hover{color:#fff;}
.footer-contact{padding:22px; border-radius:14px; background:rgba(255,255,255,.06);}
.footer-phone{display:block; margin:8px 0 4px; color:#fff!important; font-size:27px; font-weight:900; line-height:1.2;}
.footer-phone i{margin-right:8px;}
.footer-contact p{color:rgba(255,255,255,.72); margin:5px 0; font-size:13px;}
.footer-mail{display:inline-flex; margin-top:10px; color:#fff!important; font-weight:800;}
.footer-mail i{margin-right:8px;}
.organizer-block{margin-top:42px; padding-top:28px; border-top:1px solid rgba(255,255,255,.12); text-align:center;}
.veranstalter-liste{list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; justify-content:center; gap:8px;}
.veranstalter-liste li{display:inline-flex;}
.veranstalter-liste a{
    display:inline-flex;
    align-items:center;
    min-height:28px;
    padding:4px 11px;
    border-radius:999px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.08);
    color:rgba(255,255,255,.82);
    font-size:12px;
}
.veranstalter-liste a:hover{background:rgba(255,255,255,.16); color:#fff;}
.copy{margin-top:34px; padding:18px 0; background:#052238; color:rgba(255,255,255,.66); text-align:center; font-size:13px;}

#backToTop{
    position:fixed;
    right:22px;
    bottom:22px;
    z-index:9999;
    width:44px;
    height:44px;
    display:none;
    border:0;
    border-radius:50%;
    background:var(--travel-orange);
    color:#fff;
    font-size:22px;
    box-shadow:0 10px 20px rgba(4,33,61,.22);
}

@media (max-width:1199px){
    .travel-menu>li>a{padding:0 9px!important; font-size:13px;}
    .home-hero h1{font-size:54px;}
    .home-hero__grid{gap:40px;}
}
@media (max-width:991px){
    .travel-topbar .container{align-items:flex-start; flex-direction:column; padding-top:8px; padding-bottom:8px; gap:6px;}
    .travel-brand.navbar-brand{font-size:25px;}
    .travel-menu>li>a{height:auto; padding:12px 15px!important; display:block!important;}
    .travel-nav-cta>a{margin:8px 15px 16px; display:inline-flex!important;}
    .home-hero{min-height:auto;}
    .home-hero__grid{grid-template-columns:1fr; padding:42px 0 56px;}
    .home-hero__copy{order:-1;}
    .home-hero h1{font-size:46px;}
    .trust-grid,.footer-benefits__grid{grid-template-columns:repeat(2,1fr);}
    .trust-item{border-bottom:1px solid #edf2f6;}
    .category-grid{grid-template-columns:repeat(2,1fr);}
    .section-heading--split,.live-booking-layout,.service-story__box{grid-template-columns:1fr; gap:25px;}
    .footer-grid{grid-template-columns:repeat(2,1fr);}
    .footer-contact{grid-column:1 / -1;}
}
@media (max-width:767px){
    body{font-size:15px;}
    .container{width:auto;}
    .travel-mainnav{min-height:64px;}
    .travel-brand.navbar-brand{height:64px; font-size:24px; max-width:78%; overflow:hidden; white-space:nowrap;}
    .travel-mainnav .navbar-toggle{margin-top:14px;}
    .home-hero__search{padding:14px;}
    .home-hero h1{font-size:39px;}
    .home-hero .lead{font-size:16px;}
    .section{padding:52px 0;}
    .section-heading h2,.live-booking-copy h2,.service-story h2,.footer-cta h2{font-size:34px;}
    .trust-grid,.category-grid,.teaser-grid,.footer-benefits__grid,.footer-grid{grid-template-columns:1fr;}
    .trust-item{border-right:0;}
    .service-story__box{padding:28px 22px;}
    .service-story__links{grid-template-columns:1fr;}
    .footer-cta__inner{display:block;}
    .btn-footer-cta{margin-top:18px;}
    #ypsnet-ibe,#ypsnet-ibe iframe{min-height:760px!important;}
}
