/* ===== MOBILE HEADER RESPONSIVE ===== */
@media only screen and (max-width: 768px) {

  /* Top header content stacks vertically */
  .top-header .top-header-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
  }

  /* Logo centered and responsive */
  .header-logo {
    text-align: center;
  }
  .header-logo img {
    max-width: 180px;
    height: auto;
  }

  /* Fixed nav links stacked vertically */
  .header-nav-fixed ul {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    padding: 0;
    margin: 0;
    list-style: none;
  }
  .header-nav-fixed a {
    display: block;
    padding: 0.5rem 1rem;
    font-size: 1rem;
    text-decoration: none;
    color: inherit;
    text-align: center;
  }

  /* Search box full width */
  .header-search {
    width: 100%;
    text-align: center;
  }
  .header-search form {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    width: 100%;
  }
  .header-search input[type="search"] {
    width: 90%;
    padding: 0.7rem;
    font-size: 1rem;
    border-radius: 6px;
    border: 1px solid #ccc;
    box-sizing: border-box;
  }
  .header-search button {
    padding: 0.7rem 1rem;
    font-size: 1rem;
    border-radius: 6px;
    cursor: pointer;
  }

  /* Primary menu stacked */
  .nav-cart-row .nav-cart-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
  }
  .header-menu-nav ul {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: center;
  }
  .header-menu-nav a {
    display: block;
    padding: 0.5rem 1rem;
    font-size: 1rem;
    text-decoration: none;
    color: inherit;
  }

 /* ===== MINI-CART TOGGLE BUTTON FIX ===== */
.mini-cart-toggle {
  position: fixed;
  bottom: 15px;
  right: 15px;
  width: 50px;          /* fixed width */
  height: 50px;         /* fixed height */
  min-width: 50px;
  min-height: 50px;
  background: #0056b3;
  color: #fff;
  padding: 0;           /* remove padding, use width/height */
  border-radius: 50%;   /* fully round */
  font-size: 1.2rem;
  cursor: pointer;
  z-index: 9999;
  display: flex;        /* center icon/text */
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
}

/* Mini-cart item count bubble */
.mini-cart-toggle .cart-count {
  position: absolute;
  top: -5px;
  right: -5px;
  background: #ff4136;
  padding: 0.2rem 0.5rem;
  border-radius: 999px;
  font-size: 0.75rem;
  color: #fff;
  font-weight: bold;
}

/* Mini-cart drawer full screen */
.mini-cart-drawer {
  position: fixed;
  top: 0;
  right: -100%;
  width: 100%;
  height: 100%;
  background: #fff;
  z-index: 10000;
  transition: right 0.3s ease;
  display: flex;
  flex-direction: column;
}
.mini-cart-drawer.active {
  right: 0;
}
.mini-cart-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem;
  border-bottom: 1px solid #ddd;
}
.mini-cart-header h3 {
  font-size: 1.2rem;
}
#mini-cart-close {
  font-size: 1.5rem;
  cursor: pointer;
}

/* Mini-cart items stacked */
.mini-cart-items {
  flex: 1;
  overflow-y: auto;
  padding: 1rem;
}
.mini-cart-item {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-bottom: 1rem;
  border-bottom: 1px solid #eee;
  padding-bottom: 0.5rem;
}
.mini-cart-thumb img {
  max-width: 60px;
  height: auto;
}
.mini-cart-info {
  font-size: 0.9rem;
}
.mini-cart-remove {
  font-size: 1.2rem;
  color: #ff4136;
  text-decoration: none;
}

/* Mini-cart footer buttons */
.mini-cart-footer {
  padding: 1rem;
  border-top: 1px solid #ddd;
}
.mini-cart-subtotal {
  margin-bottom: 1rem;
  font-size: 1rem;
  font-weight: bold;
}
.mini-cart-buttons {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.mini-cart-btn {
  display: block;
  width: 100%;
  text-align: center;
  padding: 0.8rem;
  background: #0056b3;
  color: #fff;
  border-radius: 6px;
  text-decoration: none;
  font-size: 1rem;
}
.mini-cart-btn.checkout {
  background: #ff4136;
}

  /* General touch improvements */
  a, button, input {
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
  }
}
/* ===== MOBILE FOOTER RESPONSIVE ===== */
@media only screen and (max-width: 768px) {

  .footer .footer-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    text-align: center;
  }

  .footer-column {
    width: 100%;
  }

  /* Footer logo */
  .footer-column.logo img {
    max-width: 150px;
    height: auto;
    margin: 0 auto;
  }

  /* Hours & contact stacked nicely */
  .footer-column.hours,
  .footer-column.contact {
    margin: 0;
  }

  .footer-column.hours h4,
  .footer-column.contact h4 {
    margin-bottom: 0.5rem;
    font-size: 1.1rem;
  }

  .footer-column p {
    margin: 0.3rem 0;
    font-size: 0.95rem;
    line-height: 1.4;
  }

  .footer-column a {
    word-break: break-word;
    color: inherit;
    text-decoration: none;
  }

}
/* ===== MOBILE SINGLE PRODUCT ===== */
@media only screen and (max-width: 768px) {

  /* Product wrapper stacks vertically */
  .woocommerce .product {
    flex-direction: column !important;
    gap: 1.5rem !important;
    padding: 1rem;
  }

  /* Images column full width */
  .woocommerce .product .images {
    flex: 1 1 100% !important;
    max-width: 100% !important;
    text-align: center;
  }
  .woocommerce .product .images img {
    width: 100%;
    max-width: 100%;
    height: auto;
  }

  /* Thumbnails stacked or horizontal scroll */
  .woocommerce .product-thumbnails {
    flex-wrap: nowrap;
    overflow-x: auto;
    justify-content: flex-start;
    gap: 0.5rem;
    margin-top: 0.5rem;
  }
  .woocommerce .product-thumbnails img {
    width: 60px;
    height: auto;
    cursor: pointer;
  }

  /* Summary column full width */
  .woocommerce .product .summary {
    flex: 1 1 100% !important;
    max-width: 100% !important;
    padding: 0;
  }
  .woocommerce .product .summary h1.product_title {
    font-size: 1.5rem;
    text-align: left;
  }
  .woocommerce .product .summary p.price {
    font-size: 1.2rem;
  }

  /* Add to cart button full width */
  .woocommerce .product .summary .single_add_to_cart_button {
    width: 100%;
    box-sizing: border-box;
  }

  /* SKU and categories */
  .woocommerce .product .summary p.sku,
  .woocommerce .product .summary p.categories {
    font-size: 0.95rem;
  }

  /* Full description */
  .woocommerce .product .full-description {
    flex: 1 1 100% !important;
    max-width: 100% !important;
    margin-top: 1.5rem;
  }
  .woocommerce .product .full-description h2 {
    font-size: 1.2rem;
    margin-bottom: 0.5rem;
  }
  .woocommerce .product .full-description .description-content {
    font-size: 0.95rem;
    line-height: 1.5;
  }
}
@media only screen and (max-width: 768px) {

  /* Product row stacked */
  .woocommerce-cart-form table.cart tr.cart_item {
    display: flex;
    flex-direction: column;
    border-bottom: 1px solid #ddd;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    box-sizing: border-box;
    word-wrap: break-word; /* ensure long words wrap */
  }

  /* Remove pseudo-elements above images */
  .woocommerce-cart-form table.cart td.product-thumbnail::before {
    display: none !important;
    content: none !important;
  }

  /* Thumbnail */
  .woocommerce-cart-form table.cart td.product-thumbnail,
  .woocommerce-cart-form table.cart td.product-thumbnail img {
    display: block !important;
    width: 80px;
    max-width: 100%;
    height: auto;
    margin-bottom: 0.5rem;
    object-fit: contain;
  }

  /* Product info */
  .woocommerce-cart-form table.cart td.product-name,
  .woocommerce-cart-form table.cart td.product-price,
  .woocommerce-cart-form table.cart td.product-subtotal,
  .woocommerce-cart-form table.cart td.product-quantity,
  .woocommerce-cart-form table.cart td.product-remove {
    display: block !important;
    width: 100% !important;
    margin-bottom: 0.3rem;
    word-wrap: break-word;
    overflow-wrap: break-word; /* force wrapping inside box */
    box-sizing: border-box;
  }

  /* Quantity input full width */
  .woocommerce-cart-form table.cart td.product-quantity input.qty {
    width: 100% !important;
    max-width: 100%;
    box-sizing: border-box;
  }

  /* Buttons full width */
  .woocommerce-cart-form table.cart td.actions .button,
  .woocommerce-cart-form table.cart td.product-remove a {
    width: 100% !important;
    margin-top: 0.5rem;
    box-sizing: border-box;
  }

  /* Cart totals */
  .cart-collaterals {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    margin-top: 1rem;
    box-sizing: border-box;
  }

  .cart-collaterals .cart_totals {
    width: auto !important;
    max-width: 100% !important;
    padding: 0.5rem;
    border: 1px solid #ddd;
    box-sizing: border-box;
  }

  .cart-collaterals .cart_totals table,
  .cart-collaterals .cart_totals table tr,
  .cart-collaterals .cart_totals table td,
  .cart-collaterals .cart_totals table th {
    display: block !important;
    width: 100% !important;
    text-align: left !important;
    margin-bottom: 0.3rem;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }

  .cart-collaterals .cart_totals table tr td,
  .cart-collaterals .cart_totals table tr th {
    padding: 0.25rem 0;
  }
}
/* ===== MOBILE SHOP PAGINATION ===== */
@media only screen and (max-width: 768px) {

  /* Shop product cards: 3 per row */
  .shop-grid-container,
  .woocommerce ul.products {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 0.5rem; /* space between items */
    padding: 0.5rem;
  }

  .woocommerce ul.products li.product {
    flex: 1 1 calc(33.33% - 0.5rem); /* 3 per row */
    max-width: calc(33.33% - 0.5rem);
    box-sizing: border-box;
  }

  /* Product content responsive */
  .woocommerce ul.products li.product .woocommerce-loop-product__link {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.5rem;
  }

  .woocommerce ul.products li.product img {
    width: 100%;
    height: auto;
    max-width: 100%;
    object-fit: contain;
  }

  .woocommerce ul.products li.product h2,
  .woocommerce ul.products li.product .price {
    font-size: 0.95rem;
    margin: 0.3rem 0;
    word-wrap: break-word;
  }

  /* Pagination already defined, keep gap consistent */
  .woocommerce-pagination {
    justify-content: center;
  }

}/* ===== MOBILE SHOP GRID 2 PER ROW ===== */
@media only screen and (max-width: 768px) {

  /* Ensure the product list uses flex */
  .woocommerce ul.products {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: space-between !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
  }

  /* Each product: 2 per row */
  .woocommerce ul.products li.product {
    flex: 0 0 48% !important; /* exactly two per row */
    max-width: 48% !important;
    margin-bottom: 1rem !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    float: none !important; /* override theme float */
  }

  /* Images fill the container */
  .woocommerce ul.products li.product img {
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    object-fit: contain !important;
  }

  /* Titles and prices */
  .woocommerce ul.products li.product h2,
  .woocommerce ul.products li.product .price {
    font-size: 1rem !important;
    margin: 0.3rem 0 !important;
    word-wrap: break-word !important;
  }

  /* Pagination centered */
  .woocommerce-pagination {
    display: flex !important;
    justify-content: center !important;
    gap: 0.5rem !important;
    flex-wrap: wrap !important;
    margin-top: 1.5rem !important;
  }

  .woocommerce-pagination li {
    width: auto !important;
    flex: 1 1 auto !important;
    text-align: center !important;
  }
}/* ===== MOBILE HAMBURGER MENU + CATEGORY DROPDOWNS ===== */
@media only screen and (max-width: 768px) {

  /* Hide nav initially */
  .header-menu-nav {
    display: none;
    flex-direction: column;
    background: #fff;
    width: 100%;
    margin-top: 0.5rem;
    border-top: 1px solid #ddd;
    z-index: 999; /* above other content */
  }

  /* Show nav when active */
  .header-menu-nav.active {
    display: flex;
  }

  /* Hamburger button style */
  .mobile-menu-toggle {
    display: block;
    background: #0056b3;
    color: #fff;
    border: none;
    padding: 0.7rem 1rem;
    font-size: 1.3rem;
    border-radius: 6px;
    cursor: pointer;
    margin-bottom: 0.5rem;
  }

  /* Stack top-level menu links */
  .header-menu-nav ul {
    display: flex;
    flex-direction: column;
    padding: 0;
    margin: 0;
    list-style: none;
  }
  .header-menu-nav li a {
    display: block;
    padding: 0.8rem 1rem;
    color: #fff;
    background: #0056b3;
    text-decoration: none;
    font-weight: bold;
    border-bottom: 1px solid #004494;
  }

  /* Hide submenus initially */
  .header-menu-nav li ul.sub-menu {
    display: none;
    flex-direction: column;
    background: #0073e6; /* solid dropdown color */
    margin: 0;
    padding: 0.5rem 1rem;
    border-radius: 6px;
  }

  /* Show submenu when parent active */
  .header-menu-nav li.active > ul.sub-menu {
    display: flex;
  }

  /* Submenu links style */
  .header-menu-nav li ul.sub-menu li a {
    display: block;
    padding: 0.5rem 1rem;
    font-size: 0.95rem;
    font-weight: normal;
    color: #fff;
    background: none;
    text-align: left;
    border-bottom: 1px solid #0056b3;
  }

  .header-menu-nav li ul.sub-menu li a:hover {
    background: #0066cc;
  }

  /* Remove arrows for parent items */
  .header-menu-nav li.menu-item-has-children > a::after {
    content: "";
    float: none;
    margin: 0;
  }

  /* Ensure no overlap */
  .header-menu-nav li {
    position: relative;
  }
}/* ===== MOBILE HAMBURGER MENU + CATEGORY DROPDOWNS FIX ===== */
@media only screen and (max-width: 768px) {

  /* Top-level menu hidden initially */
  .header-menu-nav {
    display: none;
    flex-direction: column;
    background: #fff;
    width: 100%;
    margin-top: 0.5rem;
    border-top: 1px solid #ddd;
    z-index: 999;
  }

  /* Show nav when active */
  .header-menu-nav.active {
    display: flex;
  }

  /* Hamburger button style */
  .mobile-menu-toggle {
    display: block;
    background: #0056b3;
    color: #fff;
    border: none;
    padding: 0.7rem 1rem;
    font-size: 1.3rem;
    border-radius: 6px;
    cursor: pointer;
    margin-bottom: 0.5rem;
  }

  /* Top-level links */
  .header-menu-nav ul {
    display: flex;
    flex-direction: column;
    padding: 0;
    margin: 0;
    list-style: none;
  }
  .header-menu-nav li a {
    display: block;
    padding: 0.8rem 1rem;
    color: #fff;
    background: #0056b3;
    text-decoration: none;
    font-weight: bold;
    border-bottom: 1px solid #004494;
  }

  /* Submenu container */
  .header-menu-nav li ul.sub-menu {
    display: none;
    flex-direction: column;
    background: #0073e6;
    margin: 0;
    padding: 0;
    border-radius: 6px;
    /* Make submenu push siblings down instead of overlapping */
    position: relative;
  }

  /* Show submenu when parent active */
  .header-menu-nav li.active > ul.sub-menu {
    display: flex;
  }

  /* Submenu links */
  .header-menu-nav li ul.sub-menu li a {
    display: block;
    padding: 0.5rem 1rem;
    font-size: 0.95rem;
    font-weight: normal;
    color: #fff;
    background: none;
    text-align: left;
    border-bottom: 1px solid #0056b3;
  }

  .header-menu-nav li ul.sub-menu li a:hover {
    background: #0066cc;
  }

  /* Remove arrows for parent items */
  .header-menu-nav li.menu-item-has-children > a::after {
    content: "";
    float: none;
    margin: 0;
  }

  /* Parent li relative */
  .header-menu-nav li {
    position: relative;
  }
}/* ===== MOBILE HAMBURGER MENU + CATEGORY DROPDOWNS STYLING ===== */
@media only screen and (max-width: 768px) {

  /* Top-level links styling */
  .header-menu-nav li a {
    border-bottom: 1px solid #004494; /* subtle separator */
    border-radius: 6px 6px 0 0; /* rounded top corners */
    transition: background 0.3s;
  }

  .header-menu-nav li a:hover {
    background: #004080; /* slightly darker on hover */
  }

  /* Submenu container */
  .header-menu-nav li ul.sub-menu {
    background: #11aac7; /* solid dropdown background */
    margin: 0 0 0 0;
    padding: 0.5rem 0;
    border-radius: 0 0 6px 6px; /* rounded bottom corners */
    box-shadow: 0 4px 8px rgba(0,0,0,0.1); /* subtle shadow */
  }

  /* Submenu links styling */
  .header-menu-nav li ul.sub-menu li a {
    padding: 0.6rem 1rem;
    font-size: 0.95rem;
    font-weight: normal;
    color: #fff;
    background: none;
    border-bottom: 1px solid #0056b3; /* subtle division */
    transition: background 0.3s;
  }

  .header-menu-nav li ul.sub-menu li:last-child a {
    border-bottom: none; /* remove border on last item */
  }

  .header-menu-nav li ul.sub-menu li a:hover {
    background: #0fa3bf; /* highlight on hover */
  }

  /* Smooth submenu animation */
  .header-menu-nav li ul.sub-menu {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
  }

  .header-menu-nav li.active > ul.sub-menu {
    max-height: 1000px; /* large value ensures full expansion */
  }

  /* Optional: slight spacing between top-level items */
  .header-menu-nav li {
    margin-bottom: 0.2rem;
  }
}/* ===== MY ACCOUNT PAGE RESPONSIVE ===== */
@media only screen and (max-width: 1024px) {

  /* Container spacing */
  .my-account-page.container {
    padding: 1rem 1.5rem;
  }

  /* Title styling */
  .account-title {
    font-size: 1.8rem;
    text-align: center;
    margin-bottom: 0.5rem;
    color: #0056b3; /* match your site branding */
  }

  /* Intro text */
  .account-intro {
    font-size: 1rem;
    text-align: center;
    margin-bottom: 1rem;
    color: #333;
  }

  /* Wrapper styling */
  .account-wrapper {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    background: #f5f5f5; /* light background for readability */
    padding: 1rem;
    border-radius: 8px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
  }

  /* WooCommerce form fields */
  .woocommerce-MyAccount-content form .form-row {
    display: flex;
    flex-direction: column;
    margin-bottom: 0.8rem;
  }

  .woocommerce-MyAccount-content form input,
  .woocommerce-MyAccount-content form select,
  .woocommerce-MyAccount-content form textarea {
    width: 100%;
    padding: 0.6rem 0.8rem;
    font-size: 0.95rem;
    border: 1px solid #ccc;
    border-radius: 6px;
    box-sizing: border-box;
  }

  .woocommerce-MyAccount-content form button {
    padding: 0.7rem;
    font-size: 1rem;}
