/* ==========================================================================
   Khaled Pastry 1959 — Odoo 18 Brand Theme Overrides
   Strict Brand Identity: Royal Dark Olive (#073532 / #033F3D) & Radiant Gold (#DFBA68 / #C4A046)
   CloudPastry Mobile App Benchmark Alignment
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Cairo:wght@400;500;600;700;800;900&display=swap');

:root {
  --kp-primary: #073532;
  --kp-primary-dark: #032725;
  --kp-primary-light: #0D4A3A;
  --kp-primary-mid: #1A6B52;
  --kp-gold: #C4A046;
  --kp-gold-bright: #DFBA68;
  --kp-cream: #FAF8F5;
  --kp-surface: #FFFFFF;
  --kp-text: #1A202C;
  --kp-muted: #718096;
}

/* 1. Global Typography */
body, h1, h2, h3, h4, h5, h6, .btn, .nav-link, .dropdown-item, input, select, textarea, .breadcrumb, table, .modal, .accordion-button {
  font-family: 'Cairo', system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

/* Preserve Icon Fonts from Cairo font override */
.fa, [class*="fa-"], .fa::before, [class*="fa-"]::before {
  font-family: 'FontAwesome', 'Font Awesome 6 Free', 'Font Awesome 5 Free' !important;
}
.oi, [class*="oi-"], .oi::before, [class*="oi-"]::before {
  font-family: 'odoo_ui_icons' !important;
}

/* 2. Header & Radiant Gold Brand Logo */
header,
header nav.navbar,
#top_menu_collapse,
.o_header_standard,
.o_top_fixed_element {
  background-color: #073532 !important;
  background: #073532 !important;
  border-bottom: 2px solid var(--kp-gold) !important;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.18) !important;
}

.navbar-brand img,
header .navbar-brand img,
#top_menu_container .navbar-brand img,
a.navbar-brand img,
.o_header_standard .navbar-brand img {
  content: url('/images/logo-gold.png') !important;
  height: 52px !important;
  max-height: 52px !important;
  width: auto !important;
  filter: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  object-fit: contain !important;
}

header .nav-link,
header .navbar-nav .nav-link,
#top_menu > li > a,
.o_header_standard a.nav-link {
  color: #FFFDF9 !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
  transition: color 0.2s ease !important;
}

header .nav-link:hover,
header .navbar-nav .nav-link:hover,
#top_menu > li > a:hover {
  color: var(--kp-gold-bright) !important;
}

header .navbar-toggler {
  border-color: var(--kp-gold) !important;
  color: #FFF !important;
}

header .navbar-toggler-icon {
  filter: invert(1);
}

/* Shopping Cart Badge in Header */
.my_cart_quantity,
.o_wsale_my_cart .badge,
header .badge.bg-primary {
  background-color: var(--kp-gold) !important;
  color: #073532 !important;
  font-weight: 900 !important;
  border-radius: 9999px !important;
  font-size: 0.78rem !important;
  padding: 3px 7px !important;
}

/* ==========================================================================
   3. CATEGORY SIMPLIFICATION: EXACTLY ONE CLEAN, FAST HORIZONTAL BAR
   Eliminate the redundant 3 category displays down to ONE mobile-app-aligned selector
   ========================================================================== */

/* A. Hide the redundant top circular slider */
.categ_slider_main,
.categories_container,
[class*="categ_slider"] {
  display: none !important;
}

/* B. Hide the redundant accordion sidebar */
#products_grid_before,
#o_wsale_products_grid_before,
aside.col-3,
aside.col-lg-3,
.o_wsale_products_grid_before_rail {
  display: none !important;
}

/* C. Expand the products grid container to full 100% width */
#products_grid,
.o_wsale_products_main_row > #products_grid,
.o_wsale_products_main_row > div:not(aside) {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
}

/* D. Style the Single Horizontal Category Bar (CloudPastry Aesthetic) */
.o_wsale_filmstip_container {
  margin: 16px 0 24px 0 !important;
  padding: 8px 4px !important;
  background: transparent !important;
  border-bottom: 1.5px solid rgba(196, 160, 70, 0.25) !important;
}

.o_wsale_filmstip_wrapper {
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}
.o_wsale_filmstip_wrapper::-webkit-scrollbar {
  display: none !important;
}

.o_wsale_filmstip {
  display: flex !important;
  gap: 12px !important;
  padding: 4px 4px 10px 4px !important;
  align-items: center !important;
  margin-bottom: 0 !important;
}

.o_wsale_filmstip li {
  padding-right: 0 !important;
  padding-left: 0 !important;
  flex-shrink: 0 !important;
}

.o_wsale_filmstip li a {
  text-decoration: none !important;
}

/* Inactive category pill */
.o_wsale_filmstip li .btn,
.o_wsale_filmstip li .btn-light,
.o_wsale_filmstip li a > div {
  background: #FFFFFF !important;
  color: #2D3748 !important;
  border: 1.5px solid #E2E8F0 !important;
  border-radius: 9999px !important;
  padding: 9px 22px !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
  transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1) !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.o_wsale_filmstip li .btn:hover,
.o_wsale_filmstip li a:hover > div {
  border-color: var(--kp-gold) !important;
  color: var(--kp-primary) !important;
  background: #FAF8F5 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 12px rgba(196, 160, 70, 0.15) !important;
}

/* Active category pill - CloudPastry Signature Dark Olive with Gold */
.o_wsale_filmstip li .btn-check:checked + .btn,
.o_wsale_filmstip li .btn-check:checked + div,
.o_wsale_filmstip li.active .btn,
.o_wsale_filmstip li.active a > div,
.o_wsale_filmstip li a.active > div {
  background: linear-gradient(135deg, #073532 0%, #032725 100%) !important;
  color: #FFFDF9 !important;
  border-color: var(--kp-gold) !important;
  box-shadow: 0 4px 14px rgba(3, 63, 61, 0.3) !important;
  font-weight: 800 !important;
  position: relative !important;
}

.o_wsale_filmstip li .btn-check:checked + .btn::after,
.o_wsale_filmstip li .btn-check:checked + div::after,
.o_wsale_filmstip li.active .btn::after,
.o_wsale_filmstip li.active a > div::after {
  content: "" !important;
  display: inline-block !important;
  width: 6px !important;
  height: 6px !important;
  background-color: var(--kp-gold-bright) !important;
  border-radius: 50% !important;
  margin-right: 6px !important;
}

/* Category Icons — Perfect Circular Royal Medallions */
.o_wsale_filmstip .o_image_40_cover {
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  border-radius: 50% !important;
  background-color: #FFFFFF !important;
  background-size: cover !important;
  background-position: center !important;
  border: 1.5px solid rgba(196, 160, 70, 0.25) !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05) !important;
  transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.o_wsale_filmstip li .btn:hover .o_image_40_cover,
.o_wsale_filmstip li a:hover > div .o_image_40_cover {
  transform: scale(1.08) !important;
  border-color: var(--kp-gold) !important;
  box-shadow: 0 3px 8px rgba(196, 160, 70, 0.25) !important;
}

/* Active Category Icon Medallion */
.o_wsale_filmstip li .btn-check:checked + .btn .o_image_40_cover,
.o_wsale_filmstip li .btn-check:checked + div .o_image_40_cover,
.o_wsale_filmstip li.active .btn .o_image_40_cover,
.o_wsale_filmstip li.active a > div .o_image_40_cover,
.o_wsale_filmstip li a.active > div .o_image_40_cover {
  border: 2px solid var(--kp-gold-bright) !important;
  box-shadow: 0 0 10px rgba(223, 186, 104, 0.45) !important;
  transform: scale(1.04) !important;
}

/* Custom All Products Icon */
.kp-all-prod-icon {
  background-image: url('/images/icons/all_products.png') !important;
}

/* ==========================================================================
   4. PRODUCT CARDS, TOP TOOLBAR & E-COMMERCE GRID (Modern CloudPastry Style)
   ========================================================================== */

/* 4.0 Products Header Toolbar (Search, Sort, Layout Switcher) */
.products_header {
  background: #FFFFFF !important;
  padding: 12px 18px !important;
  border-radius: 16px !important;
  border: 1px solid #ECE7DE !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03) !important;
  margin-bottom: 24px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  flex-wrap: wrap !important;
}

.products_header .o_wsale_products_searchbar_form {
  max-width: 450px !important;
  flex-grow: 1 !important;
}

.products_header .o_wsale_products_searchbar_form .input-group {
  border-radius: 9999px !important;
  overflow: hidden !important;
  border: 1.5px solid #E2E8F0 !important;
  background: #FAFAFA !important;
  transition: all 0.2s ease !important;
  display: flex !important;
  align-items: center !important;
}

.products_header .o_wsale_products_searchbar_form .input-group:focus-within {
  border-color: var(--kp-primary) !important;
  background: #FFFFFF !important;
  box-shadow: 0 0 0 3px rgba(3, 63, 61, 0.1) !important;
}

.products_header .search-query {
  border: none !important;
  background: transparent !important;
  padding: 8px 18px !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  color: #1A202C !important;
  box-shadow: none !important;
}

.products_header .search-query::placeholder {
  color: #A0AEC0 !important;
}

.products_header .oe_search_button {
  background: transparent !important;
  border: none !important;
  color: var(--kp-primary) !important;
  padding: 0 16px !important;
  font-size: 1.1rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: none !important;
}

.products_header .oe_search_button:hover {
  color: var(--kp-gold) !important;
  background: transparent !important;
}

/* Sort Dropdown */
.o_sortby_dropdown .btn {
  background: #FAFAFA !important;
  border: 1.5px solid #E2E8F0 !important;
  border-radius: 9999px !important;
  padding: 8px 18px !important;
  color: var(--kp-primary) !important;
  font-weight: 700 !important;
  font-size: 0.9rem !important;
  transition: all 0.2s ease !important;
  box-shadow: none !important;
}

.o_sortby_dropdown .btn:hover {
  border-color: var(--kp-gold) !important;
  background: #FAF8F5 !important;
}

/* Layout Switcher (Grid / List) */
.o_wsale_apply_layout {
  border-radius: 9999px !important;
  overflow: hidden !important;
  border: 1.5px solid #E2E8F0 !important;
  padding: 2px !important;
  background: #FAFAFA !important;
}

.o_wsale_apply_layout .btn {
  border-radius: 9999px !important;
  border: none !important;
  padding: 6px 14px !important;
  color: #718096 !important;
  background: transparent !important;
  font-size: 0.95rem !important;
  transition: all 0.2s ease !important;
  box-shadow: none !important;
}

.o_wsale_apply_layout .btn.active,
.o_wsale_apply_layout .btn-check:checked + .btn {
  background: var(--kp-primary) !important;
  color: #FFFDF9 !important;
  box-shadow: 0 2px 6px rgba(3, 63, 61, 0.25) !important;
}

/* 4.1 Products Grid Layout — High Density & Multi-Column (5-6 Columns) */
#o_wsale_products_grid,
.o_wsale_products_grid_table {
  --o-wsale-products-grid-gap: 14px !important;
  gap: 14px !important;
  width: 100% !important;
}

/* 6 columns on large screens (>= 1400px) */
@media (min-width: 1400px) {
  #o_wsale_products_grid,
  .o_wsale_products_grid_table {
    display: grid !important;
    grid-template-columns: repeat(6, 1fr) !important;
    gap: 14px !important;
  }
  #o_wsale_products_grid .oe_product {
    grid-column: span 1 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* 5 columns on desktop (1100px - 1399px) */
@media (min-width: 1100px) and (max-width: 1399px) {
  #o_wsale_products_grid,
  .o_wsale_products_grid_table {
    display: grid !important;
    grid-template-columns: repeat(5, 1fr) !important;
    gap: 12px !important;
  }
  #o_wsale_products_grid .oe_product {
    grid-column: span 1 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* 4 columns on medium screens (880px - 1099px) */
@media (min-width: 880px) and (max-width: 1099px) {
  #o_wsale_products_grid,
  .o_wsale_products_grid_table {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 10px !important;
  }
  #o_wsale_products_grid .oe_product {
    grid-column: span 1 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* 3 columns on tablet (600px - 879px) */
@media (min-width: 600px) and (max-width: 879px) {
  #o_wsale_products_grid,
  .o_wsale_products_grid_table {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 10px !important;
  }
  #o_wsale_products_grid .oe_product {
    grid-column: span 1 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* 2 columns on mobile (< 600px) */
@media (max-width: 599px) {
  #o_wsale_products_grid,
  .o_wsale_products_grid_table {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px !important;
    padding: 0 4px !important;
  }
  #o_wsale_products_grid .oe_product {
    grid-column: span 1 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* 4.2 Card Container — Compact, Zero Wasted Space */
.oe_product_cart,
.o_wsale_product_grid_wrapper .card {
  border-radius: 14px !important;
  border: 1.5px solid #ECE7DE !important;
  background: #FFFFFF !important;
  overflow: hidden !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
  transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  padding: 0 !important;
  height: 100% !important;
}

.oe_product_cart:hover,
.o_wsale_product_grid_wrapper .card:hover {
  transform: translateY(-3px) !important;
  border-color: var(--kp-gold) !important;
  box-shadow: 0 8px 20px rgba(3, 63, 61, 0.12) !important;
}

/* 4.3 Product Image Container — Snug, Perfectly Sized & Pure White Blend */
.oe_product_image,
.oe_product_image_link,
.oe_product_image_img_wrapper {
  background: #FFFFFF !important;
}

.oe_product_image {
  border-bottom: 1px solid #F0ECE4 !important;
  height: 130px !important;
  min-height: 130px !important;
  max-height: 140px !important;
  width: 100% !important;
  position: relative !important;
  display: block !important;
  overflow: hidden !important;
}

@media (max-width: 768px) {
  .oe_product_image {
    height: 120px !important;
    min-height: 120px !important;
  }
}

.oe_product_image_link {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  position: relative !important;
}

.oe_product_image_img_wrapper {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 6px !important;
}

.oe_product_image img,
.oe_product_image_link img,
.oe_product_image_img_wrapper img {
  position: relative !important;
  max-width: 95% !important;
  max-height: 95% !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  display: block !important;
  margin: auto !important;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.oe_product_cart:hover .oe_product_image img,
.oe_product_cart:hover .oe_product_image_img_wrapper img {
  transform: scale(1.05) !important;
}

/* 4.4 Product Information Container — Compact Padding & Typography */
.o_wsale_product_information {
  position: static !important;
  padding: 8px 10px 10px 10px !important;
  display: flex !important;
  flex-direction: column !important;
  flex-grow: 1 !important;
  justify-content: space-between !important;
  gap: 6px !important;
  background: #FFFFFF !important;
}

/* Title */
.o_wsale_products_item_title {
  margin: 0 !important;
  min-height: 32px !important;
  max-height: 36px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

.o_wsale_products_item_title a {
  color: #033F3D !important;
  font-weight: 800 !important;
  font-size: 0.94rem !important;
  line-height: 1.25 !important;
  text-decoration: none !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  transition: color 0.2s ease !important;
}

@media (max-width: 768px) {
  .o_wsale_products_item_title a {
    font-size: 0.85rem !important;
  }
}

.o_wsale_products_item_title a:hover {
  color: var(--kp-gold) !important;
}

/* 4.5 Sub Row: Price & Action Controls (Compact Stack) */
.o_wsale_product_sub {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  margin-top: auto !important;
  padding-top: 6px !important;
  border-top: 1px solid #F5F2EC !important;
  width: 100% !important;
}

/* Price Badge — Compact and Clean */
.product_price {
  background: #FAF8F5 !important;
  border: 1px solid rgba(196, 160, 70, 0.35) !important;
  border-radius: 9999px !important;
  padding: 2px 10px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto !important;
  line-height: 1.2 !important;
}

.product_price span,
.product_price .h6,
.oe_currency_value {
  color: #033F3D !important;
  font-weight: 900 !important;
  font-size: 0.94rem !important;
}

@media (max-width: 768px) {
  .product_price span,
  .product_price .h6,
  .oe_currency_value {
    font-size: 0.88rem !important;
  }
}

/* 4.6 Action Button Container — Always Visible & Fixed Flow */
#products_grid .oe_product .o_wsale_product_btn,
#products_grid:where(:not(.o_wsale_layout_list)) .o_wsale_products_grid_table .oe_product:not(.oe_product_size_stretch) .o_wsale_product_btn,
#products_grid:where(:not(.o_wsale_layout_list)) .o_wsale_products_grid_table_md .oe_product:not(.oe_product_size_stretch) .o_wsale_product_btn,
#products_grid:where(:not(.o_wsale_layout_list)) .o_wsale_products_grid_table .oe_product:not(.oe_product_size_stretch):not(:hover) .o_wsale_product_btn,
#products_grid:where(:not(.o_wsale_layout_list)) .o_wsale_products_grid_table_md .oe_product:not(.oe_product_size_stretch):not(:hover) .o_wsale_product_btn,
.oe_product:not(:hover) .o_wsale_product_btn,
.o_wsale_product_sub .o_wsale_product_btn,
.o_wsale_product_btn {
  position: static !important;
  top: auto !important;
  bottom: auto !important;
  right: auto !important;
  left: auto !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  opacity: 1 !important;
  visibility: visible !important;
  z-index: 1 !important;
}

.td-qty {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Add to Cart Button (Default State) */
button.o_add_cart_ajax.add_init,
.o_add_cart_ajax.add_init {
  width: 100% !important;
  height: 35px !important;
  border-radius: 9999px !important;
  background: linear-gradient(135deg, #073532 0%, #032725 100%) !important;
  background-color: #073532 !important;
  border: 1.5px solid var(--kp-gold) !important;
  color: #FFFDF9 !important;
  font-weight: 800 !important;
  font-size: 0.84rem !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  box-shadow: 0 2px 6px rgba(3, 63, 61, 0.15) !important;
  transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1) !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  text-decoration: none !important;
}

@media (max-width: 768px) {
  button.o_add_cart_ajax.add_init,
  .o_add_cart_ajax.add_init {
    height: 34px !important;
    font-size: 0.80rem !important;
    padding: 2px 6px !important;
  }
}

button.o_add_cart_ajax.add_init:hover,
.o_add_cart_ajax.add_init:hover {
  background: linear-gradient(135deg, #DFBA68 0%, #C4A046 100%) !important;
  border-color: #033F3D !important;
  color: #033F3D !important;
  box-shadow: 0 4px 10px rgba(196, 160, 70, 0.3) !important;
}

/* Clean up Droggol CSS hacks */
button.o_add_cart_ajax.add_init::before,
button.o_add_cart_ajax::before {
  display: none !important;
  content: none !important;
}

button.o_add_cart_ajax.add_init * {
  font-size: inherit !important;
}

/* 4.7 Quantity Stepper (+ / -) in Product Cards (Cart State) — Strict Brand Dark Olive */
#products_grid .oe_product .css_quantity.input_block:not(.d-none):not(.kp-hidden),
#products_grid .css_quantity:not(.d-none):not(.kp-hidden),
.td-qty .css_quantity:not(.d-none):not(.kp-hidden),
.css_quantity.input_block:not(.d-none):not(.kp-hidden) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  background: #FFFFFF !important;
  border: 1.5px solid var(--kp-primary) !important;
  border-radius: 8px !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 125px !important;
  height: 35px !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04) !important;
  margin: 0 auto !important;
  overflow: hidden !important;
}

@media (max-width: 768px) {
  #products_grid .oe_product .css_quantity.input_block:not(.d-none):not(.kp-hidden),
  #products_grid .css_quantity:not(.d-none):not(.kp-hidden),
  .td-qty .css_quantity:not(.d-none):not(.kp-hidden),
  .css_quantity.input_block:not(.d-none):not(.kp-hidden) {
    height: 33px !important;
    max-width: 115px !important;
  }
}

#products_grid .oe_product .css_quantity .input-group-prepend,
#products_grid .oe_product .css_quantity .input-group-append,
.css_quantity.input_block .input-group-prepend,
.css_quantity.input_block .input-group-append {
  width: 32px !important;
  height: 100% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  flex-shrink: 0 !important;
}

/* Stepper Buttons: Brand Dark Olive #073532 */
#products_grid .oe_product .css_quantity .btn,
#products_grid .oe_product .css_quantity a,
#products_grid .oe_product .css_quantity a.btn,
#products_grid .oe_product .css_quantity .js_add_cart_json,
#products_grid .oe_product .o_wsale_product_btn div.css_quantity .btn,
#products_grid .oe_product .o_wsale_product_btn div.css_quantity a,
#products_grid .o_wsale_products_grid_table_wrapper .oe_product .o_wsale_product_information .o_wsale_product_btn div.css_quantity .btn,
#products_grid .o_wsale_products_grid_table_wrapper .oe_product .o_wsale_product_information .o_wsale_product_btn div.css_quantity div.input-group-append a,
#products_grid .o_wsale_products_grid_table_wrapper .oe_product .o_wsale_product_information .o_wsale_product_btn div.css_quantity div.input-group-prepend a,
div.deal_products .deal_item .item_mask .td-qty div.css_quantity .btn,
div.deal_products .deal_item .item_mask .td-qty div.css_quantity div.input-group-append a,
div.deal_products .deal_item .item_mask .td-qty div.css_quantity div.input-group-prepend a,
.td-qty .css_quantity .btn,
.td-qty .css_quantity a,
.td-qty .css_quantity .js_add_cart_json,
.td-qty .css_quantity a.btn,
.td-qty .css_quantity .input-group-append a,
.td-qty .css_quantity .input-group-prepend a,
.css_quantity .js_add_cart_json,
.css_quantity a.btn,
.css_quantity .btn,
.css_quantity.input_block .btn,
.css_quantity.input_block a.btn {
  background-color: #073532 !important;
  background: #073532 !important;
  border: none !important;
  color: #FFFFFF !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 30px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  font-size: 0.85rem !important;
  line-height: 1 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  text-decoration: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

/* Stepper Hover */
#products_grid .oe_product .css_quantity .btn:hover,
#products_grid .oe_product .css_quantity a:hover,
#products_grid .oe_product .css_quantity .js_add_cart_json:hover,
#products_grid .o_wsale_products_grid_table_wrapper .oe_product .o_wsale_product_information .o_wsale_product_btn div.css_quantity .btn:hover,
#products_grid .o_wsale_products_grid_table_wrapper .oe_product .o_wsale_product_information .o_wsale_product_btn div.css_quantity div.input-group-append a:hover,
#products_grid .o_wsale_products_grid_table_wrapper .oe_product .o_wsale_product_information .o_wsale_product_btn div.css_quantity div.input-group-prepend a:hover,
.td-qty .css_quantity .btn:hover,
.td-qty .css_quantity a:hover,
.css_quantity .btn:hover,
.css_quantity a.btn:hover,
.css_quantity.input_block .btn:hover,
.css_quantity.input_block a.btn:hover {
  background-color: #032725 !important;
  background: #032725 !important;
  color: var(--kp-gold-bright) !important;
}

/* Stepper Icons */
#products_grid .oe_product .css_quantity .btn i,
#products_grid .oe_product .css_quantity a i,
.td-qty .css_quantity i,
.css_quantity .btn i,
.css_quantity a i,
.css_quantity.input_block .btn i,
.css_quantity.input_block a.btn i {
  color: #FFFFFF !important;
  font-size: 0.82rem !important;
  transition: color 0.2s ease !important;
}

#products_grid .oe_product .css_quantity .btn:hover i,
#products_grid .oe_product .css_quantity a:hover i,
.td-qty .css_quantity:hover i,
.css_quantity .btn:hover i,
.css_quantity a:hover i,
.css_quantity.input_block .btn:hover i,
.css_quantity.input_block a.btn:hover i {
  color: var(--kp-gold-bright) !important;
}

/* Stepper Input */
#products_grid .oe_product .css_quantity input.js_quantity,
#products_grid .oe_product .css_quantity .input-qty,
#products_grid .o_wsale_products_grid_table_wrapper .oe_product .o_wsale_product_information .o_wsale_product_btn div.css_quantity input.js_quantity,
.td-qty .css_quantity input.js_quantity,
.td-qty .css_quantity .input-qty,
.css_quantity input.js_quantity,
.css_quantity .input-qty,
.css_quantity.input_block .input-qty {
  border: none !important;
  border-top: 1px solid rgba(7, 53, 50, 0.12) !important;
  border-bottom: 1px solid rgba(7, 53, 50, 0.12) !important;
  background: #FFFFFF !important;
  background-color: #FFFFFF !important;
  text-align: center !important;
  font-weight: 800 !important;
  font-size: 0.95rem !important;
  color: #073532 !important;
  font-family: 'Cairo', sans-serif !important;
  width: 100% !important;
  flex: 1 !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  height: 100% !important;
  border-radius: 0 !important;
}

/* 4.8 Strict Mutual Exclusivity for Buttons */
#products_grid .oe_product .css_quantity.d-none,
#products_grid .oe_product .css_quantity.kp-hidden,
#products_grid .css_quantity.d-none,
#products_grid .css_quantity.kp-hidden,
.td-qty .css_quantity.d-none,
.td-qty .css_quantity.kp-hidden,
.css_quantity.input_block.d-none,
.css_quantity.input_block.kp-hidden {
  display: none !important;
}

#products_grid .oe_product button.o_add_cart_ajax.add_init.d-none,
#products_grid .oe_product button.o_add_cart_ajax.add_init.kp-hidden,
#products_grid .oe_product .o_add_cart_ajax.add_init.d-none,
#products_grid .oe_product .o_add_cart_ajax.add_init.kp-hidden,
.td-qty button.o_add_cart_ajax.add_init.d-none,
.td-qty button.o_add_cart_ajax.add_init.kp-hidden,
button.o_add_cart_ajax.add_init.d-none,
.o_add_cart_ajax.add_init.d-none,
button.o_add_cart_ajax.add_init.kp-hidden,
.o_add_cart_ajax.add_init.kp-hidden {
  display: none !important;
}

/* ==========================================================================
   4.1 STICKY FLOATING CART BAR ON ALL SHOP PAGES (Issue 4)
   ========================================================================== */
.kp-floating-cart-bar {
  position: fixed !important;
  bottom: 18px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  z-index: 99999 !important;
  width: calc(100% - 32px) !important;
  max-width: 520px !important;
  background: linear-gradient(135deg, #032725 0%, #073532 100%) !important;
  color: #FFFFFF !important;
  border: 2px solid var(--kp-gold) !important;
  border-radius: 9999px !important;
  padding: 10px 20px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  box-shadow: 0 12px 36px rgba(3, 63, 61, 0.5) !important;
  backdrop-filter: blur(10px) !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
  text-decoration: none !important;
}

.kp-floating-cart-bar:hover {
  transform: translateX(-50%) translateY(-3px) !important;
  box-shadow: 0 16px 42px rgba(3, 63, 61, 0.65) !important;
  border-color: var(--kp-gold-bright) !important;
  color: #FFFFFF !important;
}

.kp-floating-cart-bar.kp-hidden {
  transform: translateX(-50%) translateY(120px) !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.kp-floating-cart-bar__info {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

.kp-floating-cart-bar__icon-wrap {
  position: relative !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  background: rgba(196, 160, 70, 0.2) !important;
  border: 1px solid var(--kp-gold) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--kp-gold-bright) !important;
  flex-shrink: 0 !important;
}

.kp-floating-cart-bar__badge {
  position: absolute !important;
  top: -4px !important;
  right: -4px !important;
  background: var(--kp-gold-bright) !important;
  color: #032725 !important;
  font-size: 0.72rem !important;
  font-weight: 900 !important;
  min-width: 18px !important;
  height: 18px !important;
  border-radius: 9px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 4px !important;
}

.kp-floating-cart-bar__text {
  display: flex !important;
  flex-direction: column !important;
  text-align: right !important;
}

.kp-floating-cart-bar__title {
  font-size: 0.85rem !important;
  color: #E2E8F0 !important;
  line-height: 1.2 !important;
}

.kp-floating-cart-bar__total {
  font-size: 1.05rem !important;
  font-weight: 800 !important;
  color: var(--kp-gold-bright) !important;
}

.kp-floating-cart-bar__btn {
  background: linear-gradient(135deg, #DFBA68 0%, #C4A046 100%) !important;
  color: #032725 !important;
  padding: 8px 18px !important;
  border-radius: 9999px !important;
  font-weight: 800 !important;
  font-size: 0.9rem !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  border: none !important;
  white-space: nowrap !important;
  transition: all 0.2s ease !important;
}

.kp-floating-cart-bar__btn:hover {
  background: #FFFDF9 !important;
  color: #073532 !important;
  transform: scale(1.03) !important;
}

/* Header Navbar Persistent Cart Icon */
.kp-navbar-cart-link {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 42px !important;
  height: 42px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1.5px solid var(--kp-gold) !important;
  color: var(--kp-gold-bright) !important;
  margin-right: 12px !important;
  transition: all 0.2s ease !important;
  text-decoration: none !important;
}

.kp-navbar-cart-link:hover {
  background: var(--kp-gold) !important;
  color: #073532 !important;
  transform: translateY(-2px) !important;
}

.kp-navbar-cart-badge {
  position: absolute !important;
  top: -4px !important;
  right: -4px !important;
  background: var(--kp-gold-bright) !important;
  color: #073532 !important;
  font-size: 0.72rem !important;
  font-weight: 900 !important;
  min-width: 18px !important;
  height: 18px !important;
  border-radius: 9px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 4px !important;
  border: 1.5px solid #073532 !important;
}

/* ==========================================================================
   5. ELIMINATE ALL MAROON / BURGUNDY COLOR OVERRIDES
   ========================================================================== */
.bg-primary,
.bg-primary-emphasis,
.btn-group .btn-secondary,
.o_wsale_apply_grid,
.o_wsale_apply_list,
.btn-check:checked + .btn-secondary {
  background-color: #073532 !important;
  border-color: var(--kp-gold) !important;
  color: #FFF !important;
}

.text-primary,
.text-primary-emphasis {
  color: #073532 !important;
}

.btn-primary,
.btn-fill-primary {
  background: linear-gradient(135deg, #073532 0%, #032725 100%) !important;
  border-color: var(--kp-gold) !important;
  color: #FFFDF9 !important;
  font-weight: 700 !important;
  border-radius: 30px !important;
  padding: 10px 24px !important;
  transition: all 0.25s ease !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
  background: linear-gradient(135deg, #0D4A3A 0%, #073532 100%) !important;
  border-color: var(--kp-gold-bright) !important;
  color: var(--kp-gold-bright) !important;
  box-shadow: 0 4px 14px rgba(3, 63, 61, 0.35) !important;
}

.btn-secondary,
.btn-outline-primary {
  border-color: var(--kp-gold) !important;
  color: var(--kp-primary) !important;
  font-weight: 700 !important;
  border-radius: 30px !important;
  background: transparent !important;
}

.btn-secondary:hover,
.btn-outline-primary:hover {
  background: var(--kp-gold) !important;
  color: #073532 !important;
  border-color: var(--kp-gold-bright) !important;
}

/* ==========================================================================
   6. SHOPPING CART & CHECKOUT PAGES (/shop/cart & /shop/checkout)
   ========================================================================== */
#cart_products thead th {
  background-color: #073532 !important;
  color: #FFFDF9 !important;
  border-color: var(--kp-gold) !important;
  font-weight: 800 !important;
  padding: 12px 16px !important;
}

#cart_products td {
  vertical-align: middle !important;
}

.o_wizard .o_wizard_step_active {
  color: var(--kp-primary) !important;
}

.o_wizard .o_wizard_step_active .o_wizard_steplabel {
  color: var(--kp-primary) !important;
  font-weight: 800 !important;
}

.btn-primary[name="website_sale_main_button"],
a.btn-primary[href*="/shop/checkout"],
a.btn-primary[href*="/shop/cart"] {
  background: linear-gradient(135deg, #073532 0%, #032725 100%) !important;
  border: 1.5px solid var(--kp-gold) !important;
  color: #FFFDF9 !important;
  font-weight: 800 !important;
  border-radius: 30px !important;
  padding: 12px 28px !important;
  box-shadow: 0 4px 14px rgba(3, 63, 61, 0.25) !important;
  transition: all 0.25s ease !important;
}

.btn-primary[name="website_sale_main_button"]:hover,
a.btn-primary[href*="/shop/checkout"]:hover {
  background: linear-gradient(135deg, #0D4A3A 0%, #073532 100%) !important;
  border-color: var(--kp-gold-bright) !important;
  color: var(--kp-gold-bright) !important;
  box-shadow: 0 6px 18px rgba(3, 63, 61, 0.35) !important;
}

/* Breadcrumbs */
.breadcrumb {
  background-color: #FAF8F5 !important;
  border-radius: 12px !important;
  padding: 10px 18px !important;
  margin-top: 15px !important;
  border: 1px solid rgba(197, 160, 89, 0.2) !important;
}

.breadcrumb-item a {
  color: var(--kp-primary) !important;
  font-weight: 600 !important;
}

.breadcrumb-item.active {
  color: var(--kp-gold) !important;
  font-weight: 700 !important;
}

/* Footer Overrides */
#footer,
footer.o_footer {
  background-color: #032725 !important;
  color: #D6E4DF !important;
  border-top: 2px solid var(--kp-gold) !important;
}

#footer a,
footer.o_footer a {
  color: var(--kp-gold-bright) !important;
}

/* ==========================================================================
   7. ONE-STEP CHECKOUT & OPTIONAL EMAIL STYLES
   ========================================================================== */
.kp-quick-checkout-card {
  background: #FFFFFF;
  border: 2px solid var(--kp-gold);
  border-radius: 16px;
  padding: 24px;
  margin-top: 24px;
  box-shadow: 0 10px 30px rgba(7, 53, 50, 0.08);
}

.kp-quick-checkout-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
  padding-bottom: 14px;
  border-bottom: 1.5px solid rgba(196, 160, 70, 0.25);
}

.kp-quick-checkout-card__title {
  font-size: 1.25rem;
  font-weight: 800;
  color: var(--kp-primary);
  margin: 0;
}

.kp-quick-checkout-card__badge {
  background: rgba(196, 160, 70, 0.15);
  color: var(--kp-primary);
  border: 1px solid var(--kp-gold);
  padding: 4px 12px;
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 700;
}

.kp-delivery-choice-group {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 16px;
}

.kp-choice-card {
  border: 1.5px solid #E2E8F0;
  border-radius: 12px;
  padding: 12px 14px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 10px;
  transition: all 0.2s ease;
  background: #FAFAFA;
}

.kp-choice-card.active,
.kp-choice-card:hover {
  border-color: var(--kp-gold);
  background: #FFFDF9;
}

.kp-choice-card input[type="radio"] {
  accent-color: var(--kp-primary);
  width: 18px;
  height: 18px;
}

.kp-choice-label {
  font-weight: 700;
  font-size: 0.92rem;
  color: var(--kp-primary);
  margin: 0;
}

.kp-cod-banner {
  background: #F4FAF8;
  border: 1px solid #B8E0D2;
  border-radius: 10px;
  padding: 12px 16px;
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
  color: var(--kp-primary);
  font-size: 0.92rem;
  font-weight: 700;
}

.kp-quick-submit-btn {
  background: linear-gradient(135deg, #073532 0%, #032725 100%) !important;
  color: #FFFDF9 !important;
  border: 1.5px solid var(--kp-gold) !important;
  font-weight: 800 !important;
  font-size: 1.05rem !important;
  padding: 14px 28px !important;
  border-radius: 30px !important;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  cursor: pointer;
  transition: all 0.25s ease !important;
  box-shadow: 0 4px 14px rgba(3, 63, 61, 0.25) !important;
}

.kp-quick-submit-btn:hover {
  background: linear-gradient(135deg, #0D4A3A 0%, #073532 100%) !important;
  color: var(--kp-gold-bright) !important;
  border-color: var(--kp-gold-bright) !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(3, 63, 61, 0.35) !important;
}

/* Make email input visibly optional on address page */
#div_email_public label,
#div_email label {
  color: #718096 !important;
}

#div_email_public label::after,
#div_email label::after {
  content: " (اختياري)";
  font-size: 0.82rem;
  color: #718096;
  font-weight: normal;
}

/* ==========================================================================
   Wali WebChat (Live Chat AI Agent) — Luxury Brand Styling
   ========================================================================== */
#wali-webchat {
  --wwc: #033F3D !important;
  --wwc-ink: #073532 !important;
  font-family: 'Cairo', system-ui, sans-serif !important;
  z-index: 2147483000 !important;
  bottom: 24px !important;
  right: 24px !important;
  transition: bottom 0.3s ease !important;
}

@media (max-width: 768px) {
  #wali-webchat {
    bottom: 20px !important;
    right: 18px !important;
  }
}

/* Elevate button when floating cart is active on /shop */
body:has(#kp-floating-cart.visible) #wali-webchat,
#kp-floating-cart.visible ~ #wali-webchat {
  bottom: 82px !important;
}

#wali-webchat .wwc-btn {
  background: linear-gradient(135deg, #073532 0%, #032725 100%) !important;
  border: 1.5px solid #DFBA68 !important;
  box-shadow: 0 8px 24px rgba(3, 63, 61, 0.45) !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

#wali-webchat .wwc-btn:hover {
  transform: translateY(-3px) scale(1.06) !important;
  box-shadow: 0 12px 32px rgba(196, 160, 70, 0.45) !important;
  border-color: #FFFDF9 !important;
}

#wali-webchat .wwc-panel {
  border: 1.5px solid rgba(223, 186, 104, 0.35) !important;
  border-radius: 18px !important;
  box-shadow: 0 20px 60px rgba(3, 63, 61, 0.35) !important;
}

#wali-webchat .wwc-head {
  background: linear-gradient(135deg, #073532 0%, #032725 100%) !important;
  border-bottom: 1.5px solid #DFBA68 !important;
}

#wali-webchat .wwc-title {
  font-weight: 800 !important;
  color: #FFFDF9 !important;
}

#wali-webchat .wwc-sub {
  color: #DFBA68 !important;
  font-weight: 600 !important;
}

#wali-webchat .wwc-ava {
  border: 1.5px solid rgba(223, 186, 104, 0.5) !important;
  background: rgba(223, 186, 104, 0.15) !important;
  color: #DFBA68 !important;
}

#wali-webchat .wwc-me {
  background: linear-gradient(135deg, #073532 0%, #032725 100%) !important;
  color: #FFFDF9 !important;
  border-left: 2.5px solid #DFBA68 !important;
}

#wali-webchat .wwc-send {
  background: linear-gradient(135deg, #073532 0%, #032725 100%) !important;
  border: 1px solid #DFBA68 !important;
  color: #DFBA68 !important;
  transition: all 0.2s ease !important;
}

#wali-webchat .wwc-send:hover {
  background: linear-gradient(135deg, #DFBA68 0%, #C4A046 100%) !important;
  color: #073532 !important;
}

#wali-webchat .wwc-foot {
  font-size: 11px !important;
  font-weight: 600 !important;
  color: #073532 !important;
  background: #FAF8F5 !important;
  border-top: 1px solid #EAE6DF !important;
}

/* ==========================================================================
   11. HIDE FOOTER ON SHOP / CATALOG PAGES & INFINITE SCROLL LOADER
   ========================================================================== */
.o_wsale_products_page ~ footer,
.o_wsale_products_page #bottom,
body:has(.o_wsale_products_page) footer,
body:has(.o_wsale_products_page) #bottom,
body:has(#o_wsale_products_grid) footer,
body:has(#o_wsale_products_grid) #bottom,
#wrapwrap:has(.o_wsale_products_page) footer,
#wrapwrap:has(.o_wsale_products_page) #bottom,
#wrapwrap:has(#o_wsale_products_grid) footer,
#wrapwrap:has(#o_wsale_products_grid) #bottom,
main:has(.o_wsale_products_page) + footer,
main:has(.o_wsale_products_page) ~ footer,
main:has(#o_wsale_products_grid) + footer,
main:has(#o_wsale_products_grid) ~ footer {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* Hide native products pager since infinite scroll auto-loads */
.o_wsale_products_page .products_pager,
body:has(.o_wsale_products_page) .products_pager,
#products_grid .products_pager {
  display: none !important;
}

/* Infinite Scroll Auto-Load Sentinel & Spinner */
.kp-infinite-scroll-loader {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  padding: 28px 0 36px 0 !important;
  color: var(--kp-primary) !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
}

.kp-infinite-scroll-spinner {
  width: 26px !important;
  height: 26px !important;
  border: 3px solid rgba(7, 53, 50, 0.18) !important;
  border-top-color: var(--kp-primary) !important;
  border-right-color: var(--kp-gold) !important;
  border-radius: 50% !important;
  animation: kp-spin 0.75s linear infinite !important;
}

@keyframes kp-spin {
  to { transform: rotate(360deg); }
}

.kp-infinite-scroll-end {
  width: 100% !important;
  text-align: center !important;
  padding: 24px 0 32px 0 !important;
  color: var(--kp-muted) !important;
  font-size: 0.90rem !important;
  font-weight: 700 !important;
  position: relative !important;
}

.kp-infinite-scroll-end::before,
.kp-infinite-scroll-end::after {
  content: "" !important;
  display: inline-block !important;
  width: 35px !important;
  height: 1px !important;
  background: rgba(196, 160, 70, 0.35) !important;
  vertical-align: middle !important;
  margin: 0 12px !important;
}

