/* ======================================================
   ГЛОБАЛЬНЫЙ ФАЙЛ СТИЛЕЙ (Core + Utils)
   Версия: Полная сборка (С py/px/my/mx)
   ====================================================== */

/* --- 0. Переменные дизайна (:root) --- */
:root {
    --color-black: #000000;
    --color-white: #FFFFFF;
    --color-blue: #007BFF;
    --color-gray: #6C757D;
    --bs-spacer: 1rem; /* Базовый шаг = 16px */
}


/* --- 1. БАЗОВЫЕ НАСТРОЙКИ И ТИПОГРАФИКА --- */
.content,
.content_mobile {
    margin: 0 auto;
    width: 80%;
}
footer {
    background: var(--color-black);
    display: block;
    padding: 80px 0 10px;
}
h1, h2, h3, h4, h5, h6 {
    color: var(--color-black);
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 0.5rem;
    margin-top: 0;
}
h1 { font-size: clamp(32px, 4.5vw, 64px); font-weight: 900; }
h2 { font-size: clamp(24px, 3.5vw, 56px); font-weight: 900; }
h3 { font-size: clamp(20px, 3vw, 40px); font-weight: 800; }
h4 { font-size: clamp(18px, 2.5vw, 28px); font-weight: 700; }
h5 { font-size: clamp(16px, 2vw, 20px); font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; }
h6 { font-size: clamp(14px, 1.75vw, 16px); font-weight: 600; opacity: 0.85; }
.bg-blue h1, .bg-blue h2, .bg-blue h3, .bg-blue h4, .bg-blue h5, .bg-blue h6,
.bg-dark h1, .bg-dark h2, .bg-dark h3, .bg-dark h4, .bg-dark h5, .bg-dark h6,
.bg-black h1, .bg-black h2, .bg-black h3, .bg-black h4, .bg-black h5, .bg-black h6 {
    color: var(--color-white) !important;
}
.p-4 > :first-child { margin-top: 0 !important; }


/* --- 2. УТИЛИТЫ DISPLAY --- */
.d-none { display: none !important; }
.d-inline { display: inline !important; }
.d-block { display: block !important; }
.d-flex { display: flex !important; }
.d-grid { display: grid !important; }
@media (min-width: 576px) { .d-sm-none { display: none !important; } }
@media (min-width: 768px) { .d-md-none { display: none !important; } .d-md-inline { display: inline !important; } .d-md-block { display: block !important; } .d-md-flex { display: flex !important; } }
@media (min-width: 992px) { .d-lg-none { display: none !important; } .d-lg-inline { display: inline !important; } .d-lg-block { display: block !important; } .d-lg-flex { display: flex !important; } }
@media (min-width: 1200px){ .d-xl-none { display: none !important; } .d-xl-inline { display: inline !important; } .d-xl-block { display: block !important; } .d-xl-flex { display: flex !important; } }
@media (min-width: 1400px){ .d-xxl-none { display: none !important; } .d-xxl-inline { display: inline !important; } .d-xxl-block { display: block !important; } .d-xxl-flex { display: flex !important; } }


/* --- 3. MARGIN UTILITIES — Только Margin --- */

/* MARGIN BASE */
.m-0{margin:0!important;} .m-1{margin:calc(var(--bs-spacer)*.25)!important;} .m-2{margin:calc(var(--bs-spacer)*.5)!important;}
.m-3{margin:var(--bs-spacer)!important;} .m-4{margin:calc(var(--bs-spacer)*1.5)!important;} .m-5{margin:calc(var(--bs-spacer)*3)!important;}

/* ОСЕВЫЕ MARGIN (ВОССТАНОВЛЕНО) */
.mx-auto{margin-left:auto!important;margin-right:auto!important;}
.mx-1{margin-left:4px!important;margin-right:4px!important;} .mx-2{margin-left:8px!important;margin-right:8px!important;}
.mx-3{margin-left:16px!important;margin-right:16px!important;} .mx-4{margin-left:24px!important;margin-right:24px!important;}
.mx-5{margin-left:48px!important;margin-right:48px!important;}
.my-1{margin-top:4px!important;margin-bottom:4px!important;} .my-2{margin-top:8px!important;margin-bottom:8px!important;}
.my-3{margin-top:16px!important;margin-bottom:16px!important;} .my-4{margin-top:24px!important;margin-bottom:24px!important;}
.my-5{margin-top:48px!important;margin-bottom:48px!important;}

/* НАПРАВЛЕННЫЕ MARGIN */
.mt-0{margin-top:0!important;} .mt-1{margin-top:4px!important;} .mt-2{margin-top:8px!important;} .mt-3{margin-top:16px!important;} .mt-4{margin-top:24px!important;} .mt-5{margin-top:48px!important;}
.mb-0{margin-bottom:0!important;} .mb-1{margin-bottom:4px!important;} .mb-2{margin-bottom:8px!important;} .mb-3{margin-bottom:16px!important;} .mb-4{margin-bottom:24px!important;} .mb-5{margin-bottom:48px!important;}
.ms-0{margin-left:0!important;} .ms-1{margin-left:4px!important;} .ms-2{margin-left:8px!important;} .ms-3{margin-left:16px!important;} .ms-4{margin-left:24px!important;} .ms-5{margin-left:48px!important;}
.me-0{margin-right:0!important;} .me-1{margin-right:4px!important;} .me-2{margin-right:8px!important;} .me-3{margin-right:16px!important;} .me-4{margin-right:24px!important;} .me-5{margin-right:48px!important;}

/* АДАПТИВНЫЕ MARGIN ONLY */
@media(min-width:576px){
    .mt-sm-0,.mb-sm-0,.ms-sm-0,.me-sm-0,.mx-sm-0,.my-sm-0{margin:0!important;}
    .mt-sm-1,.mb-sm-1,.ms-sm-1,.me-sm-1,.mx-sm-1,.my-sm-1{margin:4px!important;}
    .mt-sm-2,.mb-sm-2,.ms-sm-2,.me-sm-2,.mx-sm-2,.my-sm-2{margin:8px!important;}
    .mt-sm-3,.mb-sm-3,.ms-sm-3,.me-sm-3,.mx-sm-3,.my-sm-3{margin:16px!important;}
    .mt-sm-4,.mb-sm-4,.ms-sm-4,.me-sm-4,.mx-sm-4,.my-sm-4{margin:24px!important;}
    .mt-sm-5,.mb-sm-5,.ms-sm-5,.me-sm-5,.mx-sm-5,.my-sm-5{margin:48px!important;}
}
@media(min-width:768px){
    .mt-md-0,.mb-md-0,.ms-md-0,.me-md-0,.mx-md-0,.my-md-0{margin:0!important;}
    .mt-md-1,.mb-md-1,.ms-md-1,.me-md-1,.mx-md-1,.my-md-1{margin:4px!important;}
    .mt-md-2,.mb-md-2,.ms-md-2,.me-md-2,.mx-md-2,.my-md-2{margin:8px!important;}
    .mt-md-3,.mb-md-3,.ms-md-3,.me-md-3,.mx-md-3,.my-md-3{margin:16px!important;}
    .mt-md-4,.mb-md-4,.ms-md-4,.me-md-4,.mx-md-4,.my-md-4{margin:24px!important;}
    .mt-md-5,.mb-md-5,.ms-md-5,.me-md-5,.mx-md-5,.my-md-5{margin:48px!important;}
}
@media(min-width:992px){
    .mt-lg-0,.mb-lg-0,.ms-lg-0,.me-lg-0,.mx-lg-0,.my-lg-0{margin:0!important;}
    .mt-lg-1,.mb-lg-1,.ms-lg-1,.me-lg-1,.mx-lg-1,.my-lg-1{margin:4px!important;}
    .mt-lg-2,.mb-lg-2,.ms-lg-2,.me-lg-2,.mx-lg-2,.my-lg-2{margin:8px!important;}
    .mt-lg-3,.mb-lg-3,.ms-lg-3,.me-lg-3,.mx-lg-3,.my-lg-3{margin:16px!important;}
    .mt-lg-4,.mb-lg-4,.ms-lg-4,.me-lg-4,.mx-lg-4,.my-lg-4{margin:24px!important;}
    .mt-lg-5,.mb-lg-5,.ms-lg-5,.me-lg-5,.mx-lg-5,.my-lg-5{margin:48px!important;}
}
@media(min-width:1200px){
    .mt-xl-0,.mb-xl-0,.ms-xl-0,.me-xl-0,.mx-xl-0,.my-xl-0{margin:0!important;}
    .mt-xl-1,.mb-xl-1,.ms-xl-1,.me-xl-1,.mx-xl-1,.my-xl-1{margin:4px!important;}
    .mt-xl-2,.mb-xl-2,.ms-xl-2,.me-xl-2,.mx-xl-2,.my-xl-2{margin:8px!important;}
    .mt-xl-3,.mb-xl-3,.ms-xl-3,.me-xl-3,.mx-xl-3,.my-xl-3{margin:16px!important;}
    .mt-xl-4,.mb-xl-4,.ms-xl-4,.me-xl-4,.mx-xl-4,.my-xl-4{margin:24px!important;}
    .mt-xl-5,.mb-xl-5,.ms-xl-5,.me-xl-5,.mx-xl-5,.my-xl-5{margin:48px!important;}
}
@media(min-width:1400px){
    .mt-xxl-0,.mb-xxl-0,.ms-xxl-0,.me-xxl-0,.mx-xxl-0,.my-xxl-0{margin:0!important;}
    .mt-xxl-1,.mb-xxl-1,.ms-xxl-1,.me-xxl-1,.mx-xxl-1,.my-xxl-1{margin:4px!important;}
    .mt-xxl-2,.mb-xxl-2,.ms-xxl-2,.me-xxl-2,.mx-xxl-2,.my-xxl-2{margin:8px!important;}
    .mt-xxl-3,.mb-xxl-3,.ms-xxl-3,.me-xxl-3,.mx-xxl-3,.my-xxl-3{margin:16px!important;}
    .mt-xxl-4,.mb-xxl-4,.ms-xxl-4,.me-xxl-4,.mx-xxl-4,.my-xxl-4{margin:24px!important;}
    .mt-xxl-5,.mb-xxl-5,.ms-xxl-5,.me-xxl-5,.mx-xxl-5,.my-xxl-5{margin:48px!important;}
}


/* --- 4. PADDING UTILITIES — Только Padding --- */

/* PADDING BASE */
.p-0{padding:0!important;} .p-1{padding:calc(var(--bs-spacer)*.25)!important;} .p-2{padding:calc(var(--bs-spacer)*.5)!important;}
.p-3{padding:var(--bs-spacer)!important;} .p-4{padding:calc(var(--bs-spacer)*1.5)!important;} .p-5{padding:calc(var(--bs-spacer)*3)!important;}

/* ОСЕВЫЕ PADDING (ВОССТАНОВЛЕНО) */
.px-1{padding-left:4px!important;padding-right:4px!important;} .px-2{padding-left:8px!important;padding-right:8px!important;}
.px-3{padding-left:16px!important;padding-right:16px!important;} .px-4{padding-left:24px!important;padding-right:24px!important;}
.px-5{padding-left:48px!important;padding-right:48px!important;}
.py-1{padding-top:4px!important;padding-bottom:4px!important;} .py-2{padding-top:8px!important;padding-bottom:8px!important;}
.py-3{padding-top:16px!important;padding-bottom:16px!important;} .py-4{padding-top:24px!important;padding-bottom:24px!important;}
.py-5{padding-top:48px!important;padding-bottom:48px!important;}

/* НАПРАВЛЕННЫЕ PADDING */
.pt-0{padding-top:0!important;} .pt-1{padding-top:4px!important;} .pt-2{padding-top:8px!important;} .pt-3{padding-top:16px!important;} .pt-4{padding-top:24px!important;} .pt-5{padding-top:48px!important;}
.pb-0{padding-bottom:0!important;} .pb-1{padding-bottom:4px!important;} .pb-2{padding-bottom:8px!important;} .pb-3{padding-bottom:16px!important;} .pb-4{padding-bottom:24px!important;} .pb-5{padding-bottom:48px!important;}
.ps-0{padding-left:0!important;} .ps-1{padding-left:4px!important;} .ps-2{padding-left:8px!important;} .ps-3{padding-left:16px!important;} .ps-4{padding-left:24px!important;} .ps-5{padding-left:48px!important;}
.pe-0{padding-right:0!important;} .pe-1{padding-right:4px!important;} .pe-2{padding-right:8px!important;} .pe-3{padding-right:16px!important;} .pe-4{padding-right:24px!important;} .pe-5{padding-right:48px!important;}

/* АДАПТИВНЫЕ PADDING ONLY */
@media(min-width:576px){
    .pt-sm-0,.pb-sm-0,.ps-sm-0,.pe-sm-0,.px-sm-0,.py-sm-0{padding:0!important;}
    .pt-sm-1,.pb-sm-1,.ps-sm-1,.pe-sm-1,.px-sm-1,.py-sm-1{padding:4px!important;}
    .pt-sm-2,.pb-sm-2,.ps-sm-2,.pe-sm-2,.px-sm-2,.py-sm-2{padding:8px!important;}
    .pt-sm-3,.pb-sm-3,.ps-sm-3,.pe-sm-3,.px-sm-3,.py-sm-3{padding:16px!important;}
    .pt-sm-4,.pb-sm-4,.ps-sm-4,.pe-sm-4,.px-sm-4,.py-sm-4{padding:24px!important;}
    .pt-sm-5,.pb-sm-5,.ps-sm-5,.pe-sm-5,.px-sm-5,.py-sm-5{padding:48px!important;}
}
@media(min-width:768px){
    .pt-md-0,.pb-md-0,.ps-md-0,.pe-md-0,.px-md-0,.py-md-0{padding:0!important;}
    .pt-md-1,.pb-md-1,.ps-md-1,.pe-md-1,.px-md-1,.py-md-1{padding:4px!important;}
    .pt-md-2,.pb-md-2,.ps-md-2,.pe-md-2,.px-md-2,.py-md-2{padding:8px!important;}
    .pt-md-3,.pb-md-3,.ps-md-3,.pe-md-3,.px-md-3,.py-md-3{padding:16px!important;}
    .pt-md-4,.pb-md-4,.ps-md-4,.pe-md-4,.px-md-4,.py-md-4{padding:24px!important;}
    .pt-md-5,.pb-md-5,.ps-md-5,.pe-md-5,.px-md-5,.py-md-5{padding:48px!important;}
}
@media(min-width:992px){
    .pt-lg-0,.pb-lg-0,.ps-lg-0,.pe-lg-0,.px-lg-0,.py-lg-0{padding:0!important;}
    .pt-lg-1,.pb-lg-1,.ps-lg-1,.pe-lg-1,.px-lg-1,.py-lg-1{padding:4px!important;}
    .pt-lg-2,.pb-lg-2,.ps-lg-2,.pe-lg-2,.px-lg-2,.py-lg-2{padding:8px!important;}
    .pt-lg-3,.pb-lg-3,.ps-lg-3,.pe-lg-3,.px-lg-3,.py-lg-3{padding:16px!;}
    .pt-lg-4,.pb-lg-4,.ps-lg-4,.pe-lg-4,.px-lg-4,.py-lg-4{padding:24px!important;}
    .pt-lg-5,.pb-lg-5,.ps-lg-5,.pe-lg-5,.px-lg-5,.py-lg-5{padding:48px!important;}
}
@media(min-width:1200px){
    .pt-xl-0,.pb-xl-0,.ps-xl-0,.pe-xl-0,.px-xl-0,.py-xl-0{padding:0!important;}
    .pt-xl-1,.pb-xl-1,.ps-xl-1,.pe-xl-1,.px-xl-1,.py-xl-1{padding:4px!important;}
    .pt-xl-2,.pb-xl-2,.ps-xl-2,.pe-xl-2,.px-xl-2,.py-xl-2{padding:8px!important;}
    .pt-xl-3,.pb-xl-3,.ps-xl-3,.pe-xl-3,.px-xl-3,.py-xl-3{padding:16px!important;}
    .pt-xl-4,.pb-xl-4,.ps-xl-4,.pe-xl-4,.px-xl-4,.py-xl-4{padding:24px!important;}
    .pt-xl-5,.pb-xl-5,.ps-xl-5,.pe-xl-5,.px-xl-5,.py-xl-5{padding:48px!important;}
}
@media(min-width:1400px){
    .pt-xxl-0,.pb-xxl-0,.ps-xxl-0,.pe-xxl-0,.px-xxl-0,.py-xxl-0{padding:0!important;}
    .pt-xxl-1,.pb-xxl-1,.ps-xxl-1,.pe-xxl-1,.px-xxl-1,.py-xxl-1{padding:4px!important;}
    .pt-xxl-2,.pb-xxl-2,.ps-xxl-2,.pe-xxl-2,.px-xxl-2,.py-xxl-2{padding:8px!important;}
    .pt-xxl-3,.pb-xxl-3,.ps-xxl-3,.pe-xxl-3,.px-xxl-3,.py-xxl-3{padding:16px!important;}
    .pt-xxl-4,.pb-xxl-4,.ps-xxl-4,.pe-xxl-4,.px-xxl-4,.py-xxl-4{padding:24px!important;}
    .pt-xxl-5,.pb-xxl-5,.ps-xxl-5,.pe-xxl-5,.px-xxl-5,.py-xxl-5{padding:48px!important;}
}


/* --- 5. ТЕКСТОВЫЕ УТИЛИТЫ --- */
.text-start{text-align:left!important;}.text-end{text-align:right!important;}.text-center{text-align:center!important;}
.text-justify{text-align:justify!important;}
.text-wrap{white-space:normal!important;}
.text-nowrap{white-space:nowrap!important;}
.text-truncate{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
.text-break{word-break:break-word!important;overflow-wrap:anywhere!important;}
.text-lowercase{text-transform:lowercase!important;}
.text-uppercase{text-transform:uppercase!important;}
.text-capitalize{text-transform капитализации!important;}
.text-decoration-none{text-decoration:none!important;}
.text-decoration-underline{text-decoration:underline!important;}
.text-decoration-line-through{text-decoration:line-through!important;}
.font-italic{font-style:italic!important;}
.font-oblique{font-style:oblique!important;}
@media(min-width:768px){
    .text-md-start{text-align:left!important;}
    .text-md-center{text-align:center!important;}
    .text-md-end{text-align:right!important;}
}


/* --- 6. FLEX UTILITIES --- */
.d-flex{display:flex!important;}
.flex-row{flex-direction:row!important;}
.flex-column{flex-direction:column!important;}
.justify-content-start{justify-content:flex-start!important;}
.justify-content-center{justify-content:center!important;}
.justify-content-end{justify-content:flex-end!important;}
.justify-between{justify-content:space-between!important;}
.justify-around{justify-content:space-around!important;}
.align-items-start{align-items:flex-start!important;}
.align-items-center{align-items:center!important;}
.align-items-end{align-items:flex-end!important;}
.align-center-xy{
    align-items:center!important;
    display:flex!important;
    justify-content:center!important;
}
