:root{--wood: #8b4513;--copper: #b87333;--orange: #ff8c00;--gold: #ffd700;--white: #ffffff;--bg-body: #faf7f3;--surface: #ffffff;--border: #e7e0d8;--text: #2d1b0e;--muted: #6b625a;--radius: 10px}*,*:before,*:after{box-sizing:border-box;margin:0}[hidden]{display:none!important}html{overflow-y:scroll}body{background:var(--bg-body);color:var(--text);font-family:Inter,Segoe UI,Tahoma,sans-serif;line-height:1.5;min-height:100vh;display:flex;flex-direction:column}img{max-width:100%;display:block}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:absolute;left:-9999px;top:0;background:var(--wood);color:var(--white);padding:12px 20px;z-index:200}.skip-link:focus{left:8px;top:8px}:focus-visible{outline:3px solid var(--wood);outline-offset:2px}.main-header{background:linear-gradient(135deg,var(--wood) 0%,var(--copper) 55%,var(--orange) 100%);border-bottom:3px solid var(--gold);color:var(--white);padding:18px 0;box-shadow:0 2px 14px #2d1b0e2e}.header-inner{max-width:1400px;width:100%;margin:0 auto;padding:0 24px;display:flex;align-items:center;gap:28px;flex-wrap:wrap}.logo-area{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.header-logo{height:56px;width:auto;transition:opacity .2s ease}.logo-text{font-family:Playfair Display,Georgia,serif;font-size:1.5rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;transition:opacity .2s ease}.logo-area:hover .header-logo,.logo-area:focus-visible .header-logo,.logo-area:hover .logo-text,.logo-area:focus-visible .logo-text{opacity:.85}.search-area{flex:1;min-width:260px}.search-bar{display:flex;background:var(--white);border-radius:8px;overflow:hidden;box-shadow:0 4px 14px #2d1b0e33;max-width:720px;margin-left:auto;border:2px solid transparent;transition:border-color .2s ease,box-shadow .2s ease}.search-bar:focus-within{border-color:var(--gold);box-shadow:0 4px 18px #2d1b0e4d}.search-bar input{flex:1;padding:12px 16px;border:none;font-size:1rem;font-family:inherit;color:var(--text);min-width:0}.search-bar input:focus-visible{outline:none}.search-bar button{background:var(--wood);color:var(--white);border:none;padding:0 24px;cursor:pointer;font-weight:600;font-family:inherit;transition:background .2s ease}.search-bar button:hover{background:var(--copper)}.layout-container{display:flex;gap:24px;max-width:1400px;width:100%;margin:24px auto;padding:0 24px;align-items:flex-start;flex:1}.filters-toggle{display:none;width:100%;padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);font:inherit;font-weight:600;cursor:pointer;align-items:center;justify-content:center;gap:8px;color:var(--text)}.filters-toggle[aria-expanded=true]{border-color:var(--copper);color:var(--wood)}.filter-count{min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--orange);color:var(--white);font-size:.72rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.sidebar{width:260px;flex-shrink:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;position:sticky;top:24px}.filter-group{border-bottom:1px solid var(--border);padding-bottom:6px;margin-bottom:14px}.filter-group:last-of-type{border-bottom:none;margin-bottom:0}.filter-group summary{list-style:none;display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:6px 0 12px;font-size:.78rem;letter-spacing:1px;text-transform:uppercase;font-weight:700;color:var(--wood);-webkit-user-select:none;user-select:none}.filter-group summary::-webkit-details-marker{display:none}.filter-group summary:after{content:"";width:8px;height:8px;border-right:2px solid var(--copper);border-bottom:2px solid var(--copper);transform:rotate(45deg);transition:transform .2s ease;flex-shrink:0}.filter-group[open] summary:after{transform:rotate(225deg)}.filter-options label{display:block;margin-bottom:10px;color:var(--muted);cursor:pointer;font-size:.94rem}.filter-options input[type=checkbox],.filter-options input[type=radio]{margin-right:8px;accent-color:var(--orange)}.catalog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:16px}.sort-control{display:flex;align-items:center;gap:8px;margin-left:auto}.sort-control label{font-size:.84rem;color:var(--muted);white-space:nowrap}.sort-control select{padding:9px 12px;border:1px solid var(--border);border-radius:6px;font:inherit;font-size:.88rem;color:var(--text);background:var(--surface);cursor:pointer}.btn-clear{width:100%;margin-top:18px;padding:10px;background:transparent;border:1px solid var(--copper);color:var(--copper);border-radius:6px;font:inherit;font-weight:600;cursor:pointer;transition:background .2s ease,color .2s ease}.btn-clear:hover{background:var(--copper);color:var(--white)}.content-area{flex:1;min-width:0}.results-count{color:var(--muted);font-size:.9rem;min-height:1.35rem}.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:18px}.product-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.product-card:hover{transform:translateY(-4px);border-color:var(--copper);box-shadow:0 12px 28px #b873332e}.card-image{display:block;width:100%;border:0;padding:0;font:inherit;cursor:pointer;aspect-ratio:1;border-radius:6px;overflow:hidden;background:#f3efe9;margin-bottom:14px}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.product-card:hover .card-image img{transform:scale(1.05)}.card-info{flex:1;display:flex;flex-direction:column}.category-tag{align-self:flex-start;font-size:.68rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--white);background:var(--copper);border-radius:20px;padding:3px 10px;margin-bottom:8px}.category-tag.tag-cama{background:#5d4037}.category-tag.tag-mesa{background:#2e7d32}.category-tag.tag-banho{background:#0277bd}.category-tag.tag-decoracao{background:#ad1457}.card-name{font-size:.9rem;font-weight:500;line-height:1.4;color:var(--text);margin-bottom:10px;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-prices{margin-top:auto;margin-bottom:14px;display:flex;align-items:baseline;flex-wrap:wrap;gap:8px}.old-price{font-size:.82rem;color:var(--muted);text-decoration:line-through}.current-price{font-size:1.3rem;font-weight:800;color:var(--wood)}.discount-tag{background:var(--copper);color:var(--white);font-size:.72rem;font-weight:700;padding:2px 7px;border-radius:4px}.btn-whatsapp{display:block;text-align:center;padding:11px;background:linear-gradient(135deg,var(--orange),var(--wood));color:var(--white);border-radius:6px;font-weight:600;font-size:.88rem;text-decoration:none;transition:filter .2s ease}.btn-whatsapp:hover{filter:brightness(1.08)}.btn-add{display:block;width:100%;padding:11px;background:linear-gradient(135deg,var(--orange),var(--wood));color:var(--white);border:none;border-radius:6px;font:inherit;font-weight:600;font-size:.88rem;cursor:pointer;transition:filter .2s ease}.btn-add:hover{filter:brightness(1.08)}.btn-add.is-active{background:var(--surface);color:var(--wood);box-shadow:inset 0 0 0 2px var(--copper)}.cart-fab{position:fixed;right:20px;bottom:20px;z-index:90;width:58px;height:58px;border-radius:50%;border:none;background:var(--wood);color:var(--white);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 10px 25px #2d1b0e59;transition:transform .2s ease,background .2s ease}.cart-fab:hover{background:var(--copper);transform:translateY(-2px)}.cart-fab.bump{animation:cart-bump .35s ease}@keyframes cart-bump{0%{transform:scale(1)}40%{transform:scale(1.18)}to{transform:scale(1)}}.cart-count{position:absolute;top:-4px;right:-4px;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:var(--orange);color:var(--white);font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center}.cart-overlay{position:fixed;inset:0;z-index:95;background:#2d1b0e73}.cart-drawer{position:fixed;top:0;right:0;bottom:0;z-index:100;width:min(100%,400px);background:var(--surface);box-shadow:-12px 0 35px #2d1b0e33;display:flex;flex-direction:column}.cart-header{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--border)}.cart-header h2{font-family:Playfair Display,Georgia,serif;font-size:1.2rem;color:var(--wood)}.cart-close{background:transparent;border:none;font-size:1.1rem;color:var(--muted);cursor:pointer;padding:6px 10px;border-radius:6px}.cart-close:hover{color:var(--text);background:var(--bg-body)}.cart-items{list-style:none;padding:0 20px;margin:0;overflow-y:auto;overscroll-behavior:contain;flex:1}.cart-item{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid var(--border)}.cart-item img{width:56px;height:56px;border-radius:6px;object-fit:cover;background:#f3efe9;flex-shrink:0}.cart-item-info{flex:1;min-width:0}.cart-item-name{font-size:.84rem;line-height:1.35;margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cart-item-price{font-weight:700;color:var(--wood);font-size:.92rem;margin-bottom:8px}.cart-qty{display:flex;align-items:center;gap:10px}.cart-qty span{min-width:20px;text-align:center;font-weight:600;font-size:.9rem}.qty-down,.qty-up{width:28px;height:28px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font-size:1rem;line-height:1;cursor:pointer}.qty-down:hover,.qty-up:hover:not(:disabled){border-color:var(--copper);color:var(--wood)}.qty-up:disabled{opacity:.45;cursor:not-allowed}.cart-item-remove{margin-left:auto;background:transparent;border:none;color:var(--muted);font-size:.78rem;text-decoration:underline;cursor:pointer}.cart-item-remove:hover{color:#c0392b}.cart-empty{padding:3rem 20px;text-align:center;color:var(--muted)}.cart-footer{padding:16px 20px 20px;border-top:1px solid var(--border)}.cart-total{display:flex;justify-content:space-between;font-size:.95rem;margin-bottom:14px}.cart-total strong{font-size:1.15rem;color:var(--wood)}.cart-footer .btn-whatsapp{background:#1e8449;margin-bottom:10px}.cart-footer .btn-clear{margin-top:0}.product-modal-overlay{position:fixed;inset:0;z-index:110;background:#2d1b0e80}.product-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:120;width:min(100% - 32px,860px);max-height:min(90vh,640px);background:var(--surface);border-radius:var(--radius);box-shadow:0 24px 60px #2d1b0e59;display:flex;overflow:hidden}.pm-close{position:absolute;top:10px;right:10px;z-index:2;width:34px;height:34px;border:none;border-radius:50%;background:#ffffffd9;color:var(--text);font-size:1rem;cursor:pointer;box-shadow:0 2px 8px #2d1b0e33}.pm-close:hover{background:#fff}.pm-gallery{position:relative;flex:1 1 55%;min-width:0;background:#f3efe9;display:flex;align-items:center;justify-content:center}.pm-image{width:100%;height:100%;object-fit:contain}.pm-nav{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;border:none;border-radius:50%;background:#2d1b0e8c;color:#fff;font-size:1.3rem;line-height:1;cursor:pointer}.pm-nav:hover{background:#2d1b0ebf}.pm-prev{left:10px}.pm-next{right:10px}.pm-dots{position:absolute;bottom:12px;left:50%;transform:translate(-50%);display:flex;gap:6px}.pm-dot{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:#fff9;cursor:pointer}.pm-dot.active{background:#fff;width:18px;border-radius:4px}.pm-info{flex:1 1 45%;padding:40px 28px 28px;display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain}.pm-name{font-family:Playfair Display,Georgia,serif;font-size:1.4rem;line-height:1.3;color:var(--text);margin:10px 0 16px}.pm-info .card-prices{margin:0 0 24px}.pm-info .btn-add{margin-top:auto}@media(max-width:640px){.product-modal{flex-direction:column;max-height:88vh}.pm-gallery{flex:none;aspect-ratio:1;width:100%}.pm-info{padding:20px}}@media(prefers-reduced-motion:reduce){.product-modal{transform:translate(-50%,-50%)}}.skeleton{aspect-ratio:3 / 4;border:none;background:linear-gradient(100deg,#efeae4 30%,#f8f5f1,#efeae4 70%);background-size:200% 100%;animation:shimmer 1.3s infinite linear}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.skeleton,.cart-fab.bump{animation:none}.product-card:hover,.product-card:hover .card-image img{transform:none}}.state-message{padding:3rem 1rem 1rem;text-align:center;color:var(--muted)}.state-action-container{text-align:center}.state-action{width:auto;margin-top:10px;padding:10px 24px}.load-more-container{text-align:center;margin:32px 0}#btnLoadMore{background:transparent;border:2px solid var(--orange);color:var(--orange);padding:12px 36px;font:inherit;font-weight:700;border-radius:6px;cursor:pointer;transition:background .2s ease,color .2s ease}#btnLoadMore:hover{background:var(--orange);color:var(--white)}.main-footer{background:var(--text);color:var(--white);padding:40px 24px;text-align:center;border-top:4px solid var(--copper)}.footer-brand{font-family:Playfair Display,Georgia,serif;font-size:1.3rem;letter-spacing:3px;text-transform:uppercase;margin-bottom:6px}.footer-copy{margin-top:14px;font-size:.82rem;opacity:.7}@media(max-width:900px){.layout-container{flex-direction:column;align-items:stretch;padding:0 16px;margin-top:16px}.filters-toggle{display:flex}.sidebar{width:100%;position:static;display:none}.sidebar.is-open{display:block}.header-inner{padding:0 16px}.search-bar{margin-left:0;max-width:none}}@media(max-width:640px){.main-header{padding:14px 0}.header-inner{flex-direction:column;gap:12px}.logo-area{gap:10px}.header-logo{height:44px}.logo-text{font-size:1.25rem}.search-area{width:100%}.search-bar input{padding:11px 14px;font-size:.95rem}.search-bar button{padding:0 18px;font-size:.9rem}.catalog-toolbar{align-items:flex-start}.cart-drawer{width:100%}}@media(max-width:480px){.products-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.layout-container,.header-inner{padding:0 12px}.card-name{font-size:.82rem}.current-price{font-size:1.12rem}.btn-add{padding:10px 8px;font-size:.8rem}.cart-fab{width:52px;height:52px;right:14px;bottom:14px}}
