/* Compras: o catálogo mantém a linguagem de papel, ervas e latão da casa. */
.shop-catalog-tools { display: flex; flex-direction: column; align-items: flex-end; gap: 14px; }
.shop-catalog-cart { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; padding: 8px 0; border: 0; border-bottom: 1px solid #c3ab65; background: none; color: #f3ecdd; font: 700 14px 'Nunito Sans', sans-serif; cursor: pointer; }
.shop-catalog-cart > span { display: grid; place-items: center; min-width: 25px; height: 25px; border: 1px solid #a88b4d; border-radius: 50%; color: #e6d7af; font-variant-numeric: tabular-nums; }
.shop-catalog-empty, .shop-catalog-status { margin: 0 0 22px; max-width: 680px; color: #e6d7af; font: 14px/1.6 'Nunito Sans', sans-serif; }
.shop-enabled .blend-grid > article { grid-column: auto; min-width: 0; }
.shop-enabled .blend-grid .desktop-s060, .shop-enabled .blend-grid .desktop-s061 { overflow-wrap: anywhere; }
.shop-image-placeholder { padding: 24px; color: #5d644c; font: 500 22px/1.5 Lora, Georgia, serif; text-align: center; overflow-wrap: anywhere; }
.shop-enabled .blend-grid > article[hidden], .shop-cart [hidden], .shop-bag[hidden], .shop-catalog-cart[hidden], .shop-toast[hidden], .shop-order [hidden] { display: none; }
.page .desktop-s057 > .shop-product-image { width: 172px; height: 220px; object-fit: contain; }
.page .shop-add { display: flex; align-items: center; justify-content: center; gap: 7px; width: 100%; min-height: 46px; padding: 11px 7px; border: 1px solid #2e4a35; border-radius: 3px; background: #2e4a35; color: #f3ecdd; font: 700 13px/1.5 'Nunito Sans', sans-serif; cursor: pointer; }
.page .shop-add:hover { background: #1f241d; }
.page .shop-add.is-added { background: #49653c; }
.page .shop-add:disabled { opacity: .65; cursor: not-allowed; }
.page .shop-enabled .product-contact, .shop-enabled .product-contact { display: inline-flex; justify-content: center; align-items: center; gap: 4px; min-height: 36px; padding: 4px 0; border: 0; background: none; color: #435541; font: 600 11px/1.4 'Nunito Sans', sans-serif; text-transform: none; letter-spacing: 0; text-decoration: underline; text-underline-offset: 3px; }
.page .shop-enabled .product-contact:hover, .shop-enabled .product-contact:hover { background: none; color: #1f241d; }
.shop-bag { position: fixed; z-index: 35; bottom: 24px; right: max(24px, calc((100vw - 1180px) / 2)); display: flex; align-items: center; gap: 12px; min-height: 56px; padding: 11px 18px; border: 1px solid #a88b4d; border-radius: 3px; background: #233d2c; color: #f3ecdd; box-shadow: 0 5px 20px #1f241d26; font: 700 14px 'Nunito Sans', sans-serif; cursor: pointer; }
.shop-bag:hover { background: #1f241d; }
.shop-bag-count { min-width: 22px; font-variant-numeric: tabular-nums; color: #e6d7af; }
.shop-toast { position: fixed; z-index: 36; bottom: 94px; right: max(24px, calc((100vw - 1180px) / 2)); max-width: min(340px, calc(100vw - 48px)); padding: 14px 18px; border: 1px solid #a88b4d; background: #f3ecdd; color: #2e4a35; box-shadow: 0 4px 18px #1f241d20; font: 700 14px/1.5 'Nunito Sans', sans-serif; }
body.shop-dialog-open { overflow: hidden; }
.shop-cart { box-sizing: border-box; width: min(980px, calc(100vw - 64px)); max-width: none; max-height: calc(100dvh - 64px); margin: auto; padding: 0; overflow: auto; overscroll-behavior: contain; color: #2a2118; background: #f3ecdd; border: 1px solid #b1a184; border-top: 3px solid #a88b4d; border-radius: 4px; box-shadow: 0 30px 100px #10180f66; font: 16px/1.5 'Nunito Sans', sans-serif; }
.shop-cart::backdrop { background: #142016b8; }
.shop-cart *, .shop-order * { box-sizing: border-box; }
.shop-cart :focus-visible, .shop-bag:focus-visible, .shop-order :focus-visible { outline: 3px solid #a64b20; outline-offset: 3px; }
.shop-cart button, .shop-cart input, .shop-bag, .shop-add, .shop-order button { touch-action: manipulation; }
.shop-cart-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; padding: 30px 36px 26px; border-bottom: 1px solid #cfc3ac; }
.shop-eyebrow { margin: 0 0 7px; color: #7a5c1e; font: 800 10px/1.5 'Nunito Sans', sans-serif; letter-spacing: .15em; text-transform: uppercase; }
.shop-cart h2 { margin: 0; font: 500 36px/1.2 Lora, Georgia, serif; }
.shop-cart-header p:last-child { margin: 9px 0 0; color: #615845; font-size: 14px; }
.shop-close { display: grid; place-items: center; flex-shrink: 0; width: 44px; height: 44px; padding: 0; border: 1px solid #b9ac91; border-radius: 50%; background: transparent; color: #2e4a35; font: 300 30px/1 'Nunito Sans', sans-serif; cursor: pointer; }
.shop-close:hover { background: #e5dbc7; }
.shop-cart-body { display: block; }
.shop-cart-form { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(320px, 1fr); }
.shop-selection { padding: 28px 32px 32px 36px; min-width: 0; }
.shop-selection-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.shop-selection h3 { margin: 0; font: 500 21px/1.4 Lora, Georgia, serif; }
#shop-item-count { color: #6a604f; font-size: 13px; }
.shop-last-order { margin: 18px 0 8px; padding: 13px 15px; border-left: 2px solid #78835e; background: #e6e4d2; color: #354c35; font-size: 13px; line-height: 1.6; }
.shop-last-order p { margin: 0 0 5px; }
.shop-last-order a { color: #2e4a35; font-weight: 700; text-underline-offset: 3px; }
.shop-lines { list-style: none; padding: 0; margin: 4px 0 14px; }
.shop-line { display: grid; grid-template-columns: 66px minmax(0, 1fr); gap: 16px; padding: 22px 0; border-bottom: 1px solid #d6cab5; }
.shop-line-image { width: 66px; height: 86px; object-fit: contain; background: #eadfc8; border-radius: 2px; }
.shop-line-name { margin: 0 0 3px; font: 500 18px/1.4 Lora, Georgia, serif; overflow-wrap: anywhere; }
.shop-line-meta { margin: 0; color: #6a604f; font-size: 12px; }
.shop-line-footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 12px; margin-top: 11px; }
.shop-quantity { display: inline-flex; align-items: center; border: 1px solid #b9ac91; border-radius: 3px; }
.shop-quantity button { width: 38px; height: 38px; padding: 0; border: 0; background: none; color: #2e4a35; font: 20px/1 'Nunito Sans', sans-serif; cursor: pointer; }
.shop-quantity button:hover { background: #e4d9c3; }
.shop-quantity button:disabled { opacity: .4; cursor: default; }
.shop-quantity output { min-width: 26px; text-align: center; font-size: 14px; font-variant-numeric: tabular-nums; }
.shop-line-price { font-size: 15px; font-weight: 800; font-variant-numeric: tabular-nums; }
.shop-remove, .shop-text-button { display: inline-block; min-height: 36px; padding: 4px 0; border: 0; background: none; color: #5b614c; font: 600 12px/1.5 'Nunito Sans', sans-serif; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.shop-remove:hover, .shop-text-button:hover { color: #2a2118; }
.shop-text-button { min-height: 44px; font-size: 14px; color: #2e4a35; }
.shop-checkout { min-width: 0; padding: 28px 32px; border-left: 1px solid #cfc3ac; background: #eae2d1; }
.shop-cart-form fieldset { min-width: 0; border: 0; padding: 0; margin: 0; }
.shop-cart-form legend { margin-bottom: 18px; padding: 0; font: 500 21px/1.4 Lora, Georgia, serif; }
.shop-field { display: flex; flex-direction: column; gap: 5px; margin-bottom: 14px; }
.shop-field label { font-size: 13px; font-weight: 700; }
.shop-field input { width: 100%; min-height: 43px; padding: 9px 11px; border: 1px solid #ad9f83; border-radius: 2px; background: #fcf8ee; color: #2a2118; font: 16px/1.4 'Nunito Sans', sans-serif; }
.shop-field input:user-invalid { border-color: #963c25; }
.shop-field-help { color: #605643; font-size: 11px; line-height: 1.5; }
.shop-cart-form .shop-fulfillment { margin-top: 25px; padding-top: 18px; border-top: 1px solid #c6b99e; }
.shop-cart-form .shop-fulfillment > legend { float: left; width: 100%; margin-bottom: 15px; }
.shop-fulfillment-options { clear: both; display: grid; gap: 9px; }
.shop-fulfillment-option { display: flex; align-items: flex-start; gap: 11px; padding: 13px 12px; border: 1px solid #b9ac91; border-radius: 3px; background: #f5efdf; cursor: pointer; }
.shop-fulfillment-option:has(input:checked) { border-color: #49653c; background: #e2e7d8; }
.shop-fulfillment-option:has(input:disabled) { cursor: wait; }
.shop-fulfillment-option input { flex: 0 0 auto; width: 18px; height: 18px; margin: 2px 0 0; accent-color: #2e4a35; }
.shop-fulfillment-option strong { display: block; color: #2e4a35; font-size: 14px; }
.shop-fulfillment-option small { display: block; margin-top: 3px; color: #605643; font-size: 12px; line-height: 1.5; }
.shop-pickup-note { margin: 13px 0 0; color: #605643; font-size: 12px; line-height: 1.6; }
.shop-pickup-note p { margin: 3px 0; }
.shop-cart-form .shop-delivery-address { padding-top: 19px; margin-top: 1px; }
.shop-cart-form .shop-delivery-address > legend { float: left; width: 100%; margin-bottom: 13px; color: #2e4a35; font: 800 14px/1.5 'Nunito Sans', sans-serif; }
.shop-address-grid { clear: both; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 12px; }
.shop-field-wide { grid-column: 1 / -1; }
.shop-optional { color: #605643; font-size: 11px; font-weight: 400; }
#shop-state { text-transform: uppercase; }
.shop-secondary { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 10px 16px; border: 1px solid #49653c; border-radius: 3px; background: transparent; color: #2e4a35; font: 800 14px/1.5 'Nunito Sans', sans-serif; cursor: pointer; }
.shop-secondary:hover { background: #e2e7d8; }
.shop-secondary:disabled { opacity: .6; cursor: not-allowed; }
.shop-quote { width: 100%; }
.shop-delivery-message { margin: 10px 0 0; color: #435541; font-size: 12px; line-height: 1.6; }
.shop-delivery-message[data-error="true"] { color: #76341e; }
.shop-costs { margin-top: 22px; }
.shop-cost-row { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 9px; color: #605643; font-size: 13px; }
.shop-cost-row > :last-child { white-space: nowrap; font-variant-numeric: tabular-nums; }
.shop-total.is-pending strong { color: #605643; font: 700 15px/1.5 'Nunito Sans', sans-serif; }
.shop-order-fulfillment { margin: 14px 0 3px; font-size: 14px; font-weight: 800; color: #2e4a35; }
.shop-order-address { margin: 3px 0; white-space: pre-line; overflow-wrap: anywhere; }
.shop-total { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 16px 0; border-top: 1px solid #c6b99e; font-size: 14px; }
.shop-total strong { font: 500 26px/1.4 Lora, Georgia, serif; color: #2e4a35; white-space: nowrap; font-variant-numeric: tabular-nums; }
.shop-primary { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 12px 18px; border: 1px solid #2e4a35; border-radius: 3px; background: #2e4a35; color: #f3ecdd; font: 700 14px/1.5 'Nunito Sans', sans-serif; text-decoration: none; text-align: center; cursor: pointer; }
.shop-primary:hover { background: #1f241d; }
.shop-primary:disabled { opacity: .55; cursor: not-allowed; }
.shop-pay { width: 100%; }
.shop-payment-note { margin: 12px 0 0; color: #605643; font-size: 11px; line-height: 1.65; }
.shop-checkout-note { margin: 0 0 12px; color: #63543a; font-size: 13px; line-height: 1.6; }
.shop-checkout-note:empty { display: none; }
.shop-error { margin: 0 0 14px; padding: 12px; border-left: 3px solid #963c25; background: #f4ded1; color: #76341e; font-size: 13px; line-height: 1.6; }
.shop-empty { padding: 36px 24px 54px; text-align: center; }
.shop-empty-leaf { color: #72845a; font: 64px/1.2 Georgia, serif; }
.shop-empty h3 { margin: 12px 0; font: 500 27px/1.4 Lora, Georgia, serif; }
.shop-empty p { color: #605643; margin: 0 0 24px; }
.shop-payment-result { margin-top: 18px; padding-top: 20px; border-top: 1px solid #b0a17e; }
.shop-payment-result h3 { margin: 0 0 12px; color: #2e4a35; font: 500 23px/1.35 Lora, Georgia, serif; }
.shop-payment-result > p:not([class]) { font-size: 14px; }
.shop-payment-result .shop-primary { width: 100%; margin-top: 4px; }
.shop-order-link { display: block; margin-top: 14px; color: #2e4a35; font-weight: 700; font-size: 13px; text-underline-offset: 4px; }
.shop-order { margin: 0; min-height: 100vh; color: #2a2118; background: #f3ecdd; font: 16px/1.65 'Nunito Sans', sans-serif; }
.shop-order-header { background: #1f241d; padding: 25px max(32px, calc((100% - 960px) / 2)); }
.shop-order-brand { display: inline-flex; gap: 17px; align-items: center; color: #f3ecdd; font: 24px Lora, Georgia, serif; text-decoration: none; }
.shop-order-brand img { width: 45px; height: 50px; object-fit: contain; }
.shop-order-main { width: min(760px, calc(100% - 48px)); margin: 55px auto 80px; }
.shop-order h1 { margin: 10px 0 18px; font: 500 clamp(31px, 5vw, 43px)/1.25 Lora, Georgia, serif; text-wrap: balance; }
.shop-order-intro { color: #635845; max-width: 620px; }
.shop-order-panel { margin: 30px 0; padding: 26px 30px; border: 1px solid #c8bca3; background: #eae2d1; }
.shop-order-status { display: inline-block; padding: 5px 11px; border: 1px solid #b4a27b; color: #675321; font-size: 13px; font-weight: 800; }
.shop-order-status[data-status="paid"] { border-color: #6b815f; color: #2e4a35; background: #e2e9d9; }
.shop-order-id { margin: 14px 0; color: #675d4e; font-size: 12px; overflow-wrap: anywhere; }
.shop-order-items { list-style: none; padding: 0; margin: 20px 0; }
.shop-order-items li { display: flex; justify-content: space-between; gap: 20px; padding: 12px 0; border-bottom: 1px solid #cbbfa8; }
.shop-order-items strong { white-space: nowrap; font-variant-numeric: tabular-nums; }
.shop-order-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 14px 24px; }
.shop-order-help { color: #675d4e; font-size: 13px; }
.shop-order-help a { color: #2e4a35; text-underline-offset: 4px; }
@media (min-width: 1100px) {
  .shop-enabled .blend-grid > article:nth-last-child(2):nth-child(4n + 1) { grid-column: 2; }
  .shop-enabled .blend-grid > article:last-child:nth-child(4n + 2) { grid-column: 3; }
}
@media (max-width: 760px) {
  .shop-catalog-tools { align-items: flex-start; }
  .shop-cart { width: calc(100vw - 24px); max-height: calc(100dvh - 24px); }
  .shop-cart-header { padding: 23px 22px; }
  .shop-cart h2 { font-size: 29px; }
  .shop-cart-form { grid-template-columns: minmax(0, 1fr); }
  .shop-selection, .shop-checkout { padding: 24px 22px; }
  .shop-checkout { border-left: 0; border-top: 1px solid #cfc3ac; }
  .shop-bag { bottom: max(16px, env(safe-area-inset-bottom)); right: 16px; }
  .shop-toast { right: 16px; bottom: 86px; }
  .shop-order-panel { padding: 22px; }
}
@media (prefers-reduced-motion: no-preference) {
  .shop-cart[open] { animation: shop-arrive .22s ease-out; }
  .shop-toast { animation: shop-arrive .18s ease-out; }
  @keyframes shop-arrive { from { opacity: 0; transform: translateY(9px); } to { opacity: 1; transform: translateY(0); } }
}

/* Consulta local de CEP: número e complemento seguem sob controle do cliente. */
.shop-postal-input { display: flex; align-items: stretch; gap: 8px; }
.shop-postal-input input { flex: 1; min-width: 0; width: auto; }
.shop-postal-search { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 46px; min-height: 44px; padding: 0; border: 1px solid #2e4a35; border-radius: 3px; background: #2e4a35; color: #fcf8ee; cursor: pointer; }
.shop-postal-search:hover { background: #203b28; }
.shop-postal-search:focus-visible { outline: 3px solid #ad8d47; outline-offset: 3px; }
.shop-postal-search:disabled { opacity: .55; cursor: wait; }
.shop-postal-status { color: #2e4a35; }
.shop-postal-status:empty { display: none; }
.shop-postal-status[data-error="true"] { color: #76341e; }

.shop-mapbox-result { margin-top: 14px; padding: 18px; border: 1px solid #a8ad91; border-radius: 4px; background: #f8f5e9; }
.shop-mapbox-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0 0 16px; }
.shop-mapbox-metrics dt { font-size: .72rem; color: #625e50; line-height: 1.4; }
.shop-mapbox-metrics dd { margin: 5px 0 0; font-family: Georgia, serif; font-size: 1.3rem; color: #29442f; }
.shop-mapbox-result p { margin: 9px 0; font-size: .78rem; line-height: 1.55; overflow-wrap: anywhere; }
.shop-mapbox-result .shop-mapbox-warning { padding: 9px 11px; border-left: 2px solid #ad8d47; color: #665020; background: #eee6cf; }
.shop-mapbox-credit { font-size: .72rem; color: #29442f; text-underline-offset: 3px; }

/* Pagamento: a mesma linguagem da loja, com foco no valor e na ação. */
.shop-cart-form .shop-payment-methods { margin: 24px 0; padding: 20px 0 0; border-top: 1px solid #c6b99e; }
.shop-payment-options { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 14px; }
.shop-payment-option { display: flex; gap: 8px; align-items: flex-start; padding: 14px 10px; border: 1px solid #b9ac91; border-radius: 4px; background: #f5efdf; cursor: pointer; }
.shop-payment-option:has(input:checked) { border-color: #49653c; background: #e2e7d8; box-shadow: inset 0 0 0 1px #49653c; }
.shop-payment-option input { accent-color: #2e4a35; margin: 4px 0 0; }
.shop-payment-option strong, .shop-payment-option small { display: block; }
.shop-payment-option strong { color: #2e4a35; font-size: 15px; }
.shop-payment-option small { margin-top: 5px; color: #5c5747; font-size: 11px; line-height: 1.5; }
.shop-pix-panel { padding: 20px; margin: 18px 0; border: 1px solid #adba9e; border-radius: 4px; background: #faf7ee; }
.shop-pix-panel h3 { margin: 0 0 8px; color: #2e4a35; font: 500 23px/1.3 Lora, Georgia, serif; }
.shop-pix-panel p { margin: 8px 0 14px; font-size: 13px; line-height: 1.6; }
.shop-pix-qr { display: block; width: min(224px, 100%); height: auto; aspect-ratio: 1; object-fit: contain; margin: 18px auto; padding: 8px; border: 1px solid #deded2; background: #fff; }
.shop-pix-panel textarea { display: block; width: 100%; min-height: 70px; resize: vertical; padding: 9px; border: 1px solid #b9ac91; border-radius: 3px; background: #fffdf7; color: #494d3d; font: 12px/1.5 monospace; overflow-wrap: anywhere; }
.shop-pix-panel label { display: block; font-size: 12px; font-weight: 800; margin-bottom: 6px; }
.shop-pix-panel .shop-secondary { width: 100%; margin: 10px 0 6px; }
.shop-pix-timer { color: #516046; font-variant-numeric: tabular-nums; }
.shop-pix-feedback { color: #365238; }
.shop-pix-panel .shop-text-button { display: block; margin-top: 12px; }
.shop-pix-panel [hidden] { display: none !important; }

.shop-cart-form.is-paying #shop-customer-fields,
.shop-cart-form.is-paying #shop-payment-fields,
.shop-cart-form.is-paying #shop-fulfillment-fields,
.shop-cart-form.is-paying .shop-checkout > .shop-costs,
.shop-cart-form.is-paying .shop-checkout > .shop-payment-note { display: none; }
.shop-cart-form.is-paying .shop-payment-result { border-top: 0; margin-top: 0; padding-top: 0; }
.shop-cart-form.is-paying .shop-selection { align-self: start; position: sticky; top: 0; }
.shop-issued-summary { margin: 24px 0; padding: 18px 0; border-top: 1px solid #cfc3ac; color: #365238; font-size: 14px; }
.shop-issued-summary p { margin: 0 0 10px; }
.shop-issued-summary strong { display: block; margin-top: 16px; font-size: 17px; }
@media (max-width: 760px) { .shop-cart-form.is-paying .shop-selection { position: static; } }

/* A indicação acompanha também a etapa de pagamento emitido. */
.shop-test-note { padding: 13px 16px; margin: 0 0 20px; border: 1px solid #b6965a; border-radius: 12px; background: #faf2df; color: #634b24; font-size: .86rem; line-height: 1.5; }
.shop-payment-option:has(input:disabled) { opacity: .55; cursor: not-allowed; }

/* Categorias do catálogo: controles com o mesmo contraste dos cards. */
.catalog-filters { display: grid; grid-template-columns: minmax(180px, 1fr) minmax(220px, 2fr) auto; align-items: end; gap: 16px; margin: 24px 0 12px; }
.catalog-filters label { display: grid; gap: 7px; min-width: 0; color: #f3ecdd; font: 600 13px/1.5 'Nunito Sans', sans-serif; }
.catalog-filters input, .catalog-filters select { box-sizing: border-box; width: 100%; min-width: 0; height: 48px; padding: 10px 12px; border: 1px solid #b8a478; border-radius: 3px; color: #273d2b; background: #f9f4e8; font: 16px/1.4 'Nunito Sans', sans-serif; }
.catalog-filter-submit, .catalog-more, .catalog-pagination a { display: inline-flex; justify-content: center; align-items: center; min-height: 48px; padding: 10px 22px; border: 1px solid #b8a478; border-radius: 3px; background: transparent; color: #f3ecdd; font: 700 14px/1.4 'Nunito Sans', sans-serif; cursor: pointer; }
.catalog-filter-submit:hover, .catalog-more:hover, .catalog-pagination a:hover { background: #3a5236; }
.catalog-count { margin: 0 0 22px; color: #e6d7af; font: 13px/1.5 'Nunito Sans', sans-serif; }
.catalog-more { margin: 24px auto 0; display: flex; }
.catalog-more[hidden], .catalog-pagination[hidden] { display: none; }
.catalog-pagination { display: flex; justify-content: center; gap: 20px; margin-top: 24px; }
.catalog-filters :focus-visible, .catalog-more:focus-visible { outline: 3px solid #e6d7af; outline-offset: 3px; }
@media (max-width: 640px) {
  .catalog-filters { grid-template-columns: minmax(0, 1fr) auto; gap: 12px; }
  .catalog-filters label:first-child { grid-column: 1 / -1; }
  .catalog-filter-submit { padding-inline: 16px; }
}

/* O resumo acompanha o endereço no desktop; telas baixas mantêm o botão acessível. */
.shop-cart-lifetime { margin: 14px 36px 0; color: #605643; font-size: 12px; line-height: 1.5; }
.shop-cart > .shop-last-order { margin: 16px 36px; }
.shop-contact-help { margin: -5px 0 16px; color: #605643; font-size: 13px; line-height: 1.6; }
@media (min-width: 1024px) {
  .shop-cart-form:not(.is-paying) .shop-checkout { position: sticky; top: var(--shop-summary-top, 16px); align-self: start; }
}
@media (max-width: 1023px) {
  .shop-cart-lifetime, .shop-cart > .shop-last-order { margin-inline: 24px; }
}

/* Sugestões complementares: até três itens, antes dos dados de entrega. */
.shop-recommendations { margin: 24px 0 14px; padding: 20px 16px 8px; border: 1px solid #c7bea1; border-radius: 4px; background: #edead8; }
.shop-selection .shop-recommendations h3 { font-size: 19px; }
.shop-recommendations-intro { margin: 8px 0 4px; color: #605643; font-size: 12px; line-height: 1.6; }
.shop-recommendation-list { list-style: none; margin: 0; padding: 0; }
.shop-recommendation { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 14px 0; }
.shop-recommendation + .shop-recommendation { border-top: 1px solid #d2c9af; }
.shop-recommendation-image { width: 44px; height: 63px; }
.shop-recommendation-copy { min-width: 0; }
.shop-recommendation-copy h4 { margin: 0; color: #2e4a35; font: 500 15px/1.4 Lora, Georgia, serif; overflow-wrap: anywhere; }
.shop-recommendation-copy p { margin: 3px 0; color: #605643; font-size: 11px; }
.shop-recommendation-copy strong { font-size: 14px; font-variant-numeric: tabular-nums; }
.shop-recommendation-add { min-height: 44px; padding: 8px 10px; font-size: 12px; }
@media (max-width: 380px) {
  .shop-recommendations { padding-inline: 12px; }
  .shop-recommendation { grid-template-columns: 36px minmax(0, 1fr); gap: 9px; }
  .shop-recommendation-image { width: 36px; height: 52px; }
  .shop-recommendation-add { grid-column: 2; justify-self: start; }
}

/* Busca sem resultados mantém um caminho claro para continuar comprando. */
.catalog-empty-search { margin: 20px 0; padding: 18px 20px; color: #ede8d9; border-left: 2px solid #b9a562; background: rgb(255 255 255 / 5%); }
.catalog-empty-search p { margin: 0; font: 400 15px/1.7 Inter, sans-serif; overflow-wrap: anywhere; }
.catalog-empty-search p + p { margin-top: 6px; color: #d7d3c5; }
.catalog-empty-search a { color: #ddc991; text-underline-offset: 3px; }
.catalog-featured-title { margin: 24px 0 20px; color: #ede8d9; font: 500 25px/1.3 Lora, Georgia, serif; }
