.elementor-1321 .elementor-element.elementor-element-a2e7c67 > .elementor-background-overlay{background-color:transparent;background-image:linear-gradient(90deg, #000000 58%, #0000006E 100%);opacity:0.94;transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-1321 .elementor-element.elementor-element-a2e7c67{overflow:hidden;transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;margin-top:0px;margin-bottom:0px;padding:10em 0em 2em 0em;}.elementor-1321 .elementor-element.elementor-element-a2e7c67:not(.elementor-motion-effects-element-type-background), .elementor-1321 .elementor-element.elementor-element-a2e7c67 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background:url("https://justsmoked.co.uk/wp-content/uploads/2026/04/background-4.webp") 50% 50%;background-size:cover;}.elementor-1321 .elementor-element.elementor-element-a2e7c67, .elementor-1321 .elementor-element.elementor-element-a2e7c67 > .elementor-background-overlay{border-radius:0em 0em 0em 0em;}.elementor-1321 .elementor-element.elementor-element-5459623 > .elementor-element-populated{margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;padding:0px 0px 0px 0px;}.elementor-1321 .elementor-element.elementor-element-bd8dfa0 > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-1321 .elementor-element.elementor-element-bd8dfa0 > .elementor-container{max-width:700px;}.elementor-1321 .elementor-element.elementor-element-bd8dfa0{margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-bc-flex-widget .elementor-1321 .elementor-element.elementor-element-b27c5d1.elementor-column .elementor-widget-wrap{align-items:center;}.elementor-1321 .elementor-element.elementor-element-b27c5d1.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:center;align-items:center;}.elementor-1321 .elementor-element.elementor-element-b27c5d1.elementor-column > .elementor-widget-wrap{justify-content:center;}.elementor-1321 .elementor-element.elementor-element-b27c5d1 > .elementor-element-populated{margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;padding:0px 0px 0px 0px;}.elementor-1321 .elementor-element.elementor-element-ef604a7{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -18px) 0px;z-index:2;text-align:center;}.elementor-1321 .elementor-element.elementor-element-ef604a7 .elementor-heading-title{font-family:"Titan One", Sans-serif;font-size:6rem;line-height:1.1em;-webkit-text-stroke-width:2px;stroke-width:2px;-webkit-text-stroke-color:var( --e-global-color-text );stroke:var( --e-global-color-text );text-shadow:8px 8px 0px #401C10;color:#FF000078;}.elementor-1321 .elementor-element.elementor-element-f9f1c97{width:var( --container-widget-width, 84% );max-width:84%;margin:10px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:84%;--container-widget-flex-grow:0;z-index:2;text-align:center;font-family:"Inter", Sans-serif;font-size:22px;font-weight:400;line-height:1.5em;color:var( --e-global-color-secondary );}.elementor-1321 .elementor-element.elementor-element-4d1ae916{--display:flex;--overlay-opacity:0.83;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:50px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-1321 .elementor-element.elementor-element-4d1ae916:not(.elementor-motion-effects-element-type-background), .elementor-1321 .elementor-element.elementor-element-4d1ae916 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(180deg, #331D15 0%, #000000 100%);}.elementor-1321 .elementor-element.elementor-element-4d1ae916::before, .elementor-1321 .elementor-element.elementor-element-4d1ae916 > .elementor-background-video-container::before, .elementor-1321 .elementor-element.elementor-element-4d1ae916 > .e-con-inner > .elementor-background-video-container::before, .elementor-1321 .elementor-element.elementor-element-4d1ae916 > .elementor-background-slideshow::before, .elementor-1321 .elementor-element.elementor-element-4d1ae916 > .e-con-inner > .elementor-background-slideshow::before, .elementor-1321 .elementor-element.elementor-element-4d1ae916 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#000000;--background-overlay:'';}:root{--page-title-display:none;}@media(min-width:768px){.elementor-1321 .elementor-element.elementor-element-4d1ae916{--content-width:1300px;}}@media(max-width:1024px){.elementor-1321 .elementor-element.elementor-element-a2e7c67{padding:3em 0em 6em 0em;}.elementor-1321 .elementor-element.elementor-element-ef604a7 .elementor-heading-title{font-size:4rem;}.elementor-1321 .elementor-element.elementor-element-f9f1c97{font-size:1.25rem;}}@media(max-width:767px){.elementor-1321 .elementor-element.elementor-element-a2e7c67, .elementor-1321 .elementor-element.elementor-element-a2e7c67 > .elementor-background-overlay{border-radius:0em 0em 0em 0em;}.elementor-1321 .elementor-element.elementor-element-a2e7c67{padding:2em 1.5em 2em 1.5em;}.elementor-1321 .elementor-element.elementor-element-ef604a7 .elementor-heading-title{font-size:3rem;line-height:1.2em;}.elementor-1321 .elementor-element.elementor-element-f9f1c97{font-size:1.125rem;}.elementor-1321 .elementor-element.elementor-element-4d1ae916{--padding-top:0px;--padding-bottom:30px;--padding-left:10px;--padding-right:10px;}.elementor-1321 .elementor-element.elementor-element-83d9a36{margin:-10px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 10px 0px 10px;}.elementor-1321 .elementor-element.elementor-element-9ea1a5c{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}}/* Start custom CSS for container, class: .elementor-element-4d1ae916 *//* =====================================================
   JUST SMOKED - LEFT SIDEBAR SIMPLE DARK STYLE
   Parent class: jsm-opc-page
===================================================== */

.jsm-opc-page {
  background: #050505 !important;
  color: #fff !important;
}

/* Sidebar white boxes to dark */
.jsm-opc-page .sidebar-filter-wrapper,
.jsm-opc-page .product-filter-widget,
.jsm-opc-page .pickup-delivery-widget,
.jsm-opc-page .product-category-filter-widget,
.jsm-opc-page .price-filter-widget,
.jsm-opc-page .wpc-product-filter-wrapper .widget {
  background: #111 !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  border-radius: 14px !important;
  box-shadow: none !important;
}

/* Keep existing spacing, only remove white inner backgrounds */
.jsm-opc-page .widget-content,
.jsm-opc-page .sidebar-filter-wrapper * {
  box-shadow: none !important;
}

/* Text colours */
.jsm-opc-page .sidebar-filter-wrapper,
.jsm-opc-page .sidebar-filter-wrapper label,
.jsm-opc-page .sidebar-filter-wrapper span,
.jsm-opc-page .sidebar-filter-wrapper li,
.jsm-opc-page .sidebar-filter-wrapper p {
  color: #fff !important;
}

/* Headings */
.jsm-opc-page .sidebar-filter-wrapper h2,
.jsm-opc-page .sidebar-filter-wrapper h3,
.jsm-opc-page .sidebar-filter-wrapper h4,
.jsm-opc-page .sidebar-filter-wrapper .widget-title {
  color: #fff !important;
  font-weight: 700 !important;
  border-bottom: 2px solid #c91515 !important;
  padding-bottom: 10px !important;
  margin-bottom: 16px !important;
}

/* Search input + select */
.jsm-opc-page .sidebar-filter-wrapper input[type="search"],
.jsm-opc-page .sidebar-filter-wrapper .product-filter-search,
.jsm-opc-page .sidebar-filter-wrapper select {
  background: #0b0b0b !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
  border-radius: 9px !important;
  box-shadow: none !important;
}

.jsm-opc-page .sidebar-filter-wrapper input::placeholder {
  color: rgba(255,255,255,0.55) !important;
}

/* Search icon */
.jsm-opc-page .sidebar-filter-wrapper svg,
.jsm-opc-page .sidebar-filter-wrapper i {
  color: rgba(255,255,255,0.75) !important;
  fill: rgba(255,255,255,0.75) !important;
}

/* Radio and checkbox native style only */
.jsm-opc-page .sidebar-filter-wrapper input[type="radio"],
.jsm-opc-page .sidebar-filter-wrapper input[type="checkbox"] {
  accent-color: #c91515 !important;
}

/* Dividers */
.jsm-opc-page .sidebar-filter-wrapper hr {
  border: 0 !important;
  border-top: 1px solid rgba(255,255,255,0.12) !important;
}

/* Price range */
.jsm-opc-page .sidebar-filter-wrapper .ui-slider,
.jsm-opc-page .sidebar-filter-wrapper .price_slider {
  background: rgba(255,255,255,0.18) !important;
}

.jsm-opc-page .sidebar-filter-wrapper .ui-slider-range {
  background: #c91515 !important;
}

.jsm-opc-page .sidebar-filter-wrapper .ui-slider-handle {
  background: #c91515 !important;
  border: 2px solid #fff !important;
}

/* Reset / buttons */
.jsm-opc-page .sidebar-filter-wrapper button,
.jsm-opc-page .sidebar-filter-wrapper .button {
  background: #c91515 !important;
  color: #fff !important;
  border: 1px solid #e34040 !important;
  border-radius: 8px !important;
}

/* =====================================================
   JUST SMOKED - SEARCH / SHOW BOX ONLY
===================================================== */

/* Top search/show card */
.jsm-opc-page .product-filter-widget {
  background: #111111 !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  border-radius: 14px !important;
  padding: 18px !important;
  margin-bottom: 18px !important;
  box-shadow: none !important;
  color: #ffffff !important;
}

/* Remove inner box/border */
.jsm-opc-page .product-filter-widget .widget-content {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  position: relative !important;
}

/* Search input */
.jsm-opc-page .product-filter-widget .product-filter-search,
.jsm-opc-page .product-filter-widget input[type="search"],
.jsm-opc-page .product-filter-widget input[type="text"] {
  width: 100% !important;
  height: 48px !important;
  min-height: 48px !important;
  background: #0b0b0b !important;
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
  border-radius: 9px !important;
  padding: 0 42px 0 14px !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Placeholder */
.jsm-opc-page .product-filter-widget .product-filter-search::placeholder,
.jsm-opc-page .product-filter-widget input::placeholder {
  color: rgba(255,255,255,0.62) !important;
}

/* Search icon */
.jsm-opc-page .product-filter-widget .wpc-opc-search-icon {
  position: absolute !important;
  right: 14px !important;
  top: 24px !important;
  transform: translateY(-50%) !important;
  color: rgba(255,255,255,0.75) !important;
  z-index: 2 !important;
}

.jsm-opc-page .product-filter-widget .wpc-opc-search-icon svg {
  width: 17px !important;
  height: 17px !important;
  fill: rgba(255,255,255,0.75) !important;
}

/* Hide empty search button */
.jsm-opc-page .product-filter-widget button.search {
  display: none !important;
}

/* Divider */
.jsm-opc-page .product-filter-widget hr {
  border: 0 !important;
  border-top: 1px solid rgba(255,255,255,0.14) !important;
  margin: 18px 0 !important;
}

/* Show text */
.jsm-opc-page .product-filter-widget label,
.jsm-opc-page .product-filter-widget span,
.jsm-opc-page .product-filter-widget strong {
  color: #ffffff !important;
  opacity: 1 !important;
  font-weight: 600 !important;
}

/* Show dropdown */
.jsm-opc-page .product-filter-widget select {
  height: 44px !important;
  min-height: 44px !important;
  background: #0b0b0b !important;
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
  border-radius: 9px !important;
  padding: 0 12px !important;
  box-shadow: none !important;
  outline: none !important;
}



/* =====================================================
   LEFT SIDEBAR - REMOVE OUTER GAP + INNER BOX BORDERS
===================================================== */

/* Remove green/extra wrapper padding around sidebar widgets */
.jsm-opc-page .wpc-product-filter-wrapper,
.jsm-opc-page .sidebar-filter-wrapper,
.jsm-opc-page .wpc-product-filter-wrapper .sidebar-filter-wrapper {
  background: transparent !important;
  background-color: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Keep spacing only between widgets */
.jsm-opc-page .sidebar-filter-wrapper .widget,
.jsm-opc-page .wpc-product-filter-wrapper .widget,
.jsm-opc-page .product-filter-widget,
.jsm-opc-page .pickup-delivery-widget,
.jsm-opc-page .product-category-filter-widget,
.jsm-opc-page .price-filter-widget {
  margin-bottom: 18px !important;
}

/* Remove inner boxes/borders inside Order Type and Categories */
.jsm-opc-page .pickup-delivery-widget .widget-content,
.jsm-opc-page .product-category-filter-widget .widget-content,
.jsm-opc-page .price-filter-widget .widget-content {
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
}

/* Make sure inner content does not create extra border */
.jsm-opc-page .pickup-delivery-widget .widget-content *,
.jsm-opc-page .product-category-filter-widget .widget-content *,
.jsm-opc-page .price-filter-widget .widget-content * {
  box-shadow: none !important;
}

/* If plugin adds border directly to inner divs */
.jsm-opc-page .pickup-delivery-widget > div,
.jsm-opc-page .product-category-filter-widget > div,
.jsm-opc-page .price-filter-widget > div {
  border: 0 !important;
  box-shadow: none !important;
}

/* Price range amount + dash colour */
.jsm-opc-page .wpc-product-filter-wrapper .sidebar-filter-wrapper .wpc-price {
  color: #ffffff !important;
}

/* Price text inside, just in case */
.jsm-opc-page .wpc-product-filter-wrapper .sidebar-filter-wrapper .wpc-price span,
.jsm-opc-page .wpc-product-filter-wrapper .sidebar-filter-wrapper .wpc-price bdi,
.jsm-opc-page .wpc-product-filter-wrapper .sidebar-filter-wrapper .wpc-price .amount {
  color: #ffffff !important;
}

/* =====================================================
   LEFT SIDEBAR - MATCH PADDING WITH SEARCH BOX
===================================================== */

.jsm-opc-page .pickup-delivery-widget,
.jsm-opc-page .product-category-filter-widget,
.jsm-opc-page .price-filter-widget {
  padding: 18px !important;
  border-radius: 14px !important;
  background: #111111 !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  box-shadow: none !important;
}

/* Keep inner content clean, no inner box */
.jsm-opc-page .pickup-delivery-widget .widget-content,
.jsm-opc-page .product-category-filter-widget .widget-content,
.jsm-opc-page .price-filter-widget .widget-content {
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Heading spacing inside padded box */
.jsm-opc-page .pickup-delivery-widget .widget-title,
.jsm-opc-page .product-category-filter-widget .widget-title,
.jsm-opc-page .price-filter-widget .widget-title {
  margin: 0 0 16px 0 !important;
  padding: 0 0 10px 0 !important;
  border-bottom: 2px solid #c91515 !important;
}

/* =====================================================
   LEFT SIDEBAR - FORCE SAME CARD PADDING ON ALL FILTER BOXES
===================================================== */

/* Target all left sidebar widget boxes */
.jsm-opc-page .sidebar-filter-wrapper > .widget,
.jsm-opc-page .sidebar-filter-wrapper > div,
.jsm-opc-page .wpc-product-filter-wrapper .sidebar-filter-wrapper > .widget,
.jsm-opc-page .wpc-product-filter-wrapper .sidebar-filter-wrapper > div {
  padding: 18px !important;
  background: #111111 !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  border-radius: 14px !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

/* Remove inner box/padding only, not outer card padding */
.jsm-opc-page .sidebar-filter-wrapper > .widget .widget-content,
.jsm-opc-page .sidebar-filter-wrapper > div .widget-content {
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Fix headings so they do not touch the left edge */
.jsm-opc-page .sidebar-filter-wrapper .widget-title,
.jsm-opc-page .sidebar-filter-wrapper h2,
.jsm-opc-page .sidebar-filter-wrapper h3,
.jsm-opc-page .sidebar-filter-wrapper h4 {
  margin: 0 0 16px 0 !important;
  padding: 0 0 10px 0 !important;
  width: 100% !important;
  color: #ffffff !important;
  border-bottom: 2px solid #c91515 !important;
  box-sizing: border-box !important;
}

/* Make list content stay inside padded card */
.jsm-opc-page .sidebar-filter-wrapper ul,
.jsm-opc-page .sidebar-filter-wrapper li {
  padding-left: 0 !important;
  margin-left: 0 !important;
}

/* Checkbox/radio text spacing */
.jsm-opc-page .sidebar-filter-wrapper input[type="checkbox"],
.jsm-opc-page .sidebar-filter-wrapper input[type="radio"] {
  margin-right: 10px !important;
}

/* =====================================================
   MOBILE SEARCH + FILTER BOTTOM SHEET
===================================================== */

.jsm-filter-sheet-overlay,
.jsm-filter-sheet-head,
.jsm-mobile-filter-btn {
  display: none;
}

@media (max-width: 767px) {
  /* Search widget becomes top mobile search bar */
  .jsm-opc-page .product-filter-widget {
    width: calc(100% - 32px) !important;
    max-width: 420px !important;
    margin: 18px auto 18px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  .jsm-opc-page .product-filter-widget .widget-content {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  /* Hide Show dropdown on mobile top bar */
  .jsm-opc-page .product-filter-widget hr,
  .jsm-opc-page .product-filter-widget label,
  .jsm-opc-page .product-filter-widget select,
  .jsm-opc-page .product-filter-widget .wpc-per-page,
  .jsm-opc-page .product-filter-widget .wpc-product-per-page {
    display: none !important;
  }

  /* Search input like reference */
  .jsm-opc-page .product-filter-widget .product-filter-search,
  .jsm-opc-page .product-filter-widget input[type="search"],
  .jsm-opc-page .product-filter-widget input[type="text"] {
    flex: 1 1 auto !important;
    width: auto !important;
    height: 48px !important;
    min-height: 48px !important;

    background: #ffffff !important;
    color: #111111 !important;

    border: 0 !important;
    border-radius: 14px !important;

    padding: 0 16px 0 42px !important;
    font-size: 15px !important;
    font-weight: 500 !important;

    box-shadow: none !important;
    outline: none !important;
  }

  .jsm-opc-page .product-filter-widget .product-filter-search::placeholder,
  .jsm-opc-page .product-filter-widget input::placeholder {
    color: rgba(0,0,0,0.55) !important;
  }

  /* Search icon */
  .jsm-opc-page .product-filter-widget .wpc-opc-search-icon {
    position: absolute !important;
    left: 15px !important;
    top: 24px !important;
    transform: translateY(-50%) !important;
    z-index: 2 !important;
    color: #222222 !important;
  }

  .jsm-opc-page .product-filter-widget .wpc-opc-search-icon svg {
    width: 16px !important;
    height: 16px !important;
    fill: #222222 !important;
  }

  .jsm-opc-page .product-filter-widget button.search {
    display: none !important;
  }

  /* Small filter icon button */
  .jsm-mobile-filter-btn {
    flex: 0 0 48px !important;
    width: 48px !important;
    height: 48px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #ffffff !important;
    color: #111111 !important;

    border: 0 !important;
    border-radius: 14px !important;

    padding: 0 !important;
    margin: 0 !important;

    box-shadow: none !important;
    cursor: pointer !important;
  }

  .jsm-mobile-filter-btn svg {
    width: 21px !important;
    height: 21px !important;
    stroke: #111111 !important;
  }

  /* Overlay */
  .jsm-filter-sheet-overlay {
    display: block !important;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.58);
    z-index: 9998;

    opacity: 0;
    visibility: hidden;
    pointer-events: none;

    transition: 0.25s ease;
  }

  body.jsm-filter-sheet-open .jsm-filter-sheet-overlay {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  /* Bottom sheet - existing sidebar becomes sheet */
  .jsm-opc-page .sidebar-filter-wrapper {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;

    width: 100% !important;
    max-width: 100% !important;
    max-height: 78vh !important;

    background: #101010 !important;
    color: #ffffff !important;

    border: 1px solid rgba(255,255,255,0.12) !important;
    border-bottom: 0 !important;
    border-radius: 26px 26px 0 0 !important;

    padding: 18px 16px 90px !important;
    margin: 0 !important;

    overflow-y: auto !important;
    z-index: 9999 !important;

    transform: translateY(110%) !important;
    transition: 0.28s ease !important;

    box-shadow: 0 -20px 50px rgba(0,0,0,0.45) !important;
  }

  body.jsm-filter-sheet-open .jsm-opc-page .sidebar-filter-wrapper {
    transform: translateY(0) !important;
  }

  body.jsm-filter-sheet-open {
    overflow: hidden !important;
  }

  /* Bottom sheet handle/header */
  .jsm-filter-sheet-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    padding: 0 0 14px !important;
    margin: 0 0 14px !important;

    border-bottom: 1px solid rgba(255,255,255,0.12) !important;
  }

  .jsm-filter-sheet-head::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 10px;
    transform: translateX(-50%);
    width: 48px;
    height: 5px;
    background: rgba(255,255,255,0.18);
    border-radius: 99px;
  }

  .jsm-filter-sheet-title {
    color: #ffffff !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    margin: 18px 0 0 !important;
  }

  .jsm-filter-sheet-close {
    width: 38px !important;
    height: 38px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #191919 !important;
    color: #ffffff !important;

    border: 1px solid rgba(255,255,255,0.14) !important;
    border-radius: 12px !important;

    font-size: 22px !important;
    line-height: 1 !important;
    cursor: pointer !important;
    margin-top: 18px !important;
  }

  /* Filter cards inside bottom sheet */
  .jsm-opc-page .sidebar-filter-wrapper .widget,
  .jsm-opc-page .sidebar-filter-wrapper > div {
    background: #151515 !important;
    color: #ffffff !important;
    border: 1px solid rgba(255,255,255,0.12) !important;
    border-radius: 16px !important;
    padding: 16px !important;
    margin: 0 0 14px !important;
    box-shadow: none !important;
  }

  .jsm-opc-page .sidebar-filter-wrapper .widget-content {
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
  }

  .jsm-opc-page .sidebar-filter-wrapper .widget-title {
    color: #ffffff !important;
    border-bottom: 2px solid #c91515 !important;
    padding-bottom: 10px !important;
    margin-bottom: 16px !important;
  }

  .jsm-opc-page .sidebar-filter-wrapper label,
  .jsm-opc-page .sidebar-filter-wrapper span,
  .jsm-opc-page .sidebar-filter-wrapper li {
    color: #ffffff !important;
  }

  .jsm-opc-page .sidebar-filter-wrapper input[type="radio"],
  .jsm-opc-page .sidebar-filter-wrapper input[type="checkbox"] {
    accent-color: #c91515 !important;
  }

  /* Bottom Done button */
  .jsm-filter-sheet-done {
    position: fixed;
    left: 16px;
    right: 16px;
    bottom: 16px;

    height: 52px;
    display: none;

    background: #c91515;
    color: #ffffff;

    border: 1px solid #e34040;
    border-radius: 14px;

    font-size: 17px;
    font-weight: 800;

    z-index: 10000;
    cursor: pointer;
  }

  body.jsm-filter-sheet-open .jsm-filter-sheet-done {
    display: block;
  }
}


/* =====================================================
   MOBILE SEARCH + FILTER ICON CLEAN FIX
===================================================== */

@media (max-width: 767px) {

  /* Main filter/search widget full width */
  .jsm-opc-page .wpc-product-filter-wrapper,
  .jsm-opc-page .wpc-ajax-sidebar-filter,
  .jsm-opc-page .widget.product-filter-widget,
  .jsm-opc-page .product-filter-widget {
    width: 100% !important;
    max-width: 100% !important;
    margin: 18px 0 18px 0 !important;
    padding: 0 !important;

    background: transparent !important;
    background-color: transparent !important;

    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;

    box-sizing: border-box !important;
    overflow: visible !important;
  }

  /* Inner wrapper: search + filter icon in one clean row */
  .jsm-opc-page .product-filter-widget .widget-content {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 52px !important;
    gap: 10px !important;
    align-items: center !important;

    width: 100% !important;
    max-width: 100% !important;

    padding: 0 !important;
    margin: 0 !important;

    background: transparent !important;
    background-color: transparent !important;

    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;

    position: relative !important;
    box-sizing: border-box !important;
  }

  /* Search input */
  .jsm-opc-page .product-filter-widget .product-filter-search {
    grid-column: 1 !important;

    width: 100% !important;
    max-width: 100% !important;

    height: 52px !important;
    min-height: 52px !important;

    background: #ffffff !important;
    color: #111111 !important;

    border: 0 !important;
    border-radius: 14px !important;

    padding: 0 16px !important;

    font-size: 16px !important;
    font-weight: 500 !important;

    box-shadow: none !important;
    outline: none !important;

    box-sizing: border-box !important;
  }

  .jsm-opc-page .product-filter-widget .product-filter-search::placeholder {
    color: rgba(0,0,0,0.55) !important;
  }

  /* Hide original search icon button */
  .jsm-opc-page .product-filter-widget button.search {
    display: none !important;
  }

  /* Filter icon button */
  .jsm-opc-page .product-filter-widget .jsm-mobile-filter-btn {
    grid-column: 2 !important;

    width: 52px !important;
    height: 52px !important;
    min-width: 52px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #ffffff !important;
    color: #111111 !important;

    border: 0 !important;
    border-radius: 14px !important;

    padding: 0 !important;
    margin: 0 !important;

    box-shadow: none !important;
    cursor: pointer !important;
  }

  .jsm-opc-page .product-filter-widget .jsm-mobile-filter-btn svg {
    width: 21px !important;
    height: 21px !important;
    stroke: #111111 !important;
  }

  /* Remove Show dropdown and its white separator line on mobile */
  .jsm-opc-page .product-filter-widget .products-per-page-wrapper,
  .jsm-opc-page .product-filter-widget .search-result-products {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  /* Extra safety: remove any separator line */
  .jsm-opc-page .product-filter-widget hr,
  .jsm-opc-page .product-filter-widget::before,
  .jsm-opc-page .product-filter-widget::after,
  .jsm-opc-page .product-filter-widget .widget-content::before,
  .jsm-opc-page .product-filter-widget .widget-content::after {
    display: none !important;
    content: none !important;
    border: 0 !important;
  }
}

/* =====================================================
   MOBILE SEARCH + FILTER ICON ALIGN FIX
===================================================== */

@media (max-width: 767px) {

  .jsm-opc-page .product-filter-widget {
    width: 100% !important;
    max-width: 100% !important;
    margin: 5px 0 14px 0 !important;
    padding: 0 16px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  .jsm-opc-page .product-filter-widget .widget-content {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;

    width: 100% !important;
    max-width: 100% !important;

    padding: 0 !important;
    margin: 0 !important;

    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  .jsm-opc-page .product-filter-widget .product-filter-search {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;

    height: 52px !important;
    min-height: 52px !important;

    margin: 0 !important;
    padding: 0 18px !important;

    background: #ffffff !important;
    color: #111111 !important;

    border: 0 !important;
    border-radius: 14px !important;

    font-size: 16px !important;
    font-weight: 500 !important;

    box-shadow: none !important;
    outline: none !important;
  }

  .jsm-opc-page .product-filter-widget .product-filter-search::placeholder {
    color: rgba(0,0,0,0.55) !important;
  }

  .jsm-opc-page .product-filter-widget .jsm-mobile-filter-btn {
    flex: 0 0 52px !important;
    width: 52px !important;
    min-width: 52px !important;
    max-width: 52px !important;

    height: 52px !important;
    min-height: 52px !important;

    margin: 0 !important;
    padding: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #ffffff !important;
    color: #111111 !important;

    border: 0 !important;
    border-radius: 14px !important;

    box-shadow: none !important;
  }

  .jsm-opc-page .product-filter-widget .jsm-mobile-filter-btn svg {
    width: 21px !important;
    height: 21px !important;
    stroke: #111111 !important;
  }

  .jsm-opc-page .product-filter-widget button.search,
  .jsm-opc-page .product-filter-widget .products-per-page-wrapper,
  .jsm-opc-page .product-filter-widget .search-result-products,
  .jsm-opc-page .product-filter-widget hr {
    display: none !important;
  }
}


/* =====================================================
   MOBILE FILTER SHEET - REMOVE GAPS BETWEEN BOXES
===================================================== */

@media (max-width: 767px) {

  /* Solid sheet background so behind content never shows */
  body.jsm-filter-sheet-open .jsm-opc-page .sidebar-filter-wrapper {
    background: #080808 !important;
    background-color: #080808 !important;
    padding: 0 14px 88px !important;
    gap: 0 !important;
  }

  /* Header attached with first filter box */
  body.jsm-filter-sheet-open .jsm-filter-sheet-head {
    margin: 0 !important;
    padding: 18px 14px !important;
    background: #111111 !important;
    border: 1px solid rgba(255,255,255,0.14) !important;
    border-bottom: 0 !important;
    border-radius: 18px 18px 0 0 !important;
    box-shadow: none !important;
  }

  /* Remove space between filter widgets */
  body.jsm-filter-sheet-open .jsm-opc-page .sidebar-filter-wrapper .widget,
  body.jsm-filter-sheet-open .jsm-opc-page .sidebar-filter-wrapper > div {
    margin: 0 !important;
    background: #111111 !important;
    border: 1px solid rgba(255,255,255,0.14) !important;
    border-bottom: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  /* First real widget should connect to header */
  body.jsm-filter-sheet-open .jsm-opc-page .sidebar-filter-wrapper .widget:first-of-type {
    border-top: 0 !important;
  }

  /* Last widget gets rounded bottom */
  body.jsm-filter-sheet-open .jsm-opc-page .sidebar-filter-wrapper .widget:last-of-type {
    border-bottom: 1px solid rgba(255,255,255,0.14) !important;
    border-radius: 0 0 18px 18px !important;
  }

  /* Remove inner content gaps */
  body.jsm-filter-sheet-open .jsm-opc-page .sidebar-filter-wrapper .widget-content {
    margin: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }
}

/* =====================================================
   MOBILE FILTER SHEET - EXACT GAP FIX
   HTML structure: pickup widget + br + etn-category-widget
===================================================== */

@media (max-width: 767px) {

  /* Solid sheet background */
  body.jsm-filter-sheet-open .jsm-opc-page .sidebar-filter-wrapper {
    background: #080808 !important;
    padding: 0 14px 88px !important;
    margin: 0 !important;
    gap: 0 !important;
  }

  /* The real issue: direct <br> between Order Type and Categories */
  body.jsm-filter-sheet-open .jsm-opc-page .sidebar-filter-wrapper > br,
  body.jsm-filter-sheet-open .jsm-opc-page .pickup-delivery-widget + br {
    display: none !important;
    height: 0 !important;
    line-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    content: none !important;
  }

  /* Header attached to filters */
  body.jsm-filter-sheet-open .jsm-filter-sheet-head {
    margin: 0 !important;
    padding: 18px 14px !important;
    background: #111111 !important;
    border: 1px solid rgba(255,255,255,0.14) !important;
    border-bottom: 0 !important;
    border-radius: 18px 18px 0 0 !important;
    box-shadow: none !important;
  }

  /* Target real widget classes */
  body.jsm-filter-sheet-open .jsm-opc-page .pickup-delivery-widget,
  body.jsm-filter-sheet-open .jsm-opc-page .etn-category-widget,
  body.jsm-filter-sheet-open .jsm-opc-page .price-range-slider {
    margin: 0 !important;
    padding: 16px !important;

    background: #111111 !important;
    border: 1px solid rgba(255,255,255,0.14) !important;
    border-bottom: 0 !important;
    border-radius: 0 !important;

    box-shadow: none !important;
    box-sizing: border-box !important;
  }

  /* Remove gap specifically between Order Type and Categories */
  body.jsm-filter-sheet-open .jsm-opc-page .pickup-delivery-widget + .etn-category-widget,
  body.jsm-filter-sheet-open .jsm-opc-page .pickup-delivery-widget + br + .etn-category-widget {
    margin-top: 0 !important;
  }

  /* Remove inner widget extra space */
  body.jsm-filter-sheet-open .jsm-opc-page .pickup-delivery-widget .widget-content,
  body.jsm-filter-sheet-open .jsm-opc-page .etn-category-widget .widget-content,
  body.jsm-filter-sheet-open .jsm-opc-page .price-range-slider .widget-content {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  /* Reduce empty space inside Order Type */
  body.jsm-filter-sheet-open .jsm-opc-page .pickup-delivery-widget {
    padding-bottom: 10px !important;
  }

  body.jsm-filter-sheet-open .jsm-opc-page .pickup-delivery-widget .widget-content br {
    display: block !important;
    height: 8px !important;
    line-height: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.jsm-filter-sheet-open .jsm-opc-page .pickup-delivery-widget .widget-content br:last-child {
    display: none !important;
  }

  /* Category widget top/bottom clean */
  body.jsm-filter-sheet-open .jsm-opc-page .etn-category-widget {
    padding-top: 16px !important;
  }

  body.jsm-filter-sheet-open .jsm-opc-page .etn-category-widget .widget-content > br:last-child {
    display: none !important;
  }

  /* Headings spacing */
  body.jsm-filter-sheet-open .jsm-opc-page .pickup-delivery-widget .widget-title,
  body.jsm-filter-sheet-open .jsm-opc-page .etn-category-widget .widget-title,
  body.jsm-filter-sheet-open .jsm-opc-page .price-range-slider label[for="price_range_slider"] {
    margin: 0 0 14px 0 !important;
    padding: 0 0 10px 0 !important;
    border-bottom: 2px solid #c91515 !important;
    color: #ffffff !important;
  }

  /* Last widget bottom rounded */
  body.jsm-filter-sheet-open .jsm-opc-page .price-range-slider {
    border-bottom: 1px solid rgba(255,255,255,0.14) !important;
    border-radius: 0 0 18px 18px !important;
  }
}

/* =====================================================
   MOBILE PRICE RANGE TOUCH FIX
===================================================== */

@media (max-width: 767px) {
  .jsm-opc-page .price-range-slider,
  .jsm-opc-page .price-range-container,
  .jsm-opc-page .wpc-dual-range-slider {
    touch-action: none !important;
    user-select: none !important;
    -webkit-user-select: none !important;
  }

  .jsm-opc-page .wpc-dual-range-slider {
    position: relative !important;
    height: 36px !important;
    padding: 14px 0 !important;
    margin: 14px 0 18px !important;
  }

  .jsm-opc-page .wpc-slider-track {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    height: 5px !important;
    background: rgba(255,255,255,0.22) !important;
    border-radius: 999px !important;
  }

  .jsm-opc-page .wpc-slider-range {
    position: absolute !important;
    top: 0 !important;
    height: 100% !important;
    background: #c91515 !important;
    border-radius: 999px !important;
  }

  .jsm-opc-page .wpc-slider-thumb {
    position: absolute !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;

    width: 22px !important;
    height: 22px !important;

    background: #c91515 !important;
    border: 3px solid #ffffff !important;
    border-radius: 50% !important;

    cursor: grab !important;
    z-index: 10 !important;

    touch-action: none !important;
    user-select: none !important;
    -webkit-user-select: none !important;
  }

  .jsm-opc-page .wpc-slider-thumb:active {
    cursor: grabbing !important;
    transform: translate(-50%, -50%) scale(1.08) !important;
  }

  .jsm-opc-page .wpc-price-and-reset {
    touch-action: auto !important;
  }
}

/* =====================================================
   PRODUCT CARDS - COMPACT CLEAN FIX
===================================================== */

/* Grid */
.jsm-opc-page .wpc-nav-shortcode .list-item-wrapper,
.jsm-opc-page .wpc-nav-shortcode .wpc-row {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
  margin: 0 !important;
}

/* Remove default column padding */
.jsm-opc-page .wpc-nav-shortcode .list-item-wrapper > [class*="wpc-col-"],
.jsm-opc-page .wpc-nav-shortcode .wpc-row > [class*="wpc-col-"] {
  width: auto !important;
  max-width: none !important;
  flex: unset !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Card */
.jsm-opc-page .wpc-nav-shortcode .wpc-food-menu-item,
.jsm-opc-page .wpc-nav-shortcode .delivery-pickup-product-wrapper {
  background: #111111 !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  box-shadow: none !important;

  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

/* Image */
.jsm-opc-page .wpc-nav-shortcode .wpc-food-menu-thumb {
  height: 160px !important;
  min-height: 160px !important;
  overflow: hidden !important;
  background: #050505 !important;
}

.jsm-opc-page .wpc-nav-shortcode .wpc-food-menu-thumb img {
    object-fit: cover !important;
    object-position: center 15% !important;
  }
.jsm-opc-page .wpc-nav-shortcode .wpc-food-menu-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

/* Content */
.jsm-opc-page .wpc-nav-shortcode .product-content {
  padding: 14px 16px 16px !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
}

/* Title: fixed 2-line area */
.jsm-opc-page .wpc-nav-shortcode .product-content h3 {
  margin: 0 0 9px 0 !important;
  padding: 0 !important;

  min-height: 42px !important;

  font-size: 17px !important;
  font-weight: 800 !important;
  line-height: 1.22 !important;

  color: #ffffff !important;
}

.jsm-opc-page .wpc-nav-shortcode .product-content h3 a {
  color: #ffffff !important;
  text-decoration: none !important;

  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* Description: compact 2 lines */
.jsm-opc-page .wpc-nav-shortcode .product-content p {
  margin: 0 0 12px 0 !important;
  padding: 0 !important;

  min-height: 40px !important;

  color: rgba(255,255,255,0.78) !important;
  font-size: 13.5px !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;

  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* Price/button area: reduce big space */
.jsm-opc-page .wpc-nav-shortcode .price-and-button {
  margin-top: 0 !important;
  padding-top: 10px !important;

  border-top: 1px solid rgba(255,255,255,0.10) !important;

  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

/* Price */
  /* Price same size as title */
  .jsm-opc-page .wpc-nav-shortcode .wpc-food-menu-item .product-content .product-price,
  .jsm-opc-page .wpc-nav-shortcode .wpc-food-menu-item .product-content .product-price *,
  .jsm-opc-page .wpc-nav-shortcode .delivery-pickup-product-wrapper .product-content .product-price,
  .jsm-opc-page .wpc-nav-shortcode .delivery-pickup-product-wrapper .product-content .product-price * {
    font-size: 14px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    text-align: left !important;
}

.jsm-opc-page .wpc-nav-shortcode .product-price span,
.jsm-opc-page .wpc-nav-shortcode .product-price bdi,
.jsm-opc-page .wpc-nav-shortcode .woocommerce-Price-amount,
.jsm-opc-page .wpc-nav-shortcode .woocommerce-Price-currencySymbol {
  color: #ffffff !important;
  font-weight: 600 !important;
}

/* Button */
.jsm-opc-page .wpc-nav-shortcode .customize_button,
.jsm-opc-page .wpc-nav-shortcode .add_to_cart_button {
  width: 100% !important;
  height: 40px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  background: #c91515 !important;
  color: #ffffff !important;

  border: 1px solid #e34040 !important;
  border-radius: 8px !important;

  padding: 0 10px !important;
  margin: 0 !important;

  font-size: 13px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

/* Button text */
.jsm-opc-page .wpc-nav-shortcode .customize_button i,
.jsm-opc-page .wpc-nav-shortcode .add_to_cart_button i,
.jsm-opc-page .wpc-nav-shortcode .add_to_cart_button .adding,
.jsm-opc-page .wpc-nav-shortcode .add_to_cart_button .added {
  display: none !important;
}

.jsm-opc-page .wpc-nav-shortcode .customize_button::before {
  content: "Select Options" !important;
}

.jsm-opc-page .wpc-nav-shortcode .add_to_cart_button::before {
  content: "Add to Order" !important;
}

/* Responsive */
@media (max-width: 1100px) {
  .jsm-opc-page .wpc-nav-shortcode .list-item-wrapper,
  .jsm-opc-page .wpc-nav-shortcode .wpc-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  .jsm-opc-page .wpc-nav-shortcode .list-item-wrapper,
  .jsm-opc-page .wpc-nav-shortcode .wpc-row {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .jsm-opc-page .wpc-nav-shortcode .wpc-food-menu-thumb {
    height: 210px !important;
    min-height: 210px !important;
  }

  .jsm-opc-page .wpc-nav-shortcode .product-content h3 {
    font-size: 18px !important;
    min-height: auto !important;
  }
}

/* =====================================================
   PRODUCT CARD - TITLE GAP / PRICE / BUTTON FINAL FIX
===================================================== */

/* Title aur description ke darmyan gap kam */
.jsm-opc-page .wpc-nav-shortcode .wpc-food-menu-item .product-content h3,
.jsm-opc-page .wpc-nav-shortcode .delivery-pickup-product-wrapper .product-content h3 {
  min-height: 0 !important;
  height: auto !important;
  margin: 0 0 4px 0 !important;
  padding: 0 !important;

  font-size: 15px !important;
  line-height: 1.25 !important;
}

/* Title link compact */
.jsm-opc-page .wpc-nav-shortcode .wpc-food-menu-item .product-content h3 a,
.jsm-opc-page .wpc-nav-shortcode .delivery-pickup-product-wrapper .product-content h3 a {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.25 !important;
}

/* Description ko title ke qareeb lao */
.jsm-opc-page .wpc-nav-shortcode .wpc-food-menu-item .product-content p,
.jsm-opc-page .wpc-nav-shortcode .delivery-pickup-product-wrapper .product-content p {
  margin: 0 0 10px 0 !important;
  padding: 0 !important;

  min-height: 38px !important;
  line-height: 1.35 !important;
}

/* Price left align */
.jsm-opc-page .wpc-nav-shortcode .price-and-button {
  width: 100% !important;
  align-items: stretch !important;
}

.jsm-opc-page .wpc-nav-shortcode .product-price {
  width: 100% !important;
  display: block !important;
  text-align: left !important;
  justify-content: flex-start !important;
  align-items: flex-start !important;
  margin: 0 !important;
}

/* Price inner elements left */
.jsm-opc-page .wpc-nav-shortcode .product-price span,
.jsm-opc-page .wpc-nav-shortcode .product-price bdi,
.jsm-opc-page .wpc-nav-shortcode .woocommerce-Price-amount {
  text-align: left !important;
}

/* Button parent wrappers full width */
.jsm-opc-page .wpc-nav-shortcode .button-product,
.jsm-opc-page .wpc-nav-shortcode .button-product .wpc-menu-footer,
.jsm-opc-page .wpc-nav-shortcode .button-product .wpc-customize-btn,
.jsm-opc-page .wpc-nav-shortcode .button-product .wpc-add-to-cart {
  width: 100% !important;
  max-width: 100% !important;

  display: block !important;
  margin: 0 !important;
  padding: 0 !important;

  text-align: left !important;
  box-sizing: border-box !important;
}

/* Actual button full card width */
.jsm-opc-page .wpc-nav-shortcode .button-product .customize_button,
.jsm-opc-page .wpc-nav-shortcode .button-product .add_to_cart_button,
.jsm-opc-page .wpc-nav-shortcode .button-product a.button {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 100% !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  box-sizing: border-box !important;
  margin: 0 !important;
}


/* MOBILE PRODUCT GRID ONLY - NO POPUP CHANGE */
@media (max-width: 767px) {
  .jsm-opc-page {
    --jsm-mobile-card-img-height: 130px; /* image height yahan se adjust karna */
  }

  .jsm-opc-page .wpc-nav-shortcode {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .jsm-opc-page .wpc-nav-shortcode .list-item-wrapper,
  .jsm-opc-page .wpc-nav-shortcode .wpc-row {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .jsm-opc-page .wpc-nav-shortcode .list-item-wrapper > [class*="wpc-col-"],
  .jsm-opc-page .wpc-nav-shortcode .wpc-row > [class*="wpc-col-"] {
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .jsm-opc-page .wpc-nav-shortcode .wpc-food-menu-thumb {
    height: var(--jsm-mobile-card-img-height) !important;
    min-height: var(--jsm-mobile-card-img-height) !important;
  }

  .jsm-opc-page .wpc-nav-shortcode .wpc-food-menu-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }
}

/* =====================================================
   MOBILE PRODUCT CARD - IMAGE CENTER + PRICE SIZE FIX
   Popup ko touch nahi karta
===================================================== */

@media (max-width: 767px) {

  /* Image box: center-center */
  .jsm-opc-page .wpc-nav-shortcode .wpc-food-menu-item .wpc-food-menu-thumb,
  .jsm-opc-page .wpc-nav-shortcode .delivery-pickup-product-wrapper .wpc-food-menu-thumb {
    display: block !important;
    overflow: hidden !important;
    line-height: 0 !important;
    background: #080808 !important;
  }

  .jsm-opc-page .wpc-nav-shortcode .wpc-food-menu-item .wpc-food-menu-thumb a,
  .jsm-opc-page .wpc-nav-shortcode .delivery-pickup-product-wrapper .wpc-food-menu-thumb a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    line-height: 0 !important;
  }

  .jsm-opc-page .wpc-nav-shortcode .wpc-food-menu-item .wpc-food-menu-thumb img,
  .jsm-opc-page .wpc-nav-shortcode .delivery-pickup-product-wrapper .wpc-food-menu-thumb img {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;

    object-fit: cover !important;
    object-position: center center !important;

    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Title size */
  .jsm-opc-page .wpc-nav-shortcode .wpc-food-menu-item .product-content h3,
  .jsm-opc-page .wpc-nav-shortcode .wpc-food-menu-item .product-content h3 a,
  .jsm-opc-page .wpc-nav-shortcode .delivery-pickup-product-wrapper .product-content h3,
  .jsm-opc-page .wpc-nav-shortcode .delivery-pickup-product-wrapper .product-content h3 a {
    font-size: 13px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
  }

  /* Price same size as title */
  .jsm-opc-page .wpc-nav-shortcode .wpc-food-menu-item .product-content .product-price,
  .jsm-opc-page .wpc-nav-shortcode .wpc-food-menu-item .product-content .product-price *,
  .jsm-opc-page .wpc-nav-shortcode .delivery-pickup-product-wrapper .product-content .product-price,
  .jsm-opc-page .wpc-nav-shortcode .delivery-pickup-product-wrapper .product-content .product-price * {
    font-size: 13px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    text-align: left !important;
  }
}




/* MOBILE PRODUCT IMAGE - NO GAP, NO CUT, POSITION ONLY */
@media (max-width: 767px) {
  .jsm-opc-page {
    --mobile-card-img-height: 130px;
    --mobile-card-img-position-y: 15%; /* image focal point yahan se adjust karo */
  }

  .jsm-opc-page .wpc-nav-shortcode .wpc-food-menu-item .wpc-food-menu-thumb {
    height: var(--mobile-card-img-height) !important;
    min-height: var(--mobile-card-img-height) !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
    background: #0b0b0b !important;
  }

  .jsm-opc-page .wpc-nav-shortcode .wpc-food-menu-item .wpc-food-menu-thumb a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .jsm-opc-page .wpc-nav-shortcode .wpc-food-menu-item .wpc-food-menu-thumb img {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;

    object-fit: cover !important;
    object-position: center var(--mobile-card-img-position-y) !important;

    display: block !important;
    margin: 0 !important;
    padding: 0 !important;

    transform: none !important;
  }
}

/* Product button text vertical center fix */
.jsm-opc-page .wpc-nav-shortcode .customize_button,
.jsm-opc-page .wpc-nav-shortcode .add_to_cart_button {
  line-height: 1 !important;
  min-height: 40px !important;
  height: 40px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Center pseudo button text properly */
.jsm-opc-page .wpc-nav-shortcode .customize_button::before,
.jsm-opc-page .wpc-nav-shortcode .add_to_cart_button::before {
  width: 100% !important;
  height: 100% !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;

  position: relative !important;
  top: -3px !important;
}

/* Remove any plugin after/loading spacing */
.jsm-opc-page .wpc-nav-shortcode .customize_button::after,
.jsm-opc-page .wpc-nav-shortcode .add_to_cart_button::after {
  display: none !important;
  content: none !important;
}

/* =====================================================
   JUST SMOKED - SELECT OPTIONS POPUP FINAL DARK STYLE
   Only affects popup: #product_popup
===================================================== */

/* Overlay */
#product_popup.wpc-popup-wrap {
  background: rgba(0,0,0,0.78) !important;
  backdrop-filter: blur(5px) !important;
  padding: 22px !important;
  z-index: 99999 !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Main modal box */
#product_popup .wpc-popup-wrap-inner {
  width: min(980px, calc(100vw - 36px)) !important;
  max-width: 980px !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: calc(100vh - 44px) !important;

  margin: 0 auto !important;
  padding: 0 !important;

  background: #0d0d0d !important;
  color: #ffffff !important;

  border: 1px solid rgba(255,255,255,0.16) !important;
  border-radius: 18px !important;

  box-shadow: 0 30px 90px rgba(0,0,0,0.65) !important;
  overflow: hidden !important;
  position: relative !important;
}

/* Content wrapper */
#product_popup .wpc_variation_popup_content {
  width: 100% !important;
  max-height: calc(100vh - 44px) !important;

  padding: 20px !important;
  margin: 0 !important;

  background: #0d0d0d !important;
  color: #ffffff !important;

  overflow-y: auto !important;
  overflow-x: hidden !important;
  box-sizing: border-box !important;
}

/* Product row: 60% image / 40% content */
#product_popup .wpc_variation_popup_content .product.wpc-row,
#product_popup .wpc_variation_popup_content .wpc-row {
  display: grid !important;
  grid-template-columns: calc(60% - 10px) calc(40% - 10px) !important;
  gap: 20px !important;

  width: 100% !important;
  max-width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  align-items: start !important;

  background: transparent !important;
  box-sizing: border-box !important;
}

/* Reset popup columns only */
#product_popup .wpc_variation_popup_content [class*="wpc-col-"] {
  width: auto !important;
  max-width: none !important;
  flex: unset !important;

  padding: 0 !important;
  margin: 0 !important;

  box-sizing: border-box !important;
}

/* Image column */
#product_popup .variation_product_image {
  width: 100% !important;
  max-width: 100% !important;

  background: #111111 !important;
  border: 1px solid rgba(255,255,255,0.16) !important;
  border-radius: 16px !important;

  overflow: hidden !important;
  box-sizing: border-box !important;
}

/* Woo gallery reset */
#product_popup .woocommerce-product-gallery,
#product_popup .woocommerce-product-gallery__wrapper,
#product_popup .woocommerce-product-gallery__image,
#product_popup .woocommerce-product-gallery__image a {
  width: 100% !important;
  max-width: 100% !important;

  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Image */
#product_popup .variation_product_image img,
#product_popup .woocommerce-product-gallery__image img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;

  display: block !important;
  object-fit: cover !important;
  object-position: center !important;

  border-radius: 0 !important;
}

/* Right content panel */
#product_popup .wpc-single-content,
#product_popup .summary.entry-summary {
  width: 100% !important;
  max-width: 100% !important;

  background: #111111 !important;
  color: #ffffff !important;

  border: 1px solid rgba(255,255,255,0.16) !important;
  border-radius: 16px !important;

  padding: 22px !important;
  margin: 0 !important;

  box-shadow: none !important;
  box-sizing: border-box !important;
}

/* Close button */
#product_popup .wpc-close {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;

  width: 38px !important;
  height: 38px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  background: #c91515 !important;
  color: #ffffff !important;

  border: 1px solid #e34040 !important;
  border-radius: 9px !important;

  padding: 0 !important;
  margin: 0 !important;

  z-index: 50 !important;
  cursor: pointer !important;
  box-shadow: none !important;
}

#product_popup .wpc-close i {
  color: #ffffff !important;
  font-style: normal !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

/* Product title */
#product_popup .product_title,
#product_popup .entry-title {
  color: #ffffff !important;

  font-size: 28px !important;
  font-weight: 900 !important;
  line-height: 1.08 !important;

  margin: 0 42px 10px 0 !important;
  padding: 0 !important;
}

/* Top price range */
#product_popup p.price,
#product_popup .summary.entry-summary > .price {
  color: #e51b1b !important;

  font-size: 18px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;

  margin: 0 0 14px 0 !important;
}

#product_popup .price span,
#product_popup .price bdi,
#product_popup .woocommerce-Price-amount,
#product_popup .woocommerce-Price-currencySymbol {
  color: inherit !important;
  font-weight: 800 !important;
}

/* Short description */
#product_popup .woocommerce-product-details__short-description {
  margin: 0 0 16px 0 !important;
}

#product_popup .woocommerce-product-details__short-description p {
  color: rgba(255,255,255,0.76) !important;

  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;

  margin: 0 !important;
  padding: 0 !important;
}

/* Variations form */
#product_popup form.cart,
#product_popup form.variations_form {
  margin: 0 !important;
  padding: 0 !important;
}

/* Variation table */
#product_popup table.variations {
  width: 100% !important;
  margin: 0 0 14px 0 !important;

  background: transparent !important;
  border: 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 8px !important;
}

#product_popup table.variations tr,
#product_popup table.variations th,
#product_popup table.variations td {
  background: transparent !important;
  border: 0 !important;
}

#product_popup table.variations th.label {
  width: 80px !important;
  padding: 0 12px 0 0 !important;
  vertical-align: middle !important;
}

#product_popup table.variations th.label label {
  color: #ffffff !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  margin: 0 !important;
}

#product_popup table.variations td.value {
  padding: 0 !important;
}

/* Select */
#product_popup table.variations select {
  width: 100% !important;
  height: 42px !important;

  background: #0b0b0b !important;
  color: #ffffff !important;

  border: 1px solid rgba(255,255,255,0.18) !important;
  border-radius: 9px !important;

  padding: 0 12px !important;

  font-size: 13px !important;
  font-weight: 700 !important;

  box-shadow: none !important;
  outline: none !important;
}

/* Clear link */
#product_popup .reset_variations {
  display: inline-block !important;
  margin-top: 7px !important;

  color: #e51b1b !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

/* Selected variation info */
#product_popup .woocommerce-variation {
  background: #0b0b0b !important;

  border: 1px solid rgba(255,255,255,0.12) !important;
  border-left: 3px solid #c91515 !important;
  border-radius: 11px !important;

  padding: 13px !important;
  margin: 0 0 14px 0 !important;
}

#product_popup .woocommerce-variation-description p {
  color: rgba(255,255,255,0.74) !important;

  font-size: 13px !important;
  line-height: 1.5 !important;

  margin: 0 0 10px 0 !important;
}

#product_popup .woocommerce-variation-price,
#product_popup .woocommerce-variation-price .price {
  color: #ffffff !important;

  font-size: 18px !important;
  font-weight: 900 !important;
  margin: 0 !important;
}

#product_popup .woocommerce-variation-price span,
#product_popup .woocommerce-variation-price bdi {
  color: #ffffff !important;
}

/* Quantity + add button row */
#product_popup .woocommerce-variation-add-to-cart,
#product_popup .variations_button {
  display: grid !important;
  grid-template-columns: 76px minmax(0, 1fr) !important;
  gap: 10px !important;

  align-items: center !important;

  margin: 0 !important;
  padding: 0 !important;
}

/* Quantity */
#product_popup .quantity {
  width: 100% !important;
  margin: 0 !important;
}

#product_popup .quantity input.qty {
  width: 100% !important;
  height: 42px !important;

  background: #0b0b0b !important;
  color: #ffffff !important;

  border: 1px solid rgba(255,255,255,0.18) !important;
  border-radius: 9px !important;

  text-align: center !important;

  font-size: 15px !important;
  font-weight: 900 !important;

  box-shadow: none !important;
  outline: none !important;
}

/* Add button */
#product_popup .single_add_to_cart_button {
  width: 100% !important;
  height: 42px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  background: #c91515 !important;
  color: #ffffff !important;

  border: 1px solid #e34040 !important;
  border-radius: 9px !important;

  padding: 0 14px !important;
  margin: 0 !important;

  font-size: 0 !important;
  font-weight: 900 !important;
  text-transform: none !important;

  box-shadow: none !important;
  transition: 0.2s ease !important;
}

#product_popup .single_add_to_cart_button::before {
  content: "Add to Order" !important;
  font-size: 14px !important;
  font-weight: 900 !important;
}

#product_popup .single_add_to_cart_button:hover {
  background: #e02020 !important;
  border-color: #ff4a4a !important;
}

/* Remove unwanted payment/attribution elements */
#product_popup #wc-stripe-express-checkout-element,
#product_popup wc-order-attribution-inputs {
  display: none !important;
}

/* Remove horizontal scrollbar issue */
#product_popup,
#product_popup * {
  box-sizing: border-box !important;
}

#product_popup .wpc_variation_popup_content::-webkit-scrollbar {
  width: 6px !important;
}

#product_popup .wpc_variation_popup_content::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,0.20) !important;
  border-radius: 999px !important;
}

/* =====================================================
   RESPONSIVE
===================================================== */

@media (max-width: 900px) {
  #product_popup.wpc-popup-wrap {
    padding: 12px !important;
  }

  #product_popup .wpc-popup-wrap-inner {
    width: calc(100vw - 24px) !important;
    max-height: calc(100vh - 24px) !important;
    border-radius: 16px !important;
  }

  #product_popup .wpc_variation_popup_content {
    padding: 14px !important;
    max-height: calc(100vh - 24px) !important;
  }

  #product_popup .wpc_variation_popup_content .product.wpc-row,
  #product_popup .wpc_variation_popup_content .wpc-row {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  #product_popup .variation_product_image {
    max-width: 320px !important;
    width: 100% !important;
    margin: 0 auto !important;
  }

  #product_popup .wpc-single-content,
  #product_popup .summary.entry-summary {
    padding: 18px !important;
  }

  #product_popup .product_title,
  #product_popup .entry-title {
    font-size: 23px !important;
    margin-right: 42px !important;
  }
}

@media (max-width: 480px) {
  #product_popup .wpc_variation_popup_content {
    padding: 12px !important;
  }

  #product_popup .wpc-single-content,
  #product_popup .summary.entry-summary {
    padding: 15px !important;
  }

  #product_popup table.variations,
  #product_popup table.variations tbody,
  #product_popup table.variations tr,
  #product_popup table.variations th,
  #product_popup table.variations td {
    display: block !important;
    width: 100% !important;
  }

  #product_popup table.variations th.label {
    width: 100% !important;
    padding: 0 0 8px 0 !important;
  }

  #product_popup table.variations td.value {
    width: 100% !important;
  }

  #product_popup .woocommerce-variation-add-to-cart,
  #product_popup .variations_button {
    grid-template-columns: 70px minmax(0, 1fr) !important;
    gap: 9px !important;
  }
}

/* =====================================================
   PRODUCT PAGINATION - DARK STYLE
===================================================== */

.jsm-opc-page .wpc-pagination-wrapper {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 14px !important;

  margin: 28px 0 20px 0 !important;
  padding: 18px 22px !important;

  background: #111111 !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  border-radius: 14px !important;

  box-shadow: none !important;
  color: #ffffff !important;
}

/* Showing text */
.jsm-opc-page .wpc-pagination-info {
  margin: 0 !important;
  padding: 0 !important;

  color: rgba(255,255,255,0.72) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}

/* Pagination nav */
.jsm-opc-page .wpc-pagination {
  margin: 0 !important;
  padding: 0 !important;
}

/* Pagination list */
.jsm-opc-page .wpc-pagination .pagination-list {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;

  margin: 0 !important;
  padding: 0 !important;

  list-style: none !important;
}

/* Pagination buttons */
.jsm-opc-page .wpc-pagination .pagination-list li span,
.jsm-opc-page .wpc-pagination .pagination-list li a {
  min-width: 38px !important;
  height: 38px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  background: #181818 !important;
  color: #ffffff !important;

  border: 1px solid rgba(255,255,255,0.14) !important;
  border-radius: 9px !important;

  padding: 0 12px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;

  text-decoration: none !important;
  box-shadow: none !important;

  transition: 0.2s ease !important;
}

/* Current page */
.jsm-opc-page .wpc-pagination .pagination-list li .current-page {
  background: #c91515 !important;
  color: #ffffff !important;
  border-color: #e34040 !important;
}

/* Hover */
.jsm-opc-page .wpc-pagination .pagination-list li a:hover {
  background: rgba(201,21,21,0.22) !important;
  color: #ffffff !important;
  border-color: #c91515 !important;
}

/* Next button */
.jsm-opc-page .wpc-pagination .pagination-list li a.next-page {
  min-width: auto !important;
  padding: 0 16px !important;
  color: #ffffff !important;
}

/* Mobile */
@media (max-width: 767px) {
  .jsm-opc-page .wpc-pagination-wrapper {
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;

    margin-top: 22px !important;
    padding: 16px !important;
    gap: 12px !important;
  }

  .jsm-opc-page .wpc-pagination-info {
    text-align: center !important;
    font-size: 13px !important;
  }

  .jsm-opc-page .wpc-pagination .pagination-list {
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
  }

  .jsm-opc-page .wpc-pagination .pagination-list li span,
  .jsm-opc-page .wpc-pagination .pagination-list li a {
    min-width: 34px !important;
    height: 34px !important;
    font-size: 13px !important;
    border-radius: 8px !important;
  }

  .jsm-opc-page .wpc-pagination .pagination-list li a.next-page {
    padding: 0 13px !important;
  }
}

/* =====================================================
   RIGHT CART PANEL - DARK CLEAN FIX ONLY
===================================================== */

/* Outer box: no extra padding */
.jsm-opc-page .wpc-one-page-checkout-sidebar,
.jsm-opc-page .wpc-opc-cart-panel {
  background: #111111 !important;
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  border-radius: 16px !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

/* Inner spacing controlled section by section */
.jsm-opc-page .wpc-opc-sidebar-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 18px 18px 14px !important;
  margin: 0 !important;
  border-bottom: 1px solid rgba(255,255,255,0.14) !important;
}

.jsm-opc-page .wpc-opc-sidebar-header h4 {
  color: #ffffff !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  margin: 0 !important;
}

.jsm-opc-page .wpc-opc-item-count {
  width: 28px !important;
  height: 28px !important;
  background: #c91515 !important;
  color: #ffffff !important;
  border-radius: 999px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

/* Cart list */
.jsm-opc-page .wpc-woocommerce-mini-cart {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.jsm-opc-page .wpc-woocommerce-mini-cart-item {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 56px minmax(0, 1fr) 26px !important;
  column-gap: 12px !important;
  row-gap: 10px !important;

  padding: 16px 18px !important;
  margin: 0 !important;

  border-bottom: 1px solid rgba(255,255,255,0.14) !important;
  color: #ffffff !important;
}

/* Product link/title */
.jsm-opc-page .wpc-woocommerce-mini-cart-item > a:not(.remove) {
  grid-column: 1 / 3 !important;
  display: grid !important;
  grid-template-columns: 56px minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: center !important;

  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  text-decoration: none !important;
  min-width: 0 !important;
}

.jsm-opc-page .wpc-woocommerce-mini-cart-item img {
  width: 56px !important;
  height: 56px !important;
  object-fit: cover !important;
  border-radius: 8px !important;
  margin: 0 !important;
}

/* Remove icon */
.jsm-opc-page .wpc-woocommerce-mini-cart-item .remove {
  grid-column: 3 !important;
  grid-row: 1 !important;
  justify-self: end !important;
  align-self: start !important;

  width: 24px !important;
  height: 24px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  color: #ff3333 !important;
  background: transparent !important;
  border: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Quantity + prices */
.jsm-opc-page .mini-cart-quantity-wrapper {
  grid-column: 1 / 4 !important;
  display: grid !important;
  grid-template-columns: 92px 1fr 1fr !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
  color: #ffffff !important;
}

.jsm-opc-page .mini-cart-quantity-wrapper .quantity {
  display: flex !important;
  align-items: center !important;
  width: 92px !important;
  height: 32px !important;
  background: #ffffff !important;
  border-radius: 999px !important;
  overflow: hidden !important;
}

.jsm-opc-page .mini-cart-quantity-wrapper .quantity button,
.jsm-opc-page .mini-cart-quantity-wrapper .quantity input.qty {
  width: 30px !important;
  height: 32px !important;
  background: #ffffff !important;
  color: #111111 !important;
  border: 0 !important;
  text-align: center !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  padding: 0 !important;
  margin: 0 !important;
}

.jsm-opc-page .mini-cart-quantity-wrapper .amount,
.jsm-opc-page .mini-cart-quantity-wrapper bdi,
.jsm-opc-page .mini-cart-quantity-wrapper .woocommerce-Price-currencySymbol,
.jsm-opc-page .single-subtotal-item,
.jsm-opc-page .wpc-minicart-subtotal {
  color: #ffffff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  opacity: 1 !important;
}

.jsm-opc-page .single-subtotal-item {
  text-align: right !important;
}

/* Coupon + subtotal area */
.jsm-opc-page .wpc-subtotal-wrap {
  padding: 16px 18px 0 !important;
  margin: 0 !important;
  color: #ffffff !important;
}

.jsm-opc-page .wpc-minicart-copoun-label {
  display: block !important;
  color: rgba(255,255,255,0.72) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  margin: 0 0 10px !important;
}

.jsm-opc-page .coupon_from {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 92px !important;
  gap: 8px !important;
  margin: 0 0 14px !important;
}

.jsm-opc-page .wpc-minicart-coupon-field {
  width: 100% !important;
  min-width: 0 !important;
  height: 42px !important;
  background: #0b0b0b !important;
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,0.16) !important;
  border-radius: 9px !important;
  padding: 0 12px !important;
}

.jsm-opc-page .wpc-cupon-btn {
  height: 42px !important;
  background: #c91515 !important;
  color: #ffffff !important;
  border: 1px solid #e34040 !important;
  border-radius: 9px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

/* Subtotal */
.jsm-opc-page .wpc-woocommerce-mini-cart__total {
  display: flex !important;
  justify-content: space-between !important;
  gap: 12px !important;
  color: #ffffff !important;
  border-top: 1px solid rgba(255,255,255,0.14) !important;
  padding: 14px 0 !important;
  margin: 0 !important;
}

.jsm-opc-page .wpc-woocommerce-mini-cart__total strong,
.jsm-opc-page .wpc-woocommerce-mini-cart__total .amount,
.jsm-opc-page .wpc-woocommerce-mini-cart__total bdi {
  color: #ffffff !important;
  font-weight: 700 !important;
}

/* Footer / checkout button */
.jsm-opc-page .wpc-opc-cart-footer {
  padding: 0 18px 18px !important;
  margin: 0 !important;
  font-weight: 700 !important;
}

.jsm-opc-page .wpc-opc-proceed-btn {
  width: 100% !important;
  height: 46px !important;
  background: #c91515 !important;
  color: #ffffff !important;
  border: 1px solid #e34040 !important;
  border-radius: 10px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  box-shadow: none !important;
}

/* Hide default View basket / Checkout links if footer button is used */
.jsm-opc-page .wpc-woocommerce-mini-cart__buttons {
  display: none !important;
}

/* =====================================================
   CHECKOUT PANEL - DARK STYLE SAFE VERSION
   Date/time fields ko touch nahi karta
===================================================== */

.jsm-opc-page .wpc-opc-checkout-panel {
  background: #111111 !important;
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,0.16) !important;
  border-radius: 16px !important;
  padding: 16px !important;
  box-shadow: none !important;
}

/* Back button */
.jsm-opc-page .wpc-opc-checkout-panel .wpc-opc-back-btn {
  color: #e51b1b !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 0 14px 0 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

/* Labels visible */
.jsm-opc-page .wpc-opc-checkout-panel label,
.jsm-opc-page .wpc-opc-checkout-panel .form-row label {
  color: #ffffff !important;
  opacity: 1 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  margin-bottom: 5px !important;
}

/* Required stars */
.jsm-opc-page .wpc-opc-checkout-panel .required {
  color: #e51b1b !important;
  font-size: 12px !important;
}

/* Section titles */
.jsm-opc-page .wpc-opc-checkout-panel .wpc-opc-section-title,
.jsm-opc-page .wpc-opc-checkout-panel .woocommerce-additional-fields h4 {
  color: #ffffff !important;
  opacity: 1 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  margin: 14px 0 12px 0 !important;
  padding: 0 0 8px 0 !important;
  border-bottom: 1px solid rgba(255,255,255,0.24) !important;
}

/* Form rows */
.jsm-opc-page .wpc-opc-checkout-panel .form-row {
  margin: 0 0 12px 0 !important;
  padding: 0 !important;
}

/* Normal checkout fields only */
.jsm-opc-page .wpc-opc-checkout-panel input[type="text"],
.jsm-opc-page .wpc-opc-checkout-panel input[type="email"],
.jsm-opc-page .wpc-opc-checkout-panel input[type="tel"],
.jsm-opc-page .wpc-opc-checkout-panel select,
.jsm-opc-page .wpc-opc-checkout-panel textarea {
  width: 100% !important;
  min-height: 42px !important;
  background: #0b0b0b !important;
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
  border-radius: 8px !important;
  padding: 10px 12px !important;
  font-size: 13px !important;
  box-shadow: none !important;
  outline: none !important;
}

.jsm-opc-page .wpc-opc-checkout-panel input::placeholder,
.jsm-opc-page .wpc-opc-checkout-panel textarea::placeholder {
  color: rgba(255,255,255,0.45) !important;
}

.jsm-opc-page .wpc-opc-checkout-panel input:focus,
.jsm-opc-page .wpc-opc-checkout-panel select:focus,
.jsm-opc-page .wpc-opc-checkout-panel textarea:focus {
  border-color: #c91515 !important;
}

/* Delivery / Pickup radio row - no red underline */
.jsm-opc-page .wpc-opc-checkout-panel #wpc_pro_order_time_field {
  margin: 0 0 14px 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

.jsm-opc-page .wpc-opc-checkout-panel #wpc_pro_order_time_field .woocommerce-input-wrapper {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  flex-wrap: wrap !important;
}

/* Radio clean */
.jsm-opc-page .wpc-opc-checkout-panel #wpc_pro_order_time_field input[type="radio"] {
  appearance: auto !important;
  -webkit-appearance: radio !important;
  accent-color: #c91515 !important;
  width: 16px !important;
  height: 16px !important;
  margin: 0 8px 0 0 !important;
  padding: 0 !important;
  vertical-align: middle !important;
}

.jsm-opc-page .wpc-opc-checkout-panel #wpc_pro_order_time_field label.radio {
  display: inline-flex !important;
  align-items: center !important;
  color: #ffffff !important;
  opacity: 1 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* First / last name two columns */
.jsm-opc-page .wpc-opc-checkout-panel .form-row-first,
.jsm-opc-page .wpc-opc-checkout-panel .form-row-last {
  width: calc(50% - 6px) !important;
}

.jsm-opc-page .wpc-opc-checkout-panel .form-row-first {
  float: left !important;
}

.jsm-opc-page .wpc-opc-checkout-panel .form-row-last {
  float: right !important;
}

.jsm-opc-page .wpc-opc-checkout-panel .form-row-wide {
  clear: both !important;
}

/* Payment area background clean */
.jsm-opc-page .wpc-opc-checkout-panel #payment,
.jsm-opc-page .wpc-opc-checkout-panel .woocommerce-checkout-payment,
.jsm-opc-page .wpc-opc-checkout-panel .payment_box {
  background: transparent !important;
  color: #ffffff !important;
  border: 0 !important;
  padding: 0 !important;
}

.jsm-opc-page .wpc-opc-checkout-panel .wc_payment_methods {
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}

.jsm-opc-page .wpc-opc-checkout-panel .wc_payment_method label,
.jsm-opc-page .wpc-opc-checkout-panel .payment_box p,
.jsm-opc-page .wpc-opc-checkout-panel .woocommerce-privacy-policy-text,
.jsm-opc-page .wpc-opc-checkout-panel .woocommerce-privacy-policy-text p {
  color: #ffffff !important;
}

.jsm-opc-page .wpc-opc-checkout-panel .woocommerce-privacy-policy-text a {
  color: #e51b1b !important;
}

/* Place order */
.jsm-opc-page .wpc-opc-checkout-panel #place_order {
  width: 100% !important;
  min-height: 44px !important;
  background: #c91515 !important;
  color: #ffffff !important;
  border: 1px solid #e34040 !important;
  border-radius: 9px !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  box-shadow: none !important;
}

/* Mobile */
@media (max-width: 767px) {
  .jsm-opc-page .wpc-opc-checkout-panel {
    padding: 14px !important;
  }

  .jsm-opc-page .wpc-opc-checkout-panel .form-row-first,
  .jsm-opc-page .wpc-opc-checkout-panel .form-row-last {
    width: 100% !important;
    float: none !important;
  }
}

/* CHECKOUT RADIO ROW FIX ONLY */

.jsm-opc-page .wpc-opc-checkout-panel #wpc_pro_order_time_field .woocommerce-input-wrapper {
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
  flex-wrap: wrap !important;
}

/* Radio circle */
.jsm-opc-page .wpc-opc-checkout-panel #wpc_pro_order_time_field input[type="radio"] {
  appearance: none !important;
  -webkit-appearance: none !important;

  width: 15px !important;
  height: 15px !important;
  min-width: 15px !important;

  margin: 0 7px 0 0 !important;
  padding: 0 !important;

  border: 2px solid rgba(255,255,255,0.75) !important;
  border-radius: 50% !important;
  background: transparent !important;

  position: relative !important;
  top: 0 !important;
  transform: none !important;
}

/* Checked radio */
.jsm-opc-page .wpc-opc-checkout-panel #wpc_pro_order_time_field input[type="radio"]:checked {
  border-color: #e51b1b !important;
}

.jsm-opc-page .wpc-opc-checkout-panel #wpc_pro_order_time_field input[type="radio"]:checked::after {
  content: "" !important;
  width: 7px !important;
  height: 7px !important;
  background: #e51b1b !important;
  border-radius: 50% !important;

  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-47%, -53%) !important;
}

/* Label spacing */
.jsm-opc-page .wpc-opc-checkout-panel #wpc_pro_order_time_field label.radio {
  display: inline-flex !important;
  align-items: center !important;

  color: #ffffff !important;
  font-size: 13px !important;
  font-weight: 800 !important;

  margin: 0 18px 0 0 !important;
  padding: 0 !important;
  line-height: 15px !important;
}

/* Empty cart message spacing */
.jsm-opc-page .wpc-opc-cart-panel .woocommerce-mini-cart__empty-message,
.jsm-opc-page .wpc-opc-cart-panel .wpc-empty-cart,
.jsm-opc-page .wpc-opc-cart-panel p:has(+ .wpc-opc-cart-footer) {
  padding: 10px 0px 0px 20px !important;
  margin: 0 !important;
  color: #ffffff !important;
}


/* Hide mobile filter Done button on desktop */
@media (min-width: 768px) {
  button.jsm-filter-sheet-done,
  .jsm-filter-sheet-done {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
}/* End custom CSS */