/* Finishing pass: warmer brand, stronger legibility, and clearer touch targets. */
:root {
  --bg: #0d0b09;
  --surface: #171411;
  --surface-2: #211b16;
  --accent: #f1871c;
  --line: rgba(245, 239, 227, .14);
  scroll-padding-top: 92px;
}

body {
  background:
    radial-gradient(ellipse at 78% 12%, rgba(241, 135, 28, .055), transparent 30rem),
    var(--bg);
}

.site-header {
  position: sticky;
  top: 0;
  background: rgba(13, 11, 9, .92);
  border-bottom-color: rgba(241, 135, 28, .17);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
}

.brand-mark {
  box-shadow: 0 0 0 4px rgba(241, 135, 28, .045);
}

.hero-visual {
  border: 1px solid rgba(241, 135, 28, .19);
  border-radius: 9px;
  box-shadow: 0 22px 70px rgba(0, 0, 0, .2);
}

.hero-photo {
  filter: saturate(1.08);
}

.hero-actions {
  align-items: flex-start;
  gap: 12px;
}

.hero-menu-cta {
  min-height: 58px;
  min-width: 258px;
  padding: 0 24px;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  border: 1px solid rgba(255, 216, 143, .48);
  border-radius: 999px;
  background: linear-gradient(135deg, #ffb337, #f1871c);
  color: #211307;
  box-shadow: 0 9px 25px rgba(241, 135, 28, .19), inset 0 1px 0 rgba(255, 255, 255, .25);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .055em;
  text-transform: uppercase;
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

.hero-menu-cta span {
  font-size: 22px;
  line-height: 1;
  transition: transform .2s ease;
}

.hero-menu-cta:hover {
  transform: translateY(-2px);
  filter: brightness(1.06);
  box-shadow: 0 12px 30px rgba(241, 135, 28, .25), inset 0 1px 0 rgba(255, 255, 255, .25);
}

.hero-menu-cta:hover span { transform: translateY(3px); }

.hero-menu-cta:focus-visible,
.hero-order-link:focus-visible {
  outline: 2px solid #fff7eb;
  outline-offset: 4px;
}

.hero-order-link {
  min-height: 38px;
  padding: 0 4px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 0;
  background: transparent;
  color: #d9d2c8;
  cursor: pointer;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .025em;
  transition: color .2s ease;
}

.hero-order-link:hover { color: #fff; }
.hero-order-link .wa-icon { color: #51d68b; font-size: 16px; }
.hero-order-link>span:last-child { color: var(--accent); font-size: 15px; }

.quick-links {
  border-radius: 9px;
  overflow: hidden;
  background: rgba(23, 20, 17, .86);
}

.quick-links > a:focus-visible,
.desktop-nav a:focus-visible,
.mobile-menu a:focus-visible,
.footer-links a:focus-visible,
.inline-link:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
}

.menu-download-row {
  border-radius: 9px;
  background: linear-gradient(110deg, rgba(241, 135, 28, .07), rgba(23, 20, 17, .9) 46%);
}

.menu-download-row .button {
  border-radius: 999px;
}

.category-scroller {
  position: sticky;
  top: 82px;
  z-index: 12;
  padding-top: 10px;
  background: linear-gradient(180deg, rgba(13, 11, 9, .98) 78%, rgba(13, 11, 9, .84));
}

.category-tab {
  border-radius: 999px;
  min-height: 40px;
}

.category-tab:hover,
.category-tab.is-active {
  color: #1b1209;
  box-shadow: 0 4px 16px rgba(241, 135, 28, .16);
}

.product-card {
  border-radius: 9px;
  background: linear-gradient(155deg, #1c1915, #151310 74%);
}

.product-card:focus-within {
  border-color: rgba(241, 135, 28, .65);
  box-shadow: 0 0 0 3px rgba(241, 135, 28, .08);
}

.product-photo-wrap {
  aspect-ratio: 1.17 / 1;
}

.product-photo {
  transition: transform .55s cubic-bezier(.2, .7, .2, 1), filter .3s;
}

.product-card:hover .product-photo {
  filter: saturate(1.1);
}

.product-info {
  min-height: 154px;
  padding: 15px;
}

.product-info h3 {
  font-size: 22px;
  letter-spacing: .015em;
}

.product-info p {
  min-height: 42px;
  font-size: 11px;
  line-height: 1.6;
}

.product-bottom > strong {
  font-size: 21px;
  color: #ffc04f;
}

.product-order {
  min-height: 42px;
  padding-inline: 15px;
  border-radius: 999px;
  color: #21140a;
  box-shadow: 0 5px 16px rgba(241, 135, 28, .12);
}

.product-order:focus-visible,
.button:focus-visible,
.header-cta:focus-visible,
.menu-toggle:focus-visible,
.floating-whatsapp:focus-visible {
  outline: 2px solid #fff7eb;
  outline-offset: 3px;
}

.promo-section {
  border-radius: 11px;
  overflow: hidden;
}

.info-card {
  border-radius: 9px;
}

@media (max-width: 900px) {
  :root { scroll-padding-top: 74px; }
  .category-scroller { top: 74px; }
  .product-info { min-height: 150px; padding: 13px; }
  .product-info h3 { font-size: 20px; }
  .product-info p { font-size: 10.5px; }
}

@media (max-width: 650px) {
  :root { scroll-padding-top: 66px; }
  .site-header { height: 66px; }
  .category-scroller {
    top: 66px;
    margin-bottom: 17px;
    padding-top: 9px;
  }
  .product-card { border-radius: 8px; }
  .product-info { min-height: 143px; padding: 10px; }
  .product-info h3 { font-size: 18px; }
  .product-info p { min-height: 42px; font-size: 10px; line-height: 1.5; }
  .product-bottom > strong { font-size: 18px; }
  .product-order { min-height: 38px; padding-inline: 10px; font-size: 8px; }
  .menu-download-row { border-radius: 8px; }
  .hero-actions { width: 100%; gap: 7px; }
  .hero-menu-cta { width: 100%; min-height: 56px; padding-inline: 20px; font-size: 12px; }
  .hero-order-link { min-height: 36px; font-size: 9px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
