.reveal {opacity:0;transform:translateY(30px);transition:all 0.8s ease;}
.reveal.active {opacity:1;transform:translateY(0);}
.separator::after {content:'';display:block;width:0;height:2px;background:#8B6E42;transition:width 0.8s ease;}
.separator.active::after {width:80px;}
html {scroll-behavior:smooth;}
.text-shadow {text-shadow:0 2px 4px rgba(0,0,0,0.3);}
.card-hover {transition:all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);}
.card-hover:hover {transform:translateY(-10px);box-shadow:0 15px 30px rgba(0,0,0,0.1);}
.gradient-overlay {background:linear-gradient(to right, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0.6) 50%, rgba(0,0,0,0.4) 100%);}
.image-zoom {overflow:hidden;}
.image-zoom img {transition:transform 0.7s ease;}
.image-zoom:hover img {transform:scale(1.05);}
.section-divider {height:1px;background:linear-gradient(to right, rgba(139,110,66,0.1), rgba(139,110,66,0.5), rgba(139,110,66,0.1));}

/* Kontaktwidget högsta z-index */
.contact-widget-button {
  z-index: 9999 !important;
}

.contact-widget-content, 
.contact-widget-notification {
  z-index: 10000 !important;
  pointer-events: auto !important;
}

#mobile-menu {
  z-index: 9950;
}

body::after {
  content: "";
  display: none;
}

body.widget-open::after {
  display: block;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.5);
  z-index: 9900;
}