/*
Theme Name:   babypartybox Child
Theme URI:    https://babypartybox.de
Description:  Child-Theme von Hello Elementor mit eigenem Header (Logo, Menü, Hamburger) und Footer für babypartybox.
Author:       babypartybox
Template:     hello-elementor
Version:      1.0.0
Text Domain:  babypartybox-child
*/

/* ===== Variablen & Grundlagen für Header und Footer ===== */
.bpb-chrome{
  --peach:#FFBE98; --peach-deep:#F5A374;
  --sage:#A0C4B6; --sage-deep:#7FA895;
  --mint:#B4E2C5; --cream:#FFFBF6;
  --ink:#3D3229; --ink-soft:#6B5D4F; --white:#ffffff;
  --radius-lg:32px; --radius-md:20px; --max-w:1120px;
  font-family:'Nunito', sans-serif;
  line-height:1.6;
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
}
.bpb-chrome *{box-sizing:border-box;}
.bpb-chrome img{max-width:100%; display:block;}
.bpb-chrome a{color:inherit;}
.bpb-chrome .wrap{max-width:var(--max-w); margin:0 auto; padding:0 24px;}
.bpb-chrome a:focus-visible, .bpb-chrome button:focus-visible{outline:3px solid var(--ink); outline-offset:2px;}

/* ===== HEADER / NAVIGATION ===== */
.bpb-chrome header.bpb-header{
  background:var(--cream);
  padding:24px 0;
  position:relative;
  z-index:20;
}
.bpb-chrome .nav-row{display:flex; align-items:center; justify-content:space-between;}
.bpb-chrome .logo-mark{display:inline-flex; text-decoration:none !important;}
.bpb-chrome .logo-mark img{height:52px; width:auto;}
.bpb-chrome .main-nav{display:flex; align-items:center; gap:30px;}
.bpb-chrome .nav-link{
  font-family:'Nunito', sans-serif;
  font-weight:700;
  font-size:.98rem;
  text-decoration:none !important;
  color:var(--ink-soft);
  white-space:nowrap;
  transition:color .15s ease;
}
.bpb-chrome .nav-link:hover, .bpb-chrome .nav-link.is-active{color:var(--ink);}
.bpb-chrome .nav-cta{
  font-family:'Nunito', sans-serif;
  font-weight:700;
  font-size:.95rem;
  padding:11px 22px;
  border-radius:999px;
  border:2px solid var(--peach-deep);
  background:var(--peach-deep);
  color:var(--white) !important;
  text-decoration:none !important;
  white-space:nowrap;
  transition:transform .18s ease, box-shadow .18s ease;
  box-shadow:0 6px 16px -6px rgba(245,163,116,.6);
}
.bpb-chrome .nav-cta:hover{transform:translateY(-1px); box-shadow:0 10px 20px -6px rgba(245,163,116,.7);}

/* ===== HAMBURGER ===== */
.bpb-chrome .mobile-menu-toggle,
.bpb-chrome .mobile-menu-toggle:hover,
.bpb-chrome .mobile-menu-toggle:focus,
.bpb-chrome .mobile-menu-toggle:active{
  display:none;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:5px;
  width:40px;
  height:40px;
  padding:0;
  border:none !important;
  border-radius:0;
  background:transparent !important;
  box-shadow:none;
  cursor:pointer;
  flex:0 0 auto;
  -webkit-appearance:none; appearance:none;
}
.bpb-chrome .mobile-menu-toggle span{
  display:block; width:22px; height:2.5px; border-radius:2px;
  background:var(--ink);
  transition:transform .25s ease, opacity .25s ease;
}
.bpb-chrome .mobile-menu-toggle.is-active span:nth-child(1){transform:translateY(7.5px) rotate(45deg);}
.bpb-chrome .mobile-menu-toggle.is-active span:nth-child(2){opacity:0;}
.bpb-chrome .mobile-menu-toggle.is-active span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg);}

.bpb-chrome .mobile-menu{
  display:none;
  flex-direction:column;
  max-height:0;
  overflow:hidden;
  opacity:0;
  background:var(--cream);
  border-radius:var(--radius-md);
  margin:0;
  transition:max-height .3s ease, opacity .25s ease, margin .3s ease;
}
.bpb-chrome .mobile-menu.open{
  max-height:420px;
  opacity:1;
  margin:12px 0 4px;
  border:1px solid #F0E7DB;
  background:var(--white);
}
.bpb-chrome .mobile-menu a{
  padding:16px 20px;
  font-family:'Nunito', sans-serif;
  font-weight:700;
  font-size:1rem;
  color:var(--ink);
  text-decoration:none !important;
  border-bottom:1px solid #F0E7DB;
}
.bpb-chrome .mobile-menu a:last-child{border-bottom:none;}
.bpb-chrome .mobile-menu .mobile-menu-cta{color:var(--peach-deep); font-weight:800;}

@media (max-width:768px){
  .bpb-chrome .main-nav .nav-link{display:none;}
  .bpb-chrome .main-nav .nav-cta{display:none;}
  .bpb-chrome .mobile-menu-toggle,
  .bpb-chrome .mobile-menu-toggle:hover,
  .bpb-chrome .mobile-menu-toggle:focus,
  .bpb-chrome .mobile-menu-toggle:active{display:flex;}
  .bpb-chrome .mobile-menu{display:flex;}
}

/* ===== FOOTER ===== */
.bpb-chrome footer.bpb-footer{
  background:var(--ink);
  color:#EFE7DC;
  padding:44px 0 28px;
}
.bpb-chrome .footer-row{
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap;
  gap:20px; padding-bottom:26px;
  border-bottom:1px solid rgba(239,231,220,.15);
}
.bpb-chrome .footer-logo{display:flex; align-items:center;}
.bpb-chrome .footer-logo img{height:34px; width:auto; filter:brightness(0) invert(1); opacity:.92;}
.bpb-chrome .footer-social{display:flex; gap:14px;}
.bpb-chrome .footer-social a{
  width:38px; height:38px; border-radius:50%;
  background:rgba(239,231,220,.1);
  display:flex; align-items:center; justify-content:center;
  text-decoration:none !important;
}
.bpb-chrome .footer-bottom{
  padding-top:22px; font-size:.85rem; color:rgba(239,231,220,.6);
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;
}
.bpb-chrome .footer-bottom a{text-decoration:none !important; color:rgba(239,231,220,.75);}
.bpb-chrome .footer-bottom a:hover{color:#fff;}
@media (max-width:600px){
  .bpb-chrome .footer-row{flex-direction:column; align-items:flex-start;}
}

/* ===== Alte, in die Seiten eingebettete Header/Footer ausblenden (Übergangslösung) ===== */
#bpb-page > header.bpb-header:not(:has(.hero)),
#bpb-page > footer.bpb-footer{display:none !important;}

@media (prefers-reduced-motion: reduce){
  .bpb-chrome *{transition:none !important;}
}
