/* Final layout contract: panels fit the viewport; each row owns its photo and controls. */
body.storefront { background:#fff; }
#builder:not([hidden]), #order-summary:not([hidden]), #payment-screen:not([hidden]) {
 position:fixed; inset:0; width:100% !important; max-width:none; height:100dvh; min-height:0;
 margin:0; padding:16px max(16px,calc((100% - 760px)/2)) 24px; border:0; border-radius:0;
 overflow-y:auto; overflow-x:hidden; background:#fff !important; color:#302c33; z-index:100;
 box-sizing:border-box; overscroll-behavior:contain; scroll-padding-block:70px 120px;
}
#builder *, #order-summary *, #payment-screen * { box-sizing:border-box; min-width:0; }
#builder > :is(.builder-topline,.builder-title-row,.coupon-inline,#builder-content) {width:100%;max-width:none;margin-inline:0;}
#builder .builder-topline {position:static;display:flex;flex-wrap:wrap;gap:12px;margin:0 0 16px;padding:0 0 12px;background:#fff;}
#builder .builder-title-row {display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:10px;margin:0 0 16px;padding:0 0 12px;}
#builder .selection-image {width:48px;height:48px;object-fit:contain;}
#builder .builder-title-row h2 {font-size:1.15rem;line-height:1.3;}
#builder .ingredient-photo {position:static;display:block;width:44px;height:44px;min-width:44px;margin:0;transform:none;object-fit:cover;border:0;box-shadow:none;}
#builder .quantity-row, #builder .sauce-row {display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:10px;padding:12px 10px;min-height:70px;}
#builder .quantity-name {font-size:.875rem;line-height:1.4;overflow-wrap:anywhere;}
#builder .quantity-name small {font-size:.7rem;line-height:1.4;}
#builder .quantity-control {grid-template-columns:36px 22px 36px;flex-shrink:0;}
#builder .quantity-control button {width:36px;height:44px;touch-action:manipulation;}
#builder .category-heading {padding:14px 12px;gap:12px;}
#builder .category-heading > strong {flex-shrink:0;white-space:nowrap;}
#builder .sauce-row {position:relative;}
#builder .sauce-row input {position:absolute;width:1px;height:1px;opacity:0;}
#builder .sauce-row:focus-within {outline:2px solid #581a69;outline-offset:-2px;}
#builder .order-dock {position:fixed;left:0;right:0;bottom:0;width:100%;margin:0;z-index:102;display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;padding:12px max(16px,calc((100% - 760px)/2)) max(12px,env(safe-area-inset-bottom));border-radius:0;background:#fff;box-shadow:0 -4px 20px #22102d12;}
#builder-content {padding-bottom:100px;}
#builder .order-dock button {min-height:48px;padding:8px 16px;}
#builder #quick-back {position:static;display:inline-flex;width:auto;height:auto;min-height:44px;padding:8px 12px;margin:0;border-radius:999px;box-shadow:none;font-size:.8rem;}
#builder #quick-back .quick-back-label {position:static;clip-path:none;width:auto;height:auto;}
#builder .customer-form {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
#builder .field-label {display:block;}
#builder .field-label input {display:block;width:100%;font-size:16px;margin-top:6px;}
#builder .add-on-rule, #builder .free-delivery {font-size:.82rem;line-height:1.6;color:#625669;}
#builder .cup-title {margin:24px 0 12px;}
#builder .validation-message {padding:12px;color:#ad1943;}
body:has(#builder:not([hidden]),#order-summary:not([hidden]),#payment-screen:not([hidden])) .mobile-bottom-nav {display:none;}
#order-summary:not([hidden]) {inset:0 0 0 auto;width:min(480px,100%) !important;padding-bottom:max(24px,env(safe-area-inset-bottom)) !important;}
#payment-screen:not([hidden]) {inset:0 0 0 auto;width:min(480px,100%) !important;padding:20px 16px max(24px,env(safe-area-inset-bottom));}
#order-summary .summary-heading {position:static;}
#order-summary .cart-address {overflow-wrap:anywhere;}
#order-summary .cart-product {grid-template-columns:56px minmax(0,1fr);gap:12px;}
#order-summary .cart-product > img {width:56px;height:56px;}
#order-summary .cart-product-end {grid-column:2;display:flex;justify-content:space-between;align-items:center;}
#order-summary .cart-quantity {display:none;}
#order-summary .summary-total strong {color:#4b4b4b !important;font:400 .9375rem/1.5 var(--body) !important;}
#order-summary .continue-shopping {padding:16px;min-height:44px;}
#payment-screen .payment-back {color:#581a69;}
#payment-screen :is(.eyebrow,.payment-deadline,.payment-preview-note) {color:#66596b;}
#payment-screen .payment-method {background:#fff;color:#302c33;border:1px solid #ddd5e1;box-shadow:none;}
#payment-screen .payment-method.is-selected {border:2px solid #581a69;background:#faf7fb;}
#payment-screen .payment-method.is-disabled {color:#777;background:#f7f7f7;}
#payment-screen #generate-pix {background:#581a69;color:#fff;box-shadow:none;}
.product-limit {display:block;margin:8px 0;font-size:.78rem;line-height:1.5;color:#514555;}
body.storefront .site-footer {background:#fff;color:#625669;border-top:1px solid #e8e2eb;}
body.storefront .image-credits-link {color:#625669;}
.reviews-track {scroll-snap-type:none;scroll-behavior:auto;position:relative;overflow-x:auto;}
.customer-reviews .review-card {flex:0 0 228px;display:flex;flex-direction:column;align-self:start;box-shadow:0 4px 14px #2511300a;}
.customer-reviews .review-card:nth-child(even) {flex-direction:column-reverse;}
.customer-reviews .review-card:nth-child(3n) {margin-top:18px;}
.customer-reviews .review-card img {width:100%;height:auto;object-fit:contain;}
.customer-reviews .review-card figcaption {padding:10px 4px;}
.reviews-pause {display:block;margin:16px auto 0;border:1px solid #d9cbe0;background:#fff;border-radius:999px;padding:10px 18px;color:#581a69;min-height:44px;cursor:pointer;}
@media(max-width:640px){
 body.storefront .page-width {width:calc(100% - 24px);}
 body.storefront .variant-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;overflow:visible;scroll-snap-type:none;}
 body.storefront .variant-grid .variant-card {width:100%;min-width:0;max-width:none;display:flex;flex-direction:column;flex-basis:auto;padding:7px;min-height:0;border-radius:16px;}
 body.storefront .variant-grid .product-visual {width:100%;height:auto;min-height:0;aspect-ratio:1;}
 body.storefront .variant-grid .product-image {width:100%;height:100%;object-fit:contain;aspect-ratio:1;margin:0;}
 body.storefront .variant-grid .product-copy {padding:8px 3px;flex:1;display:flex;flex-direction:column;}
 body.storefront .variant-grid .product-name {font-size:1rem;line-height:1.3;}
 body.storefront .variant-grid .product-description {font-size:.73rem;line-height:1.5;}
 body.storefront .variant-grid .product-limit {font-size:.72rem;}
 body.storefront .variant-grid .product-price {margin-top:auto;}
 body.storefront .variant-grid .product-choose {font-size:.78rem;min-height:44px;}
 body.storefront .variant-grid .popular-tag {left:50%;top:10px;font-size:.52rem;padding:4px 6px;}
 #builder:not([hidden]) {padding:12px 12px 24px;}
 #builder .builder-topline .eyebrow {font-size:.65rem;}
 #builder .customer-form {grid-template-columns:1fr;}
 #builder .form-section {padding:14px 12px;}
 #builder .quantity-row {gap:8px;padding-inline:8px;}
 #builder .category-heading h3 {font-size:1.05rem;}
 #builder .category-heading p {font-size:.6rem;}
 #builder .category-heading span {font-size:.75rem;line-height:1.5;}
 .reviews-heading {flex-wrap:wrap;}
 .customer-reviews .review-card {flex-basis:210px;}
 body.storefront .site-footer .footer-inner {display:grid;grid-template-columns:1fr;gap:20px;}
}
@media(prefers-reduced-motion:reduce){.reviews-track {scroll-behavior:auto;}}
/* Off-screen accessibility link must not widen narrow viewports. */
.skip-link {max-width:calc(100% - 32px);}
#pedido::before, #pedido::after {content:none;}
body.storefront .variant-card {animation:none;}
#builder .builder-topline {position:sticky;top:-16px;z-index:12;padding:12px 0;background:#fff;}
@media(max-width:640px){
 #builder .builder-topline {top:-12px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;}
 #builder .builder-topline > div {justify-self:end;}
 #builder #change-product {display:none;}
}
.customer-reviews .review-card:nth-child(3n) {margin-top:0;}
.customer-reviews .review-card.review-offset {margin-top:18px;}
/* Mobile typography and touch targets. No scaled or blurred text layers. */
body.storefront {font-size:16px;line-height:1.5;}
body.storefront .variant-card {background:#fff;box-shadow:0 3px 12px #26103008;}
body.storefront .variant-grid .product-visual {background:#fff;}
body.storefront .variant-card[data-product="build"][data-size="500"] .product-image {width:86%;height:86%;margin:auto;}
body.storefront .variant-card[data-product="build"][data-size="700"] .product-image {width:94%;height:94%;margin:auto;}
body.storefront .variant-card[data-product="build"][data-size="1l"] .product-image {width:100%;height:100%;}
body.storefront .product-card:hover {transform:none;}
body.storefront .shop-intro .coupon-entry {animation:none;box-shadow:none;background:#f2f7df;border:1px solid #dee8b5;}
#builder .quantity-control {grid-template-columns:44px 24px 44px;}
#builder .quantity-control button {width:44px;height:44px;min-width:44px;min-height:44px;}
#builder .quantity-row {grid-template-columns:40px minmax(0,1fr) 114px;gap:8px;}
#builder .ingredient-photo {width:40px;height:40px;min-width:40px;}
#builder .quantity-name, #builder .sauce-row > span {font-size:.9375rem;line-height:1.4;}
#builder .quantity-name small {font-size:.75rem;}
#builder .sauce-row {min-height:68px;}
body.storefront .mobile-bottom-nav {backdrop-filter:none;background:#fff;box-shadow:0 -2px 8px #26103008;}
#builder .order-dock {backdrop-filter:none;}
body.storefront .coupon-dialog-heading {background:#fff;border-bottom:1px solid #e8e2eb;}
body.storefront .coupon-dialog-heading h2, body.storefront .coupon-dialog-heading h2 span {color:#4c1760;}
body.storefront .coupon-dialog .dialog-close {color:#4c1760;background:#f4f1f5;}
.variant-grid .product-price {display:grid;gap:2px;margin-top:auto;padding-top:10px;border:0;}
.variant-grid .product-price .price-old {color:#77717b;font-size:.75rem;font-weight:600;}
.variant-grid .product-price .price-old del {text-decoration-thickness:1px;}
.variant-grid .product-price .price-prefix {color:#77717b;font-size:.75rem;}
.variant-grid .product-price strong {color:#159447 !important;font:800 1.25rem/1.2 var(--body) !important;letter-spacing:0 !important;}
.variant-grid .product-price .price-saving {display:inline-flex;align-self:flex-start;margin-top:4px;padding:3px 7px;border-radius:999px;background:#e3f8e9;color:#148340;font-size:.7rem;font-style:normal;font-weight:800;}
.cart-product-end strong,.cart-delivery .is-free,.summary-total strong,.payment-total strong,.payment-breakdown strong,.order-dock strong,.selection-price {color:#159447 !important;}
@media(max-width:640px){
 body.storefront .variant-grid .product-name {font-size:1.0625rem;line-height:1.35;letter-spacing:0;}
 body.storefront .variant-grid .product-description {font-size:.8125rem;line-height:1.5;}
 body.storefront .variant-grid .product-limit {font-size:.8125rem;line-height:1.55;}
 body.storefront .variant-grid .product-choose {font-size:.875rem;min-height:48px;}
 #builder .quantity-row {padding:12px 8px;}
 #builder .category-heading span {font-size:.8125rem;}
 #builder .builder-title-row h2 {font-size:1.25rem;}
 .store-description {font-size:.9375rem;line-height:1.6;}
 .store-facts span, .store-location {font-size:.8125rem;}
 .reviews-controls button {width:44px;height:44px;}
}
/* Different compositions using excerpts and photo windows from the original prints. */
.customer-reviews .review-card.review-composition {display:flex;flex-direction:column;width:240px;flex-basis:240px;padding:12px;border-radius:18px;gap:10px;margin:0;height:382px;}
.review-photo {position:relative;overflow:hidden;width:100%;height:200px;flex-shrink:0;border-radius:12px;background:#f5f3f5;}
.customer-reviews .review-photo img {position:absolute;left:var(--crop-left);top:var(--crop-top);width:var(--crop-width);height:var(--crop-height);max-width:none;aspect-ratio:auto;object-fit:fill;border-radius:0;}
.review-composition blockquote, .review-composition .review-reply {margin:0;padding:12px;border-radius:12px;background:#f1f6e8;color:#302c33;font:500 .9375rem/1.45 var(--body);}
.review-composition .review-context {margin:0;color:#746a79;font-size:.75rem;}
.review-composition .review-original {margin-top:auto;min-height:44px;border:0;background:#fff;color:#581a69;display:flex;justify-content:space-between;align-items:center;padding:0 4px;font:600 .8125rem var(--body);cursor:pointer;}
.review-layout-2 .review-photo {height:154px;}
.review-layout-3 .review-photo {height:184px;}
#review-original-dialog {width:min(520px,calc(100% - 24px));max-height:calc(100dvh - 24px);padding:12px;border:1px solid #ddd5e1;border-radius:16px;background:#fff;overflow:auto;}
#review-original-dialog::backdrop {background:#24102a99;}
#review-original-dialog header {position:sticky;top:-12px;z-index:2;display:flex;justify-content:space-between;align-items:center;background:#fff;padding:8px 0;}
#review-original-dialog h2 {margin:0;font:700 1rem var(--body);}
#review-original-dialog button {width:44px;height:44px;border:0;border-radius:50%;background:#f4f1f5;color:#4c1760;font-size:1.5rem;}
#review-original-image {display:block;width:100%;height:auto;border-radius:10px;}
.account-copy,.account-note {color:#675d6b;line-height:1.5;}
.account-login {display:grid;gap:12px;}
.account-login label {display:grid;gap:6px;color:#302c33;font-size:.875rem;font-weight:700;}
.account-login input {width:100%;min-height:48px;border:1px solid #d7cddd;border-radius:12px;padding:10px 12px;color:#302c33;font:400 16px var(--body);}
.account-login button,.account-logout {min-height:48px;border:0;border-radius:12px;background:#4c1760;color:#fff;font:700 .9375rem var(--body);}
.account-logout {width:100%;margin-top:14px;background:#fff;color:#4c1760;border:1px solid #4c1760;}
.account-error {margin:0;color:#b4234b;font-size:.8125rem;line-height:1.45;}
/* Supplied review prints remain whole inside the established card frame. */
.customer-reviews .review-card.review-print-only {height:382px; padding:12px;}
.review-print-only .review-photo {width:100%; height:100%; background:#fff;}
.customer-reviews .review-print-only .review-photo img {position:static; display:block; width:100%; height:100%; max-width:100%; object-fit:contain; border-radius:12px;}
/* Promotional information is easy to scan while currency symbols stay absent. */
body.storefront .variant-grid .product-price strong {color:#079447 !important;font-family:var(--body) !important;font-size:1.25rem !important;font-weight:900 !important;}
#product-grid .variant-grid .product-price strong {color:#079447 !important;font-family:var(--body) !important;font-size:1.25rem !important;font-weight:900 !important;}
.variant-grid .product-price .price-saving {margin-top:7px;padding:7px 11px;font-size:1rem;line-height:1.2;}
@media(max-width:640px){.variant-grid .product-price .price-saving {font-size:.9rem;padding:6px 9px;}}
.detail-card {margin-top:16px;border:1px solid #ded8e2;border-radius:16px;overflow:hidden;background:#fff;}
.detail-card h3 {margin:0;padding:14px 16px;background:#f5f4f6;color:#302c33;font-size:1rem;}
.detail-card textarea {display:block;width:calc(100% - 24px);min-height:86px;margin:16px 12px 4px;padding:12px;border:1px solid #6c1a80;border-radius:12px;resize:vertical;color:#302c33;font:400 16px/1.45 var(--body);}
.detail-card small {display:block;padding:0 16px 12px;text-align:right;color:#766b7c;}
.cart-detail {color:#581a69 !important;font-weight:700;}
.order-summary > [data-open-coupon] {display:none !important;}
@media(max-width:640px){.mobile-bottom-nav{grid-template-columns:repeat(4,1fr);}.mobile-bottom-nav a,.mobile-bottom-nav button{font-size:.62rem;}.detail-card textarea{min-height:88px;}}
/* Inspiration polish: stronger hierarchy, cards, navigation and mobile touch targets */
:root {
  --brand-purple: #56156d;
  --brand-purple-dark: #35103f;
  --brand-green: #0b9e4a;
  --brand-green-soft: #dcf8e8;
  --surface-soft: #faf8fb;
}

body.storefront {
  background: #fff;
  color: #291f2d;
  font-family: var(--body), 'Manrope', sans-serif;
}

/* Tipografia encorpada inspirada no card de referência */
body.storefront h1,
body.storefront h2,
body.storefront h3,
body.storefront .product-name,
body.storefront .cart-product-copy > strong,
body.storefront .summary-heading h2,
body.storefront .payment-inner h2,
body.storefront .form-section h3,
body.storefront .store-info h1 {
  font-weight: 800;
  letter-spacing: -.02em;
}
body.storefront button,
body.storefront .product-choose,
body.storefront .category-nav a,
body.storefront .popular-tag,
body.storefront .price-saving,
body.storefront .combo-mode-picker button,
body.storefront .mobile-bottom-nav button,
body.storefront .mobile-bottom-nav a {
  font-family: var(--body), 'Manrope', sans-serif;
  font-weight: 700;
}
body.storefront .product-description,
body.storefront .product-limit,
body.storefront .product-perks,
body.storefront .quantity-name,
body.storefront .sauce-row,
body.storefront .detail-card,
body.storefront .cart-delivery,
body.storefront .cart-address,
body.storefront .field-label,
body.storefront .form-help,
body.storefront .site-footer {
  font-family: var(--body), 'Manrope', sans-serif;
}

/* Valores monetários permanecem sempre verdes */
body.storefront .product-price strong,
body.storefront .price-saving,
body.storefront .selection-price,
body.storefront .cart-product-end strong,
body.storefront .cart-delivery strong,
body.storefront .cart-delivery .is-free,
body.storefront .summary-total strong,
body.storefront .payment-total strong,
body.storefront .payment-breakdown strong,
body.storefront .order-dock strong,
body.storefront .header-cart b,
body.storefront [data-price],
body.storefront [data-total] {
  color: #079447 !important;
  font-weight: 800 !important;
}

body.storefront .category-nav {
  position: sticky;
  top: 0;
  z-index: 8;
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 10px 4px;
  border-block: 1px solid #eaddea;
  background: rgba(255,255,255,.94);
  backdrop-filter: blur(12px);
  scrollbar-width: none;
}
body.storefront .category-nav::-webkit-scrollbar { display: none; }
body.storefront .category-nav a {
  flex: 0 0 auto;
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  padding: 0 15px;
  border: 1px solid #dfcfe5;
  border-radius: 999px;
  color: #581a69;
  background: #fff;
  font-size: .82rem;
  font-weight: 800;
  text-decoration: none;
}
body.storefront .category-nav a.is-active {
  border-color: #581a69;
  background: #581a69;
  color: #fff;
}
@media (max-width: 640px) {
  body.storefront .category-nav { margin-inline: 0; padding-inline: 12px; }
  body.storefront .category-nav a { min-height: 36px; padding-inline: 13px; font-size: .76rem; }
}

body.storefront .store-hero,
body.storefront .hero-card,
body.storefront .store-profile {
  border: 1px solid #eaddea;
  border-radius: 28px;
  box-shadow: 0 18px 42px rgba(73, 22, 91, .08);
}

body.storefront .store-hero h1,
body.storefront .hero-card h1,
body.storefront .store-profile h1 {
  letter-spacing: -.035em;
}

body.storefront .product-grid,
body.storefront #product-grid {
  gap: 18px;
}

body.storefront #product-grid .product-card,
body.storefront #product-grid article {
  border: 1px solid #eaddea;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(73, 22, 91, .06);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

body.storefront #product-grid .product-card:hover,
body.storefront #product-grid article:hover {
  transform: translateY(-3px);
  border-color: #b79ac2;
  box-shadow: 0 16px 30px rgba(73, 22, 91, .12);
}

body.storefront #product-grid .product-card button,
body.storefront #product-grid article button {
  min-height: 44px;
  border-radius: 14px;
  font-weight: 700;
}

body.storefront #product-grid .product-price strong,
body.storefront #product-grid .price strong,
body.storefront #product-grid [data-price] {
  color: var(--brand-green) !important;
}

body.storefront .discount-badge,
body.storefront .saving-badge,
body.storefront .economy-badge {
  color: #087a3a;
  background: var(--brand-green-soft);
  border-radius: 999px;
  font-weight: 700;
}

body.storefront .mobile-bottom-nav {
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid #eaddea;
  background: rgba(255,255,255,.96);
  box-shadow: 0 -8px 24px rgba(42, 15, 53, .08);
  backdrop-filter: blur(12px);
}

body.storefront .mobile-bottom-nav { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }

body.storefront .mobile-bottom-nav a,
body.storefront .mobile-bottom-nav button {
  min-height: 64px;
  color: #5b6473;
  font-size: 12px;
  font-weight: 600;
}

body.storefront .mobile-bottom-nav a[aria-current="page"],
body.storefront .mobile-bottom-nav button.is-active {
  color: var(--brand-purple);
}

body.storefront .choice-category,
body.storefront .ingredient-group,
body.storefront .sauce-group,
body.storefront .detail-card {
  border: 1px solid #e7dfe9;
  border-radius: 18px;
  background: #fff;
  overflow: hidden;
}

body.storefront .choice-category > summary,
body.storefront .ingredient-group > header,
body.storefront .sauce-group > header {
  min-height: 58px;
  padding: 15px 18px;
  background: #faf8fb;
  font-weight: 700;
}

body.storefront .detail-card textarea,
body.storefront textarea[data-detail] {
  min-height: 112px;
  border: 1px solid #cdb4d4;
  border-radius: 14px;
  padding: 14px;
  resize: vertical;
}

body.storefront .customize-sticky-bar,
body.storefront .add-to-cart-bar,
body.storefront [data-add-to-cart-bar] {
  border-top: 1px solid #eaddea;
  background: rgba(255,255,255,.97);
  box-shadow: 0 -10px 30px rgba(42, 15, 53, .1);
  backdrop-filter: blur(12px);
}

body.storefront .customize-sticky-bar button,
body.storefront .add-to-cart-bar button,
body.storefront [data-add-to-cart-bar] button {
  min-height: 50px;
  border-radius: 16px;
}

body.storefront #order-summary,
body.storefront .cart-drawer,
body.storefront .cart-panel {
  background: #fff;
  border-left: 1px solid #eaddea;
  box-shadow: -18px 0 40px rgba(42, 15, 53, .12);
}

body.storefront #order-summary .summary-header,
body.storefront .cart-drawer .summary-header,
body.storefront .cart-panel .summary-header {
  background: var(--brand-purple);
  color: #fff;
}

body.storefront #order-summary .checkout-button,
body.storefront .cart-drawer .checkout-button,
body.storefront .cart-panel .checkout-button,
body.storefront [data-finalize-order] {
  min-height: 52px;
  border-radius: 999px;
  background: #13a653 !important;
  color: #fff !important;
  font-weight: 800;
}

body.storefront .checkout-steps,
body.storefront .stepper {
  max-width: 680px;
  margin-inline: auto;
}

body.storefront #checkout-screen .checkout-card,
body.storefront #checkout-screen .checkout-panel,
body.storefront .checkout-card {
  border: 1px solid #e6dfe8;
  border-radius: 20px;
  box-shadow: 0 10px 24px rgba(42, 15, 53, .08);
}

body.storefront #checkout-screen input,
body.storefront #checkout-screen select {
  min-height: 48px;
  border-radius: 13px;
}

body.storefront footer {
  border-top: 1px solid #eaddea;
  background: #fff;
}

@media (max-width: 700px) {
  body.storefront #product-grid,
  body.storefront .product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  body.storefront #product-grid .product-card,
  body.storefront #product-grid article {
    border-radius: 16px;
  }

  body.storefront #product-grid .product-card button,
  body.storefront #product-grid article button {
    min-height: 42px;
    width: 100%;
  }

  body.storefront .mobile-bottom-nav a,
  body.storefront .mobile-bottom-nav button {
    min-height: 60px;
  }

  body.storefront .cart-drawer,
  body.storefront .cart-panel,
  body.storefront #order-summary {
    width: min(100vw, 420px);
  }
}

/* 700 ml highlight and two-cup selector */
body.storefront .variant-card.is-popular {
  position: relative;
  border: 3px solid #20a95c;
  box-shadow: 0 0 0 4px rgba(32,169,92,.18), 0 18px 34px rgba(32,169,92,.22);
  animation: popular-pulse 2.8s ease-in-out infinite;
}
body.storefront #product-grid .variant-card[data-product="build"][data-size="700"] {
  position: relative;
  border: 3px solid #19a957 !important;
  box-shadow: 0 0 0 5px rgba(25,169,87,.24), 0 0 24px rgba(25,169,87,.34), 0 18px 34px rgba(25,169,87,.22) !important;
  animation: popular-pulse 2.4s ease-in-out infinite !important;
}
body.storefront .variant-card.is-popular::before {
  content: '';
  position: absolute;
  inset: -7px;
  border: 1px solid rgba(32,169,92,.35);
  border-radius: 25px;
  pointer-events: none;
}
@keyframes popular-pulse {
  0%, 100% { box-shadow: 0 0 0 5px rgba(25,169,87,.20), 0 0 18px rgba(25,169,87,.26), 0 18px 34px rgba(25,169,87,.18); }
  50% { box-shadow: 0 0 0 11px rgba(25,169,87,.36), 0 0 34px rgba(25,169,87,.50), 0 22px 42px rgba(25,169,87,.32); }
}
body.storefront .variant-card.is-popular .popular-tag {
  position: absolute;
  z-index: 2;
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
  padding: 5px 13px;
  border-radius: 999px;
  color: #5d1b73;
  background: #efdfff;
  font-size: .7rem;
  font-weight: 800;
  white-space: nowrap;
}

body.storefront .combo-mode-picker {
  margin: 14px 0 18px;
  padding: 14px;
  border: 1px dashed #9b64ad;
  border-radius: 18px;
  background: #fcf9fd;
}
body.storefront .combo-mode-picker h3 {
  margin: 0 0 12px;
  color: #581a69;
  font-size: .95rem;
}
body.storefront .combo-mode-picker > div {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
}
body.storefront .combo-mode-picker button {
  min-height: 46px;
  border: 1px solid #e3d8e7;
  border-radius: 13px;
  background: #fff;
  color: #2b2130;
  font-weight: 800;
}
body.storefront .combo-mode-picker button.is-selected {
  border-color: #581a69;
  background: #581a69;
  color: #fff;
}

body.storefront #order-summary .summary-heading {
  padding: 18px 20px;
  background: #581a69;
  color: #fff;
}
body.storefront #order-summary .summary-heading h2 { color: #fff; }
body.storefront #order-summary .cart-product {
  padding: 16px 18px;
  border-bottom: 1px solid #ece5ef;
}
body.storefront #order-summary .cart-product-copy > strong { font-size: 1rem; }
body.storefront #order-summary .cart-product-end { gap: 10px; }
body.storefront #order-summary .cart-product-end button {
  border: 0;
  background: transparent;
  color: #581a69;
  font-weight: 700;
}
body.storefront #order-summary .cart-product-end strong { color: #079447 !important; font-size: 1rem; }
body.storefront #order-summary .cart-delivery,
body.storefront #order-summary .summary-total { padding-inline: 20px; }
body.storefront #order-summary .cart-delivery strong,
body.storefront #order-summary .cart-delivery .is-free { color: #079447 !important; }
body.storefront #finish-order {
  min-height: 52px;
  margin: 12px 18px;
  width: calc(100% - 36px);
  border-radius: 999px;
  background: #13a653;
  color: #fff;
  font-weight: 800;
}
@media (max-width: 640px) {
  body.storefront .variant-card.is-popular { border-width: 2px; }
  body.storefront .variant-card.is-popular::before { inset: -5px; border-radius: 20px; }
  body.storefront .combo-mode-picker > div { gap: 8px; }
  body.storefront .combo-mode-picker button { font-size: .84rem; }
  body.storefront #order-summary .cart-product { padding: 14px 12px; }
  body.storefront #order-summary .cart-product-end { grid-column: 2; }
}
/* Limites visíveis na vitrine, inclusive no celular. */
body.storefront #product-grid .variant-card .product-limit {
  display: block;
  margin: 10px 0;
  padding: 10px;
  border: 1px solid #d4ecd9;
  border-radius: 10px;
  background: #eefaf1;
  color: #244e32;
  font-size: .9rem;
  font-weight: 800;
  line-height: 1.5;
}
