:root {
    --bs-btn-close-bg: url("../images/close-custom.svg");
}

/* Reset some basic styles */
*{
    -webkit-user-select: none;  /* Chrome, Safari, Opera */
    -moz-user-select: none;     /* Firefox */
    -ms-user-select: none;      /* Internet Explorer/Edge */
    user-select: none;  
    cursor: pointer;
}

body, html {
    margin: 0;
    padding: 0;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background-color: #81ac1f;
    color: #333;
}

/* Top Bar */
.top-bar {
    background-color: #000;
    color: #fff;
    font-size: 20px;
    padding: 5px 0;
}
.top-bar .container {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    margin-top: 10px;
}
.top-bar i {
    margin-right: 5px;
}

/* Navbar */
.navbar {
    background-color: #81AB21;
    padding: 10px 20px;
}
.navbar .logo{
    display: flex;
    align-items: center;
    gap: 15px;
}
.navbar .logo .logo-text{
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.navbar .logo img {
    height: 50px;
}
.navbar .logo-text span:first-child {
    font-weight: bold;
    font-size: 20px;
    color: #fff;
}
.navbar .logo-text span:last-child {
    font-size: 14px;
    color: #fff;
}

/* Info Section */
.info-section {
    background-color: #000;
}
.info-grid {
    display: flex;
    justify-content: space-around;
    align-items: center;
}
.info-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: 14px;
    color: #ffffff;
    cursor: pointer;
}
.info-card i {
    font-size: 24px;
    color: #000000;
    margin-bottom: 5px;
    border: 1px solid #040504;
    padding: 5px 10px;
    border-radius: 5px;
}

.info-card span {
    padding: 2px 10px;
    border-radius: 20px;
    text-align: center;
    height: 50px;
}

/* Categories Section */
.categories-section {
    padding: 15px 0;
    margin-bottom: 40px;
}
.categories-section h2 {
    padding: 0 15px;
    text-align: center;
    display: none;
}
.categories-scroll {
    display: flex;
    overflow-x: auto;
    gap: 10px;
    padding: 10px 15px;
}
.category-card {
    min-width: 120px;
    text-align: center;
    background-color: #fff;
    border-radius: 8px;
    padding: 10px;
    cursor: pointer;
    transition: transform 0.2s;
}
.category-card:hover {
    transform: scale(1.05);
}
.category-card img {
    width: 100px;
    height: 100px;
    object-fit: cover;
    border-radius: 8px;
}
.category-card span {
    display: block;
    margin-top: 5px;
    font-weight: bold;
    font-size: 12px;
}

/* Products Section */
.products-section {
    padding: 15px;
    background-color: #81ac1f;
}
.products-section h2 {
   text-align: center;
   display: none;
}
.products-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 15px;
    margin-top: 10px;
}
.product-card {
    background-color: #fff;
    padding: 10px;
    border-radius: 10px;
    text-align: center;
    transition: transform 0.2s;
}
.product-card:hover {
    transform: scale(1.03);
}
.product-card img {
    width: 100%;
    height: 150px;
    object-fit: cover;
    border-radius: 8px;
}
.product-card h3 {
    margin: 10px 0 5px 0;
    color: #333;
}
.product-card .description {
    font-size: 14px;
    color: #666;
}
.product-card .price {
    font-weight: bold;
    color: #81AB21;
    margin: 5px 0;
    display: flex;
    justify-content: center;
    align-items: center; 
    gap: 5px; 
    font-size: 18px;
}
.product-card .price .currency-icon {
    width: 18px; 
    height: 18px;
}
.btn-primary {
    background-color: #81AB21;
    color: #fff;
    border: none;
    padding: 8px 15px;
    border-radius: 5px;
    cursor: pointer;
    transition: background 0.3s;
}
.btn-primary:hover {
    background-color: #6e981b;
}

/* Footer */
.footer {
    color: #000;
    text-align: center;
    padding: 10px 0;
    margin-top: 20px;
}

/* Scrollbar style for horizontal scroll */
.categories-scroll::-webkit-scrollbar {
    height: 6px;
}
.categories-scroll::-webkit-scrollbar-thumb {
    background-color: #81AB21;
    border-radius: 3px;
}

.categories-section {
    padding: 20px;
    background-color: #81ac1f;
    margin-bottom: 40px;
}

.categories-carousel-container {
    position: relative;
    display: flex;
    align-items: center;
}

.categories-carousel {
    display: flex;
    scroll-behavior: smooth;
    width: 100%;
    gap: 20px;
    padding: 20px 0;
}

.category-card {
    flex: 0 0 200px;
    transition: transform 0.3s;
    text-align: center;
}

.category-card img {
    width: 100%;
    border-radius: 10px;
    transition: transform 0.3s;
}

.category-card.active {
    transform: scale(1.2);
}

.carousel-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: #769d1d !important;
    color: #000 !important;
    border: none;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    font-size: 18px;
    cursor: pointer;
    z-index: 10;
}

.prev-btn {
    left: 0px;
}

.next-btn {
    right: 0px;
}

.carousel-indicators {
    display: flex;
    justify-content: center;
    gap: 5px;
    margin-top: 5px;
}

.carousel-indicators span {
    display: block;
    width: 10px;
    height: 10px;
    background-color: #81AB21;
    border-radius: 50%;
    cursor: pointer;
}

.carousel-indicators span.active {
    background-color: #000 !important;
}

.categories-carousel-container {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 20px;
}

.categories-carousel {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    width: 600px;
    height: 200px;
    position: relative;
}

.category-card {
    width: 120px;
    text-align: center;
    transition: transform 0.3s, opacity 0.3s;
    position: absolute;
    left: 50%;
    transform: translateX(-50%) scale(0.7);
    opacity: 0.5;
    background-color: #81ac20;
}

.category-card.active {
    transform: translateX(-50%) scale(1.5);
    opacity: 1;
    z-index: 2;
}

.category-card.prev {
    transform: translateX(-150%) scale(0.5);
    opacity: 0.5;
    z-index: 1;
}

.category-card.next {
    transform: translateX(50%) scale(0.5);
    opacity: 0.5;
    z-index: 1;
}

.carousel-btn {
    background-color: #81AB21;
    color: #fff;
    border: none;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    font-size: 18px;
    cursor: pointer;
    z-index: 3;
}

.prev-btn { margin-right: 10px; }
.next-btn { margin-left: 10px; }

.carousel-indicators {
    display: flex;
    justify-content: center;
    gap: 5px;
    bottom:auto !important;
}

.carousel-indicators span {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #779f1d;
    cursor: pointer;
}

.carousel-indicators span.active {
    background-color: #000;
}

/*..................*/


.product-card-horizontal {
    display: grid;
    grid-template-columns: 6fr 1fr 1fr; 
    align-items: center;
    border-radius: 15px;
    padding: 10px 15px;
    margin-bottom: 15px;
    box-shadow: 0 15px 100px rgb(0 0 0 / 10%);
    transition: transform 0.3s, box-shadow 0.3s;
    border: 1px solid #6d911a;
    gap: 15px; /* المسافة بين الأعمدة */
}

.product-card-horizontal:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0,0,0,0.15);
}

.product-img {
    flex: 0 0 auto; /* لا تتوسع */
    margin-right: 15px; /* مسافة بين الصورة وبقية المحتوى */
    display: flex;
    justify-content: flex-end; /* محاذاة الأفقية إلى اليسار */
    align-items: flex-start;    /* محاذاة عمودية إلى الأعلى إذا هناك عناصر متعددة */
}
.product-img img {
    width: 100px;
    height: 100px;
    object-fit: cover;
    border-radius: 10px;
}

.product-name {
    flex: 1; /* يشغل الفراغ المتبقي */
}
.product-name h3 {
    font-size: 18px;
    font-weight: bold;
    color: #333;
    margin: 0;
}

.product-actions {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
}

.product-actions .price {
    font-weight: bold;
    font-size: 24px;
    display: flex;
    align-items: center;
    gap: 5px;
}

.product-actions .currency-icon {
    width: 18px;
    height: 18px;
}

.product-actions .btn-primary {
    padding: 6px 12px;
    font-size: 14px;
}

/* على الشاشات الصغيرة */
@media (max-width: 576px) {
    .product-card-horizontal {
        display: flex;
        flex-direction: column;
        gap: 10px;
        align-items: center;
        justify-content: center;
    }

    .product-card-horizontal .product-actions {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }
}

.info-card {
    cursor: pointer;
    transition: transform .2s, box-shadow .2s;
}

.info-card:hover>* {
    transform: translateY(-4px);
    /*box-shadow: 0 8px 20px rgba(0,0,0,.15);*/
}

.btn-close{
    background-color: #81ac1f;
    color: #fff;
    border: none;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    font-size: 18px;
    cursor: pointer;
    opacity: 1;
}

.modal-header{
    text-align: center;
    color: #81ac1f;
    font-weight: bold;
    background-color: #000;
}


.modal-body{
    background-color: #6e981b;
}


.top-bar {
    background-color: #81AB21;
    color: #fff;
    font-size: 18px;
    padding: 6px 0;
}

.top-bar-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* القسم الأيمن */
.top-social,
.top-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

.top-social span,
.top-actions a {
    cursor: pointer;
}

/* روابط تسجيل الدخول والسلة */
.top-actions a {
    color: #fff;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 5px;
}

/* أيقونة السلة */
.cart {
    position: relative;
}

.cart-count {
    text-align: center;
    height: 20px;
    width: 20px;
    position: absolute;
    top: -5px;
    right: -10px;
    background: #000;
    color: #779f1d;
    font-size: 11px;
    padding: 2px 5px;
    border-radius: 50%;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

/* Hover */
.top-social span:hover,
.top-actions a:hover {
    opacity: 0.8;
}

/*@media (max-width: 576px) {
    .top-bar-inner {
        flex-direction: column;
        gap: 6px;
    }
}*/


/* ===== Scrollbar (WebKit Browsers) ===== */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 10px;
}

::-webkit-scrollbar-thumb {
    background: #000;
    border-radius: 10px;
    transition: background 0.3s;
}

::-webkit-scrollbar-thumb:hover {
    background: #56760a;
}

/* جميع مجموعات النجوم */
.star-place,
.star-service,
.star-reception,
.star-speed,
.star-staff {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
}

/* إخفاء radio */
.star-place input,
.star-service input,
.star-reception input,
.star-speed input,
.star-staff input {
    display: none;
}

/* شكل النجمة */
.star-place label,
.star-service label,
.star-reception label,
.star-speed label,
.star-staff label {
    font-size: 24px;
    color: #769d1d; /* رمادي */
    cursor: pointer;
    transition: color 0.2s ease-in-out;
}

/* عند المرور */
.star-place label:hover,
.star-place label:hover ~ label,
.star-service label:hover,
.star-service label:hover ~ label,
.star-reception label:hover,
.star-reception label:hover ~ label,
.star-speed label:hover,
.star-speed label:hover ~ label,
.star-staff label:hover,
.star-staff label:hover ~ label {
    color: #000000; /* ذهبي */
}

/* عند الاختيار */
.star-place input:checked ~ label,
.star-service input:checked ~ label,
.star-reception input:checked ~ label,
.star-speed input:checked ~ label,
.star-staff input:checked ~ label {
    color: #000000;
}

/* تنسيق الصف */
.place-group,
.service-group,
.reception-group,
.speed-group,
.staff-group {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

/**/
.location-list,
.social-list{
    width: 100% !important;
}
.location-list .list-group-item,
.social-list .list-group-item {
    border: 0;
    border-radius: 12px;
    margin-bottom: 10px;
    padding: 14px 16px;
    background: #82b125;
    transition: all 0.25s ease;
    color: #fff !important;
}

.location-list .list-group-item:hover,
.social-list .list-group-item:hover {
    background: #759f16;
    transform: translateY(-2px);
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    color: #000 !important;
}

.location-list img,
.social-list img {
    border-radius: 50%;
    width: 60px;
    height: 60px;
}


#allergyModal  .info-card{
    border: 0;
    border-radius: 12px;
    margin-bottom: 10px;
    padding: 14px 16px;
    background: #82b125;
    transition: all 0.25s ease;
    color: #fff !important;
}
#allergyModal .info-img{
    width: 100px;
}


#giftsModal .card{
    background-color: #6e981b !important;
}

.progress, .progress-stacked {
    --bs-progress-bg: #6e981b; 
}

.product-card-horizontal {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
}

#cartModal .form-control,
#ratingModal .form-control,
#cartModal .form-select,
#ratingModal .form-select{
    background-color: #769d1d !important;
    border: 1px solid #769d1d !important;
    color: #000 !important;
}

#cartModal .cart-item-img{
    width: 80px;
}

#cartModal .currency-icon{
    width: 20px;
}

.modal{
    background-color: #81ac1f !important;
}

.modal-body {
    background-color: #81ac1f !important;
}

.modal-footer {
    background-color: #81ac1f !important;
    border-color: #769d1d;
}

.modal-content{
    background-color: #81ac1f !important;
}

.modal-footer-{
    /*background-color: #000 !important;*/
}



/* Container */
.cart-items {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* Item Row */
.cart-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    background: #81ac1f;
    border: 1px solid #81ac1f;
    border-radius: 8px;
}

/* Image */
.cart-item-img {
    width: 60px;
    height: 60px;
    object-fit: contain;
    background: #81ac1f;
    border-radius: 6px;
    flex-shrink: 0;
}

/* Info (name + price horizontally stacked) */
.item-info {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.item-title {
    margin: 0;
    font-size: 15px;
    font-weight: bold;
}

.price {
    margin: 0;
    font-size: 14px;
}

/* Remove button */
.cart-remove {
    flex-shrink: 0;
    font-size : 20px;
}

/* Total */
.cart-total {
    display: flex;
    justify-content: space-between;
}

.cart-item {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 12px 0;
}

.cart-item-img {
    width: 70px;
    height: 70px;
    object-fit: cover;
    border-radius: 10px;
}

.item-info {
    flex: 1;
}

.quantity-control {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 8px;
}

.qty-btn {
    width: 42px;
    height: 42px;
    border: none;
    border-radius: 10px;
    font-size: 22px;
    font-weight: bold;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.qty-btn.plus {
    background-color: #769d1d ; /* أخضر */
    color: #fff;
}

.qty-btn.minus {
    background-color: #769d1d ; /* أحمر */
    color: #fff;
}

.qty-btn:hover {
    opacity: 0.85;
}

.qty-number {
    min-width: 30px;
    text-align: center;
    font-size: 18px;
    font-weight: 600;
}


#locationModal a{
    color: #000 !important;
}

#giftsModal .card-body{
    border: 0;
    border-radius: 12px;
    margin-bottom: 10px;
}


#giftsCups img{
    width: 150px;
}


@media (max-width: 1020px) {
    #giftsCups img{
        width: 80px;
    }
}

@media (max-width: 768px) {
    .product-card-horizontal {
        flex-direction: column;
        text-align: center;
    }

    /* الصورة أولا */
    .product-img {
        order: 1;
        width: 100%;
    }

    .product-img img {
        width: 100%;
        height: 180px;
        object-fit: contain;
    }

    /* العنوان */
    .product-name {
        order: 2;
        margin-top: 8px;
    }

    /* السعر + الزر */
    .product-actions {
        order: 3;
        display: flex;
        flex-direction: column;
        gap: 8px;
        width: 100%;
    }

    .product-actions .price {
        font-size: 18px;
        font-weight: bold;
    }

    .product-actions button {
        width: 100%;
    }

    .info-card{
        font-size: 0.65rem;
    }

    .info-card i{
        font-size: 18px;
    }

    #giftsCups img{
        width: 60px;
    }
    #allergyModal .info-card{
        padding: 5px 5px;
    }
    #allergyModal .info-img{
        width: 50px;
    }
    .info-title{
        font-size: 13px;
    }

    #giftsModal .gift-info {
        margin-top: 30px;
        flex-direction: column;
        align-items: center;
        gap: 10px;
    }

    .footer{
        font-size: 12px;
    }
    
    
}




#allergyModal .info-desc,
#allergyModal .info-title{
	color:#000;
}