/* Livraizon consumer production polish layer.
   Safe additive CSS: improves the customer-facing marketplace without replacing core layout logic. */

body.liv-shell-consumer {
  background:
    radial-gradient(circle at top left, rgba(31,125,243,.10), transparent 28rem),
    radial-gradient(circle at top right, rgba(120,211,24,.12), transparent 26rem),
    linear-gradient(180deg, #f8fbff 0%, #eef5fc 100%);
}

.liv-consumer-topbar {
  box-shadow: 0 10px 34px rgba(15, 47, 114, .06);
}

.liv-consumer-address-trigger {
  min-height: 3.15rem;
  border-color: rgba(31,125,243,.18);
  background: linear-gradient(180deg, #fff, #f8fbff);
}

.liv-consumer-address-trigger:focus-visible,
.liv-consumer-iconbtn:focus-visible,
.liv-consumer-toplink:focus-visible,
.liv-consumer-service-item:focus-visible,
.liv-store-card:focus-visible,
.liv-store-card button:focus-visible,
.liv-item-card:focus-visible,
.liv-item-card button:focus-visible {
  outline: 3px solid rgba(31,125,243,.28);
  outline-offset: 3px;
}

.liv-consumer-hero__surface {
  background:
    linear-gradient(135deg, rgba(255,255,255,.97), rgba(242,248,255,.96)),
    radial-gradient(circle at 80% 12%, rgba(120,211,24,.14), transparent 18rem);
}

.liv-consumer-hero__copycard h1 {
  max-width: 18ch;
}

.liv-consumer-hero__copycard p {
  color: #425a80;
}

.liv-stat-pill {
  background: rgba(255,255,255,.94);
}

.liv-consumer-sectionhead {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
}

.liv-consumer-sectionhead p,
.liv-consumer-sectionhead .liv-muted {
  color: #64748b;
}

.liv-store-card,
.liv-consumer-store-card,
[data-consumer-store] {
  border-radius: 1.35rem !important;
  border: 1px solid rgba(20,61,159,.10) !important;
  background: rgba(255,255,255,.96) !important;
  box-shadow: 0 16px 38px rgba(15,47,114,.075) !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}

.liv-store-card:hover,
.liv-consumer-store-card:hover,
[data-consumer-store]:hover {
  transform: translateY(-3px);
  border-color: rgba(31,125,243,.28) !important;
  box-shadow: 0 22px 48px rgba(15,47,114,.11) !important;
}

.liv-store-card img,
.liv-consumer-store-card img,
[data-consumer-store] img {
  object-fit: cover;
}

.liv-store-card__meta,
.liv-consumer-store-card__meta,
.liv-store-meta {
  color: #64748b;
}

.liv-store-card__distance,
.liv-store-distance,
[data-liv-store-distance] {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  border-radius: 999px;
  background: rgba(31,125,243,.08);
  color: #143d9f;
  padding: .28rem .58rem;
  font-weight: 800;
  font-size: .78rem;
}

.liv-item-card,
.liv-menu-item,
[data-liv-menu-item] {
  border-radius: 1.15rem !important;
  border-color: rgba(20,61,159,.10) !important;
  box-shadow: 0 12px 26px rgba(15,47,114,.06) !important;
}

.liv-item-card:hover,
.liv-menu-item:hover,
[data-liv-menu-item]:hover {
  border-color: rgba(120,211,24,.36) !important;
  box-shadow: 0 18px 36px rgba(15,47,114,.09) !important;
}

#liv-item-modal .modal-content,
.liv-item-modal .modal-content {
  border: 0;
  border-radius: 1.55rem;
  box-shadow: 0 28px 80px rgba(15,23,42,.28);
  overflow: hidden;
}

#liv-item-modal .modal-header,
.liv-item-modal .modal-header {
  background: linear-gradient(180deg, #fff, #f8fbff);
  border-bottom-color: rgba(20,61,159,.08);
}

#liv-item-modal fieldset,
.liv-item-modal fieldset {
  border: 1px solid rgba(20,61,159,.10);
  border-radius: 1rem;
  padding: .9rem 1rem;
  background: #fff;
  margin-bottom: .85rem;
}

#liv-item-modal legend,
.liv-item-modal legend {
  font-size: .92rem;
  font-weight: 900;
  color: #203257;
}

.liv-item-modal__option {
  border-radius: .85rem;
  padding: .5rem .55rem;
}

.liv-item-modal__option:hover {
  background: rgba(31,125,243,.055);
}

.liv-item-modal__qty {
  display: inline-flex;
  align-items: center;
  gap: .2rem;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  padding: .2rem .32rem;
}

.liv-cart-panel,
.liv-consumer-cart,
[data-liv-cart-panel] {
  border-radius: 1.45rem !important;
  box-shadow: 0 24px 64px rgba(15,47,114,.16) !important;
}

.liv-cart-total,
[data-liv-cart-total],
[data-liv-payment-total] {
  font-weight: 950;
  letter-spacing: -.02em;
}

[data-liv-confirm-payment],
#liv-item-modal-submit,
.liv-checkout-primary,
.liv-consumer-checkout-btn {
  border-radius: 999px !important;
  min-height: 3rem;
  font-weight: 900 !important;
  box-shadow: 0 14px 28px rgba(31,125,243,.20);
}

[data-liv-confirm-payment]:disabled,
.liv-consumer-checkout-btn:disabled {
  box-shadow: none;
  opacity: .66;
}

.liv-consumer-mobile-nav {
  backdrop-filter: blur(18px);
  background: rgba(255,255,255,.92) !important;
  border-top: 1px solid rgba(20,61,159,.09) !important;
  box-shadow: 0 -14px 34px rgba(15,47,114,.10);
}

.liv-consumer-mobile-nav__item {
  border-radius: 1rem;
}

.liv-consumer-mobile-nav__item.is-active {
  background: linear-gradient(135deg, rgba(31,125,243,.12), rgba(120,211,24,.12));
  color: #143d9f;
}

[data-liv-payment-status],
.liv-payment-status,
.liv-checkout-status {
  border-radius: 1rem;
  background: rgba(248,250,252,.96);
  border: 1px solid rgba(20,61,159,.08);
}

@media (max-width: 767px) {
  .liv-consumer-topbar__inner {
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: .5rem;
  }

  .liv-consumer-brand__logo {
    width: 3rem;
  }

  .liv-consumer-hero__surface {
    border-radius: 1.1rem;
  }

  .liv-consumer-hero__copycard h1 {
    font-size: clamp(1.65rem, 9vw, 2.3rem);
  }

  .liv-consumer-sectionhead {
    align-items: flex-start;
    flex-direction: column;
  }

  .liv-store-card,
  .liv-consumer-store-card,
  [data-consumer-store] {
    border-radius: 1.1rem !important;
  }

  #liv-item-modal .modal-dialog,
  .liv-item-modal .modal-dialog {
    margin: .5rem;
  }

  #liv-item-modal .modal-content,
  .liv-item-modal .modal-content {
    border-radius: 1.1rem;
  }
}
