/* ========================================
   DAZIE METAIS - OpenCart Theme
   Design System + Components
   ======================================== */

/* ========================================
   1. CSS VARIABLES (Design Tokens)
   ======================================== */
:root {
  /* Colors - Paleta Dazie Metais */
  --color-daza: #5E35B1;
  --color-daza-dark: #4527A0;
  --color-daza-light: #7E57C2;
  --color-secondary: #424242;
  --color-secondary-dark: #212121;
  --color-accent: #F97316;
  --color-accent-red: #EF4444;
  --color-green: #10B981;
  --color-green-dark: #059669;
  --color-yellow: #FACC15;
  --color-blue: #165477;

  /* Grays */
  --color-gray-50: #F9FAFB;
  --color-gray-100: #F3F4F6;
  --color-gray-200: #E5E7EB;
  --color-gray-300: #D1D5DB;
  --color-gray-400: #9CA3AF;
  --color-gray-500: #6B7280;
  --color-gray-600: #4B5563;
  --color-gray-700: #374151;
  --color-gray-800: #1F2937;
  --color-gray-900: #111827;

  /* Typography */
  --font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-size-xs: 0.6875rem;
  /* 11px */
  --font-size-sm: 0.8125rem;
  /* 13px */
  --font-size-base: 0.9375rem;
  /* 15px */
  --font-size-lg: 1.0625rem;
  /* 17px */
  --font-size-xl: 1.3125rem;
  /* 21px */
  --font-size-2xl: 1.5rem;
  /* 24px */
  --font-size-3xl: 1.875rem;
  /* 30px */
  --font-size-4xl: 2.25rem;
  /* 36px */

  /* Spacing */
  --spacing-1: 0.25rem;
  --spacing-2: 0.5rem;
  --spacing-3: 0.75rem;
  --spacing-4: 1rem;
  --spacing-5: 1.25rem;
  --spacing-6: 1.5rem;
  --spacing-8: 2rem;
  --spacing-10: 2.5rem;
  --spacing-12: 3rem;

  /* Border Radius */
  --radius-sm: 0.25rem;
  --radius-md: 0.375rem;
  --radius-lg: 0.5rem;
  --radius-xl: 0.75rem;
  --radius-full: 9999px;

  /* Shadows */
  --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1);
  --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1);
  --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1);

  /* Transitions */
  --transition-fast: 150ms ease;
  --transition-base: 300ms ease;
  --transition-slow: 500ms ease;
}

/* ========================================
   2. CSS RESET
   ======================================== */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: 16px;
  scroll-behavior: smooth;
}

body {
  font-family: var(--font-family);
  font-size: var(--font-size-base);
  line-height: 1.5;
  color: var(--color-gray-800);
  background-color: var(--color-gray-50);
  -webkit-font-smoothing: antialiased;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  font-family: inherit;
  cursor: pointer;
  border: none;
  background: none;
}

input,
textarea,
select {
  font-family: inherit;
  font-size: inherit;
}

ul,
ol {
  list-style: none;
}

/* ========================================
   3. UTILITIES
   ======================================== */
.container {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 var(--spacing-4);
}

/* Header/menus acompanham a largura do PDP: ~90% da tela no desktop
   (piso de 1280px para não espremer em telas menores) */
@media (min-width: 993px) {
  .top-nav > .container,
  .main-header > .container,
  .nav-bar > .container,
  .mobile-search-bar > .container {
    max-width: max(1280px, 90vw);
  }
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.animate-pulse {
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

@keyframes pulse {

  0%,
  100% {
    opacity: 1;
  }

  50% {
    opacity: 0.5;
  }
}

/* ========================================
   4. TYPOGRAPHY
   ======================================== */
.text-xs {
  font-size: var(--font-size-xs);
}

.text-sm {
  font-size: var(--font-size-sm);
}

.text-base {
  font-size: var(--font-size-base);
}

.text-lg {
  font-size: var(--font-size-lg);
}

.text-xl {
  font-size: var(--font-size-xl);
}

.text-2xl {
  font-size: var(--font-size-2xl);
}

.text-3xl {
  font-size: var(--font-size-3xl);
}

.text-4xl {
  font-size: var(--font-size-4xl);
}

.font-medium {
  font-weight: 500;
}

.font-semibold {
  font-weight: 600;
}

.font-bold {
  font-weight: 700;
}

.font-extrabold {
  font-weight: 800;
}

.uppercase {
  text-transform: uppercase;
}

.tracking-wide {
  letter-spacing: 0.025em;
}

.tracking-wider {
  letter-spacing: 0.05em;
}

.tracking-widest {
  letter-spacing: 0.1em;
}

/* ========================================
   5. BUTTONS
   ======================================== */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-2);
  padding: var(--spacing-3) var(--spacing-6);
  font-weight: 700;
  font-size: var(--font-size-sm);
  border-radius: var(--radius-md);
  transition: all var(--transition-fast);
  text-transform: uppercase;
}

.btn-primary {
  background-color: var(--color-daza);
  color: white;
}

.btn-primary:hover {
  background-color: var(--color-secondary-dark);
}

.btn-secondary {
  background-color: var(--color-secondary);
  color: white;
}

.btn-secondary:hover {
  background-color: var(--color-secondary-dark);
}

.btn-success {
  background-color: var(--color-green);
  color: white;
  box-shadow: 0 4px 14px 0 rgba(10, 82, 48, 0.3);
}

.btn-success:hover {
  background-color: var(--color-green-dark);
}

.btn-accent {
  background-color: var(--color-accent);
  color: white;
}

.btn-accent:hover {
  background-color: var(--color-accent-red);
}

/* ========================================
   6. BADGES
   ======================================== */
.badge {
  display: inline-flex;
  align-items: center;
  padding: var(--spacing-1) var(--spacing-2);
  font-size: var(--font-size-xs);
  font-weight: 700;
  border-radius: var(--radius-sm);
}

.badge-discount {
  background-color: var(--color-accent);
  color: white;
  padding: var(--spacing-2) var(--spacing-3);
  font-size: var(--font-size-sm);
  line-height: 1.2;
  text-align: center;
  box-shadow: var(--shadow-lg);
}

.badge-daza {
  background-color: var(--color-daza);
  color: white;
}

.badge-gray {
  background-color: var(--color-gray-100);
  color: var(--color-gray-600);
}

.badge-green {
  background-color: rgba(10, 82, 48, 0.1);
  color: var(--color-green);
}

/* ========================================
   7. CARDS
   ======================================== */
.card {
  background: white;
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: all var(--transition-base);
}

.card:hover {
  box-shadow: var(--shadow-xl);
  transform: scale(1.02);
}

/* ========================================
   8. FORMS
   ======================================== */
.input {
  width: 100%;
  padding: var(--spacing-3) var(--spacing-4);
  border: 2px solid var(--color-gray-300);
  border-radius: var(--radius-lg);
  font-size: var(--font-size-base);
  transition: all var(--transition-fast);
}

.input:focus {
  outline: none;
  border-color: var(--color-daza);
  box-shadow: 0 0 0 3px rgba(10, 82, 48, 0.2);
}

.input-group {
  display: flex;
  box-shadow: var(--shadow-lg);
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.input-group .input {
  border-radius: var(--radius-lg) 0 0 var(--radius-lg);
  border-right: none;
}

.input-group .btn {
  border-radius: 0 var(--radius-lg) var(--radius-lg) 0;
  padding: var(--spacing-3) var(--spacing-8);
}

/* ========================================
   9. HEADER STYLES
   ======================================== */

/* Layer 2: Top Nav - Benefits + Category Links */
.top-nav {
  background-color: var(--color-secondary-dark);
  color: white;
  font-size: var(--font-size-xs);
}

.top-nav__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 34px;
  gap: var(--spacing-4);
}

.top-nav__benefits {
  display: flex;
  gap: var(--spacing-6);
  flex-shrink: 0;
}

.top-nav__benefit {
  display: flex;
  align-items: center;
  gap: var(--spacing-1);
  font-weight: 500;
  color: rgba(255, 255, 255, 0.8);
  white-space: nowrap;
}

.top-nav__benefit svg {
  color: var(--color-daza-light);
  flex-shrink: 0;
}

.top-nav__cats {
  display: flex;
  align-items: center;
  gap: 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.top-nav__cats::-webkit-scrollbar {
  display: none;
}

.top-nav__cat {
  display: inline-flex;
  align-items: center;
  padding: var(--spacing-2) var(--spacing-3);
  color: rgba(255, 255, 255, 0.8);
  font-weight: 500;
  font-size: var(--font-size-xs);
  white-space: nowrap;
  transition: all var(--transition-fast);
  border: 1px solid transparent;
  border-radius: var(--radius-sm);
}

.top-nav__cat:hover {
  color: white;
  background: rgba(255, 255, 255, 0.08);
}

.top-nav__cat--active {
  color: white;
  border-color: rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.06);
  font-weight: 700;
}

@media (max-width: 767px) {
  .top-nav__benefits {
    display: none;
  }

  .top-nav__cats {
    width: 100%;
  }
}

/* Layer 3: Main Header - White bg, Sticky on scroll */
.main-header {
  background: white;
  padding: var(--spacing-3) 0;
  border-bottom: 1px solid var(--color-gray-200);
  z-index: 100;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
  transition: box-shadow 0.3s ease;
}

.main-header.is-sticky {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12);
}

.main-header__placeholder {
  display: none;
}

.main-header__container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-5);
}

/* Logo */
.logo {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  flex-shrink: 0;
}

/* Search Bar - Prominent & Wide */
.search-bar {
  flex: 1;
  max-width: 540px;
}

.search-form {
  display: flex;
  width: 100%;
}

.search-input {
  flex: 1;
  padding: var(--spacing-3) var(--spacing-5);
  border: 2px solid var(--color-gray-200);
  border-right: none;
  border-radius: var(--radius-md) 0 0 var(--radius-md);
  font-size: var(--font-size-base);
  outline: none;
  transition: border-color var(--transition-fast);
  background: white;
}

.search-input:focus {
  border-color: var(--color-daza);
}

.search-input::placeholder {
  color: var(--color-gray-400);
  font-size: var(--font-size-sm);
}

.search-btn {
  padding: var(--spacing-3) var(--spacing-5);
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-daza);
  color: white;
  border: none;
  cursor: pointer;
  transition: background var(--transition-fast);
}

.search-btn:hover {
  background: var(--color-daza-dark);
}

/* User Actions */
.user-actions {
  display: flex;
  align-items: center;
  gap: var(--spacing-3);
  flex-shrink: 0;
}

.user-action {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  color: var(--color-gray-600);
  cursor: pointer;
  transition: all var(--transition-fast);
  padding: var(--spacing-2);
  border-radius: var(--radius-md);
}

.user-action:hover {
  color: var(--color-daza);
  background-color: var(--color-gray-50);
}

.user-action__info {
  display: flex;
  flex-direction: column;
  font-size: var(--font-size-xs);
  line-height: 1.3;
}

.user-action__label {
  color: var(--color-gray-400);
  font-size: 10px;
}

.user-action__value {
  font-weight: 700;
  color: var(--color-gray-800);
  font-size: 11px;
}

/* Cart Action - pílula roxa "Meu Carrinho" (igual referência) */
.cart-action {
  position: relative;
  background-color: #f3effc;
  padding: 8px 14px;
  border-radius: 14px;
  border: 1px solid var(--color-daza-light);
  color: var(--color-daza);
}

.cart-action .user-action__label {
  color: var(--color-daza);
  font-size: 11px;
}

.cart-action .user-action__value,
.cart-action .cart-total {
  color: var(--color-daza);
  font-weight: 800;
  font-size: 14px;
}

.cart-action svg {
  flex-shrink: 0;
  color: var(--color-daza);
}

.cart-action:hover {
  background-color: var(--color-daza);
  border-color: var(--color-daza);
}

.cart-action:hover,
.cart-action:hover svg,
.cart-action:hover .user-action__label,
.cart-action:hover .user-action__value,
.cart-action:hover .cart-total,
.cart-action:hover .user-action__info span {
  color: white;
}

/* Header utility — ícones em círculo + telefone verde (layout de referência) */
.ua-icon {
  width: 42px; height: 42px; border-radius: 999px;
  display: inline-flex; align-items: center; justify-content: center;
  flex: 0 0 auto;
}
.ua-icon svg { width: 22px; height: 22px; }
.ua-icon--support {
  color: var(--color-daza);
  background: #fff;
  border: 2px solid var(--color-daza-light);
  box-shadow: inset 0 0 0 3px rgba(94, 53, 177, .08);
}
.ua-icon--account {
  color: var(--color-daza);
  background: #F3EFFC;
}
.ua-divider {
  width: 1px; height: 40px; background: var(--color-gray-200);
  display: inline-block; flex: 0 0 auto;
}
/* Atendimento: rótulo forte + telefone verde; sem hover roxo */
.user-action--phone { cursor: default; }
.user-action--phone:hover { background: transparent; }
.user-action--phone .user-action__value { font-size: 14px; color: var(--color-gray-800); font-weight: 800; }
.user-action--phone .user-action__label { font-size: 13px; color: #10B981; font-weight: 600; }
.user-action--phone:hover .ua-icon--support { color: var(--color-daza); }
/* Conta: "Olá" leve, "Minha Conta" forte */
.user-actions > a.user-action .user-action__value { font-size: 14px; color: var(--color-gray-800); font-weight: 800; }
.user-actions > a.user-action .user-action__label { font-size: 12px; color: var(--color-gray-500); }
.user-actions > a.user-action:hover .ua-icon--account { background: var(--color-daza); color: #fff; }

@media (max-width: 767px) {
  .user-action--phone {
    display: none;
  }

  .ua-divider {
    display: none;
  }

  .user-action__info {
    display: none;
  }

  .user-actions {
    gap: var(--spacing-2);
  }

  .search-bar {
    max-width: none;
  }

  .main-header__container {
    gap: var(--spacing-3);
  }
}

/* Cart Badge */
.cart-badge__count {
  position: absolute;
  top: -6px;
  right: -6px;
  background-color: var(--color-daza);
  color: white;
  font-size: 10px;
  font-weight: 700;
  min-width: 18px;
  height: 18px;
  padding: 0 4px;
  border-radius: var(--radius-full);
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid white;
  box-shadow: var(--shadow-sm);
}

.cart-action:hover .cart-badge__count {
  background-color: var(--color-accent);
}

/* Fly to Cart Animation */
.fly-to-cart {
  position: fixed;
  z-index: 99999;
  pointer-events: none;
  width: 80px;
  height: 80px;
  transition: all 0.75s cubic-bezier(0.2, 0.6, 0.3, 1);
  opacity: 1;
}

.fly-to-cart img {
  width: 80px;
  height: 80px;
  object-fit: contain;
  background: white;
  border-radius: 12px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.25);
}

.fly-to-cart.flying {
  transform: scale(0.15) rotate(20deg);
  opacity: 0.2;
}

/* Cart shake animation */
@keyframes cartShake {

  0%,
  100% {
    transform: translateX(0);
  }

  10%,
  30%,
  50%,
  70%,
  90% {
    transform: translateX(-3px);
  }

  20%,
  40%,
  60%,
  80% {
    transform: translateX(3px);
  }
}

.cart-action.shake {
  animation: cartShake 0.5s ease-in-out;
}

/* ========================================
   CART DRAWER - Slide-in Sidebar
   ======================================== */
.cart-drawer-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 10000;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  backdrop-filter: blur(2px);
}

.cart-drawer-overlay.open {
  opacity: 1;
  visibility: visible;
}

.cart-drawer {
  position: fixed;
  top: 0;
  right: 0;
  width: 420px;
  max-width: 90vw;
  height: 100vh;
  height: 100dvh;
  background: white;
  z-index: 10001;
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  transition: transform 0.35s cubic-bezier(0.32, 0.72, 0, 1);
  box-shadow: -8px 0 30px rgba(0, 0, 0, 0.15);
}

.cart-drawer.open {
  transform: translateX(0);
}

.cart-drawer__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--spacing-4) var(--spacing-5);
  border-bottom: 1px solid var(--color-gray-200);
  background: var(--color-daza);
  color: white;
  flex-shrink: 0;
}

.cart-drawer__title-row {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
}

.cart-drawer__title {
  font-size: var(--font-size-lg);
  font-weight: 700;
  margin: 0;
}

.cart-drawer__count {
  font-size: var(--font-size-sm);
  opacity: 0.8;
  font-weight: 400;
}

.cart-drawer__close {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: none;
  background: rgba(255, 255, 255, 0.15);
  color: white;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s ease;
}

.cart-drawer__close:hover {
  background: rgba(255, 255, 255, 0.3);
}

.cart-drawer__body {
  flex: 1;
  overflow-y: auto;
  padding: 0;
}

.cart-drawer__empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: var(--spacing-12);
  text-align: center;
  color: var(--color-gray-400);
  height: 100%;
}

.cart-drawer__empty svg {
  margin-bottom: var(--spacing-4);
}

.cart-drawer__empty p {
  font-size: var(--font-size-base);
  color: var(--color-gray-500);
}

.cart-drawer__items {
  padding: var(--spacing-2) 0;
}

.cart-drawer__item {
  display: flex;
  align-items: flex-start;
  gap: var(--spacing-3);
  padding: var(--spacing-3) var(--spacing-5);
  border-bottom: 1px solid var(--color-gray-100);
  transition: background 0.15s ease;
}

.cart-drawer__item:hover {
  background: var(--color-gray-50);
}

.cart-drawer__item-image {
  flex-shrink: 0;
  width: 64px;
  height: 64px;
  border-radius: var(--radius-md);
  overflow: hidden;
  border: 1px solid var(--color-gray-200);
  background: white;
}

.cart-drawer__item-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cart-drawer__item-info {
  flex: 1;
  min-width: 0;
}

.cart-drawer__item-name {
  display: block;
  font-size: var(--font-size-sm);
  font-weight: 500;
  color: var(--color-gray-800);
  text-decoration: none;
  line-height: 1.3;
  margin-bottom: 4px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.cart-drawer__item-name:hover {
  color: var(--color-daza);
}

.cart-drawer__item-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 4px;
}

.cart-drawer__item-qty {
  font-size: 12px;
  color: var(--color-gray-500);
}

.cart-drawer__item-price {
  font-size: var(--font-size-base);
  font-weight: 700;
  color: var(--color-daza);
}

.cart-drawer__remove {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: none;
  background: transparent;
  color: var(--color-gray-400);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  margin-top: var(--spacing-2);
}

.cart-drawer__remove:hover {
  background: var(--color-accent-red);
  color: white;
}

.cart-drawer__footer {
  flex-shrink: 0;
  border-top: 2px solid var(--color-gray-200);
  padding: var(--spacing-4) var(--spacing-5);
  background: var(--color-gray-50);
}

.cart-drawer__totals {
  margin-bottom: var(--spacing-4);
}

.cart-drawer__total-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--spacing-1) 0;
  font-size: var(--font-size-sm);
  color: var(--color-gray-600);
}

.cart-drawer__total-row:last-child {
  padding-top: var(--spacing-2);
  border-top: 1px solid var(--color-gray-300);
  margin-top: var(--spacing-2);
}

.cart-drawer__total-row:last-child strong {
  font-size: var(--font-size-xl);
  color: var(--color-gray-900);
}

.cart-drawer__actions {
  display: flex;
  gap: var(--spacing-3);
}

.cart-drawer__btn {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--spacing-3) var(--spacing-4);
  border-radius: var(--radius-md);
  font-size: var(--font-size-sm);
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.2s ease;
  border: none;
  text-align: center;
}

.cart-drawer__btn--primary {
  background: var(--color-daza);
  color: white;
}

.cart-drawer__btn--primary:hover {
  background: var(--color-daza-dark);
  color: white;
  text-decoration: none;
}

.cart-drawer__btn--secondary {
  background: white;
  color: var(--color-gray-700);
  border: 1px solid var(--color-gray-300);
}

.cart-drawer__btn--secondary:hover {
  background: var(--color-gray-100);
  color: var(--color-gray-800);
}

@media (max-width: 480px) {
  .cart-drawer {
    width: 100vw;
    max-width: 100vw;
  }

  .cart-drawer__item-image {
    width: 52px;
    height: 52px;
  }

  .cart-drawer__actions {
    flex-direction: column;
  }
}

/* Cart badge pulse */
@keyframes badgePulse {
  0% {
    transform: scale(1);
  }

  50% {
    transform: scale(1.3);
  }

  100% {
    transform: scale(1);
  }
}

.cart-badge__count.pulse {
  animation: badgePulse 0.4s ease-in-out;
}

/* Mini-cart inside drawer - override styles for larger area */
.cart-drawer__body .mini-cart {
  height: 100%;
  display: flex;
  flex-direction: column;
}

.cart-drawer__body .mini-cart__header {
  padding: var(--spacing-3) var(--spacing-5);
  background: transparent;
  border-bottom: 1px solid var(--color-gray-100);
  display: none;
}

.cart-drawer__body .mini-cart__items {
  flex: 1;
  max-height: none;
  overflow-y: auto;
  padding: 0;
}

.cart-drawer__body .mini-cart__item {
  padding: var(--spacing-3) var(--spacing-5);
  gap: var(--spacing-3);
}

.cart-drawer__body .mini-cart__image {
  width: 68px;
  height: 68px;
}

.cart-drawer__body .mini-cart__name {
  font-size: var(--font-size-sm);
  -webkit-line-clamp: 2;
}

.cart-drawer__body .mini-cart__price {
  font-size: var(--font-size-base);
}

.cart-drawer__body .mini-cart__footer {
  display: none;
}

.cart-drawer__body .mini-cart__empty {
  height: 100%;
  padding: var(--spacing-12) var(--spacing-6);
}

/* Cart Action Link */
.cart-action__link {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  color: inherit;
  text-decoration: none;
}

.cart-action__link:hover {
  color: inherit;
  text-decoration: none;
}

/* Mini Cart Dropdown */
.cart-dropdown {
  position: absolute;
  top: 100%;
  right: 0;
  width: 380px;
  max-height: 450px;
  background: white;
  border-radius: var(--radius-lg);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
  border: 1px solid var(--color-gray-200);
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: all var(--transition-base);
  overflow: hidden;
  margin-top: var(--spacing-2);
}

.cart-action:hover .cart-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.cart-dropdown .dropdown-menu {
  position: static;
  display: block;
  border: none;
  box-shadow: none;
  padding: 0;
  margin: 0;
  max-height: 400px;
  overflow-y: auto;
}

.cart-dropdown .dropdown-menu>li {
  padding: var(--spacing-3);
}

.cart-dropdown .table {
  margin-bottom: 0;
  font-size: var(--font-size-sm);
}

.cart-dropdown .table td {
  padding: var(--spacing-2);
  vertical-align: middle;
}

.cart-dropdown .table img {
  width: 50px;
  height: 50px;
  object-fit: cover;
  border-radius: var(--radius-sm);
}

.cart-dropdown .table a {
  color: var(--color-gray-800);
  font-weight: 500;
  text-decoration: none;
  font-size: var(--font-size-sm);
  line-height: 1.3;
}

.cart-dropdown .table a:hover {
  color: var(--color-daza);
}

.cart-dropdown .table small {
  color: var(--color-gray-500);
  font-size: 11px;
}

.cart-dropdown .table-bordered {
  border: 1px solid var(--color-gray-200);
}

.cart-dropdown .table-bordered td {
  border-color: var(--color-gray-200);
}

.cart-dropdown .btn-danger {
  padding: var(--spacing-1) var(--spacing-2);
  font-size: 12px;
}

.cart-dropdown .text-end a {
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-1);
  padding: var(--spacing-2) var(--spacing-4);
  background: var(--color-daza);
  color: white;
  border-radius: var(--radius-md);
  text-decoration: none;
  font-size: var(--font-size-sm);
  transition: background var(--transition-fast);
}

.cart-dropdown .text-end a:hover {
  background: var(--color-daza-dark);
  color: white;
}

.cart-dropdown .text-center.p-4 {
  color: var(--color-gray-500);
  font-size: var(--font-size-sm);
  padding: var(--spacing-8) !important;
}

/* Mini Cart Modern Styles */
.mini-cart {
  width: 100%;
}

.mini-cart__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--spacing-4);
  border-bottom: 1px solid var(--color-gray-200);
  background: var(--color-gray-50);
}

.mini-cart__title {
  font-weight: 700;
  font-size: var(--font-size-base);
  color: var(--color-gray-800);
}

.mini-cart__count {
  font-size: var(--font-size-sm);
  color: var(--color-gray-500);
}

.mini-cart__items {
  max-height: 280px;
  overflow-y: auto;
  padding: var(--spacing-2);
}

.mini-cart__item {
  display: flex;
  align-items: flex-start;
  gap: var(--spacing-3);
  padding: var(--spacing-3);
  border-radius: var(--radius-md);
  transition: background var(--transition-fast);
}

.mini-cart__item:hover {
  background: var(--color-gray-50);
}

.mini-cart__image {
  flex-shrink: 0;
  width: 60px;
  height: 60px;
  border-radius: var(--radius-md);
  overflow: hidden;
  border: 1px solid var(--color-gray-200);
}

.mini-cart__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mini-cart__details {
  flex: 1;
  min-width: 0;
}

.mini-cart__name {
  display: block;
  font-size: var(--font-size-sm);
  font-weight: 500;
  color: var(--color-gray-800);
  text-decoration: none;
  line-height: 1.3;
  margin-bottom: var(--spacing-1);
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
}

.mini-cart__name:hover {
  color: var(--color-daza);
}

.mini-cart__meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--spacing-2);
}

.mini-cart__qty {
  font-size: 11px;
  color: var(--color-gray-500);
}

.mini-cart__price {
  font-size: var(--font-size-sm);
  font-weight: 700;
  color: var(--color-daza);
}

.mini-cart__remove {
  flex-shrink: 0;
}

.mini-cart__remove-btn {
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  border-radius: var(--radius-full);
  color: var(--color-gray-400);
  cursor: pointer;
  transition: all var(--transition-fast);
}

.mini-cart__remove-btn:hover {
  background: var(--color-accent-red);
  color: white;
}

.mini-cart__footer {
  border-top: 1px solid var(--color-gray-200);
  padding: var(--spacing-4);
  background: var(--color-gray-50);
}

.mini-cart__totals {
  margin-bottom: var(--spacing-4);
}

.mini-cart__total-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--spacing-1) 0;
  font-size: var(--font-size-sm);
}

.mini-cart__total-row:last-child {
  padding-top: var(--spacing-2);
  border-top: 1px solid var(--color-gray-200);
  margin-top: var(--spacing-2);
}

.mini-cart__total-row:last-child strong {
  font-size: var(--font-size-lg);
  color: var(--color-daza);
}

.mini-cart__actions {
  display: flex;
  gap: var(--spacing-2);
}

.mini-cart__btn {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--spacing-3) var(--spacing-4);
  font-size: var(--font-size-sm);
  font-weight: 600;
  text-decoration: none;
  border-radius: var(--radius-md);
  transition: all var(--transition-fast);
}

.mini-cart__btn--primary {
  background: var(--color-daza);
  color: white;
}

.mini-cart__btn--primary:hover {
  background: var(--color-daza-dark);
  color: white;
}

.mini-cart__btn--secondary {
  background: var(--color-gray-200);
  color: var(--color-gray-700);
}

.mini-cart__btn--secondary:hover {
  background: var(--color-gray-300);
  color: var(--color-gray-800);
}

.mini-cart__empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: var(--spacing-8);
  text-align: center;
}

.mini-cart__empty svg {
  color: var(--color-gray-300);
  margin-bottom: var(--spacing-4);
}

.mini-cart__empty p {
  color: var(--color-gray-500);
  font-size: var(--font-size-sm);
  margin-bottom: var(--spacing-4);
}

/* Navigation Bar */
.nav-bar {
  background-color: var(--color-secondary-dark);
  color: white;
}

/* ========================================
   MEGA MENU
   ======================================== */
.mega-menu {
  display: flex;
  align-items: center;
  gap: 0;
  height: 42px;
  font-family: var(--font-family);
}

/* TODAS AS CATEGORIAS trigger */
.mega-menu__trigger {
  position: relative;
  flex-shrink: 0;
}

.mega-menu__btn {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  background: none;
  border: none;
  color: white;
  font-weight: 700;
  font-size: var(--font-size-sm);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  padding: 0 var(--spacing-5) 0 0;
  height: 42px;
  cursor: pointer;
  transition: color var(--transition-fast);
  white-space: nowrap;
}

.mega-menu__btn:hover {
  color: var(--color-daza-light);
}

.mega-menu__arrow {
  transition: transform var(--transition-fast);
  margin-left: var(--spacing-1);
}

.mega-menu__trigger:hover .mega-menu__arrow,
.mega-menu__trigger.is-open .mega-menu__arrow {
  transform: rotate(180deg);
}

/* Horizontal category links */
.mega-menu__links {
  display: flex;
  align-items: center;
  gap: 0;
  flex: 1;
  height: 42px;
  border-left: 1px solid rgba(255, 255, 255, 0.12);
  padding-left: var(--spacing-2);
}

.mega-menu__link {
  display: flex;
  align-items: center;
  height: 42px;
  padding: 0 var(--spacing-4);
  color: rgba(255, 255, 255, 0.85);
  font-size: var(--font-size-sm);
  font-weight: 500;
  white-space: nowrap;
  transition: all var(--transition-fast);
}

.mega-menu__link:hover {
  color: white;
  background: rgba(255, 255, 255, 0.08);
}

/* Mega Dropdown Panel */
.mega-menu__dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  width: 900px;
  max-width: calc(100vw - 2rem);
  background: white;
  border-radius: 0 0 var(--radius-lg) var(--radius-lg);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.2);
  z-index: 1000;
  display: flex;
  opacity: 0;
  visibility: hidden;
  transform: translateY(4px);
  transition: all 0.2s ease;
}

.mega-menu__trigger:hover .mega-menu__dropdown,
.mega-menu__trigger.is-open .mega-menu__dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* Sidebar: Destaques */
.mega-menu__sidebar {
  width: 260px;
  min-width: 260px;
  padding: var(--spacing-6);
  border-right: 1px solid var(--color-gray-200);
  background: var(--color-gray-50);
}

.mega-menu__sidebar-title {
  font-size: var(--font-size-lg);
  font-weight: 800;
  color: var(--color-secondary-dark);
  margin-bottom: var(--spacing-3);
  letter-spacing: -0.02em;
}

.mega-menu__sidebar-desc {
  font-size: 10px;
  color: var(--color-gray-500);
  line-height: 1.5;
  margin-bottom: var(--spacing-5);
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

/* Featured items */
.mega-menu__featured {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-2);
}

.mega-menu__featured-item {
  display: flex;
  align-items: center;
  gap: var(--spacing-3);
  padding: var(--spacing-3);
  background: white;
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-md);
  transition: all var(--transition-fast);
  color: var(--color-gray-700);
  font-size: var(--font-size-xs);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.mega-menu__featured-item:hover {
  border-color: var(--color-daza);
  box-shadow: var(--shadow-md);
  color: var(--color-daza);
}

.mega-menu__featured-img {
  width: 48px;
  height: 48px;
  border-radius: var(--radius-md);
  overflow: hidden;
  flex-shrink: 0;
  background: var(--color-gray-100);
}

.mega-menu__featured-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mega-menu__featured-placeholder {
  width: 100%;
  height: 100%;
  background: var(--color-gray-200);
}

/* Category Columns */
.mega-menu__columns {
  flex: 1;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--spacing-6);
  padding: var(--spacing-6);
  align-content: start;
}

.mega-menu__column-title {
  display: block;
  font-size: var(--font-size-sm);
  font-weight: 700;
  color: var(--color-daza);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  padding-bottom: var(--spacing-3);
  margin-bottom: var(--spacing-3);
  border-bottom: 2px solid var(--color-gray-200);
}

.mega-menu__sub-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-2);
}

.mega-menu__sub-list li a {
  display: block;
  font-size: var(--font-size-sm);
  color: var(--color-gray-700);
  padding: var(--spacing-1) 0;
  transition: all var(--transition-fast);
  font-weight: 500;
}

.mega-menu__sub-list li a:hover {
  color: var(--color-daza);
  padding-left: var(--spacing-2);
}

/* Mobile: hide mega dropdown */
@media (max-width: 767px) {
  .mega-menu__links {
    display: none;
  }

  .mega-menu__dropdown {
    width: calc(100vw - 2rem);
  }

  .mega-menu__sidebar {
    display: none;
  }

  .mega-menu__columns {
    grid-template-columns: 1fr;
    padding: var(--spacing-4);
  }
}

/* ========================================
   10. PROMOTIONAL BANNER
   ======================================== */
.promo-banner {
  background: linear-gradient(to right, var(--color-daza), var(--color-daza-dark));
  color: white;
  padding: var(--spacing-2) 0;
  text-align: center;
  font-weight: 700;
  font-size: var(--font-size-xs);
  letter-spacing: 0.02em;
}

/* ========================================
   11. HERO SECTION
   ======================================== */
.hero {
  background-color: var(--color-secondary-dark);
  padding: var(--spacing-4) 0;
}

/* Hero Wrapper - Categories + Content */
.hero__wrapper {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--spacing-4);
}

@media (min-width: 992px) {
  .hero__wrapper {
    grid-template-columns: 250px 1fr;
  }
}

/* Categories Sidebar */
.hero__categories {
  display: none;
  background-color: white;
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-md);
}

@media (min-width: 992px) {
  .hero__categories {
    display: block;
  }
}

.hero__categories-header {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  background-color: var(--color-daza);
  color: white;
  padding: var(--spacing-3) var(--spacing-4);
  font-weight: 700;
  font-size: var(--font-size-sm);
  text-transform: uppercase;
}

.hero__categories-list {
  padding: var(--spacing-2) 0;
  max-height: 420px;
  overflow-y: auto;
}

.hero__categories-item a {
  display: block;
  padding: var(--spacing-2) var(--spacing-4);
  color: var(--color-gray-700);
  font-size: var(--font-size-sm);
  transition: all var(--transition-fast);
  border-left: 3px solid transparent;
}

.hero__categories-item a:hover {
  background-color: var(--color-gray-100);
  color: var(--color-daza);
  border-left-color: var(--color-daza);
  padding-left: var(--spacing-5);
}

/* Hero Content Area */
.hero__content-area {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-4);
}

/* Hero Main Grid - 3 columns layout */
.hero__main-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--spacing-4);
}

@media (min-width: 768px) {
  .hero__main-grid {
    grid-template-columns: 1fr 2fr;
  }
}

@media (min-width: 1200px) {
  .hero__main-grid {
    grid-template-columns: 280px 1fr 280px;
  }
}

/* Left Banner */
.hero__banner-left {
  background: linear-gradient(135deg, var(--color-secondary-dark) 0%, var(--color-secondary) 100%);
  border-radius: var(--radius-lg);
  padding: var(--spacing-6);
  display: flex;
  align-items: flex-start;
  min-height: 420px;
  position: relative;
  overflow: hidden;
}

.hero__banner-left::before {
  content: '';
  position: absolute;
  top: -50%;
  right: -50%;
  width: 100%;
  height: 100%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.1) 0%, transparent 70%);
}

.hero__banner-content {
  color: white;
  position: relative;
  z-index: 1;
}

/* Products Showcase */
.hero__products-showcase {
  background: white;
  border-radius: var(--radius-lg);
  padding: var(--spacing-5);
  box-shadow: var(--shadow-lg);
  display: flex;
  flex-direction: column;
}

.hero__products-header {
  font-size: var(--font-size-sm);
  font-weight: 600;
  color: var(--color-gray-700);
  margin-bottom: var(--spacing-4);
  padding-bottom: var(--spacing-3);
  border-bottom: 2px solid var(--color-gray-100);
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
}

.hero__products-header::before {
  content: '🚚';
  font-size: var(--font-size-base);
}

.hero__products-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: var(--spacing-3);
  margin-bottom: var(--spacing-4);
}

@media (max-width: 1199px) {
  .hero__products-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 767px) {
  .hero__products-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.hero__product-card {
  text-align: center;
  padding: var(--spacing-3);
  border-radius: var(--radius-md);
  transition: all var(--transition-fast);
  border: 1px solid transparent;
}

.hero__product-card:hover {
  background: var(--color-gray-50);
  border-color: var(--color-gray-200);
  transform: translateY(-2px);
  box-shadow: var(--shadow-md);
}

.hero__product-image {
  width: 100%;
  aspect-ratio: 1;
  background: var(--color-gray-50);
  border-radius: var(--radius-md);
  overflow: hidden;
  margin-bottom: var(--spacing-2);
}

.hero__product-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.hero__product-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.hero__product-name {
  font-size: 10px;
  color: var(--color-gray-600);
  line-height: 1.3;
}

.hero__product-old-price {
  font-size: 10px;
  color: var(--color-gray-400);
  text-decoration: line-through;
}

.hero__product-price {
  font-size: var(--font-size-sm);
  font-weight: 700;
  color: var(--color-daza);
}

/* Brands Section */
.hero__brands {
  border-top: 1px solid var(--color-gray-200);
  padding-top: var(--spacing-4);
}

.hero__brands-label {
  font-size: var(--font-size-xs);
  color: var(--color-gray-500);
  display: block;
  margin-bottom: var(--spacing-3);
}

.hero__brands-grid {
  display: flex;
  gap: var(--spacing-4);
  overflow-x: auto;
  padding-bottom: var(--spacing-2);
}

.hero__brand-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--spacing-1);
  min-width: 70px;
}

.hero__brand-logo {
  width: 60px;
  height: 60px;
  background: var(--color-accent);
  border-radius: var(--radius-full);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 9px;
  font-weight: 700;
  color: white;
  text-align: center;
  transition: all var(--transition-fast);
  box-shadow: var(--shadow-sm);
}

.hero__brand-item:hover .hero__brand-logo {
  transform: scale(1.1);
  box-shadow: var(--shadow-md);
}

.hero__brand-item span {
  font-size: 10px;
  color: var(--color-gray-600);
  text-align: center;
  font-weight: 500;
}

/* Side Banners */
.hero__side {
  display: none;
  grid-template-rows: 1fr 1fr;
  gap: var(--spacing-4);
}

@media (min-width: 1200px) {
  .hero__side {
    display: grid;
  }
}

.hero__side-banner {
  position: relative;
  background: linear-gradient(135deg, var(--color-daza) 0%, var(--color-secondary) 100%);
  border-radius: var(--radius-lg);
  overflow: hidden;
  min-height: 190px;
}

.hero__side-banner img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  inset: 0;
}

.hero__side-content {
  position: relative;
  z-index: 1;
  padding: var(--spacing-4);
  color: white;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.hero__side-discount {
  font-size: var(--font-size-3xl);
  font-weight: 800;
  display: block;
  margin-bottom: var(--spacing-1);
}

.hero__side-tag {
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  opacity: 0.8;
}

.hero__side-title {
  font-size: var(--font-size-lg);
  font-weight: 700;
}

.hero__side-banner--promo {
  background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
}

/* Hero Grid Layout */
.hero__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--spacing-4);
}

@media (min-width: 768px) {
  .hero__grid {
    grid-template-columns: 2fr 1fr;
  }
}

@media (min-width: 992px) {
  .hero__grid {
    grid-template-columns: 3fr 1fr;
  }
}

.hero__main {
  position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  height: 400px;
  box-shadow: var(--shadow-xl);
}

@media (min-width: 768px) {
  .hero__main {
    height: 450px;
  }
}

.hero__main img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero__side {
  display: none;
  grid-template-rows: 1fr 1fr;
  gap: var(--spacing-4);
}

@media (min-width: 768px) {
  .hero__side {
    display: grid;
  }
}

.hero__side-banner {
  position: relative;
  background: linear-gradient(135deg, var(--color-daza) 0%, var(--color-secondary) 100%);
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.hero__side-banner img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  inset: 0;
}

@media (min-width: 768px) {
  .hero__main {
    height: 450px;
  }
}

.hero__main img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, rgba(0, 0, 0, 0.6), transparent);
  display: flex;
  align-items: center;
  padding-left: var(--spacing-12);
}

.hero__content {
  max-width: 512px;
  color: white;
}

.hero__tag {
  display: inline-block;
  background-color: var(--color-daza);
  color: white;
  padding: var(--spacing-1) var(--spacing-3);
  border-radius: var(--radius-sm);
  font-size: var(--font-size-xs);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: var(--spacing-4);
}

.hero__title {
  font-size: var(--font-size-4xl);
  font-weight: 800;
  line-height: 1.1;
  margin-bottom: var(--spacing-4);
}

.hero__title span {
  color: var(--color-daza);
}

.hero__description {
  font-size: var(--font-size-lg);
  color: var(--color-gray-200);
  margin-bottom: var(--spacing-8);
}

/* Side Banners */
.hero__side {
  display: none;
  grid-template-rows: 1fr 1fr;
  gap: var(--spacing-4);
}

@media (min-width: 768px) {
  .hero__side {
    display: grid;
  }
}

.hero__side-banner {
  position: relative;
  background-color: var(--color-gray-800);
  border-radius: var(--radius-lg);
  overflow: hidden;
  cursor: pointer;
}

.hero__side-banner img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.6;
  transition: opacity var(--transition-base);
}

.hero__side-banner:hover img {
  opacity: 0.8;
}

.hero__side-content {
  position: absolute;
  bottom: var(--spacing-4);
  left: var(--spacing-4);
}

.hero__side-tag {
  color: var(--color-daza);
  font-size: var(--font-size-sm);
  font-weight: 700;
}

.hero__side-title {
  color: white;
  font-size: var(--font-size-xl);
  font-weight: 700;
}

/* ========================================
   12. BENEFITS BAR
   ======================================== */
.benefits-bar {
  background: white;
  border-bottom: 1px solid var(--color-gray-200);
  padding: var(--spacing-6) 0;
}

.benefits-bar__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--spacing-6);
}

@media (min-width: 768px) {
  .benefits-bar__grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

.benefit {
  display: flex;
  align-items: center;
  gap: var(--spacing-3);
}

.benefit__icon {
  width: 48px;
  height: 48px;
  background-color: var(--color-gray-100);
  border-radius: var(--radius-full);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-daza);
}

.benefit__title {
  font-weight: 700;
  color: var(--color-gray-800);
}

.benefit__text {
  font-size: var(--font-size-xs);
  color: var(--color-gray-500);
}

/* ========================================
   13. DAILY DEALS SECTION
   ======================================== */
.daily-deals {
  background: white;
  padding: var(--spacing-8) 0;
  border-top: 2px solid var(--color-daza);
  border-bottom: 2px solid var(--color-daza);
}

.daily-deals__header {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-4);
  margin-bottom: var(--spacing-6);
}

@media (min-width: 768px) {
  .daily-deals__header {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
}

.daily-deals__title-group {
  display: flex;
  align-items: center;
  gap: var(--spacing-3);
}

.daily-deals__icon {
  background-color: var(--color-accent);
  color: white;
  padding: var(--spacing-3);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
}

.daily-deals__title {
  font-size: var(--font-size-3xl);
  font-weight: 800;
  color: var(--color-secondary-dark);
  text-transform: uppercase;
  letter-spacing: -0.025em;
}

.daily-deals__subtitle {
  font-size: var(--font-size-sm);
  color: var(--color-gray-600);
  font-weight: 500;
}

/* Countdown Timer */
.countdown {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
}

.countdown__label {
  font-size: var(--font-size-xs);
  font-weight: 700;
  color: var(--color-gray-600);
  margin-right: var(--spacing-2);
}

.countdown__unit {
  width: 56px;
  height: 56px;
  background-color: var(--color-secondary-dark);
  color: white;
  border-radius: var(--radius-lg);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-family: ui-monospace, monospace;
  box-shadow: var(--shadow-lg);
}

.countdown__unit--accent {
  background-color: var(--color-accent);
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

.countdown__value {
  font-size: var(--font-size-2xl);
  font-weight: 700;
}

.countdown__name {
  font-size: 9px;
  text-transform: uppercase;
}

.countdown__separator {
  font-size: var(--font-size-2xl);
  font-weight: 700;
  color: var(--color-secondary-dark);
}

/* ========================================
   14. PRODUCT GRID
   ======================================== */
.products-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--spacing-4);
}

@media (min-width: 640px) {
  .products-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 768px) {
  .products-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (min-width: 1024px) {
  .products-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

/* ========================================
   15. PRODUCT CARD
   ======================================== */
.product-card {
  background: white;
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-lg);
  padding: var(--spacing-3);
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  transition: all var(--transition-base);
}

.product-card:hover {
  box-shadow: var(--shadow-xl);
  transform: scale(1.02);
}

.product-card__badge {
  position: absolute;
  top: var(--spacing-2);
  left: var(--spacing-2);
  z-index: 10;
}

.product-card__image {
  position: relative;
  aspect-ratio: 1;
  background-color: var(--color-gray-50);
  border-radius: var(--radius-lg);
  overflow: hidden;
  margin-bottom: var(--spacing-3);
}

.product-card__image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: var(--spacing-2);
  mix-blend-mode: multiply;
  transition: transform var(--transition-slow);
}

.product-card:hover .product-card__image img {
  transform: scale(1.25);
}

.product-card__rating {
  display: flex;
  align-items: center;
  gap: var(--spacing-1);
  margin-bottom: var(--spacing-1);
}

.product-card__stars {
  display: flex;
  color: var(--color-yellow);
}

.product-card__stars svg {
  width: 11px;
  height: 11px;
}

.product-card__rating-value {
  font-size: 10px;
  color: var(--color-gray-500);
}

.product-card__title {
  font-size: var(--font-size-xs);
  font-weight: 700;
  color: var(--color-gray-800);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 32px;
  margin-bottom: var(--spacing-2);
  line-height: 1.3;
  transition: color var(--transition-fast);
}

.product-card__title:hover {
  color: var(--color-daza);
}

.product-card__prices {
  margin-top: auto;
  border-top: 1px solid var(--color-gray-200);
  padding-top: var(--spacing-2);
}

.product-card__price-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--spacing-1);
}

.product-card__old-price {
  font-size: 10px;
  color: var(--color-gray-500);
  text-decoration: line-through;
}

.product-card__delivery {
  font-size: 10px;
  font-weight: 700;
  color: var(--color-daza);
  background-color: rgba(10, 82, 48, 0.1);
  padding: var(--spacing-1) var(--spacing-1);
  border-radius: var(--radius-sm);
}

.product-card__price {
  font-size: var(--font-size-xl);
  font-weight: 800;
  color: var(--color-secondary-dark);
}

.product-card__pix {
  font-size: 10px;
  font-weight: 700;
  color: var(--color-daza);
}

.product-card__installments {
  font-size: 10px;
  color: var(--color-gray-600);
  margin-top: var(--spacing-1);
}

.product-card__button {
  width: 100%;
  margin-top: var(--spacing-3);
}

/* ========================================
   16. CATEGORIES SECTION
   ======================================== */
.categories {
  background: linear-gradient(to bottom, var(--color-gray-50), white);
  padding: var(--spacing-12) 0;
}

.categories__header {
  text-align: center;
  margin-bottom: var(--spacing-10);
}

.categories__title {
  font-size: var(--font-size-3xl);
  font-weight: 800;
  color: var(--color-secondary-dark);
  text-transform: uppercase;
  letter-spacing: -0.025em;
  margin-bottom: var(--spacing-2);
}

.categories__subtitle {
  color: var(--color-gray-600);
}

.categories__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--spacing-3);
}

@media (min-width: 768px) {
  .categories__grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (min-width: 1024px) {
  .categories__grid {
    grid-template-columns: repeat(6, 1fr);
  }
}

.category-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: var(--spacing-5);
  border: 2px solid var(--color-gray-200);
  border-radius: var(--radius-lg);
  background: white;
  cursor: pointer;
  transition: all var(--transition-base);
}

.category-card:hover {
  box-shadow: var(--shadow-xl);
  border-color: var(--color-daza);
  transform: scale(1.05);
}

.category-card__icon {
  font-size: 3rem;
  margin-bottom: var(--spacing-3);
  transition: transform var(--transition-base);
}

.category-card:hover .category-card__icon {
  transform: scale(1.25);
}

.category-card__name {
  font-weight: 700;
  color: var(--color-gray-800);
  font-size: var(--font-size-xs);
  text-align: center;
  transition: color var(--transition-fast);
}

.category-card:hover .category-card__name {
  color: var(--color-daza);
}

/* ========================================
   17. PRODUCT SHELF SECTION
   ======================================== */
.products-section {
  background: white;
  padding: var(--spacing-12) 0;
  border-top: 1px solid var(--color-gray-200);
}

.products-section__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--spacing-8);
}

.products-section__title {
  font-size: var(--font-size-3xl);
  font-weight: 800;
  color: var(--color-secondary-dark);
  border-left: 4px solid var(--color-daza);
  padding-left: var(--spacing-4);
  margin-bottom: var(--spacing-1);
}

.products-section__subtitle {
  font-size: var(--font-size-sm);
  color: var(--color-gray-600);
  padding-left: var(--spacing-5);
}

.products-section__link {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  color: var(--color-daza);
  font-weight: 700;
  font-size: var(--font-size-sm);
  transition: gap var(--transition-fast);
}

.products-section__link:hover {
  gap: var(--spacing-3);
}

.products-section__link svg {
  transition: transform var(--transition-fast);
}

.products-section__link:hover svg {
  transform: translateX(4px);
}

/* ========================================
   18. FOOTER
   ======================================== */
.footer {
  background-color: var(--color-secondary-dark);
  color: var(--color-gray-400);
  padding: var(--spacing-12) 0 var(--spacing-6);
  font-size: var(--font-size-sm);
}

.footer__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--spacing-8);
  margin-bottom: var(--spacing-12);
}

@media (min-width: 768px) {
  .footer__grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

.footer__brand {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  margin-bottom: var(--spacing-6);
}

.footer__brand-icon {
  width: 32px;
  height: 32px;
  background-color: var(--color-daza);
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-weight: 700;
}

.footer__brand-name {
  font-size: var(--font-size-xl);
  font-weight: 700;
  color: white;
}

.footer__description {
  margin-bottom: var(--spacing-4);
  line-height: 1.6;
}

.footer__social {
  display: flex;
  gap: var(--spacing-4);
}

.footer__social-icon {
  width: 32px;
  height: 32px;
  background-color: var(--color-gray-700);
  border-radius: var(--radius-full);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background-color var(--transition-fast);
}

.footer__social-icon:hover {
  background-color: var(--color-daza);
}

.footer__title {
  color: white;
  font-weight: 700;
  margin-bottom: var(--spacing-4);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.footer__list {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-2);
}

.footer__link {
  cursor: pointer;
  transition: color var(--transition-fast);
}

.footer__link:hover {
  color: var(--color-daza);
}

.footer__contact-item {
  display: flex;
  align-items: flex-start;
  gap: var(--spacing-3);
  margin-bottom: var(--spacing-4);
}

.footer__contact-item svg {
  color: var(--color-daza);
  margin-top: 2px;
  flex-shrink: 0;
}

.footer__contact-value {
  color: white;
  font-weight: 700;
}

.footer__contact-label {
  font-size: var(--font-size-xs);
}

.footer__bottom {
  border-top: 1px solid var(--color-gray-800);
  padding-top: var(--spacing-6);
  display: flex;
  flex-direction: column;
  gap: var(--spacing-4);
  align-items: center;
}

@media (min-width: 768px) {
  .footer__bottom {
    flex-direction: row;
    justify-content: space-between;
  }
}

.footer__payment {
  display: flex;
  gap: var(--spacing-2);
}

.footer__payment-icon {
  width: 40px;
  height: 24px;
  background-color: var(--color-gray-700);
  border-radius: var(--radius-sm);
}

/* ========================================
   19. PRODUCT DETAIL PAGE
   ======================================== */
.breadcrumbs {
  background: white;
  border-bottom: 1px solid var(--color-gray-200);
  padding: var(--spacing-3) 0;
}

.breadcrumbs__list {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  font-size: var(--font-size-xs);
  color: var(--color-gray-500);
}

.breadcrumbs__current {
  color: var(--color-daza);
  font-weight: 700;
  max-width: 200px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Product Detail Card */
.product-detail {
  background: white;
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--color-gray-200);
  overflow: hidden;
}

.product-detail__grid {
  display: grid;
  grid-template-columns: 1fr;
}

@media (min-width: 1024px) {
  .product-detail__grid {
    grid-template-columns: 5fr 4fr 3fr;
  }
}

.product-detail__column {
  padding: var(--spacing-6);
  border-bottom: 1px solid var(--color-gray-200);
}

@media (min-width: 1024px) {
  .product-detail__column {
    border-bottom: none;
    border-right: 1px solid var(--color-gray-200);
  }

  .product-detail__column:last-child {
    border-right: none;
    background-color: var(--color-gray-50);
  }
}

/* Gallery */
.product-gallery {
  display: flex;
  gap: var(--spacing-4);
  height: 100%;
}

.product-gallery__thumbs {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-3);
  width: 64px;
}

.product-gallery__thumb {
  aspect-ratio: 1;
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-md);
  padding: var(--spacing-1);
  cursor: pointer;
  transition: all var(--transition-fast);
}

.product-gallery__thumb:hover {
  border-color: var(--color-gray-300);
}

.product-gallery__thumb.active {
  border-color: var(--color-daza);
  box-shadow: 0 0 0 1px var(--color-daza);
}

.product-gallery__thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.product-gallery__main {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-gray-50);
  border-radius: var(--radius-lg);
  padding: var(--spacing-8);
  position: relative;
}

.product-gallery__main img {
  max-width: 100%;
  max-height: 400px;
  object-fit: contain;
  mix-blend-mode: multiply;
}

.product-gallery__favorite {
  position: absolute;
  top: var(--spacing-4);
  right: var(--spacing-4);
  padding: var(--spacing-2);
  background: white;
  border-radius: var(--radius-full);
  box-shadow: var(--shadow-md);
  color: var(--color-gray-400);
  cursor: pointer;
  transition: color var(--transition-fast);
}

.product-gallery__favorite:hover {
  color: var(--color-accent-red);
}

/* Product Info */
.product-info__badges {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  margin-bottom: var(--spacing-2);
}

.product-info__title {
  font-size: var(--font-size-xl);
  font-weight: 700;
  color: var(--color-gray-800);
  line-height: 1.3;
  margin-bottom: var(--spacing-3);
}

@media (min-width: 768px) {
  .product-info__title {
    font-size: var(--font-size-2xl);
  }
}

.product-info__meta {
  display: flex;
  align-items: center;
  gap: var(--spacing-4);
  margin-bottom: var(--spacing-6);
  flex-wrap: wrap;
}

.product-info__rating {
  display: flex;
  color: var(--color-yellow);
}

.product-info__rating svg {
  width: 16px;
  height: 16px;
}

.product-info__reviews {
  font-size: var(--font-size-sm);
  color: var(--color-blue);
  cursor: pointer;
}

.product-info__reviews:hover {
  text-decoration: underline;
}

.product-info__share {
  display: flex;
  align-items: center;
  gap: var(--spacing-1);
  margin-left: auto;
  font-size: var(--font-size-sm);
  color: var(--color-gray-400);
  cursor: pointer;
  transition: color var(--transition-fast);
}

.product-info__share:hover {
  color: var(--color-gray-600);
}

.product-info__specs {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-3);
  font-size: var(--font-size-sm);
  color: var(--color-gray-600);
  margin-bottom: var(--spacing-6);
}

.product-info__guarantee {
  background-color: rgba(37, 99, 235, 0.1);
  color: var(--color-blue);
  padding: var(--spacing-3);
  border-radius: var(--radius-md);
  font-size: var(--font-size-xs);
  display: flex;
  align-items: flex-start;
  gap: var(--spacing-2);
}

.product-info__guarantee svg {
  flex-shrink: 0;
  margin-top: 2px;
}

/* Buy Box */
.buy-box {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-4);
}

.buy-box__card {
  background: white;
  padding: var(--spacing-4);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--color-gray-100);
}

.buy-box__price-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: var(--spacing-2);
}

.buy-box__old-price {
  font-size: var(--font-size-xs);
  color: var(--color-gray-500);
  text-decoration: line-through;
}

.buy-box__price {
  font-size: var(--font-size-3xl);
  font-weight: 800;
  color: var(--color-secondary-dark);
  margin-bottom: var(--spacing-1);
}

.buy-box__pix {
  font-size: var(--font-size-sm);
  font-weight: 700;
  color: var(--color-daza);
  margin-bottom: var(--spacing-1);
}

.buy-box__installments {
  font-size: var(--font-size-xs);
  color: var(--color-gray-500);
  margin-bottom: var(--spacing-4);
}

.buy-box__actions {
  display: flex;
  gap: var(--spacing-3);
  margin-bottom: var(--spacing-3);
}

.quantity-selector {
  display: flex;
  align-items: center;
  border: 1px solid var(--color-gray-300);
  border-radius: var(--radius-md);
  background: white;
}

.quantity-selector__btn {
  padding: var(--spacing-2) var(--spacing-3);
  color: var(--color-gray-600);
  transition: background-color var(--transition-fast);
}

.quantity-selector__btn:hover {
  background-color: var(--color-gray-100);
}

.quantity-selector__value {
  width: 32px;
  text-align: center;
  font-weight: 700;
  font-size: var(--font-size-sm);
}

/* Warranty Options */
.warranty-options {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-2);
}

.warranty-option {
  display: flex;
  align-items: center;
  gap: var(--spacing-3);
  padding: var(--spacing-3);
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-md);
  cursor: pointer;
  transition: all var(--transition-fast);
}

.warranty-option:hover {
  border-color: var(--color-gray-300);
}

.warranty-option.active {
  border-color: var(--color-daza);
  background-color: rgba(10, 82, 48, 0.05);
}

.warranty-option input[type="radio"] {
  accent-color: var(--color-daza);
}

.warranty-option__info {
  flex: 1;
}

.warranty-option__title {
  font-size: var(--font-size-sm);
  font-weight: 700;
  color: var(--color-gray-700);
}

.warranty-option__price {
  font-size: var(--font-size-xs);
  color: var(--color-gray-500);
}

/* Shipping Calculator */
.shipping-calc__input-group {
  display: flex;
  gap: var(--spacing-2);
  margin-bottom: var(--spacing-2);
}

.shipping-calc__input {
  flex: 1;
  padding: var(--spacing-2) var(--spacing-3);
  border: 1px solid var(--color-gray-300);
  border-radius: var(--radius-md);
  font-size: var(--font-size-sm);
}

.shipping-calc__input:focus {
  outline: none;
  border-color: var(--color-daza);
}

.shipping-calc__link {
  font-size: var(--font-size-xs);
  color: var(--color-gray-500);
  text-decoration: underline;
}

.shipping-calc__link:hover {
  color: var(--color-daza);
}

/* Product Description */
.product-description {
  margin-top: var(--spacing-8);
  background: white;
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--color-gray-200);
  padding: var(--spacing-8);
}

.product-description__title {
  font-size: var(--font-size-xl);
  font-weight: 700;
  color: var(--color-secondary-dark);
  margin-bottom: var(--spacing-6);
  padding-bottom: var(--spacing-2);
  border-bottom: 1px solid var(--color-gray-200);
}

.product-description__content {
  color: var(--color-gray-600);
  line-height: 1.7;
}

.product-description__content h4 {
  font-weight: 700;
  color: var(--color-gray-800);
  margin-top: var(--spacing-4);
  margin-bottom: var(--spacing-2);
}

.product-description__content ul {
  list-style: disc;
  padding-left: var(--spacing-5);
  margin-top: var(--spacing-2);
}

.product-description__content li {
  margin-bottom: var(--spacing-1);
}

/* ========================================
   20. MOBILE MENU
   ======================================== */
.mobile-menu-toggle {
  display: block;
  padding: var(--spacing-2);
  color: var(--color-gray-600);
}

@media (min-width: 768px) {
  .mobile-menu-toggle {
    display: none;
  }

  .top-bar,
  .nav-bar {
    display: block;
  }
}

/* Hide on mobile */
@media (max-width: 767px) {

  .top-bar,
  .nav-bar {
    display: none;
  }

  .search-bar {
    display: none;
  }

  .user-action__info {
    display: none;
  }
}

/* Mobile Search Bar */
.mobile-search-bar {
  display: none;
  background: white;
  padding: var(--spacing-2) 0;
  border-bottom: 1px solid var(--color-gray-200);
}

@media (max-width: 767px) {
  .mobile-search-bar {
    display: block;
  }
}

.mobile-search-form {
  display: flex;
  align-items: center;
  background: var(--color-gray-100);
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 2px solid var(--color-gray-200);
  transition: border-color var(--transition-fast);
}

.mobile-search-form:focus-within {
  border-color: var(--color-daza);
}

.mobile-search-input {
  flex: 1;
  padding: var(--spacing-3) var(--spacing-4);
  background: transparent;
  border: none;
  font-size: 16px;
  color: var(--color-gray-800);
  outline: none;
}

.mobile-search-input::placeholder {
  color: var(--color-gray-400);
}

.mobile-search-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 44px;
  background: var(--color-daza);
  color: white;
  border: none;
  cursor: pointer;
  transition: background var(--transition-fast);
}

.mobile-search-btn:hover {
  background: var(--color-daza-dark);
}

/* Mobile Menu Overlay */
.mobile-menu {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 100;
  opacity: 0;
  visibility: hidden;
  transition: all var(--transition-base);
}

.mobile-menu.active {
  opacity: 1;
  visibility: visible;
}

.mobile-menu__content {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 280px;
  background: white;
  transform: translateX(-100%);
  transition: transform var(--transition-base);
  overflow-y: auto;
}

.mobile-menu.active .mobile-menu__content {
  transform: translateX(0);
}

.mobile-menu__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--spacing-4);
  border-bottom: 1px solid var(--color-gray-200);
  background-color: var(--color-secondary-dark);
  color: white;
}

.mobile-menu__close {
  color: white;
  padding: var(--spacing-2);
}

.mobile-menu__list {
  padding: var(--spacing-4);
}

.mobile-menu__item {
  padding: var(--spacing-3) 0;
  border-bottom: 1px solid var(--color-gray-100);
  font-weight: 500;
}

.mobile-menu__item:hover {
  color: var(--color-daza);
}

/* ========================================
   21. RESPONSIVE ADJUSTMENTS
   ======================================== */
@media (max-width: 767px) {
  .hero__title {
    font-size: var(--font-size-3xl);
  }

  .hero__overlay {
    padding-left: var(--spacing-6);
  }

  .daily-deals__title {
    font-size: var(--font-size-2xl);
  }

  .countdown__unit {
    width: 48px;
    height: 48px;
  }

  .countdown__value {
    font-size: var(--font-size-xl);
  }

  .categories__title,
  .products-section__title {
    font-size: var(--font-size-2xl);
  }
}

/* ========================================
   22. OPENCART COMPATIBILITY OVERRIDES
   ======================================== */

/* Reset OpenCart default styles */
#container {
  position: relative;
  margin-bottom: 0;
}

#content,
#column-left,
#column-right {
  padding-bottom: 20px;
}

/* Override OpenCart footer */
footer.footer {
  position: relative;
  bottom: auto;
  border: none;
}

/* Search form styling */
#search {
  margin-bottom: 0;
}

#search .input-group {
  box-shadow: var(--shadow-lg);
  border-radius: var(--radius-lg);
  overflow: hidden;
}

#search .form-control {
  border: 2px solid var(--color-gray-300);
  border-right: none;
  border-radius: var(--radius-lg) 0 0 var(--radius-lg);
  padding: var(--spacing-3) var(--spacing-4);
  font-size: var(--font-size-base);
}

#search .form-control:focus {
  border-color: var(--color-daza);
  box-shadow: none;
}

#search .btn {
  background-color: var(--color-daza);
  border: none;
  border-radius: 0 var(--radius-lg) var(--radius-lg) 0;
  padding: var(--spacing-3) var(--spacing-6);
  color: white;
}

#search .btn:hover {
  background-color: var(--color-daza-dark);
}

/* Cart dropdown styling */
#cart .dropdown-menu {
  background: white;
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-xl);
  padding: var(--spacing-4);
}

#cart .btn {
  background-color: var(--color-daza);
  border: none;
  color: white;
  border-radius: var(--radius-md);
}

#cart .btn:hover {
  background-color: var(--color-daza-dark);
}

/* Product thumb cards */
.product-thumb {
  background: white;
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-lg);
  padding: var(--spacing-3);
  transition: all var(--transition-base);
  height: 100%;
}

.product-thumb:hover {
  box-shadow: var(--shadow-xl);
  transform: translateY(-4px);
}

.product-thumb .image {
  border-radius: var(--radius-lg);
  overflow: hidden;
  background-color: var(--color-gray-50);
}

.product-thumb .image img {
  transition: transform var(--transition-slow);
}

.product-thumb:hover .image img {
  transform: scale(1.1);
}

.product-thumb .description {
  padding: var(--spacing-4) var(--spacing-2);
}

.product-thumb .description h4 {
  font-size: var(--font-size-sm);
  font-weight: 700;
  color: var(--color-gray-800);
  margin-bottom: var(--spacing-2);
}

.product-thumb .description h4 a {
  color: inherit;
  transition: color var(--transition-fast);
}

.product-thumb .description h4 a:hover {
  color: var(--color-daza);
}

.product-thumb .price {
  font-size: var(--font-size-xl);
  font-weight: 800;
  color: var(--color-secondary-dark);
}

.product-thumb .price-new {
  color: var(--color-daza);
}

.product-thumb .price-old {
  font-size: var(--font-size-sm);
  color: var(--color-gray-500);
}

.product-thumb .button {
  border-top: 1px solid var(--color-gray-200);
  background: var(--color-gray-50);
  border-radius: 0 0 var(--radius-lg) var(--radius-lg);
}

.product-thumb .button button {
  background: transparent;
  color: var(--color-gray-600);
  transition: all var(--transition-fast);
}

.product-thumb .button button:hover {
  background-color: var(--color-daza);
  color: white;
}

/* Breadcrumb styling */
.breadcrumb {
  background-color: white;
  border: none;
  border-radius: 0;
  border-bottom: 1px solid var(--color-gray-200);
  padding: var(--spacing-3) 0;
  margin: 0 0 var(--spacing-6) 0;
}

.breadcrumb>li.breadcrumb-item:after {
  display: none;
}

.breadcrumb-item+.breadcrumb-item::before {
  content: "›";
  color: var(--color-gray-400);
}

/* Buttons */
.btn-primary {
  background-color: var(--color-daza) !important;
  border-color: var(--color-daza) !important;
}

.btn-primary:hover {
  background-color: var(--color-daza-dark) !important;
  border-color: var(--color-daza-dark) !important;
}

/* Alert styling */
#alert .alert {
  border-radius: var(--radius-lg);
}

/* Currency and Language dropdowns */
.top-bar__links .dropdown-menu {
  background: white;
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-lg);
}

.top-bar__links .dropdown-item:hover {
  background-color: var(--color-gray-100);
  color: var(--color-daza);
}

/* Main content area */
main {
  min-height: 400px;
}

#common-home {
  padding-bottom: var(--spacing-12);
}

/* Module titles */
.products-section h3,
#content h2,
#content h3 {
  font-size: var(--font-size-2xl);
  font-weight: 800;
  color: var(--color-secondary-dark);
  border-left: 4px solid var(--color-daza);
  padding-left: var(--spacing-4);
  margin-bottom: var(--spacing-6);
}

/* ========================================
   23. PRODUCT DETAIL PAGE - DAZA
   ======================================== */

/* Product Detail Grid */
.product-detail {
  background: white;
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--color-gray-200);
  overflow: hidden;
  padding: var(--spacing-6);
}

.product-detail__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--spacing-6);
}

@media (min-width: 768px) {
  .product-detail__grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (min-width: 1024px) {
  .product-detail__grid {
    grid-template-columns: 400px 1fr 320px;
  }
}

.product-detail__column {
  min-width: 0;
}

/* Product Gallery */
.product-gallery {
  display: flex;
  gap: var(--spacing-3);
}

.product-gallery__thumbs {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-2);
  width: 80px;
  flex-shrink: 0;
}

.product-gallery__thumb {
  width: 80px;
  height: 80px;
  border: 2px solid var(--color-gray-200);
  border-radius: var(--radius-md);
  overflow: hidden;
  cursor: pointer;
  transition: all var(--transition-fast);
}

.product-gallery__thumb:hover,
.product-gallery__thumb.active {
  border-color: var(--color-daza);
}

.product-gallery__thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.product-gallery__main {
  flex: 1;
  position: relative;
  background: var(--color-gray-50);
  border-radius: var(--radius-lg);
  overflow: hidden;
  aspect-ratio: 1;
}

.product-gallery__main img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: var(--spacing-4);
}

.product-gallery__favorite {
  position: absolute;
  top: var(--spacing-3);
  right: var(--spacing-3);
  width: 40px;
  height: 40px;
  background: white;
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-full);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all var(--transition-fast);
  z-index: 10;
}

.product-gallery__favorite:hover {
  background: var(--color-accent-red);
  border-color: var(--color-accent-red);
  color: white;
}

/* Product Info */
.product-info__badges {
  display: flex;
  gap: var(--spacing-2);
  margin-bottom: var(--spacing-3);
}

.product-info__title {
  font-size: var(--font-size-2xl);
  font-weight: 800;
  color: var(--color-secondary-dark);
  line-height: 1.2;
  margin-bottom: var(--spacing-4);
}

.product-info__meta {
  display: flex;
  align-items: center;
  gap: var(--spacing-4);
  margin-bottom: var(--spacing-4);
  flex-wrap: wrap;
}

.product-info__rating {
  display: flex;
  gap: 2px;
  color: var(--color-yellow);
}

.product-info__reviews {
  font-size: var(--font-size-sm);
  color: var(--color-gray-500);
}

.product-info__share {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  font-size: var(--font-size-sm);
  color: var(--color-gray-500);
  margin-left: auto;
}

.product-info__share:hover {
  color: var(--color-daza);
}

.product-info__specs {
  background: var(--color-gray-50);
  border-radius: var(--radius-lg);
  padding: var(--spacing-4);
  margin-bottom: var(--spacing-4);
}

.product-info__specs p {
  font-size: var(--font-size-sm);
  color: var(--color-gray-700);
  margin-bottom: var(--spacing-2);
}

.product-info__specs p:last-child {
  margin-bottom: 0;
}

.product-info__guarantee {
  display: flex;
  align-items: flex-start;
  gap: var(--spacing-3);
  background: rgba(10, 82, 48, 0.1);
  border: 1px solid var(--color-daza);
  border-radius: var(--radius-lg);
  padding: var(--spacing-4);
}

.product-info__guarantee svg {
  color: var(--color-daza);
  flex-shrink: 0;
  margin-top: 2px;
}

.product-info__guarantee p {
  font-size: var(--font-size-sm);
  color: var(--color-gray-700);
  margin: 0;
}

/* Buy Box */
.buy-box {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-4);
}

.buy-box__card {
  background: var(--color-gray-50);
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-lg);
  padding: var(--spacing-4);
}

.buy-box__price-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--spacing-2);
}

.buy-box__old-price {
  font-size: var(--font-size-sm);
  color: var(--color-gray-500);
  text-decoration: line-through;
}

.buy-box__price {
  font-size: var(--font-size-3xl);
  font-weight: 800;
  color: var(--color-secondary-dark);
}

.buy-box__pix {
  font-size: var(--font-size-sm);
  font-weight: 700;
  color: var(--color-daza);
  margin-bottom: var(--spacing-1);
}

.buy-box__installments {
  font-size: var(--font-size-sm);
  color: var(--color-gray-600);
}

.buy-box__actions {
  display: flex;
  gap: var(--spacing-3);
  margin-top: var(--spacing-4);
}

/* Quantity Selector */
.quantity-selector {
  display: flex;
  align-items: center;
  background: white;
  border: 2px solid var(--color-gray-300);
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.quantity-selector__btn {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  cursor: pointer;
  color: var(--color-gray-600);
  transition: all var(--transition-fast);
}

.quantity-selector__btn:hover {
  background: var(--color-gray-100);
  color: var(--color-daza);
}

.quantity-selector__value {
  font-weight: 700;
  font-size: var(--font-size-lg);
  color: var(--color-secondary-dark);
}

/* Warranty Options */
.warranty-options {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-2);
}

.warranty-option {
  display: flex;
  align-items: center;
  gap: var(--spacing-3);
  padding: var(--spacing-3);
  border: 2px solid var(--color-gray-200);
  border-radius: var(--radius-md);
  cursor: pointer;
  transition: all var(--transition-fast);
}

.warranty-option:hover,
.warranty-option.active {
  border-color: var(--color-daza);
  background: rgba(10, 82, 48, 0.05);
}

.warranty-option input {
  display: none;
}

.warranty-option__info {
  display: flex;
  flex-direction: column;
}

.warranty-option__title {
  font-weight: 600;
  font-size: var(--font-size-sm);
  color: var(--color-gray-800);
}

.warranty-option__price {
  font-size: var(--font-size-xs);
  color: var(--color-gray-500);
}

/* Shipping Calculator */
.shipping-calc__input-group {
  display: flex;
  gap: var(--spacing-2);
}

.shipping-calc__input {
  flex: 1;
  padding: var(--spacing-2) var(--spacing-3);
  border: 2px solid var(--color-gray-300);
  border-radius: var(--radius-md);
  font-size: var(--font-size-sm);
}

.shipping-calc__input:focus {
  outline: none;
  border-color: var(--color-daza);
}

.shipping-calc__link {
  display: block;
  font-size: var(--font-size-xs);
  color: var(--color-daza);
  margin-top: var(--spacing-2);
}

/* Product Description */
.product-description {
  background: white;
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-lg);
  padding: var(--spacing-6);
  margin-top: var(--spacing-6);
}

.product-description__title {
  font-size: var(--font-size-xl);
  font-weight: 700;
  color: var(--color-secondary-dark);
  margin-bottom: var(--spacing-4);
  padding-bottom: var(--spacing-3);
  border-bottom: 2px solid var(--color-daza);
}

.product-description__content {
  font-size: var(--font-size-base);
  color: var(--color-gray-700);
  line-height: 1.7;
}

.product-description__content h4 {
  font-size: var(--font-size-lg);
  font-weight: 700;
  color: var(--color-secondary-dark);
  margin: var(--spacing-4) 0 var(--spacing-2);
}

.product-description__content ul {
  padding-left: var(--spacing-6);
  list-style: disc;
}

.product-description__content li {
  margin-bottom: var(--spacing-2);
}

/* Mobile Menu Styles */
.mobile-menu {
  position: fixed;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1000;
  transition: left var(--transition-base);
}

.mobile-menu.active {
  left: 0;
}

.mobile-menu__content {
  width: 280px;
  height: 100%;
  background: var(--color-secondary-dark);
  padding: var(--spacing-4);
}

.mobile-menu__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: var(--spacing-4);
  border-bottom: 1px solid var(--color-gray-700);
  margin-bottom: var(--spacing-4);
}

.mobile-menu__close {
  color: white;
  background: transparent;
  border: none;
  cursor: pointer;
}

.mobile-menu__list {
  list-style: none;
}

.mobile-menu__item {
  margin-bottom: var(--spacing-2);
}

.mobile-menu__item a {
  display: block;
  padding: var(--spacing-3);
  color: white;
  font-weight: 500;
  border-radius: var(--radius-md);
  transition: background var(--transition-fast);
}

.mobile-menu__item a:hover {
  background: var(--color-gray-700);
}

/* Mobile Menu Toggle */
.mobile-menu-toggle {
  display: flex;
  background: transparent;
  border: none;
  color: var(--color-gray-600);
  cursor: pointer;
  padding: var(--spacing-2);
}

@media (min-width: 768px) {
  .mobile-menu-toggle {
    display: none;
  }
}

/* Products Grid for product cards */
.products-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--spacing-4);
}

@media (min-width: 640px) {
  .products-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (min-width: 1024px) {
  .products-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (min-width: 1280px) {
  .products-grid {
    grid-template-columns: repeat(5, 1fr);
  }
}

/* ========================================
   CATEGORY NAV - Full Width Bar
   ======================================== */
.cat-nav {
  width: 90%;
  max-width: 1280px;
  margin: -36px auto 0;
  position: relative;
  z-index: 10;
  background: white;
  padding: var(--spacing-5) var(--spacing-6);
  border-radius: 16px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1);
}

.cat-nav__title {
  font-size: var(--font-size-base);
  font-weight: 700;
  color: var(--color-secondary-dark);
  margin-bottom: var(--spacing-4);
  padding-bottom: var(--spacing-2);
  border-bottom: 2px solid var(--color-gray-100);
}

.cat-nav__grid {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.cat-nav__grid::-webkit-scrollbar {
  display: none;
}

.cat-nav__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  text-decoration: none;
  scroll-snap-align: start;
  transition: transform 0.25s ease;
  flex: 1 1 0;
  min-width: 0;
  padding: var(--spacing-1);
}

.cat-nav__item:hover {
  transform: translateY(-3px);
}

.cat-nav__circle {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  background: rgba(10, 82, 48, 0.07);
  color: var(--color-daza);
  border: 2px solid rgba(10, 82, 48, 0.12);
  flex-shrink: 0;
}

.cat-nav__circle svg {
  width: 24px;
  height: 24px;
}

.cat-nav__item:hover .cat-nav__circle {
  background: var(--color-daza);
  color: white;
  border-color: var(--color-daza);
  box-shadow: 0 4px 14px rgba(10, 82, 48, 0.3);
}

/* Accent variant for promo items (cupom, frete, campeoes) */
.cat-nav__circle--accent {
  background: rgba(234, 88, 12, 0.07);
  color: #ea580c;
  border-color: rgba(234, 88, 12, 0.12);
}

.cat-nav__item:hover .cat-nav__circle--accent {
  background: #ea580c;
  color: white;
  border-color: #ea580c;
  box-shadow: 0 4px 14px rgba(234, 88, 12, 0.3);
}

/* Category labels */
.cat-nav__label {
  font-size: 0.7rem;
  font-weight: 600;
  color: var(--color-gray-600);
  text-align: center;
  letter-spacing: 0.01em;
  line-height: 1.25;
  max-width: 80px;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

.cat-nav__item:hover .cat-nav__label {
  color: var(--color-secondary-dark);
}

@media (max-width: 991px) {
  .cat-nav {
    width: 95%;
    margin-top: -24px;
    padding: var(--spacing-4) var(--spacing-2);
  }

  .cat-nav__title {
    font-size: var(--font-size-sm);
    margin-bottom: var(--spacing-3);
    text-align: center;
  }

  .cat-nav__grid {
    justify-content: flex-start;
    gap: var(--spacing-3);
    padding-bottom: var(--spacing-2);
  }

  .cat-nav__item {
    flex: 0 0 auto;
    min-width: 80px;
  }

  .cat-nav__circle {
    width: 60px;
    height: 60px;
  }

  .cat-nav__circle svg {
    width: 28px;
    height: 28px;
  }

  .cat-nav__label {
    font-size: 0.65rem;
    max-width: 80px;
    line-height: 1.1;
  }
}

@media (max-width: 767px) {

  /* Deals Section Mobile Optimization */
  .deals-section__header {
    flex-direction: column;
    align-items: center;
    gap: var(--spacing-3);
    text-align: center;
  }

  .deals-section__title {
    font-size: var(--font-size-lg);
    width: 100%;
    text-align: center;
  }

  .countdown {
    justify-content: center;
    transform: scale(0.9);
  }

  /* Mobile Product Card - Improved UX */
  .deal-box__image {
    position: relative;
    padding-bottom: 40px;
    /* Space for button */
  }

  .deal-box__hover-cart {
    opacity: 1 !important;
    transform: translateY(0) !important;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 8px;
    background: rgba(255, 255, 255, 0.95);
    border-top: 1px solid var(--color-gray-200);
    display: flex;
    justify-content: center;
    gap: 6px;
    font-size: 11px;
    color: var(--color-daza-dark);
    font-weight: 600;
  }

  .deal-box__hover-cart svg {
    width: 14px;
    height: 14px;
  }

  .deal-box__content {
    padding: var(--spacing-2);
  }

  .deal-box__name {
    font-size: 0.8rem;
    height: 2.4em;
    /* Limit to 2 lines visual height */
    overflow: hidden;
  }

  .deal-box__price {
    font-size: 1rem;
  }

  .deal-box__pix,
  .deal-box__installment {
    font-size: 9px;
  }
}

/* ========================================
   CATEGORIES SECTION (legacy)
   ======================================== */
.categories-section {
  background: white;
  padding: var(--spacing-12) 0;
}

.section-header {
  text-align: center;
  margin-bottom: var(--spacing-8);
}

.section-header--between {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-4);
  text-align: left;
}

@media (min-width: 768px) {
  .section-header--between {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
}

.section-title {
  font-size: var(--font-size-2xl);
  font-weight: 800;
  color: var(--color-secondary-dark);
  margin-bottom: var(--spacing-2);
}

.section-subtitle {
  font-size: var(--font-size-sm);
  color: var(--color-gray-500);
}

.section-link {
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-2);
  color: var(--color-daza);
  font-weight: 600;
  font-size: var(--font-size-sm);
  transition: color var(--transition-fast);
}

.section-link:hover {
  color: var(--color-daza-dark);
}

.categories-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--spacing-4);
}

@media (min-width: 640px) {
  .categories-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (min-width: 1024px) {
  .categories-grid {
    grid-template-columns: repeat(6, 1fr);
  }
}

.category-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--spacing-3);
  padding: var(--spacing-6) var(--spacing-4);
  background: white;
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-lg);
  transition: all var(--transition-fast);
  text-align: center;
}

.category-card:hover {
  border-color: var(--color-daza);
  box-shadow: var(--shadow-lg);
  transform: translateY(-4px);
}

.category-card__icon {
  width: 64px;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-gray-100);
  border-radius: var(--radius-lg);
  color: var(--color-daza);
  transition: all var(--transition-fast);
}

.category-card:hover .category-card__icon {
  background: var(--color-daza);
  color: white;
}

.category-card__name {
  font-size: var(--font-size-sm);
  font-weight: 600;
  color: var(--color-gray-700);
}

.category-card--highlight .category-card__icon {
  background: var(--color-accent);
  color: white;
}

.category-card--highlight:hover .category-card__icon {
  background: var(--color-accent-red);
}

/* ========================================
   BESTSELLERS SECTION
   ======================================== */
.bestsellers-section {
  background: var(--color-gray-50);
  padding: var(--spacing-12) 0;
}

/* ========================================
   PRODUCT DETAIL PAGE (PDP) - LDM STYLE
   ======================================== */
.pdp-container {
  padding: var(--spacing-6) var(--spacing-4);
}

.pdp-layout {
  display: grid;
  grid-template-columns: 500px 1fr;
  gap: var(--spacing-8);
  margin-bottom: var(--spacing-8);
}

@media (max-width: 1200px) {
  .pdp-layout {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 768px) {
  .pdp-layout {
    grid-template-columns: 1fr;
    gap: 0;
  }
}

/* Right Column: Info + Buy Flow */
.pdp-right {
  display: flex;
  flex-direction: column;
}

/* Product Header */
.pdp-product-header {
  padding-bottom: var(--spacing-4);
  border-bottom: 1px solid var(--color-gray-200);
}

.pdp-product-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--color-gray-900);
  line-height: 1.3;
  margin-bottom: var(--spacing-2);
}

.pdp-product-meta {
  display: flex;
  align-items: center;
  gap: var(--spacing-3);
  margin-bottom: var(--spacing-2);
}

.pdp-product-code {
  font-size: var(--font-size-xs);
  color: var(--color-gray-500);
}

.pdp-product-brand {
  font-size: var(--font-size-xs);
  color: var(--color-daza);
  font-weight: 600;
  text-decoration: none;
}

.pdp-product-brand:hover {
  text-decoration: underline;
}

/* Rating Row */
.pdp-product-rating {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  flex-wrap: wrap;
}

.pdp-product-rating__stars {
  display: flex;
  gap: 2px;
}

.pdp-product-rating__link {
  font-size: var(--font-size-sm);
  color: var(--color-gray-600);
  text-decoration: none;
}

.pdp-product-rating__link span {
  color: var(--color-daza);
  font-weight: 600;
}

.pdp-product-rating__link:hover {
  text-decoration: underline;
}

.pdp-product-wishlist {
  margin-left: auto;
  background: none;
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-full);
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--color-gray-400);
  transition: all var(--transition-fast);
}

.pdp-product-wishlist:hover {
  color: #ef4444;
  border-color: #ef4444;
}

/* Options Section */
.pdp-options-section {
  padding: var(--spacing-4) 0;
  border-bottom: 1px solid var(--color-gray-200);
}

.pdp-option-row {
  display: flex;
  align-items: center;
  gap: var(--spacing-3);
  margin-bottom: var(--spacing-2);
}

.pdp-option-row__label {
  font-size: var(--font-size-sm);
  font-weight: 600;
  color: var(--color-gray-700);
  flex-shrink: 0;
}

.pdp-option-row__select,
.pdp-option-row__input {
  flex: 1;
  padding: var(--spacing-2) var(--spacing-3);
  border: 1px solid var(--color-gray-300);
  border-radius: var(--radius-md);
  font-size: var(--font-size-sm);
}

.pdp-option-row__textarea {
  width: 100%;
  padding: var(--spacing-2) var(--spacing-3);
  border: 1px solid var(--color-gray-300);
  border-radius: var(--radius-md);
  font-size: var(--font-size-sm);
  resize: vertical;
}

.pdp-option-row__upload {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  padding: var(--spacing-2) var(--spacing-4);
  background: var(--color-gray-100);
  border: 1px solid var(--color-gray-300);
  border-radius: var(--radius-md);
  cursor: pointer;
  font-size: var(--font-size-sm);
}

/* Option Pills (like LDM's color/voltage selector) */
.pdp-option-pills {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-2);
}

.pdp-option-pill input {
  display: none;
}

.pdp-option-pill__label {
  display: flex;
  align-items: center;
  gap: var(--spacing-1);
  padding: 6px 14px;
  border: 2px solid var(--color-gray-300);
  border-radius: var(--radius-full);
  font-size: var(--font-size-sm);
  font-weight: 500;
  cursor: pointer;
  transition: all var(--transition-fast);
}

.pdp-option-pill input:checked+.pdp-option-pill__label {
  border-color: var(--color-daza);
  background: rgba(10, 82, 48, 0.1);
  color: var(--color-daza);
  font-weight: 700;
}

.pdp-option-pill__label img {
  width: 20px;
  height: 20px;
  border-radius: 50%;
}

/* Price Section */
.pdp-price-section {
  padding: var(--spacing-5) 0;
  border-bottom: 1px solid var(--color-gray-200);
}

.pdp-price-main {
  font-size: 2rem;
  font-weight: 800;
  color: #0A5230;
  line-height: 1.1;
}

.pdp-price-discount {
  font-size: var(--font-size-sm);
  color: #0A5230;
  margin-top: var(--spacing-1);
}

.pdp-price-full {
  margin-top: var(--spacing-2);
}

.pdp-price-full__value {
  font-size: var(--font-size-base);
  color: var(--color-gray-600);
}

.pdp-price-installments {
  font-size: var(--font-size-sm);
  color: var(--color-gray-600);
  margin-top: var(--spacing-1);
}

.pdp-price-tax {
  font-size: var(--font-size-xs);
  color: var(--color-gray-500);
  margin-top: var(--spacing-1);
}

/* Availability */
.pdp-availability {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  padding: var(--spacing-3) 0;
  font-size: var(--font-size-sm);
  font-weight: 600;
}

/* CTA Section */
.pdp-cta {
  display: flex;
  align-items: center;
  gap: var(--spacing-3);
  padding: var(--spacing-4) 0;
  border-bottom: 1px solid var(--color-gray-200);
}

.pdp-cta__qty {
  display: flex;
  align-items: center;
  border: 1px solid var(--color-gray-300);
  border-radius: var(--radius-md);
  overflow: hidden;
  flex-shrink: 0;
}

.pdp-cta__qty-btn {
  width: 44px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-gray-50);
  border: none;
  cursor: pointer;
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--color-gray-700);
  transition: background var(--transition-fast);
}

.pdp-cta__qty-btn:hover {
  background: var(--color-gray-200);
}

.pdp-cta__qty-btn--plus {
  background: #0A5230;
  color: white;
}

.pdp-cta__qty-btn--plus:hover {
  background: #2D6944;
}

.pdp-cta__qty-input {
  width: 48px;
  height: 48px;
  text-align: center;
  border: none;
  border-left: 1px solid var(--color-gray-300);
  border-right: 1px solid var(--color-gray-300);
  font-size: var(--font-size-lg);
  font-weight: 700;
  -moz-appearance: textfield;
}

.pdp-cta__qty-input::-webkit-inner-spin-button,
.pdp-cta__qty-input::-webkit-outer-spin-button {
  -webkit-appearance: none;
}

.pdp-cta__btn {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-2);
  padding: var(--spacing-4);
  background: #0A5230;
  color: white;
  border: none;
  border-radius: var(--radius-md);
  font-size: var(--font-size-lg);
  font-weight: 700;
  cursor: pointer;
  transition: all var(--transition-fast);
  box-shadow: 0 4px 14px rgba(10, 82, 48, 0.3);
}

.pdp-cta__btn:hover {
  background: #2D6944;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(10, 82, 48, 0.4);
}

.pdp-minimum-notice {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  padding: var(--spacing-2) 0;
  font-size: var(--font-size-xs);
  color: var(--color-accent);
}

/* Trust Row */
.pdp-trust-row {
  display: flex;
  justify-content: center;
  gap: var(--spacing-5);
  padding: var(--spacing-4) 0;
  border-bottom: 1px solid var(--color-gray-200);
}

.pdp-trust-item {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  font-size: var(--font-size-xs);
  color: var(--color-gray-500);
}

/* Shipping Section */
.pdp-shipping-section {
  padding: var(--spacing-5) 0;
  border-bottom: 1px solid var(--color-gray-200);
}

.pdp-section-title {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  font-size: var(--font-size-base);
  font-weight: 700;
  color: var(--color-gray-800);
  margin-bottom: var(--spacing-3);
}

.pdp-section-title--bordered {
  padding-bottom: var(--spacing-2);
  border-bottom: 3px solid var(--color-daza);
  margin-bottom: var(--spacing-4);
}

.pdp-shipping-form {
  display: flex;
  gap: var(--spacing-2);
}

.pdp-shipping-form__input {
  flex: 1;
  padding: var(--spacing-3);
  border: 1px solid var(--color-gray-300);
  border-radius: var(--radius-md);
  font-size: var(--font-size-sm);
}

.pdp-shipping-form__btn {
  padding: var(--spacing-3) var(--spacing-4);
  background: var(--color-gray-100);
  border: 1px solid var(--color-gray-300);
  border-radius: var(--radius-md);
  cursor: pointer;
  transition: background var(--transition-fast);
}

.pdp-shipping-form__btn:hover {
  background: var(--color-gray-200);
}

.pdp-shipping-link {
  display: block;
  font-size: var(--font-size-xs);
  color: var(--color-gray-500);
  margin-top: var(--spacing-1);
}

.pdp-shipping-results {
  margin-top: var(--spacing-3);
}

.pdp-shipping-opt {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--spacing-3);
  border-bottom: 1px solid var(--color-gray-100);
}

.pdp-shipping-opt__info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.pdp-shipping-opt__info strong {
  font-size: var(--font-size-sm);
}

.pdp-shipping-opt__info span {
  font-size: var(--font-size-xs);
  color: var(--color-gray-500);
}

.pdp-shipping-opt__price {
  font-size: var(--font-size-sm);
  font-weight: 700;
  color: var(--color-gray-800);
}

.pdp-shipping-opt__price--free {
  color: #0A5230;
}

/* Sections (Description, Specs, Reviews) */
.pdp-sections {
  max-width: 900px;
}

.pdp-section {
  margin-bottom: var(--spacing-6);
}

/* Expandable description */
.pdp-section__body--expandable {
  max-height: 200px;
  overflow: hidden;
  position: relative;
  transition: max-height 0.4s ease;
}

.pdp-section__body--expandable::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 60px;
  background: linear-gradient(transparent, white);
  pointer-events: none;
}

.pdp-section__body--expandable.expanded {
  max-height: 5000px;
}

.pdp-section__body--expandable.expanded::after {
  display: none;
}

.pdp-section__toggle {
  display: block;
  width: 100%;
  padding: var(--spacing-3);
  background: none;
  border: none;
  color: var(--color-daza);
  font-size: var(--font-size-sm);
  font-weight: 600;
  cursor: pointer;
  text-align: center;
}

.pdp-section__toggle:hover {
  text-decoration: underline;
}

.pdp-description-content {
  font-size: var(--font-size-base);
  line-height: 1.7;
  color: var(--color-gray-700);
}

.pdp-description-content p {
  margin-bottom: 1rem;
}

.pdp-description-content ul,
.pdp-description-content ol {
  padding-left: 0;
  margin: var(--spacing-3) 0;
  list-style: none;
}

.pdp-description-content ul li,
.pdp-description-content ol li {
  position: relative;
  padding-left: 1.75rem;
  margin-bottom: var(--spacing-2);
  line-height: 1.6;
}

.pdp-description-content ul li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 3px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: rgba(10, 82, 48, 0.12);
  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='%230A5230' stroke-width='3'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 11px;
}

.pdp-description-content img {
  max-width: 100%;
  height: auto;
  border-radius: var(--radius-md);
  margin: var(--spacing-3) 0;
}

/* Specs Table */
.pdp-specs-table {
  width: 100%;
  border-collapse: collapse;
}

.pdp-specs-table tr:nth-child(even) {
  background: var(--color-gray-50);
}

.pdp-specs-table td {
  padding: var(--spacing-3);
  font-size: var(--font-size-sm);
  border-bottom: 1px solid var(--color-gray-100);
}

.pdp-specs-table__label {
  width: 40%;
  font-weight: 600;
  color: var(--color-gray-700);
}

.pdp-specs-table__value {
  color: var(--color-gray-600);
}

/* Tags */
.pdp-tags {
  margin-top: var(--spacing-4);
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-2);
  align-items: center;
}

.pdp-tag {
  display: inline-block;
  padding: 4px 12px;
  background: var(--color-gray-100);
  border-radius: var(--radius-full);
  font-size: var(--font-size-xs);
  color: var(--color-gray-600);
  text-decoration: none;
}

.pdp-tag:hover {
  background: var(--color-daza);
  color: white;
}

/* Sticky bottom bar: hidden by default */
.pdp-sticky-bar {
  display: none;
}

/* PDP Gallery */
.pdp-gallery {
  display: flex;
  gap: var(--spacing-3);
}

/* Hide mobile elements on desktop */
.pdp-gallery__counter,
.pdp-gallery__dots {
  display: none;
}

.pdp-gallery__thumbs {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-2);
  width: 80px;
  flex-shrink: 0;
}

.pdp-gallery__thumb {
  width: 80px;
  height: 80px;
  border: 2px solid var(--color-gray-200);
  border-radius: var(--radius-md);
  overflow: hidden;
  cursor: pointer;
  background: white;
  padding: 4px;
  transition: all var(--transition-fast);
}

.pdp-gallery__thumb:hover,
.pdp-gallery__thumb.active {
  border-color: var(--color-daza);
}

.pdp-gallery__thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.pdp-gallery__more {
  width: 80px;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-gray-100);
  border: 2px solid var(--color-gray-200);
  border-radius: var(--radius-md);
  font-weight: 700;
  color: var(--color-gray-600);
  cursor: pointer;
}

.pdp-gallery__main {
  flex: 1;
  position: relative;
  background: white;
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-lg);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 400px;
}

.pdp-gallery__badge {
  position: absolute;
  top: var(--spacing-3);
  left: var(--spacing-3);
  z-index: 10;
}

.pdp-gallery__badge--sale {
  background: var(--color-accent);
  color: white;
  padding: var(--spacing-2) var(--spacing-4);
  font-size: var(--font-size-sm);
  font-weight: 700;
  border-radius: var(--radius-md);
}

.pdp-gallery__favorite {
  position: absolute;
  top: var(--spacing-3);
  right: var(--spacing-3);
  z-index: 10;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: white;
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-full);
  cursor: pointer;
  color: var(--color-gray-400);
  transition: all var(--transition-fast);
}

.pdp-gallery__favorite:hover {
  color: var(--color-accent-red);
  border-color: var(--color-accent-red);
}

.pdp-gallery__image {
  display: block;
  padding: var(--spacing-4);
}

.pdp-gallery__image img {
  max-width: 100%;
  max-height: 400px;
  object-fit: contain;
}

.pdp-gallery__zoom-hint {
  position: absolute;
  bottom: var(--spacing-3);
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  font-size: var(--font-size-xs);
  color: var(--color-gray-400);
  background: rgba(255, 255, 255, 0.9);
  padding: var(--spacing-2) var(--spacing-3);
  border-radius: var(--radius-md);
}

/* PDP Info */
.pdp-info {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-4);
}

.pdp-info__meta {
  display: flex;
  align-items: center;
  gap: var(--spacing-3);
  margin-bottom: var(--spacing-2);
}

.pdp-info__sku {
  font-size: var(--font-size-xs);
  color: var(--color-gray-500);
  text-transform: uppercase;
}

.pdp-info__brand {
  font-size: var(--font-size-xs);
  font-weight: 600;
  color: var(--color-daza);
  text-transform: uppercase;
  text-decoration: none;
}

.pdp-info__brand:hover {
  text-decoration: underline;
}

.pdp-info__title {
  font-size: var(--font-size-2xl);
  font-weight: 700;
  color: var(--color-gray-800);
  line-height: 1.3;
  margin: 0;
}

.pdp-info__actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-4);
  padding: var(--spacing-3) 0;
  border-bottom: 1px solid var(--color-gray-200);
}

.pdp-info__rating {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
}

.pdp-info__stars {
  display: flex;
  gap: 2px;
}

.pdp-info__reviews-link {
  font-size: var(--font-size-sm);
  color: var(--color-daza);
  text-decoration: none;
}

.pdp-info__reviews-link:hover {
  text-decoration: underline;
}

.pdp-info__share-actions {
  display: flex;
  gap: var(--spacing-2);
}

.pdp-info__share-btn {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-gray-100);
  border: none;
  border-radius: var(--radius-full);
  color: var(--color-gray-500);
  cursor: pointer;
  transition: all var(--transition-fast);
}

.pdp-info__share-btn:hover {
  background: var(--color-daza);
  color: white;
}

/* PDP Highlights */
.pdp-highlights {
  background: var(--color-gray-50);
  border-radius: var(--radius-lg);
  padding: var(--spacing-4);
}

.pdp-highlights__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-2);
}

.pdp-highlights__list li {
  font-size: var(--font-size-sm);
  color: var(--color-gray-600);
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
}

.pdp-highlights__list li::before {
  content: "•";
  color: var(--color-daza);
  font-weight: bold;
}

.pdp-highlights__list strong {
  color: var(--color-gray-700);
}

.text-success {
  color: var(--color-green) !important;
}

.text-warning {
  color: var(--color-accent) !important;
}

/* PDP Guarantee */
.pdp-guarantee {
  display: flex;
  gap: var(--spacing-3);
  padding: var(--spacing-4);
  background: linear-gradient(135deg, rgba(10, 82, 48, 0.1) 0%, rgba(10, 82, 48, 0.05) 100%);
  border: 1px solid rgba(10, 82, 48, 0.2);
  border-radius: var(--radius-lg);
}

.pdp-guarantee__icon {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-daza);
  color: white;
  border-radius: var(--radius-full);
}

.pdp-guarantee__content strong {
  display: block;
  font-size: var(--font-size-sm);
  color: var(--color-gray-800);
  margin-bottom: var(--spacing-1);
}

.pdp-guarantee__content p {
  font-size: var(--font-size-xs);
  color: var(--color-gray-600);
  margin: 0;
}

/* PDP Buy Box */
.pdp-buybox {
  background: white;
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-xl);
  overflow: hidden;
  box-shadow: var(--shadow-lg);
  position: sticky;
  top: 100px;
  height: fit-content;
}

.pdp-buybox__urgency {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-2);
  padding: var(--spacing-3);
  background: linear-gradient(90deg, var(--color-accent) 0%, #FF6B35 100%);
  color: white;
  font-size: var(--font-size-xs);
  font-weight: 700;
  text-transform: uppercase;
}

.pdp-buybox__price-section {
  padding: var(--spacing-5);
  border-bottom: 1px solid var(--color-gray-100);
}

.pdp-buybox__old-price {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  margin-bottom: var(--spacing-2);
}

.pdp-buybox__from {
  font-size: var(--font-size-xs);
  color: var(--color-gray-500);
}

.pdp-buybox__price-old {
  font-size: var(--font-size-base);
  color: var(--color-gray-400);
  text-decoration: line-through;
}

.pdp-buybox__discount-badge {
  background: var(--color-green);
  color: white;
  font-size: 10px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: var(--radius-sm);
}

.pdp-buybox__current-price {
  margin-bottom: var(--spacing-2);
}

.pdp-buybox__price-value {
  font-size: 2rem;
  font-weight: 800;
  color: var(--color-daza);
}

.pdp-buybox__payment-info {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-1);
}

.pdp-buybox__pix {
  font-size: var(--font-size-sm);
  font-weight: 600;
  color: var(--color-daza);
}

.pdp-buybox__installments {
  font-size: var(--font-size-sm);
  color: var(--color-gray-500);
}

.pdp-buybox__installment-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-size: var(--font-size-sm);
  color: var(--color-gray-600);
  margin-top: var(--spacing-2);
  padding-top: var(--spacing-3);
  border-top: 1px solid var(--color-gray-200);
}

/* PDP Options */
.pdp-buybox__options {
  padding: 0 var(--spacing-5) var(--spacing-4);
}

.pdp-option {
  margin-bottom: var(--spacing-4);
}

.pdp-option__label {
  display: block;
  font-size: var(--font-size-sm);
  font-weight: 600;
  color: var(--color-gray-700);
  margin-bottom: var(--spacing-2);
}

.pdp-option__select,
.pdp-option__input,
.pdp-option__textarea {
  width: 100%;
  padding: var(--spacing-3);
  border: 2px solid var(--color-gray-200);
  border-radius: var(--radius-md);
  font-size: var(--font-size-sm);
  transition: border-color var(--transition-fast);
}

.pdp-option__select:focus,
.pdp-option__input:focus,
.pdp-option__textarea:focus {
  outline: none;
  border-color: var(--color-daza);
}

.pdp-option__radios,
.pdp-option__checkboxes {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-2);
}

.pdp-option__radio,
.pdp-option__checkbox {
  cursor: pointer;
}

.pdp-option__radio input,
.pdp-option__checkbox input {
  display: none;
}

.pdp-option__radio-label,
.pdp-option__checkbox-label {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  padding: var(--spacing-2) var(--spacing-3);
  border: 2px solid var(--color-gray-200);
  border-radius: var(--radius-md);
  font-size: var(--font-size-sm);
  transition: all var(--transition-fast);
}

.pdp-option__radio input:checked+.pdp-option__radio-label,
.pdp-option__checkbox input:checked+.pdp-option__checkbox-label {
  border-color: var(--color-daza);
  background: rgba(10, 82, 48, 0.05);
}

.pdp-option__upload {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  padding: var(--spacing-3) var(--spacing-4);
  background: var(--color-gray-100);
  border: 2px dashed var(--color-gray-300);
  border-radius: var(--radius-md);
  font-size: var(--font-size-sm);
  color: var(--color-gray-600);
  cursor: pointer;
  transition: all var(--transition-fast);
}

.pdp-option__upload:hover {
  border-color: var(--color-daza);
  color: var(--color-daza);
}

/* PDP CTA */
.pdp-buybox__cta {
  display: flex;
  gap: var(--spacing-3);
  padding: 0 var(--spacing-5) var(--spacing-5);
}

/* dz-qty large variant for PDP */
.dz-qty--large .dz-qty__btn {
  width: 44px;
  height: 48px;
  font-size: var(--font-size-xl);
}

.dz-qty--large .dz-qty__input {
  width: 56px;
  height: 48px;
  font-size: var(--font-size-lg);
  font-weight: 700;
}

.pdp-buybox__add-btn {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-2);
  padding: var(--spacing-4);
  background: #0A5230;
  color: white;
  border: none;
  border-radius: var(--radius-md);
  font-size: var(--font-size-lg);
  font-weight: 700;
  cursor: pointer;
  transition: all var(--transition-fast);
  box-shadow: 0 4px 14px rgba(10, 82, 48, 0.3);
}

.pdp-buybox__add-btn:hover {
  background: #2D6944;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(10, 82, 48, 0.4);
}

.pdp-buybox__minimum {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  padding: var(--spacing-3) var(--spacing-5);
  font-size: var(--font-size-xs);
  color: var(--color-accent);
  background: rgba(249, 115, 22, 0.1);
}

/* Sticky bottom bar: hidden by default (shown via mobile media query) */
.pdp-sticky-bar {
  display: none;
}

/* PDP Shipping */
.pdp-shipping {
  padding: var(--spacing-5);
  border-top: 1px solid var(--color-gray-100);
}

.pdp-shipping__title {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  font-size: var(--font-size-sm);
  font-weight: 600;
  color: var(--color-gray-700);
  margin: 0 0 var(--spacing-3) 0;
}

.pdp-shipping__form {
  display: flex;
  gap: var(--spacing-2);
}

.pdp-shipping__input {
  flex: 1;
  padding: var(--spacing-3);
  border: 2px solid var(--color-gray-200);
  border-radius: var(--radius-md);
  font-size: var(--font-size-sm);
}

.pdp-shipping__input:focus {
  outline: none;
  border-color: var(--color-daza);
}

.pdp-shipping__btn {
  display: flex;
  align-items: center;
  gap: var(--spacing-1);
  padding: var(--spacing-3) var(--spacing-4);
  border: 1px solid var(--color-accent-red);
  color: var(--color-accent-red);
  background: white;
  border-radius: var(--radius-md);
  font-size: var(--font-size-sm);
  font-weight: 600;
  cursor: pointer;
  transition: all var(--transition-fast);
}

.pdp-shipping__btn:hover {
  background: var(--color-accent-red);
  color: white;
}

.pdp-shipping__link {
  display: block;
  margin-top: var(--spacing-2);
  font-size: var(--font-size-xs);
  color: var(--color-daza);
  text-decoration: none;
}

.pdp-shipping__link:hover {
  text-decoration: underline;
}

/* Shipping Results - Estilo LDM */
.pdp-shipping__results {
  margin-top: var(--spacing-4);
  display: flex;
  flex-direction: column;
  gap: var(--spacing-2);
}

.pdp-shipping__option {
  display: flex;
  align-items: center;
  gap: var(--spacing-3);
  padding: var(--spacing-3) var(--spacing-4);
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-md);
  transition: all var(--transition-fast);
}

.pdp-shipping__option:hover {
  border-color: var(--color-daza);
  background: rgba(10, 82, 48, 0.03);
}

.pdp-shipping__option--free {
  border-color: #0A5230;
  background: rgba(10, 82, 48, 0.04);
}

.pdp-shipping__option--express {
  border-color: var(--color-daza);
  background: rgba(10, 82, 48, 0.04);
}

.pdp-shipping__option-icon {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-gray-100);
  border-radius: var(--radius-md);
  flex-shrink: 0;
  color: var(--color-gray-600);
}

.pdp-shipping__option--free .pdp-shipping__option-icon {
  background: rgba(10, 82, 48, 0.1);
  color: #0A5230;
}

.pdp-shipping__option--express .pdp-shipping__option-icon {
  background: rgba(10, 82, 48, 0.1);
  color: var(--color-daza);
}

.pdp-shipping__option-info {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.pdp-shipping__option-info strong {
  font-size: var(--font-size-sm);
  color: var(--color-secondary-dark);
}

.pdp-shipping__option-info span {
  font-size: var(--font-size-xs);
  color: var(--color-gray-500);
}

.pdp-shipping__option-price {
  font-size: var(--font-size-sm);
  font-weight: 700;
  color: var(--color-secondary-dark);
  white-space: nowrap;
}

.pdp-shipping__option-price--free {
  color: #0A5230;
  font-size: var(--font-size-base);
}

/* Image Zoom */
.pdp-zoom {
  position: relative;
  cursor: crosshair;
  overflow: hidden;
}

.pdp-zoom img {
  width: 100%;
  height: auto;
  display: block;
  transition: none;
}

.pdp-zoom__lens {
  display: none;
  position: absolute;
  width: 120px;
  height: 120px;
  border: 2px solid var(--color-daza);
  border-radius: var(--radius-md);
  background: rgba(10, 82, 48, 0.1);
  pointer-events: none;
  z-index: 5;
}

.pdp-zoom__result {
  display: none;
  position: absolute;
  top: 0;
  left: calc(100% + var(--spacing-4));
  width: 400px;
  height: 400px;
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-lg);
  background-color: white;
  background-repeat: no-repeat;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
  z-index: 1000;
  background-color: #fff;
  pointer-events: none;
}

@media (max-width: 1199px) {
  .pdp-zoom__result {
    display: none !important;
  }

  .pdp-zoom__lens {
    display: none !important;
  }
}

/* PDP Tabs */
.pdp-tabs {
  background: white;
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-lg);
  overflow: hidden;
  margin-bottom: var(--spacing-8);
}

.pdp-tabs__nav {
  display: flex;
  border-bottom: 1px solid var(--color-gray-200);
  background: var(--color-gray-50);
}

.pdp-tabs__btn {
  padding: var(--spacing-4) var(--spacing-6);
  background: transparent;
  border: none;
  border-bottom: 3px solid transparent;
  font-size: var(--font-size-sm);
  font-weight: 600;
  color: var(--color-gray-500);
  cursor: pointer;
  transition: all var(--transition-fast);
}

.pdp-tabs__btn:hover {
  color: var(--color-gray-700);
}

.pdp-tabs__btn.active {
  color: var(--color-daza);
  border-bottom-color: var(--color-daza);
  background: white;
}

.pdp-tabs__content {
  padding: var(--spacing-6);
}

.pdp-tabs__panel {
  display: none;
}

.pdp-tabs__panel.active {
  display: block;
}

.pdp-description {
  font-size: var(--font-size-base);
  line-height: 1.7;
  color: var(--color-gray-600);
}

.pdp-description img {
  max-width: 100%;
  height: auto;
  border-radius: var(--radius-md);
}

.pdp-tags {
  margin-top: var(--spacing-6);
  padding-top: var(--spacing-4);
  border-top: 1px solid var(--color-gray-200);
}

.pdp-tag {
  display: inline-block;
  padding: var(--spacing-1) var(--spacing-3);
  margin: var(--spacing-1);
  background: var(--color-gray-100);
  border-radius: var(--radius-full);
  font-size: var(--font-size-xs);
  color: var(--color-daza);
  text-decoration: none;
  transition: all var(--transition-fast);
}

.pdp-tag:hover {
  background: var(--color-daza);
  color: white;
}

/* PDP Specs */
.pdp-specs__group {
  margin-bottom: var(--spacing-6);
}

.pdp-specs__group:last-child {
  margin-bottom: 0;
}

.pdp-specs__group-title {
  font-size: var(--font-size-base);
  font-weight: 700;
  color: var(--color-gray-800);
  margin: 0 0 var(--spacing-3) 0;
  padding-bottom: var(--spacing-2);
  border-bottom: 2px solid var(--color-daza);
}

.pdp-specs__table {
  width: 100%;
  border-collapse: collapse;
}

.pdp-specs__table tr:nth-child(even) {
  background: var(--color-gray-50);
}

.pdp-specs__table td {
  padding: var(--spacing-3);
  font-size: var(--font-size-sm);
  border-bottom: 1px solid var(--color-gray-100);
}

.pdp-specs__label {
  width: 40%;
  font-weight: 600;
  color: var(--color-gray-700);
}

.pdp-specs__value {
  color: var(--color-gray-600);
}

/* PDP Related Products */
.pdp-related {
  margin-bottom: var(--spacing-8);
}

.pdp-related__title {
  font-size: var(--font-size-xl);
  font-weight: 700;
  color: var(--color-gray-800);
  margin: 0 0 var(--spacing-6) 0;
  padding-bottom: var(--spacing-3);
  border-bottom: 2px solid var(--color-gray-200);
}

.pdp-related__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: var(--spacing-4);
}

.pdp-related__item {
  background: white;
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-lg);
  padding: var(--spacing-4);
  transition: all var(--transition-fast);
}

.pdp-related__item:hover {
  border-color: var(--color-daza);
  box-shadow: var(--shadow-lg);
}

.pdp-related__image {
  display: block;
  margin-bottom: var(--spacing-3);
}

.pdp-related__image img {
  width: 100%;
  height: 150px;
  object-fit: contain;
}

.pdp-related__name {
  display: block;
  font-size: var(--font-size-sm);
  font-weight: 500;
  color: var(--color-gray-700);
  text-decoration: none;
  line-height: 1.4;
  margin-bottom: var(--spacing-2);
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
}

.pdp-related__name:hover {
  color: var(--color-daza);
}

.pdp-related__price {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
}

.pdp-related__price-old {
  font-size: var(--font-size-xs);
  color: var(--color-gray-400);
  text-decoration: line-through;
}

.pdp-related__price-new {
  font-size: var(--font-size-base);
  font-weight: 700;
  color: var(--color-daza);
}

/* ========================================
   PDP MOBILE STYLES
   ======================================== */
@media (max-width: 768px) {
  .pdp-container {
    padding: 0;
  }

  .pdp-layout {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-bottom: 0;
  }

  /* Mobile Gallery - Full Width Carousel */
  .pdp-gallery {
    flex-direction: column;
    gap: 0;
    order: 1;
  }

  .pdp-gallery {
    grid-area: 1 / 1 / 2 / 2;
    z-index: 20;
    position: relative;
  }

  .pdp-gallery__main {
    border: none;
    border-radius: 0;
    min-height: 300px;
    max-height: 350px;
  }

  .pdp-gallery__image {
    padding: var(--spacing-2);
  }

  .pdp-gallery__image img {
    max-height: 300px;
  }

  /* ===== MOBILE PDP: LDM-style single-flow ===== */

  /* Gallery: compact, full width */
  .pdp-gallery {
    order: 1;
  }

  .pdp-gallery__thumbs {
    display: none;
  }

  .pdp-gallery__main {
    border-radius: 0;
    min-height: unset;
  }

  .pdp-gallery__main img {
    max-height: 300px;
    object-fit: contain;
  }

  .pdp-gallery__favorite {
    top: var(--spacing-2);
    right: var(--spacing-2);
    width: 36px;
    height: 36px;
  }

  .pdp-gallery__badge {
    top: var(--spacing-2);
    left: var(--spacing-2);
  }

  .pdp-gallery__zoom-hint {
    display: none;
  }

  .pdp-gallery__counter {
    display: flex;
    position: absolute;
    bottom: var(--spacing-2);
    left: var(--spacing-2);
    background: rgba(0, 0, 0, 0.6);
    color: white;
    padding: 2px 10px;
    border-radius: var(--radius-full);
    font-size: 12px;
    font-weight: 600;
  }

  .pdp-gallery__dots {
    display: flex;
    justify-content: center;
    gap: 6px;
    padding: 8px;
    background: white;
  }

  .pdp-gallery__dot {
    width: 8px;
    height: 8px;
    border-radius: var(--radius-full);
    background: var(--color-gray-300);
    border: none;
    cursor: pointer;
    transition: all var(--transition-fast);
  }

  .pdp-gallery__dot.active {
    background: var(--color-daza);
    width: 24px;
  }

  /* Right Column on mobile: full width, flows naturally */
  .pdp-right {
    padding: 0 16px;
  }

  /* Product Header: compact */
  .pdp-product-header {
    padding-bottom: var(--spacing-3);
  }

  .pdp-product-title {
    font-size: var(--font-size-base);
    line-height: 1.3;
    margin-bottom: var(--spacing-1);
  }

  .pdp-product-meta {
    margin-bottom: var(--spacing-1);
  }

  .pdp-product-rating__stars svg {
    width: 16px;
    height: 16px;
  }

  .pdp-product-rating__link {
    font-size: 12px;
  }

  .pdp-product-wishlist {
    width: 36px;
    height: 36px;
  }

  .pdp-product-wishlist svg {
    width: 18px;
    height: 18px;
  }

  /* Options: compact */
  .pdp-options-section {
    padding: var(--spacing-3) 0;
  }

  .pdp-option-row {
    flex-wrap: wrap;
  }

  .pdp-option-pill__label {
    padding: 4px 12px;
    font-size: 13px;
  }

  /* Price: prominent but compact */
  .pdp-price-section {
    padding: var(--spacing-3) 0;
  }

  .pdp-price-main {
    font-size: 1.75rem;
  }

  .pdp-price-installments {
    font-size: 13px;
  }

  /* CTA */
  .pdp-cta {
    padding: var(--spacing-3) 0;
  }

  .pdp-cta__qty-btn {
    width: 38px;
    height: 44px;
  }

  .pdp-cta__qty-input {
    width: 44px;
    height: 44px;
  }

  .pdp-cta__btn {
    padding: var(--spacing-3);
    font-size: var(--font-size-base);
  }

  /* Trust Row */
  .pdp-trust-row {
    gap: var(--spacing-2);
    padding: var(--spacing-3) 0;
    flex-wrap: wrap;
    justify-content: space-around;
  }

  .pdp-trust-item {
    font-size: 11px;
    gap: var(--spacing-1);
  }

  /* Shipping */
  .pdp-shipping-section {
    padding: var(--spacing-4) 0;
  }

  /* Description sections */
  .pdp-sections {
    padding: 0 16px;
  }

  .pdp-section__body--expandable {
    max-height: 160px;
  }

  .pdp-description-content {
    font-size: 15px;
    line-height: 1.65;
  }

  .pdp-description-content p {
    margin-bottom: 0.85rem;
  }

  .pdp-description-content ul li,
  .pdp-description-content ol li {
    font-size: 14px;
    padding-left: 1.5rem;
  }

  .pdp-description-content ul li::before {
    width: 16px;
    height: 16px;
    background-size: 10px;
    top: 2px;
  }

  .pdp-specs-table td {
    padding: var(--spacing-2);
    font-size: var(--font-size-xs);
  }

  .pdp-specs-table__label {
    width: 45%;
  }

  /* Related Products */
  .pdp-related {
    padding: var(--spacing-4) 16px;
    background: var(--color-gray-50);
  }

  .pdp-related__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--spacing-3);
  }

  .pdp-related__item {
    padding: var(--spacing-3);
  }

  .pdp-related__image img {
    height: 100px;
  }

  .pdp-related__name {
    font-size: var(--font-size-xs);
    -webkit-line-clamp: 2;
    line-clamp: 2;
  }

  .pdp-related__price-new {
    font-size: var(--font-size-sm);
  }

  .pdp-related__price-old {
    font-size: 10px;
  }

  /* Hide breadcrumbs */
  .breadcrumbs {
    display: none;
  }

  /* Social float above sticky bar */
  .social-share-float {
    bottom: 70px;
  }

  /* Sticky bottom CTA bar — Thumb Zone optimized */
  .pdp-sticky-bar {
    display: flex;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 9990;
    background: white;
    border-top: 2px solid var(--color-daza);
    box-shadow: 0 -6px 28px rgba(0, 0, 0, 0.15);
    padding: 10px 16px;
    padding-bottom: max(10px, env(safe-area-inset-bottom, 10px));
    align-items: center;
    gap: 12px;
    transform: translateY(100%);
    transition: transform 0.3s cubic-bezier(0.32, 0.72, 0, 1);
  }

  .pdp-sticky-bar.visible {
    transform: translateY(0);
  }

  .pdp-sticky-bar__price {
    flex-shrink: 0;
  }

  .pdp-sticky-bar__price-value {
    font-size: 20px;
    font-weight: 800;
    color: #0A5230;
    line-height: 1.1;
  }

  .pdp-sticky-bar__price-sub {
    font-size: 11px;
    color: var(--color-gray-500);
  }

  .pdp-sticky-bar__btn {
    flex: 1;
    background: linear-gradient(135deg, #0A5230 0%, #2D6944 100%);
    color: white;
    border: none;
    border-radius: 10px;
    padding: 14px 16px;
    font-size: 15px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    cursor: pointer;
    transition: all 0.2s;
    box-shadow: 0 4px 14px rgba(10, 82, 48, 0.35);
    text-transform: uppercase;
    letter-spacing: 0.02em;
  }

  .pdp-sticky-bar__btn:active {
    background: linear-gradient(135deg, #2D6944 0%, #0A5230 100%);
    transform: scale(0.97);
  }
}

/* Extra small devices */
@media (max-width: 480px) {
  .pdp-product-title {
    font-size: 14px;
  }

  .pdp-price-main {
    font-size: 1.5rem;
  }

  .pdp-cta {
    flex-direction: column;
    gap: var(--spacing-2);
  }

  .pdp-cta__qty {
    width: 100%;
    justify-content: center;
  }

  .pdp-cta__btn {
    width: 100%;
  }

  .pdp-related__grid {
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-2);
  }
}

/* ========================================
   NEON CTA BUTTONS
   ======================================== */
.btn-neon {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-2);
  padding: var(--spacing-4) var(--spacing-8);
  font-weight: 700;
  font-size: var(--font-size-base);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: white;
  background: linear-gradient(135deg, var(--color-green) 0%, var(--color-green-dark) 100%);
  border: none;
  border-radius: var(--radius-lg);
  cursor: pointer;
  overflow: hidden;
  transition: all 0.3s ease;
  box-shadow:
    0 0 20px rgba(10, 82, 48, 0.4),
    0 4px 15px rgba(10, 82, 48, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

.btn-neon::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg,
      transparent,
      rgba(255, 255, 255, 0.3),
      transparent);
  transition: left 0.5s ease;
}

.btn-neon:hover {
  transform: translateY(-2px);
  box-shadow:
    0 0 30px rgba(10, 82, 48, 0.6),
    0 6px 20px rgba(10, 82, 48, 0.4),
    inset 0 1px 0 rgba(255, 255, 255, 0.3);
}

.btn-neon:hover::before {
  left: 100%;
}

.btn-neon:active {
  transform: translateY(0);
  box-shadow:
    0 0 15px rgba(10, 82, 48, 0.4),
    0 2px 10px rgba(10, 82, 48, 0.3);
}

/* Neon Orange Variant - for Comprar/Finalizar */
.btn-neon--orange {
  background: linear-gradient(135deg, var(--color-accent) 0%, #ea580c 100%);
  box-shadow:
    0 0 20px rgba(249, 115, 22, 0.4),
    0 4px 15px rgba(249, 115, 22, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

.btn-neon--orange:hover {
  box-shadow:
    0 0 30px rgba(249, 115, 22, 0.6),
    0 6px 20px rgba(249, 115, 22, 0.4),
    inset 0 1px 0 rgba(255, 255, 255, 0.3);
}

/* Neon Purple Variant - for Dazie brand */
.btn-neon--purple {
  background: linear-gradient(135deg, #7c3aed 0%, #5b21b6 100%);
  box-shadow:
    0 0 20px rgba(124, 58, 237, 0.4),
    0 4px 15px rgba(124, 58, 237, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

.btn-neon--purple:hover {
  box-shadow:
    0 0 30px rgba(124, 58, 237, 0.6),
    0 6px 20px rgba(124, 58, 237, 0.4),
    inset 0 1px 0 rgba(255, 255, 255, 0.3);
}

/* ========================================
   SOCIAL SHARE FLOATING PLUGIN
   ======================================== */
.social-share-float {
  position: fixed;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 999;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.social-share-float__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  color: white;
  transition: all 0.3s ease;
  border: none;
  cursor: pointer;
}

.social-share-float__btn:hover {
  width: 54px;
  padding-left: 10px;
}

.social-share-float__btn--whatsapp {
  background: #25D366;
}

.social-share-float__btn--facebook {
  background: #1877F2;
}

.social-share-float__btn--instagram {
  background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888);
}

.social-share-float__btn--share {
  background: var(--color-secondary);
}

/* ========================================
   PAYMENT TRUST BADGES
   ======================================== */
.payment-trust {
  background: linear-gradient(135deg, #f3eef9 0%, #e8ddf5 100%);
  border: 2px solid var(--color-green);
  border-radius: var(--radius-lg);
  padding: var(--spacing-4);
  margin: var(--spacing-4) 0;
}

.payment-trust__title {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  font-weight: 700;
  color: var(--color-green-dark);
  margin-bottom: var(--spacing-3);
}

.payment-trust__methods {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-3);
  align-items: center;
}

.payment-trust__method {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  padding: var(--spacing-2) var(--spacing-3);
  background: white;
  border-radius: var(--radius-md);
  font-size: var(--font-size-sm);
  font-weight: 500;
  color: var(--color-gray-700);
  box-shadow: var(--shadow-sm);
}

.payment-trust__method svg {
  color: var(--color-green);
}

/* ========================================
   FAVORITES BUTTON
   ======================================== */
.btn-favorite {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  background: white;
  border: 2px solid var(--color-gray-200);
  border-radius: var(--radius-full);
  color: var(--color-gray-400);
  cursor: pointer;
  transition: all 0.3s ease;
}

.btn-favorite:hover {
  border-color: #ef4444;
  color: #ef4444;
  transform: scale(1.1);
}

.btn-favorite.active {
  background: #fef2f2;
  border-color: #ef4444;
  color: #ef4444;
}

.btn-favorite.active svg {
  fill: #ef4444;
}

/* ========================================
   PRODUCT RATING ENHANCED
   ======================================== */
.product-rating-large {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  margin-bottom: var(--spacing-3);
}

.product-rating-large__stars {
  display: flex;
  gap: 2px;
}

.product-rating-large__stars svg {
  width: 20px;
  height: 20px;
  color: var(--color-yellow);
}

.product-rating-large__count {
  font-size: var(--font-size-sm);
  color: var(--color-gray-500);
}

.product-rating-large__count strong {
  color: var(--color-gray-700);
}

/* ========================================
   SHARE WITH DISCOUNT
   ======================================== */
.share-discount {
  background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);
  border: 2px solid var(--color-yellow);
  border-radius: var(--radius-lg);
  padding: var(--spacing-4);
  margin: var(--spacing-4) 0;
}

.share-discount__title {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  font-weight: 700;
  color: var(--color-gray-800);
  margin-bottom: var(--spacing-2);
}

.share-discount__text {
  font-size: var(--font-size-sm);
  color: var(--color-gray-600);
  margin-bottom: var(--spacing-3);
}

.share-discount__buttons {
  display: flex;
  gap: var(--spacing-2);
}

.share-discount__btn {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  padding: var(--spacing-2) var(--spacing-4);
  border-radius: var(--radius-md);
  font-size: var(--font-size-sm);
  font-weight: 600;
  color: white;
  border: none;
  cursor: pointer;
  transition: all 0.3s ease;
}

.share-discount__btn--whatsapp {
  background: #25D366;
}

.share-discount__btn--whatsapp:hover {
  background: #128C7E;
}

.share-discount__btn--copy {
  background: var(--color-secondary);
}

.share-discount__btn--copy:hover {
  background: var(--color-secondary-dark);
}

/* ========================================
   BLOG LINK DISCRETE
   ======================================== */
.blog-link-discrete {
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-2);
  font-size: var(--font-size-sm);
  color: var(--color-gray-500);
  transition: color 0.3s ease;
}

.blog-link-discrete:hover {
  color: var(--color-daza);
}

/* ========================================
   COUPON AUTO-APPLY TOAST
   ======================================== */
.coupon-toast {
  position: fixed;
  bottom: var(--spacing-6);
  right: var(--spacing-6);
  background: linear-gradient(135deg, var(--color-green) 0%, var(--color-green-dark) 100%);
  color: white;
  padding: var(--spacing-4) var(--spacing-6);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-xl);
  z-index: 9999;
  display: flex;
  align-items: center;
  gap: var(--spacing-3);
  animation: slideInRight 0.5s ease;
}

@keyframes slideInRight {
  from {
    transform: translateX(100%);
    opacity: 0;
  }

  to {
    transform: translateX(0);
    opacity: 1;
  }
}

.coupon-toast__icon {
  font-size: 1.5rem;
}

.coupon-toast__content {
  display: flex;
  flex-direction: column;
}

.coupon-toast__title {
  font-weight: 700;
  font-size: var(--font-size-base);
}

.coupon-toast__code {
  font-size: var(--font-size-sm);
  opacity: 0.9;
}

.coupon-toast__close {
  background: none;
  border: none;
  color: white;
  cursor: pointer;
  padding: var(--spacing-1);
  opacity: 0.7;
  transition: opacity 0.3s ease;
}

.coupon-toast__close:hover {
  opacity: 1;
}

/* ========================================
   HERO SLIDER - Full Width
   ======================================== */
.hero-slider {
  position: relative;
  overflow: hidden;
  margin-bottom: 0;
}

.hero-slider__wrapper {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.hero-slider__track {
  width: 100%;
}

.hero-slider__slide {
  min-width: 100%;
  display: none;
}

.hero-slider__slide.active {
  display: block;
}

/* Slide Content Layout */
.slide-content {
  min-height: 340px;
  background: linear-gradient(135deg, #0A2018 0%, #123024 30%, #0A5230 60%, #0A2018 100%);
  position: relative;
  overflow: hidden;
}

.slide-content--alt {
  background: linear-gradient(135deg, #0A2018 0%, #165477 30%, #0A5230 60%, #123024 100%);
}

.slide-content--dark {
  background: linear-gradient(135deg, #0A2018 0%, #123024 30%, #0A5230 70%, #0A2018 100%);
}

/* Inner container to center content */
.slide-content__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: var(--spacing-6) var(--spacing-10);
  display: flex;
  align-items: center;
  gap: var(--spacing-4);
  position: relative;
  z-index: 2;
  min-height: 340px;
}

/* Gradient fade on left edge */
.slide-content::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 120px;
  background: linear-gradient(to right, rgba(10, 10, 26, 0.7) 0%, transparent 100%);
  z-index: 3;
  pointer-events: none;
}

/* Gradient fade on right edge */
.slide-content::after {
  content: '';
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 120px;
  background: linear-gradient(to left, rgba(10, 10, 26, 0.7) 0%, transparent 100%);
  z-index: 3;
  pointer-events: none;
}

/* Image Only Mode */
.slide-content--image-only {
  background: none;
  min-height: auto;
  aspect-ratio: 64/13;
}

.slide-content--image-only::before,
.slide-content--image-only::after {
  display: none;
}

.slide-content__image-only-wrapper {
  width: 100%;
  height: 100%;
}

.slide-content__image-link {
  display: block;
  width: 100%;
  height: 100%;
}

.slide-content__image-full {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

@media (max-width: 767px) {
  .slide-content--image-only {
    aspect-ratio: 16/9;
    min-height: auto;
  }
}

/* Decorative circles */
.slide-content .slide-content__inner::before {
  content: '';
  position: absolute;
  left: -40px;
  top: -40px;
  width: 260px;
  height: 260px;
  border: 3px solid rgba(255, 255, 255, 0.06);
  border-radius: 50%;
  z-index: 0;
  pointer-events: none;
}

.slide-content .slide-content__inner::after {
  content: '';
  position: absolute;
  right: 15%;
  bottom: -60px;
  width: 200px;
  height: 200px;
  border: 3px solid rgba(255, 255, 255, 0.04);
  border-radius: 50%;
  z-index: 0;
  pointer-events: none;
}

/* Circle Icon */
.slide-content__circle {
  position: absolute;
  left: var(--spacing-6);
  top: var(--spacing-6);
  width: 64px;
  height: 64px;
  background: linear-gradient(135deg, var(--color-daza) 0%, #52894D 100%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 20px rgba(10, 82, 48, 0.5);
  z-index: 2;
}

.slide-content__circle--alt {
  background: linear-gradient(135deg, #2563EB 0%, #3b82f6 100%);
  box-shadow: 0 4px 20px rgba(37, 99, 235, 0.5);
}

.slide-content__circle--gold {
  background: linear-gradient(135deg, #F59E0B 0%, #FBBF24 100%);
  box-shadow: 0 4px 20px rgba(245, 158, 11, 0.5);
}

/* Left - Title */
.slide-content__left {
  flex: 0 0 200px;
  z-index: 2;
  padding-left: var(--spacing-2);
}

.slide-content__title {
  font-size: 2.8rem;
  font-weight: 900;
  color: white;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: -0.02em;
}

.slide-content__title span {
  color: var(--color-daza-light);
  display: block;
  font-size: 3.2rem;
  text-shadow: 0 2px 20px rgba(139, 109, 181, 0.5);
}

.slide-content__title--gold span {
  color: #FBBF24;
  text-shadow: 0 2px 20px rgba(251, 191, 36, 0.5);
}

/* Center - Highlight */
.slide-content__center {
  flex: 1;
  z-index: 2;
  text-align: center;
}

.slide-content__desc {
  font-size: 0.8rem;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.9);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: var(--spacing-3);
  line-height: 1.5;
}

.slide-content__highlight {
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-2);
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: var(--radius-lg);
  padding: var(--spacing-3) var(--spacing-5);
}

.slide-content__em {
  font-size: 0.75rem;
  font-weight: 800;
  color: white;
  text-transform: uppercase;
  line-height: 1.2;
}

.slide-content__big {
  font-size: 3.5rem;
  font-weight: 900;
  color: white;
  line-height: 1;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}

.slide-content__sub {
  font-size: 0.7rem;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.7);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-top: var(--spacing-2);
}

/* Right - Image + CTA */
.slide-content__right {
  flex: 0 0 280px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--spacing-3);
  z-index: 2;
}

.slide-content__right img {
  max-width: 100%;
  max-height: 200px;
  object-fit: contain;
  filter: drop-shadow(0 8px 24px rgba(0, 0, 0, 0.4));
}

.slide-content__cta {
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-2);
  background: white;
  color: var(--color-secondary-dark);
  font-weight: 800;
  font-size: 0.85rem;
  padding: var(--spacing-2) var(--spacing-5);
  border-radius: var(--radius-md);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.slide-content__cta:hover {
  background: var(--color-daza);
  color: white;
  transform: translateX(4px);
  box-shadow: 0 4px 20px rgba(10, 82, 48, 0.5);
}

.slide-content__cta--gold:hover {
  background: #F59E0B;
}

/* Arrows - Overlay inside slider */
.hero-slider__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  background: rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(4px);
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: white;
  z-index: 10;
  transition: all 0.3s ease;
}

.hero-slider__arrow--prev {
  left: var(--spacing-4);
}

.hero-slider__arrow--next {
  right: var(--spacing-4);
}

.hero-slider__arrow:hover {
  background: rgba(255, 255, 255, 0.3);
  border-color: rgba(255, 255, 255, 0.6);
  transform: translateY(-50%) scale(1.1);
}

/* Dots */
.hero-slider__dots {
  position: absolute;
  bottom: var(--spacing-4);
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
  z-index: 10;
}

.hero-slider__dot {
  width: 10px;
  height: 10px;
  border-radius: var(--radius-full);
  background: rgba(255, 255, 255, 0.4);
  border: none;
  cursor: pointer;
  transition: all 0.3s ease;
}

.hero-slider__dot:hover {
  background: rgba(255, 255, 255, 0.7);
}

.hero-slider__dot.active {
  background: white;
  width: 28px;
  border-radius: 5px;
}

/* ---- Slider Responsive ---- */
@media (max-width: 767px) {
  .hero-slider__arrow {
    display: none;
  }

  .slide-content {
    min-height: 320px;
  }

  .slide-content__inner {
    flex-direction: column;
    min-height: 320px;
    padding: var(--spacing-12) var(--spacing-4) var(--spacing-6);
    text-align: center;
  }

  .slide-content::before,
  .slide-content::after {
    width: 40px;
  }

  .slide-content__circle {
    left: 50%;
    transform: translateX(-50%);
    top: var(--spacing-3);
    width: 48px;
    height: 48px;
  }

  .slide-content__circle svg {
    width: 22px;
    height: 22px;
  }

  .slide-content__left {
    flex: none;
    padding-left: 0;
  }

  .slide-content__title {
    font-size: 1.8rem;
  }

  .slide-content__title span {
    font-size: 2rem;
  }

  .slide-content__big {
    font-size: 2.5rem;
  }

  .slide-content__right {
    flex: none;
  }

  .slide-content__right img {
    max-height: 120px;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .slide-content {
    min-height: 280px;
  }

  .slide-content__inner {
    min-height: 280px;
    padding: var(--spacing-6);
  }

  .slide-content__left {
    flex: 0 0 160px;
  }

  .slide-content__title {
    font-size: 2rem;
  }

  .slide-content__title span {
    font-size: 2.3rem;
  }

  .slide-content__right {
    flex: 0 0 200px;
  }

  .slide-content__right img {
    max-height: 160px;
  }
}

@media (min-width: 1024px) {
  .slide-content {
    min-height: 380px;
  }

  .slide-content__inner {
    min-height: 380px;
  }
}

/* ========================================
   DEALS SECTION - Box Format
   ======================================== */
.deals-section {
  background: var(--color-gray-50);
  padding: var(--spacing-8) 0;
}

.deals-section__header {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-4);
  margin-bottom: var(--spacing-6);
}

@media (min-width: 768px) {
  .deals-section__header {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
}

.deals-section__title {
  font-size: var(--font-size-xl);
  font-weight: 800;
  color: var(--color-secondary-dark);
  text-transform: uppercase;
  padding: var(--spacing-2) var(--spacing-4);
  background: var(--color-daza);
  color: white;
  border-radius: var(--radius-md);
  display: inline-block;
}

.deals-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--spacing-4);
}

@media (min-width: 768px) {
  .deals-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (min-width: 1024px) {
  .deals-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

.deal-box {
  background: white;
  border: 1px solid var(--color-gray-200);
  border-radius: 12px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: all 0.3s ease;
}

.deal-box:hover {
  border-color: var(--color-gray-300);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
}

.deal-box__image {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--spacing-4);
  background: white;
  min-height: 180px;
  position: relative;
  overflow: hidden;
}

.deal-box__badge {
  position: absolute;
  top: var(--spacing-2);
  left: var(--spacing-2);
  background: var(--color-accent-red);
  color: white;
  font-size: 10px;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 4px;
  z-index: 2;
  text-transform: uppercase;
}

.deal-box__image img {
  max-width: 100%;
  max-height: 160px;
  object-fit: contain;
  mix-blend-mode: multiply;
  transition: transform 0.3s ease;
}

.deal-box:hover .deal-box__image img {
  transform: scale(1.08);
}

/* Hover cart overlay on image */
.deal-box__hover-cart {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-2);
  padding: var(--spacing-3);
  background: rgba(10, 82, 48, 0.92);
  color: white;
  font-size: var(--font-size-xs);
  font-weight: 700;
  text-transform: uppercase;
  transform: translateY(100%);
  transition: transform 0.25s ease;
  cursor: pointer;
  z-index: 3;
}

.deal-box:hover .deal-box__hover-cart {
  transform: translateY(0);
}

.deal-box__content {
  padding: var(--spacing-3);
  display: flex;
  flex-direction: column;
  flex: 1;
}

.deal-box__name {
  font-size: var(--font-size-sm);
  font-weight: 500;
  color: var(--color-gray-700);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.4;
  min-height: 38px;
  margin-bottom: var(--spacing-2);
  transition: color 0.3s ease;
}

.deal-box__name:hover {
  color: var(--color-daza);
}

.deal-box__prices {
  margin-top: auto;
}

.deal-box__old-price {
  font-size: var(--font-size-xs);
  color: var(--color-gray-400);
  text-decoration: line-through;
  display: block;
  margin-bottom: 2px;
}

.deal-box__price {
  font-size: var(--font-size-xl);
  font-weight: 800;
  color: var(--color-secondary-dark);
  display: block;
  line-height: 1.2;
}

.deal-box__pix {
  font-size: 10px;
  font-weight: 600;
  color: #0A5230;
  display: block;
  margin-top: 2px;
}

.deal-box__installment {
  font-size: 10px;
  color: var(--color-gray-500);
  display: block;
  margin-top: 2px;
}

/* ========================================
   CART PAGE - Estilo LDM
   ======================================== */
.dz-cart {
  background: var(--color-gray-50);
  padding: var(--spacing-6) 0 var(--spacing-12);
  min-height: 60vh;
}

.dz-cart__layout {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: var(--spacing-6);
  align-items: start;
}

@media (max-width: 991px) {
  .dz-cart__layout {
    grid-template-columns: 1fr;
  }
}

.dz-cart__title {
  font-size: var(--font-size-xl);
  font-weight: 700;
  color: var(--color-secondary-dark);
  margin-bottom: var(--spacing-5);
}

/* Product Card */
.dz-cart__product {
  display: grid;
  grid-template-columns: 80px 1fr auto auto;
  gap: var(--spacing-4);
  align-items: start;
  padding: var(--spacing-5);
  background: white;
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-lg);
  margin-bottom: var(--spacing-3);
}

@media (max-width: 767px) {
  .dz-cart__product {
    grid-template-columns: 64px 1fr;
    gap: var(--spacing-3);
  }

  .dz-cart__product-qty {
    grid-column: 1 / -1;
  }

  .dz-cart__product-price {
    grid-column: 1 / -1;
    text-align: left;
  }
}

.dz-cart__product-img {
  width: 80px;
  height: 80px;
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--color-gray-50);
}

.dz-cart__product-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.dz-cart__product-name {
  font-size: var(--font-size-base);
  font-weight: 600;
  color: var(--color-secondary-dark);
  display: block;
  margin-bottom: var(--spacing-1);
  transition: color var(--transition-fast);
}

.dz-cart__product-name:hover {
  color: var(--color-daza);
}

.dz-cart__product-meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-2);
}

.dz-cart__product-meta span {
  font-size: var(--font-size-xs);
  color: var(--color-gray-500);
}

.dz-cart__stock-warn {
  font-size: var(--font-size-xs);
  color: var(--color-accent-red);
  font-weight: 600;
}

/* Quantity Selector */
.dz-qty {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--color-gray-300);
  border-radius: var(--radius-md);
  overflow: hidden;
}

.dz-qty__btn {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-gray-50);
  border: none;
  cursor: pointer;
  font-size: var(--font-size-lg);
  color: var(--color-gray-600);
  transition: all var(--transition-fast);
}

.dz-qty__btn:hover {
  background: var(--color-gray-200);
  color: var(--color-secondary-dark);
}

.dz-qty__input {
  width: 40px;
  height: 32px;
  text-align: center;
  border: none;
  border-left: 1px solid var(--color-gray-300);
  border-right: 1px solid var(--color-gray-300);
  font-size: var(--font-size-sm);
  font-weight: 600;
  outline: none;
}

.dz-cart__remove {
  display: flex;
  align-items: center;
  gap: var(--spacing-1);
  font-size: var(--font-size-xs);
  color: var(--color-accent-red);
  margin-top: var(--spacing-2);
  cursor: pointer;
  transition: opacity var(--transition-fast);
}

.dz-cart__remove:hover {
  opacity: 0.7;
  color: var(--color-accent-red);
}

/* Price */
.dz-cart__product-price {
  text-align: right;
  min-width: 120px;
}

.dz-cart__price-main {
  font-size: var(--font-size-lg);
  font-weight: 700;
  color: var(--color-secondary-dark);
  display: block;
}

.dz-cart__price-installment {
  font-size: var(--font-size-xs);
  color: var(--color-gray-500);
}

/* Continue shopping */
.dz-cart__actions {
  margin-top: var(--spacing-4);
}

.dz-cart__continue-btn {
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-2);
  padding: var(--spacing-3) var(--spacing-6);
  border: 2px solid var(--color-daza);
  color: var(--color-daza);
  border-radius: var(--radius-full);
  font-weight: 600;
  font-size: var(--font-size-sm);
  transition: all var(--transition-fast);
}

.dz-cart__continue-btn:hover {
  background: var(--color-daza);
  color: white;
}

/* Order Summary */
.dz-cart__summary {
  background: white;
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-lg);
  padding: var(--spacing-6);
  position: sticky;
  top: 80px;
}

.dz-cart__summary-title {
  font-size: var(--font-size-lg);
  font-weight: 700;
  color: var(--color-secondary-dark);
  margin-bottom: var(--spacing-5);
  padding-bottom: var(--spacing-3);
  border-bottom: 1px solid var(--color-gray-200);
}

.dz-cart__summary-rows {
  margin-bottom: var(--spacing-5);
}

.dz-cart__summary-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--spacing-2) 0;
  font-size: var(--font-size-sm);
  color: var(--color-gray-700);
}

.dz-cart__summary-row--total {
  border-top: 2px solid var(--color-gray-200);
  margin-top: var(--spacing-3);
  padding-top: var(--spacing-3);
  font-size: var(--font-size-xl);
  font-weight: 800;
  color: var(--color-secondary-dark);
}

/* Checkout Button */
.dz-cart__checkout-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: var(--spacing-4);
  background: #0A5230;
  color: white;
  font-size: var(--font-size-lg);
  font-weight: 700;
  border-radius: var(--radius-lg);
  transition: background var(--transition-fast);
  margin-bottom: var(--spacing-5);
}

.dz-cart__checkout-btn:hover {
  background: #2D6944;
  color: white;
}

/* Shipping Calculator */
.dz-cart__shipping {
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.dz-cart__shipping-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--spacing-4);
  cursor: pointer;
  font-weight: 600;
  font-size: var(--font-size-sm);
  color: var(--color-secondary-dark);
  transition: background var(--transition-fast);
}

.dz-cart__shipping-header:hover {
  background: var(--color-gray-50);
}

.dz-cart__shipping-header svg {
  transition: transform var(--transition-fast);
}

.dz-cart__shipping.is-open .dz-cart__shipping-header svg {
  transform: rotate(180deg);
}

.dz-cart__shipping-body {
  padding: 0 var(--spacing-4) var(--spacing-4);
  display: none;
}

.dz-cart__shipping.is-open .dz-cart__shipping-body {
  display: block;
}

.dz-cart__cep-form {
  display: flex;
  gap: var(--spacing-2);
}

.dz-cart__cep-input {
  flex: 1;
  padding: var(--spacing-3);
  border: 1px solid var(--color-gray-300);
  border-radius: var(--radius-md);
  font-size: var(--font-size-sm);
  outline: none;
}

.dz-cart__cep-input:focus {
  border-color: var(--color-daza);
}

.dz-cart__cep-btn {
  display: flex;
  align-items: center;
  gap: var(--spacing-1);
  padding: var(--spacing-3) var(--spacing-4);
  border: 1px solid var(--color-accent-red);
  color: var(--color-accent-red);
  background: white;
  border-radius: var(--radius-md);
  font-size: var(--font-size-sm);
  font-weight: 600;
  cursor: pointer;
  transition: all var(--transition-fast);
}

.dz-cart__cep-btn:hover {
  background: var(--color-accent-red);
  color: white;
}

.dz-cart__cep-example {
  color: var(--color-gray-400);
  font-size: var(--font-size-xs);
  margin-top: var(--spacing-1);
  display: block;
}

/* Empty Cart */
.dz-cart__empty {
  text-align: center;
  padding: var(--spacing-12) 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--spacing-4);
  color: var(--color-gray-400);
}

.dz-cart__empty h1 {
  font-size: var(--font-size-2xl);
  color: var(--color-secondary-dark);
}

.dz-cart__empty p {
  color: var(--color-gray-500);
}

/* ========================================
   LOGIN/REGISTER PAGE - Estilo Moderno
   ======================================== */
.dz-auth {
  background: var(--color-gray-50);
  min-height: 70vh;
  padding: var(--spacing-8) 0 var(--spacing-12);
}

.dz-auth__card {
  max-width: 520px;
  margin: 0 auto;
  background: white;
  border-radius: var(--radius-xl);
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
  padding: var(--spacing-8);
}

.dz-auth__logo {
  text-align: center;
  margin-bottom: var(--spacing-6);
}

.dz-auth__logo img {
  max-height: 48px;
}

.dz-auth__title {
  font-size: var(--font-size-2xl);
  font-weight: 700;
  color: var(--color-secondary-dark);
  text-align: center;
  margin-bottom: var(--spacing-2);
}

.dz-auth__subtitle {
  font-size: var(--font-size-sm);
  color: var(--color-gray-500);
  text-align: center;
  margin-bottom: var(--spacing-6);
}

/* Google Button */
.dz-auth__google-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-3);
  width: 100%;
  padding: var(--spacing-3) var(--spacing-4);
  border: 2px solid var(--color-gray-200);
  border-radius: var(--radius-lg);
  background: white;
  color: var(--color-gray-700);
  font-size: var(--font-size-base);
  font-weight: 600;
  cursor: pointer;
  transition: all var(--transition-fast);
  margin-bottom: var(--spacing-5);
}

.dz-auth__google-btn:hover {
  border-color: var(--color-gray-400);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.dz-auth__google-btn svg {
  flex-shrink: 0;
}

.dz-auth__divider {
  display: flex;
  align-items: center;
  gap: var(--spacing-4);
  margin-bottom: var(--spacing-5);
  color: var(--color-gray-400);
  font-size: var(--font-size-sm);
}

.dz-auth__divider::before,
.dz-auth__divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background: var(--color-gray-200);
}

/* Form Fields */
.dz-auth__field {
  margin-bottom: var(--spacing-4);
}

.dz-auth__label {
  display: block;
  font-size: var(--font-size-sm);
  font-weight: 600;
  color: var(--color-gray-700);
  margin-bottom: var(--spacing-1);
}

.dz-auth__input {
  width: 100%;
  padding: var(--spacing-3) var(--spacing-4);
  border: 2px solid var(--color-gray-200);
  border-radius: var(--radius-md);
  font-size: var(--font-size-base);
  outline: none;
  transition: border-color var(--transition-fast);
}

.dz-auth__input:focus {
  border-color: var(--color-daza);
}

.dz-auth__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--spacing-3);
}

@media (max-width: 480px) {
  .dz-auth__row {
    grid-template-columns: 1fr;
  }
}

.dz-auth__submit {
  width: 100%;
  padding: var(--spacing-4);
  background: var(--color-daza);
  color: white;
  font-size: var(--font-size-lg);
  font-weight: 700;
  border: none;
  border-radius: var(--radius-lg);
  cursor: pointer;
  transition: background var(--transition-fast);
  margin-top: var(--spacing-4);
}

.dz-auth__submit:hover {
  background: var(--color-daza-dark);
}

.dz-auth__footer {
  text-align: center;
  margin-top: var(--spacing-5);
  font-size: var(--font-size-sm);
  color: var(--color-gray-500);
}

.dz-auth__footer a {
  color: var(--color-daza);
  font-weight: 600;
}

.dz-auth__footer a:hover {
  color: var(--color-daza-dark);
}

/* ========================================
   PRODUCT CARD REDESIGN - MODERN UI/UX
   ======================================== */

.product-card {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  background: white;
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.product-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  border-color: transparent;
  z-index: 10;
}

/* Image */
.product-card__image {
  position: relative;
  display: block;
  width: 100%;
  padding-top: 100%;
  /* 1:1 Aspect Ratio */
  background: white;
  overflow: hidden;
  border-bottom: 1px solid var(--color-gray-100);
}

.product-card__image img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.9);
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  transition: transform 0.5s ease;
}

.product-card:hover .product-card__image img {
  transform: translate(-50%, -50%) scale(1.05);
}

/* Badges */
.product-card__badge {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 20;
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.product-card__badge .badge {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  padding: 4px 8px;
  border-radius: 4px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);
}

/* Content */
.product-card__content {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 15px;
}

/* Rating */
.product-card__rating {
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 11px;
}

.product-card__stars {
  color: #ffc107;
  display: flex;
  gap: 1px;
}

.product-card__rating-value {
  color: var(--color-gray-500);
}

/* Title */
.product-card__title {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: var(--color-gray-800);
  margin-bottom: 10px;
  text-decoration: none;
  line-height: 1.4;
  height: 40px;
  /* Force 2 lines */
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.product-card__title:hover {
  color: var(--color-daza);
}

/* Prices */
.product-card__prices {
  margin-top: auto;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.product-card__price-row {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.product-card__price {
  font-size: 20px;
  font-weight: 800;
  color: var(--color-gray-900);
  line-height: 1.2;
}

.product-card__old-price {
  font-size: 13px;
  color: var(--color-gray-500);
  text-decoration: line-through;
}

.product-card__pix {
  font-size: 12px;
  color: #0A5230;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 4px;
}

.product-card__pix::before {
  content: '\f058';
  /* fa-check-circle */
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
}

.product-card__installments {
  font-size: 11px;
  color: var(--color-gray-600);
}

/* Actions & Form */
.product-card__form {
  margin-top: 15px;
}

.product-card__actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* Quantity Control - Styled */
.quantity-control {
  display: flex;
  align-items: center;
  border: 1px solid var(--color-gray-300);
  border-radius: 6px;
  overflow: hidden;
  height: 38px;
  flex-shrink: 0;
  background: white;
}

.quantity-control .btn-qty {
  width: 28px;
  height: 100%;
  border: none;
  background: white;
  color: var(--color-gray-600);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  transition: background 0.2s, color 0.2s;
}

.quantity-control .btn-qty:hover {
  background: var(--color-gray-100);
  color: var(--color-daza);
}

.quantity-control .qty-input {
  width: 32px;
  height: 100%;
  border: none;
  text-align: center;
  font-size: 14px;
  font-weight: 600;
  color: var(--color-gray-800);
  padding: 0;
  background: white;
  -moz-appearance: textfield;
}

.quantity-control .qty-input::-webkit-outer-spin-button,
.quantity-control .qty-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Add to Cart Button */
.product-card__button {
  flex: 1;
  height: 38px;
  border: none;
  border-radius: 6px;
  background: #0A5230;
  color: white;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  transition: all 0.2s ease;
  padding: 0 10px;
  white-space: nowrap;
}

.product-card__button:hover {
  background: #2D6944;
  color: white;
  transform: translateY(-1px);
  box-shadow: 0 4px 10px rgba(10, 82, 48, 0.3);
}

.product-card__button i {
  font-size: 14px;
}

@media (max-width: 1200px) {
  .product-card__button {
    font-size: 0;
    /* Hide text on smaller screens if too crowded, or just keep it */
  }

  .product-card__button i {
    font-size: 16px;
    margin: 0;
  }

  .product-card__button::after {
    content: 'Comprar';
    font-size: 12px;
    margin-left: 5px;
  }
}

@media (min-width: 1201px) {

  /* Restore text */
  .product-card__button {
    font-size: 12px;
  }
}

@media (max-width: 575px) {
  .product-card__title {
    font-size: 13px;
    height: 36px;
  }

  .product-card__price {
    font-size: 18px;
  }

  .product-card__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .quantity-control {
    width: 100%;
    justify-content: space-between;
  }

  .quantity-control .qty-input {
    width: 100%;
  }

  .product-card__button {
    margin-top: 5px;
    font-size: 12px;
    /* Restore text for mobile stack */
  }

  .product-card__button i {
    font-size: 14px;
  }

  .product-card__button::after {
    content: none;
  }
}

/* Home Page Buy Button */
.btn-buy-visible {
  width: 100%;
  padding: 10px 16px;
  background: #0A5230;
  color: white;
  border: none;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 10px;
  transition: all 0.2s ease;
}

.btn-buy-visible:hover {
  background: #2D6944;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(10, 82, 48, 0.3);
  color: white;
}

/* ========================================
   PRODUCT DETAIL PAGE (PDP)
   ======================================== */
.pdp-container {
  padding-top: var(--spacing-6);
  padding-bottom: var(--spacing-12);
}

/* Breadcrumbs refinement */
.breadcrumbs {
  background: var(--color-gray-50);
  padding: var(--spacing-3) 0;
  margin-bottom: var(--spacing-4);
  font-size: var(--font-size-sm);
  color: var(--color-gray-500);
}

.breadcrumbs__list {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  flex-wrap: wrap;
}

.breadcrumbs__list a {
  color: var(--color-gray-600);
  transition: color var(--transition-fast);
}

.breadcrumbs__list a:hover {
  color: var(--color-daza);
}

.breadcrumbs__current {
  color: var(--color-gray-800);
  font-weight: 500;
}

/* PDP Layout Grid */
.pdp-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--spacing-8);
}

@media (min-width: 992px) {
  .pdp-layout {
    grid-template-columns: 6fr 5fr;
    gap: var(--spacing-12);
  }
}

/* Gallery Area */
.pdp-gallery {
  display: flex;
  gap: var(--spacing-4);
  position: relative;
}

@media (max-width: 991px) {
  .pdp-gallery {
    flex-direction: column-reverse;
  }
}

.pdp-gallery__thumbs {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-2);
  width: 80px;
  flex-shrink: 0;
}

@media (max-width: 991px) {
  .pdp-gallery__thumbs {
    display: none;
  }
}

.pdp-gallery__thumb {
  width: 80px;
  height: 80px;
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-md);
  padding: 4px;
  background: white;
  cursor: pointer;
  transition: border-color var(--transition-fast);
}

.pdp-gallery__thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.pdp-gallery__thumb:hover,
.pdp-gallery__thumb.active {
  border-color: var(--color-daza);
}

.pdp-gallery__main {
  flex: 1;
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-lg);
  background: white;
  padding: var(--spacing-8);
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

@media (max-width: 991px) {
  .pdp-gallery__main {
    padding: var(--spacing-4);
    min-height: 350px;
  }
}

#pdp-zoom-container {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

#pdp-zoom-container img {
  max-height: 500px;
  width: auto;
  object-fit: contain;
}

.pdp-gallery__badge {
  position: absolute;
  top: var(--spacing-4);
  left: var(--spacing-4);
  z-index: 10;
  background: var(--color-green);
  color: white;
  padding: 4px 12px;
  border-radius: var(--radius-sm);
  font-weight: 700;
  font-size: var(--font-size-xs);
  box-shadow: var(--shadow-sm);
}

.pdp-gallery__favorite {
  position: absolute;
  top: var(--spacing-4);
  right: var(--spacing-4);
  z-index: 10;
  width: 40px;
  height: 40px;
  background: white;
  border-radius: 50%;
  border: 1px solid var(--color-gray-200);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-gray-400);
  transition: all var(--transition-fast);
  box-shadow: var(--shadow-sm);
}

.pdp-gallery__favorite:hover {
  color: var(--color-accent-red);
  border-color: var(--color-accent-red);
}

.pdp-gallery__zoom-hint {
  position: absolute;
  bottom: var(--spacing-4);
  left: 50%;
  transform: translateX(-50%);
  background: rgba(255, 255, 255, 0.9);
  padding: var(--spacing-2) var(--spacing-4);
  border-radius: var(--radius-full);
  font-size: var(--font-size-xs);
  color: var(--color-gray-600);
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  box-shadow: var(--shadow-sm);
  pointer-events: none;
  border: 1px solid var(--color-gray-200);
}

@media (max-width: 991px) {
  .pdp-gallery__zoom-hint {
    display: none;
  }
}

/* Dots for mobile */
.pdp-gallery__dots {
  display: none;
  justify-content: center;
  gap: 8px;
  margin-top: var(--spacing-4);
}

@media (max-width: 991px) {
  .pdp-gallery__dots {
    display: flex;
  }
}

.pdp-gallery__dot {
  width: 30px;
  height: 4px;
  background: var(--color-gray-300);
  border-radius: 2px;
  padding: 0;
}

.pdp-gallery__dot.active {
  background: var(--color-daza);
}

.pdp-gallery__counter {
  display: none;
}

/* Product Info */
.pdp-product-header {
  margin-bottom: var(--spacing-4);
}

.pdp-product-title {
  font-size: var(--font-size-2xl);
  font-weight: 700;
  color: var(--color-gray-900);
  line-height: 1.2;
  margin-bottom: var(--spacing-2);
}

.pdp-product-meta {
  display: flex;
  align-items: center;
  gap: var(--spacing-4);
  font-size: var(--font-size-sm);
  color: var(--color-gray-500);
  margin-bottom: var(--spacing-3);
}

.pdp-product-brand {
  color: var(--color-daza);
  font-weight: 500;
  text-decoration: underline;
}

.pdp-product-rating {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
}

.pdp-product-rating__stars {
  display: flex;
  gap: 2px;
}

.pdp-product-rating__link {
  font-size: var(--font-size-sm);
  color: var(--color-gray-600);
  transition: color var(--transition-fast);
}

.pdp-product-rating__link span {
  color: var(--color-daza);
  font-weight: 500;
}

.pdp-product-rating__link:hover span {
  text-decoration: underline;
}

.pdp-product-wishlist {
  display: none;
}

/* Price Section */
.pdp-price-section {
  background: var(--color-gray-50);
  padding: var(--spacing-4);
  border-radius: var(--radius-lg);
  margin-bottom: var(--spacing-6);
  border: 1px solid var(--color-gray-200);
}

.pdp-price-main {
  font-size: var(--font-size-3xl);
  font-weight: 800;
  color: var(--color-green);
  line-height: 1;
  margin-bottom: 4px;
}

.pdp-price-full {
  font-size: var(--font-size-sm);
  color: var(--color-gray-400);
  text-decoration: line-through;
  margin-top: 4px;
}

.pdp-price-discount {
  font-size: var(--font-size-sm);
  color: var(--color-gray-600);
  margin-bottom: var(--spacing-2);
}

.pdp-price-discount strong {
  color: var(--color-green);
  background: rgba(10, 82, 48, 0.1);
  padding: 2px 6px;
  border-radius: 4px;
}

.pdp-price-installments {
  font-size: var(--font-size-base);
  color: var(--color-gray-700);
}

.pdp-price-installments strong {
  font-weight: 700;
}

.pdp-availability {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  font-size: var(--font-size-sm);
  font-weight: 600;
  margin-bottom: var(--spacing-6);
}

/* Call to Action */
.pdp-cta {
  display: flex;
  align-items: stretch;
  gap: var(--spacing-3);
  margin-bottom: var(--spacing-2);
}

@media (max-width: 480px) {
  .pdp-cta {
    flex-direction: column;
  }
}

.pdp-cta__qty {
  display: flex;
  border: 2px solid var(--color-gray-300);
  border-radius: var(--radius-md);
  height: 52px;
  width: 130px;
  background: white;
}

@media (max-width: 480px) {
  .pdp-cta__qty {
    width: 100%;
  }
}

.pdp-cta__qty-btn {
  width: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  color: var(--color-gray-600);
  background: transparent;
  transition: all var(--transition-fast);
}

.pdp-cta__qty-btn:hover {
  background: var(--color-gray-100);
  color: var(--color-daza);
}

.pdp-cta__qty-input {
  flex: 1;
  width: 100%;
  text-align: center;
  border: none;
  font-size: var(--font-size-lg);
  font-weight: 700;
  color: var(--color-gray-900);
  -moz-appearance: textfield;
}

.pdp-cta__qty-input::-webkit-outer-spin-button,
.pdp-cta__qty-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.pdp-cta__btn {
  flex: 1;
  background: var(--color-green);
  color: white;
  border-radius: var(--radius-md);
  font-size: var(--font-size-base);
  font-weight: 700;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-2);
  height: 52px;
  transition: all var(--transition-fast);
  box-shadow: 0 4px 14px 0 rgba(10, 82, 48, 0.3);
}

.pdp-cta__btn:hover {
  background: var(--color-green-dark);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px 0 rgba(10, 82, 48, 0.4);
}

/* Trust Row */
.pdp-trust-row {
  display: flex;
  gap: var(--spacing-3);
  margin-top: var(--spacing-6);
  margin-bottom: var(--spacing-6);
}

@media (max-width: 575px) {
  .pdp-trust-row {
    flex-wrap: wrap;
  }
}

.pdp-trust-item {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--spacing-2);
  padding: var(--spacing-3);
  background: white;
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-md);
  text-align: center;
  font-size: 11px;
  font-weight: 600;
  color: var(--color-gray-700);
  box-shadow: var(--shadow-sm);
  transition: transform var(--transition-fast);
}

@media (max-width: 575px) {
  .pdp-trust-item {
    min-width: calc(50% - var(--spacing-2));
  }
}

.pdp-trust-item svg {
  color: var(--color-daza);
  width: 24px;
  height: 24px;
}

/* Shipping */
.pdp-shipping-section {
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-md);
  padding: var(--spacing-4);
  background: white;
}

.pdp-section-title {
  font-size: var(--font-size-base);
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  margin-bottom: var(--spacing-4);
  color: var(--color-gray-900);
}

.pdp-shipping-form {
  display: flex;
  max-width: 300px;
  height: 44px;
}

.pdp-shipping-form__input {
  flex: 1;
  border: 1px solid var(--color-gray-300);
  border-right: none;
  border-radius: var(--radius-md) 0 0 var(--radius-md);
  padding: 0 var(--spacing-3);
  font-size: var(--font-size-sm);
  outline: none;
}

.pdp-shipping-form__input:focus {
  border-color: var(--color-daza);
}

.pdp-shipping-form__btn {
  background: var(--color-gray-100);
  border: 1px solid var(--color-gray-300);
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  padding: 0 var(--spacing-4);
  color: var(--color-gray-600);
  transition: all var(--transition-fast);
}

.pdp-shipping-form__btn:hover {
  background: var(--color-gray-200);
  color: var(--color-gray-800);
}

.pdp-shipping-link {
  display: inline-block;
  margin-top: var(--spacing-2);
  font-size: 11px;
  color: var(--color-daza);
  text-decoration: underline;
}

.pdp-shipping-results {
  margin-top: var(--spacing-4);
  display: flex;
  flex-direction: column;
  gap: var(--spacing-2);
}

.pdp-shipping-opt {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--spacing-3);
  border: 1px dashed var(--color-gray-300);
  border-radius: var(--radius-sm);
  font-size: var(--font-size-sm);
}

.pdp-shipping-opt--free {
  border-color: var(--color-green);
  background: rgba(10, 82, 48, 0.05);
}

.pdp-shipping-opt__info {
  display: flex;
  flex-direction: column;
}

.pdp-shipping-opt__info strong {
  color: var(--color-gray-800);
}

.pdp-shipping-opt__info span {
  color: var(--color-gray-500);
  font-size: 11px;
}

.pdp-shipping-opt__price {
  font-weight: 700;
  color: var(--color-gray-800);
}

.pdp-shipping-opt__price--free {
  color: var(--color-green);
  text-transform: uppercase;
}

/* Description & Sections */
.pdp-sections {
  margin-top: var(--spacing-12);
  display: flex;
  flex-direction: column;
  gap: var(--spacing-6);
}

.pdp-section {
  background: white;
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-lg);
  padding: var(--spacing-6);
}

.pdp-section-title--bordered {
  padding-bottom: var(--spacing-3);
  border-bottom: 2px solid var(--color-gray-100);
  margin-bottom: var(--spacing-4);
  font-size: var(--font-size-xl);
}

.pdp-section__body--expandable {
  max-height: none;
  overflow: visible;
}

.pdp-section__toggle {
  display: none;
}

.pdp-description-content {
  font-size: var(--font-size-base);
  line-height: 1.6;
  color: var(--color-gray-700);
}

.pdp-description-content img {
  max-width: 100%;
  border-radius: var(--radius-md);
  margin: var(--spacing-4) 0;
}

/* Specs Table */
.pdp-specs-table {
  width: 100%;
  border-collapse: collapse;
}

.pdp-specs-table tr:nth-child(even) {
  background: var(--color-gray-50);
}

.pdp-specs-table td {
  padding: var(--spacing-3) var(--spacing-4);
  border: 1px solid var(--color-gray-200);
  font-size: var(--font-size-sm);
}

.pdp-specs-table__label {
  font-weight: 600;
  color: var(--color-gray-800);
  width: 35%;
}

/* Reviews constraints */
.pdp-review-form {
  max-width: 600px;
}

.pdp-review-form .form-control {
  max-width: 100%;
}

/* Interactive Star Rating */
.star-rating {
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
  gap: 4px;
}

.star-rating input {
  display: none;
}

.star-rating label {
  cursor: pointer;
  color: var(--color-gray-300);
  font-size: 24px;
  transition: color var(--transition-fast);
}

.star-rating label:hover,
.star-rating label:hover~label,
.star-rating input:checked~label {
  color: #FACC15;
}

/* Related Products */
.pdp-related {
  margin-top: var(--spacing-12);
}

/* Sticky Mobile Bar */
.pdp-sticky-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background: white;
  padding: var(--spacing-3) var(--spacing-4);
  box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.1);
  display: flex;
  align-items: center;
  justify-content: space-between;
  z-index: 1000;
  transform: translateY(100%);
  transition: transform 0.3s ease;
}

.pdp-sticky-bar.visible {
  transform: translateY(0);
}

@media (min-width: 769px) {
  .pdp-sticky-bar {
    display: none !important;
  }
}

.pdp-sticky-bar__price {
  display: flex;
  flex-direction: column;
}

.pdp-sticky-bar__price-value {
  font-size: var(--font-size-xl);
  font-weight: 800;
  color: var(--color-green);
  line-height: 1;
}

.pdp-sticky-bar__price-sub {
  font-size: 10px;
  color: var(--color-gray-500);
}

.pdp-sticky-bar__btn {
  background: var(--color-green);
  color: white;
  border: none;
  border-radius: var(--radius-md);
  padding: var(--spacing-2) var(--spacing-6);
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: var(--spacing-1);
}

/* Floating Social Icons Modernization */
.social-share-float {
  position: fixed;
  left: var(--spacing-4);
  bottom: var(--spacing-20);
  display: flex;
  flex-direction: column;
  gap: var(--spacing-3);
  z-index: 1050;
}

@media (max-width: 768px) {
  .social-share-float {
    bottom: 90px;
    left: var(--spacing-3);
  }
}

.social-share-float__btn {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  transition: all var(--transition-base);
  text-decoration: none;
}

.social-share-float__btn:hover {
  transform: translateY(-3px) scale(1.05);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
  color: white;
}

.social-share-float__btn svg {
  width: 22px;
  height: 22px;
}

.social-share-float__btn--whatsapp {
  background-color: #25D366;
  color: white;
}

.social-share-float__btn--instagram {
  background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);
  color: white;
}

.social-share-float__btn--facebook {
  background-color: #1877F2;
  color: white;
}

/* ========================================
   MOBILE INPUT ZOOM PREVENTION (Android)
   ======================================== */
/* On iOS/Android, inputs with font-size < 16px trigger auto-zoom.
   Force all interactive fields to 16px minimum. */
@media (max-width: 768px) {
  input[type="text"],
  input[type="email"],
  input[type="password"],
  input[type="number"],
  input[type="tel"],
  input[type="url"],
  input[type="search"],
  textarea,
  select {
    font-size: 16px !important;
  }

  /* Body padding so sticky bar never covers content */
  body.has-sticky-bar {
    padding-bottom: 80px;
  }
}

/* ========================================
   FAQ ACCORDION (details/summary)
   ======================================== */
.pdp-faq {
  margin-top: var(--spacing-6);
  padding: var(--spacing-6) 0;
}

.pdp-faq__title {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  font-size: var(--font-size-xl);
  font-weight: 800;
  color: var(--color-gray-800);
  margin-bottom: var(--spacing-4);
  padding-bottom: var(--spacing-2);
  border-bottom: 3px solid var(--color-daza);
}

.pdp-faq__item {
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-lg);
  margin-bottom: var(--spacing-2);
  overflow: hidden;
  background: white;
  transition: box-shadow var(--transition-fast);
}

.pdp-faq__item:hover {
  box-shadow: var(--shadow-sm);
}

.pdp-faq__item[open] {
  border-color: var(--color-daza);
  box-shadow: 0 0 0 1px rgba(10, 82, 48, 0.1), var(--shadow-md);
}

.pdp-faq__question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--spacing-4) var(--spacing-5);
  font-weight: 600;
  font-size: var(--font-size-base);
  color: var(--color-gray-800);
  cursor: pointer;
  user-select: none;
  list-style: none;
  transition: background var(--transition-fast);
}

.pdp-faq__question::-webkit-details-marker {
  display: none;
}

.pdp-faq__question::after {
  content: '';
  display: inline-block;
  width: 10px;
  height: 10px;
  border-right: 2px solid var(--color-gray-400);
  border-bottom: 2px solid var(--color-gray-400);
  transform: rotate(45deg);
  transition: transform 0.25s ease;
  flex-shrink: 0;
  margin-left: var(--spacing-3);
}

.pdp-faq__item[open] .pdp-faq__question::after {
  transform: rotate(-135deg);
}

.pdp-faq__question:hover {
  background: var(--color-gray-50);
}

.pdp-faq__item[open] .pdp-faq__question {
  background: rgba(10, 82, 48, 0.04);
  color: var(--color-daza);
}

.pdp-faq__answer {
  padding: 0 var(--spacing-5) var(--spacing-4);
  font-size: var(--font-size-base);
  line-height: 1.65;
  color: var(--color-gray-600);
  animation: faqFadeIn 0.3s ease;
}

@keyframes faqFadeIn {
  from { opacity: 0; transform: translateY(-6px); }
  to   { opacity: 1; transform: translateY(0); }
}

@media (max-width: 768px) {
  .pdp-faq {
    padding: var(--spacing-4) 16px;
  }

  .pdp-faq__question {
    padding: var(--spacing-3) var(--spacing-4);
    font-size: 14px;
  }

  .pdp-faq__answer {
    padding: 0 var(--spacing-4) var(--spacing-3);
    font-size: 14px;
  }
}

/* ========================================
   VSL VIDEO CONTAINER
   ======================================== */
.pdp-vsl {
  margin: var(--spacing-6) 0;
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: #000;
  box-shadow: var(--shadow-lg);
}

.pdp-vsl__wrapper {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%; /* 16:9 */
  height: 0;
}

.pdp-vsl__wrapper iframe,
.pdp-vsl__wrapper video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

@media (max-width: 768px) {
  .pdp-vsl {
    margin: var(--spacing-4) 0;
    border-radius: 0;
  }
}

/* ========================================
   GUARANTEE / SECURITY BADGES
   ======================================== */
.pdp-guarantee-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-4);
  padding: var(--spacing-4) var(--spacing-3);
  margin-top: var(--spacing-3);
  background: linear-gradient(135deg, rgba(10, 82, 48, 0.04) 0%, rgba(10, 82, 48, 0.02) 100%);
  border: 1px dashed rgba(10, 82, 48, 0.2);
  border-radius: var(--radius-lg);
}

.pdp-guarantee-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--spacing-1);
  text-align: center;
}

.pdp-guarantee-item__icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(10, 82, 48, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-daza);
}

.pdp-guarantee-item__label {
  font-size: 10px;
  font-weight: 700;
  color: var(--color-gray-700);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  line-height: 1.2;
  max-width: 80px;
}

@media (max-width: 768px) {
  .pdp-guarantee-row {
    gap: var(--spacing-2);
    padding: var(--spacing-3) var(--spacing-2);
    flex-wrap: wrap;
    justify-content: space-evenly;
  }

  .pdp-guarantee-item__icon {
    width: 32px;
    height: 32px;
  }

  .pdp-guarantee-item__label {
    font-size: 9px;
    max-width: 70px;
  }
}

/* ========================================
   BALM MOBILE HOTFIX
   ======================================== */
@media (max-width: 767px) {
  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }

  .social-share-float {
    display: none !important;
  }

  .pdp-container {
    max-width: 100%;
    overflow-x: hidden;
    padding-left: 0;
    padding-right: 0;
  }

  .pdp-layout,
  .pdp-gallery,
  .pdp-right,
  .pdp-price-section,
  .pdp-cta,
  .pdp-trust-row,
  .pdp-shipping-section,
  .pdp-section,
  .pdp-faq {
    max-width: 100%;
    min-width: 0;
  }

  .pdp-layout {
    display: block;
    width: 100%;
  }

  .pdp-gallery {
    width: 100%;
    overflow: hidden;
  }

  .pdp-gallery__main {
    width: 100%;
    max-width: 100%;
    aspect-ratio: 1 / 1;
    border-radius: 0;
    overflow: hidden;
    background: #fff;
  }

  .pdp-zoom,
  .pdp-zoom img,
  #main-product-image {
    width: 100%;
    max-width: 100%;
    height: 100%;
  }

  .pdp-zoom img,
  #main-product-image {
    display: block;
    object-fit: contain;
  }

  .pdp-right {
    padding: 16px;
  }

  .pdp-product-title {
    font-size: 1.25rem;
    line-height: 1.25;
    overflow-wrap: anywhere;
    word-break: normal;
  }

  .pdp-shipping-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 44px;
    width: 100%;
    max-width: none;
  }

  .pdp-shipping-form__input {
    min-width: 0;
    width: 100%;
  }

  .pdp-shipping-form__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    min-width: 44px;
    padding: 0;
  }

  .pdp-shipping-results {
    width: 100%;
    overflow: hidden;
  }

  .pdp-shipping-opt {
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 10px;
  }

  .pdp-shipping-opt__info {
    flex: 1 1 170px;
    min-width: 0;
  }

  .pdp-shipping-opt__info strong,
  .pdp-shipping-opt__info span {
    overflow-wrap: anywhere;
  }

  .pdp-shipping-opt__price {
    flex: 0 0 auto;
    margin-left: auto;
  }
}

@media (hover: none), (pointer: coarse) {
  .pdp-zoom {
    cursor: default !important;
  }

  .pdp-zoom__result,
  .pdp-zoom__lens,
  .pdp-gallery__zoom-hint {
    display: none !important;
  }
}

/* ========================================
   INSTITUTIONAL AND ACCOUNT LAYOUT QA
   ======================================== */
.social-share-float {
  left: auto !important;
  right: 18px;
  bottom: 92px;
}

.info-page,
.account-hub {
  background: #f6f7f9;
  padding: 0 0 56px;
}

.info-page__breadcrumb,
.account-hub__breadcrumb {
  padding-top: 18px;
}

.info-page__breadcrumb .breadcrumb,
.account-hub__breadcrumb .breadcrumb {
  align-items: center;
  background: #fff;
  border: 1px solid var(--color-gray-200);
  border-radius: 8px;
  gap: 8px;
  margin: 0;
  padding: 12px 16px;
}

.info-page__breadcrumb .breadcrumb-item,
.account-hub__breadcrumb .breadcrumb-item {
  color: var(--color-gray-500);
  font-size: 0.9rem;
}

.info-page__breadcrumb .breadcrumb-item a,
.account-hub__breadcrumb .breadcrumb-item a {
  color: var(--color-secondary-dark);
  font-weight: 600;
  text-decoration: none;
}

.info-page__main,
.account-hub__main {
  min-width: 0;
}

.info-page__header,
.account-hub__header {
  max-width: 860px;
  padding: 36px 0 24px;
}

.info-page__eyebrow,
.account-hub__eyebrow {
  color: var(--color-daza);
  display: inline-flex;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  margin-bottom: 10px;
  text-transform: uppercase;
}

.info-page__header h1,
.account-hub__header h1 {
  color: var(--color-secondary-dark);
  font-size: clamp(2rem, 3vw, 3rem);
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.08;
  margin: 0 0 12px;
}

.info-page__header p,
.account-hub__header p {
  color: var(--color-gray-600);
  font-size: 1.05rem;
  line-height: 1.65;
  margin: 0;
}

.info-page__layout {
  align-items: start;
  display: grid;
  gap: 28px;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 320px);
}

.info-page__article,
.info-page__support,
.account-hub__card {
  background: #fff;
  border: 1px solid var(--color-gray-200);
  border-radius: 8px;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
}

.info-page__article {
  overflow: hidden;
  padding: 34px;
}

.info-page__body {
  color: #122033;
  font-size: 1rem;
  line-height: 1.75;
  max-width: 100%;
}

.info-page__body > :first-child {
  margin-top: 0;
}

.info-page__body > :last-child {
  margin-bottom: 0;
}

.info-page__body h2,
.info-page__body h3,
.info-page__body h4 {
  color: var(--color-secondary-dark);
  font-weight: 750;
  letter-spacing: 0;
  line-height: 1.25;
  margin: 30px 0 12px;
}

.info-page__body h2 {
  font-size: 1.45rem;
}

.info-page__body h3 {
  border-left: 4px solid var(--color-daza);
  font-size: 1.22rem;
  padding-left: 12px;
}

.info-page__body p {
  margin: 0 0 16px;
}

.info-page__body strong {
  color: var(--color-secondary-dark);
  font-weight: 800;
}

.info-page__body ul,
.info-page__body ol {
  display: grid;
  gap: 8px;
  margin: 14px 0 22px;
  padding-left: 22px;
}

.info-page__body li {
  padding-left: 4px;
}

.info-page__body a {
  color: var(--color-daza);
  font-weight: 700;
  text-decoration: none;
}

.info-page__body a:hover {
  color: var(--color-daza-dark);
  text-decoration: underline;
}

.info-page__body img,
.info-page__body iframe,
.info-page__body video {
  border-radius: 8px;
  height: auto;
  max-width: 100%;
}

.info-page__body table {
  display: block;
  max-width: 100%;
  overflow-x: auto;
}

.info-page__support {
  padding: 24px;
  position: sticky;
  top: 110px;
}

.info-page__support-label {
  color: var(--color-daza);
  display: block;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  margin-bottom: 10px;
  text-transform: uppercase;
}

.info-page__support strong {
  color: var(--color-secondary-dark);
  display: block;
  font-size: 1.25rem;
  line-height: 1.25;
  margin-bottom: 10px;
}

.info-page__support p {
  color: var(--color-gray-600);
  font-size: 0.95rem;
  line-height: 1.6;
  margin: 0 0 18px;
}

.info-page__support-link {
  align-items: center;
  background: var(--color-daza);
  border-radius: 8px;
  color: #fff;
  display: inline-flex;
  font-weight: 800;
  justify-content: center;
  min-height: 44px;
  padding: 0 18px;
  text-decoration: none;
  width: 100%;
}

.info-page__support-link:hover {
  background: var(--color-daza-dark);
  color: #fff;
}

.account-hub__cards {
  display: grid;
  gap: 22px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.account-hub__card {
  padding: 24px;
}

.account-hub__card--compact {
  grid-column: span 2;
}

.account-hub__card-head {
  align-items: flex-start;
  display: flex;
  gap: 14px;
  margin-bottom: 18px;
}

.account-hub__icon {
  align-items: center;
  background: rgba(103, 58, 183, 0.1);
  border-radius: 8px;
  color: var(--color-daza);
  display: inline-flex;
  flex: 0 0 44px;
  height: 44px;
  justify-content: center;
  width: 44px;
}

.account-hub__icon--orders {
  background: rgba(46, 125, 50, 0.1);
  color: #2e7d32;
}

.account-hub__icon--affiliate {
  background: rgba(2, 119, 189, 0.1);
  color: #0277bd;
}

.account-hub__icon--newsletter {
  background: rgba(239, 108, 0, 0.1);
  color: #ef6c00;
}

.account-hub__card h2 {
  color: var(--color-secondary-dark);
  font-size: 1.2rem;
  font-weight: 800;
  line-height: 1.25;
  margin: 0 0 4px;
}

.account-hub__card p {
  color: var(--color-gray-500);
  font-size: 0.92rem;
  line-height: 1.5;
  margin: 0;
}

.account-hub__links {
  border-top: 1px solid var(--color-gray-200);
  display: grid;
  padding-top: 8px;
}

.account-hub__link {
  align-items: center;
  border-radius: 8px;
  color: var(--color-secondary-dark);
  display: flex;
  font-weight: 700;
  gap: 12px;
  justify-content: space-between;
  min-height: 48px;
  padding: 0 10px;
  text-decoration: none;
}

.account-hub__link span {
  align-items: center;
  display: flex;
  gap: 10px;
  min-width: 0;
}

.account-hub__link span i {
  color: var(--color-daza);
  flex: 0 0 18px;
  text-align: center;
}

.account-hub__link > i {
  color: var(--color-gray-400);
  flex: 0 0 auto;
  font-size: 0.8rem;
}

.account-hub__link:hover {
  background: var(--color-gray-50);
  color: var(--color-daza);
}

.dz-auth__logo img {
  display: inline-block;
  height: auto;
  max-height: 56px;
  max-width: 190px;
  object-fit: contain;
}

.dz-auth__forgotten {
  color: var(--color-daza);
  display: block;
  font-size: 0.78rem;
  font-weight: 700;
  margin-top: 6px;
  text-align: right;
  text-decoration: none;
}

.dz-auth__forgotten:hover {
  color: var(--color-daza-dark);
  text-decoration: underline;
}

@media (max-width: 991px) {
  .info-page__layout,
  .account-hub__cards {
    grid-template-columns: 1fr;
  }

  .info-page__support {
    position: static;
  }

  .account-hub__card--compact {
    grid-column: auto;
  }
}

@media (max-width: 767px) {
  .info-page,
  .account-hub {
    padding-bottom: 40px;
  }

  .info-page__breadcrumb,
  .account-hub__breadcrumb {
    padding-top: 12px;
  }

  .info-page__breadcrumb .breadcrumb,
  .account-hub__breadcrumb .breadcrumb {
    border-radius: 8px;
    overflow-x: auto;
    padding: 10px 12px;
    white-space: nowrap;
  }

  .info-page__header,
  .account-hub__header {
    padding: 26px 0 18px;
  }

  .info-page__header h1,
  .account-hub__header h1 {
    font-size: 1.9rem;
    line-height: 1.12;
    overflow-wrap: anywhere;
  }

  .info-page__header p,
  .account-hub__header p {
    font-size: 0.98rem;
  }

  .info-page__article,
  .info-page__support,
  .account-hub__card {
    padding: 20px;
  }

  .info-page__body {
    font-size: 0.96rem;
    line-height: 1.68;
  }

  .info-page__body h2 {
    font-size: 1.25rem;
  }

  .info-page__body h3 {
    font-size: 1.12rem;
  }

  .account-hub__card-head {
    gap: 12px;
  }

  .account-hub__link {
    align-items: flex-start;
    min-height: 50px;
    padding: 10px;
  }

  .account-hub__link span {
    align-items: flex-start;
    line-height: 1.35;
  }

  .dz-auth {
    padding: 24px 0 44px;
  }

  .dz-auth__card {
    border-radius: 8px;
    padding: 24px;
  }
}

/* ========================================
   CATEGORY FILTER CARD
   ======================================== */
.filter-card {
  background: white;
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-xl);
  padding: var(--spacing-6);
  position: sticky;
  top: 80px;
  box-shadow: var(--shadow-sm);
}

.filter-card__header {
  font-size: var(--font-size-lg);
  font-weight: 700;
  color: var(--color-gray-800);
  margin-bottom: var(--spacing-5);
  padding-bottom: var(--spacing-3);
  border-bottom: 2px solid var(--color-daza);
}

.filter-card__group {
  margin-bottom: var(--spacing-5);
}

.filter-card__label {
  font-size: var(--font-size-base);
  font-weight: 600;
  color: var(--color-gray-700);
  margin-bottom: var(--spacing-3);
}

.filter-card__price-row {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
}

.filter-card__input {
  flex: 1;
  min-width: 0;
  padding: var(--spacing-2) var(--spacing-3);
  border: 1px solid var(--color-gray-300);
  border-radius: var(--radius-md);
  font-size: var(--font-size-sm);
  outline: none;
  transition: border-color var(--transition-fast);
}

.filter-card__input:focus {
  border-color: var(--color-daza);
}

.filter-card__separator {
  color: var(--color-gray-400);
  font-size: var(--font-size-sm);
}

.filter-card__go-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  background: var(--color-daza);
  color: white;
  border: none;
  border-radius: var(--radius-md);
  cursor: pointer;
  flex-shrink: 0;
  transition: background var(--transition-fast);
}

.filter-card__go-btn:hover {
  background: var(--color-daza-dark);
}

.filter-card__scroll {
  max-height: 200px;
  overflow-y: auto;
  padding-right: var(--spacing-2);
}

.filter-card__scroll::-webkit-scrollbar {
  width: 4px;
}

.filter-card__scroll::-webkit-scrollbar-track {
  background: var(--color-gray-100);
  border-radius: 2px;
}

.filter-card__scroll::-webkit-scrollbar-thumb {
  background: var(--color-gray-300);
  border-radius: 2px;
}

.filter-card__check {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  padding: var(--spacing-1) 0;
}

.filter-card__check-label {
  font-size: var(--font-size-sm);
  color: var(--color-gray-700);
  cursor: pointer;
}

.filter-card__stars {
  color: #FACC15;
  cursor: pointer;
  display: flex;
  gap: 1px;
}

.filter-card__clear {
  padding-top: var(--spacing-4);
  border-top: 1px solid var(--color-gray-200);
}

.filter-card__clear-btn {
  display: block;
  width: 100%;
  text-align: center;
  padding: var(--spacing-2) var(--spacing-4);
  border: 1px solid var(--color-gray-300);
  border-radius: var(--radius-md);
  font-size: var(--font-size-sm);
  font-weight: 500;
  color: var(--color-gray-600);
  transition: all var(--transition-fast);
}

.filter-card__clear-btn:hover {
  background: var(--color-gray-100);
  border-color: var(--color-gray-400);
  color: var(--color-gray-800);
}

/* Botão .scroll-to-top legado removido — agora é #dazie-footer-backtop (dazie_footer_premium.css). */

/* ========================================
   DEALS GRID - 5 COLUMNS ON XL
   ======================================== */
@media (min-width: 1280px) {
  .deals-grid {
    grid-template-columns: repeat(5, 1fr);
  }
}

/* ========================================
   CONFIGURABLE HOME SECTIONS
   ======================================== */
.home-section--white {
  background: #fff;
}

.top-nav__benefit {
  text-decoration: none;
}

.top-nav__benefit svg {
  width: 12px;
  height: 12px;
}

.home-section__subtitle {
  color: var(--color-gray-500);
  font-size: 0.95rem;
  line-height: 1.5;
  margin: 8px 0 0;
}

.home-section__footer-link {
  display: flex;
  justify-content: flex-end;
  margin-top: 20px;
}

.deals-section__header .section-link,
.home-section__footer-link .section-link {
  color: var(--color-daza);
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  font-weight: 700;
  text-decoration: none;
}

.deals-section__header .section-link:hover,
.home-section__footer-link .section-link:hover {
  color: var(--color-daza-dark);
}

@media (max-width: 768px) {
  .home-section__footer-link {
    justify-content: center;
  }
}
