/* BAUKERN — floating WhatsApp contact (reference-style CTA) */
.whatsapp-float{
  position:fixed;
  right:max(18px,env(safe-area-inset-right));
  left:auto;
  bottom:max(20px,env(safe-area-inset-bottom));
  z-index:1000;
  display:inline-flex;
  flex-direction:row-reverse;
  align-items:center;
  gap:8px;
  padding:0;
  background:transparent;
  color:#fff;
  text-decoration:none;
  -webkit-tap-highlight-color:transparent;
  transition:transform .22s ease,opacity .22s ease;
}
.whatsapp-float__text{
  display:flex;
  align-items:center;
  min-height:42px;
  max-width:0;
  padding:0;
  border:1px solid transparent;
  border-radius:999px;
  background:rgba(34,39,43,.96);
  color:#fff;
  box-shadow:none;
  white-space:nowrap;
  overflow:hidden;
  opacity:0;
  transform:translateX(8px);
  pointer-events:none;
  font-family:Georgia,"Times New Roman",serif;
  font-size:13px;
  line-height:1;
  font-weight:700;
  letter-spacing:-.015em;
  transition:max-width .28s ease,padding .28s ease,opacity .18s ease,transform .28s ease,border-color .22s ease,background .22s ease,box-shadow .22s ease;
}
.whatsapp-float__icon{
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  flex:0 0 54px;
  border-radius:50%;
  background:transparent;
  color:#fff;
  box-shadow:0 9px 22px rgba(37,211,102,.22),0 7px 18px rgba(0,0,0,.16);
  transition:transform .22s ease,filter .22s ease,box-shadow .22s ease;
}
.whatsapp-float__icon img{display:block;width:100%;height:100%;object-fit:contain;border-radius:50%}
.whatsapp-float:hover{transform:translateY(-3px)}
.whatsapp-float:hover .whatsapp-float__text,
.whatsapp-float:focus-visible .whatsapp-float__text{max-width:230px;padding:0 14px;opacity:1;transform:translateX(0);pointer-events:auto;border-color:rgba(182,141,80,.88);background:#272d31;box-shadow:0 16px 34px rgba(0,0,0,.23)}
.whatsapp-float:hover .whatsapp-float__icon{transform:scale(1.045);filter:saturate(1.08);box-shadow:0 12px 26px rgba(37,211,102,.3),0 9px 22px rgba(0,0,0,.18)}
.whatsapp-float:focus-visible{outline:3px solid rgba(182,141,80,.65);outline-offset:5px;border-radius:999px}
@media(max-width:768px){
  .whatsapp-float__text{display:none}
}
@media(max-width:640px){
  .whatsapp-float{right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));gap:0;max-width:calc(100vw - 24px)}
  .whatsapp-float__icon{width:50px;height:50px;flex-basis:50px}
  .whatsapp-float__icon img{width:100%;height:100%}
  .whatsapp-float__text{min-height:52px;max-width:calc(100vw - 90px);padding:0 17px;font-size:14px;overflow:hidden;text-overflow:ellipsis}
}
@media(max-width:390px){
  .whatsapp-float__text{padding:0 14px;font-size:13px}
}
@media(max-width:330px){
  .whatsapp-float__text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
}
@media(prefers-reduced-motion:reduce){.whatsapp-float,.whatsapp-float__text,.whatsapp-float__icon{transition:none}}

/* BAUKERN — privacy notice inspired by ORALC */
.privacy-notice{
  position:fixed;
  left:max(24px,env(safe-area-inset-left));
  bottom:max(24px,env(safe-area-inset-bottom));
  z-index:1200;
  width:min(520px,calc(100vw - 48px));
  box-sizing:border-box;
  padding:21px 23px 20px;
  border:1px solid #2a2825;
  border-radius:0;
  background:#f5f2ed;
  color:#2c2a28;
  box-shadow:0 10px 28px rgba(0,0,0,.13);
  opacity:0;
  transform:translateY(14px);
  transition:opacity .24s ease,transform .24s ease;
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
}
.privacy-notice.is-visible{opacity:1;transform:translateY(0)}
.privacy-notice h2{
  margin:0 0 12px;
  color:#2d2b29;
  font-size:18px;
  line-height:1.25;
  font-weight:700;
  letter-spacing:-.01em;
}
.privacy-notice p{
  margin:0;
  max-width:470px;
  color:#66615c;
  font-size:14px;
  line-height:1.55;
  font-weight:400;
}
.privacy-notice__links{
  display:flex;
  flex-wrap:wrap;
  gap:8px 22px;
  margin:14px 0 16px;
}
.privacy-notice__links a{
  color:#3f3b37;
  font-size:13.5px;
  line-height:1.35;
  font-weight:400;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
  transition:opacity .18s ease;
}
.privacy-notice__links a:hover{opacity:.62}
.privacy-notice__close{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:185px;
  min-height:50px;
  padding:0 20px;
  border:1px solid #292622;
  border-radius:3px;
  background:#292622;
  color:#fff;
  cursor:pointer;
  font:700 16px/1 Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  letter-spacing:-.01em;
  transition:background .18s ease,color .18s ease;
}
.privacy-notice__close:hover{background:#403c37}
.privacy-notice__close:focus-visible,.privacy-notice__links a:focus-visible{
  outline:3px solid rgba(182,141,80,.38);
  outline-offset:3px;
}
@media(max-width:700px){
  .privacy-notice{
    left:max(12px,env(safe-area-inset-left));
    right:max(12px,env(safe-area-inset-right));
    bottom:max(12px,env(safe-area-inset-bottom));
    width:auto;
    padding:20px 21px 19px;
  }
  .privacy-notice h2{font-size:17px;margin-bottom:11px}
  .privacy-notice p{font-size:13.5px;line-height:1.52}
  .privacy-notice__links{margin:13px 0 15px;gap:8px 20px}
  .privacy-notice__links a{font-size:13px}
  .privacy-notice__close{min-width:180px;min-height:48px;font-size:15px}
  .privacy-notice-open .whatsapp-float{opacity:0;pointer-events:none;transform:translateY(10px)}
}
@media(max-width:420px){
  .privacy-notice{padding:18px 17px 17px}
  .privacy-notice h2{font-size:16.5px}
  .privacy-notice p{font-size:13px}
  .privacy-notice__links{gap:7px 16px}
  .privacy-notice__close{width:100%;min-width:0;min-height:46px;font-size:14.5px}
}
@media(prefers-reduced-motion:reduce){.privacy-notice,.privacy-notice__close{transition:none}}
