/* Duo · identidad compartida del catálogo y el acceso del equipo */
:root{--navy:#0b3456;--lime:#9ee65c;--ink:#edfaff;--muted:#b0cedd;--line:rgba(131,219,246,.27);--shadow:0 24px 64px #000d2466;color-scheme:dark}
html{background:#041e30;scroll-padding-top:135px}
body{color:var(--ink);background:#041e30;isolation:isolate}
body::before{content:"";position:fixed;inset:-18%;z-index:-2;pointer-events:none;background:radial-gradient(ellipse at 20% 25%,#087aa173,transparent 48%),radial-gradient(ellipse at 80% 65%,#0b956d61,transparent 45%),radial-gradient(ellipse at 45% 95%,#0a496f99,transparent 50%);animation:duo-home-flow 18s ease-in-out infinite alternate}
body::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(#9cd8e307 1px,transparent 1px),linear-gradient(90deg,#9cd8e307 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(black,transparent 90%)}
.topbar{background:#041e3070;color:#b8d8e8;border-bottom:1px solid #8adcf01a}
.site-header{background:#06273ac9;backdrop-filter:blur(26px) saturate(140%);-webkit-backdrop-filter:blur(26px) saturate(140%);border-bottom:1px solid #72d4ef40;box-shadow:0 10px 30px #00142666}
.header-inner{height:112px}.brand img{width:240px;height:108px;filter:brightness(1.22) saturate(1.12) drop-shadow(0 1px 1px #dcffff9c) drop-shadow(4px 7px 3px #001628a1) drop-shadow(0 0 22px #2bd7d642)}
.main-nav{gap:22px;color:#d2eff9}.main-nav>a:hover{color:#a7f6e1}
.team-access{background:linear-gradient(145deg,#1b799f80,#08314dba)!important;color:#e8fbff!important;border:1px solid #7cdaef70!important;box-shadow:inset 0 1px #c8f6ff40,0 5px 0 #001d3570,0 12px 26px #00142555}
.wa-btn,.floating-wa{background:linear-gradient(135deg,#11986e,#087555);border:1px solid #8dffbc66;box-shadow:inset 0 1px #c2ffda45,0 5px 0 #00392c80,0 12px 28px #001d2566;color:white}
.hero{margin-top:28px;min-height:445px;border-radius:26px;background:linear-gradient(120deg,#125e7fa6,#07514375);border:1px solid #7cdcf258;box-shadow:inset 0 1px #c3f8ff50,0 8px 0 #00172d55,0 30px 65px #000f2575;overflow:hidden}
.hero-copy{background:linear-gradient(125deg,#125c7b7a,#07314b80);padding:46px 38px 34px;border-right:1px solid #a0f7e938;backdrop-filter:blur(24px)}
.eyebrow{color:#a0efb7;font-size:11px;letter-spacing:.17em}.hero h1{font-size:clamp(36px,3.8vw,54px);line-height:1.05;letter-spacing:-.045em;text-shadow:0 4px 20px #001a2b55}.hero h1 span{color:#9ff2c0}.hero-sub{color:#c9e5f1;line-height:1.8;font-size:15px}
.primary-btn{background:linear-gradient(130deg,#46dfbe,#9de85e);border:1px solid #ceffd778;border-radius:12px;color:#06312d;box-shadow:inset 0 1px #e6ffef9c,0 5px 0 #003d385e,0 14px 24px #001b3255;transition:transform .2s,box-shadow .2s}.primary-btn:hover{background:linear-gradient(130deg,#6eeaca,#b7f37d);transform:translateY(-2px)}
.secondary-btn{color:#dcfff3;font-size:14px}.hero-foot{color:#a5cbd9;letter-spacing:.12em}.hero-foot span{background:#54e5d0}
.hero-photo{min-height:445px;background:#b6cbd0}.hero-photo img{object-fit:cover;filter:saturate(.88) contrast(1.02)}.hero-photo::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 -75px 90px -55px #063344; background:linear-gradient(120deg,#1c90b314,transparent 50%,#0a9d7620)}
.hero-photo .hero-tag{color:#d9f8ff;background:#07334bce;border:1px solid #c5f7ff66;backdrop-filter:blur(16px);border-radius:10px;max-width:calc(100% - 40px);font-size:9px;line-height:1.6}.hero-photo small{color:#123b46;background:#f0ffffb0;padding:3px 7px;border-radius:5px}
.quick-cats{border:0;gap:10px;margin-top:22px;grid-template-columns:repeat(6,minmax(0,1fr))}.quick-cats button{background:linear-gradient(145deg,#18587788,#062b44bd);border:1px solid #72d3ed4d!important;border-radius:14px;box-shadow:inset 0 1px #c5f7ff30,0 5px 0 #00172955,0 12px 25px #00112740;color:#e7f9ff;transition:transform .2s}.quick-cats button:hover{transform:translateY(-3px);border-color:#7cebc4!important}.quick-cats button span{background:#1ba6b02b;color:#91f8df;border:1px solid #74d9dd2b}.quick-cats button b{color:#6fe4d8}
.catalog-section{background:linear-gradient(180deg,#06283b70,#052638b0);border-top:1px solid #67bdcb21;border-bottom:1px solid #67bdcb21;margin-top:48px}.eyebrow.dark{color:#7edbd8}.catalog-heading h2{color:#effcff;letter-spacing:-.03em}.catalog-counter{color:#a2f3c4}.catalog-counter span{color:#a9cad9}
.search-wrap,.catalog-toolbar select{background:#082e45a6;border:1px solid #7bd4e455;color:#e5f8ff;border-radius:13px;box-shadow:inset 0 1px #c3f8ff20;backdrop-filter:blur(20px)}.search-wrap input{color:#effaff}.search-wrap input::placeholder{color:#a6c4d3}.search-wrap:focus-within{outline:2px solid #6be0ce;outline-offset:3px}.catalog-toolbar select option{background:#082d42;color:#effaff}
.filters button{background:#0d3547b3;color:#c3dfeb;border-color:#74d3dc38}.filters button:hover{border-color:#64dfc4}.filters button.active{background:linear-gradient(120deg,#087e9c,#079579);color:white;border-color:#8bf4df80;box-shadow:inset 0 1px #c8fffa35,0 6px 18px #001e344d}
.catalog-note{background:#17616a38;border:1px solid #6dd3be38;border-left:3px solid #67e1b3;color:#b8d7e2;border-radius:10px}.results-line,.catalog-footnote{color:#a5c6d5}
.product-card{background:linear-gradient(145deg,#17527085,#062b43bf);border:1px solid #7acfe346;border-radius:18px;box-shadow:inset 0 1px #b9f0ff25,0 6px 0 #00172c40,0 20px 36px #00142640;backdrop-filter:blur(18px)}.product-card:hover{border-color:#69dfbf90;box-shadow:inset 0 1px #b9f0ff40,0 25px 45px #000d285c}.product-visual.photo{background:#dde9eb}.product-category{color:#84e5d0}.product-code{color:#b3cbd8}.product-price{color:#effcff}.product-price small{color:#a5c4d2}.card-actions{display:block}.card-actions a{color:#ddfff5;background:#11706a70;border:1px solid #6ce7cd55;border-radius:10px}.card-actions a:hover{background:#15987d88}
.pagination{flex-wrap:wrap}.pagination button{background:#0d3e58b0;color:#e1f6ff;border:1px solid #7dd2ea50;border-radius:11px}.pagination button:disabled{opacity:.45}.pagination span{color:#b8d5e3}
.cta-section{background:linear-gradient(120deg,#0b527ba3,#07694b9c);border-top:1px solid #6ee4c04d}.cta-inner p{color:#c1e0e8}.cta-inner h2{letter-spacing:-.03em}
footer{background:#041e30;color:#b9d8e6;border-top:1px solid #8cd6e329}.footer-grid img{background:transparent;width:200px;height:94px;object-fit:contain;filter:brightness(1.17) drop-shadow(0 3px 6px #00152580)}.footer-team{color:#8aead3}
button:focus-visible,a:focus-visible{outline:2px solid #9af2cb;outline-offset:4px}
/* Un único acceso de Google en la misma identidad visual. */
.duo-access .shell{padding:36px 22px}.duo-access .card{background:linear-gradient(120deg,#12587888,#063947bd);border:1px solid #94e0ef63;border-radius:28px;box-shadow:inset 0 1px #d7ffff4d,0 10px 0 #00142a55,0 35px 90px #000c2780;backdrop-filter:blur(30px)}
.duo-access .brand{background:linear-gradient(140deg,#0b588180,#092c4480);padding:48px 42px;border-right:1px solid #81d7e633}.duo-access .brand img{width:280px;height:145px;max-width:100%;background:transparent;padding:0;border-radius:0;object-fit:contain}.duo-access .brand:after{background:#47d8ad12}.duo-access .brand .eyebrow{color:#8aefd3;margin-top:28px}.duo-access .brand h1{font-size:clamp(34px,3.8vw,46px);letter-spacing:-.035em;line-height:1.08}.duo-access .brand p{color:#bbdbe8}.duo-access .login{padding:48px 42px}.duo-access .login h2{color:#f0fcff;font-size:29px}.duo-access .login p{color:#b9d8e5}.duo-access .google{margin-top:22px;border-radius:13px;background:linear-gradient(120deg,#1596bb,#117bad);color:#fff;border:1px solid #8ceafa88;box-shadow:inset 0 1px #deffff55,0 6px 0 #003b6066,0 16px 32px #00172e66;min-height:58px;font-size:15px}.duo-access .google strong{background:#fff;color:#4285f4;border:0}.duo-access .google:hover{transform:translateY(-1px);box-shadow:inset 0 1px #fff8,0 6px 0 #003b6066,0 20px 35px #00172e80}.duo-access .google:disabled{opacity:.65;cursor:wait}.duo-access .back{color:#89e4d3}.duo-access .lock{color:#94bdcd!important}.duo-access .error{background:#602c4366;border-color:#f3a6b35c;color:#ffe0e5!important}
@keyframes duo-home-flow{from{transform:translate(-3%,-2%) scale(1)}to{transform:translate(4%,3%) scale(1.08)}}
@media(max-width:980px){.main-nav .team-access{display:inline-flex!important}.hero{grid-template-columns:1fr}.hero-copy{border-right:0;border-bottom:1px solid #b9f2e837}.hero-photo{min-height:300px;max-height:380px}.quick-cats{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-photo img{min-height:300px}}
@media(max-width:760px){html{scroll-padding-top:100px}.header-inner{height:90px;gap:10px}.brand img{width:192px;height:86px}.main-nav{gap:6px}.main-nav .team-access{font-size:12px;padding:11px!important;white-space:nowrap}.hero{margin-top:16px;border-radius:20px}.hero-copy{padding:32px 24px}.hero h1{font-size:40px}.hero-photo{min-height:280px}.quick-cats{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-cats button{font-size:12px;min-width:0}.hero-tag{font-size:8px}.catalog-heading h2{font-size:29px}.duo-access .brand{border-right:0;border-bottom:1px solid #81d7e633;padding:28px}.duo-access .brand img{width:220px;height:110px}.duo-access .brand .eyebrow{margin-top:16px}.duo-access .login{padding:30px 28px}.duo-access .shell{padding:20px 14px}}
@media(prefers-reduced-motion:reduce){body::before{animation:none}.primary-btn,.quick-cats button{transition:none}}

/* Catálogo: fotografía asignada a cada código, sin recorte del producto. */
.product-visual.photo{position:relative;background:#fff;height:240px;padding:32px 18px 30px;box-sizing:border-box;overflow:hidden}
.product-visual.photo img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;mix-blend-mode:normal}
.product-visual.photo .badge{top:10px;left:12px;background:#0a4157ed;color:#d9fff0;font-size:9px;max-width:calc(100% - 24px)}
.product-photo-note{position:absolute;bottom:8px;left:8px;right:8px;text-align:center;font-size:10px;line-height:1.3;color:#526773}
.product-photo-unavailable{display:flex;height:100%;align-items:center;justify-content:center;color:#526773;font-size:14px}
@media(max-width:600px){.product-visual.photo{height:210px;padding:30px 12px 28px}.product-photo-note{font-size:9px}}
