body, html {
	font-family: 'Verdana', serif;
	text-rendering: optimizeLegibility !important;
	-webkit-font-smoothing: antialiased !important;
	color: #777;
	font-weight: 400;
	width: 100% !important;
	height: 100% !important;
    background: #000;
}

h2 {
	font-weight: 400;
	font-size: 38px;
	color: #333;
	text-transform: uppercase;
	position: relative;
	margin-top: 10px;
	margin-bottom: 15px;
	padding-bottom: 20px;
}
h2::after {
	position: absolute;
	content: "";
	background: #ff8c00;
	height: 2px;
	width: 70px;
	bottom: 0;
	margin-left: -35px;
	left: 50%;
}
h3 {
	font-size: 24px;
	font-weight: 400;
	color: #333;
}
h4 {
	font-size: 24px;
	text-transform: uppercase;
	font-weight: 400;
	color: #333;
}
h5 {
	text-transform: uppercase;
	font-weight: 700;
	line-height: 20px;
}

hr {
    width: 100%;
    height: 0;
    border-top: 1px solid #ff8c00;
    margin: 15px 0;
}

.fullSize {
    width: 100%;
}

.fullSize h4 {
    width: 100%;
    background: transparent;
    color: #ff8c00;
    font-size: 1.2rem;
    font-weight: 600;
}

.yellow {
    color: #ff8c00;
}

.yellow-muted {
    color: rgba(255,206,0,0.5);
}

.logo img {
    max-width: 80px;
}

p {
	font-size: 15px;
}
p.intro {
	margin: 12px 0 0;
	line-height: 24px;
}
a {
    font-size: 1.5rem;
	color: #ff8c00;
}
a:hover, a:focus {
	text-decoration: none;
	color: #fff;
}
ul, ol {
	list-style: none;
}
ul, ol {
	padding: 0;
	webkit-padding: 0;
	moz-padding: 0;
}
.btn:active, .btn.active {
	background-image: none;
	outline: 0;
	-webkit-box-shadow: none;
	box-shadow: none;
}
a:focus, .btn:focus, .btn:active:focus, .btn.active:focus, .btn.focus, .btn:active.focus, .btn.active.focus {
	outline: none;
	outline-offset: none;
}

.topbar {
    position: fixed;
    display: flex;
    width: 100%;
    min-height: 40px;
    top: 0;
    left: 0;
    z-index: 9;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-content: center;
    align-items: center;
}

#main {
    position: absolute;
    display: flex;
    width: 100%;
    min-height: 100%;
    padding: 60px 0;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-content: flex-end;
    align-items: center;
    overflow: auto;
}

.bg {
    background-image: url('../img/bg.jpeg');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}

.bg-black {
    background-image: url('../img/logo_bg.png');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;}

.preload {
    position: fixed;
    display: flex;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: #000;
    z-index: 100;
    align-content: center;
    justify-content: center;
    align-items: center;
}
.preload .animation{
    display: flex;
    width: 800px;
    height: 400px;
    padding-top: 65px;
    background: url('../img/bg_logo.png') top center no-repeat;
    background-size: 100% 100%;
    align-content: center;
    justify-content: space-between;
    flex-direction: column;
    font-size: 3rem;
    font-weight: 800;
    color: #ff8c00;
    align-items: center;
}

.person, .logo {
    padding: 10px 15px;
}
.logo a {
    display: block;
    width: 160px;
    height: 50px;
    background: url('../img/tr_pin.png') top left no-repeat;
    background-size: 50% 90%;
}

.logo i{
    font-size: 2.5rem;
    color: #ff8c00;
    cursor: pointer;
    animation: 3s linear infinite rotate;
}

.person i{
    font-size: 4rem;
    color: #ff8c00;
    cursor: pointer;
}
.cabinetLayout {
    position: fixed;
    display: none;
    width: 100%;
    height: 100%;
    min-height: 100%;
    top: 0;
    left: 0;
    background: rgba(0,0,0,0.8);
    z-index: 100;
    align-content: center;
    justify-content: center;
    align-items: center;
    overflow: auto;
}

.cabinetLayout--close {
    position: absolute;
    width: 12rem;
    height: 12rem;
    z-index: 2;
    top: 5rem;
    right: 3rem;
    display: flex;
    justify-content: center;
    flex-direction: row;
    flex-wrap: wrap;
}
.cabinetLayout--close i {
    font-size: 10rem;
    color: #F2F2F2;
    cursor: pointer;
    opacity: 0.7;
    transition: all .3s;
}

.cabinetLayout--close i:hover {
    opacity: 1;
    transition: all .3s;
}

.cabinetLayout--body {
    max-width: 60rem;
    padding: 100px;
    display: flex;
    justify-content: center;
    flex-direction: row;
    flex-wrap: wrap;
}

.cabinetLayout--body .item {
    padding: 10px;
}

.cabinetLayout--body .item i{
    padding: 10px;
    font-size: 15rem;
    color: #ff8c00;
    cursor: pointer;
    opacity: 0.7;
    transition: all .3s;
}

.cabinetLayout--body i:hover {
    opacity: 1;
    transition: all .3s;
}

.cabinetLayout--body .item h5 {
    font-size: 1.5rem;
    color: #ff8c00;
    text-align: center;
}

#footer {
    position: fixed;
    width: 100%;
    left:0;
    bottom:0;
    z-index: 2;
}

#footer .social ul {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: flex-end;
    align-items: center;
}

#footer .social ul li{
    padding: 0 15px;
}

#footer .social ul li a{
    color: #ff8c00;
}

.footer_body {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: space-between;
    align-items: center;
}

#footer .half{
    width: 50%;
    padding: 5px 15px;
}

.modal {
    position: fixed;
    width: 100%;
    height: 100%;
    padding: 30px;
    top:0;
    left:0;
    right:0;
    bottom:0;
    overflow: auto;
    z-index: 10;
    background: rgba(0,0,0,0.8);
    display: none;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: center;
    justify-content: center;
}

.modal .modal--close {
    position: absolute;
    width: 70px;
    height: 62px;
    top:0;
    right:0;
    z-index: 1;
}

.modal .modal--close i {
    padding: 0px;
    font-size: 7rem;
    color: #ff8c00;
    cursor: pointer;
}

.modal--body {
    width: 100%;
    max-width: 400px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-around;
    align-content: center;
    align-items: center;
}

.modal--body_item {
    display: flex;
    justify-content: center;
    width: calc(100% / 3);
    padding: 30px 0;
    flex-direction: column;
    align-items: center;
}

.modal--header, .modal--row {
    display: flex;
    justify-content: center;
    width: 100%;
    padding-bottom: 20px;
    flex-direction: column;
    align-items: center;
    color: #ff8c00;
    font-size: 2rem;
}

#orderDetails table a {
    padding: 0 !important;
}
.modal--header {
    font-size: 3rem;
    font-weight: 700;
}

.modal_direction_row {
    display: flex;
    justify-content: center;
    width: 100%;
    padding-bottom: 20px;
    flex-direction: row;
    align-items: center;
    color: #ff8c00;
    font-size: 2rem;
    transition: all .3s;
}

.modal--row-8 {
    display: flex;
    flex-direction: column;
    min-width: 75%;
    width: 100%;
    transition: all .3s;
}

.mb-20px {
    margin-bottom: 20px;
}

.modal--row-4 {
    display: flex;
    flex-direction: column;
    width: 25%;
    transition: all .3s;
}

.__mapButton {
    display: flex;
    width: 100%;
    height: 100%;
    align-content: center;
    cursor: pointer;
    justify-content: center;
}

.__mapButton i {
font-size: 40px;
}

.modal--body_item i {
    font-size: 5rem;
    color: #ff8c00;
    cursor: pointer;
}

.modal--body_item h4 {
    font-size: 2rem;
    color: #ff8c00;
}

.modal--row label {
    width: 100%;
    font-size: 1.3rem;
    display: block;
    font-style: normal;
    text-align: left;
    font-weight: 600;
}
.input {
    width: 100%;
    text-align: left;
    background: transparent;
    font-size: 1.5rem;
    outline: none;
    border-top: none;
    border-left: none;
    border-right: none;
    border-bottom: 1px solid #ff8c00;
    padding: 7px 15px;
    color: #ff8c00;
}
.modal--body .button {
    width: 50%;
    max-width: 150px;
    text-align: center;
    background: #ff8c00;
    outline: none;
    border: none;
    padding: 10px 20px;
    color: #000;
}

.button {
    font-size: 2rem;
    font-weight: 600;
    text-align: center;
    background: #ff8c00;
    outline: none;
    border: 2px solid #ff8c00;
    padding: 10px 20px;
    color: #000;
    cursor: pointer;
    transition: all .4s;
}

.searchButton {
    position: absolute;
    width: 220px;
    height: 50px;
    top:48%;
    left:50%;
    margin-left: -110px;
}

.big_shadow {
    box-shadow: 0 0 112px 10px rgba(0,0,0,0.75);
    -webkit-box-shadow: 0 0 112px 10px rgba(0,0,0,0.75);
    -moz-box-shadow: 0 0 112px 10px rgba(0,0,0,0.75);
}

.button:hover {
    transition: all .4s;
    color: #ff8c00;
    background: transparent;
}

.mapLayer {
    position: fixed;
    width: 100%;
    height: 100%;
    top:-100%;
    left:0;
    z-index: 15;
    opacity: 0;
}

.mapLayer.open {
    top: 0;
    opacity: 1;
}

.mapLayer--close,  .mapLayer--home{
    position: absolute;
    width: 120px;
    height: 50px;
    top:10px;
    right:10px;
    z-index: 5;
}

.mapLayer--orders{
    position: absolute;
    width: 120px;
    height: 50px;
    top:70px;
    right:10px;
    z-index: 5;
    display:none;
}

.mapLayer--confirm {
    position: absolute;
    width: 120px;
    height: 50px;
    top:10px;
    right:140px;
    z-index: 5;
}

#map, #ordersMap {
    position: absolute;
    width: 100%;
    height: 100%;
    top:0;
    left:0;
    z-index: 1;
}

.onTop {
    z-index:20 !important;
}

.buttonOnMap {
    font-size: 2rem;
    font-weight: 600;
    text-align: center;
    background: rgba(0,0,0,0.8);
    outline: none;
    border: 2px solid #000;
    padding: 10px 20px;
    color: #ff8c00;
    cursor: pointer;
    transition: all .4s;
}
.buttonOnMap:hover {
    background: transparent;
    color: #000;
    transition: all .4s;
}

.__map_search {
    position: absolute;
    display: flex;
    width: 100%;
    left:0;
    padding: 10px;
    bottom:0;
    z-index: 5;
    background: rgba(0,0,0,0.8);
    flex-direction: row;
    align-content: center;
    justify-content: center;
}
#mapSearch {
    max-width: 450px;
    min-width: 300px;
    text-align: left;
    background: transparent;
    font-size: 1.5rem;
    outline: none;
    border-top: none;
    border-left: none;
    border-right: none;
    border-bottom: 1px solid #ff8c00;
    padding: 7px 15px;
    color: #ff8c00;
}

.__map_search ul {
    position: absolute;
    display: flex;
    bottom: 100%;
    width: 100%;
    padding: 0;
    margin: 0;
    flex-direction: column;
    align-content: flex-start;
    align-items: center;
}

.__map_search ul li {
    list-style: none;
    display: flex;
    margin: 1px;
    border-radius: 5px;
    max-width: 450px;
    min-width: 300px;
    text-align: left;
    background: rgba(0,0,0,0.6);
    font-size: 1.5rem;
    padding: 7px 15px;
    color: #ff8c00;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: center;
    cursor: pointer;
    transition: all .4s;
}

.__map_search ul li:hover {
    background: rgba(0,0,0,0.8);
}

.border_bottom {
    border-bottom: 1px solid #ff8c00;
}

.small {
    font-size: 1rem;
}

#resultInfo {
    position: absolute;
    display: flex;
    width: 180px;
    top: 70px;
    right: 10px;
    background: rgba(0,0,0,0.8);
    font-size: 1.5rem;
    padding: 7px 15px;
    color: #ff8c00;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: center;
    z-index: 5;
}

@keyframes rotate {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

.locate_me {
    position: absolute;
    width: 50px;
    height: 50px;
    z-index: 5;
    right: 10px;
    bottom: 60px;
    display: flex;
    padding: 10px;
    font-size: 3rem;
    color: #000;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: center;
    cursor: pointer;
}

.__globeAnim {
    font-size: 5rem;
    color: #ff8c00;
    cursor: pointer;
    animation: 3s linear infinite rotate;
}

.__mapButton span {
    display: block;
    padding: 7px 15px;
    border: 1px solid #ff8c00;
    transition: all .5s;
}

.__mapButton span:hover {
    background: #ff8c00;
    color: #000;
    transition: all .5s;
}
.buttons {
    display: flex;
    font-size: 4rem;
    width: 100%;
    flex-direction: row;
    justify-content: space-around;
}

.small-text {
    font-size: 1.5rem;
}

.modal a {
    padding: 10px 15px;
    margin-top: 10px;
}

/** ALERT **/
#pegas_alert {
    display: none;
    position: absolute;
    width: 400px;
    bottom: 10px;
    left: 50%;
    margin-left: -125px;
    background: #ff8c00;
    padding: 27px 20px 20px 20px;
    z-index: 30;
}

.pegas_alert--close {
    position: absolute;
    width: 30px;
    height: 30px;
    top: 0;
    right: 0;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: center;
    cursor: pointer;
    color: #000;
    font-size: 3rem;
}
.pegas_alert_body {
    width: 100%;
    color: #000;
    font-size: 1.4rem;
}

.pegas_alert_body span {
    padding-left: 10px;
}
/** ALERT **/

.modal--body_item a{
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
}

/* DASHBOARD */
.items {
    padding: 20px;
    width: 100%;
    max-width: 450px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
}

.item {
    width: 50%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    align-items: center;
    padding: 10px;
}

.item a{
    width: 100%;
    font-size: 1.5rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    padding: 7px 15px;
}
.item a i {
    margin-right: 10px;
}

.text-left {
    align-items: flex-start;
}

.bg-admin {
    background: #f1f1f1;
}
/* DASHBOARD */

/** Menu **/
.modal--body ul {
    width: 100%;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    align-items: center;
    align-content: center;
}

.modal--body ul li {
    width: 100%;
    display: flex;
    padding: 5px;
    border-bottom: 1px solid #ff8c00;
}

.modal--body ul li a {
    width: 100%;
    line-height: 1;
    font-size: 2rem;
    color: #ff8c00;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
}

.modal--body ul li a i {
    margin-right: 15px;
}
/** Menu **/

.three-flex {
    width: 100%;
    display: flex;
}

.three-flex .big{
    width: 35%;
    margin: 4px;

}

.three-flex .small{
    width: 30%;
    margin: 4px;
}
.three-flex .wid80{
    width: 80%;
    margin: 4px;
}

.three-flex .in{
    width: calc(100% / 3);
    margin: 4px;
}


/** Checkbox **/
label.checkbox {
    width: 100%;
    height: 100%;
    outline: none;
}

.checkbox input {
    position: absolute;
    z-index: -1;
    opacity: 0;
    outline: none;
}
.checkbox__text {
    position: relative;
    padding: 0 0 0 60px;
    cursor: pointer;
    width: 100%;
    outline: none;
    height: 100%;
}
.checkbox__text:before {
    content: "Urgent?";
    position: absolute;
    display: flex;
    align-content: center;
    justify-content: center;
    align-items: center;
    font-weight: 700;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    color:#ff8c00;
    background: transparent;
    transition: .2s;
    outline: none;
}
.checkbox__text:after {
    content: "Urgent?";
    position: absolute;
    display: flex;
    align-content: center;
    justify-content: center;
    align-items: center;
    font-weight: 700;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    color:#ff8c00;
    background: transparent;
    transition: .2s;
    outline: none;
}

.checkbox__text.driver:before {
    content: "Driver?" !important;
    position: absolute;
    display: flex;
    align-content: center;
    justify-content: center;
    align-items: center;
    font-weight: 700;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    color:#ff8c00;
    background: transparent;
    transition: .2s;
    outline: none;
}
.checkbox__text.driver:after {
    content: "Driver?" !important;
    position: absolute;
    display: flex;
    align-content: center;
    justify-content: center;
    align-items: center;
    font-weight: 700;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    color:#ff8c00;
    background: transparent;
    transition: .2s;
    outline: none;
}
.checkbox input:checked + .checkbox__text:before {
    background: #ff8c00;
    color:#000;
    outline: none;
}

.checkbox input:focus + .checkbox__text:before {
    box-shadow: inset 0 2px 3px rgba(0,0,0,.2), 0 0 0 3px rgba(255,255,0,.7);
}


.group {
    display: flex;
    align-items: center;
    margin-bottom: 2em;
    flex-wrap: wrap;
}

.cCheck {
    position: absolute;
    opacity: 0;
    z-index: -1;
}
label.checkLabel {
    position: relative;
    margin-right: 1em;
    padding-left: 2em;
    padding-right: 1em;
    line-height: 2;
    cursor: pointer;
    color: #ff8c00;
}

label.checkLabel::before {
    box-sizing: border-box;
    content: " ";
    position: absolute;
    top: 0.3em;
    left: 0;
    display: block;
    width: 1.4em;
    height: 1.4em;
    border: 2px solid #ff8c00;
    z-index: -1;
}

/* Checked */
.cCheck:checked + label,
.cCheck:checked + label {
    padding-left: 1em;
    color: #000;
}
.cCheck:checked + label:before {
    top: 0;
    width: 100%;
    height: 2em;
    background: #ff8c00;
}

/* Transition */
label.checkLabel::before {
    -webkit-transition: .25s all ease;
    -o-transition: .25s all ease;
    transition: .25s all ease;
}
/** Checkbox **/

/***  Chat  ***/
.chat-overlay {
    position: fixed;
    bottom: -100%; /* Прячем внизу */
    left: 0;
    width: 100%;
    height: 100%;
    background: #f4f7f6;
    z-index: 9999;
    transition: bottom 0.3s ease;
    display: flex;
    flex-direction: column;
}

.chat-overlay.active {
    bottom: 0; /* Выезжает! */
}

/* Баблы сообщений */
.msg {
    display: flex;
    max-width: 80%;
    margin: 8px;
    padding: 12px;
    border-radius: 18px;
    font-size: 16px;
    line-height: 1.4;
}

.chat-messages {
    display: flex;            /* Включаем flexbox */
    flex-direction: column;   /* Выстраиваем сообщения в колонку */
    flex: 1;
    overflow-y: auto;
    padding: 20px 15px;
    background: #f0f2f5;      /* Цвет фона как в мессенджерах */
}

/* Сообщения от меня (улетают вправо) */
.msg.me {
    align-self: flex-end;     /* Сработает только при display: flex выше */
    background: #007bff;
    color: white;
    border-radius: 18px 18px 2px 18px;
    margin-left: 20%;         /* Чтобы длинные сообщения не прилипали к левому краю */
}

/* Сообщения от них (улетают влево) */
.msg.them {
    align-self: flex-start;
    background: white;
    color: #333;
    border-radius: 18px 18px 18px 2px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
    margin-right: 20%;        /* Чтобы не прилипали к правому краю */
}

/* Быстрые ответы (для водителя на байке — спасение!) */
.quick-replies {
    background: #ffffff;
    padding: 10px;
    display: flex;
    gap: 8px;
    overflow-x: auto;
    border-top: 1px solid #eee;
    white-space: nowrap;
}

.quick-replies button {
    background: #e9ecef;
    border: none;
    padding: 8px 15px;
    border-radius: 20px;
    font-size: 14px;
    font-weight: 600;
    color: #495057;
    cursor: pointer;
}

.quick-replies button:active {
    background: #dee2e6;
}

/* Футер: инпут и кнопка отправить */
.chat-footer {
    background: white;
    padding: 15px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding-bottom: env(safe-area-inset-bottom); /* Для iPhone с челкой */
}

.chat-footer input {
    flex: 1;
    border: 1px solid #ddd;
    border-radius: 25px;
    padding: 12px 20px;
    font-size: 16px;
    outline: none;
}

.chat-footer button {
    background: #007bff;
    color: white;
    border: none;
    width: 45px;
    height: 45px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
}
.badge {
    position: absolute;
    top: -5px;
    right: -5px;
    background: #ff3b30;
    color: white;
    border-radius: 50%;
    padding: 4px 8px;
    font-size: 12px;
}

/* Контейнер для всей кнопки */
.chat-fab {
    position: fixed;
    bottom: 20px; /* Над карточкой заказа */
    right: 20px;
    z-index: 9998; /* Чтобы была поверх карты, но под чатом */
    cursor: pointer;
    transition: transform 0.2s ease;
}

.chat-fab:active {
    transform: scale(0.9); /* Эффект нажатия */
}

/* Сама круглая кнопка */
.fab-circle {
    position: relative;
    width: 60px;
    height: 60px;
    background-color: #007bff; /* Твой основной цвет */
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
    color: white;
    font-size: 24px;
}

/* Бейдж с цифрой новых сообщений */
#chat-badge {
    position: absolute;
    top: -2px;
    right: -2px;
    background-color: #ff3b30; /* Агрессивный красный */
    color: white;
    font-size: 12px;
    font-weight: bold;
    min-width: 20px;
    height: 20px;
    padding: 2px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid white; /* Чтобы не сливался с кнопкой */
}

/* Анимация пульсации, если есть новые сообщения */
.badge-pulse {
    animation: pulse-red 2s infinite;
}

@keyframes pulse-red {
    0% { transform: scale(1); box-shadow: 0 0 0 0 rgba(255, 59, 48, 0.7); }
    70% { transform: scale(1.1); box-shadow: 0 0 0 10px rgba(255, 59, 48, 0); }
    100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(255, 59, 48, 0); }
}

.chat-section {
    margin: 20px 0;
    display: flex;
    justify-content: center;
}

.chat-btn {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 24px;
    border-radius: 12px;
    font-family: sans-serif;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
    width: 100%;
    max-width: 400px;
}

/* Активное состояние */
.chat-btn.active {
    background: #28a745;
    color: #fff;
    box-shadow: 0 4px 15px rgba(40, 167, 69, 0.3);
}

.chat-btn.active:hover {
    background: #218838;
    transform: translateY(-2px);
}

/* Спящее состояние */
.chat-btn.disabled {
    background: #f0f0f0;
    color: #999;
    cursor: default;
    border: 1px solid #ddd;
}

/* Маленький индикатор ожидания */
.spinner-tiny {
    width: 16px;
    height: 16px;
    border: 2px solid #ccc;
    border-top-color: #666;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

/* Анимация при активации */
.pulse-animation {
    animation: shadow-pulse 2s infinite;
}

@keyframes shadow-pulse {
    0% { box-shadow: 0 0 0 0 rgba(40, 167, 69, 0.4); }
    70% { box-shadow: 0 0 0 15px rgba(40, 167, 69, 0); }
    100% { box-shadow: 0 0 0 0 rgba(40, 167, 69, 0); }
}

/***  Chat  ***/


/** Popup **/
.leaflet-popup-content-wrapper {
    background: #000 !important;
    color:#ff8c00 !important;
}
.__takeOrder, .__dropOrder, .__doneOrder {
    width: 100%;
    border: 1px solid #ff8c00;
    background: #000;
    color: #ff8c00;
    font-size: 1.5rem;
    text-align: center;
    padding: 7px 10px;
}
#distanceBlock{
    display: flex;
    width: 100%;
    min-height: 40px;
    flex-direction: row;
    align-content: center;
    justify-content: center;
    align-items: center;
    margin-bottom: 30px;
    color: #ff8c00
}

#arrive-buttons {
    display: flex;
    width: 100%;
    min-height: 80%;
    flex-direction: row;
    align-content: center;
    justify-content: center;
    align-items: center;
}

#btn-i-am-here, #btn-cancel-order, #btn-lets-go {
    min-width: 40%;
    height: 50%;
    font-size: 24px;
    margin: 40px;
    background: black;
    color: #ff8c00;
    border: 1px solid #ff8c00;
}

.__red {
    color: red !important;
}
.__green {
    color: lawngreen !important;
}

.__gray{
    color: gray !important;
}
.hidden {display: none !important;}


.active-order-card {
    position: fixed;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    width: 90%;
    max-width: 400px;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    border-radius: 15px;
    padding: 15px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.2);
    z-index: 10000;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-left: 5px solid #3498db; /* Синий цвет как у иконки PROGRESS */
}

.order-info-text b { color: #2c3e50; font-size: 1.1em; }
.order-info-text p { margin: 0; font-size: 0.9em; color: #7f8c8d; }

.call-btn {
    background: #2ecc71;
    color: white;
    border: none;
    padding: 10px 15px;
    border-radius: 10px;
    text-decoration: none;
    font-weight: bold;
}

/** Popup **/

/** Table **/
.table {
    width: 100%;
}

.table table {
    width: 100%;
    color: #ff8c00;
    border-bottom: 1px solid #ff8c00;
}

.table table th{
    padding: 7px;
    font-weight: 700;
    border-bottom: 1px solid #ff8c00;
}
.table table th:last-child{
    text-align: right;
}

.table table td{
    padding: 7px;
    font-weight: 400;
    border-bottom: 1px solid rgba(255,206,0,0.5);
}

.table table td:last-child{
    text-align: right;
}
/** Table **/

/** .pagination **/
.pagination {
    background: transparent;
}

.pagination ul {
    background: transparent;
}

.pagination > li > a {
    color: #ff8c00;
    background: transparent;
    border: 1px solid #ff8c00;
}

.pagination > li > a:hover {
    background: rgba(255,206,0,0.5);
    color: #000;
    border: 1px solid #ff8c00;
}

.pagination > .active > a, .pagination > .active > span, .pagination > .active > a:hover, .pagination > .active > span:hover, .pagination > .active > a:focus, .pagination > .active > span:focus {
    color: #000;
    background: #ff8c00;
    border: 1px solid #ff8c00;
}

.pagination > .disabled > span, .pagination > .disabled > span:hover, .pagination > .disabled > span:focus, .pagination > .disabled > a, .pagination > .disabled > a:hover, .pagination > .disabled > a:focus {
    color: #000;
    cursor: not-allowed;
    background: rgba(255,206,0,0.5);
    border: 1px solid #ff8c00;
}
/** .pagination **/

/** select box **/
li.top {
    display: flex;
    list-style: none;
    width: 100%;
    color: #ff8c00;
    border-bottom: 1px solid #ff8c00;
    padding: 7px 15px;
    position: relative;
}

li.top > ul {
    position: absolute;
    z-index: 2;
    width: 100%;
    left:0;
    top:99%;
    display: none;
}

li.top:hover > ul {
    display: block;
}
/** select box **/

.addMore {
    display: block;
    padding: 3px 7px;
    background: #ff8c00;
    margin: 5px 0 10px 0;
    color: #000;
    border: 1px solid #ff8c00;
}

.addMore:hover {
    background: transparent;
    color: #ff8c00;
}

/** Buttons **/
.buttons {
    width: 100%;
    display: flex;
}

.buttons a {
    padding: 4px 10px;
    display: flex;
    margin: 2px;
    font-size: 1.5rem;
    background: transparent;
}

.__inProgressButton {
    border: 1px solid #2ca02c;
    color: #2ca02c;
}

.__pendingButton {
    border: 1px solid #4bb1b1;
    color: #4bb1b1;
}
.__doneButton {
    border: 1px solid #34ce57;
    color: #34ce57;
}
.__cancelDriverButton, .__cancelClientButton {
    border: 1px solid #b21f2d;
    color: #b21f2d;
}
/** Buttons **/
#status {
    font-size: 1.5rem;
    text-align: center;
}

.widget {
    display: flex;
    width: calc(100% / 2 - 6px);
    padding: 15px;
    border: 1px solid #ff8c00;
    margin: 2px;
    color: #ff8c00;
    border-radius: 5px;
    align-items: center;
}
a.widget:hover {
    border: 1px solid #fff;
}

a.widget i {
   margin-right: 10px;
}
.balance_block {
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
}
.balance_block label {
    color: #ff8c00;
    padding: 5px 12px 5px 0;
}
.balance_block .small_button {
    display: flex;
    min-width: 120px;
    color: #ff8c00;
    margin-left: 15px;
    padding: 7px 12px;
    border: 1px solid #ff8c00;
    flex-direction: row;
    align-items: center;
    justify-content: center;
}
.labelimg {
    max-width: 100%;
}
.img-label {
    display: flex !important;
    padding: 20px;
    justify-content: center;
    align-content: center;
    align-items: center;
    cursor: pointer;
}
