:root {
  --font-base: "Montserrat", sans-serif;
  --primary: #ff5b6b;
  --secondary: #000000;
  --text-color: #ff939d;
  --text-color-second: #444444;
  --radius: 75px;
  --transition-fast: all 0.3s ease;
  --transition-slow: transform 0.4s ease;
  --shadow-light: 0 6px 16px rgba(0, 0, 0, 0.08);
  --banner-min-height: 300px;
  --banner-padding: 40px;
}

/* Base text color */
.text-primary-custom {
  color: var(--primary) !important;
}

.text-secondary-custom {
  color: var(--secondary) !important;
}

.text-color-second {
  color: var(--text-color-second) !important;
}

/* Background colors */
.bg-primary-custom {
  background-color: #fff !important;
  color: var(--primary);
}

.bg-secondary-custom {
  background-color: var(--text-color) !important;
  color: #fff;
}

/* Border */
.border-primary-custom {
  border: 1px solid var(--primary) !important;
}

.border-secondary-custom {
  border: 1px solid var(--secondary) !important;
}

/* Button Style */
.btn-outline-custom {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-color);
  border: 1px solid var(--text-color);
  border-radius: var(--radius);
  font-weight: 600;
  transition: var(--transition-fast);
}

.btn-outline-custom:hover {
  color: #fff !important;
  background-color: var(--text-color) !important;
}

.btn-primary-custom {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background-color: var(--text-color);
  border-radius: 30px;
  font-size: 16px;
  font-weight: bold;
  transition: var(--transition-fast);
}

.btn-primary-custom:hover {
  color: var(--text-color);
  border: 1px solid var(--text-color);
  background-color: #fff;
}

.btn-h-50 {
  height: 50px;
}
.btn-h-45 {
  height: 45px;
}
.text-fs-15 {
  font-size: 15px !important;
}

.text-fs-20 {
  font-size: 20px !important;
}

/* Custom card with shadow */
.card-custom {
  border: none;
  border-radius: 16px;
  box-shadow: var(--shadow-light);
  transition: var(--transition-fast);
}

.card-custom:hover {
  transform: translateY(-5px);
}

.non-pointer {
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
}

/* Rounded utilities */
.rounded-custom {
  border-radius: var(--radius) !important;
}

/* Smooth scale on hover */
.hover-scale {
  transition: var(--transition-slow);
}

.hover-scale:hover {
  transform: scale(1.05);
}

.bg-pink {
  background-color: var(--primary);
}

.text-justify {
  text-align: justify;
}

.text-truncate-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.text-truncate-3 {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.text-truncate-4 {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.text-truncate-9 {
  display: -webkit-box;
  -webkit-line-clamp: 9;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.text-truncate-10 {
  display: -webkit-box;
  -webkit-line-clamp: 10;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.radius-8 {
  border-radius: 8px !important;
}
.radius-15 {
  border-radius: 15px !important;
}
.radius-16 {
  border-radius: 16px !important;
}
.radius-20 {
  border-radius: 20px !important;
}
.text-size-20 {
  font-size: 20px !important;
}
.btn-height {
  height: 50px !important;
}
.shadow-custom {
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
}
