/* ============================================================
   Bagher Nati Foods — Ghorerbazar-Inspired Theme for OpenCart 3.x
   ============================================================ */

/* ------- Design Tokens (CSS Custom Properties) ------- */
:root {
  /* Primary — Orange accent (buttons, links, prices, logo) */
  --color-primary: #e8750a;
  --color-primary-hover: #d16800;
  --color-primary-light: #fff3e6;
  --color-on-primary: #ffffff;

  /* Navigation — Dark teal bar */
  --color-nav-bg: #1a3a3a;
  --color-nav-text: #ffffff;
  --color-nav-hover: rgba(255, 255, 255, 0.12);

  /* Surfaces */
  --color-surface: #ffffff;
  --color-background: #f5f0ea;
  --color-surface-container: #f5f0ea;
  --color-surface-container-high: #ede8e2;
  --color-surface-hover: #f9f6f2;

  /* Text */
  --color-on-surface: #333333;
  --color-on-surface-variant: #666666;
  --color-text-muted: #999999;

  /* Outline / Border */
  --color-outline: #e0dbd5;
  --color-outline-variant: #d5d0ca;

  /* Error / Sale */
  --color-error: #d32f2f;
  --color-sale-badge: #e8750a;

  /* Typography */
  --font-primary: 'Poppins', 'Open Sans', sans-serif;

  /* Radius */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --radius-full: 9999px;

  /* Shadows */
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.06);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.08);
  --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.1);

  /* Layout */
  --container-max: 1320px;
  --gutter: 24px;
}

/* ------- Global Reset / Base ------- */
body {
  font-family: var(--font-primary) !important;
  font-size: 14px !important;
  line-height: 22px !important;
  font-weight: 400;
  color: var(--color-on-surface) !important;
  background-color: var(--color-background) !important;
  padding-top: 0 !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}

::selection {
  background: var(--color-primary);
  color: var(--color-on-primary);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-primary) !important;
  color: var(--color-on-surface) !important;
  font-weight: 600;
}

a {
  color: var(--color-primary);
  transition: color 0.2s ease;
}

a:hover {
  color: var(--color-primary-hover);
  text-decoration: none;
}

/* ------- Remove browser / Bootstrap focus outlines & tap highlight boxes site-wide ------- */
*,
*::before,
*::after {
  -webkit-tap-highlight-color: transparent !important;
}

a:focus,
a:active,
a:visited,
button:focus,
button:active,
.btn:focus,
.btn:active,
.btn:focus:active,
input:focus,
select:focus,
textarea:focus {
  outline: none !important;
  outline-offset: 0 !important;
}

a:focus,
a:active,
button:focus,
button:active,
.btn:focus,
.btn:active,
.btn:focus:active {
  box-shadow: none !important;
}

/* ------- Container Override ------- */
.container {
  max-width: var(--container-max) !important;
  width: 100% !important;
  padding-left: 15px !important;
  padding-right: 15px !important;
}

@media (min-width: 768px) {
  .container {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

/* ------- Hide Default Top Bar ------- */
#top {
  display: none !important;
}

/* ============================================================
   HEADER — White Bar with Logo | Search | Icons
   ============================================================ */
header {
  background: var(--color-surface) !important;
  border-bottom: 1px solid var(--color-outline) !important;
  box-shadow: none !important;
  position: sticky !important;
  top: 0;
  z-index: 100;
  margin-bottom: 0 !important;
  padding: 0 !important;
}

header>.container {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding-top: 12px !important;
  padding-bottom: 12px !important;
  gap: 20px;
}

/* Brand / Logo */
#hh-brand {
  display: flex;
  align-items: center;
  gap: 8px;
  text-decoration: none !important;
  color: var(--color-primary) !important;
  font-family: var(--font-primary) !important;
  font-size: 22px;
  font-weight: 700;
  line-height: 28px;
  flex-shrink: 0;
  white-space: nowrap;
}

#hh-brand .brand-icon {
  width: 40px;
  height: 40px;
  background: var(--color-primary);
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 22px;
}

#hh-brand .material-symbols-outlined {
  font-size: 24px;
  color: var(--color-on-primary);
}

#hh-brand .hh-brand-logo {
  height: 50px;
  max-height: 60px;
  width: auto;
  object-fit: contain;
  flex-shrink: 0;
  display: block;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* Search Bar — Center of Header */
#gb-search-bar {
  flex: 1;
  max-width: 560px;
  display: flex;
  align-items: center;
  background: var(--color-surface);
  border: 1px solid var(--color-outline);
  border-radius: var(--radius-md);
  overflow: hidden;
  transition: border-color 0.2s;
}

#gb-search-bar:focus-within {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 2px rgba(232, 117, 10, 0.12);
}

#gb-search-bar input {
  flex: 1;
  border: none;
  outline: none;
  padding: 10px 16px;
  font-family: var(--font-primary);
  font-size: 14px;
  color: var(--color-on-surface);
  background: transparent;
}

#gb-search-bar input::placeholder {
  color: var(--color-text-muted);
}

#gb-search-bar button {
  background: transparent;
  border: none;
  padding: 10px 16px;
  color: var(--color-on-surface-variant);
  cursor: pointer;
  font-size: 18px;
  transition: color 0.2s;
  display: flex;
  align-items: center;
}

#gb-search-bar button:hover {
  color: var(--color-primary);
}

/* Search bar shown full-width below logo on mobile (handled in inline critical styles + responsive block) */

/* Header Icons (right side) */
#hh-header-icons {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
}

#hh-header-icons a,
#hh-header-icons .hh-icon-btn {
  color: var(--color-on-surface);
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 4px 10px;
  border-radius: var(--radius-md);
  transition: background 0.2s, color 0.2s;
  text-decoration: none !important;
  cursor: pointer;
  border: none;
  background: transparent;
  gap: 2px;
}

#hh-header-icons a:hover,
#hh-header-icons .hh-icon-btn:hover {
  background: var(--color-surface-hover);
  color: var(--color-primary);
}

#hh-header-icons .material-symbols-outlined {
  font-size: 22px;
}

#hh-header-icons .icon-label {
  font-size: 10px;
  font-family: var(--font-primary);
  font-weight: 500;
  line-height: 1;
  color: var(--color-on-surface-variant);
  white-space: nowrap;
}

#hh-header-icons a:hover .icon-label {
  color: var(--color-primary);
}

/* Cart Badge */
#hh-cart-badge {
  position: absolute;
  top: 0;
  right: 4px;
  background: var(--color-primary);
  color: var(--color-on-primary);
  font-size: 9px;
  font-weight: 700;
  width: 16px;
  height: 16px;
  border-radius: var(--radius-full);
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

/* Hide the old default header row (logo/search/cart) */
header>.container>.row {
  display: none !important;
}

/* ------- Restyle the OpenCart Cart Dropdown ------- */
#cart {
  margin-bottom: 0 !important;
}

#cart>.btn {
  background: transparent !important;
  border: none !important;
  color: var(--color-on-surface) !important;
  padding: 4px 10px !important;
  font-size: 14px !important;
  box-shadow: none !important;
  text-shadow: none !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  border-radius: var(--radius-md) !important;
  transition: background 0.2s;
}

#cart>.btn:hover {
  background: var(--color-surface-hover) !important;
  color: var(--color-primary) !important;
}

#cart>.btn .fa-shopping-cart {
  font-size: 22px;
  display: block;
}

#cart>.btn #cart-total {
  font-family: var(--font-primary);
  font-size: 10px;
  font-weight: 500;
  color: var(--color-on-surface-variant);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  white-space: nowrap;
}

#cart .dropdown-menu {
  background: var(--color-surface) !important;
  border: 1px solid var(--color-outline) !important;
  border-radius: var(--radius-md) !important;
  box-shadow: var(--shadow-lg) !important;
  margin-top: 4px !important;
}

/* ============================================================
   NAVIGATION — Dark Teal Bar Below Header
   ============================================================ */
#menu {
  background: var(--color-nav-bg) !important;
  background-image: none !important;
  border: none !important;
  border-color: transparent !important;
  min-height: 0 !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  position: relative;
  z-index: 90;
}

/* Hide the hh-nav-wrapper that was used for inline nav */
#hh-nav-wrapper {
  display: none !important;
}

/* Show the nav inside #menu instead */
#menu .navbar-header {
  display: none;
}

#menu .collapse.navbar-collapse {
  display: block !important;
  height: auto !important;
  overflow: visible !important;
  padding: 0;
}

#menu .nav.navbar-nav {
  display: flex !important;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0;
  margin: 0;
  padding: 0;
  float: none !important;
  justify-content: center;
  overflow: visible !important;
}

#menu .nav>li {
  position: relative;
}

#menu .dropdown-menu {
  z-index: 1000;
}

#menu .nav>li>a {
  color: var(--color-nav-text) !important;
  text-shadow: none !important;
  font-family: var(--font-primary);
  font-size: 13px;
  font-weight: 500;
  padding: 12px 16px !important;
  background: transparent !important;
  transition: background 0.2s;
  white-space: nowrap;
}

#menu .nav>li>a:hover,
#menu .nav>li.open>a {
  background: var(--color-nav-hover) !important;
  color: var(--color-nav-text) !important;
}

/* Replace Material icon arrows with CSS for nav */
#menu .nav>li>a .material-symbols-outlined {
  font-size: 14px;
  vertical-align: middle;
  margin-left: 2px;
}

/* Dropdown Menus */
#menu .dropdown-menu {
  background: var(--color-surface) !important;
  border: 1px solid var(--color-outline) !important;
  border-radius: var(--radius-md) !important;
  box-shadow: var(--shadow-lg) !important;
  padding: 8px 0 !important;
  min-width: 192px;
  margin-top: 0 !important;
}

/* Show dropdown on hover (desktop) */
@media (min-width: 768px) {
  #menu .dropdown:hover>.dropdown-menu {
    display: block !important;
  }
}

#menu .dropdown-inner {
  display: block !important;
}

#menu .dropdown-inner ul {
  display: block !important;
}

#menu .dropdown-inner a {
  font-family: var(--font-primary);
  font-size: 13px !important;
  color: var(--color-on-surface) !important;
  padding: 8px 16px !important;
  transition: background 0.15s, color 0.15s;
}

#menu .dropdown-inner a:hover,
#menu .dropdown-inner li a:hover {
  background: var(--color-primary-light) !important;
  color: var(--color-primary) !important;
  background-image: none !important;
}

#menu .see-all {
  font-family: var(--font-primary);
  font-size: 13px !important;
  color: var(--color-primary) !important;
  border-top: 1px solid var(--color-outline) !important;
  padding: 8px 16px !important;
  margin-top: 4px !important;
  border-radius: 0 !important;
}

#menu .see-all:hover {
  background: var(--color-primary-light) !important;
  color: var(--color-primary) !important;
  background-image: none !important;
}

@media (min-width: 768px) {
  #menu .dropdown:hover .dropdown-menu {
    display: block;
  }
}

/* Mobile Navigation */
@media (max-width: 767px) {
  #menu {
    border-radius: 0 !important;
  }

  #menu .navbar-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 15px;
  }

  #menu #category {
    color: var(--color-nav-text) !important;
    text-shadow: none !important;
    font-family: var(--font-primary);
    font-size: 14px;
    font-weight: 600;
  }

  #menu .btn-navbar {
    background: var(--color-primary) !important;
    background-image: none !important;
    border-color: var(--color-primary) !important;
    border-radius: var(--radius-sm) !important;
    color: #fff !important;
  }

  #menu .collapse.navbar-collapse {
    display: none !important;
  }

  #menu .collapse.navbar-collapse.in {
    display: block !important;
    background: var(--color-nav-bg);
    padding: 8px 0;
  }

  #menu .nav.navbar-nav {
    flex-direction: column;
    align-items: stretch;
  }

  #menu div.dropdown-menu {
    margin-left: 0 !important;
    padding-bottom: 10px;
    background-color: rgba(0, 0, 0, 0.15) !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
  }

  #menu .dropdown-inner a {
    color: var(--color-nav-text) !important;
  }

  #menu .see-all {
    color: var(--color-nav-text) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
  }
}

/* ============================================================
   PAGE LAYOUT — Missing .container compensation
   ============================================================ */
#common-home {
  padding-left: 15px;
  padding-right: 15px;
}

/* ============================================================
   HERO SLIDESHOW — Pure Responsive Banner
   ============================================================ */

.slideshow.swiper-viewport,
.slideshow .swiper-viewport {
  border: 2px solid var(--color-primary) !important;
  border-radius: var(--radius-md) !important;
  box-shadow: var(--shadow-sm) !important;
  margin: 16px auto !important;
  overflow: hidden;
  position: relative;
  background: transparent !important;
}

/* Swiper container */
.slideshow .swiper-container {
  position: relative;
  width: 100%;
}

/* Desktop & All Screens — standalone slideshow centred with margins */
#common-home > #content > .slideshow.swiper-viewport,
#common-home .hh-hero-single .slideshow.swiper-viewport {
  max-width: calc(var(--container-max) - 30px);
  margin: 16px auto !important;
  width: calc(100% - 30px);
  padding-left: 0;
  padding-right: 0;
}

#common-home #content {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Slides and Images — 100% natural, crisp, zero crop */
.slideshow .swiper-slide {
  text-align: center;
  position: relative;
}

.slideshow .swiper-slide img {
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  display: block !important;
}

.slideshow .swiper-slide a {
  display: block;
  width: 100%;
}

/* Mobile & Tablet (≤767px) — keep matching side margins like product cards */
@media (max-width: 767px) {
  #common-home .slideshow.swiper-viewport {
    max-width: calc(100% - 20px) !important;
    width: calc(100% - 20px) !important;
    margin: 12px auto 16px auto !important;
    border-radius: var(--radius-md) !important;
    border: 2px solid var(--color-primary) !important;
    box-shadow: var(--shadow-sm) !important;
  }
}

/* Slideshow Pagination Dots */
.slideshow .swiper-pagination {
  bottom: 12px !important;
}

.slideshow .swiper-pagination .swiper-pagination-bullet {
  width: 10px !important;
  height: 10px !important;
  border-radius: var(--radius-full) !important;
  background: rgba(255, 255, 255, 0.7) !important;
  opacity: 1 !important;
  margin: 0 4px !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
  transition: background 0.3s, transform 0.3s;
}

.slideshow .swiper-pagination .swiper-pagination-bullet-active {
  background: var(--color-primary) !important;
  transform: scale(1.15);
}

/* Hide swiper nav arrows */
.slideshow .swiper-pager {
  display: none !important;
}

/* ============================================================
   HERO SECTION — Two-Column Layout (like ghorerbazar.com)
   Left: Slideshow (2/3 width)   Right: Static side-banner (1/3 width)
   ============================================================ */

/* Outer flex row */
#common-home .hh-hero-section,
.hh-hero-section {
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  gap: 16px !important;
  max-width: var(--container-max) !important;
  margin: 16px auto 0 auto !important;
  padding: 0 15px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* --- TWO-COLUMN MODE (Default when both exist) --- */
#common-home .hh-hero-section .hh-hero-slideshow,
.hh-hero-section .hh-hero-slideshow {
  flex: 0 0 calc(66.666% - 8px) !important;
  width: calc(66.666% - 8px) !important;
  max-width: calc(66.666% - 8px) !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  margin: 0 !important;
  padding: 0 !important;
}

#common-home .hh-hero-section .hh-hero-sidebar,
.hh-hero-sidebar {
  flex: 0 0 calc(33.333% - 8px) !important;
  width: calc(33.333% - 8px) !important;
  max-width: calc(33.333% - 8px) !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* --- SINGLE MODE (When only slideshow exists, e.g. online site without sidebar) --- */
#common-home .hh-hero-section.hh-hero-single .hh-hero-slideshow,
#common-home .hh-hero-section .hh-hero-slideshow:only-child,
.hh-hero-single .hh-hero-slideshow,
.hh-hero-slideshow:only-child {
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: 100% !important;
}

#common-home .hh-hero-section.hh-hero-single .hh-hero-sidebar,
#common-home .hh-hero-section .hh-hero-sidebar:empty,
.hh-hero-sidebar:empty,
.hh-hero-single .hh-hero-sidebar {
  display: none !important;
}

/* Slideshow Viewport (Left) */
#common-home .hh-hero-section .hh-hero-slideshow .slideshow.swiper-viewport,
#common-home .hh-hero-section .hh-hero-slideshow .swiper-viewport {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 2px solid var(--color-primary) !important;
  border-radius: var(--radius-md) !important;
  box-shadow: var(--shadow-sm) !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  position: relative !important;
  background: #ffffff !important;
}

#common-home .hh-hero-section .hh-hero-slideshow .swiper-container {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
}

#common-home .hh-hero-section .hh-hero-slideshow .swiper-slide {
  text-align: center !important;
  position: relative !important;
}

#common-home .hh-hero-section .hh-hero-slideshow .swiper-slide a {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

#common-home .hh-hero-section .hh-hero-slideshow .swiper-slide img {
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  display: block !important;
  margin: 0 auto !important;
}

/* Desktop Hero overrides (≥992px) — Right Sidebar Auto-Locks to Left Slideshow Height */
@media (min-width: 992px) {
  #common-home .hh-hero-section .hh-hero-sidebar,
  .hh-hero-sidebar {
    height: 100% !important;
  }

  /* Right Sidebar Viewport stretches to 100% of the row height */
  #common-home .hh-hero-section .hh-hero-sidebar .swiper-viewport {
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 2px solid var(--color-primary) !important;
    border-radius: var(--radius-md) !important;
    box-shadow: var(--shadow-sm) !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    background: #ffffff !important;
  }

  #common-home .hh-hero-section .hh-hero-sidebar .swiper-container {
    width: 100% !important;
    height: 100% !important;
    flex: 1 1 auto !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
  }

  #common-home .hh-hero-section .hh-hero-sidebar .swiper-wrapper {
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #common-home .hh-hero-section .hh-hero-sidebar .swiper-slide {
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  #common-home .hh-hero-section .hh-hero-sidebar .swiper-slide a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #common-home .hh-hero-section .hh-hero-sidebar .swiper-slide img {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}

/* Tablet & Mobile (≤991px): stack sidebar neatly under the slideshow with natural height */
@media (max-width: 991px) {
  #common-home .hh-hero-section,
  .hh-hero-section {
    flex-direction: column !important;
    gap: 12px !important;
    padding: 0 10px !important;
    margin: 12px auto !important;
    max-width: 100% !important;
    height: auto !important;
  }

  #common-home .hh-hero-section .hh-hero-slideshow,
  #common-home .hh-hero-section .hh-hero-sidebar,
  .hh-hero-slideshow,
  .hh-hero-sidebar {
    display: block !important;
    flex: 0 0 100% !important;
    width: 100% !important;
    height: auto !important;
  }

  #common-home .hh-hero-section .swiper-viewport,
  .hh-hero-section .swiper-viewport {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    border: 2px solid var(--color-primary) !important;
    border-radius: var(--radius-md) !important;
    box-sizing: border-box !important;
  }

  #common-home .hh-hero-section .swiper-slide img,
  .hh-hero-section .swiper-slide img {
    height: auto !important;
    width: 100% !important;
  }
}

/* ============================================================
   PRODUCT CARDS — Ghorerbazar Style
   ============================================================ */
#common-home #content {
  min-height: auto !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Section Heading */
/* ============================================================
   PRODUCT SECTION HEADER — Ghorerbazar Style
   ============================================================ */
.hh-products-section {
  padding: 36px 0 20px 0;
  max-width: var(--container-max);
  margin: 0 auto;
}

.hh-products-section .hh-section-header,
.hh-section-header {
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin-bottom: 22px !important;
  padding: 0 15px 12px 15px !important;
  border-bottom: 2px solid rgba(0, 0, 0, 0.06) !important;
  position: relative !important;
}

@media (min-width: 768px) {

  .hh-products-section .hh-section-header,
  .hh-section-header {
    padding: 0 20px 14px 20px !important;
  }
}

/* Section Title */
#content>h3,
#common-home h3,
.hh-products-section h3,
.hh-section-title {
  font-family: var(--font-primary, 'Poppins', sans-serif) !important;
  font-size: 22px !important;
  line-height: 28px !important;
  font-weight: 700 !important;
  color: #1e293b !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  letter-spacing: -0.3px;
}

.hh-products-section .hh-section-header h3::before,
.hh-section-title::before {
  content: '' !important;
  display: inline-block !important;
  width: 4px !important;
  height: 22px !important;
  background: var(--color-primary, #ea580c) !important;
  border-radius: 4px !important;
  flex-shrink: 0 !important;
}

/* "See all" pill button — Ghorerbazar style */
.hh-see-all-btn,
.hh-products-section .hh-view-all,
.hh-section-header .sec-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-family: var(--font-primary, 'Poppins', sans-serif) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--color-primary, #ea580c) !important;
  background: rgba(234, 88, 12, 0.08) !important;
  border: 1px solid rgba(234, 88, 12, 0.22) !important;
  padding: 6px 16px !important;
  border-radius: 20px !important;
  text-decoration: none !important;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03) !important;
  white-space: nowrap !important;
}

.hh-see-all-btn:hover,
.hh-products-section .hh-view-all:hover,
.hh-section-header .sec-btn:hover {
  background: var(--color-primary, #ea580c) !important;
  color: #ffffff !important;
  border-color: var(--color-primary, #ea580c) !important;
  transform: translateX(3px) !important;
  box-shadow: 0 4px 12px rgba(234, 88, 12, 0.25) !important;
  text-decoration: none !important;
}

.hh-see-all-btn i,
.hh-section-header .sec-btn i {
  font-size: 12px !important;
  transition: transform 0.25s ease !important;
}

.hh-see-all-btn:hover i,
.hh-section-header .sec-btn:hover i {
  transform: translateX(4px) !important;
}

/* Product cards layout — 4 columns on desktop, 2 on mobile */
.product-layout.col-lg-3 {
  width: 25% !important;
  padding: 0 12px !important;
  margin-bottom: 24px;
}

@media (max-width: 991px) {
  .product-layout.col-lg-3 {
    width: 33.333% !important;
  }
}

@media (max-width: 767px) {
  .product-layout.col-lg-3 {
    width: 50% !important;
  }
}

/* Product Card — White card with light border */
.product-thumb {
  background: var(--color-surface) !important;
  border: 1px solid var(--color-outline) !important;
  border-radius: var(--radius-md) !important;
  overflow: hidden !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
  box-shadow: var(--shadow-sm) !important;
  transition: box-shadow 0.3s ease, transform 0.3s ease !important;
  position: relative;
}

.product-thumb:hover {
  box-shadow: var(--shadow-md) !important;
  transform: translateY(-2px);
}

/* Product Image */
.product-thumb .image {
  overflow: hidden;
  border-radius: 0;
  background: #fafafa;
  position: relative;
  aspect-ratio: 1 / 1;
  margin-bottom: 0;
  border-bottom: 1px solid var(--color-outline);
}

.product-thumb .image a {
  display: block;
  height: 100%;
}

.product-thumb .image a:hover {
  opacity: 1;
}

.product-thumb .image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  padding: 16px;
  transition: transform 0.4s ease !important;
}

.product-thumb:hover .image img {
  transform: scale(1.05) !important;
}

/* Product Caption */
.product-thumb .caption {
  padding: 16px !important;
  min-height: auto !important;
  background: transparent;
}

.product-thumb .caption h4 {
  font-family: var(--font-primary) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--color-on-surface) !important;
  margin: 0 0 6px !important;
  line-height: 20px;
}

.product-thumb .caption h4 a {
  color: inherit !important;
  text-decoration: none;
}

.product-thumb .caption h4 a:hover {
  color: var(--color-primary) !important;
}

/* Hide description */
.product-thumb .caption p.hh-description,
.product-thumb .caption>p:not(.price) {
  display: none;
}

/* Price — Orange */
.product-thumb .caption .price {
  display: block !important;
  font-family: var(--font-primary);
  font-size: 18px !important;
  color: var(--color-primary) !important;
  font-weight: 600;
  margin-bottom: 12px;
  text-transform: none;
  letter-spacing: 0;
}

.product-thumb .caption .price-new {
  font-weight: 700;
  color: var(--color-primary) !important;
  font-size: 18px;
}

.product-thumb .caption .price-old {
  color: var(--color-text-muted) !important;
  font-size: 14px;
  font-weight: 400;
  text-decoration: line-through;
  margin-left: 8px;
}

.product-thumb .caption .price-tax {
  display: none !important;
}

.product-thumb .caption .rating {
  display: none;
}

/* Save Badge */
.product-thumb .gb-save-badge {
  display: inline-block;
  background: #e6f7e6;
  color: #2d7a2d;
  font-size: 11px;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: var(--radius-sm);
  margin-bottom: 10px;
}

/* ---- Button Group — Visible Text Buttons ---- */
.product-thumb .button-group {
  position: static !important;
  border: none !important;
  border-top: none !important;
  background: transparent !important;
  overflow: visible !important;
  display: flex !important;
  gap: 8px;
  opacity: 1 !important;
  padding: 0 16px 16px !important;
  z-index: 5;
}

/* Add to Cart — Orange Outline */
.product-thumb .button-group button {
  flex: 1 !important;
  width: auto !important;
  height: auto !important;
  border-radius: var(--radius-md) !important;
  background: transparent !important;
  color: var(--color-primary) !important;
  border: 1.5px solid var(--color-primary) !important;
  box-shadow: none !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 8px 12px !important;
  line-height: 1.2 !important;
  font-family: var(--font-primary) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  float: none !important;
  text-transform: none !important;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}

.product-thumb .button-group button:first-child {
  background: transparent !important;
  color: var(--color-primary) !important;
  border: 1.5px solid var(--color-primary) !important;
}

.product-thumb .button-group button:first-child:hover {
  background: var(--color-primary-light) !important;
  color: var(--color-primary) !important;
}

/* WhatsApp Button — Solid Green */
.product-thumb .button-group a.btn-whatsapp-grid,
.product-thumb .button-group button+a {
  background: #25D366 !important;
  color: #ffffff !important;
  border: 1.5px solid #25D366 !important;
  width: auto !important;
  flex: 1;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 4px !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  cursor: pointer;
  transition: all 0.2s ease;
}

.product-thumb .button-group a.btn-whatsapp-grid:hover,
.product-thumb .button-group button+a:hover {
  background: #1DA851 !important;
  border-color: #1DA851 !important;
  color: #ffffff !important;
}


/* Hide compare button (3rd button) */
.product-thumb .button-group button:nth-child(3) {
  display: none !important;
}

/* Show button text */
.product-thumb .button-group button span,
.product-thumb .button-group button .hidden-xs,
.product-thumb .button-group button .hidden-sm,
.product-thumb .button-group button .hidden-md {
  display: inline !important;
  font-family: var(--font-primary);
  font-size: 12px;
  font-weight: 600;
}

.product-thumb .button-group button .fa {
  font-size: 13px !important;
}

/* Product List View overrides */
.product-list .product-thumb .caption {
  margin-left: 230px;
}

.product-list .product-thumb .button-group {
  border-left: none !important;
  padding: 12px 16px !important;
}

@media (max-width: 767px) {
  .product-list .product-thumb .caption {
    min-height: 0;
    margin-left: 0;
    padding: 12px !important;
  }
}

/* ============================================================
   FLOATING CART WIDGET (ghorerbazar-style side cart)
   ============================================================ */
.gb-floating-cart {
  position: fixed;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 999;
  background: var(--color-primary);
  color: var(--color-on-primary);
  border-radius: var(--radius-md) 0 0 var(--radius-md);
  padding: 16px 12px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  cursor: pointer;
  box-shadow: var(--shadow-md);
  font-family: var(--font-primary);
  text-decoration: none !important;
  transition: background 0.2s;
}

.gb-floating-cart:hover {
  background: var(--color-primary-hover);
  color: var(--color-on-primary) !important;
}

.gb-floating-cart .material-symbols-outlined {
  font-size: 24px;
}

.gb-floating-cart .cart-count {
  font-size: 12px;
  font-weight: 600;
}

.gb-floating-cart .cart-amount {
  font-size: 11px;
  font-weight: 500;
  white-space: nowrap;
}

/* ============================================================
   FOOTER — Dark Modern, Multi-Column
   ============================================================ */
footer {
  background: linear-gradient(160deg, #1a3a3a 0%, #0f2222 100%) !important;
  border-top: none !important;
  color: rgba(255, 255, 255, 0.75) !important;
  margin-top: 0 !important;
  padding: 0 !important;
  position: relative;
  overflow: hidden;
}

/* Decorative background glow */
footer::before {
  content: '';
  position: absolute;
  top: -120px;
  right: -80px;
  width: 380px;
  height: 380px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(232, 117, 10, 0.06) 0%, transparent 70%);
  pointer-events: none;
}

footer::after {
  content: '';
  position: absolute;
  bottom: -80px;
  left: -60px;
  width: 280px;
  height: 280px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(232, 117, 10, 0.04) 0%, transparent 70%);
  pointer-events: none;
}

footer>.container {
  padding-top: 56px !important;
  padding-bottom: 0 !important;
  position: relative;
  z-index: 1;
}

/* Footer grid layout */
footer .hh-footer-row {
  display: grid !important;
  grid-template-columns: 1fr;
  gap: 36px 32px;
  float: none !important;
  margin: 0 !important;
  width: 100% !important;
}

footer .hh-footer-row::before,
footer .hh-footer-row::after {
  display: none !important;
}

@media (min-width: 768px) {
  footer .hh-footer-row {
    grid-template-columns: 1.6fr 1fr 1fr 1fr;
  }
}

footer .hh-footer-col {
  width: 100% !important;
  float: none !important;
  padding: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

/* Footer Brand */
.hh-footer-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none !important;
  color: #e8750a !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 14px;
}

.hh-footer-brand .brand-icon {
  width: 40px;
  height: 40px;
  background: linear-gradient(135deg, #e8750a, #c9640a);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  box-shadow: 0 4px 12px rgba(232, 117, 10, 0.35);
  flex-shrink: 0;
}

.hh-footer-brand .material-symbols-outlined {
  font-size: 22px;
  color: #fff;
}

.hh-footer-brand .hh-footer-brand-logo {
  max-height: 50px;
  width: auto;
  object-fit: contain;
  flex-shrink: 0;
}

/* Footer Description */
.hh-footer-desc {
  font-size: 13px;
  line-height: 1.75;
  color: rgba(255, 255, 255, 0.52);
  margin-bottom: 18px;
  max-width: 300px;
}

/* Footer Contact Info */
.hh-footer-contact {
  list-style: none;
  padding: 0;
  margin: 0 0 18px 0;
}

.hh-footer-contact li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.55);
  margin-bottom: 8px;
  line-height: 1.5;
}

.hh-footer-contact .material-symbols-outlined,
.hh-footer-contact .fa {
  font-size: 16px;
  color: #e8750a;
  margin-top: 2px;
  width: 18px;
  text-align: center;
  flex-shrink: 0;
}

/* Footer Social Icons */
.hh-footer-social {
  display: flex;
  gap: 8px;
  margin-top: 4px;
}

.hh-footer-social a {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.05);
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, 0.6);
  text-decoration: none;
  transition: all 0.22s;
  font-size: 14px;
}

.hh-footer-social a:hover {
  background: #e8750a;
  color: #fff;
  border-color: #e8750a;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(232, 117, 10, 0.4);
}

/* Footer Column Headings */
footer h5 {
  font-family: 'Poppins', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 1.3px !important;
  color: #e8750a !important;
  margin-bottom: 18px !important;
  margin-top: 0 !important;
}

/* Decorative underline for headings */
footer h5::after {
  content: '';
  display: block;
  width: 24px;
  height: 2px;
  background: #e8750a;
  border-radius: 2px;
  margin-top: 8px;
}

footer ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

footer ul li {
  margin-bottom: 10px;
}

footer ul li a {
  color: rgba(255, 255, 255, 0.55) !important;
  font-family: 'Poppins', sans-serif;
  font-size: 13.5px;
  line-height: 1.4;
  text-decoration: none;
  transition: all 0.18s;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

footer ul li a::before {
  content: '';
  display: inline-block;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: rgba(232, 117, 10, 0.4);
  flex-shrink: 0;
  transition: background 0.18s;
}

footer ul li a:hover {
  color: #fff !important;
  padding-left: 4px;
}

footer ul li a:hover::before {
  background: #e8750a;
}

footer hr {
  display: none;
}

footer>.container>p {
  display: none;
}

/* Footer Bottom Bar */
.hh-footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  padding: 20px 0;
  margin-top: 44px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  position: relative;
  z-index: 1;
}

/* Copyright */
.hh-footer-copyright {
  font-family: 'Poppins', sans-serif !important;
  font-size: 12.5px !important;
  color: rgba(255, 255, 255, 0.38) !important;
  margin: 0 !important;
  line-height: 1.5 !important;
}

.hh-footer-legal-links {
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
}

.hh-footer-legal-links a {
  font-family: 'Poppins', sans-serif;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.35);
  text-decoration: none;
  transition: color 0.15s;
}

.hh-footer-legal-links a:hover {
  color: #e8750a;
}

@media (max-width: 767px) {
  footer>.container {
    padding-top: 40px !important;
  }

  footer .hh-footer-row {
    gap: 28px;
  }

  .hh-footer-bottom {
    flex-direction: column;
    align-items: flex-start;
  }

  .hh-footer-desc {
    max-width: 100%;
  }
}

/* ============================================================
   COMMON HOME — Full-Width Layout Overrides
   ============================================================ */
#common-home {
  padding: 0 !important;
  margin: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
}

#common-home>.row {
  margin: 0 !important;
}

#common-home #content {
  padding: 0 !important;
  width: 100% !important;
  float: none !important;
}

/* Remove the breadcrumb on home */
#common-home .breadcrumb {
  display: none !important;
}

/* ============================================================
   BREADCRUMBS (non-home pages)
   ============================================================ */
.breadcrumbs {
  margin-top: 20px !important;
}

.breadcrumb {
  background: var(--color-surface) !important;
  border: 1px solid var(--color-outline) !important;
  border-radius: var(--radius-md);
  font-family: var(--font-primary);
  font-size: 13px;
  margin-top: 0 !important;
}

/* ============================================================
   PAGE CONTAINER SPACING — Consistent gap under nav bar
   Applies to all non-home inner pages
   ============================================================ */
#product-product,
#product-category,
#product-search,
#product-compare,
#product-manufacturer,
#information-contact,
#information-information,
#information-sitemap,
#account-account,
#account-login,
#account-register,
#account-address,
#account-edit,
#account-password,
#account-forgotten,
#account-reset,
#account-wishlist,
#account-order,
#account-recurring,
#account-return,
#account-reward,
#account-voucher,
#account-transaction,
#account-newsletter,
#account-download,
#account-tracking,
#account-affiliate,
#checkout-cart,
#checkout-checkout,
#affiliate-login,
#affiliate-register {
  padding-top: 16px;
  padding-bottom: 32px;
}

/* ============================================================
   BUTTONS — Global Overrides
   ============================================================ */
.btn {
  font-family: var(--font-primary);
  border-radius: var(--radius-md);
}

.btn-primary {
  color: #ffffff;
  background-color: var(--color-primary) !important;
  background-image: none !important;
  border-color: var(--color-primary) !important;
  text-shadow: none !important;
}

.btn-primary:hover,
.btn-primary:active,
.btn-primary.active {
  background-color: var(--color-primary-hover) !important;
  border-color: var(--color-primary-hover) !important;
}

.btn-info {
  background-color: var(--color-primary) !important;
  background-image: none !important;
  border-color: var(--color-primary) !important;
  text-shadow: none !important;
}

.btn-info:hover,
.btn-info:active {
  background-color: var(--color-primary-hover) !important;
  border-color: var(--color-primary-hover) !important;
}

/* ============================================================
   DROPDOWN MENU — Global Override
   ============================================================ */
.dropdown-menu li>a:hover {
  background-color: var(--color-primary) !important;
  background-image: none !important;
  color: #fff !important;
}

/* ============================================================
   ALERT OVERRIDES
   ============================================================ */
.alert {
  border-radius: var(--radius-md);
  font-family: var(--font-primary);
}

/* ============================================================
   SEARCH BAR (cleanup)
   ============================================================ */
#search {
  margin-bottom: 0 !important;
}

/* ============================================================
   UTILITY / MISC
   ============================================================ */
.hide-scroll::-webkit-scrollbar {
  display: none;
}

.hide-scroll {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

* {
  box-sizing: border-box;
}

/* ============================================================
   SCROLL-TO-TOP BUTTON
   ============================================================ */
.gb-scroll-top {
  position: fixed;
  bottom: 80px;
  right: 16px;
  width: 40px;
  height: 40px;
  border-radius: var(--radius-full);
  background: var(--color-primary);
  color: var(--color-on-primary);
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: var(--shadow-md);
  z-index: 999;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s, background 0.2s;
}

.gb-scroll-top.visible {
  opacity: 1;
  visibility: visible;
}

.gb-scroll-top:hover {
  background: var(--color-primary-hover);
}

.gb-scroll-top .material-symbols-outlined,
.gb-scroll-top .fa {
  font-size: 20px;
  line-height: 1;
}

/* ============================================================
   CATEGORY PAGE — Sorting / Filter Bar (Ghorerbazar Style)
   ============================================================ */
#product-category {
  /* padding handled by global page container rule */
}

#product-category h2 {
  font-family: var(--font-primary) !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  color: var(--color-on-surface) !important;
  margin-bottom: 20px;
  margin-top: 8px;
}

/* Filter Bar — horizontal flex between Sort By and Show */
.product-filter-bar {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: nowrap !important;
  gap: 12px;
  padding: 12px 0;
  margin-bottom: 20px;
  border-bottom: 1px solid var(--color-outline);
}

.filter-bar-left,
.filter-bar-right {
  display: flex;
  align-items: center;
  gap: 8px;
}

.filter-sort-group {
  display: flex;
  align-items: center;
  gap: 10px;
}

/* "Sort By:" label — bold dark text */
.filter-label {
  font-family: var(--font-primary) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--color-on-surface) !important;
  white-space: nowrap;
  margin: 0;
  letter-spacing: 0.02em;
}

/* Dropdown selects — clean thin-border style */
select.filter-select,
.product-filter-bar select,
#product-category .product-filter-bar select,
#product-category select#input-sort,
#product-category select#input-limit {
  font-family: var(--font-primary) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: var(--color-on-surface) !important;
  background-color: var(--color-surface) !important;
  border: 1px solid var(--color-outline) !important;
  border-radius: var(--radius-md) !important;
  padding: 8px 32px 8px 14px !important;
  min-width: 160px;
  height: auto !important;
  outline: none !important;
  cursor: pointer;
  transition: border-color 0.2s, box-shadow 0.2s;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8.5L1.5 4h9L6 8.5z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  background-size: 10px !important;
  box-shadow: none !important;
  line-height: 1.4 !important;
}

select.filter-select:focus,
.product-filter-bar select:focus {
  border-color: var(--color-primary) !important;
  box-shadow: 0 0 0 2px rgba(232, 117, 10, 0.12) !important;
}

select.filter-select:hover,
.product-filter-bar select:hover {
  border-color: var(--color-primary) !important;
}

/* Smaller variant for the "Show" select */
select.filter-select-sm,
.filter-bar-right select {
  min-width: 80px !important;
  padding: 8px 28px 8px 14px !important;
}

/* Responsive: stack on mobile */
@media (max-width: 575px) {
  .product-filter-bar {
    flex-direction: column;
    align-items: stretch !important;
  }

  .filter-bar-left,
  .filter-bar-right {
    width: 100%;
  }

  .filter-sort-group {
    width: 100%;
  }

  select.filter-select,
  .product-filter-bar select {
    width: 100% !important;
    min-width: 0 !important;
  }
}

/* ============================================================
   CATEGORY PAGE — Left Sidebar Redesign (Ghorerbazar Style)
   ============================================================ */

/* Column left container */
#column-left {
  padding-right: 20px;
}

/* Override the default .list-group styling */
#column-left .list-group {
  background: var(--color-surface) !important;
  border: 1px solid var(--color-outline) !important;
  border-radius: var(--radius-md) !important;
  overflow: hidden;
  margin-bottom: 20px !important;
  box-shadow: var(--shadow-sm);
}

/* All list-group-item links */
#column-left .list-group .list-group-item {
  font-family: var(--font-primary) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: var(--color-on-surface-variant) !important;
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid var(--color-outline) !important;
  border-radius: 0 !important;
  padding: 12px 16px !important;
  margin: 0 !important;
  transition: background 0.15s, color 0.15s, padding-left 0.2s;
  text-decoration: none !important;
  display: block;
}

#column-left .list-group .list-group-item:last-child {
  border-bottom: none !important;
}

/* Hover state — subtle orange tint */
#column-left .list-group .list-group-item:hover {
  background: var(--color-primary-light) !important;
  color: var(--color-primary) !important;
}

/* Active state — orange text with left accent border */
#column-left .list-group .list-group-item.active {
  background: var(--color-primary-light) !important;
  color: var(--color-primary) !important;
  font-weight: 600 !important;
  border-left: 3px solid var(--color-primary) !important;
  border-bottom: 1px solid var(--color-outline) !important;
}

/* ============================================================
   CATEGORY PAGE — Hide Manufacturer Banner in Sidebar
   ============================================================ */
#column-left .swiper-viewport {
  display: none !important;
}

/* ============================================================
   CATEGORY PAGE — Product Grid Tweaks
   ============================================================ */
#product-category .product-layout {
  margin-bottom: 20px;
}

/* Pagination row cleanup */
#product-category>#content>.row:last-of-type {
  margin-top: 16px;
}

/* ============================================================
   PRODUCT PAGE — Spacing & Layout Fixes
   ============================================================ */

/* Match the category page's spacing under the nav bar */
#product-product {
  /* padding handled by global page container rule */
}

/* Product Page — Square Main Image */
#product-product .thumbnails>li:first-child {
  margin-bottom: 16px;
  max-width: 75%;
}

#product-product .thumbnails>li:first-child .thumbnail {
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fafafa;
  border: 1px solid var(--color-outline);
  border-radius: var(--radius-md);
  overflow: hidden;
  padding: 0;
  margin: 0;
}

#product-product .thumbnails>li:first-child .thumbnail img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  padding: 20px;
}

/* Additional thumbnail images — square too */
#product-product .thumbnails .image-additional .thumbnail {
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fafafa;
  border: 1px solid var(--color-outline);
  border-radius: var(--radius-sm);
  overflow: hidden;
  padding: 0;
  margin: 0;
}

#product-product .thumbnails .image-additional .thumbnail img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  padding: 8px;
}

/* Product Title Row — flex layout with title + action buttons */
.product-title-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}

.product-title-row h1 {
  font-family: var(--font-primary) !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  color: var(--color-on-surface) !important;
  margin: 0 !important;
  line-height: 1.3;
  flex: 1;
}

/* Wishlist — Polished Pill Button (Site Palette: Orange & White) */
.product-action-btns {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-shrink: 0 !important;
  padding-top: 4px !important;
}

.product-action-btns .btn,
.product-action-btns .pd-wishlist-pill-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  padding: 8px 16px !important;
  height: 38px !important;
  border-radius: 30px !important;
  background: #ffffff !important;
  border: 1.5px solid #fde5cf !important;
  color: #7c3b00 !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  letter-spacing: 0.2px !important;
  box-shadow: 0 4px 14px -4px rgba(232, 117, 10, 0.15), 0 2px 6px rgba(0, 0, 0, 0.03) !important;
  text-shadow: none !important;
  background-image: none !important;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
  cursor: pointer !important;
  outline: none !important;
  white-space: nowrap !important;
}

.product-action-btns .btn:hover,
.product-action-btns .pd-wishlist-pill-btn:hover {
  background: linear-gradient(135deg, #e8750a 0%, #f97316 100%) !important;
  border-color: #e8750a !important;
  color: #ffffff !important;
  box-shadow: 0 6px 20px -2px rgba(232, 117, 10, 0.35) !important;
  transform: translateY(-2px) !important;
}

.product-action-btns .btn .fa,
.product-action-btns .pd-wishlist-pill-btn i.fa {
  font-size: 14px !important;
  color: #e8750a !important;
  line-height: 1 !important;
  transition: all 0.25s ease !important;
}

.product-action-btns .btn:hover .fa,
.product-action-btns .pd-wishlist-pill-btn:hover i.fa {
  color: #ffffff !important;
  transform: scale(1.18) !important;
}

.product-action-btns .btn:active,
.product-action-btns .pd-wishlist-pill-btn:active {
  transform: translateY(0) scale(0.97) !important;
}

@media (max-width: 576px) {
  .product-action-btns .pd-wishlist-pill-btn,
  .product-action-btns .btn {
    height: 34px !important;
    padding: 6px 12px !important;
    font-size: 11.5px !important;
    gap: 5px !important;
  }
}

/* ============================================================
   PRODUCT PAGE — Extra Thumbnails Spacing
   ============================================================ */
#product-product .thumbnails {
  list-style: none;
  padding: 0;
  margin: 0;
}

#product-product .thumbnails .image-additional {
  display: inline-block;
  width: 72px;
  margin-right: 8px;
  margin-bottom: 8px;
}

#product-product .thumbnails .image-additional .thumbnail {
  margin-bottom: 0;
}

/* Space between thumbnails and tabs */
#product-product .nav-tabs {
  margin-top: 24px;
}

/* ============================================================
   PRODUCT PAGE — Tabs Redesign (Theme-Matched)
   ============================================================ */
#product-product .nav-tabs {
  border-bottom: 2px solid var(--color-outline);
  padding: 0;
  gap: 0;
  display: flex;
}

#product-product .nav-tabs>li {
  margin-bottom: -2px;
  float: none;
}

#product-product .nav-tabs>li>a {
  font-family: var(--font-primary) !important;
  font-size: 14px !important;
  font-weight: 500;
  color: var(--color-on-surface-variant) !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 0 !important;
  padding: 12px 20px !important;
  margin: 0 !important;
  background: transparent !important;
  transition: color 0.2s, border-color 0.2s;
}

#product-product .nav-tabs>li>a:hover {
  color: var(--color-primary) !important;
  background: transparent !important;
  border-bottom-color: var(--color-primary-light) !important;
}

#product-product .nav-tabs>li.active>a,
#product-product .nav-tabs>li.active>a:hover,
#product-product .nav-tabs>li.active>a:focus {
  color: var(--color-primary) !important;
  font-weight: 600;
  border: none !important;
  border-bottom: 2px solid var(--color-primary) !important;
  background: transparent !important;
}

/* Tab Content Panel */
#product-product .tab-content {
  background: var(--color-surface);
  border: 1px solid var(--color-outline);
  border-top: none;
  border-radius: 0 0 var(--radius-md) var(--radius-md);
  padding: 24px;
  font-family: var(--font-primary);
  font-size: 14px;
  line-height: 1.7;
  color: var(--color-on-surface);
  margin-bottom: 32px;
}

#product-product .tab-content h2,
#product-product .tab-content h3 {
  font-size: 16px !important;
  font-weight: 600 !important;
  margin-top: 16px;
  margin-bottom: 8px;
}

#product-product .tab-content .table {
  font-family: var(--font-primary);
  font-size: 13px;
}

#product-product .tab-content .table th,
#product-product .tab-content .table td {
  padding: 10px 14px !important;
}

/* ============================================================
   PRODUCT PAGE — Right Side Info Panel
   ============================================================ */

/* Product Info container (the col-sm-5 div) */
#product-product>#content>.row>.col-sm-5 {
  position: relative;
}

/* Metadata list (Brand, Model, Stock etc.) */
#product-product>#content>.row>.col-sm-5>ul.list-unstyled:first-of-type {
  background: var(--color-surface-container);
  border: 1px solid var(--color-outline);
  border-radius: var(--radius-md);
  padding: 14px 16px !important;
  margin-bottom: 16px;
}

#product-product>#content>.row>.col-sm-5>ul.list-unstyled:first-of-type li {
  font-family: var(--font-primary);
  font-size: 13px;
  color: var(--color-on-surface-variant);
  padding: 4px 0;
  border-bottom: 1px solid var(--color-outline);
}

#product-product>#content>.row>.col-sm-5>ul.list-unstyled:first-of-type li:last-child {
  border-bottom: none;
}

#product-product>#content>.row>.col-sm-5>ul.list-unstyled:first-of-type li a {
  color: var(--color-primary) !important;
  font-weight: 500;
}

/* Price Section */
#product-product>#content>.row>.col-sm-5 h2 {
  font-family: var(--font-primary) !important;
  font-size: 32px !important;
  font-weight: 700 !important;
  color: var(--color-primary) !important;
  margin: 0 0 4px 0 !important;
  line-height: 1.2;
}

#product-product>#content>.row>.col-sm-5>ul.list-unstyled:nth-of-type(2) {
  background: var(--color-primary-light);
  border: 1px solid rgba(232, 117, 10, 0.15);
  border-radius: var(--radius-md);
  padding: 16px !important;
  margin-bottom: 20px;
}

#product-product>#content>.row>.col-sm-5>ul.list-unstyled:nth-of-type(2) li {
  font-family: var(--font-primary);
  font-size: 13px;
  color: var(--color-on-surface-variant);
  padding: 2px 0;
}

/* Qty Input + Add to Cart */
#product-product #product .form-group {
  margin-bottom: 0;
}

#product-product #product .control-label {
  font-family: var(--font-primary) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--color-on-surface) !important;
  margin-bottom: 6px;
}

#product-product #input-quantity {
  font-family: var(--font-primary) !important;
  font-size: 14px !important;
  border: 1px solid var(--color-outline) !important;
  border-radius: 0 !important;
  padding: 10px 14px !important;
  width: 80px !important;
  text-align: center;
  transition: border-color 0.2s;
}

#product-product #input-quantity:focus {
  border-color: var(--color-primary) !important;
  box-shadow: 0 0 0 2px rgba(232, 117, 10, 0.12) !important;
  outline: none;
}

/* Add to Cart Button */
#product-product #button-cart {
  font-family: var(--font-primary) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  padding: 14px 24px !important;
  border-radius: var(--radius-md) !important;
  background: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
  color: var(--color-on-primary) !important;
  text-shadow: none !important;
  background-image: none !important;
  box-shadow: 0 2px 8px rgba(232, 117, 10, 0.25) !important;
  transition: all 0.2s ease !important;
  margin-top: 8px;
}

#product-product #button-cart:hover {
  background: var(--color-primary-hover) !important;
  border-color: var(--color-primary-hover) !important;
  box-shadow: 0 4px 16px rgba(232, 117, 10, 0.35) !important;
  transform: translateY(-1px);
}

/* Rating / Reviews row */
#product-product .rating {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--color-outline);
}

#product-product .rating p {
  font-family: var(--font-primary);
  font-size: 13px;
  color: var(--color-on-surface-variant);
  margin: 0;
  display: flex;
  align-items: center;
  gap: 4px;
}

#product-product .rating .fa-star {
  color: #f5a623 !important;
}

#product-product .rating .fa-star-o {
  color: var(--color-outline) !important;
}

#product-product .rating a {
  color: var(--color-primary) !important;
  font-weight: 500;
}

/* Hr dividers in right panel */
#product-product #product hr {
  border-color: var(--color-outline);
  margin: 16px 0;
}

/* ============================================================
   SEARCH PAGE — Form, Filter Bar & Results (Ghorerbazar Style)
   ============================================================ */

/* Search page heading */
#product-search h1 {
  font-family: var(--font-primary) !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  color: var(--color-on-surface) !important;
  margin-bottom: 20px;
  margin-top: 8px;
}

/* Search Criteria label */
#product-search #content>label.control-label {
  font-family: var(--font-primary) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--color-on-surface) !important;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 2px solid var(--color-primary);
  display: inline-block;
}

/* Search form inputs row */
#product-search #content>.row:first-of-type {
  background: var(--color-surface);
  border: 1px solid var(--color-outline);
  border-radius: var(--radius-md);
  padding: 16px;
  margin-bottom: 12px;
  margin-left: 0;
  margin-right: 0;
}

/* Form controls in search area */
#product-search #content>.row:first-of-type .form-control {
  font-family: var(--font-primary) !important;
  font-size: 13px !important;
  border: 1px solid var(--color-outline) !important;
  border-radius: var(--radius-md) !important;
  padding: 10px 14px !important;
  height: auto !important;
  background-color: var(--color-surface) !important;
  color: var(--color-on-surface) !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  box-shadow: none !important;
}

#product-search #content>.row:first-of-type .form-control:focus {
  border-color: var(--color-primary) !important;
  box-shadow: 0 0 0 2px rgba(232, 117, 10, 0.12) !important;
  outline: none;
}

/* Checkbox labels */
#product-search #content .checkbox-inline {
  font-family: var(--font-primary);
  font-size: 13px;
  color: var(--color-on-surface-variant);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

#product-search #content input[type="checkbox"] {
  width: 16px;
  height: 16px;
  accent-color: var(--color-primary);
  cursor: pointer;
}

/* Description checkbox paragraph */
#product-search #content>p:has(input[type="checkbox"]) {
  margin-bottom: 8px;
}

/* Search button */
#product-search #button-search {
  font-family: var(--font-primary) !important;
  background-color: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
  border-radius: var(--radius-md) !important;
  padding: 10px 28px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #fff !important;
  transition: background-color 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease;
  cursor: pointer;
  letter-spacing: 0.3px;
  margin-top: 8px;
  margin-bottom: 16px;
  text-shadow: none !important;
  background-image: none !important;
}

#product-search #button-search:hover {
  background-color: var(--color-primary-hover) !important;
  border-color: var(--color-primary-hover) !important;
  box-shadow: 0 4px 12px rgba(232, 117, 10, 0.3) !important;
  transform: translateY(-1px);
}

#product-search #button-search:active {
  transform: translateY(0);
  box-shadow: 0 2px 6px rgba(232, 117, 10, 0.2) !important;
}

/* "Products meeting the search criteria" heading */
#product-search #content>h2 {
  font-family: var(--font-primary) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--color-on-surface) !important;
  margin-top: 20px;
  margin-bottom: 16px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--color-outline);
}

/* Search Page — Filter Bar (matching category page) */
#product-search .product-filter-bar {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: nowrap !important;
  gap: 12px;
  padding: 12px 0;
  margin-bottom: 20px;
  border-bottom: 1px solid var(--color-outline);
}

#product-search .filter-bar-left,
#product-search .filter-bar-right {
  display: flex;
  align-items: center;
  gap: 8px;
}

#product-search .filter-sort-group {
  display: flex;
  align-items: center;
  gap: 10px;
}

#product-search .filter-label {
  font-family: var(--font-primary) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--color-on-surface) !important;
  white-space: nowrap;
  margin: 0;
  letter-spacing: 0.02em;
}

/* Search Page — Dropdowns (matching category page) */
#product-search select.filter-select,
#product-search .product-filter-bar select,
#product-search select#input-sort,
#product-search select#input-limit {
  font-family: var(--font-primary) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: var(--color-on-surface) !important;
  background-color: var(--color-surface) !important;
  border: 1px solid var(--color-outline) !important;
  border-radius: var(--radius-md) !important;
  padding: 8px 32px 8px 14px !important;
  min-width: 160px;
  height: auto !important;
  outline: none !important;
  cursor: pointer;
  transition: border-color 0.2s, box-shadow 0.2s;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8.5L1.5 4h9L6 8.5z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  background-size: 10px !important;
  box-shadow: none !important;
  line-height: 1.4 !important;
}

#product-search select.filter-select:focus,
#product-search .product-filter-bar select:focus {
  border-color: var(--color-primary) !important;
  box-shadow: 0 0 0 2px rgba(232, 117, 10, 0.12) !important;
}

#product-search select.filter-select:hover,
#product-search .product-filter-bar select:hover {
  border-color: var(--color-primary) !important;
}

/* Smaller "Show" dropdown */
#product-search select.filter-select-sm,
#product-search .filter-bar-right select {
  min-width: 80px !important;
  padding: 8px 28px 8px 14px !important;
}

/* Search Page — Product Grid */
#product-search .product-layout {
  margin-bottom: 20px;
}

/* Search Page — Pagination row */
#product-search>#content>.row:last-of-type {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--color-outline);
}

#product-search .pagination>li>a,
#product-search .pagination>li>span {
  border-radius: var(--radius-md);
  margin: 0 2px;
  border: 1px solid var(--color-outline);
  color: var(--color-on-surface-variant);
  font-family: var(--font-primary);
  font-size: 13px;
  padding: 6px 12px;
  transition: all 0.2s ease;
}

#product-search .pagination>li>a:hover {
  background: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
  color: #fff !important;
}

#product-search .pagination>.active>a,
#product-search .pagination>.active>span {
  background: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
  color: #fff !important;
}

/* Showing text */
#product-search .text-right {
  font-family: var(--font-primary);
  font-size: 13px;
  color: var(--color-text-muted);
}

/* Responsive filter bar for search */
@media (max-width: 575px) {
  #product-search .product-filter-bar {
    flex-direction: column;
    align-items: stretch !important;
  }

  #product-search .filter-bar-left,
  #product-search .filter-bar-right {
    width: 100%;
  }

  #product-search .filter-sort-group {
    width: 100%;
  }

  #product-search select.filter-select,
  #product-search .product-filter-bar select {
    width: 100% !important;
    min-width: 0 !important;
  }
}

/* ============================================================
   Shopping Cart Modern Design Overrides
   ============================================================ */

/* Main Shopping Cart Card Container (Distinct White Surface) */
.cart-main-card {
  background: #ffffff !important;
  border-radius: 8px !important;
  border: 1px solid #e0dbd5 !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.04) !important;
  padding: 24px !important;
  margin-bottom: 24px !important;
}

.cart-main-card h1 {
  font-family: var(--font-primary) !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  color: var(--color-on-surface) !important;
  margin-top: 0 !important;
  margin-bottom: 20px !important;
}

/* ============================================================
   Shopping Cart — GhorerBazar-Inspired Checkout Design
   ============================================================ */

/* ---- Hide default breadcrumbs on cart page ---- */
.route-checkout-cart #content>.breadcrumb,
#checkout-cart>.breadcrumb {
  display: none !important;
}

/* ---- Page Title Banner ---- */
.cart-page-banner {
  background: #f5f6f8;
  padding: 32px 20px 28px;
  text-align: center;
  border-bottom: 1px solid #e8e8e8;
}

.cart-page-banner-title {
  font-family: var(--font-primary, 'Inter', sans-serif);
  font-size: 28px;
  font-weight: 800;
  color: #1a1a1a;
  margin: 0 0 8px;
  letter-spacing: -0.3px;
}

.cart-page-banner-crumbs {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-size: 14px;
}

.cart-page-banner-crumbs a {
  color: #555;
  text-decoration: none;
  transition: color 0.15s;
}

.cart-page-banner-crumbs a:hover {
  color: #e8750a;
}

.cart-crumb-sep {
  color: #aaa;
  font-size: 14px;
}

.cart-crumb-active {
  color: #e8750a;
  font-weight: 600;
}

/* ---- 2-Column Grid ---- */
.cart-layout {
  display: grid;
  grid-template-columns: 1fr 400px;
  gap: 24px;
  align-items: start;
  margin-top: 24px;
}

@media (max-width: 991px) {
  .cart-layout {
    grid-template-columns: 1fr;
  }
}

/* ---- Section Cards ---- */
.cart-section-card,
.cart-summary-card {
  background: #ffffff !important;
  border-radius: 12px !important;
  border: 1px solid #e5e0da !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04) !important;
  padding: 24px !important;
  margin-bottom: 20px !important;
}

.cart-summary-card {
  position: sticky;
  top: 100px;
}

/* ---- Section Header with Accent Bar ---- */
.cart-section-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid #f0ebe4;
}

.cart-section-title {
  font-family: var(--font-primary, 'Inter', sans-serif) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #1a1a1a !important;
  margin: 0 !important;
  padding-left: 14px !important;
  border-left: 4px solid #e8750a !important;
  line-height: 1.2 !important;
}

.cart-weight-badge {
  font-size: 13px;
  color: #777;
  font-weight: 500;
  background: #f5f0ea;
  padding: 4px 10px;
  border-radius: 20px;
}

/* ---- Cart Items List ---- */
.cart-items-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.cart-item-row {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 16px 0;
  border-bottom: 1px solid #f0ebe4;
  position: relative;
  transition: background 0.15s ease;
}

.cart-item-row:last-child {
  border-bottom: none;
}

.cart-item-row:hover {
  background: #fdfcfb;
  margin: 0 -24px;
  padding-left: 24px;
  padding-right: 24px;
}

/* ---- Item Image ---- */
.cart-item-image {
  flex-shrink: 0;
  width: 68px;
  height: 68px;
}

.cart-item-image img {
  width: 68px;
  height: 68px;
  object-fit: contain;
  border-radius: 8px;
  border: 1px solid #eee;
  background: #fafafa;
  padding: 4px;
}

/* ---- Item Details (name + meta row) ---- */
.cart-item-details {
  flex: 1;
  min-width: 0;
}

.cart-item-name {
  font-weight: 600 !important;
  font-size: 15px !important;
  color: #1a1a1a !important;
  text-decoration: none !important;
  display: block;
  margin-bottom: 2px;
  line-height: 1.35;
}

.cart-item-name:hover {
  color: #e8750a !important;
}

.cart-item-oos {
  display: inline-block;
  font-size: 11px;
  color: #ef4444;
  font-weight: 600;
  background: #fef2f2;
  padding: 2px 8px;
  border-radius: 4px;
  margin-top: 2px;
}

.cart-item-options {
  margin-top: 3px;
}

.cart-item-option {
  display: block;
  font-size: 12px;
  color: #888;
}

.cart-item-reward,
.cart-item-recurring {
  font-size: 12px;
  color: #888;
  margin-top: 2px;
}

/* ---- Meta Row: Qty stepper + Price inline ---- */
.cart-item-meta-row {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 10px;
}

.cart-item-qty-group {
  display: flex;
  align-items: center;
  gap: 6px;
}

.cart-item-qty-label {
  font-size: 13px;
  color: #888;
  font-weight: 500;
}

.cart-qty-stepper {
  display: inline-flex !important;
  align-items: center !important;
  border: 1.5px solid #d5d0ca !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  height: 32px !important;
  background: #ffffff !important;
  flex-shrink: 0 !important;
}

.cart-qty-stepper button {
  width: 28px !important;
  height: 32px !important;
  border: none !important;
  background: #f5f0ea !important;
  color: #333 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  outline: none !important;
  padding: 0 !important;
  margin: 0 !important;
  transition: background 0.15s !important;
}

.cart-qty-stepper button:hover {
  background: #ede8e2 !important;
}

.cart-qty-stepper input {
  width: 36px !important;
  height: 32px !important;
  text-align: center !important;
  border: none !important;
  border-left: 1px solid #d5d0ca !important;
  border-right: 1px solid #d5d0ca !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  background: #ffffff !important;
  margin: 0 !important;
  padding: 0 !important;
}

.cart-item-total-price {
  font-weight: 700;
  font-size: 15px;
  color: #1a1a1a;
}

/* ---- Remove Button ---- */
.cart-item-remove {
  flex-shrink: 0;
  padding-top: 4px;
}

.cart-btn-remove {
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  border-radius: 6px !important;
  border: 1px solid #fecaca !important;
  background: #fff5f5 !important;
  color: #ef4444 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  font-size: 13px !important;
}

.cart-btn-remove:hover {
  background: #ef4444 !important;
  border-color: #ef4444 !important;
  color: #ffffff !important;
}

/* ---- Voucher Row ---- */
.cart-voucher-qty {
  font-size: 14px;
  font-weight: 600;
  color: #555;
}

/* ============================================================
   Coupon / Gift Voucher Card (Right Column - Collapsible)
   ============================================================ */
.cart-coupon-card {
  background: #ffffff;
  border-radius: 12px;
  border: 1px solid #e5e0da;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
  margin-bottom: 20px;
  overflow: hidden;
}

.cart-coupon-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  cursor: pointer;
  transition: background 0.15s;
  user-select: none;
}

.cart-coupon-toggle:hover {
  background: #fafaf8;
}

.cart-coupon-toggle-text {
  font-size: 15px;
  font-weight: 600;
  color: #1a1a1a;
}

.cart-coupon-chevron {
  font-size: 12px;
  color: #888;
  transition: transform 0.25s ease;
}

.cart-coupon-card.open .cart-coupon-chevron {
  transform: rotate(180deg);
}

.cart-coupon-body {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease, padding 0.35s ease;
  padding: 0 20px;
}

.cart-coupon-card.open .cart-coupon-body {
  max-height: 500px;
  padding: 0 20px 20px;
}

.cart-coupon-card .panel {
  border-color: #e5e0da !important;
  border-radius: 6px !important;
  margin-bottom: 8px !important;
}

.cart-coupon-card .panel-heading {
  background: #f8f6f2 !important;
  border-color: #e5e0da !important;
  border-radius: 6px !important;
}

.cart-coupon-card .panel-title a {
  color: #333 !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

/* ============================================================
   Order Summary Card
   ============================================================ */
.cart-totals-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.cart-totals-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1px solid #f0ebe4;
}

.cart-totals-row:last-child {
  border-bottom: none;
}

.cart-totals-final {
  border-top: 2px solid #e0dbd5;
  margin-top: 4px;
  padding-top: 16px;
  border-bottom: none;
}

.cart-totals-label {
  font-size: 15px;
  color: #555;
  font-weight: 500;
}

.cart-totals-value {
  font-size: 15px;
  font-weight: 600;
  color: #1a1a1a;
}

.cart-totals-final .cart-totals-label {
  font-size: 17px;
  font-weight: 700;
  color: #e8750a;
}

.cart-totals-final .cart-totals-value {
  font-size: 18px;
  font-weight: 800;
  color: #e8750a;
}

/* ---- Summary Actions ---- */
.cart-summary-actions {
  margin-top: 24px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* Main CTA — "CHECKOUT" button */
.cart-btn-place-order {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  padding: 16px 20px !important;
  background: #e8750a !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 8px !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 1px;
  cursor: pointer;
  transition: all 0.25s ease;
  box-shadow: 0 2px 8px rgba(232, 117, 10, 0.25);
}

.cart-btn-place-order:hover {
  background: #d16800 !important;
  color: #ffffff !important;
  text-decoration: none !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(232, 117, 10, 0.35);
}

.cart-btn-place-order:active {
  transform: translateY(0);
  box-shadow: 0 2px 8px rgba(232, 117, 10, 0.25);
}

/* Secondary CTA — Continue Shopping */
.cart-btn-continue {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 12px 20px !important;
  background: transparent !important;
  color: #555 !important;
  border: 1.5px solid #d5d0ca !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  text-align: center;
  cursor: pointer;
  transition: all 0.2s ease;
}

.cart-btn-continue:hover {
  border-color: #e8750a !important;
  color: #e8750a !important;
  text-decoration: none !important;
}

/* ============================================================
   Responsive: Mobile
   ============================================================ */
@media (max-width: 767px) {
  .cart-page-banner {
    padding: 24px 16px 20px;
  }

  .cart-page-banner-title {
    font-size: 22px;
  }

  .cart-layout {
    margin-top: 16px;
    gap: 16px;
  }

  .cart-item-row {
    flex-wrap: wrap;
    gap: 10px;
  }

  .cart-item-image {
    width: 56px;
    height: 56px;
  }

  .cart-item-image img {
    width: 56px;
    height: 56px;
  }

  .cart-item-details {
    flex: 1 1 calc(100% - 110px);
  }

  .cart-item-remove {
    position: absolute;
    top: 16px;
    right: 0;
  }

  .cart-item-row {
    position: relative;
    padding-right: 44px;
  }

  .cart-item-row:hover {
    margin: 0;
    padding-left: 0;
    padding-right: 44px;
  }

  .cart-item-meta-row {
    flex-wrap: wrap;
    gap: 10px;
  }

  .cart-section-card,
  .cart-summary-card {
    padding: 16px !important;
  }

  .cart-coupon-toggle {
    padding: 14px 16px;
  }
}

/* ---- Empty Cart ---- */
#checkout-cart .cart-items-list:empty::after {
  content: 'Your shopping cart is empty!';
  display: block;
  text-align: center;
  padding: 40px 20px;
  font-size: 16px;
  color: #aaa;
}

/* ---- Hide old default cart elements ---- */
#checkout-cart .cart-page,
#checkout-cart .cart-bottom,
#checkout-cart .panels-total,
#checkout-cart>.row:first-child {
  display: none !important;
}

/* ============================================================
   Streamlined & Visually Appealing Checkout Page Design
   ============================================================ */

/* Hide default breadcrumbs on checkout page */
.route-checkout-checkout #content>.breadcrumb,
#checkout-checkout>.breadcrumb,
#checkout-checkout>h1 {
  display: none !important;
}

/* ---- Step Progress Bar ---- */
.checkout-progress-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 24px 0 32px 0;
  padding: 20px 24px;
  background: #ffffff;
  border: 1px solid #e5e0da;
  border-radius: 12px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.03);
}

.checkout-progress-bar .step-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  z-index: 2;
  flex: 0 0 auto;
}

.checkout-progress-bar .step-icon {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #f5f0ea;
  color: #888;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  border: 2px solid #e5e0da;
  transition: all 0.3s ease;
}

.checkout-progress-bar .step-label {
  margin-top: 8px;
  font-size: 13px;
  font-weight: 600;
  color: #777;
  transition: all 0.3s ease;
}

.checkout-progress-bar .step-line {
  flex: 1 1 auto;
  height: 3px;
  background: #e5e0da;
  margin: 0 12px;
  position: relative;
  top: -12px;
  transition: all 0.3s ease;
}

/* Active & Completed States */
.checkout-progress-bar .step-item.active .step-icon {
  background: #e8750a;
  border-color: #e8750a;
  color: #ffffff;
  box-shadow: 0 4px 12px rgba(232, 117, 10, 0.35);
  transform: scale(1.08);
}

.checkout-progress-bar .step-item.active .step-label {
  color: #e8750a;
  font-weight: 700;
}

.checkout-progress-bar .step-item.completed .step-icon {
  background: #10b981;
  border-color: #10b981;
  color: #ffffff;
}

.checkout-progress-bar .step-item.completed .step-label {
  color: #10b981;
}

.checkout-progress-bar .step-line.completed {
  background: #10b981;
}

/* ---- Modern Checkout Cards ---- */
.checkout-accordion .checkout-card {
  background: #ffffff !important;
  border: 1px solid #e5e0da !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03) !important;
  margin-bottom: 16px !important;
  overflow: hidden;
  transition: all 0.25s ease !important;
}

.checkout-accordion .checkout-card:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06) !important;
}

.checkout-accordion .panel-heading {
  background: #ffffff !important;
  border-bottom: 1px solid #f0ebe4 !important;
  padding: 16px 20px !important;
}

.checkout-accordion .panel-title {
  font-family: var(--font-primary, 'Inter', sans-serif) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #1a1a1a !important;
  margin: 0 !important;
}

.checkout-accordion .panel-title a {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  color: #1a1a1a !important;
  text-decoration: none !important;
  width: 100%;
}

.checkout-accordion .panel-title a:hover {
  color: #e8750a !important;
}

.checkout-accordion .panel-collapse.in {
  border-left: 4px solid #e8750a;
}

.checkout-accordion .panel-body {
  padding: 24px !important;
}

/* ---- Form Controls & Labels ---- */
#checkout-checkout .form-control {
  height: 42px;
  border-radius: 8px;
  border: 1.5px solid #d5d0ca;
  background: #fcfcfd;
  font-size: 14px;
  box-shadow: none;
  transition: all 0.2s ease;
}

#checkout-checkout .form-control:focus {
  border-color: #e8750a;
  background: #ffffff;
  box-shadow: 0 0 0 3px rgba(232, 117, 10, 0.15);
}

#checkout-checkout textarea.form-control {
  height: auto;
}

#checkout-checkout label.control-label {
  font-weight: 600;
  color: #444;
  font-size: 13px;
  margin-bottom: 6px;
}

/* Buttons in Checkout */
#checkout-checkout .btn-primary {
  background: #e8750a !important;
  border-color: #e8750a !important;
  color: #ffffff !important;
  border-radius: 8px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  padding: 12px 28px !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 2px 8px rgba(232, 117, 10, 0.25) !important;
}

#checkout-checkout .btn-primary:hover {
  background: #d16800 !important;
  border-color: #d16800 !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(232, 117, 10, 0.35) !important;
}

/* Radio / Selection Options */
#checkout-checkout .radio {
  background: #fcfbf9;
  border: 1px solid #e8e4de;
  border-radius: 8px;
  padding: 12px 16px;
  margin-bottom: 10px;
  transition: all 0.2s ease;
  cursor: pointer;
}

#checkout-checkout .radio:hover {
  border-color: #e8750a;
  background: #fffcf9;
}

#checkout-checkout .radio label {
  font-weight: 600;
  color: #222;
  cursor: pointer;
  width: 100%;
}

/* Confirmation Table */
#collapse-checkout-confirm .table-responsive {
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid #e5e0da;
}

#collapse-checkout-confirm table {
  margin-bottom: 0;
}

#collapse-checkout-confirm table thead tr td {
  background: #f8f6f2;
  font-weight: 700;
  color: #1a1a1a;
  border-bottom: 2px solid #e5e0da;
}

#collapse-checkout-confirm table tfoot tr:last-child td {
  font-size: 18px;
  font-weight: 800;
  color: #e8750a;
  border-top: 2px solid #e0dbd5;
}

/* Mobile Responsiveness for Checkout Progress */
@media (max-width: 767px) {
  .checkout-progress-bar {
    padding: 12px 8px;
  }

  .checkout-progress-bar .step-label {
    display: none;
  }

  .checkout-progress-bar .step-icon {
    width: 36px;
    height: 36px;
    font-size: 14px;
  }

  .checkout-progress-bar .step-line {
    top: 0;
    margin: 0 6px;
  }
}

/* ---- Remove Black Selection Outline / Border on Clicks ---- */
#checkout-checkout *:focus,
#checkout-checkout *:active,
#checkout-checkout a:focus,
#checkout-checkout a:active,
.checkout-accordion .panel-title:focus,
.checkout-accordion .panel-title:active,
.checkout-accordion .panel-title a:focus,
.checkout-accordion .panel-title a:active,
.checkout-accordion .accordion-toggle:focus,
.checkout-accordion .accordion-toggle:active,
.checkout-accordion .panel-heading:focus,
.checkout-accordion .panel-heading:active,
.checkout-accordion .panel:focus,
.checkout-accordion .panel:active {
  outline: none !important;
  outline-style: none !important;
  box-shadow: none !important;
}

#checkout-checkout a,
#checkout-checkout a.accordion-toggle,
.checkout-accordion .panel-title a {
  outline: 0 !important;
  text-decoration: none !important;
}

/* ============================================================
   Booking System Checkout Page Styles (Matching Theme Palette)
   ============================================================ */
.booking-page-banner {
  background: #f5f6f8;
  padding: 32px 20px 28px;
  text-align: center;
  border-bottom: 1px solid #e8e8e8;
  margin-bottom: 30px;
}

.booking-page-banner-title {
  font-family: var(--font-primary, 'Poppins', sans-serif);
  font-size: 28px !important;
  font-weight: 800 !important;
  color: #1a1a1a !important;
  margin: 0 0 8px 0 !important;
  letter-spacing: -0.3px;
}

.booking-page-banner-title i {
  color: #e8750a;
  margin-right: 6px;
  font-size: 1em;
  vertical-align: middle;
}

.booking-page-banner-sub {
  font-size: 14px;
  color: #666666;
  margin-bottom: 10px;
}

.booking-page-crumbs {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-size: 14px;
  color: #555555;
}

.booking-page-crumbs a {
  color: #555555;
  text-decoration: none;
  transition: color 0.15s;
}

.booking-page-crumbs a:hover {
  color: #e8750a;
}

.booking-card {
  background: #ffffff;
  border-radius: 14px;
  border: 1px solid #e0dbd5;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.03);
  margin-bottom: 24px;
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.booking-card-header {
  background: #faf7f2;
  padding: 16px 24px;
  border-bottom: 1px solid #e8e3dc;
}

.booking-card-header h3 {
  font-size: 18px !important;
  font-weight: 700 !important;
  margin: 0 !important;
  color: #1a3a3a !important;
}

.booking-card-header h3 i {
  margin-right: 8px;
  color: #e8750a;
}

.booking-card-body {
  padding: 24px;
}

/* Booking Items List */
.booking-item-row {
  display: flex;
  align-items: center;
  padding: 16px 0;
  border-bottom: 1px dashed #e8e3dc;
}

.booking-item-row:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.booking-item-thumb {
  width: 80px;
  height: 80px;
  border-radius: 10px;
  overflow: hidden;
  background: #f8f5f0;
  border: 1px solid #e0dbd5;
  flex-shrink: 0;
  margin-right: 18px;
}

.booking-item-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.booking-item-info {
  flex-grow: 1;
}

.booking-item-title {
  font-size: 16px !important;
  font-weight: 700 !important;
  margin: 0 0 6px 0 !important;
}

.booking-item-title a {
  color: #1a3a3a;
}

.booking-item-title a:hover {
  color: #e8750a;
}

.booking-item-meta {
  margin-bottom: 8px;
}

.booking-qty-badge,
.booking-opt-badge {
  display: inline-block;
  font-size: 12px;
  padding: 2px 8px;
  background: #f5efe6;
  color: #555555;
  border-radius: 4px;
  margin-right: 6px;
  margin-bottom: 4px;
}

.booking-item-advance-badge {
  display: inline-flex;
  align-items: center;
  background: #fff3e6;
  border: 1px solid #ffd8b3;
  color: #d16800;
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 600;
}

.booking-item-advance-badge i {
  margin-right: 6px;
  font-size: 11px;
  color: #e8750a;
}

.booking-percent-tag {
  font-weight: 500;
  color: #e8750a;
  margin-left: 4px;
}

.booking-item-price-col {
  font-size: 18px;
  font-weight: 700;
  color: #e8750a;
  margin-left: 16px;
  text-align: right;
}

/* Schedule Section */
.booking-section-label {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1px;
  color: #666666;
  margin-bottom: 12px;
  display: block;
}

/* Date Picker Grid */
.booking-date-picker-grid {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding-bottom: 10px;
  scrollbar-width: thin;
}

.booking-date-card {
  min-width: 85px;
  flex: 0 0 auto;
  background: #faf7f2;
  border: 2px solid #e0dbd5;
  border-radius: 12px;
  padding: 12px 10px;
  text-align: center;
  cursor: pointer;
  transition: all 0.2s ease;
}

.booking-date-card:hover {
  border-color: #e8750a;
  background: #ffffff;
  transform: translateY(-2px);
}

.booking-date-card.active {
  background: #e8750a;
  border-color: #e8750a;
  color: #ffffff;
  box-shadow: 0 4px 14px rgba(232, 117, 10, 0.3);
}

.booking-date-day-name {
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  opacity: 0.85;
}

.booking-date-day-num {
  font-size: 24px;
  font-weight: 800;
  line-height: 1.2;
  margin: 4px 0;
}

.booking-date-month {
  font-size: 11px;
  opacity: 0.85;
}

/* Arrival Windows */
.arrival-windows-grid {
  margin-left: -6px;
  margin-right: -6px;
}

.arrival-windows-grid>[class*='col-'] {
  padding-left: 6px;
  padding-right: 6px;
}

.arrival-window-card {
  background: #faf7f2;
  border: 2px solid #e0dbd5;
  border-radius: 12px;
  padding: 14px 12px;
  display: flex;
  align-items: center;
  cursor: pointer;
  transition: all 0.2s ease;
  margin-bottom: 10px;
}

.arrival-window-card:hover {
  border-color: #e8750a;
  background: #ffffff;
}

.arrival-window-card.active {
  background: #fff3e6;
  border-color: #e8750a;
  box-shadow: 0 2px 10px rgba(232, 117, 10, 0.15);
}

.arrival-window-icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #f5efe6;
  color: #1a3a3a;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  margin-right: 10px;
  flex-shrink: 0;
}

.arrival-window-card.active .arrival-window-icon {
  background: #e8750a;
  color: #ffffff;
}

.arrival-window-details {
  flex-grow: 1;
}

.arrival-window-title {
  font-weight: 700;
  font-size: 14px;
  color: #1a3a3a;
}

.arrival-window-time {
  font-size: 11px;
  color: #666666;
}

.arrival-window-radio {
  color: #e8750a;
  font-size: 18px;
  margin-left: 6px;
}

/* Right Column Summary */
.booking-summary-pay-card {
  border: 2px solid #e8750a;
  box-shadow: 0 6px 20px rgba(232, 117, 10, 0.12);
}

.booking-pay-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid #e8e3dc;
  font-size: 14px;
}

.booking-pay-row.balance-row {
  font-size: 16px;
  font-weight: 700;
  color: #1a3a3a;
  border-bottom: none;
  margin-top: 12px;
}

.booking-advance-highlight-box {
  background: #fff3e6;
  border: 1px solid #ffd8b3;
  border-radius: 12px;
  padding: 16px;
  margin: 16px 0;
}

.advance-title-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.advance-highlight-title {
  font-size: 15px;
  font-weight: 700;
  color: #d16800;
}

.advance-highlight-amount {
  font-size: 24px;
  font-weight: 800;
  color: #e8750a;
}

.advance-highlight-subtext {
  font-size: 12px;
  font-style: italic;
  color: #d16800;
  margin-top: 4px;
}

.btn-booking-pay {
  background: #e8750a;
  color: #ffffff;
  font-size: 16px;
  font-weight: 700;
  padding: 14px 20px;
  border-radius: 30px;
  border: none;
  transition: all 0.25s ease;
  margin-top: 15px;
  box-shadow: 0 4px 14px rgba(232, 117, 10, 0.35);
}

.btn-booking-pay:hover,
.btn-booking-pay:focus {
  background: #d16800;
  color: #ffffff;
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(232, 117, 10, 0.45);
}

.booking-security-note {
  text-align: center;
  font-size: 12px;
  color: #666666;
  margin-top: 12px;
}

.booking-terms-info {
  background: #faf7f2;
  border-radius: 8px;
  padding: 12px;
  font-size: 12px;
  color: #555555;
  line-height: 1.5;
  margin-top: 16px;
  border-left: 3px solid #e8750a;
}

.booking-quote-card {
  background: linear-gradient(135deg, #1a3a3a 0%, #285454 100%);
  color: #ffffff;
  border-radius: 14px;
  padding: 24px;
  text-align: center;
}

.booking-quote-text {
  font-family: var(--font-primary, 'Poppins', sans-serif);
  font-size: 18px;
  font-weight: 600;
  font-style: italic;
  margin: 0 0 8px 0;
  border: none;
  color: #ffffff;
  padding: 0;
}

.booking-quote-sub {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.88);
  margin: 0;
}

/* Quick link button in cart summary */
.btn-booking-checkout-link {
  display: block;
  width: 100%;
  background: linear-gradient(135deg, #e8750a 0%, #d16800 100%);
  color: #ffffff !important;
  text-align: center;
  font-weight: 700;
  padding: 12px 16px;
  border-radius: 8px;
  margin-top: 10px;
  transition: all 0.2s ease;
  box-shadow: 0 3px 10px rgba(232, 117, 10, 0.25);
}

.btn-booking-checkout-link:hover {
  background: #c45d00;
  transform: translateY(-1px);
  box-shadow: 0 5px 14px rgba(232, 117, 10, 0.35);
}

/* ============================================================
   Header Mini-Cart Dropdown Enhancement
   ============================================================ */
#cart .dropdown-menu {
  min-width: 380px !important;
  border-radius: 14px !important;
  border: 1px solid #e0dbd5 !important;
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.15) !important;
  padding: 0 !important;
  margin-top: 10px !important;
  overflow: hidden !important;
  background: #ffffff !important;
}

.cart-dropdown-items-wrap {
  max-height: 280px;
  overflow-y: auto;
  padding: 8px 14px;
}

.cart-dropdown-items-table {
  margin-bottom: 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 6px !important;
}

.cart-dropdown-item-row td {
  padding: 10px 6px !important;
  vertical-align: middle !important;
  border-top: none !important;
  border-bottom: 1px solid #f2ede6 !important;
}

.cart-dropdown-item-row:last-child td {
  border-bottom: none !important;
}

.cart-item-thumb-col img {
  width: 50px !important;
  height: 50px !important;
  object-fit: cover !important;
  border-radius: 8px !important;
  border: 1px solid #e5dfd6 !important;
  padding: 2px !important;
}

.cart-item-title-link {
  font-weight: 600 !important;
  color: #1a1a1a !important;
  font-size: 13px !important;
  line-height: 1.3 !important;
  text-decoration: none !important;
}

.cart-item-title-link:hover {
  color: #e8750a !important;
}

.cart-qty-pill {
  background: #f5efe6 !important;
  color: #666666 !important;
  font-size: 11px !important;
  padding: 4px 8px !important;
  border-radius: 12px !important;
  font-weight: 600 !important;
}

.cart-item-price-col {
  font-size: 14px !important;
  color: #e8750a !important;
}

.btn-cart-drop-remove {
  background: transparent !important;
  border: none !important;
  color: #999999 !important;
  font-size: 15px !important;
  padding: 4px 8px !important;
  border-radius: 4px !important;
  transition: all 0.2s ease !important;
}

.btn-cart-drop-remove:hover {
  color: #d32f2f !important;
  background: #fdf0f0 !important;
}

.cart-dropdown-summary-wrap {
  background: #faf7f2;
  border-top: 1px solid #eae3d8;
  padding: 16px;
}

.cart-dropdown-totals-table {
  margin-bottom: 14px !important;
  border: none !important;
}

.cart-dropdown-totals-table td {
  padding: 6px 0 !important;
  border: none !important;
  font-size: 14px !important;
  color: #444444 !important;
}

.cart-dropdown-totals-table tr.cart-total-final-row td {
  font-size: 16px !important;
  color: #1a1a1a !important;
  padding-top: 10px !important;
  border-top: 1px dashed #ded7cc !important;
}

.cart-dropdown-totals-table tr.cart-total-final-row td.cart-total-text-val {
  color: #e8750a !important;
  font-weight: 800 !important;
  font-size: 18px !important;
}

.cart-dropdown-actions {
  display: flex !important;
  gap: 10px !important;
  margin-top: 8px !important;
}

.btn-cart-drop-view {
  flex: 1 !important;
  background: #ffffff !important;
  border: 1.5px solid #dcd5cb !important;
  color: #1a1a1a !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  padding: 10px 14px !important;
  border-radius: 8px !important;
  text-align: center !important;
  text-transform: uppercase !important;
  letter-spacing: 0.3px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  transition: all 0.2s ease !important;
  text-decoration: none !important;
}

.btn-cart-drop-view:hover {
  border-color: #1a1a1a !important;
  background: #1a1a1a !important;
  color: #ffffff !important;
}

.btn-cart-drop-checkout {
  flex: 1 !important;
  background: #e8750a !important;
  border: 1.5px solid #e8750a !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  padding: 10px 14px !important;
  border-radius: 8px !important;
  text-align: center !important;
  text-transform: uppercase !important;
  letter-spacing: 0.3px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  box-shadow: 0 3px 10px rgba(232, 117, 10, 0.3) !important;
  transition: all 0.2s ease !important;
  text-decoration: none !important;
}

.btn-cart-drop-checkout:hover {
  background: #d16800 !important;
  border-color: #d16800 !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 5px 14px rgba(232, 117, 10, 0.4) !important;
}

.cart-dropdown-empty-wrap {
  padding: 30px 20px;
}

.cart-dropdown-empty {
  margin: 0;
  font-size: 15px;
  color: #777777;
}

.cart-dropdown-empty i {
  font-size: 24px;
  color: #ccc;
  display: block;
  margin-bottom: 8px;
}

/* ============================================================
   Product Card Buttons & Hover Animations
   ============================================================ */
.product-thumb .button-group button,
.product-thumb .button-group a,
.product-thumb .btn-whatsapp-grid,
.product-action-btns button {
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
  position: relative;
}

/* Subtle lift on hover for all buttons */
.product-thumb .button-group button:hover,
.product-thumb .button-group a:hover,
.product-action-btns button:hover {
  transform: translateY(-2px) !important;
}

/* Default WhatsApp icon color */
.button-group button i.fa-whatsapp,
.product-action-btns button i.fa-whatsapp {
  color: #25D366;
  font-size: 16px;
  transition: all 0.2s ease !important;
}

/* WhatsApp Button Hover Animation: Turns background into WhatsApp green with white icon */
.product-thumb .button-group button:hover:has(i.fa-whatsapp),
.product-thumb .button-group button:hover .fa-whatsapp,
.product-action-btns button:hover:has(i.fa-whatsapp),
.btn-whatsapp-grid:hover {
  background: #25D366 !important;
  border-color: #25D366 !important;
  color: #ffffff !important;
  box-shadow: 0 4px 14px rgba(37, 211, 102, 0.4) !important;
}

.product-thumb .button-group button:hover i.fa-whatsapp,
.product-action-btns button:hover i.fa-whatsapp,
.btn-whatsapp-grid:hover svg,
.btn-whatsapp-grid:hover i {
  color: #ffffff !important;
  fill: #ffffff !important;
  transform: scale(1.15) !important;
}

/* Add to Cart Button Hover Animation */
.product-thumb .button-group button:first-child:hover {
  background: #e8750a !important;
  border-color: #e8750a !important;
  color: #ffffff !important;
  box-shadow: 0 4px 14px rgba(232, 117, 10, 0.35) !important;
}

.product-thumb .button-group button:first-child:hover i {
  color: #ffffff !important;
  transform: scale(1.1) !important;
}

/* Compare / Action Button Hover Animation */
.product-thumb .button-group button:last-child:hover {
  background: #1a1a1a !important;
  border-color: #1a1a1a !important;
  color: #ffffff !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25) !important;
}

.product-thumb .button-group button:last-child:hover i {
  color: #ffffff !important;
  transform: scale(1.1) !important;
}

/* ============================================================
   Blog Layout Section & Theme Styling
   ============================================================ */

/* Blog Home & Main Container */
.blog-home,
.blog-post,
.journal-blog-posts {
  padding-top: 20px;
  padding-bottom: 40px;
}

/* Page Header Title */
.blog-home .page-title,
.blog-post .page-title {
  background: linear-gradient(135deg, #faf7f2 0%, #fff8f0 100%) !important;
  border: 1px solid #eee8e0 !important;
  border-left: 5px solid #e8750a !important;
  border-radius: 12px !important;
  padding: 20px 24px !important;
  margin-bottom: 30px !important;
  color: #1a3a3a !important;
  font-weight: 800 !important;
  font-size: 26px !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03) !important;
}

.blog-home .page-title a.blog-feed {
  background: #e8750a !important;
  color: #ffffff !important;
  font-size: 12px !important;
  padding: 5px 12px !important;
  border-radius: 20px !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  float: right;
  margin-top: 4px;
  transition: background 0.2s ease !important;
}

.blog-home .page-title a.blog-feed:hover {
  background: #d16800 !important;
}

/* Post Cards Layout */
.main-posts .post-layout,
.journal-blog-posts .post-layout {
  margin-bottom: 30px;
}

.post-thumb {
  background: #ffffff !important;
  border: 1px solid #eee8e0 !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 6px 22px rgba(0, 0, 0, 0.05) !important;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.3s ease, border-color 0.3s ease !important;
}

.post-thumb:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 14px 35px rgba(232, 117, 10, 0.14) !important;
  border-color: #e8dcd0 !important;
}

/* Post Image */
.post-thumb .image {
  position: relative !important;
  overflow: hidden !important;
  border-bottom: 1px solid #f2ece4 !important;
}

.post-thumb .image img {
  width: 100% !important;
  height: auto !important;
  transition: transform 0.5s ease !important;
}

.post-thumb:hover .image img {
  transform: scale(1.06) !important;
}

.post-thumb .image .p-date-image {
  position: absolute !important;
  top: 14px !important;
  left: 14px !important;
  background: #1a3a3a !important;
  color: #ffffff !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 6px 12px !important;
  border-radius: 20px !important;
  z-index: 2 !important;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2) !important;
}

/* Post Caption & Content */
.post-thumb .caption {
  padding: 22px 24px !important;
}

.post-stats {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  font-size: 12px !important;
  color: #777777 !important;
  margin-bottom: 12px !important;
}

.post-stats span i,
.post-stats span:before {
  color: #e8750a !important;
}

.post-thumb .name {
  margin-bottom: 10px !important;
}

.post-thumb .name a {
  color: #1a1a1a !important;
  font-weight: 800 !important;
  font-size: 19px !important;
  line-height: 1.4 !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

.post-thumb .name a:hover {
  color: #e8750a !important;
}

.post-thumb .description {
  color: #555555 !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  margin-bottom: 18px !important;
}

/* Read More Button */
.btn-read-more {
  background: #e8750a !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  padding: 10px 20px !important;
  border-radius: 8px !important;
  border: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  box-shadow: 0 4px 14px rgba(232, 117, 10, 0.3) !important;
  transition: all 0.25s ease !important;
  text-decoration: none !important;
}

.btn-read-more:hover {
  background: #d16800 !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 18px rgba(232, 117, 10, 0.4) !important;
}

/* Single Post View */
.blog-post .post-image img {
  border-radius: 16px !important;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08) !important;
}

.blog-post .post-stats-wrapper {
  background: #faf7f2 !important;
  border: 1px solid #eee8e0 !important;
  border-radius: 10px !important;
  padding: 14px 20px !important;
  margin: 20px 0 !important;
}

.blog-post .post-content {
  font-size: 15px !important;
  line-height: 1.8 !important;
  color: #333333 !important;
  margin-bottom: 30px !important;
}

.blog-post .post-content blockquote {
  border-left: 4px solid #e8750a !important;
  background: #fff8f0 !important;
  padding: 16px 20px !important;
  border-radius: 0 10px 10px 0 !important;
  font-style: italic !important;
  color: #1a3a3a !important;
}

/* ============================================================
   Product Action Buttons Micro-Animations
   ============================================================ */

/* 1. Place Booking Button */
.btn-booking-custom {
  position: relative !important;
  overflow: hidden !important;
  background: linear-gradient(135deg, #0284c7 0%, #2563eb 50%, #1d4ed8 100%) !important;
  background-size: 200% auto !important;
  border: none !important;
  color: #ffffff !important;
  box-shadow: 0 4px 14px rgba(2, 132, 199, 0.35) !important;
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1) !important;
  z-index: 1 !important;
}

.btn-booking-custom::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: -100% !important;
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(90deg,
      transparent 0%,
      rgba(255, 255, 255, 0.35) 50%,
      transparent 100%) !important;
  transition: left 0.65s cubic-bezier(0.4, 0, 0.2, 1) !important;
  z-index: 2 !important;
  pointer-events: none !important;
}

.btn-booking-custom:hover {
  background-position: right center !important;
  transform: translateY(-2px) scale(1.01) !important;
  box-shadow: 0 8px 25px rgba(37, 99, 235, 0.48), 0 0 15px rgba(2, 132, 199, 0.3) !important;
  color: #ffffff !important;
}

.btn-booking-custom:hover::before {
  left: 100% !important;
}

.btn-booking-custom:active {
  transform: translateY(1px) scale(0.99) !important;
  box-shadow: 0 3px 10px rgba(37, 99, 235, 0.4) !important;
}

.btn-booking-custom i {
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
  display: inline-block !important;
}

.btn-booking-custom:hover i {
  transform: scale(1.22) rotate(-8deg) translateY(-1px) !important;
}

/* 2. Order Now Button */
.btn-order-now-custom {
  position: relative !important;
  overflow: hidden !important;
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1) !important;
  z-index: 1 !important;
  box-shadow: 0 4px 14px rgba(30, 41, 59, 0.25) !important;
}

.btn-order-now-custom::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: -100% !important;
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(90deg,
      transparent 0%,
      rgba(255, 255, 255, 0.35) 50%,
      transparent 100%) !important;
  transition: left 0.65s cubic-bezier(0.4, 0, 0.2, 1) !important;
  z-index: 2 !important;
  pointer-events: none !important;
}

.btn-order-now-custom:hover {
  transform: translateY(-2px) scale(1.01) !important;
  box-shadow: 0 8px 22px rgba(30, 41, 59, 0.48), 0 0 15px rgba(30, 41, 59, 0.25) !important;
  color: #ffffff !important;
}

.btn-order-now-custom:hover::before {
  left: 100% !important;
}

.btn-order-now-custom:active {
  transform: translateY(1px) scale(0.99) !important;
  box-shadow: 0 3px 10px rgba(30, 41, 59, 0.4) !important;
}

.btn-order-now-custom i {
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
  display: inline-block !important;
}

.btn-order-now-custom:hover i {
  transform: scale(1.22) rotate(-10deg) translateY(-1px) !important;
}

/* 3. Order On WhatsApp Button */
.btn-whatsapp-detail {
  position: relative !important;
  overflow: hidden !important;
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1) !important;
  z-index: 1 !important;
  box-shadow: 0 4px 14px rgba(37, 211, 102, 0.25) !important;
}

.btn-whatsapp-detail::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: -100% !important;
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(90deg,
      transparent 0%,
      rgba(255, 255, 255, 0.35) 50%,
      transparent 100%) !important;
  transition: left 0.65s cubic-bezier(0.4, 0, 0.2, 1) !important;
  z-index: 2 !important;
  pointer-events: none !important;
}

.btn-whatsapp-detail:hover {
  transform: translateY(-2px) scale(1.01) !important;
  box-shadow: 0 8px 25px rgba(37, 211, 102, 0.48), 0 0 15px rgba(37, 211, 102, 0.25) !important;
  color: #ffffff !important;
}

.btn-whatsapp-detail:hover::before {
  left: 100% !important;
}

.btn-whatsapp-detail:active {
  transform: translateY(1px) scale(0.99) !important;
  box-shadow: 0 3px 10px rgba(37, 211, 102, 0.4) !important;
}

.btn-whatsapp-detail svg {
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
  display: inline-block !important;
}

.btn-whatsapp-detail:hover svg {
  transform: scale(1.22) rotate(8deg) !important;
}

/* ============================================================
   PRODUCT PAGE — Action Button Grid (CSS-only, no inline styles)
   ============================================================ */

/* Container: vertical flex column */
.product-action-grid {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
  margin-top: 5px;
  box-sizing: border-box;
}

/* Each row: horizontal flex */
.top-action-row,
.bottom-action-row {
  display: flex;
  gap: 10px;
  width: 100%;
  align-items: stretch;
}

.booking-action-row {
  display: flex;
  width: 100%;
  align-items: stretch;
}

/* Quantity stepper — Premium Modern Design */
.quantity-stepper {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  border: 2px solid #e2e8f0;
  border-radius: 14px;
  overflow: hidden;
  height: 50px;
  box-sizing: border-box;
  background: #f8fafc;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  transition: border-color 0.2s, box-shadow 0.2s;
  min-width: 130px;
}

.quantity-stepper:focus-within {
  border-color: #e8750a;
  box-shadow: 0 0 0 3px rgba(232, 117, 10, 0.12);
}

.btn-qty-minus,
.btn-qty-plus {
  width: 44px;
  height: 100%;
  border: none;
  background: transparent;
  color: #e8750a;
  font-size: 20px;
  font-weight: 700;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  outline: none;
  user-select: none;
  flex-shrink: 0;
  transition: background 0.18s, color 0.18s;
  line-height: 1;
}

.btn-qty-minus:hover,
.btn-qty-plus:hover {
  background: #e8750a;
  color: #fff;
}

.btn-qty-minus:active,
.btn-qty-plus:active {
  background: #c9640a;
  color: #fff;
}

.qty-input {
  flex: 1 !important;
  width: 44px !important;
  height: 100% !important;
  text-align: center !important;
  border: none !important;
  border-left: 1.5px solid #e2e8f0 !important;
  border-right: 1.5px solid #e2e8f0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 800 !important;
  font-size: 16px !important;
  color: #1e293b !important;
  background: #fff !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Base product action button */
.pab-btn {
  flex: 1 1 0;
  height: 48px;
  min-height: 48px;
  box-sizing: border-box;
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 4px;
  padding: 0 15px;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  margin: 0;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* WhatsApp: keep green */
.pab-btn--whatsapp {
  background: #25D366 !important;
  background-color: #25D366 !important;
  border: 1px solid #25D366 !important;
  color: #fff !important;
}

/* Full-width booking button */
.pab-btn--full {
  flex: 1 1 100%;
  width: 100%;
}

/* ---- Responsive: Tablets (768–991px) ---- */
@media (min-width: 768px) and (max-width: 991px) {
  .pab-btn {
    font-size: 13px;
    padding: 0 10px;
    gap: 6px;
  }

  .quantity-stepper {
    min-width: 100px;
  }
}

/* ---- Responsive: Mobile (≤767px) ---- */
@media (max-width: 767px) {

  .top-action-row,
  .bottom-action-row,
  .booking-action-row {
    flex-direction: column;
    gap: 8px;
  }

  .quantity-stepper,
  .pab-btn,
  .pab-btn--full {
    flex: none;
    width: 100%;
    height: 46px;
    min-height: 46px;
    font-size: 14px;
  }

  .quantity-stepper {
    height: 46px;
  }
}

/* ---- Responsive: Very small (≤380px) ---- */
@media (max-width: 380px) {
  .pab-btn {
    font-size: 13px;
    gap: 5px;
    padding: 0 10px;
  }
}

/* ============================================================
   PRODUCT PAGE — Individual Button Colors, Alignment & Animations
   ============================================================ */

/*
 * Normalize ALL pab-btn elements:
 * Bootstrap's .btn adds vertical-align:middle, line-height, padding
 * that fights flex alignment. We override everything here.
 */
.pab-btn,
.pab-btn.btn,
a.pab-btn,
a.pab-btn.btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  vertical-align: top !important;
  box-sizing: border-box !important;
  height: 48px !important;
  min-height: 48px !important;
  padding: 0 15px !important;
  line-height: 1 !important;
  margin: 0 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  border-radius: 4px !important;
  gap: 8px !important;
}

/* ---- 1. ORDER NOW — black background + shimmer hover ---- */
#button-order-now.pab-btn,
.btn-order-now-custom.pab-btn {
  background: #1e293b !important;
  background-color: #1e293b !important;
  border: 1px solid #1e293b !important;
  color: #fff !important;
}

/* Shimmer sweep on hover (the ::before already defined in btn-order-now-custom) */
#button-order-now.pab-btn:hover,
.btn-order-now-custom.pab-btn:hover {
  background: #0f172a !important;
  background-color: #0f172a !important;
  border-color: #0f172a !important;
  color: #fff !important;
  transform: translateY(-2px) scale(1.01) !important;
  box-shadow: 0 8px 22px rgba(30, 41, 59, 0.55), 0 0 15px rgba(30, 41, 59, 0.3) !important;
}

#button-order-now.pab-btn:active,
.btn-order-now-custom.pab-btn:active {
  transform: translateY(1px) scale(0.99) !important;
  box-shadow: 0 3px 10px rgba(30, 41, 59, 0.4) !important;
}

/* ---- 2. ADD TO CART — orange + same shimmer hover animation ---- */
#button-cart.pab-btn,
.btn-cart-custom.pab-btn {
  background: #ea580c !important;
  background-color: #ea580c !important;
  border: 1px solid #ea580c !important;
  color: #fff !important;
  position: relative !important;
  overflow: hidden !important;
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1) !important;
  z-index: 1 !important;
  box-shadow: 0 4px 14px rgba(234, 88, 12, 0.25) !important;
}

/* Shimmer pseudo-element */
#button-cart.pab-btn::before,
.btn-cart-custom.pab-btn::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: -100% !important;
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(90deg,
      transparent 0%,
      rgba(255, 255, 255, 0.35) 50%,
      transparent 100%) !important;
  transition: left 0.65s cubic-bezier(0.4, 0, 0.2, 1) !important;
  z-index: 2 !important;
  pointer-events: none !important;
}

#button-cart.pab-btn:hover,
.btn-cart-custom.pab-btn:hover {
  background: #c2460a !important;
  background-color: #c2460a !important;
  border-color: #c2460a !important;
  color: #fff !important;
  transform: translateY(-2px) scale(1.01) !important;
  box-shadow: 0 8px 22px rgba(234, 88, 12, 0.5), 0 0 15px rgba(234, 88, 12, 0.3) !important;
}

#button-cart.pab-btn:hover::before,
.btn-cart-custom.pab-btn:hover::before {
  left: 100% !important;
}

#button-cart.pab-btn:active,
.btn-cart-custom.pab-btn:active {
  transform: translateY(1px) scale(0.99) !important;
  box-shadow: 0 3px 10px rgba(234, 88, 12, 0.4) !important;
}

#button-cart.pab-btn .fa,
.btn-cart-custom.pab-btn .fa {
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
  display: inline-block !important;
}

#button-cart.pab-btn:hover .fa,
.btn-cart-custom.pab-btn:hover .fa {
  transform: scale(1.22) rotate(-8deg) translateY(-1px) !important;
}

/* ---- 3. WHATSAPP — green, aligned, shimmer (inherits from btn-whatsapp-detail) ---- */
#button-whatsapp-order.pab-btn,
.pab-btn--whatsapp {
  background: #25D366 !important;
  background-color: #25D366 !important;
  border: 1px solid #25D366 !important;
  color: #fff !important;
}

/* Ensure svg inside is aligned */
#button-whatsapp-order.pab-btn svg,
.pab-btn--whatsapp svg {
  flex-shrink: 0;
  display: block;
  position: relative;
  z-index: 3;
}

/* ---- Match Add to Cart corner radius to WhatsApp button (4px) ---- */
#product-product #button-cart.pab-btn,
#button-cart.pab-btn,
.btn-cart-custom.pab-btn {
  border-radius: 4px !important;
}

/* ---- Responsive height adjustments ---- */
@media (max-width: 767px) {

  .pab-btn,
  .pab-btn.btn,
  a.pab-btn,
  a.pab-btn.btn {
    height: 46px !important;
    min-height: 46px !important;
    font-size: 14px !important;
    width: 100% !important;
    flex: none !important;
  }
}

@media (max-width: 380px) {

  .pab-btn,
  .pab-btn.btn,
  a.pab-btn,
  a.pab-btn.btn {
    font-size: 13px !important;
    padding: 0 10px !important;
    gap: 5px !important;
  }
}

/* ============================================================
   COMPREHENSIVE RESPONSIVE STYLES — All Screen Sizes
   Covers: Header, Nav, Product buttons, Cart, Checkout,
           Booking, Account, Filter bars, Footer, and more.
   ============================================================ */

/* ---- HEADER: Mobile (≤767px) ---- */
@media (max-width: 767px) {
  header>.container {
    flex-wrap: wrap !important;
    gap: 10px !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }

  #hh-brand {
    font-size: 18px !important;
    flex: 1 !important;
  }

  #hh-brand .hh-brand-logo {
    height: 36px !important;
    max-height: 40px !important;
  }

  /* Mobile search bar shown below logo+icons */
  #gb-search-bar {
    display: flex !important;
    order: 3;
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }

  #hh-header-icons {
    gap: 2px !important;
  }

  #hh-header-icons a,
  #hh-header-icons .hh-icon-btn {
    padding: 4px 7px !important;
  }

  /* Hide icon labels on mobile to save space */
  #hh-header-icons .icon-label {
    display: none !important;
  }

  /* Cart dropdown: full-width on mobile */
  #cart .dropdown-menu {
    min-width: 92vw !important;
    max-width: 92vw !important;
    right: -10px !important;
    left: auto !important;
  }

  .cart-dropdown-actions {
    flex-direction: column !important;
  }

  .btn-cart-drop-view,
  .btn-cart-drop-checkout {
    width: 100% !important;
    flex: none !important;
    justify-content: center !important;
  }
}

/* ---- HEADER: Tablets (768–991px) ---- */
@media (min-width: 768px) and (max-width: 991px) {
  #hh-brand {
    font-size: 18px !important;
  }

  #hh-header-icons a,
  #hh-header-icons .hh-icon-btn {
    padding: 4px 8px !important;
  }

  #hh-header-icons .icon-label {
    font-size: 9px !important;
  }

  #gb-search-bar {
    max-width: 360px !important;
  }
}

/* ---- PRODUCT CARDS: Extra small (≤479px) ---- */
@media (max-width: 479px) {
  .product-layout.col-lg-3 {
    width: 50% !important;
    padding: 0 6px !important;
    margin-bottom: 16px !important;
  }

  .product-thumb .caption {
    padding: 10px !important;
  }

  .product-thumb .caption h4 {
    font-size: 12px !important;
  }

  .product-thumb .caption .price {
    font-size: 14px !important;
  }

  .product-thumb .button-group {
    padding: 0 8px 10px !important;
    gap: 6px !important;
  }

  /* On very small screens just show icons in product card buttons */
  .product-thumb .button-group button .hidden-xs,
  .product-thumb .button-group button span:not(.fa) {
    display: none !important;
  }

  .product-thumb .button-group button,
  .product-thumb .button-group a.btn-whatsapp-grid {
    padding: 8px 10px !important;
    font-size: 11px !important;
  }

  .product-thumb .button-group button .fa {
    font-size: 14px !important;
  }
}

/* ---- RESPONSIVE: Prevent product cards from touching screen edges on mobile ----
   Bootstrap .row has margin: -15px, and #content had padding: 0, so the row
   overflowed 15px outside the viewport. Cards had only 6px inner padding,
   meaning their edges sat ~9px beyond the screen edge.
   Fix: add 15px horizontal padding to #content. The row's -15px margin then
   cancels out exactly, and each card's own 6-12px padding provides the gap. */
@media (max-width: 767px) {
  #common-home #content {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }

  /* The slideshow compensates with calc(100% + 30px) width + -15px margins (see above) */
}

/* ---- PRODUCT PAGE: Mobile (≤767px) ---- */
@media (max-width: 767px) {

  /* Full-width main image */
  #product-product .thumbnails>li:first-child {
    max-width: 100% !important;
  }

  /* Stack columns vertically */
  #product-product>#content>.row>div[class*="col-sm"] {
    width: 100% !important;
    float: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Product title row */
  .product-title-row {
    flex-wrap: wrap !important;
    gap: 8px !important;
  }

  .product-title-row h1 {
    font-size: 22px !important;
  }

  /* Action button grid: stack rows vertically */
  .product-action-grid {
    gap: 8px !important;
  }

  .top-action-row,
  .bottom-action-row,
  .booking-action-row {
    flex-direction: column !important;
    gap: 8px !important;
  }

  .top-action-row>*,
  .bottom-action-row>*,
  .booking-action-row>* {
    flex: none !important;
    width: 100% !important;
    height: 46px !important;
    min-height: 46px !important;
    max-height: 46px !important;
    font-size: 14px !important;
  }

  /* Qty stepper: full width */
  .quantity-stepper {
    width: 100% !important;
    flex: none !important;
  }

  /* Tab panel padding */
  #product-product .tab-content {
    padding: 14px !important;
  }

  /* Reduce price size slightly */
  #product-product>#content>.row>.col-sm-5 h2 {
    font-size: 26px !important;
  }
}

/* ---- PRODUCT PAGE: Tablets (768–991px) ---- */
@media (min-width: 768px) and (max-width: 991px) {
  .product-title-row h1 {
    font-size: 24px !important;
  }

  .top-action-row>button,
  .bottom-action-row>button,
  .bottom-action-row>a {
    font-size: 13px !important;
  }
}

/* ---- PRODUCT PAGE: Very small screens (≤380px) ---- */
@media (max-width: 380px) {
  .product-title-row h1 {
    font-size: 18px !important;
  }

  .top-action-row>*,
  .bottom-action-row>*,
  .booking-action-row>* {
    font-size: 12px !important;
  }
}

/* ---- CATEGORY / SEARCH: Filter bar responsive ---- */
@media (max-width: 767px) {
  .product-filter-bar {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
  }

  .filter-bar-left,
  .filter-bar-right {
    width: 100% !important;
  }

  .filter-sort-group {
    flex-wrap: wrap !important;
    width: 100% !important;
  }

  select.filter-select,
  .product-filter-bar select {
    width: 100% !important;
    min-width: 0 !important;
  }

  #product-category h2,
  #product-search h1 {
    font-size: 20px !important;
  }
}

/* ---- SHOPPING CART: Mobile ---- */
@media (max-width: 767px) {
  .cart-page-banner {
    padding: 20px 16px 16px !important;
  }

  .cart-page-banner-title {
    font-size: 20px !important;
  }

  .cart-layout {
    margin-top: 12px !important;
    gap: 12px !important;
  }

  .cart-section-card,
  .cart-summary-card {
    padding: 14px !important;
  }

  /* Remove sticky on mobile */
  .cart-summary-card {
    position: static !important;
  }

  .cart-summary-actions {
    gap: 8px !important;
  }

  .cart-btn-place-order,
  .btn-booking-checkout-link,
  .cart-btn-continue {
    font-size: 13px !important;
    padding: 13px 12px !important;
    letter-spacing: 0.4px !important;
  }

  .cart-item-row {
    flex-wrap: wrap !important;
    gap: 10px !important;
    padding: 12px 0 !important;
  }

  .cart-item-image {
    width: 54px !important;
    height: 54px !important;
  }

  .cart-item-image img {
    width: 54px !important;
    height: 54px !important;
  }

  .cart-item-name {
    font-size: 13px !important;
  }

  .cart-item-total-price {
    font-size: 14px !important;
  }
}

/* ---- SHOPPING CART: Extra small ---- */
@media (max-width: 479px) {
  .cart-item-meta-row {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
  }

  .cart-qty-stepper {
    height: 36px !important;
  }

  .cart-qty-stepper button {
    width: 32px !important;
    height: 36px !important;
    font-size: 16px !important;
  }

  .cart-qty-stepper input {
    height: 36px !important;
  }
}

/* ---- CHECKOUT PAGE: Mobile ---- */
@media (max-width: 767px) {
  .checkout-progress-bar {
    padding: 10px 6px !important;
    margin: 12px 0 20px 0 !important;
    gap: 4px !important;
  }

  .checkout-progress-bar .step-icon {
    width: 34px !important;
    height: 34px !important;
    font-size: 13px !important;
  }

  .checkout-progress-bar .step-label {
    display: none !important;
  }

  .checkout-progress-bar .step-line {
    margin: 0 4px !important;
    top: -8px !important;
  }

  .checkout-accordion .panel-body {
    padding: 16px !important;
  }

  #checkout-checkout .btn-primary {
    font-size: 14px !important;
    padding: 12px 20px !important;
    width: 100% !important;
    display: block !important;
  }

  #checkout-checkout .form-control {
    height: 40px !important;
    font-size: 13px !important;
  }

  #checkout-checkout .btn-primary {
    white-space: normal !important;
  }
}

/* ---- BOOKING PAGE: Mobile ---- */
@media (max-width: 767px) {
  .booking-page-banner {
    padding: 20px 14px 16px !important;
  }

  .booking-page-banner-title {
    font-size: 22px !important;
  }

  .booking-card-body {
    padding: 16px !important;
  }

  .booking-card-header {
    padding: 14px 16px !important;
  }

  /* Stack booking item row vertically */
  .booking-item-row {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
  }

  .booking-item-thumb {
    width: 64px !important;
    height: 64px !important;
    margin-right: 0 !important;
  }

  .booking-item-price-col {
    margin-left: 0 !important;
    font-size: 16px !important;
    text-align: left !important;
  }

  /* Arrival windows: 1 col */
  .arrival-windows-grid>[class*="col-"] {
    width: 100% !important;
    float: none !important;
  }

  .booking-date-card {
    min-width: 72px !important;
    padding: 10px 8px !important;
  }

  .booking-date-day-num {
    font-size: 20px !important;
  }

  .btn-booking-pay {
    font-size: 15px !important;
    padding: 13px 16px !important;
    border-radius: 8px !important;
    width: 100% !important;
    display: block !important;
    text-align: center !important;
  }

  .booking-advance-highlight-box {
    padding: 12px !important;
  }

  .advance-highlight-amount {
    font-size: 20px !important;
  }

  .booking-summary-pay-card {
    position: static !important;
  }
}

/* ---- BOOKING PAGE: Tablet ---- */
@media (min-width: 768px) and (max-width: 991px) {
  .arrival-windows-grid>.col-sm-6 {
    width: 50% !important;
  }
}

/* ---- ACCOUNT / FORM PAGES: Mobile ---- */
@media (max-width: 767px) {

  /* Label: full width, left-aligned */
  .form-horizontal .control-label {
    text-align: left !important;
    width: 100% !important;
    float: none !important;
    padding-bottom: 4px !important;
  }

  /* Field columns: full width */
  .form-horizontal .col-sm-10,
  .form-horizontal .col-sm-9,
  .form-horizontal .col-sm-8 {
    width: 100% !important;
    float: none !important;
    padding-left: 0 !important;
  }

  /* Buttons: full-width stacked */
  .buttons .btn {
    width: 100% !important;
    display: block !important;
    margin-bottom: 8px !important;
  }

  .buttons .pull-left,
  .buttons .pull-right {
    float: none !important;
    width: 100% !important;
    text-align: center !important;
    margin-bottom: 8px !important;
  }
}

/* ---- COMPARE PAGE: Mobile ---- */
@media (max-width: 767px) {
  #product-compare table {
    font-size: 12px !important;
  }

  #product-compare .btn {
    font-size: 12px !important;
    padding: 6px 10px !important;
  }
}

/* ---- TABLE: Universal Mobile Scroll ---- */
@media (max-width: 767px) {
  .table-responsive {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    margin-bottom: 16px !important;
  }
}

/* ---- FLOATING CART: Smaller on mobile ---- */
@media (max-width: 767px) {
  .gb-floating-cart {
    padding: 12px 8px !important;
  }

  .gb-floating-cart .material-symbols-outlined {
    font-size: 20px !important;
  }

  .gb-floating-cart .cart-amount {
    display: none !important;
  }
}

/* ---- SECTION HEADINGS: Mobile ---- */
@media (max-width: 767px) {

  #content>h3,
  #common-home h3,
  .hh-products-section h3 {
    font-size: 20px !important;
    margin-bottom: 16px !important;
  }

  .hh-products-section {
    padding: 24px 0 !important;
  }

  .hh-products-section .hh-section-header,
  .hh-section-header {
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 0 10px 10px 10px !important;
  }
}

/* ---- BLOG: Mobile ---- */
@media (max-width: 767px) {
  .post-thumb .name a {
    font-size: 16px !important;
  }

  .post-thumb .caption {
    padding: 16px !important;
  }

  .btn-read-more {
    font-size: 12px !important;
    padding: 8px 16px !important;
  }
}

/* ---- FOOTER: Mobile (≤767px) ---- */
@media (max-width: 767px) {
  footer>.container {
    padding-top: 32px !important;
    padding-bottom: 32px !important;
  }

  footer .hh-footer-row {
    grid-template-columns: 1fr 1fr !important;
  }

  footer .hh-footer-col:first-child {
    grid-column: 1 / -1 !important;
  }

  .hh-footer-bottom {
    flex-direction: column !important;
    text-align: center !important;
    gap: 8px !important;
    padding: 16px 0 !important;
    margin-top: 20px !important;
  }
}

/* ---- FOOTER: Extra small ---- */
@media (max-width: 479px) {
  footer .hh-footer-row {
    grid-template-columns: 1fr !important;
  }
}

/* ---- PAGINATION: Mobile ---- */
@media (max-width: 479px) {

  .pagination>li>a,
  .pagination>li>span {
    padding: 5px 9px !important;
    font-size: 12px !important;
    margin: 0 1px !important;
  }
}

/* ---- BREADCRUMB: Mobile ---- */
@media (max-width: 479px) {
  .breadcrumb {
    font-size: 11px !important;
    padding: 8px 12px !important;
  }
}

/* ---- PREVENT HORIZONTAL SCROLL GLOBALLY ---- */
html,
body {
  max-width: 100% !important;
  overflow-x: hidden !important;
}

/* ---- IMAGES: Always responsive ---- */
img {
  max-width: 100%;
  height: auto;
}

/* Re-apply explicit dimensions for specific image containers */
.product-thumb .image img,
.cart-item-image img,
.booking-item-thumb img {
  height: 100% !important;
}






/* ============================================================
   SHARED ACCOUNT SUB-PAGES — Design System
   Used by: edit, password, address, orders, wishlist,
            newsletter, download, transaction, reward,
            recurring, return, affiliate, tracking pages
   ============================================================ */

/* Page wrapper */
.acc-page {
  min-height: calc(100vh - 200px);
  background: linear-gradient(135deg, #fdf6f0 0%, #fff8f4 50%, #fef3eb 100%);
  padding-bottom: 60px;
}

/* Mini hero strip */
.acc-mini-hero {
  background: linear-gradient(135deg, #1a3a3a 0%, #0f2222 100%);
  padding: 28px 0 36px;
  position: relative;
  overflow: hidden;
}

.acc-mini-hero::before {
  content: '';
  position: absolute;
  top: -50px;
  right: -50px;
  width: 200px;
  height: 200px;
  border-radius: 50%;
  background: rgba(232, 117, 10, 0.06);
  pointer-events: none;
}

.acc-mini-hero-inner {
  max-width: 880px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  align-items: center;
  gap: 16px;
  position: relative;
  z-index: 1;
}

.acc-mini-hero-icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: rgba(232, 117, 10, 0.18);
  border: 1.5px solid rgba(232, 117, 10, 0.35);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: #f9a760;
  font-size: 20px;
}

.acc-mini-hero h1 {
  font-family: 'Poppins', sans-serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #fff !important;
  margin: 0 0 3px 0 !important;
  line-height: 1.2 !important;
}

.acc-mini-hero-back {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.5);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  transition: color 0.15s;
}

.acc-mini-hero-back:hover {
  color: #f9a760;
  text-decoration: none;
}

/* Content container */
.acc-container {
  max-width: 880px;
  margin: -20px auto 0;
  padding: 0 24px;
  position: relative;
  z-index: 2;
}

/* Main white card */
.acc-card {
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08), 0 2px 8px rgba(232, 117, 10, 0.05);
  border: 1px solid #f0e8e0;
  overflow: hidden;
}

.acc-card-body {
  padding: 32px 36px;
}

/* Section header inside card */
.acc-section-head {
  font-family: 'Poppins', sans-serif;
  font-size: 10.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.3px;
  color: #b07840;
  margin: 0 0 18px 0;
  padding-bottom: 10px;
  border-bottom: 2px solid #fde8d4;
  display: flex;
  align-items: center;
  gap: 8px;
}

/* Form grid */
.acc-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px 22px;
}

.acc-form-grid.one-col {
  grid-template-columns: 1fr;
}

.acc-form-col-full {
  grid-column: 1 / -1;
}

/* Form field */
.acc-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.acc-field label {
  font-family: 'Poppins', sans-serif;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.7px;
  color: #555;
}

.acc-field .req-star {
  color: #e8750a;
  margin-left: 2px;
}

.acc-input-wrap {
  position: relative;
}

.acc-input-wrap input,
.acc-input-wrap select,
.acc-input-wrap textarea {
  width: 100%;
  height: 44px;
  padding: 0 40px 0 13px;
  border: 1.5px solid #e0d8d0;
  border-radius: 8px;
  font-family: 'Poppins', sans-serif;
  font-size: 13.5px;
  color: #1a2533;
  background: #fafaf9;
  transition: border-color 0.2s, box-shadow 0.2s;
  outline: none;
  box-sizing: border-box;
  appearance: none;
}

.acc-input-wrap textarea {
  height: 90px;
  padding-top: 10px;
  resize: vertical;
}

.acc-input-wrap input:focus,
.acc-input-wrap select:focus,
.acc-input-wrap textarea:focus {
  border-color: #e8750a;
  box-shadow: 0 0 0 3px rgba(232, 117, 10, 0.11);
  background: #fff;
}

.acc-input-icon {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: #bbb;
  font-size: 14px;
  pointer-events: none;
}

.acc-input-icon.click {
  pointer-events: auto;
  cursor: pointer;
  transition: color 0.15s;
}

.acc-input-icon.click:hover {
  color: #e8750a;
}

.acc-field-error {
  font-size: 11.5px;
  color: #dc2626;
  display: flex;
  align-items: center;
  gap: 4px;
}

/* Radio / checkbox groups */
.acc-radio-group {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  align-items: center;
  padding-top: 6px;
}

.acc-radio-label {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13.5px;
  color: #444;
  cursor: pointer;
}

.acc-radio-label input {
  accent-color: #e8750a;
  width: 15px;
  height: 15px;
}

.acc-check-label {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 13.5px;
  color: #444;
  cursor: pointer;
}

.acc-check-label input {
  accent-color: #e8750a;
}

/* Footer button row */
.acc-footer-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 28px;
  padding-top: 22px;
  border-top: 1px solid #f0ece8;
  flex-wrap: wrap;
}

/* Buttons */
.btn-acc-primary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 46px;
  padding: 0 28px;
  background: linear-gradient(135deg, #e8750a 0%, #c9640a 100%);
  border: none;
  border-radius: 8px;
  color: #fff;
  font-family: 'Poppins', sans-serif;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 4px 14px rgba(232, 117, 10, 0.28);
  text-decoration: none !important;
  white-space: nowrap;
}

.btn-acc-primary:hover {
  background: linear-gradient(135deg, #c9640a 0%, #a8530a 100%);
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(232, 117, 10, 0.42);
  color: #fff !important;
}

.btn-acc-primary:active {
  transform: translateY(1px);
}

.btn-acc-back {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  height: 46px;
  padding: 0 22px;
  background: #fff;
  border: 1.5px solid #e0d8d0;
  border-radius: 8px;
  color: #555;
  font-family: 'Poppins', sans-serif;
  font-size: 13.5px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s;
  text-decoration: none !important;
  white-space: nowrap;
}

.btn-acc-back:hover {
  border-color: #e8750a;
  color: #e8750a;
  background: #fff8f4;
  text-decoration: none !important;
}

.btn-acc-danger {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  height: 38px;
  padding: 0 16px;
  background: #fff;
  border: 1.5px solid #fca5a5;
  border-radius: 8px;
  color: #dc2626;
  font-family: 'Poppins', sans-serif;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s;
  text-decoration: none !important;
}

.btn-acc-danger:hover {
  background: #fef2f2;
  border-color: #dc2626;
  color: #dc2626 !important;
  text-decoration: none !important;
}

.btn-acc-secondary {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  height: 38px;
  padding: 0 16px;
  background: #fff;
  border: 1.5px solid #c5d5e8;
  border-radius: 8px;
  color: #2563eb;
  font-family: 'Poppins', sans-serif;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s;
  text-decoration: none !important;
}

.btn-acc-secondary:hover {
  background: #eff6ff;
  border-color: #2563eb;
  color: #2563eb !important;
  text-decoration: none !important;
}

.btn-acc-cart {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  height: 38px;
  padding: 0 16px;
  background: #e8750a;
  border: none;
  border-radius: 8px;
  color: #fff;
  font-family: 'Poppins', sans-serif;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s;
}

.btn-acc-cart:hover {
  background: #c9640a;
}

/* Alerts inside cards */
.acc-alert-success,
.acc-alert-danger {
  padding: 12px 18px;
  border-radius: 10px;
  margin-bottom: 20px;
  font-size: 13.5px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.acc-alert-success {
  background: #f0fdf4;
  border: 1px solid #86efac;
  color: #15803d;
}

.acc-alert-danger {
  background: #fef2f2;
  border: 1px solid #fca5a5;
  color: #dc2626;
}

/* Table */
.acc-table-wrap {
  overflow-x: auto;
}

.acc-table {
  width: 100%;
  border-collapse: collapse;
}

.acc-table thead th {
  font-family: 'Poppins', sans-serif;
  font-size: 10.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #888;
  padding: 10px 14px;
  border-bottom: 2px solid #f0e8e0;
  white-space: nowrap;
  background: #fafaf9;
}

.acc-table thead th:first-child {
  border-radius: 8px 0 0 0;
}

.acc-table thead th:last-child {
  border-radius: 0 8px 0 0;
}

.acc-table tbody tr {
  border-bottom: 1px solid #f5f0eb;
  transition: background 0.15s;
}

.acc-table tbody tr:hover {
  background: #fffaf7;
}

.acc-table tbody td {
  padding: 14px 14px;
  font-size: 13.5px;
  color: #374151;
  vertical-align: middle;
}

.acc-table tbody tr:last-child {
  border-bottom: none;
}

.acc-table tfoot td {
  padding: 12px 14px;
  font-weight: 700;
  border-top: 2px solid #f0e8e0;
  font-size: 13.5px;
}

/* Status badge */
.acc-badge {
  display: inline-flex;
  align-items: center;
  padding: 3px 10px;
  border-radius: 100px;
  font-size: 11.5px;
  font-weight: 600;
}

.acc-badge-orange {
  background: rgba(232, 117, 10, 0.12);
  color: #c9640a;
}

.acc-badge-green {
  background: rgba(16, 185, 129, 0.10);
  color: #059669;
}

.acc-badge-blue {
  background: rgba(59, 130, 246, 0.10);
  color: #2563eb;
}

.acc-badge-gray {
  background: rgba(107, 114, 128, 0.10);
  color: #4b5563;
}

/* Empty state */
.acc-empty {
  text-align: center;
  padding: 52px 24px;
  color: #aaa;
}

.acc-empty i {
  font-size: 48px;
  margin-bottom: 14px;
  display: block;
  color: #ddd;
}

.acc-empty p {
  font-size: 14px;
  margin: 0;
}

/* Pagination row */
.acc-pagination-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  padding: 14px 36px;
  border-top: 1px solid #f0e8e0;
  font-size: 13px;
  color: #888;
}

/* Add new button (top right) */
.acc-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 22px 36px 0;
  gap: 14px;
}

.acc-card-header h2 {
  font-family: 'Poppins', sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #1a2533 !important;
  margin: 0 !important;
}

/* ---- Responsive ---- */
@media (max-width: 767px) {
  .acc-container {
    padding: 0 12px;
    margin-top: -16px;
  }

  .acc-card-body {
    padding: 22px 18px;
  }

  .acc-form-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .acc-form-col-full {
    grid-column: 1;
  }

  .acc-footer-row {
    flex-direction: column;
    align-items: stretch;
  }

  .btn-acc-primary {
    justify-content: center;
  }

  .acc-mini-hero {
    padding: 22px 0 28px;
  }

  .acc-mini-hero h1 {
    font-size: 18px !important;
  }

  .acc-card-header {
    padding: 18px 18px 0;
    flex-wrap: wrap;
  }

  .acc-pagination-row {
    padding: 12px 18px;
  }

  .acc-table tbody td,
  .acc-table thead th {
    padding: 10px 10px;
    font-size: 12.5px;
  }

  /* ============================================================
   INFORMATION PAGES — Rich Content Styling
   ============================================================ */
  .acc-info-content {
    font-family: 'Poppins', var(--font-primary), sans-serif;
    font-size: 14.5px;
    line-height: 1.8;
    color: #334155;
  }

  .acc-info-content h1,
  .acc-info-content h2,
  .acc-info-content h3,
  .acc-info-content h4 {
    font-family: 'Poppins', sans-serif !important;
    color: #1e293b !important;
    font-weight: 700 !important;
    margin-top: 28px !important;
    margin-bottom: 14px !important;
    line-height: 1.35 !important;
  }

  .acc-info-content h1 {
    font-size: 22px !important;
    border-left: 4px solid #e8750a;
    padding-left: 12px;
  }

  .acc-info-content h2 {
    font-size: 18px !important;
    border-left: 3.5px solid #e8750a;
    padding-left: 10px;
  }

  .acc-info-content h3 {
    font-size: 16px !important;
    color: #e8750a !important;
  }

  .acc-info-content h4 {
    font-size: 14.5px !important;
  }

  .acc-info-content p {
    margin-bottom: 16px;
    color: #475569;
  }

  .acc-info-content ul,
  .acc-info-content ol {
    margin: 16px 0 20px 24px;
    padding: 0;
  }

  .acc-info-content li {
    margin-bottom: 8px;
    color: #334155;
  }

  .acc-info-content ul li::marker {
    color: #e8750a;
  }

  .acc-info-content blockquote {
    background: #fff8f0;
    border-left: 4px solid #e8750a;
    border-radius: 0 12px 12px 0;
    padding: 16px 20px;
    margin: 20px 0;
    font-style: italic;
    color: #1e293b;
  }

  .acc-info-content table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    margin: 20px 0;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    overflow: hidden;
  }

  .acc-info-content th,
  .acc-info-content td {
    padding: 12px 16px;
    border-bottom: 1px solid #f1f5f9;
    font-size: 13.5px;
  }

  .acc-info-content th {
    background: #f8fafc;
    font-weight: 700;
    color: #1e293b;
  }

  .acc-info-content tr:last-child td {
    border-bottom: none;
  }

  .acc-info-content img {
    max-width: 100%;
    height: auto;
    border-radius: 12px;
    margin: 16px 0;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
  }

  .acc-info-content hr {
    border: 0;
    height: 1px;
    background: linear-gradient(90deg, #e2e8f0 0%, #e8750a 50%, #e2e8f0 100%);
    margin: 32px 0;
  }

  /* ============================================================
   PRODUCT PAGE — Modern Metadata & Price Segment Styling
   ============================================================ */

  /* Metadata container */
  /* ============================================================
   PRODUCT META — PREMIUM MODERN CARD (2026)
   ============================================================ */

  /* Meta wrapper: stacked rows in a pill-style info card */
  .pd-meta-wrapper {
    margin: 14px 0 18px 0;
    background: linear-gradient(135deg, #fdf9f5 0%, #fff7ef 100%);
    border: 1px solid rgba(232, 117, 10, 0.14);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 3px 14px rgba(232, 117, 10, 0.06), 0 1px 3px rgba(0, 0, 0, 0.04);
  }

  /* Each row in the grid */
  .pd-meta-grid {
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  .pd-meta-item {
    display: flex;
    align-items: center;
    gap: 0;
    padding: 9px 18px;
    border-bottom: 1px solid rgba(232, 117, 10, 0.07);
    transition: background 0.17s ease;
  }

  .pd-meta-item:last-child {
    border-bottom: none;
  }

  .pd-meta-item:hover {
    background: rgba(232, 117, 10, 0.04);
  }

  /* Label column */
  .pd-meta-label {
    font-family: 'Poppins', sans-serif;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    color: #9ca3af;
    min-width: 110px;
    flex-shrink: 0;
  }

  /* Value column */
  .pd-meta-value {
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 500;
    color: #1f2937;
    display: inline-flex;
    align-items: center;
    gap: 6px;
  }

  .pd-meta-value i {
    color: #d1a47b;
    font-size: 11px;
  }

  /* Brand link */
  .pd-meta-link {
    color: #e8750a !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    transition: color 0.15s, text-decoration 0.15s;
  }

  .pd-meta-link:hover {
    color: #c9640a !important;
    text-decoration: underline !important;
  }

  /* ---- Availability row — stand-out treatment ---- */
  .pd-meta-item.pd-meta-stock {
    background: linear-gradient(90deg, rgba(16, 185, 129, 0.06) 0%, transparent 100%);
    border-left: 3px solid #10b981;
    padding-left: 15px;
  }

  /* Stock badge pill */
  .pd-stock-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 4px 12px 4px 9px;
    border-radius: 20px;
    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.2px;
  }

  .pd-stock-badge.in-stock {
    background: #dcfce7;
    color: #15803d;
    border: 1.5px solid #86efac;
    box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.09);
  }

  .pd-stock-badge.in-stock i {
    color: #22c55e;
    font-size: 13px;
    animation: stockIconPop 2.4s ease-in-out infinite;
  }

  .pd-stock-badge.out-stock {
    background: #fee2e2;
    color: #b91c1c;
    border: 1.5px solid #fca5a5;
  }

  .pd-stock-badge.out-stock i {
    color: #ef4444;
    font-size: 13px;
  }

  @keyframes stockIconPop {

    0%,
    100% {
      transform: scale(1);
      opacity: 1;
    }

    50% {
      transform: scale(1.25);
      opacity: 0.8;
    }
  }



  /* ============================================================
   PRODUCT PAGE — MODERN META & PRICE (Journal3)
   ============================================================ */

  /* ---- Product Stats (Metadata) ---- */
  #product-product .product-stats {
    margin: 10px 0 0;
  }

  #product-product .product-stats>ul.list-unstyled {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 0;
    margin: 0 0 12px;
    background: linear-gradient(135deg, #fdf9f5 0%, #fff7ef 100%);
    border: 1px solid rgba(232, 117, 10, 0.15);
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(232, 117, 10, 0.07);
  }

  #product-product .product-stats ul.list-unstyled>li {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
    border-bottom: 1px solid rgba(232, 117, 10, 0.08);
    font-family: 'Poppins', sans-serif;
    font-size: 13.5px;
    color: #374151;
    transition: background 0.18s;
  }

  #product-product .product-stats ul.list-unstyled>li:last-child {
    border-bottom: none;
  }

  #product-product .product-stats ul.list-unstyled>li:hover {
    background: rgba(232, 117, 10, 0.04);
  }

  /* Bold label text */
  #product-product .product-stats ul li>b {
    font-weight: 600;
    color: #6b7280;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    min-width: 105px;
    flex-shrink: 0;
  }

  /* Regular span values */
  #product-product .product-stats ul li>span,
  #product-product .product-stats ul li>a {
    font-weight: 500;
    color: #1f2937;
    text-decoration: none;
    transition: color 0.15s;
  }

  #product-product .product-stats ul li>a:hover {
    color: #e8750a;
  }

  /* ---- Availability (Stock) — Highlighted ---- */
  #product-product .product-stats ul li.product-stock {
    background: linear-gradient(90deg, rgba(16, 185, 129, 0.07) 0%, rgba(16, 185, 129, 0.02) 100%);
    border-left: 3px solid #10b981;
    padding-left: 13px;
  }

  #product-product .product-stats ul li.product-stock.out-stock {
    background: linear-gradient(90deg, rgba(239, 68, 68, 0.07) 0%, rgba(239, 68, 68, 0.02) 100%);
    border-left: 3px solid #ef4444;
  }

  #product-product .product-stats ul li.product-stock>span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #dcfce7;
    color: #15803d;
    font-size: 12.5px;
    font-weight: 700;
    padding: 3px 10px 3px 8px;
    border-radius: 20px;
    letter-spacing: 0.2px;
  }

  #product-product .product-stats ul li.product-stock>span::before {
    content: '';
    width: 7px;
    height: 7px;
    background: #16a34a;
    border-radius: 50%;
    display: inline-block;
    box-shadow: 0 0 0 2px rgba(22, 163, 74, 0.25);
    animation: stockPulse 2s infinite;
  }

  #product-product .product-stats ul li.out-stock>span {
    background: #fee2e2;
    color: #b91c1c;
  }

  #product-product .product-stats ul li.out-stock>span::before {
    background: #dc2626;
    box-shadow: 0 0 0 2px rgba(220, 38, 38, 0.25);
    animation: none;
  }

  @keyframes stockPulse {

    0%,
    100% {
      opacity: 1;
      box-shadow: 0 0 0 2px rgba(22, 163, 74, 0.25);
    }

    50% {
      opacity: 0.7;
      box-shadow: 0 0 0 5px rgba(22, 163, 74, 0.08);
    }
  }

  /* ---- Price Group ---- */
  #product-product .product-price-group {
    background: linear-gradient(135deg, #1a1a2e 0%, #16213e 60%, #0f3460 100%);
    border-radius: 16px;
    padding: 20px 22px;
    margin: 14px 0 16px;
    position: relative;
    overflow: hidden;
    box-shadow: 0 8px 30px rgba(15, 52, 96, 0.3), 0 2px 8px rgba(0, 0, 0, 0.15);
  }

  /* Decorative accent circle */
  #product-product .product-price-group::before {
    content: '';
    position: absolute;
    top: -30px;
    right: -30px;
    width: 130px;
    height: 130px;
    background: radial-gradient(circle, rgba(232, 117, 10, 0.25) 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
  }

  #product-product .product-price-group::after {
    content: '';
    position: absolute;
    bottom: -20px;
    left: -20px;
    width: 90px;
    height: 90px;
    background: radial-gradient(circle, rgba(232, 117, 10, 0.12) 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
  }

  #product-product .price-wrapper {
    position: relative;
    z-index: 1;
  }

  /* Normal price */
  #product-product .price-group .product-price {
    font-family: 'Poppins', sans-serif;
    font-size: 36px;
    font-weight: 800;
    background: linear-gradient(135deg, #f9a760, #e8750a);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    line-height: 1.1;
    letter-spacing: -0.5px;
  }

  /* Sale price */
  #product-product .price-group .product-price-new {
    font-family: 'Poppins', sans-serif;
    font-size: 36px;
    font-weight: 800;
    background: linear-gradient(135deg, #f9a760, #e8750a);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    line-height: 1.1;
    letter-spacing: -0.5px;
  }

  #product-product .price-group .product-price-old {
    font-family: 'Poppins', sans-serif;
    font-size: 18px;
    font-weight: 400;
    color: rgba(255, 255, 255, 0.38);
    text-decoration: line-through;
    margin-left: 10px;
    vertical-align: middle;
  }

  /* Tax line */
  #product-product .product-tax {
    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.45);
    margin-top: 5px;
    display: flex;
    align-items: center;
    gap: 5px;
  }

  #product-product .product-tax::before {
    content: '≈';
    font-size: 14px;
    color: rgba(232, 117, 10, 0.6);
  }

  /* Reward points */
  #product-product .product-points {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(232, 117, 10, 0.15);
    border: 1px solid rgba(232, 117, 10, 0.3);
    color: #f9a760;
    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    font-weight: 600;
    padding: 4px 10px;
    border-radius: 20px;
    margin-top: 8px;
  }

  #product-product .product-points::before {
    content: '★';
    font-size: 11px;
  }

  /* Discounts table */
  #product-product .discounts {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
  }

  #product-product .product-discount {
    background: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.75);
    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    padding: 4px 10px;
    border-radius: 8px;
  }

  /* Responsive adjustments */
  @media (max-width: 767px) {

    #product-product .price-group .product-price,
    #product-product .price-group .product-price-new {
      font-size: 28px;
    }

    #product-product .product-stats ul li>b {
      min-width: 85px;
    }
  }



  /* ============================================================
   PRODUCT PAGE — ULTRA-MODERN METADATA & PRICE (2026 DESIGN)
   ============================================================ */

  /* ---- Metadata Grid & Cards ---- */
  .pd-meta-wrapper {
    margin: 20px 0 24px 0 !important;
    padding: 16px !important;
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 18px !important;
    box-shadow: 0 10px 30px -5px rgba(0, 0, 0, 0.05), 0 2px 6px -1px rgba(0, 0, 0, 0.02) !important;
  }

  .pd-meta-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)) !important;
    gap: 12px !important;
  }

  .pd-meta-item {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 12px 14px !important;
    background: #f8fafc !important;
    border: 1px solid #f1f5f9 !important;
    border-radius: 12px !important;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
  }

  .pd-meta-item:hover {
    background: #ffffff !important;
    border-color: rgba(232, 117, 10, 0.3) !important;
    box-shadow: 0 6px 16px -2px rgba(232, 117, 10, 0.08) !important;
    transform: translateY(-2px) !important;
  }

  .pd-meta-icon {
    width: 38px !important;
    height: 38px !important;
    border-radius: 10px !important;
    background: #fff7ed !important;
    color: #e8750a !important;
    border: 1px solid #ffedd5 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 15px !important;
    flex-shrink: 0 !important;
    transition: all 0.2s ease !important;
  }

  .pd-meta-item:hover .pd-meta-icon {
    background: #e8750a !important;
    color: #ffffff !important;
    border-color: #e8750a !important;
  }

  .pd-meta-content {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    overflow: hidden !important;
  }

  .pd-meta-label {
    font-family: 'Poppins', sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.6px !important;
    color: #64748b !important;
    line-height: 1.2 !important;
  }

  .pd-meta-value {
    font-family: 'Poppins', sans-serif !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    color: #0f172a !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .pd-meta-link {
    color: #e8750a !important;
    text-decoration: none !important;
    transition: color 0.15s !important;
  }

  .pd-meta-link:hover {
    color: #c9640a !important;
    text-decoration: underline !important;
  }

  /* Stock Status Pill - Highlighted */
  .pd-meta-stock {
    grid-column: span 1 !important;
  }

  .pd-meta-stock .pd-meta-icon {
    background: #ecfdf5 !important;
    color: #10b981 !important;
    border-color: #d1fae5 !important;
  }

  .pd-meta-stock:hover .pd-meta-icon {
    background: #10b981 !important;
    color: #ffffff !important;
    border-color: #10b981 !important;
  }

  .pd-stock-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 3px 10px !important;
    border-radius: 20px !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.2px !important;
    width: fit-content !important;
  }

  .pd-stock-badge.in-stock {
    background: #dcfce7 !important;
    color: #15803d !important;
    border: 1px solid #86efac !important;
  }

  .pd-stock-badge.out-stock {
    background: #fee2e2 !important;
    color: #b91c1c !important;
    border: 1px solid #fca5a5 !important;
  }

  .pd-stock-dot {
    width: 7px !important;
    height: 7px !important;
    border-radius: 50% !important;
    display: inline-block !important;
  }

  .pd-stock-badge.in-stock .pd-stock-dot {
    background: #22c55e !important;
    box-shadow: 0 0 0 2px rgba(34, 197, 94, 0.25) !important;
    animation: stockDotPulse 2s infinite !important;
  }

  .pd-stock-badge.out-stock .pd-stock-dot {
    background: #ef4444 !important;
    box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.25) !important;
  }

  @keyframes stockDotPulse {

    0%,
    100% {
      opacity: 1;
      transform: scale(1);
    }

    50% {
      opacity: 0.6;
      transform: scale(1.3);
    }
  }



  /* ============================================================
   PRODUCT PAGE — STUNNING 2026 METADATA, PRICE CARDS & RATING
   ============================================================ */

  /* ---- Modern Product Rating Bar (2026) ---- */
  #product-product .pd-booking-rating-wrap,
  .pd-booking-rating-wrap {
    margin-top: 14px !important;
    display: flex !important;
    width: 100% !important;
  }

  #product-product .pd-rating-bar,
  .pd-rating-bar {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    background: linear-gradient(135deg, #ffffff 0%, #fffbf7 100%) !important;
    border: 1.5px solid #fde5cf !important;
    border-radius: 30px !important;
    padding: 8px 18px !important;
    margin: 0 !important;
    box-shadow: 0 4px 14px -4px rgba(232, 117, 10, 0.12) !important;
    max-width: 100% !important;
    transition: all 0.25s ease !important;
  }

  #product-product .pd-rating-lead,
  .pd-rating-lead {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-shrink: 0 !important;
  }

  #product-product .pd-rating-actions,
  .pd-rating-actions {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
  }

  #product-product .pd-rating-bar:hover,
  .pd-rating-bar:hover {
    border-color: #e8750a !important;
    box-shadow: 0 6px 20px -4px rgba(232, 117, 10, 0.2) !important;
    transform: translateY(-1px) !important;
  }

  #product-product .pd-rating-stars,
  .pd-rating-stars {
    display: inline-flex !important;
    align-items: center !important;
    gap: 3px !important;
    line-height: 1 !important;
  }

  #product-product .pd-star,
  .pd-star {
    font-size: 14px !important;
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  #product-product .pd-star.pd-star-filled,
  .pd-star.pd-star-filled {
    color: #f59e0b !important;
    text-shadow: 0 1px 2px rgba(245, 158, 11, 0.35) !important;
  }

  #product-product .pd-star.pd-star-empty,
  .pd-star.pd-star-empty {
    color: #cbd5e1 !important;
  }

  #product-product .pd-rating-score,
  .pd-rating-score {
    font-family: 'Poppins', sans-serif !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
    color: #7c3b00 !important;
    background: #ffedd5 !important;
    padding: 2px 8px !important;
    border-radius: 10px !important;
    border: 1px solid #fed7aa !important;
    line-height: 1.2 !important;
  }

  #product-product .pd-rating-divider,
  .pd-rating-divider {
    width: 1px !important;
    height: 15px !important;
    background: #fed7aa !important;
    display: inline-block !important;
  }

  #product-product .pd-rating-dot,
  .pd-rating-dot {
    color: #fed7aa !important;
    font-size: 12px !important;
    line-height: 1 !important;
  }

  #product-product .pd-review-link,
  .pd-review-link,
  #product-product .pd-write-link,
  .pd-write-link {
    font-family: 'Poppins', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    transition: all 0.2s ease !important;
    padding: 4px 10px !important;
    border-radius: 20px !important;
    background: transparent !important;
  }

  #product-product .pd-review-link,
  .pd-review-link {
    color: #475569 !important;
  }

  #product-product .pd-review-link i,
  .pd-review-link i {
    color: #e8750a !important;
    font-size: 12px !important;
  }

  #product-product .pd-review-link:hover,
  .pd-review-link:hover {
    color: #e8750a !important;
    background: #fff7ed !important;
    text-decoration: none !important;
  }

  #product-product .pd-write-link,
  .pd-write-link {
    color: #e8750a !important;
    background: rgba(232, 117, 10, 0.08) !important;
  }

  #product-product .pd-write-link i,
  .pd-write-link i {
    color: #e8750a !important;
    font-size: 12px !important;
  }

  #product-product .pd-write-link:hover,
  .pd-write-link:hover {
    color: #ffffff !important;
    background: #e8750a !important;
    text-decoration: none !important;
    box-shadow: 0 2px 8px rgba(232, 117, 10, 0.35) !important;
  }

  #product-product .pd-write-link:hover i,
  .pd-write-link:hover i {
    color: #ffffff !important;
  }

  #product-product .rating {
    margin: 0 !important;
  }

  @media (max-width: 767px) {
    #product-product .pd-rating-bar,
    .pd-rating-bar {
      width: 100% !important;
      justify-content: space-between !important;
      padding: 7px 12px !important;
      border-radius: 16px !important;
      gap: 6px !important;
    }
    #product-product .pd-star,
    .pd-star {
      font-size: 12px !important;
    }
    #product-product .pd-rating-score,
    .pd-rating-score {
      font-size: 11.5px !important;
      padding: 1px 6px !important;
    }
    #product-product .pd-review-link,
    .pd-review-link,
    #product-product .pd-write-link,
    .pd-write-link {
      font-size: 11px !important;
      padding: 3px 6px !important;
    }
  }

  @media (max-width: 420px) {
    #product-product .pd-rating-bar,
    .pd-rating-bar {
      flex-direction: column !important;
      align-items: flex-start !important;
      gap: 6px !important;
      padding: 10px 14px !important;
    }
    #product-product .pd-rating-lead,
    .pd-rating-lead {
      width: 100% !important;
      justify-content: space-between !important;
    }
    #product-product .pd-rating-actions,
    .pd-rating-actions {
      width: 100% !important;
      justify-content: space-between !important;
      padding-top: 6px !important;
      border-top: 1px solid #fde5cf !important;
    }
    #product-product .pd-rating-divider,
    .pd-rating-divider {
      display: none !important;
    }
  }

  /* ---- Metadata Grid Container ---- */
  #product-product .pd-meta-wrapper,
  .pd-meta-wrapper {
    margin: 20px 0 24px 0 !important;
    padding: 18px !important;
    background: linear-gradient(135deg, #ffffff 0%, #fffbf7 100%) !important;
    border: 1.5px solid #fce7d3 !important;
    border-radius: 20px !important;
    box-shadow: 0 10px 30px -5px rgba(232, 117, 10, 0.08), 0 4px 10px -2px rgba(0, 0, 0, 0.03) !important;
  }

  #product-product .pd-meta-grid,
  .pd-meta-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }

  @media (max-width: 576px) {

    #product-product .pd-meta-grid,
    .pd-meta-grid {
      grid-template-columns: 1fr !important;
    }
  }

  /* Individual Metadata Item Card */
  #product-product .pd-meta-item,
  .pd-meta-item {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 12px 16px !important;
    background: #ffffff !important;
    border: 1px solid #f3e8de !important;
    border-radius: 14px !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.02) !important;
    transition: all 0.25s ease !important;
    margin: 0 !important;
  }

  #product-product .pd-meta-item:hover,
  .pd-meta-item:hover {
    transform: translateY(-3px) !important;
    border-color: #e8750a !important;
    box-shadow: 0 8px 20px rgba(232, 117, 10, 0.15) !important;
  }

  /* Icon Container Box */
  #product-product .pd-meta-icon,
  .pd-meta-icon {
    width: 42px !important;
    height: 42px !important;
    border-radius: 12px !important;
    background: linear-gradient(135deg, #fff7ed 0%, #ffedd5 100%) !important;
    color: #e8750a !important;
    border: 1px solid #fed7aa !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 18px !important;
    flex-shrink: 0 !important;
    transition: all 0.25s ease !important;
  }

  #product-product .pd-meta-item:hover .pd-meta-icon,
  .pd-meta-item:hover .pd-meta-icon {
    background: #e8750a !important;
    color: #ffffff !important;
    border-color: #e8750a !important;
    transform: scale(1.05) !important;
  }

  #product-product .pd-meta-content,
  .pd-meta-content {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    overflow: hidden !important;
  }

  #product-product .pd-meta-label,
  .pd-meta-label {
    font-family: 'Poppins', sans-serif !important;
    font-size: 10.5px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    color: #94a3b8 !important;
    line-height: 1.2 !important;
    margin: 0 !important;
  }

  #product-product .pd-meta-value,
  .pd-meta-value {
    font-family: 'Poppins', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #1e293b !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  #product-product .pd-meta-link,
  .pd-meta-link {
    color: #e8750a !important;
    text-decoration: none !important;
    transition: color 0.15s !important;
  }

  #product-product .pd-meta-link:hover,
  .pd-meta-link:hover {
    color: #c9640a !important;
    text-decoration: underline !important;
  }

  /* Availability Highlighted Card */
  #product-product .pd-meta-item.pd-meta-stock,
  .pd-meta-item.pd-meta-stock {
    background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%) !important;
    border: 1.5px solid #86efac !important;
  }

  #product-product .pd-meta-item.pd-meta-stock .pd-meta-icon,
  .pd-meta-item.pd-meta-stock .pd-meta-icon {
    background: #22c55e !important;
    color: #ffffff !important;
    border-color: #16a34a !important;
  }

  #product-product .pd-stock-badge,
  .pd-stock-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 4px 12px !important;
    border-radius: 20px !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
    letter-spacing: 0.2px !important;
    width: fit-content !important;
  }

  #product-product .pd-stock-badge.in-stock,
  .pd-stock-badge.in-stock {
    background: #15803d !important;
    color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(34, 197, 94, 0.3) !important;
  }

  #product-product .pd-stock-badge.out-stock,
  .pd-stock-badge.out-stock {
    background: #b91c1c !important;
    color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(239, 68, 68, 0.3) !important;
  }

  #product-product .pd-stock-dot,
  .pd-stock-dot {
    width: 7px !important;
    height: 7px !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    display: inline-block !important;
    animation: stockLivePulse 1.8s infinite !important;
  }

  @keyframes stockLivePulse {

    0%,
    100% {
      opacity: 1;
      transform: scale(1);
    }

    50% {
      opacity: 0.5;
      transform: scale(1.4);
    }
  }

  /* ---- Price Hero Box ---- */
  #product-product .pd-price-card,
  .pd-price-card {
    position: relative !important;
    background: #ffffff !important;
    border-radius: 22px !important;
    padding: 0 !important;
    margin-bottom: 24px !important;
    overflow: hidden !important;
    box-shadow: 0 8px 32px -8px rgba(232, 117, 10, 0.18), 0 2px 8px rgba(0, 0, 0, 0.05) !important;
    border: 1.5px solid #fde5cf !important;
  }

  #product-product .pd-price-card::before,
  .pd-price-card::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 5px !important;
    background: linear-gradient(90deg, #e8750a, #f97316, #ea580c) !important;
    border-radius: 0 !important;
    pointer-events: none !important;
  }

  #product-product .pd-price-card::after,
  .pd-price-card::after {
    display: none !important;
  }

  #product-product .pd-price-badge-header,
  .pd-price-badge-header {
    padding: 18px 22px 0 !important;
    margin: 0 !important;
    position: relative !important;
    z-index: 2 !important;
  }

  #product-product .pd-price-label,
  .pd-price-label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 10.5px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color: #ffffff !important;
    background: linear-gradient(135deg, #e8750a, #f97316) !important;
    border: none !important;
    padding: 5px 14px !important;
    border-radius: 20px !important;
    box-shadow: 0 3px 10px rgba(232, 117, 10, 0.3) !important;
  }

  #product-product .pd-price-main,
  .pd-price-main {
    display: flex !important;
    align-items: baseline !important;
    gap: 14px !important;
    flex-wrap: wrap !important;
    padding: 10px 22px 16px !important;
    margin: 0 !important;
    position: relative !important;
    z-index: 2 !important;
  }

  #product-product .pd-price-current,
  .pd-price-current {
    font-family: 'Poppins', sans-serif !important;
    font-size: 44px !important;
    font-weight: 900 !important;
    background: linear-gradient(135deg, #c95f00 0%, #e8750a 50%, #f97316 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
    line-height: 1 !important;
    letter-spacing: -1.5px !important;
    display: inline-block !important;
    margin: 0 !important;
  }

  #product-product .pd-price-sale-wrap,
  .pd-price-sale-wrap {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
  }

  #product-product .pd-price-old,
  .pd-price-old {
    font-family: 'Poppins', sans-serif !important;
    font-size: 20px !important;
    font-weight: 500 !important;
    color: #94a3b8 !important;
    -webkit-text-fill-color: #94a3b8 !important;
    text-decoration: line-through !important;
    margin: 0 !important;
    display: inline-block !important;
  }

  #product-product .pd-sale-badge,
  .pd-sale-badge {
    background: linear-gradient(135deg, #ef4444, #b91c1c) !important;
    color: #ffffff !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    padding: 4px 10px !important;
    border-radius: 8px !important;
    letter-spacing: 1px !important;
    box-shadow: 0 4px 14px rgba(239, 68, 68, 0.4) !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    vertical-align: middle !important;
    line-height: 1.2 !important;
  }

  #product-product .pd-price-sub,
  .pd-price-sub {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
    padding: 12px 22px 18px !important;
    border-top: 1px solid #fde5cf !important;
    background: #fff8f2 !important;
    position: relative !important;
    z-index: 2 !important;
    margin: 0 !important;
  }

  #product-product .pd-sub-tag,
  .pd-sub-tag {
    font-family: 'Poppins', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #7c3b00 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    background: #ffedd5 !important;
    padding: 5px 14px !important;
    border-radius: 20px !important;
    border: 1px solid #fed7aa !important;
  }

  #product-product .pd-sub-tag i,
  .pd-sub-tag i {
    color: #e8750a !important;
  }

  #product-product .pd-bulk-discounts,
  .pd-bulk-discounts {
    padding: 12px 22px 18px !important;
    border-top: 1px solid #fde5cf !important;
    background: #fff8f2 !important;
    position: relative !important;
    z-index: 2 !important;
    margin: 0 !important;
  }

  #product-product .pd-bulk-title,
  .pd-bulk-title {
    font-family: 'Poppins', sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #7c3b00 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    margin-bottom: 10px !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
  }

  #product-product .pd-bulk-title i,
  .pd-bulk-title i {
    color: #e8750a !important;
  }

  #product-product .pd-bulk-list,
  .pd-bulk-list {
    display: flex !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
  }

  #product-product .pd-bulk-chip,
  .pd-bulk-chip {
    background: #ffffff !important;
    border: 1.5px solid #fed7aa !important;
    border-radius: 12px !important;
    padding: 7px 14px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    transition: all 0.2s ease !important;
  }

  #product-product .pd-bulk-chip:hover,
  .pd-bulk-chip:hover {
    background: #fff7ed !important;
    border-color: #e8750a !important;
    box-shadow: 0 4px 12px rgba(232, 117, 10, 0.15) !important;
  }

  #product-product .pd-bulk-qty,
  .pd-bulk-qty {
    font-family: 'Poppins', sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #64748b !important;
  }

  #product-product .pd-bulk-price,
  .pd-bulk-price {
    font-family: 'Poppins', sans-serif !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    color: #e8750a !important;
  }

  @media (max-width: 767px) {
    #product-product .pd-price-card,
    .pd-price-card {
      border-radius: 18px !important;
      margin-bottom: 18px !important;
    }

    #product-product .pd-price-badge-header,
    .pd-price-badge-header {
      padding: 14px 18px 0 !important;
    }

    #product-product .pd-price-main,
    .pd-price-main {
      padding: 8px 18px 14px !important;
      gap: 10px !important;
    }

    #product-product .pd-price-sale-wrap,
    .pd-price-sale-wrap {
      gap: 10px !important;
    }

    #product-product .pd-price-current,
    .pd-price-current {
      font-size: clamp(28px, 7.5vw, 38px) !important;
      letter-spacing: -1px !important;
    }

    #product-product .pd-price-old,
    .pd-price-old {
      font-size: clamp(15px, 4vw, 18px) !important;
    }

    #product-product .pd-sale-badge,
    .pd-sale-badge {
      font-size: 10px !important;
      padding: 3px 8px !important;
      border-radius: 6px !important;
    }

    #product-product .pd-price-sub,
    .pd-price-sub {
      padding: 10px 18px 14px !important;
      gap: 6px !important;
    }

    #product-product .pd-bulk-discounts,
    .pd-bulk-discounts {
      padding: 10px 18px 14px !important;
    }
  }

  /* ============================================================
   SMART STICKY NAVBAR  — hides on scroll-down, reappears on scroll-up
   ============================================================ */

  #menu {
    z-index: 1030 !important;
    /* smooth slide + shadow */
    transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1),
      box-shadow 0.28s ease !important;
  }

  /* Drop-shadow once user has scrolled past the top */
  #menu.scrolled {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.35) !important;
  }

  /* ============================================================
   BEST SELLERS CUSTOM — ghorerbazar-style horizontal cards
   2 cards per row, enlarged height, image left / content right
   ============================================================ */

  .bs-product-wrapper {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px !important;
    padding: 8px 0 24px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .bs-product-card {
    position: relative !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    background: #ffffff !important;
    border: 1px solid #e7e2da !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    transition: all 0.28s ease !important;
    box-sizing: border-box !important;
    min-height: 165px !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03) !important;
  }

  .bs-product-card:hover {
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.09) !important;
    border-color: #d1c8bb !important;
    transform: translateY(-3px) !important;
  }

  .bs-product-img-wrap {
    position: relative !important;
    flex: 0 0 160px !important;
    width: 160px !important;
    max-width: 160px !important;
    min-height: 165px !important;
    background: #fbf9f5 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    border-right: 1px solid #f1ece5 !important;
    box-sizing: border-box !important;
  }

  .bs-product-img {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 10px !important;
    box-sizing: border-box !important;
  }

  .bs-product-img img {
    max-width: 100% !important;
    max-height: 145px !important;
    object-fit: contain !important;
    display: block !important;
    transition: transform 0.35s ease !important;
  }

  .bs-product-card:hover .bs-product-img img {
    transform: scale(1.08) !important;
  }

  .bs-product-img-wrap .bs-product-badge {
    position: absolute !important;
    top: 8px !important;
    right: 8px !important;
    left: auto !important;
    background: linear-gradient(135deg, #e8750a, #f59e0b) !important;
    color: #ffffff !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    font-family: 'Poppins', sans-serif !important;
    padding: 3px 8px !important;
    border-radius: 20px !important;
    z-index: 2 !important;
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    white-space: nowrap !important;
    box-shadow: 0 2px 8px rgba(232, 117, 10, 0.35) !important;
  }

  .bs-product-badge .fa-fire {
    font-size: 9px !important;
  }

  .bs-product-content {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    padding: 14px 18px !important;
    box-sizing: border-box !important;
  }

  .bs-product-title {
    font-family: 'Poppins', sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #1a2e2e !important;
    line-height: 1.4 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-decoration: none !important;
    margin-bottom: 6px !important;
  }

  .bs-product-title:hover {
    color: #e8750a !important;
  }

  .bs-product-price {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: baseline !important;
    gap: 8px !important;
    margin-bottom: 12px !important;
  }

  .bs-price-discounted {
    font-family: 'Poppins', sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #e8750a !important;
  }

  .bs-price-original {
    font-family: 'Poppins', sans-serif !important;
    font-size: 12.5px !important;
    font-weight: 500 !important;
    color: #9ca3af !important;
    text-decoration: line-through !important;
  }

  .bs-product-action {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-top: auto !important;
  }

  /* Add to Cart button matching Featured styling & animation */
  .bs-add-to-cart {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    background: transparent !important;
    color: #e8750a !important;
    border: 1.5px solid #e8750a !important;
    border-radius: 6px !important;
    padding: 8px 14px !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
    white-space: nowrap !important;
  }

  .bs-add-to-cart:hover {
    background: #e8750a !important;
    border-color: #e8750a !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 14px rgba(232, 117, 10, 0.35) !important;
  }

  .bs-add-to-cart .fa {
    transition: transform 0.25s ease !important;
  }

  .bs-add-to-cart:hover .fa {
    transform: scale(1.15) !important;
  }

  /* WhatsApp button matching Featured solid green & animation */
  .bs-whatsapp-btn {
    flex: 0 0 auto !important;
    background: #25D366 !important;
    color: #ffffff !important;
    border: 1.5px solid #25D366 !important;
    border-radius: 6px !important;
    padding: 8px 14px !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    text-decoration: none !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
    white-space: nowrap !important;
    cursor: pointer !important;
  }

  .bs-whatsapp-btn:hover {
    background: #1DA851 !important;
    border-color: #1DA851 !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 14px rgba(37, 211, 102, 0.4) !important;
  }

  .bs-whatsapp-btn svg,
  .bs-whatsapp-btn i {
    transition: transform 0.25s ease !important;
  }

  .bs-whatsapp-btn:hover svg,
  .bs-whatsapp-btn:hover i {
    transform: scale(1.15) !important;
  }

  @media (max-width: 991px) {
    .bs-product-img-wrap {
      flex: 0 0 135px !important;
      width: 135px !important;
      max-width: 135px !important;
      min-height: 145px !important;
    }

    .bs-product-title {
      font-size: 13.5px !important;
    }

    .bs-price-discounted {
      font-size: 14.5px !important;
    }

    .bs-product-content {
      padding: 12px 14px !important;
    }
  }

  @media (max-width: 767px) {
    .bs-product-wrapper {
      grid-template-columns: repeat(2, 1fr) !important;
      gap: 10px !important;
    }

    .bs-product-card {
      min-height: 135px !important;
    }

    .bs-product-img-wrap {
      flex: 0 0 105px !important;
      width: 105px !important;
      max-width: 105px !important;
      min-height: 135px !important;
    }

    .bs-product-title {
      font-size: 12px !important;
    }

    .bs-price-discounted {
      font-size: 13px !important;
    }

    .bs-whatsapp-btn span {
      display: none !important;
    }

    .bs-add-to-cart {
      padding: 7px 8px !important;
      font-size: 11px !important;
    }

    .bs-whatsapp-btn {
      padding: 7px 8px !important;
    }

    .bs-product-img-wrap .bs-product-badge {
      font-size: 8.5px !important;
      padding: 2px 5px !important;
      top: 5px !important;
      right: 5px !important;
    }
  }

  @media (max-width: 480px) {
    .bs-product-wrapper {
      grid-template-columns: 1fr !important;
    }

    .bs-product-img-wrap {
      flex: 0 0 130px !important;
      width: 130px !important;
      max-width: 130px !important;
    }
  }

  /* ============================================================
     PRODUCT PAGE — MODERN 2026 PRODUCT OPTIONS (ORANGE & WHITE PALETTE)
     ============================================================ */
  #product .pd-options-divider {
    border-top: 1.5px dashed #fce7d3 !important;
    margin: 22px 0 16px !important;
  }

  #product .pd-options-title {
    font-family: 'Poppins', sans-serif !important;
    font-size: 14.5px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.6px !important;
    color: #1e293b !important;
    margin: 0 0 16px 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
  }

  #product .pd-options-title::before {
    content: '' !important;
    display: inline-block !important;
    width: 4px !important;
    height: 18px !important;
    background: #e8750a !important;
    border-radius: 3px !important;
  }

  #product .pd-option-group {
    margin-bottom: 16px !important;
  }

  #product .control-label {
    font-family: 'Poppins', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #334155 !important;
    margin-bottom: 8px !important;
    display: block !important;
  }

  #product .pd-option-group.required .control-label::after {
    content: " *" !important;
    color: #ef4444 !important;
    font-weight: 700 !important;
  }

  /* Modern Select Dropdown */
  #product select.form-control {
    height: 46px !important;
    border-radius: 12px !important;
    border: 1.5px solid #e2e8f0 !important;
    background-color: #ffffff !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23e8750a'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2.5' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
    background-size: 16px !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    padding: 10px 42px 10px 14px !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 13.5px !important;
    color: #1e293b !important;
    font-weight: 500 !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03) !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
  }

  #product select.form-control:focus {
    border-color: #e8750a !important;
    box-shadow: 0 0 0 3px rgba(232, 117, 10, 0.15) !important;
    outline: none !important;
  }

  /* Modern Text Inputs & Textarea */
  #product input[type="text"].form-control,
  #product textarea.form-control {
    border-radius: 12px !important;
    border: 1.5px solid #e2e8f0 !important;
    background: #ffffff !important;
    padding: 11px 14px !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 13.5px !important;
    color: #1e293b !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03) !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
  }

  #product input[type="text"].form-control {
    height: 46px !important;
  }

  #product input[type="text"].form-control:focus,
  #product textarea.form-control:focus {
    border-color: #e8750a !important;
    box-shadow: 0 0 0 3px rgba(232, 117, 10, 0.15) !important;
    outline: none !important;
  }

  /* Modern Date / Time / Datetime Pickers */
  #product .input-group.date,
  #product .input-group.time,
  #product .input-group.datetime {
    display: flex !important;
    width: 100% !important;
    border-radius: 12px !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03) !important;
  }

  #product .input-group.date input,
  #product .input-group.time input,
  #product .input-group.datetime input {
    height: 46px !important;
    border-radius: 12px 0 0 12px !important;
    border: 1.5px solid #e2e8f0 !important;
    border-right: none !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 13.5px !important;
    color: #1e293b !important;
    flex: 1 1 auto !important;
  }

  #product .input-group.date input:focus,
  #product .input-group.time input:focus,
  #product .input-group.datetime input:focus {
    border-color: #e8750a !important;
    box-shadow: 0 0 0 3px rgba(232, 117, 10, 0.15) !important;
    position: relative !important;
    z-index: 2 !important;
  }

  #product .input-group.date .input-group-btn,
  #product .input-group.time .input-group-btn,
  #product .input-group.datetime .input-group-btn {
    width: auto !important;
    font-size: 0 !important;
    white-space: nowrap !important;
  }

  #product .input-group.date .btn,
  #product .input-group.time .btn,
  #product .input-group.datetime .btn {
    height: 46px !important;
    border-radius: 0 12px 12px 0 !important;
    background: #fff7ed !important;
    border: 1.5px solid #e2e8f0 !important;
    border-left: none !important;
    color: #e8750a !important;
    padding: 0 18px !important;
    font-size: 15px !important;
    box-shadow: none !important;
    transition: all 0.2s ease !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  #product .input-group.date .btn:hover,
  #product .input-group.time .btn:hover,
  #product .input-group.datetime .btn:hover {
    background: #e8750a !important;
    color: #ffffff !important;
    border-color: #e8750a !important;
  }

  /* Modern File Upload Button */
  #product button[id^="button-upload"] {
    height: 48px !important;
    border-radius: 12px !important;
    background: linear-gradient(135deg, #ffffff 0%, #fffbf7 100%) !important;
    border: 1.5px dashed #fbd38d !important;
    color: #c2410c !important;
    font-family: 'Poppins', sans-serif !important;
    font-weight: 600 !important;
    font-size: 13.5px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    box-shadow: 0 2px 8px rgba(232, 117, 10, 0.06) !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
    cursor: pointer !important;
    width: 100% !important;
  }

  #product button[id^="button-upload"]:hover {
    border-color: #e8750a !important;
    border-style: solid !important;
    background: linear-gradient(135deg, #e8750a 0%, #f97316 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 6px 18px rgba(232, 117, 10, 0.3) !important;
    transform: translateY(-1px) !important;
  }

  #product button[id^="button-upload"] i {
    font-size: 15px !important;
  }

  /* Modern Radio & Checkbox Cards */
  #product .pd-option-list,
  #product div[id^="input-option"] {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
  }

  #product .pd-option-card,
  #product .radio label,
  #product .checkbox label {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 10px 16px !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    border: 1.5px solid #e2e8f0 !important;
    cursor: pointer !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    color: #334155 !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
    margin: 0 !important;
    position: relative !important;
    user-select: none !important;
    width: 100% !important;
  }

  #product .radio,
  #product .checkbox {
    margin: 0 !important;
    padding: 0 !important;
    min-height: auto !important;
  }

  #product .pd-option-card:hover,
  #product .radio label:hover,
  #product .checkbox label:hover {
    border-color: #fbd38d !important;
    background: #fffbf7 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px -2px rgba(232, 117, 10, 0.12) !important;
  }

  #product .pd-option-card:has(input:checked),
  #product .radio label:has(input:checked),
  #product .checkbox label:has(input:checked) {
    border-color: #e8750a !important;
    background: #fff7ed !important;
    box-shadow: 0 0 0 1px #e8750a, 0 4px 14px -2px rgba(232, 117, 10, 0.2) !important;
    color: #9a3412 !important;
    font-weight: 600 !important;
  }

  #product .pd-option-card input[type="radio"],
  #product .pd-option-card input[type="checkbox"],
  #product .radio label input[type="radio"],
  #product .checkbox label input[type="checkbox"] {
    position: static !important;
    margin: 0 !important;
    width: 18px !important;
    height: 18px !important;
    accent-color: #e8750a !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
  }

  #product .pd-option-img,
  #product .pd-option-card img,
  #product .radio label img,
  #product .checkbox label img {
    width: 34px !important;
    height: 34px !important;
    object-fit: cover !important;
    border-radius: 8px !important;
    border: 1px solid #fed7aa !important;
    padding: 0 !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
  }

  #product .pd-option-price {
    margin-left: auto !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #c2410c !important;
    background: #ffedd5 !important;
    padding: 3px 9px !important;
    border-radius: 8px !important;
    border: 1px solid #fed7aa !important;
    white-space: nowrap !important;
  }

  /* ============================================================
     PRODUCT GRID FIX — Eliminate Gaps and Align Cards Perfectly
     ============================================================ */

  /* 1. Reset Bootstrap pseudo-elements that break Flexbox on rows */
  .row:has(> .product-layout)::before,
  .row:has(> .product-layout)::after,
  .row:has(> [class*="col-"] > .product-thumb)::before,
  .row:has(> [class*="col-"] > .product-thumb)::after,
  #product-search .row::before,
  #product-search .row::after,
  #product-category .row::before,
  #product-category .row::after,
  #product-special .row::before,
  #product-special .row::after,
  #product-manufacturer .row::before,
  #product-manufacturer .row::after {
    display: none !important;
  }

  /* 2. Turn product rows into flex containers with wrap */
  .row:has(> .product-layout),
  .row:has(> [class*="col-"] > .product-thumb),
  #product-search #content > .row:has(.product-layout),
  #product-category #content > .row:has(.product-layout),
  #product-special #content > .row:has(.product-layout),
  #product-manufacturer #content > .row:has(.product-layout) {
    display: flex !important;
    flex-wrap: wrap !important;
  }

  /* 3. Ensure product columns act as flex items with equal height stretching */
  .product-layout,
  .product-layout.product-grid,
  .product-layout.product-list {
    display: flex !important;
    flex-direction: column !important;
    float: none !important;
  }

  /* 4. Make product cards (product-thumb) stretch full height of the column */
  .product-layout .product-thumb {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    width: 100% !important;
    margin-bottom: 20px !important;
  }

  .product-layout .product-thumb > div:not(.image) {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
  }

  .product-layout .product-thumb .caption {
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 12px 14px !important;
  }

  .product-layout .product-thumb .caption h4 {
    margin-top: 0 !important;
    margin-bottom: 8px !important;
  }

  .product-layout .product-thumb .caption .price {
    margin-top: auto !important;
    margin-bottom: 8px !important;
  }

  .product-layout .product-thumb .button-group {
    margin-top: auto !important;
  }

  /* 5. Mobile 2-column equal alignment (max-width: 767px) */
  @media (max-width: 767px) {
    .product-layout.col-xs-6 {
      width: 50% !important;
      max-width: 50% !important;
      flex: 0 0 50% !important;
      padding-left: 6px !important;
      padding-right: 6px !important;
    }

    .row:has(> .product-layout) {
      margin-left: -6px !important;
      margin-right: -6px !important;
    }

    .product-layout .product-thumb {
      margin-bottom: 12px !important;
    }
  }

  /* ============================================================
     STREAMLINED ONE-PAGE CHECKOUT STYLING
     ============================================================ */
  #checkout-checkout {
    padding-top: 25px;
    padding-bottom: 60px;
  }

  /* Progress Tracker */
  .checkout-progress-bar {
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 600px;
    margin: 0 auto 35px;
    padding: 16px 20px;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    border: 1px solid #f1f5f9;
  }

  .checkout-progress-bar .step-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    flex: 0 0 auto;
    position: relative;
    cursor: default;
  }

  .checkout-progress-bar .step-icon {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #f1f5f9;
    color: #94a3b8;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    transition: all 0.3s ease;
    border: 2px solid transparent;
  }

  .checkout-progress-bar .step-label {
    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    font-weight: 600;
    color: #64748b;
    white-space: nowrap;
    transition: color 0.3s ease;
  }

  .checkout-progress-bar .step-item.active .step-icon {
    background: #e8750a;
    color: #fff;
    box-shadow: 0 4px 14px rgba(232, 117, 10, 0.35);
  }

  .checkout-progress-bar .step-item.active .step-label {
    color: #e8750a;
    font-weight: 700;
  }

  .checkout-progress-bar .step-item.completed .step-icon {
    background: #10b981;
    color: #fff;
  }

  .checkout-progress-bar .step-item.completed .step-label {
    color: #10b981;
  }

  .checkout-progress-bar .step-line {
    flex: 1 1 auto;
    height: 3px;
    background: #e2e8f0;
    margin: 0 14px 22px;
    border-radius: 2px;
    transition: background 0.3s ease;
    min-width: 30px;
  }

  .checkout-progress-bar .step-line.completed {
    background: #10b981;
  }

  /* Checkout Panels / Cards */
  .checkout-accordion .checkout-card {
    border: 1.5px solid #f1f5f9 !important;
    border-radius: 16px !important;
    background: #ffffff !important;
    margin-bottom: 20px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04) !important;
    overflow: hidden !important;
  }

  .checkout-accordion .checkout-card .panel-heading {
    background: #fffbf7 !important;
    border-bottom: 1.5px solid #fed7aa !important;
    padding: 16px 22px !important;
  }

  .checkout-accordion .checkout-card .panel-title,
  .checkout-accordion .checkout-card .panel-title a {
    font-family: 'Poppins', sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #1e293b !important;
    text-decoration: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
  }

  .checkout-accordion .checkout-card .panel-title a:hover {
    color: #e8750a !important;
  }

  .checkout-accordion .checkout-card .panel-body {
    padding: 24px !important;
  }

  /* Billing Fields Form */
  .checkout-billing-fields .form-group {
    margin-bottom: 20px;
  }

  .checkout-billing-fields .control-label {
    font-family: 'Poppins', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #334155 !important;
    margin-bottom: 8px !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
  }

  .checkout-billing-fields .control-label i {
    color: #e8750a !important;
    font-size: 15px !important;
  }

  .checkout-billing-fields .form-control {
    height: 48px !important;
    border-radius: 12px !important;
    border: 1.5px solid #cbd5e1 !important;
    padding: 10px 16px !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 14px !important;
    color: #1e293b !important;
    background: #f8fafc !important;
    transition: all 0.2s ease !important;
    box-shadow: none !important;
  }

  .checkout-billing-fields textarea.form-control {
    height: auto !important;
    min-height: 85px !important;
    resize: vertical !important;
  }

  .checkout-billing-fields .form-control:focus {
    background: #ffffff !important;
    border-color: #e8750a !important;
    box-shadow: 0 0 0 3px rgba(232, 117, 10, 0.15) !important;
    outline: none !important;
  }

  /* Continue & Action Buttons */
  .checkout-btn-row {
    margin-top: 24px;
    padding-top: 18px;
    border-top: 1px solid #f1f5f9;
    display: flex;
    justify-content: flex-end;
  }

  .btn-checkout-continue {
    background: linear-gradient(135deg, #e8750a 0%, #ea580c 100%) !important;
    border: none !important;
    color: #ffffff !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    padding: 12px 28px !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 16px rgba(232, 117, 10, 0.3) !important;
    transition: all 0.25s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    cursor: pointer !important;
  }

  .btn-checkout-continue:hover,
  .btn-checkout-continue:focus {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(232, 117, 10, 0.4) !important;
    color: #ffffff !important;
  }

  /* Confirm Order Summary Table */
  .checkout-confirm-table {
    border-radius: 12px !important;
    overflow: hidden !important;
    border: 1px solid #e2e8f0 !important;
    margin-bottom: 24px !important;
  }

  .checkout-confirm-table thead th {
    background: #fff7ed !important;
    color: #9a3412 !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    border-bottom: 2px solid #fed7aa !important;
    padding: 12px 16px !important;
  }

  .checkout-confirm-table tbody td {
    padding: 14px 16px !important;
    vertical-align: middle !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 14px !important;
    color: #334155 !important;
    border-top: 1px solid #f1f5f9 !important;
  }

  .checkout-product-title {
    font-weight: 700 !important;
    color: #1e293b !important;
    text-decoration: none !important;
    transition: color 0.2s !important;
  }

  .checkout-product-title:hover {
    color: #e8750a !important;
  }

  .checkout-confirm-table tfoot td {
    padding: 10px 16px !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 14px !important;
    color: #475569 !important;
    border-top: 1px solid #f1f5f9 !important;
  }

  .checkout-final-total-row td {
    background: #fffbf7 !important;
    border-top: 2px solid #fed7aa !important;
  }

  .checkout-total-val {
    font-size: 18px !important;
    font-weight: 800 !important;
    color: #e8750a !important;
  }

  /* Terms & Conditions Box */
  .checkout-terms-box {
    background: #f8fafc;
    border: 1.5px solid #e2e8f0;
    border-radius: 12px;
    padding: 16px 20px;
    margin-bottom: 24px;
  }

  .checkout-terms-label {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #334155 !important;
    cursor: pointer !important;
    margin: 0 !important;
  }

  .checkout-terms-label input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    accent-color: #e8750a !important;
    cursor: pointer !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
  }

  .checkout-terms-label a {
    color: #e8750a !important;
    font-weight: 700 !important;
    text-decoration: underline !important;
  }

  .checkout-payment-action {
    display: flex;
    justify-content: flex-end;
  }

  .checkout-payment-action #button-confirm,
  .checkout-payment-action input[type="button"],
  .checkout-payment-action input[type="submit"] {
    background: linear-gradient(135deg, #e8750a 0%, #c2410c 100%) !important;
    border: none !important;
    color: #ffffff !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    padding: 14px 36px !important;
    border-radius: 14px !important;
    box-shadow: 0 4px 20px rgba(232, 117, 10, 0.4) !important;
    transition: all 0.25s ease !important;
    cursor: pointer !important;
    letter-spacing: 0.5px !important;
  }

  .checkout-payment-action #button-confirm:hover,
  .checkout-payment-action input[type="button"]:hover,
  .checkout-payment-action input[type="submit"]:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 24px rgba(232, 117, 10, 0.5) !important;
  }

  @media (max-width: 767px) {
    .checkout-progress-bar {
      padding: 12px 10px;
      margin-bottom: 20px;
    }
    .checkout-progress-bar .step-icon {
      width: 34px;
      height: 34px;
      font-size: 13px;
    }
    .checkout-progress-bar .step-label {
      font-size: 10px;
    }
    .checkout-progress-bar .step-line {
      margin: 0 6px 18px;
      min-width: 15px;
    }
    .checkout-accordion .checkout-card .panel-body {
      padding: 16px !important;
    }
    .btn-checkout-continue,
    .checkout-payment-action #button-confirm {
      width: 100% !important;
      justify-content: center !important;
    }
  }