.detail-body{background:#faf8f3;color:#2e2e2e}.detail-header{position:absolute}.detail-header .brand img{filter:none}.detail-hero{min-height:78vh;position:relative;display:flex;align-items:flex-end;background-size:cover;background-position:center}.detail-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,18,12,.18),rgba(15,18,12,.72))}.detail-hero-content{position:relative;z-index:2;color:#fff;padding:10rem 0 5rem}.detail-hero h1{font-size:clamp(3.2rem,8vw,7rem);line-height:.9;margin:.5rem 0 1.25rem}.detail-hero p{max-width:720px;font-size:1.15rem}.detail-facts{display:grid;grid-template-columns:repeat(5,1fr);background:#fff;border-radius:1rem;box-shadow:0 18px 55px rgba(41,44,31,.12);margin-top:-2.3rem;position:relative;z-index:3}.detail-fact{padding:1.5rem;border-right:1px solid #e6e0d5}.detail-fact:last-child{border:0}.detail-fact strong{display:block;font-family:Corbel,'Trebuchet MS',Arial,sans-serif;font-size:2rem;color:#596141}.detail-fact span{font-size:.85rem;color:#6f7169}.detail-intro{display:grid;grid-template-columns:.9fr 1.1fr;gap:6rem;align-items:start}.detail-intro h2,.detail-section h2{font-size:clamp(2.5rem,5vw,4.5rem);line-height:1}.detail-lead{font-size:1.12rem;line-height:1.9}.room-plan{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.room-card{background:#fff;padding:1.6rem;border:1px solid #e6e0d5;border-radius:.8rem}.room-card span{display:block;color:#777b69;font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:.5rem}.room-card h3{font-size:1.5rem;margin:.2rem 0 .5rem}.room-card p{color:#666;line-height:1.65}.amenity-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#ddd7ca;border:1px solid #ddd7ca}.amenity{background:#faf8f3;padding:1.6rem;min-height:130px}.amenity b{display:block;margin-bottom:.5rem;color:#596141}.detail-gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:260px 260px;gap:.75rem}.detail-gallery button{border:0;padding:0;overflow:hidden;cursor:pointer}.detail-gallery button:first-child{grid-row:1/3}.detail-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.detail-gallery button:hover img{transform:scale(1.04)}.floorplan-wrap{display:grid;grid-template-columns:1fr .85fr;gap:4rem;align-items:center}.floorplan-card{background:#fff;padding:1rem;border-radius:1rem;box-shadow:0 16px 50px rgba(40,43,30,.1)}.floorplan-card img{width:100%;display:block}.booking-banner{background:#596141;color:#fff;border-radius:1rem;padding:3rem;display:flex;justify-content:space-between;align-items:center;gap:2rem}.booking-banner h2{margin:0 0 .5rem;font-size:clamp(2rem,4vw,3.5rem)}.back-link{display:inline-flex;gap:.5rem;align-items:center;margin-bottom:1.5rem;color:#fff}.detail-note{background:#ede8dc;border-left:4px solid #727a55;padding:1.2rem 1.4rem;margin-top:1.5rem}.detail-footer{margin-top:0}@media(max-width:900px){.detail-facts{grid-template-columns:repeat(2,1fr)}.detail-fact{border-bottom:1px solid #e6e0d5}.detail-intro,.floorplan-wrap{grid-template-columns:1fr;gap:2rem}.room-plan{grid-template-columns:1fr}.amenity-grid{grid-template-columns:repeat(2,1fr)}.detail-gallery{grid-template-columns:1fr 1fr;grid-template-rows:240px 180px 180px}.detail-gallery button:first-child{grid-column:1/3;grid-row:auto}.booking-banner{align-items:flex-start;flex-direction:column}}@media(max-width:600px){.detail-hero{min-height:70vh}.detail-hero-content{padding:8rem 0 3rem}.detail-facts{margin-top:0;border-radius:0;grid-template-columns:1fr 1fr}.detail-fact{padding:1rem}.amenity-grid{grid-template-columns:1fr}.detail-gallery{display:grid;grid-template-columns:1fr;grid-template-rows:repeat(5,220px)}.detail-gallery button:first-child{grid-column:auto}.booking-banner{border-radius:0;margin-inline:-1.25rem}.detail-header .header-actions{display:none}}.detail-hero h1,.detail-intro h2,.detail-section h2,.booking-banner h2{font-style:italic}

/* Global consistency system */
.detail-header{position:fixed!important;top:0!important}.detail-hero{min-height:62vh;margin-top:78px;background-position:center}.detail-hero-content{padding:72px 0}.detail-hero h1{font-family:Corbel,'Trebuchet MS',Arial,sans-serif;font-size:clamp(56px,7vw,108px);font-style:italic;font-weight:600;letter-spacing:-.035em;line-height:.92}.detail-intro h2,.detail-section h2,.booking-banner h2{font-family:Corbel,'Trebuchet MS',Arial,sans-serif;font-style:italic;line-height:1}.room-card,.floorplan-card,.booking-banner{border-radius:6px}
@media(max-width:780px){.detail-hero{min-height:520px;margin-top:68px}.detail-hero-content{padding:56px 0 42px}.detail-hero h1{font-size:clamp(44px,13vw,68px);line-height:.96}}

/* Final mobile layout pass for chalet detail pages. */
@media(max-width:780px){
  .detail-body{width:100%;max-width:100%;overflow-x:clip}
  .detail-hero{min-height:0!important;height:auto;aspect-ratio:4/5;margin-top:0!important;background-position:center}
  .detail-hero-content{width:calc(100% - 36px)!important;padding:120px 0 34px!important}
  .detail-hero h1{font-size:clamp(38px,11.5vw,54px)!important;line-height:1.04!important;overflow-wrap:anywhere}
  .detail-hero p{font-size:15px;line-height:1.5}
  .detail-facts{width:calc(100% - 36px);margin:0 auto!important;grid-template-columns:1fr 1fr!important;border-radius:0;box-shadow:none}
  .detail-fact{min-width:0;padding:14px!important}
  .detail-fact strong{font-size:1.55rem;overflow-wrap:anywhere}
  .detail-intro,.floorplan-wrap{grid-template-columns:minmax(0,1fr)!important;gap:28px!important}
  .detail-intro h2,.detail-section h2,.booking-banner h2{font-size:clamp(34px,10vw,48px)!important;line-height:1.05!important;overflow-wrap:anywhere}
  .detail-lead{font-size:16px;line-height:1.75}
  .room-plan,.amenity-grid{grid-template-columns:1fr!important}
  .room-card,.amenity{padding:20px}
  .detail-gallery{grid-template-columns:1fr!important;grid-template-rows:none!important;gap:12px}
  .detail-gallery button,.detail-gallery button:first-child{grid-column:auto!important;grid-row:auto!important;width:100%;height:auto;aspect-ratio:4/3}
  .floorplan-card{padding:8px}
  .booking-banner{width:100%!important;margin:0!important;padding:28px 22px!important;border-radius:0!important}
  .booking-banner .btn{width:100%}
}
@media(max-width:390px){
  .detail-hero-content,.detail-facts{width:calc(100% - 28px)!important}
  .detail-hero h1{font-size:clamp(35px,11vw,45px)!important}
  .detail-facts{grid-template-columns:1fr!important}
}


/* Prevent chalet headers from becoming oversized on tall desktop screens. */
@media(min-width:901px){
  .detail-hero{
    height:clamp(560px,calc(62vh + 78px),760px)!important;
    min-height:0!important;
  }
}

.fact-icon{
  display:block;
  width:34px;
  height:34px;
  margin-bottom:12px;
  color:#596141;
  fill:none;
  stroke:currentColor;
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}
.detail-back-to-top{position:fixed;right:15px;bottom:18px;z-index:59;width:40px;height:40px;border-radius:50%;display:none;place-items:center;background:rgba(63,70,48,.74);color:#fff;border:1px solid rgba(255,255,255,.42);box-shadow:0 10px 26px rgba(12,15,10,.17);font-size:18px;line-height:1;opacity:0;pointer-events:none;transform:translateY(7px);transition:transform .22s ease,background .22s ease,opacity .22s ease}
.image-modal p{display:none!important}
.detail-back-to-top.is-visible{display:grid;opacity:.82;pointer-events:auto;transform:none}
.detail-back-to-top:hover,.detail-back-to-top:focus-visible{opacity:1;transform:translateY(-3px);background:#3f4630;outline:2px solid #fff;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.detail-back-to-top{transition:none}}
.modal-nav{display:none;position:fixed;top:50%;z-index:10001;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.5);background:rgba(63,70,48,.78);color:#fff;place-items:center;font-size:28px;line-height:1;cursor:pointer;transform:translateY(-50%);transition:background .2s ease,transform .2s ease}
.image-modal.has-gallery-nav .modal-nav{display:grid}
.modal-prev{left:22px}.modal-next{right:22px}
.modal-nav:hover,.modal-nav:focus-visible{background:#596141;transform:translateY(-50%) scale(1.06);cursor:pointer;outline:none}
@media(max-width:600px){.modal-nav{width:40px;height:40px;font-size:22px}.modal-prev{left:8px}.modal-next{right:8px}}
.booking-banner .section-kicker{color:#f1eadb!important;opacity:1}.detail-footer .footer-contact a{text-decoration:none}.detail-footer .footer-contact a:hover,.detail-footer .footer-contact a:focus-visible{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.booking-banner .hero-buttons{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:14px;opacity:1!important}
.booking-banner .btn{
  min-width:210px;
  min-height:54px;
  padding:0 24px;
  border:1px solid rgba(255,255,255,.78);
  border-radius:999px;
  color:#fff;
  background:rgba(255,255,255,.08);
  box-shadow:0 12px 28px rgba(25,29,19,.13);
  backdrop-filter:blur(4px);
}
.booking-banner .btn:first-child{background:#fff;color:#4f583b;border-color:#fff}
.booking-banner .btn:hover{background:#fff;color:#4f583b;transform:translateY(-2px);box-shadow:0 17px 34px rgba(25,29,19,.2)}
.booking-banner .btn:first-child:hover{background:#f1eadb;border-color:#f1eadb}
@media(max-width:900px){.booking-banner .hero-buttons{width:100%;justify-content:flex-start}.booking-banner .btn{width:auto}}
@media(max-width:600px){.booking-banner .hero-buttons{gap:10px}.booking-banner .btn{width:100%;min-width:0}}

/* Keep both booking choices balanced and prevent the longer Sunweb label from overlapping. */
@media(min-width:901px){
  .booking-banner{
    display:grid;
    grid-template-columns:minmax(0,1fr) 600px;
    gap:32px;
  }
  .booking-banner .hero-buttons{
    display:grid;
    grid-template-columns:1fr 1fr;
    width:600px;
    gap:12px;
  }
  .booking-banner .btn{
    width:100%;
    min-width:0;
    padding-inline:16px;
    white-space:nowrap;
    font-size:10px;
    gap:8px;
  }
}
@media(min-width:901px) and (max-width:1180px){
  .booking-banner{grid-template-columns:1fr;align-items:start}
  .booking-banner .hero-buttons{width:min(100%,600px);justify-self:start}
}

.booking-banner .btn{position:relative}
.booking-banner .btn span:first-child{min-width:0;width:100%;text-align:center}
.booking-banner .btn span:first-child{line-height:1.12}
.booking-banner .btn span:last-child{flex:0 0 auto}
.booking-banner .btn span+span{position:absolute;right:14px;top:50%;transform:translateY(-50%)}
@media(max-width:600px){
  .booking-banner .btn{white-space:normal!important;line-height:1.25!important;padding:10px 16px!important}
}
.booking-banner .winter-sunweb-btn{height:52px;min-height:52px;padding:6px 38px 6px 16px!important;white-space:normal!important}
.booking-banner .winter-sunweb-btn span:first-child{display:block;line-height:1.15!important;text-align:center;white-space:nowrap!important}

/* Premium amenities cards shared by both chalet categories */
.amenity-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;background:transparent;border:0;margin-top:34px}
.amenity{position:relative;min-height:220px;padding:30px 28px 28px;overflow:hidden;background:linear-gradient(145deg,#fff 0%,#faf7f0 100%);border:1px solid rgba(89,97,65,.16);border-radius:14px;box-shadow:0 10px 32px rgba(44,47,34,.055);transition:transform .32s ease,border-color .32s ease,box-shadow .32s ease,background-color .32s ease}
.amenity:before{display:none}
.amenity-icon{display:block;width:34px;height:34px;margin-bottom:24px;color:#68704d;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round;transition:transform .32s ease,color .32s ease}
.amenity:after{content:"";position:absolute;left:0;top:0;width:0;height:3px;background:#68704d;transition:width .38s ease}
.amenity b{display:block;margin:0 0 10px;color:#434a31;font-family:Corbel,'Trebuchet MS',Arial,sans-serif;font-size:1.08rem;letter-spacing:.01em}
.amenity span{display:block;color:#55584f;font-size:.94rem;line-height:1.72}
@media(hover:hover) and (pointer:fine){.amenity:hover{transform:translateY(-5px);background:#fff;border-color:rgba(89,97,65,.42);box-shadow:0 20px 46px rgba(44,47,34,.12)}.amenity:hover .amenity-icon{transform:translateY(-2px) scale(1.06);color:#4d5538}.amenity:hover:after{width:100%}}
@media(max-width:900px){.amenity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.amenity{min-height:205px}}
@media(max-width:600px){.amenity-grid{grid-template-columns:1fr;gap:14px;margin-top:26px}.amenity{min-height:0;padding:24px 22px}.amenity-icon{width:30px;height:30px;margin-bottom:18px}}

/* Room cards use the exact same visual language as the amenity cards. */
.room-card{
  position:relative;
  overflow:hidden;
  background:linear-gradient(145deg,#fff 0%,#faf7f0 100%);
  border:1px solid rgba(89,97,65,.16);
  border-radius:14px;
  box-shadow:0 10px 32px rgba(44,47,34,.055);
  transition:transform .32s ease,border-color .32s ease,box-shadow .32s ease,background-color .32s ease;
}
.room-card::after{content:"";position:absolute;left:0;top:0;width:0;height:3px;background:#68704d;transition:width .38s ease}
@media(hover:hover) and (pointer:fine){.room-card:hover{transform:translateY(-5px);background:#fff;border-color:rgba(89,97,65,.42);box-shadow:0 20px 46px rgba(44,47,34,.12)}.room-card:hover::after{width:100%}}

/* Direct navigation between both chalet categories. */
.cross-chalet-section{padding-top:18px!important}
.cross-chalet-card{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:34px 38px;background:linear-gradient(145deg,#fff 0%,#faf7f0 100%);border:1px solid rgba(89,97,65,.16);border-radius:14px;box-shadow:0 10px 32px rgba(44,47,34,.055)}
.cross-chalet-card .section-kicker{margin-bottom:8px}
.cross-chalet-card h2{max-width:760px;margin:0;font-family:Corbel,'Trebuchet MS',Arial,sans-serif;font-size:clamp(28px,3.2vw,44px);font-style:italic;line-height:1.05}
.cross-chalet-card .btn{flex:0 0 auto}
@media(max-width:780px){.cross-chalet-section{padding-top:0!important}.cross-chalet-card{align-items:flex-start;flex-direction:column;padding:26px 22px;gap:24px}.cross-chalet-card .btn{width:100%}}

/* v20260812-30 — DE | EN premium language capsule */
.language-switcher,.page-lang{
  display:inline-flex;align-items:center;gap:0!important;padding:3px;border:1px solid rgba(255,255,255,.52);
  border-radius:999px;background:rgba(255,255,255,.13);box-shadow:0 8px 24px rgba(12,15,10,.08);
}
.language-switcher .lang-btn,.page-lang button{
  position:relative;min-width:38px;height:30px;padding:0 10px!important;border:0!important;border-radius:999px;
  display:grid;place-items:center;color:inherit;font-size:11px!important;font-weight:700!important;letter-spacing:.08em;
  line-height:1;text-decoration:none!important;opacity:.74;transition:background-color .25s ease,color .25s ease,opacity .25s ease,box-shadow .25s ease;
}
.language-switcher .lang-btn+ .lang-btn,.page-lang button+button{border-left:1px solid rgba(255,255,255,.34)!important;border-radius:0 999px 999px 0}
.language-switcher .lang-btn.active,.page-lang button.active{
  background:#fff!important;color:#465036!important;opacity:1!important;box-shadow:0 3px 12px rgba(20,24,16,.13);border-radius:999px!important;
}
.site-header.scrolled .language-switcher,.page-header.scrolled .page-lang,.page-header.open .page-lang{
  border-color:rgba(89,97,65,.28);background:rgba(255,255,255,.72);
}
.site-header.scrolled .language-switcher .lang-btn+ .lang-btn,.page-header.scrolled .page-lang button+button,.page-header.open .page-lang button+button{border-left-color:rgba(89,97,65,.25)!important}
@media(hover:hover) and (pointer:fine){.language-switcher .lang-btn:hover,.page-lang button:hover{opacity:1}}
@media(max-width:900px){.language-switcher,.page-header.open .page-lang{padding:3px!important;border-radius:999px!important}.language-switcher .lang-btn,.page-header.open .page-lang button{min-width:38px!important;height:30px!important;padding:0 8px!important}}
/* v20260812-34 — no divider in DE EN switch */
.language-switcher .lang-btn+ .lang-btn,.page-lang button+button{border-left:0!important}

/* v20260812-40 — FINAL shared navigation system */
@media(min-width:1101px){
  .site-header,.site-header.scrolled,.site-header:not(.scrolled),.page-header,.page-header.scrolled{
    height:78px!important;min-height:78px!important;padding:0 48px!important;
  }
  .main-nav,.page-nav{
    display:flex!important;flex:1 1 auto!important;align-items:center!important;justify-content:space-between!important;
    width:auto!important;max-width:1035px!important;gap:0!important;column-gap:0!important;
    font-family:Corbel,'Trebuchet MS',Arial,sans-serif!important;font-size:14px!important;font-weight:500!important;
    line-height:1.2!important;letter-spacing:.02em!important;
  }
  .main-nav a,.page-nav a,html[lang="en"] .site-header .main-nav a{
    display:block!important;flex:0 0 auto!important;width:auto!important;min-width:0!important;
    padding:10px 0!important;margin:0!important;text-align:center!important;white-space:nowrap!important;
    font-family:Corbel,'Trebuchet MS',Arial,sans-serif!important;font-size:14px!important;font-weight:500!important;
    line-height:1.2!important;letter-spacing:.02em!important;
  }
  .site-header{grid-template-columns:minmax(0,1035px) auto!important;justify-content:space-between!important;gap:24px!important}
  .page-header{display:flex!important;justify-content:space-between!important;gap:24px!important}
  .header-actions,.page-lang{flex:0 0 auto!important}
}
.language-switcher .lang-btn+ .lang-btn,.page-lang button+button{border-left:0!important}
/* v20260812-41 — FINAL shared mobile navigation typography */
@media(max-width:900px){
  .main-nav a,.page-nav a,.page-header.open .page-nav a,body.menu-open .main-nav a{
    font-family:Corbel,'Trebuchet MS',Arial,sans-serif!important;
    font-size:21px!important;font-weight:500!important;line-height:1.2!important;letter-spacing:.02em!important;
  }
}
/* v20260814-42 — language-independent desktop navigation tracks */
@media(min-width:1101px){
  .main-nav,.page-nav{
    display:grid!important;
    grid-template-columns:45px 103px 61px 50px 60px 77px 52px 104px 106px 34px 58px!important;
    column-gap:24px!important;gap:24px!important;
    justify-content:start!important;align-items:center!important;
    width:990px!important;max-width:990px!important;flex:0 0 990px!important;
  }
  .main-nav a,.page-nav a,html[lang="en"] .site-header .main-nav a{
    width:100%!important;min-width:0!important;padding:10px 0!important;
    text-align:center!important;white-space:nowrap!important;font-size:14px!important;
  }
  .site-header{grid-template-columns:990px auto!important;justify-content:space-between!important}
  .page-header{justify-content:space-between!important}
}
/* v20260814-45 — fluid desktop header with identical DE/EN positions */
@media(min-width:1101px){
  .site-header,.page-header{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 84px!important;
    column-gap:32px!important;
    justify-content:stretch!important;
    align-items:center!important;
  }
  .main-nav,.page-nav{
    width:100%!important;
    max-width:none!important;
    flex:none!important;
    grid-template-columns:45px 103px 61px 50px 60px 77px 52px 104px 106px 34px 58px!important;
    column-gap:0!important;
    gap:0!important;
    justify-content:space-between!important;
  }
}
/* v20260814-46 — viewport-locked DE/EN navigation geometry */
@media(min-width:1101px){
  .site-header,.page-header{
    grid-template-columns:calc(100vw - 229px) 84px!important;
  }
}
/* v20260814-47 — full translated labels in identical DE/EN tracks */
@media(min-width:1101px){
  .main-nav,.page-nav{
    grid-template-columns:45px 103px 61px 50px 60px 77px 52px 142px 118px 34px 58px!important;
  }
}
/* v20260814-48 — compact centered desktop navigation on both languages */
@media(min-width:1280px){
  .site-header,.page-header{
    grid-template-columns:1050px 84px!important;
    column-gap:32px!important;
    justify-content:center!important;
  }
}
@media(min-width:1101px) and (max-width:1279px){
  .site-header,.page-header{
    grid-template-columns:calc(100vw - 229px) 84px!important;
    justify-content:stretch!important;
  }
}
/* v20260814-49 — pixel-stable compact navigation */
@media(min-width:1280px){
  .site-header,.page-header{
    padding-left:48px!important;
    padding-right:48px!important;
    grid-template-columns:1050px 84px!important;
    column-gap:32px!important;
    justify-content:start!important;
  }
}
/* v20260814-50 — reference navigation layout, identical in DE and EN */
@media(min-width:1280px){
  html[lang="de"] .site-header,html[lang="en"] .site-header,
  html[lang="de"] .page-header,html[lang="en"] .page-header{
    padding-inline:48px!important;
    grid-template-columns:1050px 84px!important;
    column-gap:32px!important;
    justify-content:start!important;
  }
  html[lang="de"] .main-nav,html[lang="en"] .main-nav,
  html[lang="de"] .page-nav,html[lang="en"] .page-nav{
    width:1050px!important;
    grid-template-columns:45px 103px 61px 50px 60px 77px 52px 142px 118px 34px 58px!important;
    justify-content:space-between!important;
    column-gap:0!important;
  }
  html[lang="de"] .main-nav a,html[lang="en"] .main-nav a,
  html[lang="de"] .page-nav a,html[lang="en"] .page-nav a{
    width:100%!important;
    padding:10px 0!important;
    font-size:14px!important;
    text-align:center!important;
    white-space:nowrap!important;
  }
}

/* Footer logo background — footer only */
footer .footer-logo,
.site-footer .footer-logo {
  box-sizing: border-box;
  background: rgba(255, 255, 255, 0.82);
  padding: 16px;
  border-radius: 16px;
  display: block;
  object-fit: contain;
}
@media (max-width: 768px) {
  footer .footer-logo,
  .site-footer .footer-logo {
    padding: 12px;
    border-radius: 14px;
    max-width: min(180px, 72vw);
    height: auto;
    margin-left: auto;
    margin-right: auto;
  }
}

/* Header logo/layout restoration — language switch left, logo right */
header .header-actions,
.site-header .header-actions,
header .nav-actions,
.site-header .nav-actions {
  margin-left: auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}
header .lang-switch,
.site-header .lang-switch,
header .language-switcher,
.site-header .language-switcher {
  order: 1;
  flex: 0 0 auto;
}
header .header-logo,
.site-header .header-logo,
header .logo,
.site-header .logo {
  order: 2;
  flex: 0 0 auto;
  margin-left: 0;
  margin-right: 8px;
  padding: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  width: auto;
  height: auto;
  object-fit: contain;
}
@media (max-width: 768px) {
  header .header-actions,
  .site-header .header-actions,
  header .nav-actions,
  .site-header .nav-actions {
    margin-left: auto;
    gap: 8px;
    justify-content: flex-end;
  }
  header .lang-switch,
  .site-header .lang-switch,
  header .language-switcher,
  .site-header .language-switcher {
    order: 1;
  }
  header .header-logo,
  .site-header .header-logo,
  header .logo,
  .site-header .logo {
    order: 2;
    margin-left: 0;
    margin-right: 6px;
    padding: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
  }
}


/* FINAL header logo sizing/layout fix:
   DE/EN stay fully visible to the LEFT; logo stays compact on the RIGHT. */
header .header-actions,
.site-header .header-actions,
header .nav-actions,
.site-header .nav-actions {
  margin-left: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: nowrap !important;
  gap: 12px !important;
}

header .lang-switch,
.site-header .lang-switch,
header .language-switcher,
.site-header .language-switcher {
  order: 1 !important;
  position: relative !important;
  z-index: 20 !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
}

header .header-logo,
.site-header .header-logo,
header .logo,
.site-header .logo {
  order: 2 !important;
  position: relative !important;
  z-index: 10 !important;
  flex: 0 0 auto !important;
  width: 78px !important;
  max-width: 78px !important;
  height: auto !important;
  margin: 0 8px 0 0 !important;
  padding: 5px !important;
  box-sizing: border-box !important;
  background: rgba(255,255,255,.82) !important;
  border-radius: 9px !important;
  object-fit: contain !important;
}

/* If the actual image is inside a logo wrapper, keep the image compact too. */
header .header-logo img,
.site-header .header-logo img,
header .logo img,
.site-header .logo img {
  display: block !important;
  width: 68px !important;
  max-width: 68px !important;
  height: auto !important;
  object-fit: contain !important;
}

@media (max-width: 768px) {
  header .header-actions,
  .site-header .header-actions,
  header .nav-actions,
  .site-header .nav-actions {
    gap: 8px !important;
  }

  header .header-logo,
  .site-header .header-logo,
  header .logo,
  .site-header .logo {
    width: 66px !important;
    max-width: 66px !important;
    padding: 4px !important;
    border-radius: 8px !important;
    margin-right: 6px !important;
  }

  header .header-logo img,
  .site-header .header-logo img,
  header .logo img,
  .site-header .logo img {
    width: 58px !important;
    max-width: 58px !important;
  }
}

@media (max-width: 420px) {
  header .header-actions,
  .site-header .header-actions,
  header .nav-actions,
  .site-header .nav-actions {
    gap: 6px !important;
  }

  header .header-logo,
  .site-header .header-logo,
  header .logo,
  .site-header .logo {
    width: 58px !important;
    max-width: 58px !important;
    padding: 3px !important;
    margin-right: 4px !important;
  }

  header .header-logo img,
  .site-header .header-logo img,
  header .logo img,
  .site-header .logo img {
    width: 52px !important;
    max-width: 52px !important;
  }
}


/* Unified Flachauer Alpenchalets footer logo on every page/language */
footer img.footer-logo,
.site-footer img.footer-logo {
  display:block !important;
  width:175px !important;
  max-width:100% !important;
  height:auto !important;
  box-sizing:border-box !important;
  padding:12px !important;
  background:rgba(255,255,255,.82) !important;
  border-radius:16px !important;
  object-fit:contain !important;
}
@media (max-width:768px){
  footer img.footer-logo,
  .site-footer img.footer-logo {
    width:145px !important;
    padding:10px !important;
    border-radius:14px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

