/* =================================================================
   Sasly Template — default.css  (CSS reset + base)
   ================================================================= */
*, *::before, *::after { box-sizing: border-box; }

:root {
  --primary-color: #7AE36A;
  --secondary-color: #F6DC66;
  --heading-color: #1F1F1F;
  --text-color: #555;
  --white-color: #fff;
  --bg-color: #F8F8F8;
  --border-color: #E5E5E5;
  --font-heading: 'Plus Jakarta Sans', sans-serif;
  --font-body: 'Manrope', sans-serif;
  --transition: all 0.3s ease;
}

html { scroll-behavior: smooth; }

body {
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.7;
  color: var(--text-color);
  background-color: var(--white-color);
  overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading);
  color: var(--heading-color);
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 15px;
}
h1 { font-size: clamp(36px, 5vw, 64px); }
h2 { font-size: clamp(28px, 4vw, 48px); }
h3 { font-size: clamp(22px, 3vw, 36px); }
h4 { font-size: clamp(18px, 2.5vw, 26px); }
h5 { font-size: 18px; }
h6 { font-size: 16px; }

p { margin-bottom: 15px; }
a { color: inherit; text-decoration: none; transition: var(--transition); }
a:hover { color: var(--primary-color); }
img { max-width: 100%; height: auto; display: block; }
ul { list-style: none; margin: 0; padding: 0; }

/* Utility spacing */
.pt-80  { padding-top: 80px; }
.pt-100 { padding-top: 100px; }
.pt-130 { padding-top: 130px; }
.pb-60  { padding-bottom: 60px; }
.pb-80  { padding-bottom: 80px; }
.pb-95  { padding-bottom: 95px; }
.pb-100 { padding-bottom: 100px; }
.pb-130 { padding-bottom: 130px; }
.mb-10  { margin-bottom: 10px; }
.mb-20  { margin-bottom: 20px; }
.mb-30  { margin-bottom: 30px; }
.mb-35  { margin-bottom: 35px; }
.mb-40  { margin-bottom: 40px; }
.mb-50  { margin-bottom: 50px; }
.mb-60  { margin-bottom: 60px; }
.mt-20  { margin-top: 20px; }
.mt-40  { margin-top: 40px; }
.mt-50  { margin-top: 50px; }
.p-40   { padding: 40px; }

.bg_cover { background-size: cover; background-position: center; background-repeat: no-repeat; }
.text-white h1, .text-white h2, .text-white h3, .text-white h4, .text-white h5, .text-white p { color: #fff; }

/* Preloader */
.preloader {
  position: fixed; inset: 0; z-index: 99999;
  background: var(--white-color);
  display: flex; align-items: center; justify-content: center;
}
.preloader .loader img { width: 60px; animation: spin 1s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.preloader.loaded { opacity: 0; pointer-events: none; transition: opacity 0.4s ease; }
