: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 { gap: 8px; }
header.menu-desktop nav.options li a { min-height: 44px; display: flex; align-items: center; gap: 7px; padding: 0 12px; color: var(--store-ink); font-weight: 500; 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 { background: var(--store-orange); color: #fff !important; padding-inline: 18px !important; }
[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; }
.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 80px minmax(160px,1fr); }
.field { display: grid; 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, .location-dialog input { width: 100%; border: 1px solid #dce5e1; border-radius: 10px; background: #fbfcfc; padding: 11px 12px; outline: none; font: 400 13px "Poppins",sans-serif; transition: .2s; }
.field input:focus, .field textarea:focus, .location-dialog input:focus { border-color: var(--store-green); background: #fff; box-shadow: 0 0 0 3px rgba(22,166,106,.1); }
.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; }
.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 { width: min(430px, calc(100% - 30px)); padding: 0; 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 90px; }
    .form-grid.three .field:nth-child(3) { grid-column: 1 / -1; }
    .payment-grid { grid-template-columns: repeat(2,1fr); }
    .modern-product-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

@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; }
}
