@font-face{font-family:DIN-Regular;src:url(/fonts/din/DIN-Regular.woff2) format("woff2"),url(/fonts/din/DIN-Regular.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:DIN-Bold;src:url(/fonts/din/DIN-Bold.woff2) format("woff2"),url(/fonts/din/DIN-Bold.woff) format("woff");font-weight:700;font-style:normal;font-display:swap}*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color: #7C9692;--white: #FFFFFF;--text-dark: #333333;--text-light: #666666;--border-color: #e0e0e0;--shadow: 0 2px 8px rgba(0, 0, 0, .1);--shadow-hover: 0 4px 16px rgba(124, 150, 146, .2);--font-primary: "DIN-Regular", -apple-system, BlinkMacSystemFont, sans-serif;--font-bold: "DIN-Bold", "DIN-Regular", sans-serif}body{font-family:var(--font-primary);background-color:var(--white);color:var(--text-dark);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-family:var(--font-bold)}img{max-width:100%;height:auto;display:block}a{color:var(--primary-color);text-decoration:none;transition:opacity .3s ease}a:hover{opacity:.8}button{font-family:var(--font-primary);cursor:pointer;border:none;outline:none;transition:all .3s ease}.container{max-width:1200px;margin:0 auto;padding:0 20px}@media(max-width:768px){.container{padding:0 15px}}.header{background-color:var(--white);box-shadow:var(--shadow);position:sticky;top:0;z-index:100;border-bottom:3px solid var(--primary-color)}.header-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:1.2rem 0;gap:1rem;position:relative}.logo{text-decoration:none;transition:transform .3s ease;flex-shrink:0}.logo:hover{transform:translateY(-2px)}.logo h1{font-size:1.3rem;color:var(--primary-color);font-weight:700;margin-bottom:.3rem;line-height:1}.logo .subtitle{font-size:.7rem;color:var(--text-light);letter-spacing:1.2px;text-transform:uppercase;font-weight:500}.hamburger{display:flex;flex-direction:column;background:none;border:none;cursor:pointer;padding:.5rem;z-index:101;gap:5px}.hamburger span{width:24px;height:3px;background-color:var(--primary-color);border-radius:3px;transition:all .3s ease;display:block}.hamburger.active span:nth-child(1){transform:rotate(45deg) translate(8px,8px)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(8px,-8px)}.nav{position:absolute;top:100%;left:0;right:0;display:flex;flex-direction:column;background-color:var(--white);gap:0;padding:0;max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease;box-shadow:0 4px 6px #0000001a;border-top:2px solid var(--primary-color)}.nav.active{max-height:500px;padding:1rem 0}.nav-link{font-size:.95rem;color:var(--text-light);text-transform:uppercase;padding:.9rem 1.5rem;transition:all .3s ease;width:100%;text-align:left;border-bottom:1px solid var(--border-color)}.nav-link:after{content:"";position:absolute;bottom:0;left:50%;width:0;height:2px;background-color:var(--primary-color);transition:all .3s ease;transform:translate(-50%);display:none}.nav-link:hover{background-color:#7c96920d}.nav-link:hover:after{width:80%}.nav-link-panel{display:flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,var(--primary-color) 0%,#6a847f 100%);color:var(--white)!important;padding:.7rem 1.3rem;border-radius:8px;font-weight:600;transition:all .3s ease}.nav-link-panel:hover{transform:translateY(-2px);box-shadow:0 4px 12px #7c969266;opacity:1}.nav-link-panel:after{display:none}.panel-icon{width:20px;height:20px;flex-shrink:0}.user-menu{display:flex;flex-direction:column;align-items:center;gap:.8rem;width:100%;padding:.8rem 1.5rem;border-bottom:1px solid var(--border-color);flex-shrink:0}.user-name{color:var(--text-dark);font-weight:600;font-size:1rem;text-align:center;padding:.5rem 0}.btn-login,.btn-logout{padding:.6rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;transition:all .3s ease;white-space:nowrap;width:100%;text-align:center}.btn-login{background-color:var(--primary-color);color:var(--white);text-decoration:none;border:none}.btn-login:hover{background-color:#6a847f;transform:translateY(-2px);box-shadow:0 4px 10px #7c96924d}.btn-logout{background-color:transparent;color:var(--text-dark);border:2px solid var(--border-color);cursor:pointer}.btn-logout:hover{border-color:var(--primary-color);color:var(--primary-color);background-color:#7c96920d}@media(min-width:30em){.logo h1{font-size:1.6rem}.logo .subtitle{font-size:.85rem}.hamburger span{width:28px}.nav-link{font-size:1rem;padding:1rem 2rem}.user-menu{padding:1rem 2rem}}@media(min-width:48em){.header-content{padding:1.3rem 0}.logo h1{font-size:1.7rem}.logo .subtitle{font-size:.95rem}.hamburger{display:none}.nav{position:static;flex-direction:row;align-items:center;flex-wrap:wrap;background-color:transparent;gap:1.5rem;padding:0;max-height:none;overflow:visible;box-shadow:none;border-top:none}.nav.active{max-height:none;padding:0}.nav-link{font-size:1rem;padding:.5rem 1rem;width:auto;border-bottom:none}.nav-link:after{display:block}.nav-link:hover{background-color:transparent}.user-menu{flex-direction:row;gap:1.2rem;width:auto;padding:0;border-bottom:none}.user-name{text-align:left;padding:0}.btn-login,.btn-logout{width:auto;text-align:left}}@media(min-width:64em){.header-content{padding:1.5rem 0}.logo h1{font-size:2rem}.nav{gap:2rem}.nav-link{font-size:1.05rem;padding:.6rem 1.2rem}}.footer{--footer-gap: clamp(1rem, 5vw, 5rem);--footer-pad-v: clamp(1.5rem, 3.5vw, 3.5rem);--footer-pad-h: clamp(.75rem, 2vw, 2rem);--footer-title-size: clamp(.875rem, 1.1vw, 1rem);--footer-text-size: clamp(.75rem, .9vw, .85rem);--footer-social-size: clamp(2.25rem, 3vw, 3rem);--footer-icon-size: clamp(1.1rem, 1.4vw, 1.4rem);--footer-muted: #f8f9fa;--footer-transition: .3s ease;background-color:var(--primary-color);color:var(--white);width:100%;margin-top:auto}.footer-container{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--footer-gap);max-width:1600px;margin:0 auto;padding:var(--footer-pad-v) var(--footer-pad-h)}.footer-section{display:flex;flex-direction:column;align-items:start;text-align:start;flex:1 1 100%;min-width:0}.footer-title{color:var(--footer-muted);font-size:var(--footer-title-size);font-weight:700;margin-bottom:.75rem;white-space:nowrap}.footer-link,.footer-nav-link{color:var(--footer-muted);text-decoration:none;transition:color var(--footer-transition)}.footer-link:hover,.footer-nav-link:hover{color:var(--white)}.footer-link:hover{text-decoration:underline}.footer-info{display:flex;flex-direction:column;align-items:start;gap:1rem;width:100%}.footer-item{display:flex;align-items:flex-start;justify-content:start;gap:.75rem;font-size:var(--footer-text-size);line-height:1.6}.footer-icon{flex-shrink:0;width:1.25rem;height:1.25rem;margin-top:.2rem}.footer-social{display:flex;flex-wrap:wrap;justify-content:start;align-items:start;gap:1rem}.social-link{display:flex;justify-content:center;align-items:center;width:var(--footer-social-size);height:var(--footer-social-size);background-color:#fff3;border-radius:8px;transition:background-color var(--footer-transition),transform var(--footer-transition),box-shadow var(--footer-transition)}.social-icon{width:var(--footer-icon-size);height:var(--footer-icon-size)}.footer-nav{display:flex;flex-direction:column;justify-content:start;align-items:start}.footer-nav-link{font-size:var(--footer-text-size);padding:.25rem 0}.footer-bottom{text-align:center;border-top:1px solid rgba(255,255,255,.2);padding:1.5rem var(--footer-pad-h)}.footer-bottom p{color:var(--footer-muted);margin:0;font-size:clamp(.75rem,.9vw,.9rem);letter-spacing:.3px}@media(hover:hover){.social-link:hover{background-color:#ffffff4d;transform:translateY(-3px);box-shadow:0 4px 10px #0003}}@media(min-width:481px){.footer-section{flex:1 1 calc(50% - var(--footer-gap));max-width:calc(50% - var(--footer-gap) / 2)}.footer-title{margin-bottom:1.25rem}.footer-social{gap:1.25rem}}@media(min-width:1281px){.footer-section{flex:1 1 200px;max-width:none;align-items:start;text-align:start}.footer-bottom{padding:2rem var(--footer-pad-h)}}.carousel{position:relative;width:100%;height:250px;overflow:hidden;margin-bottom:2rem}.carousel-inner{position:relative;width:100%;height:100%}.carousel-item{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;transition:opacity .6s ease-in-out}.carousel-item.active{opacity:1}.carousel-item img{width:100%;height:100%;object-fit:cover}.carousel-overlay{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--white)}.carousel-overlay .container{width:100%;max-width:1200px;padding:0 1rem}.carousel-overlay h2{text-align:center;font-size:1.5rem;margin-bottom:.8rem;text-shadow:2px 2px 8px rgba(0,0,0,.4);font-weight:700;line-height:1.2}.carousel-overlay p{text-align:center;font-size:.95rem;text-shadow:1px 1px 4px rgba(0,0,0,.4);line-height:1.6}.carousel-control{position:absolute;top:50%;transform:translateY(-50%);background-color:#7c9692bf;color:var(--white);font-size:1.5rem;padding:.4rem .8rem;border:none;cursor:pointer;transition:all .3s ease;z-index:10;line-height:1}.carousel-control:hover{background-color:#7c9692f2;transform:translateY(-50%) scale(1.1)}.carousel-control.prev{left:.5rem;border-radius:0 4px 4px 0}.carousel-control.next{right:.5rem;border-radius:4px 0 0 4px}.carousel-indicators{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);display:flex;gap:.6rem;z-index:10}.indicator{width:8px;height:8px;border-radius:50%;background-color:#fff9;border:2px solid var(--white);cursor:pointer;transition:all .3s ease}.indicator:hover{background-color:#fffc}.indicator.active{background-color:var(--white);transform:scale(1.3)}@media(min-width:30em){.carousel{height:300px}.carousel-overlay h2{font-size:2rem}.carousel-overlay p{font-size:1.1rem}.carousel-control{font-size:2rem;padding:.5rem 1rem}.indicator{width:10px;height:10px}}@media(min-width:48em){.carousel{height:400px;margin-bottom:3rem}.carousel-overlay .container{padding:0 2rem}.carousel-overlay h2{font-size:2.8rem;margin-bottom:1rem}.carousel-overlay p{font-size:1.3rem}.carousel-control{font-size:2.5rem;padding:.8rem 1.2rem}.carousel-control.prev{left:1rem}.carousel-control.next{right:1rem}.carousel-indicators{bottom:2rem;gap:.8rem}.indicator{width:12px;height:12px}}@media(min-width:64em){.carousel{height:500px}.carousel-overlay h2{font-size:3.5rem}.carousel-overlay p{font-size:1.5rem}.carousel-control{font-size:3rem;padding:1rem 1.5rem}}.home{flex:1}.hero-section{padding:clamp(2.5rem,5vw,5rem) 0;text-align:center;background:linear-gradient(135deg,#f5f7fa,#e8f0ef)}.hero-section h1{font-size:clamp(1.8rem,4vw,3.5rem);color:var(--primary-color);margin-bottom:1.2rem;font-weight:700;line-height:1.2}.hero-subtitle{font-size:clamp(1rem,1.5vw,1.4rem);color:var(--text-light);margin:0 auto 2.5rem;line-height:1.6;max-width:700px;padding:0 1rem}.btn-primary{display:inline-block;padding:clamp(.8rem,1vw,1.1rem) clamp(2rem,3vw,3.5rem);background-color:var(--primary-color);color:var(--white);font-size:clamp(1rem,1.2vw,1.15rem);font-weight:600;border-radius:8px;text-decoration:none;transition:all .3s ease;box-shadow:0 5px 15px #7c969259}.btn-primary:hover{background-color:#6a847f;transform:translateY(-3px);box-shadow:0 7px 20px #7c969273}.features-section{padding:clamp(3rem,5vw,5rem) 0}.features-grid{display:flex;flex-direction:column;gap:2rem;margin-top:2.5rem;justify-content:center}.feature-card{text-align:center;padding:clamp(1.5rem,2.5vw,2.5rem);background:var(--white);border-radius:12px;box-shadow:var(--shadow);transition:all .3s ease;min-width:100%;max-width:100%}.feature-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-6px)}.feature-icon{display:inline-grid;justify-items:center;font-size:clamp(2.5rem,3.5vw,3.5rem);margin-bottom:.3rem;color:var(--primary-color)}.feature-img{display:initial}.feature-card h3{font-size:clamp(1.25rem,1.6vw,1.6rem);color:var(--primary-color);margin-bottom:.8rem;font-weight:700}.feature-card p{color:var(--text-light);line-height:1.7;font-size:clamp(.95rem,1vw,1rem)}@media(min-width:48em){.hero-section h1{margin-bottom:1.5rem}.features-grid{flex-direction:row;flex-wrap:wrap;gap:2.5rem}.feature-card{flex:1;min-width:280px;max-width:350px}.feature-icon{display:block}}.whatsapp-floating-btn{position:fixed;bottom:80px;right:16px;z-index:1000;display:flex;align-items:center;padding:12px;background:#6aae35;color:#fff;border:none;border-radius:50px;cursor:pointer;box-shadow:0 4px 12px #6aae3566;transition:all .3s ease;overflow:hidden;animation:whatsappPulse 2s ease-in-out 3}.whatsapp-floating-btn:hover{gap:8px;padding:12px 16px 12px 12px;animation:none}.whatsapp-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.whatsapp-icon svg{width:24px;height:24px}.whatsapp-text{font-size:.85rem;font-weight:800;white-space:nowrap;opacity:0;width:0;transition:opacity .2s ease,width .3s ease}.whatsapp-floating-btn:hover .whatsapp-text{opacity:1;width:auto}@keyframes whatsappPulse{0%{box-shadow:0 4px 12px #6aae3566}50%{box-shadow:0 4px 20px #6aae3599,0 0 0 8px #6aae351a}to{box-shadow:0 4px 12px #6aae3566}}@media(min-width:48em){.whatsapp-floating-btn{bottom:90px;right:24px;padding:24px}.whatsapp-floating-btn:hover{max-width:300px;padding:24px 30px 24px 24px}.whatsapp-icon svg{width:32px;height:32px}.whatsapp-text{font-size:1rem}}.product-card{background-color:var(--white);overflow:hidden;box-shadow:var(--shadow);transition:all .3s ease;display:flex;flex-direction:column;height:100%;cursor:pointer;margin-bottom:1rem}.product-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-5px)}.product-image-container{position:relative;width:100%;height:200px;overflow:hidden;background-color:#f8f9fa}.product-image{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.product-card:hover .product-image{transform:scale(1.08)}.img-nav{font-size:1.4rem;padding:.5rem .7rem}.img-nav:hover{background-color:#7c9692;transform:translateY(-50%) scale(1.1)}.img-nav.prev{left:.6rem}.img-nav.next{right:.6rem}.product-info{padding:1rem;display:flex;flex-direction:column;flex:1}.product-title{font-size:1.1rem;color:var(--text-dark);margin-bottom:.7rem;font-weight:700;line-height:1.3}.product-category{display:inline-block;background-color:var(--primary-color);color:var(--white);font-size:.8rem;padding:.35rem .8rem;border-radius:2px;margin-bottom:1rem;align-self:flex-start;font-weight:500}.product-description{color:var(--text-light);font-size:.92rem;line-height:1.7;margin-bottom:1.5rem;flex:1}.product-footer{display:flex;flex-direction:column;align-items:stretch;gap:.8rem;padding-top:1.2rem;border-top:1px solid var(--border-color);margin-top:auto}.product-price{font-size:1.4rem;color:var(--primary-color);font-weight:700;text-align:center}.btn-contact{background-color:var(--primary-color);color:var(--white);padding:.8rem 1.5rem;border-radius:3px;font-size:1rem;font-weight:600;transition:all .3s ease;border:none;white-space:nowrap;width:100%;text-align:center}.btn-contact:hover{background-color:#6a847f;transform:translateY(-2px);box-shadow:0 5px 12px #7c969259}@media(min-width:30em){.product-image-container{height:220px}.product-info{padding:1.3rem}.product-title{font-size:1.15rem}.product-category{font-size:.85rem;padding:.4rem .9rem}.img-nav{font-size:revert;padding:revert}}@media(min-width:48em){.product-card{margin-bottom:0}.product-image-container{height:240px}.product-info{padding:1.6rem}.product-title{font-size:1.25rem}.product-description{font-size:.95rem}.product-footer{display:flex;flex-direction:row;justify-content:space-between;align-items:center}.product-price{font-size:1.6rem;text-align:left}.btn-contact{width:auto;text-align:left;padding:.75rem 1.6rem}}@media(min-width:64em){.product-image-container{height:280px}.product-title{font-size:1.35rem}.product-description{font-size:.98rem}}.catalogo{padding:clamp(2rem,5vw,2.5rem) 0;min-height:60vh}.section-title{text-align:center;font-size:clamp(1.6rem,4vw,2.5rem);color:var(--primary-color);margin-bottom:clamp(2rem,5vw,2.5rem);font-weight:700;letter-spacing:.5px}.filters-row{display:flex;flex-direction:column;gap:clamp(1.3rem,3vw,1.8rem);margin:0 auto;justify-content:center;width:100%;padding:0 clamp(1rem,3vw,1.5rem)}.filter-group{flex:1;min-width:clamp(12.5em,25vw,17.5em)}.filter-group label{display:block;font-size:clamp(.85rem,2.2vw,.95rem);font-weight:600;color:var(--text-dark);margin-bottom:.4rem}.filter-input,.filter-select{width:100%;padding:clamp(.7rem,2vw,.85rem) clamp(1rem,2.5vw,1.2rem);font-size:clamp(.9rem,2.5vw,1rem);border:2px solid var(--border-color);border-radius:var(--border-radius, 8px);background:var(--white);transition:var(--transition, all .3s ease)}.filter-input:focus,.filter-select:focus{border-color:var(--primary-color);box-shadow:var(--shadow-focus, 0 0 0 4px rgba(124, 150, 146, .15));outline:none}.filter-select{cursor:pointer;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='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right .75rem center;background-repeat:no-repeat;background-size:1.25em 1.25em;padding-right:2.5rem}.products-grid{display:grid;grid-template-columns:1fr;justify-content:center;gap:clamp(1.2rem,4vw,2rem);margin-top:clamp(1.5rem,4vw,2.5rem);padding:0 clamp(1rem,3vw,1.5rem)}.loading,.error,.no-products{text-align:center;padding:clamp(3rem,6vw,4.5rem) 0}.loading{display:flex;flex-direction:column;align-items:center;gap:clamp(1rem,3vw,1.5rem)}.spinner{width:clamp(2.5em,10vw,3.125em);height:clamp(2.5em,10vw,3.125em);border:4px solid var(--border-color);border-top:4px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}.loading p,.error p,.no-products p{font-size:clamp(1rem,2.5vw,1.2rem);font-weight:500;margin:0}.loading p{color:var(--text-light)}.error{color:#d32f2f}.error p{font-weight:600;margin-bottom:1rem}.retry-btn{padding:clamp(.8rem,2vw,1rem) clamp(1.8rem,4vw,2.2rem);font-size:clamp(.95rem,2.5vw,1.05rem);font-weight:600;background:var(--primary-color);color:var(--white);border:none;border-radius:var(--border-radius, 8px);cursor:pointer;transition:var(--transition, all .3s ease)}.retry-btn:hover{background:#6a847f;transform:translateY(-2px);box-shadow:0 4px 12px #7c96924d}@media(min-width:48em){.filters-row{flex-direction:row;padding:0}.products-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));padding:0;gap:clamp(1.5rem,4vw,2.5rem)}}:root{--border-radius: 8px;--shadow-focus: 0 0 0 4px rgba(124, 150, 146, .15);--transition: all .3s ease}.product-detail{padding:1.5rem 0;min-height:60vh}.btn-back,.btn-contact-detail{padding:.85rem 1.8rem;font-size:1.05rem;font-weight:600;border:none;border-radius:4px;cursor:pointer}.btn-back{background:var(--white);color:var(--primary-color)}.btn-contact-detail{background:var(--primary-color);color:var(--white);padding:1rem 2rem;font-size:1.15rem;margin-top:auto;transition:background .3s ease,transform .3s ease,box-shadow .3s ease}@media(hover:hover){.btn-contact-detail:hover{background:#6a847f;transform:translateY(-3px);box-shadow:var(--shadow-hover)}}.detail-content{display:flex;flex-direction:column;gap:2.5rem;margin-top:2rem}.detail-image-section,.detail-info-section{min-width:0;width:100%}.detail-image-container{position:relative;background:#f8f9fa;overflow:hidden;box-shadow:var(--shadow);transition:box-shadow .3s ease}@media(hover:hover){.detail-image-container:hover{box-shadow:var(--shadow-hover)}}.detail-image{width:100%;height:auto;object-fit:contain;cursor:pointer;transition:transform .4s ease}.detail-nav,.modal-nav{position:absolute;top:50%;transform:translateY(-50%);background:#7c9692d9;color:var(--white);font-size:1.8rem;padding:.5rem .9rem;border:none;cursor:pointer;transition:background .3s ease,transform .3s ease;z-index:10;line-height:1}@media(hover:hover){.detail-nav:hover,.modal-nav:hover{background:#7c9692;transform:translateY(-50%) scale(1.1)}}.detail-nav.prev,.modal-nav.prev{left:.8rem}.detail-nav.next,.modal-nav.next{right:.8rem}.detail-indicators{position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%);display:flex;gap:.7rem;z-index:10}.indicator-dot{width:10px;height:10px;border-radius:50%;background:#fff9;border:2px solid var(--white);cursor:pointer;transition:background .3s ease,transform .3s ease}@media(hover:hover){.indicator-dot:hover{background:#fffc}}.indicator-dot.active{background:var(--white);transform:scale(1.3)}.detail-info-section{display:flex;flex-direction:column;gap:1.5rem}.detail-title{font-size:1.5rem;color:var(--primary-color);font-weight:700;line-height:1.3;margin:0}.detail-category{background:var(--primary-color);color:var(--white);padding:.3rem .6rem;font-size:1rem;font-weight:600;border-radius:2px;align-self:flex-start}.detail-price{font-size:2rem;color:var(--text-dark);font-weight:700;letter-spacing:-.5px}.detail-description h2{font-size:1.5rem;margin-bottom:1rem;color:var(--primary-color);font-weight:700}.detail-description p{font-size:1.1rem;line-height:1.9;color:var(--text-light);white-space:pre-wrap}.image-modal{position:fixed;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1000}.content-modal{position:relative;max-width:90%;max-height:90%}.modal-image{max-width:100%;max-height:100vh;object-fit:contain}.modal-close{position:absolute;top:-3rem;right:-1rem;font-size:3rem;cursor:pointer;width:50px;height:50px;border:none;background:transparent;color:var(--white);display:flex;align-items:center;justify-content:center;transition:transform .3s ease;z-index:1001}@media(hover:hover){.modal-close:hover{transform:scale(1.1)}}.loading,.error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 0}.spinner{width:50px;height:50px;border:4px solid var(--border-color);border-top:4px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{to{transform:rotate(360deg)}}.error p{color:#d32f2f;font-size:1.2rem;margin-bottom:1rem}@media(min-width:30em){.detail-nav,.modal-nav{font-size:2rem;padding:.6rem 1.1rem}.modal-nav.prev{left:-4rem}.modal-nav.next{right:-4rem}.detail-title,.detail-description h2{font-size:1.8rem}.indicator-dot{width:14px;height:14px}}@media(min-width:48em){.product-detail{padding:5rem 0}.detail-content{flex-direction:row;flex-wrap:wrap;gap:4rem;margin-top:2.5rem}.detail-image-section,.detail-info-section{flex:1;min-width:350px}.detail-nav,.modal-nav{font-size:2.3rem;padding:.7rem 1.3rem}.modal-nav.prev{left:-5rem}.modal-nav.next{right:-5rem}.detail-info-section{gap:2rem}.detail-title{font-size:1.8rem}.detail-price{font-size:2rem}.modal-close{top:-3rem;right:-1rem;font-size:3rem}}.about{--pad: 2rem;--gap: 2rem;--title-size: 1.8rem;--title-mb: 2rem;--h2-size: 1.4rem;--p-size: .95rem;--section-gap: 1.5rem;padding:var(--pad) 0;min-height:60vh}.page-title{text-align:center;font-size:var(--title-size);color:var(--primary-color);margin-bottom:var(--title-mb);font-weight:700;letter-spacing:.5px}.about-content{display:flex;flex-direction:column;gap:var(--gap);align-items:flex-start}.about-image{width:100%;overflow:hidden;box-shadow:var(--shadow);transition:all .3s ease}.about-image:hover{transform:scale(1.02);box-shadow:var(--shadow-hover)}.about-image img{width:100%;height:auto;display:block}.about-info{width:100%;display:flex;flex-direction:column;gap:var(--section-gap)}.about-section h2{font-size:var(--h2-size);color:var(--primary-color);margin-bottom:1rem;font-weight:700}.about-section p{line-height:1.8;color:var(--text-dark);margin-bottom:1rem;text-align:left;font-size:var(--p-size)}.signature{margin-top:1.5rem;color:var(--primary-color);font-weight:600;font-size:.95rem;font-style:italic}@media(min-width:30em){.about{--pad: 2.5rem;--gap: 2.5rem;--title-size: 2.2rem;--title-mb: 2.5rem;--h2-size: 1.6rem;--p-size: 1rem;--section-gap: 2rem}.about-section p{margin-bottom:1.2rem}.signature{font-size:1rem;margin-top:2rem}}@media(min-width:48em){.about{--pad: 3rem;--gap: 2.8rem;--title-size: 2.4rem;--title-mb: 3rem;--h2-size: 1.6rem;--p-size: 1rem;--section-gap: 2.5rem}.about-content{flex-direction:row;flex-wrap:wrap}.about-image,.about-info{flex:1;width:auto;min-width:300px}.about-section p{text-align:justify;line-height:1.9}.signature{font-size:1.1rem}}@media(min-width:64em){.about{--pad: 5.5rem;--gap: 3.5rem;--title-size: 2.8rem;--title-mb: 3.5rem;--h2-size: 1.8rem;--p-size: 1.05rem}}.contacto{padding:2rem 0;min-height:60vh}.page-title{margin-bottom:1.5rem;color:var(--primary-color);font-size:1.8rem;font-weight:700;letter-spacing:.5px;text-align:center}.contacto-grid{display:flex;flex-direction:column;gap:2rem;align-items:stretch}.contact-card{flex:1;display:flex;flex-direction:column;padding:1.5rem;background:#f8f9fa;box-shadow:0 2px 8px #0000000f}.card-title{margin-bottom:1.5rem;color:var(--primary-color);font-size:1.2rem;font-weight:700}.contact-item{display:flex;gap:1.2rem;align-items:flex-start;margin-bottom:1.6rem}.contact-item:last-child{margin-bottom:0}.contact-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:38px;height:38px;background:var(--primary-color);border-radius:50%;color:#fff}.contact-item strong{display:block;margin-bottom:.35rem;color:var(--text-dark);font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.contact-item p{margin:0;color:var(--text-light);font-size:.97rem;line-height:1.6}.contact-item a{color:var(--primary-color);font-weight:500;text-decoration:none;transition:color .2s ease}.contact-item a:hover{text-decoration:underline}.social-grid{display:flex;flex-direction:column;flex:1;gap:.9rem}.social-card-item{display:flex;align-items:center;gap:1rem;padding:1rem 1.3rem;background:#fff;border:1.5px solid transparent;border-radius:10px;box-shadow:0 1px 4px #00000012;color:var(--text-dark);font-size:1rem;font-weight:600;text-decoration:none;transition:all .25s ease}.social-card-item:hover{border-color:var(--primary-color);color:var(--primary-color);box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}@media(min-width:30em){.contacto{padding:2.5rem 0}.page-title{font-size:2rem;margin-bottom:2rem}.contact-card{padding:2rem}.card-title{font-size:1.4rem;margin-bottom:2rem}}@media(min-width:48em){.page-title{font-size:2.2rem}.contacto-grid{flex-direction:row;gap:1.5rem}}@media(min-width:64em){.contacto{padding:3.5rem 0}.page-title{font-size:2.6rem;margin-bottom:3rem}.contacto-grid{gap:2rem}.contact-card{padding:2.5rem}}.auth-page{min-height:70vh;display:flex;align-items:center;justify-content:center;padding:2rem 0;background:linear-gradient(135deg,#f5f7fa,#e8f0ef)}.auth-container{width:100%;max-width:450px;padding:0 1rem}.auth-card{background:var(--white);padding:2rem 1.5rem;border-radius:12px;box-shadow:0 8px 24px #0000001f}.auth-card h2{text-align:center;color:var(--primary-color);font-size:1.7rem;margin-bottom:.5rem}.auth-subtitle{text-align:center;color:var(--text-light);margin-bottom:2rem;font-size:.9rem}.error-message{background-color:#fee;color:#c33;padding:1rem;border-radius:6px;margin-bottom:1.5rem;border-left:4px solid #c33}.auth-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:500;color:var(--text-dark)}.form-group input{padding:.9rem 1rem;border:2px solid var(--border-color);border-radius:6px;font-size:1rem;font-family:inherit;transition:all .3s ease}.form-group input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #7c96921a}.btn-submit{padding:1rem;background-color:var(--primary-color);color:var(--white);border:none;border-radius:6px;font-size:1.1rem;font-weight:500;cursor:pointer;transition:all .3s ease;margin-top:.5rem}.btn-submit:hover:not(:disabled){background-color:#6a847f;transform:translateY(-2px);box-shadow:0 4px 12px #7c96924d}.btn-submit:disabled{opacity:.6;cursor:not-allowed}.auth-footer{text-align:center;margin-top:2rem;color:var(--text-light)}.auth-footer a{color:var(--primary-color);font-weight:500}@media(min-width:48em){.auth-card{padding:3rem 2.5rem}.auth-card h2{font-size:2rem}}.crop-overlay{position:fixed;inset:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1100;padding:1rem}.crop-modal{background:#fff;border-radius:12px;width:100%;max-width:480px;display:flex;flex-direction:column;gap:0;overflow:hidden;box-shadow:0 20px 60px #0000004d}.crop-header{padding:1rem 1.25rem;border-bottom:1px solid #e5e7eb}.crop-header h4{margin:0;font-size:1rem;font-weight:600;color:#111827}.crop-container{position:relative;width:100%;height:320px;background:#000}.crop-controls{padding:.75rem 1.25rem;border-top:1px solid #e5e7eb}.crop-zoom-label{display:flex;align-items:center;gap:.75rem;font-size:.85rem;color:#6b7280;font-weight:500}.crop-zoom-slider{flex:1;accent-color:#2563eb;cursor:pointer}.crop-actions{display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.25rem;border-top:1px solid #e5e7eb}.panel-loading{display:flex;justify-content:center;align-items:center;min-height:70vh;font-size:1.2rem;color:var(--text-light)}.panel-page{min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#e8f0ef)}.panel-header{background-color:var(--white);box-shadow:var(--shadow);border-bottom:3px solid var(--primary-color);position:sticky;top:0;z-index:50}.panel-header-content{display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;padding:1rem 0;gap:1rem;flex-wrap:wrap}.panel-header-info{flex:1}.panel-title{font-size:1.2rem;color:var(--primary-color);margin-bottom:.3rem}.panel-welcome{color:var(--text-light);font-size:.9rem}.panel-welcome span{color:var(--text-dark);font-weight:600}.btn-logout-panel{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.7rem 1.5rem;background-color:transparent;color:var(--text-dark);border:2px solid var(--border-color);border-radius:8px;font-weight:500;transition:all .3s ease}.btn-logout-panel svg{width:20px;height:20px}.btn-logout-panel:hover{border-color:var(--primary-color);color:var(--primary-color);background-color:#7c96920d}.panel-content{padding:1rem .5rem}.panel-tabs{background-color:var(--white);border-radius:12px;box-shadow:var(--shadow);overflow:hidden}.tabs-nav{display:flex;flex-direction:column;border-bottom:2px solid var(--border-color);background-color:#fafafa}.tab-button{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.9rem;background-color:transparent;color:var(--text-light);font-size:.9rem;font-weight:600;border:none;border-bottom:1px solid var(--border-color);transition:all .3s ease;position:relative}.tab-button:hover{background-color:#7c96920d;color:var(--text-dark)}.tab-button.active{color:var(--primary-color);border-bottom:1px solid var(--primary-color);border-left:4px solid var(--primary-color);background-color:var(--white)}.tab-icon{width:18px;height:18px}.tab-count{font-size:.9rem;opacity:.8}.tab-content{padding:1rem}.tab-header{display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;margin-bottom:2rem;gap:1rem;flex-wrap:wrap}.tab-title{font-size:1.2rem;color:var(--text-dark)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.8rem 1.5rem;background-color:var(--primary-color);color:var(--white);border:none;border-radius:8px;font-weight:600;font-size:1rem;transition:all .3s ease}.btn-primary:hover{background-color:#6a847f;transform:translateY(-2px);box-shadow:0 4px 12px #7c96924d}.btn-icon{width:20px;height:20px}.btn-secondary{padding:.8rem 1.5rem;background-color:transparent;color:var(--text-dark);border:2px solid var(--border-color);border-radius:8px;font-weight:600;transition:all .3s ease}.btn-secondary:hover{border-color:var(--primary-color);color:var(--primary-color)}.table-container{overflow-x:auto;border-radius:8px;box-shadow:none}.data-table{width:100%;border-collapse:collapse;background-color:var(--white);border:none}.data-table thead{display:none}.data-table tbody{display:block}.data-table tbody tr{display:block;margin-bottom:1rem;border:2px solid var(--border-color);border-radius:8px;background-color:var(--white);box-shadow:0 2px 4px #0000000d;transition:background-color .2s ease}.data-table tbody tr:hover{box-shadow:0 4px 8px #0000001a}.data-table td{display:flex;justify-content:space-between;padding:.8rem 1rem;color:var(--text-dark);border-bottom:1px solid var(--border-color)}.data-table td:last-child{border-bottom:none}.data-table td:before{content:attr(data-label);font-weight:700;color:var(--text-light);font-size:.85rem;text-transform:uppercase;flex-shrink:0}.data-table td[data-label=Acciones]{flex-direction:column;align-items:stretch}.data-table td[data-label=Acciones]:before{margin-bottom:.5rem}.product-info{display:flex;flex-direction:column;gap:.3rem}.product-title{font-weight:600;color:var(--text-dark);font-size:.95rem}.product-desc{font-size:.85rem;color:var(--text-light);line-height:1.4}.product-price{font-weight:700;color:var(--primary-color);font-size:1.1rem}.category-badge{display:inline-block;padding:.4rem .8rem;background-color:#7c96921a;color:var(--primary-color);border-radius:6px;font-size:.9rem;font-weight:600}.category-id{font-weight:700;color:var(--primary-color);font-size:1rem}.category-name{font-weight:600;color:var(--text-dark);font-size:1rem}.action-buttons{display:flex;gap:.5rem;flex-direction:column;width:100%}.btn-edit,.btn-delete{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;width:100%;padding:.5rem 1rem;border:none;border-radius:6px;font-size:.9rem;font-weight:600;transition:all .3s ease}.btn-edit svg,.btn-delete svg{width:16px;height:16px}.btn-edit{background-color:#3b82f61a;color:#2563eb}.btn-edit:hover{background-color:#2563eb;color:#fff;transform:translateY(-2px);box-shadow:0 2px 8px #2563eb4d}.btn-delete{background-color:#ef44441a;color:#dc2626}.btn-delete:hover{background-color:#dc2626;color:#fff;transform:translateY(-2px);box-shadow:0 2px 8px #dc26264d}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background-color:var(--white);border-radius:12px;width:100%;max-width:600px;max-height:95vh;margin:.5rem;overflow-y:auto;box-shadow:0 20px 50px #0000004d;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:2px solid var(--border-color)}.modal-title{font-size:1.2rem;color:var(--primary-color)}.modal-close{background:none;border:none;color:var(--text-light);padding:.3rem;display:flex;transition:all .3s ease;border-radius:6px}.modal-close svg{width:24px;height:24px}.modal-close:hover{background-color:#0000000d;color:var(--text-dark)}.modal-form{padding:1rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-weight:600;color:var(--text-dark);margin-bottom:.5rem;font-size:.95rem}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.8rem;border:2px solid var(--border-color);border-radius:8px;font-size:.95rem;font-family:inherit;transition:all .3s ease;background-color:var(--white)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #7c96921a}.form-group textarea{resize:vertical;min-height:100px}.form-row{display:grid;grid-template-columns:1fr;gap:1rem}.modal-actions{display:flex;flex-direction:column-reverse;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:2px solid var(--border-color)}.modal-actions button{width:100%}.file-input-counter{display:inline-block;margin-left:.5rem;font-size:.8rem;font-weight:500;color:var(--text-muted);background:var(--border-color);padding:.1rem .45rem;border-radius:999px}.file-input-wrapper{display:flex;align-items:center;gap:.5rem}.file-input-hidden{display:none}.file-input-label{display:flex;align-items:center;gap:.6rem;flex:1;padding:.9rem 1rem;border:2px dashed var(--border-color);border-radius:8px;cursor:pointer;font-size:.95rem;color:var(--text-muted);background-color:var(--white);transition:all .3s ease}.file-input-label:hover{border-color:var(--primary-color);color:var(--primary-color);background-color:#7c96920d}.file-input-icon{width:1.2rem;height:1.2rem;flex-shrink:0}.file-preview-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.6rem;margin-top:.75rem}.file-preview-item{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden;border:2px solid var(--border-color);background:#f5f5f5}.file-preview-item img{width:100%;height:100%;object-fit:cover;display:block}.file-preview-remove{position:absolute;top:4px;right:4px;display:flex;align-items:center;justify-content:center;width:1.4rem;height:1.4rem;border:none;border-radius:50%;background:#ef4444e6;color:#fff;cursor:pointer;transition:background .2s}.file-preview-remove:hover{background:#dc2626}.file-preview-remove svg{width:.7rem;height:.7rem}.file-preview-badge{position:absolute;bottom:4px;left:4px;font-size:.6rem;font-weight:600;background:#0000008c;color:#fff;padding:2px 5px;border-radius:4px;pointer-events:none}.file-upload-hint{font-size:.8rem;color:var(--text-muted);margin-left:.5rem}@media(min-width:30em){.panel-title{font-size:1.3rem}.tab-icon{width:22px;height:22px}.tab-button{font-size:1rem;padding:1rem}.product-title{font-size:1rem}.product-desc{font-size:.9rem}.modal-header{padding:1rem 1.5rem}.modal-form{padding:1.5rem}.form-group input,.form-group textarea,.form-group select{padding:.9rem 1rem;font-size:1rem}}@media(min-width:48em){.panel-header-content{flex-direction:row;align-items:center;padding:1.5rem 0}.panel-title{font-size:1.5rem}.panel-welcome{font-size:1rem}.btn-logout-panel{width:auto;justify-content:flex-start}.panel-content{padding:2rem 1rem}.tabs-nav{flex-direction:row}.tab-button{padding:1.2rem 1.5rem;border-bottom:3px solid transparent}.tab-button.active{border-bottom:3px solid var(--primary-color);border-left:none}.tab-content{padding:1.5rem}.tab-header{flex-direction:row;align-items:center}.tab-title{font-size:1.5rem}.btn-primary{width:auto;justify-content:flex-start}.table-container{box-shadow:0 1px 3px #0000001a}.data-table{border:none}.data-table thead{display:table-header-group}.data-table thead{background-color:#f8f9fa;border-bottom:2px solid var(--border-color)}.data-table th{padding:.9rem .7rem;text-align:left;font-weight:700;color:var(--text-dark);text-transform:uppercase;font-size:.85rem;letter-spacing:.5px}.data-table tbody{display:table-row-group}.data-table tbody tr{display:table-row;margin-bottom:0;border:none;border-radius:0;box-shadow:none;border-bottom:1px solid var(--border-color);background-color:transparent}.data-table tbody tr:hover{background-color:#7c969208;box-shadow:none}.data-table td{display:table-cell;padding:.9rem .7rem;border-bottom:none;justify-content:initial}.data-table td:before{display:none}.data-table td[data-label=Acciones]{flex-direction:row;align-items:center}.data-table td[data-label=Acciones]:before{margin-bottom:0}.action-buttons{flex-direction:row;width:auto}.btn-edit,.btn-delete{width:auto}.modal-content{margin:0;max-height:90vh}.modal-header{padding:1.5rem 2rem}.modal-title{font-size:1.5rem}.modal-form{padding:2rem}.modal-actions{flex-direction:row}.modal-actions button{width:auto}.form-row{grid-template-columns:1fr 1fr}}@media(min-width:64em){.panel-title{font-size:1.8rem}.tab-content{padding:2rem}.data-table th{padding:1rem}.data-table td{padding:1.2rem 1rem}}.app{min-height:100vh;display:flex;flex-direction:column}
