/* ШРИФТЫ */

@font-face {
    font-family: 'Rubik Bold';
    src: url('/files/02049/font/Rubik/Rubik.ttf') format('truetype');
}

@font-face {
    font-family: 'BadScript Regular';
    src: url('/files/02049/font/BadScript/BadScript.ttf') format('truetype');
}

/* ===========================
   FONT FAMILY
   =========================== */



.ff-rubik-bold {
	font-family: 'Rubik Bold', sans-serif;
}

.ff-badscript-regular {
	font-family: 'BadScript Regular', sans-serif;
}



/* ===========================
   АДАПТИВНЫЕ РАЗМЕРЫ ШРИФТОВ
   Bootstrap 5.3 breakpoints:
   - xs: 0 (default, no prefix)
   - sm: 576px
   - md: 768px
   - lg: 992px
   - xl: 1200px
   - xxl: 1400px
   =========================== */

/* FLUID TYPOGRAPHY (clamp) - современный подход */

.fs-fluid-caption {
    font-size: 0.65rem !important;  /* Fallback для старых браузеров */
    font-size: clamp(0.65rem, 0.55rem + 0.3vw, 0.8rem) !important;
}

.fs-fluid-caption-lg {
    font-size: 0.65rem !important;
    font-size: clamp(0.65rem, 0.55rem + 0.35vw, 1rem) !important;
}

/* Для body текста */
.fs-fluid-text-xs {
    font-size: 0.45rem !important;
    font-size: clamp(0.45rem, 0.35rem + 0.5vw, 0.9rem) !important;
}

.fs-fluid-text-sm {
    font-size: 0.7rem !important;
    font-size: clamp(0.7rem, 0.6rem + 0.4vw, 0.9rem) !important;
}

.fs-fluid-text-base {
    font-size: 0.8rem !important;
    font-size: clamp(0.8rem, 0.7rem + 0.5vw, 1rem) !important;
}

.fs-fluid-text-lg {
    font-size: 0.9rem !important;  /* Средний размер для fallback */
    font-size: clamp(0.7rem, 0.6rem + 0.5vw, 1.1rem) !important;
}

/* Для заголовков */
.fs-fluid-heading-sm {
    font-size: 1rem !important;
    font-size: clamp(0.6rem, 0.5rem + 0.5vw, 1.25rem) !important;
}

.fs-fluid-heading-sm-md {
    font-size: 1rem !important;
    font-size: clamp(0.8rem, 0.7rem + 0.5vw, 1.25rem) !important;
}

.fs-fluid-heading-md {
    font-size: 1.25rem !important;
    font-size: clamp(0.6rem, 0.5rem + 1.25vw, 1.75rem) !important;
}

.fs-fluid-heading-md-lg {
    font-size: 1.25rem !important;
    font-size: clamp(0.9rem, 0.8rem + 1.25vw, 1.75rem) !important;
} 

.fs-fluid-heading-lg {
    font-size: 1.75rem !important;
    font-size: clamp(0.9rem, 0.8rem + 1.5vw, 2.5rem) !important;
}

.fs-fluid-heading-lg-xl {
    font-size: 1.75rem !important;
    font-size: clamp(1.75rem, 1.65rem + 1.75vw, 2.5rem) !important;
}

.fs-fluid-heading-lg-xxxl {
    font-size: 1.75rem !important;
    font-size: clamp(1.75rem, 1.65rem + 2.5vw, 7.5rem) !important;
}

/* ===========================
   КАСТОМНЫЕ РАЗМЕРЫ ШРИФТОВ
   Дополнение к Bootstrap .fs-1 .. .fs-6
   =========================== */

/* Базовые размеры (xs по умолчанию) */
.fs-7 { font-size: 0.9rem !important; }   /* 14.4px при base 16px */
.fs-8 { font-size: 0.8rem !important; }   /* 12.8px */
.fs-9 { font-size: 0.7rem !important; }   /* 11.2px */

/* SM - Small (≥576px) */
@media (min-width: 576px) {
    .fs-sm-1 { font-size: 2.5rem !important; }
    .fs-sm-2 { font-size: 2rem !important; }
    .fs-sm-3 { font-size: 1.75rem !important; }
    .fs-sm-4 { font-size: 1.5rem !important; }
    .fs-sm-5 { font-size: 1.25rem !important; }
    .fs-sm-6 { font-size: 1rem !important; }
    .fs-sm-7 { font-size: 0.9rem !important; }
    .fs-sm-8 { font-size: 0.8rem !important; }
    .fs-sm-9 { font-size: 0.7rem !important; }
}

/* MD - Medium (≥768px) */
@media (min-width: 768px) {
    .fs-md-1 { font-size: 2.5rem !important; }
    .fs-md-2 { font-size: 2rem !important; }
    .fs-md-3 { font-size: 1.75rem !important; }
    .fs-md-4 { font-size: 1.5rem !important; }
    .fs-md-5 { font-size: 1.25rem !important; }
    .fs-md-6 { font-size: 1rem !important; }
    .fs-md-7 { font-size: 0.9rem !important; }
    .fs-md-8 { font-size: 0.8rem !important; }
    .fs-md-9 { font-size: 0.7rem !important; }
}

/* LG - Large (≥992px) */
@media (min-width: 992px) {
    .fs-lg-1 { font-size: 2.5rem !important; }
    .fs-lg-2 { font-size: 2rem !important; }
    .fs-lg-3 { font-size: 1.75rem !important; }
    .fs-lg-4 { font-size: 1.5rem !important; }
    .fs-lg-5 { font-size: 1.25rem !important; }
    .fs-lg-6 { font-size: 1rem !important; }
    .fs-lg-7 { font-size: 0.9rem !important; }
    .fs-lg-8 { font-size: 0.8rem !important; }
    .fs-lg-9 { font-size: 0.7rem !important; }
}

/* XL - Extra Large (≥1200px) */
@media (min-width: 1200px) {
    .fs-xl-1 { font-size: 2.5rem !important; }
    .fs-xl-2 { font-size: 2rem !important; }
    .fs-xl-3 { font-size: 1.75rem !important; }
    .fs-xl-4 { font-size: 1.5rem !important; }
    .fs-xl-5 { font-size: 1.25rem !important; }
    .fs-xl-6 { font-size: 1rem !important; }
    .fs-xl-7 { font-size: 0.9rem !important; }
    .fs-xl-8 { font-size: 0.8rem !important; }
    .fs-xl-9 { font-size: 0.7rem !important; }
}

/* XXL - Extra Extra Large (≥1400px) */
@media (min-width: 1400px) {
    .fs-xxl-1 { font-size: 2.5rem !important; }
    .fs-xxl-2 { font-size: 2rem !important; }
    .fs-xxl-3 { font-size: 1.75rem !important; }
    .fs-xxl-4 { font-size: 1.5rem !important; }
    .fs-xxl-5 { font-size: 1.25rem !important; }
    .fs-xxl-6 { font-size: 1rem !important; }
    .fs-xxl-7 { font-size: 0.9rem !important; }
    .fs-xxl-8 { font-size: 0.8rem !important; }
    .fs-xxl-9 { font-size: 0.7rem !important; }
}




/* ===========================
   TEXT SHADOWS
   =========================== */
.text-shadow-dark { 
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8) !important; 
}

.text-shadow-light { 
    text-shadow: 1px 1px 2px rgba(255, 255, 255, 0.8) !important; 
}

.text-shadow-none { 
    text-shadow: none !important; 
}

/* ===========================
   Фиксированная высота в линиях со скрытием лишнего
   =========================== */
.fs-two-lines {
	line-height: 1.25 !important; 
	height: 2.5em !important;
	display: -webkit-box; 
	-webkit-line-clamp: 2; 
	-webkit-box-orient: vertical; 
	overflow: hidden;
}


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