.header--style-5 .__phone_20 span {
        font-weight: 600 !important; 
    }
.rm-mobileHeader {
display: flex;
align-items: center;
gap: 10px;
}
.rm-mobileHeader__actions {
margin: 0 0 0 auto;
padding-right: 20px;
}
.rm-mobileHeader__logo{
display:flex;
align-items:center;
}
.rm-mobileHeader__logo a {
display:block;
max-width: 100px;
}
.rm-mobileHeader__logo a img{
max-width:180%;
height:auto;
}

@media(max-width:786px){
.faq:last-child{margin-top:20px;}

}
/* ✅ Фикс для Яндекс карты */
.contacts-map-container {
    position: relative;
    z-index: 100 !important;
}

.contacts-wrapper {
    position: relative;
    z-index: 50 !important;
}
.goods--columns .__item .__details {
position:relative;
top:auto;
left:auto;
z-index: 2;
box-shadow: 10px 17px 38px 0 rgba(0, 0, 0, .1);
opacity: 1;
visibility: visible;
}
.product-item-amount-description-container{
display:none;
}
.goods .form-horizontal .col{
max-width:100% !important;
}
@media(max-width:580px){
.goods .form-horizontal .col{
width:100%;
}
.goods .form-horizontal .counter{
margin-right: 0 !important;
margin-bottom: 10px !important ;
}
.goods .form-horizontal .counter input{
max-width:100%;
}
.goods .row{flex-wrap:wrap;}
.goods .col{width:100%; max-width:100%;}
}
.goods .form-horizontal{
padding-bottom:20px;
}

.top-panel__item.contact-form{
margin: 0 0 0 auto;
}

@media(max-width:560px){
.teams .__item{
padding: 15px;
}
.teams .__inner .col{
width:100%;
}
}
.brands .__inner .col{
display: flex;
justify-content: center;
align-items: center;
}
.brands .__inner .col img{
max-width: 100%;
height: auto;
}

@media(max-width: 480px){
.brands .__inner .col{
width:100%;
}
}

.product-item-image-original, .product-item-image-alternative{
background-size: contain;
}

.goods .col{
padding: 10px !important;
}
.goods .__item.product-item{
height: 100%;
}
@media(max-width: 560px){
.services.services--columns .__item .col{
width: 100%;
}
.services.services--columns .__item .col a{
display: block;
}
}
.smartfilter .bx-filter-parameters-box-container{
text-align: center;
}

@media only screen and (max-width: 599px) {
.page-title .__title {
font-size: 2rem;
}
}
@media(max-width: 768px){
.company-contacts .yandex-map{
	overflow: hidden;
}
.requisites{
	overflow:hidden;
}
.requisites table{
	width:100%;
	min-width: auto;
}
.requisites table tr{
	display:block;
}
.requisites table td{
	display:block;
}
.company-address--style-2{
	padding-right:15px;
}
.check-step{
	flex-direction:column;
}
}

.rm-my-form__form{
max-width:600px;
}

.tab-container .tab-content__item {
display: none;
}

.tab-container .tab-content__item.visible {
display: block;
}
.product-single.element .form-horizontal .cell.cell--first {
display: flex;
gap: 10px;
flex-wrap: wrap;
}
.product-single.element .form-horizontal .cell.cell--first .counter {
margin-right: 0px;
}
.rm-product-row {
display: flex;
flex-wrap: wrap;
gap: 10px;
}
.pricing-table--style-5 table td > span{
margin-bottom:0px !important;
vertical-align: baseline;
}
.pricing-table table{
min-width:0px;
}

@media (max-width: 520px) {
.product-single.element .counter {
flex: 0 0 auto;
}
.product-single.element .counter input {
max-width: auto;
}
.product-single.element .custom-btn.custom-btn--style-2 {
flex: 1;
width: auto;
max-width: 100%;
}
}
@media(max-width:560px){
.services--columns .__item .__title{
font-weight:bold !important;
text-align:center !important;
}
.services--columns .__item .__title a{
font-size:1.8rem !important;
}
}

.rv-goods{
display: grid;
gap:20px;
grid-template-columns: 1fr 1fr 1fr;
}

.rv-product{
position: relative;
padding: 20px;
border-radius: 10px;
display: flex;
flex-direction: column;
background-color: #fff;
box-shadow: 0 0 3px 0 rgba(0, 0, 0, .1);
font-weight: 400;
z-index: 5;
transition: box-shadow .3s ease-in-out;
width: 100%;
}

.rv-product:hover{
box-shadow: 10px 17px 38px 0 rgba(0, 0, 0, .1);
z-index: 10;
}

.rv-product__poster{
position: relative;
height: 200px;
width: 100%;
}
.rv-product__poster img{
position:absolute;
left:0;top:0;width:100%; height:100%;
object-fit:contain;
}

.rv-product__content{
padding: 10px 0px;
display: grid;
gap:10px;
grid-template-columns: 1fr;
flex-grow: 1;
}

.rv-product__content .__title{
color: #000;
font-size: 20px;
font-weight: 600;
line-height: 1.2;
margin-bottom: 20px;
transition: color .3s ease-in-out;
}
.rv-product__content .__price{
font-size: 2.4rem;
text-align: center;
}
.rv-product__content .__price-old{
font-size: 2.4rem;
text-decoration: line-through;
color:#eee;
text-align: center;
}

.rv-product__btns{
position: absolute;
right: 10px;
top: 10px;
display: flex;
flex-direction: column;
}

.rv-product__footer{
display: grid;
grid-template-columns: 1fr;
gap:10px;
}

.rv-product .counter input{
width: 100%;
max-width: 100%;
border-radius: 6px;
min-height: 53px;
}
.rv-product .custom-btn{
width: 100%;
max-width: 100%;
}

.rm-product__table{
border-collapse: collapse;
width: 100%;    
min-width: auto;    
}
.rm-product__table td, .rm-product__table th{
padding: 10px;
border-top:1px solid #dcdcdc;
border-bottom:1px solid #dcdcdc;
}
@media(max-width:840px){
.rm-product__table{
min-width: auto;
width: 100%;
}
}

@media(max-width: 768px){
.rv-goods{
grid-template-columns: 1fr 1fr;
gap: 10px;
}
}

@media(max-width: 580px){
.rv-goods{
grid-template-columns: 1fr;
}

}

.product-single .__gallery--style-1 .__image img{
width:100%; height:100%; object-fit:cover;
}

.rm-dop-label{
display:flex; gap:10px; align-items:center;
}
.rm-dop-label span:first-child{
font-weight:bold;
}

.rm-smalltitle{
font-size:2.6rem;
color: #000;
margin-bottom: 15px;
margin-top: 15px;
line-height: 1;
}

.product-single .__info .__line--price .__price{
display: inline-block;
}

.rm-product__table{
margin: 15px 0px;
}

.rm-dop-logo{
max-width:100px;
position:absolute;
right:0;
top:0;
}
@media(max-width:580px){
.rm-dop-logo{max-width:60px;}
}
.product-single.element .__info {
position: relative;
}

.rm-product-row {
margin: 30px 0 10px 0;
}

.pagination>li>a {
color: #000;
}

.rm-smart-services{
border: 1px solid #efefef;
margin-bottom:20px;
padding:14px 0 0 0;
}
.rm-smart-services__title{
color: #000;
font-size: 24px;
margin-bottom:14px;
padding: 0 29px;
}

.rm-smart-services__list{
list-style:none;
padding:0;
margin:0;
}

.rm-smart-services__list ul{
padding-left: 0;
}

.rm-smart-services__list li:nth-last-child(n+2){
border-bottom: 1px solid #efefef;
}

.rm-smart-services__list a {
padding: 18px 20px;
/* border-bottom: 1px solid #555; */
color: #000;
text-decoration: none;
display: block;
transition: background-color 0.3s ease, color 0.3s ease;

}

.rm-smart-services__list a:hover {
/* color:#FC4646; /
color: #fff;
/ border-color:#FC4646; */
background-color: #FC4646;
color:#fff;
}

.h1-on-main-page{
text-transform: none !important;
}

@media(max-width:1260px){


.h1-on-main-page{
    font-size: 28px !important;
}
}

@media(max-width:992px){


.h1-on-main-page{
    font-size: 24px !important;
}
}

@media(max-width:580px){


.h1-on-main-page{
    font-size: 20px !important;
}
}

.text-on-main-page,
.text-on-main-page p{
font-size: 18px;
}

@media(max-width:1200px){


.text-on-main-page,
.text-on-main-page p{
    font-size: 17px;
}
}

@media(max-width:992px){


.text-on-main-page,
.text-on-main-page p{
    font-size: 16px;
}
}

@media(max-width:580px){


.text-on-main-page,
.text-on-main-page p{
    font-size: 14px;
}
}

.pagination>li>a:hover, .pagination>li>span:hover, .pagination>li>a:focus, .pagination>li>span:focus{
color:#FC4646;
}

.pagination>.active{
pointer-events: none;
}

/* ============================
   СТИЛИ КВАДРАТНОЙ КАТЕГОРИИ
   ============================ */

/* сама карточка */
.services--columns .__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start; /* либо оставить center, если не надо прям к низу */
  width: 340px;
  height: 340px;
  border-radius: 10px;
  box-shadow: 0 4px 24px rgba(0,0,0,0.05);
  border: 1px solid #eee;
  background: #efefef;
  position: relative;
  overflow: hidden;
  margin: 0 10px 24px 10px;
  padding-top: 50px;   /* ← Вот эта строка главная */
  box-sizing: border-box;
}

/* блок под картинку */
.services--columns .__icon {
  width: 280px;
  height: 280px;
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
  padding: 0;
  box-shadow: none;
}

/* доп. flex-центрирование */
.services--columns .__icon span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

/* картинка ровно по центру, не обрезается */
.services--columns .__icon img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 0;
  background: #fff;
  margin: 0;
  padding: 0;
}

/* подпись */
.services--columns .__title {
  font-size: 22px;
  color: #151515;
  font-weight: 700;
  text-align: center;
  position: relative;
  margin: 0;
  padding-bottom: 20px;
}
.services--columns .__title::after {
  content: "";
  display: block;
  margin: 10px auto 0 auto;
  width: 54px;
  height: 4px;
  background: #FC4646;
  border-radius: 2px;
}

.content-container {
    /*margin-top: 40px !important;*/
}
.services--columns .__item {
    text-align: center;
}

/* Убираем временные красные стили и добавляем нормальные */
.brand-name {
    display: block !important;
    background-color: transparent !important;
    color: #333 !important;
    padding: 0 !important;
    font-size: 1.1em !important;
    text-align: center !important;
    margin-top: 15px !important;
    margin-bottom: 0 !important;
    font-weight: 600 !important;
}

.brand-name a {
    color: #333;
    text-decoration: none;
    transition: color 0.2s ease;
}

.brand-name a:hover {
    color: #e0243a;
}

.brand-item {
    text-align: center;
    padding: 10px;
}


/* ======================= ИСПРАВЛЕННОЕ ПОДМЕНЮ КАТАЛОГА ======================= */

/* Позиционирование подменю каталога - ПО ЦЕНТРУ */
.catalog-submenu {
    position: absolute !important;
    top: 100% !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 1200px !important;
    max-width: 90vw;
    background: #fff !important;
    border-radius: 0px;
    box-shadow: 0 15px 50px rgba(0,0,0,0.15) !important;
    border-top: 2px solid #D92332 !important;
    border-left: 1px solid #e9ecef !important;
    border-right: 1px solid #e9ecef !important;
    border-bottom: 1px solid #e9ecef !important;
    z-index: 1000 !important;
}

/* Контейнер содержимого */
.catalog-container {
    display: flex;
    gap: 30px;
    padding: 30px;
}

/* Сетка элементов каталога */
.catalog-items {
    flex: 1;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 25px;
    align-items: start;
}

/* Карточка элемента */
.catalog-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    background: #fff;
    border-radius: 0px;
    padding: 20px 15px 15px 15px;
    transition: all 0.3s ease;
    cursor: pointer;
    min-height: 200px;
    justify-content: flex-end; /* ИЗМЕНИЛ С space-between */
    position: relative;
    border-bottom: 3px solid transparent;
}

.catalog-item:hover {
    border-bottom: 3px solid #D92332;
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}

/* Иконка */
.catalog-icon {
    width: 130px;
    height: 130px;
    margin-bottom: 0px !important;
    border-radius: 0px;
    overflow: visible;
    transition: transform 0.3s ease;
    flex-shrink: 0;
}

.catalog-item:hover .catalog-icon {
    transform: scale(1.1);
}

.catalog-icon img {
    width: 90%;
    height: 90%;
    object-fit: contain;
    transition: transform 0.4s ease;
}

.catalog-item:hover .catalog-icon img {
    transform: scale(1.1);
}

/* Контент - ВНИЗУ КАРТОЧКИ */
.catalog-content {
    width: 100%;
}

/* Текст */
.catalog-title {
    width: 100%;
}

.catalog-title a {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #333 !important;
    text-decoration: none !important;
    line-height: 1.4 !important;
    transition: color 0.3s ease !important;
    display: block !important;
    word-wrap: break-word !important;
    text-align: center !important;
    padding: 0 !important;
    margin: 0 !important;
    height: auto !important;
    overflow: visible !important;
}

.catalog-item:hover .catalog-title a {
    color: #D92332 !important;
}

/* СКРЫВАЕМ ВСЕ ЛИШНЕЕ */
.catalog-subcategories,
.catalog-subsubcategories {
    display: none !important;
}

/* Баннер справа */
.catalog-banner {
    width: 250px;
    flex-shrink: 0;
    border-radius: 12px;
    overflow: hidden;
    transition: transform 0.3s ease;
}

.catalog-banner:hover {
    transform: scale(1.02);
}

.catalog-banner img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.5s ease;
}

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

/* Анимация появления */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(15px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.catalog-item {
    animation: fadeInUp 0.4s ease forwards;
}

.catalog-item:nth-child(1) { animation-delay: 0.05s; }
.catalog-item:nth-child(2) { animation-delay: 0.1s; }
.catalog-item:nth-child(3) { animation-delay: 0.15s; }
.catalog-item:nth-child(4) { animation-delay: 0.2s; }

/* СКРЫВАЕМ КНОПКУ */
@media only screen and (max-width: 1250px) {
    #header .__line--first .js-callback.custom-btn--style-2 {
        display: none !important;
    }
}

/* УБИРАЕМ ОТСТУП У КОНТЕЙНЕРА С B2B */
@media only screen and (max-width: 1200px) {
    #header .__line--first .__item--second .b2b-link {
        margin-left: 0px ;
    }
    
    /* УБИРАЕМ ОТСТУП У РОДИТЕЛЬСКОГО КОНТЕЙНЕРА B2B */
    #header .__line--first .__item--second:has(.b2b-link) {
        margin-left: auto;
    }
}

/* УМЕНЬШАЕМ ОТРИЦАТЕЛЬНЫЙ ОТСТУП ТЕЛЕФОНА */
@media only screen and (max-width: 1200px) {
    #header .__line--first .__item--first[style*="margin-left: -60px"] {
        margin-left: 0px !important;
    }
}

/* СЕКЦИЯ БЛОГА */
.avl-blog-section {
    padding: 40px 0;
    background-color: #f8f9fa;
}

/* СЕТКА БЛОГА */
.avl-blog-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 30px;
    margin-bottom: 30px;
}

/* КАРТОЧКА БЛОГА */
.avl-blog-card {
    background: #ffffff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.avl-blog-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
}

/* ИЗОБРАЖЕНИЕ БЛОГА */
.avl-blog-card__image {
    position: relative;
    overflow: hidden;
    height: 240px;
}

.avl-blog-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 0.6s ease;
}

.avl-blog-card:hover .avl-blog-card__image img {
    transform: scale(1.1);
}

/* ЗАГЛУШКА ЕСЛИ НЕТ ИЗОБРАЖЕНИЯ */
.avl-blog-card__image--no-image {
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    display: flex;
    align-items: center;
    justify-content: center;
}

.avl-blog-card__placeholder {
    color: #6c757d;
    opacity: 0.5;
}

/* КОНТЕНТ КАРТОЧКИ */
.avl-blog-card__content {
    padding: 30px;
    flex: 1;
    display: flex;
    flex-direction: column;
}

/* МЕТА ИНФОРМАЦИЯ */
.avl-blog-card__meta {
    margin-bottom: 15px;
}

.avl-blog-card__date {
    color: #6c757d;
    font-size: 14px;
    font-weight: 500;
}

/* ЗАГОЛОВОК */
.avl-blog-card__title {
    margin: 0 0 auto 0;
    font-size: 1.4em;
    font-weight: 700;
    line-height: 1.3;
    flex: 1;
}

.avl-blog-card__title a {
    color: #212529;
    text-decoration: none;
    transition: color 0.2s ease;
}

.avl-blog-card__title a:hover {
    color: #D92332;
}

/* КРАСИВАЯ КНОПКА "ПОДРОБНЕЕ" */
.avl-blog-card__read-more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 16px 32px;
    background: linear-gradient(135deg, #D92332 0%, #B71C2C 100%);
    color: #ffffff !important;
    font-weight: 600;
    font-size: 16px;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-radius: 50px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(217, 35, 50, 0.3);
    margin-top: 25px;
    min-height: 56px;
}

.avl-blog-card__read-more:hover {
    background: linear-gradient(135deg, #B71C2C 0%, #8B1538 100%);
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(217, 35, 50, 0.4);
    gap: 16px;
}

.avl-blog-card__read-more svg {
    transition: transform 0.3s ease;
    flex-shrink: 0;
}

.avl-blog-card__read-more:hover svg {
    transform: translateX(4px);
}

/* ВЫДЕЛЕННАЯ КАРТОЧКА (ПЕРВАЯ) */
.avl-blog-card--featured {
    grid-column: span 2;
}

.avl-blog-card--featured .avl-blog-card__image {
    height: 300px;
}

.avl-blog-card--featured .avl-blog-card__title {
    font-size: 1.8em;
}

/* ФУТЕР БЛОГА */
.avl-blog-footer {
    text-align: center;
}

/* ЗАГОЛОВОК БЛОГА В ЕДИНОМ СТИЛЕ САЙТА */
.avl-blog-title {

    text-align: center;
    margin: 0 0 60px 0;

}

/* АДАПТИВНОСТЬ */
@media (max-width: 768px) {
    .avl-blog-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .avl-blog-title {
        font-size: 1.5em;
        margin-bottom: 10px;
    }
    /* ✅ ПЕРВАЯ КАРТОЧКА - на всю ширину */
    .avl-blog-card--featured {
        grid-column: span 1;
        margin-bottom: 10px;
    }
    
    /* ✅ КОНТЕНТ карточек */
    .avl-blog-card__content {
        padding: 20px;
    }
    
    /* ✅ ЗАГОЛОВКИ карточек - классические размеры */
    .avl-blog-card__title {
        font-size: 1.1em;
        line-height: 1.3;
        margin-bottom: 12px;
    }
    
    .avl-blog-card--featured .avl-blog-card__title {
        font-size: 1.3em;
        line-height: 1.3;
    }
    
    /* ✅ ОПИСАНИЯ */
    .avl-blog-card__excerpt {
        font-size: 0.9em;
        line-height: 1.5;
    }
    
    /* ✅ ДАТА и АВТОР */
    .avl-blog-card__meta {
        font-size: 0.85em;
    }
    
    /* ✅ РАЗДЕЛ */
    .avl-blog-section {
        padding: 40px 0;
    }
    
    /* ✅ КНОПКИ */
    .avl-blog-card__read-more {
        padding: 12px 24px;
        font-size: 0.9em;
        min-height: 44px;
    }
}

/* ✅ ПЛАНШЕТЫ - 4 карточки по 2 в ряд */
@media (max-width: 768px) and (min-width: 481px) {
    .avl-blog-grid {
        grid-template-columns: 1fr 1fr;
        gap: 15px;
    }
    
    /* Первая карточка на всю ширину */
    .avl-blog-card--featured {
        grid-column: span 2;
    }
    
    /* Остальные по 2 в ряд */
    .avl-blog-card:not(.avl-blog-card--featured) {
        grid-column: span 1;
    }
}

/* ✅ ТЕЛЕФОНЫ - первая на всю ширину, остальные 2x2 */
@media (max-width: 480px) {
    .avl-blog-grid {
        grid-template-columns: 1fr 1fr;
        gap: 12px;
    }
    
    /* ✅ ПЕРВАЯ карточка - на всю ширину */
    .avl-blog-card--featured {
        grid-column: span 2;
    }
    
    /* ✅ ОСТАЛЬНЫЕ - по 2 в ряд */
    .avl-blog-card:not(.avl-blog-card--featured) {
        grid-column: span 1;
    }
    
    .avl-blog-card__image {
        height: 150px;
    }
    
    .avl-blog-card--featured .avl-blog-card__image {
        height: 180px;
    }
    
    .avl-blog-card__content {
        padding: 12px;
    }
    
    .avl-blog-card__title {
        font-size: 0.9em;
        line-height: 1.3;
        margin-bottom: 8px;
    }
    
    .avl-blog-card--featured .avl-blog-card__title {
        font-size: 1.1em;
        margin-bottom: 10px;
    }
    
    .avl-blog-card__excerpt {
        font-size: 0.8em;
        line-height: 1.4;
    }
    
    .avl-blog-card__meta {
        font-size: 0.75em;
    }
    
    .avl-blog-card__read-more {
        padding: 8px 16px;
        font-size: 0.6em;
        min-height: 36px;
    }
    
    .avl-blog-section {
        padding: 25px 0;
    }
}


/* СЕКЦИЯ ТОВАРОВ В СТИЛЕ AVLMEDIA */
.avl-products-section {
    padding: 20px 0;
    background: #f8f9fa;
}

.avl-products-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 20px;
}

.avl-products-title {

    text-align: center;
    margin: 40px 0 40px 0 !important;
    line-height: 1.2;
}

/* ТАБЫ КАТЕГОРИЙ */
.avl-products-tabs {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 40px;
}

.avl-products-tab {
    padding: 12px 24px;
    font-size: 14px;
    font-weight: 600;
    color: #333;
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.avl-products-tab--active,
.avl-products-tab:hover {
    background: #d92332;
    color: #fff;
    border-color: #E53E3E;
    transform: translateY(-1px);
}

/* КАРУСЕЛЬ ТОВАРОВ */
.avl-products-carousel {
    position: relative;
    display: flex;
    align-items: center;
    gap: 20px;
}

.avl-products-scroll {
    flex: 1;
    overflow: hidden;
    border-radius: 8px;
}

.avl-products-track {
    display: flex;
    gap: 20px;
    transition: transform 0.4s ease;
    padding: 10px 0;
}

/* НАВИГАЦИЯ */
.avl-products-nav {
    width: 48px;
    height: 48px;
    border-radius: 6px;
    background: #fff;
    border: 1px solid #e5e5e5;
    color: #666;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.avl-products-nav:hover {
    background: #d92332;
    color: #fff;
    border-color: #E53E3E;
    transform: translateY(-2px);
    box-shadow: 0 4px 16px rgba(229, 62, 62, 0.3);
}

.avl-products-nav:disabled {
    opacity: 0.4;
    cursor: not-allowed;
    transform: none;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

/* КАРТОЧКА ТОВАРА */
.avl-product-card-carousel {
    min-width: 280px;
    background: #fff;
    border-radius: 8px;
    border: 1px solid #e5e5e5;
    overflow: hidden;
    transition: all 0.3s ease;
    display: block;
    box-shadow: 0 2px 12px rgba(0,0,0,0.08);
}

.avl-product-card-carousel__link {
    text-decoration: none;
    color: inherit;
    display: block;
    height: 100%;
}

.avl-product-card-carousel:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 32px rgba(0,0,0,0.15);
    border-color: #E53E3E;
}

.avl-product-card-carousel__image {
    aspect-ratio: 1 / 1;
    background: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
    position: relative;
}

.avl-product-card-carousel__image img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    height: 200px;
    filter: none;
    overflow: hidden;
}

.avl-product-card-carousel__placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ccc;
    width: 100%;
    height: 100%;
}

.avl-product-card-carousel__content {
    padding: 4px 10px 40px 20px;
    background: #fff;
}

.avl-product-card-carousel__title {
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
    margin: 0 0 20px 0;
    color: #1a1a1a;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 40px;
}

.avl-product-card-carousel__meta {
    margin-bottom: 16px;
    text-align: center;
}

.avl-product-card-carousel__label {
    font-size: 12px;
    font-weight: 600;
    color: #666;
    padding: 4px 8px;
    background: #f5f5f5;
    border-radius: 4px;
    display: inline-block;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.avl-product-card-carousel__label--instock {
    background: #dcfce7;
    color: #166534;
}

.avl-product-card-carousel__price-block {
    text-align: center;
}

.avl-product-card-carousel__price-old {
    font-size: 15px;
    color: #999;
    text-decoration: line-through;
    margin-bottom: 4px;
}

.avl-product-card-carousel__price {
    font-size: 25px;
    font-weight: 700;
    color: #1a1a1a;
}
.avl-product-card-carousel__price--request {
    color: #E53E3E;
}

.avl-products-empty {
    text-align: center;
    padding: 160px 20px;
    color: #666;
    font-size: 28px;
    min-width: 100%;
    background: #fff;
    border-radius: 8px;
    border: 1px solid #e5e5e5;
}

/* АДАПТИВНОСТЬ */
@media (max-width: 1200px) {
    .avl-products-container {
        padding: 0 16px;
    }
    }
@media (max-width: 768px) {
    /* ✅ СЕКЦИЯ - уменьшаем отступ сверху */
    .avl-products-section {
        padding: -10px 0 20px 0 !important;
    }

    /* ✅ ЗАГОЛОВОК - меньше отступ снизу */
    .avl-products-title {
        font-size: 1.5em;
        margin-bottom: 12px;
    }
    
    /* ✅ ВКЛАДКИ - по центру и выше */
    .avl-products-tabs {
        margin-bottom: 30px;
        gap: 8px;
        justify-content: center;
    }
    
    .avl-products-tabs::-webkit-scrollbar { 
        display: none;
    }
    
    .avl-products-tab {
        padding: 12px 18px;
        font-size: 12px;
        white-space: nowrap;
        flex-shrink: 0;
        min-height: 44px;
        display: flex;
        align-items: center;
        border-radius: 10px;
    }
    
    /* ✅ НАВИГАЦИЯ - убираем стрелки полностью */
    .avl-products-nav,
    .avl-products-carousel .avl-products-nav {
        display: none !important;
    }
    
    /* ✅ КАРУСЕЛЬ - убираем отступы для стрелок */
    .avl-products-carousel {
        padding: 0;
        margin: 0;
    }
    
    .avl-products-scroll {
        margin: 0;
    }
    
    /* ✅ КАРТОЧКИ - КОМПАКТНЫЕ И ВЫСОКИЕ */
    .avl-product-card-carousel {
        min-width: 180px;
        max-width: 200px;
        height: 320px;
        border-radius: 10px;
        display: flex;
        flex-direction: column;
    }
    
    /* ✅ ИЗОБРАЖЕНИЕ - компактное */
    .avl-product-card-carousel__image {
        display: flex;
        justify-content: center;
        align-items: center;
        height: 300px;
        overflow: visible;
    }
    
    .avl-product-card-carousel__image img {
    max-width: 120%;
    max-height: 120%;
    object-fit: contain;
    height: 300px;
    filter: none;
    margin-left: 25px;
    }
    
    /* ✅ КОНТЕНТ - flex для правильного распределения */
    .avl-product-card-carousel__content {
        padding: 12px 10px 15px 10px;
        display: flex;
        flex-direction: column;
        flex: 1;
        justify-content: space-between;
    }
    
    /* ✅ ЗАГОЛОВОК - компактный */
    .avl-product-card-carousel__title {
        font-size: 12px;
        line-height: 1.2;
        margin: 0 5px 8px 0;
        height: 30px;
        overflow: hidden;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
    }
    
    /* ✅ МЕТА ИНФОРМАЦИЯ */
    .avl-product-card-carousel__meta {
        margin: 0 0 8px 0;
        flex-shrink: 0;
    }
    
    .avl-product-card-carousel__label {
        font-size: 9px;
        padding: 2px 6px;
    }
    
    /* ✅ ЦЕНЫ - ВСЕГДА ВИДИМЫЕ */
    .avl-product-card-carousel__price-block {
        margin-top: auto;
        flex-shrink: 0;
    }
    
    .avl-product-card-carousel__price-old {
        font-size: 11px;
        margin-bottom: 2px;
    }
    
    .avl-product-card-carousel__price {
        font-size: 16px;
        font-weight: 700;
        line-height: 1.2;
        margin: 0;
    }
    
    /* ✅ ТРЕК СЛАЙДЕРА */
    .avl-products-track {
        gap: 12px;
    }
}

/* ✅ ТЕЛЕФОНЫ - еще компактнее */
@media (max-width: 480px) {
    .avl-products-section {
        padding: 5px 0 5px 0;
    }
    
    .avl-products-title {
        margin-bottom: 20px !important;
    }
    
    .avl-products-tabs {
        justify-content: center;
        gap: 6px;
        margin-bottom: 10px;
    }
    
    .avl-products-tab {
        padding: 5px 10px;
        font-size: 11px;
        min-height: 40px;
    }
    
    .avl-product-card-carousel {
        min-width: 160px;
        max-width: 180px;
        height: 280px;
    }
    
    .avl-product-card-carousel__image {
        height: 130px;
        padding: 8px;
    }
    
    .avl-product-card-carousel__content {
        padding: 10px 8px 12px 8px;
    }
    
    .avl-product-card-carousel__title {
        font-size: 11px;
        height: 26px;
    }
}

/* КАРТОЧКИ ТОВАРОВ ДЛЯ КАТАЛОГА */
.avl-product-card-catalog {
    background: #fff;
    border-radius: 8px;
    border: 1px solid #e5e5e5;
    overflow: hidden;
    transition: all 0.3s ease;
    display: block;
    box-shadow: 0 2px 12px rgba(0,0,0,0.08);
    height: 100%;
}

.avl-product-card-catalog__link {
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.avl-product-card-catalog:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 32px rgba(0,0,0,0.15);
    border-color: #E53E3E;
}

.avl-product-card-catalog__image {
    background: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0px;
    position: relative;
}

.avl-product-card-catalog__image img {
    max-width: 90%;
    max-height: 90%;
    object-fit: cover;
}

.avl-product-card-catalog__placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ccc;
    width: 100%;
    height: 100%;
    font-size: 14px;
}

.avl-product-card-catalog__content {
    padding: 0px 15px 20px 15px;
    background: #fff;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.avl-product-card-catalog__title {
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
    margin: 0 0 10px 0;
    color: #1a1a1a;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 66px;
    flex: 1;
}

.avl-product-card-catalog__meta {
    margin-bottom: 12px;
    text-align: center;
}

.avl-product-card-catalog__label {
    font-size: 12px;
    font-weight: 600;
    color: #666;
    padding: 4px 8px;
    background: #f5f5f5;
    border-radius: 4px;
    display: inline-block;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.avl-product-card-catalog__label--instock {
    background: #dcfce7;
    color: #166534;
}

.avl-product-card-catalog__price-block {
    text-align: center;
    margin-top: auto;
}

.avl-product-card-catalog__price-old {
    font-size: 14px;
    color: #999;
    text-decoration: line-through;
    margin-bottom: 4px;
}

.avl-product-card-catalog__price {
    font-size: 20px;
    font-weight: 700;
    color: #333;
    background-color: #f7f7f7;
    border-radius: 10px;
    padding: 5px;
}
}

.avl-product-card-catalog__price--request {
    color: #E53E3E;
    font-size: 16px;
}

/* АДАПТИВНОСТЬ */
@media (max-width: 768px) {
    .avl-product-card-catalog__content {
        padding: 0px 10px 5px 10px;
    }
    
    .avl-product-card-catalog__title {
        font-size: 14px;
        min-height: 40px;
        margin-bottom: 5px;
    }
    
    .avl-product-card-catalog__price {
        font-size: 18px;
    }
    
    .avl-product-card-catalog__price--request {
        font-size: 14px;
    }
    
    .avl-product-card-catalog__image {
        padding: 0px;
        margin-top: 0px;
    }
    .avl-product-card-catalog__label {
    font-size: 11px;
    }
    .avl-product-card-catalog__meta {
    margin-bottom: 5px;
}
    .subcategories-widget {
    margin-bottom: 0px;
    margin-top: -5px;

}
}

@media (max-width: 480px) {
    .avl-product-card-catalog__title {
        font-size: 13px;
    }
    
    .avl-product-card-catalog__price {
        font-size: 13px;
    }
}
/* ===== МОДЕРНИЗАЦИЯ ХЕДЕРА ===== */

/* Исправляем основную проблему выравнивания */
.header--style-2 .row--sm-center,
#header .row--sm-center {
    align-items: center !important;
}

/* ВАЖНО: Отступы для элементов хедера с более точными селекторами */
#header .rm-header-logo-text.header-slogan,
#header .header-slogan {
    margin-left: 30px !important; /* Принудительно увеличиваем отступ */
}

#header .header-regions {
    margin-left: 50px !important;
}

#header .header-contacts {
    margin-left: -60px !important;
}

#header .header-callback {
    margin-left: 30px !important;
}

#header .header-b2b {
    margin-left: 30px !important;
}

/* НА СТРАНИЦЕ КОРЗИНЫ - компенсируем отсутствие корзины */
body[data-template*="cart"] #header .header-b2b,
body.cart-page #header .header-b2b {
    margin-right: 60px !important; /* Добавляем отступ справа */
}

/* Стили для контактов */
#header .contact-phone {
    margin-bottom: 5px !important;
}

/* B2B кнопка - современные стили */
#header .b2b-link {
    color: #000000 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    font-size: 20px !important;
    display: flex !important;
    align-items: center !important;
    transition: opacity 0.2s ease !important;
    padding: 8px 0 !important;
}

#header .b2b-link:hover {
    opacity: 0.7 !important;
    text-decoration: none !important;
}

#header .b2b-icon {
    width: 40px !important;
    height: 40px !important;
    margin-right: 10px !important;
    flex-shrink: 0 !important;
}

/* СКРЫТИЕ ПУСТОЙ КОРЗИНЫ */

.small_basket:empty {
    display: none !important;
}

/* Адаптивность */
@media (max-width: 1200px) {
    #header .header-slogan {
        margin-left: 60px !important;
    }
}

@media (max-width: 992px) {
    #header .header-slogan {
        margin-left: 30px !important;
    }
    
    #header .header-regions {
        margin-left: 20px !important;
    }
    
    #header .header-callback,
    #header .header-b2b {
        margin-left: 20px !important;
    }
}

@media (max-width: 768px) {
    #header .header-contacts {
        margin-left: 0 !important;
    }
    
    #header .header-slogan {
        margin-left: 15px !important;
    }
    
    #header .header-regions,
    #header .header-callback,
    #header .header-b2b {
        margin-left: 10px !important;
    }
}
/* ======================= СТИЛИ ДЛЯ НОВОЙ ФОРМЫ АВТОРИЗАЦИИ ======================= */

.auth-card {
max-width: 550px;
margin: 40px auto;
padding: 30px 40px;
background: #fff;
border-radius: 12px;
box-shadow: 0 10px 40px rgba(0,0,0,0.07);
border: 1px solid #f0f0f0;
}

/* ✅ АДАПТИВНОСТЬ ДЛЯ МОБИЛЬНЫХ */
@media (max-width: 768px) {
.auth-card {
margin: 20px 15px;
padding: 25px 20px;
max-width: none;
}
}

.auth-card-title {
text-align: center;
font-size: 26px;
font-weight: 600;
margin-bottom: 8px;
color: #333;
}

.auth-card-subtitle {
text-align: center;
color: #666;
margin-bottom: 30px;
font-size: 14px;
line-height: 1.4;
}

/* ✅ ИСПРАВИЛ: ОШИБКИ ПОКАЗЫВАЮТСЯ ТОЛЬКО КОГДА ЕСТЬ */
.auth-card-errors {
margin-bottom: 20px;
}

.auth-card-errors .errortext,
.auth-card-errors .notetext {
background-color: #f8d7da;
color: #721c24;
padding: 15px;
margin-bottom: 0;
border-radius: 8px;
border: 1px solid #f5c6cb;
font-size: 14px;
}

/* ✅ ДОБАВИЛ: УСПЕШНЫЕ СООБЩЕНИЯ */
.auth-card-errors .notetext-success {
background-color: #d4edda;
color: #155724;
border-color: #c3e6cb;
}

.form-group {
margin-bottom: 20px;
position: relative;
}

.form-group label {
display: block;
margin-bottom: 8px;
font-weight: 500;
font-size: 14px;
color: #333;
}

.form-label-group {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 8px;
}

.form-label-group .forgot-password-link {
font-size: 13px;
color: #D92332;
text-decoration: none;
white-space: nowrap;
}
.form-label-group .forgot-password-link:hover {
text-decoration: underline;
}

.form-group .textfield {
width: 100%;
padding: 12px 15px;
border: 1px solid #ddd;
border-radius: 8px;
font-size: 16px;
transition: border-color 0.2s, box-shadow 0.2s;
box-sizing: border-box;
}

.form-group .textfield:focus {
outline: none;
border-color: #D92332;
box-shadow: 0 0 0 3px rgba(217, 35, 50, 0.15);
}

.form-group .textfield:invalid {
border-color: #dc3545;
}

/* ✅ ДОБАВИЛ: СТИЛИ ДЛЯ SECURE AUTH */
.bx-auth-secure {
position: absolute;
right: 15px;
top: 50%;
transform: translateY(-50%);
color: #28a745;
font-size: 16px;
}

/* ✅ ИСПРАВИЛ: КАПЧА НА МОБИЛЬНЫХ */
.captcha-group {
display: flex;
align-items: center;
gap: 15px;
flex-wrap: wrap;
}

.captcha-group img {
border-radius: 6px;
border: 1px solid #ddd;
}

.captcha-group .textfield {
flex: 1;
min-width: 120px;
}

@media (max-width: 480px) {
.captcha-group {
flex-direction: column;
align-items: stretch;
gap: 10px;
}


.captcha-group img {
    align-self: center;
}
}

.form-actions {
margin-bottom: 25px;
}

.checkbox-group {
display: flex;
align-items: left;
gap: 8px;
}

.checkbox-group input[type="checkbox"] {
width: 16px;
height: 16px;
accent-color: #D92332;
}

.checkbox-group .checkbox-label {
font-size: 14px;
cursor: pointer;
line-height: 1.4;
color: #666;
}

.btn {
display: inline-block;
padding: 12px 25px;
font-weight: 500;
text-decoration: none;
border-radius: 8px;
transition: all 0.2s ease;
border: 1px solid transparent;
cursor: pointer;
text-align: center;
font-family: inherit;
font-size: 14px;
}

.btn--primary {
background-color: #D92332;
color: #fff;
border-color: #D92332;
}

.btn--primary:hover {
background-color: #b51c29;
border-color: #b51c29;
transform: translateY(-1px);
}

.btn--primary:active {
transform: translateY(0);
}

.btn--fullwidth {
width: 100%;
padding-top: 14px;
padding-bottom: 14px;
font-size: 16px;
font-weight: 600;
}

.auth-card-footer {
margin-top: 30px;
text-align: center;
font-size: 14px;
color: #666;
line-height: 1.4;
}

.auth-card-footer a {
color: #D92332;
font-weight: 500;
text-decoration: none;
}

.auth-card-footer a:hover {
text-decoration: underline;
}

/* ✅ ДОБАВИЛ: СТИЛИ ДЛЯ СОЦИАЛЬНЫХ СЕТЕЙ */
.auth-card .bx-socserv-auth {
margin-top: 30px;
padding-top: 25px;
border-top: 1px solid #eee;
}

.auth-card .bx-socserv-auth-title {
text-align: center;
font-size: 14px;
color: #666;
margin-bottom: 15px;
}

.auth-card .bx-socserv-auth .bx-socserv-list {
display: flex;
justify-content: center;
gap: 10px;
flex-wrap: wrap;
}

.auth-card .bx-socserv-auth .bx-socserv-list a {
display: inline-flex;
align-items: center;
justify-content: center;
width: 40px;
height: 40px;
border-radius: 8px;
transition: transform 0.2s;
}

.auth-card .bx-socserv-auth .bx-socserv-list a:hover {
transform: translateY(-2px);
}

/* ✅ ДОБАВИЛ: УЛУЧШЕНИЯ UX */
.form-group .textfield:disabled {
background-color: #f8f9fa;
color: #6c757d;
cursor: not-allowed;
}

.btn:disabled {
opacity: 0.6;
cursor: not-allowed;
transform: none !important;
}

/* ✅ ДОБАВИЛ: АНИМАЦИЯ ЗАГРУЗКИ */
.btn--loading {
position: relative;
color: transparent !important;
}

.btn--loading::after {
content: "";
position: absolute;
top: 50%;
left: 50%;
margin: -8px 0 0 -8px;
width: 16px;
height: 16px;
border: 2px solid transparent;
border-top-color: #fff;
border-radius: 50%;
animation: spin 1s linear infinite;
}

@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}

/* ДОБАВИЛ: FOCUS MANAGEMENT /
.form-group .textfield:focus + .bx-auth-secure {
color: #D92332;
}
/ ======================= ДОПОЛНИТЕЛЬНЫЕ СТИЛИ ДЛЯ ФОРМЫ СМЕНЫ ПАРОЛЯ ======================= */

.required-star {
color: #D92332;
margin-right: 2px;
}

.password-input-wrapper {
position: relative;
display: flex;
align-items: center;
}

.password-input-wrapper .textfield {
padding-right: 80px;
}

.password-toggle {
position: absolute;
right: 40px;
background: none;
border: none;
cursor: pointer;
font-size: 16px;
padding: 5px;
border-radius: 4px;
transition: background-color 0.2s;
}

.password-toggle:hover {
background-color: rgba(0,0,0,0.05);
}

.password-requirements {
background-color: #f8f9fa;
border: 1px solid #e9ecef;
border-radius: 8px;
padding: 15px;
margin-bottom: 20px;
}

.password-requirements h4 {
margin: 0 0 8px 0;
font-size: 14px;
font-weight: 600;
color: #495057;
}

.password-requirements .requirements-text {
font-size: 13px;
color: #6c757d;
line-height: 1.4;
}

.password-match-indicator {
font-size: 12px;
margin-top: 5px;
padding: 5px 8px;
border-radius: 4px;
transition: all 0.2s;
}

.password-match-indicator.match {
background-color: #d4edda;
color: #155724;
border: 1px solid #c3e6cb;
}

.password-match-indicator.no-match {
background-color: #f8d7da;
color: #721c24;
border: 1px solid #f5c6cb;
}

.form-note {
text-align: center;
font-size: 12px;
color: #6c757d;
margin-top: 15px;
padding-top: 15px;
border-top: 1px solid #eee;
}

/* Адаптивность для мобильных */
@media (max-width: 480px) {
.password-input-wrapper .textfield {
padding-right: 70px;
}


.password-toggle {
    right: 35px;
    font-size: 14px;
}
}
/* ======================= ДОПОЛНИТЕЛЬНЫЕ СТИЛИ ДЛЯ ФОРМЫ ПОДТВЕРЖДЕНИЯ ======================= */

.auth-card-message {
padding: 15px;
margin-bottom: 20px;
border-radius: 8px;
font-size: 14px;
line-height: 1.4;
}

.auth-card-message--info {
background-color: #d1ecf1;
color: #0c5460;
border: 1px solid #bee5eb;
}

.auth-card-message--success {
background-color: #d4edda;
color: #155724;
border: 1px solid #c3e6cb;
}

.auth-card-message--warning {
background-color: #fff3cd;
color: #856404;
border: 1px solid #ffeaa7;
}

.auth-card-message--error {
background-color: #f8d7da;
color: #721c24;
border: 1px solid #f5c6cb;
}

.form-help {
display: block;
font-size: 12px;
color: #6c757d;
margin-top: 5px;
line-height: 1.3;
}

.textfield[readonly] {
background-color: #f8f9fa;
color: #495057;
cursor: default;
}

.textfield[readonly]:focus {
border-color: #ced4da;
box-shadow: none;
}

.auth-redirect,
.auth-success {
text-align: center;
padding: 20px 0;
}

.auth-redirect p,
.auth-success p {
margin-bottom: 20px;
color: #666;
}

.success-icon {
font-size: 48px;
margin-bottom: 15px;
animation: successPulse 1.5s ease-in-out;
}

@keyframes successPulse {
0% { transform: scale(0.8); opacity: 0; }
50% { transform: scale(1.1); opacity: 1; }
100% { transform: scale(1); opacity: 1; }
}

/* Стили для состояний подтверждения */
.auth-card--success .auth-card-title {
color: #28a745;
}

.auth-card--error .auth-card-title {
color: #dc3545;
}

.auth-card--warning .auth-card-title {
color: #ffc107;
}

/* Адаптивность */
@media (max-width: 480px) {
.auth-card-message {
padding: 12px;
font-size: 13px;
}


.success-icon {
    font-size: 40px;
}
}

/* Улучшения UX */
.btn:focus {
outline: 2px solid rgba(217, 35, 50, 0.5);
outline-offset: 2px;
}

.textfield:focus {
border-color: #D92332;
box-shadow: 0 0 0 3px rgba(217, 35, 50, 0.15);
}

/* Анимация появления формы */
.auth-form {
animation: fadeInUp 0.3s ease-out;
}

@keyframes fadeInUp {
from {
opacity: 0;
transform: translateY(20px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
/* ======================= ДОПОЛНИТЕЛЬНЫЕ СТИЛИ ДЛЯ ФОРМЫ ВОССТАНОВЛЕНИЯ ПАРОЛЯ ======================= */

.forgot-password-info {
background-color: #f8f9fa;
border: 1px solid #e9ecef;
border-radius: 8px;
padding: 20px;
margin-bottom: 25px;
text-align: center;
}

.forgot-password-info .info-icon {
font-size: 32px;
margin-bottom: 10px;
display: block;
}

.forgot-password-info p {
margin: 0;
color: #495057;
font-size: 14px;
line-height: 1.4;
}

.form-divider {
position: relative;
text-align: center;
margin: 25px 0;
}

.form-divider::before {
content: '';
position: absolute;
top: 50%;
left: 0;
right: 0;
height: 1px;
background-color: #dee2e6;
}

.divider-text {
background-color: #fff;
color: #6c757d;
padding: 0 15px;
font-size: 12px;
font-weight: 500;
text-transform: uppercase;
letter-spacing: 0.5px;
position: relative;
z-index: 1;
}

.form-help {
display: block;
font-size: 12px;
color: #6c757d;
margin-top: 5px;
line-height: 1.3;
}

.form-note {
background-color: #fff3cd;
border: 1px solid #ffeaa7;
color: #856404;
padding: 12px;
border-radius: 6px;
font-size: 12px;
line-height: 1.4;
margin-top: 20px;
text-align: center;
}

.form-note strong {
font-weight: 600;
}

/* Улучшения для полей ввода */
.textfield:focus {
border-color: #D92332;
box-shadow: 0 0 0 3px rgba(217, 35, 50, 0.15);
}

.textfield.error {
border-color: #dc3545;
box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.15);
}

/* Анимации */
.auth-form {
animation: fadeInUp 0.3s ease-out;
}

@keyframes fadeInUp {
from {
opacity: 0;
transform: translateY(20px);
}
to {
opacity: 1;
transform: translateY(0);
}
}

/* Состояние загрузки кнопки */
.btn--loading {
position: relative;
color: transparent !important;
pointer-events: none;
}

.btn--loading::after {
content: "";
position: absolute;
top: 50%;
left: 50%;
margin: -8px 0 0 -8px;
width: 16px;
height: 16px;
border: 2px solid transparent;
border-top-color: #fff;
border-radius: 50%;
animation: spin 1s linear infinite;
}

@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}

/* Адаптивность */
@media (max-width: 768px) {
.forgot-password-info {
padding: 15px;
margin-bottom: 20px;
}


.forgot-password-info .info-icon {
    font-size: 28px;
}

.form-divider {
    margin: 20px 0;
}
}

@media (max-width: 480px) {
.form-note {
font-size: 11px;
padding: 10px;
}


.divider-text {
    font-size: 11px;
}
}

/* Улучшения UX */
.textfield:valid:not(:placeholder-shown) {
border-color: #28a745;
}

.textfield:valid:not(:placeholder-shown):focus {
border-color: #28a745;
box-shadow: 0 0 0 3px rgba(40, 167, 69, 0.15);
}

/* Hover эффекты */
.forgot-password-info {
transition: all 0.2s ease;
}

.forgot-password-info:hover {
background-color: #f1f3f4;
transform: translateY(-1px);
}
/* ======================= СТИЛИ ДЛЯ ФОРМЫ РЕГИСТРАЦИИ ======================= */

.registration-container {
    max-width: 1200px;
    margin: 80px auto;
    padding: 0 60px;
    text-align: center;
}

.registration-header {
    margin-bottom: 60px;
}

.registration-title {
    font-size: 48px;
    font-weight: 600;
    color: #333;
    margin-bottom: 25px;
    line-height: 1.2;
}

.registration-subtitle {
    font-size: 18px;
    color: #666;
    margin: 0;
    line-height: 1.5;
}

.registration-content {
    background: transparent;
}

.registration-form {
    max-width: 900px;
    margin: 0 auto;
    text-align: left;
}

/* Ряды с полями */
.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    margin-bottom: 30px;
}

/* Секции */
.user-properties-section,
.captcha-section {
    background: #f8f9fa;
    border: 2px solid #e9ecef;
    border-radius: 12px;
    padding: 30px;
    margin: 40px 0;
}

.user-properties-section h3,
.captcha-section h4 {
    margin: 0 0 25px 0;
    font-size: 18px;
    font-weight: 600;
    color: #333;
}

/* Информационные блоки */
.registration-info,
.registration-success {
    background: #d1ecf1;
    border: 2px solid #bee5eb;
    color: #0c5460;
    padding: 20px 25px;
    border-radius: 12px;
    margin-bottom: 30px;
    text-align: center;
}

.registration-success {
    background: #d4edda;
    border-color: #c3e6cb;
    color: #155724;
}

.info-icon,
.success-icon {
    font-size: 32px;
    margin-bottom: 10px;
    display: block;
}

/* Ошибки */
.registration-errors {
    margin-bottom: 30px;
    text-align: left;
}

.registration-errors .errortext {
    background-color: #f8d7da;
    color: #721c24;
    padding: 20px 25px;
    margin-bottom: 10px;
    border-radius: 12px;
    border: 2px solid #f5c6cb;
    font-size: 16px;
}

/* Индикатор силы пароля */
.password-strength {
    font-size: 12px;
    margin-top: 8px;
    padding: 6px 10px;
    border-radius: 6px;
    font-weight: 600;
    transition: all 0.3s;
}

.password-strength.weak {
    background-color: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
}

.password-strength.medium {
    background-color: #fff3cd;
    color: #856404;
    border: 1px solid #ffeaa7;
}

.password-strength.strong {
    background-color: #d4edda;
    color: #155724;
    border: 1px solid #c3e6cb;
}

/* Капча */
.captcha-group {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 25px;
    align-items: start;
}

.captcha-image img {
    border-radius: 8px;
    border: 2px solid #e1e5e9;
}

/* Пользовательские поля */
.user-property-field {
    margin-top: 8px;
}

.user-property-field input,
.user-property-field select,
.user-property-field textarea {
    width: 100%;
    padding: 20px 25px;
    border: 2px solid #e1e5e9;
    border-radius: 12px;
    font-size: 16px;
    transition: all 0.3s ease;
    box-sizing: border-box;
}

.user-property-field input:focus,
.user-property-field select:focus,
.user-property-field textarea:focus {
    outline: none;
    border-color: #D92332;
    box-shadow: 0 0 0 4px rgba(217, 35, 50, 0.1);
}

/* Футер формы */
.form-footer-info {
    margin: 40px 0 20px 0;
    text-align: center;
}

.required-info {
    font-size: 14px;
    color: #666;
    margin: 0;
}

.form-footer-links {
    text-align: center;
    margin: 30px 0;
}

.form-footer-links p {
    font-size: 16px;
    color: #666;
    margin: 0;
}

/* Адаптивность */
@media (max-width: 1024px) {
    .registration-container {
        margin: 60px auto;
        padding: 0 40px;
    }
    
    .registration-title {
        font-size: 40px;
    }
}

@media (max-width: 768px) {
    .registration-container {
        margin: 40px auto;
        padding: 0 20px;
    }
    
    .registration-title {
        font-size: 32px;
    }
    
    .registration-subtitle {
        font-size: 16px;
    }
    
    .form-row {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .captcha-group {
        grid-template-columns: 1fr;
        text-align: center;
    }
    
    .user-properties-section,
    .captcha-section {
        padding: 20px;
    }
}

@media (max-width: 480px) {
    .registration-container {
        margin: 20px auto;
        padding: 0 15px;
    }
    
    .registration-title {
        font-size: 28px;
    }
    
    .form-row {
        gap: 15px;
    }
    
    .user-properties-section,
    .captcha-section {
        padding: 15px;
    }
}

/* Анимации */
.registration-container {
    animation: fadeInUp 0.6s ease-out;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ======================= СТИЛИ ДЛЯ СТРАНИЦЫ УСПЕШНОЙ АВТОРИЗАЦИИ ======================= */

.auth-success-container {
    max-width: 1200px;
    margin: 40px auto;
    padding: 0 0px;
    text-align: center;
}

/* Заголовок */
.auth-success-header {
    margin-bottom: 40px;
}

.auth-success-title {
    font-size: 48px;
    font-weight: 600;
    color: #333;
    margin-bottom: 20px;
    line-height: 1.2;
}

.auth-success-subtitle {
    font-size: 20px;
    color: #666;
    margin: 0;
    line-height: 1.5;
}

/* Карточка пользователя */
.user-welcome-card {
    background: #fff;
    border: 2px solid #e1e5e9;
    border-radius: 16px;
    padding: 20px 40px 30px 40px;
    margin-bottom: 60px;
    display: flex;
    align-items: center;
    gap: 30px;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    box-shadow: 0 10px 40px rgba(0,0,0,0.08);
}

/* Стили для информации о скидке */
.user-discount {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 8px 0 0 0;
    padding: 10px 12px;
    background: linear-gradient(135deg, #f0f9f4 0%, #ecfdf5 100%);
    border-radius: 8px;
    border-left: 4px solid #10b981;
}

.discount-value {
    font-weight: 700;
    color: #059669;
    background: #d1fae5;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 20px;
}

.user-avatar {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: linear-gradient(135deg, #D92332, #c41e2e);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.avatar-initials {
    color: #fff;
    font-size: 28px;
    font-weight: 600;
    text-transform: uppercase;
}

.user-details {
    flex: 1;
    text-align: left;
}

.user-name {
    font-size: 24px;
    font-weight: 600;
    color: #333;
    margin: 0 0 15px 0;
}

.user-email,
.user-login,
.user-last-login {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 8px 0;
    font-size: 16px;
    color: #666;
}

.detail-icon {
    font-size: 18px;
}

/* Карточки действий */
.action-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 30px;
    margin-bottom: 60px;
}

.action-card {
    background: #fff;
    border: 2px solid #e1e5e9;
    border-radius: 16px;
    padding: 30px;
    text-align: center;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.action-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 50px rgba(0,0,0,0.1);
    border-color: #D92332;
}

.action-card--primary {
    background: linear-gradient(135deg, #efefef, #fff);
    border-color: #D92332;
    color: #fff;
}

.action-card--primary .action-title,
.action-card--primary .action-description {
    color: #333;
}

.action-icon {
    font-size: 48px;
    margin-bottom: 20px;
    display: block;
}

.action-title {
    font-size: 20px;
    font-weight: 600;
    color: #333;
    margin: 0 0 10px 0;
}

.action-description {
    font-size: 14px;
    color: #666;
    margin: 0 0 25px 0;
    line-height: 1.5;
}

.action-button {
    display: inline-block;
    padding: 12px 24px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    transition: all 0.3s ease;
    min-width: 120px;
}

.btn-primary {
    background: #D92332;
    color: #FFF;
    border: 2px solid #fff;
}

.btn-primary:hover {
    background: #AC1C28;
    transform: translateY(-2px);
}

.btn-secondary {
    background: #D92332;
    color: #fff;
    border: 2px solid #D92332;
}

.btn-secondary:hover {
    background: #c41e2e;
    border-color: #c41e2e;
    transform: translateY(-2px);
}

/* Футер */
.auth-success-footer {
    border-top: 2px solid #e1e5e9;
    padding-top: 40px;
    margin-top: 40px;
}

.security-info {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    background: #f8f9fa;
    border: 2px solid #e9ecef;
    border-radius: 12px;
    padding: 25px;
    margin-bottom: 30px;
    text-align: left;
}

.security-icon {
    font-size: 32px;
    flex-shrink: 0;
}

.security-text p {
    margin: 0;
    font-size: 14px;
    color: #666;
    line-height: 1.5;
}

.security-text strong {
    color: #333;
}

.logout-section {
    text-align: center;
}

.logout-section p {
    font-size: 16px;
    color: #666;
    margin: 0 0 10px 0;
}

.logout-link {
    color: #D92332;
    text-decoration: none;
    font-weight: 600;
    font-size: 16px;
}

.logout-link:hover {
    text-decoration: underline;
}

/* Адаптивность */
@media (max-width: 1024px) {
    .auth-success-container {
        margin: 60px auto;
        padding: 0 40px;
    }
    
    .auth-success-title {
        font-size: 40px;
    }
    
    .action-cards {
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
        gap: 20px;
    }
}

@media (max-width: 768px) {
    .auth-success-container {
        margin: 40px auto;
        padding: 0 20px;
    }
    
    .auth-success-title {
        font-size: 32px;
    }
    
    .auth-success-subtitle {
        font-size: 18px;
    }
    
    .user-welcome-card {
        flex-direction: column;
        text-align: center;
        padding: 30px;
    }
    
    .user-details {
        text-align: center;
    }
    
    .action-cards {
        grid-template-columns: 1fr;
        gap: 15px;
    }
    
    .security-info {
        flex-direction: column;
        text-align: center;
        padding: 20px;
    }
}

@media (max-width: 480px) {
    .auth-success-container {
        margin: 20px auto;
        padding: 0 15px;
    }
    
    .auth-success-title {
        font-size: 28px;
    }
    
    .user-welcome-card {
        padding: 20px;
    }
    
    .user-avatar {
        width: 60px;
        height: 60px;
    }
    
    .avatar-initials {
        font-size: 20px;
    }
    
    .action-card {
        padding: 20px;
    }
    
    .action-icon {
        font-size: 36px;
    }
}

/* Анимация появления */
.auth-success-container {
    animation: fadeInUp 0.8s ease-out;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(40px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
/* ======================= СТИЛИ ДЛЯ ЛИЧНОГО КАБИНЕТА В СТИЛЕ AVLMEDIA ======================= */

.personal-container {
    max-width: 1200px;
    margin: 50px auto;
    padding: 0 60px;
}

/* Заголовок */
.personal-header {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 40px;
    align-items: start;
    margin-bottom: 40px;
}

.personal-welcome {
    max-width: 700px;
}

.personal-title {
    font-size: 48px;
    font-weight: 600;
    color: #333;
    margin-bottom: 20px;
    line-height: 1.2;
}

.personal-greeting {
    font-size: 20px;
    color: #666;
    margin: 0 0 25px 0;
    line-height: 1.5;
}

.personal-greeting strong {
    color: #D92332;
    font-weight: 600;
}

.personal-description {
    font-size: 16px;
    color: #666;
    line-height: 1.6;
    margin: 0;
}

/* Карточка пользователя */
.personal-user-card {
    background: #fff;
    border: 2px solid #e1e5e9;
    border-radius: 16px;
    padding: 30px;
    display: flex;
    align-items: center;
    gap: 20px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.08);
    min-width: 280px;
}

.user-avatar {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: linear-gradient(135deg, #D92332, #c41e2e);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.avatar-initials {
    color: #fff;
    font-size: 20px;
    font-weight: 600;
    text-transform: uppercase;
}

.user-info {
    flex: 1;
}

.user-name {
    font-size: 24px;
    font-weight: 600;
    color: #333;
    margin-bottom: 5px;
}


/* Меню функций */
.personal-menu {
    margin-bottom: 40px;
}

.personal-menu-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 25px;
}

/* Карточки меню */
.menu-card {
    display: flex;
    align-items: center;
    gap: 20px;
    background: #fff;
    border: 2px solid #e1e5e9;
    border-radius: 16px;
    padding: 25px;
    text-decoration: none;
    color: inherit;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.menu-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 50px rgba(0,0,0,0.1);
    border-color: #D92332;
}

.menu-card:hover .menu-card-icon {
    color: #D92332;
    transform: scale(1.1);
}

.menu-card:hover .menu-card-arrow {
    transform: translateX(5px);
    color: #D92332;
}

/* Иконки */
.menu-card-icon {
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f8f9fa;
    border-radius: 12px;
    color: #666;
    transition: all 0.3s ease;
    flex-shrink: 0;
}

.menu-card-icon svg {
    width: 28px;
    height: 28px;
}

/* Контент карточек */
.menu-card-content {
    flex: 1;
}

.menu-card-title {
    font-size: 18px;
    font-weight: 600;
    color: #333;
    margin: 0 0 8px 0;
    line-height: 1.3;
}

.menu-card-description {
    font-size: 14px;
    color: #666;
    margin: 0;
    line-height: 1.4;
}

/* Стрелка */
.menu-card-arrow {
    font-size: 20px;
    color: #ccc;
    font-weight: 600;
    transition: all 0.3s ease;
    flex-shrink: 0;
}

/* Футер с помощью */
.personal-footer {
    border-top: 2px solid #e1e5e9;
    padding-top: 40px;
}

.personal-help-card {
    background: linear-gradient(135deg, #f8f9fa, #fbfafa);
    border: 2px solid #e1e5e9;
    border-radius: 16px;
    padding: 30px;
    display: flex;
    align-items: center;
    gap: 25px;
}

.help-icon {
    font-size: 48px;
    flex-shrink: 0;
}

.help-content {
    flex: 1;
}

.help-content h4 {
    font-size: 20px;
    font-weight: 600;
    color: #333;
    margin: 0 0 10px 0;
}

.help-content p {
    font-size: 14px;
    color: #666;
    margin: 0 0 20px 0;
    line-height: 1.5;
}

.help-actions {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

.help-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #D92332;
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    padding: 8px 16px;
    background: #fff;
    border: 2px solid #D92332;
    border-radius: 8px;
    transition: all 0.3s ease;
}

.help-link:hover {
    background: #D92332;
    color: #fff;
    transform: translateY(-2px);
}

/* Адаптивность */
@media (max-width: 1024px) {
    .personal-container {
        margin: 60px auto;
        padding: 0 40px;
    }
    
    .personal-header {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    
    .personal-title {
        font-size: 40px;
    }
    
    .personal-menu-grid {
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
        gap: 20px;
    }
}

@media (max-width: 768px) {
    .personal-container {
        margin: 40px auto;
        padding: 0 20px;
    }
    
    .personal-title {
        font-size: 32px;
    }
    
    .personal-greeting {
        font-size: 18px;
    }
    
    .personal-user-card {
        padding: 20px;
    }
    
    .personal-menu-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }
    
    .menu-card {
        padding: 20px;
    }
    
    .menu-card-icon {
        width: 50px;
        height: 50px;
    }
    
    .menu-card-title {
        font-size: 16px;
    }
    
    .personal-help-card {
        flex-direction: column;
        text-align: center;
        padding: 25px;
    }
    
    .help-actions {
        justify-content: center;
    }
}

@media (max-width: 480px) {
    .personal-container {
        margin: 20px auto;
        padding: 0 15px;
    }
    
    .personal-title {
        font-size: 28px;
    }
    
    .personal-user-card {
        flex-direction: column;
        text-align: center;
        padding: 20px;
    }
    
    .menu-card {
        padding: 15px;
        gap: 15px;
    }
    
    .menu-card-icon {
        width: 45px;
        height: 45px;
    }
    
    .help-actions {
        flex-direction: column;
        align-items: center;
    }
}

/* Анимация появления */
.personal-container {
    animation: fadeInUp 0.8s ease-out;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(40px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
/* ======================= СТИЛИ ДЛЯ СТРАНИЦЫ НАСТРОЕК ПРОФИЛЯ ======================= */

/* Заголовок страницы */
.profile-page-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 40px;
    padding-bottom: 30px;
    border-bottom: 2px solid #e1e5e9;
}

.profile-title-section {
    flex: 1;
}

.profile-page-title {
    font-size: 36px;
    font-weight: 600;
    color: #333;
    margin: 0 0 15px 0;
    line-height: 1.2;
}

.profile-page-subtitle {
    font-size: 25px;
    color: #666;
    margin: 0;
    line-height: 1.5;
}

/* Бейдж пользователя */
.profile-user-badge {
    display: flex;
    align-items: center;
    gap: 15px;
    background: #f8f9fa;
    border: 2px solid #e9ecef;
    border-radius: 12px;
    padding: 20px;
    min-width: 250px;
}

.user-avatar-small {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: linear-gradient(135deg, #D92332, #c41e2e);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.avatar-initials-small {
    color: #fff;
    font-size: 18px;
    font-weight: 600;
    text-transform: uppercase;
}

.user-info-small {
    flex: 1;
}

.user-name-small {
    font-size: 16px;
    font-weight: 600;
    color: #333;
    margin-bottom: 5px;
}

.user-status-small {
    font-size: 12px;
    color: #666;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Основная секция формы */
.profile-form-section {
    display: grid;
    gap: 30px;
}

/* Карточка формы */
.profile-form-card {
    background: #fff;
    border: 2px solid #e1e5e9;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 10px 40px rgba(0,0,0,0.05);
}

.form-card-header {
    display: flex;
    align-items: center;
    gap: 20px;
    background: linear-gradient(135deg, #f8f9fa, #e9ecef);
    padding: 25px 30px;
    border-bottom: 2px solid #e1e5e9;
}

.form-icon {
    font-size: 32px;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border-radius: 12px;
    border: 2px solid #e1e5e9;
}

.form-header-content {
    flex: 1;
}

.form-card-title {
    font-size: 20px;
    font-weight: 600;
    color: #333;
    margin: 0 0 8px 0;
}

.form-card-description {
    font-size: 14px;
    color: #666;
    margin: 0;
    line-height: 1.4;
}

.profile-form-content {
    padding: 30px;
}

/* Дополнительные карточки */
.profile-additional-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 20px;
    margin-top: 20px;
    margin-bottom: 30px;
}

.info-card {
    background: #fff;
    border: 2px solid #e1e5e9;
    border-radius: 12px;
    padding: 25px;
    transition: all 0.3s ease;
}

.info-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    border-color: #D92332;
}

.info-card-icon {
    font-size: 28px;
    margin-bottom: 15px;
    display: block;
}

.info-card-title {
    font-size: 16px;
    font-weight: 600;
    color: #333;
    margin: 0 0 10px 0;
}

.info-card-text {
    font-size: 14px;
    color: #666;
    margin: 0 0 15px 0;
    line-height: 1.5;
}

.contact-links {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.contact-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #D92332;
    text-decoration: none;
    font-weight: 500;
    font-size: 13px;
    padding: 6px 12px;
    background: rgba(217, 35, 50, 0.1);
    border-radius: 6px;
    transition: all 0.3s ease;
}

.contact-link:hover {
    background: #D92332;
    color: #fff;
    transform: translateX(3px);
}

/* Стилизация формы */
.profile-form-content .bx-user-profile-form {
    margin: 0;
}

.profile-form-content .bx-user-profile-form table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}

.profile-form-content .bx-user-profile-form td {
    padding: 15px 0;
    border: none;
    vertical-align: top;
}

.profile-form-content .bx-user-profile-form td:first-child {
    width: 200px;
    padding-right: 25px;
    font-weight: 500;
    color: #333;
}

.profile-form-content .bx-user-profile-form input[type="text"],
.profile-form-content .bx-user-profile-form input[type="email"],
.profile-form-content .bx-user-profile-form input[type="password"],
.profile-form-content .bx-user-profile-form select,
.profile-form-content .bx-user-profile-form textarea {
    width: 100%;
    max-width: 400px;
    padding: 12px 16px;
    border: 2px solid #e1e5e9;
    border-radius: 8px;
    font-size: 16px;
    transition: all 0.3s ease;
    background: #fff;
}

.profile-form-content .bx-user-profile-form input:focus,
.profile-form-content .bx-user-profile-form select:focus,
.profile-form-content .bx-user-profile-form textarea:focus {
    outline: none;
    border-color: #D92332;
    box-shadow: 0 0 0 3px rgba(217, 35, 50, 0.1);
}

.profile-form-content .bx-user-profile-form input[type="submit"] {
    background: #D92332;
    color: #fff;
    border: 2px solid #D92332;
    padding: 12px 30px;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
}

.profile-form-content .bx-user-profile-form input[type="submit"]:hover {
    background: #c41e2e;
    border-color: #c41e2e;
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(217, 35, 50, 0.3);
}

/* Адаптивность */
@media (max-width: 1024px) {
    .profile-page-header {
        flex-direction: column;
        gap: 25px;
    }
    
    .profile-page-title {
        font-size: 30px;
    }
    
    .profile-user-badge {
        align-self: flex-start;
    }
    
    .profile-additional-cards {
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    }
}

@media (max-width: 768px) {
    .profile-page-title {
        font-size: 26px;
    }
    
    .form-card-header {
        padding: 20px;
        flex-direction: column;
        text-align: center;
        gap: 15px;
    }
    
    .profile-form-content {
        padding: 20px;
    }
    
    .profile-form-content .bx-user-profile-form td:first-child {
        width: auto;
        padding-right: 0;
        padding-bottom: 8px;
        display: block;
    }
    
    .profile-form-content .bx-user-profile-form td {
        display: block;
        padding: 8px 0;
    }
    
    .profile-additional-cards {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 480px) {
    .profile-page-title {
        font-size: 24px;
    }
    
    .profile-user-badge {
        flex-direction: column;
        text-align: center;
        padding: 15px;
    }
    
    .form-card-header {
        padding: 15px;
    }
    
    .profile-form-content {
        padding: 15px;
    }
    
    .info-card {
        padding-top: 0px;
        padding-right: 10px;
        padding-bottom: 10px;
        padding-left: 10px;
    }
}

/* Анимация появления */
.profile-form-section {
    animation: fadeInUp 0.6s ease-out;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
/* ======================= СТИЛИ ДЛЯ ПУСТОЙ КОРЗИНЫ ======================= */

/* ОСНОВНОЙ БЛОК ПУСТОЙ КОРЗИНЫ */
.empty-cart-card {
    max-width: 600px;
    margin: 40px auto;
    padding: 40px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.07);
    border: 1px solid #f0f0f0;
    text-align: center;
}

/* Иконка корзины */
.empty-cart-icon {
    margin-bottom: 20px;
}

.empty-cart-icon svg {
    width: 64px;
    height: 64px;
    color: #D92332;
}

/* Заголовок в карточке */
.empty-cart-card h2 {
    font-size: 24px;
    font-weight: 600;
    color: #333;
    margin: 0 0 15px 0;
    line-height: 1.3;
}

/* Подзаголовок */
.empty-cart-card p {
    font-size: 16px;
    color: #666;
    line-height: 1.6;
    max-width: 450px;
    margin: 0 auto 30px auto;
}

/* Кнопки */
.btn {
    display: inline-block;
    padding: 14px 28px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    font-size: 16px;
    transition: all 0.3s ease;
    border: 2px solid transparent;
    cursor: pointer;
    text-align: center;
}

.btn--primary {
    background: #D92332;
    color: #fff;
    border-color: #D92332;
}

.btn--primary:hover {
    background: #c41e2e;
    border-color: #c41e2e;
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(217, 35, 50, 0.3);
}

.btn--secondary {
    background: #fff;
    color: #666;
    border-color: #e1e5e9;
}

.btn--secondary:hover {
    background: #f8f9fa;
    border-color: #D92332;
    color: #D92332;
    transform: translateY(-2px);
}

/* БЛОК БЫСТРЫХ ДЕЙСТВИЙ */
.quick-start-block {
    text-align: center;
    margin: 50px auto;
    max-width: 800px;
}

.quick-start-block h3 {
    font-size: 20px;
    font-weight: 600;
    color: #333;
    margin: 0 0 20px 0;
}

.quick-start-actions {
    display: flex;
    justify-content: center;
    gap: 15px;
    flex-wrap: wrap;
}

/* B2B ИНФОРМАЦИОННЫЕ КАРТОЧКИ */
.empty-cart-b2b-info {
    margin: 60px auto;
    max-width: 1300px;
}

.b2b-info-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 25px;
}

.b2b-info-card {
    background: #fff;
    border: 2px solid #e1e5e9;
    border-radius: 12px;
    padding: 25px;
    text-align: center;
    transition: all 0.3s ease;
}

.b2b-info-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(0,0,0,0.1);
    border-color: #D92332;
}

.b2b-card-title {
    font-size: 18px;
    font-weight: 600;
    color: #333;
    margin: 0 0 10px 0;
}

.b2b-card-text {
    font-size: 14px;
    color: #666;
    line-height: 1.5;
    margin: 0 0 20px 0;
}

.b2b-card-link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #D92332;
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    transition: all 0.3s ease;
}

.b2b-card-link:hover {
    color: #c41e2e;
    transform: translateX(3px);
}

/* АДАПТИВНОСТЬ */
@media (max-width: 1024px) {
    .empty-cart-card {
        margin: 30px auto;
        padding: 30px;
    }
    
    .empty-cart-card h2 {
        font-size: 22px;
    }
    
    .b2b-info-cards {
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
        gap: 20px;
    }
}

@media (max-width: 768px) {
    .empty-cart-card {
        margin: 20px 15px;
        padding: 25px 20px;
    }
    
    .empty-cart-card h2 {
        font-size: 20px;
    }
    
    .empty-cart-card p {
        font-size: 15px;
    }
    
    .quick-start-actions {
        flex-direction: column;
        align-items: center;
        gap: 10px;
    }
    
    .btn {
        min-width: 250px;
    }
    
    .b2b-info-cards {
        grid-template-columns: 1fr;
        gap: 15px;
    }
}

@media (max-width: 480px) {
    .empty-cart-card {
        margin: 15px 10px;
        padding: 20px 15px;
    }
    
    .empty-cart-icon svg {
        width: 48px;
        height: 48px;
    }
    
    .empty-cart-card h2 {
        font-size: 18px;
    }
    
    .empty-cart-card p {
        font-size: 14px;
    }
    
    .btn {
        padding: 12px 20px;
        font-size: 14px;
        min-width: 200px;
    }
    
    .b2b-info-card {
        padding: 20px;
    }
}

/* АНИМАЦИЯ ПОЯВЛЕНИЯ */
.empty-cart-card {
    animation: fadeInUp 0.6s ease-out;
}

.quick-start-block {
    animation: fadeInUp 0.8s ease-out;
}

.empty-cart-b2b-info {
    animation: fadeInUp 1s ease-out;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* СКРЫТЬ СТАРЫЕ СТИЛИ БИТРИКСА ДЛЯ ПУСТОЙ КОРЗИНЫ */
.bx-sbb-empty-cart-container,
.bx-sbb-empty-cart-image,
.bx-sbb-empty-cart-text,
.bx-sbb-empty-cart-desc {
    display: none !important;
}

/* ======================= ФОКУС И ДОСТУПНОСТЬ ======================= */
.modern-search-input:focus,
.modern-filter-item:focus {
    outline: 2px solid var(--primary-color);
    outline-offset: 2px;
}

/* ======================= АНИМАЦИИ ======================= */
.modern-basket-items-wrapper {
    animation: fadeInUp 0.5s ease-out;
}

.modern-basket-summary {
    animation: fadeInUp 0.5s ease-out 0.1s both;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ======================= ВЫСОКИЙ КОНТРАСТ ======================= */
@media (prefers-contrast: high) {
    :root {
        --gray-200: #000000;
        --gray-300: #000000;
        --shadow-sm: 0 2px 8px rgba(0,0,0,0.3);
        --shadow-md: 0 4px 16px rgba(0,0,0,0.4);
    }
}

/* ======================= УМЕНЬШЕННОЕ ДВИЖЕНИЕ ======================= */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* ======================= ТЁМНАЯ ТЕМА ======================= */
@media (prefers-color-scheme: dark) {
    :root {
        --gray-50: #1a1a1a;
        --gray-100: #2d2d2d;
        --gray-200: #404040;
        --gray-800: #ffffff;
        --gray-700: #f0f0f0;
        --gray-600: #d0d0d0;
    }
    
    .modern-basket {
        background: var(--gray-50);
        color: var(--gray-800);
    }
    
    .modern-basket-items-wrapper,
    .modern-basket-summary,
    .modern-basket-bottom-total {
        background: var(--gray-100);
        border-color: var(--gray-200);
    }
}
/* ======================= СТИЛИ ДЛЯ ПАГИНАЦИИ В СТИЛЕ AVLMEDIA ======================= */

.pagination-container {
    max-width: none;
    margin: 20px auto;
    padding: 0;
}

/* ТОЧЕЧНАЯ КОРРЕКТИРОВКА ТОЛЬКО ДЛЯ ПАГИНАЦИИ */
.pagination-container .pagination-list {
    margin-left: -15px;  /* Компенсируем стандартный отступ */
}

/* Информация о странице */
.pagination-info {
    text-align: center;
    margin-bottom: 20px;
}

.pagination-info-text {
    display: inline-block;
    padding: 12px 24px;
    background: #fff !important;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    font-size: 16px;
    color: #666;
    font-weight: 500;
}

/* Основная навигация */
.pagination {
    margin-bottom: 40px;
}

.pagination-list {
    display: flex;
    justify-content: center;
    align-items: stretch !important; /* ЗАСТАВИТЬ ВСЕ БЫТЬ ОДНОЙ ВЫСОТЫ */
    gap: 8px;
    list-style: none !important;
    margin: 0;
    padding: 0;
    flex-wrap: wrap;
}

.pagination-item {
    margin: 0;
    display: flex !important;
    align-items: stretch !important; /* РАСТЯНУТЬ НА ВСЮ ВЫСОТУ */
}

.pagination-link,
.pagination-link--current {
    display: flex !important; /* FLEX ВМЕСТО INLINE-FLEX */
    align-items: center !important;
    justify-content: center !important;
    min-width: 48px;
    height: 48px;
    padding: 0 16px;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 500;
    transition: all 0.3s ease;
    text-decoration: none;
    box-sizing: border-box !important;
    flex-shrink: 0; /* НЕ СЖИМАТЬСЯ */
}

/* Обычные ссылки */
.pagination-link {
    background: #fff;
    border: 1px solid #e1e5e9;
    color: #333;
}

/* Активная страница */
.pagination-link--current {
    background: #D92332 !important;
    border: 1px solid #D92332 !important;
    color: #fff !important;
    cursor: default;
    font-weight: 600;
}
.pagination-link:hover {
    background: #D92332;
    border-color: #D92332;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(217, 35, 50, 0.3);
}

.pagination-link:active {
    transform: translateY(0);
}

/* Текущая страница */
.pagination-link--current {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #D92332 !important;
    border: 1px solid #D92332 !important;
    color: #fff !important;
    cursor: default;
    font-weight: 600;
    min-width: 48px;
    height: 48px !important;
    line-height: 1 !important;
    vertical-align: top !important;
}

.pagination-link--current:hover {
    transform: none;
    box-shadow: none;
}

/* Кнопки Первая/Последняя */
.pagination-item--first .pagination-link,
.pagination-item--last .pagination-link {
    background: #fff !important;
    border: 1px solid #e1e5e9 !important;
    color: #333 !important;
    font-weight: 600;
    min-width: auto !important;
    padding: 0 20px !important;
    height: 48px !important;
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    vertical-align: top !important;
}

.pagination-item--first .pagination-link:hover,
.pagination-item--last .pagination-link:hover {
    background: #D92332 !important;
    border-color: #D92332 !important;
    color: #fff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 25px rgba(217, 35, 50, 0.3) !important;
}

/* УБРАТЬ кнопки Вперёд/Назад */
.pagination-item--prev,
.pagination-item--next {
    display: none !important;
}

/* Многоточия */
.pagination-dots {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #f8f9fa !important;
    border: 2px solid #e9ecef !important;
    color: #666 !important;
    cursor: default;
    height: 48px !important;
    line-height: 1 !important;
    vertical-align: top !important;
}

.pagination-dots:hover {
    background: #f8f9fa !important;
    border-color: #e9ecef !important;
    color: #666 !important;
    transform: none !important;
    box-shadow: none !important;
}

/* УБРАТЬ селектор количества записей */
.pagination-size-selector {
    display: none !important;
}

/* Адаптивность */
@media (max-width: 768px) {
    .pagination-container {
        margin: 40px auto;
        padding: 0 15px;
    }
    
    .pagination-list {
        gap: 4px;
    }
    
    .pagination-link,
    .pagination-link--current {
        min-width: 40px;
        height: 40px !important;
        padding: 0 12px;
        font-size: 14px;
    }
    
    .pagination-item--first .pagination-link,
    .pagination-item--last .pagination-link {
        height: 40px !important;
    }
    
    .pagination-info-text {
        font-size: 14px;
        padding: 10px 16px;
    }
}

@media (max-width: 480px) {
    .pagination-list {
        gap: 2px;
    }
    
    .pagination-link,
    .pagination-link--current {
        min-width: 36px;
        height: 36px !important;
        padding: 0 8px;
        font-size: 13px;
    }
    
    .pagination-item--first .pagination-link,
    .pagination-item--last .pagination-link {
        height: 36px !important;
    }
}

/* Анимация появления */
.pagination-container {
    animation: fadeInUp 0.5s ease-out;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
/* CSS переменные для настройки отступов каталога */
:root {
    --catalog-margin-top: 0px;    /* Отступ сверху */
    --catalog-margin-bottom: 20px; /* Отступ снизу */
    --catalog-padding-top: 0px;     /* Внутренний отступ сверху */
    --catalog-padding-bottom: 10px;  /* Внутренний отступ снизу */
}

/* Применяем переменные к каталогу разделов */
.catalog-sections-grid {
    padding: 0;
    margin: 0;
}

.section:has(.catalog-sections-grid) {
    padding-top: var(--catalog-padding-top);
    padding-bottom: var(--catalog-padding-bottom);
    margin-top: var(--catalog-margin-top);
    margin-bottom: var(--catalog-margin-bottom);
}

/* Если :has() не работает - альтернативный способ */
.avl-catalog-section-v4.catalog-sections-only {
    margin-top: var(--catalog-margin-top);
    margin-bottom: var(--catalog-margin-bottom);
    padding-top: var(--catalog-padding-top);
    padding-bottom: var(--catalog-padding-bottom);
}
/* Делаем всю карточку кликабельной */
.certificate-full-link.certificate-full-link {
    display: block;
    text-decoration: none;
    color: inherit;
    cursor: pointer;
}

.certificate-full-link:hover {
    text-decoration: none;
    color: inherit;
}

.faq-block11 {
    background: #fff;
    border-radius: 16px;
    padding: 40px;
    border: 1px solid #e9ecef;
}

.faq-item {
    position: relative;
    padding: 20px 0 20px 80px;
    counter-increment: faq-counter;
}

.faq-item::before {
    content: counter(faq-counter, decimal);
    position: absolute;
    left: 0;
    top: 15px;
    font-size: 80px;
    font-weight: 700;
    color: #e9ecef;
    line-height: 1;
    z-index: 0;
}
/* ======= CTA (ПОМОЩЬ В ПОДБОРЕ) ======= */
.final-cta {
    background-color: #f8f8f8;
    text-align: center;
    padding: 50px 20px;
    margin: 0px 0;
    border-radius: 8px;
}

.final-cta__title {
    margin-top: 0;
    margin-bottom: 20px;
    font-size: 1.8em;
    color: #333;
    font-weight: 600;
    line-height: 1.3;
}

.final-cta__text {
    font-size: 1.1em;
    max-width: 700px;
    margin: 0 auto 25px;
    color: #666;
    line-height: 1.6;
}

.final-cta__button {
    font-size: 1.2em;
    padding: 15px 35px;
    min-height: auto;
}

/* Адаптивность */
@media (max-width: 768px) {
    .final-cta {
        padding: 30px 15px;
        margin: 0 0;
    }
    
    .final-cta__title {
        font-size: 1.5em;
    }
    
    .final-cta__text {
        font-size: 1em;
    }
    
    .final-cta__button {
        font-size: 1.1em;
        padding: 12px 25px;
    }
}

@media (max-width: 480px) {
    .final-cta {
        padding: 25px 10px;
    }
    
    .final-cta__title {
        font-size: 1.3em;
    }
    
    .final-cta__text {
        font-size: 0.95em;
    }
}
/* Убираем отступы у секции */
    .section--no-pt {
        padding-top: 0 !important;
    }
    
    .section--no-pb {
        padding-bottom: 0 !important;
        margin-bottom: 0 !important;
    }
    
    .avl-hero-slider {
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden;
    }
    
    .avl-hero-slide {
        position: relative;
        display: block;
        text-decoration: none;
        overflow: hidden;
        background: #000;
        line-height: 0;
    }
    
    .avl-hero-slide:hover {
        text-decoration: none;
    }
    
    .avl-hero-slide img {
        width: 100%;
        height: auto;
        display: block;
        max-width: 100%;
    }
    
    /* Owl Carousel стили для убирания отступов */
    .owl-carousel {
        margin-bottom: 0 !important;
    }
    
    .owl-dots {
        margin-top: 0 !important;
    }
/*
 * Стили для точек слайдера на главной
 */

/* 1. Делаем главный контейнер точкой отсчета для позиционирования */
.avl-hero-slider {
    position: relative; /* Обязательно, чтобы дочерние absolute-элементы позиционировались внутри него */
}

/* 2. Позиционируем контейнер с точками абсолютно, внутри родителя */
.avl-hero-slider .owl-dots {
    position: absolute; /* Вынимаем из потока и ставим поверх слайдера */
    bottom: 10px;       /* <<< Отступ снизу. Можете поменять это значение! */
    left: 0;            /* Растягиваем на всю ширину родителя... */
    right: 0;           /* ...чтобы text-align сработал правильно */
    
    text-align: center; /* Центрируем сами точки внутри контейнера */
    padding: 0;         /* Убираем старые отступы, они больше не нужны */
    margin: 0;
    z-index: 10;        /* Ставим точки поверх картинки (на всякий случай) */
}

/* Персонализированный стиль для счетчика количества товара */
.counter .product_count.textfield.rounded {
  border-radius: 8px;
  border: 1px solid #cccccc; /* Светло-серый цвет рамки */
}
@media (max-width: 768px) {
  
    /* 
      Находим iframe с картой внутри блока с классом .contacts-map
    */
    .contacts-map iframe {
        height: 400px !important;
    }

}
.header-cart-desktop .total_price {
    display: none !important;
}