html {
    font-size: 14px;
}

@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
    position: relative;
    min-height: 100%;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
    color: var(--bs-secondary-color);
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
    text-align: start;
}

#editor-container {
    height: 800px;
}

.btn-primary, .btn-primary:hover, .btn-primary:disabled {
    background-color: #C01E25;
    border-color: #C01E25;
}

.btn-check:checked + .btn, .btn.active, .btn.show, .btn:first-child:active, :not(.btn-check) + .btn:active {
    background-color: #d5d8de;
    border-color: #d5d8de;
    color: #212529;
}

a, .nav-link, .nav-link:hover {
    color: #C01E25;
}


.bg-primary-dark-op {
    background-color: rgba(0, 0, 0, .50) !important;
}

.form-check-input:checked {
    background-color: #C01E25;
    border-color: #C01E25;
}

span.red {
    color: #C01E25;
}

.bg-primary, .bg-info {
    background-color: #C01E25 !important;
}

.field-validation-error {
    color: #C01E25;
    font-size: 12px;
}



.bg-danger {
    background-color: #C01E25 !important;
}

.text-danger {
    color: #C01E25 !important;
}

.reward-info {
    color: #343a40;
}

.qr-button {
    position: relative;
    display: inline-block;
    font-size: 60px;
    cursor: pointer;
}

.pointer-icon {
    position: absolute;
    font-size: 28px;
    color: #C01E25;
    right: -14px;
    bottom: -12px;
    z-index: 2;
    animation: pointer-tap 1.2s ease-in-out 4;
}

@keyframes pointer-tap {
    0%, 100% {
        transform: translate(0, 0) scale(1);
    }

    45% {
        transform: translate(-7px, -7px) scale(1);
    }

    55% {
        transform: translate(-7px, -7px) scale(0.85);
    }
}

.pwa-install-sheet {
    position: fixed;
    left: 12px;
    right: 12px;
    bottom: 12px;
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
    padding: 12px 18px 20px;
    z-index: 9999;
    transform: translateY(calc(100% + 30px));
    opacity: 0;
    visibility: hidden;
    transition: transform 0.3s ease, opacity 0.3s ease, visibility 0.3s;
}

.pwa-install-sheet.show {
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
}

.pwa-install-handle {
    width: 40px;
    height: 4px;
    background: #ccc;
    border-radius: 10px;
    margin: 0 auto 14px;
}

.pwa-install-close {
    position: absolute;
    top: 8px;
    right: 14px;
    border: 0;
    background: transparent;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
}

.pwa-install-content {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}

.pwa-install-icon {
    width: 64px;
    height: 64px;
    border-radius: 14px;
    flex-shrink: 0;
}

.pwa-install-text {
    flex: 1;
}

.pwa-install-text h3 {
    margin: 0 0 6px;
    font-size: 20px;
}

.pwa-install-text p {
    margin: 0 0 12px;
}

.pwa-install-button {
    display: inline-block;
    border: 0;
    border-radius: 8px;
    padding: 10px 16px;
    font-weight: 600;
    cursor: pointer;
}

.pwa-ios-instructions {
    display: none;
}

@media (min-width: 768px) {
    .pwa-install-sheet {
        max-width: 460px;
        left: 50%;
        right: auto;
        transform: translate(-50%, calc(100% + 30px));
    }

        .pwa-install-sheet.show {
            transform: translate(-50%, 0);
        }
}

.order-toggle {
    cursor: pointer;
    position: relative;
    display: inline-block;
    padding-left: 30px;
}

.order-toggle .collapse-icon {
    position: absolute;
    left: 0;
    top: 4px;
    transition: transform 0.2s ease-in-out;
}

.order-toggle[aria-expanded="true"] .collapse-icon {
    transform: rotate(90deg);
}


#rewardsCarousel .carousel-control-prev,
#rewardsCarousel .carousel-control-next {
    opacity: 1;
}

#rewardsCarousel .carousel-control-prev-icon,
#rewardsCarousel .carousel-control-next-icon {
    width: 35px;
    height: 35px;
    border-radius: 50%;
    background-color: rgba(155, 155, 155, 0.45);
    background-size: 45%;
    transition: background-color 0.2s ease-in-out;
}

#rewardsCarousel .carousel-control-prev-icon:hover,
#rewardsCarousel .carousel-control-next-icon:hover {
    background-color: rgba(155, 155, 155, 0.7);
}

#rewardsCarousel {
    padding-bottom: 20px;
}

#rewardsCarousel .carousel-indicators {
    position: static;
    padding:5px 0;
    margin:0;
}

#rewardsCarousel .carousel-indicators button {
    width: 10px;
    height: 10px;
    border: 0;
    border-radius: 50%;
    background-color: #6c757d;
}

#rewardsCarousel .carousel-indicators .active {
    background-color: #c01e25;
}

#rewardsCarousel .carousel-control-next, #rewardsCarousel .carousel-control-prev{
    width:12%;
}

.text-uppercase {letter-spacing:inherit;}

a.bg-primary:focus, a.bg-primary:hover {
    background-color: #c01e25 !important;
}