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 {
  height: 100%;
}

body {
  min-height: 100%;
}
/* Màu chủ đạo CafeChain */
:root {
    --main-orange: #d35400; /* Màu cam đậm của CafeChain */
    --light-bg: #f9f9f9;
    /* Thêm màu Footer */
    --footer-bg: #212529; /* Màu tối chuẩn Bootstrap hoặc bạn có thể thay bằng nâu đậm #2b1810 */
}

body {
    background-color: var(--light-bg);
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

.text-orange {
    color: var(--main-orange) !important;
}

.bg-orange {
    background-color: var(--main-orange) !important;
}

.btn-orange {
    background-color: var(--main-orange);
    color: white;
    border: none;
    transition: 0.2s;
}

    .btn-orange:hover {
        background-color: #ba4a00;
        color: white;
    }

.btn-outline-orange {
    border: 1px solid var(--main-orange);
    color: var(--main-orange);
    background: transparent;
}

    .btn-outline-orange:hover {
        background-color: var(--main-orange);
        color: white;
    }

.search-box input {
    background-color: #f1f1f1;
    font-size: 0.9rem;
}

    .search-box input:focus {
        background-color: #fff;
        box-shadow: 0 0 0 0.2rem rgba(211, 84, 0, 0.25);
        border-color: var(--main-orange);
    }

/* Card Sản phẩm */
.product-card {
    transition: all 0.3s ease;
    border-radius: 16px;
    background: #fff;
}

    .product-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 10px 20px rgba(0,0,0,0.08) !important;
    }

    .product-card .card-img-top {
        aspect-ratio: 1/1;
        object-fit: cover;
        border-radius: 16px;
    }

/* Hero Banner */
.hero-banner {
    background: url('/images/Upload/banner-home.jpg') center center/cover no-repeat; /* Bạn có thể thay đường dẫn ảnh banner thực tế */
    border-radius: 20px;
    position: relative;
    overflow: hidden;
}

.hero-overlay {
    background: rgba(0, 0, 0, 0.5);
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

/* Thêm CSS cho Slider Nút điều hướng */
.product-slider-container {
    position: relative;
    padding: 0 40px; /* Tạo không gian cho nút bấm */
}

.product-slider {
    display: flex;
    flex-wrap: nowrap; /* BẮT BUỘC: Để 6 món dàn hàng ngang, không cho xuống dòng */
    overflow-x: hidden; /* Ẩn thanh cuộn xấu xí đi */
    gap: 1.5rem; /* Khoảng cách giữa các món */
    scroll-behavior: smooth; /* Cuộn mượt mà */
}

    /* Ẩn thanh cuộn (scrollbar) để giao diện sạch hơn */
    .product-slider::-webkit-scrollbar {
        display: none;
    }

.product-slider {
    -ms-overflow-style: none; /* IE and Edge */
    scrollbar-width: none; /* Firefox */
}

/* Định dạng nút Slider */
.slider-btn {
    width: 40px;
    height: 40px;
    border-radius: 50% !important;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    background-color: var(--main-orange);
    color: white;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    transition: 0.2s;
    opacity: 0.7; /* Hơi mờ khi bình thường */
}

    .slider-btn:hover {
        background-color: #ba4a00;
        opacity: 1; /* Sáng lên khi hover */
    }

    .slider-btn.prev {
        left: 0;
    }

    .slider-btn.next {
        right: 0;
    }

/* CSS cho item trong slider */
.slider-item {
    flex: 0 0 auto; /* Không cho item co giãn */
    width: calc(25% - 1.15rem); /* Mặc định hiện 4 item trên PC */
}

/* Responsive cho slider */
@media (max-width: 992px) {
    .slider-item {
        width: calc(33.333% - 1rem);
    }
    /* 3 item */
}

@media (max-width: 768px) {
    .slider-item {
        width: calc(50% - 0.75rem);
    }
    /* 2 item */
}

/* --- CUSTOM DUAL RANGE SLIDER --- */
.range-slider-wrapper {
    position: relative;
    width: 100%;
    height: 30px;
    margin-top: 10px;
}

.range-slider-track {
    position: absolute;
    width: 100%;
    height: 5px;
    background-color: #e9ecef; /* Màu nền xám */
    border-radius: 3px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
}

.range-slider-fill {
    position: absolute;
    height: 5px;
    background-color: var(--main-orange); /* Màu cam báo phần được chọn */
    border-radius: 3px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
}

.range-slider-wrapper input[type="range"] {
    position: absolute;
    width: 100%;
    -webkit-appearance: none;
    appearance: none;
    background: transparent;
    pointer-events: none; /* Khóa sự kiện chuột trên thanh */
    top: 50%;
    transform: translateY(-50%);
    z-index: 3;
    margin: 0;
}

    /* Cho phép bắt sự kiện chuột trên cục kéo (thumb) */
    .range-slider-wrapper input[type="range"]::-webkit-slider-thumb {
        -webkit-appearance: none;
        pointer-events: auto;
        width: 18px;
        height: 18px;
        border-radius: 50%;
        background: var(--main-orange);
        cursor: pointer;
        box-shadow: 0 0 5px rgba(0,0,0,0.2);
    }

    .range-slider-wrapper input[type="range"]::-moz-range-thumb {
        pointer-events: auto;
        width: 18px;
        height: 18px;
        border-radius: 50%;
        background: var(--main-orange);
        cursor: pointer;
        border: none;
        box-shadow: 0 0 5px rgba(0,0,0,0.2);
    }

/* Icon cái lon nước ngọt tùy chỉnh */
.bi-soda-can {
    display: inline-block;
    width: 1em;
    height: 1em;
    background-color: currentColor;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6,6V19A3,3 0 0,0 9,22H15A3,3 0 0,0 18,19V6A3,3 0 0,0 15,3H9A3,3 0 0,0 6,6M15,5H9V4H15V5M16,8H8V6H16V8M8,10H16V19A1,1 0 0,1 15,20H9A1,1 0 0,1 8,19V10Z' /%3E%3C/svg%3E") no-repeat center;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6,6V19A3,3 0 0,0 9,22H15A3,3 0 0,0 18,19V6A3,3 0 0,0 15,3H9A3,3 0 0,0 6,6M15,5H9V4H15V5M16,8H8V6H16V8M8,10H16V19A1,1 0 0,1 15,20H9A1,1 0 0,1 8,19V10Z' /%3E%3C/svg%3E") no-repeat center;
    mask-size: contain;
    -webkit-mask-size: contain;
    vertical-align: -0.125em;
}