/* Barato · sistema visual y vistas de producto. */
:root{--azul:#cc3d20;--azul-2:#b93319;--azul-3:#a82d15;--bg:#f6f5f2;--ink:#20221f;--gris:#666961;--line:#d9dbd4;--brand:var(--azul);--r:22px}
html{scroll-padding-top:110px}body{background:var(--bg)}
:focus-visible{outline:3px solid #cc3d20;outline-offset:4px}
.skip-link{position:fixed;left:20px;top:-80px;z-index:300;background:#fff;padding:14px;border-radius:10px}.skip-link:focus{top:12px}
.is-filtering .hero,.is-filtering #heroe,.is-filtering #benef,.is-filtering #banners{display:none}
.top{background:rgba(255,255,255,.94)}.top .container{height:76px;gap:24px}.brand b{font-size:29px;letter-spacing:-1.5px}.brand b span{font-size:13px;letter-spacing:-.4px}.brand img{display:none}
.brand:before{content:'b';width:38px;height:38px;border-radius:12px;background:var(--azul);color:white;text-align:center;line-height:35px;font-size:32px;font-weight:800}
.top .search{width:min(400px,40vw);height:44px;border:1px solid var(--line-2);background:#f5f5f3}.top .search:focus-within{width:min(400px,40vw)}
.top .buscar-movil{display:none}#btn-buscar-movil{display:none}
.ico{width:44px;height:44px}.hero{padding:40px 0 24px}.hero h1{font-size:clamp(36px,5.8vw,68px);max-width:930px;line-height:1.04;letter-spacing:-.055em}.hero h1 span{color:#777b72}.hero p{font-size:16px;max-width:710px;line-height:1.65}
.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--azul);margin-bottom:14px;display:block}
.experience-note{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--gris);margin-top:18px}.experience-note:before{content:'';width:7px;height:7px;border-radius:50%;background:#628261}
.cats .cat-fila{gap:8px}.cat{border:1px solid transparent;width:140px}.cat .img{height:58px}.cat .img .ph{font-size:32px}.cat .img img{max-height:58px}.cat.on{border-color:#e1c2b8;box-shadow:none;background:#fff8f4}.cat .lbl{font-size:13px}
.heroe{background:#e9ecdf;min-height:350px;border:1px solid #e0e3d6;box-shadow:none}.heroe .txt{padding:38px}.heroe .im{background:transparent;cursor:default;padding:0;position:relative;min-height:340px}.heroe h3{font-size:clamp(28px,4vw,44px)}.heroe .k{font-size:11px;text-transform:uppercase;letter-spacing:1.6px}.heroe .bt{margin-top:22px}
.benef{gap:0;background:transparent;border-block:1px solid #e0e1db;margin:25px 0 10px}.benef div{border-radius:0;background:transparent;padding:20px 12px;font-size:12px}.benef div span{font-size:18px}
.sec{padding-top:34px}.sec h2{font-size:clamp(24px,3vw,31px)}.sec h2 span{font-size:.72em;letter-spacing:-.02em}.card{border:1px solid #e5e6df;box-shadow:none;border-radius:20px;overflow:hidden;transition:box-shadow .2s,border-color .2s}.card:hover{border-color:#cbcfc0;box-shadow:0 12px 34px #2735220d;transform:none}.carrusel .card{flex-basis:275px}.card .foto{height:214px;padding:0;background:#eeefe9;cursor:default;position:relative}.card .cuerpo{padding:20px}.card .nombre{font-size:17px;line-height:1.35;min-height:46px;text-align:left}.card .precio{margin-top:12px}.card .dto{z-index:2;background:var(--azul);font-size:11px}.btn{border-radius:11px;min-height:44px}.btn-p{background:var(--azul)}.btn-p:hover{background:var(--azul-2)}.card .acciones{gap:14px}.card .acciones .btn{font-size:13px}.btn-s{background:#edece7}.kicker{font-size:11px}.card .kicker{color:#956029}.card .attr{font-size:12px}.enlace{font-size:13px}
.local-status{padding:12px 20px;background:#fff3cd;color:#654f10;font-size:13px;text-align:center}
/* Modelos volumétricos ilustrativos. Las seis caras permanecen visibles al girar. */
.product-stage{position:relative;isolation:isolate;min-height:210px;width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:inherit;background:radial-gradient(ellipse at 50% 40%,#fafbf6 0%,#ecede5 80%)}
.product-stage .stage-surface{position:absolute;inset:0;perspective:850px;display:flex;align-items:center;justify-content:center;touch-action:pan-y;cursor:grab;outline-offset:-5px}.product-stage .stage-surface:active{cursor:grabbing}
.stage-shadow{position:absolute;width:58%;height:20px;border-radius:50%;background:#343c32;filter:blur(14px);opacity:.17;bottom:20%}
.product-object{position:relative;width:0;height:0;transform-style:preserve-3d;transform:rotateX(-9deg) rotateY(-22deg) scale(var(--model-scale,1));pointer-events:none;will-change:transform}
.solid{position:absolute;width:var(--w);height:var(--h);left:calc(var(--w)/-2);top:calc(var(--h)/-2);transform:translate3d(var(--x,0px),var(--y,0px),var(--z,0px));transform-style:preserve-3d}
.face{position:absolute;display:block;backface-visibility:visible;border:1px solid #ffffff17;overflow:hidden;background:#aeb3b2}
.face.front,.face.back{width:var(--w);height:var(--h)}.face.front{transform:translateZ(calc(var(--d)/2));background:linear-gradient(115deg,#e8eae8,#b4b9b8 55%,#d5d9d7)}.face.back{transform:rotateY(180deg) translateZ(calc(var(--d)/2));background:repeating-linear-gradient(0deg,#767d7c 0 4px,#6b7271 4px 5px)}
.face.left,.face.right{width:var(--d);height:var(--h);left:calc((var(--w) - var(--d))/2);background:linear-gradient(90deg,#9aa09f,#bcc1bf)}.face.left{transform:rotateY(-90deg) translateZ(calc(var(--w)/2))}.face.right{transform:rotateY(90deg) translateZ(calc(var(--w)/2))}
.face.top,.face.bottom{width:var(--w);height:var(--d);top:calc((var(--h) - var(--d))/2);background:#d9ddda}.face.top{transform:rotateX(90deg) translateZ(calc(var(--h)/2))}.face.bottom{transform:rotateX(-90deg) translateZ(calc(var(--h)/2));background:#737a77}
.dark .face{background:#252a2c}.dark .front{background:linear-gradient(135deg,#3c4146,#181c20)}.dark .right,.dark .left{background:#141819}.dark .top{background:#42474b}.dark .back{background:repeating-linear-gradient(0deg,#22282b 0 4px,#343a3d 4px 5px)}
.tv-screen{position:absolute;inset:4px 4px 7px;overflow:hidden;background:radial-gradient(ellipse at 15% 30%,#dafa9f,transparent 53%),radial-gradient(ellipse at 80% 80%,#005855,transparent 65%),#46795e}.tv-screen:before{content:'';position:absolute;width:145%;height:150%;left:-40%;top:45%;border-radius:50%;background:linear-gradient(120deg,#c8e18e,#235750);box-shadow:0 -8px 20px #172c3133;transform:rotate(-23deg)}.tv-screen:after{content:'';position:absolute;width:160%;height:100%;left:35%;top:25%;border-radius:50%;background:linear-gradient(20deg,#012c40,#3d8179);transform:rotate(-25deg)}
.refrigerator-front:before{content:'';position:absolute;left:0;right:0;height:3px;background:#6a7472;top:33%}.refrigerator-front:after{content:'';position:absolute;left:10%;width:5px;height:22%;top:42%;border-radius:3px;background:#666e6b;box-shadow:1px 0 1px #fff}
.washer-front{padding:10px}.washer-panel{height:22px;background:#d1d5d3;border-bottom:1px solid #a0a7a2}.washer-panel:after{content:'';display:block;border-radius:50%;width:15px;height:15px;margin-left:45%;background:linear-gradient(120deg,#fbfbfb,#b9bfbb);border:1px solid #949a95}.washer-door{position:absolute;width:70%;aspect-ratio:1;border-radius:50%;left:15%;top:29%;background:radial-gradient(circle at 40% 35%,#55686a,#151f25 66%);border:8px solid #8b9696;box-shadow:0 0 0 3px #cbd0cc,inset 5px 7px 9px #ffffff2a}.washer-door:after{content:'';position:absolute;inset:12%;border:1px solid #778888;border-radius:50%;background:linear-gradient(125deg,#c2d6d31f,transparent 50%)}
.oven-window{position:absolute;inset:28% 9% 10%;border:5px solid #373d3c;border-radius:4px;background:linear-gradient(145deg,#405355,#101719)}.oven-knobs{position:absolute;top:8%;left:8%;right:8%;display:flex;justify-content:space-around}.oven-knobs i{height:10px;width:10px;border-radius:50%;background:#252d2b;box-shadow:0 1px 1px #fff}.speaker-grille{position:absolute;inset:4px;background:radial-gradient(#606766 1px,transparent 1px);background-size:4px 4px}.microwave-window{position:absolute;left:6%;top:10%;width:70%;height:80%;border:3px solid #535e5c;background:#172526}.microwave-controls{position:absolute;right:4%;top:20%;width:12%;height:13%;background:#294f43;box-shadow:0 25px 0 #515b57}
.viewer-topline{position:absolute;left:15px;right:15px;top:14px;display:flex;justify-content:space-between;z-index:2;pointer-events:none;font-size:10px;font-weight:600;color:#5a6356;letter-spacing:.3px}.viewer-topline span:first-child{border:1px solid #cdd3c3;border-radius:20px;padding:4px 8px;background:#fafbf5b3}.viewer-topline span:last-child{padding-top:4px}
.stage-controls{position:absolute;bottom:10px;left:12px;right:12px;display:flex;gap:6px;align-items:center;justify-content:center;z-index:3}.stage-controls button{height:32px;min-width:32px;border:1px solid #d3d7cd;background:#ffffffdd;border-radius:50%;font-size:16px;display:flex;align-items:center;justify-content:center}.stage-controls button:hover{background:white;border-color:#8c9b80}.stage-controls .reset-view{font-size:11px;border-radius:20px;padding:0 10px}.stage-controls output{font-size:10px;color:#60695b;min-width:29px;text-align:center;font-variant-numeric:tabular-nums}
.heroe .product-stage{background:transparent;min-height:350px;--model-scale:1.8}.heroe .stage-controls{bottom:22px}.heroe .viewer-topline{top:23px;left:25px;right:25px}
/* Ficha accesible, información verificable y acciones a mano. */
.detail-modal{width:min(1120px,96vw);max-width:1120px;border:0;padding:0;border-radius:24px;background:#fff;color:var(--ink);max-height:92dvh;overflow:auto;box-shadow:0 30px 100px #0003;margin:auto}.detail-modal::backdrop{background:#1c231f80;backdrop-filter:blur(5px)}
.detail-head{position:sticky;top:0;z-index:6;display:flex;align-items:center;justify-content:space-between;padding:14px 24px;border-bottom:1px solid #e6e8e1;background:#fffffff2;backdrop-filter:blur(10px);font-size:12px;color:var(--gris)}.detail-head .x{width:40px;height:40px}.detail-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:34px;padding:28px}.detail-visual{min-width:0}.detail-visual .product-stage{height:410px;--model-scale:1.8;border-radius:18px}.detail-visual model-viewer{width:100%;height:410px;border-radius:18px;background:#eeefe9;touch-action:pan-y}.model-disclosure{font-size:11px;color:var(--gris);line-height:1.6;margin:12px 2px}.detail-copy h2{font-size:clamp(25px,3vw,38px);line-height:1.13;letter-spacing:-1px;margin:9px 0 12px}.detail-category{font-size:11px;font-weight:700;color:var(--azul);text-transform:uppercase;letter-spacing:1.3px}.detail-subtitle{font-size:14px;color:var(--gris)}.detail-price{font-size:32px;font-weight:700;letter-spacing:-1px;margin:20px 0 3px}.detail-price s{font-size:15px;font-weight:400;color:var(--gris);margin-left:10px}.detail-stock{font-size:12px;display:inline-block;background:#e9f1e4;color:#365235;padding:5px 10px;border-radius:7px;margin:12px 0}.detail-stock.unavailable{background:#fce9e5;color:#9a311e}.detail-actions{display:grid;gap:9px;margin-top:22px}.detail-actions .btn{min-height:48px}.detail-help{font-size:12px;color:var(--gris);line-height:1.7;margin-top:12px}.highlights{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.highlights span{border:1px solid #e2e6dd;padding:7px 10px;border-radius:7px;font-size:12px;background:#fafbf7}
.detail-sections{padding:0 28px 30px}.detail-sections details{border-top:1px solid #e2e5dc;padding:0 2px}.detail-sections summary{cursor:pointer;font-size:15px;font-weight:600;padding:20px 0;list-style:none;display:flex;justify-content:space-between;gap:12px}.detail-sections summary:after{content:'+';font-size:20px;color:var(--gris)}.detail-sections details[open] summary:after{content:'−'}.detail-sections p{font-size:14px;color:var(--gris);line-height:1.75;padding-bottom:18px;white-space:pre-line}.spec-table{width:100%;border-collapse:collapse;font-size:13px;margin-bottom:22px}.spec-table th,.spec-table td{padding:12px 14px;border-bottom:1px solid #edf0e8;text-align:left;vertical-align:top;overflow-wrap:anywhere}.spec-table th{width:40%;font-weight:500;color:var(--gris);background:#f8f9f5}.spec-table td{color:var(--ink)}.detail-source{font-size:12px;margin-bottom:14px}.detail-source a{color:var(--azul);text-decoration:underline}
.editor-extended{grid-column:1/-1;border:1px solid #dde1d8;border-radius:12px;padding:18px;background:#f8f9f5}.editor-extended h4{margin:0 0 6px}.editor-extended .form-g{padding-top:14px}.editor-extended textarea{min-height:90px}.model-error{padding:20px;text-align:center;font-size:13px;color:#883821}
.product-stage model-viewer{width:100%;height:100%;min-height:210px;position:absolute;inset:0}.banner-toggle{position:absolute;right:14px;bottom:28px;background:#fff;color:#252a20;border-radius:20px;padding:7px 13px;font-size:12px;z-index:2}.banners .cap{padding-right:140px!important}.banners{margin:20px 0}.banners .slide{aspect-ratio:16/5}.banners .dots button{height:14px;width:14px}.banners .dots button.on{width:28px}.category-icon{font-size:32px;line-height:1}
.model-zoom{font-size:16px!important}.model-status{font-size:11px;color:#56624d;padding:6px 10px;position:absolute;bottom:10px;left:15px;z-index:3;background:#ffffffe6;border-radius:14px}
.drawer:not(.open){visibility:hidden}.drawer.open{visibility:visible}footer{border-top:1px solid #dee1d8}.toast{z-index:500}
@media(max-width:820px){.top .container>.search{display:none}.top .buscar-movil{display:block;height:auto;padding-bottom:12px}.top .buscar-movil .search,.top .buscar-movil .search:focus-within{width:100%;height:42px}.brand b span{font-size:12px}.banners .slide{aspect-ratio:4/3}}
@media(max-width:700px){.top .container{height:64px;gap:10px}.brand b{font-size:24px}.hero{padding-top:25px}.hero p{font-size:14px}.heroe .txt{padding:28px 22px}.heroe .im{min-height:290px}.heroe .product-stage{min-height:290px;--model-scale:1.3}.sec h2 span{display:block;margin-top:6px;line-height:1.3}.benef{grid-template-columns:1fr 1fr}.benef div{padding:13px 7px;font-size:11px}.detail-modal{width:100%;max-width:100%;max-height:96dvh;border-radius:20px 20px 0 0;margin:auto 0 0}.detail-layout{grid-template-columns:1fr;padding:18px;gap:20px}.detail-visual .product-stage,.detail-visual model-viewer{height:290px;--model-scale:1.3}.detail-sections{padding:0 18px 24px}.detail-head{padding:10px 16px}.detail-copy h2{font-size:28px}.detail-price{font-size:29px}.carrusel .card{flex-basis:255px}.stage-controls button{height:36px;min-width:36px}.stage-controls{bottom:7px}.product-stage .stage-surface{touch-action:pan-y}.experience-note{font-size:11px}.grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}}
@media(max-width:820px){.top .container.buscar-movil{display:block;height:auto;padding-bottom:12px}.top .buscar-movil>.search{display:flex;width:100%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Presentación compacta: el catálogo queda cerca del encabezado. */
.hero{padding:18px 0 12px}
.hero h1{font-size:clamp(21px,2.2vw,28px);font-weight:600;line-height:1.25;letter-spacing:-.025em;max-width:none}
.hero h1 span{color:var(--gris);font-weight:400}
.hero p{margin-top:6px;font-size:13px;line-height:1.5;max-width:960px}
.hero .eyebrow,.hero .experience-note{display:none}
@media(max-width:700px){.hero{padding:14px 0 8px}.hero h1{font-size:21px}.hero p{font-size:12px;line-height:1.45;margin-top:5px}}
/* Categorías con fotografías reales del catálogo. */
.cats .cat .img{height:68px;padding:4px 8px;margin-bottom:7px;background:#fff;border-radius:12px;overflow:hidden}
.cats .cat .img img{display:block;width:100%;height:100%;max-height:60px;object-fit:contain;mix-blend-mode:multiply}
footer #f-nombre{font-size:11px;line-height:1.5;font-weight:400;color:var(--gris)}
.hero .intro-owner{display:block;font-size:10px;color:var(--gris);font-weight:400;letter-spacing:.15px;margin:5px 0 8px;line-height:1.4}
.payment-strip{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:0 4px 20px;margin-top:-6px;color:var(--gris)}.payment-heading{font-size:12px;white-space:nowrap}.payment-methods{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.payment-logo{width:62px;height:42px;display:grid;place-items:center;border:1px solid #e5e6df;border-radius:9px;background:#fff;padding:6px}.payment-logo img{width:100%;height:100%;max-height:30px;object-fit:contain}.payment-other{display:flex;align-items:center;gap:6px;font-size:11px;padding:6px}.payment-other svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.is-filtering .payment-strip{display:none}@media(max-width:700px){.payment-strip{display:block;padding-bottom:14px}.payment-heading{display:block;margin-bottom:9px;font-size:11px}.payment-methods{gap:7px}.payment-logo{width:54px;height:38px}.payment-other{font-size:10px;padding:3px}.payment-other svg{width:20px}}
