/* Responsive Design for Baya Olive Oil USA */

/* --- Tablet / Small Desktop (max-width: 992px) --- */
@media (max-width: 992px) {
  .hero_area {
    min-height: auto;
  }
  .custom_nav-container .navbar-collapse {
    background-color: #60813f;
    padding: 20px;
    border-radius: 10px;
    margin-top: 15px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.5);
  }
  .custom_nav-container .navbar-nav {
    padding-top: 0;
    padding-left: 0;
    align-items: center;
  }
  .user_option {
    justify-content: center;
    margin-top: 15px;
  }
  .custom_nav-container .navbar-nav .nav-item .nav-link {
    padding: 12px 25px; /* Increased touch target for tablets */
    margin: 5px 0;
    font-size: 16px;
  }
  .slider_section .carousel-indicators {
    margin-top: 45px;
  }
  .offer_section .box {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  .offer_section .box .img-box {
    margin-right: 0;
    margin-bottom: 15px;
  }
  
  /* Shop grid responsive */
  .shop_grid .col-md-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
}

/* --- Mobile Landscape / Large Mobile (max-width: 767px) --- */
@media (max-width: 767px) {
  /* Shop grid 1 column on all mobile screens (< 768px) */
  .shop_grid .col-md-6,
  .shop_grid .col-lg-4,
  .shop_grid .col-lg-6 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }

  /* Layout Padding adjustment for mobile */
  .layout_padding {
    padding: 50px 0;
  }
  .layout_padding2 {
    padding: 40px 0;
  }
  .layout_padding-top {
    padding-top: 50px;
  }
  .layout_padding-bottom {
    padding-bottom: 50px;
  }

  /* Typography Scaling */
  .slider_section .detail-box h1 {
    font-size: 2.8rem;
  }
  .heading_container h2,
  .shop_hero h1 {
    font-size: 2rem;
  }
  .baya-dark-theme p {
    font-size: 1rem; /* Slightly smaller text for readability */
  }
  
  .about_section .detail-box,
  .book_section .form_container {
    margin-bottom: 45px;
    padding-left: 0 !important; /* Remove large desktop padding */
  }
  .about_section .row {
    flex-direction: column-reverse;
  }
  .offer_section .box {
    flex-direction: row;
    text-align: left;
  }
  .offer_section .box .img-box {
    margin-right: 15px;
    margin-bottom: 0;
  }

  /* Premium Bottle Image Mobile Adjustments */
  .premium-bottle-img {
    max-height: 400px !important; /* Scale down for mobile */
    filter: drop-shadow(20px 25px 20px rgba(0,0,0,0.5)) drop-shadow(-8px 8px 15px rgba(0,0,0,0.2)) !important;
    transform: scale(1) translateX(0) !important;
  }
  .about_section .img-box {
    perspective: none;
  }
  .about_section .img-box:hover .premium-bottle-img {
    transform: translateY(-5px) scale(1.02) !important; /* Less dramatic hover on mobile */
  }
  .about_section .img-box::after {
    width: 80%;
  }

  /* Cart & Checkout specific mobile rules */
  .cart-table-desktop {
    display: none !important;
  }
  .cart-cards-mobile {
    display: flex !important;
  }
  .cart-table {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .minicart-drawer {
    width: 100% !important; /* Full width on mobile */
  }

  /* Footer stacking */
  .footer_section .footer-col {
    margin-bottom: 40px;
    text-align: center;
  }
  .footer_section .footer_contact .contact_link_box {
    align-items: center;
  }
  
  /* Touch targets for buttons */
  .btn, .filter-btn, .add-to-cart-btn, .minicart-checkout-btn, .checkout-btn {
    min-height: 48px; /* Ideal touch target size */
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
}

/* --- Mobile Portrait (max-width: 575px) --- */
@media (max-width: 575px) {
  .slider_section .detail-box h1 {
    font-size: 2.2rem;
  }
  .heading_container h2,
  .shop_hero h1 {
    font-size: 1.8rem;
  }
  
  /* Shop grid 1 column on tiny screens */
  .shop_grid .col-md-6 {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .offer_section .box {
    flex-direction: column;
    text-align: center;
  }
  .offer_section .box .img-box {
    margin-right: 0;
    margin-bottom: 15px;
  }
  
  .filter-btn {
    padding: 8px 16px;
    font-size: 0.85rem;
    margin-bottom: 8px;
  }
}

/* --- Container Fixes --- */
@media (min-width: 1200px) {
  .container {
    max-width: 1170px;
  }
}