/* Acabamento visual compartilhado: vitrine, login e painel. */
:root { --tl-editorial-shadow: 0 16px 44px rgba(15, 17, 21, .09); }
html { font-optical-sizing: auto; }
button, input, select, textarea { font-family: inherit; }

/* Vitrine */
.tl-store .hero h1,
.tl-store .section-head h2,
.tl-store .manifesto h2,
.tl-store .visit h2 { font-weight: 850; letter-spacing: -.06em; line-height: 1.04; text-wrap: balance; }
.tl-store .intro { font-size: clamp(16px, 1.45vw, 19px); max-width: 39ch; line-height: 1.65; }
.tl-store .eyebrow,
.tl-store .product-cat { font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.tl-store .button { font-weight: 750; letter-spacing: -.015em; box-shadow: 0 5px 0 rgba(15,17,21,.12); transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
.tl-store .button:hover { transform: translateY(-2px); box-shadow: 0 7px 0 rgba(15,17,21,.1); }
.tl-store .catalog-bar { box-shadow: 0 10px 32px rgba(15,17,21,.045); }
.tl-store .carousel-card,
.tl-store .review-card { border-color: var(--tl-border); box-shadow: var(--tl-editorial-shadow); }
.tl-store .carousel-card h3 { font-size: 17px; line-height: 1.25; font-weight: 750; }
.tl-store .review-card blockquote { font-weight: 500; letter-spacing: -.02em; }
.tl-store .search-wrap input { font-size: 14px; }
.tl-store .rating strong,
.tl-store .hero-proof > strong,
.tl-store .hours dd,
.tl-store .product-price,
.tl-store .detail-price,
.tl-store .cart-price { font-variant-numeric: tabular-nums; }

/* Entrada e painel */
.tl-admin, .tl-dash { font-optical-sizing: auto; }
.tl-admin .login-card,
.tl-dash .panel,
.tl-dash .card { box-shadow: var(--tl-editorial-shadow); }
.tl-dash .panel:hover,
.tl-dash .card:hover { box-shadow: 0 20px 48px rgba(15,17,21,.13); }
.tl-admin .login-card h1,
.tl-dash header h2 { font-weight: 800; letter-spacing: -.045em; line-height: 1.12; }
.tl-dash .card strong { font-weight: 800; letter-spacing: -.045em; font-variant-numeric: tabular-nums; }
.tl-dash .order-id,
.tl-dash td,
.tl-dash .table-price,
.tl-dash .order-total { font-variant-numeric: tabular-nums; }
.tl-admin .login-card input:focus-visible,
.tl-dash input:focus-visible,
.tl-dash select:focus-visible { outline: 2px solid var(--tl-brand-ink); outline-offset: 2px; }

@media (max-width: 560px) {
  .tl-store .hero h1 { line-height: 1.01; }
  .tl-store .intro { font-size: 16px; }
  .tl-store .section-head h2 { font-size: clamp(34px, 9vw, 44px); }
  .tl-store .button { box-shadow: 0 3px 0 rgba(15,17,21,.12); }
}
@media (prefers-reduced-motion: reduce) {
  .tl-store .button:hover { transform: none; }
}
