:root{--siena-tostado: #A0522D;--verde-salvia: #87A96B;--alabastro-calido: #F5E6D3;--vara-de-oro: #D4A437;--rosa-polvoriento: #C47A6D;--dark-wood: #3E2723;--light-grey: #F5F5F5;--crema: #FBF7F1;--font-primary: "Inter", "Segoe UI", system-ui, sans-serif;--font-secondary: "Playfair Display", Georgia, serif;--tracking-titulos: .1em;--tracking-cta: .08em}*{margin:0;padding:0;box-sizing:border-box}html,body{overflow-x:hidden}body{font-family:var(--font-primary);color:var(--dark-wood);background-color:var(--crema);line-height:1.6}.container{max-width:1200px;margin:0 auto;padding:20px}.main-header{background-color:#fff;border-bottom:1px solid var(--light-grey);padding:1rem 1.5rem;position:sticky;top:0;z-index:1000}.header-container{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.header-logo{display:flex;align-items:center;text-decoration:none;color:var(--dark-wood);font-family:var(--font-secondary);font-weight:700;font-size:1.25rem;z-index:10}.header-logo img{height:35px;margin-right:8px}.menu-toggle{display:block;background:none;border:none;cursor:pointer;color:var(--dark-wood);z-index:10}.main-nav{display:none;position:absolute;top:0;left:0;width:100%;height:100vh;background-color:#fffffffa;flex-direction:column;justify-content:center;align-items:center}.main-nav.is-active{display:flex}.main-nav ul{list-style:none;display:flex;flex-direction:column;gap:2rem;text-align:center}.main-nav a{text-decoration:none;color:var(--dark-wood);font-weight:500;font-size:1.5rem;transition:color .3s ease}.main-nav a:hover{color:var(--siena-tostado)}.main-nav a.active{color:var(--siena-tostado);border-bottom:2px solid var(--vara-de-oro);padding-bottom:2px}.header-cart{z-index:10}.header-cart a{position:relative;color:var(--dark-wood)}.cart-counter{position:absolute;top:-8px;right:-10px;background-color:var(--siena-tostado);color:#fff;border-radius:50%;width:20px;height:20px;display:flex;justify-content:center;align-items:center;font-size:.75rem;font-weight:700}@media(min-width:768px){.menu-toggle{display:none}.main-header{padding:1rem 2rem}.main-nav{display:block;position:static;height:auto;width:auto;background-color:transparent;margin-left:auto}.main-nav ul{flex-direction:row;gap:2rem}.main-nav a{font-size:1rem}.header-logo{font-size:1.5rem}.header-logo img{height:40px}}.main-footer{background-color:var(--dark-wood);color:var(--alabastro-calido);border-top:3px solid var(--vara-de-oro);padding:3rem 2rem 1.5rem;margin-top:4rem}.footer-container{max-width:1200px;margin:0 auto}.footer-grid{display:grid;grid-template-columns:1fr;gap:2.5rem;text-align:center;padding-bottom:2rem}.footer-brand-logo{height:56px;margin-bottom:.75rem}.footer-brand .footer-logo{font-family:var(--font-secondary);font-size:1.5rem;letter-spacing:var(--tracking-titulos);text-transform:uppercase;color:#fff;margin-bottom:.75rem}.footer-brand .footer-tagline{font-weight:300;font-style:italic;opacity:.85;max-width:280px;margin:0 auto}.footer-heading{font-size:.85rem;font-weight:500;text-transform:uppercase;letter-spacing:.15em;color:var(--vara-de-oro);margin-bottom:1rem}.footer-col p,.footer-col address{font-style:normal;font-weight:300;line-height:1.9;opacity:.9}.footer-col a{color:var(--alabastro-calido);text-decoration:none;transition:color .3s ease}.footer-col a:hover{color:var(--vara-de-oro)}.footer-bottom{border-top:1px solid rgba(245,230,211,.2);padding-top:1.5rem;text-align:center;font-size:.85rem;font-weight:300;opacity:.7}.footer-bottom p{margin-bottom:.35rem}@media(min-width:768px){.footer-grid{grid-template-columns:1.2fr 1fr 1fr;text-align:left}.footer-brand .footer-tagline{margin:0}}.menu-toggle{margin-left:auto}.header-container{gap:1rem}@media(max-width:360px){.header-logo span{display:none}.header-logo img{margin-right:0}.main-footer{padding-left:1rem;padding-right:1rem}.main-footer p{font-size:.8rem}}.catalog-section{padding:4rem 0}.catalog-header{text-align:center;margin-bottom:3rem}.catalog-header h1,.catalog-header h2{font-family:var(--font-secondary);font-size:2.5rem;margin-bottom:1.5rem;text-transform:uppercase;letter-spacing:var(--tracking-titulos)}.search-bar input{width:100%;max-width:400px;padding:.8rem 1rem;font-size:1rem;border-radius:4px;border:1px solid var(--light-grey)}.search-bar input:focus{outline:2px solid var(--siena-tostado);border-color:var(--siena-tostado)}.hero-section{background-color:var(--alabastro-calido);background-image:repeating-linear-gradient(0deg,rgba(160,82,45,.04) 0,rgba(160,82,45,.04) 1px,transparent 1px,transparent 14px);min-height:55vh;display:flex;justify-content:center;align-items:center;text-align:center;padding:4rem 2rem}.hero-eyebrow{font-family:var(--font-primary);font-size:.85rem;font-weight:500;text-transform:uppercase;letter-spacing:.3em;color:var(--siena-tostado);margin-bottom:1.25rem}.hero-content h1{font-family:var(--font-secondary);font-size:2.25rem;color:var(--dark-wood);text-transform:uppercase;letter-spacing:var(--tracking-titulos);margin-bottom:1.25rem;max-width:700px;margin-left:auto;margin-right:auto}.hero-divider{width:64px;height:3px;background-color:var(--vara-de-oro);border:none;margin:0 auto 1.25rem}.hero-content p{font-size:1.15rem;color:var(--siena-tostado);margin-bottom:2.25rem}.btn{text-decoration:none;padding:.8rem 2rem;border-radius:4px;font-family:var(--font-primary);font-weight:500;font-size:.95rem;text-transform:uppercase;letter-spacing:var(--tracking-cta);transition:all .3s ease;display:inline-block;border:none;cursor:pointer}.btn-primary{background-color:var(--siena-tostado);color:#fff}.btn-primary:hover{background-color:var(--dark-wood)}.featured-products{padding:4rem 0}.featured-products h2{text-align:center;font-family:var(--font-secondary);font-size:2rem;text-transform:uppercase;letter-spacing:var(--tracking-titulos);margin-bottom:3rem}.products-grid{display:grid;grid-template-columns:repeat(auto-fit,300px);gap:2rem;justify-content:center}.product-card{background:#fff;border:1px solid var(--light-grey);border-radius:8px;overflow:hidden;text-decoration:none;color:var(--dark-wood);display:flex;flex-direction:column;transition:box-shadow .3s ease,transform .3s ease}.product-card:hover{transform:translateY(-5px);box-shadow:0 10px 20px #00000014}.product-card img{width:100%;height:250px;object-fit:cover;display:block}.product-card-info{padding:1.5rem;flex-grow:1}.product-card-info h3{font-family:var(--font-secondary);font-size:1.25rem;margin-bottom:.5rem}.product-card-info p{font-weight:700;color:var(--siena-tostado);font-size:1.1rem}@media(min-width:768px){.hero-content h1{font-size:3.5rem}}.product-detail-container{padding-top:4rem;padding-bottom:4rem}.product-detail-layout{display:grid;grid-template-columns:1fr;gap:2rem;align-items:start}.product-image-gallery img{width:100%;max-width:500px;height:auto;border-radius:8px;border:1px solid var(--light-grey);display:block;margin:0 auto}.product-info h1{font-family:var(--font-secondary);font-size:2.5rem;margin-bottom:1rem}.product-info .price{font-size:1.8rem;font-weight:700;color:var(--siena-tostado);margin-bottom:1.5rem}.product-info .description{margin-bottom:2rem;line-height:1.7}.product-specs{margin-bottom:2rem}.product-specs h3{font-family:var(--font-secondary);border-bottom:2px solid var(--siena-tostado);padding-bottom:.5rem;margin-bottom:1rem}.product-specs ul{list-style:none;padding:0}.product-specs li{display:flex;justify-content:space-between;padding:.8rem 0;border-bottom:1px solid var(--light-grey)}.product-specs li strong{text-transform:capitalize}.add-to-cart-btn{width:100%;padding:1rem;font-family:var(--font-primary);font-size:1rem;font-weight:500;text-transform:uppercase;letter-spacing:var(--tracking-cta);background-color:var(--siena-tostado);color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .3s ease}.add-to-cart-btn:hover{background-color:var(--dark-wood)}@media(min-width:768px){.product-detail-layout{grid-template-columns:1fr 1fr;gap:3rem}}.contact-section{padding:4rem 0}.contact-header{text-align:center;margin-bottom:3rem}.contact-header h1{font-family:var(--font-secondary);font-size:2.5rem;margin-bottom:1rem;text-transform:uppercase;letter-spacing:var(--tracking-titulos)}.contact-form{max-width:600px;margin:0 auto}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500}.form-group input,.form-group textarea{width:100%;padding:.8rem;font-size:1rem;font-family:var(--font-primary);border:1px solid var(--light-grey);border-radius:4px;transition:border-color .3s ease}.form-group input:focus-visible,.form-group textarea:focus-visible{outline:2px solid var(--siena-tostado);outline-offset:2px;border-color:var(--siena-tostado)}.form-message{max-width:600px;margin:2rem auto 0;padding:1rem;border-radius:4px;text-align:center;display:none}.form-message.success{display:block;background-color:#e6f4ea;color:#3c763d}.form-message.error{display:block;background-color:#f2dede;color:#a94442}.loader-container{display:flex;justify-content:center;align-items:center;padding:4rem;min-height:300px}.loader{border:6px solid var(--light-grey);border-top:6px solid var(--siena-tostado);border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.navbar-username{font-weight:500;color:var(--dark-wood);opacity:.7;white-space:nowrap}.btn-logout{background:none;border:none;padding:0;font:inherit;color:var(--siena-tostado);cursor:pointer;font-weight:500}.btn-logout:hover{text-decoration:underline}@media(max-width:767px){.navbar-username{font-size:1rem;opacity:.5;margin-bottom:-1rem}.btn-logout{font-size:1.5rem;color:var(--siena-tostado)}}.cart-layout{display:grid;grid-template-columns:1fr;gap:2rem}.cart-item{display:flex;align-items:center;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--light-grey)}.cart-item-image{width:80px;height:80px;object-fit:cover;border-radius:4px}.cart-item-info{flex-grow:1}.cart-item-info a{font-weight:700;color:var(--dark-wood);text-decoration:none}.cart-item-info a:hover{text-decoration:underline}.btn-remove{background:none;border:1px solid #ccc;color:#888;font-weight:700;border-radius:50%;width:30px;height:30px;cursor:pointer}.btn-remove:hover{background-color:var(--rosa-polvoriento);color:#fff;border-color:var(--rosa-polvoriento)}.cart-summary{background:var(--light-grey);padding:2rem;border-radius:8px;height:fit-content}.cart-summary h3{font-family:var(--font-secondary);margin-bottom:.5rem}.cart-summary h2{font-size:1.8rem;color:var(--siena-tostado);margin-bottom:1.5rem}.cart-empty{text-align:center;padding:4rem 1rem;background-color:#fff;border-radius:8px}.cart-empty p{font-size:1.2rem;margin-bottom:1.5rem;color:var(--dark-wood)}@media(min-width:768px){.cart-layout{grid-template-columns:2fr 1fr;align-items:start}}#root{display:flex;flex-direction:column;min-height:100vh}main{flex-grow:1}.cart-item-qty{display:flex;align-items:center;gap:.5rem;margin-top:.5rem}.qty-btn{background-color:var(--light-grey);border:1px solid #ddd;width:28px;height:28px;border-radius:4px;cursor:pointer;font-size:1.2rem;line-height:1;color:var(--dark-wood)}.qty-btn:hover{background-color:#ddd}.cart-item-qty span{font-weight:700;min-width:20px;text-align:center}.form-group input,.form-group textarea{background-color:var(--light-grey);border:2px solid var(--alabastro-calido);color:var(--dark-wood);border-radius:4px}.form-group input:focus-visible,.form-group textarea:focus-visible{border-color:var(--siena-tostado);outline:2px solid var(--siena-tostado);outline-offset:2px;background-color:#fff}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 30px var(--light-grey) inset!important;-webkit-text-fill-color:var(--dark-wood)!important;border-color:var(--alabastro-calido)}.main-header{background-color:#fff;border-bottom:1px solid #EAE0D2;box-shadow:0 2px 8px #0000000d}.catalog-section,.product-detail-container,.contact-section{background-color:#fff;border-radius:8px;margin-top:2rem;margin-bottom:2rem;padding:2rem}@media(min-width:768px){.main-nav ul{align-items:center}}.header-cart a{transition:transform .2s ease;display:inline-block}.header-cart a:hover{transform:scale(1.15)}.catalog-empty,.section-error{text-align:center;padding:3rem 1rem;font-size:1.1rem;color:var(--dark-wood);opacity:.8}.not-found{text-align:center;padding:5rem 2rem}.not-found-code{font-family:var(--font-secondary);font-size:6rem;line-height:1;color:var(--alabastro-calido);-webkit-text-stroke:2px var(--siena-tostado);margin-bottom:.5rem}.not-found h1{font-family:var(--font-secondary);font-size:2rem;text-transform:uppercase;letter-spacing:var(--tracking-titulos);margin-bottom:.75rem}.not-found p{margin-bottom:2rem;color:var(--siena-tostado)}.orders-list{display:flex;flex-direction:column;gap:1.5rem;max-width:720px;margin:0 auto}.order-card{background:#fff;border:1px solid var(--alabastro-calido);border-radius:8px;padding:1.5rem}.order-card-header{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:.5rem;border-bottom:1px solid var(--light-grey);padding-bottom:.75rem;margin-bottom:.75rem}.order-date{font-weight:500}.order-customer{font-size:.9rem;font-weight:300;opacity:.75}.order-total{font-weight:700;font-size:1.15rem;color:var(--siena-tostado)}.order-items{list-style:none}.order-items li{display:flex;justify-content:space-between;gap:1rem;padding:.35rem 0;font-weight:300}.message-body{font-weight:300;line-height:1.7;white-space:pre-wrap}.order-customer a{color:var(--siena-tostado);text-decoration:none}.order-customer a:hover{text-decoration:underline}.nav-admin-link{color:var(--verde-salvia)}.admin-delete-btn{margin-top:1rem;width:100%;background-color:#a94442;color:#fff}.admin-delete-btn:hover{background-color:#8a3634}.skip-link{position:absolute;top:-100%;left:1rem;z-index:2000;background:var(--dark-wood);color:#fff;padding:.75rem 1.25rem;border-radius:0 0 4px 4px;text-decoration:none;transition:top .2s ease}.skip-link:focus{top:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}a:focus-visible,button:focus-visible{outline:2px solid var(--siena-tostado);outline-offset:2px}button:disabled{opacity:.6;cursor:not-allowed}@keyframes toast-slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
