:root {
    --store-green: #16a66a;
    --store-green-dark: #087a4b;
    --store-green-soft: #eaf8f1;
    --store-orange: #ff9f1c;
    --store-ink: #17242d;
    --store-muted: #687780;
    --store-border: #e5ece9;
    --store-bg: #f6f8f7;
    --store-radius: 18px;
    --store-shadow: 0 16px 45px rgba(20, 45, 35, .08);
}

body { color: var(--store-ink); background: #fff; }
.modern-home { background: #fff; font-family: "Poppins", sans-serif; }
.home-hero { overflow: hidden; padding: 58px 0 48px; background: radial-gradient(circle at 82% 28%, #d7f4e6 0, #eefaf4 24%, transparent 25%), linear-gradient(125deg,#f4fbf7 0%,#fffaf0 100%); }
.home-hero-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 70px; align-items: center; }
.home-hero-copy h1 { max-width: 650px; margin: 8px 0 18px; color: #123328; font-size: clamp(38px,5vw,64px); line-height: 1.05; letter-spacing: -.045em; }
.home-hero-copy > p { max-width: 570px; color: var(--store-muted); font-size: 15px; line-height: 1.75; }
.home-hero-actions { display: flex; gap: 12px; margin-top: 28px; }
.home-hero-actions .primary-action, .home-hero-actions .secondary-action { min-width: 210px; padding: 0 20px; }
.home-hero-actions .material-symbols-outlined { font-size: 19px; }
.home-trust { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 27px; color: #50645b; font-size: 10px; font-weight: 600; }
.home-trust span { display: flex; align-items: center; gap: 5px; }
.home-trust .material-symbols-outlined { color: var(--store-green); font-size: 17px; }
.home-hero-art { position: relative; min-height: 440px; display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; padding: 18px; border: 1px solid rgba(255,255,255,.9); border-radius: 34px; background: rgba(255,255,255,.72); box-shadow: 0 28px 70px rgba(30,80,55,.15); transform: rotate(1.5deg); }
.home-hero-art > img { width: 100%; height: 195px; object-fit: contain; border-radius: 22px; background: #fff; }
.hero-order-chip { position: absolute; left: -38px; bottom: 28px; display: flex; align-items: center; gap: 10px; padding: 13px 17px; border-radius: 15px; background: #fff; box-shadow: 0 15px 40px rgba(25,50,40,.18); transform: rotate(-1.5deg); }
.hero-order-chip > span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 11px; background: var(--store-green-soft); color: var(--store-green-dark); }
.hero-order-chip div { display: grid; gap: 2px; }
.hero-order-chip b { font-size: 11px; }.hero-order-chip small { color: var(--store-muted); font-size: 9px; }
.home-categories { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; margin-top: -22px; }
.home-category-card { min-height: 92px; display: grid; grid-template-columns: 52px 1fr 22px; gap: 12px; align-items: center; padding: 15px; border: 1px solid var(--store-border); border-radius: 17px; background: #fff; color: var(--store-ink); box-shadow: 0 12px 32px rgba(25,50,40,.08); text-decoration: none; transition: .2s; }
.home-category-card:hover { transform: translateY(-3px); border-color: #b8dfcd; }
.home-category-card > span:first-child { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 14px; background: var(--store-green-soft); }
.home-category-card img { width: 35px; height: 35px; object-fit: contain; }
.home-category-card div { display: grid; gap: 3px; }.home-category-card strong { font-size: 13px; }.home-category-card small { color: var(--store-muted); font-size: 9px; }
.home-category-card > .material-symbols-outlined { color: #9aaca3; font-size: 19px; }
.home-products { padding: 75px 0 80px; background: #fff; }
.home-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 25px; }
.home-section-heading h2 { margin: 2px 0 3px; color: var(--store-ink); font-size: 30px; }.home-section-heading p { color: var(--store-muted); font-size: 12px; }
.home-section-heading .text-link { display: flex; align-items: center; gap: 5px; }.home-section-heading .material-symbols-outlined { font-size: 18px; }
.home-how { padding: 68px 0 78px; background: var(--store-bg); }
.home-how-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.home-how-grid article { position: relative; padding: 28px; border: 1px solid var(--store-border); border-radius: 19px; background: #fff; }
.home-how-grid article > b { position: absolute; top: 20px; right: 22px; color: #d8e4de; font-size: 38px; }.home-how-grid article > .material-symbols-outlined { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 14px; background: var(--store-green-soft); color: var(--store-green-dark); }
.home-how-grid h3 { margin: 18px 0 6px; font-size: 16px; }.home-how-grid p { color: var(--store-muted); font-size: 11px; line-height: 1.6; }
.store-topbar { border-bottom: 1px solid var(--store-border); background: #fbfdfc; font-family: "Poppins", sans-serif; }
.store-topbar .container { min-height: 44px; display: flex; align-items: center; justify-content: space-between; }
.store-topbar p { display: flex; align-items: center; gap: 7px; font-size: 12px; color: var(--store-muted); }
.store-topbar p .material-symbols-outlined { font-size: 18px; color: var(--store-green); }
.location-trigger { display: inline-flex; align-items: center; gap: 8px; border: 0; background: transparent; color: var(--store-ink); cursor: pointer; padding: 4px 0; text-align: left; }
.location-trigger > .material-symbols-outlined:first-child { color: var(--store-green); }
.location-trigger > .material-symbols-outlined:last-child { font-size: 18px; color: var(--store-muted); }
.location-trigger span:nth-child(2) { display: grid; }
.location-trigger small { color: var(--store-muted); font-size: 10px; line-height: 1.1; }
.location-trigger strong { font-size: 12px; line-height: 1.3; }

header.menu-desktop { height: auto; padding: 18px 0; background: #fff; box-shadow: none; border-bottom: 1px solid var(--store-border); }
header.menu-desktop .container { align-items: center; }
header.menu-desktop .logo img { width: 105px; max-height: 72px; object-fit: contain; }
header.menu-desktop .search { flex: 1; max-width: 620px; margin: 0 32px; }
header.menu-desktop .search form { width: 100%; margin: 0; display: flex; background: #f2f5f3; border: 1px solid transparent; border-radius: 14px; overflow: hidden; transition: .2s; }
header.menu-desktop .search form:focus-within { background: #fff; border-color: var(--store-green); box-shadow: 0 0 0 4px rgba(22,166,106,.1); }
header.menu-desktop .search input { flex: 1; background: transparent; border: 0; padding: 14px 18px; outline: none; font-family: "Poppins",sans-serif; }
header.menu-desktop .search button { width: 54px; border: 0; background: var(--store-green); color: #fff; cursor: pointer; }
header.menu-desktop nav.options ul { width: auto; gap: 8px; justify-content: flex-end; }
header.menu-desktop nav.options ul li { width: auto; min-width: 0; height: auto; margin: 0; border-radius: 0; background: transparent !important; font-size: 13px; }
header.menu-desktop nav.options li a { min-width: 108px; min-height: 46px; display: flex; align-items: center; justify-content: center; gap: 7px; padding: 0 15px; color: var(--store-ink); font-weight: 600; border: 1px solid transparent; border-radius: 12px; transition: .2s; white-space: nowrap; }
header.menu-desktop nav.options li a:hover { color: var(--store-green-dark); background: var(--store-green-soft); }
header.menu-desktop .cart-menu-icon a { min-width: 136px; background: var(--store-orange); color: #fff !important; padding-inline: 18px !important; }
header.menu-desktop .cart-menu-icon a:hover { background: #eb8d0e; color: #fff; }
[data-cart-count] { min-width: 20px; height: 20px; padding: 0 5px; display: inline-grid; place-items: center; border-radius: 20px; background: #fff; color: #df7b00; font-size: 11px; }

.store-category-bar { position: sticky; top: 0; z-index: 30; background: #fff; border-bottom: 1px solid var(--store-border); box-shadow: 0 5px 20px rgba(30,50,40,.04); }
.store-category-bar .container { min-height: 50px; display: flex; align-items: center; gap: 28px; overflow-x: auto; scrollbar-width: none; }
.store-category-bar a { color: #405149; font: 500 13px "Poppins",sans-serif; white-space: nowrap; text-decoration: none; }
.store-category-bar a:hover { color: var(--store-green); }
.store-category-bar .category-offers { margin-left: auto; display: flex; align-items: center; gap: 5px; color: var(--store-green-dark); }
.store-category-bar .material-symbols-outlined { font-size: 18px; }

section.products .product-card { background: #fff; border: 1px solid var(--store-border); border-radius: 16px; box-shadow: 0 8px 24px rgba(25,50,40,.06); transition: transform .2s, box-shadow .2s; }
section.products .product-card:hover { transform: translateY(-4px); box-shadow: 0 18px 35px rgba(25,50,40,.12); }
section.products .content-image { aspect-ratio: 1 / 1; display: grid; place-items: center; overflow: hidden; background: #fff; }
section.products .content-image img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
section.products .description h1 { min-height: 46px; font-size: 14px; color: var(--store-ink); line-height: 1.45; }
section.products .description > a button { min-height: 42px; border-radius: 10px; background: var(--store-green); font-size: 13px; }

.catalog-page { min-height: 70vh; padding: 42px 0 70px; background: var(--store-bg); font-family: "Poppins",sans-serif; }
.catalog-heading { display: flex; align-items: end; justify-content: space-between; margin-bottom: 22px; }
.catalog-heading > div > span { color: var(--store-green-dark); font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.catalog-heading h1 { margin: 3px 0; color: var(--store-ink); font-size: 32px; }
.catalog-heading p { color: var(--store-muted); font-size: 12px; }
.catalog-filter-link { display: flex; align-items: center; gap: 6px; color: var(--store-green-dark); font-size: 12px; font-weight: 700; text-decoration: none; }
.catalog-toolbar { display: grid; grid-template-columns: minmax(260px,1fr) 210px auto; gap: 12px; align-items: end; margin-bottom: 24px; padding: 14px; border: 1px solid var(--store-border); border-radius: 15px; background: #fff; }
.catalog-toolbar > label { display: grid; gap: 4px; color: var(--store-muted); font-size: 10px; font-weight: 600; }
.catalog-toolbar input, .catalog-toolbar select { width: 100%; height: 42px; border: 1px solid var(--store-border); border-radius: 10px; background: #fbfcfc; padding: 0 12px; outline: none; font: 12px "Poppins",sans-serif; }
.catalog-toolbar input:focus, .catalog-toolbar select:focus { border-color: var(--store-green); }
.catalog-toolbar .catalog-search { position: relative; display: block; }
.catalog-search .material-symbols-outlined { position: absolute; left: 12px; top: 11px; z-index: 1; color: #819087; font-size: 19px; }
.catalog-search input { padding-left: 40px; }
.catalog-toolbar button { height: 42px; padding: 0 22px; border: 0; border-radius: 10px; background: var(--store-green); color: #fff; font: 700 12px "Poppins",sans-serif; cursor: pointer; }
.modern-product-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 18px; }
.modern-product-card { overflow: hidden; border: 1px solid var(--store-border); border-radius: 16px; background: #fff; box-shadow: 0 7px 22px rgba(25,50,40,.05); transition: .22s; }
.modern-product-card:hover { transform: translateY(-4px); box-shadow: 0 18px 35px rgba(25,50,40,.11); }
.modern-product-image { position: relative; aspect-ratio: 1/1; display: grid; place-items: center; padding: 12px; background: #fff; }
.modern-product-image img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.product-discount { position: absolute; top: 12px; left: 12px; z-index: 2; padding: 5px 8px; border-radius: 8px; background: #e7f8ef; color: var(--store-green-dark); font-size: 10px; font-weight: 800; }
.modern-product-info { padding: 2px 15px 16px; }
.modern-product-category { color: var(--store-green-dark); font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.modern-product-info h3 { height: 42px; margin: 5px 0 9px; overflow: hidden; font-size: 13px; line-height: 1.55; }
.modern-product-info h3 a { color: var(--store-ink); text-decoration: none; }
.modern-product-price { min-height: 57px; display: flex; align-items: baseline; flex-wrap: wrap; gap: 2px 5px; }
.modern-product-price small { width: 100%; color: #98a29d; font-size: 9px; text-decoration: line-through; }
.modern-product-price strong { color: var(--store-green-dark); font-size: 20px; }
.modern-product-price strong span { font-size: 11px; }
.modern-product-price em { color: var(--store-muted); font-size: 9px; font-style: normal; }
.modern-product-action { min-height: 40px; display: flex; align-items: center; justify-content: center; gap: 6px; margin-top: 10px; border-radius: 10px; background: var(--store-green); color: #fff; font-size: 11px; font-weight: 700; text-decoration: none; }
.modern-product-action:hover { background: var(--store-green-dark); }
.modern-product-action .material-symbols-outlined { font-size: 18px; }
.catalog-empty { grid-column: 1/-1; padding: 70px 20px; text-align: center; color: var(--store-muted); }
.catalog-empty .material-symbols-outlined { font-size: 46px; }
.catalog-empty h2 { margin: 10px 0 4px; color: var(--store-ink); font-size: 19px; }
.catalog-empty p { font-size: 12px; }
.store-pagination { margin-top: 28px; }
.store-pagination nav { font-family: "Poppins",sans-serif; }

.store-page { min-height: 70vh; padding: 38px 0 72px; background: var(--store-bg); font-family: "Poppins", sans-serif; }
.store-shell { width: min(1180px, calc(100% - 32px)); margin: 0 auto; }
.checkout-steps { display: flex; align-items: center; justify-content: center; margin-bottom: 34px; color: #86918c; font-size: 12px; font-weight: 600; }
.checkout-steps span { display: flex; align-items: center; gap: 8px; white-space: nowrap; }
.checkout-steps b { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: #e2e8e5; color: #66736d; }
.checkout-steps .active { color: var(--store-green-dark); }
.checkout-steps .active b, .checkout-steps .done b { background: var(--store-green); color: #fff; }
.checkout-steps i { width: 80px; height: 2px; margin: 0 14px; background: #dfe6e2; }
.page-heading { display: flex; justify-content: space-between; align-items: end; margin-bottom: 26px; }
.page-heading.compact { align-items: start; }
.eyebrow { display: block; margin-bottom: 5px; color: var(--store-green-dark); font-size: 11px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.page-heading h1, .confirmation-card h1 { margin: 0; color: var(--store-ink); font-size: clamp(26px, 3vw, 38px); line-height: 1.2; }
.page-heading p { margin-top: 7px; color: var(--store-muted); font-size: 14px; }
.text-link { color: var(--store-green-dark); font-size: 13px; font-weight: 600; text-decoration: none; }
.surface { background: #fff; border: 1px solid var(--store-border); border-radius: var(--store-radius); box-shadow: var(--store-shadow); }
.cart-layout, .checkout-layout { display: grid; grid-template-columns: minmax(0, 1fr) 350px; gap: 24px; align-items: start; }
.cart-items-panel { overflow: hidden; }
.surface-header { min-height: 68px; padding: 0 22px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--store-border); }
.surface h2, .surface-header h2 { margin: 0; font-size: 18px; color: var(--store-ink); }
.danger-link { border: 0; background: transparent; color: #dc5454; cursor: pointer; font: 600 12px "Poppins",sans-serif; }
.cart-line { display: grid; grid-template-columns: 88px minmax(150px,1fr) 122px 110px 38px; gap: 16px; align-items: center; padding: 18px 22px; border-bottom: 1px solid var(--store-border); }
.cart-line:last-child { border-bottom: 0; }
.cart-line > img { width: 88px; height: 88px; object-fit: contain; border-radius: 12px; background: #fff; }
.cart-line-category { color: var(--store-green-dark); font-size: 10px; font-weight: 700; text-transform: uppercase; }
.cart-line-info h3 { margin: 4px 0 7px; font-size: 14px; line-height: 1.35; }
.cart-line-info strong { color: var(--store-green-dark); font-size: 14px; }
.cart-line-info small { color: var(--store-muted); font-weight: 400; }
.quantity-control { display: grid; grid-template-columns: 34px 45px 34px; height: 38px; border: 1px solid var(--store-border); border-radius: 10px; overflow: hidden; }
.quantity-control button { border: 0; background: #f3f7f5; color: var(--store-green-dark); font-size: 20px; cursor: pointer; }
.quantity-control input { width: 100%; border: 0; text-align: center; outline: 0; font: 600 13px "Poppins",sans-serif; }
.cart-line-total { display: grid; gap: 4px; }
.cart-line-total span { color: var(--store-muted); font-size: 10px; }
.cart-line-total strong { font-size: 14px; }
.remove-line { width: 36px; height: 36px; border: 0; border-radius: 9px; background: #fff2f2; color: #d74e4e; cursor: pointer; }
.remove-line .material-symbols-outlined { font-size: 19px; }
.cart-loading, .empty-cart { padding: 70px 20px; text-align: center; color: var(--store-muted); }
.empty-cart > .material-symbols-outlined { font-size: 55px; color: #b8c8c0; }
.empty-cart h3 { margin: 14px 0 5px; color: var(--store-ink); font-size: 19px; }
.empty-cart p { margin-bottom: 20px; font-size: 13px; }
.order-summary { position: sticky; top: 74px; padding: 24px; }
.order-summary h2 { margin-bottom: 22px; }
.checkout-summary > .primary-action { width: 100%; min-height: 52px; padding: 0 18px; font-size: 13px; }
.summary-line { display: flex; justify-content: space-between; gap: 20px; padding: 10px 0; color: var(--store-muted); font-size: 13px; }
.summary-line strong { color: var(--store-ink); }
.summary-line.muted { font-size: 11px; }
.summary-total { display: flex; justify-content: space-between; align-items: end; margin-top: 10px; padding: 18px 0; border-top: 1px solid var(--store-border); }
.summary-total span { font-size: 14px; font-weight: 600; }
.summary-total strong { color: var(--store-green-dark); font-size: 25px; }
.primary-action, .secondary-action, .whatsapp-action { min-height: 48px; display: flex; align-items: center; justify-content: center; gap: 9px; border: 0; border-radius: 12px; cursor: pointer; text-decoration: none; font: 700 13px "Poppins",sans-serif; transition: .2s; }
.primary-action { background: var(--store-green); color: #fff; }
.primary-action:hover { background: var(--store-green-dark); transform: translateY(-1px); }
.primary-action.disabled, .primary-action:disabled { opacity: .5; pointer-events: none; }
.secondary-action { color: var(--store-green-dark); background: var(--store-green-soft); }
.secure-note { display: flex; gap: 10px; margin-top: 18px; color: var(--store-muted); }
.secure-note .material-symbols-outlined { color: var(--store-green); font-size: 20px; }
.secure-note p { font-size: 10px; line-height: 1.5; }
.secure-note strong { color: var(--store-ink); }

.checkout-forms { display: grid; gap: 18px; }
.form-section { padding: 24px; }
.section-title { display: flex; gap: 13px; align-items: start; margin-bottom: 22px; }
.section-title > span { width: 32px; height: 32px; flex: 0 0 32px; display: grid; place-items: center; border-radius: 10px; background: var(--store-green-soft); color: var(--store-green-dark); font-weight: 700; }
.section-title h2 { font-size: 17px; }
.section-title p { margin-top: 3px; color: var(--store-muted); font-size: 11px; }
.form-grid { display: grid; gap: 15px; }
.form-grid.two { grid-template-columns: repeat(2, minmax(0,1fr)); }
.form-grid.three { grid-template-columns: 150px 160px minmax(160px,1fr); }
.field { display: grid; align-content: start; gap: 7px; }
.field span { color: #415149; font-size: 11px; font-weight: 600; }
.field small { color: var(--store-muted); font-weight: 400; }
.field input, .field textarea, .field select, .location-dialog input { width: 100%; border: 1px solid #dce5e1; border-radius: 10px; background-color: #fbfcfc; padding: 11px 12px; outline: none; font: 400 13px "Poppins",sans-serif; transition: .2s; }
.field select { min-height: 44px; padding-right: 34px; }
.field input:focus, .field textarea:focus, .field select:focus, .location-dialog input:focus { border-color: var(--store-green); background-color: #fff; box-shadow: 0 0 0 3px rgba(22,166,106,.1); }
.field .cep-status { min-height: 14px; color: #7c8a83; font-size: 9px; line-height: 1.45; }
.field .cep-status.is-loading { color: #9a6800; }.field .cep-status.is-success { color: var(--store-green-dark); }.field .cep-status.is-error { color: #b93131; }
.field.full { grid-column: 1 / -1; }
.field.wide { grid-column: span 2; }
.choice-grid, .payment-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-bottom: 20px; }
.choice-card, .payment-choice { position: relative; display: grid; gap: 3px; padding: 16px; border: 1px solid var(--store-border); border-radius: 12px; cursor: pointer; }
.choice-card:has(input:checked), .payment-choice:has(input:checked) { border-color: var(--store-green); background: var(--store-green-soft); box-shadow: inset 0 0 0 1px var(--store-green); }
.choice-card input, .payment-choice input { position: absolute; top: 12px; right: 12px; accent-color: var(--store-green); }
.choice-card .material-symbols-outlined, .payment-choice .material-symbols-outlined { color: var(--store-green-dark); font-size: 23px; }
.choice-card b, .payment-choice b { font-size: 12px; }
.choice-card small { color: var(--store-muted); font-size: 10px; }
.payment-grid { grid-template-columns: repeat(4,1fr); margin-bottom: 18px; }
.payment-choice { place-items: center; padding: 14px 8px; }
.payment-choice input { top: 8px; right: 8px; }
.payment-choice small { color: var(--store-muted); font-size: 9px; text-align: center; }
.payment-choice.payment-disabled { opacity: .5; cursor: not-allowed; background: #f5f7f6; }
.payment-test-notice { display: flex; align-items: center; gap: 7px; margin: -5px 0 16px; padding: 10px 12px; border-radius: 10px; background: #fff8e6; color: #8a5b00; font-size: 10px; }
.payment-test-notice .material-symbols-outlined { font-size: 18px; }
.boleto-fields { margin: 0 0 18px; padding: 16px; border: 1px solid #cfe5da; border-radius: 12px; background: #f4fbf7; }
.payment-help { margin-top: 8px; color: var(--store-muted); font-size: 10px; }
.payment-rules { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px 18px; margin-bottom: 18px; padding: 15px; border-radius: 12px; background: #f7f8f7; color: var(--store-muted); font-size: 10px; }
.payment-rules strong { grid-column: 1 / -1; color: var(--store-ink); font-size: 12px; }
.box-weight { display: flex; align-items: center; gap: 5px; margin: -2px 0 11px; color: var(--store-muted); font-size: 10px; }
.box-weight .material-symbols-outlined { font-size: 15px; color: var(--store-green-dark); }
.discount-explainer { padding: 68px 0; background: #fff; }
.discount-tier-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
.discount-tier-grid article { display: grid; gap: 5px; padding: 22px; border: 1px solid var(--store-border); border-radius: 16px; background: var(--store-green-soft); }
.discount-tier-grid strong { color: var(--store-green-dark); font-size: 18px; }
.discount-tier-grid span { color: var(--store-muted); font-size: 11px; }
.retroactive-note { display: flex; gap: 14px; align-items: flex-start; margin-top: 18px; padding: 20px; border-radius: 16px; background: #173f31; color: #fff; }
.retroactive-note .material-symbols-outlined { padding: 9px; border-radius: 10px; background: rgba(255,255,255,.12); }
.retroactive-note p { margin-top: 4px; color: #cce1d7; font-size: 11px; line-height: 1.6; }
.notes-field { margin-top: 8px; }
.disabled-fields { display: none !important; }
.checkout-mini-items { max-height: 315px; overflow: auto; margin-bottom: 13px; }
.checkout-mini-item { display: grid; grid-template-columns: 48px 1fr auto; gap: 10px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--store-border); }
.checkout-mini-item img { width: 48px; height: 48px; object-fit: contain; }
.checkout-mini-item div { display: grid; gap: 2px; }
.checkout-mini-item b { font-size: 11px; line-height: 1.3; }
.checkout-mini-item small { color: var(--store-muted); font-size: 9px; }
.checkout-mini-item > strong { font-size: 11px; }
.checkout-disclaimer { margin-top: 13px; color: var(--store-muted); font-size: 9px; line-height: 1.5; text-align: center; }
.form-errors { margin: 8px 0; color: #b93131; font-size: 11px; line-height: 1.5; }
.button-spinner { width: 16px; height: 16px; border: 2px solid rgba(255,255,255,.4); border-top-color: #fff; border-radius: 50%; animation: spin .7s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }

.confirmation-shell { max-width: 820px; }
.confirmation-card { padding: 42px; text-align: center; }
.confirmation-card > p { max-width: 580px; margin: 12px auto 25px; color: var(--store-muted); font-size: 13px; line-height: 1.6; }
.success-icon { width: 68px; height: 68px; margin: 0 auto 18px; display: grid; place-items: center; border-radius: 50%; background: var(--store-green-soft); color: var(--store-green); }
.success-icon .material-symbols-outlined { font-size: 38px; }
.confirmation-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; margin-bottom: 22px; }
.confirmation-grid div { display: grid; gap: 4px; padding: 15px; border-radius: 12px; background: #f7f9f8; }
.confirmation-grid span { color: var(--store-muted); font-size: 10px; }
.confirmation-grid strong { font-size: 13px; }
.confirmation-items { margin-bottom: 22px; padding: 10px 18px; border: 1px solid var(--store-border); border-radius: 12px; text-align: left; }
.confirmation-items div { display: flex; justify-content: space-between; gap: 15px; padding: 8px 0; font-size: 11px; border-bottom: 1px solid #edf1ef; }
.confirmation-items div:last-child { border: 0; }
.whatsapp-action { max-width: 380px; margin: auto; background: #1dbf68; color: #fff; font-size: 14px; }
.whatsapp-action + .secondary-action { max-width: 380px; margin: 10px auto; }
.confirmation-card > .text-link { display: inline-block; margin-top: 18px; }

.location-dialog { position: fixed; inset: 0; width: min(430px, calc(100% - 30px)); max-width: 430px; max-height: calc(100vh - 30px); margin: auto; padding: 0; overflow: auto; border: 0; border-radius: 20px; box-shadow: 0 25px 80px rgba(0,0,0,.22); }
.location-dialog::backdrop { background: rgba(17,32,25,.58); backdrop-filter: blur(3px); }
.location-dialog form { position: relative; display: grid; gap: 14px; padding: 30px; font-family: "Poppins",sans-serif; }
.location-dialog h2 { font-size: 21px; margin: 0; }
.location-dialog p { color: var(--store-muted); font-size: 12px; }
.location-dialog label { display: grid; gap: 5px; font-size: 11px; font-weight: 600; }
.dialog-close { position: absolute; top: 12px; right: 14px; border: 0; background: transparent; color: #77847e; font-size: 25px; cursor: pointer; }
.dialog-icon { color: var(--store-green); font-size: 33px; }

@media (max-width: 900px) {
    .home-hero-grid { grid-template-columns: 1fr; }.home-hero-art { display: none; }
    .home-categories { grid-template-columns: repeat(2,1fr); margin-top: 16px; }
    .home-how-grid { grid-template-columns: 1fr; }
    .store-topbar p, .store-category-bar { display: none; }
    .cart-layout, .checkout-layout { grid-template-columns: 1fr; }
    .order-summary { position: static; }
    .cart-line { grid-template-columns: 72px 1fr 38px; }
    .cart-line > img { width: 72px; height: 72px; }
    .quantity-control { grid-column: 2; }
    .cart-line-total { grid-column: 2; }
    .remove-line { grid-column: 3; grid-row: 1; }
    .form-grid.three { grid-template-columns: 1fr 140px; }
    .form-grid.three .field:nth-child(3) { grid-column: 1 / -1; }
    .delivery-fields .field.wide { grid-column: auto; }
    .payment-grid { grid-template-columns: repeat(2,1fr); }
    .discount-tier-grid { grid-template-columns: repeat(2,1fr); }
    .modern-product-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

@media (max-width: 520px) {
    .discount-tier-grid, .payment-rules { grid-template-columns: 1fr; }
    .payment-rules strong { grid-column: auto; }
}

@media (max-width: 560px) {
    .home-hero { padding: 42px 0; }.home-hero-copy h1 { font-size: 36px; }
    .home-hero-actions { flex-direction: column; }.home-trust { gap: 10px; }
    .home-categories { grid-template-columns: 1fr; }
    .home-products { padding: 52px 0; }.home-section-heading { align-items: start; flex-direction: column; gap: 10px; }
    .store-page { padding-top: 24px; }
    .checkout-steps { justify-content: flex-start; overflow: hidden; }
    .checkout-steps span { font-size: 0; }
    .checkout-steps span b { font-size: 12px; }
    .checkout-steps i { flex: 1; min-width: 24px; margin-inline: 8px; }
    .page-heading { align-items: start; gap: 15px; flex-direction: column; }
    .cart-line { padding: 15px; gap: 12px; }
    .form-grid.two, .form-grid.three, .choice-grid { grid-template-columns: 1fr; }
    .field.wide { grid-column: auto; }
    .confirmation-card { padding: 28px 18px; }
    .confirmation-grid { grid-template-columns: 1fr; }
    .modern-product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
    .catalog-toolbar { grid-template-columns: 1fr; }
    .catalog-heading h1 { font-size: 27px; }
}

/* Catálogo com filtros */
.filter-catalog-page { min-height: 75vh; background: #f5f8f6; font-family: "Poppins", sans-serif; }
.filter-shell { width: min(1420px, calc(100% - 48px)); margin: 0 auto; }
.filter-hero { position: relative; overflow: hidden; padding: 28px 0 38px; color: #fff; background: linear-gradient(118deg, #073f2c 0%, #087a4b 54%, #15a66a 100%); }
.filter-hero::before { content: ""; position: absolute; width: 430px; height: 430px; right: 7%; top: -260px; border: 80px solid rgba(255,255,255,.07); border-radius: 50%; }
.filter-hero::after { content: ""; position: absolute; width: 260px; height: 260px; right: -80px; bottom: -190px; border-radius: 50%; background: rgba(255,196,77,.16); }
.filter-hero .filter-shell { position: relative; z-index: 1; }
.filter-breadcrumb { display: flex; align-items: center; gap: 5px; margin-bottom: 24px; color: rgba(255,255,255,.72); font-size: 11px; }
.filter-breadcrumb a { color: inherit; text-decoration: none; }
.filter-breadcrumb .material-symbols-outlined { font-size: 15px; }
.filter-hero-grid { display: flex; align-items: end; justify-content: space-between; gap: 30px; }
.filter-eyebrow { color: #25b879; font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.filter-hero .filter-eyebrow { color: #99e8c5; }
.filter-hero h1 { max-width: 800px; margin: 6px 0 7px; font-size: clamp(28px, 3.4vw, 47px); line-height: 1.12; letter-spacing: -.035em; }
.filter-hero-grid > div:first-child p { color: rgba(255,255,255,.75); font-size: 13px; }
.filter-hero-stat { flex: 0 0 auto; min-width: 205px; display: flex; align-items: center; gap: 13px; padding: 14px 18px; border: 1px solid rgba(255,255,255,.18); border-radius: 16px; background: rgba(255,255,255,.1); backdrop-filter: blur(10px); }
.filter-hero-stat > span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; background: #fff; color: var(--store-green-dark); }
.filter-hero-stat div { display: grid; }.filter-hero-stat strong { font-size: 21px; line-height: 1.15; }.filter-hero-stat small { color: rgba(255,255,255,.72); font-size: 9px; }
.filter-main-search { height: 64px; display: grid; grid-template-columns: 28px minmax(0,1fr) auto; align-items: center; gap: 8px; margin-top: 26px; padding: 7px 8px 7px 19px; border-radius: 17px; background: #fff; box-shadow: 0 20px 50px rgba(3,35,24,.24); }
.filter-main-search > .material-symbols-outlined { color: #718079; font-size: 23px; }
.filter-main-search input[type="search"] { min-width: 0; height: 100%; border: 0; outline: 0; color: var(--store-ink); background: transparent; font: 500 13px "Poppins",sans-serif; }
.filter-main-search button { height: 50px; display: flex; align-items: center; gap: 9px; padding: 0 23px; border: 0; border-radius: 12px; background: var(--store-orange); color: #fff; cursor: pointer; font: 700 12px "Poppins",sans-serif; }
.filter-main-search button:hover { background: #eb8d0e; }.filter-main-search button .material-symbols-outlined { font-size: 19px; }
.filter-results-section { padding: 32px 0 76px; }
.filter-catalog-layout { display: grid; grid-template-columns: 270px minmax(0,1fr); gap: 27px; align-items: start; }
.filter-sidebar { position: sticky; top: 70px; overflow: hidden; border: 1px solid #e0e9e4; border-radius: 18px; background: #fff; box-shadow: 0 10px 35px rgba(23,58,43,.06); }
.filter-sidebar-heading { min-height: 67px; display: flex; align-items: center; justify-content: space-between; padding: 0 20px; border-bottom: 1px solid var(--store-border); }
.filter-sidebar-heading > div { display: flex; align-items: center; gap: 9px; }.filter-sidebar-heading h2 { font-size: 15px; }.filter-sidebar-heading > div > span { color: var(--store-green); font-size: 21px; }
.filter-sidebar-heading > button { display: none; border: 0; background: transparent; color: var(--store-muted); cursor: pointer; }
.filter-sidebar form { padding: 2px 19px 20px; }
.filter-group { margin: 0; padding: 20px 0; border: 0; border-bottom: 1px solid var(--store-border); }
.filter-group legend { width: 100%; margin-bottom: 12px; color: var(--store-ink); font-size: 11px; font-weight: 700; }
.filter-category-option { position: relative; display: grid; grid-template-columns: 34px minmax(0,1fr) auto; gap: 10px; align-items: center; margin: 5px 0; padding: 7px; border-radius: 11px; cursor: pointer; transition: .18s; }
.filter-category-option:hover { background: #f3faf6; }.filter-category-option:has(input:checked) { background: var(--store-green-soft); }
.filter-category-option input { position: absolute; opacity: 0; pointer-events: none; }
.filter-category-icon { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid #dcebe4; border-radius: 10px; color: var(--store-green-dark); background: #fff; }
.filter-category-icon .material-symbols-outlined { font-size: 18px; }
.filter-category-option > span:nth-child(3) { min-width: 0; display: grid; }.filter-category-option strong { overflow: hidden; color: #304239; font-size: 10px; white-space: nowrap; text-overflow: ellipsis; }.filter-category-option small { color: #8a9891; font-size: 8px; }
.filter-category-option > b { min-width: 25px; padding: 3px 6px; border-radius: 8px; background: #f1f5f3; color: #708078; font-size: 8px; text-align: center; }
.filter-category-option:has(input:checked) > b { background: #fff; color: var(--store-green-dark); }
.filter-price-group > p { margin: -6px 0 13px; color: var(--store-muted); font-size: 8px; }
.filter-price-fields { display: grid; grid-template-columns: 1fr 18px 1fr; gap: 6px; align-items: end; }
.filter-price-fields label { display: grid; gap: 5px; color: #637169; font-size: 8px; font-weight: 600; }.filter-price-fields > i { padding-bottom: 11px; color: #9aa69f; font-size: 8px; font-style: normal; text-align: center; }
.filter-price-fields label div { height: 39px; display: flex; align-items: center; overflow: hidden; border: 1px solid #dce5e1; border-radius: 10px; background: #fbfcfc; }
.filter-price-fields label b { padding-left: 8px; color: #7a8881; font-size: 8px; }.filter-price-fields input { width: 100%; min-width: 0; height: 100%; padding: 0 6px; border: 0; outline: none; background: transparent; font: 500 9px "Poppins",sans-serif; }
.filter-apply-button { width: 100%; min-height: 44px; display: flex; align-items: center; justify-content: center; gap: 7px; margin-top: 18px; border: 0; border-radius: 11px; color: #fff; background: var(--store-green); cursor: pointer; font: 700 10px "Poppins",sans-serif; }.filter-apply-button:hover { background: var(--store-green-dark); }.filter-apply-button .material-symbols-outlined { font-size: 17px; }
.filter-clear-all { display: block; margin-top: 12px; color: #7b8882; font-size: 9px; font-weight: 600; text-align: center; text-decoration: underline; text-underline-offset: 3px; }
.filter-help-card { display: flex; gap: 9px; margin: 0 14px 14px; padding: 13px; border-radius: 12px; color: #fff; background: #173f31; }.filter-help-card > span { color: #8ce0bb; font-size: 21px; }.filter-help-card div { display: grid; gap: 2px; }.filter-help-card strong { font-size: 9px; }.filter-help-card p { color: #bed2c9; font-size: 8px; line-height: 1.45; }
.filter-products-area { min-width: 0; }
.filter-results-toolbar { min-height: 68px; display: flex; align-items: end; justify-content: space-between; gap: 25px; margin-bottom: 15px; }
.filter-results-toolbar h2 { margin: 3px 0 2px; color: var(--store-ink); font-size: 23px; line-height: 1.2; }.filter-results-toolbar p { color: var(--store-muted); font-size: 9px; }
.filter-sort-form { display: flex; align-items: center; gap: 10px; }.filter-sort-form label { color: var(--store-muted); font-size: 9px; font-weight: 600; }.filter-sort-form select { height: 40px; min-width: 166px; padding: 0 31px 0 11px; border: 1px solid var(--store-border); border-radius: 10px; outline: none; background-color: #fff; color: #405149; font: 600 9px "Poppins",sans-serif; }
.filter-active-chips { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 15px; }.filter-active-chips a { display: flex; align-items: center; gap: 5px; min-height: 29px; padding: 0 9px; border: 1px solid #cce6d8; border-radius: 30px; color: var(--store-green-dark); background: #effaf4; font-size: 8px; font-weight: 600; text-decoration: none; }.filter-active-chips .material-symbols-outlined { font-size: 13px; }
.filter-product-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.filter-product-grid .modern-product-card { box-shadow: 0 8px 28px rgba(25,50,40,.055); }.filter-product-grid .modern-product-image { aspect-ratio: 1.22/1; padding: 16px; }.filter-product-grid .modern-product-info { padding: 7px 16px 17px; }
.filter-empty-state { grid-column: 1/-1; min-height: 390px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 40px; border: 1px dashed #cddbd4; border-radius: 20px; background: #fff; color: var(--store-muted); text-align: center; }.filter-empty-state > span { width: 62px; height: 62px; display: grid; place-items: center; margin-bottom: 14px; border-radius: 18px; color: var(--store-green-dark); background: var(--store-green-soft); font-size: 31px; }.filter-empty-state h3 { color: var(--store-ink); font-size: 18px; }.filter-empty-state p { max-width: 450px; margin: 6px 0 18px; font-size: 10px; line-height: 1.6; }.filter-empty-state a { padding: 11px 17px; border-radius: 10px; color: #fff; background: var(--store-green); font-size: 9px; font-weight: 700; text-decoration: none; }
.filter-pagination { padding-top: 8px; }
.filter-mobile-actions, .filter-drawer-backdrop { display: none; }

@media (max-width: 1180px) {
    .filter-product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 900px) {
    body.filter-drawer-open { overflow: hidden; }
    .filter-shell { width: min(100% - 30px, 760px); }
    .filter-hero { padding: 22px 0 30px; }.filter-breadcrumb { margin-bottom: 18px; }.filter-hero-stat { display: none; }
    .filter-mobile-actions { min-height: 48px; display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }.filter-mobile-actions button { height: 40px; display: flex; align-items: center; gap: 7px; padding: 0 13px; border: 1px solid #d9e5df; border-radius: 10px; background: #fff; color: var(--store-ink); font: 700 10px "Poppins",sans-serif; }.filter-mobile-actions button .material-symbols-outlined { color: var(--store-green-dark); font-size: 18px; }.filter-mobile-actions button b { min-width: 19px; height: 19px; display: grid; place-items: center; border-radius: 10px; color: #fff; background: var(--store-green); font-size: 8px; }.filter-mobile-actions > span { color: var(--store-muted); font-size: 9px; }
    .filter-catalog-layout { display: block; }.filter-sidebar { position: fixed; z-index: 101; top: 0; left: 0; width: min(340px, calc(100% - 38px)); height: 100dvh; overflow-y: auto; border-radius: 0 20px 20px 0; transform: translateX(-105%); transition: transform .25s ease; }.filter-sidebar.is-open { transform: translateX(0); }.filter-sidebar-heading > button { display: grid; place-items: center; }
    .filter-drawer-backdrop { position: fixed; z-index: 100; inset: 0; background: rgba(15,31,24,.58); backdrop-filter: blur(2px); }.filter-drawer-backdrop.is-open { display: block; }
    .filter-results-toolbar { min-height: 55px; }.filter-results-toolbar h2 { font-size: 20px; }
}

@media (max-width: 560px) {
    .filter-shell { width: calc(100% - 24px); }.filter-hero h1 { font-size: 27px; }.filter-hero-grid > div:first-child p { font-size: 10px; }
    .filter-main-search { height: auto; min-height: 58px; grid-template-columns: 25px minmax(0,1fr); padding: 7px 9px 7px 15px; }.filter-main-search button { grid-column: 1/-1; width: 100%; height: 44px; justify-content: center; }.filter-main-search input[type="search"] { height: 44px; font-size: 11px; }
    .filter-results-section { padding-top: 20px; }.filter-results-toolbar { align-items: start; flex-direction: column; gap: 12px; }.filter-sort-form { width: 100%; justify-content: space-between; }.filter-sort-form select { flex: 1; }
    .filter-product-grid { gap: 10px; }.filter-product-grid .modern-product-image { aspect-ratio: 1/1; padding: 9px; }.filter-product-grid .modern-product-info { padding: 5px 10px 12px; }.filter-product-grid .modern-product-info h3 { height: 38px; font-size: 11px; }.filter-product-grid .modern-product-price strong { font-size: 16px; }.filter-product-grid .modern-product-action { min-height: 37px; font-size: 9px; }
}
