.product-preview {
  padding: 0 !important;
  overflow: hidden !important;
}

.product-visual {
  min-height: 260px !important;
  border-radius: 28px 28px 0 0 !important;
  background: transparent !important;
}

.product-image {
  width: 100% !important;
  height: 260px !important;
  max-height: none !important;
  object-fit: cover !important;
  border-radius: 28px 28px 0 0 !important;
  filter: none !important;
}

.product-image + .cup-shape,
.cup-glow {
  display: none !important;
}

.product-copy {
  padding: 22px !important;
}

.product-copy h2 {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  width: 100% !important;
  margin-bottom: 12px !important;
}

/* Nova identidade visual - Copão na Mão */
body {
  background: linear-gradient(180deg, #fffdf2 0%, #fff9db 100%) !important;
  color: #0b1d3a !important;
}

body::before {
  opacity: 0.15 !important;
}

.topbar {
  background: linear-gradient(
    180deg,
    rgba(255,253,242,.98),
    rgba(255,253,242,.82),
    transparent
  ) !important;
}

.section-card {
  background: rgba(255,255,255,.95) !important;
  border: 1px solid rgba(11,29,58,.12) !important;
  box-shadow: 0 18px 45px rgba(11,29,58,.1) !important;
  color: #0b1d3a !important;
}

h1, h2, h3, strong, legend, #orderTotal, #itemTotal {
  color: #0b1d3a !important;
}

p, span, small, label {
  color: #4f5d75 !important;
}

.eyebrow {
  color: #ff7a00 !important;
}

.btn-primary {
  background: linear-gradient(135deg, #ffd100, #ffc400) !important;
  color: #0b1d3a !important;
  box-shadow: 0 14px 30px rgba(255,209,0,.3) !important;
}

.btn-ghost,
.btn-secondary,
.mini-btn {
  background: rgba(255,255,255,.9) !important;
  color: #0b1d3a !important;
  border: 1px solid rgba(11,29,58,.12) !important;
}

input,
textarea,
.option-card,
.quantity-row,
.live-total,
.cart-item {
  background: #ffffff !important;
  color: #0b1d3a !important;
  border: 1px solid rgba(11,29,58,.12) !important;
}

.option-card span,
.option-card small {
  color: #0b1d3a !important;
}

label.option-card:has(input:checked) {
  background: linear-gradient(
    180deg,
    rgba(255,209,0,.22),
    rgba(255,255,255,.96)
  ) !important;
  border-color: #ff7a00 !important;
  box-shadow: 0 0 0 2px rgba(255,122,0,.14) !important;
}

.summary-box {
  background: linear-gradient(180deg, #ffffff, #fffbea) !important;
  border: 1px solid rgba(11,29,58,.12) !important;
}

.bottom-bar {
  background: rgba(255,255,255,.94) !important;
  border: 1px solid rgba(11,29,58,.12) !important;
}

.bottom-bar a {
  background: rgba(255,209,0,.12) !important;
  color: #0b1d3a !important;
}

.logo-img {
  filter: drop-shadow(0 12px 24px rgba(11,29,58,.14)) !important;
}

.product-visual {
  background: linear-gradient(135deg, #fff7cc, #ffe784) !important;
}

.price-badge {
  background: rgba(255,209,0,.16) !important;
  color: #0b1d3a !important;
  border: 1px solid rgba(255,209,0,.6) !important;
}

.cart-toast {
  background: rgba(11,29,58,.96) !important;
  color: #ffffff !important;
}

.step-toggle {
  background: rgba(255,209,0,.18) !important;
  color: #0b1d3a !important;
  border: 1px solid rgba(11,29,58,.1) !important;
}

/* Ajuste do logotipo fixo no scroll */
.topbar {
  top: 0 !important;
  min-height: 84px !important;
  padding: 5px 0 7px !important;
}

.logo-symbol {
  height: 56px !important;
  width: min(74vw, 300px) !important;
}

.logo-img {
  max-height: 56px !important;
  width: auto !important;
  max-width: 100% !important;
  object-fit: contain !important;
}

.logo-wrap {
  transform: translateY(0) !important;
}

/* Correções de contraste e visibilidade */
.delivery-badge {
  background: #16a34a !important;
  color: #ffffff !important;
  border: 0 !important;
  box-shadow: 0 10px 24px rgba(22, 163, 74, .28) !important;
}

.price-badge,
.price-badge * {
  color: #0b1d3a !important;
  font-weight: 900 !important;
}

.quantity-control strong,
.cart-item strong,
.summary-box strong,
#subtotalValue,
#discountValue,
#orderTotal,
#quantityValue,
#bottomCartCount,
#cartCount {
  color: #0b1d3a !important;
  font-weight: 900 !important;
}

.quantity-control button,
.item-action,
.mini-btn,
#clearCart {
  min-width: 38px !important;
  min-height: 38px !important;
  background: #ffd100 !important;
  color: #0b1d3a !important;
  border: 1px solid rgba(11,29,58,.18) !important;
  border-radius: 12px !important;
  font-weight: 900 !important;
  box-shadow: 0 8px 18px rgba(11,29,58,.08) !important;
}

.cart-item-actions .item-action[data-action="remove"],
#clearCart {
  background: #fff4cc !important;
  color: #0b1d3a !important;
  border: 1px solid #ff7a00 !important;
}

.cart-item-actions .item-action[data-action="plus"],
.cart-item-actions .item-action[data-action="minus"] {
  background: #0b1d3a !important;
  color: #ffffff !important;
  border-color: #0b1d3a !important;
}

.cart-item h3,
.cart-item p,
.cart-item span,
.cart-item small {
  color: #0b1d3a !important;
}

.summary-box span,
.live-total span,
.quantity-row span {
  color: #4f5d75 !important;
  font-weight: 800 !important;
}

.bottom-bar a,
.bottom-bar a span {
  color: #0b1d3a !important;
  font-weight: 900 !important;
}

.btn-secondary,
.btn-ghost,
.btn-secondary *,
.btn-ghost * {
  color: #0b1d3a !important;
  font-weight: 900 !important;
}

.step-toggle {
  color: #0b1d3a !important;
  font-weight: 900 !important;
}

.cart-toast,
.cart-toast * {
  color: #ffffff !important;
}

/* Barra inferior com total no botão de finalizar */
.bottom-bar {
  display: grid !important;
  grid-template-columns: 0.78fr 1.62fr !important;
  gap: 10px !important;
  align-items: center !important;
}

.bottom-bar a {
  min-width: 0 !important;
  height: 56px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  border-radius: 18px !important;
  white-space: nowrap !important;
}

.bottom-cart-link {
  font-size: 0 !important;
  padding: 0 10px !important;
}

.bottom-cart-link::first-letter,
.bottom-cart-link span {
  font-size: 1.02rem !important;
}

.bottom-finish-link {
  padding: 0 14px !important;
  background: #fff6d6 !important;
}

#bottomTotalValue,
.bottom-separator,
.bottom-finish-link strong {
  color: #0b1d3a !important;
  font-weight: 900 !important;
  font-size: 0.98rem !important;
  line-height: 1 !important;
}

.bottom-separator {
  opacity: .55 !important;
}

@media (max-width: 380px) {
  .bottom-bar {
    grid-template-columns: 0.68fr 1.72fr !important;
    gap: 8px !important;
  }

  #bottomTotalValue,
  .bottom-finish-link strong {
    font-size: 0.88rem !important;
  }

  .bottom-finish-link {
    gap: 6px !important;
    padding: 0 10px !important;
  }
}

/* Produto e carrossel consolidado */
.product-carousel-title {
  display: block !important;
  margin-bottom: 14px !important;
}

.product-carousel-wrap {
  position: relative !important;
  padding: 22px !important;
}

.product-carousel {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: x mandatory !important;
  scroll-behavior: smooth !important;
  scroll-padding-left: 0 !important;
  cursor: grab !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-width: none !important;
  padding-bottom: 6px !important;
}

.product-carousel::-webkit-scrollbar {
  display: none !important;
}

.product-carousel:active {
  cursor: grabbing !important;
}

.product-slide {
  position: relative !important;
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 100% !important;
  scroll-snap-align: start !important;
  border: 2px solid rgba(11, 29, 58, .08) !important;
  border-radius: 28px !important;
  overflow: hidden !important;
  background: #ffffff !important;
  transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease !important;
}

.product-slide.is-active {
  border-color: #ffd100 !important;
  box-shadow: 0 10px 24px rgba(11, 29, 58, .08) !important;
}

.product-slide .product-copy,
.product-carousel .product-slide .product-copy {
  padding: 10px 22px 16px !important;
}

.product-carousel .product-slide .product-title-row {
  margin: 0 0 8px !important;
  align-items: flex-start !important;
}

.product-carousel .product-slide .product-title-row h2 {
  margin: 0 !important;
  line-height: 0.96 !important;
}

.product-carousel .product-slide .product-copy p {
  margin: 0 0 12px !important;
  line-height: 1.45 !important;
}

.product-carousel .product-slide .product-build-btn {
  margin-top: 10px !important;
}

.product-slide .product-visual,
.product-carousel .product-slide .product-visual {
  position: relative !important;
  min-height: 260px !important;
  border-radius: 28px 28px 0 0 !important;
}

.product-carousel .product-slide:nth-child(2) .product-visual {
  height: 260px !important;
  min-height: 260px !important;
  overflow: hidden !important;
  border-radius: 28px 28px 0 0 !important;
}

.product-slide .product-image,
.product-carousel .product-slide .product-image {
  width: 100% !important;
  height: 260px !important;
  object-fit: cover !important;
  border-radius: 28px 28px 0 0 !important;
}

.product-carousel .product-slide:nth-child(2) .product-image {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: scale(1.01) !important;
  transform-origin: center center !important;
  border-radius: 28px 28px 0 0 !important;
}

.product-carousel .product-slide .cup-shape,
.product-carousel .product-slide .cup-glow {
  display: none !important;
}

.product-visual--gold {
  background: linear-gradient(135deg, #fff0b3, #ffd100 48%, #ff9f1c) !important;
}

.product-floating-badge {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  z-index: 5 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 34px !important;
  padding: 0 14px !important;
  border-radius: 999px !important;
  background: #17376b !important;
  color: #ffffff !important;
  font-size: 0.95rem !important;
  font-weight: 800 !important;
  box-shadow: 0 12px 28px rgba(31, 181, 78, 0.16) !important;
}

.delivery-badge--gold {
  background: linear-gradient(135deg, #0b1d3a, #1d3359) !important;
  color: #ffffff !important;
}

.product-build-btn.is-selected {
  box-shadow: 0 12px 28px rgba(255, 122, 0, .26) !important;
}

.product-carousel-dots {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 8px !important;
  margin-top: 14px !important;
}

.product-carousel-dot {
  width: 9px !important;
  height: 9px !important;
  min-width: 9px !important;
  min-height: 9px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: rgba(11, 29, 58, .22) !important;
  transition: width .22s ease, background .22s ease !important;
}

.product-carousel-dot.is-active {
  width: 28px !important;
  background: #ffd100 !important;
}

.option-grid--single {
  grid-template-columns: 1fr !important;
}

.option-grid--single .option-card {
  min-height: 64px !important;
  background: linear-gradient(180deg, rgba(255,209,0,.18), #ffffff) !important;
}

/* Preço em linha consolidado */
.price-badge {
  display: none !important;
}

.price-inline {
  display: flex !important;
  align-items: baseline !important;
  gap: 6px !important;
  width: fit-content !important;
  margin: 8px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.price-prefix {
  color: #5c6a80 !important;
  font-size: 0.88rem !important;
  font-weight: 500 !important;
  line-height: 1 !important;
}

.price-main {
  color: #0b1d3a !important;
  font-size: 1.02rem !important;
  font-weight: 950 !important;
  line-height: 1 !important;
}

@media (max-width: 420px) {
  .product-carousel-title {
    margin-bottom: 12px !important;
  }
}
