
/* V32 — Quality Polish: accessibility, contrast, mobile UX, performance */

/* ── ACCESSIBILITY: Focus Visible ─────────────────────────── */
:focus-visible {
  outline: 2px solid var(--gold, #C9A84C);
  outline-offset: 2px;
}
.burger:focus-visible {
  outline: 2px solid var(--gold, #C9A84C);
  outline-offset: 4px;
  border-radius: 4px;
}
.btn:focus-visible,
.pc-btn:focus-visible,
.izb-cart-checkout:focus-visible,
.izb-cart-whatsapp:focus-visible,
.sol-card:focus-visible,
.quick-card:focus-visible {
  outline: 2px solid var(--gold, #C9A84C);
  outline-offset: 3px;
}

/* ── ACCESSIBILITY: Color Contrast Fixes ──────────────────── */
.ativo-benefit { color: rgba(23, 20, 17, .68) !important; }
.ativos-marquee-sub { color: rgba(247, 239, 226, .70) !important; }
.hero-trust span { color: rgba(245, 240, 232, .62); }
.izb-cart-item-meta { color: rgba(245, 240, 232, .58) !important; }
.izb-cart-sub { color: rgba(245, 240, 232, .62) !important; }
.ds-includes li { color: rgba(245, 240, 232, .72); }
.sm { color: rgba(138, 132, 128, 1) !important; }
.ft-desc { color: rgba(245, 240, 232, .65) !important; }
.annbar { font-size: .62rem !important; }

/* ── MOBILE: Touch Targets ────────────────────────────────── */
@media (max-width: 768px) {
  .nav-links a,
  .ft-col ul li a,
  footer a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }

  .btn,
  .pc-btn,
  .sol-btn {
    min-height: 48px;
  }

  .izb-cart-qty button,
  .izb-cart-remove {
    min-width: 36px !important;
    min-height: 36px !important;
  }

  .pg-btn {
    min-width: 44px;
    min-height: 44px;
  }
}

/* ── MOBILE: Smooth scrolling fix ─────────────────────────── */
@media (max-width: 768px) {
  .vid-carousel,
  .v19-gallery,
  .dep-carousel {
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
  }
}

/* ── MOBILE: Better cart head spacing ─────────────────────── */
@media (max-width: 768px) {
  .izb-cart-head {
    padding: 18px 16px 14px;
  }
  .izb-cart-title {
    font-size: 1.4rem !important;
  }
  .izb-cart-sub {
    font-size: .74rem;
    margin-top: 5px;
  }
  .izb-cart-body {
    padding: 12px 12px 0;
  }
}

/* ── PERFORMANCE: Reduce repaints on animated elements ───── */
.vid-card,
.sol-card,
.quick-card,
.ativos-marquee-track,
.tb-inner {
  will-change: transform;
}

/* ── VISUAL: Smoother transitions ─────────────────────────── */
.btn,
.pc-btn,
.soc,
a[class] {
  transition-duration: .25s;
  transition-timing-function: cubic-bezier(.16, 1, .3, 1);
}

/* ── VISUAL: Better button states ─────────────────────────── */
.btn:active,
.pc-btn:active,
.izb-cart-checkout:active {
  transform: scale(.97);
}

/* ── VISUAL: Loading state for CTA buttons ────────────────── */
.btn.is-loading,
.pc-btn.is-loading {
  opacity: .6;
  pointer-events: none;
}

/* ── VISUAL: Subtle card hover lift ───────────────────────── */
.pc:hover,
.sol-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 22px 60px rgba(0, 0, 0, .12);
}

/* ── VISUAL: Smoother image transitions ───────────────────── */
img[loading="lazy"] {
  transition: opacity .4s ease;
}

/* ── VISUAL: Cart promo refinement (no discounts) ─────────── */
.izb-cart-promo {
  background: linear-gradient(135deg, rgba(201, 168, 76, .10), rgba(245, 240, 232, .04)) !important;
  border-color: rgba(201, 168, 76, .14) !important;
  font-size: .78rem;
  text-align: center;
}

/* ── VISUAL: Better empty cart state ──────────────────────── */
.izb-cart-empty {
  padding: 48px 20px;
  font-size: .92rem;
  line-height: 1.75;
}

/* ── SEO: Skip to content for screen readers ──────────────── */
.skip-to-content {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 99999;
  padding: 14px 24px;
  background: var(--gold, #C9A84C);
  color: #fff;
  font-weight: 700;
  font-size: .85rem;
  text-decoration: none;
}
.skip-to-content:focus {
  left: 10px;
  top: 10px;
}
