/* ==========================================================================
   SKF Website Builder — front-end styles
   ========================================================================== */

/* Responsive visibility */
.skf-hide-mobile { display: none !important; }
@media ( min-width: 640px ) { .skf-hide-mobile { display: revert !important; } }
.skf-hide-tablet { display: revert !important; }
@media ( min-width: 640px ) and ( max-width: 1023px ) { .skf-hide-tablet { display: none !important; } }
.skf-hide-desktop { display: revert !important; }
@media ( min-width: 1024px ) { .skf-hide-desktop { display: none !important; } }

/* New widgets */
.skf-wb-heading { margin: 0 0 0.5em; }
.skf-wb-icon { line-height: 1; }
.skf-wb-video iframe { width: 100%; aspect-ratio: 16 / 9; border: 0; border-radius: 12px; display: block; }
.skf-wb-divider { border: 0; border-top: 2px solid var(--skf-border, #dfe8e1); margin: 24px 0; }
.skf-wb-spacer { width: 100%; }

/* Form widget */
.skf-wb-form__field { margin: 0 0 14px; }
.skf-wb-form__field label { display: block; font-weight: 600; margin-bottom: 4px; font-size: 14px; }
.skf-wb-form__field input[type="text"],
.skf-wb-form__field input[type="email"],
.skf-wb-form__field input[type="tel"],
.skf-wb-form__field textarea {
  width: 100%; box-sizing: border-box; padding: 10px 12px; border: 1px solid var(--skf-border, #dfe8e1);
  border-radius: 8px; font-size: 15px; font-family: inherit;
}
.skf-wb-form__field textarea { min-height: 110px; }
.skf-wb-form__status { margin-top: 10px; font-weight: 600; }
.skf-wb-form__status.is-success { color: #00a25a; }
.skf-wb-form__status.is-error { color: #c92c2c; }

/* Popups */
.skf-popup { position: fixed; inset: 0; z-index: 99999; display: flex; align-items: center; justify-content: center; }
.skf-popup[hidden] { display: none; }
.skf-popup__overlay { position: absolute; inset: 0; background: rgba(10, 40, 30, 0.65); }
.skf-popup__box {
  position: relative; z-index: 1; background: #fff; border-radius: 16px; max-width: 560px; width: 92%;
  max-height: 85vh; overflow: auto; padding: 28px; box-shadow: 0 24px 60px rgba(0,0,0,.25);
}
.skf-popup__close { position: absolute; top: 10px; right: 12px; background: none; border: 0; font-size: 26px; cursor: pointer; color: #555; }

/* Motion effects */
.skf-motion { opacity: 0; transition: opacity .6s ease, transform .6s ease; }
.skf-motion.is-visible { opacity: 1; transform: none; }
.skf-motion--slide-up { transform: translateY(24px); }
.skf-motion--slide-down { transform: translateY(-24px); }
.skf-motion--zoom { transform: scale(0.9); }
.skf-motion--bounce { transform: scale(0.9); }
@media ( prefers-reduced-motion: reduce ) {
  .skf-motion { opacity: 1; transform: none; transition: none; }
}
.skf-motion-parallax { will-change: transform; }

/* Hover effects */
.skf-hover-lift { transition: transform var(--skf-transition, .3s), box-shadow var(--skf-transition, .3s); }
.skf-hover-lift:hover { transform: translateY(-4px); box-shadow: 0 12px 30px rgba(10,61,46,.15); }
.skf-hover-grow { transition: transform var(--skf-transition, .3s); }
.skf-hover-grow:hover { transform: scale(1.04); }
.skf-hover-shrink { transition: transform var(--skf-transition, .3s); }
.skf-hover-shrink:hover { transform: scale(0.97); }
.skf-hover-glow { transition: box-shadow var(--skf-transition, .3s); }
.skf-hover-glow:hover { box-shadow: 0 0 0 3px rgba(0,162,90,.25); }

/* Header / footer builder containers */
.skf-wb-header, .skf-wb-footer { display: block; }
