/* =========================
   Fonts
   ========================= */
@font-face { font-family:"Vogun"; src:url("./fonts/Vogun-Medium.ttf") format("truetype"); font-style:normal; }
@font-face { font-family:"Vogun"; src:url("./fonts/Vogun-MediumItalic.ttf") format("truetype"); font-style:italic; }

/* =========================
   Base
   ========================= */
html,body{ 
    background:#19223E; 
    margin:0; 
    padding:0; 
    font-family:"Open Sans",sans-serif; 
    font-weight:300; 
    overflow-x:hidden;
}

*,*::before,*::after{ 
    box-sizing:border-box; 
}

.sr-only{ 
    position:absolute; 
    width:1px; 
    height:1px; 
    padding:0; 
    overflow:hidden; 
    clip:rect(0 0 0 0);
    white-space:nowrap; border:0; 
}

main{ 
    margin-left:140px; 
    margin-right:140px; 
}

@media (max-width:1140px){
main{ 
    margin-left:90px; 
    margin-right:90px; 
}
}

.site-wrap{
  transition:filter .3s ease, transform .3s ease;
}

/* =========================
   HEADER
   ========================= */
#header{
  background:#19223E;
  color:#fff;
  position:relative;
  z-index:2000;
}

.header-top{
  background:#19223E;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 3000;
}


.header-bottom{
  background:#19223E;
  border-top:1px solid rgba(255,255,255,.12);
  position:relative;
  margin-top: 111px;
  transition: padding .25s ease, height .25s ease;
  padding: 10px 0;
}

.header-top.shrink + .header-bottom {
  padding: 5px 0;
}



.header-inner{ display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:20px 0; }
.brand{
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 70px;              /* ggf. anpassen */
}

.brand img{
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) scale(1);
  max-height: 100%;
  width: auto;
  display: block;
  transition: opacity .25s ease, transform .25s ease;
}

/* Normalzustand */
.logo-normal{
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}

.logo-scrolled{
  opacity: 0;
  transform: translate(-50%, -50%) scale(0.7);  /* kleiner */
}

/* Beim Scrollen: Switch */
.header-top.logo-switch-active .logo-normal{
  opacity: 0;
  transform: translate(-50%, -50%) scale(0.7);
}

.header-top.logo-switch-active .logo-scrolled{
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}

.header-top.logo-switch-active .header-inner{
  padding:3px 0;
}



@media (max-width:800px){ 
  .brand{
    height: 60px;        /* etwas niedriger auf Mobil */
  }

  .brand img{
    padding: 10px;       /* wenn du etwas Luft brauchst */
  }
}


.header-actions{ justify-self:end; display:flex; align-items:center; gap:22px; }
.icon-btn{ background:none; border:0; color:#fff; font-size:24px; line-height:1; padding:0; cursor:pointer; }

.icon-btn:hover { color: #FFC573;}

.has-badge{ position:relative; }
.badge-count{
  position:absolute; top:-15px; right:-13px;
  min-width:20px; height:20px; padding:2px;
  background:#FC9F10; color:#19223E; border-radius:999px;
  font-weight:800; font-size:12px; display:flex; align-items:center; justify-content:center;
}

/* =========================
   NAVIGATION
   ========================= */
.primary-nav{ display:flex; align-items:center; justify-content:center; gap:48px; padding:18px 0; flex-wrap:wrap;}
.primary-nav a{ color:#fff; text-decoration:none; font-size:16px; }

@media (max-width:800px){ 
    .primary-nav{ gap:28px; }
}    

/* =========================
   BURGER
   ========================= */
.nav-toggle{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.burger{
  display:none;
  width:52px;
  height:52px;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}

.burger-bar,
.burger-bar::before,
.burger-bar::after{
  content:"";
  display:block;
  width:30px;
  height:3px;
  background:#fff;
  position:relative;
  border-radius:999px;
  transition:transform .25s ease, opacity .2s ease;
}

.burger-bar::before{
  position:absolute;
  top:-9px;
}

.burger-bar::after{
  position:absolute;
  top:9px;
}

#header main{ 
    margin-left:140px; 
    margin-right:140px; 
}

/* =========================
   HERO
   ========================= */
#page-header{ position:relative; width:100%; height:720px; overflow:hidden; }
#page-header img{ width:100%; height:100%; object-fit:cover; display:block; }
#page-header main{ position:absolute; top:50%; left:0; right:0; transform:translateY(-50%); z-index:1; }
.page-header-content{ color:#19223E; display:flex; flex-direction:column; gap:0; }
.page-header-content h1{ font-family:"Vogun",sans-serif; font-weight:300; font-size:48px; max-width:684px; margin:0; line-height:1.2; }
.page-header-content h2{ font-family:"Vogun",sans-serif; font-style:italic; font-weight:300; font-size:36px; color:#ED6D9D; margin:.4em 0 .6em; }
.page-header-content p{ font-size:22px; font-weight:100; max-width:520px; color:#19223E; margin:0 0 1.2em; line-height:1.5; }

@media (max-width:1208px){ 
    .page-header-content h1{ font-size:46px;}
    .page-header-content h2{ font-size:34px;}
    .page-header-content p{ font-size:20px;}
}

@media (max-width:928px){ 
    .page-header-content h1{ font-size:42px; max-width: 600px;}
    .page-header-content p{ max-width: 390px;}
}

/* =========================
   BUTTON
   ========================= */
.btn {
    font-family: "Open Sans", sans-serif;
    font-weight: 700;
    font-size: 21px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 270px;
    height: 64px;
    padding: 0;
    border-radius: 40px;
    background: #ED6D9D;
    color: #fff;
    text-decoration: none;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    z-index: 3;
    transition: transform 0.25s ease;
}

.btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -150%;
    width: 80%;
    height: 100%;
    z-index: 1;
    background: linear-gradient(
        120deg,
        rgba(255,255,255,0) 0%,
        rgba(255,255,255,0.12) 40%,
        rgba(255,255,255,0.22) 50%,
        rgba(255,255,255,0.12) 60%,
        rgba(255,255,255,0) 100%
    );
    filter: blur(8px);
    transition: transform 0.8s ease;
}

.btn:hover::before {
    transform: translateX(300%);
}

.btn::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    z-index: 1;
    background: transparent;
    box-shadow: 0 0 0 rgba(0,0,0,0);
    transition: box-shadow 0.35s ease, transform 0.35s ease;
}

.btn:hover::after {
    box-shadow: 0 10px 26px rgba(0,0,0,0.22);
    transform: scale(1.03);
}

.btn:hover {
    transform: translateY(-2px) scale(1.015);
}

.btn:focus-visible {
    outline: 3px solid #ED6D9D;
    outline-offset: 3px;
}

/* =========================
   PROMOBAR
   ========================= */
#promobar{ background:#FFC573; padding:34px 0; }
#promobar .promo-list{ list-style:none; margin:0; padding:0; display:flex; align-items:center; justify-content:space-between; gap:40px; flex-wrap:nowrap; }
#promobar .promo-item{ display:flex; align-items:center; gap:28px; color:#19223E; }
#promobar i{ font-size:30px; color:#19223E; }
#promobar .promo-text{ font-family:"Vogun",sans-serif; font-weight:300; font-size:22px; line-height:1.2; white-space:nowrap; }

@media (max-width:1024px){ 
    #promobar .promo-text { white-space: normal; }
    #promobar .promo-list { gap: 60px; }
}

/* =========================
   ÜBER ELENIE DESIGN
   ========================= */
#content-01{ 
    background:#19223E; 
    padding:80px 0; 
}

#content-01 main{ 
    display:flex; 
    gap:60px; 
    align-items:center; 
}

#content-01 .about-text{ 
    flex:1; 
}

#content-01 .about-text h1{ 
    font-family:"Vogun",sans-serif; 
    font-weight:300; 
    font-size:38px; 
    color:#fff; 
    margin-bottom:20px; 
}

#content-01 .about-text p{ 
    color:#C7CBD6; 
    font-size:18px; 
    line-height:1.6; 
    margin-bottom:16px; 
}

#content-01 .btn{ 
    font-size:18px; 
}

@media (max-width:480px){ 
    #content-01 .about-text p{ 
        font-size:14px; 
    }
}

#content-01 .about-media{ 
    position:relative; 
    flex:1;
    display:flex; 
    align-items:center; 
    justify-content:flex-end; 
}

.media-placeholder{ 
    width:610px; 
    height:330px; 
    background:#BFC0CB;
    border-radius:40px; 
}

@media (max-width:1208px){ 
    .media-placeholder{  width:530px; height:310px;  }
}

@media (max-width:1024px){ 
    .media-placeholder{  width:480px; height:290px;  }
}

@media (max-width:928px){ 
    .media-placeholder{  width:400px; height:250px;  }
}

.btn--floating{ 
    position:absolute; 
    right:40px; 
    bottom:-24px; 
    width:270px; 
    height:60px; 
}

@media (max-width:480px){ 
  .btn--floating{ 
    font-size:14px; 
    width:240px; 
    height:45px; 
    right:40px; 
  }
}

/* =========================
   LEISTUNGEN
   ========================= */
#services{ 
    background:#f3d6df; 
    border-top:6px solid #19223E; 
    padding:72px 0 56px; 
}

#services .services-head h1{ 
    font-family:"Vogun",sans-serif; 
    font-weight:300; 
    font-size:38px; 
    color:#19223E; 
    margin-bottom:12px; 
}

#services .services-head p{ 
    max-width:880px; 
    font-size:18px; 
    line-height:1.6; 
    color:rgba(25,34,62,.85); 
    margin-bottom:50px; 
}

@media (max-width:960px){ 
  #services .services-head p{ font-size:14px; }
}

.services-grid{ 
    list-style:none; 
    padding:0; 
    margin:0 0 50px; 
    display:grid; 
    grid-template-columns:repeat(4,1fr); 
    gap:40px 48px; 
}

.service{ 
    display:flex; 
    flex-direction:column; 
    align-items:flex-start; 
    gap:14px; 
}

.service-header{ 
    display:flex; 
    align-items:center; 
    gap:20px; 
}

.service i{ 
    font-size:28px; 
    color:#19223E; 
}

.service:last-child i{ 
    color:#FC9F10; 
}

.service h3{ 
    font-family:"Vogun",sans-serif; 
    font-weight:300; 
    font-size:22px; 
    color:#19223E; 
    margin:0; 
    line-height:1.3; 
}

@media (max-width:960px){ 
  .service h3{ font-size:18px; }
}

.service:last-child h3{ 
    color:#FC9F10; 
    font-weight:400; 
}

.service p{ 
    margin-top:4px; 
    font-size:16px; 
    line-height:1.55; 
    color:rgba(25,34,62,.8); 
}

@media (max-width:960px){ 
  #services p{ font-size:14px; }
}

.services-cta{ 
    display:flex; 
    justify-content:center; 
}

.services-cta .btn{
     width:260px; 
     height:60px; 
     border-radius:40px; 
     font-size: 18px;
}

@media (max-width:960px){ 
  .services-cta .btn{ width:210px; height:45px; font-size:14px; }
}

/* =========================
   SHOP-KATEGORIEN
   ========================= */
#shop-kategorien{ 
    background:#19223E; 
    padding:70px 0 80px; 
}

@media (max-width:520px){
  #shop-kategorien > main{
    margin-right:0;
  }
}

#shop-kategorien .shopk-head h1{ 
    font-family:"Vogun",sans-serif; 
    font-weight:300; 
    font-size:38px; 
    color:#fff; 
    margin:0 0 10px; 
}

@media (max-width:960px){ 
  #shop-kategorien .shopk-head h1{ font-size:26px; }
}

#shop-kategorien .shopk-head p{ 
    color:#fff; 
    font-size:16px; 
    margin:0 0 28px; 
}

@media (max-width:960px){ 
  #shop-kategorien .shopk-head p{ font-size:14px; }
}

.shopk-grid{ 
  list-style:none; 
  margin:0; 
  padding:0; 
  display:grid; 
  gap:20px; 
  grid-template-columns:repeat(4,1fr); 
  grid-auto-rows:230px; 
}

@media (max-width:520px){
  .shopk-grid{
    list-style:none;
    margin:0;
    padding:0;
    display:flex;
    gap:24px;
    overflow-x:auto;
    padding-bottom:10px;
    padding-right:20px;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
  }
}

.shopk-grid > li:nth-child(1){ grid-column:1; }
.shopk-grid > li:nth-child(2){ grid-column:2; }
.shopk-grid > li:nth-child(3){ grid-column:3 / span 2; }
.shopk-grid > li:nth-child(4){ grid-column:1 / span 2; }
.shopk-grid > li:nth-child(5){ grid-column:3; }
.shopk-grid > li:nth-child(6){ grid-column:4; }

@media (max-width:520px){
  .shopk-grid > li{
    flex:0 0 80%;
    scroll-snap-align:start;
  }
}

@media (max-width:520px){
  .shopk-grid > li:last-of-type{
    margin-right:20px;
  }
}

.tile{ 
    position:relative; 
    border-radius:36px; 
    background:#BFC0CB center/cover no-repeat; 
}

@media (max-width:520px){
  .tile{
    width:100%;
    min-height:200px;
  }
}

.tile-link{ 
    position:absolute; 
    inset:0; 
    display:block; 
    border-radius:inherit; 
}

.chip{
  position:absolute; 
  bottom:22px; 
  left:22px;
  display:inline-flex; 
  align-items:center; 
  gap:10px;
  background:#ED6D9D; 
  color:#fff; 
  font-weight:700; 
  font-size:16px;
  border-radius:999px; 
  padding:10px 18px 10px 16px; 
  line-height:1;
}

#shop-kategorien .chip {
    transition:
        transform 0.25s ease,
        box-shadow 0.3s ease,
        background-color 0.25s ease;
}

#shop-kategorien .chip:hover {
    transform: translateY(-2px) scale(1.03);
}

#shop-kategorien .chip--center:hover {
    transform: translateX(-50%) translateY(-2px) scale(1.03);
}

@media (max-width:700px){
  .chip{ 
      font-size:14px; 
      left:50%; 
      right:auto; 
      transform:translateX(-50%);
      max-width:250px;
      line-height:1.4;
      white-space:nowrap;
  }

  #shop-kategorien .chip:hover {
      transform: translateX(-50%) translateY(-2px) scale(1.03);
  }
}

.chip--right{ 
    right:22px; 
    left:auto; 
}

.shopk-cta{ 
    display:flex; 
    justify-content:center; 
    margin-top:50px; 
}

.btn.btn--pill{ 
    width:auto; 
    height:60px; 
    padding:15px 30px; 
    border-radius:999px; 
    font-size:18px; 
}

@media (max-width:960px){ 
  .btn.btn--pill{ font-size:14px; }
}


@media (max-width:520px){
  .shopk-grid::-webkit-scrollbar{
    display:none;
  }
  .shopk-grid{
    -ms-overflow-style:none;
    scrollbar-width:none;
  }
}

/* =========================
   Newsletter
   ========================= */
#newsletter{ background:linear-gradient(to right, #FFF2D6 0 50%, #BFC0CB 50% 100%); border-bottom:8px solid #ED6D9D; }
.newsletter-inner{ display:grid; grid-template-columns:1.1fr 1fr; align-items:stretch; height:550px; }
.nl-wrap{ display:flex; flex-direction:column; justify-content:center; padding:0 140px; }
.nl-head h1{ font-family:"Vogun",sans-serif; font-weight:300; font-size:38px; color:#19223E; margin:0 0 12px; }
.nl-head p{ color:#19223E; font-size:18px; line-height:1.6; max-width:620px; margin:0 0 28px; }
.nl-form{ width:100%; max-width:560px; display:grid; gap:18px; }
.nl-form input[type="email"],.nl-btn{ height:66px; border-radius:999px; padding:0 24px; }
.nl-form input[type="email"]{ border:0; font-size:18px; background:#fff; color:#19223E; outline:none; }
.nl-form input::placeholder{ color:#19223E; opacity:30%; }
.nl-btn{ display:flex; align-items:center; justify-content:space-between; gap:16px; border:0; background:#ED6D9D; color:#fff; font-family:"Open Sans",sans-serif; font-weight:600; font-size:18px; cursor:pointer; }
.nl-visual{ background:#BFC0CB url("./images/newsletter-right.jpg") center/cover no-repeat; padding-right:140px; }

@media (max-width:1208px){
.nl-wrap{ 
    padding: 0 60px;
  }
}

@media (max-width:1140px){
.nl-wrap{ 
    padding: 0 90px;
  }
}

.nl-btn {
    position: relative;
    overflow: hidden;
    z-index: 3;
    transition: transform 0.25s ease;
}

.nl-btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -150%;
    width: 80%;
    height: 100%;
    z-index: 1;
    background: linear-gradient(
        120deg,
        rgba(255,255,255,0) 0%,
        rgba(255,255,255,0.12) 40%,
        rgba(255,255,255,0.22) 50%,
        rgba(255,255,255,0.12) 60%,
        rgba(255,255,255,0) 100%
    );
    filter: blur(8px);
    transition: transform 0.8s ease;
}

.nl-btn:hover::before {
    transform: translateX(300%);
}

.nl-btn:hover {
    transform: translateY(-2px) scale(1.01);
}

@media (max-width:480px){
  .nl-head p{ font-size:14px; }
  .nl-btn { font-size:14px; }
  .nl-form input[type="email"]{ font-size:14px; }
  .nl-form input[type="email"], .nl-btn { height: 55px; }
}

/* =========================
   PROMO-RIBBON
   ========================= */
#promo-ribbon{ background:#ED6D9D; padding:34px 0; }
#promo-ribbon .promo-list{ list-style:none; margin:0; padding:0; display:flex; align-items:center; justify-content:space-between; gap:40px; flex-wrap:nowrap; }
.promo-item{ display:flex; align-items:center; gap:28px; color:#fff; }
#promo-ribbon i{ font-size:30px; }
.promo-text{ font-family:"Vogun",sans-serif; font-weight:300; font-size:22px; line-height:1.2; white-space:nowrap; }

@media (max-width:480px){
  .promo-text{ font-size:18px; }
  #promo-ribbon{ padding:15px; }
}

@media (max-width:928px){ 
    #promo-ribbon .promo-text { white-space: normal; }
}

/* =========================
   FOOTER
   ========================= */
#site-footer{
  background:#19223E;
  color:#fff;
}

#site-footer .footer-top{
  padding:80px 0 60px;
}

.footer-grid{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:56px;
}

.footer-brand{
  align-self:center;
}

.footer-logo{
  max-width:260px;
  height:auto;
  display:block;
}

.footer-col h3{
  font-family:"Vogun",sans-serif;
  font-weight:300;
  font-size:26px;
  margin:0 0 16px;
  color:#fff;
}

@media (max-width:480px){
  .footer-col h3{ font-size:26px; }
}

.footer-col p{
  margin:0;
  color:#E6E8F0;
  font-size:18px;
  line-height:1.8;
}

@media (max-width:480px){
  .footer-col p{ font-size:14px; }
}

.footer-col a{
  color:#E6E8F0;
  text-decoration:none;
}

.footer-links{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap:10px;
}

.footer-links a{
  font-size:18px;
}

@media (max-width:480px){
  .footer-links a{ font-size:14px; }
}

.footer-social-col{
  width:100%;
  margin-top:18px;
}

.socials{
  display:flex;
  justify-content:center;
  gap:28px;
  margin-top:8px;
}

@media (max-width:480px){
  .socials{
    gap:20px;
    justify-content:left;
  }
}

@media (max-width:928px){
.socials{
  justify-content:left;
}
}

.social-icon{
  width:auto;
  height:auto;
  border-radius:0;
  background:none;
  border:0;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:35px;
  color:#fff;      
  text-decoration:none;
}

/* Copyright Footer */
.footer-bottom{
  border-top:1px solid #4C4962;
  background:#19223E;
}

.footer-bottom > main{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding:20px 0 20px;
  gap:24px;
}

@media (max-width:480px){
  .footer-bottom > main{ gap:38px; }
}

.legal-links{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap:18px;
}

@media (max-width:480px){
  .legal-links{ gap:14px; }
}

.legal-links a{
  color:#fff;
  text-decoration:none;
  font-size:16px;
  font-weight:600;
}

@media (max-width:480px){
  .legal-links a{ font-size:14px; }
}

.footer-bottom .copyright{
  margin:0;
  font-size:16px;
  font-weight:600;
}

@media (max-width:480px){
  .footer-bottom .copyright{ font-size:14px; }
}

/* =========================
   Responsive
   ========================= */

@media (max-width:1100px){ main,#header main{ margin-left:60px; margin-right:60px; } }
@media (max-width:960px){ main,#header main{ margin-left:40px; margin-right:40px; } }
@media (max-width:640px){ main,#header main{ margin-left:20px; margin-right:20px; } }

@media (max-width:640px){ #page-header{ height:520px; } }
@media (max-width:420px){ #page-header{ height:440px; } }

@media (max-width:700px){
  #promobar{ padding:15px 0px;}
  #promobar .promo-list{ align-items:flex-start; gap:18px; }
  #promobar .promo-item{ gap:24px; }
  #promobar i{ font-size:20px; }
  #promobar .promo-text{ font-size:18px; white-space:normal; }
}

@media (max-width:581px){
  #promobar .promo-list{ flex-direction:column;}
}

@media (max-width:1100px){
  #promobar .promo-list{ font-size:20px }
}

@media (max-width:900px){
  #content-01 main{ flex-direction:column; }
  .media-placeholder{ width:100%; height:220px; }
  .btn--floating{ right:40px; bottom:-22px; }
}

@media (max-width:1100px){ .services-grid{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:820px){ .services-grid{ grid-template-columns:repeat(2,1fr); } }

@media (max-width:520px){

  .services-grid{
    margin-right:-20px;
    padding-right:20px;
  }

  .services-grid{
    display:flex;
    gap:24px;
    overflow-x:auto;
    padding-bottom:10px;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
  }

  .services-grid::-webkit-scrollbar{
    display:none;
  }
  .services-grid{
    -ms-overflow-style:none;
    scrollbar-width:none;
  }

  .service{
    flex:0 0 auto;
    max-width:200px;
    scroll-snap-align:start;
  }
}

@media (max-width:900px){ .shopk-grid{ grid-auto-rows:210px; gap:22px; } .tile{ border-radius:28px; } }
@media (max-width:700px){
  .shopk-grid{ grid-template-columns:1fr 1fr; grid-auto-rows:200px; }
  .shopk-grid > li:nth-child(n){ grid-column:auto; }
  .chip{ font-size: 14px; left:50%; right:auto; transform:translateX(-50%); }
}

@media (max-width:960px){
  #newsletter{ background:#FFF2D6; }
  .newsletter-inner{ grid-template-columns:1fr; height:auto; }
  .nl-wrap{ padding:56px 20px; }
  .nl-visual{ display:block; height:350px; padding-right:0; }
  .nl-head h1{ font-size: 26px; }
}

@media (max-width:750px){
  #promo-ribbon .promo-list{ flex-direction:column; align-items:flex-start; gap:18px; }
  #promo-ribbon i{ font-size:20px; }
  .promo-text{ font-size:18px; white-space:normal; }
}

@media (max-width:700px){
  #site-footer .footer-top{ padding:60px 0 40px; }
  .footer-logo{ max-width:180px; }
}

.primary-nav a:focus-visible,
.burger:focus-visible,
.icon-btn:focus-visible,
.btn:focus-visible,
.nl-btn:focus-visible{
  outline:3px solid #ED6D9D;
  outline-offset:3px;
}

@media (min-width: 960px){

  .footer-grid{
    display:grid;
    grid-template-columns: 1.4fr 1fr 1fr 1fr;
    align-items:flex-start;
    gap:40px 80px;
  }

  .footer-brand{
    align-self:flex-start;
  }

  .footer-contact{
    align-self:flex-start;
  }

  .socials{
    justify-content:flex-start; 
    margin-top:0;
  }

  .footer-bottom > main{
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
  }

  .legal-links{
    flex-direction:row;
    gap:40px;
  }
}

.mobile-nav {
  display: none;
}

@media (max-width:800px){

  .header-inner{
    grid-template-columns:auto 1fr auto;
    align-items:center;
    height:60px;
    padding:0;
  }
  .brand{ justify-self:start; }
  .brand img{ width:auto; height:70px; padding:10px; }
  .header-actions{ gap:18px; }
  .icon-btn{ font-size:28px; line-height:1; }

  .header-actions .has-badge,
  .header-actions a[href*="wishlist"],
  .header-actions a[href*="konto"]{
    display:none;
  }

  .burger{
    display:inline-flex;
  }

  .header-bottom{ display:none; }

  #page-header{
    height:400px;
    background-image:url("../images/Header_01_happiest-sunset-2022-05-27-06-41-29-utc_mobil.jpg");
    background-size:140%;
    background-position:60% 100%;
    background-repeat:no-repeat;
    margin-top: calc(70px + env(safe-area-inset-top));
  }

  #page-header img{ display:none; }
  #page-header main{ position:absolute; top:0; left:0; right:0; transform:none; padding-top:60px; }
  .page-header-content{ max-width:320px; gap:10px; color:#19223E; }
  .page-header-content h1{ font-size:28px; line-height:1.12; margin:0; }
  .page-header-content h2{ font-size:24px; margin:.3em 0 .5em; color:#ED6D9D; }
  .page-header-content p{ font-size:14px; line-height:1.55; margin:0 0 14px; max-width:160px; }
  .page-header-content .btn{ max-width:185px; height:45px; border-radius:40px; padding:0 10px; font-size:14px; }

  #content-01{
    padding:40px 0 80px;
  }

  #content-01 .about-text h1{
    font-size:26px;
  }

  #content-01 main{
    flex-direction:column;
    align-items:stretch;
    gap:32px;
  }

  #content-01 .about-media{
    position:relative;
  }

  .mobile-nav{
    display:block;
    position:fixed;
    top:0;
    right:0;
    bottom:0;
    width:85vw;
    background:#19223E;
    transform:translateX(100%);
    transition:transform .3s ease;
    z-index:1200;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
  }

  .mobile-nav-inner{
    position:relative;
    height:100%;
    padding:16px 26px 32px;
    display:flex;
    flex-direction:column;
  }

  .mobile-nav-top{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:26px;
    margin-top:12px;
    margin-bottom:40px;
  }

  .mobile-nav-logo img{
    height:60px;
    width:auto;
    display:block;
  }

  .mobile-nav-icons{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:32px;
    margin-top: 30px;
  }

  .mobile-nav-body{
    flex:1;
  }

  .mobile-nav-item{
    display:flex;
    align-items:center;
    gap:18px;
    padding:12px 0;
    color:#fff;
    text-decoration:none;
    font-size:19px;
    border-bottom:1px solid rgba(255,255,255,.12);
  }

  .mobile-nav-item--has-sub{
    cursor:pointer;
  }

  .mobile-nav-item--has-sub .mobile-nav-arrow{
    transition: transform .2s ease;
  }

  .mobile-nav-icon{
    width:28px;
    display:flex;
    justify-content:center;
    align-items:center;
    color:#FC9F10;
    font-size:20px;
  }

  .mobile-nav-label{
    flex:1;
  }

  .mobile-nav-arrow{
    font-size:18px;
  }

  .nav-mobile-root{
    display:flex;
    flex-direction:column;
  }

  .mobile-nav-group{
    border-bottom:1px solid rgba(255,255,255,.12);
    position:relative;
  }

  .mobile-nav-group .nav-sub-toggle{
    position:absolute;
    opacity:0;
    pointer-events:none;
  }

  .mobile-nav-group .mobile-nav-item--has-sub{
    cursor:pointer;
  }

  .mobile-nav-group .mobile-nav-item--has-sub .mobile-nav-arrow{
    transition:transform .2s ease;
  }

  .mobile-nav-group .mobile-nav-sublist{
    list-style:none;
    margin:0;
    padding:4px 0 22px 66px;
    display:none;
    flex-direction:column;
    gap:16px;
  }

  .mobile-nav-group .mobile-nav-sublist a{
    color:#fff;
    text-decoration:none;
    font-size:16px;
  }

  .mobile-nav-group .nav-sub-toggle:checked + .mobile-nav-item--has-sub{
    border-bottom:none;
  }

  .mobile-nav-group .nav-sub-toggle:checked + .mobile-nav-item--has-sub + .mobile-nav-sublist{
    display:flex;
  }

  .mobile-nav-group .nav-sub-toggle:checked + .mobile-nav-item--has-sub .mobile-nav-arrow{
    transform:rotate(90deg);
  }

  .mobile-nav-back{
    display:flex;
    align-items:center;
    gap:12px;
    padding:10px 0 12px;
    font-size:18px;
    color:#fff;
    cursor:pointer;
  }

  .mobile-nav-separator{
    border:0;
    border-top:1px solid rgba(255,255,255,.12);
    margin:8px 0 22px;
  }

  .mobile-nav-panel-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-bottom:18px;
    color:#fff;
  }

  .mobile-nav-title{
    flex:1;
    font-size:20px;
    font-weight:700;
  }

  .mobile-nav-sublink--highlight{
    color:#FC9F10!important;
  }

  .mobile-nav-footer{
    margin-top:80px;
    padding-top:26px;
  }

  .mobile-nav-dots {
    display: flex;
    justify-content: center;
    gap: 28px;
    margin-bottom: 24px;
  }

  .mobile-nav-dots a {
    color: #fff;
    font-size: 32px;
    text-decoration: none;
  }

  .mobile-nav-dots .dot,
  .mobile-nav-dots .dot--active {
    display: none;
  }

  .mobile-nav-footer-separator{
    border:0;
    border-top:1px solid rgba(255,255,255,.12);
    margin:18px 0 20px;
  }

  .mobile-nav-tagline{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:8px;
    margin-bottom:16px;
    text-align:center;
    color:#ED6D9D;
  }

  .mobile-nav-tagline-icon{
    font-size:20px;
  }

  .mobile-nav-tagline-text div:first-child{
    font-family:"Vogun",sans-serif; 
    font-weight:300;
    font-size:16px;
    margin-bottom: 10px;
  }

  .mobile-nav-tagline-text div:last-child{
    font-family:"Vogun",sans-serif; 
    font-weight:300;
    font-size:16px;
  }

  .mobile-nav-socials{
    display:flex;
    justify-content:center;
    gap:28px;
    margin-top:4px;
  }

  .mobile-nav-socials a{
    color:#fff;
    font-size:28px;
    text-decoration:none;
  }

  .mobile-nav-close{
    position:absolute;
    top:24px;
    right:24px;
    cursor:pointer;
    font-size:26px;
    color:#fff;
    z-index:5;
  }

  .nav-toggle:checked ~ .mobile-nav{
    transform:translateX(0);
  }

  .nav-toggle:checked + .site-wrap{
    filter: blur(6px);
    pointer-events: none;
    user-select: none;
  }
}


@media (min-width:801px){

  .header-bottom{
    position:relative;
  }

  .primary-nav > a,
  .primary-nav .nav-item > a{
    position:relative;
    color:#fff;
    font-size:20px;
    text-decoration:none;
    padding:4px 0;
    transition:color .2s ease;
  }

  .primary-nav > a::after,
  .primary-nav .nav-item > a::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:-6px;
    width:0;
    height:2px;
    background:#ED6D9D;
    border-radius:999px;
    transform:translateX(-50%);
    transition:width .25s ease;
  }

  .primary-nav > a:hover::after,
  .primary-nav .nav-item > a:hover::after{
    width:26px;
  }

  .nav-item--has-dropdown:hover > .primary-nav-link::after,
  .nav-item--has-dropdown:has(.desktop-dropdown:hover) > .primary-nav-link::after{
    width:26px;
  }


  .nav-item{
    position: static;
    display:inline-flex;
    align-items:center;
  }

  .desktop-dropdown{
    position:absolute;
    left:0;
    right:0;
    top:100%;              /* direkt unter dem Header */
    width:100%;
    background:#202744;
    z-index:1100;
    padding:0;
    display:none;          /* Standard: versteckt */
  }

  .nav-item--has-dropdown.is-open > .desktop-dropdown{
    display:block;         /* wird per JS gesetzt */
  }
}


.nav-item--has-dropdown:hover > .desktop-dropdown,
.nav-item--has-dropdown:has(.desktop-dropdown:hover) > .desktop-dropdown{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0);
}


  .desktop-dropdown-inner{
    margin-left:140px;
    margin-right:0;
    display:grid;
    grid-template-columns:2fr 1fr;
    gap:60px;
    align-items:stretch;
  }


  @media (max-width:1140px){
    .desktop-dropdown-inner{
      margin-left:90px;
      margin-right:90px;
    }
  }

  @media (max-width:960px){
    .desktop-dropdown-inner{
      margin-left:40px;
      margin-right:40px;
    }
  }

  .desktop-dropdown-main h2{
    margin:0;
    font-family:"Vogun",sans-serif;
    font-weight:300;
    font-size:32px;
    color:#fff;
    padding: 40px 0;
  }

.desktop-dropdown-columns{
  column-count: 3;
  column-gap: 60px;
  margin-bottom: 50px;
}

.desktop-dropdown-columns ul{
  list-style:none;
  margin:0;
  padding:0;
}

.desktop-dropdown-columns li{
  break-inside: avoid;
  margin-bottom:8px;
}


  .desktop-dropdown-columns li{
    margin-bottom:8px;
  }

  .desktop-dropdown-columns a{
    color:#E6E8F0;
    text-decoration:none;
    font-size:16px;
    transition:color .18s ease;
  }

  .desktop-dropdown-columns a:hover{
    color:#ED6D9D;
  }

  .mega-link-highlight{
    font-weight:300;
  }
  .mega-link-highlight:hover{
    color:#FC9F10!important;
    font-weight:300;
  }

.desktop-dropdown-image{
  width:100%;
  background:#BFC0CB;
  min-height:0;
}

  .desktop-dropdown-main{
    display:flex;
    flex-direction:column;
  }

  .desktop-dropdown-columns{
    flex:1 1 auto;
  }

  .desktop-dropdown-footer{
    display:flex;
    justify-content:flex-start;
    padding-bottom:40px;
  }

  .desktop-dropdown-all-link{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:#E6E8F0;
    text-decoration:none;
    font-size:16px;
  }

  .desktop-dropdown-all-link svg{
    stroke:#E6E8F0;
    transition:transform .2s ease;
  }

  .desktop-dropdown-all-link:hover{
    color:#ED6D9D;
    font-size: 16px;
  }

  .desktop-dropdown-all-link:hover svg{
    transform:translateX(3px);
    stroke:#ED6D9D;
  }

@media (min-width:801px){
  #promobar,
  #content-01,
  #services,
  #shop-kategorien,
  #newsletter,
  #promo-ribbon,
  #site-footer,
{
    transition:filter .25s ease;
  }

  body.nav-has-open-dropdown #page-header,
  body.nav-has-open-dropdown #promobar,
  body.nav-has-open-dropdown #content-01,
  body.nav-has-open-dropdown #services,
  body.nav-has-open-dropdown #shop-kategorien,
  body.nav-has-open-dropdown #newsletter,
  body.nav-has-open-dropdown #promo-ribbon,
  body.nav-has-open-dropdown #site-footer{
    filter:blur(6px);
  }
}







/* =========================
   ÜBER-SEITE
   ========================= */
#about-hero{
  background:#19223E;
  padding:80px 0 40px;
}

.about-hero-inner h1{
  font-family:"Vogun",sans-serif;
  font-weight:300;
  font-size:38px;
  color:#fff;
  margin:0 0 16px;
}

.about-hero-inner p{
  max-width:620px;
  color:#C7CBD6;
  font-size:18px;
  line-height:1.6;
  margin:0;
}

#about-mission{
  background:#19223E;
  padding:40px 0 60px;
  border-top:1px solid rgba(255,255,255,.12);
}

.about-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:40px;
}

.about-block h2{
  font-family:"Vogun",sans-serif;
  font-weight:300;
  font-size:26px;
  color:#fff;
  margin:0 0 12px;
}

.about-block p,
.about-block ul{
  color:#C7CBD6;
  font-size:16px;
  line-height:1.7;
  margin:0;
}

.about-block ul{
  padding-left:18px;
}

#about-engagement{
  background:#19223E;
  padding:40px 0 80px;
  border-top:1px solid rgba(255,255,255,.12);
}

.about-engagement-inner h2{
  font-family:"Vogun",sans-serif;
  font-weight:300;
  font-size:26px;
  color:#fff;
  margin:0 0 12px;
}

.about-engagement-inner p{
  max-width:720px;
  color:#C7CBD6;
  font-size:16px;
  line-height:1.7;
  margin:0;
}

@media (max-width:900px){
  .about-grid{
    grid-template-columns:1fr;
    gap:32px;
  }
}


.search-toggle{
  position:absolute;
  opacity:0;
  pointer-events:none;
}


.search-panel{
  background:#262d47;
  color:#fff;
  max-height:0;
  overflow:hidden;
  opacity:0;
  transition:max-height .35s ease, opacity .25s ease;
}

@media (max-width:800px){
  .search-panel{
    display:none;
  }
}

.search-panel-inner{
  display:grid;
  grid-template-columns: 1fr 1.4fr;
  align-items:stretch;
}


@media (max-width:1140px){
  .search-panel-inner{
    margin-left:90px;
    margin-right:90px;
  }
}
@media (max-width:960px){
  .search-panel-inner{
    margin-left:40px;
    margin-right:40px;
  }
}

.search-panel-image{
  background:#15192b url("../images/IMG_2885.jpg") center/cover no-repeat;
  background-position: 80% 70%;
    background-size:118% ;
  min-height:220px;
  margin-left:-140px;
  width:calc(100% + 140px);
}

@media (max-width:1140px){
  .search-panel-image{
    margin-left:-90px;
    width:calc(100% + 90px);
  }
}

@media (max-width:960px){
  .search-panel-image{
    margin-left:-40px;
    width:calc(100% + 40px);
  }
}


.search-panel-content{
  padding:50px 0px 40px 50px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}


.search-panel-searchbar{
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:26px;
}

.search-panel-icon{
  font-size:30px;
}

.search-panel-placeholder{
  font-family:"Vogun",sans-serif;
  font-style:italic;
  font-weight:300;
  font-size:28px;
}

.search-panel-content h3{
  margin:0 0 20px;
  font-size:20px;
  font-weight:700;
}

.search-panel-keywords{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
}

.search-panel-keywords ul{
  list-style:none;
  margin:0;
  padding:0;
}

.search-panel-keywords li{
  margin-bottom:12px;
}

.search-panel-keywords a{
  color:#E6E8F0;
  text-decoration:none;
  font-size:16px;
}

.search-panel-keywords a:hover{
  text-decoration:underline;
}

@media (min-width:801px){
  body:has(#search-toggle:checked) .search-panel{
    max-height:350px;
    opacity:1;
  }
}


.search-panel{
  position:absolute;
  top:0;
  left:0;
  right:0;
  width:100%;
  z-index:3000;
  background:#262d47;
  color:#fff;
  max-height:0;
  overflow:hidden;
  opacity:0;
  transition:max-height .35s ease, opacity .25s ease;
}



.search-panel-input{
  width:100%;
  background:none;
  border:none;
  outline:none;
  font-size:26px;
  font-family:"Vogun", sans-serif;
  font-style:italic;
  font-weight:300;
  color:white;
}

.search-panel-input::placeholder{
  color:#cfd3e3;
}

.search-panel-title {
  display: flex;
  align-items: center;
  gap: 10px;
}



.search-panel-keywords a {
  position: relative;
  padding-left: 24px;
}

.search-panel-keywords a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 12px;
  height: 12px;
  transform: translateY(-50%);
  background-repeat: no-repeat;
  background-size: 12px;
  background-position: center;

  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3Cpolyline points='12 5 19 12 12 19'/%3E%3C/svg%3E");
}


.search-suggestions {
  margin: 8px 0 0;
  padding: 0;
  list-style: none;
  max-height: 220px;
  overflow-y: auto;
}

.search-suggestions li {
  padding: 6px 10px;
  font-size: 14px;
  cursor: pointer;
  color: #E6E8F0;
}

.search-suggestions li:hover {
  background: rgba(255, 255, 255, 0.08);
}