/* Presentation only. Keep merchant content, stock, pricing and checkout unchanged.
   Preserve the original Manrope body and Plus Jakarta Sans display families. */
:root {
  --shop-ink: #17243f;
  --muted: #596579;
  --line: #edf0f3;
  --shadow: 0 2px 8px #17243f06;
  background: #ffffff;
  color: var(--shop-ink);
}

body { background: #ffffff; }
/* Clip horizontal spill without turning body into a non-scrolling sticky ancestor.
   The more-specific customer-panel-open lock still owns modal background scrolling. */
@supports (overflow-x: clip) {
  html, body { overflow-x: clip; }
}
main { padding-top: 14px; }
.topbar { box-shadow: none; border-bottom-color: var(--line); }
.breadcrumbs { color: var(--muted); }
.store-card { border: 0; border-radius: 12px; box-shadow: none; background: #ffffff; }
.store-cover { height: 180px !important; }
.store-info { padding: 18px 4px 12px !important; gap: 18px; align-items: flex-start !important; }
.store-logo {
  width: 76px !important; height: 76px !important; flex: 0 0 76px !important;
  margin-top: 0 !important; border-radius: 16px !important; border-width: 1px;
  box-shadow: none !important;
}
.store-name { min-width: 0; padding-top: 0; }
.store-name h1 { font-size: 26px !important; line-height: 1.3; letter-spacing: -.035em; }
.store-name p { margin: 6px 0 10px; color: var(--muted); line-height: 1.5; }
.store-meta { gap: 7px 14px !important; color: var(--muted); }
.info-btn { min-width: 44px; min-height: 44px; margin-top: 0; border-color: #e3e7ee; border-radius: 8px; }
.store-name > .store-location {
  margin-top: 8px; padding-top: 0; border-top: 0; gap: 4px 8px;
  color: var(--muted); font-size: 12px; text-align: left;
}
.store-location [data-store-address] { flex: 1 1 220px; }
.store-location a[data-store-maps] {
  min-height: 44px; margin: 0; padding: 7px 0;
  border: 0; border-radius: 6px; background: transparent; color: #244bc9;
}
.delivery-details-card {
  min-height: 48px; margin: 8px 0 14px; padding: 10px 12px;
  border-color: #edf0f3; border-radius: 8px; background: #fafbfc;
}
.delivery-details-card > b { font-weight: 600; }
.delivery-details-card > span { font-size: 20px; }
.coupon-announcement { background: #f1f8f4; color: #176440; border-radius: 8px; margin-bottom: 12px; }
.coupon-announcement button { min-height: 44px; padding: 10px 14px; font-size: 13px; font-weight: 600; }
.coupon-announcement button:last-child { min-width: 44px; }
.store-announcement { background: #f6f8fc; color: #43516c; border-radius: 8px; margin: 12px 0; padding: 12px 14px; }
.showcase-heading { margin: 22px 0 12px; gap: 12px; }
.showcase-heading h2 { color: var(--shop-ink); font-size: 20px; font-weight: 700; letter-spacing: -.025em; }
.showcase-heading small { display: none; }
.showcase-heading > span { color: var(--muted); font-size: 11px; }
.highlight-track { gap: 12px; padding: 2px 2px 12px; }
.highlight-card, .premium-offer {
  position: relative; padding: 12px; border: 1px solid #edf0f3;
  border-radius: 12px; background: #ffffff; box-shadow: none;
  transition: border-color .15s ease;
}
.premium-card-kicker { position: absolute; inset: 10px 10px auto; justify-content: flex-end; min-height: 24px; }
.premium-card-kicker > span, .premium-highlight .premium-card-kicker { display: none; }
.premium-card-kicker > b, .premium-offer .premium-card-kicker > b {
  min-height: 24px; min-width: 40px; padding: 4px 7px; border-radius: 6px;
  background: #f1f8f4; color: #176440; font-size: 11px; font-weight: 700;
}
.highlight-card .highlight-art { height: 156px; margin: 8px 0 4px; background: transparent; }
.highlight-card .highlight-art img { max-width: 100%; max-height: 100%; object-fit: contain; }
.highlight-card .highlight-category { margin: 6px 0 4px; font-size: 10px; font-weight: 500; color: var(--muted); text-transform: none; letter-spacing: 0; }
.highlight-card > strong { margin: 0; min-height: 42px; font-size: 14px; line-height: 1.5; font-weight: 600; color: var(--shop-ink); }
.highlight-description { margin: 6px 0 10px; color: var(--muted); font-size: 12px; line-height: 1.5; }
.premium-saving { margin: 7px 0 10px; color: #176440; font-size: 11px; font-weight: 500; }
.highlight-bottom { width: 100%; margin: auto 0 0; padding-top: 10px; border-top: 0; gap: 4px; }
.highlight-bottom small, .highlight-bottom del { color: var(--muted); font-size: 11px; }
.highlight-bottom b { font-size: 20px; font-weight: 700; color: var(--shop-ink); }
.premium-card-action { gap: 5px; font-size: 10px; font-weight: 600; }
.premium-card-action i { width: 44px; height: 44px; flex: 0 0 44px; border-radius: 10px; box-shadow: none; }
.coupon-voucher, .offer-card.coupon-voucher { border-color: #edf0f3; border-radius: 12px; box-shadow: none; }
.voucher-label, .voucher-conditions { color: var(--muted); }
.voucher-action { box-shadow: none; min-height: 44px; }
.promo-carousel { margin: 12px 0; }
.promo-side {
  padding: 14px 16px; border: 0; border-radius: 8px;
  background: #f3f8f5; color: #244e3c; box-shadow: none;
}
.promo-side > span { color: #176440; font-size: 10px; font-weight: 600; letter-spacing: .025em; }
.promo-side h3 { color: #244e3c; font-size: 15px; font-weight: 600; }
.promo-side p { color: #496457; font-size: 12px; }
.promo-side > b { font-size: 28px; }
.category-sticky { background: #ffffff; backdrop-filter: none; padding-block: 6px !important; border-bottom: 1px solid #edf0f3; }
.category-chips button {
  min-width: 44px; min-height: 44px !important; height: 44px;
  border: 1px solid #edf0f3; border-radius: 8px; box-shadow: none;
  background: #ffffff; color: var(--muted);
}
.category-chips button.active { background: #eef3ff; color: #244bc9; border-color: #e1e9ff; box-shadow: none; }
.category-chips button b { font-weight: 600; }
.category-chips button i { border-radius: 6px; background: transparent; }
.products-title { margin-top: 24px; }
.products-title h2 { font-size: 22px; font-weight: 700; letter-spacing: -.025em; }
.products-title small { color: var(--muted); font-weight: 500; }
.catalog-tools { margin-bottom: 12px; }
.catalog-tools button, .catalog-tools label { min-height: 44px; border-radius: 8px; box-shadow: none; }
.catalog { gap: 0 28px; }
.product {
  grid-template-columns: minmax(0, 1fr) 150px; gap: 16px;
  padding: 20px 0; min-height: 170px; border: 0; border-bottom: 1px solid #edf0f3;
  border-radius: 0; background: #ffffff; box-shadow: none; transition: none;
}
.product h3 { margin-right: 0; font-weight: 600; color: var(--shop-ink); }
.product p { color: var(--muted); }
.product .image { width: 150px; height: 150px; background: transparent; }
.product .image img { max-width: 100%; max-height: 100%; object-fit: contain; }
.product-copy { padding-right: 4px; }
.price-line strong { color: var(--shop-ink); font-size: 18px !important; font-weight: 700; }
.price-line button { min-width: 44px; min-height: 44px; border-radius: 10px; box-shadow: none; }
.favorite-button { min-width: 44px; min-height: 44px; width: 44px; height: 44px; top: 12px; right: 0; box-shadow: none; }
.product.unavailable { background: #fafbfc; border: 0; border-bottom: 1px solid #edf0f3; }
.product.unavailable .restock-btn { min-height: 44px; }
.catalog-progress { color: var(--muted); }
.mobile-nav { box-shadow: none; border-top-color: #edf0f3; }
:focus-visible,
.highlight-card:focus-visible,
.category-chips button:focus-visible,
.price-line button:focus-visible,
.favorite-button:focus-visible,
.info-btn:focus-visible,
.delivery-details-card:focus-visible {
  outline: 3px solid #2457ed; outline-offset: 3px;
}

@media (hover: hover) {
  .highlight-card:hover, .premium-offer:hover { transform: none; box-shadow: none; border-color: #cbd4e1; }
  .product:hover { transform: none; box-shadow: none; background: #fcfcfd; }
}

@media (min-width: 761px) {
  .store-name { flex: 1; }
  .catalog { grid-template-columns: minmax(0, 1fr); }
}

@media (min-width: 1000px) {
  .catalog { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  main { padding-top: 0; }
  .coupon-announcement { margin: 0 -10px; border-radius: 0; width: calc(100% + 20px); }
  .store-card { margin: 0 -10px 8px !important; width: calc(100% + 20px); border-radius: 0; box-shadow: none; }
  .store-cover { height: 112px !important; }
  .store-info {
    display: grid; grid-template-columns: 56px minmax(0, 1fr);
    align-items: start !important; gap: 10px 12px; padding: 16px 14px 12px !important;
    margin-top: 0; border-radius: 0; text-align: left;
  }
  .store-logo {
    grid-column: 1; grid-row: 1; width: 56px !important; height: 56px !important;
    flex: 0 0 56px !important; margin-top: 0 !important; border-radius: 12px !important;
    font-size: 20px; border-width: 1px;
  }
  .store-name { grid-column: 2; grid-row: 1; width: 100%; padding: 0; }
  .store-name > div:first-child { justify-content: flex-start; }
  .store-name h1 { font-size: 20px !important; line-height: 1.35; }
  .store-name p { margin: 5px 0 8px; max-width: none; font-size: 12px !important; line-height: 1.5; }
  .store-meta { justify-content: flex-start !important; gap: 5px 10px !important; font-size: 11px !important; }
  .store-name > .store-location { justify-content: flex-start; gap: 4px 6px; font-size: 11px; line-height: 1.5; }
  .store-location [data-store-address] { flex: 1 1 calc(100% - 28px); max-width: none; }
  .store-location a[data-store-maps] { font-size: 11px; padding: 8px 0; min-height: 44px; margin-top: 0; }
  .info-btn { grid-column: 2; justify-self: start; min-height: 44px; margin: -4px 0 0; padding: 8px 12px; font-size: 12px; }
  .delivery-details-card { margin: 4px 0 10px; padding: 8px 10px; }
  .delivery-details-card > b { font-size: 12px; line-height: 1.5; text-align: left; }
  .mobile-search { top: 0 !important; margin: 10px 0 !important; height: 48px; border-color: #edf0f3; border-radius: 8px; background: #f7f8fa; }
  .mobile-search input { background: transparent; }
  .category-sticky { top: 48px !important; margin-top: 8px !important; background: #ffffff; padding-inline: 0 !important; }
  .category-chips button { max-width: 156px; padding: 6px 10px; gap: 5px; }
  .highlight-card { flex-basis: 65%; max-width: 240px; padding: 12px; }
  .highlight-card .highlight-art { height: 148px; }
  .showcase-heading { margin: 20px 0 10px; }
  .showcase-heading h2 { font-size: 18px; }
  .showcase-heading > span { max-width: 110px; line-height: 1.5; }
  .highlight-bottom b { font-size: 19px; }
  .promo-side { padding: 12px 14px; }
  .products-title { scroll-margin-top: 120px !important; }
  .catalog { gap: 0; }
  .product { grid-template-columns: minmax(0, 1fr) 116px; gap: 12px; min-height: 156px !important; padding: 16px 0 !important; }
  .product .image { width: 116px; height: 132px; }
  .product-copy { min-height: 132px; }
  .favorite-button { top: 8px; right: 0; }
}

@media (max-width: 380px) {
  .store-info { grid-template-columns: 44px minmax(0, 1fr); gap: 8px 10px; padding-inline: 12px !important; }
  .store-logo { width: 44px !important; height: 44px !important; flex-basis: 44px !important; }
  .store-name h1 { font-size: 18px !important; }
  .highlight-card { flex-basis: 74%; }
  .product { grid-template-columns: minmax(0, 1fr) 100px; gap: 10px; }
  .product .image { width: 100px; height: 124px; }
}

@media (prefers-reduced-motion: reduce) {
  .highlight-card, .premium-offer, .product { transition: none; transform: none; }
}

/* The same quiet storefront identity continues through every customer surface.
   Only presentation: keep visibility, panel positioning, scrolling and state logic. */
.cart, .orders-panel { background: #ffffff; box-shadow: -12px 0 36px #17243f12; }
.cart > header, .orders-panel > .customer-orders-header {
  padding: 24px; background: #ffffff; color: var(--shop-ink);
  border-bottom: 1px solid var(--line); box-shadow: none;
}
.orders-panel > .customer-orders-header { grid-template-columns: 44px minmax(0, 1fr) 44px; gap: 12px; }
.customer-orders-mark {
  width: 44px; height: 44px; border: 0; border-radius: 10px;
  background: #f4f6f8; color: #596579; box-shadow: none;
}
.cart > header small, .orders-panel > .customer-orders-header small {
  color: var(--muted); font-size: 11px; font-weight: 500; letter-spacing: .04em;
}
.cart > header h2, .orders-panel > .customer-orders-header h2 {
  color: var(--shop-ink); font-size: 24px; line-height: 1.3; font-weight: 700; margin: 5px 0 8px;
}
.cart > header p, .orders-panel > .customer-orders-header p {
  color: var(--muted); font-size: 13px; line-height: 1.6; font-weight: 400;
}
.cart .close, .orders-panel .close, .orders-panel > .customer-orders-header .close,
.modal-close, .preference-close, .store-details-dialog > header > button {
  width: 44px; height: 44px; min-width: 44px; min-height: 44px;
  border: 1px solid var(--line); border-radius: 10px;
  background: #ffffff; color: #43516c; box-shadow: none;
}
.orders-refresh { padding: 16px 24px; background: #ffffff; border-bottom: 1px solid var(--line); }
.orders-refresh span { color: var(--muted); font-size: 12px; line-height: 1.6; }
.orders-refresh span.error { color: #9a3d22; }
.orders-refresh button, .customer-order > footer button {
  min-height: 44px; padding: 10px 14px; border: 1px solid #dce2e9;
  border-radius: 8px; background: #ffffff; color: #244bc9;
  font-size: 13px; font-weight: 600; box-shadow: none;
}
.order-lookup { margin: 0 24px; padding: 8px 0; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: #ffffff; box-shadow: none; }
.order-lookup summary, .order-receipt summary { min-height: 44px; padding: 12px 0; box-sizing: border-box; color: #244bc9; font-size: 13px; line-height: 20px; font-weight: 600; }
.order-lookup p { color: var(--muted); font-size: 13px; }
.order-lookup button, .orders-empty button { min-height: 44px; border-radius: 8px; background: #2457ed; font-size: 13px; font-weight: 600; box-shadow: none; }
.customer-orders { padding: 0 24px 20px; gap: 0; }
.customer-order { border: 0; border-bottom: 1px solid #dce2e9; border-radius: 0; background: #ffffff; box-shadow: none; }
.customer-order > header { padding: 24px 0 16px; gap: 12px; }
.customer-order > header b { color: var(--shop-ink); font-size: 18px; font-weight: 700; }
.customer-order > header small { color: var(--muted); font-size: 11px; letter-spacing: 0; line-height: 1.6; }
.order-status { background: #eff3ff; color: #244bc9; padding: 7px 9px; border-radius: 6px; font-size: 11px; line-height: 1.5; font-weight: 600; }
.order-status.status-entregue { background: #f0f8f3; color: #176440; }
.order-status.status-cancelado { background: #fff3f1; color: #a12f25; }
.customer-order .order-stage-hint { margin: 0 0 16px; color: var(--muted); font-size: 13px; line-height: 1.6; }
.order-timeline { margin: 0 0 16px; padding: 14px 12px; gap: 14px 8px; border: 0; border-radius: 8px; background: #f7f8fa; }
.order-timeline li { color: #596579; font-size: 11px; line-height: 1.5; }
.order-timeline i { background: #e8ebef; color: #596579; font-size: 11px; }
.order-timeline .done { color: #176440; }
.order-timeline .done i { background: #e4f2e9; color: #176440; }
.order-timeline .current { color: #244bc9; font-weight: 600; }
.order-timeline .current i { color: #ffffff; background: #2457ed; box-shadow: none; }
.order-meta { margin: 0 0 12px; }
.order-meta span { background: #f4f6f8; color: var(--muted); font-size: 11px; border-radius: 5px; }
.order-receipt { margin: 0; padding: 0; border-top-color: var(--line); }
.order-receipt li { padding: 12px 0; border-bottom-color: var(--line); }
.order-receipt li b { color: var(--shop-ink); font-size: 13px; font-weight: 600; }
.order-receipt li strong { color: var(--shop-ink); font-size: 13px; font-weight: 600; }
.order-receipt li > span, .presentation > span { min-width: 0; overflow-wrap: anywhere; }
.order-receipt li strong, .presentation strong { flex-shrink: 0; }
.order-receipt small, .order-receipt p { color: var(--muted); font-size: 12px; line-height: 1.6; }
.receipt-totals { color: var(--muted); font-size: 13px; }
.order-cancellation-reason { background: #fff3f1; color: #a12f25; border-color: #f4d7d2; border-radius: 8px; font-size: 13px; line-height: 1.6; }
.customer-order > footer { padding: 16px 0 24px; border-top-color: var(--line); background: #ffffff; color: var(--shop-ink); }
.customer-order > footer strong { color: var(--shop-ink); font-size: 22px; font-weight: 700; }
.customer-order > footer small { color: var(--muted); font-size: 11px; }
.orders-privacy { margin: 0 24px 24px; color: var(--muted); font-size: 12px; line-height: 1.6; }
.orders-empty b, .empty-cart b { color: var(--shop-ink); font-size: 18px; font-weight: 600; }
.orders-empty p, .empty-cart p { color: var(--muted); font-size: 13px; line-height: 1.6; }
.customer-empty-art { max-width: 160px; filter: none; }
.customer-empty-art svg { filter: none; }

.cart-progress { padding: 14px 24px; background: #fafbfc; border-bottom-color: var(--line); }
.cart-progress span { color: var(--muted); font-size: 12px; line-height: 1.5; }
.cart-progress > i { height: 4px; background: #e8ebef; }
.cart-progress > i > b { background: #2457ed; }
.cart-items, .checkout-fields { background: #ffffff; }
.cart-item { padding: 20px 0; border-bottom-color: var(--line); }
.cart-item-art { border-radius: 8px; background: #fafbfc; }
.cart-item-copy b { color: var(--shop-ink); font-size: 13px; font-weight: 600; line-height: 1.6; }
.cart-item-copy small { color: var(--muted); font-size: 12px; }
.cart-item-copy strong { color: var(--shop-ink); font-size: 15px; font-weight: 700; }
.qty-control { border-color: #e3e7ee; border-radius: 8px; background: #ffffff; }
.qty-control button { width: 44px; height: 44px; min-width: 44px; min-height: 44px; color: #244bc9; background: #ffffff; }
.qty-control b { color: var(--shop-ink); font-size: 13px; }
.checkout-section-title { padding-top: 24px; margin-top: 24px; border-top-color: var(--line); color: var(--shop-ink); font-size: 17px; font-weight: 700; }
.checkout-section-title > span { background: #f4f6f8; color: #596579; border-radius: 7px; font-size: 12px; font-weight: 600; }
.section-hint, .receiving-hint { color: var(--muted); font-size: 13px; line-height: 1.6; }
.receiving-hint { background: #fafbfc; border-color: var(--line); border-radius: 8px; }
.cart label, .order-lookup label { color: #43516c; font-size: 13px; font-weight: 600; }
.cart input, .cart select, .cart textarea, .order-lookup input,
.delivery-preferences input {
  min-height: 46px; border-color: #dce2e9; border-radius: 8px;
  background: #ffffff; color: var(--shop-ink); font-size: 14px;
}
.cart input::placeholder, .cart textarea::placeholder, .order-lookup input::placeholder,
.delivery-preferences input::placeholder { color: var(--muted); font-size: 13px; }
.cart input[aria-invalid="true"], .order-lookup input[aria-invalid="true"] { border-color: #bf3d31; background: #fff8f7; }
.fulfillment-tabs button { min-height: 46px; border-color: #dce2e9; border-radius: 8px; background: #ffffff; color: var(--muted); font-size: 13px; font-weight: 600; box-shadow: none; }
.fulfillment-tabs button.active { border-color: #2457ed; background: #f5f7ff; color: #244bc9; box-shadow: none; }
.coupon-field button { min-height: 46px; border-color: #dce2e9; border-radius: 8px; background: #ffffff; color: #244bc9; font-size: 13px; font-weight: 600; }
.summary { margin-top: 24px; padding: 16px 0; border: 0; border-top: 1px solid var(--line); border-radius: 0; background: #ffffff; }
.summary > div { color: var(--muted); font-size: 13px; }
.summary .total { color: var(--shop-ink); border-top-color: var(--line); }
.summary .total strong { color: var(--shop-ink); font-size: 24px; font-weight: 700; }
.checkout { min-height: 52px; border-radius: 8px; background: #2457ed; font-size: 14px; font-weight: 700; box-shadow: none; }
.checkout-assurance { color: var(--muted); font-size: 12px; line-height: 1.6; }
.checkout-message, .coupon-message.error { background: #fff3f1; color: #a12f25; border-color: #f4d7d2; border-radius: 8px; font-size: 13px; line-height: 1.6; }
.coupon-message.success { background: #f0f8f3; color: #176440; border-color: #d5e9dc; border-radius: 8px; font-size: 13px; }
.minimum-order-notice { background: #fff9ed; color: #805a16; border-color: #f0e4c9; border-radius: 8px; font-size: 13px; line-height: 1.6; }
.cart-complements { background: #fafbfc; border-color: var(--line); border-radius: 10px; box-shadow: none; }
.cart-complements header small { color: var(--muted); font-size: 11px; font-weight: 500; letter-spacing: .03em; }
.cart-complements header h3 { color: var(--shop-ink); font-size: 17px; font-weight: 700; }
.cart-complements header > span { background: #f0f2f5; color: var(--muted); font-size: 11px; font-weight: 500; }
.cart-complement { border: 0; border-bottom: 1px solid #e8ebef; border-radius: 0; background: transparent; }
.cart-complement-art { background: #ffffff; border-radius: 8px; }
.cart-complement h4 { color: var(--shop-ink); font-size: 12px; font-weight: 600; }
.cart-complement-copy strong { color: var(--shop-ink); font-size: 13px; font-weight: 700; }
.cart-complement-copy small { color: var(--muted); font-size: 11px; }
.cart-complement-copy > span { color: var(--muted); }
.cart-complement button { min-height: 44px; border-color: #dce2e9; border-radius: 8px; background: #ffffff; color: #244bc9; font-size: 11px; font-weight: 600; box-shadow: none; }

.product-dialog, .store-details-dialog, .delivery-preferences { border-color: var(--line); border-radius: 16px; background: #ffffff; box-shadow: 0 16px 60px #17243f20; }
.overlay, .product-modal, .store-details-dialog::backdrop, .delivery-preferences::backdrop { background: #17243f66; backdrop-filter: none; }
.product-dialog .dialog-body > small { color: var(--muted); font-size: 11px; font-weight: 500; letter-spacing: .03em; }
.product-dialog .dialog-body h2 { color: var(--shop-ink); font-weight: 700; }
.product-dialog .dialog-body > p { color: var(--muted); font-size: 14px; }
.product-dialog .dialog-body h3 { color: var(--shop-ink); font-weight: 600; }
.product-facts li { border-color: var(--line); border-radius: 6px; background: #f7f8fa; color: var(--muted); font-size: 12px; }
.dialog-stock { background: #f0f8f3; color: #176440; border-radius: 8px; font-size: 12px; }
.presentation { min-height: 64px; border-color: #e3e7ee; border-radius: 8px; background: #ffffff; color: var(--shop-ink); }
.presentation:hover { border-color: #2457ed; background: #fafbfc; }
.presentation small { color: var(--muted); font-size: 12px; }
.presentation strong { color: var(--shop-ink); font-weight: 700; }
.restock-dialog { min-height: 44px; border-radius: 8px; box-shadow: none; }
.store-details-dialog > header small, .delivery-preferences > header small { color: var(--muted); font-size: 11px; letter-spacing: .03em; font-weight: 500; }
.store-details-dialog h2, .delivery-preferences h2 { color: var(--shop-ink); font-size: 22px; font-weight: 700; }
.store-details-dialog dt, .store-details-dialog p, .delivery-preferences > header p { color: var(--muted); font-size: 13px; line-height: 1.6; }
.store-details-dialog dd { color: var(--shop-ink); font-size: 14px; font-weight: 600; }
.store-details-location { background: #fafbfc; border-color: var(--line); border-radius: 8px; }
.store-details-location h3 { color: var(--shop-ink); font-weight: 600; }
.delivery-preferences label { color: #43516c; font-size: 13px; }
.preference-modes button { border-color: #dce2e9; border-radius: 8px; background: #ffffff; color: var(--shop-ink); box-shadow: none; }
.preference-modes button small { color: var(--muted); font-size: 12px; }
.preference-modes button.selected { border-color: #2457ed; background: #f5f7ff; box-shadow: none; }
.preference-cep button { min-height: 46px; border-color: #dce2e9; border-radius: 8px; background: #ffffff; color: #244bc9; }
.preference-estimate { border-color: var(--line); border-radius: 8px; background: #fafbfc; color: var(--muted); }
.preference-estimate strong { color: var(--shop-ink); font-weight: 700; }
.preference-estimate small, .preference-message, .store-details-note { color: var(--muted); font-size: 12px; line-height: 1.6; }
.preference-confirm { min-height: 50px; border-radius: 8px; background: #2457ed; font-weight: 600; box-shadow: none; }
.customer-location { margin: 0 0 18px; }
.customer-location-button { display: flex; align-items: center; gap: 12px; width: 100%; padding: 12px; min-height: 64px; border: 1px solid var(--line); border-radius: 8px; background: #ffffff; color: var(--shop-ink); text-align: left; }
.customer-location-button > svg { flex: 0 0 24px; width: 24px; height: 24px; color: #244bc9; }
.customer-location-button > span { min-width: 0; display: grid; gap: 4px; }
.customer-location-button strong { font-size: 14px; font-weight: 600; line-height: 1.5; }
.customer-location-button small { color: var(--muted); font-size: 12px; line-height: 1.5; }
.customer-location > p { margin: 8px 0 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.customer-location-actions { display: flex; flex-wrap: wrap; gap: 4px 16px; }
.customer-location-actions a, .customer-location-actions button { display: inline-flex; align-items: center; min-height: 44px; padding: 4px 0; border: 0; background: transparent; color: #244bc9; font-size: 12px; text-decoration: underline; text-underline-offset: 3px; }
.customer-location-button:focus-visible, .customer-location-actions a:focus-visible, .customer-location-actions button:focus-visible { outline: 3px solid #2457ed; outline-offset: 3px; }
.flyer-card { border-color: var(--line); border-radius: 10px; box-shadow: none; }
.flyer-card strong { color: var(--shop-ink); font-weight: 600; }
.flyer-card span { color: var(--muted); }
.flyer-product { background: #fafbfc; border-color: var(--line); border-radius: 8px; }
.coupon-voucher:not([data-theme="custom"]) .voucher-kind { background: #f0f2f5; color: #43516c; border-radius: 6px; }
.voucher-saving strong { color: var(--shop-ink); font-weight: 700; }
.voucher-caption { color: var(--shop-ink); font-weight: 600; }
.voucher-caption > small, .voucher-code > small { color: var(--muted); }
.voucher-conditions { color: var(--muted); font-size: 12px; }

.reorder-card { background: #fafbfc; border-color: var(--line); border-radius: 8px; box-shadow: none; }
.reorder-card small { color: var(--muted); font-size: 11px; font-weight: 500; letter-spacing: .03em; }
.reorder-card h3 { color: var(--shop-ink); font-size: 16px; font-weight: 600; }
.reorder-card p { color: var(--muted); font-size: 12px; }
.reorder-card button, .mini-rail button, .no-results button { min-height: 44px; font-size: 13px; border-radius: 8px; box-shadow: none; }
.mini-rail button { border-color: var(--line); }
.mini-rail button i { background: #f4f6f8; color: var(--muted); }
.mini-rail button b { color: var(--shop-ink); font-size: 12px; font-weight: 600; }
.mini-rail button small { color: #176440; font-size: 12px; }
.mini-rail > div:first-child > span, .no-results p { color: var(--muted); font-size: 12px; }
.no-results { border: 0; border-radius: 0; background: #ffffff; box-shadow: none; }
.floating-cart, .cart-top { border-radius: 8px; box-shadow: none; background: #2457ed; }
.floating-cart { min-height: 48px; }
.floating-cart b, .floating-cart strong { font-size: 14px; font-weight: 600; }
.added-toast { border-radius: 8px; background: #17243f; font-size: 13px; font-weight: 500; box-shadow: none; }
body > footer { border-top: 1px solid var(--line); background: #fafbfc; color: var(--muted); }
body > footer p { color: var(--muted); font-size: 12px; }
.demo-ribbon { background: #fff9ed; color: #805a16; font-size: 11px; font-weight: 500; }
.catalog-loader { background: #ffffff; color: var(--muted); }
.cart button:focus-visible, .orders-panel button:focus-visible,
.product-dialog .modal-close:focus-visible, .coupon-voucher:focus-visible, .catalog-progress button:focus-visible,
.cart input:focus-visible, .cart select:focus-visible, .cart textarea:focus-visible,
.order-lookup input:focus-visible, .order-lookup summary:focus-visible, .order-receipt summary:focus-visible {
  outline: 3px solid #2457ed; outline-offset: 3px;
}
@media (max-width: 620px) {
  .cart > header, .orders-panel > .customer-orders-header { padding: max(20px, env(safe-area-inset-top)) 16px 20px; }
  .orders-panel > .customer-orders-header { grid-template-columns: 36px minmax(0, 1fr) 44px; gap: 10px; }
  .customer-orders-mark { width: 36px; height: 40px; border-radius: 8px; }
  .cart > header h2, .orders-panel > .customer-orders-header h2 { font-size: 22px; }
  .orders-refresh { padding: 14px 16px; }
  .order-lookup { margin: 0 16px; }
  .customer-orders { padding: 0 16px 20px; }
  .orders-privacy { margin: 0 16px 24px; }
  .cart-progress { padding-inline: 16px; }
  .cart input, .cart select, .cart textarea, .order-lookup input, .delivery-preferences input { font-size: 16px; }
  .product-dialog { border-radius: 16px 16px 0 0; }
  .store-details-dialog, .delivery-preferences { padding: 20px; border-radius: 14px; }
  .cart-complements { margin-inline: 16px; padding: 12px; }
  .cart-complement { grid-template-columns: 40px minmax(0, 1fr) auto; gap: 8px; }
  .cart-complement-art { width: 40px; height: 40px; }
  .cart-complement button { padding-inline: 8px; }
}
