@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap");
@import url("font-awesome.min.css");

body, html {
    margin: 0; /* Убираем отступы по умолчанию */
    height: 100%; /* Задаем высоту 100% для body и html */
}


.nav-link.header-link img:hover
 {
	filter: invert(1);
}

/* Admin Header */
.btn.dark-logout {
	background-color: #282B2F;
	color: rgb(202, 201, 201);
	border: 2px solid #464749c5;
	font-family: "poppins", sans-serif;

}

.dark-logout:hover {
	background-color: #202225;
	color: #DB6574;
}

/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
input[type=number] {
  -moz-appearance: textfield;
}

/* Admin Dashboard */
.statistic-block {
	height: 150px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
	overflow: hidden;
	margin: 10px;
	border-radius: 8px;
  }

  .progress {
	height: 10px;
	border-radius: 5px;
  }

.light-h {
	color: rgb(202, 201, 201);
}


.light-h hr {
    border: none;
    height: 2px;
    background-color: #ccc;
}

/* Custom CSS */

.admin-form-input.form-control {
    border-radius: 4px;
    border: 1px solid #ccc;
    padding: 10px 20px;
    box-shadow: none;
}

.admin-form-input.form-control:focus {
	background-color: white;
	color:black;
	border-color: #4A90E2;
	outline: none;
	box-shadow: 0 0 5px rgba(74, 144, 226, 0.5);
}

.btn.admin-btn-accent {
	background-color: #202225;
	color: rgb(202, 201, 201);
	border: 1px solid #DB6574;
	font-family: "poppins", sans-serif;
}

.admin-btn-accent.btn:hover {
	background-color: #202225;
	color: #DB6574;
}

.admin-btn-warning {
	background-color: #282B2F;
	color: rgb(202, 201, 201);
	border: 1px solid orange;
	font-family: "poppins", sans-serif;
}

.admin-btn-warning:hover {
	background-color: #202225;
	color: orange;
}

.btn.admin-btn-success {
	background-color: #282B2F;
	color: rgb(202, 201, 201);
	border: 1px solid rgb(4, 158, 4);
	font-family: "poppins", sans-serif;
}

.btn.admin-btn-success:hover {
	background-color: #202225;
	color: rgb(4, 158, 4);
}

.admin-form-textarea {
	box-sizing: border-box;
	width: 100%;
    height: 150px;
    background-color: #282b2f00;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 16px;
	padding: 0 !important;
}

.admin-form-textarea:focus {
	box-sizing: border-box;
	padding: 0 !important;
	background-color: white;
	color:black;
}
.dark-header.header
{	background-color: #282b2f;
	width: 100%;
	padding: 5px;
}





.shop-header.header {
	background-color: #57b9e0;
	color: rgb(202, 201, 201);
	padding-top: 5px;
	padding-bottom: 5px;
}

.shop-header-h1 {
	margin-top: 40px;
	margin-bottom: -50px;
}

.admin-form-select {
	width: 100%;
    background-color: #282b2f00;
	color: rgb(202, 201, 201);
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 16px;
	padding: 5px;
}
.admin-form-select option {
	width: 100%;
    background-color: #282b2f00;
	color: rgb(202, 201, 201);
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 16px;
	padding: 5px;
}


.admin_design{
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 30px;
}


.admin_table_design_cat {
	text-align: center;
	margin: auto;
	border: 1px solid rgb(202, 201, 201);
	margin-top: 50px;
	max-width: 100%;
}

.admin_table_design_cat th
{
	background-color: rgba(0, 0, 0, 0.445);
	border: 1px solid  rgb(202, 201, 201);
	padding: 15px;
	font-size: 20px;
	font-weight: bold;
	color: rgb(202, 201, 201);
}

.admin_table_design_cat td{
	padding: 10px;
	color: rgb(202, 201, 201);
	border: 1px solid  rgb(202, 201, 201);
}


.admin_table_design {
	table-layout: fixed;
    width: 100%;
	text-align: center;
	margin: auto;
	border: 1px solid rgb(202, 201, 201);
	margin-top: 50px;
	max-width: 100%;
	overflow-x: auto; 
	display: block;
}


.admin_table_design th{
	background-color: rgba(0, 0, 0, 0.445);
	border: 1px solid  rgb(202, 201, 201);
	padding: 15px;
	font-size: 20px;
	font-weight: bold;
	color: rgb(202, 201, 201);
}

.admin_table_design td{
	padding: 10px;
	color: rgb(202, 201, 201);
	border: 1px solid  rgb(202, 201, 201);
}

.admin_table_design th, 
.admin_table_design td {
    width: auto;
    white-space: nowrap; /* чтобы текст не переносился */
}

.td_img {
	width: 100px;
	height: 100px;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
}

.td_img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.admin-img-box{
	width: 200px;
	height: 200px;
	display: flex;
	justify-content:flex-start;
	align-items: flex-start;
}

.admin-img{
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding-left:0px;
}

.in_progress_status {
	color: #DB6574;
}

.delivered_status {
	color: rgb(49, 165, 49);
}

.on_the_status {
	color: rgb(212, 154, 46);
}

.fa-file-pdf {
	font-size: 24px;
}




/* Адаптация для небольших экранов */
@media (max-width: 768px) {
    .admin_table_design {
        display: block;
        width: 100%;
        overflow-x: auto; /* Добавляем горизонтальный скролл */
    }

    .admin_table_design th, .admin_table_design td {
        font-size: 14px; /* Уменьшаем шрифт на маленьких экранах */
        padding: 8px;
    }

    /* Уменьшаем размер изображений */
    .td_img {
        width: 70px;
        height: 70px;
    }
}

@media (max-width: 480px) {
    .admin_table_design th, .admin_table_design td {
        font-size: 12px; /* Еще меньше шрифт для очень маленьких экранов */
        padding: 6px;
    }

    .td_img {
        width: 50px;
        height: 50px;
    }
}




/* Shop */
.nav-icon {
	margin-right: 8px; /* Отступ между иконкой и текстом */
	vertical-align: middle; /* Выравнивание иконки по середине текста */
  }

.div-center {
	display: flex;
    justify-content: center; /* Центровка по горизонтали */
    align-items: flex-start; /* Центровка по вертикали (если нужно) */
    flex-wrap: wrap; /* Чтобы карточки переносились на новую строку при необходимости */
    gap: 20px; /* Расстояние между карточками */
    margin: 0 auto; /* Автоматические отступы для центрирования */
    max-width: 1200px; /* Ограничение ширины для группы карточек */
}



.shop-card-container {
	display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    padding: 10px;
    border-radius: 10px;
    background-color: #fff;
    height: auto;
    /*max-width: 100%;*/
    /*width: 280px;*/
    transition: transform 0.2s ease;
	margin: 10px;
}





.shop-card-container:hover {
    /*transform: scale(1.05);*/
	box-shadow: 0 2px 20px rgba(0, 0, 0, 0.274);
}

/* Изображение с адаптацией */
.card-img-top {
    width: 100%;
    height: 200px; /* Задаем фиксированную высоту для изображения */
    object-fit: contain;
    border-radius: 10px;
}

/* Контейнер для тела карточки */
.card-body {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    flex-grow: 1;
    padding: 10px 0;
    text-align: center;
}

/* Фиксированная высота заголовков и описаний для выравнивания */
.card-title {
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 10px;
    min-height: 50px; /* Фиксированная высота заголовка */
}

.card-text {
    font-size: 14px;
    color: #666;
    margin-bottom: 15px;
    min-height: 40px; /* Фиксированная высота описания */
}

/* Блок для кнопок закреплен внизу */
.card-body .btn-container {
    margin-top: auto;
    display: flex;
    justify-content: center; /* Выровнять контейнер по центру */
    gap: 10px; /* Пробел между кнопками */
    width: 100%; /* Контейнер занимает полную ширину */
}

.card {
	border: none;
}


/* Стили для кнопок */
.card-body .btn {
    flex: 1; /* Кнопки растягиваются равномерно */
    padding: 10px;
    font-size: 14px;
    border-radius: 5px;
    text-align: center;
    white-space: nowrap;
}

/* Адаптивная сетка */
/*@media (max-width: 576px) {
    .shop-card-container {
        width: 100%;
    }
}

@media (min-width: 576px) and (max-width: 768px) {
    .shop-card-container {
        width: 50%;
    }
}

@media (min-width: 768px) and (max-width: 992px) {
    .shop-card-container {
        width: 33.33%;
    }
}

@media (min-width: 992px) {
    .shop-card-container {
        width: 25%;
    }
}*/


.shop-btn-info {
	background-color: rgba(255, 255, 255, 0);
	color: #202225;
	border: 1px solid #202225;
}

.shop-btn-info:hover {
	background-color: #202225;
	color: white;
	border: 1px solid #202225;
}


.shop-btn-all {
	background-color: #202225;
	color: white;
	border: 1px solid #202225;
}

.shop-btn-all:hover {
	background-color: white;
	color: #202225;
	border: 1px solid #202225;
}

.shop-btn-all::active{
	color: white;
}


.shop-btn-accent {
	background-color: #87CEEB;
	color: #202225;
	border: 1px solid #87CEEB;
	font-family: "poppins", sans-serif;
}


.shop-btn-accent:hover {
	background-color: #202225;
	color: white;
	border: 1px solid #202225;
}

.text-center{
	margin-top: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.header-link.nav-link{
	color: #202225 !important;
	font-family: "arial", sans-serif !important;
	padding-left: 6px !important;
	padding-right: 6px !important;
	margin-left: 14px !important;
	margin-right: 14px !important;
}

a.header-link.nav-link:hover{
	color: white !important;
}

span.header-link.nav-link:hover {
	color: #202225 !important;
}



a.nav-link.shop-logo.header-link {
	color: rgb(199, 21, 21) !important;
	font-family: "poppins", sans-serif !important;
}


.header-link.navbar-toggler:hover {
    color: white !important; /* Измените цвет текста кнопки, если необходимо */
}

.header-link.navbar-toggler:hover span {
    color: white !important; /* Цвет текста в span при наведении */
}


.shop-badge {
	background-color: orange;
	color:white;
	padding: 4px;
	width: 45px;
	border-radius: 50%;
}




.shop-btn-logout {
	background-color: rgba(255, 255, 255, 0);
	color: #202225;
	border: 1px solid #202225;
}

.shop-btn-logout:hover {
	background-color: #202225;
	color: white;
	border: 1px solid #202225;
}

.shop-btn-danger {
	background-color: #db4f66;
	color: white;
	border: 1px solid #db4f66;
	font-family: "poppins", sans-serif;
}


.shop-btn-danger:hover {
	background-color: #b4253d;
	color: white;
	border: 1px solid #db4f66;
}


.shop-btn-cash:hover {
	background-color: white;
	color:  rgb(58, 134, 58);
	border: 1px solid rgb(58, 134, 58);
}

.shop-btn-cash {
	background-color:  rgb(58, 134, 58);
	color: white;
	border: 1px solid rgb(58, 134, 58);
}





.shop-btn-card {
	background-color: #202225;
	color: white;
	border: 1px solid #202225;
	font-family: "poppins", sans-serif;
}


.shop-btn-card:hover {
	background-color: white;
	color: #202225;
	border: 1px solid #202225;
}



.shop-div-deg {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 60px;
	width: 100%;
	overflow-x: auto;
}


/* Основной стиль таблицы */
/* Общие стили для таблицы */
.shop-table {
    width: 80%;
	max-width: 100%;
    margin: auto;
    border-collapse: collapse;
}

.shop-table th, .shop-table td {
    padding: 10px;
    text-align: center;
	vertical-align: middle !important;
	border: 1px solid rgba(0, 0, 0, 0.445);
}

.shop-table th {
    background-color: rgba(0, 0, 0, 0.445);
    color: white;
}

.fix-td {
    display: flex; /* Flex-контейнер для горизонтального расположения */
    justify-content: center; /* Центрируем по горизонтали */
    align-items: center; /* Центрируем по вертикали */
    gap: 5px;
	width: auto;
}


/* Убираем дополнительный отступ у кнопок и количества */
.fix-td button, .fix-td span {
    min-width: 40px; /* Минимальная ширина кнопок */
    padding: 5px;
    border: none; /* Убираем границу */
}
.current-count {
    text-align: center; /* Центрируем текст в счетчике */
}


/* Обертка таблицы с горизонтальной прокруткой для мобильных устройств */
.table-responsive {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; /* Для плавной прокрутки на мобильных устройствах */
}


/* Адаптивные стили для маленьких экранов */
@media (max-width: 576px) {
	.fix-td {
        flex-direction: column; /* Переключаем flex-контейнер на вертикальный макет */
        gap: 3px; /* Уменьшаем промежуток между элементами */
        align-items: center; /* Центрируем содержимое */
    }

    .fix-td button, .fix-td span {
        width: 100%; /* Элементы занимают всю ширину */
    }



}






.order_des {
	/*padding-right: 50px;*/
	display:flex;
	justify-content: center;
	align-items: center;
}


div.order_des {
	width: 600px;
	margin-top: 100px;
	padding: 20px;
	display:flex;
	justify-content: center;
	align-items: center;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.274);
}


.shop-label {
	display: inline-block;
	width: 50px;
}

.div_gap {
	padding: 20px;
}

.form-control-textarea {
	box-sizing: border-box;
	width: 100%;
    height: 150px;
    border-radius: 4px;
    font-size: 16px;
	padding: 0 !important;
}

.form-control-textarea:focus {
	box-sizing: border-box;
	padding: 0 !important;
	background-color: white;
}


html, body {
    height: 100%;
}

body {
    display: flex;
    flex-direction: column;
}



.nav-link.header-link.active-shop-link {
	/*border: 1px solid #ffffffbd !important;*/
	border-bottom: 2px solid #ffffffbd !important;
	border-radius: 0 !important;
	cursor:pointer;
}

/* Переходы при смене активного состояния */
.active-shop-link {
    color: #ffffff;
}

.custom_nav-container {
    height: 60px !important;
    min-height: 60px !important;
}






/* Фикс для высоты содержимого (чтобы кнопки не сдвигались) */
.navbar-collapse {
    transition: none;
    min-height: 60px !important;
}

/* Добавление плавности для иконок и текста в навбаре */
.header-link {
    display: flex;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.3s ease;
}



.footer {
    margin-top: auto;
    background-color: #202225;
	color: rgb(202, 201, 201);
    padding: 0 20px 20px 0;
    text-align: center;
    width: 100%;
}







/* Общие стили для слайдера */
.slider_section {
    position: relative;
    width: 100%;
    min-height: 400px; /* Высота слайдера */
    background-size: cover; /* Изображение растягивается, чтобы покрыть весь блок */
    background-position: center center; /* Центрирование изображения */
    background-repeat: no-repeat; /* Отключаем повтор */
}

.shop-detail-box {
	padding: 20px;
    text-align: left;
    color: white;
    max-width: 50%;
    display: flex;
    flex-direction: column;
    justify-content: center; /* Выравниваем вертикально по центру */
    align-items: flex-start; /* Выравниваем контент по левому краю */
    height: 100%; /* Важный момент, чтобы блок занимал всю высоту родителя */
    margin-left: 20px; /* Можно добавить, чтобы отодвинуть от края */
}


.shop-detail-box h1 {
    font-size: 2rem;
	margin-top: 45px;
}

.shop-detail-box p {
    font-size: 1rem;
    margin-top: 15px;
}



/* Адаптивность для маленьких экранов */
@media (max-width: 768px) {
    .slider_section {
        min-height: 300px; /* Снижаем высоту для мобильных устройств */
        background-size: cover; /* Изображение покрывает контейнер */
    }

    .shop-detail-box {
        max-width: 100%; /* Текстовая область занимает всю ширину на мобильных устройствах */
        padding: 15px;
    }

    .shop-detail-box h1 {
        font-size: 1.5rem;
    }

    .shop-detail-box p {
        font-size: 0.9rem;
    }

    .shop-detail-box a {
        padding: 8px 16px;
    }
}



.container {
    height: 100%; /* Задаем высоту 100% для контейнера, если он есть */
}

.shop_section {
	width: 100%;
	display: flex;
	flex-direction: column; /* Убедитесь, что элементы располагаются вертикально, если это необходимо */
    justify-content: center; /* Центрируем по горизонтали */
    align-items: center; /* Центрируем по вертикали */
    margin-top: 20px; /* При необходимости задаем отступ сверху */
    margin-bottom: 0; /* При необходимости задаем отступ снизу */
}

/*.shop-card {
	width: 100%;
	display: flex;
	justify-content: center;
	border: 1px solid black;*/
/*}*/

.shop-pagination {
	margin-top: 0;
	margin-bottom: 80px;
}


.shop-card {
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    border-radius: 10px;
    background-color: #fff;
    transition: transform 0.2s ease;
}

.shop-card:hover {
    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.253);
    transition: transform 0.2s ease;
}


.shop-body {
	flex-flow: column wrap;
	border: 1px solid rgb(128, 53, 53);
	text-align: left;
	padding-left: 40px;
	margin-left: 40px;
}


.shop-img-container {
	flex-flow: column wrap;
	display: flex;
	justify-content: center;
	align-items: center;
	border: 1px solid rgb(83, 83, 83);
}

.shop-img-container img {
	width: 100%;
	height: auto;
	padding-left: 40px;
}


/*product card*/

  
  .price {
	color: grey;
	font-size: 22px;
  }

  .category {
	color: #000;
  }
  
  .product-card a {
	padding: 12px;
	text-align: center;
	cursor: pointer;
	width: 100%;
	font-size: 18px;
	margin-bottom: -20px;
	margin-top: 60px;
  }
  
  .product_detail_section {
    margin-top: 0;
}

.product_card {
	margin-top: 40px;
	max-width: 800px;
	align-items: center;
    display: flex;
    border-radius: 5px;
    padding: 20px;
    background-color: #fff;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.product_image {
    flex: 1;
    transition: transform 0.3s;
    cursor: pointer;
    height: 200px; /* Высота контейнера изображения */
    width: 400px; /* Ширина контейнера изображения */
    overflow: hidden; /* Скрыть лишнее, если изображение больше контейнера */
}

.product_image img {
    width: 100%; /* Ширина изображения 100% от родительского контейнера */
    height: 100%; /* Высота изображения 100% от родительского контейнера */
    object-fit: contain; /* Сохранить соотношение сторон, обрезая изображение */
    border-radius: 5px; /* Опционально: скругленные углы изображения */
}

.product_image:hover {
    transform: scale(1.1); /* Эффект при наведении */
}


.product_info {
    flex: 2; /* Takes up space on the right */
    padding-left: 20px; /* Space between image and info */
	margin: 0 0 20px 20px;
}

.product_info h2 {
    margin-top: 0;
    margin-bottom: 60px;
}

.product_info p {
    margin-top: 0;
    margin-bottom: 20px;
}

.btn-container {
    margin-top: 40px;
	margin-bottom: 0;
	padding-bottom: 20px;
	font-family: "poppins" !important;
	font-size: medium !important;
}

/* buttons + - */
.btn.update-cart {
	background-color: rgb(235, 235, 235);
	display: flex;
    justify-content: center;
    align-items: center;
    width: 40px; 
    height: 40px;
    font-size: 24px;
    padding: 0 2px 4px 2px;

}

.btn.update-cart:hover {
	transform: scale(1.1);
	background-color: rgb(211, 211, 211);
}


@media (max-width: 991px) {
    .navbar-nav, .user_option {
        justify-content: center;
		align-items: center;
    }

	.nav-link.header-link.active-shop-link {
		border-bottom: none !important;
	}
	
	.shop-auth {
		justify-content: center;
		

	}
}


.header {
	font-family: "poppins";
}

.login-shadow {
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.199);
}


.custom-select {
    font-family: Arial, "Helvetica Neue", Helvetica, sans-serif !important;
    font-size: 14px; /* Можете задать и размер шрифта, если нужно */
	margin-left: 14px !important; 
	margin-right: 14px !important; 
}

.custom-select option {
    font-family: Arial, "Helvetica Neue", Helvetica, sans-serif !important;
}


/* Cart */
/* Стили для контейнера */
.cart-container {
    width: 100%;
    max-width: 800px;
    margin: auto;

}

.cart-header {
    display: flex;
    background-color: #202225;
    color: white;
    font-weight: bold;
    padding: 10px;
}

.cart-row {
    display: flex;
    justify-content: center;
    padding: 10px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.445);
}

.cart-column {
    flex: 1;
    text-align: center;
    padding: 10px;
	display: flex;            /* Добавляем flex-контейнер для центрирования */
    justify-content: center;   /* Центрируем по горизонтали */
    align-items: center; 
}

/* Стили для управления количеством товара */
.quantity-controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
}

.quantity-controls button, .quantity-controls span {
    width: 40px;
    text-align: center;
    padding: 5px;
}

.current-count {
    display: inline-block;
}

/* Адаптивные стили для маленьких экранов */
@media (max-width: 576px) {
    .cart-header, .cart-row {
        flex-direction: column;
        text-align: left;
    }
    
    .cart-column {
        width: 100%;
        padding: 5px 0;
    }

    .quantity-controls {
        flex-direction: column;
        gap: 3px;
    }
}




.pagination-nav {
    text-align: center;
    margin: 20px 0;
}

.pagination-list {
    display: inline-flex;
    list-style: none;
    padding: 0;
}

.pagination-item {
    margin: 0 5px;
}

.pagination-item a {
    padding: 10px 15px;
    text-decoration: none;
    color: #202225;
    border: 1px solid #dee2e6;
    border-radius: 4px;
}

.pagination-item a:hover {
    background-color: #f8f9fa;
}

.active span {
    background-color: #202225;
    color: white;
    padding: 10px 15px;
    border-radius: 4px;
}

.disabled span {
    color: #6c757d;
    pointer-events: none;
    padding: 10px 15px;
}


.card-title-link {
	text-decoration: none !important;
	color:#202225;
}



