/* ===== Subtil global polish ===== */
:root{
  --bb-radius: 10px;
  --bb-shadow: 0 8px 24px rgba(0,0,0,.08);
  --bb-shadow-hover: 0 14px 32px rgba(0,0,0,.12);
  --bb-transition: 220ms cubic-bezier(.2,.8,.2,1);
}

/* Typografi/luft */
body{
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
p, li{
  line-height: 1.65;
}

/* Sektioner: lite mer luft */
.elementor-section{
  transition: background-color var(--bb-transition), box-shadow var(--bb-transition);
}

/* Knappar */
.elementor-button,
button,
input[type="submit"],
.jet-form-builder__submit{
  border-radius: var(--bb-radius) !important;
  transition: transform var(--bb-transition), box-shadow var(--bb-transition), opacity var(--bb-transition) !important;
  will-change: transform;
}
.elementor-button:hover,
button:hover,
input[type="submit"]:hover,
.jet-form-builder__submit:hover{
  transform: translateY(-2px);
  box-shadow: var(--bb-shadow);
}

/* Kort/boxar (Elementor + vanliga widgets) */
.elementor-widget-container,
.elementor-column .elementor-element-populated{
  border-radius: var(--bb-radius);
}
.elementor-widget-image-box,
.elementor-widget-icon-box,
.elementor-widget-posts .elementor-post,
.jet-listing-grid__item,
.jet-engine-listing-overlay-wrap{
  transition: transform var(--bb-transition), box-shadow var(--bb-transition);
}
.elementor-widget-image-box:hover,
.elementor-widget-icon-box:hover,
.elementor-widget-posts .elementor-post:hover,
.jet-listing-grid__item:hover,
.jet-engine-listing-overlay-wrap:hover{
  transform: translateY(-3px);
  box-shadow: var(--bb-shadow-hover);
}

/* Länkar */
a{
  transition: opacity var(--bb-transition), color var(--bb-transition);
}
a:hover{ opacity: .88; }

/* Formfält (Jet + CF7 + Woo) */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="number"],
textarea,
select{
  border-radius: 8px !important;
  transition: border-color var(--bb-transition), box-shadow var(--bb-transition);
}
input:focus, textarea:focus, select:focus{
  outline: none;
  box-shadow: 0 0 0 3px rgba(0,0,0,.08);
}

/* Sticky headers/navigering (subtil blur om stöd finns) */
@supports (backdrop-filter: blur(6px)){
  .elementor-sticky--active,
  .site-header,
  header{
    backdrop-filter: blur(6px);
  }
}

/* Mobiljustering */
@media (max-width: 767px){
  p, li{ line-height: 1.6; }
  .elementor-button{ width: auto; }
}