/* ==========================================================================
   Client flow redesign — menu browsing, item detail, cart
   Reuses --lp-* tokens defined in landing-redesign.css (loaded earlier).
   Orange-dominant, Foodyman-inspired: clean cards, soft shadows, generous air.
   ========================================================================== */

:root {
  --lp-blue: #ff6305;
  --lp-blue-dark: #c74600;
  --lp-blue-light: #fff1e4;
  --lp-ink: #0b1220;
  --lp-muted: #5c6478;
  --lp-bg-soft: #f5f7fb;
  --lp-card: #ffffff;
  --lp-border: #edf0f5;
  --lp-radius-lg: 20px;
  --lp-radius-md: 14px;
  --lp-shadow: 0 20px 40px -24px rgba(15, 23, 60, .22);
  --lp-shadow-sm: 0 1px 2px rgba(15, 23, 60, .06);
  --lp-font-heading: 'Sora', 'Montserrat', sans-serif;
}

/* ---------- Top nav ---------- */
.userMenu.navbar-light.bg-light {
  background: #fff !important;
  box-shadow: var(--lp-shadow-sm);
  padding: 4px 0;
}
.userMenu .navbar-brand {
  font-family: var(--lp-font-heading);
  font-weight: 700;
  color: var(--lp-ink) !important;
  letter-spacing: -.01em;
}
.userMenu .nav-link {
  font-weight: 500;
  color: var(--lp-muted) !important;
}
.userMenu .nav-item.active .nav-link {
  color: var(--lp-blue) !important;
  font-weight: 700;
}
.userMenu .rightMenu .cart.navCart a {
  background: var(--lp-blue-light);
  color: var(--lp-blue-dark) !important;
  border-radius: 999px;
  padding: 8px 16px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.UserResponsive_menu .UserMobileMenu {
  background: #fff;
  box-shadow: 0 -8px 24px -16px rgba(15, 23, 60, .3);
  border-top: 1px solid var(--lp-border);
}
.UserResponsive_menu .UserMobileMenu li a {
  color: var(--lp-muted);
}
.UserResponsive_menu .UserMobileMenu li.active a {
  color: var(--lp-blue);
}

/* Floating cart pill (mobile) */
.cart.navCart.CartIcon {
  background: var(--lp-blue) !important;
  box-shadow: 0 12px 24px -10px rgba(255, 99, 5, .55);
  border: none !important;
}
.cart.navCart.CartIcon a,
.cart.navCart.CartIcon .cart_count {
  color: #fff !important;
}

/* ---------- Category chips ---------- */
.categorySection {
  padding: 20px 0 8px;
}
.categorySection .topCategory.itemList {
  gap: 12px;
}
.singleCatItem {
  background: var(--lp-card);
  border: 1px solid var(--lp-border);
  border-radius: var(--lp-radius-md);
  box-shadow: none;
  transition: box-shadow .15s ease, border-color .15s ease, transform .15s ease;
  overflow: hidden;
}
.singleCatItem:hover {
  box-shadow: var(--lp-shadow-sm);
  border-color: var(--lp-blue);
  transform: translateY(-2px);
}
.singleCatItem .catTop {
  border-radius: var(--lp-radius-md) var(--lp-radius-md) 0 0;
}
.singleCatItem h4 {
  font-size: 13.5px;
  font-weight: 600;
  color: var(--lp-ink);
  padding: 10px 12px;
  margin: 0;
}
.categorySection .arrowsection a {
  background: var(--lp-card);
  border: 1px solid var(--lp-border);
  color: var(--lp-ink);
  box-shadow: var(--lp-shadow-sm);
}
.categorySection .arrowsection a:hover {
  background: var(--lp-blue);
  color: #fff;
  border-color: var(--lp-blue);
}

/* Search bar (home welcome section) */
.searchSection.welcomeSearch .search-box-2 {
  background: var(--lp-card);
  border: 1px solid var(--lp-border);
  border-radius: 999px;
  box-shadow: var(--lp-shadow-sm);
}
.searchSection.welcomeSearch .search-txt-2 {
  border: none;
  background: transparent;
}
.searchSection.welcomeSearch .search-btn {
  background: var(--lp-blue);
  color: #fff;
  border-radius: 50%;
}

/* ---------- Section headings ---------- */
.defaultHeading h1,
.singleCategoryHeader h4 {
  font-family: var(--lp-font-heading);
  color: var(--lp-ink);
  font-weight: 700;
  letter-spacing: -.01em;
}
.singleCategoryHeader {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.singleCategoryHeader .seeMore_link {
  color: var(--lp-blue);
  font-weight: 600;
}

/* ---------- Item cards ---------- */
.homeSingle_item {
  background: var(--lp-card);
  border: 1px solid var(--lp-border);
  border-radius: var(--lp-radius-lg);
  box-shadow: none;
  overflow: hidden;
  transition: box-shadow .15s ease, border-color .15s ease, transform .15s ease;
  height: auto !important;
  align-items: flex-start !important;
}
.homeSingle_item:hover {
  box-shadow: var(--lp-shadow);
  border-color: transparent;
  transform: translateY(-3px);
}
.homeSingle_item .item_images {
  border-radius: var(--lp-radius-lg) 0 0 var(--lp-radius-lg) !important;
  overflow: hidden;
  align-self: center !important;
  flex-shrink: 0 !important;
  width: 96px !important;
  height: 96px !important;
}
.homeSingle_item .homeSingleImg {
  width: 100% !important;
  height: 100% !important;
  background-size: cover !important;
  background-position: center !important;
}
.homeSingle_item .item__details {
  padding: 14px 16px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}
.homeSingle_item .itemDetailsInfo h4 {
  font-size: 15px;
  font-weight: 700;
  color: var(--lp-ink);
  margin-bottom: 4px;
}
.homeSingle_item .homeItem_right {
  color: var(--lp-blue-dark);
  font-weight: 700;
  font-size: 14px;
  margin: 2px 0 4px;
}
.homeSingle_item .price_section .details {
  color: var(--lp-muted);
  font-size: 12.5px;
  line-height: 1.5;
  margin: 0;
  overflow: visible;
  display: block;
}
.homeSingle_item .addIcon {
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--lp-blue-light);
  color: var(--lp-blue-dark);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: 700;
  transition: background .15s ease, color .15s ease;
}
.homeSingle_item:hover .addIcon {
  background: var(--lp-blue);
  color: #fff;
}
.veg_type.c_green { color: #1e7e34 !important; }
.veg_type.c_red { color: #b02a37 !important; }

/* ---------- Item detail modal ---------- */
.itemPopupModal .modal-dialog {
  max-width: 480px;
}
.itemPopupModal .modal-content {
  border-radius: var(--lp-radius-lg);
  border: none;
  box-shadow: var(--lp-shadow);
  overflow: hidden;
}
.itemPopupModal .modal-header {
  border-bottom: 1px solid var(--lp-border);
  padding: 16px 20px;
}
.itemPopupModal .modal-title {
  font-family: var(--lp-font-heading);
  font-weight: 700;
  color: var(--lp-ink);
  font-size: 17px;
}
.singleItem .itemHeader .itemImg img,
.singleItem .itemHeader .itemImg .item__slider img {
  border-radius: 0;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
.singleItemContent {
  padding: 18px 20px 0;
}
.itemTitle h4 {
  font-family: var(--lp-font-heading);
  font-weight: 700;
  color: var(--lp-ink);
  font-size: 18px;
}
.stock_counter .in_stock { color: #1e7e34; font-weight: 600; }
.stock_counter .out_of_stock { color: #b02a37; font-weight: 600; }

.itemVariants {
  display: flex !important;
  flex-wrap: wrap !important;
  overflow-x: visible !important;
  gap: 8px;
}
.itemVariants label.variant-btn {
  border: 1px solid var(--lp-border) !important;
  border-radius: 999px !important;
  padding: 8px 16px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--lp-ink) !important;
  background: #fff !important;
  cursor: pointer;
  transition: all .15s ease;
}
.itemVariants label.variant-btn:first-child,
.itemVariants label.variant-btn:last-child {
  border-radius: 999px !important;
}
.itemVariants label.variant-btn.active,
.itemVariants label.variant-btn:has(input:checked) {
  background: var(--lp-blue) !important;
  border-color: var(--lp-blue) !important;
  color: #fff !important;
}

.item_extra_details > p {
  color: var(--lp-muted);
  font-size: 13.5px;
  line-height: 1.6;
}
.allergenArea { margin-top: 10px; }

.item_extra_list {
  border-top: 1px solid var(--lp-border);
  padding-top: 14px;
  margin-top: 14px;
}
.extraTopHeading { display: flex; align-items: baseline; justify-content: space-between; }
.extrasHeading {
  font-family: var(--lp-font-heading);
  font-size: 14.5px;
  font-weight: 700;
  color: var(--lp-ink);
}
.extrasHeading small { font-weight: 500; color: var(--lp-muted); }

.extraUl { list-style: none; padding: 0; margin: 8px 0 0; }
.extraLabel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 0;
  border-bottom: 1px solid var(--lp-border);
  gap: 10px;
}
.extraLabel:last-child { border-bottom: none; }
.extraLabel .checkBoxArea p { margin: 0; display: flex; align-items: center; }
.extraLabel .mr-30 { color: var(--lp-ink); font-size: 13.5px; font-weight: 500; }
.extraLabel .left_bold { color: var(--lp-blue-dark); font-weight: 700; font-size: 13px; }

.increaseDecrease {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--lp-bg-soft);
  border-radius: 999px;
  padding: 4px 8px;
}
.increaseDecrease a {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid var(--lp-border);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--lp-ink);
  font-weight: 700;
  line-height: 1;
}
.increaseDecrease .extraQty {
  width: 22px;
  border: none;
  background: transparent;
  text-align: center;
  font-weight: 700;
  color: var(--lp-ink);
  font-size: 13px;
}

.itemComments textarea {
  border: 1px solid var(--lp-border);
  border-radius: var(--lp-radius-md);
  font-size: 13px;
  resize: none;
}

.itemPopupModal .modal-footer {
  border-top: 1px solid var(--lp-border);
  padding: 14px 20px 18px;
}
.modalFooterArea {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  gap: 12px;
}
.modalIncreateArea {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--lp-bg-soft);
  border-radius: 999px;
  padding: 6px 6px;
  flex-shrink: 0;
}
.modalIncreateArea .decrease,
.modalIncreateArea .increase {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid var(--lp-border);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  color: var(--lp-ink);
  cursor: pointer;
}
.modalIncreateArea .qty {
  border: none;
  background: transparent;
  width: 28px;
  text-align: center;
  font-weight: 700;
  color: var(--lp-ink);
}
.addToCartBtn {
  background: var(--lp-blue) !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 12px 22px !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  white-space: nowrap !important;
  box-shadow: 0 12px 24px -12px rgba(255, 99, 5, .6);
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-width: 0 !important;
  flex: 1 1 auto;
  overflow: hidden;
}
@media (max-width: 400px) {
  .modalFooterArea { gap: 8px; }
  .modalIncreateArea { gap: 4px; padding: 4px; }
  .modalIncreateArea .decrease,
  .modalIncreateArea .increase { width: 26px; height: 26px; }
  .modalIncreateArea .qty { width: 20px; }
  .addToCartBtn {
    padding: 11px 14px !important;
    font-size: 12.5px !important;
    gap: 6px;
  }
  .addToCartBtn .displayPrice { font-size: 12px !important; }
}
.addToCartBtn:hover { background: var(--lp-blue-dark) !important; }
.addToCartBtn .displayPrice {
  font-size: 13px !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
}
.itemPopupModal .btn-danger { border-radius: 999px; }

/* ---------- Cart sidebar (drawer) ---------- */
.shopping_cart.style_2 {
  background: var(--lp-card);
  box-shadow: -20px 0 40px -24px rgba(15, 23, 60, .3);
}
.shopping_cart .cart_heading {
  border-bottom: 1px solid var(--lp-border);
  padding: 18px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.shopping_cart .cart_heading h4 {
  font-family: var(--lp-font-heading);
  font-weight: 700;
  color: var(--lp-ink);
  margin: 0;
}
.cartItems { padding: 4px 20px; }
.single_item_cart {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 0;
  border-bottom: 1px solid var(--lp-border);
}
.single_item_cart .incress_area {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  background: var(--lp-bg-soft);
  border-radius: 999px;
  padding: 6px 4px;
}
.single_item_cart .value-button {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid var(--lp-border);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--lp-ink);
  cursor: pointer;
}
.single_item_cart .cart_qty_field .qty {
  border: none;
  background: transparent;
  width: 24px;
  text-align: center;
  font-weight: 700;
  font-size: 12.5px;
}
.left_cart img {
  width: 56px;
  height: 56px;
  border-radius: var(--lp-radius-md);
  object-fit: cover;
}
.single_cart_item_details h4 {
  font-size: 13.5px;
  font-weight: 700;
  color: var(--lp-ink);
  margin-bottom: 2px;
}
.single_cart_item_details .extrasTitleCard {
  display: block;
  font-size: 11px;
  font-weight: 400;
  color: var(--lp-muted);
}
.sizeTagName, .sizePrice p { font-size: 12px; color: var(--lp-muted); margin: 2px 0; }
.currencyTag { font-size: 12.5px; color: var(--lp-blue-dark); font-weight: 700; margin: 2px 0 0; }
.right_cart .remove_item {
  color: var(--lp-muted);
  width: 26px;
  height: 26px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.right_cart .remove_item:hover { background: rgba(220, 53, 69, .1); color: #b02a37; }

.bottom_cart_order {
  border-top: 1px solid var(--lp-border);
  padding: 16px 20px 20px;
}
.sub_total_list h4 {
  font-size: 14px;
  color: var(--lp-ink);
  font-weight: 600;
  display: flex;
  justify-content: space-between;
}
.order-btn {
  background: var(--lp-blue) !important;
  border: none !important;
  border-radius: 999px !important;
  font-weight: 700 !important;
  padding: 13px !important;
  box-shadow: 0 12px 24px -12px rgba(255, 99, 5, .6);
}
.order-btn:hover { background: var(--lp-blue-dark) !important; }
.top_cart_order .limit_msg h4 { color: var(--lp-ink); font-weight: 600; }

/* ---------- Checkout ---------- */
.singlePage.style_2 {
  background: var(--lp-card);
  border: 1px solid var(--lp-border);
  border-radius: var(--lp-radius-lg);
  box-shadow: none;
  padding: 18px;
}
.total_sum_area .total_sum {
  background: var(--lp-card);
  border: 1px solid var(--lp-border);
  border-radius: var(--lp-radius-lg);
  padding: 18px;
}
.order_form .form-control {
  border: 1px solid var(--lp-border);
  border-radius: var(--lp-radius-md);
  font-size: 13.5px;
  padding: 10px 14px;
}
.order_form .form-control:focus {
  border-color: var(--lp-blue);
  box-shadow: 0 0 0 3px var(--lp-blue-light);
}
.order_form button[type="submit"],
.order_form .btn-info {
  background: var(--lp-blue) !important;
  border: none !important;
  border-radius: 999px !important;
  font-weight: 700 !important;
  box-shadow: 0 12px 24px -12px rgba(255, 99, 5, .6);
}
.order_form button[type="submit"]:hover,
.order_form .btn-info:hover { background: var(--lp-blue-dark) !important; }
