.client-app { min-height: 100vh; color: #2e221a; background: #fffcfa; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.client-app *, .client-app *::before, .client-app *::after { box-sizing: border-box; }
.client-header { position: sticky; top: 0; z-index: 10; display: flex; align-items: center; justify-content: space-between; min-height: 78px; padding: 12px max(20px, calc((100vw - 1120px) / 2)); border-bottom: 1px solid #ebe2dc; background: rgba(255,252,250,.96); box-shadow: 0 8px 22px rgba(65,40,22,.08); backdrop-filter: blur(15px); }
.client-brand { display: inline-flex; align-items: center; gap: 12px; color: #472710; text-decoration: none; }
.client-brand img { width: 52px; height: 52px; padding: 3px; object-fit: contain; border: 1px solid #e8d8cc; border-radius: 16px; background: #fff; box-shadow: 0 7px 16px rgba(109,66,35,.18); }
.client-brand span { display: flex; flex-direction: column; line-height: 1; }
.client-brand strong { font-size: 21.25px; letter-spacing: -.04em; }
.client-brand small { margin-top: 4px; color: #a4795b; font-size: 13.75px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.client-header-actions { display: flex; align-items: center; gap: 10px; }
.client-track-button, .client-cart-button { border: 0; border-radius: 10px; color: #7d4e2d; background: #f8f0ea; font-size: 13.75px; font-weight: 750; }
.client-track-button { padding: 10px 12px; }
.client-track-button[hidden] { display: none; }
.client-cart-button { position: relative; display: grid; place-items: center; width: 52px; height: 52px; border: 1px solid #eadbd1; box-shadow: 0 7px 16px rgba(109,66,35,.14); font-size: 26px; }
.client-cart-button b { position: absolute; top: -7px; right: -7px; display: grid; place-items: center; min-width: 23px; height: 23px; padding: 0 5px; border: 3px solid #fffcfa; border-radius: 99px; color: #fff; background: #93613d; font-size: 13px; }
.client-main, #client-main { width: min(1120px, 100%); margin: 0 auto; padding: 0 20px 55px; }
.client-hero { position: relative; display: flex; align-items: center; justify-content: space-between; min-height: 230px; margin: 24px auto 22px; padding: 30px 40px; overflow: hidden; border-radius: 24px; color: #fff; background: radial-gradient(circle at 80% 12%, rgba(255,255,255,.23), transparent 28%), linear-gradient(120deg, #552f14, #925f3b 57%, #c28457); box-shadow: 0 17px 38px rgba(100,64,39,.18); }
.client-hero::after { content: ""; position: absolute; right: 100px; bottom: -85px; width: 280px; height: 170px; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; transform: rotate(-18deg); }
.client-hero h1 { max-width: 470px; margin: 8px 0 9px; font-size: clamp(35px, 6.25vw, 56.25px); line-height: 1; letter-spacing: -.065em; }
.client-hero p { max-width: 430px; margin: 0; color: rgba(255,255,255,.8); font-size: 16.25px; line-height: 1.5; }
.client-hero-orb { position: relative; z-index: 1; display: grid; place-items: center; width: 123px; height: 123px; border: 9px solid rgba(255,255,255,.18); border-radius: 50%; background: linear-gradient(135deg, #663b1c, #d4966a); font-size: 66.25px; box-shadow: 0 14px 30px rgba(44,23,8,.22); transform: rotate(8deg); }
.client-hero-product { position: relative; z-index: 1; display: grid; place-items: center; width: 170px; height: 170px; overflow: hidden; border: 8px solid rgba(255,255,255,.2); border-radius: 50%; background: linear-gradient(135deg, #663b1c, #d4966a); box-shadow: 0 14px 30px rgba(44,23,8,.22); transform: rotate(5deg); }
.client-hero-product img { width: 100%; height: 100%; object-fit: cover; }
.client-hero-product span { font-size: 75px; }
.client-eyebrow { color: #a67552; font-size: 11.25px; font-weight: 850; letter-spacing: .16em; }
.client-hero .client-eyebrow { color: #fde7d8; }
.client-category-tabs { display: flex; gap: 8px; margin: 0 auto 27px; overflow-x: auto; padding: 3px 1px 8px; scrollbar-width: none; }
.client-category-tabs::-webkit-scrollbar { display: none; }
.client-category-tab { flex: 0 0 auto; padding: 10px 14px; border: 1px solid #f0e9e4; border-radius: 10px; color: #817786; background: #fff; font-size: 13.75px; font-weight: 750; }
.client-category-tab.active { border-color: #ccab94; color: #693f21; background: #f8f0eb; box-shadow: 0 5px 14px rgba(136,86,50,.08); }
.client-promo-section { margin: 24px auto 25px; }
.client-promo-carousel { position: relative; }
.client-promo-slide-wrap { width: 100%; }
.client-promo-slide { display: block; width: 100%; aspect-ratio: 2057 / 764; padding: 0; overflow: hidden; border: 0; border-radius: 24px; background: #5e3315; box-shadow: 0 17px 38px rgba(100,64,39,.16); cursor: pointer; }
.client-promo-slide img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease, filter .25s ease; }
.client-promo-slide:not(.is-static):hover img { transform: scale(1.025); filter: saturate(1.08); }
.client-promo-slide:not(.is-static):focus-visible { outline: 3px solid #dcaa86; outline-offset: 3px; }
.client-promo-slide.is-static { cursor: default; }
.client-promo-dots { position: absolute; bottom: 12px; left: 50%; display: flex; align-items: center; gap: 6px; padding: 5px 7px; border-radius: 99px; background: rgba(45,25,10,.38); backdrop-filter: blur(6px); transform: translateX(-50%); }
.client-promo-dot { width: 7px; height: 7px; padding: 0; border: 0; border-radius: 99px; background: rgba(255,255,255,.58); cursor: pointer; transition: width .2s ease, background .2s ease; }
.client-promo-dot.active { width: 22px; background: #fff; }
.client-promo-dot:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.client-minimum-warning { color: #a04442 !important; font-weight: 750; }
.client-minimum-note, .client-payment-note { display: block; margin: 10px 0 0; color: #8b818f; font-size: 12.5px; line-height: 1.45; }
.client-location-box { display: grid; grid-template-columns: 1fr auto; gap: 11px; align-items: center; padding: 15px; border: 1px solid #e3d4c9; border-radius: 15px; background: linear-gradient(135deg, #fdfaf7, #fff); box-shadow: 0 8px 22px rgba(105,63,33,.05); }
.client-location-copy { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.client-location-box strong { color: #674228; font-size: 15px; }
.client-location-box small { color: #8b7b90; font-size: 12.5px; line-height: 1.4; }
.client-location-button { min-height: 42px; padding: 10px 13px; white-space: nowrap; }
.client-location-link-field { display: flex; grid-column: 1 / -1; flex-direction: column; gap: 5px; }
.client-location-link-field span { color: #806d85; font-size: 11.25px; font-weight: 750; }
.client-location-link-field { display: none !important; }
.client-location-box input:not([type="hidden"]) { min-height: 40px; }
.client-coupon-entry { display: flex; gap: 8px; }
.client-coupon-entry input { flex: 1; text-transform: uppercase; }
.client-coupon-applied { display: block; margin-top: 8px; color: #319166; font-weight: 750; }
.client-whatsapp-button { display: flex; align-items: center; justify-content: center; min-height: 43px; margin-bottom: 10px; padding: 12px 16px; border-radius: 10px; color: #fff; background: #1ea86b; box-shadow: 0 8px 17px rgba(30,168,107,.18); font-size: 13.75px; font-weight: 800; text-decoration: none; }
.client-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.client-menu-heading, .client-page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 15px; margin-bottom: 17px; }
.client-menu-heading h2, .client-page-heading h1 { margin: 6px 0 0; color: #35251a; font-size: 30px; letter-spacing: -.05em; }
.client-item-count { color: #a69ca9; font-size: 12.5px; }
.client-product-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.client-product-card { display: grid; grid-template-columns: minmax(0, 1fr) 178px; grid-template-areas: "copy art"; min-height: 220px; align-items: stretch; padding: 16px; border: 1px solid #f0eae6; border-radius: 20px; background: #fff; box-shadow: 0 8px 25px rgba(71,46,28,.035); transition: .2s ease; }
.client-product-card:hover { transform: translateY(-2px); box-shadow: 0 13px 28px rgba(71,46,28,.09); }
.client-product-art { grid-area: art; display: grid; place-items: center; width: auto; height: 100%; min-height: 188px; overflow: hidden; border-radius: 16px; color: #fff; background: linear-gradient(135deg, #663919, #b87a4d); font-size: 45px; }
.client-product-art.has-image { background: #f8f4f2; }
.client-product-art img { width: 100%; height: 100%; object-fit: cover; }
.client-product-copy { grid-area: copy; display: flex; flex-direction: column; min-width: 0; padding: 0 16px 0 0; }
.client-product-tag { color: #a67552; font-size: 10px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.client-product-copy h3 { margin: 5px 0 5px; color: #31251c; font-size: 17.5px; letter-spacing: -.025em; }
.client-product-copy p { display: -webkit-box; min-height: 54px; margin: 0; overflow: hidden; color: #8b818f; font-size: 12.5px; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.client-product-ingredients { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px 8px; min-height: 42px; color: #8b818f; font-size: 12.5px; line-height: 1.3; }
.client-product-ingredients span { min-width: 0; overflow-wrap: anywhere; }
.client-product-bottom { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 8px; margin-top: 14px; padding-top: 0; }
.client-product-card--compact { display: grid; grid-template-columns: minmax(0, 1fr) 178px; grid-template-areas: "copy art"; min-height: 220px; align-items: stretch; }
.client-product-card--compact .client-product-art { grid-area: art; width: auto; height: 100%; min-height: 188px; border-radius: 15px; }
.client-product-card--compact .client-product-copy { grid-area: copy; min-width: 0; padding: 0 16px 0 0; }
.client-product-card--compact .client-product-copy p, .client-product-card--compact .client-product-ingredients { min-height: 42px; }
.client-product-card--compact .client-product-bottom { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; }
.client-product-grid.is-addons { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.client-product-grid.is-addons .client-product-card { grid-template-columns: minmax(0, 1fr) 128px; min-height: 168px; padding: 10px; }
.client-product-grid.is-addons .client-product-art { width: auto; height: 100%; min-height: 146px; align-self: stretch; border-radius: 12px; }
.client-product-grid.is-addons .client-product-copy { padding: 0 10px 0 0; }
.client-product-grid.is-addons .client-product-copy p { min-height: 30px; -webkit-line-clamp: 2; }
.client-product-bottom strong { color: #6d4223; font-size: 16.25px; }
.client-add-button, .client-primary-button { border: 0; border-radius: 9px; color: #fff; background: #915f3c; font-size: 12.5px; font-weight: 800; box-shadow: 0 7px 15px rgba(133,84,49,.16); }
.client-add-button { min-height: 46px; padding: 12px 17px; border-radius: 11px; font-size: 14px; }
.client-add-button:hover, .client-primary-button:hover { background: #784927; }
.client-closed-alert { margin: 0 0 21px; padding: 13px 15px; border: 1px solid #f1d9b4; border-radius: 11px; color: #90601e; background: #fff8ea; font-size: 13.75px; line-height: 1.45; }
.client-success, .client-page-heading, .client-checkout, .client-tracking-card, .client-tracking-summary { max-width: 680px; margin: 0 auto; }
.client-success { padding: 60px 0 20px; text-align: center; }
.client-success-icon { display: grid; place-items: center; width: 69px; height: 69px; margin: 0 auto 22px; border-radius: 50%; color: #fff; background: #43a477; font-size: 42.5px; font-weight: 800; box-shadow: 0 13px 26px rgba(67,164,119,.22); }
.client-success h1 { margin: 9px 0 8px; color: #33251b; font-size: 38.75px; letter-spacing: -.06em; }
.client-success > p { max-width: 470px; margin: 0 auto 24px; color: #817684; font-size: 15px; line-height: 1.6; }
.client-success-card { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin-bottom: 19px; border: 1px solid #f0e9e4; border-radius: 14px; overflow: hidden; background: #f0e9e4; }
.client-success-card > div { display: flex; flex-direction: column; gap: 6px; padding: 15px; background: #fff; }
.client-success-card span, .client-success-card strong { font-size: 12.5px; }
.client-success-card span { color: #9f95a3; }
.client-success-card strong { color: #6d4223; font-size: 20px; }
.client-page-heading { display: block; padding: 30px 0 18px; }
.client-page-heading h1 { font-size: 40px; }
.client-page-heading p { margin: 8px 0 0; color: #8a808e; font-size: 15px; }
.client-back-button, .client-text-button { border: 0; color: #885a39; background: transparent; font-size: 12.5px; font-weight: 800; }
.client-back-button { display: block; margin-bottom: 30px; padding: 0; }
.client-checkout { display: flex; flex-direction: column; gap: 13px; }
.client-checkout-card, .client-tracking-card, .client-tracking-summary { padding: 19px; border: 1px solid #f0eae6; border-radius: 16px; background: #fff; box-shadow: 0 7px 21px rgba(71,46,28,.035); }
.client-checkout-card h2, .client-tracking-card h2, .client-tracking-summary h2 { margin: 0 0 15px; color: #3e2d21; font-size: 17.5px; letter-spacing: -.02em; }
.client-input-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.client-address-grid { grid-template-columns: minmax(0, 1.6fr) minmax(100px, .65fr) minmax(0, 1.2fr); }
.client-address-complement { grid-column: 1 / -1; }
.client-checkout label { display: flex; flex-direction: column; gap: 6px; color: #665a6b; font-size: 12.5px; font-weight: 720; }
.client-checkout input, .client-checkout textarea { width: 100%; min-height: 41px; padding: 10px 11px; border: 1px solid #eae4df; border-radius: 9px; outline: 0; color: #382b22; background: #fff; font: inherit; font-size: 13.75px; font-weight: 500; }
.client-checkout textarea { min-height: 68px; resize: vertical; }
.client-checkout input:focus, .client-checkout textarea:focus { border-color: #ac7f5e; box-shadow: 0 0 0 3px rgba(155,100,61,.1); }
.client-toggle-grid, .client-payment-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.client-payment-grid { grid-template-columns: repeat(3, 1fr); margin-bottom: 13px; }
.client-toggle-option, .client-payment-option { position: relative; cursor: pointer; }
.client-toggle-option input, .client-payment-option input { position: absolute; opacity: 0; }
.client-toggle-option span, .client-payment-option span { display: flex; flex-direction: column; gap: 5px; height: 100%; padding: 12px; border: 1px solid #eae4df; border-radius: 10px; color: #52485a; background: #fff; font-size: 13.75px; }
.client-toggle-option small { color: #9a919f; font-size: 11.25px; font-weight: 500; }
.client-toggle-option input:checked + span, .client-payment-option input:checked + span { border-color: #b3886a; color: #704425; background: #fbf5f1; box-shadow: 0 0 0 2px rgba(179,136,106,.12); }
.client-delivery-fields { display: flex; flex-direction: column; gap: 10px; margin-top: 13px; }
.client-change-field { max-width: 220px; margin-bottom: 13px; }
.client-change-field[hidden] { display: none !important; }
.client-total-line[hidden] { display: none !important; }
.client-review-item, .client-total-line { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 0; color: #766b7b; font-size: 12.5px; }
.client-review-item { border-bottom: 1px solid #f5f2ef; }
.client-review-item strong, .client-total-line strong { color: #433023; }
.client-total-line { padding-top: 14px; }
.client-grand-total { margin-top: 3px; border-top: 1px solid #f0eae5; color: #3d2c20; font-size: 16.25px; }
.client-grand-total strong { color: #794b2b; font-size: 21.25px; }
.client-full-button { width: 100%; min-height: 45px; padding: 12px 16px; }
.client-submit-button { margin-top: 2px; font-size: 13.75px; }
.client-form-error, .client-modal-error { min-height: 17px; color: #c14e65; font-size: 12.5px; }
.client-tracking-card { margin-bottom: 13px; }
.client-live-pill { display: inline-flex; align-items: center; gap: 6px; margin-bottom: 13px; padding: 6px 8px; border-radius: 99px; color: #2a8a61; background: #e9f8f0; font-size: 11.25px; font-weight: 800; }
.client-live-pill span { width: 6px; height: 6px; border-radius: 50%; background: #36a976; }
.client-tracking-card h2 { margin-bottom: 5px; font-size: 25px; }
.client-tracking-card > p { margin: 0 0 24px; color: #8b818e; font-size: 13.75px; }
.client-timeline { display: flex; flex-direction: column; gap: 0; }
.client-timeline-item { position: relative; display: flex; gap: 11px; min-height: 57px; color: #afa6b2; }
.client-timeline-item:not(:last-child)::after { content: ""; position: absolute; top: 25px; left: 12px; width: 1px; height: 42px; background: #ebe5e0; }
.client-timeline-dot { position: relative; z-index: 1; display: grid; flex: 0 0 25px; place-items: center; width: 25px; height: 25px; border: 1px solid #e8e1dc; border-radius: 50%; background: #fff; font-size: 11.25px; font-weight: 800; }
.client-timeline-item > div { display: flex; flex-direction: column; gap: 3px; padding-top: 4px; }
.client-timeline-item strong { font-size: 13.75px; }
.client-timeline-item small { font-size: 11.25px; }
.client-timeline-item.done, .client-timeline-item.current { color: #754827; }
.client-timeline-item.done .client-timeline-dot { border-color: #96633f; color: #fff; background: #96633f; }
.client-timeline-item.current .client-timeline-dot { border-color: #a67958; color: #fff; background: #b3805b; box-shadow: 0 0 0 4px #f5ece6; }
.client-tracking-summary { margin-bottom: 30px; }
.client-tracking-summary h2 { margin-bottom: 6px; }
.client-cart-backdrop, .client-modal-backdrop { position: fixed; inset: 0; z-index: 40; display: flex; justify-content: flex-end; background: rgba(44,29,18,.45); backdrop-filter: blur(3px); }
.client-cart-panel { display: flex; flex-direction: column; width: min(430px, 100%); height: 100%; padding: 22px; background: #fffcfa; box-shadow: -13px 0 35px rgba(42,26,14,.15); }
.client-cart-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; padding-bottom: 17px; border-bottom: 1px solid #f0eae5; }
.client-cart-header h2 { margin: 5px 0 0; font-size: 23.75px; letter-spacing: -.05em; }
.client-cart-items { flex: 1; overflow: auto; padding: 10px 0; }
.client-cart-item { display: flex; justify-content: space-between; gap: 8px; padding: 13px 0; border-bottom: 1px solid #f1ece8; }
.client-cart-item > div:first-child { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.client-cart-item strong { color: #3f2e21; font-size: 13.75px; }
.client-cart-item span, .client-cart-item small { color: #918693; font-size: 11.25px; line-height: 1.4; }
.client-cart-item-actions { display: flex; flex-direction: column; align-items: flex-end; gap: 7px; }
.client-cart-item-actions > div { display: flex; align-items: center; gap: 5px; }
.client-cart-item-actions button { display: grid; place-items: center; min-width: 23px; height: 23px; padding: 0; border: 1px solid #e8dfd9; border-radius: 6px; color: #7b4d2c; background: #fff; font-size: 16.25px; }
.client-cart-item-actions b { min-width: 14px; color: #514237; text-align: center; font-size: 12.5px; }
.client-cart-item-actions .client-remove-button { width: auto; padding: 0 6px; color: #ad586b; background: #fff7f8; font-size: 10px; }
.client-cart-summary { padding-top: 14px; border-top: 1px solid #f0eae5; }
.client-cart-summary > div { display: flex; justify-content: space-between; margin-bottom: 5px; color: #796c7d; font-size: 13.75px; }
.client-cart-summary > div strong { color: #6d4223; font-size: 20px; }
.client-cart-summary small { display: block; margin: 7px 0 12px; color: #9d949f; font-size: 11.25px; }
.client-cart-summary .client-primary-button { margin-top: 12px; }
.client-text-button { display: block; margin: 13px auto 0; padding: 3px; }
.client-modal-backdrop { align-items: center; justify-content: center; padding: 18px; }
.client-location-prompt-backdrop { position: fixed; inset: 0; z-index: 80; display: grid; place-items: center; padding: 18px; background: rgba(44,29,18,.58); backdrop-filter: blur(4px); }
.client-location-prompt { position: relative; width: min(430px, 100%); padding: 29px 25px 24px; border: 1px solid #e5d7cd; border-radius: 22px; background: #fffcfa; box-shadow: 0 25px 65px rgba(41,25,13,.3); text-align: center; }
.client-location-prompt .client-modal-close { position: absolute; top: 14px; right: 14px; }
.client-location-prompt-icon { display: grid; place-items: center; width: 54px; height: 54px; margin: 0 auto 13px; border-radius: 50%; background: #fff0e5; font-size: 26px; }
.client-location-prompt h2 { margin: 0 0 9px; color: #362920; font-size: 23px; letter-spacing: -.04em; }
.client-location-prompt p { margin: 0 auto 20px; max-width: 330px; color: #887d8b; font-size: 13.5px; line-height: 1.5; }
.client-location-prompt .client-full-button { width: 100%; }
.client-modal { position: relative; width: min(490px, 100%); max-height: calc(100vh - 36px); overflow-y: auto; border-radius: 20px; background: #fffcfa; box-shadow: 0 25px 65px rgba(41,25,13,.25); }
.client-modal-close { width: 30px; height: 30px; border: 0; border-radius: 8px; color: #8b7c8e; background: #f6f1ed; font-size: 25px; line-height: 1; }
.client-modal > .client-modal-close { position: absolute; top: 15px; right: 15px; z-index: 1; }
.client-modal-art { display: grid; place-items: center; height: 170px; overflow: hidden; color: #fff; background: linear-gradient(130deg, #5c3315, #bd8359); font-size: 65px; }
.client-modal-art.has-image { background: #f8f4f2; }
.client-modal-art img { width: 100%; height: 100%; object-fit: cover; }
.client-modal-content { padding: 21px; }
.client-modal-content h2 { margin: 7px 0 6px; color: #362920; font-size: 27.5px; letter-spacing: -.05em; }
.client-modal-content > p { margin: 0 0 19px; color: #887d8b; font-size: 13.75px; line-height: 1.5; }
.client-form-field { margin: 16px 0; }
.client-form-field > label, .client-field-heading label { color: #584d5e; font-size: 12.5px; font-weight: 800; }
.client-choice-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 7px; margin-top: 8px; }
.client-choice, .client-addon-choice { position: relative; cursor: pointer; }
.client-choice input, .client-addon-choice input { position: absolute; opacity: 0; }
.client-choice span { display: flex; flex-direction: column; gap: 4px; align-items: center; padding: 9px 4px; border: 1px solid #e8e1dc; border-radius: 8px; color: #6c5d70; background: #fff; font-size: 11.25px; text-align: center; }
.client-choice span b { color: #6e4a30; font-size: 11.25px; }
.client-choice input:checked + span { border-color: #ad805f; background: #f9f2ed; box-shadow: 0 0 0 2px rgba(173,128,95,.12); }
.client-field-heading { display: flex; align-items: center; justify-content: space-between; }
.client-field-heading span { color: #9f6943; font-size: 12.5px; font-weight: 800; }
.client-addon-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 7px; margin-top: 8px; }
.client-addon-choice span { display: flex; align-items: center; gap: 8px; min-height: 52px; padding: 7px 8px; border: 1px solid #e8e1dc; border-radius: 8px; color: #6c5d70; background: #fff; font-size: 12.5px; line-height: 1.2; }
.client-addon-choice-visual img { flex: 0 0 38px; width: 38px; height: 38px; object-fit: cover; border-radius: 8px; background: #f8f4f2; }
.client-addon-choice-visual strong { min-width: 0; font-size: inherit; font-weight: 750; }
.client-addon-placeholder { display: grid; flex: 0 0 38px; place-items: center; width: 38px; height: 38px; border-radius: 8px; color: #93613d; background: #f8f0eb; font-size: 22px; }
.client-addon-choice input:checked + span { border-color: #ad805f; color: #6e4a30; background: #f9f2ed; }
.client-addon-choice input:disabled + span { opacity: .45; }
.client-form-field small { display: block; margin-top: 7px; color: #9a909e; font-size: 11.25px; }
.client-quantity { display: flex; align-items: center; gap: 6px; margin-top: 8px; }
.client-quantity button { width: 35px; height: 35px; border: 1px solid #e5ddd7; border-radius: 8px; color: #7b4e2e; background: #fff; font-size: 21.25px; }
.client-quantity input { width: 58px; height: 35px; border: 1px solid #e5ddd7; border-radius: 8px; color: #524236; text-align: center; }
.client-modal-error { margin: 8px 0 4px; }
.client-empty { padding: 45px 18px; color: #a39aa6; text-align: center; font-size: 13.75px; }
.client-closed-alert + .client-category-tabs { margin-top: 3px; }
#client-toast { position: fixed; right: 18px; bottom: 18px; z-index: 90; max-width: min(340px, calc(100% - 36px)); padding: 12px 15px; border: 1px solid #e9ddd4; border-radius: 10px; color: #693f21; background: #fff; box-shadow: 0 12px 28px rgba(62,39,23,.16); font-size: 12.5px; opacity: 0; pointer-events: none; transform: translateY(10px); transition: .2s; }
#client-toast.show { opacity: 1; transform: translateY(0); }
#client-cart-nudge { position: fixed; right: 0; bottom: 17px; left: 0; z-index: 85; display: flex; justify-content: center; padding: 0 18px; pointer-events: none; }
.client-cart-nudge { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 17px; width: min(690px, 100%); padding: 13px 16px; border: 1px solid #e9ddd4; border-radius: 15px; background: rgba(255,252,250,.97); box-shadow: 0 16px 38px rgba(62,39,23,.2); pointer-events: auto; animation: client-nudge-in .22s ease-out; }
.client-cart-nudge-copy { display: flex; align-items: center; gap: 10px; min-width: 0; }
.client-nudge-check { display: grid; flex: 0 0 28px; place-items: center; width: 28px; height: 28px; border-radius: 50%; color: #fff; background: #44a477; font-size: 18.75px; font-weight: 850; }
.client-cart-nudge-copy > div { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.client-cart-nudge-copy strong { color: #603c23; font-size: 13.75px; }
.client-cart-nudge-copy small { overflow: hidden; color: #7b6657; font-size: 12.5px; text-overflow: ellipsis; white-space: nowrap; }
.client-cart-nudge-copy > div > span { color: #9b8c9f; font-size: 11.25px; }
.client-cart-nudge-actions { display: flex; align-items: center; gap: 7px; flex: 0 0 auto; }
.client-nudge-continue, .client-nudge-cart { min-height: 34px; padding: 8px 10px; border-radius: 8px; font-size: 11.25px; font-weight: 800; }
.client-nudge-continue { border: 1px solid #e7ded8; color: #785339; background: #fff; }
.client-nudge-cart { border: 0; color: #fff; background: #915f3c; box-shadow: 0 6px 14px rgba(133,84,49,.17); }
.client-nudge-cart b { display: inline-grid; min-width: 16px; height: 16px; margin-left: 3px; place-items: center; border-radius: 99px; background: rgba(255,255,255,.2); font-size: 10px; }
.client-nudge-close { position: absolute; top: -9px; right: -8px; display: grid; place-items: center; width: 22px; height: 22px; padding: 0; border: 2px solid #fffcfa; border-radius: 50%; color: #866b8c; background: #f3ebe6; font-size: 17.5px; line-height: 1; }
@keyframes client-nudge-in { from { opacity: 0; transform: translateY(9px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 820px) {
  .client-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .client-product-grid.is-addons { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .client-product-ingredients { grid-template-columns: 1fr; gap: 4px; min-height: auto; }
  .client-product-card { grid-template-columns: minmax(0, 1fr) 126px; min-height: 200px; }
  .client-product-card--compact { grid-template-columns: minmax(0, 1fr) 126px; }
  .client-product-card--compact .client-product-art { width: auto; min-height: 170px; }
  .client-product-card--compact .client-product-copy { padding-right: 12px; }
  .client-product-card--compact .client-product-ingredients { min-height: auto; }
  .client-product-card--compact .client-product-bottom { grid-template-columns: minmax(0, 1fr) auto; }
  .client-product-grid.is-addons .client-product-card { min-height: 150px; }
  .client-product-grid.is-addons .client-product-card { grid-template-columns: minmax(0, 1fr) 98px; }
  .client-product-grid.is-addons .client-product-art { width: auto; height: 100%; min-height: 130px; }
  .client-product-grid.is-addons .client-product-copy { padding-right: 7px; }
  .client-product-grid.is-addons .client-add-button { min-height: 42px; padding: 10px 11px; font-size: 12.5px; }
}

/* Cardápio v2: catálogo orientado por categoria, com cards compactos e regras visíveis. */
.catalog-v2-intro { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin: 22px 0 18px; }
.catalog-v2-kicker { color: #a67552; font-size: 10px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.catalog-v2-intro h1 { margin: 7px 0 5px; color: #35251a; font-size: clamp(30px, 4vw, 42px); letter-spacing: -.065em; line-height: 1; }
.catalog-v2-intro p { margin: 0; color: #897c8d; font-size: 13px; line-height: 1.45; }
.catalog-v2-intro-stat { display: flex; flex-direction: column; align-items: flex-end; padding: 12px 15px; border: 1px solid #ece3dc; border-radius: 14px; color: #876f8e; background: #fff; box-shadow: 0 8px 22px rgba(86,52,28,.05); white-space: nowrap; }
.catalog-v2-intro-stat strong { color: #794d2d; font-size: 24px; line-height: 1; }
.catalog-v2-intro-stat span { margin-top: 4px; font-size: 11px; }
.catalog-v2-tabs { display: flex; gap: 9px; margin: 0 0 27px; overflow-x: auto; padding: 3px 1px 9px; scrollbar-width: none; }
.catalog-v2-tabs::-webkit-scrollbar { display: none; }
.catalog-v2-tab { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 8px; min-height: 42px; padding: 9px 13px; border: 1px solid #ebe4df; border-radius: 12px; color: #76677b; background: #fff; font-size: 12.5px; font-weight: 800; transition: .18s ease; }
.catalog-v2-tab small { display: grid; min-width: 19px; height: 19px; place-items: center; border-radius: 99px; color: #9a7a63; background: #f8f0ea; font-size: 10px; }
.catalog-v2-tab:hover, .catalog-v2-tab.is-active { border-color: #c59a7b; color: #6d4223; background: #fcf6f1; box-shadow: 0 6px 16px rgba(136,86,50,.08); }
.catalog-v2-tab.is-active small { color: #fff; background: #915f3c; }
.catalog-v2-section { margin-bottom: 38px; }
.catalog-v2-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 15px; margin-bottom: 15px; }
.catalog-v2-section-heading h2 { margin: 6px 0 0; color: #35251a; font-size: 29px; letter-spacing: -.055em; }
.catalog-v2-section-count { color: #a299a7; font-size: 12px; }
.catalog-v2-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.catalog-v2-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(190px, 42%); min-height: 188px; overflow: hidden; border: 1px solid #efe9e4; border-radius: 19px; background: #fff; box-shadow: 0 8px 25px rgba(71,46,28,.045); transition: transform .18s ease, box-shadow .18s ease; }
.catalog-v2-card:hover { transform: translateY(-2px); box-shadow: 0 13px 28px rgba(71,46,28,.11); }
.catalog-v2-card-copy { display: flex; min-width: 0; flex-direction: column; padding: 15px 13px 13px 16px; }
.catalog-v2-card-tag { color: #a67552; font-size: 9.5px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.catalog-v2-card h3 { margin: 6px 0 4px; color: #2f2219; font-size: 17px; line-height: 1.12; letter-spacing: -.035em; }
.catalog-v2-card-rule { color: #9b8d9e; font-size: 10.5px; line-height: 1.35; }
.catalog-v2-ingredients { margin: 10px 0 0; color: #827485; font-size: 11.5px; line-height: 1.4; }
.catalog-v2-description { display: -webkit-box; min-height: 34px; margin: 10px 0 0; overflow: hidden; color: #827485; font-size: 11.5px; line-height: 1.4; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.catalog-v2-description--mobile { display: none; }
.catalog-v2-card-footer { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 8px; margin-top: auto; padding-top: 13px; }
.catalog-v2-price { display: flex; min-width: 0; flex-direction: column; }
.catalog-v2-price small { color: #9b8d9e; font-size: 10px; }
.catalog-v2-price strong { color: #784928; font-size: 16px; line-height: 1.05; white-space: nowrap; }
.catalog-v2-price-meta { display: inline-flex; align-items: center; gap: 7px; margin-top: 4px; }
.catalog-v2-card-old-price { color: #9b8d9e; font-size: 10.5px; text-decoration: line-through; white-space: nowrap; }
.catalog-v2-card-discount { padding: 3px 6px; border-radius: 6px; color: #319166; background: #e4f7ec; font-size: 10px; font-weight: 800; white-space: nowrap; }
.catalog-v2-add { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 42px; padding: 10px 12px; border: 0; border-radius: 11px; color: #fff; background: #915f3c; box-shadow: 0 7px 15px rgba(133,84,49,.18); font-size: 11.5px; font-weight: 850; white-space: nowrap; }
.catalog-v2-add-icon { display: grid; width: 17px; height: 17px; place-items: center; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; color: #fff; font-family: Arial, sans-serif; font-size: 13px; font-weight: 800; line-height: 17px; transform: translateY(-.25px); }
.catalog-v2-add:hover { background: #784927; }
.catalog-v2-card-art { position: relative; display: grid; align-self: start; width: 100%; height: auto; aspect-ratio: 1; min-height: 0; place-items: center; overflow: hidden; color: #fff; background: linear-gradient(135deg, #663919, #b87a4d); }
.catalog-v2-card-art.has-image { background: #f8f4f2; }
.catalog-v2-card-art img { width: 100%; height: 100%; object-fit: cover; }
.catalog-v2-card-gift { position: absolute; top: 7px; right: 7px; display: none; width: 32px; height: 32px; place-items: center; border-radius: 50%; color: #fff; background: #20a36e; font-size: 17px; box-shadow: 0 3px 7px rgba(20,84,57,.2); }
.catalog-v2-card:focus-visible { outline: 3px solid rgba(173,128,95,.35); outline-offset: 2px; }
.catalog-v2-grid.is-addons { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; }
.catalog-v2-grid.is-addons .catalog-v2-card { grid-template-columns: minmax(0, 1fr) 106px; min-height: 154px; }
.catalog-v2-grid.is-addons .catalog-v2-card-copy { padding: 12px 10px 11px 13px; }
.catalog-v2-grid.is-addons .catalog-v2-card h3 { font-size: 15px; }
.catalog-v2-grid.is-addons .catalog-v2-card-art { width: 106px; height: 106px; aspect-ratio: auto; min-height: 106px; }
.catalog-v2-grid.is-addons .catalog-v2-card-rule { font-size: 10px; }
.catalog-v2-card--addon .catalog-v2-card-rule { display: none; }
.catalog-v2-grid.is-addons .catalog-v2-card-footer { padding-top: 9px; }
.catalog-v2-grid.is-addons .catalog-v2-add { min-height: 38px; padding: 8px 10px; font-size: 11px; }
.catalog-v2-modal-backdrop { position: fixed; inset: 0; z-index: 60; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(44,29,18,.52); backdrop-filter: blur(4px); }
.catalog-v2-modal { position: relative; width: min(610px, 100%); max-height: calc(100vh - 32px); overflow: auto; border: 1px solid #ede3dc; border-radius: 22px; background: #fffcfa; box-shadow: 0 28px 70px rgba(41,25,13,.3); }
.catalog-v2-modal-close { position: absolute; top: 13px; right: 13px; z-index: 2; display: grid; width: 32px; height: 32px; place-items: center; border: 0; border-radius: 9px; color: #7d6c81; background: rgba(255,255,255,.86); font-size: 24px; line-height: 1; }
.catalog-v2-modal-head { display: grid; grid-template-columns: 150px 1fr; gap: 18px; align-items: center; padding: 18px; border-bottom: 1px solid #efe9e4; background: #fff; }
.catalog-v2-modal-art { display: grid; height: 150px; place-items: center; overflow: hidden; border-radius: 15px; color: #fff; background: linear-gradient(135deg, #663919, #b87a4d); font-size: 46px; }
.catalog-v2-modal-art.has-image { background: #f8f4f2; }
.catalog-v2-modal-art img { width: 100%; height: 100%; object-fit: cover; }
.catalog-v2-modal-head h2 { margin: 7px 35px 6px 0; color: #35251a; font-size: 27px; line-height: 1.03; letter-spacing: -.055em; }
.catalog-v2-modal-head p { margin: 0; color: #87798b; font-size: 12.5px; line-height: 1.45; }
.catalog-v2-form { display: flex; flex-direction: column; gap: 13px; padding: 18px; }
.catalog-v2-field { min-width: 0; margin: 0; padding: 0; border: 0; }
.catalog-v2-field legend { display: flex; align-items: center; justify-content: space-between; width: 100%; margin-bottom: 8px; color: #514354; font-size: 12px; font-weight: 850; }
.catalog-v2-field legend span { color: #a67552; font-size: 10.5px; font-weight: 800; }
.catalog-v2-size-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 7px; }
.catalog-v2-size-choice, .catalog-v2-addon-choice { position: relative; cursor: pointer; }
.catalog-v2-size-choice input, .catalog-v2-addon-choice input { position: absolute; opacity: 0; }
.catalog-v2-size-choice span { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 10px 5px; border: 1px solid #eae2dd; border-radius: 10px; color: #6e6072; background: #fff; text-align: center; transition: .16s ease; }
.catalog-v2-size-choice strong { font-size: 12px; }
.catalog-v2-size-choice small { color: #8a5a37; font-size: 11px; font-weight: 800; }
.catalog-v2-size-choice input:checked + span { border-color: #ad805f; color: #704425; background: #fbf5f0; box-shadow: 0 0 0 2px rgba(179,136,106,.13); }
.catalog-v2-base-field { padding: 13px; border: 1px solid #ece3dd; border-radius: 14px; background: linear-gradient(135deg,#fff,#fdfaf7); }
.catalog-v2-base-field legend { margin-bottom: 0; }
.catalog-v2-base-field legend b { color: #a67552; font-size: 10.5px; font-weight: 850; }
.catalog-v2-base-intro { margin: 5px 0 10px; color: #897a8e; font-size: 10.5px; line-height: 1.4; }
.catalog-v2-base-choice-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.catalog-v2-base-choice-card { position: relative; min-width: 0; cursor: pointer; }
.catalog-v2-base-choice-card input { position: absolute; opacity: 0; pointer-events: none; }
.catalog-v2-base-choice-card > span { position: relative; display: grid; grid-template-columns: 38px minmax(0,1fr); grid-template-rows: auto auto; align-items: center; column-gap: 9px; min-height: 66px; padding: 9px 32px 9px 9px; border: 1px solid #eae2dd; border-radius: 11px; color: #5f5165; background: #fff; transition: .16s ease; }
.catalog-v2-base-choice-card strong { min-width: 0; overflow: hidden; color: #4f3420; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.catalog-v2-base-choice-card small { min-width: 0; color: #9a899f; font-size: 9.5px; line-height: 1.3; }
.catalog-v2-base-choice-card input:checked + span, .catalog-v2-base-choice-card.is-fixed > span { border-color: #ad805f; color: #704425; background: #fbf5f0; box-shadow: 0 0 0 2px rgba(179,136,106,.13); }
.catalog-v2-base-choice-card input:focus-visible + span { outline: 3px solid rgba(181,133,99,.24); outline-offset: 2px; }
.catalog-v2-base-choice-card i { position: absolute; top: 50%; right: 9px; display: grid; width: 19px; height: 19px; place-items: center; border-radius: 50%; color: transparent; background: #f5ede7; font-size: 11px; font-style: normal; transform: translateY(-50%); }
.catalog-v2-base-choice-card input:checked + span i, .catalog-v2-base-choice-card.is-fixed span i { color: #fff; background: #96633f; }
.catalog-v2-base-placeholder { display: grid; grid-row: 1 / span 2; width: 38px; height: 38px; place-items: center; border-radius: 11px; color: #fff; background: linear-gradient(135deg, #7c4823, #bc7f54); font-size: 17px; font-weight: 900; }
.client-preview-banner { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 47px; padding: 8px 15px; color: #704527; background: #f8efe8; border-bottom: 1px solid #e8d9cf; font-size: 12px; }
.client-preview-copy { display: flex; align-items: baseline; flex-wrap: wrap; gap: 7px; min-width: 0; }
.client-preview-banner strong { font-weight: 900; }
.client-preview-banner span { color: #806b85; }
.client-preview-actions { display: flex; flex: 0 0 auto; gap: 7px; }
.client-preview-actions button { min-height: 30px; padding: 6px 11px; border-radius: 8px; font-size: 11px; font-weight: 850; cursor: pointer; }
.client-preview-publish { border: 1px solid #895734; color: #fff; background: #895734; }
.client-preview-discard { border: 1px solid #dbcabe; color: #785339; background: #fff; }
.catalog-v2-addon-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.catalog-v2-addon-choice span { position: relative; display: flex; align-items: center; gap: 8px; min-height: 53px; padding: 7px 27px 7px 8px; border: 1px solid #eae2dd; border-radius: 10px; color: #66576b; background: #fff; font-size: 12px; line-height: 1.2; transition: .16s ease; }
.catalog-v2-addon-choice img, .catalog-v2-addon-placeholder { flex: 0 0 38px; width: 38px; height: 38px; object-fit: cover; border-radius: 8px; background: #f8f4f2; }
.catalog-v2-addon-placeholder { display: grid; place-items: center; color: #93613d; font-size: 21px; }
.catalog-v2-addon-choice strong { min-width: 0; font-weight: 750; }
.catalog-v2-addon-choice i { position: absolute; top: 7px; right: 7px; display: grid; width: 18px; height: 18px; place-items: center; border-radius: 50%; color: transparent; background: #f5ede7; font-size: 11px; font-style: normal; }
.catalog-v2-addon-choice input:checked + span { border-color: #ad805f; color: #6e4a30; background: #f9f2ed; box-shadow: 0 0 0 2px rgba(173,128,95,.1); }
.catalog-v2-addon-choice input:checked + span i { color: #fff; background: #96633f; }
.catalog-v2-addon-choice input:disabled + span { opacity: .48; }
.catalog-v2-field-note { display: block; margin-top: 7px; color: #978a9b; font-size: 10.5px; }
.catalog-v2-quantity { display: inline-flex; align-items: center; gap: 7px; }
.catalog-v2-quantity button { display: grid; width: 35px; height: 35px; place-items: center; border: 1px solid #e5ddd7; border-radius: 9px; color: #7b4e2e; background: #fff; font-size: 20px; }
.catalog-v2-quantity input { width: 55px; height: 35px; border: 1px solid #e5ddd7; border-radius: 9px; color: #524236; text-align: center; }
.catalog-v2-modal-summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 2px; padding: 13px 0 0; border-top: 1px solid #efe9e4; color: #756779; font-size: 12px; }
.catalog-v2-modal-summary strong { color: #794b2b; font-size: 21px; }
.catalog-v2-modal-submit { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 47px; border: 0; border-radius: 11px; color: #fff; background: #915f3c; box-shadow: 0 8px 17px rgba(133,84,49,.18); font-size: 13px; font-weight: 850; }
.catalog-v2-modal-submit span { font-size: 18px; }

@media (max-width: 820px) {
  .catalog-v2-card { grid-template-columns: minmax(0, 1fr) 140px; }
  .catalog-v2-card-art { width: 140px; height: 140px; aspect-ratio: auto; min-height: 140px; }
  .catalog-v2-grid.is-addons .catalog-v2-card { grid-template-columns: minmax(0, 1fr) 96px; }
}
@media (max-width: 560px) {
  .client-header { position: sticky; top: 0; z-index: 30; min-height: 64px; padding: 8px 15px; }
  .client-header-actions { gap: 0; }
  .client-track-button { display: none !important; }
  .catalog-v2-intro { align-items: flex-start; flex-direction: column; gap: 12px; margin-top: 16px; }
  .catalog-v2-intro-stat { align-items: flex-start; }
  .catalog-v2-tabs { margin-bottom: 22px; }
  .catalog-v2-section-heading h2 { font-size: 27px; }
  .catalog-v2-grid, .catalog-v2-grid.is-addons { grid-template-columns: 1fr; gap: 12px; }
  .catalog-v2-card { grid-template-columns: minmax(0, 1fr) 124px; min-height: 184px; border-radius: 13px; cursor: pointer; }
  .catalog-v2-card-copy { padding: 13px 11px 12px 14px; }
  .catalog-v2-card-tag, .catalog-v2-card-rule { display: none; }
  .catalog-v2-card h3 { display: -webkit-box; margin-top: 0; overflow: hidden; font-size: 16px; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
  .catalog-v2-description { min-height: 0; -webkit-line-clamp: 3; }
  .catalog-v2-description--mobile { display: -webkit-box; min-height: 0; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
  .catalog-v2-card-footer { display: block; margin-top: auto; padding-top: 10px; }
  .catalog-v2-price { flex-direction: column; align-items: flex-start; gap: 2px; }
  .catalog-v2-price small { display: inline; font-size: 9.5px; }
  .catalog-v2-price strong { font-size: 16px; }
  .catalog-v2-add { display: none; }
  .catalog-v2-card-art { align-self: start; width: 112px; height: 112px; min-height: 112px; margin: 12px 12px 0 0; border-radius: 9px; position: relative; }
  .catalog-v2-card-gift { top: 4px; right: 4px; display: grid; width: 30px; height: 30px; font-size: 16px; }
  .catalog-v2-price-meta { margin-top: 3px; }
  .catalog-v2-grid.is-addons .catalog-v2-card { grid-template-columns: minmax(0, 1fr) 90px; min-height: 132px; }
  .catalog-v2-grid.is-addons .catalog-v2-card-art { width: 90px; height: 90px; aspect-ratio: auto; min-height: 90px; }
  .catalog-v2-grid.is-addons .catalog-v2-card-footer { grid-template-columns: 1fr; }
  .catalog-v2-modal-head { grid-template-columns: 100px 1fr; gap: 12px; padding: 14px; }
  .catalog-v2-modal-art { height: 100px; }
  .catalog-v2-modal-head h2 { font-size: 22px; }
  .catalog-v2-size-grid { grid-template-columns: repeat(2, 1fr); }
  .catalog-v2-base-choice-grid { grid-template-columns: 1fr; }
  .catalog-v2-addon-grid { grid-template-columns: 1fr; }
  .client-preview-banner { align-items: stretch; flex-direction: column; gap: 8px; }
  .client-preview-copy { display: block; text-align: center; }
  .client-preview-copy span { display: block; margin-top: 2px; }
  .client-preview-actions { justify-content: center; }
}
@media (max-width: 560px) {
  .client-header { padding: 10px 15px; }
  .client-main, #client-main { padding-right: 15px; padding-left: 15px; }
  .client-hero { min-height: 205px; margin-top: 15px; padding: 25px 22px; border-radius: 19px; }
  .client-hero-orb { width: 77px; height: 77px; border-width: 5px; font-size: 42.5px; }
  .client-hero-product { width: 88px; height: 88px; border-width: 5px; }
  .client-hero-product span { font-size: 42.5px; }
  .client-hero h1 { font-size: 36.25px; }
  .client-hero p { max-width: 245px; font-size: 13.75px; }
  .client-product-grid { grid-template-columns: 1fr; gap: 14px; }
  .client-product-card { grid-template-columns: minmax(0, 1fr) 112px; min-height: 184px; padding: 12px; }
  .client-product-art { width: auto; height: 100%; min-height: 158px; border-radius: 13px; }
  .client-product-copy { padding: 0 12px 0 0; }
  .client-product-copy p { min-height: 38px; -webkit-line-clamp: 3; }
  .client-product-ingredients { grid-template-columns: 1fr; gap: 4px; min-height: auto; font-size: 12px; }
  .client-product-card--compact { grid-template-columns: minmax(0, 1fr) 112px; min-height: 184px; }
  .client-product-card--compact .client-product-art { width: auto; min-height: 158px; }
  .client-product-card--compact .client-product-copy { padding: 0 12px 0 0; }
  .client-product-card--compact .client-product-ingredients { min-height: auto; }
  .client-product-grid.is-addons { grid-template-columns: 1fr; gap: 12px; }
  .client-product-grid.is-addons .client-product-card { grid-template-columns: minmax(0, 1fr) 90px; min-height: 132px; padding: 8px; }
  .client-product-grid.is-addons .client-product-art { width: auto; height: 100%; min-height: 116px; }
  .client-product-grid.is-addons .client-product-copy { padding-right: 8px; }
  .client-product-grid.is-addons .client-product-copy p { min-height: 28px; }
  .client-product-grid.is-addons .client-add-button { min-height: 42px; padding: 10px 11px; font-size: 12.5px; }
  .client-brand img { width: 46px; height: 46px; }
  .client-brand strong { font-size: 18.75px; }
  .client-brand small { font-size: 12.5px; }
  .client-cart-button { width: 48px; height: 48px; }
  .client-location-box { grid-template-columns: 1fr; gap: 10px; }
  .client-location-button { width: 100%; }
  .client-location-link-field { grid-column: auto; }
  .client-promo-section { margin-top: 15px; }
  .client-promo-slide { border-radius: 19px; }
  .client-promo-dots { bottom: 9px; }
  #client-cart-nudge { bottom: 12px; padding: 0 12px; }
  .client-cart-nudge { align-items: stretch; flex-direction: column; gap: 10px; padding: 12px; }
  .client-cart-nudge-actions { width: 100%; }
  .client-nudge-continue, .client-nudge-cart { flex: 1; }
  .client-input-grid, .client-delivery-fields { grid-template-columns: 1fr; }
  .client-toggle-grid { grid-template-columns: 1fr; }
  .client-choice-grid { grid-template-columns: repeat(2, 1fr); }
  .client-payment-grid { grid-template-columns: 1fr 1fr 1fr; }
  .client-page-heading h1 { font-size: 35px; }
  .client-success { padding-top: 35px; }
}

