/* ============================================================
   EJRange Custom Styles - Cassiopeia Child Template
   Primary: #1A3A5C (navy) | CTA: #D32F2F (red) | Accent: #f8a8a8 (blush)
   ============================================================ */

/* --- CSS Custom Properties --- */
:root {
  /* Aligned with homepage-v2 palette */
  --ej-primary: #1A3A5C;
  --ej-primary-mid: #174A9C;
  --ej-primary-bright: #1E63C6;
  --ej-primary-dark: #0f3460;
  --ej-primary-light: #DCEAF7;
  --ej-cta: #D32F2F;
  --ej-cta-hover: #b71c1c;
  --ej-cta-light: #fce4e4;
  --ej-accent: #2A5D87;
  --ej-blush: #f8a8a8;
  --ej-text: #0D1117;
  --ej-text-heading: #0D1117;
  --ej-text-muted: #4a5568;
  --ej-bg: #e6eef8;
  --ej-bg-light: #e0eaf6;
  --ej-bg-dark: #0D1117;
  --ej-border: #dbe5ef;
  --ej-success: #28a745;
  --ej-radius: 8px;
  --ej-radius-lg: 14px;
  --ej-shadow: 0 1px 4px rgba(19,23,34,.07);
  --ej-shadow-hover: 0 4px 20px rgba(19,23,34,.10);
  --ej-transition: all 0.22s ease;
  /* Override Cassiopeia vars */
  --cassiopeia-font-family-body: 'DM Sans', system-ui, sans-serif;
  --cassiopeia-font-family-headings: 'Playfair Display', Georgia, serif;
  --cassiopeia-font-weight-normal: 400;
  --cassiopeia-font-weight-headings: 600;
  --hue: 210;
  --template-bg-light: var(--ej-bg-light);
  --template-text-dark: var(--ej-text);
  --template-special-color: var(--ej-primary-mid);
  --link-color: var(--ej-primary-mid);
}

/* Hide sidebar when empty / not needed */
.wrapper-static:not(.has-sidebar-left):not(.has-sidebar-right) .container-component,
body.view-article.itemid-101 .container-component {
  grid-column: 1 / -1;
}

/* --- Google Fonts (matching homepage) --- */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@600;700&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&display=swap');

/* --- Base Typography --- */
body {
  font-family: 'DM Sans', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 15px;
  line-height: 1.6;
  color: var(--ej-text);
  background: var(--ej-bg);
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6,
.page-header h1, .page-header h2 {
  font-family: 'Playfair Display', Georgia, serif;
  font-weight: 600;
  color: var(--ej-text-heading);
  line-height: 1.3;
}

h1 { font-size: 2.2rem; }
h2 { font-size: 1.8rem; }
h3 { font-size: 1.4rem; }
h4 { font-size: 1.15rem; }

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

/* --- Buttons --- */
.btn-ej-cta,
.ej-cta-btn,
.hikashop_cart_button,
input[type="submit"].hikashop_cart_button {
  display: inline-block;
  background: var(--ej-cta) !important;
  color: #fff !important;
  border: none;
  padding: 12px 28px;
  font-family: 'DM Sans', system-ui, sans-serif;
  font-weight: 600;
  font-size: 1rem;
  border-radius: var(--ej-radius);
  cursor: pointer;
  transition: var(--ej-transition);
  text-transform: none;
  letter-spacing: 0.02em;
  text-align: center;
}
.btn-ej-cta:hover,
.ej-cta-btn:hover,
.hikashop_cart_button:hover,
input[type="submit"].hikashop_cart_button:hover {
  background: var(--ej-cta-hover) !important;
  color: #fff !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 16px rgba(204,0,0,.3);
}

.btn-ej-primary {
  display: inline-block;
  background: var(--ej-primary);
  color: #fff;
  border: none;
  padding: 10px 24px;
  font-family: 'DM Sans', system-ui, sans-serif;
  font-weight: 500;
  font-size: 0.95rem;
  border-radius: var(--ej-radius);
  cursor: pointer;
  transition: var(--ej-transition);
}
.btn-ej-primary:hover {
  background: var(--ej-primary-dark);
  color: #fff;
  transform: translateY(-1px);
}

.btn-ej-outline {
  display: inline-block;
  background: transparent;
  color: var(--ej-primary);
  border: 2px solid var(--ej-primary);
  padding: 10px 24px;
  font-family: 'DM Sans', system-ui, sans-serif;
  font-weight: 500;
  font-size: 0.95rem;
  border-radius: var(--ej-radius);
  cursor: pointer;
  transition: var(--ej-transition);
}
.btn-ej-outline:hover {
  background: var(--ej-primary);
  color: #fff;
}



/* ============================================================
   HEADER — Exact homepage replica (injected via topbar module JS)
   ============================================================ */

/* --- Scrolling Promo Bar --- */
.promo-bar {
  background: #1E4D73;
  color: #fff;
  overflow: hidden;
  height: 42px;
  display: flex;
  align-items: center;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.promo-track {
  display: flex;
  animation: scroll-left 34s linear infinite;
  white-space: nowrap;
  will-change: transform;
}
.promo-item {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-size: 13px;
  font-weight: 650;
  padding: 0 36px;
  letter-spacing: .01em;
  color: #fff;
}
.promo-sep {
  display: inline-flex;
  align-items: center;
  color: rgba(255,255,255,.30);
  font-size: 18px;
  line-height: 1;
  align-self: center;
}
.promo-item svg { width: 14px; height: 14px; opacity: .82; }
@keyframes scroll-left {
  from { transform: translate3d(0,0,0); }
  to   { transform: translate3d(-25%,0,0); }
}

/* --- Container Header Override --- */
.container-header {
  background: #1A3A5C !important;
  background-image: none !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.15);
  padding: 0 !important;
  position: sticky;
  top: 0;
  z-index: 100;
  display: flex !important;
  flex-direction: column;
}
.container-header .container-topbar {
  width: 100%;
  padding: 0;
  background: #1E4D73;
}

/* --- Header Inner Row (logo + nav + actions) --- */
.header-inner {
  display: flex;
  align-items: center;
  gap: 40px;
  height: 72px;
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  padding: 0 24px;
}

/* Logo */
.logo {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  line-height: 0;
  background: transparent;
}
.logo img {
  height: 48px;
  width: auto;
  display: block;
  object-fit: contain;
  background: transparent;
}

/* --- Main Nav — strong, confident, premium --- */
.main-nav {
  display: flex;
  gap: 2px;
  flex: 1;
  align-items: center;
}
.main-nav a {
  font-family: "DM Sans", system-ui, sans-serif !important;
  font-size: 17px !important;
  font-weight: 750 !important;
  color: #ffffff !important;
  padding: 10px 15px !important;
  border-radius: 7px;
  white-space: nowrap;
  transition: color .15s ease, background .15s ease;
  letter-spacing: .003em;
  text-decoration: none !important;
  background: transparent;
}
.main-nav a:hover,
.main-nav a.active {
  color: #ffffff !important;
  background: #1a4d8c !important;
  text-decoration: none !important;
}

/* Outlet link */
.nav-outlet {
  color: #ffffff;
  font-weight: 750;
}

/* --- Outlet Dropdown --- */
.nav-item-dropdown {
  position: relative;
  display: flex;
  align-items: center;
}
.nav-item-dropdown > a {
  display: flex;
  align-items: center;
  gap: 4px;
}
.chevron-icon {
  width: 11px;
  height: 11px;
  transition: transform .18s ease;
  flex-shrink: 0;
}
.nav-item-dropdown:hover .chevron-icon {
  transform: rotate(180deg);
}
/* Invisible bridge between trigger & menu */
.nav-item-dropdown::after {
  content: '';
  position: absolute;
  top: 100%;
  left: -12px;
  right: -12px;
  height: 14px;
}
.dropdown-menu {
  position: absolute;
  top: calc(100% + 2px);
  left: 0;
  background: rgba(13,17,23,.95) !important;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-radius: 14px !important;
  box-shadow: 0 12px 40px rgba(0,0,0,.4), 0 0 0 1px rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  min-width: 200px !important;
  padding: 8px 0 !important;
  z-index: 300 !important;
  display: block !important;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: opacity .2s ease, transform .2s ease, visibility .2s;
  pointer-events: none;
  overflow: hidden;
}
.nav-item-dropdown:hover .dropdown-menu,
.nav-item-dropdown:focus-within .dropdown-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}
.dropdown-menu a {
  display: block !important;
  padding: 12px 22px !important;
  font-family: "DM Sans", system-ui, sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: rgba(255,255,255,.8) !important;
  text-decoration: none !important;
  letter-spacing: .01em;
  white-space: nowrap;
  transition: all .2s ease;
  border-left: 3px solid transparent;
}
.dropdown-menu a:hover {
  background: rgba(248,168,168,.1) !important;
  color: #ffffff !important;
  text-decoration: none !important;
  border-left-color: #f8a8a8;
}

/* --- Header Action Icons --- */
.header-actions {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-left: auto;
  color: #ffffff;
}
.header-actions a,
.header-actions button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 8px !important;
  border: none !important;
  background: transparent !important;
  cursor: pointer;
  color: rgba(255,255,255,0.85) !important;
  text-decoration: none !important;
  font-family: "DM Sans", system-ui, sans-serif !important;
  transition: all 0.22s ease;
  position: relative;
}
.header-actions a:hover,
.header-actions button:hover {
  background: rgba(255,255,255,0.12) !important;
  color: #fff !important;
  text-decoration: none !important;
}
.header-actions svg { width: 20px; height: 20px; }
.cart-count {
  position: absolute;
  top: 4px;
  right: 4px;
  background: #D32F2F;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  min-width: 17px;
  height: 17px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.header-actions .mobile-menu-btn { display: none !important; }

/* Scroll-lock when mobile menu is open (iOS-safe) */
body.mobile-menu-open {
  overflow: hidden !important;
  position: fixed !important;
  width: 100% !important;
}

/* --- Responsive: Mobile Header --- */
@media (max-width: 991px) {

  .header-inner {
    gap: 16px;
    height: 60px;
    padding: 0 16px;
  }
  .logo img { height: 40px; }
  
  
  
  
  .nav-outlet { color: #fff !important; }
  
  
  
  .header-actions .mobile-menu-btn { display: flex !important; }
  .promo-bar { height: 36px; }
  .promo-item { font-size: 12px; padding: 0 24px; }
  .main-nav {
    display: none !important;
    position: fixed !important;
    inset: 0 !important;
    top: 90px !important;
    background: #1A3A5C !important;
    flex-direction: column !important;
    align-items: stretch !important;
    padding: 0 !important;
    z-index: 99 !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  .main-nav.open {
    display: flex !important;
    align-items: stretch !important;
  }
  .main-nav > a,
  .main-nav > .nav-item-dropdown > a {
    display: block !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    color: #fff !important;
    padding: 15px 20px !important;
    border-bottom: 1px solid rgba(255,255,255,0.08) !important;
    border-radius: 0 !important;
    text-align: left !important;
    background: none !important;
    letter-spacing: 0.01em !important;
    text-decoration: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .main-nav > a:hover,
  .main-nav > .nav-item-dropdown > a:hover {
    background: rgba(255,255,255,0.06) !important;
    color: #fff !important;
  }
  .main-nav > a.active {
    background: rgba(255,255,255,0.06) !important;
    color: #fff !important;
    border-left: 3px solid #ea9604 !important;
  }
  .nav-item-dropdown {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .dropdown-menu {
    position: static !important;
    background: rgba(0,0,0,0.15) !important;
    backdrop-filter: none !important;
    box-shadow: none !important;
    border: none !important;
    border-radius: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    pointer-events: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    min-width: 0 !important;
  }
  .dropdown-menu a {
    padding: 13px 20px 13px 40px !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    color: rgba(255,255,255,0.85) !important;
    border-bottom: 1px solid rgba(255,255,255,0.05) !important;
    border-left: none !important;
    border-radius: 0 !important;
  }
  .dropdown-menu a:hover {
    background: rgba(255,255,255,0.06) !important;
    color: #fff !important;
  }
  .chevron-icon { display: none; }
}

/* --- Homepage Full-Width Sections --- */
/* Break out of container-component for full-width homepage sections */
body.view-article.itemid-101 .container-component {
  max-width: none;
  padding: 0;
}
body.view-article.itemid-101 .com-content-article {
  max-width: none;
}
body.view-article.itemid-101 nav[aria-label="Breadcrumbs"] {
  display: none;
}
/* Hide article navigation on homepage */
body.view-article.itemid-101 nav[aria-label="Page Navigation"],
body.view-article.itemid-101 .com-content-article__navigation {
  display: none;
}

/* --- Hero Section --- */
@keyframes heroFadeIn {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes subtleShift {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}
.ej-hero {
  background: linear-gradient(135deg, #0D1117 0%, #1A3A5C 30%, #174A9C 60%, #1E63C6 100%);
  background-size: 200% 200%;
  animation: subtleShift 12s ease infinite;
  color: #fff;
  padding: 90px 24px;
  text-align: center;
  position: relative;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0,0,0,0.15);
}
/* Diagonal stripe overlay */
.ej-hero::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: repeating-linear-gradient(
    45deg,
    transparent,
    transparent 40px,
    rgba(255,255,255,0.02) 40px,
    rgba(255,255,255,0.02) 80px
  );
  pointer-events: none;
}
.ej-hero::after {
  content: '';
  position: absolute;
  bottom: -60%;
  right: -10%;
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(211,47,47,0.10) 0%, transparent 70%);
  border-radius: 50%;
}
.ej-hero-content {
  position: relative;
  z-index: 1;
  max-width: 800px;
  margin: 0 auto;
  animation: heroFadeIn 0.8s ease-out;
}
.ej-hero h1 {
  font-size: 2.8rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: 16px;
  line-height: 1.15;
  text-shadow: 0 2px 4px rgba(0,0,0,0.15);
  letter-spacing: -0.01em;
}
.ej-hero p {
  font-size: 1.25rem;
  opacity: 0.92;
  margin-bottom: 36px;
  font-weight: 300;
  letter-spacing: 0.01em;
}
.ej-hero-buttons {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
}
.ej-hero .ej-cta-btn {
  padding: 16px 40px;
  font-size: 1.1rem;
  border-radius: var(--ej-radius-lg);
}
.ej-hero .ej-outline-btn {
  display: inline-block;
  padding: 16px 32px;
  font-size: 1.05rem;
  border-radius: var(--ej-radius-lg);
  border: 2px solid rgba(255,255,255,0.8);
  color: #fff;
  background: transparent;
  font-family: 'DM Sans', system-ui, sans-serif;
  font-weight: 500;
  text-decoration: none;
  transition: var(--ej-transition);
}
.ej-hero .ej-outline-btn:hover {
  background: rgba(255,255,255,0.15);
  border-color: #fff;
  color: #fff;
}

/* --- USP Bar --- */
.ej-usp-bar {
  background: var(--ej-bg-light);
  border-bottom: 1px solid var(--ej-border);
  border-top: 1px solid var(--ej-border);
  padding: 28px 16px;
}
.ej-usp-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  max-width: 1200px;
  margin: 0 auto;
}
.ej-usp-item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px 20px;
  border-right: 1px solid var(--ej-border);
  transition: var(--ej-transition);
}
.ej-usp-item:last-child {
  border-right: none;
}
.ej-usp-item:hover {
  background: rgba(23,74,156,0.04);
}
.ej-usp-icon {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  background: var(--ej-primary-light);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ej-primary);
  font-size: 1.25rem;
  transition: var(--ej-transition);
}
.ej-usp-icon svg {
  width: 22px;
  height: 22px;
  stroke: var(--ej-primary);
  transition: var(--ej-transition);
}
.ej-usp-item:hover .ej-usp-icon {
  background: var(--ej-primary);
  color: #fff;
}
.ej-usp-item:hover .ej-usp-icon svg {
  stroke: #fff;
}
.ej-usp-text {
  font-size: 0.85rem;
  font-weight: 500;
  color: var(--ej-text-heading);
  line-height: 1.3;
}
.ej-usp-text small {
  display: block;
  font-weight: 400;
  color: var(--ej-text-muted);
  font-size: 0.78rem;
}

/* --- Featured Categories --- */
.ej-categories {
  padding: 64px 16px;
  max-width: 1200px;
  margin: 0 auto;
  background: #fff;
}
.ej-section-title {
  text-align: center;
  margin-bottom: 40px;
}
.ej-section-title h2 {
  font-size: 1.8rem;
  margin-bottom: 8px;
  position: relative;
  display: inline-block;
}
.ej-section-title h2::after {
  content: '';
  display: block;
  width: 50px;
  height: 3px;
  background: var(--ej-cta);
  margin: 10px auto 0;
  border-radius: 2px;
}
.ej-section-title p {
  color: var(--ej-text-muted);
  font-size: 1rem;
}
.ej-cat-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.ej-cat-card {
  position: relative;
  border-radius: var(--ej-radius-lg);
  overflow: hidden;
  background: #fff;
  box-shadow: var(--ej-shadow);
  transition: var(--ej-transition);
  text-decoration: none;
  display: block;
}
.ej-cat-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--ej-shadow-hover);
}
.ej-cat-card img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}
.ej-cat-card:hover img {
  transform: scale(1.05);
}
.ej-cat-card-body {
  padding: 16px;
  text-align: center;
}
.ej-cat-card-body h3 {
  font-size: 1.1rem;
  margin: 0 0 4px;
  color: var(--ej-text-heading);
  transition: var(--ej-transition);
}
.ej-cat-card:hover .ej-cat-card-body h3 {
  color: var(--ej-primary);
}
.ej-cat-card-body p {
  font-size: 0.85rem;
  color: var(--ej-text-muted);
  margin: 0;
}

/* --- Featured Products / Bestsellers --- */
.ej-products {
  padding: 60px 16px;
  background: var(--ej-bg-light);
}
.ej-products-inner {
  max-width: 1200px;
  margin: 0 auto;
}

/* --- Trust Signals --- */
.ej-trust {
  padding: 56px 16px;
  text-align: center;
  background: #f0f4f8;
}
.ej-trust-inner {
  max-width: 1000px;
  margin: 0 auto;
}
.ej-trust h2 {
  margin-bottom: 32px;
  font-size: 1.5rem;
  color: var(--ej-text-heading);
}
.ej-trust-badges {
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: 0;
  flex-wrap: wrap;
  margin-bottom: 32px;
}
.ej-trust-badge {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  color: var(--ej-text);
  font-size: 0.9rem;
  font-weight: 500;
  padding: 20px 32px;
  border-right: 1px solid rgba(0,0,0,0.08);
  transition: var(--ej-transition);
}
.ej-trust-badge:last-child {
  border-right: none;
}
.ej-trust-badge:hover {
  background: rgba(255,255,255,0.6);
}
.ej-trust-badge .icon,
.ej-trust-badge .fa {
  font-size: 2.2rem;
  color: var(--ej-primary);
}
.ej-trust-badge svg {
  stroke: var(--ej-primary);
  width: 32px;
  height: 32px;
}
.ej-payment-logos {
  display: flex;
  justify-content: center;
  gap: 20px;
  align-items: center;
  margin-top: 8px;
  padding-top: 24px;
  border-top: 1px solid rgba(0,0,0,0.06);
}
.ej-payment-logos svg {
  height: 42px;
  width: auto;
  opacity: 0.85;
  transition: var(--ej-transition);
  border-radius: 4px;
}
.ej-payment-logos svg:hover {
  opacity: 1;
  transform: scale(1.08);
}

/* --- Newsletter Section --- */
.ej-newsletter {
  background: linear-gradient(135deg, #0D1117 0%, #174A9C 100%);
  color: #fff;
  padding: 56px 16px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.ej-newsletter::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: repeating-linear-gradient(
    45deg,
    transparent,
    transparent 40px,
    rgba(255,255,255,0.015) 40px,
    rgba(255,255,255,0.015) 80px
  );
  pointer-events: none;
}
.ej-newsletter-inner {
  max-width: 600px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.ej-newsletter h2 {
  color: #fff;
  font-size: 1.7rem;
  margin-bottom: 8px;
}
.ej-newsletter p {
  opacity: 0.92;
  margin-bottom: 24px;
}
.ej-newsletter-disclaimer {
  font-size: 0.78rem;
  opacity: 0.7;
  margin-top: 12px;
}
.ej-newsletter-form {
  display: flex;
  gap: 8px;
  max-width: 460px;
  margin: 0 auto;
}
.ej-newsletter-form input[type="email"] {
  flex: 1;
  padding: 14px 16px;
  border: 2px solid transparent;
  border-radius: var(--ej-radius);
  font-size: 1rem;
  outline: none;
  transition: border-color 0.3s ease;
}
.ej-newsletter-form input[type="email"]:focus {
  border-color: var(--ej-cta);
}
.ej-newsletter-form button {
  background: var(--ej-cta);
  color: #fff;
  border: none;
  padding: 14px 24px;
  border-radius: var(--ej-radius);
  font-family: 'DM Sans', system-ui, sans-serif;
  font-weight: 600;
  font-size: 1rem;
  cursor: pointer;
  transition: var(--ej-transition);
  white-space: nowrap;
}
.ej-newsletter-form button:hover {
  background: var(--ej-cta-hover);
}

/* --- Footer --- */
.container-footer {
  background: var(--ej-bg-dark) !important;
  color: #ccc;
  padding: 48px 16px 0;
}
.ej-footer-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
  max-width: 1200px;
  margin: 0 auto;
  padding-bottom: 40px;
}
.ej-footer-col h4 {
  color: #fff;
  font-size: 1rem;
  margin-bottom: 16px;
  font-weight: 600;
}
.ej-footer-col p {
  font-size: 0.9rem;
  line-height: 1.6;
  color: #aab;
}
.ej-footer-col ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.ej-footer-col ul li {
  margin-bottom: 8px;
}
.ej-footer-col ul li a {
  color: #aab;
  font-size: 0.9rem;
  transition: var(--ej-transition);
}
.ej-footer-col ul li a:hover {
  color: #fff;
  padding-left: 4px;
}
.ej-footer-bottom {
  border-top: 1px solid rgba(255,255,255,0.1);
  padding: 20px 16px;
  text-align: center;
  max-width: 1200px;
  margin: 0 auto;
}
.ej-footer-bottom-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
}
.ej-footer-bottom p {
  font-size: 0.8rem;
  color: #888;
  margin: 0;
}
.ej-footer-bottom a {
  color: #aab;
  font-size: 0.8rem;
}
.ej-footer-bottom a:hover {
  color: #fff;
}

/* --- Cassiopeia Footer Override --- */
footer.container-footer .grid-child {
  max-width: 1200px;
  margin: 0 auto;
  width: 100%;
}
/* Footer social/newsletter column button */
.ej-footer-col .btn-ej-cta,
.ej-footer-col button {
  padding: 10px 20px;
  font-size: 0.9rem;
}

/* --- Breadcrumbs --- */
.container-component nav[aria-label="Breadcrumbs"],
nav.mod-breadcrumbs {
  padding: 12px 0;
  font-size: 0.85rem;
}
nav.mod-breadcrumbs ol {
  padding: 0;
  margin: 0;
}
nav.mod-breadcrumbs a {
  color: var(--ej-primary);
}

/* === HikaShop Product Grid === */
.hikashop_products_listing {
  padding: 0;
}

/* Product card container - listing_img_title layout */
.hikashop_listing_img_title {
  border: 1px solid var(--ej-border);
  border-radius: var(--ej-radius-lg);
  overflow: hidden;
  background: #fff;
  transition: var(--ej-transition);
  padding: 0 !important;
  display: flex;
  flex-direction: column;
}
.hikashop_listing_img_title:hover {
  box-shadow: var(--ej-shadow-hover);
  transform: translateY(-2px);
}

/* Also style the generic product containers */
.hikashop_products_listing .hikashop_product {
  border: 1px solid var(--ej-border);
  border-radius: var(--ej-radius-lg);
  overflow: hidden;
  background: #fff;
  transition: var(--ej-transition);
  padding: 0 !important;
}
.hikashop_products_listing .hikashop_product:hover {
  box-shadow: var(--ej-shadow-hover);
  transform: translateY(-2px);
}

/* Product image area */
.hikashop_product_image {
  background: #f8f9fa;
  text-align: center;
  padding: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 180px;
  overflow: hidden;
}
.hikashop_product_image img,
.hikashop_product_listing_image {
  max-height: 180px;
  max-width: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  transition: transform 0.3s ease;
}
.hikashop_product_image:hover img,
.hikashop_product_image:hover .hikashop_product_listing_image {
  transform: scale(1.05);
}

/* Product name */
.hikashop_product_name {
  padding: 12px 16px 4px;
  display: block;
}
.hikashop_product_name a {
  color: var(--ej-text-heading);
  font-family: 'DM Sans', system-ui, sans-serif;
  font-weight: 500;
  font-size: 0.95rem;
  text-decoration: none;
  display: block;
}
.hikashop_product_name a:hover {
  color: var(--ej-primary);
}

/* Product price on listing */
.hikashop_product_price_div,
.hikashop_listing_img_title .hikashop_product_price_full {
  padding: 4px 16px;
}
.hikashop_product_price_full {
  font-family: 'DM Sans', system-ui, sans-serif;
  font-weight: 600;
  font-size: 1.15rem;
  color: var(--ej-text-heading);
}
.hikashop_product_price_full .hikashop_product_price_before_discount {
  text-decoration: line-through;
  color: var(--ej-text-muted);
  font-size: 0.85rem;
  font-weight: 400;
}
.hikashop_product_price_per_unit {
  font-size: 0.8rem;
  color: var(--ej-text-muted);
  font-weight: 400;
}
/* "inc. VAT" label after price */
.hikashop_product_price_full .hikashop_product_price::after {
  content: " inc. VAT";
  font-size: 0.75rem;
  color: var(--ej-text-muted);
  font-weight: 400;
}
/* Don't show on listing cards - too cramped */
.hikashop_listing_img_title .hikashop_product_price::after {
  display: none;
}
/* Show on product detail page */
.hikashop_product_page .hikashop_product_price::after {
  display: inline;
  font-size: 0.85rem;
}
.hikashop_product_stock_div {
  padding: 0 16px 4px;
  font-size: 0.8rem;
  color: var(--ej-success);
  font-weight: 500;
}
.hikashop_product_quantity_div,
.hikashop_product_cart_div {
  padding: 8px 16px 16px;
}
.hikashop_product_quantity_div input {
  width: 60px;
  text-align: center;
  border: 1px solid var(--ej-border);
  border-radius: var(--ej-radius);
  padding: 8px;
  font-size: 0.95rem;
}

/* HikaShop product grid — work WITH HikaShop's 12-column grid, not against it */
.hikashop_products .hk-row-fluid {
  gap: 20px;
  margin-left: 0;
  margin-right: 0;
}
.hikashop_products .hk-row-fluid > [class*="hkc-"] {
  padding: 0 !important;
}

/* HikaShop Cart button */
.hikashop_cart_button {
  width: 100%;
  padding: 10px 16px !important;
  border-radius: var(--ej-radius) !important;
  font-size: 0.9rem !important;
}

/* Add to cart area on listing */
.hikashop_listing_img_title .hikashop_add_to_cart {
  padding: 8px 16px 16px;
  margin-top: auto;
}

/* HikaShop cart module in header */
.container-search .hikashop_cart_module {
  font-size: 0.9rem;
}
.container-search .hikashop_cart_empty_message {
  display: none;
}
.container-search .hikashop_small_cart_checkout_link a {
  color: var(--ej-primary);
  font-weight: 500;
}

/* === HikaShop Product Detail === */
.hikashop_product_page {
  padding: 24px 0;
}
.hikashop_product_page .hikashop_product_image_div {
  background: #fafafa;
  border-radius: var(--ej-radius-lg);
  padding: 24px;
}
.hikashop_product_page .hikashop_product_image_div img {
  max-height: 500px;
  max-width: 100%;
}
.hikashop_product_page .hikashop_product_name_main h1 {
  font-size: 1.8rem;
  margin-bottom: 8px;
}
.hikashop_product_page .hikashop_product_price_main {
  font-size: 1.6rem;
  font-weight: 700;
  font-family: 'DM Sans', system-ui, sans-serif;
  color: var(--ej-text-heading);
  margin-bottom: 4px;
}
.hikashop_product_price_per_unit_text,
.ej-vat-label {
  font-size: 0.85rem;
  color: var(--ej-text-muted);
  font-weight: 400;
}
.hikashop_product_page .hikashop_cart_button {
  padding: 14px 32px !important;
  font-size: 1.05rem !important;
  width: auto;
  min-width: 200px !important;
}
.hikashop_product_page .hikashop_product_quantity_div input {
  width: 70px;
  padding: 12px;
  font-size: 1rem;
}
.hikashop_product_description_main {
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid var(--ej-border);
  line-height: 1.7;
}
.hikashop_shipping_info {
  background: var(--ej-bg-light);
  border-radius: var(--ej-radius);
  padding: 12px 16px;
  margin-top: 16px;
  font-size: 0.9rem;
  color: var(--ej-text);
}

/* === Cart Page === */

/* ================================================================
   CHECKOUT & CART — Professional Multi-Step Checkout
   ================================================================ */

/* --- Progress Bar (Wizard Bar) --- */
.hikashop_wizardbar {
  background: #fff;
  border: 1px solid var(--ej-border);
  border-radius: var(--ej-radius-lg);
  padding: 0;
  margin-bottom: 28px;
  overflow: hidden;
}
.hikashop_wizardbar ul {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  counter-reset: step;
}
.hikashop_wizardbar li {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 16px 20px;
  font-family: 'DM Sans', system-ui, sans-serif;
  font-weight: 600;
  font-size: 0.95rem;
  color: var(--ej-text-muted);
  position: relative;
  transition: var(--ej-transition);
}
.hikashop_wizardbar li.hikashop_cart_step_current {
  background: var(--ej-primary);
  color: #fff;
}
.hikashop_wizardbar li.hikashop_cart_step_finished {
  background: var(--ej-primary-light);
  color: var(--ej-primary);
}
.hikashop_wizardbar li.hikashop_cart_step_finished a {
  color: var(--ej-primary);
  text-decoration: none;
  font-weight: 600;
}
.hikashop_wizardbar li.hikashop_cart_step_finished a:hover {
  text-decoration: underline;
}
.hikashop_wizardbar .hkbadge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  font-size: 0.8rem;
  font-weight: 700;
  background: var(--ej-border);
  color: var(--ej-text-muted);
  flex-shrink: 0;
}
.hikashop_wizardbar .hkbadge-current {
  background: #fff;
  color: var(--ej-primary);
}
.hikashop_wizardbar .hkbadge-past {
  background: var(--ej-primary);
  color: #fff;
}
.hikashop_wizardbar .hikashop_chevron {
  display: none;
}
.hikashop_wizardbar .hikashop_checkout_step_name {
  white-space: nowrap;
}

/* --- Shared Checkout Page Layout --- */
.hikashop_checkout_page {
  max-width: 960px;
  margin: 0 auto;
  padding: 0 8px;
}
.hikashop_checkout_page .hikashop_checkout_block {
  background: #fff;
  border: 1px solid var(--ej-border);
  border-radius: var(--ej-radius-lg);
  padding: 28px 32px;
  margin-bottom: 24px;
  box-shadow: var(--ej-shadow);
}
.hikashop_checkout_page .hikashop_checkout_block h2,
.hikashop_checkout_page .hikashop_checkout_title {
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--ej-text-heading);
  margin: 0 0 20px 0;
  padding-bottom: 14px;
  border-bottom: 2px solid var(--ej-bg-light);
}

/* --- Cart Table (Step 1 & checkout cart review) --- */
.hikashop_checkout_cart table,
.hikashop_cart_module table {
  width: 100%;
  border-collapse: collapse;
}
.hikashop_checkout_cart table th,
.hikashop_cart_module table th {
  background: var(--ej-bg-light);
  padding: 14px 16px;
  font-family: 'DM Sans', system-ui, sans-serif;
  font-weight: 600;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--ej-text-muted);
  text-align: left;
  border-bottom: 2px solid var(--ej-border);
}
.hikashop_checkout_cart table td,
.hikashop_cart_module table td {
  padding: 16px;
  border-bottom: 1px solid var(--ej-border);
  vertical-align: middle;
  font-size: 0.95rem;
  color: var(--ej-text);
}
.hikashop_checkout_cart table tr:last-child td {
  border-bottom: none;
}
.hikashop_checkout_cart .hikashop_cart_product_image img {
  width: 80px;
  height: 80px;
  object-fit: contain;
  border-radius: var(--ej-radius);
  background: var(--ej-bg-light);
  padding: 4px;
}
.hikashop_checkout_cart .hikashop_cart_product_name a {
  color: var(--ej-text-heading);
  font-weight: 600;
  text-decoration: none;
  line-height: 1.4;
}
.hikashop_checkout_cart .hikashop_cart_product_name a:hover {
  color: var(--ej-primary);
}
.hikashop_checkout_cart .hikashop_cart_product_custom_item_fields {
  font-size: 0.85rem;
  color: var(--ej-text-muted);
  margin-top: 4px;
}
/* Quantity controls */
.hikashop_checkout_cart .hikashop_product_quantity_field {
  width: 48px;
  text-align: center;
  padding: 8px 4px;
  border: 1px solid var(--ej-border);
  border-radius: var(--ej-radius);
  font-size: 0.95rem;
  font-weight: 600;
}
.hikashop_checkout_cart .hikashop_product_quantity_change_div_plus,
.hikashop_checkout_cart .hikashop_product_quantity_change_div_minus {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: 1px solid var(--ej-border);
  border-radius: var(--ej-radius);
  background: var(--ej-bg-light);
  cursor: pointer;
  font-size: 1rem;
  color: var(--ej-text);
  transition: var(--ej-transition);
}
.hikashop_checkout_cart .hikashop_product_quantity_change_div_plus:hover,
.hikashop_checkout_cart .hikashop_product_quantity_change_div_minus:hover {
  background: var(--ej-primary-light);
  border-color: var(--ej-primary);
}
/* Price styling */
.hikashop_checkout_cart .hikashop_cart_product_price,
.hikashop_checkout_cart .hikashop_cart_product_total_price {
  font-weight: 700;
  color: var(--ej-text-heading);
  white-space: nowrap;
}
.hikashop_checkout_cart .hikashop_product_price_with_tax {
  font-weight: 700;
}
.hikashop_checkout_cart .hikashop_product_price_tax_text {
  font-size: 0.75rem;
  color: var(--ej-text-muted);
  font-weight: 400;
}
/* Cart item actions (refresh, delete) */
.hikashop_checkout_cart .hikashop_cart_product_quantity_refresh,
.hikashop_checkout_cart .hikashop_cart_product_quantity_delete {
  font-size: 0.85rem;
  cursor: pointer;
  opacity: 0.6;
  transition: var(--ej-transition);
}
.hikashop_checkout_cart .hikashop_cart_product_quantity_refresh:hover,
.hikashop_checkout_cart .hikashop_cart_product_quantity_delete:hover {
  opacity: 1;
}

/* --- Cart Totals --- */
.hikashop_cart_total,
.hikashop_checkout_cart_total {
  text-align: right;
  margin-top: 24px;
  padding-top: 16px;
  border-top: 2px solid var(--ej-border);
}
.hikashop_cart_total table,
.hikashop_checkout_cart_total table {
  margin-left: auto;
  min-width: 280px;
}
.hikashop_cart_total td,
.hikashop_checkout_cart_total td {
  padding: 8px 16px;
  font-size: 0.95rem;
}
.hikashop_cart_total tr:last-child td,
.hikashop_checkout_cart_total tr:last-child td {
  font-weight: 700;
  font-size: 1.25rem;
  padding-top: 12px;
  border-top: 2px solid var(--ej-text-heading);
  color: var(--ej-text-heading);
}

/* --- Coupon Block --- */
.hikashop_checkout_coupon {
  background: #fff;
  border: 1px solid var(--ej-border);
  border-radius: var(--ej-radius-lg);
  padding: 20px 32px;
  margin-bottom: 24px;
  box-shadow: var(--ej-shadow);
}
.hikashop_checkout_coupon .hikashop_checkout_coupon_input_line {
  display: flex;
  gap: 12px;
  align-items: center;
}
.hikashop_checkout_coupon input[type="text"] {
  flex: 1;
  max-width: 320px;
  padding: 12px 16px;
  border: 1px solid var(--ej-border);
  border-radius: var(--ej-radius);
  font-size: 0.95rem;
  transition: var(--ej-transition);
}
.hikashop_checkout_coupon input[type="text"]:focus {
  border-color: var(--ej-primary);
  outline: none;
  box-shadow: 0 0 0 3px rgba(23,74,156,0.15);
}
.hikashop_checkout_coupon .hikabtn {
  padding: 12px 24px;
  background: var(--ej-primary) !important;
  color: #fff !important;
  border: none;
  border-radius: var(--ej-radius);
  font-weight: 600;
  cursor: pointer;
  transition: var(--ej-transition);
}
.hikashop_checkout_coupon .hikabtn:hover {
  background: var(--ej-primary-dark) !important;
}

/* --- Checkout Form Fields (Step 2) --- */
.hikashop_checkout_page input[type="text"],
.hikashop_checkout_page input[type="email"],
.hikashop_checkout_page input[type="tel"],
.hikashop_checkout_page input[type="password"],
.hikashop_checkout_page select,
.hikashop_checkout_page textarea {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid var(--ej-border);
  border-radius: var(--ej-radius);
  font-size: 1rem;
  font-family: 'Roboto', sans-serif;
  transition: var(--ej-transition);
  background: #fff;
}
.hikashop_checkout_page input:focus,
.hikashop_checkout_page select:focus,
.hikashop_checkout_page textarea:focus {
  border-color: var(--ej-primary);
  outline: none;
  box-shadow: 0 0 0 3px rgba(23,74,156,0.15);
}

/* --- Address Block (Step 2) --- */
.hikashop_checkout_address {
  line-height: 1.7;
}
.hikashop_checkout_address .hikashop_address_card {
  padding: 16px 20px;
  border: 2px solid var(--ej-border);
  border-radius: var(--ej-radius);
  margin-bottom: 12px;
  transition: var(--ej-transition);
}
.hikashop_checkout_address input[type="radio"]:checked + .hikashop_address_card,
.hikashop_checkout_address .hikashop_address_card.selected {
  border-color: var(--ej-primary);
  background: var(--ej-primary-light);
}

/* --- Payment Method Block (Step 2) --- */
.hikashop_checkout_payment .table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 8px;
}
.hikashop_checkout_payment .table td {
  padding: 16px 20px;
  border: 2px solid var(--ej-border);
  border-radius: var(--ej-radius);
  background: #fff;
  transition: var(--ej-transition);
  cursor: pointer;
}
.hikashop_checkout_payment .table tr:has(input[type="radio"]:checked) td,
.hikashop_checkout_payment .table td:has(input[type="radio"]:checked) {
  border-color: var(--ej-primary);
  background: var(--ej-primary-light);
}
.hikashop_checkout_payment .table td:hover {
  border-color: var(--ej-primary);
}
.hikashop_checkout_payment label {
  cursor: pointer;
  font-weight: 600;
  font-size: 1rem;
  color: var(--ej-text-heading);
}
.hikashop_checkout_payment .hikashop_payment_description {
  font-size: 0.85rem;
  color: var(--ej-text-muted);
  margin-top: 2px;
}

/* --- Shipping Block (Step 2) --- */
.hikashop_checkout_shipping .hikashop_shipping_group {
  border: 2px solid var(--ej-border);
  border-radius: var(--ej-radius);
  padding: 16px 20px;
  margin-bottom: 8px;
  transition: var(--ej-transition);
  cursor: pointer;
}
.hikashop_checkout_shipping .hikashop_shipping_group:hover {
  border-color: var(--ej-primary);
  background: var(--ej-primary-light);
}
.hikashop_checkout_shipping .hikashop_shipping_group:has(input:checked) {
  border-color: var(--ej-primary);
  background: var(--ej-primary-light);
}
.hikashop_checkout_shipping label {
  cursor: pointer;
  font-weight: 600;
}
.hikashop_checkout_shipping .hikashop_shipping_price {
  font-weight: 700;
  color: var(--ej-success);
}

/* --- Buttons (Next / Finish / Continue Shopping) --- */
.hikashop_checkout_buttons {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 8px;
  padding: 0 4px;
}
.hikashop_checkout_buttons .buttons_left {
  flex: 0 0 auto;
}
.hikashop_checkout_buttons .buttons_right {
  flex: 0 0 auto;
}
#hikabtn_checkout_next {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 16px 48px !important;
  background: var(--ej-cta) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--ej-radius) !important;
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 1.1rem !important;
  font-weight: 700;
  cursor: pointer;
  transition: var(--ej-transition);
  box-shadow: 0 2px 8px rgba(211,47,47,0.25);
  min-width: 220px;
  text-align: center;
}
#hikabtn_checkout_next:hover {
  background: var(--ej-cta-hover) !important;
  box-shadow: 0 4px 16px rgba(211,47,47,0.35);
  transform: translateY(-1px);
}
#hikashop_checkout_shopping_button {
  padding: 14px 28px;
  background: transparent !important;
  color: var(--ej-primary) !important;
  border: 2px solid var(--ej-border) !important;
  border-radius: var(--ej-radius) !important;
  font-weight: 600;
  font-size: 0.95rem;
  transition: var(--ej-transition);
  text-decoration: none;
}
#hikashop_checkout_shopping_button:hover {
  border-color: var(--ej-primary) !important;
  background: var(--ej-primary-light) !important;
}

/* --- Step-Specific: Cart Page (Step 1) --- */
.hikashop_checkout_page_step1 .hikashop_checkout_cart {
  border: none;
  box-shadow: none;
  padding: 0;
}

/* --- Step-Specific: Checkout Page (Step 2) --- */
.hikashop_checkout_page_step2 .hikashop_checkout_block {
  margin-bottom: 20px;
}

/* --- Checkout CTA (generic fallback) --- */
.hikashop_checkout_page .hikashop_checkout_button,
.hikashop_checkout_page input[type="submit"] {
  background: var(--ej-cta) !important;
  color: #fff !important;
  padding: 14px 40px !important;
  font-size: 1.1rem !important;
  font-family: 'DM Sans', system-ui, sans-serif;
  font-weight: 600;
  border: none !important;
  border-radius: var(--ej-radius) !important;
  cursor: pointer;
  transition: var(--ej-transition);
}
.hikashop_checkout_page .hikashop_checkout_button:hover,
.hikashop_checkout_page input[type="submit"]:hover {
  background: var(--ej-cta-hover) !important;
}

/* --- Trust Signals --- */
.ej-checkout-trust {
  text-align: center;
  padding: 16px;
  margin-top: 16px;
  border: 1px solid var(--ej-border);
  border-radius: var(--ej-radius);
  background: var(--ej-bg-light);
}
.ej-checkout-trust span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0 12px;
  font-size: 0.85rem;
  color: var(--ej-text-muted);
}

/* --- Loading Spinner --- */
.hikashop_checkout_loading_elem {
  display: none;
}
.hikashop_checkout_loading_spinner {
  display: none;
}

/* --- Checkout Login Block (hide for logged-in users) --- */
.hikashop_checkout_login .hikashop_checkout_login_left_part {
  margin-bottom: 16px;
}

/* --- Responsive: Checkout & Cart --- */
@media (max-width: 768px) {
  .hikashop_checkout_page {
    padding: 0 4px;
  }
  .hikashop_checkout_page .hikashop_checkout_block {
    padding: 20px 16px;
    border-radius: var(--ej-radius);
  }
  .hikashop_wizardbar li {
    padding: 12px 8px;
    font-size: 0.8rem;
    gap: 6px;
  }
  .hikashop_wizardbar .hkbadge {
    width: 24px;
    height: 24px;
    font-size: 0.7rem;
  }
  .hikashop_checkout_cart .hikashop_cart_product_image_value {
    display: none;
  }
  .hikashop_checkout_cart .hikashop_cart_product_image_title {
    display: none;
  }
  .hikashop_checkout_cart table th,
  .hikashop_checkout_cart table td {
    padding: 10px 8px;
    font-size: 0.85rem;
  }
  .hikashop_checkout_buttons {
    flex-direction: column-reverse;
    gap: 12px;
  }
  .hikashop_checkout_buttons .buttons_left,
  .hikashop_checkout_buttons .buttons_right {
    width: 100%;
  }
  #hikabtn_checkout_next {
    width: 100%;
    min-width: unset;
  }
  #hikashop_checkout_shopping_button {
    width: 100%;
    text-align: center;
    display: block;
  }
}
@media (max-width: 480px) {
  .hikashop_wizardbar li {
    padding: 10px 6px;
    font-size: 0.75rem;
  }
  .hikashop_wizardbar .hikashop_checkout_step_name {
    display: none;
  }
  .hikashop_checkout_cart .hikashop_product_quantity_field {
    width: 36px;
    padding: 6px 2px;
  }
}

/* === Category/Listing Page === */
.hikashop_subcategories {
  margin-bottom: 24px;
}
.hikashop_category_description {
  margin-top: 30px;
  margin-bottom: 24px;
  padding: 24px 20px;
  background: rgba(255, 255, 255, 0.08);
  border-radius: var(--ej-radius-lg);
  line-height: 1.7;
  color: #374151;
  border: 1px solid #e2e8f0;
}
.hikashop_category_description h2,
.hikashop_category_description h3,
.hikashop_category_description h4 {
  color: #ffffff;
  margin-top: 1.2em;
  margin-bottom: 0.5em;
}
.hikashop_category_description h2:first-child,
.hikashop_category_description h3:first-child,
.hikashop_category_description h4:first-child {
  margin-top: 0;
}
.hikashop_category_description strong {
  color: #1A3A5C;
}
.hikashop_category_description a {
  color: var(--ej-red);
  text-decoration: underline;
}
.hikashop_category_description hr {
  border-color: #e2e8f0;
}
/* Sort and filter bar */
.hikashop_filter_main,
.hikashop_products_ordering {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
  padding: 12px 16px;
  background: var(--ej-bg-light);
  border-radius: var(--ej-radius);
}
.hikashop_products_ordering select {
  padding: 8px 12px;
  border: 1px solid var(--ej-border);
  border-radius: var(--ej-radius);
  font-size: 0.9rem;
}

/* Pagination */
.hikashop_products_pagination,
.pagination {
  display: flex;
  justify-content: center;
  gap: 4px;
  margin-top: 32px;
  padding: 16px 0;
}
.pagination li a,
.pagination li span {
  display: inline-block;
  padding: 8px 14px;
  border: 1px solid var(--ej-border);
  border-radius: var(--ej-radius);
  color: var(--ej-text);
  font-size: 0.9rem;
  transition: var(--ej-transition);
}
.pagination li a:hover {
  background: var(--ej-primary);
  color: #fff;
  border-color: var(--ej-primary);
}
.pagination li.active span,
.pagination li span.active {
  background: var(--ej-primary);
  color: #fff;
  border-color: var(--ej-primary);
}

/* === Cassiopeia Layout Overrides === */
.site-grid {
  max-width: none;
  padding: 0;
  margin: 0;
}
.container-component {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 16px;
}
.container-header .grid-child:has(.navbar-brand) {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 16px;
}
.container-banner {
  max-width: none;
  padding: 0;
}
.container-bottom-a,
.container-bottom-b {
  max-width: none;
  padding: 0;
}
.container-bottom-a .card,
.container-bottom-b .card,
.container-top-a .card,
.container-top-b .card,
.container-main-top .card,
.container-main-bottom .card {
  border: none;
  box-shadow: none;
  background: transparent;
  border-radius: 0;
}

/* === Forms general === */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="number"],
select,
textarea {
  border: 1px solid var(--ej-border);
  border-radius: var(--ej-radius);
  padding: 10px 14px;
  font-size: 0.95rem;
  transition: var(--ej-transition);
}
input:focus,
select:focus,
textarea:focus {
  border-color: var(--ej-primary);
  outline: none;
  box-shadow: 0 0 0 3px rgba(23,74,156,0.12);
}

/* === Back to top button === */
.back-to-top-link {
  background: var(--ej-primary) !important;
  color: #fff !important;
  border-radius: 50%;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: var(--ej-shadow);
}
.back-to-top-link:hover {
  background: var(--ej-primary-dark) !important;
}

/* === HikaShop listing page layout === */
.view-product.layout-listing .container-component,
.view-category.layout-listing .container-component {
  max-width: 1200px;
  padding: 16px;
}
.view-product.layout-listing .hikashop_products,
.view-category.layout-listing .hikashop_products {
  margin-top: 16px;
}

/* Page title on category pages */
.view-product.layout-listing .page-header h1,
.view-product.layout-listing .page-header h2 {
  font-size: 1.6rem;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--ej-primary);
}

/* === Mobile Hamburger Menu === */
.ej-hamburger {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: 10px;
  z-index: 100;
  position: relative;
}
.ej-hamburger span {
  display: block;
  width: 24px;
  height: 2px;
  background: #fff;
  margin: 5px 0;
  transition: var(--ej-transition);
  border-radius: 2px;
}
/* Hamburger animation when open */
.ej-nav-open .ej-hamburger span:nth-child(1) {
  transform: rotate(45deg) translate(5px, 5px);
}
.ej-nav-open .ej-hamburger span:nth-child(2) {
  opacity: 0;
}
.ej-nav-open .ej-hamburger span:nth-child(3) {
  transform: rotate(-45deg) translate(5px, -5px);
}

/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 991px) {
  .ej-usp-grid { grid-template-columns: repeat(2, 1fr); }
  .ej-usp-item { border-right: none; border-bottom: 1px solid var(--ej-border); padding: 10px 12px; }
  .ej-usp-item:nth-child(2n) { border-right: none; }
  .ej-usp-item:nth-last-child(-n+2) { border-bottom: none; }
  .ej-cat-grid { grid-template-columns: repeat(2, 1fr); }
  .ej-footer-grid { grid-template-columns: repeat(2, 1fr); }
  .ej-hero h1 { font-size: 2rem; }
  .ej-hero { padding: 56px 16px; }
  h1 { font-size: 1.8rem; }
  h2 { font-size: 1.5rem; }
  .ej-trust-badge { padding: 16px 20px; }
  /* Product grid — 2 columns on tablet */
  .hikashop_products .hk-row-fluid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px !important;
  }
  /* Breadcrumb bar — tablet */
  .view-product.layout-listing nav[aria-label="Breadcrumbs"] {
    padding: 12px 20px !important;
  }
  .view-product.layout-listing nav[aria-label="Breadcrumbs"] ol li:last-child span {
    font-size: 1.3rem !important;
  }
  /* Product detail — stack on tablet */
  .view-product.layout-show .hikashop_product_page .hk-row-fluid {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
  .view-product.layout-show .hikashop_product_name_main {
    font-size: 1.3rem !important;
  }
}

@media (max-width: 767px) {
  /* Mobile hamburger menu */
  .ej-hamburger { display: flex !important; }
  .container-nav {
    position: relative;
  }
  .container-nav .mod-menu {
    display: none;
    flex-direction: column;
    width: 100%;
    background: var(--ej-primary);
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 999;
    box-shadow: 0 4px 16px rgba(0,0,0,0.2);
    padding: 0;
    margin: 0;
  }
  .container-nav.ej-nav-open .mod-menu {
    display: flex;
  }
  .container-nav .mod-menu > li > a {
    padding: 14px 20px !important;
    border-bottom: 1px solid rgba(255,255,255,0.1);
  }
  .container-nav .mod-menu > li:last-child > a {
    border-bottom: none;
  }
  /* Hide cart module in nav on mobile */
  .container-nav .container-search {
    display: none;
  }
  .ej-topbar-inner {
    flex-direction: column;
    gap: 4px;
  }
  .ej-topbar-right { font-size: 0.8rem; }
  .ej-hero { padding: 40px 16px; }
  .ej-hero h1 { font-size: 1.6rem; }
  .ej-hero p { font-size: 1rem; }
  .ej-hero-buttons { flex-direction: column; align-items: center; }
  .ej-hero .ej-cta-btn,
  .ej-hero .ej-outline-btn {
    width: 100%;
    padding: 14px 24px;
    text-align: center;
  }
  .ej-usp-grid {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }
  .ej-usp-icon {
    width: 36px;
    height: 36px;
    font-size: 0.9rem;
  }
  .ej-usp-text { font-size: 0.78rem; }
  .ej-cat-grid {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }
  .ej-cat-card img { height: 150px; }
  .ej-categories,
  .ej-products { padding: 32px 12px; }
  .ej-newsletter-form { flex-direction: column; }
  .ej-newsletter-form input[type="email"],
  .ej-newsletter-form button { width: 100%; }
  .ej-footer-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .ej-footer-bottom-inner {
    flex-direction: column;
    text-align: center;
  }
  /* Product grid mobile — single column */
  .hikashop_products .hk-row-fluid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  /* Breadcrumb bar — mobile */
  .view-product.layout-listing nav[aria-label="Breadcrumbs"] {
    padding: 10px 16px !important;
    flex-wrap: wrap;
  }
  .view-product.layout-listing nav[aria-label="Breadcrumbs"] ol li:last-child span {
    font-size: 1.1rem !important;
  }
  /* Touch targets */
  .container-nav .mod-menu > li > a {
    padding: 14px 16px;
    min-height: 44px;
  }
  .hikashop_cart_button {
    min-height: 44px;
    font-size: 1rem !important;
  }
  .pagination li a,
  .pagination li span {
    min-width: 44px;
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  /* Product page mobile */
  .hikashop_product_page .hikashop_product_image_div img {
    max-height: 300px;
  }
  .hikashop_product_page .hikashop_cart_button { width: 100%; }
  /* Cart mobile */
  .hikashop_checkout_cart table { font-size: 0.85rem; }
  .hikashop_checkout_cart .hikashop_cart_product_image img {
    width: 60px;
    height: 60px;
  }
  h1 { font-size: 1.5rem; }
  h2 { font-size: 1.3rem; }
}

@media (max-width: 575px) {
  .hikashop_product_image {
    min-height: 160px;
  }
  .ej-trust-badges { flex-direction: column; }
  .ej-trust-badge { border-right: none; border-bottom: 1px solid rgba(0,0,0,0.06); }
  .ej-trust-badge:last-child { border-bottom: none; }
}

@media (max-width: 375px) {
  body { font-size: 15px; }
  .ej-usp-grid { grid-template-columns: 1fr; }
  .ej-usp-item { border-right: none; }
  .ej-hero h1 { font-size: 1.4rem; }
}

/* ============================================================
   GLOBAL POLISH
   ============================================================ */
html { scroll-behavior: smooth; }

/* Smooth product image border radius */
.hikashop_product_image img { border-radius: 2px; }

/* Focus styles for accessibility */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--ej-primary);
  outline-offset: 2px;
}

/* Consistent section spacing */
.ej-categories,
.ej-products { padding-top: 64px; padding-bottom: 64px; }

/* Remove Joomla system message styling on homepage */
body.view-article.itemid-101 .alert,
body.view-article.itemid-101 joomla-alert {
  display: none;
}

/* Product listing cards — ensure consistent height */
.hikashop_listing_img_title {
  height: 100%;
}

/* ============================================================
   PRODUCT LISTING PAGE — DARK PREMIUM REDESIGN
   Matches the homepage's dark navy glassmorphism aesthetic.
   ============================================================ */

/* --- FIX: HikaShop Grid Layout --- */
.hikashop_products .hk-row-fluid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 28px !important;
  margin: 0 !important;
  padding: 0 8px !important;
}
.hikashop_products .hk-row-fluid > [class*="hkc-"] {
  grid-column: span 1 !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* --- BLUE PAGE BACKGROUND (matches homepage vibrant navy palette) --- */
.view-product.layout-listing,
.view-product.task-listing {
  background: linear-gradient(170deg, #0f2a47 0%, #1A3A5C 25%, #174A9C 55%, #1A3A5C 80%, #0f2a47 100%) !important;
  min-height: 100vh;
}
/* Subtle pattern overlay for depth */
.view-product.layout-listing::before {
  content: '';
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background:
    radial-gradient(ellipse 700px 500px at 15% 20%, rgba(30,99,198,0.15), transparent),
    radial-gradient(ellipse 600px 400px at 85% 70%, rgba(23,74,156,0.12), transparent),
    radial-gradient(ellipse 400px 300px at 50% 90%, rgba(248,168,168,0.05), transparent);
  pointer-events: none;
  z-index: 0;
}
.view-product.layout-listing .container-component,
.view-product.task-listing .container-component {
  background: transparent !important;
  padding-bottom: 48px !important;
  position: relative;
  z-index: 1;
}
/* Make main content area transparent */
.view-product.layout-listing main,
.view-product.task-listing main {
  background: transparent !important;
}

/* --- HERO BREADCRUMB BANNER --- */
/* === Slim Breadcrumb Bar — listing pages === */
.view-product.layout-listing nav[aria-label="Breadcrumbs"] {
  background: rgba(255,255,255,0.04) !important;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  border-radius: 0 !important;
  padding: 10px 24px !important;
  margin: 0 0 24px !important;
  position: relative;
  min-height: 0 !important;
  height: auto !important;
}
/* Pink left accent */
.view-product.layout-listing nav[aria-label="Breadcrumbs"]::before {
  content: '';
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 3px;
  background: linear-gradient(180deg, #D32F2F, #f8a8a8);
  border-radius: 0 2px 2px 0;
}
/* Hide "You are here:" */
.view-product.layout-listing nav[aria-label="Breadcrumbs"] .mod-breadcrumbs__here {
  display: none !important;
}
.view-product.layout-listing nav[aria-label="Breadcrumbs"] ol {
  display: flex !important;
  align-items: center;
  flex-direction: row !important;
  width: 100%;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none;
  gap: 0;
  background: none !important;
}
.view-product.layout-listing nav[aria-label="Breadcrumbs"] li {
  color: rgba(255,255,255,0.45) !important;
  font-size: 0.82rem;
}
.view-product.layout-listing nav[aria-label="Breadcrumbs"] li .icon-chevron-right::before,
.view-product.layout-listing nav[aria-label="Breadcrumbs"] li .separator {
  color: rgba(255,255,255,0.25) !important;
  margin: 0 6px;
}
.view-product.layout-listing nav[aria-label="Breadcrumbs"] a {
  color: rgba(255,255,255,0.5) !important;
  font-weight: 500;
  transition: color 0.2s ease;
  text-decoration: none;
}
.view-product.layout-listing nav[aria-label="Breadcrumbs"] a:hover {
  color: #f8a8a8 !important;
}
/* Current page name in breadcrumb — hidden on listing pages (redundant with H1) */
.view-product.layout-listing nav[aria-label="Breadcrumbs"] ol li:last-child {
  display: none !important;
}














/* --- GLASSMORPHISM PRODUCT CARDS --- */
.hikashop_products_listing .hikashop_product {
  border: 1px solid rgba(255,255,255,0.1) !important;
  border-radius: 16px !important;
  overflow: hidden;
  background: rgba(255,255,255,0.06) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  transition: all 0.4s cubic-bezier(.22,.68,0,1.15);
  box-shadow: 0 4px 20px rgba(0,0,0,0.2);
  position: relative;
}
.hikashop_products_listing .hikashop_product:hover {
  transform: translateY(-8px) !important;
  box-shadow: 0 16px 48px rgba(23,74,156,0.25) !important;
  border-color: rgba(248,168,168,0.4) !important;
  background: rgba(255,255,255,0.1) !important;
}
/* Pink accent bar on hover */
.hikashop_products_listing .hikashop_product::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #f8a8a8, #D32F2F);
  transform: scaleX(0);
  transition: transform 0.4s cubic-bezier(.22,.68,0,1.15);
  z-index: 2;
}
.hikashop_products_listing .hikashop_product:hover::after {
  transform: scaleX(1);
}

/* --- Product Image Area --- */
.hikashop_products_listing .hikashop_product_image {
  background: linear-gradient(135deg, rgba(255,255,255,0.95) 0%, rgba(240,244,250,0.95) 100%) !important;
  padding: 28px 20px !important;
  min-height: 220px !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  position: relative;
  overflow: hidden;
}
/* Subtle glow behind product image */
.hikashop_products_listing .hikashop_product_image::after {
  content: '';
  position: absolute;
  width: 120px;
  height: 120px;
  background: radial-gradient(circle, rgba(23,74,156,0.08), transparent 70%);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.hikashop_products_listing .hikashop_product_image img {
  max-height: 190px !important;
  transition: transform 0.5s cubic-bezier(.22,.68,0,1.15) !important;
  position: relative;
  z-index: 1;
}
.hikashop_products_listing .hikashop_product:hover .hikashop_product_image img {
  transform: scale(1.1) !important;
}

/* --- Product Info Area (dark card bottom) --- */
.hikashop_products_listing .hikashop_product .hikashop_subcontainer {
  background: transparent !important;
  border: none !important;
}
.hikashop_products_listing .hikashop_product .hikashop_listing_img_title {
  background: transparent !important;
}

/* --- Product Name --- */
.hikashop_products_listing .hikashop_product_name {
  padding: 16px 20px 6px !important;
}
.hikashop_products_listing .hikashop_product_name a {
  font-family: 'DM Sans', system-ui, sans-serif;
  font-weight: 600 !important;
  font-size: 0.92rem !important;
  color: #dfe6ed !important;
  line-height: 1.45;
  display: -webkit-box !important;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-decoration: none !important;
  min-height: 2.9em;
}
.hikashop_products_listing .hikashop_product_name a:hover {
  color: #f8a8a8 !important;
}

/* --- "each" per-unit label --- */
.hikashop_products_listing .hikashop_product_price_per_unit {
  font-size: 0.78rem;
  color: rgba(255,255,255,0.4) !important;
  font-weight: 400;
  margin-left: 4px;
}

/* --- Price Styling --- */
.hikashop_products_listing .hikashop_product_price_full {
  padding: 6px 20px !important;
  display: block !important;
}
.hikashop_products_listing .hikashop_product_price {
  font-family: 'DM Sans', system-ui, sans-serif;
  font-weight: 700 !important;
  font-size: 1.4rem !important;
  color: #f8a8a8 !important;
  text-shadow: 0 1px 3px rgba(0,0,0,0.2);
}
.hikashop_products_listing .hikashop_product_price_per_unit {
  font-size: 0.78rem;
  color: rgba(255,255,255,0.45);
  font-weight: 400;
  margin-left: 4px;
}

/* --- Stock Count --- */
.hikashop_products_listing .hikashop_product_stock_count {
  padding: 2px 20px 8px !important;
  font-size: 0.75rem;
  color: #69db7c !important;
  font-weight: 500;
}

/* --- Product Code — Hide on listing --- */
.hikashop_products_listing .hikashop_product_code_list {
  display: none;
}

/* --- Choose Options / Cart Button --- */
.hikashop_products_listing a.hikabtn.hikacart,
.hikashop_products_listing .hikashop_cart_button,
.hikashop_products_listing a.hikacart {
  display: block !important;
  width: calc(100% - 40px) !important;
  margin: 10px 20px 20px !important;
  padding: 13px 20px !important;
  background: var(--ej-cta) !important;
  color: #fff !important;
  border: 2px solid var(--ej-cta) !important;
  border-radius: var(--ej-radius) !important;
  font-family: 'DM Sans', system-ui, sans-serif !important;
  font-weight: 600 !important;
  font-size: 0.95rem !important;
  text-align: center !important;
  text-decoration: none !important;
  cursor: pointer;
  transition: all 0.22s ease !important;
  letter-spacing: 0.03em;
  box-shadow: 0 4px 16px rgba(204,0,0,.3);
}
.hikashop_products_listing a.hikabtn.hikacart:hover,
.hikashop_products_listing .hikashop_cart_button:hover,
.hikashop_products_listing a.hikacart:hover {
  background: var(--ej-cta-hover) !important;
  border-color: var(--ej-cta-hover) !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(204,0,0,.4) !important;
}

/* --- Top Bar & Header on dark pages (matching homepage #1A3A5C) --- */
.view-product.layout-listing .ej-top-bar,
.view-product.task-listing .ej-top-bar {
  background: #1E4D73 !important;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.view-product.layout-listing header,
.view-product.task-listing header {
  position: relative;
  z-index: 10;
  background: #1A3A5C !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.15);
  border-bottom: none;
}
/* Logo area inside header — transparent on dark pages */
.view-product.layout-listing header .grid-child,
.view-product.layout-listing header .container-header {
  background: transparent !important;
}
/* Ensure nav bar still looks correct */
.view-product.layout-listing .ej-navbar {
  background: var(--ej-primary) !important;
}

/* --- Footer on dark pages — add spacing --- */
.view-product.layout-listing footer,
.view-product.task-listing footer {
  position: relative;
  z-index: 1;
  border-top: 1px solid rgba(255,255,255,0.08);
}

/* --- Product listing wrapper padding --- */
.view-product.layout-listing .hikashop_products_listing_main {
  padding: 0 8px;
}

/* --- "Back to top" link on dark pages --- */
.view-product.layout-listing a.back-to-top-link {
  color: rgba(255,255,255,0.6);
}

/* --- Cookie banner on dark pages --- */
.view-product .cookie-banner {
  z-index: 100;
}


/* ============================================================
   PRODUCT DETAIL PAGE — DARK PREMIUM REDESIGN
   Targets: body.layout-show.task-show (individual product pages)
   ============================================================ */

/* --- Blue Page Background (matching homepage vibrant navy palette) --- */
.view-product.layout-show,
.view-product.task-show {
  background: linear-gradient(170deg, #0f2a47 0%, #1A3A5C 25%, #174A9C 55%, #1A3A5C 80%, #0f2a47 100%) !important;
  min-height: 100vh;
}
.view-product.layout-show::before {
  content: '';
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background:
    radial-gradient(ellipse 700px 500px at 15% 20%, rgba(30,99,198,0.15), transparent),
    radial-gradient(ellipse 600px 400px at 85% 60%, rgba(23,74,156,0.12), transparent),
    radial-gradient(ellipse 400px 300px at 50% 90%, rgba(248,168,168,0.05), transparent);
  pointer-events: none;
  z-index: 0;
}
.view-product.layout-show .container-component {
  background: transparent !important;
  position: relative;
  z-index: 1;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
}
.view-product.layout-show main {
  background: transparent !important;
}

/* --- Header on Dark Product Pages (matching homepage #1A3A5C) --- */
.view-product.layout-show header {
  background: linear-gradient(180deg, #0f2a47, #1A3A5C) !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.2);
  border-bottom: 1px solid rgba(255,255,255,0.06);
  position: relative;
  z-index: 10;
}
.view-product.layout-show header .grid-child,
.view-product.layout-show header .container-header {
  background: transparent !important;
}

/* --- Breadcrumb Hero on Product Detail --- */
.view-product.layout-show nav[aria-label="Breadcrumbs"] {
  background: rgba(255,255,255,0.06) !important;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255,255,255,0.1) !important;
  border-radius: 12px;
  padding: 20px 24px !important;
  margin: 20px 16px 28px !important;
  position: relative;
  overflow: hidden;
}
.view-product.layout-show nav[aria-label="Breadcrumbs"]::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 3px;
  background: linear-gradient(90deg, #f8a8a8, #D32F2F);
  border-radius: 2px;
}
.view-product.layout-show nav[aria-label="Breadcrumbs"] .mod-breadcrumbs__here {
  display: none !important;
}
.view-product.layout-show nav[aria-label="Breadcrumbs"] ol {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  padding: 0;
  margin: 0;
  list-style: none;
  gap: 4px;
}
.view-product.layout-show nav[aria-label="Breadcrumbs"] li {
  color: rgba(255,255,255,0.5) !important;
  font-size: 0.85rem;
}
.view-product.layout-show nav[aria-label="Breadcrumbs"] a {
  color: rgba(255,255,255,0.6) !important;
  text-decoration: none;
  transition: color 0.2s ease;
}
.view-product.layout-show nav[aria-label="Breadcrumbs"] a:hover {
  color: #f8a8a8 !important;
}

/* --- Alert/Warning Banner --- */
.view-product.layout-show .alert {
  background: rgba(248,168,168,0.12) !important;
  border: 1px solid rgba(248,168,168,0.25) !important;
  border-radius: 10px;
  color: rgba(255,255,255,0.8) !important;
  padding: 12px 20px;
  margin: 0 16px 20px;
  font-size: 0.85rem;
}
.view-product.layout-show .alert .btn-close,
.view-product.layout-show .alert button {
  filter: invert(1) brightness(2);
}

/* --- Product Top Part (Name) --- */
.view-product.layout-show .hikashop_product_top_part {
  padding: 0 16px 16px;
}
.view-product.layout-show .hikashop_product_name_main {
  font-family: 'DM Sans', system-ui, sans-serif !important;
  font-size: 1.6rem !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  line-height: 1.35;
  letter-spacing: -0.01em;
}

/* --- Product Layout (2-column) --- */
.view-product.layout-show .hikashop_product_page .hk-row-fluid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 32px !important;
  padding: 0 16px;
  align-items: start;
}
.view-product.layout-show .hikashop_product_left_part,
.view-product.layout-show .hikashop_product_right_part {
  grid-column: span 1 !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
}

/* --- Product Image Area (Glassmorphism Card) --- */
.view-product.layout-show .hikashop_product_left_part {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 16px;
  overflow: hidden;
  backdrop-filter: blur(8px);
  position: relative;
}
.view-product.layout-show #hikashop_product_image_main {
  background: linear-gradient(135deg, rgba(255,255,255,0.96), rgba(245,248,252,0.96)) !important;
  padding: 32px !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 400px;
  position: relative;
}
.view-product.layout-show .hikashop_main_image_div {
  width: 100% !important;
  position: relative;
}
.view-product.layout-show .hikashop_main_image_div img {
  max-height: 520px !important;
  max-width: 100% !important;
  object-fit: contain;
  border-radius: 8px;
  cursor: zoom-in;
  transition: transform 0.3s ease;
}

/* --- Gallery thumb container needs position:relative for arrow positioning --- */
#hikashop_image_main_thumb_div {
  position: relative !important;
}

/* --- HikaShop Gallery Arrows — styled for EJRange --- */
/* Hide ALL non-active arrows (HikaShop creates one per image) */
.view-product.layout-show .hikashop_slide_prev:not(.hikashop_slide_prev_active),
.view-product.layout-show .hikashop_slide_next:not(.hikashop_slide_next_active) {
  display: none !important;
}
/* Style only the active arrows */
.view-product.layout-show .hikashop_slide_prev_active,
.view-product.layout-show .hikashop_slide_next_active {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 40px !important;
  height: 40px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(26,58,92,0.75) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 50% !important;
  font-size: 1.4rem !important;
  line-height: 1 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  z-index: 10 !important;
  transition: all 0.2s ease !important;
  backdrop-filter: blur(4px) !important;
  opacity: 0.85 !important;
}
.view-product.layout-show .hikashop_slide_prev_active:hover,
.view-product.layout-show .hikashop_slide_next_active:hover {
  background: rgba(26,58,92,0.95) !important;
  opacity: 1 !important;
  transform: translateY(-50%) scale(1.05) !important;
}
.view-product.layout-show .hikashop_slide_prev_active {
  left: 8px !important;
}
.view-product.layout-show .hikashop_slide_next_active {
  right: 8px !important;
}

/* --- Custom Gallery Arrows (from ej-cleanup.js) --- */
.ej-gallery-arrow {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 44px !important;
  height: 44px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(10,22,40,0.7) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,0.2) !important;
  border-radius: 50% !important;
  font-size: 1.8rem !important;
  line-height: 1;
  text-decoration: none !important;
  cursor: pointer !important;
  z-index: 10 !important;
  transition: all 0.2s ease !important;
  backdrop-filter: blur(6px);
  padding: 0;
  outline: none;
}
.ej-gallery-prev {
  left: 12px !important;
}
.ej-gallery-next {
  right: 12px !important;
}
.ej-gallery-arrow:hover {
  background: rgba(23,74,156,0.8) !important;
  border-color: rgba(255,255,255,0.4) !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.3) !important;
}

/* --- Image Zoom Icon Overlay --- */
.view-product.layout-show .hikashop_main_image_div::after {
  content: '\1F50D';
  position: absolute;
  top: 12px;
  right: 12px;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(10,22,40,0.6);
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: 50%;
  font-size: 1rem;
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
  z-index: 3;
}
.view-product.layout-show .hikashop_main_image_div:hover::after {
  opacity: 1;
}

/* --- Main image area: clip overflow so image doesn't cover thumbnails --- */
.view-product.layout-show .hikashop_product_main_image {
  overflow: hidden !important;
  position: relative;
}

/* --- Thumbnails with horizontal scroll carousel --- */
.view-product.layout-show .hikashop_small_image_div {
  position: relative !important;
  z-index: 6 !important;
  padding: 12px 16px !important;
  display: flex !important;
  gap: 8px;
  flex-wrap: nowrap !important;
  overflow-x: auto;
  overflow-y: hidden;
  background: rgba(10,22,40,0.6);
  border-top: 1px solid rgba(255,255,255,0.06);
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
}
.view-product.layout-show .hikashop_small_image_div::-webkit-scrollbar {
  height: 4px;
}
.view-product.layout-show .hikashop_small_image_div::-webkit-scrollbar-track {
  background: transparent;
}
.view-product.layout-show .hikashop_small_image_div::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,0.2);
  border-radius: 4px;
}
.view-product.layout-show .hikashop_small_image_div img {
  width: 72px !important;
  height: 72px !important;
  min-width: 72px;
  object-fit: cover;
  border-radius: 8px;
  border: 2px solid rgba(255,255,255,0.15);
  cursor: pointer;
  transition: all 0.2s ease;
  background: #fff;
}
.view-product.layout-show .hikashop_small_image_div img:hover,
.view-product.layout-show .hikashop_small_image_div .selected img {
  border-color: #f8a8a8;
  box-shadow: 0 0 12px rgba(248,168,168,0.4);
  transform: scale(1.05);
}

/* --- Right Side: Product Details Card --- */
.view-product.layout-show .hikashop_product_right_part {
  background: #ffffff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 16px;
  padding: 28px !important;
  backdrop-filter: none !important;
}

/* --- Price --- */
.view-product.layout-show .hikashop_product_price_main {
  display: block !important;
  margin-bottom: 20px;
}
.view-product.layout-show .hikashop_product_price_main .hikashop_product_price {
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 2rem !important;
  font-weight: 700 !important;
  color: #D32F2F !important;
  text-shadow: none !important;
}
.view-product.layout-show .hikashop_product_price_main .hikashop_product_price_per_unit {
  font-size: 0.85rem;
  color: #6b7280 !important;
  margin-left: 4px;
}

/* --- Characteristics / Variants — hide original radios when dropdown injected --- */
.view-product.layout-show .hikashop_product_characteristics {
  margin-bottom: 20px;
}
.view-product.layout-show .hikashop_product_characteristics table {
  width: 100%;
}
.view-product.layout-show .hikashop_product_characteristics td {
  color: #374151 !important;
  padding: 8px 0 !important;
  font-size: 0.9rem;
  vertical-align: middle;
}
/* Style the "Labels Per Sheet" heading */
.view-product.layout-show .hikashop_product_characteristics .hikashop_product_characteristic_name {
  color: #1A3A5C !important;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  white-space: nowrap;
  padding-right: 16px !important;
}
/* Hide original radio buttons + labels when JS dropdown exists */
.view-product.layout-show .hikashop_product_characteristics .ej-has-dropdown input[type="radio"],
.view-product.layout-show .hikashop_product_characteristics .ej-has-dropdown label {
  display: none !important;
}
/* Style the JS-injected dropdown */
.view-product.layout-show .ej-char-dropdown {
  width: 100%;
  padding: 12px 16px;
  background: #fafafa !important;
  border: 1.5px solid #d1d5db !important;
  border-radius: 10px;
  color: #374151 !important;
  font-size: 0.95rem;
  font-family: 'DM Sans', system-ui, sans-serif;
  font-weight: 500;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23374151' stroke-width='2' fill='none'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  transition: all 0.2s ease;
}
.view-product.layout-show .ej-char-dropdown:hover,
.view-product.layout-show .ej-char-dropdown:focus {
  border-color: #1a4fa0 !important;
  background-color: #fff !important;
  outline: none;
}
.view-product.layout-show .ej-char-dropdown option {
  background: #fff !important;
  color: #374151 !important;
  padding: 8px;
}
/* Fallback — keep radio chip styling if JS doesn't load */
.view-product.layout-show .hikashop_product_characteristics label {
  color: #374151 !important;
  font-size: 0.88rem;
  cursor: pointer;
  padding: 6px 12px;
  border: 1px solid #d1d5db !important;
  border-radius: 8px;
  display: inline-block;
  margin: 3px 4px;
  transition: all 0.2s ease;
  background: #f3f4f6 !important;
}
.view-product.layout-show .hikashop_product_characteristics label:hover {
  border-color: #1a4fa0 !important; color: #fff !important;
  background: rgba(248,168,168,0.08);
}
.view-product.layout-show .hikashop_product_characteristics input[type="radio"]:checked + label,
.view-product.layout-show .hikashop_product_characteristics input[type="radio"]:checked ~ label {
  border-color: #f8a8a8;
  background: rgba(248,168,168,0.15);
  color: #fff !important;
}

/* --- Stock Status --- */
.view-product.layout-show .hikashop_product_stock_count,
.view-product.layout-show .hikashop_product_stock {
  color: #69db7c !important;
  font-size: 0.85rem;
  font-weight: 500;
  margin-bottom: 16px;
}

/* --- Quantity Input --- */
/* --- Quantity + Cart — inline layout like WooCommerce --- */
.view-product.layout-show .hikashop_product_quantity_main {
  display: flex !important;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.view-product.layout-show .hikashop_quantity_form {
  display: flex !important;
  align-items: center;
  gap: 12px;
  width: 100%;
}
.view-product.layout-show .hikashop_product_quantity_div {
  margin-bottom: 0 !important;
  display: inline-flex !important;
  align-items: center;
  gap: 0;
  flex-shrink: 0;
}
.view-product.layout-show .hikashop_product_quantity_div input[type="text"],
.view-product.layout-show .hikashop_product_quantity_div input[type="number"] {
  background: #fff !important;
  border: 1.5px solid #d1d5db !important;
  border-radius: 0;
  border-left: none !important;
  border-right: none !important;
  color: #374151 !important;
  font-size: 1rem;
  text-align: center;
  width: 50px;
  height: 48px;
  padding: 0;
  font-weight: 600;
}
.view-product.layout-show .hikashop_product_quantity_div .hikashop_product_quantity_change_div_default {
  display: contents !important;
}
.view-product.layout-show .hikashop_product_quantity_div .hikashop_product_quantity_change_div_default a {
  background: #fafafa !important;
  border: 1.5px solid #d1d5db !important;
  color: #374151 !important;
  width: 40px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-weight: 700;
  font-size: 1.1rem;
  transition: all 0.2s ease;
}
.view-product.layout-show .hikashop_product_quantity_div .hikashop_product_quantity_change_div_default a:first-child {
  border-radius: 10px 0 0 10px;
}
.view-product.layout-show .hikashop_product_quantity_div .hikashop_product_quantity_change_div_default a:last-child {
  border-radius: 0 10px 10px 0;
}
.view-product.layout-show .hikashop_product_quantity_div .hikashop_product_quantity_change_div_default a:hover {
  background: #1a4fa0 !important;
  border-color: #1a4fa0 !important; color: #fff !important;
}

/* --- Add to Cart Button — inline with quantity --- */
.view-product.layout-show button.hikabtn.hikacart,
.view-product.layout-show .hikashop_cart_input_button,
.view-product.layout-show input.hikabtn.hikacart {
  display: flex !important;
  flex: 1 !important;
  min-width: 0;
  padding: 14px 28px !important;
  background: var(--ej-cta) !important;
  color: #fff !important;
  border: 2px solid var(--ej-cta) !important;
  border-radius: var(--ej-radius) !important;
  font-family: 'DM Sans', system-ui, sans-serif !important;
  font-weight: 700 !important;
  font-size: 1.1rem !important;
  text-align: center !important;
  cursor: pointer;
  transition: all 0.22s ease !important;
  letter-spacing: 0.04em;
  box-shadow: 0 4px 18px rgba(204,0,0,.35), 0 1px 4px rgba(0,0,0,.2);
  margin-top: 8px;
}
.view-product.layout-show button.hikabtn.hikacart:hover,
.view-product.layout-show .hikashop_cart_input_button:hover,
.view-product.layout-show input.hikabtn.hikacart:hover {
  background: var(--ej-cta-hover) !important;
  border-color: var(--ej-cta-hover) !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(204,0,0,.48), 0 2px 8px rgba(0,0,0,.22) !important;
}

/* --- Hide original +/- buttons when JS has rearranged them --- */
.view-product.layout-show .hikashop_product_quantity_change_div_default.ej-qty-hidden {
  display: none !important;
}
/* Style the JS-created quantity wrapper [-] [1] [+] */
.view-product.layout-show .ej-qty-wrapper {
  display: inline-flex !important;
  align-items: center;
}
.view-product.layout-show .ej-qty-wrapper a {
  background: #fafafa !important;
  border: 1.5px solid #d1d5db !important;
  color: #fff !important;
  width: 40px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-weight: 700;
  font-size: 1.1rem;
  transition: all 0.2s ease;
}
.view-product.layout-show .ej-qty-wrapper a:first-child {
  border-radius: 10px 0 0 10px;
}
.view-product.layout-show .ej-qty-wrapper a:last-child {
  border-radius: 0 10px 10px 0;
}
.view-product.layout-show .ej-qty-wrapper a:hover {
  background: #1a4fa0 !important;
  border-color: #1a4fa0 !important; color: #fff !important;
}

/* --- Hide HikaShop variant warning banner --- */
.view-product.layout-show .alert.alert-info,
.view-product.layout-show .hikashop_product_page > .alert {
  display: none !important;
}

/* --- Fix Quantity Input Layout (inline with +/- buttons) --- */
.view-product.layout-show .hikashop_product_quantity_input_div_default_main {
  display: flex !important;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
}
.view-product.layout-show .hikashop_product_quantity_input_div_default {
  display: inline-flex !important;
  align-items: center;
}
.view-product.layout-show .hikashop_product_quantity_change_div_default {
  display: inline-flex !important;
  flex-direction: row !important;
  gap: 4px;
}
.view-product.layout-show .hikashop_product_quantity_change_div_default a {
  width: 36px !important;
  height: 36px !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,0.1) !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  border-radius: 8px;
  color: #fff !important;
  text-decoration: none;
  font-weight: 700;
  font-size: 1rem;
  transition: all 0.2s ease;
}
.view-product.layout-show .hikashop_product_quantity_change_div_default a:hover {
  background: rgba(248,168,168,0.2) !important;
  border-color: rgba(248,168,168,0.4) !important;
}
.view-product.layout-show .hikashop_product_quantity_field {
  width: 56px !important;
  height: 40px !important;
  text-align: center;
  background: rgba(255,255,255,0.08) !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  border-radius: 8px;
  color: #fff !important;
  font-size: 1rem;
  font-weight: 600;
}

/* --- Hide stray BR tags in right part --- */
.view-product.layout-show .hikashop_product_right_part > br {
  display: none !important;
}

/* --- Product Description Section --- */
.view-product.layout-show .hikashop_product_description_main {
  background: #fff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 20px;
  padding: 40px !important;
  margin: 36px 16px !important;
  color: #374151 !important;
  line-height: 1.8;
  backdrop-filter: none !important;
  font-size: 1rem;
  font-weight: 400;
  font-family: 'DM Sans', system-ui, -apple-system, sans-serif;
  box-shadow: 0 8px 32px rgba(0,0,0,0.15);
}
/* Remove outer wrapper border/background from WYSIWYG div */
.view-product.layout-show .hikashop_product_description_main > div[style*="border"]:first-child {
  background: transparent !important;
  border: none !important;
  border-color: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  max-width: 100% !important;
  box-shadow: none !important;
}

/* --- Main H1 title --- */
.view-product.layout-show .hikashop_product_description_main h1 {
  color: #1A3A5C !important;
  font-family: 'DM Sans', system-ui, sans-serif;
  font-weight: 900 !important;
  font-size: 2.4rem !important;
  line-height: 1.15 !important;
  margin: 0 0 10px !important;
  letter-spacing: -0.03em;
  text-shadow: 0 2px 8px rgba(0,0,0,0.15);
}
/* --- Section headings (h2/h3/h4) --- */
.view-product.layout-show .hikashop_product_description_main h2,
.view-product.layout-show .hikashop_product_description_main h3,
.view-product.layout-show .hikashop_product_description_main h4 {
  color: #1A3A5C !important;
  font-family: 'DM Sans', system-ui, sans-serif;
  font-weight: 800 !important;
  margin-top: 24px !important;
  margin-bottom: 14px !important;
  font-size: 1.4rem !important;
  line-height: 1.3 !important;
  letter-spacing: -0.01em;
  text-shadow: 0 1px 4px rgba(0,0,0,0.1);
}
.view-product.layout-show .hikashop_product_description_main h2:first-child,
.view-product.layout-show .hikashop_product_description_main h3:first-child {
  margin-top: 0 !important;
}

/* --- Blue accent divider bar (from inline 4px height div) --- */
.view-product.layout-show .hikashop_product_description_main div[style*="height: 4px"] {
  background: linear-gradient(90deg, #174A9C, #5b9cf5, transparent) !important;
  height: 3px !important;
  border-radius: 4px !important;
  margin: 12px 0 20px !important;
}

/* --- Paragraphs --- */
.view-product.layout-show .hikashop_product_description_main p {
  color: #374151 !important;
  margin-bottom: 14px !important;
  font-weight: 400 !important;
  font-size: 1rem !important;
  line-height: 1.8 !important;
}

/* --- Links --- */
.view-product.layout-show .hikashop_product_description_main a {
  color: #1a4fa0 !important;
  font-weight: 500;
  text-decoration: none;
  transition: color 0.2s ease;
}
.view-product.layout-show .hikashop_product_description_main a:hover {
  color: #1A3A5C !important;
  text-decoration: underline;
}

/* --- HR dividers --- */
.view-product.layout-show .hikashop_product_description_main hr {
  border: none !important;
  height: 2px !important;
  background: #e5e7eb !important;
  margin: 20px 0 24px !important;
  border-radius: 2px;
}

/* --- Lists --- */
.view-product.layout-show .hikashop_product_description_main ul,
.view-product.layout-show .hikashop_product_description_main ol {
  color: #374151 !important;
  padding-left: 20px !important;
  margin: 0 !important;
}
.view-product.layout-show .hikashop_product_description_main li {
  margin-bottom: 8px !important;
  color: #374151 !important;
  line-height: 1.7 !important;
  font-size: 1rem !important;
}
.view-product.layout-show .hikashop_product_description_main li::marker {
  color: #5b9cf5 !important;
}

/* --- Default text color for all description elements --- */
.view-product.layout-show .hikashop_product_description_main * {
  color: #374151 !important;
}
/* Re-assert heading brightness */
.view-product.layout-show .hikashop_product_description_main h1 *,
.view-product.layout-show .hikashop_product_description_main h2 *,
.view-product.layout-show .hikashop_product_description_main h3 * {
  color: #1A3A5C !important;
}
/* Links keep their own colour */
.view-product.layout-show .hikashop_product_description_main a,
.view-product.layout-show .hikashop_product_description_main a * {
  color: #1a4fa0 !important;
}
/* Override inline dark text and white backgrounds on generic content divs */
.view-product.layout-show .hikashop_product_description_main div[style*="color: rgb(17"],
.view-product.layout-show .hikashop_product_description_main div[style*="color:#111"],
.view-product.layout-show .hikashop_product_description_main div[style*="color: #111"],
.view-product.layout-show .hikashop_product_description_main div[style*="color: #000"],
.view-product.layout-show .hikashop_product_description_main div[style*="color:#000"],
.view-product.layout-show .hikashop_product_description_main span[style*="color"],
.view-product.layout-show .hikashop_product_description_main font,
.view-product.layout-show .hikashop_product_description_main font[color] {
  color: #374151 !important;
}
.view-product.layout-show .hikashop_product_description_main strong,
.view-product.layout-show .hikashop_product_description_main b {
  color: #1A3A5C !important;
  font-weight: 700;
}

/* =============================================
   Trust Badges — premium dark glass cards
   ============================================= */
.view-product.layout-show .hikashop_product_description_main div[style*="display: flex"][style*="gap: 12px"] {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  margin: 20px 0 !important;
}
.view-product.layout-show .hikashop_product_description_main div[style*="border-radius: 14px"][style*="border: 1px"] {
  background: #f0f4ff !important;
  border: 1px solid #d1d5db !important;
  border-radius: 12px !important;
  color: #374151 !important;
  padding: 14px 16px !important;
  font-weight: 700 !important;
  font-size: 0.92rem !important;
  backdrop-filter: blur(8px);
  text-align: center;
  transition: all 0.2s ease;
  min-width: 0 !important;
}
.view-product.layout-show .hikashop_product_description_main div[style*="border-radius: 14px"][style*="border: 1px"]:hover {
  background: rgba(23,74,156,0.22) !important;
  border-color: rgba(91,156,245,0.35) !important;
}

/* =============================================
   UK Delivery Banner — accent highlight
   ============================================= */
.view-product.layout-show .hikashop_product_description_main div[style*="background: #F3F7FF"],
.view-product.layout-show .hikashop_product_description_main div[style*="background:#F3F7FF"],
.view-product.layout-show .hikashop_product_description_main div[style*="CFE0FF"] {
  background: #F3F7FF !important;
  border: 1px solid #BFDBFE !important;
  border-radius: 12px !important;
  color: #1A3A5C !important;
  padding: 14px 18px !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  text-align: center;
}

/* =============================================
   Description images — rounded with subtle glow
   ============================================= */
.view-product.layout-show .hikashop_product_description_main div[style*="overflow: hidden"][style*="border: 1px"] {
  border-color: rgba(255,255,255,0.1) !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.25);
}
.view-product.layout-show .hikashop_product_description_main img {
  border-radius: 12px;
  max-width: 100%;
  height: auto;
}

/* =============================================
   "Why choose" / "Perfect for" info cards
   ============================================= */
.view-product.layout-show .hikashop_product_description_main div[style*="display: flex"][style*="gap: 20px"] {
  display: flex !important;
  gap: 20px !important;
  flex-wrap: wrap !important;
}
.view-product.layout-show .hikashop_product_description_main div[style*="border-radius: 16px"][style*="flex: 1"] {
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  border-radius: 16px !important;
  padding: 24px !important;
  color: #374151 !important;
  min-width: 280px !important;
}

/* =============================================
   Template Builder CTA box — branded accent
   ============================================= */
.view-product.layout-show .hikashop_product_description_main div[style*="background: #0A2F75"],
.view-product.layout-show .hikashop_product_description_main div[style*="background:#0A2F75"] {
  background: linear-gradient(135deg, #174A9C, #0d2a5e) !important;
  border: 1px solid rgba(91,156,245,0.25) !important;
  border-radius: 14px !important;
  padding: 22px !important;
  box-shadow: 0 4px 20px rgba(23,74,156,0.3);
}
.view-product.layout-show .hikashop_product_description_main div[style*="background: #0A2F75"] *,
.view-product.layout-show .hikashop_product_description_main div[style*="background:#0A2F75"] * {
  color: #ffffff !important;
}
/* CTA button */
.view-product.layout-show .hikashop_product_description_main a[style*="border-radius"][style*="background"] {
  background: #ffffff !important;
  color: #0a2f75 !important;
  font-weight: 800 !important;
  border-radius: 12px !important;
  padding: 0 24px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  transition: all 0.25s ease;
  box-shadow: 0 2px 12px rgba(0,0,0,0.2);
  letter-spacing: 0.01em;
}
.view-product.layout-show .hikashop_product_description_main a[style*="border-radius"][style*="background"]:hover {
  background: #e8f0fe !important;
  box-shadow: 0 4px 20px rgba(23,74,156,0.4) !important;
  transform: translateY(-1px);
}
/* Make sure CTA button text is dark */
.view-product.layout-show .hikashop_product_description_main a[style*="border-radius"][style*="background"],
.view-product.layout-show .hikashop_product_description_main a[style*="border-radius"][style*="background"] * {
  color: #0a2f75 !important;
}

/* =============================================
   Product Details specs box
   ============================================= */
.view-product.layout-show .hikashop_product_description_main div[style*="background: #F8F8F8"],
.view-product.layout-show .hikashop_product_description_main div[style*="background:#F8F8F8"],
.view-product.layout-show .hikashop_product_description_main div[style*="border-radius: 16px"][style*="border: 1px solid #e6e6e6"] {
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  border-radius: 14px !important;
  padding: 22px 24px !important;
}

/* =============================================
   Nuclear fallbacks for inline backgrounds
   ============================================= */
.view-product.layout-show .hikashop_product_description_main div[style*="background: rgb(255, 255, 255)"],
.view-product.layout-show .hikashop_product_description_main div[style*="background: white"],
.view-product.layout-show .hikashop_product_description_main div[style*="background:#fff"],
.view-product.layout-show .hikashop_product_description_main div[style*="background: #fff"],
.view-product.layout-show .hikashop_product_description_main div[style*="background: #ffffff"],
.view-product.layout-show .hikashop_product_description_main div[style*="background: #FFFFFF"],
.view-product.layout-show .hikashop_product_description_main div[style*="background:#ffffff"],
.view-product.layout-show .hikashop_product_description_main div[style*="background:#FFFFFF"] {
  background: transparent !important;
  border-color: rgba(255,255,255,0.1) !important;
  color: #374151 !important;
}

/* Override inline font-size that might be too small (except headings) */
.view-product.layout-show .hikashop_product_description_main *[style*="font-size"]:not(h1):not(h2):not(h3):not(h4) {
  font-size: inherit !important;
}

/* --- Related Products Section on Product Detail Page --- */
.view-product.layout-show .hikashop_submodules,
.view-product.layout-show .hikashop_module {
  padding: 0 16px;
  margin-top: 32px;
}
.view-product.layout-show .hikashop_submodules h2,
.view-product.layout-show .hikashop_module h2 {
  color: #ffffff !important;
  font-family: 'DM Sans', system-ui, sans-serif;
  font-weight: 700;
  font-size: 1.5rem;
  margin-bottom: 24px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
/* Related products grid */
.view-product.layout-show .hikashop_module .hk-row-fluid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
}
.view-product.layout-show .hikashop_module .hk-row-fluid > [class*="hkc-"] {
  grid-column: span 1 !important;
  width: 100% !important;
  max-width: 100% !important;
}
/* Related product cards — dark glassmorphism */
.view-product.layout-show .hikashop_module .hikashop_product {
  border: 1px solid rgba(255,255,255,0.1) !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,0.06) !important;
  backdrop-filter: blur(12px);
  overflow: hidden;
  transition: all 0.3s ease;
}
.view-product.layout-show .hikashop_module .hikashop_product:hover {
  border-color: rgba(248,168,168,0.3) !important;
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(0,0,0,0.3);
}
.view-product.layout-show .hikashop_module .hikashop_container,
.view-product.layout-show .hikashop_module .hikashop_subcontainer {
  background: transparent !important;
}
/* Related product images — white background for product photos */
.view-product.layout-show .hikashop_module .hikashop_product_image {
  background: linear-gradient(135deg, rgba(255,255,255,0.95), rgba(245,248,252,0.95)) !important;
  padding: 20px !important;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 200px;
}
.view-product.layout-show .hikashop_module .hikashop_product_image img {
  max-height: 180px !important;
  object-fit: contain;
  mix-blend-mode: multiply;
}
/* Related product name */
.view-product.layout-show .hikashop_module .hikashop_product_name {
  padding: 14px 16px 6px !important;
}
.view-product.layout-show .hikashop_module .hikashop_product_name a {
  color: #ffffff !important;
  text-decoration: none;
  font-family: 'DM Sans', system-ui, sans-serif;
  font-weight: 600;
  font-size: 0.9rem;
  line-height: 1.4;
}
.view-product.layout-show .hikashop_module .hikashop_product_name a:hover {
  color: #f8a8a8 !important;
}
/* Related product price */
.view-product.layout-show .hikashop_module .hikashop_product_price_full {
  padding: 0 16px 8px !important;
}
.view-product.layout-show .hikashop_module .hikashop_product_price {
  color: #f8a8a8 !important;
  font-family: 'DM Sans', system-ui, sans-serif;
  font-weight: 700;
  font-size: 1.2rem;
}
.view-product.layout-show .hikashop_module .hikashop_product_price_per_unit {
  color: rgba(255,255,255,0.5) !important;
  font-size: 0.8rem;
}
/* Related product add-to-cart button */
.view-product.layout-show .hikashop_module .hikashop_cart_button_area {
  padding: 8px 16px 16px !important;
}
.view-product.layout-show .hikashop_module button.hikacart,
.view-product.layout-show .hikashop_module .hikashop_cart_input_button {
  width: 100% !important;
  padding: 12px 20px !important;
  background: var(--ej-cta) !important;
  color: #fff !important;
  border: 2px solid var(--ej-cta) !important;
  border-radius: var(--ej-radius) !important;
  font-family: 'DM Sans', system-ui, sans-serif !important;
  font-weight: 600 !important;
  font-size: 0.9rem !important;
  cursor: pointer;
  transition: all 0.22s ease !important;
  box-shadow: 0 4px 16px rgba(204,0,0,.3);
}
.view-product.layout-show .hikashop_module button.hikacart:hover,
.view-product.layout-show .hikashop_module .hikashop_cart_input_button:hover {
  background: var(--ej-cta-hover) !important;
  border-color: var(--ej-cta-hover) !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(204,0,0,.4) !important;
}

/* --- Footer on Product Detail Pages --- */
.view-product.layout-show footer {
  position: relative;
  z-index: 1;
  border-top: 1px solid rgba(255,255,255,0.08);
}

/* --- Back to Top on Dark Pages --- */
.view-product.layout-show a.back-to-top-link {
  color: rgba(255,255,255,0.6);
}


/* Stock count — hide on listings, show on product page */
.hikashop_product_stock_count {
  padding: 0 16px 4px;
  font-size: 0.78rem;
  color: var(--ej-success);
  font-weight: 500;
}
.hikashop_listing_img_title .hikashop_product_stock_count,
.hikashop_listing_img_title .hikashop_product_stock_div {
  display: none;
}

/* Hide HikaShop inline styles that break the layout */
.hikashop_products_listing .hikashop_subcontainer {
  background: transparent !important;
  border-radius: 0 !important;
}
.hikashop_products_listing .hikashop_container {
  margin: 0 !important;
}

/* Product card consistent structure */
.hikashop_product .hikashop_container,
.hikashop_product .hikashop_subcontainer {
  height: 100%;
}
.hikashop_product .hikashop_subcontainer .hikashop_listing_img_title {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.hikashop_listing_img_title .hikashop_product_image {
  flex-shrink: 0;
}
.hikashop_listing_img_title .hikashop_product_name,
.hikashop_listing_img_title .hikashop_product_price_full {
  flex-shrink: 0;
}

/* "Add to cart" button full width in listing */
.hikashop_listing_img_title button.hikacart {
  width: 100%;
  padding: 10px 16px;
  background: var(--ej-cta) !important;
  color: #fff !important;
  border: none;
  border-radius: var(--ej-radius) !important;
  font-family: 'DM Sans', system-ui, sans-serif;
  font-weight: 600;
  font-size: 0.9rem;
  cursor: pointer;
  transition: var(--ej-transition);
}
.hikashop_listing_img_title button.hikacart:hover {
  background: var(--ej-cta-hover) !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(204,0,0,.3);
}

/* ============================================================
   CATEGORY LISTING PAGES — Global fixes (Mailing Bags, Notebooks, Diaries)
   ============================================================ */

/* Hide HikaShop variant characteristic warning on all product pages */
.view-product .hikashop_product_page .alert-info,
.view-product .hikashop_product_page .hikashop_product_characteristic_warning,
.view-product .com_hikashop .alert-info {
  display: none !important;
}

/* Listing page breadcrumb — category pages (Mailing Bags, Notebooks, Diaries) */
.view-product.layout-listing .page-header,
.view-product.task-listing .page-header {
  display: none !important;
}

.view-product.layout-listing .page-header h1,
.view-product.layout-listing .page-header h2 {
  color: #ffffff !important;
  font-family: 'DM Sans', system-ui, sans-serif !important;
  font-weight: 800 !important;
  font-size: 2.2rem !important;
  letter-spacing: -0.03em !important;
  text-shadow: 0 2px 8px rgba(0,0,0,0.15) !important;
  margin: 0 !important;
}

/* Category listing header — ensure header matches vibrant blue */
.view-product.layout-listing header,
.view-category.layout-listing header {
  background: linear-gradient(180deg, #0f2a47, #1A3A5C) !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.2);
  border-bottom: 1px solid rgba(255,255,255,0.06);
  position: relative;
  z-index: 10;
}

/* Ensure category pages also get the background radial overlays */
.view-product.layout-listing::before,
.view-product.task-listing::before {
  content: '';
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background:
    radial-gradient(ellipse 700px 500px at 15% 20%, rgba(30,99,198,0.15), transparent),
    radial-gradient(ellipse 600px 400px at 85% 60%, rgba(23,74,156,0.12), transparent),
    radial-gradient(ellipse 400px 300px at 50% 90%, rgba(248,168,168,0.05), transparent);
  pointer-events: none;
  z-index: 0;
}

/* Ensure listing page main content is above the overlay */
.view-product.layout-listing main,
.view-product.task-listing main {
  position: relative;
  z-index: 1;
}

/* Product show pages — also apply header styling */
.view-product.layout-show header,
.view-product.task-show header {
  background: linear-gradient(180deg, #0f2a47, #1A3A5C) !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.2);
  border-bottom: 1px solid rgba(255,255,255,0.06);
  position: relative;
  z-index: 10;
}


/* Hide HikaShop variant warning — targets Joomla 5 custom element */
/* Only hide info alerts on product pages (variant warnings), not checkout/order pages */
body.view-product joomla-alert[type="info"] {
  display: none !important;
}

/* ── Contact Us page (itemid-116) ── */
body.itemid-116 {
  background: #1E4D73 !important;
}
.itemid-116 .site-grid {
  background: #1E4D73;
}
.itemid-116 .container-component {
  background: #1E4D73;
  padding-bottom: 60px;
}
.itemid-116 .container-component .com-content-article {
  max-width: 780px;
  margin: 0 auto;
  padding: 40px 20px 0;
}
.itemid-116 .page-header,
.itemid-116 .page-header h1 {
  text-align: center;
  color: #93c5fd;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 2.2rem;
  font-weight: 700;
  margin-bottom: 4px;
  border: none;
  padding-top: 20px;
}
.itemid-116 .mod-breadcrumbs__wrapper {
  display: none;
}
/* Contact form focus overrides — must beat global input:focus rules */
.itemid-116 .ej-contact-form input:focus,
.itemid-116 .ej-contact-form textarea:focus,
.itemid-116 .ej-contact-form .ej-email-input:focus {
  border-color: #f8a8a8 !important;
  box-shadow: 0 0 0 3px rgba(248,168,168,.25), 0 0 16px rgba(248,168,168,.1) !important;
  outline: none !important;
  background: rgba(0,0,0,.3) !important;
}
.itemid-116 .ej-contact-form input:focus-visible,
.itemid-116 .ej-contact-form textarea:focus-visible,
.itemid-116 .ej-contact-form .ej-email-input:focus-visible {
  outline: none !important;
}
.itemid-116 .container-footer {
  margin-top: 0 !important;
}

/* ========== Template Builder Page ========== */
.item-page .template-builder-page { max-width: 1200px; margin: 0 auto; }
body:has(.template-builder-page) .container-component { background: transparent !important; }
body:has(.template-builder-page) .item-page > * { max-width: 100%; }
body:has(.template-builder-page) nav[aria-label="Breadcrumbs"] { display: none !important; }
body:has(.template-builder-page) .page-header { display: none !important; }

/* Breadcrumb separator styling */
.view-product.layout-listing nav[aria-label="Breadcrumbs"] .breadcrumb-item + .breadcrumb-item::before {
  color: rgba(255,255,255,0.25) !important;
  content: "›" !important;
  font-size: 0.9rem;
  padding-right: 0.5rem;
}
/* Hide separator before page title since it's visually distinct */
.view-product.layout-listing nav[aria-label="Breadcrumbs"] .breadcrumb-item.active::before {
  display: none !important;
}

/* ===========================================
   "From £X.XX" price display for variant products
   =========================================== */
.ej-from-price {
  display: inline-flex !important;
  align-items: baseline;
  gap: 8px;
}
.ej-from-price .ej-from-label {
  font-size: 0.85rem;
  font-weight: 500;
  color: rgba(255,255,255,0.55);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.ej-from-price .hikashop_product_price {
  font-size: 1.6rem !important;
  font-weight: 700 !important;
  color: #ffffff !important;
}

/* Hide the "add to cart will appear after selection" text - restyle it */
#hikashop_product_quantity_alt {
  font-size: 0.85rem !important;
  color: rgba(255,255,255,0.45) !important;
  font-style: italic;
  padding: 8px 0 !important;
  border: none !important;
  background: none !important;
}

/* ============================================================
   CHECKOUT STEP 2 — ENHANCED STYLING (2026-03-09)
   ============================================================ */

/* --- Step 2: Give each section a white card container --- */
.hikashop_checkout_page_step2 .hikashop_checkout_login,
.hikashop_checkout_page_step2 .hikashop_checkout_address,
.hikashop_checkout_page_step2 .hikashop_checkout_shipping,
.hikashop_checkout_page_step2 .hikashop_checkout_payment,
.hikashop_checkout_page_step2 .hikashop_checkout_fields {
  background: #fff;
  border: 1px solid var(--ej-border);
  border-radius: var(--ej-radius-lg);
  padding: 28px 32px;
  margin-bottom: 24px;
  box-shadow: var(--ej-shadow);
}

/* --- Login Block: Better heading & layout --- */
.hikashop_checkout_login h2,
.hikashop_checkout_login > legend,
.hikashop_checkout_login > div > h2 {
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 1.2rem !important;
  font-weight: 700;
  color: var(--ej-text-heading);
  margin: 0 0 20px 0 !important;
  padding-bottom: 14px;
  border-bottom: 2px solid var(--ej-bg-light);
}
.hikashop_checkout_login h3 {
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--ej-text-heading);
  margin: 0 0 16px 0;
}
/* Login left/right columns */
.hikashop_checkout_login .hikashop_checkout_login_left_part {
  padding-right: 24px;
  border-right: 1px solid var(--ej-border);
}
.hikashop_checkout_login .hikashop_checkout_login_right_part {
  padding-left: 24px;
}
/* Login/Forgot links */
.hikashop_checkout_login a {
  color: var(--ej-primary);
  font-size: 0.9rem;
  text-decoration: none;
}
.hikashop_checkout_login a:hover {
  text-decoration: underline;
}
/* Login button styling */
.hikashop_checkout_login .btn,
.hikashop_checkout_login button.btn {
  background: var(--ej-primary) !important;
  color: #fff !important;
  padding: 10px 28px;
  border: none;
  border-radius: var(--ej-radius);
  font-weight: 600;
  font-size: 0.95rem;
  cursor: pointer;
  transition: var(--ej-transition);
}
.hikashop_checkout_login .btn:hover,
.hikashop_checkout_login button.btn:hover {
  background: var(--ej-primary-dark) !important;
}
/* Passkey button */
.hikashop_checkout_login .plg_system_webauthn_login_button {
  margin-top: 12px;
}

/* --- Address Block: Section heading --- */
.hikashop_checkout_address::before {
  content: "Billing Address";
  display: block;
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--ej-text-heading);
  margin-bottom: 20px;
  padding-bottom: 14px;
  border-bottom: 2px solid var(--ej-bg-light);
}
/* Address form labels */
.hikashop_checkout_address label,
.hikashop_checkout_address .hikashop_checkout_address_field_label {
  font-weight: 600;
  font-size: 0.9rem;
  color: var(--ej-text);
  margin-bottom: 4px;
}
/* Registration address heading */
.hikashop_checkout_address h2 {
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 1.1rem !important;
  font-weight: 600;
  color: var(--ej-text-heading);
  margin-top: 8px !important;
  margin-bottom: 16px !important;
}
/* "Fields marked with asterisk" note */
.hikashop_checkout_address .hikashop_checkout_required_info {
  font-size: 0.8rem;
  color: var(--ej-text-muted);
  margin-top: 12px;
}
/* Address "Next" sub-button (inside address block) */
.hikashop_checkout_address > form + button,
.hikashop_checkout_address button.btn:not(.hikabtn_checkout_next):not(.hikabtn_checkout_coupon_add) {
  background: var(--ej-primary) !important;
  color: #fff !important;
  padding: 10px 28px;
  border: none !important;
  border-radius: var(--ej-radius) !important;
  font-weight: 600;
  font-size: 0.95rem;
  cursor: pointer;
  transition: var(--ej-transition);
  margin-top: 8px;
}

/* --- Payment Method Block: Better heading --- */
.hikashop_checkout_payment::before {
  content: "Payment Method";
  display: block;
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--ej-text-heading);
  margin-bottom: 20px;
  padding-bottom: 14px;
  border-bottom: 2px solid var(--ej-bg-light);
}
/* Hide the default "Payment method" h2 if present */
.hikashop_checkout_payment > h2:first-of-type {
  display: none;
}

/* --- Shipping Block: Better heading --- */
.hikashop_checkout_shipping::before {
  content: "Shipping Method";
  display: block;
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--ej-text-heading);
  margin-bottom: 20px;
  padding-bottom: 14px;
  border-bottom: 2px solid var(--ej-bg-light);
}

/* --- Finish Button: Style like "Place Order" --- */
.hikashop_checkout_page_step2 #hikabtn_checkout_next {
  min-width: 240px;
  font-size: 1.15rem !important;
  padding: 16px 52px !important;
  letter-spacing: 0.02em;
}

/* --- "Back to Cart" link on Step 2 --- */
.hikashop_checkout_page_step2 #hikashop_checkout_shopping_button {
  color: var(--ej-primary) !important;
}

/* --- Fields block (order notes, etc.) --- */
.hikashop_checkout_fields h2 {
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--ej-text-heading);
  margin: 0 0 16px 0;
}

/* --- Cart page (Step 1) — "Proceed to Checkout" button label override --- */
.hikashop_checkout_page_step1 #hikabtn_checkout_next {
  font-size: 0 !important;
}
.hikashop_checkout_page_step1 #hikabtn_checkout_next::after {
  content: "Proceed to Checkout";
  font-size: 1.1rem;
}

/* --- Checkout page (Step 2) — "Place Order" button label override --- */
.hikashop_checkout_page_step2 #hikabtn_checkout_next {
  font-size: 0 !important;
}
.hikashop_checkout_page_step2 #hikabtn_checkout_next::after {
  content: "Place Order";
  font-size: 1.15rem;
}

/* --- Step 2 responsive adjustments --- */
@media (max-width: 768px) {
  .hikashop_checkout_page_step2 .hikashop_checkout_login,
  .hikashop_checkout_page_step2 .hikashop_checkout_address,
  .hikashop_checkout_page_step2 .hikashop_checkout_shipping,
  .hikashop_checkout_page_step2 .hikashop_checkout_payment,
  .hikashop_checkout_page_step2 .hikashop_checkout_fields {
    padding: 20px 16px;
  }
  .hikashop_checkout_login .hikashop_checkout_login_left_part {
    padding-right: 0;
    border-right: none;
    border-bottom: 1px solid var(--ej-border);
    padding-bottom: 16px;
    margin-bottom: 16px;
  }
  .hikashop_checkout_login .hikashop_checkout_login_right_part {
    padding-left: 0;
  }
  .hikashop_checkout_page_step2 #hikabtn_checkout_next {
    min-width: unset;
    width: 100%;
  }
}

/* ============================================================
   CHECKOUT STEP 2 — FIXES ROUND 2 (2026-03-09)
   ============================================================ */

/* Fix: h1 "Login or create a new account" — too large */
.hikashop_checkout_login > h1 {
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 1.2rem !important;
  font-weight: 700;
  color: var(--ej-text-heading);
  margin: 0 0 20px 0 !important;
  padding-bottom: 14px;
  border-bottom: 2px solid var(--ej-bg-light);
}

/* Fix: Hide duplicate "Payment method" h2 inside payment block */
.hikashop_checkout_payment > h2,
.hikashop_checkout_payment > .hikashop_checkout_payment_block > h2 {
  display: none !important;
}

/* Fix: Hide empty fields block and empty address/shipping blocks */
.hikashop_checkout_page_step2 .hikashop_checkout_fields:empty,
.hikashop_checkout_page_step2 .hikashop_checkout_fields:not(:has(*:not(.hikashop_checkout_loading_elem):not(.hikashop_checkout_loading_spinner))) {
  display: none;
}

/* Fix: Hide "Billing Address" pseudo heading if address block is mostly empty */
.hikashop_checkout_page_step2 .hikashop_checkout_address:not(:has(input)) {
  padding: 16px 32px !important;
}

/* Fix: Hide empty shipping block content (just shows heading) */
.hikashop_checkout_page_step2 .hikashop_checkout_shipping:not(:has(.hikashop_shipping_group)) {
  display: none;
}

/* Fix: Address block — hide pseudo heading if address block has no real address form */
.hikashop_checkout_address:empty::before,
.hikashop_checkout_address:not(:has(input[type="text"]))::before {
  display: none;
}

/* Fix: The small "Next" button inside login/address — style properly */
.hikashop_checkout_login button[type="submit"],
.hikashop_checkout_address button[type="submit"] {
  background: var(--ej-primary) !important;
  color: #fff !important;
  padding: 10px 28px !important;
  border: none !important;
  border-radius: var(--ej-radius) !important;
  font-weight: 600;
  font-size: 0.95rem;
  cursor: pointer;
  transition: var(--ej-transition);
}
.hikashop_checkout_login button[type="submit"]:hover,
.hikashop_checkout_address button[type="submit"]:hover {
  background: var(--ej-primary-dark) !important;
}

/* Fix: Progress bar — current step should be highlighted */
.hikashop_wizardbar li.hikashop_checkout_step_current {
  background: var(--ej-primary) !important;
  color: #fff !important;
}
.hikashop_wizardbar li.hikashop_checkout_step_current .hkbadge {
  background: #fff !important;
  color: var(--ej-primary) !important;
}
.hikashop_wizardbar li.hikashop_checkout_step_current .hikashop_checkout_step_name {
  color: #fff !important;
}

/* Fix: Past steps in progress bar — link styling */
.hikashop_wizardbar li.hikashop_checkout_step_finished {
  background: var(--ej-primary-light);
}
.hikashop_wizardbar li.hikashop_checkout_step_finished a {
  color: var(--ej-primary) !important;
  text-decoration: none;
}

/* Fix: Style the address block "Next" button more prominently */
.hikashop_checkout_address > button,
.hikashop_checkout_address form + button {
  display: inline-block;
  background: var(--ej-primary) !important;
  color: #fff !important;
  padding: 10px 32px !important;
  border: none !important;
  border-radius: var(--ej-radius) !important;
  font-weight: 600;
  font-size: 0.95rem !important;
  cursor: pointer;
  transition: var(--ej-transition);
  margin-top: 12px;
}

/* ============================================================
   CHECKOUT STEP 2 — FIXES ROUND 3 (2026-03-09)
   ============================================================ */

/* Hide the duplicate "Payment method" legend */
.hikashop_checkout_payment > legend {
  display: none !important;
}

/* Hide empty address block (only contains loading divs) */
.hikashop_checkout_page_step2 .hikashop_checkout_address {
  display: none;
}
/* Show it if it actually has address content */
.hikashop_checkout_page_step2 .hikashop_checkout_address:has(.hikashop_address_card),
.hikashop_checkout_page_step2 .hikashop_checkout_address:has(form .hkform-group) {
  display: block;
}

/* Hide empty shipping block */
.hikashop_checkout_page_step2 .hikashop_checkout_shipping {
  display: none;
}
/* Show it if it has shipping options */
.hikashop_checkout_page_step2 .hikashop_checkout_shipping:has(.hikashop_shipping_group) {
  display: block;
}

/* Hide empty fields block */
.hikashop_checkout_page_step2 .hikashop_checkout_fields {
  display: none;
}
/* Show it if it has actual content */
.hikashop_checkout_page_step2 .hikashop_checkout_fields:has(.hkform-group) {
  display: block;
}

/* Progress bar — ensure "Checkout" step (step 2/current) is highlighted navy */
.hikashop_wizardbar li:last-of-type {
  /* Current step — should be navy on step 2 */
}
.hikashop_wizardbar li a {
  display: flex;
  align-items: center;
  gap: 8px;
  color: inherit;
  text-decoration: none !important;
}

/* ============================================================
   CHECKOUT STEP 2 — GUEST CHECKOUT STYLING (2026-03-09)
   ============================================================ */

/* --- Main heading override: cleaner, shorter text --- */
.hikashop_checkout_login > h1 {
  font-size: 0 !important;
  line-height: 0 !important;
  margin: 0 0 20px 0 !important;
  padding-bottom: 14px !important;
  border-bottom: 2px solid var(--ej-bg-light) !important;
}
.hikashop_checkout_login > h1::after {
  content: "How would you like to checkout?";
  font-size: 1.15rem;
  line-height: 1.4;
  font-weight: 700;
  color: var(--ej-text-heading);
  font-family: 'DM Sans', system-ui, sans-serif;
}

/* --- Identification column: hide "Identification" heading --- */
.hikashop_checkout_login .hkc-lg-4 > h2 {
  display: none !important;
}

/* --- Radio button group: pill-style tabs --- */
.hikashop_checkout_login .btn-group.btn-group-vertical {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  width: 100% !important;
}

.hikashop_checkout_login .btn-group.btn-group-vertical label {
  display: block !important;
  padding: 12px 20px !important;
  border: 2px solid var(--ej-border) !important;
  border-radius: var(--ej-radius) !important;
  background: #fff !important;
  color: var(--ej-text) !important;
  font-weight: 600 !important;
  font-size: 0.95rem !important;
  text-align: center !important;
  cursor: pointer !important;
  transition: var(--ej-transition) !important;
  margin: 0 !important;
}
.hikashop_checkout_login .btn-group.btn-group-vertical label:hover {
  border-color: var(--ej-primary) !important;
  background: var(--ej-bg-light) !important;
}
.hikashop_checkout_login .btn-group.btn-group-vertical label.active,
.hikashop_checkout_login .btn-group.btn-group-vertical label.hikabtn-primary {
  background: var(--ej-primary) !important;
  color: #fff !important;
  border-color: var(--ej-primary) !important;
}

/* --- Hide the "Guest" / "Registration" / "Login" h2 in the right column --- */
#hika_registration_type {
  display: none !important;
}

/* --- Guest form: clean layout --- */
#hikashop_checkout_registration fieldset.hkform-horizontal {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}
#hikashop_checkout_registration .hkform-group {
  margin-bottom: 14px !important;
}
#hikashop_checkout_registration .hkcontrol-label,
#hikashop_checkout_registration label {
  font-weight: 500 !important;
  color: var(--ej-text) !important;
  font-size: 0.9rem !important;
  margin-bottom: 4px !important;
}

/* Address information heading */
#hikashop_checkout_registration h3,
#hikashop_checkout_registration .hikashop_address_heading {
  font-family: 'DM Sans', system-ui, sans-serif !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: var(--ej-text-heading) !important;
  margin: 20px 0 12px 0 !important;
  padding-top: 16px !important;
  border-top: 1px solid var(--ej-border) !important;
}

/* --- Inner "Next" button inside guest/registration form --- */
.hikabtn_checkout_login_register {
  background: var(--ej-primary) !important;
  color: #fff !important;
  padding: 12px 36px !important;
  border: none !important;
  border-radius: var(--ej-radius) !important;
  font-weight: 600 !important;
  font-size: 0 !important;
  cursor: pointer !important;
  transition: var(--ej-transition) !important;
  margin-top: 16px !important;
  display: inline-block !important;
}
.hikabtn_checkout_login_register::after {
  content: "Continue to Payment";
  font-size: 1rem;
}
.hikabtn_checkout_login_register:hover {
  background: var(--ej-primary-dark) !important;
}

/* --- Login form styling (hidden by default, shown when Login is clicked) --- */
#hikashop_checkout_login_form fieldset.hkform-horizontal {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}
#hikashop_checkout_login_form h2 {
  display: none !important;
}
#hikashop_checkout_login_form .hkform-group {
  margin-bottom: 14px !important;
}
.hikabtn_checkout_login_form {
  background: var(--ej-primary) !important;
  color: #fff !important;
  padding: 12px 36px !important;
  border: none !important;
  border-radius: var(--ej-radius) !important;
  font-weight: 600 !important;
  font-size: 0.95rem !important;
  cursor: pointer !important;
  margin-top: 12px !important;
}
.hikabtn_checkout_login_form:hover {
  background: var(--ej-primary-dark) !important;
}

/* --- Grid layout fix: make left column narrower --- */
.hikashop_checkout_login .hk-container-fluid {
  display: flex !important;
  gap: 32px !important;
}
.hikashop_checkout_login .hkc-lg-4 {
  flex: 0 0 200px !important;
  max-width: 200px !important;
}
.hikashop_checkout_login .hkc-lg-8 {
  flex: 1 !important;
}

/* --- Passkey button styling --- */
.plg_system_webauthn_login_button {
  background: #f0f0f0 !important;
  color: var(--ej-text) !important;
  border: 1px solid var(--ej-border) !important;
  border-radius: var(--ej-radius) !important;
  font-size: 0.85rem !important;
  padding: 8px 16px !important;
  margin-top: 8px !important;
}

/* --- Show Password button --- */
.input-password-toggle {
  border-radius: 0 var(--ej-radius) var(--ej-radius) 0 !important;
  font-size: 0.85rem !important;
}

/* --- Mobile responsive: stack columns --- */
@media (max-width: 768px) {
  .hikashop_checkout_login .hk-container-fluid {
    flex-direction: column !important;
    gap: 16px !important;
  }
  .hikashop_checkout_login .hkc-lg-4 {
    flex: unset !important;
    max-width: 100% !important;
  }
  .hikashop_checkout_login .btn-group.btn-group-vertical {
    flex-direction: row !important;
    gap: 6px !important;
  }
  .hikashop_checkout_login .btn-group.btn-group-vertical label {
    padding: 10px 12px !important;
    font-size: 0.85rem !important;
  }
  .hikabtn_checkout_login_register {
    width: 100% !important;
    text-align: center !important;
  }
}

/* --- Hide the duplicate Joomla username/email field in guest checkout --- */
.hikashop_address_user_email {
  display: none !important;
}

/* --- "Address information" heading styling --- */
#hikashop_checkout_registration h3 {
  font-family: 'DM Sans', system-ui, sans-serif !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: var(--ej-text-heading) !important;
  margin: 20px 0 16px 0 !important;
  padding-top: 16px !important;
  border-top: 1px solid var(--ej-border) !important;
}

/* --- "Address information" legend styling in guest form --- */
#hikashop_checkout_registration fieldset > legend {
  font-family: 'DM Sans', system-ui, sans-serif !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: var(--ej-text-heading) !important;
  margin: 16px 0 12px 0 !important;
  padding-top: 16px !important;
  border-top: 1px solid var(--ej-border) !important;
  width: 100% !important;
}

/* --- Progress bar: correct class names (hikashop_cart_step_*) --- */
.hikashop_wizardbar li.hikashop_cart_step_current {
  background: var(--ej-primary) !important;
  color: #fff !important;
}
.hikashop_wizardbar li.hikashop_cart_step_current .hkbadge {
  background: #fff !important;
  color: var(--ej-primary) !important;
}
.hikashop_wizardbar li.hikashop_cart_step_current span:not(.hkbadge) {
  color: #fff !important;
}
.hikashop_wizardbar li.hikashop_cart_step_finished {
  background: var(--ej-bg-light) !important;
}
.hikashop_wizardbar li.hikashop_cart_step_finished a {
  color: var(--ej-primary) !important;
  text-decoration: none !important;
}
.hikashop_wizardbar li.hikashop_cart_step_finished .hkbadge {
  background: var(--ej-primary) !important;
  color: #fff !important;
}

/* ============================================================
   COMPREHENSIVE PAGE STYLING — 2026-03-09 ROUND 4
   Covers: error messages, login, forgot password, checkout
   polish, scroll fix, and all Joomla user pages.
   ============================================================ */

/* ==========================================================
   1. HIKASHOP CHECKOUT ERROR MESSAGES — smaller, cleaner
   ========================================================== */
.hikashop_checkout_page .alert {
  max-width: 700px !important;
  margin: 0 auto 12px auto !important;
  padding: 10px 16px !important;
  font-size: 0.9rem !important;
  border-radius: var(--ej-radius) !important;
  border: 1px solid #dc3545 !important;
  background: #fff5f5 !important;
  color: #8b0000 !important;
  text-align: left !important;
}
.hikashop_checkout_page .alert.alert-block {
  padding: 10px 16px !important;
}
.hikashop_checkout_page .alert p {
  margin: 0 !important;
  padding: 2px 0 !important;
  font-size: 0.9rem !important;
}
.hikashop_checkout_page .alert .close,
.hikashop_checkout_page .alert [data-bs-dismiss] {
  font-size: 1rem !important;
  padding: 4px 8px !important;
  opacity: 0.6 !important;
}
/* Also style the hikashop native error messages */
.hikashop_messages {
  max-width: 700px !important;
  margin: 0 auto 12px auto !important;
  padding: 10px 16px !important;
  border-radius: var(--ej-radius) !important;
  font-size: 0.9rem !important;
}
.hikashop_messages.hikashop_error {
  background: #fff5f5 !important;
  border: 1px solid #dc3545 !important;
  color: #8b0000 !important;
}

/* ==========================================================
   2. JOOMLA LOGIN PAGE — contained, balanced, professional
   ========================================================== */
.com-users-login,
.com-users-reset,
.com-users-remind,
.com-users-registration {
  max-width: 480px !important;
  margin: 40px auto !important;
  background: #fff !important;
  border-radius: var(--ej-radius) !important;
  box-shadow: var(--ej-shadow) !important;
  padding: 40px 36px !important;
}

/* Login page heading */
.com-users-login::before {
  content: "Sign In";
  display: block;
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--ej-text-heading);
  text-align: center;
  margin-bottom: 28px;
  padding-bottom: 16px;
  border-bottom: 2px solid var(--ej-bg-light);
}

/* Login form container */
.com-users-login__form.well {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Form labels */
.com-users-login label,
.com-users-reset label,
.com-users-remind label,
.com-users-registration label {
  font-weight: 600 !important;
  font-size: 0.9rem !important;
  color: var(--ej-text) !important;
  margin-bottom: 6px !important;
  display: block !important;
}

/* Form inputs */
.com-users-login input[type="text"],
.com-users-login input[type="password"],
.com-users-login input[type="email"],
.com-users-reset input[type="email"],
.com-users-reset input[type="text"],
.com-users-remind input[type="email"],
.com-users-remind input[type="text"],
.com-users-registration input[type="text"],
.com-users-registration input[type="password"],
.com-users-registration input[type="email"] {
  width: 100% !important;
  padding: 12px 14px !important;
  border: 1px solid var(--ej-border) !important;
  border-radius: var(--ej-radius) !important;
  font-size: 0.95rem !important;
  transition: var(--ej-transition) !important;
  background: var(--ej-bg-light) !important;
  box-sizing: border-box !important;
}
.com-users-login input:focus,
.com-users-reset input:focus,
.com-users-remind input:focus,
.com-users-registration input:focus {
  border-color: var(--ej-primary) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(23,74,156,0.12) !important;
  background: #fff !important;
}

/* Input groups (password with show/hide) */
.com-users-login .input-group {
  display: flex !important;
  width: 100% !important;
}
.com-users-login .input-group input {
  border-radius: var(--ej-radius) 0 0 var(--ej-radius) !important;
  flex: 1 !important;
}
.com-users-login .input-password-toggle {
  border-radius: 0 var(--ej-radius) var(--ej-radius) 0 !important;
  padding: 8px 14px !important;
  font-size: 0.85rem !important;
  background: #e9ecef !important;
  border: 1px solid var(--ej-border) !important;
  border-left: none !important;
  color: var(--ej-text) !important;
  cursor: pointer !important;
  min-width: auto !important;
}

/* Remember me checkbox */
.com-users-login__remember {
  margin: 16px 0 !important;
}
.com-users-login__remember label {
  font-weight: 400 !important;
  font-size: 0.9rem !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}

/* Passkey button — contained, not full width */
.plg_system_webauthn_login_button {
  display: block !important;
  max-width: 280px !important;
  margin: 12px auto !important;
  padding: 10px 20px !important;
  background: var(--ej-bg-light) !important;
  color: var(--ej-text) !important;
  border: 1px solid var(--ej-border) !important;
  border-radius: var(--ej-radius) !important;
  font-size: 0.85rem !important;
  text-align: center !important;
  cursor: pointer !important;
  transition: var(--ej-transition) !important;
  width: auto !important;
}
.plg_system_webauthn_login_button:hover {
  background: #e2e6ea !important;
  border-color: var(--ej-primary) !important;
}
.plg_system_webauthn_login_button .icon-user,
.plg_system_webauthn_login_button img {
  width: 18px !important;
  height: 18px !important;
  margin-right: 6px !important;
}

/* Login button — primary CTA */
.com-users-login__submit .btn-primary,
.com-users-login__submit button[type="submit"],
.com-users-login form button.btn {
  display: block !important;
  width: 100% !important;
  padding: 12px 24px !important;
  background: var(--ej-cta) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--ej-radius) !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: var(--ej-transition) !important;
  margin-top: 8px !important;
  text-align: center !important;
}
.com-users-login__submit .btn-primary:hover,
.com-users-login__submit button[type="submit"]:hover {
  background: #b71c1c !important;
}

/* Links section (Forgot password, etc.) */
.com-users-login__options.list-group {
  border: none !important;
  margin-top: 24px !important;
  padding-top: 20px !important;
  border-top: 1px solid var(--ej-border) !important;
}
.com-users-login__options .list-group-item {
  background: transparent !important;
  border: none !important;
  padding: 8px 0 !important;
  color: var(--ej-primary) !important;
  font-size: 0.9rem !important;
  text-decoration: none !important;
  display: block !important;
}
.com-users-login__options .list-group-item:hover {
  color: var(--ej-primary-dark) !important;
  text-decoration: underline !important;
}

/* Form group spacing */
.com-users-login .control-group {
  margin-bottom: 18px !important;
}

/* ==========================================================
   3. FORGOT PASSWORD / REMIND USERNAME PAGES — contained
   ========================================================== */
.com-users-reset::before {
  content: "Reset Your Password";
  display: block;
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--ej-text-heading);
  text-align: center;
  margin-bottom: 20px;
  padding-bottom: 14px;
  border-bottom: 2px solid var(--ej-bg-light);
}
.com-users-remind::before {
  content: "Forgot Your Username?";
  display: block;
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--ej-text-heading);
  text-align: center;
  margin-bottom: 20px;
  padding-bottom: 14px;
  border-bottom: 2px solid var(--ej-bg-light);
}

/* Reset/Remind form containers */
.com-users-reset__form.well,
.com-users-remind__form.well {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Description text on reset page */
.com-users-reset fieldset > legend,
.com-users-remind fieldset > legend {
  font-size: 0.9rem !important;
  color: #666 !important;
  line-height: 1.6 !important;
  margin-bottom: 20px !important;
  font-weight: 400 !important;
  border: none !important;
  padding: 0 !important;
  float: none !important;
  width: 100% !important;
}

/* Submit buttons on reset/remind */
.com-users-reset__submit .btn,
.com-users-remind__submit .btn,
.com-users-reset__submit button,
.com-users-remind__submit button {
  display: block !important;
  width: 100% !important;
  padding: 12px 24px !important;
  background: var(--ej-primary) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--ej-radius) !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  margin-top: 16px !important;
}
.com-users-reset__submit .btn:hover,
.com-users-remind__submit .btn:hover {
  background: var(--ej-primary-dark) !important;
}

/* Form group spacing on all user pages */
.com-users-reset .control-group,
.com-users-remind .control-group,
.com-users-registration .control-group {
  margin-bottom: 18px !important;
}

/* ==========================================================
   4. CHECKOUT LOGIN — improve the in-checkout login form
   ========================================================== */
/* Login form within checkout: Username/Password fields */
#hikashop_checkout_login_form .hkform-group {
  margin-bottom: 14px !important;
}
#hikashop_checkout_login_form input[type="text"],
#hikashop_checkout_login_form input[type="password"] {
  width: 100% !important;
  padding: 10px 14px !important;
  border: 1px solid var(--ej-border) !important;
  border-radius: var(--ej-radius) !important;
  font-size: 0.95rem !important;
  background: var(--ej-bg-light) !important;
}
#hikashop_checkout_login_form input:focus {
  border-color: var(--ej-primary) !important;
  box-shadow: 0 0 0 3px rgba(23,74,156,0.12) !important;
  background: #fff !important;
}

/* Checkout passkey button */
#hikashop_checkout_login_form .plg_system_webauthn_login_button {
  max-width: 240px !important;
  margin: 10px 0 !important;
  padding: 8px 16px !important;
  font-size: 0.8rem !important;
}

/* Checkout login form "Login" button */
#hikashop_checkout_login_form .hikabtn_checkout_login_form {
  background: var(--ej-primary) !important;
  color: #fff !important;
  padding: 10px 32px !important;
  border: none !important;
  border-radius: var(--ej-radius) !important;
  font-weight: 600 !important;
  font-size: 0.95rem !important;
}

/* Checkout login form "Forgot your password" / "Forgot your username" links */
#hikashop_checkout_login_form a {
  color: var(--ej-primary) !important;
  font-size: 0.85rem !important;
  text-decoration: none !important;
}
#hikashop_checkout_login_form a:hover {
  text-decoration: underline !important;
}

/* Remember Me checkbox in checkout login */
#hikashop_checkout_login_form .control-label,
#hikashop_checkout_login_form .form-check-label {
  font-size: 0.85rem !important;
  color: #666 !important;
}

/* ==========================================================
   5. CHECKOUT LAYOUT — Order summary improvements
   ========================================================== */

/* Step 2 checkout page — make the main container narrower and centered */
.hikashop_checkout_page_step2 .container-component {
  max-width: 800px !important;
  margin: 0 auto !important;
}

/* Ensure all form inputs on checkout are consistent */
.hikashop_checkout_page input[type="text"],
.hikashop_checkout_page input[type="email"],
.hikashop_checkout_page select {
  width: 100% !important;
  padding: 10px 14px !important;
  border: 1px solid var(--ej-border) !important;
  border-radius: var(--ej-radius) !important;
  font-size: 0.95rem !important;
  background: var(--ej-bg-light) !important;
  transition: var(--ej-transition) !important;
}
.hikashop_checkout_page input[type="text"]:focus,
.hikashop_checkout_page input[type="email"]:focus,
.hikashop_checkout_page select:focus {
  border-color: var(--ej-primary) !important;
  box-shadow: 0 0 0 3px rgba(23,74,156,0.12) !important;
  background: #fff !important;
  outline: none !important;
}

/* ==========================================================
   6. JOOMLA SYSTEM MESSAGES — contained and styled
   ========================================================== */
#system-message-container {
  max-width: 700px !important;
  margin: 16px auto !important;
}
#system-message-container .alert {
  border-radius: var(--ej-radius) !important;
  font-size: 0.9rem !important;
  padding: 12px 18px !important;
}

/* ==========================================================
   7. GENERAL PAGE POLISH — colours, balance, containment
   ========================================================== */

/* Ensure all Joomla user component pages are contained */
body.com_users main {
  padding: 20px 16px !important;
}

/* Remove excessive breadcrumb spacing on user pages */
body.com_users nav[aria-label="Breadcrumbs"] {
  max-width: 480px !important;
  margin: 0 auto !important;
  padding: 8px 0 0 0 !important;
}
body.com_users nav[aria-label="Breadcrumbs"] ol {
  font-size: 0.8rem !important;
  color: #999 !important;
}

/* Joomla alert colors — more polished */
.alert-success {
  background: #f0fdf4 !important;
  border-color: #22c55e !important;
  color: #166534 !important;
}
.alert-warning {
  background: #fffbeb !important;
  border-color: #f59e0b !important;
  color: #92400e !important;
}
.alert-error,
.alert-danger {
  background: #fef2f2 !important;
  border-color: #ef4444 !important;
  color: #991b1b !important;
}
.alert-info {
  background: #eff6ff !important;
  border-color: #3b82f6 !important;
  color: #1e40af !important;
}

/* Registration page heading */
.com-users-registration::before {
  content: "Create an Account";
  display: block;
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--ej-text-heading);
  text-align: center;
  margin-bottom: 20px;
  padding-bottom: 14px;
  border-bottom: 2px solid var(--ej-bg-light);
}
.com-users-registration__form.well {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* Profile page */
.com-users-profile::before {
  content: "My Profile";
  display: block;
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--ej-text-heading);
  text-align: center;
  margin-bottom: 20px;
  padding-bottom: 14px;
  border-bottom: 2px solid var(--ej-bg-light);
}

/* ==========================================================
   8. MOBILE RESPONSIVE — user pages
   ========================================================== */
@media (max-width: 768px) {
  .com-users-login,
  .com-users-reset,
  .com-users-remind,
  .com-users-registration {
    max-width: 100% !important;
    margin: 16px auto !important;
    padding: 24px 20px !important;
    box-shadow: none !important;
    border-radius: 0 !important;
  }
  body.com_users .container-header,
  body.com_users nav[aria-label="Breadcrumbs"] {
    max-width: 100% !important;
    padding: 8px 16px 0 16px !important;
  }
}

/* ==========================================================
   9. SCROLL FIX — prevent page snapping to top on scroll up
   Remove global smooth scroll (causes overshooting with sticky headers).
   Only apply smooth scroll when explicitly navigating via anchor clicks.
   ========================================================== */
html {
  scroll-behavior: auto !important;
}
/* Only apply smooth scroll for anchor navigation (back-to-top, etc.) */
html:focus-within {
  scroll-behavior: smooth;
}

/* Ensure back-to-top button only shows when scrolled down */
.back-to-top-link {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease !important;
}
.back-to-top-link[style*="display: flex"],
.back-to-top-link.show {
  opacity: 1;
  pointer-events: auto;
}

/* ==========================================================
   10. LOGIN PAGE FIXES — password toggle, passkey button
   ========================================================== */

/* Password toggle (show/hide eye icon) — should NOT be red CTA */
.com-users-login .input-password-toggle,
.com-users-login .btn-secondary {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #e9ecef !important;
  color: var(--ej-text) !important;
  border: 1px solid var(--ej-border) !important;
  border-left: none !important;
  border-radius: 0 var(--ej-radius) var(--ej-radius) 0 !important;
  padding: 8px 14px !important;
  font-size: 0.85rem !important;
  width: auto !important;
  min-width: auto !important;
  max-width: 50px !important;
  margin-top: 0 !important;
}
.com-users-login .input-password-toggle:hover,
.com-users-login .btn-secondary:hover {
  background: #dee2e6 !important;
}

/* Passkey button — more subtle, NOT red */
.com-users-login .plg_system_webauthn_login_button {
  background: var(--ej-bg-light) !important;
  color: var(--ej-text) !important;
  border: 1px solid var(--ej-border) !important;
  max-width: 280px !important;
  margin: 16px auto !important;
  padding: 10px 20px !important;
  font-size: 0.85rem !important;
}
.com-users-login .plg_system_webauthn_login_button:hover {
  background: #e2e6ea !important;
  border-color: var(--ej-primary) !important;
  color: var(--ej-primary) !important;
}

/* Override: only the actual Log In submit should be red */
.com-users-login__submit .btn-primary,
.com-users-login #com-users-login__form > fieldset + .control-group > .btn {
  background: var(--ej-cta) !important;
  color: #fff !important;
}

/* Ensure the password eye icon doesn't stretch full width */
.com-users-login .input-group .btn {
  width: auto !important;
  flex: 0 0 auto !important;
}

/* ==========================================================
   11. LOGIN PAGE — final specificity fixes
   ========================================================== */

/* Override: passkey button must NOT be red — very specific selector */
.com-users-login .com-users-login__submit button.plg_system_webauthn_login_button,
.com-users-login button.plg_system_webauthn_login_button.btn.btn-secondary,
button.plg_system_webauthn_login_button {
  background: #f0f2f5 !important;
  color: #333 !important;
  border: 1px solid #ccc !important;
  width: auto !important;
  max-width: 260px !important;
  margin: 14px auto !important;
  display: block !important;
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  padding: 10px 20px !important;
}
button.plg_system_webauthn_login_button:hover {
  background: #e2e6ea !important;
  border-color: var(--ej-primary) !important;
  color: var(--ej-primary) !important;
}

/* Override: password toggle must NOT be red — very specific */
.com-users-login .control-group .input-group button.btn.btn-secondary.input-password-toggle {
  background: #e9ecef !important;
  color: #555 !important;
  border: 1px solid var(--ej-border) !important;
  border-left: none !important;
  width: auto !important;
  max-width: 50px !important;
  padding: 8px 12px !important;
  margin: 0 !important;
  font-size: 0.9rem !important;
}

/* Only the Log in button should be red — target more precisely */
.com-users-login__submit > .btn-primary {
  background: var(--ej-cta) !important;
  color: #fff !important;
  width: 100% !important;
  padding: 12px 24px !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  border: none !important;
  border-radius: var(--ej-radius) !important;
}
/* De-activate the overly broad button rule */
.com-users-login form button.btn:not(.btn-primary):not(.plg_system_webauthn_login_button):not(.input-password-toggle) {
  /* only apply CTA to actual submit buttons */
}


/* ============================================================
   12. CHECKOUT STEP 2 — TWO-COLUMN LAYOUT WITH ORDER SUMMARY
   ============================================================ */

/* Grid layout: form left, order summary right */
.hikashop_checkout_page_step2 {
  display: grid !important;
  grid-template-columns: 1fr 340px !important;
  gap: 0 28px !important;
  align-items: start !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 16px !important;
}

/* All children default to left column */
.hikashop_checkout_page_step2 > * {
  grid-column: 1 !important;
}

/* Wizard bar spans full width */
.hikashop_checkout_page_step2 > .hikashop_wizardbar {
  grid-column: 1 / -1 !important;
}

/* Loading elements span full width */
.hikashop_checkout_page_step2 > .hikashop_checkout_loading_elem,
.hikashop_checkout_page_step2 > .hikashop_checkout_loading_spinner {
  grid-column: 1 / -1 !important;
}

/* Cart block → right column, spanning all rows */
.hikashop_checkout_page_step2 > .hikashop_checkout_cart {
  grid-column: 2 !important;
  grid-row: 3 / span 30 !important;
  align-self: start !important;
  position: sticky !important;
  top: 90px !important;
  z-index: 10 !important;
}

/* Place Order button → left column */
.hikashop_checkout_page_step2 > .hikashop_checkout_buttons {
  grid-column: 1 !important;
}

/* --- ORDER SUMMARY SIDEBAR STYLING --- */

/* Container card */
.hikashop_checkout_page_step2 .hikashop_checkout_cart {
  background: #fff !important;
  border: 1px solid var(--ej-border) !important;
  border-radius: var(--ej-radius, 10px) !important;
  box-shadow: var(--ej-shadow, 0 2px 12px rgba(0,0,0,0.06)) !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* Add "Order Summary" heading via ::before */
.hikashop_checkout_page_step2 .hikashop_checkout_cart::before {
  content: "Order Summary" !important;
  display: block !important;
  font-family: 'DM Sans', system-ui, sans-serif !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  color: var(--ej-text-heading, #1a1a2e) !important;
  padding: 18px 20px 14px !important;
  border-bottom: 1px solid var(--ej-border) !important;
  background: var(--ej-bg-light, #f8f9fa) !important;
}

/* Table inside order summary */
.hikashop_checkout_page_step2 .hikashop_checkout_cart table.table {
  margin: 0 !important;
  border: none !important;
  font-size: 0.88rem !important;
}

/* Hide the table header row on step 2 order summary */
.hikashop_checkout_page_step2 .hikashop_checkout_cart table.table thead {
  display: none !important;
}

/* Product rows */
.hikashop_checkout_page_step2 .hikashop_checkout_cart table.table tbody tr {
  display: flex !important;
  align-items: center !important;
  padding: 14px 20px !important;
  gap: 12px !important;
  border-bottom: 1px solid #f0f0f0 !important;
  background: #fff !important;
}

.hikashop_checkout_page_step2 .hikashop_checkout_cart table.table tbody tr:hover {
  background: #fff !important;
}

/* Product image cell */
.hikashop_checkout_page_step2 .hikashop_checkout_cart .hikashop_cart_product_image_value {
  flex: 0 0 60px !important;
  padding: 0 !important;
  border: none !important;
}

.hikashop_checkout_page_step2 .hikashop_checkout_cart .hikashop_cart_product_image_value img {
  width: 60px !important;
  height: 60px !important;
  object-fit: cover !important;
  border-radius: 6px !important;
  border: 1px solid #eee !important;
}

/* Product name cell */
.hikashop_checkout_page_step2 .hikashop_checkout_cart .hikashop_cart_product_name_value {
  flex: 1 !important;
  padding: 0 !important;
  border: none !important;
  font-size: 0.85rem !important;
  line-height: 1.35 !important;
  color: var(--ej-text, #333) !important;
}

.hikashop_checkout_page_step2 .hikashop_checkout_cart .hikashop_cart_product_name_value a {
  color: var(--ej-text, #333) !important;
  text-decoration: none !important;
  font-weight: 500 !important;
}

/* Hide the edit pencil icon */
.hikashop_checkout_page_step2 .hikashop_checkout_cart .hikashop_cart_product_name_value .hikashop_product_variant_edit {
  display: none !important;
}

/* Hide unit price column on order summary */
.hikashop_checkout_page_step2 .hikashop_checkout_cart .hikashop_cart_product_price_value {
  display: none !important;
}

/* Quantity cell — show as badge, hide +/- controls */
.hikashop_checkout_page_step2 .hikashop_checkout_cart .hikashop_cart_product_quantity_value {
  flex: 0 0 auto !important;
  padding: 0 !important;
  border: none !important;
  text-align: center !important;
}

/* Hide +/- buttons and refresh/delete icons */
.hikashop_checkout_page_step2 .hikashop_checkout_cart .hikashop_cart_product_quantity_value .hikashop_product_quantity_change_div_default,
.hikashop_checkout_page_step2 .hikashop_checkout_cart .hikashop_cart_product_quantity_value .hikashop_cart_product_quantity_refresh,
.hikashop_checkout_page_step2 .hikashop_checkout_cart .hikashop_cart_product_quantity_value .hikashop_cart_product_quantity_delete,
.hikashop_checkout_page_step2 .hikashop_checkout_cart .hikashop_cart_product_quantity_value button,
.hikashop_checkout_page_step2 .hikashop_checkout_cart .hikashop_cart_product_quantity_value a[onclick] {
  display: none !important;
}

/* Style the quantity input as a small badge */
.hikashop_checkout_page_step2 .hikashop_checkout_cart .hikashop_cart_product_quantity_value input[type="text"],
.hikashop_checkout_page_step2 .hikashop_checkout_cart .hikashop_cart_product_quantity_value input.hikashop_product_quantity_field {
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  background: var(--ej-bg-light, #f0f2f5) !important;
  border: 1px solid #ddd !important;
  text-align: center !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  color: var(--ej-text, #333) !important;
  padding: 0 !important;
  pointer-events: none !important;
  -moz-appearance: textfield !important;
}

/* Total price cell */
.hikashop_checkout_page_step2 .hikashop_checkout_cart .hikashop_cart_product_total_value {
  flex: 0 0 auto !important;
  padding: 0 !important;
  border: none !important;
  font-weight: 700 !important;
  font-size: 0.9rem !important;
  color: var(--ej-text-heading, #1a1a2e) !important;
  white-space: nowrap !important;
}

/* Total row at bottom of table */
.hikashop_checkout_page_step2 .hikashop_checkout_cart table.table tfoot tr,
.hikashop_checkout_page_step2 .hikashop_checkout_cart table.table tbody tr:last-child td[colspan] {
  background: var(--ej-bg-light, #f8f9fa) !important;
}

/* Total footer area */
.hikashop_checkout_page_step2 .hikashop_checkout_cart .hikashop_checkout_cart_total,
.hikashop_checkout_page_step2 .hikashop_checkout_cart .hikashop_cart_total_title,
.hikashop_checkout_page_step2 .hikashop_checkout_cart tr.hikashop_cart_total_row {
  font-weight: 700 !important;
}

/* Separator before total */
.hikashop_checkout_page_step2 .hikashop_checkout_cart table.table tbody tr.hikashop_cart_empty_row {
  display: block !important;
  height: 1px !important;
  background: var(--ej-border) !important;
  padding: 0 !important;
  margin: 0 20px !important;
}

.hikashop_checkout_page_step2 .hikashop_checkout_cart table.table tbody tr.hikashop_cart_empty_row td {
  display: none !important;
}

/* Subtotal / Total row styling */
.hikashop_checkout_page_step2 .hikashop_checkout_cart table.table .hikashop_cart_subtotal_row,
.hikashop_checkout_page_step2 .hikashop_checkout_cart table.table .hikashop_cart_shipping_row,
.hikashop_checkout_page_step2 .hikashop_checkout_cart table.table .hikashop_cart_total_row {
  display: flex !important;
  justify-content: space-between !important;
  padding: 8px 20px !important;
  gap: 12px !important;
  border-bottom: none !important;
  background: transparent !important;
}

/* Total row - bigger and bolder */
.hikashop_checkout_page_step2 .hikashop_checkout_cart table.table .hikashop_cart_total_row {
  padding: 14px 20px !important;
  border-top: 2px solid var(--ej-primary, #1a1a2e) !important;
  margin-top: 4px !important;
  font-size: 1.05rem !important;
}

/* Trust signals below order summary */
.hikashop_checkout_page_step2 .hikashop_checkout_cart::after {
  content: "Free UK Delivery  ·  Secure Checkout  ·  30-Day Returns" !important;
  display: block !important;
  font-size: 0.72rem !important;
  color: #888 !important;
  text-align: center !important;
  padding: 14px 16px 16px !important;
  border-top: 1px solid #f0f0f0 !important;
  letter-spacing: 0.02em !important;
}

/* --- RESPONSIVE: Stack on mobile --- */
@media (max-width: 900px) {
  .hikashop_checkout_page_step2 {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }

  .hikashop_checkout_page_step2 > .hikashop_checkout_cart {
    grid-column: 1 !important;
    grid-row: auto !important;
    position: static !important;
    order: -1 !important;
    margin-bottom: 20px !important;
  }

  .hikashop_checkout_page_step2 > .hikashop_wizardbar {
    grid-column: 1 !important;
  }
}



/* ============================================================
   12b. CHECKOUT STEP 2 — JS-DRIVEN TWO-COLUMN LAYOUT
   ============================================================ */

/* Override the grid approach — use normal flow */
.hikashop_checkout_page_step2 {
  display: block !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 16px !important;
}

/* Columns wrapper = flexbox */
.ej-checkout-columns {
  display: flex !important;
  gap: 28px !important;
  align-items: flex-start !important;
  margin-top: 8px !important;
}

/* Left column — form */
.ej-checkout-left {
  flex: 1 !important;
  min-width: 0 !important;
}

/* Right column — order summary */
.ej-checkout-right {
  flex: 0 0 340px !important;
  position: sticky !important;
  top: 90px !important;
}

/* Responsive: stack on mobile */
@media (max-width: 900px) {
  .ej-checkout-columns {
    flex-direction: column-reverse !important;
    gap: 16px !important;
  }
  .ej-checkout-right {
    flex: none !important;
    width: 100% !important;
    position: static !important;
  }
}



/* ============================================================
   12c. ORDER SUMMARY — TABLE DISPLAY OVERRIDE
   ============================================================ */

/* Force table/tbody/tr out of table layout context */
.hikashop_checkout_page_step2 .hikashop_checkout_cart table.table,
.hikashop_checkout_page_step2 .hikashop_checkout_cart table.table tbody {
  display: block !important;
  width: 100% !important;
}

/* Product row — flex layout */
.hikashop_checkout_page_step2 .hikashop_checkout_cart table.table tbody tr.row0,
.hikashop_checkout_page_step2 .hikashop_checkout_cart table.table tbody tr.row1,
.hikashop_checkout_page_step2 .hikashop_checkout_cart table.table tbody tr.row2,
.hikashop_checkout_page_step2 .hikashop_checkout_cart table.table tbody tr.row3,
.hikashop_checkout_page_step2 .hikashop_checkout_cart table.table tbody tr[id^="hikashop_cart_product_row"] {
  display: flex !important;
  align-items: center !important;
  padding: 14px 20px !important;
  gap: 12px !important;
  border-bottom: 1px solid #f0f0f0 !important;
  background: #fff !important;
}

/* Product image */
.hikashop_checkout_page_step2 .hikashop_checkout_cart td.hikashop_cart_product_image_value {
  display: block !important;
  flex: 0 0 56px !important;
  padding: 0 !important;
  border: none !important;
  width: 56px !important;
}

.hikashop_checkout_page_step2 .hikashop_checkout_cart td.hikashop_cart_product_image_value img {
  width: 56px !important;
  height: 56px !important;
  object-fit: cover !important;
  border-radius: 6px !important;
  border: 1px solid #eee !important;
}

/* Product name */
.hikashop_checkout_page_step2 .hikashop_checkout_cart td.hikashop_cart_product_name_value {
  display: block !important;
  flex: 1 1 0% !important;
  padding: 0 !important;
  border: none !important;
  font-size: 0.82rem !important;
  line-height: 1.35 !important;
  color: var(--ej-text, #333) !important;
  min-width: 0 !important;
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
}

.hikashop_checkout_page_step2 .hikashop_checkout_cart td.hikashop_cart_product_name_value a {
  color: var(--ej-text, #333) !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  font-size: 0.82rem !important;
}

/* Hide edit pencil icon */
.hikashop_checkout_page_step2 .hikashop_checkout_cart .hikashop_product_variant_edit {
  display: none !important;
}

/* Hide unit price cell */
.hikashop_checkout_page_step2 .hikashop_checkout_cart td.hikashop_cart_product_price_value {
  display: none !important;
}

/* Quantity cell */
.hikashop_checkout_page_step2 .hikashop_checkout_cart td.hikashop_cart_product_quantity_value {
  display: block !important;
  flex: 0 0 auto !important;
  padding: 0 !important;
  border: none !important;
  width: auto !important;
}

/* Hide ALL quantity controls: buttons, links, refresh, delete */
.hikashop_checkout_page_step2 .hikashop_checkout_cart td.hikashop_cart_product_quantity_value > div,
.hikashop_checkout_page_step2 .hikashop_checkout_cart td.hikashop_cart_product_quantity_value a,
.hikashop_checkout_page_step2 .hikashop_checkout_cart td.hikashop_cart_product_quantity_value button {
  display: none !important;
}

/* Show ONLY the quantity input as a badge */
.hikashop_checkout_page_step2 .hikashop_checkout_cart td.hikashop_cart_product_quantity_value input.hikashop_product_quantity_field {
  display: inline-block !important;
  width: 26px !important;
  height: 26px !important;
  border-radius: 50% !important;
  background: #eef0f3 !important;
  border: none !important;
  text-align: center !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  color: #444 !important;
  padding: 0 !important;
  pointer-events: none !important;
  -moz-appearance: textfield !important;
  -webkit-appearance: none !important;
}

/* Total price per product */
.hikashop_checkout_page_step2 .hikashop_checkout_cart td.hikashop_cart_product_total_value {
  display: block !important;
  flex: 0 0 auto !important;
  padding: 0 !important;
  border: none !important;
  font-weight: 700 !important;
  font-size: 0.88rem !important;
  color: var(--ej-text-heading, #1a1a2e) !important;
  white-space: nowrap !important;
  text-align: right !important;
}

/* Hide "inc. VAT" text in order summary */
.hikashop_checkout_page_step2 .hikashop_checkout_cart .hikashop_product_price_with_tax small,
.hikashop_checkout_page_step2 .hikashop_checkout_cart .hikashop_tax_zone {
  display: none !important;
}

/* === TOTAL ROW === */
.hikashop_checkout_page_step2 .hikashop_checkout_cart tr.hikashop_cart_total_row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 16px 20px !important;
  border-top: 2px solid var(--ej-primary, #1a1a2e) !important;
  border-bottom: none !important;
  background: transparent !important;
  margin-top: 0 !important;
}

/* Hide empty footer cell */
.hikashop_checkout_page_step2 .hikashop_checkout_cart td.hikashop_cart_empty_footer {
  display: none !important;
}

/* Total label */
.hikashop_checkout_page_step2 .hikashop_checkout_cart td.hikashop_cart_total_title {
  display: block !important;
  padding: 0 !important;
  border: none !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  color: var(--ej-text-heading, #1a1a2e) !important;
}

/* Total value */
.hikashop_checkout_page_step2 .hikashop_checkout_cart td.hikashop_cart_total_value {
  display: block !important;
  padding: 0 !important;
  border: none !important;
  font-weight: 700 !important;
  font-size: 1.1rem !important;
  color: var(--ej-text-heading, #1a1a2e) !important;
  text-align: right !important;
}



/* ============================================================
   12d. ORDER SUMMARY — FINAL REFINEMENTS
   ============================================================ */

/* Hide pencil/edit link in order summary */
.hikashop_checkout_page_step2 .hikashop_checkout_cart a.edit_cart_product {
  display: none !important;
}

/* Quantity: hide change buttons, refresh, delete — but show input */
.hikashop_checkout_page_step2 .hikashop_checkout_cart td.hikashop_cart_product_quantity_value > div {
  display: block !important;
}

.hikashop_checkout_page_step2 .hikashop_checkout_cart .hikashop_product_quantity_change_div_default,
.hikashop_checkout_page_step2 .hikashop_checkout_cart .hikashop_cart_product_quantity_refresh,
.hikashop_checkout_page_step2 .hikashop_checkout_cart .hikashop_cart_product_quantity_delete {
  display: none !important;
}

/* The input div should show, but make it compact */
.hikashop_checkout_page_step2 .hikashop_checkout_cart .hikashop_product_quantity_input_div_default {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Quantity input as badge */
.hikashop_checkout_page_step2 .hikashop_checkout_cart .hikashop_product_quantity_input_div_default input {
  display: inline-block !important;
  width: 24px !important;
  height: 24px !important;
  border-radius: 50% !important;
  background: #eef0f3 !important;
  border: none !important;
  text-align: center !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  color: #444 !important;
  padding: 0 !important;
  pointer-events: none !important;
  -moz-appearance: textfield !important;
  -webkit-appearance: none !important;
}

/* Hide "inc. VAT" or any tax zone text in order summary total price */
.hikashop_checkout_page_step2 .hikashop_checkout_cart .hikashop_product_price_full {
  font-size: 0 !important;
}
.hikashop_checkout_page_step2 .hikashop_checkout_cart .hikashop_product_price_full .hikashop_product_price {
  font-size: 0.88rem !important;
  font-weight: 700 !important;
}

/* Also hide in total row value */
.hikashop_checkout_page_step2 .hikashop_checkout_cart td.hikashop_cart_total_value .hikashop_product_price_full {
  font-size: 0 !important;
}
.hikashop_checkout_page_step2 .hikashop_checkout_cart td.hikashop_cart_total_value .hikashop_product_price_full .hikashop_product_price {
  font-size: 1.1rem !important;
  font-weight: 700 !important;
}

/* Ensure the order summary doesn't clip content */
.hikashop_checkout_page_step2 .hikashop_checkout_cart {
  overflow: visible !important;
}



/* ============================================================
   12e. ORDER SUMMARY — COMPACT PRODUCT ROW LAYOUT
   ============================================================ */

/* Product row: image (with qty badge), name, price */
.hikashop_checkout_page_step2 .hikashop_checkout_cart table.table tbody tr[id^="hikashop_cart_product_row"] {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  padding: 12px 18px !important;
  gap: 10px !important;
}

/* Image cell — relative for qty badge overlay */
.hikashop_checkout_page_step2 .hikashop_checkout_cart td.hikashop_cart_product_image_value {
  position: relative !important;
  flex: 0 0 52px !important;
  width: 52px !important;
}

.hikashop_checkout_page_step2 .hikashop_checkout_cart td.hikashop_cart_product_image_value img {
  width: 52px !important;
  height: 52px !important;
}

/* Quantity cell — overlay as badge on top-right of image */
.hikashop_checkout_page_step2 .hikashop_checkout_cart td.hikashop_cart_product_quantity_value {
  position: absolute !important;
  top: -6px !important;
  right: -6px !important;
  flex: none !important;
  width: auto !important;
  z-index: 2 !important;
}

/* Make the product row a positioning context so qty badge works */
.hikashop_checkout_page_step2 .hikashop_checkout_cart table.table tbody tr[id^="hikashop_cart_product_row"] {
  position: relative !important;
}

/* Actually, qty badge should be relative to image cell */
/* Rearrange: put qty cell visually inside image cell with CSS order */
.hikashop_checkout_page_step2 .hikashop_checkout_cart td.hikashop_cart_product_image_value {
  order: 1 !important;
}
.hikashop_checkout_page_step2 .hikashop_checkout_cart td.hikashop_cart_product_name_value {
  order: 3 !important;
  flex: 1 1 0% !important;
  min-width: 0 !important;
}
.hikashop_checkout_page_step2 .hikashop_checkout_cart td.hikashop_cart_product_price_value {
  order: 2 !important;
}
.hikashop_checkout_page_step2 .hikashop_checkout_cart td.hikashop_cart_product_quantity_value {
  order: 2 !important;
  position: static !important;
}
.hikashop_checkout_page_step2 .hikashop_checkout_cart td.hikashop_cart_product_total_value {
  order: 4 !important;
}

/* Qty badge inline (simpler than absolute positioning) */
.hikashop_checkout_page_step2 .hikashop_checkout_cart .hikashop_product_quantity_input_div_default input {
  width: 22px !important;
  height: 22px !important;
  font-size: 0.7rem !important;
  background: var(--ej-primary, #1a1a2e) !important;
  color: #fff !important;
}

/* Name: allow wrapping but limit lines */
.hikashop_checkout_page_step2 .hikashop_checkout_cart td.hikashop_cart_product_name_value {
  font-size: 0.78rem !important;
  line-height: 1.3 !important;
}
.hikashop_checkout_page_step2 .hikashop_checkout_cart td.hikashop_cart_product_name_value a.hikashop_no_print {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  font-size: 0.78rem !important;
}

/* Price: ensure it doesn't clip */
.hikashop_checkout_page_step2 .hikashop_checkout_cart td.hikashop_cart_product_total_value {
  flex: 0 0 auto !important;
  min-width: fit-content !important;
}

/* Total row: ensure full width display */
.hikashop_checkout_page_step2 .hikashop_checkout_cart tr.hikashop_cart_total_row {
  display: flex !important;
  width: 100% !important;
  padding: 14px 18px !important;
}

.hikashop_checkout_page_step2 .hikashop_checkout_cart td.hikashop_cart_total_title {
  flex: 1 !important;
}

.hikashop_checkout_page_step2 .hikashop_checkout_cart td.hikashop_cart_total_value {
  flex: 0 0 auto !important;
  min-width: fit-content !important;
}



/* Hide "inc. VAT" ::after pseudo-element in order summary */
.hikashop_checkout_page_step2 .hikashop_checkout_cart .hikashop_product_price::after,
.hikashop_checkout_page_step2 .hikashop_checkout_cart .hikashop_product_price_0::after {
  display: none !important;
  content: none !important;
}



/* Fix price clipping in order summary */
.hikashop_checkout_page_step2 .hikashop_checkout_cart table.table tbody tr[id^="hikashop_cart_product_row"] {
  padding: 12px 14px !important;
  gap: 8px !important;
}

/* Make image smaller to give more room */
.hikashop_checkout_page_step2 .hikashop_checkout_cart td.hikashop_cart_product_image_value {
  flex: 0 0 44px !important;
  width: 44px !important;
}
.hikashop_checkout_page_step2 .hikashop_checkout_cart td.hikashop_cart_product_image_value img {
  width: 44px !important;
  height: 44px !important;
}

/* Price text smaller */
.hikashop_checkout_page_step2 .hikashop_checkout_cart .hikashop_product_price_full .hikashop_product_price {
  font-size: 0.82rem !important;
}

/* Total row padding tighter */
.hikashop_checkout_page_step2 .hikashop_checkout_cart tr.hikashop_cart_total_row {
  padding: 14px 14px !important;
}

/* Widen sidebar slightly */
.ej-checkout-right {
  flex: 0 0 360px !important;
}


/* ==========================================================
   13. CHECKOUT ROUND 2 FIXES — March 2026
   ========================================================== */

/* 13a. Page background — lighter, paler blue */
:root {
  --ej-bg: #e6eef8 !important;
  --ej-bg-light: #e0eaf6 !important;
}
body {
  background: #f7f9fc !important;
}
main {
  background: #f7f9fc !important;
}

/* 13b. Widen checkout page to fill screen better */
.hikashop_checkout_page_step2 {
  max-width: 1280px !important;
}
.ej-checkout-columns {
  max-width: 1280px !important;
}
.ej-checkout-left {
  flex: 1 1 0% !important;
  min-width: 0 !important;
}
.ej-checkout-right {
  flex: 0 0 400px !important;
}
@media (max-width: 960px) {
  .ej-checkout-right { flex: none !important; width: 100% !important; }
}

/* 13c. Shipping method section styling */
.hikashop_checkout_shipping .hikashop_shipping_group {
  border: 1px solid var(--ej-border) !important;
  border-radius: var(--ej-radius) !important;
  overflow: hidden !important;
  margin-bottom: 4px !important;
}
.hikashop_checkout_shipping .hikashop_shipping_group_name {
  font-weight: 600 !important;
  font-size: 1rem !important;
  padding: 14px 16px !important;
  background: var(--ej-bg-light) !important;
}
.hikashop_checkout_shipping .hikashop_shipping {
  padding: 0 !important;
}
.hikashop_checkout_shipping .hikashop_shipping .hikashop_shipping_radio_choice {
  padding: 14px 16px !important;
  border-bottom: 1px solid var(--ej-border) !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
}
.hikashop_checkout_shipping .hikashop_shipping .hikashop_shipping_radio_choice:last-child {
  border-bottom: none !important;
}
.hikashop_checkout_shipping .hikashop_shipping_radio_choice input[type="radio"] {
  margin-top: 3px !important;
  flex-shrink: 0 !important;
}
.hikashop_checkout_shipping .hikashop_shipping_name {
  font-weight: 600 !important;
}
.hikashop_checkout_shipping .hikashop_shipping_description {
  font-size: 0.85rem !important;
  color: var(--ej-text-muted) !important;
  margin-top: 2px !important;
}

/* 13d. Order Summary sidebar — expanded with full breakdown */
.ej-checkout-right .hikashop_checkout_cart {
  padding: 20px 18px !important;
}

/* Style the subtotal/shipping/total rows */
.hikashop_checkout_page_step2 .hikashop_checkout_cart .hikashop_cart_subtotal_row,
.hikashop_checkout_page_step2 .hikashop_checkout_cart .hikashop_cart_shipping_row,
.hikashop_checkout_page_step2 .hikashop_checkout_cart .hikashop_cart_total_row {
  display: flex !important;
  justify-content: space-between !important;
  padding: 8px 0 !important;
  font-size: 0.9rem !important;
}
.hikashop_checkout_page_step2 .hikashop_checkout_cart .hikashop_cart_subtotal_row td,
.hikashop_checkout_page_step2 .hikashop_checkout_cart .hikashop_cart_shipping_row td,
.hikashop_checkout_page_step2 .hikashop_checkout_cart .hikashop_cart_total_row td {
  display: block !important;
  padding: 0 !important;
  border: none !important;
  background: none !important;
}
.hikashop_checkout_page_step2 .hikashop_checkout_cart .hikashop_cart_subtotal_row td:first-child,
.hikashop_checkout_page_step2 .hikashop_checkout_cart .hikashop_cart_shipping_row td:first-child {
  flex: 1 !important;
  color: var(--ej-text-muted) !important;
}
.hikashop_checkout_page_step2 .hikashop_checkout_cart .hikashop_cart_subtotal_row td:last-child,
.hikashop_checkout_page_step2 .hikashop_checkout_cart .hikashop_cart_shipping_row td:last-child {
  text-align: right !important;
  color: var(--ej-text) !important;
}
/* Shipping row — show "FREE" in green when 0 */
.hikashop_checkout_page_step2 .hikashop_checkout_cart .hikashop_cart_shipping_row {
  border-bottom: 1px solid var(--ej-border) !important;
  padding-bottom: 10px !important;
  margin-bottom: 4px !important;
}
/* Total row — bold and larger */
.hikashop_checkout_page_step2 .hikashop_checkout_cart .hikashop_cart_total_row {
  border-top: 2px solid var(--ej-primary) !important;
  padding-top: 10px !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
}
.hikashop_checkout_page_step2 .hikashop_checkout_cart .hikashop_cart_total_row td {
  font-weight: 700 !important;
}

/* Hide the margin row (empty spacer) */
.hikashop_checkout_page_step2 .hikashop_checkout_cart tr.margin {
  display: none !important;
}

/* 13e. "Add a note" section styling */
.ej-order-notes-section {
  margin-top: 16px !important;
  padding: 0 !important;
}
.ej-order-notes-toggle {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  cursor: pointer !important;
  font-size: 0.9rem !important;
  color: var(--ej-primary) !important;
  font-weight: 500 !important;
  padding: 8px 0 !important;
  border: none !important;
  background: none !important;
  user-select: none !important;
}
.ej-order-notes-toggle:hover {
  color: var(--ej-primary-hover) !important;
}
.ej-order-notes-toggle .ej-chevron {
  transition: transform 0.2s !important;
  font-size: 0.7rem !important;
}
.ej-order-notes-toggle.open .ej-chevron {
  transform: rotate(90deg) !important;
}
.ej-order-notes-body {
  display: none !important;
  margin-top: 8px !important;
}
.ej-order-notes-body.open {
  display: block !important;
}
.ej-order-notes-body textarea {
  width: 100% !important;
  border: 1px solid var(--ej-border) !important;
  border-radius: var(--ej-radius) !important;
  padding: 10px 14px !important;
  font-size: 0.9rem !important;
  resize: vertical !important;
  min-height: 80px !important;
  font-family: inherit !important;
  background: #fff !important;
}
.ej-order-notes-body textarea:focus {
  border-color: var(--ej-primary) !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(19,52,95,0.12) !important;
}

/* 13f. Hide passkey button on login page — not useful for e-commerce */
.com-users-login .plg-authentication-webauthn-login-button,
.com-users-login [id*="plg_system_webauthn"],
.com-users-login button[id*="webauthn"],
.com-users-login .btn[onclick*="webauthn"],
.com-users-login .login-passkey,
.com-users-login [class*="passkey"] {
  display: none !important;
}

/* 13g. Registration button — visible, styled to match */
.hikashop_checkout_page .hikashop_checkout_login .hikashop_registration_header .hikabtn_checkout_registration_button {
  /* display: visible — user wants registration to work */
}

/* 13h. Coupon section in Order Summary sidebar */
.ej-sidebar-coupon {
  margin-top: 12px !important;
  padding-top: 12px !important;
  border-top: 1px solid var(--ej-border) !important;
}
.ej-sidebar-coupon summary {
  cursor: pointer !important;
  font-size: 0.85rem !important;
  color: var(--ej-primary) !important;
  font-weight: 500 !important;
  list-style: none !important;
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
}
.ej-sidebar-coupon summary::-webkit-details-marker { display: none !important; }
.ej-sidebar-coupon summary::before {
  content: "+" !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
}
.ej-sidebar-coupon[open] summary::before {
  content: "−" !important;
}
.ej-sidebar-coupon .ej-coupon-row {
  display: flex !important;
  gap: 6px !important;
  margin-top: 8px !important;
}
.ej-sidebar-coupon .ej-coupon-row input {
  flex: 1 !important;
  padding: 8px 10px !important;
  border: 1px solid var(--ej-border) !important;
  border-radius: var(--ej-radius) !important;
  font-size: 0.85rem !important;
}
.ej-sidebar-coupon .ej-coupon-row button {
  padding: 8px 14px !important;
  background: var(--ej-primary) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--ej-radius) !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
}


/* 14. PASSKEY BUTTON HIDE — correct selector using body classes */
body.view-login [id*="plg_system_webauthn"],
body.view-login .plg_system_webauthn_login_button,
body.com_users [id*="plg_system_webauthn"],
body.com_users .plg_system_webauthn_login_button {
  display: none !important;
  height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 14b. Hide passkey — target the parent control-group container */
body.view-login .com-users-login__submit.control-group:has([id*="plg_system_webauthn"]) {
  display: none !important;
}
/* Fallback: aggressive hide on the button itself */
button.plg_system_webauthn_login_button,
button[id*="plg_system_webauthn"] {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  position: absolute !important;
  pointer-events: none !important;
}

/* ================================================================
   ROUND 3 FIXES — March 2026
   ================================================================ */

/* ── FIX 1: Cart quantity cell — prevent layout jump on qty change ── */
.hikashop_checkout_cart table tr td {
  vertical-align: middle !important;
}
.hikashop_checkout_cart .hikashop_cart_product_quantity_value {
  vertical-align: middle !important;
  text-align: center !important;
  white-space: nowrap !important;
}
.hikashop_checkout_cart .hikashop_cart_product_quantity_value .hikashop_product_quantity_change_div_default {
  display: inline-flex !important;
  align-items: center !important;
  gap: 2px !important;
  vertical-align: middle !important;
}
.hikashop_checkout_cart .hikashop_cart_product_quantity_value input.hikashop_product_quantity_field {
  width: 44px !important;
  height: 36px !important;
  text-align: center !important;
  border: 1px solid var(--ej-border, #d1d5db) !important;
  border-radius: 6px !important;
  font-size: 0.95rem !important;
  padding: 4px !important;
  vertical-align: middle !important;
  -moz-appearance: textfield !important;
}
.hikashop_checkout_cart .hikashop_cart_product_quantity_value input::-webkit-outer-spin-button,
.hikashop_checkout_cart .hikashop_cart_product_quantity_value input::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}
/* Plus/minus buttons inline */
.hikashop_checkout_cart .hikashop_product_quantity_change_div_default a,
.hikashop_checkout_cart .hikashop_product_quantity_change_div_default button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 30px !important;
  height: 30px !important;
  border-radius: 50% !important;
  border: 1px solid var(--ej-border, #d1d5db) !important;
  background: #fff !important;
  cursor: pointer !important;
  font-size: 1rem !important;
  line-height: 1 !important;
  vertical-align: middle !important;
}
/* Keep refresh/delete icons on same row */
.hikashop_checkout_cart .hikashop_cart_product_quantity_refresh,
.hikashop_checkout_cart .hikashop_cart_product_quantity_delete {
  display: inline-block !important;
  vertical-align: middle !important;
  margin-left: 4px !important;
}

/* ── FIX 2: Error notifications — smaller, no box, inline ── */
.hikashop_checkout_page .hikashop_messages.hikashop_error,
.hikashop_checkout_page .alert-danger,
.hikashop_checkout_page .alert-warning {
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  padding: 6px 0 !important;
  margin: 4px 0 !important;
  color: #c53030 !important;
  font-size: 0.82rem !important;
  font-weight: 500 !important;
  max-width: none !important;
}
.hikashop_checkout_page .hikashop_messages.hikashop_error::before {
  content: none !important;
}
/* Also target the Joomla system messages on checkout */
.hikashop_checkout_page #system-message-container .alert {
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  padding: 6px 12px !important;
  color: #c53030 !important;
  font-size: 0.82rem !important;
  font-weight: 500 !important;
}

/* ── FIX 6 & 7: Forgot Password / Username / Confirm / Complete pages ── */
/* Make all com_users views consistent with card styling */
.com-users-reset-confirm,
.com-users-reset-complete,
.com-users-remind-confirm,
.com-users-remind-complete,
.com-users-registration-complete {
  max-width: 560px !important;
  margin: 40px auto !important;
  background: #fff !important;
  border-radius: 12px !important;
  box-shadow: 0 1px 4px rgba(0,0,0,0.06) !important;
  padding: 40px !important;
}
/* Widen the Reset/Remind/Login pages slightly */
.com-users-login,
.com-users-reset,
.com-users-remind,
.com-users-registration {
  max-width: 560px !important;
}
/* Joomla system message shown after form submit (full-width text issue) */
body.view-reset main,
body.view-remind main,
body.view-login main {
  max-width: 700px !important;
  margin: 0 auto !important;
  padding: 20px !important;
}
/* System messages on these pages get contained */
body.view-reset #system-message-container,
body.view-remind #system-message-container {
  max-width: 560px !important;
  margin: 20px auto !important;
}
body.view-reset #system-message-container .alert,
body.view-remind #system-message-container .alert {
  background: #fff !important;
  border-radius: 12px !important;
  box-shadow: 0 1px 4px rgba(0,0,0,0.06) !important;
  padding: 20px 30px !important;
  border: 1px solid var(--ej-border, #d1d5db) !important;
  color: var(--ej-text, #1a1a2e) !important;
  font-size: 0.92rem !important;
}
/* Confirm/complete form elements */
.com-users-reset-confirm fieldset,
.com-users-reset-complete fieldset {
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.com-users-reset-confirm .control-group,
.com-users-reset-complete .control-group {
  margin-bottom: 16px !important;
}
.com-users-reset-confirm label,
.com-users-reset-complete label {
  display: block !important;
  font-weight: 600 !important;
  margin-bottom: 6px !important;
  font-size: 0.9rem !important;
}
.com-users-reset-confirm input[type="text"],
.com-users-reset-confirm input[type="email"],
.com-users-reset-complete input[type="password"] {
  width: 100% !important;
  padding: 12px 14px !important;
  border: 1px solid var(--ej-border, #d1d5db) !important;
  border-radius: 8px !important;
  font-size: 0.95rem !important;
  background: var(--ej-bg-light, #f0f4f9) !important;
}
.com-users-reset-confirm .btn-primary,
.com-users-reset-complete .btn-primary {
  width: 100% !important;
  padding: 14px !important;
  background: var(--ej-primary, #0D1B2A) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  margin-top: 10px !important;
}

/* ── FIX 8b: Ensure background blue is applied everywhere ── */
body {
  background: #e6eef8 !important;
}
main {
  background: transparent !important;
}

/* ============================================================
   FIX 1 REDO: Cart quantity — force consistent layout for ALL states
   HikaShop renders different HTML at qty=min vs qty>min.
   This CSS forces both into the same inline layout: [−] [input] [+]
   ============================================================ */

/* The main container: always flex row */
.hikashop_checkout_cart .hikashop_product_quantity_input_div_default_main {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0 !important;
  vertical-align: middle !important;
  white-space: nowrap !important;
}

/* The input wrapper div — inline, no block display */
.hikashop_checkout_cart .hikashop_product_quantity_input_div_default {
  display: inline-flex !important;
  align-items: center !important;
  order: 2 !important;
}

/* The change div (native +/- buttons) — always visible, flex row */
.hikashop_checkout_cart .hikashop_product_quantity_change_div_default {
  display: inline-flex !important;
  flex-direction: row-reverse !important;
  align-items: center !important;
  order: 3 !important;
  gap: 4px !important;
}

/* Plus button — always order 1 (appears first visually due to row-reverse) */
.hikashop_checkout_cart .hikashop_product_quantity_change_div_plus_default {
  display: inline-flex !important;
  order: 1 !important;
}

/* Minus button — always order 2 */
.hikashop_checkout_cart .hikashop_product_quantity_change_div_minus_default {
  display: inline-flex !important;
  order: 2 !important;
}

/* Style the +/- buttons consistently */
.hikashop_checkout_cart .hikashop_product_quantity_field_change {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  border: 1px solid #d1d5db !important;
  background: #fff !important;
  color: #374151 !important;
  font-size: 1rem !important;
  text-decoration: none !important;
  cursor: pointer !important;
  line-height: 1 !important;
}

.hikashop_checkout_cart .hikashop_product_quantity_field_change:hover {
  background: #f3f4f6 !important;
  border-color: #9ca3af !important;
}

/* The quantity input field */
.hikashop_checkout_cart .hikashop_product_quantity_field {
  width: 48px !important;
  height: 36px !important;
  text-align: center !important;
  border: 1px solid #d1d5db !important;
  border-radius: 6px !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  margin: 0 4px !important;
  padding: 0 !important;
}

/* Refresh + delete icons — keep inline */
.hikashop_checkout_cart .hikashop_cart_product_quantity_refresh,
.hikashop_checkout_cart .hikashop_cart_product_quantity_delete {
  display: inline-flex !important;
  align-items: center !important;
  vertical-align: middle !important;
  margin-left: 4px !important;
}

/* The td cell itself — vertically center */
.hikashop_checkout_cart td.hikashop_cart_product_quantity_value {
  vertical-align: middle !important;
  white-space: nowrap !important;
}

/* Hide the JS-created wrapper if native CSS handles it */
.hikashop_checkout_cart .ej-qty-wrapper {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
}

/* If the ej-qty-hidden class was applied, keep it hidden */
.hikashop_checkout_cart .ej-qty-hidden {
  display: none !important;
}

/* Override: when the ej-qty-wrapper exists, hide the native change div */
.hikashop_checkout_cart .ej-qty-wrapper ~ .hikashop_product_quantity_change_div_default {
  display: none !important;
}

/* When ej-qty-wrapper does NOT exist (fresh AJAX reload), 
   the native change div should show with our flex layout */
.hikashop_checkout_cart .hikashop_product_quantity_input_div_default_main:not(:has(.ej-qty-wrapper)) .hikashop_product_quantity_change_div_default {
  display: inline-flex !important;
}

/* FIX: Disable font ligatures in error messages (prevents bold "fi" rendering) */
.hikashop_checkout_page .hikashop_messages,
.hikashop_checkout_page .alert-danger,
.hikashop_checkout_page .alert-warning,
.hikashop_checkout_page .hikashop_error,
.hikashop_checkout_page [class*="hikashop_error"],
.hikashop_checkout_page .ej-error-text {
  font-variant-ligatures: no-common-ligatures !important;
  font-feature-settings: "liga" 0, "clig" 0 !important;
  -webkit-font-feature-settings: "liga" 0, "clig" 0 !important;
  -moz-font-feature-settings: "liga" 0, "clig" 0 !important;
}

/* =============================================================
   CHECKOUT: Registration form - Password fields styling
   ============================================================= */

/* Password input group - inline the eye toggle button */
.hikashop_checkout_page .password-group .input-group {
  display: flex !important;
  align-items: stretch !important;
}

.hikashop_checkout_page .password-group .input-group input[type="password"],
.hikashop_checkout_page .password-group .input-group input[type="text"] {
  flex: 1 1 auto !important;
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  border-right: none !important;
  min-height: 44px !important;
}

/* Eye toggle button - match input styling */
.hikashop_checkout_page .password-group .input-password-toggle {
  background: #fff !important;
  border: 1px solid #c5d0dc !important;
  border-left: none !important;
  border-top-right-radius: 8px !important;
  border-bottom-right-radius: 8px !important;
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
  padding: 0 12px !important;
  color: var(--ej-navy, #1a2a44) !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 44px !important;
  transition: background 0.2s ease, border-color 0.2s ease !important;
}

.hikashop_checkout_page .password-group .input-password-toggle:hover {
  background: #f0f4f8 !important;
  border-color: var(--ej-navy, #1a2a44) !important;
}

/* Password strength meter */
.hikashop_checkout_page .password-group .progress {
  height: 6px !important;
  border-radius: 3px !important;
  margin-top: 6px !important;
  background: #e8ecf0 !important;
  overflow: hidden !important;
}

.hikashop_checkout_page .password-group .progress-bar {
  border-radius: 3px !important;
  transition: width 0.3s ease !important;
}

/* Minimum requirements text */
.hikashop_checkout_page .hikashop_registration_password_line [id$="-rules"] {
  font-size: 0.82rem !important;
  color: #6b7c93 !important;
  margin-bottom: 6px !important;
  padding: 0 !important;
}

.hikashop_checkout_page .hikashop_registration_password_line [id$="-rules"] strong {
  color: var(--ej-navy, #1a2a44) !important;
  font-weight: 600 !important;
}

/* "This value is not valid" inline validation text */
.hikashop_checkout_page .hkform-group .form-control-feedback,
.hikashop_checkout_page .hkform-group .invalid-feedback {
  font-size: 0.82rem !important;
  color: var(--ej-coral, #e63946) !important;
  margin-top: 4px !important;
}

/* Registration form "Address information" heading */
.hikashop_checkout_page .hika_registration_address legend,
.hikashop_checkout_page fieldset > legend {
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  color: var(--ej-navy, #1a2a44) !important;
  border-bottom: 2px solid #e8ecf0 !important;
  padding-bottom: 8px !important;
  margin-bottom: 16px !important;
  margin-top: 20px !important;
}

/* Same address for shipping checkbox styling */
.hikashop_checkout_page .hikashop_checkout_same_address_checkbox {
  accent-color: var(--ej-navy, #1a2a44) !important;
  width: 18px !important;
  height: 18px !important;
  margin-right: 8px !important;
  vertical-align: middle !important;
}

/* Privacy consent area styling */
.hikashop_checkout_page #hikashop_registration_privacy_area {
  border: 1px solid #e8ecf0 !important;
  border-radius: 8px !important;
  padding: 16px !important;
  margin-top: 16px !important;
  background: #f8fafc !important;
}

/* Registration Name & Username field lines - consistent spacing */
.hikashop_checkout_page .hikashop_registration_name_line,
.hikashop_checkout_page .hikashop_registration_username_line,
.hikashop_checkout_page .hikashop_registration_email_line,
.hikashop_checkout_page .hikashop_registration_password_line,
.hikashop_checkout_page .hikashop_registration_password2_line {
  margin-bottom: 12px !important;
}

/* "Fields marked with asterisk" text */
.hikashop_checkout_page .hikashop_registration_required_info_line {
  font-size: 0.82rem !important;
  color: #6b7c93 !important;
  margin-top: 8px !important;
  margin-bottom: 16px !important;
}

/* FIX: Password input-group - prevent eye button wrapping to next line */
.hikashop_checkout_page .password-group .input-group {
  flex-wrap: nowrap !important;
}

/* Ensure the password input doesn't have width:100% forcing wrap */
.hikashop_checkout_page .password-group .input-group .form-control {
  width: auto !important;
  flex: 1 1 0% !important;
  min-width: 0 !important;
}

/* =============================================
   PRODUCT DESCRIPTION STANDARDISATION v2.0.0
   Fixes: tables, Amazon lists, images, dividers,
   bold text, emoji bullet divs, spacing
   ============================================= */

/* --- Tables (spec tables in product descriptions) --- */
.view-product.layout-show .hikashop_product_description_main table {
  width: 100% !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  margin: 16px 0 20px !important;
  font-size: 14px !important;
  background: #fff !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  border: 1px solid #e5e7eb !important;
}
.view-product.layout-show .hikashop_product_description_main table th,
.view-product.layout-show .hikashop_product_description_main table td {
  padding: 10px 14px !important;
  border: 1px solid #e5e7eb !important;
  color: #374151 !important;
  text-align: left !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  font-family: 'DM Sans', sans-serif !important;
}
/* Label cells — navy bold text */
.view-product.layout-show .hikashop_product_description_main table th,
.view-product.layout-show .hikashop_product_description_main table td[style*="font-weight:700"],
.view-product.layout-show .hikashop_product_description_main table td[style*="font-weight: 700"],
.view-product.layout-show .hikashop_product_description_main table td:first-child {
  color: #1A3A5C !important;
  font-weight: 700 !important;
  background: #f0f4f8 !important;
}
/* Header rows with dark navy bg (e.g. product 57 sizes table) */
.view-product.layout-show .hikashop_product_description_main table tr[style*="background:#1A3A5C"] td,
.view-product.layout-show .hikashop_product_description_main table tr[style*="background: #1A3A5C"] td,
.view-product.layout-show .hikashop_product_description_main table thead th {
  background: #1A3A5C !important;
  color: #fff !important;
  font-weight: 700 !important;
  border-color: #1A3A5C !important;
}
/* Alternating row tint */
.view-product.layout-show .hikashop_product_description_main table tr[style*="background:#f0f4f8"] td {
  background: #f0f4f8 !important;
}
/* Hover effect */
.view-product.layout-show .hikashop_product_description_main table tr:hover td {
  background: #e8f0fe !important;
}
/* Keep header row hover intact */
.view-product.layout-show .hikashop_product_description_main table tr[style*="background:#1A3A5C"]:hover td {
  background: #1A3A5C !important;
}

/* --- Amazon-class lists (.a-unordered-list, .a-list-item etc.) --- */
.view-product.layout-show .hikashop_product_description_main .a-unordered-list,
.view-product.layout-show .hikashop_product_description_main ul.a-vertical {
  list-style: disc !important;
  padding-left: 24px !important;
  margin: 0 0 20px !important;
}
.view-product.layout-show .hikashop_product_description_main .a-unordered-list li,
.view-product.layout-show .hikashop_product_description_main ul.a-vertical li {
  margin-bottom: 12px !important;
  padding: 0 !important;
  color: #374151 !important;
  font-size: 1rem !important;
  line-height: 1.7 !important;
}
.view-product.layout-show .hikashop_product_description_main .a-list-item {
  color: #374151 !important;
  font-size: 1rem !important;
}
.view-product.layout-show .hikashop_product_description_main .a-spacing-mini {
  margin-bottom: 0 !important;
}

/* --- Bold text with data-mce-fragment (Amazon copy-paste artefacts) --- */
.view-product.layout-show .hikashop_product_description_main b[data-mce-fragment],
.view-product.layout-show .hikashop_product_description_main span[data-mce-fragment] {
  color: #374151 !important;
  font-size: 1rem !important;
  line-height: 1.8 !important;
}
.view-product.layout-show .hikashop_product_description_main b[data-mce-fragment] {
  color: #1A3A5C !important;
  font-weight: 700 !important;
  display: block !important;
  margin-top: 20px !important;
  font-size: 1.1rem !important;
}

.view-product.layout-show .hikashop_product_description_main > div > br + br {
  display: none !important;
}
}

/* --- Images: constrain oversized infographics --- */
.view-product.layout-show .hikashop_product_description_main img {
  max-width: 100% !important;
  max-height: 500px !important;
  height: auto !important;
  width: auto !important;
  border-radius: 12px !important;
  object-fit: contain !important;
  display: block !important;
  margin: 8px auto !important;
}
/* Image wrapper flex containers — limit total height */
.view-product.layout-show .hikashop_product_description_main div[style*="display: flex"][style*="gap: 18px"] {
  max-height: 520px !important;
  overflow: hidden !important;
}

/* --- Tighten divider bar (gradient 4px div) so it doesn't look like a button --- */
.view-product.layout-show .hikashop_product_description_main div[style*="height: 4px"] {
  height: 3px !important;
  max-width: 200px !important;
  margin: 10px 0 18px !important;
  border-radius: 2px !important;
  background: linear-gradient(90deg, #5b9cf5, rgba(91,156,245,0.3), transparent) !important;
}

/* --- Normalise H1 sizing: reduce from 2.4rem to 1.7rem for better proportion --- */
.view-product.layout-show .hikashop_product_description_main h1 {
  font-size: 1.7rem !important;
  font-weight: 800 !important;
  margin: 0 0 8px !important;
  letter-spacing: -0.02em !important;
}

/* --- Normalise H2/H3 to be visually close to H1 for consistency --- */
.view-product.layout-show .hikashop_product_description_main h2 {
  font-size: 1.45rem !important;
  font-weight: 700 !important;
  margin: 22px 0 10px !important;
}
.view-product.layout-show .hikashop_product_description_main h3 {
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  margin: 18px 0 8px !important;
}

/* --- Emoji-bullet div lists (products 41, 48 etc.) --- */
.view-product.layout-show .hikashop_product_description_main > div > div:not([style]) {
  margin-bottom: 6px !important;
  line-height: 1.7 !important;
  font-size: 1rem !important;
}

/* --- List items: tighten spacing for cleaner look --- */
.view-product.layout-show .hikashop_product_description_main li {
  margin-bottom: 6px !important;
  line-height: 1.65 !important;
}

/* --- Reduce overall description padding on mobile --- */
@media (max-width: 768px) {
  .view-product.layout-show .hikashop_product_description_main {
    padding: 24px 18px !important;
    margin: 24px 8px !important;
  }
  .view-product.layout-show .hikashop_product_description_main h1 {
    font-size: 1.4rem !important;
  }
  .view-product.layout-show .hikashop_product_description_main h2 {
    font-size: 1.2rem !important;
  }
  .view-product.layout-show .hikashop_product_description_main img {
    max-height: 350px !important;
  }
  .view-product.layout-show .hikashop_product_description_main table {
    font-size: 0.85rem !important;
  }
  .view-product.layout-show .hikashop_product_description_main table th,
  .view-product.layout-show .hikashop_product_description_main table td {
    padding: 8px 10px !important;
    font-size: 0.85rem !important;
  }
}

/* --- Inline-styled element override (product 51's absolute-positioned divs) --- */
.view-product.layout-show .hikashop_product_description_main div[style*="position: relative"][style*="width: 873"],
.view-product.layout-show .hikashop_product_description_main div[id^="element_"] {
  position: relative !important;
  width: 100% !important;
  left: auto !important;
  top: auto !important;
}

/* --- Trust badge font-size tweaks for consistency --- */
.view-product.layout-show .hikashop_product_description_main div[style*="border-radius: 14px"][style*="border: 1px"] {
  font-size: 0.88rem !important;
}
.view-product.layout-show .hikashop_product_description_main div[style*="border-radius: 10px"] {
  background: #EFF6FF !important;
  border: 1px solid #BFDBFE !important;
  border-radius: 10px !important;
  color: #1A3A5C !important;
  padding: 10px 14px !important;
  font-weight: 700 !important;
  font-size: 0.88rem !important;
  text-align: center !important;
}

/* --- Normalise inline p styles from old content --- */
.view-product.layout-show .hikashop_product_description_main p[style*="color: #232323"],
.view-product.layout-show .hikashop_product_description_main p[style*="color:#232323"],
.view-product.layout-show .hikashop_product_description_main p[style*="font-size: 17.6px"] {
  color: #374151 !important;
  font-size: 1rem !important;
}

/* --- Delivery/footer text at bottom of descriptions --- */
.view-product.layout-show .hikashop_product_description_main p[style*="color:#555"],
.view-product.layout-show .hikashop_product_description_main p[style*="color: #555"] {
  color: #6b7280 !important;
  font-size: 0.9rem !important;
  margin-top: 16px !important;
  padding-top: 12px !important;
  border-top: 1px solid #e5e7eb !important;
}

/* =============================================
   END PRODUCT DESCRIPTION STANDARDISATION v2.0.0
   ============================================= */

/* ============================================================
   MOBILE PRODUCT GRID OVERRIDES
   Must come AFTER the Dark Premium Redesign section to win cascade
   ============================================================ */
@media (max-width: 991px) {
  .hikashop_products .hk-row-fluid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px !important;
  }
  .hikashop_products_listing .hikashop_product_image {
    min-height: 160px !important;
    padding: 16px !important;
  }
  .hikashop_products_listing .hikashop_product_image img {
    max-height: 140px !important;
  }
  .hikashop_products_listing .hikashop_product_name {
    padding: 10px 12px 4px !important;
  }
  .hikashop_products_listing .hikashop_product_name a {
    font-size: 0.82rem !important;
    -webkit-line-clamp: 2;
    min-height: auto !important;
  }
  .hikashop_products_listing .hikashop_product_price_full {
    padding: 4px 12px !important;
  }
  .hikashop_products_listing .hikashop_product_price {
    font-size: 1.1rem !important;
  }
  .hikashop_products_listing .hikashop_product_stock_count {
    padding: 2px 12px 4px !important;
    font-size: 0.7rem;
  }
  .hikashop_products_listing a.hikabtn.hikacart,
  .hikashop_products_listing .hikashop_cart_button,
  .hikashop_products_listing a.hikacart {
    width: calc(100% - 24px) !important;
    margin: 8px 12px 12px !important;
    padding: 10px 12px !important;
    font-size: 0.82rem !important;
  }
}

@media (max-width: 575px) {
  .hikashop_products .hk-row-fluid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .hikashop_products_listing .hikashop_product_image {
    min-height: 200px !important;
    padding: 24px !important;
  }
  .hikashop_products_listing .hikashop_product_image img {
    max-height: 180px !important;
  }
  .hikashop_products_listing .hikashop_product_name a {
    font-size: 0.92rem !important;
  }
  .hikashop_products_listing .hikashop_product_price {
    font-size: 1.3rem !important;
  }
  .hikashop_products_listing a.hikabtn.hikacart,
  .hikashop_products_listing .hikashop_cart_button,
  .hikashop_products_listing a.hikacart {
    width: calc(100% - 40px) !important;
    margin: 10px 20px 16px !important;
    padding: 12px 16px !important;
    font-size: 0.9rem !important;
  }
}

/* === Checkout Page Refinements (March 2026) === */

/* Hide breadcrumb on checkout pages — not useful here */
.view-checkout nav[aria-label="Breadcrumbs"],
.view-checkout .mod-breadcrumbs {
  display: none !important;
}

/* Hide "You are here" text on checkout */
.view-checkout .container-banner {
  display: none !important;
}

/* Ensure the page title doesn't show on checkout */
.view-checkout .page-header h1 {
  display: none;
}

/* ============================================
   CATEGORY SEO CONTENT STYLING
   ============================================ */
.category-seo-content {
  max-width: 960px;
  margin: 2rem auto 1rem;
  padding: 1.5rem 2rem;
  background: #fff;
  border-radius: 12px;
  border: 1px solid #e8edf2;
  color: #2d3748;
  font-size: 0.95rem;
  line-height: 1.7;
}
.category-seo-content h2 {
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--ej-navy, #0d1b2a);
  margin: 0 0 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid var(--ej-red, #e63946);
}
.category-seo-content h3 {
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--ej-navy, #0d1b2a);
  margin: 1.5rem 0 0.5rem;
}
.category-seo-content p {
  margin: 0 0 1rem;
}
.category-seo-content strong {
  color: var(--ej-navy, #0d1b2a);
}
@media (max-width: 768px) {
  .category-seo-content {
    padding: 1rem 1.25rem;
    margin: 1rem 0.5rem;
  }
  .category-seo-content h2 { font-size: 1.2rem; }
  .category-seo-content h3 { font-size: 1rem; }
}

/* Fix SEO content inner div to match dark theme */
.hikashop_category_description .category-seo-content {
  background: transparent !important;
  color: inherit;
}

/* ===== IMPROVED PRODUCT CARDS — Tighter image area, less white space ===== */
.hikashop_products_listing .hikashop_product_image {
  padding: 16px 16px !important;
  min-height: 180px !important;
}
.hikashop_products_listing .hikashop_product_image img {
  max-height: 220px !important;
  max-width: 90% !important;
  object-fit: contain;
  width: auto !important;
  height: auto !important;
}
/* Let the image area shrink to fit on smaller images */
.hikashop_products_listing .hikashop_product_image_subdiv {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}
.hikashop_products_listing .hikashop_product_image_subdiv a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}
/* Tighten product info area */
.hikashop_products_listing .hikashop_product_name {
  padding: 12px 16px 4px !important;
}
/* Product price tighter */
.hikashop_listing_img_title .hikashop_product_price_full {
  padding: 0 16px !important;
}

/* ===== Further product card refinements ===== */
.hikashop_products_listing .hikashop_product_image {
  padding: 12px !important;
  min-height: 160px !important;
}
.hikashop_products_listing .hikashop_product_image img {
  max-height: 240px !important;
  max-width: 95% !important;
}
/* Remove the excessive height from the image container */
.hikashop_products_listing .hikashop_product_image .hikashop_product_image_subdiv,
.hikashop_products_listing .hikashop_product_image .hikashop_product_image_subdiv a {
  min-height: 0 !important;
}

/* ===== Softer image area background — less harsh white ===== */
.hikashop_products_listing .hikashop_product_image {
  background: linear-gradient(135deg, rgba(230,238,248,0.9) 0%, rgba(220,230,245,0.85) 100%) !important;
}


/* ===== Fix 7: Homepage contrast improvements ===== */
.ej-hero .ej-hero-title {
  text-shadow: 0 2px 8px rgba(0,0,0,0.5);
}
.ej-hero .ej-hero-subtitle {
  text-shadow: 0 1px 4px rgba(0,0,0,0.4);
}
.ej-hero .ej-hero-overlay {
  background: linear-gradient(135deg, rgba(26,58,92,0.82) 0%, rgba(26,58,92,0.65) 100%);
}

/* ===== Fix 8: Product description H1 rendered as H2 ===== */
.hikashop_product_description h1 {
  font-size: 1.35rem;
  font-weight: 600;
  margin: 1.2em 0 0.6em;
  color: var(--ej-primary, #1A3A5C);
}

/* ===== Fix 12: Hide article metadata ===== */
.com-content-article .article-info,
.com-content-article .createdby,
.com-content-article .create,
.com-content-article .published,
.com-content-article .category-name {
  display: none !important;
}

/* ===== Fix 15: Hide stray magnifying glass search text ===== */
.hikashop_product_page .hikashop_product_image_subdiv > span:not(.hikashop_child_image) {
  display: none !important;
}


/* ===== Fix: Show address form for logged-in users without saved address ===== */
.hikashop_checkout_address[style*="display: none"],
.hikashop_checkout_address[style*="display:none"] {
    display: block !important;
}

/* ===== Fix: Make checkout validation errors visible ===== */
.hikashop_checkout .alert,
.hikashop_checkout_errors,
.hikashop_checkout .invalid-feedback,
.hikashop_checkout [class*="error_msg"] {
    display: block !important;
    color: #dc3545;
    font-weight: bold;
    margin: 5px 0;
}


/* ===== Account Dropdown Menu ===== */
.account-wrapper {
  position: relative;
}
.account-dropdown {
  display: none;
  position: absolute;
  top: calc(100% + 2px);
  left: 50%;
  background: rgba(13,17,23,.95);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-radius: 14px;
  box-shadow: 0 12px 40px rgba(0,0,0,0.4), inset 0 0 0 1px rgba(255,255,255,0.06);
  min-width: 200px;
  padding: 8px 0;
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  transform: translateX(-50%) translateY(-6px);
  transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease;
}
.account-dropdown::before {
  content: '';
  position: absolute;
  top: -18px;
  left: 0;
  width: 100%;
  height: 18px;
}
.account-wrapper:hover .account-dropdown,
.account-wrapper.open .account-dropdown {
  display: block;
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}
.account-dropdown a {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
  height: auto !important;
  padding: 12px 22px !important;
  color: rgba(255,255,255,.8) !important;
  font-size: 14px !important;
  font-family: 'DM Sans', system-ui, -apple-system, sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: .01em !important;
  text-decoration: none !important;
  background: transparent !important;
  border-left: 3px solid transparent !important;
  border-radius: 0 !important;
  white-space: nowrap !important;
  transition: all 0.15s ease !important;
  justify-content: flex-start !important;
}
.account-dropdown a:hover {
  background: rgba(248,168,168,.1) !important;
  color: #ffffff !important;
  border-left-color: #f8a8a8 !important;
}
.account-dropdown a svg {
  width: 16px !important;
  height: 16px !important;
  stroke: rgba(255,255,255,.5) !important;
  flex-shrink: 0;
}
.account-dropdown a:hover svg {
  stroke: #f8a8a8 !important;
}
.account-dropdown .divider {
  height: 1px;
  background: #fafafa !important;
  margin: 6px 12px;
}
/* ===== Fix checkboxes (Bootstrap form-check-input appearance:none override) ===== */
.form-check-input[type="checkbox"] {
  -webkit-appearance: auto !important;
  appearance: auto !important;
  width: 16px !important;
  height: 16px !important;
  cursor: pointer !important;
  border: 1px solid #adb5bd !important;
  border-radius: 3px !important;
  background: #fff !important;
  vertical-align: middle !important;
}
.form-check-input[type="checkbox"]:checked {
  background-color: #1a4fa0 !important;
  border-color: #1a4fa0 !important;
}

/* ===== Clean up Joomla Profile Page for Shop Customers ===== */
/* Hide Basic Settings (Editor, Time Zone, etc.) — not relevant for customers */
.com-users-profile .com-users-profile__edit .profile-edit fieldset:has(> legend),
.profile-edit .com_users .control-group:has([name*="editor"]),
.profile-edit .com_users .control-group:has([name*="timezone"]),
.profile-edit .com_users .control-group:has([name*="language"]) {
  /* fallback: target by section heading text via CSS */
}

/* Hide "Basic Settings" and "Passkey Login" sections */
.com-users-profile__profile dl:nth-of-type(2),
.com-users-profile__profile h2:nth-of-type(2),
.com-users-profile__profile dl:nth-of-type(3),
.com-users-profile__profile h2:nth-of-type(3) {
  display: none !important;
}

/* Style the profile page nicely */
.com-users-profile .page-header h2,
.com-users-profile__profile > h2:first-of-type {
  font-size: 1.4rem !important;
  font-weight: 600 !important;
  color: #1a1a2e !important;
  margin-bottom: 16px !important;
}
.com-users-profile__profile dl {
  display: grid !important;
  grid-template-columns: 160px 1fr !important;
  gap: 8px 16px !important;
  margin-bottom: 20px !important;
}
.com-users-profile__profile dt {
  font-weight: 600 !important;
  color: #555 !important;
  font-size: 0.9rem !important;
}
.com-users-profile__profile dd {
  margin: 0 !important;
  color: #1a1a2e !important;
  font-size: 0.9rem !important;
}

/* ===== Hide Basic Settings & Passkey Login on Profile Page (correct selectors) ===== */
.com-users-profile__params,
.com-users-profile__custom.users-profile-custom-webauthn {
  display: none !important;
}

/* Also hide on the Edit Profile form */
.com-users-profile .profile-edit fieldset.com-users-profile__params,
.com-users-profile .profile-edit fieldset.users-profile-custom-webauthn {
  display: none !important;
}

/* Hide "Registered Date" and "Last Visited Date" — not customer-relevant */
.com-users-profile__core dt:nth-of-type(3),
.com-users-profile__core dd:nth-of-type(3),
.com-users-profile__core dt:nth-of-type(4),
.com-users-profile__core dd:nth-of-type(4) {
  display: none !important;
}

/* Clean up Profile section layout */
.com-users-profile__core legend {
  font-size: 1.3rem !important;
  font-weight: 600 !important;
  color: #1a1a2e !important;
  border: none !important;
  padding: 0 !important;
  margin-bottom: 12px !important;
}
.com-users-profile__core dl {
  display: grid !important;
  grid-template-columns: 120px 1fr !important;
  gap: 10px 20px !important;
}
.com-users-profile__core dt {
  font-weight: 600 !important;
  color: #555 !important;
  font-size: 0.9rem !important;
}
.com-users-profile__core dd {
  margin: 0 !important;
  font-size: 0.9rem !important;
  color: #1a1a2e !important;
}

.ej-profile-shop-links a {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 16px 20px !important;
  background: #f8f9fc !important;
  border: 1px solid #e8ecf2 !important;
  border-radius: 10px !important;
  color: #1a1a2e !important;
  text-decoration: none !important;
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  font-family: 'Inter', sans-serif !important;
  transition: all 0.2s ease !important;
}
.ej-profile-shop-links a:hover {
  background: #eef2ff !important;
  border-color: #1a4fa0 !important;
  color: #1a4fa0 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(26,79,160,0.1) !important;
}
.ej-profile-shop-links a svg {
  width: 22px !important;
  height: 22px !important;
  stroke: #1a4fa0 !important;
  flex-shrink: 0 !important;
}
@media (max-width: 600px) {
  .ej-profile-shop-links {
    grid-template-columns: 1fr !important;
  }
}

/* ===== Order Confirmation Page ===== */
.ej-order-confirmation {
  max-width: 720px;
  margin: 0 auto;
  padding: 0 20px 40px;
  font-family: 'Inter', sans-serif;
}

/* Header with checkmark */
.ej-oc-header {
  text-align: center;
  padding: 40px 0 30px;
}
.ej-oc-checkmark {
  width: 72px;
  height: 72px;
  background: #28a745;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 20px;
}
.ej-oc-header h1 {
  font-size: 1.6rem;
  font-weight: 700;
  color: #1a1a2e;
  margin: 0 0 8px;
}
.ej-oc-subtitle {
  color: #666;
  font-size: 0.95rem;
  margin: 0 0 8px;
}
.ej-oc-ordernumber {
  color: #444;
  font-size: 0.95rem;
  margin: 0;
}
.ej-oc-ordernumber strong {
  color: #1a4fa0;
  font-size: 1.05rem;
}

/* Body - two column on desktop */
.ej-oc-body {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-bottom: 30px;
}

/* Sections */
.ej-oc-section {
  background: #fff;
  border: 1px solid #e8ecf2;
  border-radius: 12px;
  padding: 24px;
}
.ej-oc-section h3 {
  font-size: 1rem;
  font-weight: 600;
  color: #1a1a2e;
  margin: 0 0 16px;
  padding-bottom: 10px;
  border-bottom: 1px solid #eee;
}

/* Product rows */
.ej-oc-product-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid #f5f5f5;
}
.ej-oc-product-row:last-child {
  border-bottom: none;
}
.ej-oc-product-img img {
  width: 50px;
  height: 50px;
  object-fit: cover;
  border-radius: 6px;
  border: 1px solid #eee;
}
.ej-oc-product-info {
  flex: 1;
}
.ej-oc-product-name {
  display: block;
  font-size: 0.85rem;
  font-weight: 500;
  color: #1a1a2e;
  line-height: 1.3;
}
.ej-oc-product-qty {
  display: block;
  font-size: 0.8rem;
  color: #888;
  margin-top: 2px;
}
.ej-oc-product-price {
  font-weight: 600;
  color: #1a1a2e;
  font-size: 0.9rem;
  white-space: nowrap;
}

/* Totals */
.ej-oc-totals {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid #eee;
}
.ej-oc-total-row {
  display: flex;
  justify-content: space-between;
  padding: 4px 0;
  font-size: 0.9rem;
  color: #555;
}
.ej-oc-grand-total {
  padding-top: 10px;
  margin-top: 6px;
  border-top: 2px solid #1a4fa0;
  font-weight: 700;
  font-size: 1.05rem;
  color: #1a1a2e;
}
.ej-oc-free {
  color: #28a745;
  font-weight: 600;
}

/* Delivery details */
.ej-oc-detail-row {
  padding: 8px 0;
  border-bottom: 1px solid #f5f5f5;
}
.ej-oc-detail-row:last-child {
  border-bottom: none;
}
.ej-oc-label {
  display: block;
  font-size: 0.8rem;
  color: #888;
  margin-bottom: 2px;
}
.ej-oc-detail-row span:last-child {
  font-size: 0.9rem;
  color: #1a1a2e;
  font-weight: 500;
}

/* What happens next */
.ej-oc-next-steps {
  background: #f8f9fc;
  border: 1px solid #e8ecf2;
  border-radius: 12px;
  padding: 24px;
  margin-bottom: 30px;
}
.ej-oc-next-steps h3 {
  font-size: 1rem;
  font-weight: 600;
  color: #1a1a2e;
  margin: 0 0 16px;
}
.ej-oc-steps {
  display: flex;
  gap: 24px;
}
.ej-oc-step {
  flex: 1;
  text-align: center;
}
.ej-oc-step-icon {
  width: 48px;
  height: 48px;
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 10px;
  color: #1a4fa0;
}
.ej-oc-step p {
  font-size: 0.8rem;
  color: #555;
  margin: 0;
  line-height: 1.4;
}

/* Action buttons */
.ej-oc-actions {
  display: flex;
  gap: 12px;
  justify-content: center;
}
.ej-oc-btn {
  display: inline-block;
  padding: 12px 28px;
  border-radius: 8px;
  font-size: 0.9rem;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s ease;
  font-family: 'Inter', sans-serif;
}
.ej-oc-btn-primary {
  background: #1a4fa0;
  color: #fff !important;
}
.ej-oc-btn-primary:hover {
  background: #153d7a;
  transform: translateY(-1px);
}
.ej-oc-btn-secondary {
  background: #fff;
  color: #1a4fa0 !important;
  border: 1px solid #1a4fa0;
}
.ej-oc-btn-secondary:hover {
  background: #f0f4ff;
  transform: translateY(-1px);
}

/* Mobile responsive */
@media (max-width: 768px) {
  .ej-oc-body {
    grid-template-columns: 1fr;
  }
  .ej-oc-steps {
    flex-direction: column;
    gap: 16px;
  }
  .ej-oc-actions {
    flex-direction: column;
    align-items: stretch;
  }
  .ej-oc-btn {
    text-align: center;
  }
  .ej-oc-header h1 {
    font-size: 1.3rem;
  }
}

/* ===== Premium Profile Page (view) ===== */
.com-users-profile.ej-profile-card {
  max-width: 600px !important;
  margin: 40px auto !important;
  background: #fff !important;
  border-radius: 16px !important;
  box-shadow: 0 2px 16px rgba(0,0,0,0.06), 0 0 0 1px rgba(0,0,0,0.04) !important;
  padding: 0 !important;
  overflow: hidden;
}
.com-users-profile.ej-profile-card::before {
  display: none !important;
}
.ej-profile-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 40px 36px 28px;
  background: linear-gradient(135deg, #f8fafc 0%, #eef2ff 100%);
  border-bottom: 1px solid #e8ecf2;
}
.ej-profile-avatar {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: linear-gradient(135deg, #1a4fa0 0%, #2563eb 100%);
  color: #fff;
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
  box-shadow: 0 4px 12px rgba(26,79,160,0.25);
  letter-spacing: 0.03em;
}
.ej-profile-title {
  font-family: 'DM Sans', system-ui, sans-serif !important;
  font-size: 1.45rem !important;
  font-weight: 700 !important;
  color: #1a1a2e !important;
  margin: 0 !important;
  letter-spacing: -0.01em;
}
.ej-profile-details {
  padding: 28px 36px 8px;
}
.ej-profile-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  padding: 14px 0;
  border-bottom: 1px solid #f0f2f5;
}
.ej-profile-row:last-child {
  border-bottom: none;
}
.ej-profile-label {
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 0.875rem;
  font-weight: 600;
  color: #6b7280;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  flex-shrink: 0;
  min-width: 110px;
}
.ej-profile-value {
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 0.95rem;
  font-weight: 500;
  color: #1a1a2e;
  text-align: right;
  word-break: break-word;
}
.ej-profile-actions {
  padding: 12px 36px 32px;
  display: flex;
  justify-content: center;
}
.ej-profile-edit-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 12px 32px !important;
  background: #1a4fa0 !important;
  color: #fff !important;
  font-family: 'DM Sans', system-ui, sans-serif !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  border-radius: 10px !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  border: none !important;
  cursor: pointer !important;
}
.ej-profile-edit-btn:hover {
  background: #153d80 !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 16px rgba(26,79,160,0.3) !important;
}
.ej-profile-edit-btn svg {
  stroke: #fff !important;
  flex-shrink: 0;
}
.ej-profile-card .com-users-profile__edit,
.ej-profile-card .com-users-profile__core,
.ej-profile-card .com-users-profile__params,
.ej-profile-card .com-users-profile__custom {
  display: none !important;
}
@media (max-width: 640px) {
  .com-users-profile.ej-profile-card {
    max-width: 100% !important;
    margin: 16px auto !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
  .ej-profile-header { padding: 32px 24px 24px; }
  .ej-profile-details { padding: 20px 24px 4px; }
  .ej-profile-actions { padding: 8px 24px 28px; }
  .ej-profile-row { flex-direction: column; gap: 4px; padding: 12px 0; }
  .ej-profile-value { text-align: left; }
}

/* ===== Edit Profile Page — Premium Layout ===== */
.com-users-profile__edit-form {
  max-width: 720px !important;
  margin: 32px auto !important;
  background: #fff !important;
  border-radius: 16px !important;
  box-shadow: 0 2px 16px rgba(0,0,0,0.06), 0 0 0 1px rgba(0,0,0,0.04) !important;
  padding: 0 !important;
  overflow: visible;
  font-family: 'Inter', system-ui, sans-serif !important;
}
.com-users-profile:has(.com-users-profile__edit-form)::before {
  display: none !important;
}
.com-users-profile__edit-form > fieldset:first-of-type {
  border: none !important;
  padding: 40px 40px 24px !important;
  margin: 0 !important;
}
.com-users-profile__edit-form > fieldset:first-of-type > legend {
  font-family: 'DM Sans', system-ui, sans-serif !important;
  font-size: 1.45rem !important;
  font-weight: 700 !important;
  color: #1a1a2e !important;
  text-align: center !important;
  width: 100% !important;
  padding-bottom: 20px !important;
  margin-bottom: 28px !important;
  border-bottom: 1px solid #e8ecf2 !important;
  float: none !important;
}
/* Hide Basic Settings */
.com-users-profile__edit-form > fieldset:nth-of-type(3) {
  display: none !important;
}
/* Hide HikaShop duplicate email */
.com-users-profile__edit-form > fieldset.hikashop_user_edit {
  display: none !important;
}
/* Hide Passkey + MFA before JS moves them */
.com-users-profile__edit-form > fieldset:nth-of-type(4),
.com-users-profile__edit-form > fieldset.com-users-profile__multifactor {
  display: none !important;
}

.com-users-profile__edit-form .control-group {
  margin-bottom: 20px !important;
}
.com-users-profile__edit-form .control-label label {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  color: #374151 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  margin-bottom: 6px !important;
  display: block !important;
}
.com-users-profile__edit-form .controls input[type="text"],
.com-users-profile__edit-form .controls input[type="email"],
.com-users-profile__edit-form .controls input[type="password"] {
  width: 100% !important;
  padding: 12px 16px !important;
  border: 1.5px solid #d1d5db !important;
  border-radius: 10px !important;
  font-size: 0.95rem !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  color: #1a1a2e !important;
  background: #fff !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
  box-sizing: border-box !important;
}
.com-users-profile__edit-form .controls input:focus {
  border-color: #1a4fa0 !important;
  box-shadow: 0 0 0 3px rgba(26,79,160,0.1) !important;
  outline: none !important;
}
.com-users-profile__edit-form .form-text {
  font-size: 0.8rem !important;
  color: #6b7280 !important;
  margin-top: 6px !important;
}
.com-users-profile__edit-form .input-password-toggle {
  border-radius: 0 10px 10px 0 !important;
  border: 1.5px solid #d1d5db !important;
  border-left: none !important;
  background: #f9fafb !important;
  color: #6b7280 !important;
  font-size: 0.85rem !important;
}
.com-users-profile__edit-form .input-group input[type="password"] {
  border-radius: 10px 0 0 10px !important;
}
.com-users-profile__edit-submit {
  padding: 0 40px 36px !important;
  margin-top: 8px !important;
}
.com-users-profile__edit-submit .controls {
  display: flex !important;
  gap: 12px !important;
  justify-content: center !important;
}
.com-users-profile__edit-form button.btn-primary.validate {
  padding: 12px 36px !important;
  border-radius: 10px !important;
  font-family: 'DM Sans', system-ui, sans-serif !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  background: #1a4fa0 !important;
  border: none !important;
  color: #fff !important;
  transition: all 0.2s ease !important;
  width: auto !important;
}
.com-users-profile__edit-form button.btn-primary.validate:hover {
  background: #153d80 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 16px rgba(26,79,160,0.3) !important;
}
.com-users-profile__edit-form button.btn-danger {
  padding: 12px 28px !important;
  border-radius: 10px !important;
  font-family: 'DM Sans', system-ui, sans-serif !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  background: transparent !important;
  border: 1.5px solid #dc3545 !important;
  color: #dc3545 !important;
  transition: all 0.2s ease !important;
  width: auto !important;
}
.com-users-profile__edit-form button.btn-danger:hover {
  background: #dc3545 !important;
  color: #fff !important;
}

@media (max-width: 640px) {
  .com-users-profile__edit-form {
    max-width: 100% !important;
    margin: 16px auto !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
  .com-users-profile__edit-form > fieldset:first-of-type { padding: 28px 20px 20px !important; }
  .com-users-profile__edit-submit { padding: 0 20px 28px !important; }

}
/* =============================================================
   HIKASHOP ACCOUNT PAGES — FULL RESTYLE
   EJRange palette: Navy #1A3A5C | Blue #1a4fa0 | Blush #f8a8a8
   ============================================================= */

/* --- Hide Carts & Downloads from control panel sidebar --- */
.hika_cpanel_icon.hikashop_cpanel_cart_div,
.hika_cpanel_icon.hikashop_cpanel_download_div {
  display: none !important;
}

/* ===== GLOBAL: Breadcrumb tidy-up on account pages ===== */
body.com_hikashop nav[aria-label="Breadcrumbs"] {
  max-width: 900px;
  margin: 0 auto;
  padding: 14px 24px 0;
  font-size: 13px;
  color: #6b7280;
}
body.com_hikashop nav[aria-label="Breadcrumbs"] a {
  color: #1a4fa0;
  text-decoration: none;
}
/* ===== CONTROL PANEL (My Account) ===== */
.hikashop_cpanel_main_interface {
  max-width: 900px;
  margin: 30px auto 50px;
  padding: 0 24px;
}
.hikashop_dashboard.hk-row-fluid {
  display: flex !important;
  gap: 28px;
  align-items: flex-start;
}

/* --- Sidebar nav icons --- */
.hika_cpanel_side_bar {
  width: 220px !important;
  min-width: 220px;
  flex-shrink: 0;
}
.hika_cpanel_icons {
  background: #ffffff;
  border-radius: 14px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06);
  padding: 10px 0;
  overflow: hidden;
}.hika_cpanel_icon {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 14px 22px !important;
  text-decoration: none !important;
  color: #1A3A5C !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  font-family: 'DM Sans', system-ui, sans-serif !important;
  letter-spacing: 0.01em;
  border-left: 3px solid transparent !important;
  transition: all 0.15s ease !important;
  background: transparent !important;
  border-radius: 0 !important;
}
.hika_cpanel_icon:hover {
  background: rgba(248,168,168,0.08) !important;
  color: #1A3A5C !important;
  border-left-color: #f8a8a8 !important;
}.hika_cpanel_icon .hk-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  background: linear-gradient(135deg, #1A3A5C, #1a4fa0) !important;
  border-radius: 10px !important;
  font-size: 15px !important;
}
.hika_cpanel_icon .hk-icon i,
.hika_cpanel_icon .hk-icon .fas,
.hika_cpanel_icon .hk-icon .far {
  color: #ffffff !important;
  font-size: 15px !important;
}
.hika_cpanel_icon .hk-icon .fa-stack-1x {
  display: none !important;
}
.hika_cpanel_icon .hk-icon .fa-stack-2x {
  font-size: 15px !important;
  position: static !important;
}
.hikashop_cpanel_button_text {
  font-size: 14px !important;
  font-weight: 600 !important;
}
/* --- Main data area (recent orders) --- */
.hika_cpanel_main_data {
  flex: 1 !important;
  width: auto !important;
}
.hika_cpanel_main_data .hika_cpanel_main_top {
  margin-bottom: 16px;
}
.hika_cpanel_main_data_title {
  font-family: 'DM Sans', system-ui, sans-serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #1A3A5C !important;
  margin: 0 0 4px !important;
}

/* Order cards in control panel */
.hk-card.hk-card-order {
  background: #ffffff !important;
  border: none !important;
  border-radius: 14px !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
  overflow: hidden !important;
  margin-bottom: 16px !important;
}.hk-card-order .hk-card-header {
  background: linear-gradient(135deg, #1A3A5C, #0f2a47) !important;
  padding: 14px 22px !important;
  border: none !important;
}
.hk-card-order .hk-card-header a {
  color: #ffffff !important;
  text-decoration: none !important;
  font-weight: 600 !important;
}
.hk-card-order .hk-card-header .hika_cpanel_date,
.hk-card-order .hk-card-header .hika_cpanel_price {
  color: #374151 !important;
  font-size: 14px !important;
}
.hk-card-order .hk-card-header i {
  color: #f8a8a8 !important;
  margin-right: 6px;
}
.hk-card-order .hk-card-body {
  padding: 18px 22px !important;
}.hika_cpanel_title {
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  color: #6b7280 !important;
  font-weight: 500 !important;
}
.hika_cpanel_value {
  font-weight: 600 !important;
  color: #1A3A5C !important;
  font-size: 14px !important;
}
.order-label {
  display: inline-block !important;
  padding: 5px 14px !important;
  border-radius: 20px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
}
.order-label-shipped {
  background: rgba(16,185,129,0.12) !important;
  color: #059669 !important;
  border: none !important;
}.order-label-confirmed {
  background: rgba(26,79,160,0.1) !important;
  color: #1a4fa0 !important;
}
.order-label-created {
  background: rgba(248,168,168,0.15) !important;
  color: #c0392b !important;
}
.hk-card-order .hkdropdown .btn,
.hk-card-order .hkdropdown button {
  background: #f3f4f6 !important;
  color: #1A3A5C !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  padding: 6px 14px !important;
}
.hika_cpanel_products {
  border: none !important;
}
.hika_cpanel_product {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 12px 0 !important;
  border: none !important;
  border-top: 1px solid #f3f4f6 !important;
}.hika_cpanel_product_image_link img {
  width: 52px !important;
  height: 52px !important;
  object-fit: contain !important;
  border-radius: 8px !important;
  background: #f9fafb;
  padding: 4px;
}
.hika_cpanel_product a {
  color: #1A3A5C !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  line-height: 1.4;
}
.hika_cpanel_product a:hover {
  color: #1a4fa0 !important;
}
.hika_cpanel_product_price {
  font-size: 13px !important;
  color: #6b7280 !important;
  margin: 2px 0 0 !important;
}.hika_cpanel_order_methods {
  margin: 0 !important;
  padding: 0 !important;
}
.hika_cpanel_order_methods dt {
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  color: #9ca3af !important;
  font-weight: 600 !important;
  margin-top: 10px;
}
.hika_cpanel_order_methods dd {
  font-size: 13px !important;
  color: #1A3A5C !important;
  font-weight: 500 !important;
  margin: 2px 0 0 !important;
}


/* ===== ORDERS PAGE ===== */
#hikashop_order_listing {
  max-width: 900px;
  margin: 30px auto 50px;
  padding: 0 24px;
}#hikashop_order_listing > .hika_toolbar {
  display: none !important;
}
#hikashop_order_listing #adminForm > .hk-row-fluid {
  display: flex !important;
  gap: 16px;
  align-items: center;
  margin-bottom: 20px;
  flex-wrap: wrap;
}
#hikashop_order_listing #adminForm input[type="text"],
#hikashop_order_listing #adminForm input[type="search"] {
  border: 1px solid #e5e7eb !important;
  border-radius: 10px !important;
  padding: 10px 16px !important;
  font-size: 14px !important;
  background: #ffffff !important;
  color: #1A3A5C !important;
  min-width: 200px;
  transition: border-color 0.15s ease;
}#hikashop_order_listing #adminForm input[type="text"]:focus,
#hikashop_order_listing #adminForm input[type="search"]:focus {
  border-color: #f8a8a8 !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(248,168,168,0.15) !important;
}
#hikashop_order_listing #adminForm .btn,
#hikashop_order_listing #adminForm button[type="submit"] {
  background: #1A3A5C !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 10px 20px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
}
#hikashop_order_listing #adminForm .btn:hover,
#hikashop_order_listing #adminForm button[type="submit"]:hover {
  background: #1a4fa0 !important;
}#hikashop_order_listing select {
  border: 1px solid #e5e7eb !important;
  border-radius: 10px !important;
  padding: 10px 16px !important;
  font-size: 13px !important;
  background: #ffffff !important;
  color: #1A3A5C !important;
  min-width: 160px;
}
#hikashop_order_listing .hikashop_results_counter {
  font-size: 13px !important;
  color: #6b7280 !important;
  text-align: center !important;
  margin: 16px 0 !important;
}
#hikashop_order_listing .hikashop_order_listing {
  background: #ffffff;
  border-radius: 14px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06);
  overflow: hidden;
}#hikashop_order_listing .hikashop_orders_content > div {
  border-bottom: 1px solid #f3f4f6;
}
#hikashop_order_listing .hikashop_orders_content > div:last-child {
  border-bottom: none;
}
#hikashop_order_listing .display-limit {
  text-align: center;
  padding: 16px 0;
  font-size: 13px;
  color: #6b7280;
}


/* ===== ADDRESSES PAGE ===== */
#hikashop_address_listing {
  max-width: 900px;
  margin: 30px auto 50px;
  padding: 0 24px;
}
#hikashop_address_listing > .hika_toolbar {
  display: none !important;
}#hikashop_user_addresses_default {
  background: #ffffff;
  border-radius: 14px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06);
  padding: 22px 26px;
  margin-bottom: 28px;
}
#hikashop_user_addresses_default label,
#hikashop_user_addresses_default .control-label {
  font-size: 13px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: #6b7280 !important;
  font-weight: 600 !important;
  font-family: 'DM Sans', system-ui, sans-serif !important;
}#hikashop_user_addresses_default select {
  border: 1px solid #e5e7eb !important;
  border-radius: 10px !important;
  padding: 10px 16px !important;
  font-size: 14px !important;
  color: #1A3A5C !important;
  background: #ffffff !important;
  width: 100% !important;
  margin-top: 6px;
}
#hikashop_user_addresses_show h3 {
  font-family: 'DM Sans', system-ui, sans-serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #1A3A5C !important;
  margin: 0 0 14px !important;
  padding-bottom: 8px;
  border-bottom: 2px solid #f8a8a8;
  display: inline-block;
}.hikashop_address_listing_div .hk-row-fluid > div > div,
#hikashop_user_addresses_show .hk-card {
  background: #ffffff !important;
  border: 1px solid #f3f4f6 !important;
  border-radius: 14px !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04) !important;
  padding: 22px 24px !important;
  margin-bottom: 14px !important;
  transition: box-shadow 0.15s ease;
}
.hikashop_address_listing_div .hk-row-fluid > div > div:hover {
  box-shadow: 0 4px 16px rgba(0,0,0,0.08) !important;
}
#hikashop_user_addresses_show p {
  font-size: 14px !important;
  line-height: 1.7 !important;
  color: #374151 !important;
  margin: 0 !important;
}#hikashop_user_addresses_show a i.fa {
  color: #9ca3af !important;
  transition: color 0.15s ease;
}
#hikashop_user_addresses_show a:hover i.fa {
  color: #f8a8a8 !important;
}
/* New address buttons */
a.hikabtn[onclick*="address"] {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px;
  background: linear-gradient(135deg, #1A3A5C, #1a4fa0) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 10px 22px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
  box-shadow: 0 2px 8px rgba(26,58,92,0.2);
}a.hikabtn[onclick*="address"]:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(26,58,92,0.3);
}


/* ===== WISHLISTS PAGE ===== */
#hikashop_carts_listing {
  max-width: 900px;
  margin: 30px auto 50px;
  padding: 0 24px;
}
#hikashop_carts_listing .hikashop_header_title h1 {
  font-family: 'DM Sans', system-ui, sans-serif !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  color: #1A3A5C !important;
  margin: 0 0 20px !important;
}
#hikashop_carts_listing > .hika_toolbar {
  margin-bottom: 20px;
}#hikashop_carts_listing .hika_toolbar .hikabtn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px;
  background: #ffffff !important;
  color: #1A3A5C !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 10px !important;
  padding: 9px 18px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all 0.15s ease !important;
  box-shadow: none !important;
}
#hikashop_carts_listing .hika_toolbar .hikabtn:hover {
  background: rgba(248,168,168,0.08) !important;
  border-color: #f8a8a8 !important;
}#hikashop_cart_listing {
  width: 100% !important;
  background: #ffffff !important;
  border-radius: 14px !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  overflow: hidden;
}
#hikashop_cart_listing thead th {
  background: linear-gradient(135deg, #1A3A5C, #0f2a47) !important;
  color: #ffffff !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  font-weight: 600 !important;
  padding: 14px 20px !important;
  border: none !important;
  font-family: 'DM Sans', system-ui, sans-serif !important;
  text-align: left !important;
}#hikashop_cart_listing tbody td {
  padding: 14px 20px !important;
  font-size: 14px !important;
  color: #374151 !important;
  border-bottom: 1px solid #f3f4f6 !important;
  border-top: none !important;
  vertical-align: middle !important;
}
#hikashop_cart_listing tbody tr:hover {
  background: rgba(248,168,168,0.04) !important;
}
#hikashop_cart_listing tbody tr:last-child td {
  border-bottom: none !important;
}
#hikashop_cart_listing .fa-star {
  color: #f8a8a8 !important;
}
#hikashop_cart_listing .fa-trash,
#hikashop_cart_listing a[href*="delete"] {
  color: #d1d5db !important;
  transition: color 0.15s ease;
}#hikashop_cart_listing a[href*="delete"]:hover {
  color: #D32F2F !important;
}
#hikashop_cart_listing a[href*="cart"] {
  color: #1A3A5C !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}
#hikashop_cart_listing a[href*="cart"]:hover {
  color: #1a4fa0 !important;
}
#hikashop_carts_listing .display-limit,
#hikashop_order_listing .display-limit {
  text-align: center;
  padding: 16px 0;
  font-size: 13px;
  color: #6b7280;
}

/* ===== SHARED ===== */
.hikabtn, a.hikabtn {
  font-family: 'DM Sans', system-ui, sans-serif !important;
}
/* ===== MOBILE RESPONSIVE — Account Pages ===== */
@media (max-width: 768px) {
  .hikashop_cpanel_main_interface,
  #hikashop_order_listing,
  #hikashop_address_listing,
  #hikashop_carts_listing {
    padding: 0 16px;
    margin: 20px auto 40px;
  }
  .hikashop_dashboard.hk-row-fluid {
    flex-direction: column !important;
    gap: 16px;
  }
  .hika_cpanel_side_bar {
    width: 100% !important;
    min-width: 100% !important;
  }  .hika_cpanel_icons {
    display: flex !important;
    flex-wrap: wrap;
    padding: 8px;
    gap: 4px;
  }
  .hika_cpanel_icon {
    flex: 1 1 auto;
    justify-content: center !important;
    padding: 10px 14px !important;
    border-left: none !important;
    border-bottom: 2px solid transparent !important;
    border-radius: 10px !important;
    min-width: 0;
    text-align: center;
  }
  .hika_cpanel_icon:hover {
    border-left-color: transparent !important;
    border-bottom-color: #f8a8a8 !important;
  }
  .hika_cpanel_icon .hk-icon {
    width: 30px !important;
    height: 30px !important;
  }  .hika_cpanel_main_data {
    width: 100% !important;
  }
  #hikashop_user_addresses_show .hk-row-fluid {
    flex-direction: column;
  }
  #hikashop_carts_listing table {
    display: block !important;
    overflow-x: auto !important;
  }
}

@media (max-width: 480px) {
  .hika_cpanel_icon .hikashop_cpanel_button_text {
    font-size: 12px !important;
  }
  .hika_cpanel_icon .hk-icon {
    width: 26px !important;
    height: 26px !important;
    border-radius: 8px !important;
  }
  .hika_cpanel_icon .hk-icon .fa-stack-2x {
    font-size: 12px !important;
  }
  #hikashop_cart_listing thead th {
    padding: 10px 12px !important;
    font-size: 11px !important;
  }
  #hikashop_cart_listing tbody td {
    padding: 10px 12px !important;
    font-size: 13px !important;
  }
}/* =============================================================
   HIKASHOP ACCOUNT — SPACING & PROPORTION REFINEMENTS
   ============================================================= */

/* --- Widen the main container from 900px to 1100px --- */
.hikashop_cpanel_main_interface {
  max-width: 1200px !important;
  padding: 0 32px !important;
}

/* --- Increase gap between sidebar and main content --- */
.hikashop_dashboard.hk-row-fluid {
  gap: 56px !important;
}

/* --- Sidebar: slightly wider for breathing room --- */
.hika_cpanel_side_bar {
  width: 230px !important;
  min-width: 230px !important;
}
.hika_cpanel_icons {  padding: 12px 0 !important;
}
.hika_cpanel_icon {
  padding: 16px 24px !important;
}

/* --- Active sidebar item highlight --- */
.hika_cpanel_icon.hikashop_cpanel_order_div {
  background: rgba(248,168,168,0.08) !important;
  border-left-color: #f8a8a8 !important;
  color: #1A3A5C !important;
}

/* --- "Your last orders" title: more space below --- */
.hika_cpanel_main_data .hika_cpanel_main_top {
  margin-bottom: 12px !important;
}
.hika_cpanel_main_data_title {
  font-size: 22px !important;
}

/* --- Order card: more internal padding and breathing room --- */
.hk-card-order .hk-card-header {
  padding: 16px 28px !important;
}
.hk-card-order .hk-card-header .hika_cpanel_date,
.hk-card-order .hk-card-header .hika_cpanel_price {
  font-size: 15px !important;
}
.hk-card-order .hk-card-body {
  padding: 22px 28px !important;
}
/* More space between order number row items */
.hk-card-order .hk-card-body > .hk-row-fluid {
  padding: 6px 0 !important;
}
.hika_cpanel_title {
  font-size: 11px !important;
  margin-bottom: 2px !important;
  display: block !important;
}
.hika_cpanel_value {
  font-size: 15px !important;
}
/* Status badge: a bit more padding */
.order-label {
  padding: 6px 16px !important;
  font-size: 11px !important;
}
/* Actions button */
.hk-card-order .hkdropdown .btn,
.hk-card-order .hkdropdown button {
  padding: 8px 16px !important;
}

/* --- Product row inside order card: more breathing room --- */
.hika_cpanel_product {  padding: 16px 28px !important;
  gap: 18px !important;
}
.hika_cpanel_product_image_link {
  display: block !important;
  width: 56px !important;
  min-width: 56px !important;
  height: 56px !important;
  flex-shrink: 0 !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  background: #f9fafb;
}
.hika_cpanel_product_image_link img {
  width: 56px !important;
  height: 56px !important;
}
.hika_cpanel_product a {
  font-size: 14px !important;
}
.hika_cpanel_product_price {
  font-size: 14px !important;
  margin: 4px 0 0 !important;
}

/* --- Payment/shipping methods: more space --- */
.hika_cpanel_order_methods dt {
  margin-top: 14px !important;
  font-size: 11px !important;
}
.hika_cpanel_order_methods dd {
  font-size: 14px !important;
  margin: 3px 0 0 !important;
}
.hika_cpanel_order_methods dt:first-child {
  margin-top: 0 !important;
}

/* --- Also widen orders/addresses/wishlists pages to match --- */
#hikashop_order_listing {
  max-width: 1200px !important;
  padding: 0 32px !important;
}
#hikashop_address_listing {
  max-width: 1200px !important;
  padding: 0 32px !important;
}
#hikashop_carts_listing {
  max-width: 1200px !important;
  padding: 0 32px !important;
}

/* ========================================
   PHASE 3 MASTER FIX ADDITIONS
   ======================================== */

/* S1: Fix product grid to 4 columns (override HikaShop inline) */
.hikashop_products .hk-row-fluid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 20px !important;
}
.hikashop_products .hk-row-fluid > .hikashop_product,
.hikashop_products .hk-row-fluid > [class*="hkc-md-"] {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.hk-row-fluid::after,
.hikashop_products::after {
    content: none !important;
    display: none !important;
}

/* S1b: Homepage category grid - 4 columns */
.ej-cat-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 24px !important;
}
.ej-cat-card {
    width: 100% !important;
    float: none !important;
}

/* S2: ALL product action buttons - orange (including Choose Options) */
a.hikabtn.hikacart,
button.hikabtn.hikacart,
.hikashop_products a.hikabtn,
.hikashop_product_listing a.hikabtn {
    background: var(--accent) !important;
    background-color: var(--accent) !important;
    border: none !important;
    color: #1a1a2e !important;
    font-family: 'Poppins', sans-serif !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    padding: 11px 20px !important;
    border-radius: 8px !important;
    width: 100% !important;
    cursor: pointer !important;
    transition: all 0.25s ease !important;
    text-align: center !important;
    display: block !important;
    box-sizing: border-box !important;
    text-decoration: none !important;
}
a.hikabtn.hikacart:hover,
button.hikabtn.hikacart:hover,
.hikashop_products a.hikabtn:hover {
    background: #e09415 !important;
    background-color: #e09415 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 14px rgba(245,166,35,0.4) !important;
    color: #1a1a2e !important;
}

/* S2: Checkout/proceed button stays blue */
.hikashop_cart_proceed_to_checkout,
a.hikashop_cart_proceed_to_checkout,
input.hikashop_cart_proceed_to_checkout,
.hikashop_checkout_page button[type="submit"] {
    background: var(--primary) !important;
    color: white !important;
}

/* S3a: Product detail page - fix top part 50/50 grid */
#hikashop_product_top_part,
.hikashop_product_top_part {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 48px !important;
    align-items: start !important;
}
.hikashop_product_left_part,
.hikashop_product_right_part {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    padding: 0 !important;
}
/* Override .hikashop_product on product detail page */
.hikashop_product_page .hikashop_product {
    display: block !important;
    grid-template-columns: none !important;
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 0 !important;
}
.hikashop_product_page .hikashop_product:hover {
    transform: none !important;
    box-shadow: none !important;
    border-color: transparent !important;
}

/* S3a: Product page title */
.hikashop_product_name_main h1 {
    font-size: 1.6rem !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
    margin-bottom: 12px !important;
}

/* S3a: Product main image */
.hikashop_product_main_image img,
.hikashop_product_main_image_subdiv img {
    width: 100% !important;
    max-height: 460px !important;
    object-fit: contain !important;
    background: #f8f9fa !important;
    border-radius: 12px !important;
    padding: 16px !important;
    border: 1px solid var(--border) !important;
}

/* S3b: Style radio buttons as pill/chip selectors */
.hikashop_product_characteristics .form-check.form-check-inline {
    display: inline-block !important;
    margin: 4px !important;
    padding: 0 !important;
}
.hikashop_product_characteristics .form-check-input[type="radio"] {
    display: none !important;
}
.hikashop_product_characteristics .form-check-label {
    display: inline-block !important;
    padding: 8px 16px !important;
    border: 2px solid var(--border) !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    font-family: 'Inter', sans-serif !important;
    color: var(--dark) !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    background: white !important;
    white-space: nowrap !important;
}
.hikashop_product_characteristics .form-check-label:hover {
    border-color: var(--primary) !important;
    background: var(--light-bg) !important;
}
.hikashop_product_characteristics .form-check-input:checked + .form-check-label {
    border-color: var(--primary) !important;
    background: var(--primary) !important;
    color: white !important;
    font-weight: 600 !important;
}

/* S3b: Characteristics table layout fix */
.hikashop_product_characteristics_table {
    width: 100% !important;
    border: none !important;
    border-collapse: collapse !important;
}
.hikashop_product_characteristics_table td {
    padding: 8px 0 !important;
    border: none !important;
    vertical-align: top !important;
}
.hikashop_product_characteristics_table td:first-child {
    font-family: 'Inter', sans-serif !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    color: var(--dark) !important;
    padding-right: 16px !important;
    white-space: nowrap !important;
    padding-top: 14px !important;
}

/* S3c: Hide variant default error banner */
#system-message-container .alert.alert-info {
    display: none !important;
}

/* S3d: Trust bar / USP bar - ensure horizontal layout */
.ej-usp-grid {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-around !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 16px !important;
}
.ej-usp-item {
    flex: 0 0 auto !important;
    width: auto !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}
.ej-trust-badges {
    display: flex !important;
    flex-direction: row !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 24px !important;
}
.ej-trust-badge {
    flex: 0 0 auto !important;
    width: auto !important;
}

/* S4c: Remove HikaShop/Joomla branding */
a[href*="hikashop.com"],
.hikashop_powered_by,
.hikashop_footer_link,
.hikashop_footer {
    display: none !important;
}

/* S11b: Reduce hero banner height */
.ej-hero {
    min-height: 320px !important;
    max-height: 420px !important;
    padding: 30px 0 !important;
    overflow: hidden !important;
}
.ej-hero-content {
    padding: 30px !important;
    gap: 30px !important;
}
.ej-hero h1 {
    font-size: clamp(1.5rem, 2.8vw, 2.2rem) !important;
    margin-bottom: 10px !important;
}
.ej-hero p {
    font-size: 15px !important;
    margin-bottom: 16px !important;
}
.ej-hero-stats {
    margin-top: 16px !important;
    padding-top: 12px !important;
}
.ej-feature-card {
    padding: 12px 10px !important;
}
.ej-feature-card .icon {
    font-size: 20px !important;
}

/* S11c: Category images - prevent cropping */
.ej-cat-card img,
.hikashop_category img,
.hikashop_category_listing_item img {
    width: 100% !important;
    height: 200px !important;
    object-fit: cover !important;
    object-position: center center !important;
    display: block !important;
    max-width: 100% !important;
}
.ej-cat-card,
.hikashop_category,
.hikashop_category_listing_item {
    overflow: hidden !important;
}

/* S8a: Search bar styling */
.container-search input[type="search"],
.container-search input[type="text"],
.mod-finder__input {
    border-radius: 25px !important;
    border: 2px solid var(--border) !important;
    padding: 8px 18px !important;
    font-size: 14px !important;
    font-family: 'Inter', sans-serif !important;
    min-width: 200px !important;
    background: white !important;
}
.container-search input:focus,
.mod-finder__input:focus {
    border-color: var(--primary) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(26,79,160,0.1) !important;
}

/* Product detail: Add to cart button */
.hikashop_product_page button.hikabtn.hikacart {
    background: var(--accent) !important;
    color: #1a1a2e !important;
    font-family: 'Poppins', sans-serif !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    padding: 15px 40px !important;
    border-radius: 10px !important;
    border: none !important;
    cursor: pointer !important;
    transition: all 0.25s ease !important;
    box-shadow: 0 4px 16px rgba(245,166,35,0.35) !important;
    min-width: 200px !important;
    width: auto !important;
    display: inline-block !important;
}
.hikashop_product_page button.hikabtn.hikacart:hover {
    background: #e09415 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 24px rgba(245,166,35,0.45) !important;
}

/* Product detail: quantity controls */
.hikashop_product_page .hikashop_product_quantity_field {
    width: 60px !important;
    text-align: center !important;
    border: 2px solid var(--border) !important;
    border-radius: 8px !important;
    padding: 10px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
}
.hikashop_product_quantity_field_change {
    width: 36px !important;
    height: 36px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 8px !important;
    border: 1px solid var(--border) !important;
    background: var(--light-bg) !important;
    color: var(--dark) !important;
    font-size: 18px !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}
.hikashop_product_quantity_field_change:hover {
    background: var(--primary) !important;
    color: white !important;
    border-color: var(--primary) !important;
}

/* Product detail: description */
.hikashop_product_description_main {
    margin-top: 24px !important;
    padding-top: 24px !important;
    border-top: 1px solid var(--border) !important;
    line-height: 1.7 !important;
    font-size: 15px !important;
}

/* Product detail: bottom part */
.hikashop_product_bottom_part {
    margin-top: 48px !important;
    padding-top: 32px !important;
    border-top: 1px solid var(--border) !important;
}

/* Product detail: variant thumb images */
.hikashop_child_image {
    border: 2px solid transparent !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    padding: 4px !important;
    transition: border-color 0.2s ease !important;
}
.hikashop_child_image:hover,
.hikashop_child_image_active {
    border-color: var(--primary) !important;
}

/* Fix product card on listing to not be affected by detail page overrides */
.hikashop_products_listing .hikashop_product {
    display: flex !important;
    flex-direction: column !important;
}

/* Product listing: button container */
.hikashop_listing_img_title .hikashop_product_stock_count {
    padding: 0 16px !important;
    margin-top: auto !important;
}
.hikashop_listing_img_title > a.hikabtn.hikacart {
    margin: 8px 16px 16px !important;
    width: calc(100% - 32px) !important;
}

/* ========================================
   PHASE 3 RESPONSIVE OVERRIDES
   ======================================== */

@media (max-width: 1024px) {
    .hikashop_products .hk-row-fluid {
        grid-template-columns: repeat(3, 1fr) !important;
    }
    .ej-cat-grid {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}

@media (max-width: 768px) {
    /* Prevent horizontal overflow on mobile */
    html, body {
        overflow-x: hidden !important;
        max-width: 100vw !important;
    }

    /* Product listing grid */
    .hikashop_products .hk-row-fluid,
    .container-main-bottom .hk-row-fluid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    .ej-cat-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    /* =============================================
       PRODUCT DETAIL PAGE â€” MOBILE LAYOUT FIX
       ============================================= */

    /* Force the hk-row-fluid wrapping left/right to single column */
    form[name="hikashop_product_form"] > .hk-row-fluid,
    .hikashop_product_page .hk-row-fluid {
        display: flex !important;
        flex-direction: column !important;
        gap: 16px !important;
    }

    /* Left and right parts: full width, stacked */
    .hikashop_product_left_part,
    .hikashop_product_right_part,
    .hikashop_product_left_part.hkc-md-6,
    .hikashop_product_right_part.hkc-md-6 {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        float: none !important;
        display: block !important;
        padding: 0 !important;
        margin: 0 !important;
        grid-column: 1 / -1 !important;
        box-sizing: border-box !important;
    }
    .hikashop_product_right_part {
        margin-top: 16px !important;
    }

    /* Override the inline height:520px on image thumb container */
    .hikashop_product_main_image_thumb,
    .hikashop_product_main_image_thumb.hikashop_img_mode_classic {
        height: auto !important;
  width: 100% !important;
        max-height: 300px !important;
        overflow: hidden !important;
    }

    /* Product detail: unstick image */
    .hikashop_main_image_div,
    .hikashop_product_main_image,
    .hikashop_product_main_image_subdiv {
        position: static !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
    }

    /* Global image div container */
    .hikashop_global_image_div {
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
    }

    /* Product detail images: fit within screen */
    .hikashop_product_main_image img,
    .hikashop_product_main_image_subdiv img,
    #hikashop_main_image {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: 280px !important;
        object-fit: contain !important;
    }

    /* Thumbnail images row */
    .hikashop_small_image_div {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 6px !important;
        justify-content: center !important;
        overflow: hidden !important;
    }
    .hikashop_small_image_div a {
        flex-shrink: 0 !important;
    }
    .hikashop_child_image {
        width: 50px !important;
        height: 50px !important;
        object-fit: contain !important;
    }

    /* Image slider prev/next arrows — smaller on mobile */
    .hikashop_slide_prev_active,
    .hikashop_slide_next_active {
        width: 32px !important;
        height: 32px !important;
        font-size: 1.1rem !important;
    }

    /* Product listing card images: constrain on mobile */
    .hikashop_product .hikashop_product_image {
        aspect-ratio: auto !important;
        height: auto !important;
        max-height: 220px !important;
    }
    .hikashop_product .hikashop_product_image img {
        width: 100% !important;
        height: auto !important;
        max-height: 220px !important;
        object-fit: contain !important;
    }

    /* Product cards: prevent vertical stretch */
    .hikashop_product, .hikashop_product_listing_item {
        height: auto !important;
        max-height: none !important;
        min-height: 0 !important;
    }

    /* Selects and inputs: fit within screen */
    .hikashop_product_page select,
    .hikashop_product_characteristic select {
        max-width: 100% !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    /* Product characteristics table: prevent overflow */
    .hikashop_product_characteristics_table {
        width: 100% !important;
        table-layout: fixed !important;
    }
    .hikashop_product_characteristics_table td {
        display: block !important;
        width: 100% !important;
    }
    .hikashop_product_characteristics_table td:first-child {
        padding-right: 0 !important;
        padding-bottom: 4px !important;
    }

    /* Pill/chip selectors: ensure wrapping */
    .hikashop_product_characteristics .controls {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 6px !important;
    }
    .hikashop_product_characteristics .form-check.form-check-inline {
        margin: 2px !important;
    }

    /* Add to cart button: full width on mobile */
    .hikashop_product_page button.hikabtn.hikacart,
    .hikashop_product_page .hikabtn.hikacart {
        width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    /* Quantity controls: constrain */
    .hikashop_product_quantity_div {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    /* Category images */
    .ej-cat-card img,
    .hikashop_category img,
    .hikashop_category_listing_item img {
        height: 160px !important;
    }

    /* Hero */
    .ej-hero {
        min-height: auto !important;
        max-height: none !important;
    }

    /* Product description: handle inline-styled elements with min-width */
    .hikashop_product_description_main,
    .hikashop_product_description_main * {
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
    }
    .hikashop_product_description_main [style*="min-width"] {
        min-width: 0 !important;
        width: 100% !important;
    }
    .hikashop_product_description_main [style*="display: flex"],
    .hikashop_product_description_main [style*="display:flex"] {
        flex-wrap: wrap !important;
    }
    .hikashop_product_description_main img {
        max-width: 100% !important;
        height: auto !important;
    }

    /* Product bottom part */
    .hikashop_product_bottom_part {
        margin-top: 24px !important;
        padding-top: 16px !important;
    }

    /* Ensure main container doesn't overflow */
    .container-component,
    .grid-child,
    #component,
    .com-hikashop,
    .hikashop_product_page,
    .site-grid {
        max-width: 100vw !important;
        overflow-x: hidden !important;
        box-sizing: border-box !important;
    }

    /* Product top part (title area) */
    #hikashop_product_top_part,
    .hikashop_product_top_part {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    #hikashop_product_top_part h1,
    .hikashop_product_name_main {
        font-size: 1.25rem !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
    }

    /* Form container */
    form[name="hikashop_product_form"] {
        max-width: 100% !important;
        overflow-x: hidden !important;
        box-sizing: border-box !important;
    }
}

@media (max-width: 480px) {
    .hikashop_products .hk-row-fluid,
    .container-main-bottom .hk-row-fluid {
        grid-template-columns: 1fr !important;
    }
    .ej-cat-grid {
        grid-template-columns: 1fr !important;
    }

    /* Image thumb: even smaller on phones */
    .hikashop_product_main_image_thumb {
        max-height: 240px !important;
    }
    .hikashop_product_main_image img,
    .hikashop_product_main_image_subdiv img,
    #hikashop_main_image {
        max-height: 220px !important;
    }

    /* Price: slightly smaller */
    .hikashop_product_page .hikashop_product_price {
        font-size: 1.5rem !important;
    }

    /* Add to cart: slightly less padding */
    .hikashop_product_page button.hikabtn.hikacart,
    .hikashop_product_page .hikabtn.hikacart {
        padding: 12px 20px !important;
        font-size: 15px !important;
    }

    /* Thumbnail images even smaller */
    .hikashop_child_image {
        width: 42px !important;
        height: 42px !important;
    }

    /* Pill selectors: compact on small screens */
    .hikashop_product_characteristics .form-check-label {
        padding: 6px 10px !important;
        font-size: 11px !important;
    }

    /* Product listing card images */
    .hikashop_product .hikashop_product_image {
        max-height: 180px !important;
    }
    .hikashop_product .hikashop_product_image img {
        max-height: 180px !important;
    }
}
/* HIKASHOP ACTION PAGES RESTYLE */
a[href*="withdrawal"],a[href*="withdraw"],.hikashop_order_withdrawal_link{display:none !important}#hikashop_order_main{max-width:1200px !important;margin:30px auto 50px !important;padding:0 32px !important;font-family:'DM Sans',sans-serif !important}#hikashop_order_main .hikashop_order_title,.componentheading,main>h1,#system-message-container+h1,.hikashop_order_title{font-family:'DM Sans',sans-serif !important;font-size:28px !important;font-weight:700 !important;color:#1A3A5C !important;margin:0 0 20px 0 !important;padding:0 !important}#hikashop_order_main .hk_toolbar,#hikashop_order_main .hikashop_header_buttons,.hikashop_order_title+div,#toolbar{display:flex !important;gap:12px !important;flex-wrap:wrap !important;margin-bottom:28px !important;justify-content:flex-end !important}#hikashop_order_main .hk_toolbar a.hikabtn,#hikashop_order_main .hikashop_header_buttons a,#hikashop_order_main a.hikabtn{display:inline-flex !important;align-items:center !important;gap:8px !important;padding:10px 22px !important;border-radius:10px !important;font-family:'DM Sans',sans-serif !important;font-size:14px !important;font-weight:600 !important;text-decoration:none !important;transition:all 0.2s ease !important;border:1.5px solid #e5e7eb !important;background:#fff !important;color:#1A3A5C !important;cursor:pointer !important;line-height:1.4 !important}#hikashop_order_main .hk_toolbar a.hikabtn:hover,#hikashop_order_main .hikashop_header_buttons a:hover,#hikashop_order_main a.hikabtn:hover{background:#f8f9fa !important;border-color:#f8a8a8 !important;color:#1a4fa0 !important}#hikashop_order_main a.hikabtn i,#hikashop_order_main a.hikabtn .fas,#hikashop_order_main a.hikabtn .far,#hikashop_order_main a.hikabtn .fa{font-size:14px !important;color:#1a4fa0 !important}.hikashop_order_main_table{width:100% !important;border-collapse:separate !important;border-spacing:0 !important;background:#fff !important;border-radius:14px !important;box-shadow:0 2px 12px rgba(0,0,0,0.06) !important;overflow:hidden !important;margin-bottom:30px !important}.hikashop_order_main_table>tbody>tr>td{padding:28px 32px !important;vertical-align:top !important}#hikashop_order_right_part{font-family:'DM Sans',sans-serif !important;font-size:14px !important;color:#374151 !important;line-height:1.7 !important;margin-bottom:8px !important}#hikashop_order_left_part{font-family:'DM Sans',sans-serif !important;font-size:14px !important;color:#374151 !important;line-height:1.7 !important}#htmlfieldset_billing,#htmlfieldset_shipping{border:none !important;padding:0 !important;margin:0 !important}#htmlfieldset_billing legend,#htmlfieldset_shipping legend{font-family:'DM Sans',sans-serif !important;font-size:20px !important;font-weight:700 !important;color:#1A3A5C !important;padding-bottom:10px !important;margin-bottom:14px !important;border-bottom:3px solid #f8a8a8 !important;background:transparent !important;width:100% !important;display:block !important}#htmlfieldset_billing .hikashop_user_address_field,#htmlfieldset_shipping .hikashop_user_address_field,#htmlfieldset_billing td,#htmlfieldset_shipping td,#htmlfieldset_billing .hikashop_user_address_data,#htmlfieldset_shipping .hikashop_user_address_data{font-family:'DM Sans',sans-serif !important;font-size:14px !important;color:#374151 !important;line-height:1.7 !important}.hikashop_order_main_table table{width:100% !important}.hikashop_order_main_table table td{vertical-align:top !important;width:50% !important;padding:16px 20px !important}#hikashop_order_main .hikashop_order_products_title,.hikashop_order_products_title{font-family:'DM Sans',sans-serif !important;font-size:20px !important;font-weight:700 !important;color:#1A3A5C !important;margin:30px 0 16px !important;padding-bottom:10px !important;border-bottom:3px solid #f8a8a8 !important}#hikashop_order_main .hikashop_order_products_table,.hikashop_order_products_table,#hikashop_order_main table.adminlist{width:100% !important;border-collapse:separate !important;border-spacing:0 !important;border-radius:12px !important;overflow:hidden !important;box-shadow:0 1px 6px rgba(0,0,0,0.04) !important;margin-bottom:24px !important}#hikashop_order_main .hikashop_order_products_table thead tr,#hikashop_order_main table.adminlist thead tr,.hikashop_order_products_table thead tr{background:linear-gradient(135deg,#1A3A5C 0%,#1a4fa0 100%) !important}#hikashop_order_main .hikashop_order_products_table thead th,#hikashop_order_main table.adminlist thead th,.hikashop_order_products_table thead th{font-family:'DM Sans',sans-serif !important;font-size:12px !important;font-weight:700 !important;color:#fff !important;text-transform:uppercase !important;letter-spacing:0.05em !important;padding:14px 18px !important;border:none !important;background:transparent !important}#hikashop_order_main .hikashop_order_products_table tbody td,#hikashop_order_main table.adminlist tbody td,.hikashop_order_products_table tbody td{font-family:'DM Sans',sans-serif !important;font-size:14px !important;color:#374151 !important;padding:16px 18px !important;border-bottom:1px solid #f3f4f6 !important;vertical-align:middle !important;background:#fff !important}#hikashop_order_main .hikashop_order_products_table tbody tr:last-child td,#hikashop_order_main table.adminlist tbody tr:last-child td{border-bottom:none !important}#hikashop_order_main .hikashop_order_products_table a,.hikashop_order_products_table a{color:#1a4fa0 !important;text-decoration:none !important;font-weight:500 !important}#hikashop_order_main .hikashop_order_products_table a:hover,.hikashop_order_products_table a:hover{color:#1A3A5C !important;text-decoration:underline !important}#hikashop_order_main .hikashop_order_products_table img,.hikashop_order_products_table img{width:48px !important;height:48px !important;object-fit:cover !important;border-radius:8px !important;border:1px solid #f3f4f6 !important}#hikashop_order_main .hikashop_order_subtotal,#hikashop_order_main .hikashop_order_shipping,#hikashop_order_main .hikashop_order_total,.hikashop_order_subtotal,.hikashop_order_shipping,.hikashop_order_total{font-family:'DM Sans',sans-serif !important;font-size:14px !important;color:#374151 !important}#hikashop_order_main .hikashop_order_total,.hikashop_order_total{font-weight:700 !important;font-size:16px !important;color:#1A3A5C !important;border-top:2px solid #f8a8a8 !important;padding-top:10px !important}#hikashop_order_main table[style*="float"] td,#hikashop_order_main .hikashop_order_total_row td{font-family:'DM Sans',sans-serif !important;padding:8px 18px !important}#hikashop_order_main .hikashop_order_shipping_method,#hikashop_order_main .hikashop_order_payment_method,#hikashop_order_main>form>table+div,#hikashop_order_main span[style*="font-size"]{font-family:'DM Sans',sans-serif !important;font-size:14px !important;color:#6b7280 !important;line-height:1.8 !important}.hikashop_order_contact_page{max-width:800px !important;margin:30px auto 50px !important;padding:0 24px !important;font-family:'DM Sans',sans-serif !important}#hikashop_order_contact_form{background:#fff !important;border-radius:14px !important;box-shadow:0 2px 12px rgba(0,0,0,0.06) !important;padding:32px 36px !important}#hikashop_order_contact_form>fieldset{border:none !important;padding:0 !important;margin:0 0 24px 0 !important}#hikashop_order_contact_form h1,.hikashop_order_contact_page h1{font-family:'DM Sans',sans-serif !important;font-size:24px !important;font-weight:700 !important;color:#1A3A5C !important;margin:0 !important;float:none !important}#hikashop_order_contact_form .hikabtn-success,.hikashop_order_contact_page .hikabtn-success{background:linear-gradient(135deg,#1A3A5C 0%,#1a4fa0 100%) !important;color:#fff !important;border:none !important;border-radius:10px !important;padding:10px 24px !important;font-family:'DM Sans',sans-serif !important;font-size:14px !important;font-weight:600 !important;cursor:pointer !important;transition:all 0.2s ease !important}#hikashop_order_contact_form .hikabtn-success:hover{background:linear-gradient(135deg,#1a4fa0 0%,#1A3A5C 100%) !important;transform:translateY(-1px) !important;box-shadow:0 4px 12px rgba(26,58,92,0.3) !important}#hikashop_order_contact_form .hikabtn-danger,.hikashop_order_contact_page .hikabtn-danger{background:#fff !important;color:#D32F2F !important;border:1.5px solid #D32F2F !important;border-radius:10px !important;padding:10px 24px !important;font-family:'DM Sans',sans-serif !important;font-size:14px !important;font-weight:600 !important;cursor:pointer !important;transition:all 0.2s ease !important}#hikashop_order_contact_form .hikabtn-danger:hover{background:#fef2f2 !important}#hikashop_order_contact_form #toolbar,#hikashop_order_contact_form .toolbar{display:flex !important;gap:12px !important;float:right !important}#hikashop_order_contact_form dt,.hikashop_order_contact_page dt,#hikashop_order_contact_form .hikashop_contact_item_name{font-family:'DM Sans',sans-serif !important;font-size:14px !important;font-weight:600 !important;color:#1A3A5C !important;margin:20px 0 8px !important}#hikashop_order_contact_form dt label{font-family:'DM Sans',sans-serif !important;font-weight:600 !important;color:#1A3A5C !important}#hikashop_order_contact_form .hikashop_field_required_label{color:#D32F2F !important}#hikashop_order_contact_form dd{margin:0 !important;padding:0 !important}#hikashop_order_contact_form textarea,#hikashop_contact_altbody{width:100% !important;min-height:180px !important;border:1.5px solid #e5e7eb !important;border-radius:12px !important;padding:16px 18px !important;font-family:'DM Sans',sans-serif !important;font-size:14px !important;color:#374151 !important;background:#fafafa !important;resize:vertical !important;transition:border-color 0.15s ease,box-shadow 0.15s ease !important;box-sizing:border-box !important}#hikashop_order_contact_form textarea:focus,#hikashop_contact_altbody:focus{border-color:#f8a8a8 !important;background:#fff !important;outline:none !important;box-shadow:0 0 0 3px rgba(248,168,168,0.18) !important}#hikashop_order_contact_form input[type="text"],#hikashop_order_contact_form input[type="email"],#hikashop_order_contact_form select{width:100% !important;border:1.5px solid #e5e7eb !important;border-radius:10px !important;padding:10px 16px !important;font-family:'DM Sans',sans-serif !important;font-size:14px !important;color:#374151 !important;background:#fafafa !important;transition:border-color 0.15s ease !important;box-sizing:border-box !important}#hikashop_order_contact_form input[type="text"]:focus,#hikashop_order_contact_form input[type="email"]:focus{border-color:#f8a8a8 !important;background:#fff !important;outline:none !important;box-shadow:0 0 0 3px rgba(248,168,168,0.18) !important}#hikashop_order_contact_form dl{margin:0 !important;padding:0 !important}body.contentpane #hikashop_order_main,body[class*="tmpl"] #hikashop_order_main{max-width:900px !important;margin:20px auto !important;padding:24px !important;font-family:'DM Sans',sans-serif !important}nav[aria-label="Breadcrumbs"]{max-width:1200px !important;margin:0 auto 10px !important;padding:14px 32px !important}nav[aria-label="Breadcrumbs"] ol,nav[aria-label="Breadcrumbs"] ul{font-family:'DM Sans',sans-serif !important;font-size:13px !important}nav[aria-label="Breadcrumbs"] a{color:#1a4fa0 !important;text-decoration:none !important}nav[aria-label="Breadcrumbs"] a:hover{color:#1A3A5C !important;text-decoration:underline !important}.hkdropdown .dropdown-menu,.hkdropdown .hk_dropdown_menu{background:#fff !important;border:1px solid #e5e7eb !important;border-radius:12px !important;box-shadow:0 4px 20px rgba(0,0,0,0.1) !important;padding:8px 0 !important;min-width:200px !important}.hkdropdown .dropdown-menu a,.hkdropdown .hk_dropdown_menu a,.hkdropdown .dropdown-menu li a,.hkdropdown ul li a{font-family:'DM Sans',sans-serif !important;font-size:14px !important;color:#374151 !important;padding:10px 18px !important;display:flex !important;align-items:center !important;gap:10px !important;text-decoration:none !important;transition:all 0.15s ease !important}.hkdropdown .dropdown-menu a:hover,.hkdropdown .hk_dropdown_menu a:hover,.hkdropdown .dropdown-menu li a:hover,.hkdropdown ul li a:hover{background:rgba(248,168,168,0.1) !important;color:#1A3A5C !important}.hkdropdown .dropdown-menu a i,.hkdropdown ul li a i{color:#1a4fa0 !important;width:16px !important;text-align:center !important}#hikashop_order_main a.hikabtn[href*="withdrawal"],#hikashop_order_main .hika_toolbar_btn a[href*="withdrawal"],.hika_toolbar_btn a[href*="withdrawal"]{display:none !important;height:0 !important;width:0 !important;overflow:hidden !important;padding:0 !important;margin:0 !important;border:0 !important;opacity:0 !important;pointer-events:none !important}.header.hikashop_header_title h1,#hikashop_order_main .header.hikashop_header_title h1{font-family:"DM Sans",sans-serif !important;font-size:28px !important;font-weight:700 !important;color:#1A3A5C !important;margin:0 0 20px 0 !important;padding:0 !important}#htmlfieldset_products{border:none !important;padding:0 !important;margin:20px 0 0 !important}#htmlfieldset_products>legend{font-family:"DM Sans",sans-serif !important;font-size:20px !important;font-weight:700 !important;color:#1A3A5C !important;padding-bottom:10px !important;margin-bottom:16px !important;border-bottom:3px solid #f8a8a8 !important;background:transparent !important;width:100% !important}#htmlfieldset_products>table{width:100% !important;border-collapse:separate !important;border-spacing:0 !important;border-radius:12px !important;overflow:hidden !important;box-shadow:0 1px 6px rgba(0,0,0,0.04) !important;margin-bottom:24px !important}#htmlfieldset_products>table>thead>tr{background:linear-gradient(135deg,#1A3A5C 0%,#1a4fa0 100%) !important}#htmlfieldset_products>table>thead>tr>th,#htmlfieldset_products>table>thead th{font-family:"DM Sans",sans-serif !important;font-size:12px !important;font-weight:700 !important;color:#fff !important;text-transform:uppercase !important;letter-spacing:0.05em !important;padding:14px 18px !important;border:none !important;background:transparent !important}#htmlfieldset_products>table>tbody>tr>td,#htmlfieldset_products>table tbody td{font-family:"DM Sans",sans-serif !important;font-size:14px !important;color:#374151 !important;padding:16px 18px !important;border-bottom:1px solid #f3f4f6 !important;vertical-align:middle !important;background:#fff !important}#htmlfieldset_products>table>tbody>tr:last-child>td{border-bottom:none !important}#htmlfieldset_products a.hikashop_order_product_link{color:#1a4fa0 !important;text-decoration:none !important;font-weight:500 !important}#htmlfieldset_products a.hikashop_order_product_link:hover{color:#1A3A5C !important;text-decoration:underline !important}#htmlfieldset_products .hikashop_order_item_image{width:48px !important;height:48px !important;object-fit:cover !important;border-radius:8px !important;border:1px solid #f3f4f6 !important}.hikashop_order_subtotal_title,.hikashop_order_subtotal_value{font-family:"DM Sans",sans-serif !important;font-size:14px !important;color:#374151 !important;padding:10px 18px !important;border-top:1px solid #e5e7eb !important}.hikashop_order_total_title,.hikashop_order_total_value{font-family:"DM Sans",sans-serif !important;font-size:16px !important;font-weight:700 !important;color:#1A3A5C !important;padding:12px 18px !important;border-top:2px solid #f8a8a8 !important}.hikashop_order_shipping_method,.hikashop_order_payment_method{font-family:"DM Sans",sans-serif !important;font-size:14px !important;color:#6b7280 !important;line-height:1.8 !important;margin:8px 0 !important}/* ============================================= PRODUCT PAGE RESTYLE — DESKTOP + MOBILE EJRange Colour Palette:Navy #1A3A5C,Blue #1a4fa0,Blush #f8a8a8,Red CTA #D32F2F ============================================= */ .hikashop_product_page,.com_hikashop_product{max-width:1140px !important;margin:0 auto !important;padding:0 24px !important;box-sizing:border-box !important;}#hikashop_product_top_part{display:block !important;grid-template-columns:none !important;margin-bottom:16px !important;padding:0 !important;}#hikashop_product_top_part h1,.hikashop_product_name_main h1,.hikashop_product_name_main{font-family:"DM Sans",sans-serif !important;font-size:22px !important;font-weight:700 !important;line-height:1.35 !important;color:#1A3A5C !important;margin:0 0 8px 0 !important;padding:0 !important;display:-webkit-box !important;-webkit-line-clamp:2 !important;-webkit-box-orient:vertical !important;overflow:hidden !important;text-overflow:ellipsis !important;max-height:2.7em !important;}form[name="hikashop_product_form"] > .hk-row-fluid,.hikashop_product_page .hk-row-fluid:not(.hikashop_products .hk-row-fluid){display:grid !important;grid-template-columns:1fr 1fr !important;gap:28px !important;align-items:start !important;}#hikashop_product_left_part,.hikashop_product_left_part,.hikashop_product_left_part.hkc-md-6{width:100% !important;max-width:100% !important;float:none !important;padding:0 !important;}#hikashop_product_right_part,.hikashop_product_right_part,.hikashop_product_right_part.hkc-md-6{width:100% !important;max-width:100% !important;float:none !important;padding:20px 24px !important;background:#fff !important;border-radius:12px !important;box-shadow:0 1px 8px rgba(0,0,0,0.06) !important;box-sizing:border-box !important;}.hikashop_product_page .hikashop_product_price_full,.hikashop_product_page .hikashop_product_price{font-family:"DM Sans",sans-serif !important;font-size:26px !important;font-weight:800 !important;color:#D32F2F !important;margin-bottom:8px !important;}.hikashop_product_page .hikashop_product_price_per_unit,.hikashop_product_page .hikashop_product_price .hikashop_product_price_before_discount{font-size:14px !important;color:#6b7280 !important;font-weight:400 !important;}.hikashop_product_stock_count,.hikashop_product_page .hikashop_product_stock{font-family:"DM Sans",sans-serif !important;font-size:13px !important;color:#16a34a !important;font-weight:600 !important;margin:6px 0 12px !important;}.hikashop_product_page .hikashop_product_characteristics{margin:12px 0 !important;padding:0 !important;}.hikashop_product_page .hikashop_product_characteristics_table td:first-child{font-family:"DM Sans",sans-serif !important;font-size:13px !important;font-weight:600 !important;color:#374151 !important;padding-top:10px !important;}.hikashop_product_page .hikashop_product_characteristics .form-check-label{font-family:"DM Sans",sans-serif !important;font-size:12px !important;padding:6px 14px !important;border-radius:6px !important;}.hikashop_product_page .hikashop_product_characteristic select{font-family:"DM Sans",sans-serif !important;font-size:14px !important;padding:10px 14px !important;border:1.5px solid #e5e7eb !important;border-radius:8px !important;background:#fafafa !important;color:#374151 !important;width:100% !important;box-sizing:border-box !important;}.hikashop_product_page .hikashop_product_characteristic select:focus{border-color:#1a4fa0 !important;outline:none !important;box-shadow:0 0 0 3px rgba(26,79,160,0.1) !important;}.hikashop_product_page .hikashop_product_quantity_div{display:flex !important;align-items:center !important;gap:10px !important;margin:14px 0 !important;flex-wrap:wrap !important;}.hikashop_product_page .hikashop_product_quantity_field{width:52px !important;text-align:center !important;border:1.5px solid #e5e7eb !important;border-radius:8px !important;padding:8px !important;font-size:15px !important;font-weight:600 !important;font-family:"DM Sans",sans-serif !important;}.hikashop_product_page .hikashop_product_quantity_field_change{width:34px !important;height:34px !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;border-radius:6px !important;border:1px solid #e5e7eb !important;background:#f9fafb !important;color:#374151 !important;font-size:16px !important;text-decoration:none !important;transition:all 0.15s ease !important;}.hikashop_product_page .hikashop_product_quantity_field_change:hover{background:#1a4fa0 !important;color:#fff !important;border-color:#1a4fa0 !important;}.hikashop_product_page button.hikabtn.hikacart,.hikashop_product_page .hikabtn.hikacart{background:#D32F2F !important;color:#fff !important;font-family:"DM Sans",sans-serif !important;font-weight:700 !important;font-size:15px !important;padding:12px 32px !important;border-radius:8px !important;border:none !important;cursor:pointer !important;transition:all 0.2s ease !important;box-shadow:0 2px 8px rgba(211,47,47,0.25) !important;min-width:160px !important;width:auto !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;gap:8px !important;text-transform:none !important;}.hikashop_product_page button.hikabtn.hikacart:hover,.hikashop_product_page .hikabtn.hikacart:hover{background:#b71c1c !important;transform:translateY(-1px) !important;box-shadow:0 4px 16px rgba(211,47,47,0.35) !important;}.hikashop_product_page .hikashop_wishlist_button,.hikashop_product_page a[class*="wishlist"]{font-family:"DM Sans",sans-serif !important;font-size:13px !important;padding:10px 18px !important;border-radius:8px !important;border:1.5px solid #e5e7eb !important;background:#fff !important;color:#D32F2F !important;font-weight:600 !important;transition:all 0.15s ease !important;}.hikashop_product_page .hikashop_wishlist_button:hover,.hikashop_product_page a[class*="wishlist"]:hover{border-color:#D32F2F !important;background:#fef2f2 !important;}.hikashop_product_main_image_thumb,.hikashop_product_main_image_thumb.hikashop_img_mode_both,.hikashop_product_main_image_thumb.hikashop_img_mode_classic{position:relative !important;overflow:visible !important;}.hikashop_product_main_image img,.hikashop_product_main_image_subdiv img{width:100% !important;max-height:520px !important;object-fit:contain !important;background:#f8f9fa !important;border-radius:10px !important;padding:12px !important;border:1px solid #e5e7eb !important;box-sizing:border-box !important;}.hikashop_small_image_div{margin-top:10px !important;display:flex !important;gap:8px !important;flex-wrap:wrap !important;justify-content:flex-start !important;}.hikashop_child_image{width:56px !important;height:56px !important;border:2px solid #e5e7eb !important;border-radius:6px !important;cursor:pointer !important;padding:2px !important;transition:border-color 0.15s ease !important;object-fit:contain !important;}.hikashop_child_image:hover,.hikashop_child_image_active{border-color:#1a4fa0 !important;}#hikashop_product_bottom_part,.hikashop_product_bottom_part{max-width:960px !important;margin:32px auto 40px !important;padding:28px 32px !important;background:#fff !important;border-radius:12px !important;box-shadow:0 1px 8px rgba(0,0,0,0.06) !important;border-top:3px solid #f8a8a8 !important;box-sizing:border-box !important;}#hikashop_product_description_main,.hikashop_product_description_main{font-family:"DM Sans",sans-serif !important;font-size:14px !important;line-height:1.7 !important;color:#374151 !important;margin:0 !important;padding:0 !important;}#hikashop_product_description_main h2,#hikashop_product_description_main h3,.hikashop_product_description_main h2,.hikashop_product_description_main h3{font-family:"DM Sans",sans-serif !important;color:#1A3A5C !important;font-weight:700 !important;font-size:18px !important;margin:20px 0 10px !important;line-height:1.4 !important;}#hikashop_product_description_main h3,.hikashop_product_description_main h3{font-size:16px !important;}#hikashop_product_description_main p,.hikashop_product_description_main p{margin:0 0 12px !important;}#hikashop_product_description_main ul,.hikashop_product_description_main ul{padding-left:20px !important;margin:8px 0 12px !important;}#hikashop_product_description_main li,.hikashop_product_description_main li{margin-bottom:4px !important;font-size:14px !important;line-height:1.6 !important;}#hikashop_product_description_main img,.hikashop_product_description_main img{max-width:100% !important;height:auto !important;border-radius:8px !important;}#hikashop_product_description_main [style*="display:flex"],#hikashop_product_description_main [style*="display:flex"]{flex-wrap:wrap !important;gap:16px !important;}#hikashop_product_description_main [style*="min-width"]{min-width:0 !important;}.hikashop_product_page nav[aria-label="Breadcrumbs"],.com_hikashop_product nav[aria-label="Breadcrumbs"]{font-size:13px !important;margin-bottom:12px !important;padding:8px 0 !important;}/* ================================================ PRODUCT PAGE — TABLET (max 1024px) ============================================= */ @media (max-width:1024px){form[name="hikashop_product_form"] > .hk-row-fluid,.hikashop_product_page .hk-row-fluid:not(.hikashop_products .hk-row-fluid){gap:20px !important;}#hikashop_product_bottom_part,.hikashop_product_bottom_part{max-width:100% !important;margin:24px 0 32px !important;}}/* ============================================= PRODUCT PAGE — MOBILE (max 768px) ============================================= */ @media (max-width:768px){.hikashop_product_page,.com_hikashop_product{padding:0 12px !important;}#hikashop_product_top_part h1,.hikashop_product_name_main h1,.hikashop_product_name_main{font-size:18px !important;line-height:1.3 !important;-webkit-line-clamp:3 !important;max-height:3.9em !important;margin-bottom:8px !important;}form[name="hikashop_product_form"] > .hk-row-fluid,.hikashop_product_page .hk-row-fluid:not(.hikashop_products .hk-row-fluid){display:flex !important;flex-direction:column !important;gap:12px !important;grid-template-columns:none !important;}#hikashop_product_left_part,.hikashop_product_left_part,.hikashop_product_left_part.hkc-md-6,#hikashop_product_right_part,.hikashop_product_right_part,.hikashop_product_right_part.hkc-md-6{width:100% !important;max-width:100% !important;min-width:0 !important;float:none !important;display:block !important;padding:0 !important;margin:0 !important;box-sizing:border-box !important;}#hikashop_product_right_part,.hikashop_product_right_part,.hikashop_product_right_part.hkc-md-6{padding:16px !important;margin-top:8px !important;border-radius:10px !important;}.hikashop_product_main_image_thumb,.hikashop_product_main_image_thumb.hikashop_img_mode_classic{height:auto !important;max-height:280px !important;overflow:hidden !important;}.hikashop_main_image_div,.hikashop_product_main_image,.hikashop_product_main_image_subdiv{position:static !important;width:100% !important;max-width:100% !important;height:auto !important;}.hikashop_global_image_div{width:100% !important;max-width:100% !important;overflow:hidden !important;}.hikashop_product_main_image img,.hikashop_product_main_image_subdiv img,#hikashop_main_image{max-height:260px !important;padding:8px !important;}.hikashop_small_image_div{gap:4px !important;justify-content:center !important;}.hikashop_child_image{width:46px !important;height:46px !important;}.hikashop_slide_prev,.hikashop_slide_next{width:32px !important;height:32px !important;font-size:1.1rem !important;}.hikashop_product_page .hikashop_product_price_full,.hikashop_product_page .hikashop_product_price{font-size:22px !important;}.hikashop_product_page .hikashop_product_characteristic select{font-size:14px !important;padding:10px 12px !important;}.hikashop_product_page .hikashop_product_characteristics .controls{display:flex !important;flex-wrap:wrap !important;gap:4px !important;}.hikashop_product_page .hikashop_product_characteristics .form-check-label{padding:5px 10px !important;font-size:11px !important;}.hikashop_product_page .hikashop_product_quantity_div{flex-wrap:wrap !important;gap:8px !important;}.hikashop_product_page button.hikabtn.hikacart,.hikashop_product_page .hikabtn.hikacart{width:100% !important;min-width:0 !important;padding:12px 20px !important;font-size:15px !important;box-sizing:border-box !important;}.hikashop_product_page .hikashop_wishlist_button,.hikashop_product_page a[class*="wishlist"]{width:100% !important;text-align:center !important;box-sizing:border-box !important;}#hikashop_product_bottom_part,.hikashop_product_bottom_part{max-width:100% !important;margin:20px 0 28px !important;padding:18px 16px !important;border-radius:10px !important;}#hikashop_product_description_main,.hikashop_product_description_main{font-size:13px !important;}#hikashop_product_description_main h2,.hikashop_product_description_main h2{font-size:16px !important;}#hikashop_product_description_main h3,.hikashop_product_description_main h3{font-size:14px !important;}#hikashop_product_description_main,#hikashop_product_description_main *{max-width:100% !important;min-width:0 !important;box-sizing:border-box !important;word-wrap:break-word !important;overflow-wrap:break-word !important;}#hikashop_product_description_main [style*="min-width"]{min-width:0 !important;width:100% !important;}#hikashop_product_description_main [style*="display:flex"],#hikashop_product_description_main [style*="display:flex"]{flex-wrap:wrap !important;}#hikashop_product_description_main img{max-width:100% !important;height:auto !important;}.container-component,.grid-child,#component,.com-hikashop,.hikashop_product_page,.site-grid,form[name="hikashop_product_form"]{max-width:100vw !important;overflow-x:hidden !important;box-sizing:border-box !important;}.hikashop_product_characteristics_table{width:100% !important;table-layout:fixed !important;}.hikashop_product_characteristics_table td{display:block !important;width:100% !important;}.hikashop_product_characteristics_table td:first-child{padding-right:0 !important;padding-bottom:2px !important;}}/* ============================================= PRODUCT PAGE — SMALL PHONE (max 480px) ============================================= */ @media (max-width:480px){#hikashop_product_top_part h1,.hikashop_product_name_main h1,.hikashop_product_name_main{font-size:16px !important;}.hikashop_product_main_image_thumb{max-height:220px !important;}.hikashop_product_main_image img,.hikashop_product_main_image_subdiv img,#hikashop_main_image{max-height:200px !important;}.hikashop_product_page .hikashop_product_price_full,.hikashop_product_page .hikashop_product_price{font-size:20px !important;}.hikashop_product_page button.hikabtn.hikacart,.hikashop_product_page .hikabtn.hikacart{padding:11px 16px !important;font-size:14px !important;}.hikashop_child_image{width:40px !important;height:40px !important;}.hikashop_product_page .hikashop_product_characteristics .form-check-label{padding:5px 8px !important;font-size:10px !important;}#hikashop_product_bottom_part,.hikashop_product_bottom_part{padding:14px 12px !important;}#hikashop_product_description_main,.hikashop_product_description_main{font-size:13px !important;line-height:1.6 !important;}}
/* ==============================================
   PRODUCT PAGE FIX v2 — EJRange
   Fixes: dropdown visibility, spacing, mobile
   Uses .view-product.layout-show for specificity
   ============================================== */

/* --- Right panel: white card instead of glass --- */
.view-product.layout-show .hikashop_product_right_part {
  background: #ffffff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 12px !important;
  padding: 20px 24px !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: 0 1px 8px rgba(0,0,0,0.06) !important;
}

/* --- All text inside right panel: dark --- */
.view-product.layout-show .hikashop_product_right_part,
.view-product.layout-show .hikashop_product_right_part * {
  color: #374151 !important;
}

/* --- Price: red, sharp rendering --- */
.view-product.layout-show .hikashop_product_price_main .hikashop_product_price,
.view-product.layout-show .hikashop_product_price_main .hikashop_product_price_full,
.view-product.layout-show #hikashop_product_price_main .hikashop_product_price {
  font-family: "DM Sans", sans-serif !important;
  font-size: 26px !important;
  font-weight: 800 !important;
  color: #D32F2F !important;
  text-shadow: none !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
}
.view-product.layout-show .hikashop_product_price_main .hikashop_product_price_per_unit {
  font-size: 14px !important;
  color: #6b7280 !important;
  font-weight: 400 !important;
}

/* --- Stock: green --- */
.view-product.layout-show .hikashop_product_stock_count,
.view-product.layout-show .hikashop_product_stock {
  color: #16a34a !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  margin: 4px 0 10px !important;
}

/* --- Characteristic label text: dark --- */
.view-product.layout-show .hikashop_product_characteristics td {
  color: #374151 !important;
  padding: 6px 0 !important;
}
.view-product.layout-show .hikashop_product_characteristics .hikashop_product_characteristic_name {
  color: #1A3A5C !important;
  font-weight: 700 !important;
  font-size: 13px !important;
}

/* --- DROPDOWN FIX: visible select with dark text --- */
.view-product.layout-show .hikashop_product_characteristics select,
.view-product.layout-show .ej-char-dropdown,
.view-product.layout-show #hikashop_product_characteristics select,
.view-product.layout-show .hikashop_product_characteristic select {
  background: #fafafa !important;
  color: #374151 !important;
  border: 1.5px solid #d1d5db !important;
  border-radius: 8px !important;
  padding: 10px 14px !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  width: 100% !important;
  box-sizing: border-box !important;
  appearance: auto !important;
  -webkit-appearance: auto !important;
  cursor: pointer !important;
  background-image: none !important;
}
.view-product.layout-show .hikashop_product_characteristics select:focus,
.view-product.layout-show .ej-char-dropdown:focus {
  border-color: #1a4fa0 !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(26,79,160,0.1) !important;
  background-color: #fff !important;
}
.view-product.layout-show .hikashop_product_characteristics select option,
.view-product.layout-show .ej-char-dropdown option {
  background: #fff !important;
  color: #374151 !important;
}

/* --- Radio/chip labels if used: dark text --- */
.view-product.layout-show .hikashop_product_characteristics label {
  color: #374151 !important;
  background: #f3f4f6 !important;
  border: 1px solid #d1d5db !important;
}
.view-product.layout-show .hikashop_product_characteristics label:hover {
  border-color: #1a4fa0 !important;
  background: #eff6ff !important;
}
.view-product.layout-show .hikashop_product_characteristics input[type="radio"]:checked + label,
.view-product.layout-show .hikashop_product_characteristics input[type="radio"]:checked ~ label {
  border-color: #1a4fa0 !important;
  background: #dbeafe !important;
  color: #1A3A5C !important;
}

/* --- Quantity inputs: dark text on white --- */
.view-product.layout-show .hikashop_product_quantity_div input[type="text"],
.view-product.layout-show .hikashop_product_quantity_div input[type="number"] {
  background: #fff !important;
  border: 1.5px solid #d1d5db !important;
  color: #374151 !important;
  border-radius: 0 !important;
  height: 42px !important;
  width: 48px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
}
.view-product.layout-show .hikashop_product_quantity_div .hikashop_product_quantity_change_div_default a,
.view-product.layout-show .ej-qty-wrapper a {
  background: #f9fafb !important;
  border: 1.5px solid #d1d5db !important;
  color: #374151 !important;
  width: 36px !important;
  height: 42px !important;
}
.view-product.layout-show .hikashop_product_quantity_div .hikashop_product_quantity_change_div_default a:hover,
.view-product.layout-show .ej-qty-wrapper a:hover {
  background: #1a4fa0 !important;
  color: #374151 !important;
  border-color: #1a4fa0 !important;
}

/* --- Add to cart button: solid red --- */
.view-product.layout-show button.hikabtn.hikacart,
.view-product.layout-show .hikashop_cart_input_button,
.view-product.layout-show input.hikabtn.hikacart {
  background: #D32F2F !important;
  color: #374151 !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 12px 28px !important;
  font-family: "DM Sans", sans-serif !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  box-shadow: 0 2px 8px rgba(211,47,47,0.25) !important;
  margin-top: 0 !important;
  letter-spacing: 0 !important;
}
.view-product.layout-show button.hikabtn.hikacart:hover {
  background: #b71c1c !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 16px rgba(211,47,47,0.35) !important;
}

/* --- Remove excessive spacing/padding --- */
.view-product.layout-show .hikashop_product_top_part {
  padding: 0 16px 8px !important;
}
.view-product.layout-show .hikashop_product_characteristics {
  margin-bottom: 12px !important;
}
.view-product.layout-show .hikashop_product_quantity_main {
  margin-bottom: 0 !important;
  gap: 10px !important;
}
.view-product.layout-show .hikashop_quantity_form {
  gap: 10px !important;
}
.view-product.layout-show .hikashop_product_vote_mini {
  margin-bottom: 4px !important;
}
.view-product.layout-show .hikashop_product_price_main {
  margin-bottom: 10px !important;
}

/* --- Title: max 2 lines, reduced size --- */
.view-product.layout-show .hikashop_product_name_main,
.view-product.layout-show .ej-product-title .hikashop_product_name_main {
  font-family: "DM Sans", sans-serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #1A3A5C !important;
  line-height: 1.35 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-height: 2.7em !important;
}

/* --- Image area: control height --- */
.view-product.layout-show #hikashop_product_image_main {
  min-height: 300px !important;
  padding: 20px !important;
}
.view-product.layout-show .hikashop_main_image_div img {
  max-height: 520px !important;
}

/* --- Description section: white card --- */
.view-product.layout-show .hikashop_product_bottom_part {
  max-width: 960px !important;
  margin: 28px auto 36px !important;
  padding: 24px 28px !important;
  background: #fff !important;
  border-radius: 12px !important;
  box-shadow: 0 1px 8px rgba(0,0,0,0.06) !important;
  border-top: 3px solid #f8a8a8 !important;
}
.view-product.layout-show .hikashop_product_description_main,
.view-product.layout-show .hikashop_product_description_main * {
  color: #374151 !important;
  font-family: "DM Sans", sans-serif !important;
}
.view-product.layout-show .hikashop_product_description_main {
  font-size: 14px !important;
  line-height: 1.7 !important;
}
.view-product.layout-show .hikashop_product_description_main h2 {
  color: #1A3A5C !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  margin: 16px 0 8px !important;
}
.view-product.layout-show .hikashop_product_description_main h3 {
  color: #1A3A5C !important;
  font-size: 16px !important;
  font-weight: 700 !important;
}


/* --- Fix HikaShop inline height on image thumb (overrides JS style="height:520px") --- */
.hikashop_product_main_image_thumb,
.hikashop_product_main_image_thumb.hikashop_img_mode_classic {
  height: auto !important;
  width: 100% !important;
  max-height: 540px !important;
  overflow: hidden !important;
}
.hikashop_main_image_div {
  height: auto !important;
  width: 100% !important;
}

/* --- Grid gap reduction --- */
.view-product.layout-show .hikashop_product_page .hk-row-fluid,
.view-product.layout-show .ej-product-columns {
  gap: 24px !important;
}

/* === TABLET (max 1024px) === */
@media (max-width: 1024px) {
  .view-product.layout-show .hikashop_product_page .hk-row-fluid,
  .view-product.layout-show .ej-product-columns {
    gap: 16px !important;
  }
  .view-product.layout-show .hikashop_product_bottom_part {
    max-width: 100% !important;
    margin: 20px 16px 28px !important;
  }
}

/* === MOBILE (max 768px) === */
@media (max-width: 768px) {
  .view-product.layout-show .hikashop_product_page .hk-row-fluid,
  .view-product.layout-show .ej-product-columns {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    grid-template-columns: none !important;
    padding: 0 12px !important;
  }
  .view-product.layout-show .hikashop_product_left_part,
  .view-product.layout-show .hikashop_product_right_part {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  .view-product.layout-show .hikashop_product_name_main {
    font-size: 18px !important;
    -webkit-line-clamp: 3 !important;
    max-height: 3.9em !important;
  }
  .view-product.layout-show .hikashop_product_top_part {
    padding: 0 12px 6px !important;
  }
  .view-product.layout-show #hikashop_product_image_main {
    min-height: auto !important;
    padding: 12px !important;
  }
  .view-product.layout-show .hikashop_main_image_div img {
    max-height: 260px !important;
  }
  .view-product.layout-show .hikashop_product_left_part {
    border-radius: 10px !important;
  }
  .view-product.layout-show .hikashop_small_image_div {
    padding: 8px 12px !important;
    gap: 6px !important;
  }
  .view-product.layout-show .hikashop_small_image_div img {
    width: 50px !important;
    height: 50px !important;
    min-width: 50px !important;
  }
  .view-product.layout-show .hikashop_product_right_part {
    padding: 16px !important;
    border-radius: 10px !important;
  }
  .view-product.layout-show .hikashop_product_price_main .hikashop_product_price {
    font-size: 22px !important;
  }
  .view-product.layout-show .hikashop_product_characteristics select,
  .view-product.layout-show .ej-char-dropdown {
    font-size: 14px !important;
    padding: 10px 12px !important;
  }
  .view-product.layout-show button.hikabtn.hikacart,
  .view-product.layout-show .hikashop_cart_input_button {
    width: 100% !important;
    min-width: 0 !important;
    padding: 12px 20px !important;
    font-size: 15px !important;
    box-sizing: border-box !important;
    flex: none !important;
  }
  .view-product.layout-show .hikashop_product_bottom_part {
    max-width: 100% !important;
    margin: 16px 12px 24px !important;
    padding: 16px !important;
    border-radius: 10px !important;
  }
  .view-product.layout-show .hikashop_product_description_main {
    font-size: 13px !important;
  }
  .view-product.layout-show .container-component,
  .view-product.layout-show .hikashop_product_page,
  .view-product.layout-show form[name="hikashop_product_form"] {
    max-width: 100vw !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
  }
  .view-product.layout-show .hikashop_product_description_main,
  .view-product.layout-show .hikashop_product_description_main * {
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
  }
  .view-product.layout-show .hikashop_product_description_main img {
    max-width: 100% !important;
    height: auto !important;
  }
}

/* === SMALL PHONE (max 480px) === */
@media (max-width: 480px) {
  .view-product.layout-show .hikashop_product_name_main {
    font-size: 16px !important;
  }
  .view-product.layout-show .hikashop_main_image_div img {
    max-height: 200px !important;
  }
  .view-product.layout-show .hikashop_product_price_main .hikashop_product_price {
    font-size: 20px !important;
  }
  .view-product.layout-show button.hikabtn.hikacart {
    padding: 11px 16px !important;
    font-size: 14px !important;
  }
  .view-product.layout-show .hikashop_small_image_div img {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
  }
  .view-product.layout-show .hikashop_product_bottom_part {
    padding: 14px 12px !important;
  }
  .view-product.layout-show .hikashop_product_description_main {
    font-size: 13px !important;
    line-height: 1.6 !important;
  }
}

/* =====================================================
   FIX: Product page — white space + mobile stretching
   12 Mar 2026
   ===================================================== */

/* --- 1. Override HikaShop module inline height on cross-sell/related product image containers --- */
[id^="hikashop_category_information_module"] .hikashop_product_image,
.view-product .hikashop_module .hikashop_product_image,
.hikashop_products_listing .hikashop_product_image {
  height: auto !important;
  max-height: none !important;
  min-height: 160px !important;
  padding: 16px !important;
}

.hikashop_product_description_main > div > br {
  display: none !important;
}
}
/* Restore spacing between content blocks via margins instead */
.hikashop_product_description_main h2,
.hikashop_product_description_main h3 {
  margin-top: 24px !important;
  margin-bottom: 10px !important;
}
.hikashop_product_description_main p {
  margin: 0 0 14px !important;
}
.hikashop_product_description_main > div > div {
  margin-top: 8px !important;
  margin-bottom: 12px !important;
}

/* --- 3. Fix inline min-width values that cause mobile overflow --- */
.hikashop_product_description_main [style*="min-width"] {
  min-width: 0 !important;
  width: 100% !important;
}
.hikashop_product_description_main [style*="max-width: 1200px"],
.hikashop_product_description_main [style*="max-width:1200px"] {
  max-width: 100% !important;
  padding: 20px !important;
  box-sizing: border-box !important;
}
.hikashop_product_description_main [style*="display: flex"],
.hikashop_product_description_main [style*="display:flex"] {
  flex-wrap: wrap !important;
  gap: 12px !important;
}

/* --- 4. Tighten the description bottom part padding --- */
#hikashop_product_bottom_part,
.hikashop_product_bottom_part {
  padding: 24px 28px !important;
  margin-top: 24px !important;
  margin-bottom: 32px !important;
}

/* --- 5. Mobile-specific fixes --- */
@media (max-width: 768px) {
  /* Force all description children to respect viewport width */
  .hikashop_product_description_main,
  .hikashop_product_description_main * {
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    overflow-wrap: break-word !important;
    word-wrap: break-word !important;
  }
  /* Flex children stack vertically on mobile */
  .hikashop_product_description_main [style*="display: flex"],
  .hikashop_product_description_main [style*="display:flex"] {
    flex-direction: column !important;
    gap: 10px !important;
  }
  .hikashop_product_description_main [style*="flex: 1"],
  .hikashop_product_description_main [style*="flex:1"] {
    flex: none !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  /* Tighter description padding on mobile */
  #hikashop_product_bottom_part,
  .hikashop_product_bottom_part {
    padding: 16px 14px !important;
    margin-top: 16px !important;
  }
  .hikashop_product_description_main [style*="max-width: 1200px"],
  .hikashop_product_description_main [style*="max-width:1200px"] {
    padding: 14px !important;
  }
  /* Cross-sell cards on mobile */
  [id^="hikashop_category_information_module"] .hikashop_product_image,
  .view-product .hikashop_module .hikashop_product_image {
    min-height: 120px !important;
    padding: 12px !important;
  }
}

@media (max-width: 480px) {
  .hikashop_product_description_main [style*="max-width: 1200px"],
  .hikashop_product_description_main [style*="max-width:1200px"] {
    padding: 10px !important;
  }
  .hikashop_product_description_main [style*="padding"] {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
}

/* =====================================================
   FIX: Hide alt text on loading/broken images — show
   clean placeholder instead of ugly text
   12 Mar 2026
   ===================================================== */

/* Hide alt text while images load — transparent text + placeholder bg */
.hikashop_product_image img {
  color: transparent !important;
  background: linear-gradient(135deg, rgba(230,238,248,0.6) 0%, rgba(215,225,240,0.5) 100%) !important;
  min-height: 120px !important;
  border-radius: 6px !important;
  object-fit: contain !important;
}

/* Subtle loading animation */
.hikashop_product_image img:not([src=""]) {
  animation: imgPlaceholderPulse 1.8s ease-in-out infinite !important;
}
/* Once loaded, stop animation */
.hikashop_product_image img[width],
.hikashop_product_image img[naturalwidth] {
  animation: none !important;
}

@keyframes imgPlaceholderPulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.7; }
}

/* Product page main image — same treatment */
.hikashop_product_main_image img,
.hikashop_product_main_image_subdiv img {
  color: transparent !important;
}

/* Homepage best sellers / featured products */
.ej-bestseller-img img,
.ej-product-card img {
  color: transparent !important;
  background: rgba(230,238,248,0.4) !important;
}

/* =====================================================
   POLISH: Professional refinements — 12 Mar 2026 (v2)
   ===================================================== */


/* --- 2. Product details block — better layout on product pages --- */
#hikashop_product_bottom_part [style*="background: #F8F8F8"],
#hikashop_product_bottom_part [style*="background:#F8F8F8"] {
  background: rgba(255,255,255,0.06) !important;
  border-color: rgba(255,255,255,0.1) !important;
  color: #c8d6e5 !important;
}
#hikashop_product_bottom_part [style*="background: #F8F8F8"] h2,
#hikashop_product_bottom_part [style*="background:#F8F8F8"] h2 {
  color: #ffffff !important;
}
#hikashop_product_bottom_part [style*="background: #F8F8F8"] div,
#hikashop_product_bottom_part [style*="background:#F8F8F8"] div {
  color: #c8d6e5 !important;
}

/* --- 3. Cross-sell module title — clean up uppercase and spacing --- */
.hikashop_submodules .hikashop_header_title,
.hikashop_submodules > h1,
.hikashop_submodules > h2 {
  text-transform: none !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  margin: 32px 0 20px !important;
  letter-spacing: 0 !important;
}

/* --- 4. Category page product card description text — slightly better contrast --- */
.hikashop_product_name a,
.hikashop_product_name {
  color: #dfe6ed !important;
}

/* --- 5. HikaShop product listing — card description text readability --- */
.hikashop_product_description {
  color: rgba(200, 214, 229, 0.8) !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}

/* --- 6. Breadcrumb polish --- */
.mod-breadcrumbs a,
.mod-breadcrumbs li {
  color: rgba(200, 214, 229, 0.7) !important;
  font-size: 14px !important;
}
.mod-breadcrumbs a:hover {
  color: #ffffff !important;
}

/* --- 7. Category page heading — clean type hierarchy --- */
.view-product .hikashop_category_name,
.hikashop_category_name {
  font-size: 28px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  margin: 0 0 24px !important;
}

/* --- 8. Product page description white card — match dark theme --- */
.hikashop_product_description_main > div[style*="background: #ffffff"],
.hikashop_product_description_main > div[style*="background:#ffffff"] {
  background: rgba(255,255,255,0.04) !important;
  border-color: rgba(255,255,255,0.1) !important;
}
.hikashop_product_description_main [style*="color: #111"],
.hikashop_product_description_main [style*="color:#111"] {
  color: #c8d6e5 !important;
}
.hikashop_product_description_main [style*="color: #000"],
.hikashop_product_description_main [style*="color:#000"] {
  color: #ffffff !important;
}
.hikashop_product_description_main [style*="border: 1px solid #e6e6e6"],
.hikashop_product_description_main [style*="border:1px solid #e6e6e6"] {
  border-color: rgba(255,255,255,0.1) !important;
}
.hikashop_product_description_main [style*="background: #F3F7FF"],
.hikashop_product_description_main [style*="background:#F3F7FF"] {
  background: rgba(91,101,243,0.15) !important;
  border-color: rgba(91,101,243,0.3) !important;
}
.hikashop_product_description_main [style*="background: #ffffff"],
.hikashop_product_description_main [style*="background:#ffffff"] {
  background: rgba(255,255,255,0.04) !important;
}


/* --- 9. Hide duplicate uppercase product title above cross-sells --- */
.hikashop_submodules > .page-header,
.hikashop_submodules > h1:not(.hikashop_header_title),
#hikashop_product_form > .page-header,
#hikashop_submodules .ej-category-title {
  display: none !important;
}

/* --- 10. Cross-sell section heading — if using hikashop_header --- */
.hikashop_header h1,
.hikashop_header_title {
  text-transform: none !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  margin: 24px 0 16px !important;
  letter-spacing: normal !important;
}


/* --- 11. Category page: hide ghost Joomla page title, fix HikaShop category heading --- */
.view-product.layout-listing main > h1.ej-category-title {
  display: none !important;
}
.hikashop_category_h1 {
  font-size: 28px !important;
  font-weight: 700 !important;
  color: #1A3A5C !important;
  margin: 0 0 24px !important;
}

/* --- 12. Fix quantity +/- buttons: visible on white product card --- */
.view-product.layout-show .hikashop_product_quantity_change_div_default a {
  background: #f0f1f3 !important;
  border: 1.5px solid #d1d5db !important;
  color: #1A3A5C !important;
  width: 38px !important;
  height: 38px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 8px !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  transition: all 0.15s ease !important;
  cursor: pointer !important;
}
.view-product.layout-show .hikashop_product_quantity_change_div_default a:hover {
  background: #1a4fa0 !important;
  border-color: #1a4fa0 !important;
  color: #fff !important;
}
/* Quantity input field — match the buttons */
.view-product.layout-show .hikashop_product_quantity_field {
  width: 52px !important;
  height: 38px !important;
  text-align: center !important;
  background: #fff !important;
  border: 1.5px solid #d1d5db !important;
  border-radius: 8px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #1A3A5C !important;
  font-family: "DM Sans", sans-serif !important;
}
/* Layout: input and +/- in a row */
.view-product.layout-show .hikashop_product_quantity_input_div_default_main {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.view-product.layout-show .hikashop_product_quantity_change_div_default {
  display: flex !important;
  gap: 6px !important;
}

/* --- 13. Fix product page H1 title: white text on dark background --- */
.view-product.layout-show #hikashop_product_top_part h1,
.view-product.layout-show #hikashop_product_top_part h1.ej-product-title,
.view-product.layout-show .hikashop_product_name_main h1,
.view-product.layout-show .hikashop_product_name_main h1.ej-product-title {
  color: #1A3A5C !important;
}

/* --- 14. Fix product details card inside white description card --- */
/* The description bottom part has white bg, so inner cards need dark text */
#hikashop_product_bottom_part [style*="background: #F8F8F8"],
#hikashop_product_bottom_part [style*="background:#F8F8F8"] {
  background: #f5f6f8 !important;
  border-color: #e5e7eb !important;
  color: #374151 !important;
}
#hikashop_product_bottom_part [style*="background: #F8F8F8"] h2,
#hikashop_product_bottom_part [style*="background:#F8F8F8"] h2 {
  color: #1A3A5C !important;
}
#hikashop_product_bottom_part [style*="background: #F8F8F8"] div,
#hikashop_product_bottom_part [style*="background:#F8F8F8"] div {
  color: #374151 !important;
}
/* Fix inline color overrides inside white description card */
.view-product.layout-show .hikashop_product_description_main [style*="color: #111"],
.view-product.layout-show .hikashop_product_description_main [style*="color:#111"] {
  color: #374151 !important;
}
.view-product.layout-show .hikashop_product_description_main [style*="color: #000"],
.view-product.layout-show .hikashop_product_description_main [style*="color:#000"] {
  color: #1A3A5C !important;
}
/* Ensure background #ffffff divs in description stay white */
.view-product.layout-show .hikashop_product_description_main > div[style*="background: #ffffff"],
.view-product.layout-show .hikashop_product_description_main > div[style*="background:#ffffff"] {
  background: #ffffff !important;
  border-color: #e5e7eb !important;
}
/* Fix borders inside white cards */
.view-product.layout-show .hikashop_product_description_main [style*="border: 1px solid #e6e6e6"],
.view-product.layout-show .hikashop_product_description_main [style*="border:1px solid #e6e6e6"] {
  border-color: #e5e7eb !important;
}

/* ==============================================
   15. PRODUCT PAGE DARK THEME — Match site navy bg
   Applies dark background to product pages so they
   match the rest of the site instead of being white
   ============================================== */

/* --- Dark background for the product page content area --- */
body.view-product.layout-show {
  background: linear-gradient(180deg, #0b1e3d 0%, #0f2847 60%, #0b1e3d 100%) !important;
}

/* Breadcrumb bar: slightly lighter navy with subtle border */
body.view-product.layout-show nav[aria-label="Breadcrumbs"],
body.view-product.layout-show .mod-breadcrumbs__wrapper {
  background: rgba(255,255,255,0.04) !important;
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
}
body.view-product.layout-show nav[aria-label="Breadcrumbs"] a {
  color: #7eb8f0 !important;
}
body.view-product.layout-show nav[aria-label="Breadcrumbs"] a:hover {
  color: #fff !important;
}
body.view-product.layout-show nav[aria-label="Breadcrumbs"] li,
body.view-product.layout-show nav[aria-label="Breadcrumbs"] span,
body.view-product.layout-show .mod-breadcrumbs .breadcrumb-item,
body.view-product.layout-show .mod-breadcrumbs .breadcrumb-item.active {
  color: rgba(255,255,255,0.5) !important;
}
body.view-product.layout-show nav[aria-label="Breadcrumbs"] .divider,
body.view-product.layout-show .breadcrumb-item + .breadcrumb-item::before {
  color: rgba(255,255,255,0.3) !important;
}

/* --- Product title H1: white on dark --- */
body.view-product.layout-show #hikashop_product_top_part h1,
body.view-product.layout-show .hikashop_product_name_main h1,
body.view-product.layout-show .hikashop_product_name_main {
  color: #ffffff !important;
}

/* --- Image card: white card on dark background --- */
body.view-product.layout-show #hikashop_product_left_part,
body.view-product.layout-show .hikashop_product_left_part {
  background: #ffffff !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 16px rgba(0,0,0,0.15) !important;
  padding: 12px !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
}

/* --- Right info card: white card on dark background --- */
body.view-product.layout-show #hikashop_product_right_part,
body.view-product.layout-show .hikashop_product_right_part {
  background: #ffffff !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 16px rgba(0,0,0,0.15) !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
}

/* --- Description card: white on dark, already has blush border-top --- */
body.view-product.layout-show #hikashop_product_bottom_part,
body.view-product.layout-show .hikashop_product_bottom_part {
  background: #ffffff !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 16px rgba(0,0,0,0.15) !important;
}

/* --- Joomla alert messages: styled for dark bg --- */
body.view-product.layout-show joomla-alert {
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  border-radius: 10px !important;
  color: #c8d6e5 !important;
}

/* --- Footer area: ensure it stays dark --- */
body.view-product.layout-show .container-footer,
body.view-product.layout-show footer {
  background: #0a1929 !important;
}

/* --- Scrollbar & selection match dark theme --- */
body.view-product.layout-show ::selection {
  background: rgba(248,168,168,0.3) !important;
  color: #fff !important;
}

/* --- Mobile adjustments for dark product page --- */
@media (max-width: 768px) {
  body.view-product.layout-show #hikashop_product_left_part,
  body.view-product.layout-show .hikashop_product_left_part {
    padding: 8px !important;
    border-radius: 10px !important;
  }
  body.view-product.layout-show #hikashop_product_right_part,
  body.view-product.layout-show .hikashop_product_right_part {
    border-radius: 10px !important;
  }
}

/* --- 15b. Override html white bg on product pages --- */
html:has(body.view-product.layout-show) {
  background: #0b1e3d !important;
}
/* Fallback: also set .site-grid background for older browsers */
body.view-product.layout-show .site-grid {
  background: transparent !important;
}

/* ================================================================
   EJRANGE COMPLETE REDESIGN — March 2026
   Clean, Light, Professional Ecommerce Theme
   ================================================================
   This section overrides the dark navy theme with a modern,
   light ecommerce design. All product/content areas use white
   backgrounds for maximum readability. Navy header is kept.
   ================================================================ */

/* --- 1. CSS VARIABLES OVERRIDE --- */
:root {
  --ej-bg: #f5f7fa;
  --ej-bg-light: #f0f3f7;
  --ej-text: #1a202c;
  --ej-text-heading: #111827;
  --ej-text-muted: #6b7280;
  --ej-border: #e2e8f0;
  --ej-shadow: 0 1px 3px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04);
  --ej-shadow-hover: 0 10px 25px rgba(0,0,0,0.08), 0 4px 10px rgba(0,0,0,0.04);
  --ej-radius: 10px;
  --ej-radius-lg: 16px;
  --ej-cta: #D32F2F;
  --ej-cta-hover: #b71c1c;
  --ej-primary: #1A3A5C;
  --ej-primary-mid: #1e5a9e;
  --ej-success: #059669;
}

/* --- 2. GLOBAL TYPOGRAPHY UPGRADE --- */
body {
  font-size: 17px !important;
  line-height: 1.7 !important;
  color: var(--ej-text) !important;
  background: var(--ej-bg) !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
}

html {
  background: var(--ej-bg) !important;
}

h1 { font-size: 2.4rem !important; font-weight: 700 !important; letter-spacing: -0.02em !important; }
h2 { font-size: 2rem !important; font-weight: 700 !important; letter-spacing: -0.01em !important; }
h3 { font-size: 1.5rem !important; font-weight: 600 !important; }
h4 { font-size: 1.2rem !important; font-weight: 600 !important; }

p, li, td, th, label, input, select, textarea, span, div {
  font-size: inherit;
}

/* --- 3. SITE GRID / LAYOUT --- Light backgrounds everywhere --- */
.site-grid,
.container-component,
.wrapper-static,
.com-content-article {
  background: transparent !important;
}

/* Kill any dark body overrides on non-product pages */
body:not(.view-product) {
  background: var(--ej-bg) !important;
}
html:not(:has(body.view-product.layout-show)) {
  background: var(--ej-bg) !important;
}

/* --- 4. HEADER ENHANCEMENTS --- */
/* Keep navy header but add search bar styling */
.header-search-wrapper {
  display: flex;
  align-items: center;
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 8px;
  padding: 0;
  margin-left: 12px;
  transition: all 0.25s ease;
  flex: 0 1 280px;
  min-width: 0;
}
.header-search-wrapper:focus-within {
  background: rgba(255,255,255,0.2);
  border-color: rgba(255,255,255,0.35);
  flex: 0 1 340px;
}
.header-search-wrapper input {
  background: transparent !important;
  border: none !important;
  color: #fff !important;
  font-family: 'DM Sans', system-ui, sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  padding: 9px 14px !important;
  width: 100% !important;
  outline: none !important;
  min-width: 0;
}
.header-search-wrapper input::placeholder {
  color: rgba(255,255,255,0.55) !important;
}
.header-search-wrapper button {
  background: transparent !important;
  border: none !important;
  color: rgba(255,255,255,0.7) !important;
  padding: 8px 12px !important;
  cursor: pointer;
  display: flex;
  align-items: center;
  flex-shrink: 0;
}
.header-search-wrapper button:hover {
  color: #fff !important;
}
.header-search-wrapper button svg {
  width: 18px;
  height: 18px;
}

/* --- 5. TRUST BAR IMPROVEMENTS --- */
.ej-trust-bar {
  background: #ffffff !important;
  border-bottom: 1px solid #e5e7eb !important;
  padding: 16px 0 !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.04) !important;
}
.ej-trust-item {
  font-size: 14.5px !important;
}
.ej-trust-item .ti {
  width: 36px !important;
  height: 36px !important;
  background: #eef2ff !important;
  font-size: 18px !important;
}

/* --- 6. HERO SECTION POLISH --- */
.ej-hero {
  background: linear-gradient(135deg, #0f172a 0%, #1e3a5f 40%, #1e5a9e 100%) !important;
  min-height: 460px !important;
}
.ej-hero h1 {
  font-family: 'DM Sans', system-ui, sans-serif !important;
  font-size: clamp(2.2rem, 4.5vw, 3.2rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.025em !important;
  line-height: 1.1 !important;
}
.ej-hero h1 span {
  color: #60a5fa !important;
}
.ej-hero p {
  font-size: 18px !important;
  line-height: 1.7 !important;
  color: rgba(255,255,255,0.85) !important;
  max-width: 520px !important;
}
.ej-btn-primary {
  background: #D32F2F !important;
  color: #fff !important;
  font-family: 'DM Sans', system-ui, sans-serif !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  padding: 16px 36px !important;
  border-radius: 10px !important;
  box-shadow: 0 4px 14px rgba(211,47,47,0.35) !important;
  transition: all 0.25s ease !important;
}
.ej-btn-primary:hover {
  background: #b71c1c !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(211,47,47,0.45) !important;
  color: #fff !important;
}
.ej-btn-secondary {
  font-family: 'DM Sans', system-ui, sans-serif !important;
  font-weight: 600 !important;
  font-size: 16px !important;
  padding: 15px 32px !important;
  border-radius: 10px !important;
  border: 2px solid rgba(255,255,255,0.5) !important;
}
.ej-btn-secondary:hover {
  border-color: #fff !important;
  background: rgba(255,255,255,0.15) !important;
  color: #fff !important;
}
.ej-hero-stats {
  border-top: 1px solid rgba(255,255,255,0.15) !important;
  padding-top: 28px !important;
  margin-top: 32px !important;
}
.ej-stat-number {
  font-family: 'DM Sans', system-ui, sans-serif !important;
  font-size: 26px !important;
  font-weight: 800 !important;
  color: #60a5fa !important;
}
.ej-stat-label {
  font-size: 13px !important;
  color: rgba(255,255,255,0.6) !important;
  font-weight: 500 !important;
}
.ej-feature-card {
  background: rgba(255,255,255,0.1) !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  border-radius: 14px !important;
  padding: 24px 18px !important;
  backdrop-filter: blur(12px) !important;
}
.ej-feature-card:hover {
  background: rgba(255,255,255,0.18) !important;
  border-color: rgba(255,255,255,0.25) !important;
  transform: translateY(-4px) !important;
}
.ej-feature-card strong {
  font-size: 15px !important;
  font-weight: 700 !important;
}
.ej-feature-card span {
  font-size: 13px !important;
  color: rgba(255,255,255,0.65) !important;
}

/* --- 7. USP BAR (below hero) --- */
.ej-usp-bar {
  background: #ffffff !important;
  border-bottom: 1px solid #e5e7eb !important;
  border-top: none !important;
  padding: 24px 16px !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.04) !important;
}
.ej-usp-item {
  padding: 14px 20px !important;
}
.ej-usp-icon {
  width: 52px !important;
  height: 52px !important;
  background: #eef2ff !important;
  border-radius: 12px !important;
}
.ej-usp-text {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #111827 !important;
  line-height: 1.4 !important;
}
.ej-usp-text small,
.ej-usp-text br + * {
  font-weight: 400 !important;
  color: #6b7280 !important;
  font-size: 13px !important;
}

/* --- 8. SHOP BY CATEGORY SECTION --- */
.ej-categories {
  padding: 72px 24px !important;
  background: #ffffff !important;
  max-width: none !important;
}
.ej-section-title h2 {
  font-family: 'DM Sans', system-ui, sans-serif !important;
  font-size: 2rem !important;
  font-weight: 800 !important;
  color: #111827 !important;
  letter-spacing: -0.02em !important;
}
.ej-section-title p {
  color: #6b7280 !important;
  font-size: 17px !important;
  margin-top: 8px !important;
}
.ej-section-title h2::after {
  background: var(--ej-cta) !important;
  width: 60px !important;
  height: 4px !important;
  border-radius: 4px !important;
}
.ej-cat-grid {
  max-width: 1200px !important;
  margin: 0 auto !important;
  gap: 28px !important;
}
.ej-cat-card {
  border-radius: 16px !important;
  border: 1px solid #e5e7eb !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.06) !important;
  overflow: hidden;
  background: #fff !important;
}
.ej-cat-card:hover {
  box-shadow: 0 12px 28px rgba(0,0,0,0.1) !important;
  transform: translateY(-6px) !important;
  border-color: #d1d5db !important;
}
.ej-cat-card img {
  height: 220px !important;
  object-fit: cover;
}
.ej-cat-card-body {
  padding: 20px !important;
}
.ej-cat-card-body h3 {
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  color: #111827 !important;
  margin-bottom: 4px !important;
}
.ej-cat-card-body p {
  font-size: 14px !important;
  color: #6b7280 !important;
}

/* --- 9. FEATURED PRODUCTS SECTION --- */
.ej-products {
  padding: 72px 24px !important;
  background: #f8fafc !important;
}
.ej-products-inner {
  max-width: 1200px !important;
}

/* --- 10. TRUST SECTION --- */
.ej-trust {
  padding: 64px 24px !important;
  background: #ffffff !important;
  border-top: 1px solid #e5e7eb !important;
}
.ej-trust h2 {
  font-size: 1.8rem !important;
  font-weight: 800 !important;
  color: #111827 !important;
}
.ej-trust-badge {
  padding: 24px 36px !important;
  border-right: 1px solid #e5e7eb !important;
}
.ej-trust-badge span {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #374151 !important;
}
.ej-trust-badge svg {
  stroke: var(--ej-primary) !important;
}
.ej-payment-logos {
  border-top: 1px solid #e5e7eb !important;
  padding-top: 28px !important;
  margin-top: 16px !important;
}

/* --- 11. NEWSLETTER SECTION --- */
.ej-newsletter {
  background: linear-gradient(135deg, #0f172a 0%, #1e3a5f 80%, #1e5a9e 100%) !important;
  padding: 64px 24px !important;
}
.ej-newsletter h2 {
  font-family: 'DM Sans', system-ui, sans-serif !important;
  font-size: 2rem !important;
  font-weight: 800 !important;
}
.ej-newsletter p {
  font-size: 17px !important;
}
.ej-newsletter-form input[type="email"] {
  padding: 16px 18px !important;
  font-size: 16px !important;
  border-radius: 10px !important;
}
.ej-newsletter-form button {
  padding: 16px 28px !important;
  font-size: 16px !important;
  border-radius: 10px !important;
}

/* --- 12. CATEGORY / LISTING PAGES — Light Theme --- */
body.view-product.layout-listing,
body[class*="view-product"][class*="layout-listing"] {
  background: var(--ej-bg) !important;
}
html:has(body.view-product.layout-listing) {
  background: var(--ej-bg) !important;
}

/* Breadcrumbs on listing pages */
body.view-product.layout-listing .container-component,
body.view-product.layout-listing .site-grid {
  background: transparent !important;
}
body.view-product.layout-listing nav[aria-label="Breadcrumbs"],
body.view-product.layout-listing .mod-breadcrumbs__wrapper {
  background: #ffffff !important;
  border-bottom: 1px solid #e5e7eb !important;
  padding: 14px 24px !important;
  margin-bottom: 0 !important;
}
body.view-product.layout-listing nav[aria-label="Breadcrumbs"] a {
  color: var(--ej-primary-mid) !important;
  font-weight: 500 !important;
  font-size: 14px !important;
}
body.view-product.layout-listing nav[aria-label="Breadcrumbs"] li:last-child span {
  color: #6b7280 !important;
}

/* Category title */
.ej-category-title {
  font-family: 'DM Sans', system-ui, sans-serif !important;
  font-size: 2rem !important;
  font-weight: 800 !important;
  color: #111827 !important;
  margin: 32px 0 24px !important;
}

/* Product grid wrapper */
body.view-product.layout-listing .hikashop_products_listing {
  padding: 0 !important;
}

/* Product cards on listing - professional white cards */
body.view-product.layout-listing .hikashop_product,
body.view-product.layout-listing .hikashop_listing_img_title {
  background: #ffffff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 16px !important;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0,0,0,0.04) !important;
  transition: all 0.3s ease !important;
}
body.view-product.layout-listing .hikashop_product:hover,
body.view-product.layout-listing .hikashop_listing_img_title:hover {
  box-shadow: 0 10px 25px rgba(0,0,0,0.08) !important;
  transform: translateY(-4px) !important;
  border-color: #d1d5db !important;
}

/* Product images on listing */
body.view-product.layout-listing .hikashop_product_image {
  background: #f8fafc !important;
  padding: 20px !important;
  min-height: 200px !important;
  border-bottom: 1px solid #f1f5f9 !important;
}
body.view-product.layout-listing .hikashop_product_image img {
  max-height: 200px !important;
}

/* Product names on listing */
body.view-product.layout-listing .hikashop_product_name {
  padding: 16px 18px 6px !important;
}
body.view-product.layout-listing .hikashop_product_name a {
  color: #111827 !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
}
body.view-product.layout-listing .hikashop_product_name a:hover {
  color: var(--ej-primary-mid) !important;
}

/* Prices on listing */
body.view-product.layout-listing .hikashop_product_price_full {
  font-size: 1.35rem !important;
  font-weight: 800 !important;
  color: #111827 !important;
  padding: 4px 18px !important;
}
body.view-product.layout-listing .hikashop_product_price_per_unit {
  font-size: 13px !important;
  color: #6b7280 !important;
}

/* Cart button on listing */
body.view-product.layout-listing .hikashop_cart_button {
  border-radius: 10px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  padding: 12px 20px !important;
  letter-spacing: 0.01em !important;
}

/* --- 13. INDIVIDUAL PRODUCT PAGES — Clean Light Theme --- */
body.view-product.layout-show {
  background: #f5f7fa !important;
}
html:has(body.view-product.layout-show) {
  background: #f5f7fa !important;
}
body.view-product.layout-show .site-grid {
  background: transparent !important;
}

/* Breadcrumbs on product page */
body.view-product.layout-show nav[aria-label="Breadcrumbs"],
body.view-product.layout-show .mod-breadcrumbs__wrapper {
  background: #ffffff !important;
  border-bottom: 1px solid #e5e7eb !important;
  padding: 14px 24px !important;
}
body.view-product.layout-show nav[aria-label="Breadcrumbs"] a {
  color: var(--ej-primary-mid) !important;
  font-weight: 500 !important;
  font-size: 14px !important;
}
body.view-product.layout-show nav[aria-label="Breadcrumbs"] li:last-child span,
body.view-product.layout-show nav[aria-label="Breadcrumbs"] .mod-breadcrumbs__here {
  color: #6b7280 !important;
}

/* Product title */
body.view-product.layout-show #hikashop_product_top_part h1,
body.view-product.layout-show .hikashop_product_name_main h1,
body.view-product.layout-show .hikashop_product_name_main {
  color: #111827 !important;
  font-family: 'DM Sans', system-ui, sans-serif !important;
  font-size: 1.9rem !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
}

/* Image card */
body.view-product.layout-show #hikashop_product_left_part,
body.view-product.layout-show .hikashop_product_left_part {
  background: #ffffff !important;
  border-radius: 16px !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.06) !important;
  padding: 16px !important;
  border: 1px solid #e5e7eb !important;
}

/* Right info panel */
body.view-product.layout-show #hikashop_product_right_part,
body.view-product.layout-show .hikashop_product_right_part {
  background: #ffffff !important;
  border-radius: 16px !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.06) !important;
  border: 1px solid #e5e7eb !important;
  padding: 28px !important;
}

/* Price on product page */
body.view-product.layout-show .hikashop_product_price_main {
  color: #111827 !important;
  font-size: 2rem !important;
  font-weight: 800 !important;
}
body.view-product.layout-show .hikashop_product_price::after {
  color: #6b7280 !important;
}

/* Stock info */
body.view-product.layout-show .hikashop_product_stock_div {
  color: #059669 !important;
  font-weight: 600 !important;
  font-size: 15px !important;
}

/* Variant dropdown */
body.view-product.layout-show .ej-char-dropdown {
  width: 100% !important;
  padding: 12px 16px !important;
  border: 2px solid #e5e7eb !important;
  border-radius: 10px !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  color: #111827 !important;
  background: #fff !important;
  cursor: pointer;
  transition: border-color 0.2s ease !important;
  appearance: none !important;
  -webkit-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 24 24' fill='none' stroke='%236b7280' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
}
body.view-product.layout-show .ej-char-dropdown:focus {
  border-color: var(--ej-primary-mid) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(30,90,158,0.1) !important;
}

/* Characteristic label */
body.view-product.layout-show .hikashop_product_characteristics td {
  color: #374151 !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  padding: 8px 12px 8px 0 !important;
}

/* Quantity controls */
body.view-product.layout-show .hikashop_product_quantity_field {
  border: 2px solid #e5e7eb !important;
  border-radius: 10px !important;
  padding: 12px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #111827 !important;
  text-align: center !important;
  width: 70px !important;
}
body.view-product.layout-show .hikashop_product_quantity_change_div_plus,
body.view-product.layout-show .hikashop_product_quantity_change_div_minus {
  width: 42px !important;
  height: 42px !important;
  border: 2px solid #e5e7eb !important;
  border-radius: 10px !important;
  background: #f8fafc !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #374151 !important;
  cursor: pointer;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.2s ease !important;
}
body.view-product.layout-show .hikashop_product_quantity_change_div_plus:hover,
body.view-product.layout-show .hikashop_product_quantity_change_div_minus:hover {
  background: #eef2ff !important;
  border-color: var(--ej-primary-mid) !important;
}

/* Add to cart button on product page */
body.view-product.layout-show .hikashop_cart_button {
  padding: 16px 40px !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  border-radius: 12px !important;
  letter-spacing: 0.01em !important;
  min-width: 220px !important;
}

/* Wishlist button */
body.view-product.layout-show .hikashop_wishlist_button {
  padding: 14px 24px !important;
  border-radius: 12px !important;
  border: 2px solid #e5e7eb !important;
  background: #fff !important;
  color: #374151 !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  cursor: pointer;
  transition: all 0.2s ease !important;
}
body.view-product.layout-show .hikashop_wishlist_button:hover {
  border-color: var(--ej-cta) !important;
  color: var(--ej-cta) !important;
  background: #fef2f2 !important;
}

/* Description card */
body.view-product.layout-show #hikashop_product_bottom_part,
body.view-product.layout-show .hikashop_product_bottom_part {
  background: #ffffff !important;
  border-radius: 16px !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.06) !important;
  border: 1px solid #e5e7eb !important;
  padding: 32px !important;
  margin-top: 24px !important;
}
body.view-product.layout-show .hikashop_product_description_main {
  color: #374151 !important;
  font-size: 16px !important;
  line-height: 1.8 !important;
  border-top: none !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}
body.view-product.layout-show .hikashop_product_description_main h2,
body.view-product.layout-show .hikashop_product_description_main h3 {
  color: #111827 !important;
}
body.view-product.layout-show .hikashop_product_description_main ul {
  padding-left: 20px !important;
}
body.view-product.layout-show .hikashop_product_description_main li {
  margin-bottom: 8px !important;
  color: #374151 !important;
}

/* Gallery arrows */
body.view-product.layout-show .ej-gallery-arrow {
  background: rgba(0,0,0,0.5) !important;
  color: #fff !important;
  border: none !important;
  width: 42px !important;
  height: 42px !important;
  border-radius: 50% !important;
  font-size: 24px !important;
  cursor: pointer;
  transition: all 0.2s ease !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 10 !important;
}
body.view-product.layout-show .ej-gallery-prev {
  left: 10px !important;
}
body.view-product.layout-show .ej-gallery-next {
  right: 10px !important;
}
body.view-product.layout-show .ej-gallery-arrow:hover {
  background: rgba(0,0,0,0.75) !important;
}

/* Related products on product page */
body.view-product.layout-show .hikashop_product_related_products h2 {
  color: #111827 !important;
}
body.view-product.layout-show .hikashop_product_related_products .hikashop_product {
  background: #fff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 14px !important;
}

/* "From" price label */
body.view-product.layout-show .ej-from-label {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #6b7280 !important;
}

/* --- 14. FOOTER UPGRADE --- */
.container-footer {
  background: #0f172a !important;
  padding: 56px 24px 0 !important;
}
.ej-footer-grid {
  gap: 40px !important;
  padding-bottom: 48px !important;
}
.ej-footer-col h4 {
  font-family: 'DM Sans', system-ui, sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #fff !important;
  margin-bottom: 20px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
}
.ej-footer-col p {
  font-size: 15px !important;
  line-height: 1.7 !important;
  color: #94a3b8 !important;
}
.ej-footer-col ul li a {
  font-size: 15px !important;
  color: #94a3b8 !important;
  transition: all 0.2s ease !important;
}
.ej-footer-col ul li a:hover {
  color: #fff !important;
  padding-left: 6px !important;
}
.ej-footer-col ul li {
  margin-bottom: 10px !important;
}

/* Footer newsletter */
.ej-footer-col .ej-newsletter-form,
.ej-newsletter-form {
  display: flex !important;
  gap: 8px !important;
}
.ej-footer-col .ej-newsletter-form input,
.ej-footer-col input[type="email"] {
  flex: 1 !important;
  padding: 12px 14px !important;
  border-radius: 8px !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  background: rgba(255,255,255,0.08) !important;
  color: #fff !important;
  font-size: 14px !important;
}
.ej-footer-col .ej-newsletter-form button,
.ej-footer-col button[type="submit"] {
  padding: 12px 20px !important;
  border-radius: 8px !important;
  background: var(--ej-cta) !important;
  color: #fff !important;
  border: none !important;
  font-weight: 600 !important;
  cursor: pointer;
}
.ej-footer-bottom {
  border-top: 1px solid rgba(255,255,255,0.08) !important;
  padding: 24px 0 !important;
}
.ej-footer-bottom p {
  color: #64748b !important;
  font-size: 13px !important;
}
.ej-footer-bottom a {
  color: #64748b !important;
  font-size: 13px !important;
}
.ej-footer-bottom a:hover {
  color: #94a3b8 !important;
}

/* --- 15. BREADCRUMBS UNIVERSAL --- */
.container-component nav[aria-label="Breadcrumbs"],
nav.mod-breadcrumbs {
  padding: 14px 24px !important;
  font-size: 14px !important;
  background: #fff !important;
  border-bottom: 1px solid #e5e7eb !important;
  border-radius: 0 !important;
}
nav.mod-breadcrumbs a {
  color: var(--ej-primary-mid) !important;
  font-weight: 500 !important;
}
nav.mod-breadcrumbs .mod-breadcrumbs__here {
  color: #6b7280 !important;
}

/* --- 16. SEO CONTENT BLOCK (bottom-a) --- */
/* The SEO block has inline styles, so we need to fix some things */
.container-footer ~ section,
section[style*="padding:50px"] {
  background: #f8fafc !important;
}

/* --- 17. MOBILE RESPONSIVE IMPROVEMENTS --- */
@media (max-width: 991px) {
  body {
    font-size: 16px !important;
  }

  h1 { font-size: 1.8rem !important; }
  h2 { font-size: 1.5rem !important; }

  .ej-usp-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0 !important;
  }
  .ej-usp-item {
    border-right: none !important;
    border-bottom: 1px solid #e5e7eb !important;
    padding: 12px 16px !important;
  }

  .ej-cat-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px !important;
  }

  .ej-trust-badges {
    flex-direction: column !important;
    align-items: center !important;
  }
  .ej-trust-badge {
    border-right: none !important;
    border-bottom: 1px solid #e5e7eb !important;
    width: 100% !important;
    padding: 16px !important;
  }

  .ej-footer-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  /* Search bar on mobile */
  .header-search-wrapper {
    display: none !important;
  }
  .header-search-mobile {
    display: block !important;
    padding: 12px 16px;
    background: rgba(0,0,0,0.15);
  }
  .header-search-mobile input {
    width: 100%;
    padding: 12px 16px;
    border-radius: 8px;
    border: none;
    font-size: 15px;
    background: rgba(255,255,255,0.12);
    color: #fff;
  }
  .header-search-mobile input::placeholder {
    color: rgba(255,255,255,0.5);
  }
}

@media (max-width: 576px) {
  body {
    font-size: 15px !important;
  }

  .ej-usp-grid {
    grid-template-columns: 1fr !important;
  }

  .ej-cat-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
  .ej-cat-card img {
    height: 180px !important;
  }

  .ej-categories {
    padding: 48px 16px !important;
  }
  .ej-products {
    padding: 48px 16px !important;
  }
  .ej-trust {
    padding: 40px 16px !important;
  }
  .ej-newsletter {
    padding: 40px 16px !important;
  }

  .ej-footer-grid {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  .ej-payment-logos {
    flex-wrap: wrap !important;
    gap: 12px !important;
  }

  /* Product page mobile */
  body.view-product.layout-show #hikashop_product_right_part,
  body.view-product.layout-show .hikashop_product_right_part {
    padding: 20px !important;
  }
  body.view-product.layout-show .hikashop_product_name_main h1 {
    font-size: 1.5rem !important;
  }
}

/* --- 18. JOOMLA ALERT STYLING --- */
.alert {
  border-radius: 12px !important;
  padding: 16px 20px !important;
  font-size: 15px !important;
  border: none !important;
}
.alert-info {
  background: #eff6ff !important;
  color: #1e40af !important;
}
.alert-success {
  background: #f0fdf4 !important;
  color: #166534 !important;
}
.alert-warning {
  background: #fefce8 !important;
  color: #854d0e !important;
}
.alert-danger {
  background: #fef2f2 !important;
  color: #991b1b !important;
}

/* --- 19. FORM STYLING IMPROVEMENTS --- */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="tel"],
select,
textarea {
  border: 2px solid #e5e7eb !important;
  border-radius: 10px !important;
  padding: 12px 14px !important;
  font-size: 15px !important;
  color: #111827 !important;
  background: #fff !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
  font-family: 'DM Sans', system-ui, sans-serif !important;
}
input:focus,
select:focus,
textarea:focus {
  border-color: var(--ej-primary-mid) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(30,90,158,0.1) !important;
}

/* --- 20. ACCOUNT DROPDOWN STYLING --- */
.account-dropdown {
  position: absolute !important;
  top: calc(100% + 8px) !important;
  right: 0 !important;
  background: #fff !important;
  border-radius: 14px !important;
  box-shadow: 0 12px 40px rgba(0,0,0,0.12), 0 0 0 1px rgba(0,0,0,0.05) !important;
  min-width: 220px !important;
  padding: 8px 0 !important;
  z-index: 300 !important;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: all 0.2s ease;
}
.account-wrapper:hover .account-dropdown,
.account-wrapper.open .account-dropdown {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) !important;
}
.account-dropdown a {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 12px 18px !important;
  color: #374151 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  transition: all 0.15s ease !important;
  text-decoration: none !important;
}
.account-dropdown a:hover {
  background: #f8fafc !important;
  color: var(--ej-primary) !important;
}
.account-dropdown a svg {
  width: 18px !important;
  height: 18px !important;
  stroke: #6b7280 !important;
  flex-shrink: 0;
}
.account-dropdown a:hover svg {
  stroke: var(--ej-primary) !important;
}
.account-dropdown .divider {
  height: 1px !important;
  background: #e5e7eb !important;
  margin: 6px 0 !important;
}

/* --- 21. HIKASHOP LISTING — Category header banner --- */
body.view-product.layout-listing .hikashop_category_information {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 16px !important;
}

/* Category header banner style */
body.view-product.layout-listing .container-component > .item-page,
body.view-product.layout-listing .container-component {
  max-width: none !important;
  padding: 0 !important;
}
body.view-product.layout-listing .hikashop_products {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 16px 40px !important;
}

/* --- 22. CHECKOUT PAGES — keep light --- */
body.view-checkout {
  background: #f5f7fa !important;
}
html:has(body.view-checkout) {
  background: #f5f7fa !important;
}
body.view-checkout .site-grid {
  background: transparent !important;
}

/* --- 23. FEATURED PRODUCTS MODULE on Homepage --- */
.hikashop_products_listing .hikashop_product {
  background: #ffffff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.04) !important;
}
.hikashop_products_listing .hikashop_product:hover {
  box-shadow: 0 10px 25px rgba(0,0,0,0.08) !important;
  transform: translateY(-4px) !important;
}
.hikashop_product_image {
  background: #f8fafc !important;
}
.hikashop_product_name a {
  color: #111827 !important;
  font-size: 15px !important;
  font-weight: 600 !important;
}
.hikashop_product_name a:hover {
  color: var(--ej-primary-mid) !important;
}
.hikashop_product_price_full {
  color: #111827 !important;
  font-weight: 800 !important;
}

/* --- 24. CONTACT PAGE / GENERIC ARTICLES --- */
body.view-article .com-content-article {
  max-width: 900px !important;
  margin: 0 auto !important;
  padding: 40px 24px !important;
}
body.view-article:not(.itemid-101) .com-content-article {
  background: #fff !important;
  border-radius: 16px !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.06) !important;
  border: 1px solid #e5e7eb !important;
  margin-top: 24px !important;
  margin-bottom: 40px !important;
}

/* --- 25. SCROLLBAR STYLING --- */
::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar-track {
  background: #f1f5f9;
}
::-webkit-scrollbar-thumb {
  background: #94a3b8;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: #64748b;
}

/* --- 26. SELECTION COLOR --- */
::selection {
  background: rgba(30,90,158,0.15);
  color: #111827;
}

/* --- 27. LOADING ANIMATION --- */
@keyframes shimmer {
  0% { background-position: -200px 0; }
  100% { background-position: 200px 0; }
}
.hikashop_product_image img[src=""] {
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%) !important;
  background-size: 200px 100% !important;
  animation: shimmer 1.5s infinite !important;
}

/* --- 28. PRINT STYLES --- */
@media print {
  @page { margin: 8mm 10mm; size: A4; }

  /* Hide all chrome — nav, header, footer, buttons */
  .container-header, .promo-bar, .container-footer, .ej-newsletter,
  nav, header, footer, .hika_toolbar,
  .ej-trust-signals, .ej-order-notes-toggle,
  button, .btn, a.btn,
  .hikashop_order_contact, .hikashop_order_back,
  nav[aria-label="Breadcrumbs"], .breadcrumb { display: none !important; }

  /* Base reset */
  *, *::before, *::after {
    background: transparent !important;
    box-shadow: none !important;
    text-shadow: none !important;
    -webkit-print-color-adjust: exact;
  }
  html, body {
    background: #fff !important;
    color: #000 !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 10pt !important;
  }

  /* Strip all container padding/margin */
  .container, .site-grid, main, article,
  .grid-child, #component, .sp-section,
  #sp-component, .sp-column,
  #hikashop_order_main {
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  /* Order page title */
  h1.hikashop_header_title,
  .hikashop_order_title,
  main > h1 {
    font-size: 14pt !important;
    margin: 0 0 4pt 0 !important;
    padding: 0 !important;
  }

  /* Toolbar buttons row - completely hidden */
  .hk_toolbar, .hikashop_header_buttons,
  #hikashop_order_main .hk_toolbar,
  .hikashop_order_title + div {
    display: none !important;
  }

  /* Order header box - compact, no break after */
  .ej-order-header {
    display: flex !important;
    padding: 6pt 0 !important;
    margin-bottom: 6pt !important;
    border: none !important;
    border-bottom: 0.5pt solid #999 !important;
    border-radius: 0 !important;
    page-break-after: avoid !important;
    break-after: avoid !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  /* Main table - strip spacing */
  .hikashop_order_main_table {
    border-radius: 0 !important;
    box-shadow: none !important;
    margin-bottom: 6pt !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }
  .hikashop_order_main_table > tbody > tr > td {
    padding: 6pt 4pt !important;
  }

  /* Address fieldsets */
  #htmlfieldset_billing, #htmlfieldset_shipping {
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }
  #htmlfieldset_billing legend,
  #htmlfieldset_shipping legend {
    font-size: 10pt !important;
    font-weight: bold !important;
    padding-bottom: 2pt !important;
    margin-bottom: 2pt !important;
    border-bottom: 0.5pt solid #ccc !important;
  }

  /* Products fieldset */
  #htmlfieldset_products {
    margin: 4pt 0 0 !important;
    padding: 0 !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }
  #htmlfieldset_products > legend {
    font-size: 10pt !important;
    font-weight: bold !important;
    padding-bottom: 2pt !important;
    margin-bottom: 4pt !important;
    border-bottom: 0.5pt solid #ccc !important;
  }

  /* Product table rows */
  #htmlfieldset_products > table > thead > tr,
  #htmlfieldset_products > table > thead tr {
    background: #eee !important;
  }
  #htmlfieldset_products > table > thead > tr > th,
  #htmlfieldset_products > table thead th {
    font-size: 8pt !important;
    padding: 3pt 6pt !important;
    color: #000 !important;
    background: #eee !important;
  }
  #htmlfieldset_products > table > tbody > tr > td,
  #htmlfieldset_products > table tbody td {
    font-size: 9pt !important;
    padding: 4pt 6pt !important;
    border-bottom: 0.25pt solid #ddd !important;
  }
  #htmlfieldset_products .hikashop_order_item_image {
    width: 32pt !important;
    height: 32pt !important;
  }

  /* Totals */
  .hikashop_order_subtotal_title, .hikashop_order_subtotal_value,
  .hikashop_order_total_title, .hikashop_order_total_value {
    font-size: 9pt !important;
    padding: 2pt 6pt !important;
  }
  .hikashop_order_total_title, .hikashop_order_total_value {
    font-size: 10pt !important;
    font-weight: bold !important;
    border-top: 0.5pt solid #999 !important;
  }

  /* Payment/shipping method text */
  .hikashop_order_shipping_method,
  .hikashop_order_payment_method {
    font-size: 8pt !important;
    margin: 2pt 0 !important;
  }

  /* Headings: never break immediately after */
  h1, h2, h3, h4 {
    page-break-after: avoid !important;
    break-after: avoid !important;
  }

  /* Header and address blocks: keep together */
  .ej-order-header,
  #htmlfieldset_billing,
  #htmlfieldset_shipping,
  .hikashop_order_main_table > tbody > tr {
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  /* Individual product rows: keep each row together, but allow breaks BETWEEN rows */
  #htmlfieldset_products > table > tbody > tr {
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  /* Allow tables and fieldsets to break naturally across pages */
  table, fieldset, td {
    page-break-inside: auto !important;
    break-inside: auto !important;
  }

  /* Totals block: keep together since it's small */
  .hikashop_order_total_row,
  .hikashop_order_subtotal_title,
  .hikashop_order_subtotal_value,
  .hikashop_order_total_title,
  .hikashop_order_total_value {
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }
}

/* ================================================================
   FIX: Hide JS-injected search wrapper (shows as white circle)
   The header already has a search icon in header-actions
   ================================================================ */
.header-search-wrapper { display: none !important; }

/* ================================================================
   FIX: Product title on light background should be dark navy
   ================================================================ */
.hikashop_product_name_main h1,
.hikashop_product_name_main h2,
h1.hikashop_product_name {
  color: var(--ej-text-heading, #111827) !important;
}

/* FIX: Product title white-on-light — force dark navy */
h1.ej-product-title,
.ej-product-title {
  color: #1A3A5C !important;
}

/* === FIX: Article content pages — dark text on light backgrounds === */
body.view-article:not(.itemid-101) .com-content-article,
body.view-article:not(.itemid-101) .com-content-article__body {
  color: #374151 !important;
}
body.view-article:not(.itemid-101) .com-content-article h1,
body.view-article:not(.itemid-101) .com-content-article h2,
body.view-article:not(.itemid-101) .com-content-article h3,
body.view-article:not(.itemid-101) .com-content-article h4 {
  color: #1A3A5C !important;
}
body.view-article:not(.itemid-101) .com-content-article p,
body.view-article:not(.itemid-101) .com-content-article li,
body.view-article:not(.itemid-101) .com-content-article td,
body.view-article:not(.itemid-101) .com-content-article span,
body.view-article:not(.itemid-101) .com-content-article div:not([class*="header"]):not([class*="nav"]) {
  color: #374151 !important;
}
body.view-article:not(.itemid-101) .com-content-article a {
  color: #1a4fa0 !important;
}
body.view-article:not(.itemid-101) .com-content-article a:hover {
  color: #1A3A5C !important;
}
body.view-article:not(.itemid-101) .page-header h1,
body.view-article:not(.itemid-101) .page-header h2 {
  color: #1A3A5C !important;
}

/* === FIX: Category listing pages — dark text everywhere === */
body.view-product.layout-listing .hikashop_category_information,
body.view-product.layout-listing .hikashop_products_listing_main {
  color: #374151 !important;
}
body.view-product.layout-listing .hikashop_category_h1 {
  color: #1A3A5C !important;
}

/* === FIX: Contact page (itemid-116) — light theme === */
.itemid-116 .page-header h1 {
  color: #1A3A5C !important;
}
.itemid-116 .com-content-article,
.itemid-116 .com-content-article__body {
  color: #374151 !important;
}
.itemid-116 .ej-contact-form label,
.itemid-116 .ej-contact-form input,
.itemid-116 .ej-contact-form textarea {
  color: #374151 !important;
}
.itemid-116 .ej-contact-form input,
.itemid-116 .ej-contact-form textarea {
  background: #fff !important;
  border-color: #e2e8f0 !important;
}
.itemid-116 .ej-contact-form input:focus,
.itemid-116 .ej-contact-form textarea:focus {
  background: #fff !important;
  border-color: #1a4fa0 !important;
  box-shadow: 0 0 0 3px rgba(26,79,160,0.1) !important;
}

/* === UX IMPROVEMENTS: Product Page Enhancements === */

/* Dispatch notice on product pages */
.hikashop_product_stock_count::after {
    content: "Order by 2pm for same-day dispatch (Mon-Fri)";
    display: block;
    margin-top: 8px;
    padding: 8px 12px;
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    border-radius: 6px;
    color: #166534;
    font-size: 13px;
    font-weight: 500;
}

/* Better "Add to Cart" button styling */
.hikashop_cart_button {
    background: #dc2626 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 14px 32px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    transition: all 0.3s ease !important;
    cursor: pointer !important;
    box-shadow: 0 2px 8px rgba(220,38,38,0.3) !important;
}
.hikashop_cart_button:hover {
    background: #b91c1c !important;
    box-shadow: 0 4px 12px rgba(220,38,38,0.4) !important;
    transform: translateY(-1px) !important;
}

/* Free delivery badge on product page */
.hikashop_product_price_main::after {
    content: "Free UK Delivery";
    display: inline-block;
    margin-left: 12px;
    padding: 3px 10px;
    background: #166534;
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    border-radius: 4px;
    vertical-align: middle;
    letter-spacing: 0.3px;
}

/* Category listing: improve product card hover */
.hikashop_product {
    transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}
.hikashop_product:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 8px 25px rgba(0,0,0,0.12) !important;
}

/* Product page: improve breadcrumb visibility */
.hikashop_product_page .hikashop_breadcrumbs {
    background: #f8fafc;
    padding: 10px 16px;
    border-radius: 8px;
    margin-bottom: 16px;
    font-size: 13px;
}

/* Quantity selector improvements */
.hikashop_product_quantity_div {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 16px 0 !important;
}
.hikashop_product_quantity_field {
    width: 60px !important;
    text-align: center !important;
    border: 2px solid #e2e8f0 !important;
    border-radius: 6px !important;
    padding: 8px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
}

/* Wishlist button styling */
.hikashop_wishlist_button {
    background: transparent !important;
    border: 2px solid #d4a847 !important;
    color: #d4a847 !important;
    border-radius: 8px !important;
    padding: 12px 20px !important;
    font-weight: 600 !important;
    transition: all 0.3s ease !important;
}
.hikashop_wishlist_button:hover {
    background: #d4a847 !important;
    color: #fff !important;
}


/* ================================================================
   VISUAL POLISH — Beat Competitors (March 2026)
   ================================================================ */

/* --- 1. Breadcrumb bar: better contrast & modern styling --- */
nav[aria-label="Breadcrumbs"],
.container-breadcrumbs {
  background: #fff !important;
  border-bottom: 1px solid #e5e7eb !important;
  padding: 10px 24px !important;
  margin-bottom: 0 !important;
}
nav[aria-label="Breadcrumbs"] ol,
nav[aria-label="Breadcrumbs"] ul {
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}
nav[aria-label="Breadcrumbs"] li {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px !important;
  color: #6b7280 !important;
}
nav[aria-label="Breadcrumbs"] a {
  color: #1a4fa0 !important;
  text-decoration: none !important;
  font-weight: 500 !important;
}
nav[aria-label="Breadcrumbs"] a:hover {
  color: #1A3A5C !important;
  text-decoration: underline !important;
}

/* --- 2. Category page title: modern sans-serif, not italic serif --- */
.hikashop_category_h1,
.hikashop_products_listing_main h1 {
  font-family: 'DM Sans', sans-serif !important;
  font-style: normal !important;
  font-weight: 800 !important;
  font-size: 32px !important;
  color: #1A3A5C !important;
  text-align: center !important;
  margin: 28px 0 24px !important;
  letter-spacing: -0.02em !important;
}

/* --- 3. Hide the right-aligned category name in breadcrumb area --- */
.hikashop_products_listing_main > .hikashop_category_name,
body.view-product.layout-listing .container-component > span.float-end,
body.view-product.layout-listing span.float-end {
  display: none !important;
}

/* --- 4. Product cards: consistent image heights on category pages --- */
.hikashop_products_listing .hikashop_product .hikashop_product_image {
  height: 240px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  padding: 16px !important;
}
.hikashop_products_listing .hikashop_product .hikashop_product_image img {
  max-height: 200px !important;
  width: auto !important;
  max-width: 100% !important;
  object-fit: contain !important;
}

/* --- 5. Product card: better spacing and text styling --- */
.hikashop_products_listing .hikashop_product .hikashop_product_name {
  padding: 0 16px !important;
  min-height: 48px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.hikashop_products_listing .hikashop_product .hikashop_product_name a {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #1A3A5C !important;
  text-align: center !important;
  line-height: 1.4 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
.hikashop_products_listing .hikashop_product .hikashop_product_price_full {
  text-align: center !important;
  padding: 8px 16px 4px !important;
}
.hikashop_products_listing .hikashop_product .hikashop_product_price .hikashop_product_price_main {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  color: #D32F2F !important;
}
.hikashop_products_listing .hikashop_product .hikashop_product_price .hikashop_product_price_per_unit {
  font-size: 13px !important;
  color: #6b7280 !important;
  font-weight: 400 !important;
}

/* --- 6. "Choose options" button: consistent red CTA --- */
.hikashop_products_listing a.hikabtn.hikacart,
.hikashop_products_listing button.hikabtn.hikacart {
  display: block !important;
  width: calc(100% - 32px) !important;
  margin: 8px 16px 16px !important;
  padding: 12px 20px !important;
  background: #D32F2F !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-align: center !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  cursor: pointer !important;
}
.hikashop_products_listing a.hikabtn.hikacart:hover,
.hikashop_products_listing button.hikabtn.hikacart:hover {
  background: #b71c1c !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(211,47,47,0.3) !important;
}

/* --- 7. Category description: cleaner card styling --- */
.hikashop_category_description,
.hikashop_category_information .hikashop_category_description {
  background: #fff !important;
  border-radius: 16px !important;
  padding: 32px 40px !important;
  margin: 0 auto 32px !important;
  max-width: 900px !important;
  box-shadow: 0 1px 4px rgba(0,0,0,0.04) !important;
  border: 1px solid #e5e7eb !important;
  font-family: 'DM Sans', sans-serif !important;
  color: #374151 !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
}
.hikashop_category_description h2,
.hikashop_category_description h3 {
  font-family: 'DM Sans', sans-serif !important;
  color: #1A3A5C !important;
  font-weight: 700 !important;
  margin-top: 24px !important;
}

/* --- 8. About page specific styling --- */
.ej-about-page h1 {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 32px !important;
  font-weight: 800 !important;
  color: #1A3A5C !important;
  margin-bottom: 16px !important;
}
.ej-about-page h2 {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #1A3A5C !important;
  margin-top: 28px !important;
  margin-bottom: 12px !important;
  padding-bottom: 8px !important;
  border-bottom: 2px solid #f8a8a8 !important;
}
.ej-about-intro {
  font-size: 17px !important;
  line-height: 1.7 !important;
  color: #374151 !important;
}

/* --- 9. Info pages (Delivery, Returns, FAQ, etc.): enhanced styling --- */
body.view-article .com-content-article h2 {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #1A3A5C !important;
  padding-bottom: 8px !important;
  border-bottom: 2px solid #f8a8a8 !important;
  margin: 28px 0 14px !important;
}
body.view-article .com-content-article h3 {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  color: #1A3A5C !important;
  margin: 20px 0 10px !important;
}

/* --- 10. Trust signals on checkout: better styling --- */
.hikashop_checkout_page .ej-trust-row,
.ej-checkout-trust {
  display: flex !important;
  justify-content: center !important;
  gap: 24px !important;
  margin-top: 20px !important;
  padding: 16px !important;
  background: #f8fafc !important;
  border-radius: 10px !important;
  border: 1px solid #e5e7eb !important;
}

/* --- 11. Footer links: better spacing --- */
footer a {
  transition: color 0.15s ease !important;
}
footer a:hover {
  color: #f8a8a8 !important;
}

/* --- 12. Smooth page transitions --- */
main, .container-component {
  animation: fadeIn 0.3s ease;
}
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

/* --- 13. Better focus states for accessibility --- */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible {
  outline: 2px solid #1a4fa0 !important;
  outline-offset: 2px !important;
}

/* --- 14. Responsive product grid: 2 cols on tablet --- */
@media (max-width: 1024px) and (min-width: 601px) {
  .hikashop_products_listing .hk-row-fluid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 16px !important;
  }
}
@media (max-width: 600px) {
  .hikashop_products_listing .hk-row-fluid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .hikashop_category_h1 {
    font-size: 24px !important;
  }
  .hikashop_category_description {
    padding: 20px !important;
  }
}

/* ================================================================
   PRODUCT DESCRIPTION — Tight, Professional Text Spacing
   ================================================================ */
#hikashop_product_description_main ul,
#hikashop_product_description_main ol {
  margin: 0 0 14px !important;
  padding-left: 20px !important;
}
#hikashop_product_description_main li {
  margin-bottom: 2px !important;
  padding: 0 !important;
  line-height: 1.6 !important;
  font-size: 14px !important;
}
#hikashop_product_description_main h2 {
  font-family: 'DM Sans', sans-serif !important;
  font-style: normal !important;
  font-weight: 700 !important;
  color: #1A3A5C !important;
  font-size: 20px !important;
  margin: 0 0 10px !important;
}
#hikashop_product_description_main h3 {
  font-family: 'DM Sans', sans-serif !important;
  font-style: normal !important;
  font-weight: 700 !important;
  color: #1A3A5C !important;
  font-size: 16px !important;
  margin: 16px 0 6px !important;
}
#hikashop_product_description_main p {
  margin: 0 0 12px !important;
  line-height: 1.65 !important;
}
#hikashop_product_description_main table {
  border-radius: 8px !important;
  overflow: hidden !important;
}
#hikashop_product_description_main table td {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  padding: 8px 14px !important;
}
/* Kill stray <br> spacing inside descriptions */
#hikashop_product_description_main br {
  display: none !important;
}
/* Feature badge pills */
#hikashop_product_description_main > div > div[style*="display:flex"] > div,
#hikashop_product_description_main > div > div[style*="display: flex"] > div {
  background: #f0f4f8 !important;
  border-color: #e5e7eb !important;
  font-family: 'DM Sans', sans-serif !important;
  text-align: center !important;
}

/* --- Hide "View & Buy Now" links that point to the live WooCommerce site --- */
/* Handled by ej-cleanup.js since these links have inline !important styles */

/* ==============================================
   PRICE VISIBILITY FIX — Make prices bold & readable
   ============================================== */

/* Category listing prices — change from washed-out pink #f8a8a8 to strong red */
.hikashop_products_listing .hikashop_product_price,
.hikashop_listing_img_title .hikashop_product_price,
.hikashop_product_price_full .hikashop_product_price {
  color: #D32F2F !important;
  font-weight: 800 !important;
  font-size: 1.35em !important;
}

/* "each" / per-unit text — make slightly darker so it's readable */
.hikashop_products_listing .hikashop_product_price_per_unit,
.hikashop_listing_img_title .hikashop_product_price_per_unit {
  color: #6b7280 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}

/* Product page price — ensure strong red */
.view-product.layout-show .hikashop_product_price_main .hikashop_product_price,
.hikashop_product_page .hikashop_product_price {
  color: #D32F2F !important;
  font-weight: 800 !important;
}

/* "From" price labels */
.ej-from-price .hikashop_product_price {
  color: #D32F2F !important;
  font-weight: 800 !important;
}

/* "inc. VAT" pseudo-element — make readable */
.hikashop_product_price_full .hikashop_product_price::after {
  color: #6b7280 !important;
  font-weight: 500 !important;
}

/* Related/module product prices */
.view-product.layout-show .hikashop_module .hikashop_product_price {
  color: #D32F2F !important;
  font-weight: 700 !important;
}

/* ==============================================
   TEXT READABILITY FIX — Product description text
   ============================================== */

/* Ensure product description body text is dark enough */
#hikashop_product_description_main,
#hikashop_product_description_main p,
#hikashop_product_description_main li,
.hikashop_product_description_main,
.hikashop_product_description_main p,
.hikashop_product_description_main li {
  color: #1f2937 !important;
}

/* Product description headings — ensure strong contrast */
#hikashop_product_description_main h2,
#hikashop_product_description_main h3,
#hikashop_product_description_main h4 {
  color: #1A3A5C !important;
  font-weight: 700 !important;
}

/* REMOVED: overly broad [style*="background"] rules that were turning text white on white backgrounds */












/* ==============================================
   FIX: Related product names white on white
   ============================================== */
.view-product.layout-show .hikashop_module .hikashop_product_name a,
.view-product.layout-show .hikashop_products .hikashop_product_name a,
.hikashop_module .hikashop_listing_img_title .hikashop_product_name a {
  color: #1A3A5C !important;
  font-weight: 600 !important;
}

/* Related product "each" text */
.view-product.layout-show .hikashop_module .hikashop_product_price_per_unit {
  color: #6b7280 !important;
}

/* ==============================================
   FIX: Blue gradient CTA text in product descriptions
   Override the dark text colour for elements inside gradient backgrounds
   ============================================== */
#hikashop_product_description_main div[style*="gradient"] {
  color: #fff !important;
}
#hikashop_product_description_main div[style*="gradient"] h2,
#hikashop_product_description_main div[style*="gradient"] h3,
#hikashop_product_description_main div[style*="gradient"] p,
#hikashop_product_description_main div[style*="gradient"] span {
  color: #fff !important;
  opacity: 1 !important;
}

/* ==============================================
   FIX: "Product Details" heading in description — ensure dark
   ============================================== */
#hikashop_product_description_main h2 {
  color: #1A3A5C !important;
  font-weight: 700 !important;
  opacity: 1 !important;
}

/* ==============================================
   FIX: Blue gradient CTA — child divs need white text
   The earlier !important dark text rule was overriding inline white
   ============================================== */
#hikashop_product_description_main div[style*="gradient"] div,
#hikashop_product_description_main div[style*="gradient"] div[style] {
  color: #fff !important;
}

/* ===== FIX: Mobile quantity box — keep input + buttons inline ===== */
.view-product.layout-show .hikashop_product_quantity_input_div_default_main {
  display: inline-flex !important;
  align-items: center;
  gap: 0 !important;
  flex-wrap: nowrap !important;
}
.view-product.layout-show .hikashop_product_quantity_input_div_default {
  order: 2;
}
.view-product.layout-show .hikashop_product_quantity_change_div_default {
  display: contents !important;
}
.view-product.layout-show .hikashop_product_quantity_change_div_default a:first-child {
  order: 1;
  border-radius: 10px 0 0 10px !important;
  border-right: none !important;
}
.view-product.layout-show .hikashop_product_quantity_change_div_default a:last-child {
  order: 3;
  border-radius: 0 10px 10px 0 !important;
  border-left: none !important;
}
.view-product.layout-show .hikashop_product_quantity_field {
  width: 48px !important;
  max-width: 48px !important;
  text-align: center !important;
  border-radius: 0 !important;
  -moz-appearance: textfield !important;
  -webkit-appearance: none !important;
}
.view-product.layout-show .hikashop_product_quantity_field::-webkit-inner-spin-button,
.view-product.layout-show .hikashop_product_quantity_field::-webkit-outer-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

/* Mobile-specific quantity refinement */
@media (max-width: 768px) {
  .view-product.layout-show .hikashop_product_quantity_input_div_default_main {
    display: inline-flex !important;
    flex-wrap: nowrap !important;
    margin-bottom: 12px !important;
  }
  .hikashop_product_page .hikashop_product_quantity_div {
    flex-wrap: nowrap !important;
  }
  .view-product.layout-show .hikashop_product_quantity_change_div_default a {
    width: 42px !important;
    height: 42px !important;
    font-size: 1.2rem !important;
  }
  .view-product.layout-show .hikashop_product_quantity_field {
    width: 48px !important;
    height: 42px !important;
    font-size: 16px !important; /* prevent iOS zoom */
  }
}

/* ===== Rearranged quantity: [–] [input] [+] inline ===== */
.ej-qty-inline {
  display: inline-flex !important;
  align-items: center;
  flex-wrap: nowrap !important;
}
.ej-qty-inline .hikashop_product_quantity_change_div_minus_default,
.ej-qty-inline .hikashop_product_quantity_change_div_plus_default {
  display: flex !important;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
}
.ej-qty-inline .hikashop_product_quantity_change_div_minus_default a,
.ej-qty-inline .hikashop_product_quantity_change_div_plus_default a {
  background: #f5f5f5 !important;
  border: 1.5px solid #d1d5db !important;
  color: #374151 !important;
  width: 44px !important;
  height: 44px !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  text-decoration: none !important;
  font-weight: 700;
  font-size: 1.2rem;
  transition: all 0.15s ease;
  border-radius: 0 !important;
}
.ej-qty-inline .hikashop_product_quantity_change_div_minus_default a {
  border-radius: 10px 0 0 10px !important;
  border-right: none !important;
}
.ej-qty-inline .hikashop_product_quantity_change_div_plus_default a {
  border-radius: 0 10px 10px 0 !important;
  border-left: none !important;
}
.ej-qty-inline .hikashop_product_quantity_change_div_minus_default a:hover,
.ej-qty-inline .hikashop_product_quantity_change_div_plus_default a:hover {
  background: #1a4fa0 !important;
  border-color: #1a4fa0 !important;
  color: #fff !important;
}
.ej-qty-inline .hikashop_product_quantity_field {
  width: 50px !important;
  max-width: 50px !important;
  height: 44px !important;
  text-align: center !important;
  border: 1.5px solid #d1d5db !important;
  border-left: none !important;
  border-right: none !important;
  border-radius: 0 !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: #374151 !important;
  background: #fff !important;
  padding: 0 !important;
  -moz-appearance: textfield !important;
  font-family: 'DM Sans', sans-serif !important;
}

@media (max-width: 768px) {
  .ej-qty-inline .hikashop_product_quantity_change_div_minus_default a,
  .ej-qty-inline .hikashop_product_quantity_change_div_plus_default a {
    width: 44px !important;
    height: 44px !important;
    font-size: 1.3rem !important;
  }
  .ej-qty-inline .hikashop_product_quantity_field {
    width: 50px !important;
    height: 44px !important;
    font-size: 16px !important; /* prevent iOS zoom on focus */
  }
}

/* ===== FIX: Reset order values inside ej-qty-inline (DOM order is correct) ===== */
.ej-qty-inline .hikashop_product_quantity_change_div_minus_default,
.ej-qty-inline .hikashop_product_quantity_change_div_plus_default,
.ej-qty-inline .hikashop_product_quantity_field {
  order: unset !important;
}

/* ===== Cart page trust signals ===== */
.ej-cart-trust {
  display: flex;
  justify-content: center;
  gap: 24px;
  padding: 16px 0;
  margin-top: 12px;
}
.ej-cart-trust span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: 'DM Sans', sans-serif;
  font-size: 0.85rem;
  color: var(--ej-text-muted);
  font-weight: 500;
}
@media (max-width: 600px) {
  .ej-cart-trust {
    flex-direction: column;
    align-items: center;
    gap: 8px;
  }
}

/* ===== FIX: Override old checkout cart button styles for ej-qty-inline ===== */
.hikashop_checkout_cart .ej-qty-inline .hikashop_product_quantity_field_change {
  border-radius: 0 !important;
  width: 40px !important;
  height: 40px !important;
  border: 1.5px solid #d1d5db !important;
  background: #f5f5f5 !important;
  color: #374151 !important;
  font-weight: 700 !important;
  font-size: 1.1rem !important;
}
.hikashop_checkout_cart .ej-qty-inline .hikashop_product_quantity_field_change_minus {
  border-radius: 10px 0 0 10px !important;
  border-right: none !important;
}
.hikashop_checkout_cart .ej-qty-inline .hikashop_product_quantity_field_change_plus {
  border-radius: 0 10px 10px 0 !important;
  border-left: none !important;
}
.hikashop_checkout_cart .ej-qty-inline .hikashop_product_quantity_field_change:hover {
  background: #1a4fa0 !important;
  border-color: #1a4fa0 !important;
  color: #fff !important;
}
.hikashop_checkout_cart .ej-qty-inline .hikashop_product_quantity_field {
  width: 48px !important;
  height: 40px !important;
  text-align: center !important;
  border: 1.5px solid #d1d5db !important;
  border-left: none !important;
  border-right: none !important;
  border-radius: 0 !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  padding: 0 !important;
  margin: 0 !important;
  background: #fff !important;
}


/* Hide HikaShop native coupon block on Step 2 — sidebar has its own coupon UI */
.hikashop_checkout_page_step2 .hikashop_checkout_left_column .hikashop_checkout_coupon,
.hikashop_checkout_page_step2 .hikashop_checkout_coupon:not(.ej-sidebar-coupon) {
    display: none !important;
}

/* =============================================================
   ORDER DETAILS PAGE — balanced header layout
   ============================================================= */
.ej-order-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 24px !important;
}
.ej-order-header .ej-order-meta strong {
  color: #0d1b2a !important;
}
.ej-order-header .ej-order-store-addr,
.ej-order-header .ej-order-store-addr * {
  text-align: left !important;
}
.ej-order-header .ej-order-meta,
.ej-order-header .ej-order-meta * {
  text-align: right !important;
}
#hikashop_order_left_part,
#hikashop_order_right_part {
  display: none !important;
}
@media (max-width: 600px) {
  .ej-order-header {
    flex-direction: column !important;
  }
  .ej-order-header .ej-order-meta,
  .ej-order-header .ej-order-meta * {
    text-align: left !important;
  }
}

/* ===== SESSION 7 FIXES — 2026-03-15 ===== */

/* FIX 1: Hide pencil/edit-options icon on cart and checkout pages */
a.edit_cart_product,
.hikashop_show_cart a.edit_cart_product,
.hikashop_cart a.edit_cart_product {
  display: none !important;
}

/* FIX 3: Back to Cart link on checkout */
.ej-back-to-cart {
  margin-bottom: 12px;
}
.ej-back-to-cart-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 0.88rem;
  color: var(--ej-text-muted);
  text-decoration: none;
  transition: color 0.2s;
}
.ej-back-to-cart-link:hover {
  color: var(--ej-primary);
  text-decoration: none;
}
.ej-back-to-cart-link svg {
  flex-shrink: 0;
}

/* ===== SESSION 7 — MOBILE AUDIT FIXES 2026-03-16 ===== */

/* FIX 1: Best Seller badge font size 10px → 11px (min readable size) */
.product-card-badge {
  font-size: 11px !important;
}

/* FIX 2: Header icon tap targets 40×40 → 44×44px (Apple/Google minimum) */
.header-actions a,
.header-actions button {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
}

/* FIX 3: Product card H3 text overflow on very small screens */
@media (max-width: 480px) {
  .product-card-body h3 {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

/* FIX 4: Single column product grid below 400px */
@media (max-width: 400px) {
  .product-grid {
    grid-template-columns: 1fr !important;
  }
}

/* FIX 5: Add to Cart button full width on mobile */
@media (max-width: 480px) {
  .product-card .btn,
  .product-card a.btn {
    width: 100% !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }
}

/* ===== SESSION 7 — MOBILE AUDIT FIXES ROUND 2 2026-03-16 ===== */

/* FIX 6: Notebooks H3 text overflow at 375-414px */
@media (max-width: 414px) {
  .product-card-body h3 {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%;
  }
}

/* FIX 7: Single column product grid at 414px too (not just 400px) */
@media (max-width: 414px) {
  .product-grid {
    grid-template-columns: 1fr !important;
  }
}

/* FIX 8: Short tap targets — text links and product links need min-height */
@media (max-width: 768px) {
  /* Product links in listing */
  .hikashop_product_name a,
  .hikashop_listing_img_title a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }
  /* "View Options" / "Add to Cart" buttons — ensure min 44px height */
  .product-card .btn,
  .product-card a.btn,
  .hikacart,
  button.hikacart,
  a.hikacart {
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  /* Short descriptive text links */
  .ej-category-desc a,
  .seo-content a,
  [class*="bottom-a"] a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }
}

/* FIX 9: Add to Cart button full-width on mobile (product cards) */
@media (max-width: 480px) {
  .product-card .btn-primary,
  .product-card a.btn-primary,
  .product-card .btn-sm {
    width: 100% !important;
    box-sizing: border-box !important;
    justify-content: center !important;
  }
}

/* ===== SESSION 7 — MOBILE AUDIT FIXES ROUND 3 2026-03-16 ===== */

/* FIX 10: Notebooks H3 at very small screens — scale font down slightly */
@media (max-width: 414px) {
  .product-card-body h3 {
    font-size: 13px !important;
  }
}
@media (max-width: 375px) {
  .product-card-body h3 {
    font-size: 12px !important;
  }
}

/* FIX 11: Product title links — increase tap height with vertical padding */
@media (max-width: 768px) {
  .product-card-body h3 a {
    display: block;
    padding-top: 6px;
    padding-bottom: 6px;
    min-height: 44px;
    line-height: 1.45;
  }
  /* SEO/descriptive text links in content sections */
  .ej-seo-block a,
  [class*="bottom-a"] a,
  .seo-content a {
    padding: 10px 0;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }
}

/* FIX 12: Footer social icons 38×38 → 44×44px */
.footer-social {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* ===== SESSION 7 — MOBILE AUDIT FIXES ROUND 4 2026-03-16 ===== */

/* FIX 13: Breadcrumb links tap target — inline text links need vertical padding */
@media (max-width: 768px) {
  nav[aria-label="Breadcrumbs"] a,
  nav[aria-label="Breadcrumbs"] li,
  .breadcrumb a,
  .breadcrumb li {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    padding-top: 8px;
    padding-bottom: 8px;
  }
}


/* ===== SESSION 7 - MOBILE AUDIT FIXES ROUND 5 2026-03-16 ===== */

/* FIX 14: Add to Cart (.hikabtn.hikacart) full-width on mobile */
@media (max-width: 480px) {
  .hikabtn.hikacart,
  .hikashop_product_quantity_add_to_cart .hikabtn,
  .hikashop_add_to_cart .hikabtn {
    width: 100% !important;
    box-sizing: border-box !important;
    text-align: center !important;
    justify-content: center !important;
  }
  /* Also ensure the parent container is full-width */
  .hikashop_product_quantity_add_to_cart,
  .hikashop_add_to_cart {
    width: 100% !important;
  }
}


/* ===== CHECKOUT ORDER SUMMARY — MOBILE READABLE FIX 2026-03-16 ===== */
/* Nuclear override — wins all previous conflicting rules */

@media (max-width: 900px) {

  /* Stack: order summary on top, form below */
  .ej-checkout-columns {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
  }
  .ej-checkout-right {
    width: 100% !important;
    flex: none !important;
    position: static !important;
    order: -1 !important;
  }
  .ej-checkout-left {
    width: 100% !important;
    flex: none !important;
  }

  /* RESET the entire product row back to basics */
  .hikashop_checkout_page_step2 .hikashop_checkout_cart table.table,
  .hikashop_checkout_page_step2 .hikashop_checkout_cart table.table tbody {
    display: block !important;
    width: 100% !important;
  }

  .hikashop_checkout_page_step2 .hikashop_checkout_cart table.table tbody tr[id^="hikashop_cart_product_row"] {
    display: grid !important;
    grid-template-columns: 48px 1fr auto !important;
    grid-template-rows: auto auto !important;
    gap: 4px 10px !important;
    padding: 12px !important;
    border-bottom: 1px solid #eee !important;
    align-items: start !important;
    position: static !important;
    flex-wrap: unset !important;
  }

  /* Image — grid area row 1-2, col 1 */
  .hikashop_checkout_page_step2 .hikashop_checkout_cart td.hikashop_cart_product_image_value {
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;
    display: block !important;
    flex: unset !important;
    order: unset !important;
    position: static !important;
    top: auto !important;
    right: auto !important;
    width: 48px !important;
    padding: 0 !important;
  }
  .hikashop_checkout_page_step2 .hikashop_checkout_cart td.hikashop_cart_product_image_value img {
    width: 48px !important;
    height: 48px !important;
    object-fit: cover !important;
    border-radius: 6px !important;
    display: block !important;
  }

  /* Product name — row 1, col 2 */
  .hikashop_checkout_page_step2 .hikashop_checkout_cart td.hikashop_cart_product_name_value {
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: block !important;
    flex: unset !important;
    order: unset !important;
    font-size: 0.82rem !important;
    line-height: 1.4 !important;
    color: #333 !important;
    padding: 0 !important;
    min-width: 0 !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
  }
  .hikashop_checkout_page_step2 .hikashop_checkout_cart td.hikashop_cart_product_name_value a {
    color: #333 !important;
    font-size: 0.82rem !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    display: block !important;
    -webkit-line-clamp: unset !important;
    white-space: normal !important;
    overflow: visible !important;
  }

  /* Quantity — row 2, col 2 */
  .hikashop_checkout_page_step2 .hikashop_checkout_cart td.hikashop_cart_product_quantity_value {
    grid-column: 2 !important;
    grid-row: 2 !important;
    display: block !important;
    flex: unset !important;
    order: unset !important;
    position: static !important;
    top: auto !important;
    right: auto !important;
    margin-left: 0 !important;
    padding: 0 !important;
    font-size: 0.78rem !important;
    color: #666 !important;
  }
  .hikashop_checkout_page_step2 .hikashop_checkout_cart td.hikashop_cart_product_quantity_value::before {
    content: 'Qty: ' !important;
    font-size: 0.78rem !important;
    color: #888 !important;
  }
  /* Show qty as plain number */
  .hikashop_checkout_page_step2 .hikashop_checkout_cart td.hikashop_cart_product_quantity_value input.hikashop_product_quantity_field,
  .hikashop_checkout_page_step2 .hikashop_checkout_cart .hikashop_product_quantity_input_div_default input {
    display: inline !important;
    width: auto !important;
    height: auto !important;
    border-radius: 0 !important;
    background: transparent !important;
    border: none !important;
    font-size: 0.78rem !important;
    font-weight: 600 !important;
    color: #444 !important;
    padding: 0 !important;
    pointer-events: none !important;
    vertical-align: baseline !important;
  }

  /* Price — row 1-2, col 3 (right side) */
  .hikashop_checkout_page_step2 .hikashop_checkout_cart td.hikashop_cart_product_total_value {
    grid-column: 3 !important;
    grid-row: 1 / 3 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex: unset !important;
    order: unset !important;
    font-weight: 700 !important;
    font-size: 0.9rem !important;
    color: #1a1a2e !important;
    white-space: nowrap !important;
    padding: 0 !important;
    text-align: right !important;
  }

  /* Hide unit price column */
  .hikashop_checkout_page_step2 .hikashop_checkout_cart td.hikashop_cart_product_price_value {
    display: none !important;
  }

  /* TOTAL ROW */
  .hikashop_checkout_page_step2 .hikashop_checkout_cart tr.hikashop_cart_total_row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 12px !important;
    border-top: 2px solid #1a1a2e !important;
    gap: 8px !important;
    flex-wrap: nowrap !important;
  }
  .hikashop_checkout_page_step2 .hikashop_checkout_cart td.hikashop_cart_total_title {
    flex: 1 !important;
    font-weight: 700 !important;
    font-size: 1rem !important;
    padding: 0 !important;
    border: none !important;
    display: block !important;
    order: unset !important;
  }
  .hikashop_checkout_page_step2 .hikashop_checkout_cart td.hikashop_cart_total_value {
    flex: 0 0 auto !important;
    font-weight: 700 !important;
    font-size: 1.1rem !important;
    padding: 0 !important;
    border: none !important;
    white-space: nowrap !important;
    text-align: right !important;
    display: block !important;
    order: unset !important;
  }

  /* Hide any empty rows */
  .hikashop_checkout_page_step2 .hikashop_checkout_cart tr.hikashop_cart_empty_row {
    display: none !important;
  }
}
