:root{--color-primario: #c9b397;--color-primario-oscuro: #8d7a68;--color-primario-claro: #f5f0e8;--color-primario-super-claro: #fcfaf7;--color-acento-1: #d6c6b2;--color-acento-2: #b8a897;--color-acento-3: #e8ddd1;--color-texto: #2a2a2a;--color-texto-claro: #5a5a5a;--color-texto-sobre-oscuro: #ffffff;--color-fondo: #ffffff;--color-fondo-alt: #f9f7f4;--color-borde: #d4c4b0;--color-borde-claro: #e9e1d6;--color-oferta: #d35400;--color-whatsapp: #25D366;--color-instagram: #E1306C;--color-exito: #27ae60;--color-alerta: #e67e22;--color-error: #c0392b;--gradiente-primario: linear-gradient(135deg, var(--color-primario) 0%, var(--color-primario-oscuro) 100%);--gradiente-suave: linear-gradient(to bottom, rgba(255,255,255,.9) 0%, rgba(252,250,247,.95) 100%);--gradiente-hero: linear-gradient(115deg, var(--color-primario-oscuro) 0%, #a08e7a 30%, var(--color-primario) 70%, #d6c6b2 100%);--gradiente-card: linear-gradient(to bottom, var(--color-fondo) 0%, var(--color-primario-super-claro) 100%);--sombra-xs: 0 1px 2px rgba(0,0,0,.02), 0 1px 1px rgba(0,0,0,.04);--sombra-sm: 0 2px 4px rgba(0,0,0,.03), 0 2px 6px rgba(0,0,0,.05);--sombra-md: 0 4px 8px rgba(0,0,0,.05), 0 6px 12px rgba(0,0,0,.08);--sombra-lg: 0 10px 20px rgba(0,0,0,.08), 0 15px 25px rgba(0,0,0,.12);--sombra-xl: 0 20px 40px rgba(0,0,0,.12), 0 25px 50px rgba(0,0,0,.15);--sombra-hover: 0 30px 50px rgba(0,0,0,.18), 0 35px 55px rgba(0,0,0,.22);--sombra-interna: inset 0 2px 4px rgba(0,0,0,.05);--espacio-xxs: .25rem;--espacio-xs: .5rem;--espacio-sm: .75rem;--espacio-md: 1rem;--espacio-lg: 1.5rem;--espacio-xl: 2rem;--espacio-xxl: 3rem;--espacio-xxxl: 4rem;--radio-sm: .375rem;--radio-md: .5rem;--radio-lg: .75rem;--radio-xl: 1rem;--radio-xxl: 1.5rem;--radio-full: 50%;--transicion-rapida: all .15s cubic-bezier(.4, 0, .2, 1);--transicion-normal: all .25s cubic-bezier(.4, 0, .2, 1);--transicion-lenta: all .35s cubic-bezier(.4, 0, .2, 1);--transicion-extralenta: all .5s cubic-bezier(.4, 0, .2, 1);--fuente-cuerpo: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--fuente-titulos: "Gowun Batang", Georgia, serif;--peso-light: 300;--peso-regular: 400;--peso-medium: 500;--peso-semibold: 600;--peso-bold: 700;--peso-extrabold: 800}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{scroll-behavior:smooth;line-height:1.6}body{font-family:var(--fuente-cuerpo);color:var(--color-texto);background-color:var(--color-fondo-alt);overflow-x:hidden}.app{display:flex;flex-direction:column;min-height:100vh}header{background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:var(--espacio-md) 0;position:sticky;top:0;z-index:100;box-shadow:var(--sombra-sm);border-bottom:1px solid var(--color-borde-claro)}.header-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:var(--espacio-md);padding:0 var(--espacio-lg)}.logo{width:80px;height:80px;border-radius:var(--radio-full);object-fit:cover;border:3px solid var(--color-primario-claro);box-shadow:var(--sombra-md);transition:var(--transicion-normal)}.logo:hover{transform:scale(1.05);border-color:var(--color-primario);box-shadow:var(--sombra-lg)}header h1{font-family:var(--fuente-titulos);font-size:clamp(1.75rem,4vw,2.5rem);font-weight:var(--peso-bold);background:var(--gradiente-primario);-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:-.025em}.hero{background:var(--gradiente-hero);color:var(--color-texto-sobre-oscuro);padding:var(--espacio-xxxl) var(--espacio-lg);text-align:center;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 80%,rgba(255,255,255,.1) 0%,transparent 25%),radial-gradient(circle at 80% 20%,rgba(0,0,0,.1) 0%,transparent 25%);pointer-events:none}.hero-text{max-width:800px;margin:0 auto;position:relative;z-index:2}.hero-text h2{font-family:var(--fuente-titulos);font-size:clamp(2rem,5vw,3.5rem);font-weight:var(--peso-bold);margin-bottom:var(--espacio-md);text-shadow:0 2px 8px rgba(0,0,0,.3);line-height:1.2}.hero-text p{font-size:clamp(1rem,2.5vw,1.25rem);opacity:.95;font-weight:var(--peso-light);line-height:1.6;max-width:600px;margin:0 auto}.filtros{display:flex;justify-content:center;align-items:center;gap:var(--espacio-md);margin-bottom:var(--espacio-xl);flex-wrap:wrap;padding:var(--espacio-lg);background:var(--color-fondo);border-radius:var(--radio-xl);box-shadow:var(--sombra-sm);max-width:800px;margin-left:auto;margin-right:auto}.filtros label{font-weight:var(--peso-semibold);color:var(--color-texto);font-size:1.1rem;white-space:nowrap}.filtros select{padding:var(--espacio-sm) var(--espacio-xl) var(--espacio-sm) var(--espacio-md);border:1px solid var(--color-borde);border-radius:var(--radio-md);background-color:var(--color-fondo);color:var(--color-texto);font-size:1rem;min-width:200px;cursor:pointer;transition:var(--transicion-normal);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23c9b397' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .75rem center;background-repeat:no-repeat;background-size:1em;box-shadow:var(--sombra-xs)}.filtros select:hover{border-color:var(--color-primario);box-shadow:0 0 0 3px #c9b3971a}.filtros select:focus{outline:none;border-color:var(--color-primario);box-shadow:0 0 0 3px #c9b39733}.productos-section{max-width:1200px;margin:0 auto;padding:var(--espacio-xxl) var(--espacio-lg)}.productos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--espacio-xl)}.producto{background:var(--gradiente-card);border-radius:var(--radio-xl);overflow:hidden;box-shadow:var(--sombra-md);transition:var(--transicion-normal);animation:fadeInUp .6s ease forwards;opacity:0;border:1px solid var(--color-borde-claro);position:relative;display:flex;flex-direction:column}.producto:hover{transform:translateY(-8px);box-shadow:var(--sombra-hover)}.producto-header{padding:var(--espacio-lg) var(--espacio-lg) var(--espacio-xs);display:flex;justify-content:space-between;align-items:flex-start;gap:var(--espacio-sm)}.producto-header h2{font-size:1.25rem;font-weight:var(--peso-semibold);color:var(--color-texto);line-height:1.4;margin:0;flex:1}.badge-oferta{background:linear-gradient(135deg,var(--color-oferta),#bf5519);color:#fff;padding:var(--espacio-xs) var(--espacio-sm);border-radius:var(--radio-md);font-size:.75rem;font-weight:var(--peso-bold);white-space:nowrap;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 3px 6px #d3540033}.imagenes-container{position:relative;overflow:hidden;margin:var(--espacio-sm) var(--espacio-lg);border-radius:var(--radio-lg);background:var(--color-primario-claro)}.imagen-principal{position:relative;height:280px;overflow:hidden}.imagen-principal img{width:100%;height:100%;object-fit:cover;cursor:pointer;transition:transform .7s ease;opacity:0}.imagen-principal img.loaded{opacity:1}.imagen-principal:hover img{transform:scale(1.08)}.indicadores-imagen{position:absolute;bottom:var(--espacio-sm);left:50%;transform:translate(-50%);display:flex;gap:var(--espacio-xs);z-index:10}.indicador{width:10px;height:10px;border-radius:var(--radio-full);border:none;background:#ffffffb3;cursor:pointer;transition:var(--transicion-rapida);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.indicador:hover{background:#ffffffe6;transform:scale(1.2)}.indicador.activo{background:#fff;transform:scale(1.3);box-shadow:0 2px 6px #0000004d}.producto-info{padding:var(--espacio-md) var(--espacio-lg) var(--espacio-lg);display:flex;flex-direction:column;flex-grow:1}.precio-stock{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--espacio-md);gap:var(--espacio-sm)}.precio{display:flex;flex-direction:column;gap:var(--espacio-xxs)}.precio-anterior{font-size:.9rem;color:var(--color-texto-claro);text-decoration:line-through;font-weight:var(--peso-medium)}.precio-actual{font-size:1.5rem;font-weight:var(--peso-extrabold);color:var(--color-primario-oscuro);line-height:1}.stock{font-size:.85rem;color:var(--color-texto-claro);background:var(--color-primario-claro);padding:var(--espacio-xxs) var(--espacio-sm);border-radius:var(--radio-md);white-space:nowrap;font-weight:var(--peso-medium);border:1px solid var(--color-borde)}.stock-bajo{color:var(--color-error);background:#c0392b1a;border-color:#c0392b33}.btn-detalles{width:100%;display:flex;align-items:center;justify-content:space-between;padding:var(--espacio-sm) var(--espacio-md);background:var(--color-primario-claro);border:1px solid var(--color-borde);border-radius:var(--radio-md);font-size:.95rem;color:var(--color-texto);cursor:pointer;transition:var(--transicion-normal);margin-bottom:var(--espacio-md);font-weight:var(--peso-medium)}.btn-detalles:hover{background:var(--color-primario);border-color:var(--color-primario-oscuro);color:var(--color-texto-sobre-oscuro)}.chevron{transition:transform .3s ease;opacity:.7}.chevron.rotated{transform:rotate(180deg)}.detalles-producto{max-height:0;overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1);opacity:0}.detalles-producto.visible{max-height:300px;opacity:1;margin-top:var(--espacio-sm)}.detalle-item{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--espacio-xs) 0;border-bottom:1px solid var(--color-borde-claro);gap:var(--espacio-sm)}.detalle-item:last-of-type{border-bottom:none;margin-bottom:var(--espacio-xs)}.detalle-label{font-weight:var(--peso-medium);color:var(--color-texto-claro);font-size:.9rem;flex-shrink:0}.detalle-valor{font-weight:var(--peso-semibold);color:var(--color-texto);font-size:.9rem;text-align:right;line-height:1.4}.btn-compra{display:flex;align-items:center;justify-content:center;gap:var(--espacio-sm);width:100%;padding:var(--espacio-md);background:linear-gradient(135deg,var(--color-whatsapp),#128c7e);color:#fff;text-decoration:none;border-radius:var(--radio-lg);font-weight:var(--peso-semibold);font-size:1rem;transition:var(--transicion-normal);box-shadow:var(--sombra-md);border:none;cursor:pointer;margin-top:auto}.btn-compra:hover{transform:translateY(-3px);box-shadow:var(--sombra-lg);text-decoration:none;color:#fff;background:linear-gradient(135deg,#128c7e,#0d6b5d)}.ubicacion{background:var(--color-fondo);padding:var(--espacio-xxxl) var(--espacio-lg);text-align:center}.ubicacion h2{font-family:var(--fuente-titulos);font-size:clamp(2rem,4vw,2.5rem);font-weight:var(--peso-bold);margin-bottom:var(--espacio-xl);background:var(--gradiente-primario);-webkit-background-clip:text;background-clip:text;color:transparent}.mapa-container{max-width:900px;margin:0 auto;border-radius:var(--radio-xl);overflow:hidden;box-shadow:var(--sombra-lg);border:1px solid var(--color-borde);transition:var(--transicion-normal)}.mapa-container:hover{transform:translateY(-5px);box-shadow:var(--sombra-xl)}.mapa-container iframe{display:block;width:100%;height:450px;border:none}footer{background:var(--gradiente-hero);color:var(--color-texto-sobre-oscuro);padding:var(--espacio-xxl) var(--espacio-lg) var(--espacio-lg);margin-top:auto}.footer-content{max-width:1200px;margin:0 auto;text-align:center}.contacto{margin-bottom:var(--espacio-xl)}.contacto h3{font-family:var(--fuente-titulos);font-size:1.5rem;font-weight:var(--peso-bold);margin-bottom:var(--espacio-md)}.whatsapp-btn,.instagram-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--espacio-xs);padding:var(--espacio-sm) var(--espacio-lg);margin:var(--espacio-xs);border-radius:var(--radio-lg);color:#fff;text-decoration:none;font-weight:var(--peso-medium);transition:var(--transicion-normal);font-size:1rem}.whatsapp-btn{background:var(--color-whatsapp);box-shadow:var(--sombra-md)}.whatsapp-btn:hover{background:#128c7e;transform:translateY(-3px);box-shadow:var(--sombra-lg);text-decoration:none;color:#fff}.instagram-btn{background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);box-shadow:var(--sombra-md)}.instagram-btn:hover{background:linear-gradient(45deg,#e6683c,#dc2743,#cc2366,#bc1888,#8f005e);transform:translateY(-3px);box-shadow:var(--sombra-lg);text-decoration:none;color:#fff}.derechos{padding-top:var(--espacio-lg);border-top:1px solid rgba(255,255,255,.1);font-size:.9rem;opacity:.8}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.productos-loading{display:flex;justify-content:center;align-items:center;height:300px;font-size:1.1rem;color:var(--color-texto-claro)}.productos-empty{text-align:center;padding:var(--espacio-xxxl) var(--espacio-lg);color:var(--color-texto-claro)}.productos-empty h3{font-size:1.5rem;margin-bottom:var(--espacio-md)}@media (max-width: 768px){.header-content{flex-direction:column;text-align:center;gap:var(--espacio-sm)}.hero{padding:var(--espacio-xxl) var(--espacio-md)}.filtros{flex-direction:column;align-items:stretch;gap:var(--espacio-sm)}.filtros select{width:100%;min-width:auto}.productos-section{padding:var(--espacio-xl) var(--espacio-md)}.productos-grid{grid-template-columns:1fr;gap:var(--espacio-lg)}.precio-stock{flex-direction:column;gap:var(--espacio-sm)}.ubicacion{padding:var(--espacio-xxl) var(--espacio-md)}}@media (max-width: 480px){.hero-text h2{font-size:2rem}.producto-header{padding:var(--espacio-md) var(--espacio-md) var(--espacio-xxs)}.producto-info{padding:var(--espacio-sm) var(--espacio-md) var(--espacio-md)}.imagen-principal{height:220px}.whatsapp-btn,.instagram-btn{width:100%;margin:var(--espacio-xs) 0}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto}}.btn-detalles:focus-visible,.btn-compra:focus-visible,.whatsapp-btn:focus-visible,.instagram-btn:focus-visible,.filtros select:focus-visible{outline:2px solid var(--color-primario);outline-offset:2px;border-radius:var(--radio-sm)}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--color-primario-claro)}::-webkit-scrollbar-thumb{background:var(--color-primario);border-radius:var(--radio-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-primario-oscuro)}
