﻿
.product-modal {
    text-align: left;
    background-color: #fefefe;
    margin: auto auto;
    padding: 20px;
    border: 1px solid #888;
    border-radius: 8px;
    width: 72vw;
    position: absolute;
    top: 5%;
    left: 50%;
    min-width: 250px;
    max-width: 70vw;
    transform: translate(-50%, 0%);
}

.cart-modal {
    text-align: left;
    background-color: #fefefe;
    margin: auto auto;
    padding: 20px;
    border: 1px solid #888;
    border-radius: 8px;
    width: 60vw;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

@media (min-width: 320px) {
    #product-modal-content {
        min-height: 200px;
    }

    .cart-modal {
        width: 40vw;
    }

    .close {
        transform: scale(1.5);
        opacity: 1;
    }

    .product-modal {
        top: 0%;
        width: 100vw !important;
    }
}

@media (min-width: 600px) {
    #product-modal-content {
        min-height: 200px;
    }

    .cart-modal {
        width: 40vw;
    }

    .product-modal {
        width: 70vw !important;
    }
}

@media (min-width: 992px) {
    #product-modal-content {
        min-height: 300px;
    }

    .product-modal {
        top: 50%;
        transform: translate(-50%, -50%);
    }
}

@media (min-width: 1200px) {
    #product-modal-content {
        min-height: 400px;
    }
}


.close {
    font-size: xx-large;
    text-align: right;
    position: absolute;
    top: 10px;
    z-index: 100;
}

    .close a {
        cursor: pointer;
        padding: 0 20px;
        text-decoration: none;
    }

.sticky-close {
    position: sticky;
    top: 0;
    display: flex;
    position: -webkit-sticky;
    z-index: 999;
    justify-content: end;
}

.product-option {
}

input[type="radio"].product-form-radio, input[type="checkbox"].product-form-radio {
    display: none;
}

.carousel-control {
    font-size: xx-large;
    position: absolute;
    top: 50%;
    opacity: 1;
    height: 100%;
    transform: translate(0%, -50%);
    display: flex;
    align-items: center;
    justify-content: center;
}

.selected {
    border: 1px solid red;
}

.placeholder {
    width: 100%;
    height: 100%;
    background: gray;
    min-height: 20px;
}

.cart-content {
    max-height: calc(60vh);
    overflow-x: hidden;
    overflow-y: auto;
    padding-inline-start: 0em;
}

.cart-button {
    padding-right: 20px !important;
}

    .cart-button:hover {
        color: #ef5360;
    }

.cart-update {
    position: absolute;
    border: 1px solid;
    border-radius: 50%;
    font-size: 8px;
    padding: 0px;
    background: #EF5360;
    color: white;
    width: 12px;
    height: 12px;
    transform: translate(-80%,-50%);
}

.btn.btn-primary {
    text-transform: uppercase;
}

/* start pagination */
.fa-angle-left, .fa-angle-right {
    font-weight: 600;
}

.hide {
    display: none;
}
/* end pagination */

.skeleton {
    opacity: .7;
    animation: skeleton-loading 1s linear infinite alternate;
}

.skeleton-img {
    border: 0;
}

.skeleton-text {
    width: 100%;
/*    @*height: .5rem;
    margin-bottom: .25rem;
    border-radius: .125rem;
    *@*/
}

@keyframes skeleton-loading {
    0% {
        background-color: hsl(200,20%,70%);
    }

    100% {
        background-color: hsl(200,20%,95%);
    }
}

.modal-header {
    background-color:transparent !important;
}
.modal-title{
    font-weight:bold;
}
#add-product-modal .modal-content {
    border: none;
}

#add-product-modal .modal-header,
#add-product-modal .modal-footer {
    border: none !important;
}

#add-product-modal .modal-body {
    border: none;
}
.hidden {
    display: none;
}

/* =========================
   PRODUCT GRID SAFETY
   ========================= */

.product-grid > [class*="col-"] {
    display: flex;
}

.product-card {
    width: 100%;
    display: flex;
    flex-direction: column;
}

/* Prevent image stretching / overflow */
.product-img-wrapper {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1; /* square cards */
    overflow: hidden;
}

.product-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Card body layout safety */
.product-card .card-body {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
}

/* Text collision protection */
.product-item-name {
    display: -webkit-box;
    -webkit-line-clamp: 2; /* max 2 lines */
    -webkit-box-orient: vertical;
    min-height: 1em;
}

/* Price block spacing */
.product-item-price {
    margin-top: auto;
}

/* Sold out badge safety */
.sold-out {
    position: absolute;
    inset: 0;
    z-index: 2;
}
/* Mobile menubar */
.mobile-menubar {
    background: #fff;
    position: sticky;
    bottom: 0;
    z-index: 998;
    display: flex;
    align-items: center;
    gap: 8px;
}

    /* Dropdown button */
    .mobile-menubar .btn-light {
        background-color: #f8f9fa;
        border: 1px solid #e0e0e0;
        border-radius: 8px;
        height: 44px;
    }

    /* Cart button */
    .mobile-menubar .cart-button {
        height: 44px;
        white-space: nowrap;
    }

    /* Dropdown items */
    .mobile-menubar .dropdown-menu {
        max-height: 60vh;
        overflow-y: auto;
    }
.navbar-right .cart-button {
    white-space: nowrap;
}
#event-navbar-container {
    flex-wrap: nowrap;
}

.navbar-left {
    overflow: hidden;
}
@media (max-width: 991.98px) {
    .navbar-right .cart-button span:not(.cart-update) {
        display: none;
    }
}
.navbar-right .cart-button {
    padding: 6px 10px;
}
.search-wrapper {
    position: relative;
    width: 511px; /* keep your original width */
}

.search-icon {
    position: absolute;
    left: 15px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 20px;
    color: #999;
}


.search-input {
    width: 100%;
    height: 46px;
    background: #FFFFFF;
    border-radius: 8px !important;
    border: none;
    padding-left: 45px; /* space for icon */
    padding-right: 110px; /* space for button */
}

.search-btn {
    position: absolute;
    top: 50%;
    right: 6px;
    transform: translateY(-50%);
    height: 38px !important;
    width: 94px !important;
    background: #EF5360;
    border-radius: 6px !important;
    border: none;
    color: #fff;
}

.filter_collection {
    margin: 0 1rem;
    text-align: center;
}
.mdi-24px.mdi-set, .mdi-24px.mdi:before {
    font-size: 16px !important;
}
@media (max-width: 599.98px) {
    .product-modal {
        width: 100vw !important;
        max-width: 100vw !important;
        height: 100vh !important;
        top: 0 !important;
        left: 0 !important;
        transform: none !important; 
        border-radius: 0 !important;
        border: none !important;
        margin: 0 !important;
    }

    #product-modal-content {
        height: 100%;
        overflow-y: auto;
    }
}