.callout {
	border: none;
}

.logo-container {
    height: 100%; 
    display: flex; 
    align-items: center; 
    justify-content: center;
    background-color: #872020;

}

.logo {
    padding-top: 2rem;
    height: 100% !important; 
    width: auto; 
}
.hideAll, .logout-button {
    display: none;
}

.finger {
    cursor: pointer;
}
.color1{
    color: #000000;
}

.cart-circle {
    display: inline-block;
    width: 1.0rem;
    height: 1.0rem;
    border-radius: 0.5rem;
    background-color: red;
    color: white;
}

.callout {
    border: none;
    text-align: center; /* Centers text horizontally */
    justify-content: center; /* Centers text horizontally */
    box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.1);

}
/* ! MAIN PAGE DEPARTMENT SECTIONS */
.text-tag h1 {
    position: absolute;
    top: 50%; 
    left: 50%; 
    transform: translate(-50%, -50%); 
    color: white; 
    font-size: 24px; 
    font-weight: bold;
    background: rgba(0, 0, 0, 0.5); 
    padding: 10px 15px;
    border-radius: 5px;
}

.Deals {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    height: 8rem;
    font-size: 2rem;
    color: #1b1b1b;
    font-weight: bold;
}


/* !COLOURS */
.colour1 {
    background-color: #872020;
}

.colour2 {
    background-color:#872020;
}

.colour3 {
    background-color: #872020;
}

.colour4{
    background-color: #872020;

}

.title {
background-color: #ffffff;     }
  

.colour5 {
    background-color: #ffffff;
}

body{
    background-color: #ffffff;
}

.Departments {
    color: rgb(0, 0, 0);
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    font-size: 2rem;
    font-weight: bold;
    background-color: #872020;

}


.footer {
    width: 100%;
    background-color: #872020; 
    color: white;            
    padding: 1rem;
    text-align: center;
  }

/* !HEIGHTS */


.height1{
}


.height2{
    height: 25vh;
}

.height3{
    height: 38.6vh;
}

.height4{
    height: 40vh;
}

p{
    color: rgb(0, 0, 0);
}

.font{
    color: black !important;
    font-size: 1rem;
}
.topSpace{
    margin-top: 8vh;
    padding: 2%;
}
.topSpace2{
    margin-top: 2vh;
    color: black !important;
    font-size: 1.3em;
}
.bottomSpace2{
    margin-bottom: 8vh ;
}
.productName{
    margin: 2% 3%;
}
.bottomSpace7{
    margin-bottom: 10vh !important;
}
.bottomSpace8{
    margin-bottom: 4vh !important;
}
footer{
    margin-top: 4vh;
}

.description {
    margin-bottom:5rem !important; 
  }
  
  hr {
    margin: 0 auto;
    margin-top: 2rem; 
    width: 100%;
    height: 2px;
    background-color: black;
    border: none;
  }

@media (max-width: 768px) {
    .description {
        margin-bottom: 7rem !important; 
    }

    hr {
        margin-top: 5rem; 
        height: 1.5px; 
    }
    .banner {
        height: 20rem;
        padding: 0;
    }

    .callout.height3.colour3 {
        padding: 20px;
        text-align: center;
  
      }
    
      .product-buttons {
        justify-content: center;
      }
}

@media (max-width: 480px) {
    .description {
        margin-bottom: 12rem !important;  
    }

    hr {
        margin-top: 12rem; 
        height: 1px; 
    }

    .description {
        padding: 5px 5px !important;
        margin-bottom: 5rem !important;
        font-size: 12px !important;
  
  
      }
}
  
.click-shipping{
    margin: auto;
    display: block;
    width: 100%;
}
.buttonStyle{
    width: 100%;
}
@media screen and (max-width: 640px) {
    .bottomSpace{
        margin-bottom: 0;
    }
    .mobileSpace{
        margin-top: 5vh;
        margin-bottom: 5vh;
    }
    .bottomSpace8{
        margin-bottom: 2vh !important;
    }
    .shipping-info-box {
        padding: 1rem;
        font-size: 14px;
        padding-bottom: 40rem;

    }

    .text-tag h1 {
    position: absolute;
    top: 50%; 
    left: 50%; 
    transform: translate(-50%, -50%); 
    color: white; 
    font-size: 24px; 
    font-weight: bold;
    background: rgba(0, 0, 0, 0.5); 
    padding: 10px 15px;
    border-radius: 5px;
}

hr {
    border: none;
    height: 2px;
    background-color: black;
    width: 100vw;
    margin: 0;
    margin-top: 30vh !important; 
}

.location-box {
    padding: 1rem;
    font-size: 14px;
    padding-bottom: 20REM;

}

.payment-info-box {
    padding: 1rem;
    font-size: 14px;
    padding-bottom: 30rem;

}
   
}


@media screen and (max-width: 892px) {
    .text-tag h1 {
        position: absolute;
        top: 30%; 
        left: 50%; 
        transform: translate(-50%, -50%); 
        color: white; 
        font-size: 24px; 
        font-weight: bold;
        background: rgba(0, 0, 0, 0.5); 
        padding: 10px 15px;
        border-radius: 5px;
    }

    .height4{
        height: 25vh;
    }

}



.banner-wrapper {
    width: 100%;
    display: flex;
    justify-content: center;
    background-color: inherit; 
}

.banner {
    width: 100vw;  
    max-width: 100%; 
    min-height: 20rem;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    background-size: cover;
    background-position: center;
    position: relative;
    z-index: -1;
}



.top-bar {
    flex: 1; 
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-color: #872020 !important;
}

.top-bar-left .menu {
    margin-left: auto;
    justify-content: flex-end;
    width: 100%;
  }


  .product-info h1,
.product-info p {
  margin: 0.25rem 0; 
  line-height: 1.2;   
}

  


.top-bar-left ul li {
    margin: 0 1rem;
}



#search {
    padding: 0.5rem;
    border: none;
    border-radius: 4px;
    font-size: 14px;
    width: 200px; 
}


/* Force horizontal layout on tablets */
@media (min-width: 600px) and (max-width: 1024px) {
    .top-bar {
        flex-direction: row !important; 
        flex-wrap: nowrap; 
    }

    .top-bar-left ul {
        flex-direction: row;
        align-items: center;
        padding-left: 0;
    }

    .top-bar-left ul li {
        margin: 0 1rem;
    }

    #search {
        width: 200px; 
    }

    .location-box {
        padding: 1.25rem;
        font-size: 15px;
        padding-bottom: 20REM;

    }

    .shipping-info-box {
        padding: 1.25rem;
        font-size: 15px;
        padding-bottom: 20rem;

    }

    .payment-info-box {
        padding: 1.25rem;
        font-size: 15px;
        padding-bottom: 30rem;

    }
    

}


@media (max-width: 1024px) {
    .grid-x {
        flex-wrap: wrap;
    }
    .click-home {
        width: auto;
    }
    .top-bar {
        flex-direction: column;
        align-items: center;
        padding: 0;
    }
    .top-bar-left ul {
        flex-direction: column;
        align-items: center;
        
    }
    #search {
        width: 100%; 
    }
    .banner {
        height: 25rem;
        padding: 0;
    }
    .description {
        font-size: 1.15rem;
        padding: 30px 40px;
        width: 70%;
        margin-bottom: 3rem; 
      }
}

@media (min-width: 623px) and (max-width: 997px) {
    .top-bar-left ul {
        flex-direction: column;
        align-items: center;
        height: 77px;
        flex-direction: row;      
        justify-content: flex-end; 
        width: 100%;              
        gap: 1rem;   
        
    }
}



@media (min-width: 300px) and (max-width: 640px) {
    .text-tag h1 {
        position: absolute;
        top: 60%; 
        left: 50%; 
        transform: translate(-50%, -50%); 
        color: white; 
        font-size: 24px; 
        font-weight: bold;
        background: rgba(0, 0, 0, 0.5); 
        padding: 10px 15px;
        border-radius: 5px;
    }

}


/* Product info container */
.Review {
    background-color: #ffffff;
    padding-bottom: 10rem;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    margin: 2rem auto;
    max-width: 600px;
    padding: 1rem; /* Add padding to improve layout on small screens */
}

.Review h2 {
    font-size: clamp(1.4rem, 2vw, 1.8rem);
    margin-bottom: 1rem;
}

/* Paragraphs or other text inside Review */
.Review p,
.Review li {
    font-size: clamp(1rem, 1.8vw, 1.2rem);
    line-height: 1.5;
}

/* Optional: responsive tweaks for small screens */
@media (max-width: 480px) {
    .Review {
        padding: 1rem;
    }

    .Review h2 {
        font-size: 1.4rem;
    }

    .Review p,
    .Review li {
        font-size: 1rem;
    }
}



/* Responsive design for tablets and mobile */
@media (max-width: 768px) {
    .Review {
        padding: 15rem;
    }

 
}

/* Mobile-specific styling */
@media (max-width: 480px) {
    .Review {
        padding: 15rem;
    }

  

    
}



/* ! PRODUCT SINGLE CSS */
/* Container styling */
.info-box {
    background-color: #ffffff;
    padding: 30px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 12px;
    border-radius: 12px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.06);
    max-width: 600px;
    margin: 0 auto;
    text-align: left;
  }
  
  /* Price */
  .product-price {
    font-size: 2rem;
    font-weight: 700;
    color: #111;
    margin: 0;
  }
  
  /* Product Name */
  .product-name {
    font-size: 1.5rem;
    font-weight: 600;
    color: #222;
    margin: 5px 0;
  }
  
  /* UPC and Brand */
  .product-upc,
  .product-brand {
    font-size: 1rem;
    color: #666;
    margin: 2px 0;
  }
  
  .product-buttons {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
  }
  
  .product-buttons button,
  .product-buttons .button {
    padding: 12px 20px;
    border-radius: 6px;
    border: none;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s ease;
  }
  
  .product-buttons .add-btn {
    background-color: #e50914;
    color: #fff;
  }
  
  .product-buttons .list-btn {
    background-color: #fff;
    border: 2px solid #ccc;
    color: #333;
  }
  
  .product-buttons .suggest-btn {
    background-color: #6c5ce7;
    color: #fff;
  }
  
 

    
  .description {
    font-family: 'Segoe UI', sans-serif;
    color: #f8f8f8;
    background-color: #872020;
    border-radius: 12px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
    line-height: 1.6;
    margin: 0 auto 2rem auto;   
    max-width: 100%;
    width: 90%;
    padding: 15px;
    font-size: 1.05rem;
    text-align: left;
    transition: all 0.3s ease-in-out;
  }
  
  
 
  
  /* !LOCATION CSS */

  .location-box {
    background-color: #ffffff; 
    color: #333;
    padding: 1.5rem;
    border-radius: 8px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
    text-align: center;
    padding-bottom: 20REM;
}

.location-title {
    margin-bottom: 1rem;
    color: #872020; 
}


.text111, 
.text111 p, 
.text111 ul, 
.text111 li, 
.text111 strong, 
.text111 em {
  color: white !important;
}

  

/*! SHIPPING CSS */

.shipping-info-box {
    background-color: #000000; 
    color: #ffffff;
    padding: 1.5rem;
    border-radius: 8px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
    padding-bottom: 30rem;
}

.shipping-title {
    margin-bottom: 1rem;
    color: #872020; 
    font-size: 1.5rem;
    font-weight: bold;
}

.shipping-info-box p, .shipping-info-box ul {
    line-height: 1.5;
}

.shipping-info-box ul {
    list-style-type: none;
    padding-left: 0;
}

.shipping-info-box ul li {
    margin-bottom: 0.5rem;
}





/* !PAYMENT */
.payment-info-box {
    background-color: #ffffff; 
    color: #000000;
    padding: 1.5rem;
    border-radius: 8px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
    padding-bottom: 30REM;
}

.payment-title {
    margin-bottom: 1rem;
    color: #872020; 
    font-size: 1.5rem;
    font-weight: bold;
}

.payment-info-box p, .payment-info-box ul {
    line-height: 1.5;
    color: #000000;

}


.payment-info-box ul {
    list-style-type: none;
    padding-left: 0;
}

.payment-info-box ul li {
    margin-bottom: 0.5rem;
}





/* confirm page */
/* Base container */
.confirm {
    background-color: #ffffff;
    padding: 2rem;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    margin: 2rem auto;
    max-width: 600px;
    text-align: center;
    padding-bottom: 10rem;
  }
  
  /* Heading */
  .confirm h2 {
    font-size: 1.8rem;
    margin-bottom: 1rem;
  }
  
  .confirmation-message {
    font-size: 1.2rem;
    margin: 1rem 0 2rem 0;
    color: #333;
  }
    
 
  /* Responsive styles for tablet */
  @media (max-width: 768px) {
    .product-info {
      padding: 1.5rem;
    }
  
 
  }
  
  /* Mobile styles */
  @media (max-width: 480px) {
    .confirm {
      padding: 1.2rem;
      padding-bottom: 8rem;
    }
  
    .confirm h2 {
      font-size: 1.5rem;
    }
  
    .confirmation-message {
      font-size: 1rem;
    }
  
  }
  