/* --- INICIO DEL CÓDIGO COMPLETO Y CORREGIDO --- */
*{box-sizing:border-box;margin:0;padding:0}:root{--color-primario:#6A0DAD;--color-primario-rgb:106,13,173;--color-primario-claro:#B388DD;--color-primario-muy-claro:#E9D8F8;--color-secundario:#D91B5C;--color-secundario-claro:#F48FB1;--color-acento:#FFD600;--color-acento-oscuro:#FFB300;--color-fondo:#F4F7F6;--color-superficie:#fff;--color-texto:#333740;--color-texto-claro:#5A6268;--color-bordes:#E1E4E8;--color-header-fondo:#fff;--color-footer-fondo:var(--color-texto);--color-footer-texto:#A0AEC0;--color-enlace:var(--color-primario);--color-enlace-hover:var(--color-secundario);--sombra-ligera:0 2px 5px rgba(0,0,0,.06);--sombra-media:0 6px 15px rgba(0,0,0,.1);--sombra-elevada:0 10px 30px rgba(0,0,0,.12);--sombra-target:0 0 0 3px rgba(var(--color-primario-rgb),.25);--fuente-principal:'Lato',sans-serif;--fuente-titulos:'Poppins',sans-serif;--transicion-rapida:all .25s cubic-bezier(.645,.045,.355,1);--transicion-media:all .4s cubic-bezier(.645,.045,.355,1);--border-radius-sm:4px;--border-radius-md:8px;--border-radius-lg:12px;--border-radius-xl:16px;--border-radius-pill:50px}html{scroll-behavior:smooth}body{font-family:var(--fuente-principal);line-height:1.7;color:var(--color-texto);background-color:var(--color-fondo);display:flex;flex-direction:column;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}h1,h2,h3,h4,h5,h6{font-family:var(--fuente-titulos);font-weight:600;color:var(--color-primario);margin-bottom:.8em;line-height:1.3}h1{font-size:clamp(2.2em,5vw,2.8em);letter-spacing:-.75px;margin-bottom:.5em}h2{font-size:clamp(1.8em,4vw,2.2em);margin-bottom:.6em}h3{font-size:clamp(1.4em,3vw,1.7em);font-weight:500}a{color:var(--color-enlace);text-decoration:none;transition:var(--transicion-rapida)}a:hover{text-decoration:none;color:var(--color-enlace-hover)}img{max-width:100%;height:auto;display:block;border-radius:var(--border-radius-sm)}.container{max-width:1380px;margin:0 auto;padding:0 30px;width:100%}main{flex:1;padding-top:40px;padding-bottom:80px}@keyframes fadeIn{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.fade-in-element{animation:fadeIn .5s ease-out forwards}.main-header{padding:0;border-bottom:1px solid var(--color-bordes);background-color:var(--color-header-fondo);box-shadow:var(--sombra-media);position:sticky;top:0;z-index:1000;transition:var(--transicion-rapida),box-shadow .3s ease}.main-header .header-top-row{display:flex;justify-content:space-between;align-items:center;padding:15px 0;gap:20px}.main-header .header-tagline-row{margin-top:10px;margin-bottom:10px;text-align:center}.main-header .header-search-row{margin-bottom:15px;display:flex;justify-content:center}.logo{flex-shrink:0}.logo a{display:inline-block;line-height:0}#site-logo{height:clamp(90px,15vh,143px);max-height:160px;width:auto;object-fit:contain;transition:transform .4s ease}#site-logo:hover{transform:scale(1.05)}.header-tagline{font-size:1.1em;font-weight:600}@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.02)}100%{transform:scale(1)}}.header-tagline .animated-text-effect{display:inline-block;color:var(--color-primario)!important;animation:fadeInUp .8s ease-out forwards,pulse 2s infinite ease-in-out 1s;opacity:0}.header-search{display:flex;flex-grow:1;max-width:600px;min-width:200px}.header-search input[type=text]{flex-grow:1;padding:14px 20px;border:1px solid var(--color-bordes);border-right:none;border-radius:var(--border-radius-pill) 0 0 var(--border-radius-pill);font-size:.95em;outline:none;transition:var(--transicion-rapida);background-color:var(--color-fondo)}.header-search input[type=text]:focus{border-color:var(--color-primario);background-color:var(--color-superficie);box-shadow:var(--sombra-target),0 0 0 1px var(--color-primario)}.header-search input[type=text]::placeholder{color:#999;opacity:.8}.header-search button{padding:14px 22px;border:1px solid var(--color-primario);background-color:var(--color-primario);color:#fff;cursor:pointer;border-radius:0 var(--border-radius-pill) var(--border-radius-pill) 0;flex-shrink:0;transition:var(--transicion-rapida);font-size:1em}.header-search button:hover{background-color:var(--color-secundario);border-color:var(--color-secundario);transform:scale(1.05)}.header-icons{display:flex;align-items:center;gap:12px;flex-shrink:0}.header-icon-link{font-size:1.7em;color:var(--color-texto-claro);position:relative;padding:10px;line-height:1;border-radius:50%;transition:var(--transicion-rapida)}.header-icon-link:hover,.header-icon-link:focus{color:var(--color-primario);background-color:var(--color-primario-muy-claro);transform:scale(1.1);outline:none}.user-menu{display:flex;align-items:center;gap:10px}.user-account-link{font-size:1em;font-weight:500}.user-name-header{display:inline;margin-right:5px}.logout-form-inline{display:inline}.logout-button-icon{background:none;border:none;cursor:pointer;color:var(--color-secundario);padding:8px;font-size:1.1em;border-radius:var(--border-radius-md)}.logout-button-icon:hover,.logout-button-icon:focus{color:var(--color-primario);background-color:var(--color-primario-muy-claro);outline:none}.header-icons .cart-count,.header-icons .notification-count{position:absolute;top:-2px;right:-2px;background-color:var(--color-acento);color:var(--color-texto);border-radius:var(--border-radius-pill);padding:2px 7px;font-size:.6em;line-height:1;font-weight:700;border:2px solid var(--color-header-fondo);box-shadow:var(--sombra-ligera)}.secondary-nav{background:linear-gradient(to right,var(--color-primario),var(--color-secundario) 70%);padding:0;box-shadow:var(--sombra-media),0 2px 4px rgba(0,0,0,.05) inset}.secondary-nav ul{list-style:none;display:flex;justify-content:center;flex-wrap:wrap;gap:5px}.secondary-nav a{color:rgba(255,255,255,.95);font-family:var(--fuente-titulos);font-weight:500;font-size:clamp(.85em,2vw,.95em);padding:16px 28px;display:block;transition:var(--transicion-rapida);text-transform:uppercase;letter-spacing:1.2px;position:relative}.secondary-nav a::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:0;height:4px;background-color:var(--color-acento);transition:width .25s ease-out;border-radius:2px 2px 0 0}.secondary-nav a.active-nav-link::after,.secondary-nav a:hover::after{width:calc(100% - 30px)}.secondary-nav a.active-nav-link,.secondary-nav a:hover{background-color:rgba(0,0,0,.15);color:#fff;text-decoration:none}.breadcrumbs{font-size:.9em;color:var(--color-texto-claro);margin-bottom:35px;padding:18px 25px;border:1px solid var(--color-bordes);background-color:var(--color-superficie);box-shadow:var(--sombra-ligera);border-radius:var(--border-radius-md)}.breadcrumbs a{color:var(--color-enlace);font-weight:500}.breadcrumbs a:hover{color:var(--color-enlace-hover);text-decoration:underline}.main-layout{display:flex;gap:40px;align-items:flex-start}.sidebar{flex:0 0 320px}.main-content{flex:1;min-width:0}.sidebar-block{background-color:var(--color-superficie);border:1px solid var(--color-bordes);margin-bottom:35px;border-radius:var(--border-radius-lg);box-shadow:var(--sombra-media);overflow:hidden}.sidebar-block h3{background-color:var(--color-fondo);padding:20px 25px;font-size:1.3em;margin:0;border-bottom:1px solid var(--color-bordes);color:var(--color-primario);font-weight:600}.sidebar-block ul{list-style:none;padding:15px 0}.sidebar-block li a{display:flex;align-items:center;padding:15px 25px;color:var(--color-texto-claro);transition:var(--transicion-rapida);border-left:5px solid transparent;font-weight:500;position:relative}.sidebar-block li a:hover{background-color:var(--color-primario-muy-claro);color:var(--color-primario);border-left-color:var(--color-secundario);transform:translateX(5px)}.sidebar-block li a.active{background-color:var(--color-primario-muy-claro);font-weight:700;color:var(--color-primario);border-left-color:var(--color-primario)}.category-sidebar .category-item>ul{display:none;padding-left:20px;border-left:1px dashed var(--color-bordes);margin-left:10px}.category-sidebar .category-item.open>ul{display:block}.category-sidebar .category-toggle{display:inline-block;width:20px;height:20px;text-align:center;cursor:pointer;margin-right:5px;vertical-align:middle}.category-sidebar .category-toggle::before{content:'▶';font-size:.7em;color:var(--color-texto-claro);transition:transform .2s ease-in-out;display:inline-block}.category-sidebar .category-item.open>.category-item-wrapper>.category-toggle::before{transform:rotate(90deg)}.category-sidebar .category-spacer{display:inline-block;width:20px;margin-right:5px}.category-sidebar .category-item-wrapper{display:flex;align-items:center;padding:8px 15px;border-radius:var(--border-radius-sm)}.category-sidebar .category-item-wrapper:hover{background-color:var(--color-primario-muy-claro)}.category-sidebar .category-item-wrapper.active{background-color:var(--color-primario-muy-claro);font-weight:700}.category-sidebar .category-item-wrapper.active>a{color:var(--color-primario)}.content-controls{display:flex;justify-content:space-between;align-items:center;background-color:var(--color-superficie);padding:20px 25px;border-radius:var(--border-radius-lg);margin-bottom:35px;border:1px solid var(--color-bordes);font-size:.95em;flex-wrap:wrap;gap:20px;box-shadow:var(--sombra-media)}.content-controls .control-group label{margin-right:12px;font-weight:500;color:var(--color-texto)}.content-controls .control-group input,.content-controls .control-group select{padding:12px 16px;border:1px solid var(--color-bordes);border-radius:var(--border-radius-md);font-size:1em;background-color:var(--color-superficie);transition:var(--transicion-rapida)}.content-controls .control-group input:focus,.content-controls .control-group select:focus{border-color:var(--color-primario);box-shadow:var(--sombra-target)}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:40px}.product-grid .product-slider-container-wrapper{grid-column:1/-1}.product-card{border:1px solid var(--color-bordes);border-radius:var(--border-radius-xl);background-color:var(--color-superficie);transition:var(--transicion-media);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;box-shadow:var(--sombra-media);position:relative}.product-card:hover{box-shadow:var(--sombra-elevada);transform:translateY(-10px);border-color:var(--color-primario)}.product-card .badge{position:absolute;top:18px;left:18px;background-color:var(--color-acento);color:var(--color-texto);padding:5px 12px;border-radius:var(--border-radius-pill);font-size:.7em;font-weight:700;z-index:1;text-transform:uppercase;letter-spacing:.5px}.product-card .product-image-container{overflow:hidden;position:relative;background-color:var(--color-fondo);aspect-ratio:1/1;border-bottom:1px solid var(--color-bordes);border-radius:var(--border-radius-xl) var(--border-radius-xl) 0 0}.product-card img{width:100%;height:100%;object-fit:contain;transition:transform .6s cubic-bezier(.165,.84,.44,1),opacity .5s ease;opacity:1;padding:10px}.product-card:hover img{transform:scale(1.1)}.product-card .product-info{padding:25px;text-align:left;flex-grow:1;display:flex;flex-direction:column}.product-card h3{font-size:1.15em;margin:0 0 12px;font-weight:600;color:var(--color-texto);line-height:1.4;height:2.8em;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;transition:color .2s ease;transform:translateZ(0)}.product-card a:hover h3{color:var(--color-primario)}.product-card .price{font-weight:700;color:var(--color-primario);margin-bottom:10px;font-size:1.5em}.product-card .stock-info,.product-card .vendor-info{font-size:.85em;color:var(--color-texto-claro);margin-bottom:18px}.product-card form{margin-top:auto;display:flex;gap:12px;align-items:center}.product-card form input[type=number]{width:75px;padding:12px;border:1px solid var(--color-bordes);border-radius:var(--border-radius-md);text-align:center;font-size:.9em;background-color:var(--color-fondo);transition:border-color .2s ease,box-shadow .2s ease}.product-card form input[type=number]:focus{border-color:var(--color-primario);box-shadow:var(--sombra-target)}.product-card form button{padding:12px 20px;cursor:pointer;background:linear-gradient(to right,var(--color-primario),var(--color-secundario));color:#fff;border:none;border-radius:var(--border-radius-pill);font-size:.9em;font-weight:600;letter-spacing:.5px;transition:var(--transicion-rapida),transform .15s ease,box-shadow .2s ease;flex-grow:1;text-transform:uppercase}.product-card form button:hover{background:linear-gradient(to right,var(--color-secundario),var(--color-primario));transform:translateY(-2px) scale(1.03);box-shadow:0 5px 10px rgba(var(--color-primario-rgb),.3)}.product-card form button:disabled{background:#ccc;cursor:not-allowed;transform:none;box-shadow:none;opacity:.7}.product-card .product-info{position:relative}.product-card-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(var(--color-primario-rgb),.7);display:flex;align-items:center;justify-content:center;opacity:0;transition:var(--transicion-rapida);pointer-events:none}.product-card:hover .product-card-overlay{opacity:1;pointer-events:auto}.quick-view-btn{background-color:var(--color-superficie);color:var(--color-primario);border-color:var(--color-superficie)}.quick-view-btn:hover{background-color:var(--color-fondo);color:var(--color-primario)}.pagination-container{margin-top:50px;margin-bottom:40px;display:flex;justify-content:center;clear:both}.pagination{display:flex;padding-left:0;list-style:none;gap:8px}.page-item{margin:0}.page-link{position:relative;display:block;padding:.7rem 1.1rem;line-height:1.25;color:var(--color-enlace);background-color:var(--color-superficie);border:1px solid var(--color-bordes);border-radius:var(--border-radius-pill);transition:var(--transicion-rapida);font-weight:600;box-shadow:var(--sombra-ligera)}.page-item.disabled .page-link{color:#999;pointer-events:none;background-color:var(--color-fondo);border-color:var(--color-bordes);box-shadow:none}.page-item.active .page-link{z-index:1;color:#fff;background:linear-gradient(to right,var(--color-primario),var(--color-secundario));border-color:transparent;box-shadow:0 4px 10px rgba(var(--color-primario-rgb),.35)}.page-link:hover{color:var(--color-superficie);background-color:var(--color-primario);border-color:var(--color-primario);text-decoration:none;transform:translateY(-2px);box-shadow:var(--sombra-media)}.page-item.active .page-link:hover{background:linear-gradient(to right,var(--color-primario),var(--color-secundario));color:#fff;transform:none;box-shadow:0 4px 10px rgba(var(--color-primario-rgb),.35)}.pagination-summary{font-size:.9em;color:var(--color-texto-claro);text-align:center;margin-top:20px}.main-footer{margin-top:auto;padding:70px 0 50px;background-color:var(--color-footer-fondo);color:var(--color-footer-texto);border-top:5px solid var(--color-primario);text-align:center;font-size:1em}.main-footer a{color:var(--color-primario-claro);margin:0 12px;text-decoration:none;transition:color .2s ease}.main-footer a:hover{color:var(--color-acento);text-decoration:underline;text-underline-offset:4px}.main-footer p{margin-bottom:18px;line-height:1.6}.footer-badge{margin-top:25px;display:flex;justify-content:center;align-items:center;gap:15px}.message{padding:20px 30px;margin:30px 0;border-radius:var(--border-radius-lg);border-width:1px;border-style:solid;text-align:left;font-size:1em;box-shadow:var(--sombra-media);border-left-width:6px;display:flex;align-items:center}.error-msg{background-color:#fff1f1;color:#d8000c;border-color:#ffd1d1;border-left-color:#d8000c}.success-msg{background-color:#f0fff4;color:#237d3b;border-color:#c6f6d5;border-left-color:#28a745}.warning-msg{background-color:#fffbeb;color:#9f6000;border-color:#ffedad;border-left-color:#b8860b}.info-msg{background-color:#ebf8ff;color:#00529b;border-color:#beef8;border-left-color:#3182ce}.homepage-welcome{text-align:center;padding:70px 40px;background:linear-gradient(135deg,var(--color-primario) 0,var(--color-secundario) 100%);color:var(--color-superficie);border-radius:var(--border-radius-xl);margin-bottom:50px;box-shadow:var(--sombra-elevada)}.homepage-welcome h1{color:var(--color-superficie);font-size:clamp(2.5em,6vw,3.2em);text-shadow:1px 1px 3px rgba(0,0,0,.25)}.homepage-welcome .user-info{margin-bottom:40px;font-size:1.25em;color:rgba(255,255,255,.9)}.homepage-nav ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:30px}.homepage-nav a,.homepage-nav button{display:block;padding:18px 40px;border:2px solid var(--color-superficie);border-radius:var(--border-radius-pill);background-color:transparent;color:var(--color-superficie);text-decoration:none;transition:var(--transicion-rapida),transform .1s ease,box-shadow .15s ease;font-size:1.15em;font-weight:600;cursor:pointer;font-family:var(--fuente-titulos);text-align:center;box-shadow:var(--sombra-ligera)}.homepage-nav a:hover,.homepage-nav button:hover{background-color:var(--color-superficie);color:var(--color-primario);border-color:var(--color-superficie);transform:translateY(-4px) scale(1.03);box-shadow:var(--sombra-media)}.homepage-nav form{display:inline;margin:0;padding:0}.button,button,input[type=button],input[type=submit]{display:inline-block;padding:14px 32px;font-size:1.05em;font-weight:600;cursor:pointer;text-align:center;text-decoration:none;border-radius:var(--border-radius-pill);border:2px solid transparent;transition:var(--transicion-rapida),transform .1s ease,box-shadow .15s ease;font-family:var(--fuente-titulos);letter-spacing:.5px;box-shadow:var(--sombra-ligera);line-height:1.5}.button-primary:hover,.button-secondary:hover,.button-success:hover,.button-danger:hover,.button-warning:hover,.button-info:hover,.back-btn:hover{transform:translateY(-3px);box-shadow:var(--sombra-media)}.button:active,button:active,input[type=button]:active,input[type=submit]:active{transform:translateY(0);box-shadow:var(--sombra-ligera) inset}.button:focus-visible,button:focus-visible,input[type=button]:focus-visible,input[type=submit]:focus-visible{outline:2px solid var(--color-primario);outline-offset:2px;box-shadow:var(--sombra-target)}.button-primary{background-color:var(--color-primario);color:#fff;border-color:var(--color-primario)}.button-primary:hover{background-color:var(--color-secundario);border-color:var(--color-secundario)}.button-secondary{background-color:var(--color-superficie);color:var(--color-primario);border-color:var(--color-primario)}.button-secondary:hover{background-color:var(--color-primario);border-color:var(--color-primario);color:#fff}.button-success{background-color:#28a745;color:#fff;border-color:#28a745}.button-success:hover{background-color:#218838;border-color:#1e7e34}.button-danger{background-color:#dc3545;color:#fff;border-color:#dc3545}.button-danger:hover{background-color:#c82333;border-color:#bd2130}.button-warning{background-color:var(--color-acento);color:var(--color-texto);border-color:var(--color-acento)}.button-warning:hover{background-color:var(--color-acento-oscuro);border-color:var(--color-acento-oscuro)}.button-info{background-color:#17a2b8;color:#fff;border-color:#17a2b8}.button-info:hover{background-color:#138496;border-color:#117a8b}.button-sm{padding:10px 24px;font-size:.9em;border-radius:var(--border-radius-pill)}.back-btn{background-color:var(--color-fondo);color:var(--color-texto);border-color:var(--color-bordes)}.back-btn:hover{background-color:var(--color-bordes);color:var(--color-texto)}.form-group{margin-bottom:2rem}.form-group label{display:block;margin-bottom:.8rem;font-weight:600;color:var(--color-texto);font-size:1.05em}.form-control,select.form-control,textarea.form-control{width:100%;padding:16px 20px;border:1px solid var(--color-bordes);border-radius:var(--border-radius-md);font-size:1em;font-family:var(--fuente-principal);transition:var(--transicion-rapida);background-color:var(--color-superficie);box-shadow:none}.form-control:focus,select.form-control:focus,textarea.form-control:focus{border-color:var(--color-primario);box-shadow:var(--sombra-target),0 0 0 1px var(--color-primario);outline:none;background-color:#fff}.form-control::placeholder{color:#a0aec0;opacity:.8}textarea.form-control{min-height:150px;line-height:1.6}.table{width:100%;margin-bottom:2rem;color:var(--color-texto);border-collapse:separate;border-spacing:0;border:1px solid var(--color-bordes);border-radius:var(--border-radius-lg);box-shadow:var(--sombra-media);overflow:hidden}.table td,.table th{padding:1.1rem 1.3rem;vertical-align:middle;text-align:left;border-bottom:1px solid var(--color-bordes)}.table td:last-child,.table th:last-child{border-right:0}.table th{font-family:var(--fuente-titulos);font-weight:600;background-color:var(--color-fondo);color:var(--color-primario);border-bottom-width:2px;border-bottom-color:var(--color-primario);font-size:.95em;text-transform:uppercase;letter-spacing:.5px}.table tbody tr:hover{background-color:var(--color-primario-muy-claro);color:var(--color-texto)}.table tbody tr:hover td{color:var(--color-primario)}.table-striped tbody tr:nth-of-type(odd){background-color:var(--color-fondo)}.table-striped tbody tr:nth-of-type(odd):hover{background-color:var(--color-primario-muy-claro)}.table .actions a,.table .actions button,.table .actions form{margin-right:10px;margin-bottom:8px;display:inline-block}.table .actions button{font-size:.8em;padding:8px 14px}.grid-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:40px}.grid-item{background-color:var(--color-superficie);padding:35px;border-radius:var(--border-radius-lg);box-shadow:var(--sombra-media);transition:var(--transicion-rapida),box-shadow .3s ease,transform .3s ease;display:flex;flex-direction:column;border:1px solid var(--color-bordes)}.grid-item:hover{transform:translateY(-8px);box-shadow:var(--sombra-elevada);border-color:var(--color-primario-claro)}.grid-item h3{margin-top:0;border-bottom:1px solid var(--color-bordes);padding-bottom:18px;margin-bottom:25px;font-size:1.5em;color:var(--color-primario)}.grid-item ul{list-style:none;padding:0;flex-grow:1}.grid-item li{margin-bottom:18px}.grid-item li a{display:block;padding:16px 22px;background-color:var(--color-fondo);border-radius:var(--border-radius-md);transition:var(--transicion-rapida),transform .15s ease,box-shadow .2s ease;color:var(--color-texto);border:1px solid var(--color-bordes);font-weight:500;text-align:center}.grid-item li a:hover{background-color:var(--color-primario);color:#fff;text-decoration:none;border-color:var(--color-primario);transform:scale(1.03);box-shadow:var(--sombra-media)}.logout-form .logout-btn,.nav-actions .logout-btn{background-color:transparent;color:var(--color-secundario);border:2px solid var(--color-secundario);padding:10px 20px;font-size:.95em}.logout-form .logout-btn:hover,.nav-actions .logout-btn:hover{background-color:var(--color-secundario);color:#fff;border-color:var(--color-secundario)}.auth-container{background-color:var(--color-superficie);padding:35px 45px;border-radius:var(--border-radius-xl);box-shadow:var(--sombra-elevada);max-width:500px;border:1px solid var(--color-bordes)}.auth-container h1{text-align:center;margin-bottom:30px}@keyframes slideInUp{from{opacity:0;transform:translateY(30px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes modalFadeIn{from{opacity:0}to{opacity:1}}.quick-view-modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:2000;display:flex;align-items:center;justify-content:center;padding:25px}.quick-view-modal .modal-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(30,30,50,.7);cursor:pointer;animation:modalFadeIn .3s ease forwards}.quick-view-modal .modal-content{position:relative;background-color:var(--color-superficie);padding:35px;border-radius:var(--border-radius-lg);max-width:900px;width:100%;max-height:90vh;overflow-y:auto;z-index:2001;box-shadow:0 15px 40px rgba(0,0,0,.25);animation:slideInUp .4s cubic-bezier(.165,.84,.44,1) forwards}.quick-view-modal .modal-close-btn{position:absolute;top:15px;right:20px;font-size:2.8em;line-height:1;background:none;border:none;color:var(--color-texto-claro);cursor:pointer;transition:var(--transicion-rapida),transform .2s ease;padding:5px;border-radius:50%}.quick-view-modal .modal-close-btn:hover{color:var(--color-secundario);transform:rotate(90deg) scale(1.1);background-color:var(--color-fondo)}#quick-view-content .product-layout h1{font-size:2.2em;margin-bottom:.4em}#quick-view-content .product-layout .price{font-size:1.9em;font-weight:700;color:var(--color-primario);margin-bottom:1.2rem}#quick-view-content .add-to-cart-form{display:flex;align-items:center;gap:18px;margin-top:1.8rem}@keyframes loading-dots-blink{0%,to{opacity:.3}20%{opacity:1}80%{opacity:1}}.ai-chat-fab{position:fixed;bottom:30px;right:30px;width:65px;height:65px;background-color:var(--color-primario);color:#fff;border-radius:50%;border:none;font-size:2.2em;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--sombra-elevada);z-index:1050;transition:transform .2s ease-out,background-color .2s ease,box-shadow .2s ease}.ai-chat-fab:hover{transform:scale(1.1) translateY(-3px);background-color:var(--color-secundario);box-shadow:0 8px 20px rgba(var(--color-primario-rgb),.4)}.ai-chat-modal{position:fixed;bottom:30px;right:30px;width:90%;max-width:420px;height:75vh;max-height:600px;background-color:var(--color-superficie);border-radius:var(--border-radius-xl);box-shadow:0 8px 30px rgba(0,0,0,.2);z-index:1051;display:flex;flex-direction:column;overflow:hidden;animation:modalFadeIn .2s ease-out,slideInUp .3s ease-out;border:1px solid var(--color-bordes)}.chat-header{background:linear-gradient(to right,var(--color-primario),var(--color-secundario));color:#fff;padding:12px 18px;display:flex;justify-content:space-between;align-items:center}.chat-header h3{margin:0;font-size:1.15em;color:#fff;font-weight:500}.chat-close-btn{background:none;border:none;color:#fff;font-size:2em;line-height:1;cursor:pointer;opacity:.85;transition:opacity .2s ease,transform .2s ease;padding:5px;border-radius:50%}.chat-close-btn:hover{opacity:1;transform:scale(1.1);background-color:rgba(0,0,0,.1)}.chat-body{flex-grow:1;padding:20px;overflow-y:auto;background-color:var(--color-fondo);display:flex;flex-direction:column;gap:15px}.chat-message{max-width:85%;padding:12px 18px;border-radius:var(--border-radius-lg);line-height:1.55;box-shadow:var(--sombra-ligera)}.chat-message p{margin:0}.ai-message{background-color:var(--color-superficie);color:var(--color-texto);border-bottom-left-radius:var(--border-radius-sm);align-self:flex-start}.user-message{background-color:var(--color-primario);color:#fff;border-bottom-right-radius:var(--border-radius-sm);align-self:flex-end}.ai-message .loading-dots span{animation-name:loading-dots-blink;animation-duration:1.5s;animation-iteration-count:infinite;animation-fill-mode:both;font-size:1.6em;line-height:1}.ai-message .loading-dots span:nth-child(2){animation-delay:.25s}.ai-message .loading-dots span:nth-child(3){animation-delay:.5s}.chat-footer{padding:12px 15px;border-top:1px solid var(--color-bordes);background-color:var(--color-superficie)}.chat-footer form{display:flex;align-items:center;gap:12px}#ai-chat-input{flex-grow:1;border:1px solid var(--color-bordes);border-radius:var(--border-radius-pill);padding:10px 18px;font-size:1em;outline:none;transition:border-color .2s ease,box-shadow .2s ease;background-color:var(--color-fondo)}#ai-chat-input:focus{border-color:var(--color-primario);box-shadow:var(--sombra-target);background-color:var(--color-superficie)}.chat-footer button{background-color:var(--color-primario);color:#fff;border:none;width:44px;height:44px;border-radius:50%;font-size:1.3em;cursor:pointer;flex-shrink:0;transition:background-color .2s ease,transform .2s ease;display:flex;align-items:center;justify-content:center}.chat-footer button:hover{background-color:var(--color-secundario);transform:scale(1.1)}.chat-footer button:disabled{background-color:#ccc;cursor:not-allowed;transform:none}.ai-chat-tooltip{position:fixed;bottom:100px;right:25px;max-width:250px;background-color:var(--color-primario-muy-claro);color:var(--color-texto);padding:12px 15px;border-radius:var(--border-radius-lg);box-shadow:var(--sombra-media);z-index:1049;font-size:.9em;line-height:1.4;animation:fadeIn .4s ease-out;border:1px solid var(--color-primario-claro)}.ai-chat-tooltip::after{content:'';position:absolute;bottom:-10px;right:28px;width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-top:10px solid var(--color-primario-muy-claro)}.ai-chat-tooltip p{margin:0;padding-right:15px}.ai-chat-tooltip .tooltip-close-btn{position:absolute;top:2px;right:5px;background:transparent;border:none;font-size:1.4em;color:var(--color-texto-claro);cursor:pointer;padding:2px;line-height:1}.ai-chat-tooltip .tooltip-close-btn:hover{color:var(--color-secundario)}.product-slider-container{position:relative;width:100%;margin:40px auto;overflow:hidden}.product-slider-container h2{text-align:center;color:var(--color-primario);margin-bottom:20px;font-size:clamp(1.6em,3vw,2em)}.slider-track-container{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none}.slider-track-container::-webkit-scrollbar{display:none}.slider-track{display:flex;padding:10px}.product-slider-container .slide{width:200px;flex-shrink:0;margin:0 10px;scroll-snap-align:center;text-align:center;border:1px solid var(--color-bordes);border-radius:var(--border-radius-md);transition:box-shadow .2s ease;background-color:var(--color-superficie)}.product-slider-container .slide:hover{box-shadow:var(--sombra-media)}.product-slider-container .slide a{text-decoration:none;color:inherit;display:block;padding:10px}.product-slider-container .slide img{width:100%;height:150px;object-fit:contain;margin-bottom:10px}.product-slider-container .slide h4{font-size:.9em;font-weight:600;margin:5px 0;height:2.2em;overflow:hidden;color:var(--color-texto)}.product-slider-container .slide .price{font-size:1.1em;font-weight:700;color:var(--color-primario)}.slider-btn{position:absolute;top:55%;transform:translateY(-50%);background-color:rgba(255,255,255,.9);border:1px solid var(--color-bordes);border-radius:50%;width:40px;height:40px;font-size:24px;cursor:pointer;z-index:10;display:flex;align-items:center;justify-content:center;box-shadow:var(--sombra-ligera);transition:all .2s ease}.slider-btn:hover{background-color:var(--color-primario);color:#fff;border-color:var(--color-primario);transform:translateY(-50%) scale(1.1)}.slider-btn:disabled{opacity:.3;cursor:not-allowed}.slider-btn.prev{left:-10px}.slider-btn.next{right:-10px}@media (max-width:1100px){.user-name-header{display:none}}@media (max-width:992px){.main-header .header-top-row{flex-wrap:wrap;justify-content:center;gap:15px;padding-top:10px}.logo{flex-basis:100%;text-align:center}.header-search{width:100%}.sidebar{flex:0 0 260px}.main-layout{gap:25px}.product-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:25px}.product-card h3{font-size:1.05em}.product-card .price{font-size:1.35em}#site-logo{height:clamp(80px,12vh,125px)}}@media (max-width:768px){.main-layout{flex-direction:column;gap:30px}.sidebar{flex-basis:auto;width:100%;margin-bottom:0}.main-content{width:100%}.product-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}#site-logo{height:clamp(70px,10vh,109px)}.container{padding:0 18px}.header-icons a,.logout-button-icon{font-size:1.5em;padding:8px}.header-icons{flex-basis:100%;justify-content:center}.header-search input[type=text],.header-search button{padding-top:12px;padding-bottom:12px}main{padding-top:30px;padding-bottom:60px}h1{font-size:clamp(1.8em,4.5vw,2.1em)}h2{font-size:clamp(1.5em,3.5vw,1.7em)}.product-slider-container .slide{width:160px}.product-slider-container .slide img{height:130px}}@media (max-width:540px){.product-grid{grid-template-columns:1fr;gap:20px}.product-card form{flex-direction:column;align-items:stretch}.product-card form input[type=number]{width:100%;margin-bottom:12px}.product-card form button{width:100%}}@media (max-width:480px){.main-layout{gap:20px}.sidebar-block li a{padding:14px 20px}.button,button,input[type=button],input[type=submit]{padding:12px 24px;font-size:1em}.button-sm{padding:8px 16px;font-size:.85em}#site-logo{height:clamp(60px,8vh,94px)}.header-search input[type=text],.header-search button{padding:12px 18px;font-size:.9em}.header-icon-link{font-size:1.4em;padding:6px}.header-tagline{font-size:1em}.secondary-nav a{padding:14px 18px;font-size:.8em}.auth-container{padding:25px}.ai-chat-modal{bottom:0;right:0;width:100%;height:100%;max-height:none;border-radius:0;border:none;box-shadow:none}.ai-chat-fab{bottom:20px;right:20px;width:60px;height:60px;font-size:2em}.chat-body{padding:15px}.chat-message{padding:10px 15px}}@media screen and (max-width:768px){.table-cart{border:none;box-shadow:none;border-radius:0}.table-cart thead{display:none}.table-cart,.table-cart tbody,.table-cart tr,.table-cart td{display:block;width:100%}.table-cart tr{margin-bottom:20px;border:1px solid var(--color-bordes);border-radius:var(--border-radius-lg);box-shadow:var(--sombra-media);overflow:hidden}.table-cart td{padding:12px 15px;display:flex;justify-content:space-between;align-items:center;text-align:right;border-bottom:1px solid var(--color-fondo)}.table-cart tr td:last-child{border-bottom:none}.table-cart td::before{content:attr(data-label);font-weight:600;color:var(--color-texto);text-align:left;margin-right:15px}.table-cart td[data-label=Producto]{padding:15px}.table-cart td[data-label="&nbsp;"]{font-weight:700;background-color:var(--color-fondo);font-size:1.1em;padding-top:15px;padding-bottom:15px}.table-cart td[data-label="&nbsp;"]::before{content:""}.table-cart .cart-quantity-form{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;width:60%}.table-cart .cart-quantity-form input[type=number]{max-width:60px;padding:8px}.table-cart .cart-quantity-form small{width:100%;text-align:right;font-size:.8em}.cart-actions{flex-direction:column;align-items:stretch}.cart-actions form{width:100%}.cart-actions form button{width:100%}}.category-sidebar .category-item>ul{display:none;padding-left:20px;border-left:1px dashed var(--color-bordes);margin-left:10px}.category-sidebar .category-item.open>ul{display:block}.category-sidebar .category-toggle{display:inline-block;width:20px;height:20px;text-align:center;cursor:pointer;margin-right:5px;vertical-align:middle}.category-sidebar .category-toggle::before{content:'▶';font-size:.7em;color:var(--color-texto-claro);transition:transform .2s ease-in-out;display:inline-block}.category-sidebar .category-item.open>.category-item-wrapper>.category-toggle::before{transform:rotate(90deg)}.category-sidebar .category-spacer{display:inline-block;width:20px;margin-right:5px}.category-sidebar .category-item-wrapper{display:flex;align-items:center;padding:8px 15px;border-radius:var(--border-radius-sm)}.category-sidebar .category-item-wrapper:hover{background-color:var(--color-primario-muy-claro)}.category-sidebar .category-item-wrapper.active{background-color:var(--color-primario-muy-claro);font-weight:700}.category-sidebar .category-item-wrapper.active>a{color:var(--color-primario)}
.hero-slider{position:relative;width:100%;height:225px;overflow:hidden;margin-bottom:30px;border-radius:var(--border-radius-xl);box-shadow:var(--sombra-elevada)}.hero-slider .slide{position:absolute;width:100%;height:100%;background-size:cover;background-position:center;opacity:0;transition:opacity 1s ease-in-out;display:flex;align-items:center;justify-content:center;text-align:center}.hero-slider .slide.active{opacity:1;z-index:1}.hero-slider .slide::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.4)}.hero-slider .slide-content{position:relative;z-index:2;color:#fff;max-width:700px;padding:20px;animation:text-focus-in 1.2s cubic-bezier(.55,.085,.68,.53) both}.hero-slider .slide-content h2{font-size:clamp(2em,5vw,3em);color:#fff;text-shadow:2px 2px 4px rgba(0,0,0,.5);margin-bottom:.4em}.hero-slider .slide-content p{font-size:clamp(1em,2vw,1.2em);margin-bottom:1.5em;text-shadow:1px 1px 3px rgba(0,0,0,.5)}.hero-slider .slide-content .button{box-shadow:var(--sombra-media)}@keyframes text-focus-in{0%{filter:blur(12px);opacity:0}100%{filter:blur(0);opacity:1}}
