/*
 * Grocery storefront (vegetables) — fluid layout & zoom / narrow-viewport fixes.
 * Loaded after home-1.css; scoped with body.storefront-theme-vegetables so other
 * themes keep the shared header CSS defaults.
 */

body.storefront-theme-vegetables {
  min-width: 0;
}

body.storefront-theme-vegetables .wrapper {
  max-width: 100%;
  min-width: 0;
}

body.storefront-theme-vegetables .main-panel,
body.storefront-theme-vegetables .main-panel > .content,
body.storefront-theme-vegetables .page-inner {
  min-width: 0;
  max-width: 100%;
}

/* --- Header: middle row (logo + search + icons) --- */
body.storefront-theme-vegetables .header .header-middle .container {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  column-gap: 12px;
  row-gap: 12px;
  min-width: 0;
}

body.storefront-theme-vegetables .header .header-middle .header-left,
body.storefront-theme-vegetables .header .header-middle .header-right {
  flex: 0 0 auto;
  min-width: 0;
}

body.storefront-theme-vegetables .header .header-middle .header-center {
  flex: 1 1 auto;
  min-width: 0;
  max-width: 100%;
}

body.storefront-theme-vegetables .header .header-middle .brand-logo img {
  max-height: 52px;
  width: auto;
}

body.storefront-theme-vegetables .header-search-form {
  width: 100%;
  max-width: min(520px, 100%);
  min-width: 0;
  box-sizing: border-box;
}

body.storefront-theme-vegetables .header-search-form .select-custom,
body.storefront-theme-vegetables .header-search-form .search-input {
  min-width: 0;
}

body.storefront-theme-vegetables .header-search-form .search-input input {
  min-width: 0;
  width: 100%;
}

@media (max-width: 1399.98px) and (min-width: 1200px) {
  body.storefront-theme-vegetables .header-search-form {
    max-width: min(480px, 100%);
  }
}

/* Top bar: allow wrapping instead of forcing one row off-screen */
@media (max-width: 1399.98px) {
  body.storefront-theme-vegetables .header .header-top .row {
    row-gap: 6px;
  }

  body.storefront-theme-vegetables .header .header-top .header-left ul,
  body.storefront-theme-vegetables .header .header-top .header-right ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    row-gap: 6px;
  }
}

/* --- Header bottom: browse button + primary nav --- */
body.storefront-theme-vegetables .header .header-bottom .main-nav {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: nowrap;
  gap: 12px;
  min-width: 0;
  overflow: visible;
}

body.storefront-theme-vegetables .header .header-bottom .menu-left {
  flex: 0 0 auto;
  padding-inline-end: clamp(16px, 3vw, 100px);
}

body.storefront-theme-vegetables .main-nav .menu-left .menu-item .btn {
  min-width: min(257px, 100%);
  white-space: normal;
  text-align: center;
}

body.storefront-theme-vegetables .header .header-bottom .menu.mobile-nav {
  flex: 1 1 auto;
  min-width: 0;
}

body.storefront-theme-vegetables .header .header-bottom .menu.mobile-nav .menu-right {
  flex-wrap: nowrap;
  white-space: nowrap;
}

/* Dropdowns that use fixed pixel widths wider than the viewport */
body.storefront-theme-vegetables .menu .cart-dropdown {
  min-width: 0;
  width: min(450px, calc(100vw - 24px));
  max-width: calc(100vw - 24px);
  box-sizing: border-box;
}

body.storefront-theme-vegetables .menu .category-dropdown .mega-dropdown {
  width: min(992px, calc(100vw - 32px));
  max-width: calc(100vw - 32px);
  box-sizing: border-box;
}

/* --- Home: hero slider text blocks --- */
body.storefront-theme-vegetables .home-slider.home-slider-1 .slider-content {
  max-width: min(540px, calc(100% - 32px));
  box-sizing: border-box;
}

body.storefront-theme-vegetables .home-slider.home-slider-1 .text-lg {
  max-width: min(420px, 100%);
}

body.storefront-theme-vegetables .home-slider-1 .animated-slider .slick-dots {
  margin-inline-start: clamp(16px, 4vw, 50px);
}

/* --- Category carousel: circles must not exceed slide width --- */
body.storefront-theme-vegetables .category-1 .category-slider .slick-slide > div {
  min-width: 0;
}

body.storefront-theme-vegetables .category-1 .category-item {
  min-width: 0;
}

body.storefront-theme-vegetables .category-1 .category-item a {
  width: 100%;
}

body.storefront-theme-vegetables .category-1 .category-item .category-img {
  width: 150px;
  height: 150px;
  max-width: 100%;
  margin-inline: auto;
  box-sizing: border-box;
}

/* --- Featured / CTA images --- */
body.storefront-theme-vegetables .featured .image img,
body.storefront-theme-vegetables .newsletter .image img {
  max-width: 100%;
  height: auto;
}

body.storefront-theme-vegetables .newsletter .row {
  min-width: 0;
}

body.storefront-theme-vegetables .newsletter .container .content {
  max-width: min(480px, 100%);
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
}

/* --- Tab bar --- */
body.storefront-theme-vegetables .tabs-navigation-scroll {
  min-width: 0;
}

/* --- Footer newsletter pill --- */
body.storefront-theme-vegetables .footer-area .newsletter-form .input-group {
  flex-wrap: wrap;
  min-width: 0;
}

body.storefront-theme-vegetables .footer-area .newsletter-form .input-group .form-control {
  flex: 1 1 180px;
  min-width: 0;
}

body.storefront-theme-vegetables .footer-area .newsletter-form .input-group .btn {
  flex: 1 1 auto;
  min-width: min(100%, 160px);
}

/* --- Product grids inside grocery home --- */
body.storefront-theme-vegetables .flash-sale .row,
body.storefront-theme-vegetables .best-sale .row,
body.storefront-theme-vegetables .banner-collection .row {
  min-width: 0;
}

/* --- Grocery hardening pass: keep tenant content inside its rails --- */
body.storefront-theme-vegetables *,
body.storefront-theme-vegetables *::before,
body.storefront-theme-vegetables *::after {
  box-sizing: border-box;
}

body.storefront-theme-vegetables .container {
  max-width: min(1400px, calc(100vw - 24px));
}

body.storefront-theme-vegetables .row > [class*="col"] {
  min-width: 0;
}

body.storefront-theme-vegetables :is(.title, .title-sm, .title-md, .product-title, .product-category, .banner-content, .footer-widget, .menu-link, .nav-link) {
  overflow-wrap: anywhere;
}

body.storefront-theme-vegetables :is(.btn, button, input, select, textarea) {
  max-width: 100%;
}

/* Desktop header compression for zoomed laptops and 1200px-ish viewports. */
body.storefront-theme-vegetables .header .header-top [class*="col"],
body.storefront-theme-vegetables .header .header-middle [class*="header-"],
body.storefront-theme-vegetables .header .header-bottom .main-nav > * {
  min-width: 0;
}

body.storefront-theme-vegetables .header .header-top .header-left ul,
body.storefront-theme-vegetables .header .header-top .header-right .menu,
body.storefront-theme-vegetables .header .header-middle .header-right .menu {
  display: flex;
  align-items: center;
  min-width: 0;
}

body.storefront-theme-vegetables .header .header-top .header-left ul > li,
body.storefront-theme-vegetables .header .header-top .header-right .menu > li {
  min-width: 0;
  line-height: 1.35;
}

body.storefront-theme-vegetables .header .header-middle .header-right .menu {
  flex-wrap: nowrap;
  justify-content: flex-end;
}

body.storefront-theme-vegetables .header .header-middle .header-right .menu .menu-link {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  white-space: nowrap;
}

body.storefront-theme-vegetables .header .header-middle .header-right .menu .menu-link i {
  flex: 0 0 auto;
}

body.storefront-theme-vegetables .header-search-form .select-custom {
  flex: 0 1 180px;
}

body.storefront-theme-vegetables .header-search-form .search-input {
  flex: 1 1 auto;
}

body.storefront-theme-vegetables .header-search-form .select-custom .nice-select {
  max-width: 100%;
  padding-inline: 14px 28px;
}

body.storefront-theme-vegetables .header-search-form .select-custom .nice-select .current,
body.storefront-theme-vegetables .header-search-form .search-input input {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.storefront-theme-vegetables .main-nav .menu-left .menu-item .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  line-height: 1.25;
}

body.storefront-theme-vegetables .main-nav .menu-left .menu-item .btn span {
  min-width: 0;
}

body.storefront-theme-vegetables .header .header-bottom .menu.mobile-nav .nav-link {
  padding-inline: 12px;
}

body.storefront-theme-vegetables .menu :is(.setting-dropdown, .cart-dropdown, .submenu, .mega-dropdown, .category-dropdown) {
  overflow-wrap: anywhere;
}

body.storefront-theme-vegetables .menu .category-dropdown .submenu {
  width: min(240px, calc(100vw - 32px));
  max-width: calc(100vw - 32px);
}

/* Home hero and banners. */
body.storefront-theme-vegetables .home-slider .slider-item > .d-flex {
  min-width: 0;
}

body.storefront-theme-vegetables .home-slider .title {
  line-height: 1.15;
}

body.storefront-theme-vegetables .home-slider .btn {
  white-space: normal;
}

body.storefront-theme-vegetables .banner-sm .banner-content {
  max-width: min(78%, 430px);
  padding-inline: 24px;
}

body.storefront-theme-vegetables .banner-sm .banner-content .content-inner {
  min-width: 0;
  max-width: 100%;
}

body.storefront-theme-vegetables .banner-sm .banner-content :is(h2, h3, .title, .title-sm, .title-md) {
  line-height: 1.2;
}

body.storefront-theme-vegetables .banner-sm .btn {
  min-width: 0;
  white-space: normal;
}

/* Product cards. */
body.storefront-theme-vegetables .product-default {
  min-width: 0;
}

body.storefront-theme-vegetables .product-default .product-img .lazy-container {
  display: block;
}

body.storefront-theme-vegetables .product-default .product-img img {
  object-fit: cover;
}

body.storefront-theme-vegetables .product-default .product-details {
  min-width: 0;
}

body.storefront-theme-vegetables .product-default .product-price {
  flex-wrap: wrap;
  gap: 6px 8px;
}

body.storefront-theme-vegetables .product-default .product-price .new-price {
  margin-inline-end: 0;
}

body.storefront-theme-vegetables .product-default .product-price span {
  min-width: 0;
  line-height: 1.2;
}

body.storefront-theme-vegetables .product-default .product-countdown {
  flex-wrap: wrap;
  gap: 8px;
}

body.storefront-theme-vegetables .product-single-details .product-countdown .count:not(:last-child),
body.storefront-theme-vegetables .product-default .product-countdown .count:not(:last-child) {
  margin-inline-end: 0;
}

body.storefront-theme-vegetables .product-default .btn-icon-group.btn-inline,
body.storefront-theme-vegetables .product-default .btn-icon-group.btn-center-position {
  flex-wrap: wrap;
  gap: 8px;
  padding-inline: 10px;
}

body.storefront-theme-vegetables .product-default .btn-icon-group.btn-inline .btn-icon,
body.storefront-theme-vegetables .product-default .btn-icon-group.btn-center-position .btn-icon {
  margin: 0;
  flex: 0 0 auto;
}

body.storefront-theme-vegetables .product-inline {
  min-width: 0;
  gap: 14px;
}

body.storefront-theme-vegetables .product-inline .product-img {
  width: 112px;
  flex: 0 0 112px;
}

body.storefront-theme-vegetables .product-inline-3 .product-img {
  width: 118px;
  flex-basis: 118px;
}

body.storefront-theme-vegetables .product-inline .product-details {
  flex: 1 1 auto;
  width: auto;
  padding-inline-start: 0;
}

body.storefront-theme-vegetables .product-inline .btn-icon-group.btn-inline {
  justify-content: flex-start;
  padding-inline: 0;
}

/* CTA and footer forms. */
body.storefront-theme-vegetables .newsletter {
  overflow: hidden;
}

body.storefront-theme-vegetables .newsletter .container .content .text {
  max-width: 100%;
}

body.storefront-theme-vegetables .footer-area .footer-widget,
body.storefront-theme-vegetables .footer-area .footer-widget a,
body.storefront-theme-vegetables .footer-area .copy-right-content {
  overflow-wrap: anywhere;
}

body.storefront-theme-vegetables .footer-area .footer-widget .navbar-brand img {
  max-height: 70px;
  width: auto;
}

body.storefront-theme-vegetables .mobile-menu {
  width: min(320px, calc(100vw - 48px));
  max-width: calc(100vw - 48px);
}

body.storefront-theme-vegetables .quick-view-modal .modal-dialog {
  max-width: min(1140px, calc(100vw - 24px));
}

@media (max-width: 1399.98px) and (min-width: 1200px) {
  body.storefront-theme-vegetables .header .header-middle .brand-logo img {
    max-width: 150px;
  }

  body.storefront-theme-vegetables .header .header-middle .header-right .menu .menu-item:not(:last-child) {
    margin-inline-end: 10px;
  }

  body.storefront-theme-vegetables .header .header-middle .header-right .menu .menu-link {
    font-size: 13px;
  }

  body.storefront-theme-vegetables .header .header-middle .header-right .menu .menu-link i {
    padding-right: 6px;
    margin-inline-end: 0;
  }

  body.storefront-theme-vegetables .header-search-form {
    max-width: min(430px, 100%);
  }

  body.storefront-theme-vegetables .header .header-bottom .menu-left {
    padding-inline-end: 18px;
  }
}

@media (max-width: 1279.98px) and (min-width: 1200px) {
  body.storefront-theme-vegetables .header .header-middle .brand-logo img {
    max-width: 130px;
  }

  body.storefront-theme-vegetables .header .header-middle .header-right .menu .menu-link {
    font-size: 0;
  }

  body.storefront-theme-vegetables .header .header-middle .header-right .menu .menu-link i {
    font-size: 22px;
    padding-right: 0;
  }

  body.storefront-theme-vegetables .header-search-form {
    max-width: min(520px, 100%);
  }
}

@media (max-width: 1199.98px) {
  body.storefront-theme-vegetables .mobile-navbar {
    background: var(--color-white);
  }

  body.storefront-theme-vegetables .mobile-menu .header-search-form {
    width: calc(100% - 32px);
    max-width: none;
  }

  body.storefront-theme-vegetables .home-slider .title {
    font-size: 40px;
  }

  body.storefront-theme-vegetables .home-slider.home-slider-1 .slider-content {
    padding-inline: 28px;
  }

  body.storefront-theme-vegetables .featured .row {
    row-gap: 10px;
  }

  body.storefront-theme-vegetables .product-default .btn-icon-group .hover-show,
  body.storefront-theme-vegetables .product-default:hover .btn-icon-group .hover-show,
  body.storefront-theme-vegetables .product-default:hover .btn-icon-group.btn-inline .hover-show {
    opacity: 1;
    visibility: visible;
    transform: none;
  }

  body.storefront-theme-vegetables .btn-center-position {
    top: auto;
    bottom: 14px;
    transform: translateX(-50%);
    visibility: visible;
    opacity: 1;
  }
}

@media (max-width: 991.98px) {
  body.storefront-theme-vegetables .section-title.title-inline {
    align-items: flex-start;
  }

  body.storefront-theme-vegetables .section-title.title-center .title,
  body.storefront-theme-vegetables h2 {
    font-size: 34px;
  }

  body.storefront-theme-vegetables .home-slider .title {
    font-size: 34px;
  }

  body.storefront-theme-vegetables .home-slider .slider-item.ratio::before {
    padding-bottom: 78%;
  }

  body.storefront-theme-vegetables .home-slider .banner-sm.ratio.ratio-5-3::before {
    padding-bottom: 44%;
  }

  body.storefront-theme-vegetables .banner-sm .banner-content {
    max-width: min(82%, 380px);
  }

  body.storefront-theme-vegetables .newsletter {
    padding-block: 50px 20px;
  }

  body.storefront-theme-vegetables .newsletter .image img {
    margin-inline: auto;
  }

  body.storefront-theme-vegetables .footer-area .footer-top {
    padding-top: 70px;
  }
}

@media (max-width: 767.98px) {
  body.storefront-theme-vegetables .container {
    max-width: calc(100vw - 24px);
  }

  body.storefront-theme-vegetables .section-title.title-inline {
    flex-direction: column;
    gap: 4px;
  }

  body.storefront-theme-vegetables .section-title.title-inline .slider-arrow,
  body.storefront-theme-vegetables .section-title.title-inline .slider-arrow-inline,
  body.storefront-theme-vegetables .section-title.title-inline > .btn {
    align-self: flex-start;
  }

  body.storefront-theme-vegetables .section-title.title-center .title,
  body.storefront-theme-vegetables h2 {
    font-size: 30px;
  }

  body.storefront-theme-vegetables .home-slider .title {
    font-size: 30px;
    margin-bottom: 16px;
  }

  body.storefront-theme-vegetables .home-slider .text-lg {
    font-size: 16px;
  }

  body.storefront-theme-vegetables .home-slider.home-slider-1 .slider-content {
    padding-inline: 20px;
  }

  body.storefront-theme-vegetables .banner-sm .banner-content {
    max-width: 90%;
    padding-inline: 18px;
  }

  body.storefront-theme-vegetables .banner-sm .banner-content h3,
  body.storefront-theme-vegetables .banner-sm .banner-content h2 {
    margin-bottom: 14px;
  }

  body.storefront-theme-vegetables .product-default .product-details {
    padding-inline: 16px;
  }

  body.storefront-theme-vegetables .footer-area .newsletter-form .input-group {
    border-radius: 12px !important;
    gap: 8px;
    padding: 8px !important;
  }

  body.storefront-theme-vegetables .footer-area .newsletter-form .input-group .form-control,
  body.storefront-theme-vegetables .footer-area .newsletter-form .input-group .btn {
    border-radius: 8px !important;
  }
}

@media (max-width: 575.98px) {
  body.storefront-theme-vegetables .container {
    width: 100%;
    max-width: 100%;
    padding-inline: 16px;
  }

  body.storefront-theme-vegetables .row {
    --bs-gutter-x: 20px;
  }

  body.storefront-theme-vegetables .section-title.title-center .title,
  body.storefront-theme-vegetables h2 {
    font-size: 26px;
  }

  body.storefront-theme-vegetables .home-slider .title {
    font-size: 28px;
  }

  body.storefront-theme-vegetables .home-slider .slider-item.ratio::before {
    padding-bottom: 116%;
  }

  body.storefront-theme-vegetables .home-slider .banner-sm.ratio.ratio-5-3::before {
    padding-bottom: 66%;
  }

  body.storefront-theme-vegetables .banner-sm .banner-content {
    max-width: 100%;
    padding: 18px 16px;
  }

  body.storefront-theme-vegetables .banner-sm .banner-content :is(h2, h3, .title-sm, .title-md) {
    font-size: 20px;
  }

  body.storefront-theme-vegetables .category-1 .category-item .category-img {
    width: min(132px, 100%);
    height: min(132px, 100%);
    max-width: 100%;
  }

  body.storefront-theme-vegetables .tabs-navigation-scroll .nav {
    margin-inline: 0;
  }

  body.storefront-theme-vegetables .tabs-navigation .nav .nav-link {
    padding: 9px 14px;
    margin-inline: 0 8px;
  }

  body.storefront-theme-vegetables .product-inline,
  body.storefront-theme-vegetables .slick-slide .product-default.product-inline {
    align-items: flex-start;
    gap: 12px;
  }

  body.storefront-theme-vegetables .product-inline .product-img,
  body.storefront-theme-vegetables .product-inline-3 .product-img {
    width: 92px;
    flex-basis: 92px;
    margin-right: 0;
  }

  body.storefront-theme-vegetables .product-inline .product-title {
    font-size: 15px;
  }

  body.storefront-theme-vegetables .product-default .product-price span {
    font-size: 15px;
  }

  body.storefront-theme-vegetables .product-default .product-price .new-price {
    font-size: 17px;
  }

  body.storefront-theme-vegetables .product-single-details .product-countdown .count,
  body.storefront-theme-vegetables .product-default .product-countdown .count {
    width: 38px;
    height: 38px;
  }

  body.storefront-theme-vegetables .footer-area .footer-top {
    padding-top: 52px;
  }
}

@media (max-width: 399.98px) {
  body.storefront-theme-vegetables .mobile-menu {
    width: calc(100vw - 28px);
    max-width: calc(100vw - 28px);
  }

  body.storefront-theme-vegetables .home-slider .slider-item.ratio::before {
    padding-bottom: 136%;
  }

  body.storefront-theme-vegetables .home-slider .title {
    font-size: 24px;
  }

  body.storefront-theme-vegetables .home-slider .btn {
    padding-inline: 14px;
  }

  body.storefront-theme-vegetables .product-inline .product-img,
  body.storefront-theme-vegetables .product-inline-3 .product-img {
    width: 82px;
    flex-basis: 82px;
  }
}
