:root{--teal:#0cbab4;--teal-dark:#164b47;--blue:#0274be;--ink:#1f3030;--muted:#667575;--line:#dce7e6;--cream:#f6f8f7;--white:#fff;--shadow:0 18px 55px rgba(22,75,71,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{margin:0;min-width:0;overflow-x:hidden;background:var(--cream);color:var(--ink);font-family:Montserrat,"Segoe UI",Arial,sans-serif}.locked{overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}button,input{font:inherit}button{cursor:pointer}.site-header{height:78px;padding:0 max(20px,calc((100vw - 1180px)/2));display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid rgba(22,75,71,.08)}.brand img{display:block;width:150px;max-height:52px;object-fit:contain}.header-note{font-size:13px;font-weight:700;color:var(--teal-dark)}.header-note span{display:inline-block;width:8px;height:8px;margin-right:7px;border-radius:50%;background:#25d366;box-shadow:0 0 0 4px rgba(37,211,102,.13)}.hero{padding:74px max(20px,calc((100vw - 1180px)/2)) 48px;background:linear-gradient(135deg,#e9fbfa 0%,#fff 58%,#edf5f8 100%);position:relative;overflow:hidden}.hero:after{content:"";position:absolute;width:370px;height:370px;border:1px solid rgba(12,186,180,.18);border-radius:50%;right:-110px;top:-150px;box-shadow:0 0 0 42px rgba(12,186,180,.035),0 0 0 84px rgba(12,186,180,.025)}.eyebrow{margin:0 0 10px;color:var(--teal);font-size:11px;line-height:1.2;font-weight:800;letter-spacing:.18em}.hero h1{position:relative;z-index:1;max-width:760px;margin:0;color:var(--teal-dark);font-family:Georgia,"Times New Roman",serif;font-size:clamp(42px,6vw,72px);line-height:.98;font-weight:500;letter-spacing:-.045em}.hero h1 em{color:var(--teal);font-weight:500}.hero-copy{max-width:650px;margin:24px 0 30px;color:var(--muted);font-size:17px;line-height:1.65}.search-wrap{position:relative;z-index:2;display:flex;align-items:center;max-width:720px;height:58px;padding:0 14px;background:#fff;border:1px solid rgba(22,75,71,.12);border-radius:16px;box-shadow:0 12px 35px rgba(22,75,71,.07)}.search-wrap>span{font-size:28px;color:var(--teal)}.search-wrap input{width:100%;height:100%;padding:0 10px;border:0;outline:0;background:transparent;font-size:15px;color:var(--ink)}#clear-search{opacity:0;pointer-events:none;width:36px;height:36px;border:0;border-radius:50%;background:#eef5f4;color:var(--teal-dark);font-size:20px;transition:.2s}.visible#clear-search{opacity:1;pointer-events:auto}.filters{position:relative;z-index:2;display:flex;gap:8px;margin-top:18px;max-width:100%;overflow-x:auto;scrollbar-width:none}.filters::-webkit-scrollbar{display:none}.filter{flex:0 0 auto;padding:9px 15px;border:1px solid rgba(22,75,71,.13);border-radius:999px;background:rgba(255,255,255,.68);color:var(--teal-dark);font-size:12px;font-weight:700}.filter.active{border-color:var(--teal);background:var(--teal);color:#fff}.catalog-section{max-width:1220px;margin:0 auto;padding:52px 20px 150px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:24px}.section-heading h2{margin:0;color:var(--teal-dark);font-family:Georgia,"Times New Roman",serif;font-size:38px;font-weight:500}.section-heading>p{margin:0 0 4px;color:var(--muted);font-size:13px}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.product-card{min-width:0;overflow:hidden;border:1px solid rgba(22,75,71,.10);border-radius:20px;background:#fff;box-shadow:0 8px 30px rgba(22,75,71,.055);transition:transform .25s,box-shadow .25s}.product-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.product-image{position:relative;aspect-ratio:1/1;overflow:hidden;background:#eef2f1}.product-image img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .45s}.product-card:hover .product-image img{transform:scale(1.035)}.product-image span{position:absolute;left:12px;top:12px;padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.92);color:var(--teal-dark);font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.product-body{padding:17px}.product-code{color:var(--teal);font-size:11px;font-weight:800;letter-spacing:.12em}.product-body h3{min-height:42px;margin:7px 0 4px;color:var(--ink);font-size:16px;line-height:1.3}.measure{margin:0;color:var(--muted);font-size:12px}.price-row{margin:18px 0 15px;padding-top:15px;border-top:1px solid #edf1f0}.price-row strong{display:block;color:var(--teal-dark);font-size:21px}.price-row small{display:block;margin-top:3px;color:var(--teal);font-size:11px;font-weight:700}.add-row{display:flex;gap:9px}.quantity{display:flex;height:43px;align-items:center;border:1px solid var(--line);border-radius:11px;overflow:hidden}.quantity button{width:34px;height:100%;border:0;background:#f4f8f7;color:var(--teal-dark);font-size:20px}.quantity output{width:29px;text-align:center;font-size:13px;font-weight:800}.add-button{flex:1;border:0;border-radius:11px;background:var(--teal);color:#fff;font-size:12px;font-weight:800;transition:.2s}.add-button:hover{background:#09a19c}.empty-state{padding:60px 20px;text-align:center;border:1px dashed var(--line);border-radius:20px;background:#fff;color:var(--muted)}.empty-state strong{color:var(--teal-dark);font-size:18px}.cart-bar{position:fixed;z-index:30;left:50%;bottom:calc(16px + env(safe-area-inset-bottom));transform:translateX(-50%);width:min(620px,calc(100% - 24px));min-height:70px;padding:10px 11px 10px 20px;display:flex;align-items:center;justify-content:space-between;border:1px solid rgba(255,255,255,.20);border-radius:18px;background:rgba(22,75,71,.96);color:#fff;box-shadow:0 16px 50px rgba(16,58,55,.30);backdrop-filter:blur(14px)}.cart-bar small,.cart-bar strong{display:block}.cart-bar small{margin-bottom:3px;font-size:11px;opacity:.75}.cart-bar strong{font-size:18px}.cart-bar button{min-height:48px;padding:0 20px;border:0;border-radius:12px;background:var(--teal);color:#fff;font-size:13px;font-weight:800}.cart-bar button span{margin-left:8px}.overlay{position:fixed;z-index:39;inset:0;background:rgba(12,31,30,.45);backdrop-filter:blur(3px)}.cart{position:fixed;z-index:40;top:0;right:0;width:min(500px,100%);height:100dvh;display:flex;flex-direction:column;transform:translate3d(105%,0,0);background:#fff;box-shadow:-20px 0 60px rgba(12,31,30,.16);transition:transform .28s ease;overflow:hidden}.cart.open{transform:translate3d(0,0,0)}.cart-head{flex:0 0 auto;display:grid;grid-template-columns:42px 1fr 36px;gap:12px;align-items:center;padding:20px;border-bottom:1px solid var(--line)}.cart-head button{width:42px;height:42px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--teal-dark);font-size:21px}.cart-head .eyebrow{margin-bottom:4px}.cart-head h2{margin:0;font-family:Georgia,"Times New Roman",serif;color:var(--teal-dark);font-size:29px;font-weight:500}.count-badge{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e9fbfa;color:var(--teal-dark);font-size:12px;font-weight:800}.cart-items{flex:0 0 auto;max-height:35vh;padding:4px 20px;overflow-y:auto}.cart-item{display:grid;grid-template-columns:82px 1fr;gap:13px;padding:16px 0;border-bottom:1px solid #edf1f0}.cart-item>img{width:82px;height:82px;border-radius:12px;object-fit:cover;background:#eee}.cart-item-info>strong,.cart-item-info>span,.cart-item-info>small{display:block}.cart-item-info>strong{color:var(--teal);font-size:11px;letter-spacing:.08em}.cart-item-info>span{margin-top:3px;color:var(--ink);font-size:13px;font-weight:700}.cart-item-info>small{margin-top:3px;color:var(--muted);font-size:10px}.cart-item-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.cart-item-bottom>strong{color:var(--teal-dark);font-size:13px}.quantity.compact{height:31px}.quantity.compact button{width:27px;font-size:16px}.quantity.compact output{width:24px;font-size:11px}.remove{padding:4px 0;border:0;background:transparent;color:#9b5c57;font-size:10px;text-decoration:underline}.cart-empty{padding:36px 0;text-align:center;color:var(--muted)}.cart-empty strong{color:var(--teal-dark)}.checkout{flex:1;min-height:0;padding:18px 20px calc(20px + env(safe-area-inset-bottom));overflow-y:auto;background:#f8faf9;border-top:1px solid var(--line)}fieldset{min-width:0;margin:0 0 17px;padding:0;border:0}legend{display:block;width:100%;margin-bottom:9px;color:var(--teal-dark);font-size:12px;font-weight:800}.option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.option{min-width:0;min-height:42px;display:flex;align-items:center;gap:7px;padding:8px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font-size:11px;line-height:1.25;overflow-wrap:anywhere}.option.wide{grid-column:1/-1}.option input{flex:0 0 auto;width:15px;height:15px;margin:0;accent-color:var(--teal)}.option:has(input:checked){border-color:var(--teal);background:#eafaf9;color:var(--teal-dark);font-weight:800}.form-error{margin-bottom:12px;padding:10px;border-radius:9px;background:#fff0e4;color:#774820;font-size:11px}.subtotal{display:flex;align-items:center;justify-content:space-between;padding:15px 0 8px;border-top:1px solid var(--line);color:var(--teal-dark)}.subtotal span{font-size:12px;font-weight:700}.subtotal strong{font-size:21px}.fine-print{margin:2px 0 14px;color:var(--muted);font-size:10px;line-height:1.4}.whatsapp-button{width:100%;min-height:54px;border:0;border-radius:13px;background:#25d366;color:#fff;font-size:13px;font-weight:800;box-shadow:0 10px 24px rgba(37,211,102,.22)}.whatsapp-button span{margin-right:6px}.toast{position:fixed;z-index:60;left:50%;top:18px;transform:translate(-50%,-90px);max-width:calc(100% - 24px);padding:11px 16px;border-radius:11px;background:var(--teal-dark);color:#fff;font-size:12px;font-weight:700;box-shadow:var(--shadow);transition:.25s}.toast.show{transform:translate(-50%,0)}
.product-image.image-error{display:grid;place-items:center;background:linear-gradient(135deg,#e8f8f7,#f6fbfb)}.product-image.image-error:after{content:"Imagem indisponível";color:var(--teal-dark);font-size:11px;font-weight:700}.load-more-wrap{padding:30px 0 0;text-align:center}.load-more-wrap p{margin:0 0 10px;color:var(--muted);font-size:12px}.load-more-wrap button{min-width:230px;min-height:48px;padding:0 22px;border:1px solid var(--teal);border-radius:13px;background:#fff;color:var(--teal-dark);font-size:13px;font-weight:800}.load-more-wrap button:hover{background:#eafaf9}
@media(max-width:900px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{padding-top:55px}}
@media(max-width:560px){.site-header{height:64px;padding:0 14px}.brand img{width:120px;max-height:42px}.header-note{font-size:0}.header-note span{width:10px;height:10px;margin:0}.hero{padding:42px 14px 32px}.hero h1{font-size:43px}.hero-copy{font-size:14px;line-height:1.55;margin:18px 0 23px}.search-wrap{height:54px}.catalog-section{padding:36px 10px 205px}.section-heading{padding:0 4px}.section-heading h2{font-size:31px}.product-grid{gap:10px}.product-card{border-radius:15px}.product-body{padding:12px}.product-image span{left:8px;top:8px;padding:5px 7px;font-size:8px}.product-body h3{min-height:48px;font-size:14px}.measure{font-size:10px}.price-row{margin:12px 0;padding-top:11px}.price-row strong{font-size:17px}.price-row small{font-size:9px}.add-row{display:block}.quantity{width:100%;justify-content:space-between;height:38px}.quantity button{width:40px}.add-button{width:100%;height:41px;margin-top:7px}.cart-bar{bottom:calc(78px + env(safe-area-inset-bottom));min-height:64px;padding:8px 8px 8px 14px}.cart-bar button{min-height:46px;padding:0 14px}.cart{display:block;overflow-y:auto;overscroll-behavior:contain}.cart-head{position:sticky;z-index:3;top:0;padding:15px;background:#fff}.cart-items{max-height:none;overflow:visible}.checkout{min-height:auto;overflow:visible;padding:15px 14px calc(16px + env(safe-area-inset-bottom))}}
@media(max-width:350px){.product-grid{grid-template-columns:1fr}.option-grid{grid-template-columns:1fr}.option.wide{grid-column:auto}}

/* Impede o arrasto lateral no Safari móvel sem bloquear os filtros. */
html,body{width:100%;max-width:100%;overscroll-behavior-x:none}
.filters{width:100%;max-width:100%;overscroll-behavior-x:contain;touch-action:pan-x}
.cart{visibility:hidden;pointer-events:none;contain:layout paint}
.cart.open{visibility:visible;pointer-events:auto}
.product-body h3,.cart-item-info{min-width:0;overflow-wrap:anywhere}
@media(max-width:560px){.quantity.compact{width:auto}.cart-item-bottom{min-width:0;gap:8px}.cart-item-bottom>strong{flex:0 0 auto}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
