:root {
    --primary-colour: #e7d4ef;
    --secondary-colour: #191919;
    --background-colour: #d1b3d0;
  }

.primary-colour {
    background-color: var(--primary-colour);
}
.section-blank {
    background-color: var(--primary-colour);
    height: 65vh;
}

.bg-image {
    background-color: #c6e0f5;
}
.bg-text {
    background-color: var(--primary-colour);
}
.logo-text{
    font-family: "Montserrat", sans-serif;
    text-transform: lowercase;
    font-weight: 400;
    font-size: 3vh;
    color: var(--secondary-colour);
    background-color: var(--primary-colour);

}
.desktop-nav{
    font-family: "Montserrat", sans-serif;
    text-transform: lowercase;
    font-weight: 300;
    font-size: 1.8vh;
    text-decoration: none;
    background-color: var(--primary-colour);

}
.no-underline {
    text-decoration: none;
    color: var(--secondary-colour);
}
.light-blue {
    background-color: var(--primary-colour);
}
html, body {
    margin: 0;
    padding: 0;
    padding-right: 0 !important;
    background-color: var(--primary-colour);
    text-transform: lowercase;
    font-family: "Montserrat", sans-serif;
    font-weight: 350;

}

@keyframes blinkCursor {
    0% { opacity: 1; }
    50% { opacity: 0; }
    100% { opacity: 1; }
}
.cursor {
    animation: blinkCursor 0.75s infinite;
    font-weight: 300;
}

#typed-text {
    display: flex;
    white-space: nowrap;
    overflow: hidden;
    position: relative;
    width: 250px;
    line-height: 1;
}

@media (max-width: 992px){
    .typed-text-base {
        width: 120px !important;
    }
}

#typed-text::after {
    content: '';
    position: absolute;
    right: 0;
    animation: blinkCursor 0.75s steps(1) infinite;
    opacity: 0;
}

/*Search Bar*/
.search-container {
    display: flex;
    align-items: center;
}

.search-input-desktop {
    width: 0;
    padding: 0;
    visibility: hidden;
    font-size: 1.5vh;
    opacity: 0;
    transition: all 0.5s ease;
    border: 1px solid #ccc;
}

.search-container:hover .search-input-desktop,
.search-container:focus-within .search-input-desktop {
    width: 200px;
    padding: 1px;
    padding-left: 5px;
    visibility: visible;
    opacity: 1;
}

.search-icon {
    margin-right: 0px;
    cursor: pointer;
}

.modal-open {
    padding-right: 0px !important;
}
html {
    overflow-y: scroll !important;
  }
.icon:hover {
    color: #3a5f7d;
    cursor: pointer;
}

.section-blank img {
    position: fixed;
    bottom: -20vh;
    right: -20vh;
    z-index: 1;
    height: 100vh;
    width: auto;
    max-width: none;
    overflow: hidden;
}

@media (max-width: 821px) {
    .section-blank img {
        right: -40vh;
    }
    .logo-container .logo{

        transform: translateX(-50%);
        height: 6vh !important;
        width: auto;
    }
}

@media (max-width: 1200px) {
    .logo-container .logo{

        transform: translateX(-50%);
        height: 6vh !important;
        width: auto;
    }
}
@media (max-width: 576px) {
    .logo-container .logo{

        transform: translateX(0%);
        height: 6vh !important;
        width: auto;
    }
    .logo-text{
        transform: translateY(+25%) !important;
    }
}

.body-text{
    font-family: "Montserrat", sans-serif;
    text-transform: lowercase;
    font-weight: 400;
    font-size: 2.5vh;
    color: var(--secondary-colour);
    background-color: var(--primary-colour);

}
.body-sub-text{
    font-family: "Montserrat", sans-serif;
    text-transform: lowercase;
    font-weight: 350;
    font-size: 1.8vh;
    color: var(--secondary-colour);
    background-color: var(--primary-colour);

}
.btn-shop {
    --bs-btn-bg:  var(--secondary-colour);
    --bs-btn-color: white;
    --bs-btn-hover-bg: #3a5f7d;
    --bs-btn-hover-color: white;
    --bs-btn-active-bg:#3a5f7d;
    --bs-btn-active-color: white;
    font-family: "Montserrat", sans-serif;
    font-weight: 350;
}
/* Mobile Navbar */
  .mobile-nav {
    position: absolute;
    top: 1.1rem;
    right: -10px;
    z-index: 1050;
  }
  .mobile-nav i{
    color: black;
  }


  .mobile-nav .container-fluid {
    justify-content: flex-end;
  }
  .navbar-toggler {
    outline: none !important;
    box-shadow: none !important;
    border: none;
}
.offcanvas {
    width: 100% !important;
}

/* Footer */
.site-footer {
    background-color: #f8f9fa;
    padding: 20px 0;
    text-align: center;
}

.footer-links a {
    margin: 0 10px;
    color: #007bff;
    text-decoration: none;
}

.payment-methods p {
    margin-bottom: 10px;
    color: #6c757d;
}

.payment-methods i {
    font-size: 24px;
    margin: 0 5px;
    color: #333;
}




/* Categories Section */
.categories-section{
    background-color: var(--background-colour);
    z-index:2;
    position: relative;
}
.categories-section-container {
    padding: 2vw;
}
.categories-section-container img{
    min-width: 200px;
    min-height: auto;
    height: auto;
    object-fit: cover;
}
@media screen and (max-width: 768px){
    .categories-section-container img{
        min-width: 400px;
        padding: 10px !important;
    }
    .cat-text-area{
        justify-content: center !important;
        text-align: center !important;
        padding-bottom: 20px !important;

    }
    .categories-text{
        padding: 0 !important;
        padding-bottom: 15px;
    }

}
.col-style-1 {
    background-color: var(--primary-colour);
}
.col-style-1 img{
    padding: 50px;
}
.col-style-2 {
    background-color: white;
}
.col-style-2 img{
    padding: 50px;
}
.categories-text{
    padding-left: 50px;
    margin-top: 10px;
    padding-top: 20px;
}
#section-container {
    position: relative;
    min-height: 200px;
  }

  #plus-button-container {
    position: absolute;
    top: 0;
    right: 0;
    padding: 10px;
  }

  #plus-button-container button {
    cursor: pointer;
  }


  /*Cart*/
  @keyframes bump {
    0% { transform: scale(1); }
    50% { transform: scale(1.1); }
    100% { transform: scale(1); }
}

.cart-bump {
    animation: bump 0.3s ease-out;
}
.nav-link {
    position: relative;
}

#cartCount, #CartCountMobile {
    position: absolute;
    top: 19px;
    right: 15px;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background-color: var(--secondary-colour)  !important;
    color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 10px;
    padding: 0;
    font-family: "Montserrat", sans-serif;
    text-transform: lowercase;
    font-weight: 400;
}
/* Main container for the cart dropdown */
.custom-dropdown {
    width: 350px;
    background-color: #ddddddb6;
    border: none;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    padding: 20px;
    font-family: "Montserrat", sans-serif;
    text-transform: lowercase;
    font-weight: 400;

}
#cartItemsDropdown .btn{
    color: white;
    background-color: var(--secondary-colour);
    outline: black;
    border: black;
}
.cart-checkout-button :hover{
    background-color: white !important;
}

.cart-total{
    --bs-dropdown-link-active-bg: white;
    --bs-dropdown-link-active-color: black;
    background-color: white !important;

}

.cart-item {
    --bs-dropdown-link-active-bg: white;
    --bs-dropdown-link-active-color: black;

}

/* Header of the dropdown */
.custom-dropdown:before {
    content: "";
    display: block;
    font-size: 1.2em;
    font-weight: bold;
    margin-bottom: 15px;
}

/* Style each cart item */
.custom-dropdown-item {
    background-color: #fff;
    border-radius: 5px;
    padding: 10px;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
}

/* Image of the product */
.custom-dropdown-item img {
    width: 50px;
    height: 50px;
    border-radius: 5px;
    margin-right: 10px;
}

/* Details of the product */
.custom-dropdown-item .item-details {
    flex-grow: 1;
    padding-left: 10px;
}

/* Product name and description */
.custom-dropdown-item .item-name,
.custom-dropdown-item .item-description {
    margin: 0;
    padding: 0;
}

/* Product price */
.custom-dropdown-item .item-price {
    font-weight: bold;
    color: #333;
}

/* Close and wishlist icons */
.custom-dropdown-item .action-icons {
    margin-left: auto;
    display: flex;
    align-items: center;
}

.action-icons .close,
.action-icons .wishlist {
    cursor: pointer;
    margin-left: 10px;
}

/* Quantity adjuster styles */
.quantity-adjuster {
    display: flex;
    align-items: center;
    margin-right: 10px;
}

.quantity-adjuster button {
    background: none;
    border: 1px solid #ccc;
    padding: 5px;
    cursor: pointer;
}

.quantity-adjuster input[type="number"] {
    width: 40px;
    text-align: center;
    margin: 0 5px;
    border: none;
    background-color: #e9ecef;
    border-radius: 5px;
}

/*NAVBAR Dropdown menu*/
.full-width-dropdown {
    inset: 10px auto auto 0px !important;
    --bs-dropdown-link-color: white;
    border-radius: 0px;
    background-color: var(--secondary-colour);
    width: 100vw;
    position: absolute !important;
    left: 0 !important;
}


/* images in Dropdown*/
.blur-image-container {
    position: relative;
    text-align: center;
    color: white;
}

.blur-image-container img {
    width: 80%;
    height: auto;
    min-width: 160px;
  }

.centered-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 1.8vh;
    color: white;
    padding: 10px;
  }
.centered-text::before {
    content: "";
    position: absolute;
    top: -5px;
    left: -5px;
    right: -5px;
    bottom: -5px;
    backdrop-filter: blur(10px);
    z-index: -1;
}
.dropdown-item{
    padding-top: 10px;
    padding-bottom: 10px;
}
.categories-column {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
  }


/*Country List Dropdown*/
.country-list-dropdown {
    position: relative;
    width: 100%;
    max-height: 200px;
    overflow-y: auto;
    border: 1px solid #ccc;
    border-radius: 5px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
    cursor: pointer;
    color: white;
}

.dropdown-option {
    display: flex;
    align-items: center;
    padding: 8px 10px;
    border-bottom: 1px solid #eee;
    background-color: var(--secondary-colour);
    transition: background-color 0.2s;
}

.dropdown-option:last-child {
    border-bottom: none;
}

.dropdown-option:hover {
    background-color: #f1f1f1;
    color: black;
}

.flag-icon {
    width: 30px;
    margin-right: 10px;
}

.dropdown-option:not(:last-child) {
    border-bottom: 1px solid #ccc;
}
.selected {
    background-color: #007bff;
    color: white;
}
#countryModalLabel {
    color: white;
}
/*Country List Dropdown End*/


/* Login Dropdown */
.loginDropdown ul{
    background-color: white;

}
.loginDropdownMenu {
    border-radius: 0.4rem;
    padding-top: 0px;
}
.loginDropdownItem {
    font-size: 0.9rem;
}
.loginDropdownItem:active{
    background-color: var(--background-colour);
    color: #191919;
}
.loginDropdownItem i {
    margin-right: 8px;
}

.bottom-border{
    border-bottom: 0.8px solid rgb(187, 139, 187);
}
.loginDropdownMenu > li:first-child {
    border-radius: 0.4rem 0.4rem 0 0;
    padding-top: 12px;
    padding-bottom: 10px;
    border-bottom: 0.8px solid #ffffff8f;
    background-color: #d19fd0;
    color: black;
    font-weight: 400;
}

/*Login dropdown end */

.category-text {
    font-size:.9rem;
    max-width: 20vw;
    margin-bottom: 20px;
}
@media (max-width: 768px){
    .category-text {
        max-width: 100%;
    }
}


/*Search box results */
#searchResults {
    top: 30px;
    position: absolute;
    background: white;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    z-index: 1000;
    max-height: 300px;
    overflow-y: auto;
    border: 1px solid #ccc;
    border-top: none;
}

.product-item {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
    padding: 10px;
    border-bottom: 1px solid #eee;
    overflow: hidden;
}

.product-item img {
    flex-shrink: 0;
    margin-right: 10px;
    width: 50px;
    height: auto;
    border-radius: 5px;
}

.product-item a {
    text-decoration: none;
    color: var(--secondary-colour);
    flex-grow: 1;
    display: flex;
    align-items: center;
    overflow: hidden;
}

.product-item p {
    overflow: hidden;
    text-overflow: ellipsis;
    flex-grow: 1;
}
.search-container-mobile{
    width: 100%;
}
.no-scroll {
    overflow: hidden !important;
    position: fixed !important;
    width: 100% !important;
}



.search-container-mobile{
    position: relative;
}
#searchResultsBase{
    position: absolute;
    z-index: 1050;
    overflow-y: auto;
    background-color: white;
    max-height: 40vh;
}
@media (max-width: 992px) {
    #searchResultsBase{
        max-width: 200px;
    }
}



.no-wrap{
    white-space: nowrap;
}
.nav-search{
    align-content: center;
}
.nav-search input{
    align-content: center;
    height: 1.5em;
}

.cart-base-mobile{
    top: 20px;
}




.mobile-nav-sidepannel{
    background-color: var(--primary-colour);
    margin-top: 20px;
}
.mobile-nav-sidepannel-index{
    background-color: var(--background-colour);
    margin-top: 20px;
}
.nav-dropdownmenu-mobile{
    background-color: var(--background-colour);
    border: none;
}
.nav-dropdownmenu-mobile-index{
    background-color: var(--primary-colour);
    border: none;

}
.cart-container-index-mobile{
    margin-right: 20px;
}
@media (max-width: 768px) {
    .cart-count-mobile-base {
        top: 11px !important;
        right: 9px !important;
    }
}

@media (max-width: 992px){
.search-input-base {
        width: 100px;
    }
}

.cartIconContainerBase{
    margin-right: 15px;
}


/**Zoom effect fro categories**/
.blur-image-container {
    overflow: hidden;
    width: 100%;
    max-width: 250px;
    margin: auto;
}

.blur-image-container img {
    transition: transform 0.3s ease;
    width: 100%;
}

.blur-image-container img:hover {
    transform: scale(1.1);
}

.blur-image-container a {
    position: relative;
    display: block;
}
/**End of zoom effects **/


@media (max-width: 340px){
    #typed-text{
        display: none !important;
    }
}


/**Sizing for home images categories**/
@media (max-width: 400px){
    .categories-section-container img{
        min-width: 300px;
    }
}
@media (max-width: 290px){
    .categories-section-container img{
        min-width: 200px;
    }
}
.index-footer {
    z-index: 10;
    position: absolute;
    background-color: #f8f9fad1;
    width: 100%;
}

.cart-product-text{
    text-wrap: wrap;
    line-height: 16px;
}
.cart-variant-text{
    text-wrap: wrap;
    font-size: smaller;
    font-weight: 400;
    margin-top: 3px;

}
.promotion{
    background-color: #0d38fd8f;

}
