:root{--bg:#101310;--panel:#191d19;--panel2:#20251f;--line:#343a31;--ink:#f0eee5;--muted:#a7aa9d;--gold:#d5a75b;--green:#75846a;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
    *{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans)}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}
    .topbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,5vw,76px);border-bottom:1px solid #ffffff17;background:#101310ed;position:sticky;top:0;z-index:5;backdrop-filter:blur(12px)}
    .brand{display:flex;align-items:center;gap:13px}.mark{width:39px;height:39px;border:1px solid var(--gold);display:grid;place-items:center;color:var(--gold);font-family:var(--serif);font-size:23px}.brand-name{font:20px var(--serif);letter-spacing:.11em}.brand-sub{color:var(--muted);font-size:9px;letter-spacing:.28em;margin-top:4px}.nav{display:flex;gap:28px;font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:#dbd9d0}.nav a:hover{color:var(--gold)}.cart-btn{background:none;border:1px solid var(--line);padding:11px 15px;letter-spacing:.1em;font-size:11px;text-transform:uppercase}.cart-count{color:var(--gold);margin-left:7px}
    .hero{min-height:590px;position:relative;display:flex;align-items:flex-end;overflow:hidden;background:radial-gradient(ellipse at 75% 45%,#59624b 0,#31382d 18%,#1d241e 42%,#101310 75%)}.hero:before,.hero:after{content:"";position:absolute;inset:0;pointer-events:none}.hero:before{background:linear-gradient(90deg,#101310 2%,#101310de 37%,#10131030 74%),linear-gradient(0deg,#101310 0%,transparent 32%)}.hero:after{opacity:.22;background:repeating-linear-gradient(90deg,transparent 0 135px,#a9956d 136px 138px,transparent 139px 274px);mask-image:linear-gradient(transparent,#000 30%,#000 80%,transparent)}
    .hero-art{position:absolute;right:8%;top:11%;width:min(43vw,520px);height:400px;display:flex;align-items:center;justify-content:center;opacity:.85}.hero-art:before{content:"";width:72%;height:55%;border:1px solid #d5a75b65;box-shadow:inset 0 0 50px #1118,0 0 80px #d5a75b18;background:linear-gradient(145deg,#67705955,#1118);transform:skewY(-4deg)}.hero-art:after{content:"✦";position:absolute;color:#d5a75b;opacity:.5;font-size:170px;font-family:var(--serif)}
    .hero-content{position:relative;z-index:1;padding:80px clamp(24px,9vw,140px);max-width:850px}.eyebrow{color:var(--gold);font-size:10px;letter-spacing:.3em;text-transform:uppercase}.hero h1{font:clamp(44px,7vw,86px)/.98 var(--serif);font-weight:400;margin:20px 0}.hero p{max-width:460px;color:#c4c4b8;line-height:1.7;font-size:14px}.primary{background:var(--gold);color:#171710;border:0;padding:15px 22px;text-transform:uppercase;letter-spacing:.15em;font-size:10px;font-weight:bold;margin-top:18px}.primary:hover{background:#edc579}.secondary{background:transparent;border:1px solid var(--line);padding:14px 19px;text-transform:uppercase;letter-spacing:.13em;font-size:10px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
    .notice{margin:0;padding:13px 24px;text-align:center;border-bottom:1px solid var(--line);background:#181c17;color:#c6c6ba;font-size:11px;letter-spacing:.04em}.notice strong{color:var(--gold);font-weight:500}
    .section{padding:76px clamp(22px,7vw,105px)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:30px}.section h2{font:clamp(30px,4vw,46px) var(--serif);font-weight:400;margin:10px 0 0}.section-head p{max-width:400px;color:var(--muted);font-size:12px;line-height:1.6;margin:0}
    .rooms{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:13px}.room{position:relative;min-height:230px;padding:25px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;background:linear-gradient(140deg,#3f4838,#1d241d 70%);border:1px solid var(--line);cursor:pointer}.room:nth-child(2){background:linear-gradient(140deg,#454235,#201f19 72%)}.room:nth-child(3){background:linear-gradient(140deg,#384544,#1b2221 72%)}.room:before{content:attr(data-icon);position:absolute;right:18px;top:5px;color:#d6c08a25;font-size:95px}.room:hover{border-color:var(--gold)}.room small{color:var(--gold);text-transform:uppercase;letter-spacing:.2em;font-size:9px}.room h3{font:27px var(--serif);font-weight:400;margin:10px 0 5px}.room span{color:var(--muted);font-size:11px}
    .catalog{background:#151915}.filters{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 27px}.filter{padding:10px 14px;background:transparent;border:1px solid var(--line);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#c4c5bb}.filter.active,.filter:hover{border-color:var(--gold);color:var(--gold)}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.card{background:var(--panel);border:1px solid #ffffff12;overflow:hidden;transition:transform .2s,border-color .2s}.card:hover{transform:translateY(-3px);border-color:#d5a75b88}.thumb{height:190px;background:radial-gradient(ellipse,#56604b,#292f26 52%,#1a1e19);display:grid;place-items:center;position:relative}.thumb:before{content:"";position:absolute;inset:13px;border:1px solid #eee3c112}.glyph{font:64px var(--serif);color:#e2cf9eaa;transform:rotate(-12deg);text-shadow:0 8px 18px #080a08}.tag{position:absolute;top:13px;left:13px;color:var(--gold);font-size:8px;letter-spacing:.15em;text-transform:uppercase}.card-info{padding:18px}.card-info h3{font:21px var(--serif);font-weight:400;margin:0 0 7px}.card-info p{font-size:11px;line-height:1.5;color:var(--muted);min-height:32px;margin:0 0 16px}.card-bottom{display:flex;align-items:center;justify-content:space-between}.price{color:#e6d2a8;font:16px var(--serif)}.view{background:none;border:1px solid var(--line);padding:9px 11px;font-size:9px;letter-spacing:.1em;text-transform:uppercase}.view:hover{border-color:var(--gold);color:var(--gold)}
    .about{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.about-visual{height:330px;border:1px solid var(--line);background:radial-gradient(ellipse at 50% 50%,#4b5543,#1b211a 65%);display:grid;place-items:center;color:#d5a75b66;font:100px var(--serif)}.about p{color:var(--muted);line-height:1.8;font-size:13px}.footer{border-top:1px solid var(--line);padding:27px clamp(22px,7vw,105px);color:var(--muted);font-size:10px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
    .overlay{display:none;position:fixed;inset:0;background:#000b;z-index:10;align-items:center;justify-content:center;padding:18px}.overlay.open{display:flex}.dialog{width:min(760px,100%);max-height:90vh;overflow:auto;background:var(--panel);border:1px solid #565848;position:relative}.close{position:absolute;right:14px;top:13px;background:#1119;border:1px solid var(--line);width:35px;height:35px;font-size:18px;z-index:1}.product-dialog{display:grid;grid-template-columns:1fr 1fr}.dialog-art{min-height:360px;background:radial-gradient(ellipse,#57604b,#22281f);display:grid;place-items:center;font:100px var(--serif);color:#e0cd9a99}.dialog-copy{padding:45px 30px}.dialog-copy h2{font:36px var(--serif);font-weight:400;margin:11px 0}.dialog-copy p{color:var(--muted);line-height:1.7;font-size:12px}.dialog-copy .price{font-size:22px}.modal-note{font-size:10px!important;border-top:1px solid var(--line);padding-top:14px;margin-top:20px}.cart-dialog{padding:32px;width:min(530px,100%)}.cart-dialog h2{font:32px var(--serif);font-weight:400;margin:8px 0 20px}.cart-items{display:grid;gap:10px}.cart-row{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.cart-empty{color:var(--muted);font-size:13px;padding:20px 0}.cart-total{display:flex;justify-content:space-between;padding-top:18px;font:18px var(--serif)}
    @media(max-width:850px){.nav{display:none}.rooms{grid-template-columns:1fr 1fr}.room:first-child{grid-column:span 2}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-art{right:-10%;width:60vw;opacity:.38}.about{gap:28px}.tour-head{align-items:start;flex-direction:column}}
    @media(max-width:560px){.topbar{height:66px;padding:0 16px}.brand-name{font-size:17px}.cart-btn{padding:9px}.hero{min-height:540px}.hero-content{padding:60px 23px}.hero-art{top:5%;right:-33%;width:90vw}.section{padding:57px 19px}.section-head{display:block}.section-head p{margin-top:14px}.rooms{grid-template-columns:1fr}.room:first-child{grid-column:auto}.room{min-height:190px}.grid{gap:9px}.thumb{height:145px}.card-info{padding:13px}.card-info h3{font-size:18px}.card-info p{font-size:10px}.view{padding:8px}.price{font-size:14px}.product-dialog{grid-template-columns:1fr}.dialog-art{min-height:210px}.dialog-copy{padding:25px}.about{grid-template-columns:1fr}.about-visual{height:230px}.tour{padding:12px 10px 35px}.tour-head h2{font-size:27px}.tour-actions{width:100%}.tour-frame{height:360px}.hotspot{font-size:8px;padding:8px}.hotspot.one{left:4%;top:43%}.hotspot.two{right:3%;top:48%}.hotspot.three{left:39%;top:67%}.hotspot.four{right:22%;top:29%}.tour-tip{top:auto;bottom:14px;right:13px}.shelf.left{left:-7%;width:30%}.shelf.right{right:-7%;width:30%}.counter{left:21%;width:58%}}
    .dialog-art{position:relative;overflow:hidden}.dialog-art iframe{width:100%;height:100%;min-height:360px;border:0}.model-placeholder{cursor:ew-resize;user-select:none;touch-action:none;font-size:112px;transition:transform .12s ease}.model-caption{position:absolute;bottom:12px;left:0;right:0;text-align:center;font:9px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#e0cd9a}.finish-swatch{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px;border:1px solid #ffffff80;vertical-align:-1px}
    .side-wall{position:absolute;top:18%;height:62%;width:25%;background:radial-gradient(#7c8082 1px,transparent 1.8px),linear-gradient(90deg,#191b1c,#292c2e);background-size:9px 9px,auto;border:1px solid #575b5d;opacity:.95}.side-wall.left{left:-2%;clip-path:polygon(0 5%,100% 0,100% 100%,0 82%)}.side-wall.right{right:-2%;clip-path:polygon(0 0,100% 5%,100% 82%,0 100%)}.wall-brand{position:absolute;top:25%;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:9px;color:#c4b58b;font:clamp(8px,1.4vw,17px) var(--serif);letter-spacing:.14em;text-align:center}.wall-mark{width:25px;height:25px;border:1px solid #c4b58b;border-radius:50%;display:grid;place-items:center;font:16px var(--serif)}.counter{z-index:2;bottom:12%;height:20%;width:31%;background:linear-gradient(180deg,#cfd3d433 0 4%,#292c2d 5% 74%,#131516 75%);border:1px solid #aab0b177;box-shadow:0 20px 25px #000}.counter.left{left:17%;transform:perspective(360px) rotateX(7deg) rotateY(8deg)}.counter.right{right:17%;transform:perspective(360px) rotateX(7deg) rotateY(-8deg)}.counter:before{content:"";position:absolute;inset:5px 0 0;background:repeating-linear-gradient(90deg,transparent 0 24%,#bbbfc022 24.3% 24.6%)}.counter:after{content:"";position:absolute;left:-2px;right:-2px;top:-4px;height:8px;background:#cfd5d633;border:1px solid #cfd5d688;box-shadow:0 0 10px #fff2}
    @media(max-width:560px){.wall-brand{top:24%;gap:5px;font-size:7px}.wall-mark{width:18px;height:18px;font-size:12px}.side-wall{width:31%}.counter{width:35%;height:17%;bottom:14%}.counter.left{left:12%}.counter.right{right:12%}.hotspot.one{left:4%;top:43%}.hotspot.two{right:4%;top:46%}.hotspot.three{left:43%;top:66%}}
    /* Acabado grafito inspirado en las imágenes del local */
    .tour-frame{background:radial-gradient(ellipse at 50% 44%,#343638 0,#202224 48%,#111213 82%)}.back-wall{background:linear-gradient(90deg,#202224,#343638 50%,#202224);border-top:5px solid #666b6d;box-shadow:inset 0 0 35px #000}.floor{background:repeating-linear-gradient(0deg,#292b2d 0 3px,#303234 3px 6px);border-top:1px solid #66696a}.ceiling{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);gap:7px;left:25%;right:25%;top:1%;height:23%;background:none;transform:perspective(250px) rotateX(-30deg);filter:none;opacity:1}.ceiling i{display:block;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);background:#dce0df;box-shadow:0 0 12px #fff;filter:drop-shadow(0 0 8px #f8f8f2);opacity:.95}.shelf{background-color:#202224;background-image:radial-gradient(#777b7e 1px,transparent 1.8px),linear-gradient(0deg,#181a1b 0 8px,#36393a 9px 12px,#202224 13px 54px);background-size:10px 10px,auto;border:5px solid #171819;box-shadow:0 10px 28px #000b}.shelf:after{background:repeating-linear-gradient(0deg,transparent 0 39px,#a7aaab55 40px 42px);pointer-events:none}.counter{background:linear-gradient(180deg,#d8dedf33 0 4%,#272a2b 5% 75%,#141516 76%);border:1px solid #aab0b177;box-shadow:0 20px 25px #000}.counter:after{content:"";position:absolute;left:-2px;right:-2px;top:-4px;height:8px;background:#cfd5d633;border:1px solid #cfd5d688;box-shadow:0 0 10px #fff2}.room,.room:nth-child(2),.room:nth-child(3){background:linear-gradient(145deg,#36393b,#191b1c 72%);border-color:#444849}.room:hover{border-color:var(--gold)}
    /* Fallback checkout vignette; WebGL draws the complete 3D desk and POS. */
    .back-wall:after{content:"CAJA  ·  ATENCIÓN";position:absolute;right:5%;bottom:6%;width:27%;height:24%;display:flex;align-items:flex-end;justify-content:center;padding:0 3px 5px;color:#d3c49f;font:clamp(5px,.7vw,9px) var(--sans);letter-spacing:.1em;text-align:center;border:1px solid #a9976e;background:linear-gradient(#83908f 0 48%,#131516 49% 100%);box-shadow:inset 0 0 0 4px #17191b,0 7px 12px #000a}
    /* Product catalog refinements: licensed photography, manufacturer hierarchy and restrained finish accents. */
    .pistol-thumb{background:radial-gradient(ellipse at 50% 48%,color-mix(in srgb,var(--product-finish) 38%,#25292a),#1b1e1f 68%)}.product-visual{width:88%;height:auto;max-height:132px;object-fit:contain;filter:drop-shadow(0 12px 12px #000a);transition:transform .35s ease}.card:hover .product-visual{transform:translateY(-3px) scale(1.035)}.visual-note{position:absolute;right:12px;bottom:10px;color:#b9bcba;font-size:8px;letter-spacing:.12em;text-transform:uppercase}.maker{display:block;margin-bottom:5px;color:var(--gold);font-size:9px;letter-spacing:.18em;text-transform:uppercase}.card-info h3{min-height:50px}.card-info p{min-height:34px}.dialog-links{display:flex;flex-wrap:wrap;gap:8px 14px;margin:16px 0}.dialog-links a{color:#d7c496;font-size:11px;text-decoration:underline;text-underline-offset:3px}.dialog-links a:hover{color:#fff}.cart-row button{border:1px solid var(--line);background:none;color:#d5c08f;padding:7px 10px;font-size:10px}.cart-row button:hover{border-color:var(--gold)}.cart-row small{color:var(--gold);font-size:9px;letter-spacing:.12em}
    @media(max-width:560px){.product-visual{max-height:110px}.visual-note{font-size:7px}.card-info h3{min-height:40px}}
    .filter-tools{display:flex;gap:10px;align-items:center;margin:-9px 0 24px}.filter-tools input,.filter-tools select{min-height:42px;padding:0 13px;border:1px solid var(--line);background:#101312;color:var(--ink);font:11px var(--sans);outline:none}.filter-tools input{width:min(100%,360px)}.filter-tools select{min-width:190px}.filter-tools input:focus,.filter-tools select:focus{border-color:var(--gold)}.no-results{grid-column:1/-1;padding:36px 0;color:var(--muted);font-size:14px}.finish-note{display:flex;align-items:center;gap:7px;margin:0 0 14px;color:#aeb2ad;font-size:9px;letter-spacing:.04em}.finish-note i{width:10px;height:10px;border-radius:50%;border:1px solid #fff7}
    @media(max-width:560px){.filter-tools{align-items:stretch;flex-direction:column}.filter-tools input,.filter-tools select{width:100%}}

.product-dialog{width:min(1040px,100%);grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr)}
.dialog-art{min-height:480px;background:radial-gradient(ellipse,#363b3c,#111314 74%)}
.product-photo-stage{position:relative;width:100%;height:100%;min-height:480px;display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,#222627,#121516)}.product-photo-stage:before{content:"";position:absolute;inset:18px;border:1px solid #c5b48a35;pointer-events:none}.product-photo-stage img{width:100%;height:100%;max-height:560px;padding:34px;object-fit:contain;filter:drop-shadow(0 18px 22px #0007)}.product-photo-stage>span{position:absolute;left:26px;right:26px;bottom:18px;padding:8px 10px;background:#080a0cce;color:#ddd7c9;text-align:center;font-size:9px;letter-spacing:.1em;text-transform:uppercase}
.dialog-copy{align-self:center}
.dialog-copy .product-lead{margin:0 0 18px;padding-left:12px;border-left:2px solid var(--gold);color:#e5dcc9;font-size:14px;line-height:1.6}
.dialog-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:18px 0}
.dialog-facts div{padding:11px 12px;border:1px solid var(--line);background:#111413}
.dialog-facts small,.dialog-facts strong{display:block}
.dialog-facts small{margin-bottom:5px;color:var(--muted);font-size:8px;letter-spacing:.13em;text-transform:uppercase}
.dialog-facts strong{font-size:11px;font-weight:500;color:var(--ink)}

@media(max-width:700px){.product-dialog{grid-template-columns:1fr}.dialog-art{min-height:300px;height:300px}.dialog-copy{padding:27px 22px}}

/* Client reference layout: enter directly into the showroom, with a compact store map and catalog rail. */
main{display:flex;flex-direction:column}
main>#showroom{order:1}main>.notice{order:2}main>.hero{order:3}main>#salas{order:4}main>#catalogo{order:5}main>#nosotros{order:6}
.topbar{height:82px;padding-inline:clamp(18px,3vw,48px);gap:22px}
.brand{flex:none}.mark{width:43px;height:43px;border-radius:50%;font-family:var(--sans);font-weight:300}.brand-name{font:700 19px var(--sans);letter-spacing:.19em}.brand-sub{font-size:8px;letter-spacing:.17em;color:#b7b9b7}
.nav{flex:1;justify-content:center;gap:clamp(10px,1.45vw,24px);font-size:10px;letter-spacing:.09em;white-space:nowrap}.nav .current{color:#fff;border-bottom:1px solid var(--gold);padding:10px 0}
.header-actions{display:flex;align-items:center;gap:10px;flex:none}.header-icon{width:43px;height:43px;border:1px solid #ffffff40;border-radius:50%;background:transparent;font-size:24px;font-weight:300}.header-icon:hover{border-color:var(--gold);color:var(--gold)}
.cart-btn{min-height:43px;padding:10px 13px;border-radius:24px}.header-consult{min-height:43px;display:flex;align-items:center;gap:18px;padding:0 18px;border:1px solid #f2f0e9;border-radius:24px;font-size:10px;font-weight:bold;letter-spacing:.1em;text-transform:uppercase}.header-consult:hover{border-color:var(--gold);color:var(--gold)}
.tour{padding:23px clamp(18px,3vw,48px) 20px;background:#090a0b}.tour-head{margin:3px 0 14px;align-items:center}.tour-head h1{font:clamp(24px,3vw,36px) var(--serif);font-weight:400;margin:7px 0}.tour-head p{margin:0;color:#b6b8b6;font-size:11px}.tour-actions{flex-wrap:wrap;justify-content:flex-end}.tour-actions button{min-height:38px;border-color:#4b4e4e;color:#deded9}.tour-actions button:hover{border-color:var(--gold);color:var(--gold)}
.tour-frame{height:clamp(440px,48vw,680px);max-height:72vh;min-height:420px;border-color:#484b4b;background:radial-gradient(ellipse at 50% 45%,#37393a 0,#222426 49%,#101112 82%)}
.tour-frame:before{background:linear-gradient(90deg,#0506068c,#0000 20% 80%,#0506068c),linear-gradient(0deg,#090a09 0,transparent 22% 84%,#1116)}
.tour-label{top:17px;left:18px;padding:10px 14px;border-color:#595b5a;font-size:9px}.tour-tip{right:220px;top:21px;color:#d7d7d3;font-size:8px}.turn-control{bottom:18px;left:18px;width:44px;height:44px}
.store-map{position:absolute;z-index:4;right:14px;top:14px;width:190px;padding:14px 13px 12px;border:1px solid #525656;background:#080a0bea;box-shadow:0 12px 30px #0008;backdrop-filter:blur(12px)}.store-map[hidden]{display:none}.map-heading{display:flex;flex-direction:column;gap:5px;padding-bottom:9px;border-bottom:1px solid #3f4343;color:#eee;font-size:9px;letter-spacing:.12em;text-transform:uppercase}.map-status{font-size:7px;letter-spacing:.08em;color:#aeb3b1}.map-status i{display:inline-block;width:6px;height:6px;margin-right:5px;border-radius:50%;background:var(--gold);box-shadow:0 0 7px var(--gold)}
.floor-plan{height:106px;position:relative;margin:11px 0;border:1px solid #8d9290;background:linear-gradient(90deg,transparent 49%,#b6bab722 50%,transparent 51%),linear-gradient(0deg,transparent 49%,#b6bab722 50%,transparent 51%),#17191a;background-size:100% 100%}.floor-plan:before,.floor-plan:after{content:"";position:absolute;border:1px solid #8c918f66}.floor-plan:before{inset:10px 12px 15px}.floor-plan:after{left:50%;top:12px;bottom:15px;border-left:1px dashed #8c918f77}.plan-aisle{position:absolute;left:44%;right:44%;top:12px;bottom:15px;background:#4a4e4c77}.plan-counter{position:absolute;left:31%;right:31%;bottom:8px;height:12px;background:#7f837f;border:1px solid #c1c2be}.plan-dot,.plan-entry{position:absolute;width:7px;height:7px;background:var(--gold);border-radius:50%;box-shadow:0 0 8px #e8c174}.dot-one{left:22%;top:25%}.dot-two{right:22%;top:25%}.dot-three{right:17%;bottom:24%}.plan-entry{left:calc(50% - 3px);bottom:2px;background:#ddd}.map-link{display:flex;align-items:center;gap:8px;width:100%;padding:6px 2px;border:0;background:none;color:#c6c8c6;text-align:left;font-size:8px;letter-spacing:.08em;text-transform:uppercase}.map-link i{width:8px;height:8px;border:1px solid #bfc2bf;border-radius:50%}.map-link:hover{color:var(--gold)}.map-link:hover i{border-color:var(--gold);background:var(--gold)}
.hotspot{border-color:#ecece9;background:#090a0de8;font-size:9px;box-shadow:0 0 16px #fff3}.hotspot.one{left:7%;top:39%}.hotspot.two{right:23%;top:45%}.hotspot.three{left:43%;top:72%}.tour-rail{gap:8px;padding-top:10px}.tour-rail button{min-width:130px;height:55px;border-color:#3e4141;background:linear-gradient(135deg,#26292a,#101112);text-align:left;font-size:8px}.tour-rail button span{display:inline-grid;width:25px;height:25px;margin-right:7px;place-items:center;border:1px solid #5f6260;border-radius:50%;color:var(--gold);font-size:12px;vertical-align:middle}.tour-rail button.active{border-color:var(--gold);color:#f2e4c5}
.notice{padding:10px 22px;font-size:10px;background:#111314}
.hero{min-height:230px;align-items:center;background:linear-gradient(100deg,#191c1d,#252827 48%,#111314)}.hero:before{background:linear-gradient(90deg,#101310ee,#10131020 70%)}.hero:after,.hero-art{display:none}.hero-content{padding:28px clamp(22px,7vw,105px);max-width:1050px}.hero h2{font:clamp(28px,3.6vw,42px) var(--serif);font-weight:400;margin:8px 0}.hero p{max-width:600px;margin:0 0 8px;font-size:12px}.hero .primary{margin-top:4px;padding:12px 17px}
.section{padding:64px clamp(20px,5vw,76px)}.section-head{margin-bottom:24px}.section-head p{max-width:500px}.rooms{gap:10px}.room{min-height:180px}
.catalog{background:#101213}.catalog-layout{display:grid;grid-template-columns:172px minmax(0,1fr);gap:22px;align-items:start}.catalog-sidebar{position:sticky;top:98px;padding:16px 12px;border:1px solid #303435;background:#141718}.sidebar-title{display:block;margin:0 0 13px;color:#d1d3cf;font-size:9px;letter-spacing:.16em;text-transform:uppercase}.catalog-sidebar .filters{display:flex;flex-direction:column;gap:4px;margin:0}.catalog-sidebar .filter{position:relative;width:100%;padding:12px 9px;border:0;border-bottom:1px solid #2a2d2e;text-align:left;font-size:9px}.catalog-sidebar .filter.active{border-color:#2a2d2e;background:#242728;color:#f0d49a}.catalog-sidebar .filter.active:before{content:"";position:absolute;left:-12px;top:0;bottom:0;width:2px;background:var(--gold)}.sidebar-note{margin-top:17px;padding:11px 7px;border-top:1px solid #2d3030;color:#8f9491;font-size:8px;line-height:1.6;text-transform:uppercase;letter-spacing:.06em}.catalog-main{min-width:0}.filter-tools{display:grid;grid-template-columns:minmax(200px,1fr) 180px 190px;gap:9px;margin:0 0 12px}.search-box{display:flex;align-items:center;gap:9px;min-height:42px;padding:0 12px;border:1px solid #3b3f40;background:#090b0c;color:#c7c9c6}.search-box span{font-size:20px}.filter-tools input{width:100%;min-height:38px;padding:0;border:0;background:transparent}.filter-tools input:focus{border:0}.filter-tools select{min-width:0;min-height:42px}.results-caption{margin:0 0 12px;color:#a6aaa7;font-size:9px;letter-spacing:.08em}.grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.card{background:#181b1c;border-color:#2d3132}.thumb{height:178px}.card-info{padding:13px}.maker{font-size:8px}.card-info h3{font-size:17px;min-height:42px}.card-info p{font-size:10px;min-height:34px}.card-bottom .price{font-size:15px}.view{padding:8px 10px}.finish-note{font-size:8px}
.product-dialog{border-color:#565b5b;background:#171a1b}.dialog-copy h2{font-size:32px}.dialog-links a{font-size:10px}
.footer{align-items:center}.footer a{color:#d9c79e;font-size:10px;text-transform:uppercase;letter-spacing:.08em}
@media(min-width:1500px){.grid{grid-template-columns:repeat(6,minmax(0,1fr))}.thumb{height:170px}}
@media(max-width:1100px){.topbar{gap:12px}.nav{gap:10px;font-size:9px}.brand-sub{letter-spacing:.1em}.header-consult{padding:0 12px}.header-consult span{display:none}.filter-tools{grid-template-columns:minmax(160px,1fr) 150px 160px}.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){.topbar{height:72px}.nav{display:none}.header-actions{margin-left:auto}.tour-frame{height:530px;max-height:none}.store-map{width:164px;right:9px;top:9px;padding:10px}.floor-plan{height:82px}.map-link{font-size:7px}.tour-tip{right:180px}.filter-tools{grid-template-columns:1fr 1fr}.search-box{grid-column:1/-1}.catalog-layout{grid-template-columns:142px minmax(0,1fr);gap:13px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.topbar{padding-inline:12px;gap:8px}.brand{gap:8px}.mark{width:36px;height:36px;font-size:19px}.brand-name{font-size:15px}.brand-sub{font-size:6px;letter-spacing:.08em}.header-actions{gap:6px}.header-icon{width:36px;height:36px}.cart-btn{min-height:36px;padding:8px 9px;font-size:8px}.header-consult{min-height:36px;padding:0 10px;font-size:8px}.tour{padding:14px 10px 12px}.tour-head{display:block}.tour-head h1{font-size:28px}.tour-head p{max-width:95%;font-size:10px}.tour-actions{justify-content:flex-start;margin-top:11px}.tour-actions button{min-height:33px;padding:7px 9px;font-size:8px}.tour-actions button span{display:none}.tour-frame{height:460px;min-height:420px}.store-map{width:143px;padding:8px;top:8px;right:7px}.map-heading{font-size:7px}.map-status{font-size:6px}.floor-plan{height:70px;margin:7px 0}.map-link{padding:5px 0;font-size:6px}.tour-label{top:8px;left:8px;padding:7px 8px;font-size:7px}.tour-tip{top:auto;right:8px;bottom:13px;max-width:135px;text-align:right;font-size:6px}.hotspot{font-size:7px;padding:7px 8px}.hotspot.one{left:3%;top:48%}.hotspot.two{right:4%;top:57%}.hotspot.three{left:38%;top:76%}.turn-control{bottom:10px;left:9px;width:36px;height:36px}.tour-rail{padding-top:7px}.tour-rail button{min-width:102px;height:43px;padding:6px;font-size:7px}.tour-rail button span{width:21px;height:21px;margin-right:4px}.hero{min-height:208px}.hero-content{padding:24px 19px}.hero h2{font-size:29px}.hero p{font-size:10px}.section{padding:48px 15px}.section-head h2{font-size:29px}.catalog-layout{grid-template-columns:1fr;gap:8px}.catalog-sidebar{position:static;padding:10px;border:0;background:transparent}.sidebar-title,.sidebar-note{display:none}.catalog-sidebar .filters{flex-direction:row;overflow-x:auto;padding-bottom:3px}.catalog-sidebar .filter{width:auto;white-space:nowrap;border:1px solid var(--line);padding:9px 11px}.catalog-sidebar .filter.active:before{display:none}.filter-tools{grid-template-columns:1fr 1fr;gap:7px}.filter-tools select{font-size:9px}.results-caption{font-size:8px}.grid{gap:7px}.thumb{height:132px}.card-info{padding:10px}.card-info h3{font-size:15px;min-height:37px}.card-info p{font-size:9px;min-height:32px}.card-bottom{gap:5px}.card-bottom .price{font-size:13px}.view{padding:7px 8px;font-size:7px}.visual-note{font-size:6px}.finish-note{font-size:7px}.rooms{grid-template-columns:1fr}.room{min-height:145px}.about{grid-template-columns:1fr;gap:24px}.about-visual{height:180px}.footer{padding:20px 15px;font-size:8px}}
.thumb{isolation:isolate}.product-visual{position:absolute;z-index:0}.tag{z-index:3}
.product-visual{left:6%;top:8%}.catalog-sidebar .filter{display:flex;align-items:center;gap:10px}.catalog-sidebar .filter i{width:18px;color:#b8bbb8;font-size:15px;font-style:normal;text-align:center}.catalog-sidebar .filter.active i,.catalog-sidebar .filter:hover i{color:var(--gold)}.map-link.active{color:var(--gold)}.map-link.active i{border-color:var(--gold);background:var(--gold)}

/* Final presentation pass: clearer hierarchy, product families and mobile navigation. */
.nav-toggle{display:none;width:40px;height:40px;padding:10px;border:1px solid #ffffff3a;border-radius:50%;background:#111315;align-items:center;justify-content:center;flex-direction:column;gap:4px}
.nav-toggle span{display:block;width:16px;height:1px;background:#eee}
.nav-toggle:hover{border-color:var(--gold)}
.brand{transition:opacity .2s ease}.brand:hover{opacity:.82}
.tour-frame{box-shadow:0 22px 64px #0008,inset 0 0 0 1px #ffffff09}
.tour-head .eyebrow{color:#d7ba7c}.tour-head h1{letter-spacing:.01em}.tour-actions button{min-width:39px;min-height:39px;border-radius:2px;transition:color .2s,border-color .2s,background .2s}.tour-actions button:first-child,.tour-actions button:nth-child(4){font-size:18px}.tour-actions button:hover{background:#222526}
.tour-label{border-radius:2px;background:#090b0ce8;border-color:#ffffff34;box-shadow:0 8px 24px #0007;backdrop-filter:blur(10px);letter-spacing:.14em}.tour-tip{padding:8px 10px;border:1px solid #ffffff22;border-radius:2px;background:#090b0cbf;backdrop-filter:blur(8px);letter-spacing:.08em}
.turn-control{display:grid;place-items:center;border-color:#ffffff4f;color:#e6e6e2;box-shadow:0 5px 20px #0007}.tour-rail{gap:8px;padding-top:11px}.tour-rail button{height:52px;min-width:124px;padding-inline:12px;border-radius:2px;color:#c9cbca;text-transform:none;font-size:10px;letter-spacing:.04em;transition:all .2s}.tour-rail button:hover{border-color:#aa9b79;background:#1b1d1e}.tour-rail button.active{background:#252728;border-color:var(--gold);color:#f2e4c5}
.store-map{border-radius:3px}.floor-plan{border-radius:2px}.map-link{min-height:29px;font-size:8px}.map-link.active{background:#272a2a;color:#e8d19f}
.map-status{display:flex;align-items:center;gap:5px}
.card{border-radius:3px}.thumb{overflow:hidden}.tag{padding:6px 8px;background:#0a0b0bc9;border:1px solid #ffffff1c}.visual-note{bottom:33px!important;left:10px;right:10px;text-align:center;text-shadow:0 1px 4px #000}.photo-attribution{position:absolute;z-index:4;left:8px;right:8px;bottom:7px;overflow:hidden;color:#bec1be;background:#090b0bd9;padding:5px 7px;text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:7px;letter-spacing:.04em}.photo-attribution:hover{color:#f1d69b}
.product-visual{transform:scale(1.05);transition:transform .35s ease}.card:hover .product-visual{transform:scale(1.1) translateY(-3px)}
.card-info{display:flex;flex-direction:column}.card-info p{flex:1}.card-bottom{padding-top:4px}
.view{transition:background .2s ease,border-color .2s ease,color .2s ease}.view:hover{background:#d5a75b;color:#111}
.filter:focus-visible,.tour-actions button:focus-visible,.tour-rail button:focus-visible,.map-link:focus-visible,.hotspot:focus-visible,.view:focus-visible,.nav-toggle:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.about-visual{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;overflow:hidden;background:radial-gradient(ellipse at 50% 45%,#363b3b,#17191a 72%);color:#d6c9a8;font:9px var(--sans);letter-spacing:.28em}
.about-visual:before,.about-visual:after{content:"";position:absolute;width:68%;height:1px;background:linear-gradient(90deg,transparent,#a99467,transparent);opacity:.8}
.about-visual:before{top:22%}.about-visual:after{bottom:22%}.about-monogram{display:grid;place-items:center;width:100px;height:100px;border:1px solid #c4b182;border-radius:50%;font:58px var(--serif);color:#d5c497;box-shadow:0 0 55px #c2ad7822}
.dialog{box-shadow:0 25px 100px #000b}.overlay{backdrop-filter:blur(5px)}.dialog-copy .primary{width:100%;min-height:48px}.product-dialog{border-radius:4px;overflow:auto}.close{border-radius:50%;font-size:22px;line-height:1}.close:hover{border-color:var(--gold);color:var(--gold)}
.cart-btn{position:relative}.cart-count{display:inline-grid;min-width:19px;height:19px;place-items:center;border-radius:50%;background:#b94438;color:white;font-size:10px;font-weight:700;margin-left:5px}
.notice{line-height:1.6}.footer{line-height:1.6}
section[id],footer[id]{scroll-margin-top:96px}
.brand-strip{padding:24px clamp(20px,5vw,76px);border-top:1px solid #ffffff12;border-bottom:1px solid #ffffff12;background:#111415}
.brand-strip-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:17px;color:#999e9b;font-size:9px;letter-spacing:.08em}.brand-words{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));align-items:center;gap:12px}.brand-words span{display:grid;min-height:34px;place-items:center;color:#d4d4cf;font-size:clamp(10px,1.15vw,15px);font-weight:700;letter-spacing:.1em;opacity:.78}.brand-words span:nth-child(3),.brand-words span:nth-child(4){font-size:clamp(8px,.95vw,12px)}
@media(max-width:850px){
  .nav-toggle{display:flex}
  .nav{display:none;position:absolute;left:12px;right:12px;top:calc(100% + 1px);padding:12px;flex-direction:column;gap:0;border:1px solid #ffffff24;background:#101213f5;box-shadow:0 18px 40px #0009;backdrop-filter:blur(16px)}
  .nav.nav-open{display:flex}.nav a{padding:14px 12px;border-bottom:1px solid #ffffff12}.nav a:last-child{border-bottom:0}.nav .current{border-bottom:1px solid #ffffff12;padding:14px 12px}
}
@media(max-width:560px){
  .tour-hover{left:50%;bottom:9px;min-width:0;width:min(220px,calc(100% - 78px));padding:8px 10px}.tour-hover strong{font-size:14px}.tour-actions{gap:5px}.tour-actions button{min-width:34px;padding:7px 8px}.tour-actions button:nth-child(2) span,.tour-actions button:nth-child(3) span{display:none}
  .card:focus-within{border-color:var(--gold)}.about-visual{height:210px}.about-visual:before{top:18%}.about-visual:after{bottom:18%}.product-photo-stage{min-height:300px;height:300px}.product-photo-stage img{padding:25px}.photo-attribution{font-size:6px}.visual-note{font-size:6px}
}
@media(max-width:700px){.brand-strip{padding:19px 15px}.brand-strip-heading{align-items:flex-start;flex-direction:column}.brand-words{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.brand-words span{min-height:27px;font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.product-photo-caption{z-index:3}

/* Showroom fotográfico navegable inspirado en la referencia del cliente */
.topbar { height:auto; min-height:76px; }
.brand-logo { display:block; width:clamp(180px,18vw,220px); height:74px; object-fit:cover; object-position:center; border-radius:2px; }
.showroom-experience { padding:24px clamp(14px,3vw,42px) 28px; background:#080909; }
.showroom-topline { display:flex; justify-content:space-between; align-items:end; gap:20px; margin:0 0 16px; }
.showroom-topline .eyebrow { color:#d1ad67; letter-spacing:.16em; font-size:.68rem; }
.showroom-topline h1 { margin:5px 0 0; font-size:clamp(1.7rem,3vw,2.65rem); line-height:1; text-transform:uppercase; letter-spacing:.02em; }
.showroom-topline h1 span { color:#aaa9a4; font-weight:400; }
.showroom-consult { display:inline-flex; align-items:center; gap:16px; border:1px solid #ffffff70; padding:12px 17px; color:#f3f2ee; text-decoration:none; text-transform:uppercase; letter-spacing:.08em; font-size:.74rem; }
.showroom-consult:hover { border-color:#d5aa54; color:#eac979; }
.showroom-frame { position:relative; isolation:isolate; width:100%; height:clamp(440px,49vw,690px); overflow:hidden; background:#121313; border:1px solid #ffffff30; box-shadow:0 25px 70px #0009; }
.showroom-scene { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 50%; filter:brightness(.76) saturate(.77); transition:filter .25s, transform .45s; }
.showroom-scene.scene-illustration { object-fit:contain; padding:7% 26% 5% 4%; filter:none; background:radial-gradient(ellipse at 40% 50%,#292a27,#0c0d0d 72%); }
.showroom-image-shade { position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,#0607078c 0%,transparent 20% 63%,#04050591 100%),linear-gradient(0deg,#050606bd 0%,transparent 33% 74%,#0506063b 100%); pointer-events:none; }
.scene-caption { position:absolute; z-index:1; left:25px; bottom:25px; display:grid; gap:7px; text-shadow:0 2px 7px #000; }
.scene-live { color:#e5c47e; font-size:.63rem; letter-spacing:.15em; }
.scene-live i { display:inline-block; width:7px; height:7px; margin-right:8px; border-radius:50%; background:#9bb17b; box-shadow:0 0 8px #9bb17b; }
.scene-caption strong { font-size:clamp(1.25rem,2vw,2rem); text-transform:uppercase; letter-spacing:.04em; }
.scene-caption small { color:#d1cfca; font-size:.7rem; letter-spacing:.06em; }
.showroom-guide { position:absolute; z-index:3; top:14px; right:14px; bottom:14px; width:min(252px,25%); padding:14px; display:flex; flex-direction:column; gap:12px; border:1px solid #ffffff30; background:#080909e8; box-shadow:0 12px 32px #0009; backdrop-filter:blur(12px); }
.guide-heading { display:grid; gap:4px; text-transform:uppercase; font-size:.77rem; letter-spacing:.1em; }
.guide-heading small { color:#aaa9a3; font-size:.56rem; letter-spacing:.13em; }
.guide-map { width:100%; height:clamp(90px,12vw,148px); object-fit:cover; border:1px solid #ffffff2e; filter:brightness(.78) grayscale(.25); }
.guide-links { display:grid; gap:3px; }
.guide-links button,.guide-link { display:flex; align-items:center; gap:8px; min-height:31px; border:0; border-bottom:1px solid #ffffff17; background:transparent; color:#e0dfda; text-align:left; font:inherit; font-size:.68rem; text-decoration:none; cursor:pointer; }
.guide-links button:hover,.guide-links button:focus-visible,.guide-link:hover { color:#f0cf84; }
.guide-links button i { width:7px; height:7px; flex:0 0 7px; border:1px solid #b8b7b0; border-radius:50%; }
.guide-links button.active i { border-color:#f0c66e; background:#f0c66e; box-shadow:0 0 9px #f0c66e; }
.guide-links button span { margin-left:auto; color:#777772; font-size:.58rem; }
.guide-link { justify-content:space-between; margin-top:auto; border-bottom:0; text-transform:uppercase; letter-spacing:.08em; }
.scene-hotspots { position:absolute; z-index:2; inset:0 270px 0 0; pointer-events:none; }
.scene-hotspot { position:absolute; display:flex; align-items:center; gap:8px; border:1px solid #ffffffc4; border-radius:30px; padding:9px 14px; background:#050606d9; box-shadow:0 4px 20px #0008; color:white; font:inherit; font-weight:700; font-size:.68rem; letter-spacing:.06em; text-transform:uppercase; pointer-events:auto; cursor:pointer; transition:background .2s,border-color .2s,transform .2s; }
.scene-hotspot:hover { transform:translateY(-2px); border-color:#e6c477; background:#161512ed; }
.scene-hotspot span { font-size:1rem; }
.hotspot-rifles { top:32%; left:5%; }
.hotspot-pistols { bottom:26%; left:44%; }
.hotspot-camping { top:52%; right:7%; }
.showroom-fullscreen { position:absolute; z-index:4; right:calc(min(252px,25%) + 24px); bottom:18px; width:42px; height:42px; border:1px solid #ffffff90; border-radius:50%; background:#060707c7; color:white; font-size:1.35rem; cursor:pointer; }
.showroom-fullscreen:hover { color:#f0c66e; border-color:#f0c66e; }
.about-visual { background-image:linear-gradient(90deg,#090a0bd9,#090a0b40),url('assets/cliente/logo-parabellum-banner.jpg'); background-size:cover; background-position:center; border:1px solid rgba(213,170,84,.28); }
.about-monogram { opacity:0; }
.showroom-bottom { display:flex; align-items:center; gap:17px; min-height:82px; padding:12px 5px 0; }
.view-navigation { display:flex; align-items:center; gap:8px; flex:0 0 auto; }
.view-navigation button { width:36px; height:36px; display:grid; place-items:center; border:1px solid #ffffff70; border-radius:50%; background:#101112; color:white; font-size:1.5rem; cursor:pointer; }
.view-navigation button:hover { border-color:#d5aa54; color:#f0c66e; }
.view-navigation span { min-width:47px; text-align:center; color:#f4f2ec; font-size:.66rem; font-weight:700; }
.view-navigation span i { color:#81817c; font-style:normal; }
.view-mark { display:flex; align-items:center; gap:7px; color:#d3b36f; font-size:1.65rem; }
.view-mark small { color:#d3d1cb; font-size:.5rem; line-height:1.25; letter-spacing:.08em; }
.showroom-rail { display:flex; gap:9px; overflow-x:auto; flex:1 1 auto; scrollbar-width:thin; scrollbar-color:#675637 transparent; }
.showroom-thumb { position:relative; flex:0 0 clamp(104px,12vw,158px); height:59px; overflow:hidden; padding:0; border:1px solid #ffffff50; background:#121313; color:white; cursor:pointer; }
.showroom-thumb img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:brightness(.6) grayscale(.18); transition:filter .2s,transform .2s; }
.showroom-thumb span { position:absolute; inset:auto 0 0; padding:5px 4px; background:#050606a8; font-size:.56rem; letter-spacing:.08em; text-transform:uppercase; }
.showroom-thumb:hover img,.showroom-thumb.active img { filter:brightness(.94); transform:scale(1.04); }
.showroom-thumb.active { border-color:#e7c77c; box-shadow:0 0 0 1px #e7c77c; }
.view-hint { flex:0 0 auto; color:#a7a6a0; font-size:.61rem; line-height:1.45; }
@media(max-width:980px) {
  .showroom-guide { width:226px; }
  .scene-hotspots { right:240px; }
  .hotspot-camping { right:3%; }
  .view-mark,.view-hint { display:none; }
}
@media(max-width:720px) {
  .topbar { min-height:66px; }
  .brand-logo { width:158px; height:54px; }
  .showroom-experience { padding:18px 10px 20px; }
  .showroom-topline { padding:0 5px; align-items:center; }
  .showroom-topline .eyebrow { font-size:.55rem; }
  .showroom-topline h1 { font-size:1.55rem; }
  .showroom-consult { padding:10px; font-size:.6rem; gap:8px; }
  .showroom-frame { height:clamp(560px,112vw,740px); }
  .showroom-scene { object-position:42% center; }
  .showroom-scene.scene-illustration { padding:6% 4% 72% 4%; }
  .showroom-guide { top:auto; left:8px; right:8px; bottom:8px; width:auto; height:224px; padding:10px; gap:7px; }
  .guide-heading { display:flex; align-items:baseline; justify-content:space-between; }
  .guide-map { display:none; }
  .guide-links { grid-template-columns:1fr 1fr; column-gap:12px; }
  .guide-links button { min-height:28px; font-size:.61rem; }
  .guide-link { min-height:25px; }
  .scene-hotspots { right:0; bottom:240px; }
  .scene-hotspot { padding:7px 9px; font-size:.55rem; }
  .hotspot-rifles { top:27%; left:3%; }
  .hotspot-pistols { bottom:12%; left:32%; }
  .hotspot-camping { top:52%; right:2%; }
  .scene-caption { left:12px; bottom:246px; }
  .scene-caption strong { font-size:1.1rem; }
  .showroom-fullscreen { right:12px; top:12px; bottom:auto; width:36px; height:36px; }
  .showroom-bottom { gap:9px; min-height:70px; }
  .view-navigation { gap:5px; }
  .view-navigation button { width:30px; height:30px; }
  .showroom-thumb { flex-basis:98px; height:52px; }
}
@media(max-width:420px) {
  .showroom-topline h1 { font-size:1.28rem; }
  .showroom-consult { font-size:0; }
  .showroom-consult span { font-size:1rem; }
  .guide-links button { font-size:.56rem; }
}

/* Camping & Outdoor: al lado de Accesorios */
.hotspot-outdoor {
  bottom: 26%;
  left: 62%;
  top: auto;
}

/* Tablets */
@media (max-width: 980px) {
  .hotspot-outdoor {
    bottom: 26%;
    left: 60%;
  }
}

/* Celulares: lo ubicamos abajo a la izquierda */
@media (max-width: 720px) {
  .hotspot-outdoor {
    top: auto;
    bottom: 2%;
    left: 3%;
  }
}
/* ───────── Pedido con finalización por WhatsApp ───────── */
.card-availability,.availability,.cart-availability,.complement-meta em{display:inline-flex;align-items:center;gap:6px;font-size:9px;letter-spacing:.08em;text-transform:uppercase;font-style:normal;color:#b9bcb6}
.card-availability{margin:0 0 9px}
.card-availability:before,.availability:before,.cart-availability:before,.complement-meta em:before{content:"";width:6px;height:6px;border-radius:50%;background:#c9a55e}
.is-disponible:before{background:#8fb26a!important}.is-agotado:before{background:#b94438!important}.is-agotado{color:#e19a90!important}
.price-consult{font-size:13px!important;color:#cdbb92}
.availability{display:flex;margin:6px 0 0}
.dialog-copy .primary:disabled{background:#3a3d3a;color:#8d908a;cursor:not-allowed}

.cart-dialog{width:min(640px,100%);padding:30px 28px 24px}
.cart-dialog h2{margin-bottom:16px}
.cart-items{gap:0}
.cart-row{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 0}
.cart-thumb{width:64px;height:64px;object-fit:contain;padding:6px;background:#0f1211;border:1px solid var(--line)}
.cart-info{display:grid;gap:4px;min-width:0}
.cart-info strong{font:17px var(--serif);font-weight:400;line-height:1.25}
.cart-unit{color:#e6d2a8;font-size:12px}
.cart-regulated{color:#d5a75b;font-size:10px;line-height:1.4}
.cart-controls{display:grid;justify-items:end;gap:8px}
.cart-subtotal{font:15px var(--serif);color:var(--ink);white-space:nowrap}
.cart-row .cart-remove{border:0;padding:2px 0;background:none;color:#a7aa9d;font-size:10px;text-decoration:underline;text-underline-offset:3px}
.cart-row .cart-remove:hover{color:#e19a90}
.qty{display:flex;align-items:center;border:1px solid var(--line);background:#0f1211}
.qty button{width:30px;height:30px;border:0;background:none;font-size:16px}
.qty button:hover:not(:disabled){color:var(--gold)}
.qty button:disabled{opacity:.35;cursor:not-allowed}
.qty input{width:38px;height:30px;border:0;border-inline:1px solid var(--line);background:transparent;color:var(--ink);text-align:center;font:13px var(--sans);-moz-appearance:textfield}
.qty input::-webkit-inner-spin-button,.qty input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.qty-fixed{color:var(--muted);font-size:11px}
.cart-summary{padding-top:16px}
.cart-summary .total-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font:19px var(--serif)}
.cart-summary .total-row strong{font-weight:400;color:#f0d49a}
.cart-summary small{display:block;margin-top:6px;color:var(--muted);font-size:11px;line-height:1.5}
.cart-changes{margin:0 0 14px;padding:12px 14px;border:1px solid #d5a75b80;border-left:3px solid var(--gold);background:#d5a75b14;font-size:12px;line-height:1.5}
.cart-changes ul{margin:6px 0;padding-left:18px}
.cart-changes small{color:var(--muted)}
.cart-ack{display:flex;gap:10px;align-items:flex-start;margin:16px 0 0;padding:12px;border:1px solid var(--line);background:#111413;color:#d8d6cc;font-size:11px;line-height:1.5;cursor:pointer}
.cart-ack input{margin-top:2px;accent-color:#d5a75b;width:16px;height:16px;flex:none}
.cart-preview{margin:14px 0 0;border:1px solid var(--line)}
.cart-preview summary{padding:10px 12px;cursor:pointer;color:#d7c496;font-size:11px;letter-spacing:.06em}
.cart-preview pre{margin:0;padding:12px;max-height:220px;overflow:auto;border-top:1px solid var(--line);background:#0c0e0d;color:#cfcfc6;font:11px/1.55 ui-monospace,Menlo,Consolas,monospace;white-space:pre-wrap;word-break:break-word}
.whatsapp-checkout{width:100%;min-height:52px;margin-top:18px;font-size:11px}
.whatsapp-checkout:disabled{background:#3a3d3a;color:#8d908a;cursor:not-allowed}
.checkout-status{min-height:1em;margin:10px 0 0;color:#e6d2a8;font-size:12px;line-height:1.5}
.checkout-status a{color:#f0d49a;text-decoration:underline}
.cart-dialog .modal-note{color:var(--muted);line-height:1.6}
.cart-continue{margin-top:8px;padding:8px 0;border:0;background:none;color:#c6c8c6;font-size:11px;letter-spacing:.06em}
.cart-continue:hover{color:var(--gold)}

.complement-dialog{width:min(680px,100%);padding:30px 28px 24px}
.complement-dialog h2{font:28px var(--serif);font-weight:400;margin:8px 0 6px}
.complement-intro{margin:0 0 16px;color:var(--muted);font-size:12px;line-height:1.5}
.complement-list{display:grid;gap:8px}
.complement-card{display:grid;grid-template-columns:auto 64px minmax(0,1fr);align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);background:#111413;cursor:pointer;transition:border-color .2s}
.complement-card:hover,.complement-card:has(input:checked){border-color:var(--gold)}
.complement-card input{width:18px;height:18px;accent-color:#d5a75b}
.complement-card img{width:64px;height:56px;object-fit:contain;background:#0c0e0d}
.complement-copy{display:grid;gap:3px;min-width:0}
.complement-copy strong{font:16px var(--serif);font-weight:400}
.complement-copy small{color:var(--muted);font-size:10px}
.complement-meta{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center}
.complement-meta b{color:#e6d2a8;font-weight:400;font-size:12px}
.complement-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px;flex-wrap:wrap}
.complement-actions .primary{margin-top:0}
.complement-actions .primary:disabled{background:#3a3d3a;color:#8d908a;cursor:not-allowed}

@media(max-width:560px){
  .cart-dialog,.complement-dialog{padding:24px 16px 18px}
  .cart-row{grid-template-columns:52px minmax(0,1fr);gap:10px}
  .cart-thumb{width:52px;height:52px}
  .cart-controls{grid-column:1/-1;grid-template-columns:auto 1fr auto;align-items:center;justify-items:start}
  .cart-subtotal{justify-self:end}
  .complement-card{grid-template-columns:auto 52px minmax(0,1fr);gap:9px}
  .complement-card img{width:52px;height:48px}
  .complement-actions{flex-direction:column-reverse}
  .complement-actions button{width:100%}
}
.cart-ack[hidden],.cart-changes[hidden],.cart-preview[hidden],#footerWhatsApp[hidden]{display:none!important}

/* ═════════════════ ETAPA 2–4 · Sectores, menú, carruseles y secciones ═════════════════ */

/* ── Portada: dos sectores ── */
.gate-page{margin:0;min-height:100vh;display:flex;flex-direction:column;background:#0b0c0c;color:#f3f1ea}
.gate{flex:1;display:flex;min-height:calc(100vh - 38px)}
.gate-panel{position:relative;isolation:isolate;flex:1 1 0;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#fff;text-decoration:none;transition:flex-grow .6s cubic-bezier(.2,.7,.2,1)}
.gate-bg{position:absolute;inset:-2%;z-index:-1;transition:transform 1s ease,filter .6s ease}
.gate-panel:hover .gate-bg,.gate-panel:focus-visible .gate-bg{transform:scale(1.035)}
.gate-panel:focus-visible{outline:2px solid #d5a75b;outline-offset:-6px}
.gate-content{display:flex;flex-direction:column;align-items:center;gap:16px;width:min(520px,88%);text-align:center}
.gate-eyebrow{font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:#d5a75b}
.gate-text{max-width:400px;color:#d6d3c9;font-size:14px;line-height:1.65}
.gate-button{display:inline-flex;align-items:center;gap:14px;margin-top:6px;padding:16px 28px;font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;transition:transform .25s,background .25s,box-shadow .25s}
.gate-panel:hover .gate-button{transform:translateY(-2px)}
.gate-armeria{border-right:1px solid #ffffff1f}
.gate-armeria .gate-bg{background:radial-gradient(ellipse at 50% 42%,transparent 0,#000a 75%),linear-gradient(0deg,#050606 0%,transparent 45%),url('fondo.jpg') center/cover,#111;filter:brightness(.85)}
.gate-armeria:hover .gate-bg{filter:brightness(1)}
.gate-logo{width:min(440px,100%);height:auto;-webkit-mask-image:radial-gradient(ellipse 62% 58% at 50% 50%,#000 55%,transparent 100%);mask-image:radial-gradient(ellipse 62% 58% at 50% 50%,#000 55%,transparent 100%);filter:drop-shadow(0 18px 30px #000)}
.gate-armeria .gate-button{background:#d5a75b;color:#141410;box-shadow:0 10px 30px #d5a75b26}
.gate-armeria:hover .gate-button{background:#edc579;box-shadow:0 14px 40px #d5a75b40}
.gate-camping .gate-bg{background:radial-gradient(ellipse 70% 45% at 50% 92%,#ff9a3c66,transparent 70%),linear-gradient(0deg,#170e08 2%,transparent 55%),linear-gradient(180deg,#1a100a99,transparent 35%),url('assets/cliente/camp.jpg') center/cover,#2a1b10;filter:sepia(.85) saturate(1.45) hue-rotate(-12deg) brightness(.6) contrast(1.05)}
.gate-camping:hover .gate-bg{filter:sepia(.8) saturate(1.5) hue-rotate(-12deg) brightness(.72) contrast(1.05)}
.gate-camping .gate-content{padding:34px clamp(22px,4vw,44px) 30px;border-radius:4px;background:repeating-linear-gradient(0deg,#0000 0 31px,#00000059 31px 33px),repeating-linear-gradient(90deg,#ffdcaa08 0 1px,#0000 1px 6px),linear-gradient(180deg,#6b4527,#4a2f1b);box-shadow:0 26px 60px #000c,inset 0 0 0 1px #ffd9a024,inset 0 0 40px #0006}
.gate-camping .gate-eyebrow{color:#ffd08a}
.gate-title{font:400 clamp(38px,5vw,64px)/1 'Rockwell','Roboto Slab',Georgia,serif;letter-spacing:.02em;color:#fbecd2;text-shadow:0 3px 0 #2a170b,0 10px 24px #000a}
.gate-title em{font-style:italic;color:#ffbf6b}
.gate-title-mark{display:block;margin-bottom:10px;font-size:.6em;color:#ffbf6b}
.gate-camping .gate-text{color:#f1dfc4}
.gate-camping .gate-button{background:#f2e3c6;color:#3a2412;box-shadow:0 10px 30px #ff9a3c22}
.gate-camping:hover .gate-button{background:#ffd08a}
.gate-footer{padding:12px 16px;text-align:center;color:#8f928c;font-size:10px;letter-spacing:.06em;border-top:1px solid #ffffff14}
@media(hover:hover) and (min-width:761px){.gate-panel:hover{flex-grow:1.22}}
@media(max-width:760px){
  .gate{flex-direction:column;min-height:auto}
  .gate-panel{min-height:max(420px,48vh);padding:30px 0}
  .gate-armeria{border-right:0;border-bottom:1px solid #ffffff1f}
  .gate-logo{width:min(320px,86%)}
  .gate-text{font-size:13px}
  .gate-button{padding:14px 22px}
}

/* ── Aviso de demostración ── */
.demo-bar{padding:7px 16px;background:#3b2a12;color:#f3d79c;text-align:center;font-size:11px;letter-spacing:.03em;border-bottom:1px solid #d5a75b55}
.demo-bar[hidden]{display:none}
.demo-phone-note{margin:6px 0 0;color:#f3d79c;font-size:11px}
.demo-phone-note[hidden]{display:none}

/* ── Encabezado de sector en dos filas ── */
.topbar{display:block;height:auto;min-height:0;padding:0}
.topbar-main{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:6px clamp(14px,3vw,48px)}
.brand-logo{height:64px}
.sector-switch{display:inline-flex;align-items:center;gap:8px;min-height:43px;padding:0 16px;border:1px solid #ffffff38;border-radius:24px;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;transition:border-color .2s,color .2s}
.sector-switch small{color:var(--muted);font-weight:400;letter-spacing:.08em}
.sector-switch:hover{border-color:var(--gold);color:var(--gold)}
.topbar .nav{display:block;flex:none;padding:0 clamp(14px,3vw,48px);border-top:1px solid #ffffff12;white-space:normal}
.nav-list{display:flex;flex-wrap:wrap;justify-content:center;gap:0 6px;margin:0;padding:0;list-style:none}
.nav-item{position:relative;display:flex;align-items:center}
.topbar .nav .nav-item>a{display:block;padding:13px 8px;border:0;font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:#dbd9d0}
.topbar .nav .nav-item>a:hover{color:var(--gold)}
.nav-caret{margin-left:-4px;padding:6px 4px;border:0;background:none;color:var(--muted);font-size:10px}
.nav-caret:hover{color:var(--gold)}
.nav-menu{position:absolute;z-index:30;top:100%;left:0;display:none;flex-direction:column;min-width:250px;padding:8px;border:1px solid #ffffff24;background:#0d0f0ff7;box-shadow:0 22px 50px #000b;backdrop-filter:blur(14px)}
.topbar .nav .nav-menu a{display:flex;justify-content:space-between;gap:16px;padding:10px 10px;border:0;font-size:12px;letter-spacing:.02em;text-transform:none;color:#dedcd3}
.topbar .nav .nav-menu a span{color:var(--muted);font-size:10px}
.topbar .nav .nav-menu a:hover{background:#ffffff0d;color:var(--gold)}
.topbar .nav .nav-menu .nav-menu-all{margin-bottom:4px;border-bottom:1px solid #ffffff14;color:var(--gold);font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.nav-item.open .nav-menu{display:flex}
@media(min-width:851px){.nav-item.has-menu:hover .nav-menu,.nav-item.has-menu:focus-within .nav-menu{display:flex}}
section[id],footer[id]{scroll-margin-top:130px}
@media(max-width:1100px){.sector-switch small{display:none}}
@media(max-width:850px){
  .topbar .nav{display:none;position:absolute;left:10px;right:10px;top:calc(100% + 1px);max-height:calc(100vh - 110px);overflow:auto;padding:8px;border:1px solid #ffffff24;background:#0d0f10f8;box-shadow:0 18px 40px #000a}
  .topbar .nav.nav-open{display:block}
  .nav-list{flex-direction:column;align-items:stretch}
  .nav-item{flex-wrap:wrap;border-bottom:1px solid #ffffff12}
  .topbar .nav .nav-item>a{flex:1;padding:14px 10px}
  .nav-caret{width:44px;height:44px;margin:0;font-size:14px}
  .nav-item.open .nav-caret{transform:rotate(180deg)}
  .nav-menu{position:static;flex-basis:100%;min-width:0;padding:0 0 8px 10px;border:0;background:none;box-shadow:none;backdrop-filter:none}
  section[id],footer[id]{scroll-margin-top:84px}
}
@media(max-width:560px){
  .topbar-main{padding:6px 10px;gap:6px}
  .brand-logo{width:128px;height:46px}
  .sector-switch{min-height:36px;padding:0 10px;font-size:8px;gap:5px}
}

/* ── Catálogo: árbol de secciones ── */
.catalog-layout{grid-template-columns:210px minmax(0,1fr)}
.catalog-sidebar .filter b{margin-left:auto;color:var(--muted);font-size:9px;font-weight:400}
.subfilters{display:flex;flex-direction:column;gap:1px;padding:4px 0 10px 24px;border-bottom:1px solid #2a2d2e}
.subfilter{display:flex;justify-content:space-between;gap:8px;padding:7px 6px;border:0;background:none;color:#bfc1bc;font-size:11px;text-align:left}
.subfilter b{color:var(--muted);font-size:9px;font-weight:400}
.subfilter:hover,.subfilter.active{color:var(--gold)}
.subfilter.active{background:#ffffff0a}
.no-results{grid-column:1/-1;padding:34px 24px;border:1px dashed var(--line);text-align:center;color:var(--muted);font-size:13px;line-height:1.6}
.no-results p{margin:0 0 6px}.no-results strong{color:var(--ink)}
.no-results .secondary{display:inline-block;margin-top:12px;color:var(--gold)}
@media(max-width:850px){.catalog-layout{grid-template-columns:170px minmax(0,1fr)}}
@media(max-width:560px){
  .catalog-layout{grid-template-columns:1fr}
  .catalog-sidebar .filters{flex-wrap:wrap;overflow:visible;gap:6px}
  .catalog-sidebar .filter{padding:8px 10px}
  .catalog-sidebar .filter b{margin-left:4px}
  .subfilters{flex-basis:100%;order:99;flex-direction:row;flex-wrap:wrap;gap:6px;padding:4px 0 0;border:0}
  .subfilter{padding:7px 10px;border:1px dashed var(--line)}
  .subfilter.active{border-style:solid;border-color:var(--gold)}
}

/* ── Tarjetas ── */
.card .thumb{width:100%;padding:0;border:0;color:inherit;cursor:pointer;text-align:left}
.card-badges{position:absolute;z-index:3;top:12px;right:12px;display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.badge{display:inline-block;padding:4px 7px;font-size:8px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;line-height:1.2;font-style:normal}
.badge-new{background:var(--gold);color:#161510}
.badge-offer{background:#b94438;color:#fff}
.badge-demo{border:1px solid #ffffff40;background:#0009;color:#e8dcc0;font-weight:400}
.price-previous{display:block;margin-bottom:1px;color:var(--muted);font:11px var(--sans);text-decoration:line-through}
.card.is-soldout .product-visual{filter:grayscale(1) brightness(.6)}
.card-bottom .price{display:flex;flex-direction:column}

/* ── Ficha ── */
.dialog-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.dialog-badges:empty{display:none}
.dialog-price{margin:14px 0 4px}
.dialog-price .price{font-size:24px}
.dialog-price small{display:block;margin-top:4px;color:var(--muted);font-size:10px}
.dialog-whatsapp{display:block;margin-top:12px;text-align:center;color:#d7c496;font-size:11px;letter-spacing:.06em;text-decoration:underline;text-underline-offset:3px}
.dialog-whatsapp[hidden]{display:none}
.dialog-art{display:flex;flex-direction:column}
.dialog-art .product-photo-stage{flex:1}
.gallery-thumbs{display:flex;gap:6px;padding:8px;background:#0c0e0e;overflow-x:auto}
.gallery-thumbs button{flex:none;width:64px;height:52px;padding:3px;border:1px solid var(--line);background:#141716}
.gallery-thumbs button.active{border-color:var(--gold)}
.gallery-thumbs img{display:block;width:100%;height:100%;object-fit:contain}
.scene-sector-link{margin-top:4px;color:#f0cf84;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;text-decoration:underline;text-underline-offset:4px}
.scene-sector-link[hidden]{display:none}

/* ── Carrusel genérico ── */
.carousel{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px}
.carousel-track{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:4px 2px 8px;outline:none}
.carousel-track::-webkit-scrollbar{display:none}
.carousel-track:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.carousel-track>*{flex:none;scroll-snap-align:start}
.carousel-arrow{width:44px;height:44px;display:grid;place-items:center;border:1px solid #ffffff40;border-radius:50%;background:#0f1211;color:var(--ink);font-size:24px;line-height:1;transition:border-color .2s,color .2s,opacity .2s}
.carousel-arrow:hover:not(:disabled){border-color:var(--gold);color:var(--gold)}
.carousel-arrow:disabled{opacity:.25;cursor:default}
.carousel.is-static .carousel-arrow{visibility:hidden}
@media(max-width:560px){.carousel{grid-template-columns:minmax(0,1fr)}.carousel-arrow{display:none}.carousel-track{scroll-padding-left:2px}}

/* ── Nuestras marcas ── */
.brands-section{background:#0d0f0f;border-top:1px solid #ffffff10;border-bottom:1px solid #ffffff10}
.brand-tile{width:clamp(150px,16vw,196px);height:118px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;border:1px solid #ffffff1c;background:linear-gradient(160deg,#1b1f1e,#121514);transition:border-color .25s,transform .25s,background .25s}
.brand-tile:hover{border-color:var(--gold);transform:translateY(-3px);background:linear-gradient(160deg,#232726,#151817)}
.brand-tile img{max-width:72%;max-height:52px;object-fit:contain;filter:grayscale(1) brightness(1.7);opacity:.85;transition:filter .25s,opacity .25s}
.brand-tile:hover img{filter:none;opacity:1}
.brand-wordmark{color:#e7e4da;font:700 clamp(15px,1.5vw,20px)/1 var(--sans);letter-spacing:.14em;text-transform:uppercase}
.brand-tile:hover .brand-wordmark{color:var(--gold)}
.brand-tile small{color:var(--muted);font-size:9px;letter-spacing:.1em;text-transform:uppercase}

/* ── Últimos ingresos ── */
.nov-card{width:clamp(210px,21vw,260px);border:1px solid #ffffff17;background:var(--panel);transition:border-color .25s,transform .25s}
.nov-card:hover{border-color:#d5a75b88;transform:translateY(-3px)}
.nov-media{position:relative;width:100%;aspect-ratio:4/3;display:grid;place-items:center;padding:0;border:0;overflow:hidden;background:radial-gradient(ellipse,#3a403c,#151817 72%);cursor:pointer}
.nov-media img{width:86%;height:80%;object-fit:contain;filter:drop-shadow(0 12px 14px #000a);transition:transform .35s}
.nov-card:hover .nov-media img{transform:scale(1.05)}
.nov-media .badge{position:absolute;top:10px;left:10px;z-index:1}
.nov-copy{padding:13px 14px 15px}
.nov-copy small{color:var(--gold);font-size:9px;letter-spacing:.12em;text-transform:uppercase}
.nov-copy h3{margin:6px 0 10px;font:400 17px/1.25 var(--serif)}
.nov-link{padding:0;border:0;background:none;color:#d7c496;font-size:11px;letter-spacing:.06em}
.nov-link:hover{color:#fff}
.section-empty{padding:28px;border:1px dashed var(--line);color:var(--muted);text-align:center;font-size:13px}
.section-empty p{margin:0 0 8px}
.section-empty .secondary{display:inline-block;margin-top:6px;color:var(--gold)}

/* ── Ofertas ── */
.ofertas-section{background:linear-gradient(180deg,#141110,#0f1111)}
.offers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.offer-card{display:flex;flex-direction:column;border:1px solid #ffffff17;background:var(--panel);transition:border-color .25s,transform .25s}
.offer-card:hover{border-color:#b9443888;transform:translateY(-3px)}
.offer-media{position:relative;height:190px;display:grid;place-items:center;padding:0;border:0;background:radial-gradient(ellipse,#40302c,#171413 72%);cursor:pointer}
.offer-media img{width:80%;height:78%;object-fit:contain;filter:drop-shadow(0 12px 14px #000a)}
.offer-off{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#b94438;color:#fff;font-size:13px;font-weight:700;box-shadow:0 6px 18px #0008}
.offer-copy{position:relative;display:flex;flex:1;flex-direction:column;padding:14px 15px 16px}
.offer-copy .card-badges{position:static;flex-direction:row;justify-content:flex-start;margin-bottom:8px}
.offer-copy h3{margin:0 0 6px;font:400 19px/1.25 var(--serif)}
.offer-copy p{flex:1;margin:0 0 10px;color:var(--muted);font-size:11px;line-height:1.5}
.offer-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-top:6px}
.offer-bottom .price{display:flex;flex-direction:column;font-size:19px}

/* ── Gestoría ── */
.gestoria-section{background:radial-gradient(ellipse at 15% 20%,#252a24,#101312 65%)}
.gestoria-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,5vw,64px);align-items:start}
.gestoria-intro p{color:#c9c8bd;font-size:14px;line-height:1.75}
.gestoria-cta{display:inline-block;margin-top:10px}
.gestoria-cta[hidden]{display:none}
.gestoria-note{display:block;margin-top:16px;color:var(--muted);font-size:10px;line-height:1.6}
.gestoria-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.gestoria-card{position:relative;padding:20px 18px 18px;border:1px solid #ffffff1c;background:#141716cc}
.gestoria-index{color:var(--gold);font:28px var(--serif)}
.gestoria-card h3{margin:8px 0 6px;font:400 19px var(--serif)}
.gestoria-card p{margin:0 0 10px;color:var(--muted);font-size:11px;line-height:1.55}
@media(max-width:760px){.gestoria-layout{grid-template-columns:1fr}}
@media(max-width:460px){.gestoria-grid{grid-template-columns:1fr}}
.footer a[hidden]{display:none}

/* ═════════════════ Identidad Camping & Outdoor ═════════════════ */
.sector-camping{
  --bg:#1b140f;--panel:#2a1e15;--panel2:#33251a;--line:#4d3a28;--ink:#f4eadb;--muted:#bda98c;--gold:#e6a65c;--green:#7f8d5b;
  --serif:'Rockwell','Roboto Slab',Georgia,serif;
  --wood:repeating-linear-gradient(90deg,#00000038 0 2px,#0000 2px 190px),repeating-linear-gradient(0deg,#ffdcaa07 0 1px,#0000 1px 6px),linear-gradient(180deg,#3d2a1c,#2b1e14);
  background:var(--bg);color:var(--ink)
}
.sector-camping .topbar{background:var(--wood);border-bottom:2px solid #000a;box-shadow:0 8px 24px #0007}
.sector-camping .topbar .nav{border-top-color:#ffd9a01c}
.sector-camping .nav-menu{background:#2a1d14f7;border-color:#ffd9a033}
.sector-camping .demo-bar{background:#4a2f17}
.camp-brand{display:flex;align-items:center;gap:12px;min-height:64px}
.camp-brand-mark{display:grid;place-items:center;width:46px;height:46px;border:2px solid #e6a65c;border-radius:50%;color:#e6a65c;font-size:20px;box-shadow:inset 0 0 12px #0006}
.camp-brand-text{display:flex;flex-direction:column;gap:3px}
.camp-brand-text strong{font:400 21px/1 var(--serif);letter-spacing:.03em;color:#fbecd2}
.camp-brand-text small{color:#d3bc98;font-size:9px;letter-spacing:.2em;text-transform:uppercase}
.camp-hero{position:relative;isolation:isolate;min-height:clamp(420px,52vw,600px);display:flex;align-items:flex-end;overflow:hidden;border-bottom:3px solid #000}
.camp-hero-media{position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse 55% 40% at 68% 95%,#ff9a3c55,transparent 70%),linear-gradient(90deg,#1b120bf0 0%,#1b120b99 40%,transparent 75%),linear-gradient(0deg,#1b140f 0%,transparent 40%),url('assets/cliente/camp.jpg') center 40%/cover,#2a1b10;filter:sepia(.8) saturate(1.45) hue-rotate(-12deg) brightness(.66)}
.camp-hero-content{max-width:620px;padding:clamp(36px,6vw,80px) clamp(20px,6vw,90px)}
.camp-hero-content .eyebrow{color:#ffcf8a}
.camp-hero h1{margin:14px 0 16px;font:400 clamp(44px,7vw,84px)/.98 var(--serif);color:#fbecd2;text-shadow:0 4px 0 #2a170b,0 12px 30px #000b}
.camp-hero h1 span{color:#ffbf6b;font-style:italic}
.camp-hero p{max-width:470px;color:#efdfc6;font-size:15px;line-height:1.7}
.camp-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.camp-hero-actions .primary{display:inline-block;margin:0}
.camp-hero-actions .secondary{border-color:#ffd9a066;color:#fbecd2}
.sector-camping .primary{background:#e6a65c;color:#2a170b}
.sector-camping .primary:hover{background:#ffc47e}
.sector-camping .catalog{background:var(--wood)}
.sector-camping .catalog-sidebar{background:#20170fe6;border-color:#4d3a28}
.sector-camping .catalog-sidebar .filter{border-bottom-color:#3d2d1f;color:#e3d3b8}
.sector-camping .catalog-sidebar .filter.active{background:#3a2a1b;color:#ffcf8a}
.sector-camping .search-box,.sector-camping .filter-tools select{background:#1a120c;border-color:#5a442e;color:var(--ink)}
.sector-camping .results-caption{color:#c9b494}
.sector-camping .card{background:#2a1e15;border-color:#4d3a28;border-radius:4px}
.sector-camping .card:hover{border-color:#e6a65c99}
.sector-camping .thumb{background:radial-gradient(ellipse,#5a4330,#2a1d13 70%)}
.sector-camping .thumb:before{border-color:#ffdcaa1a}
.sector-camping .tag{background:#1b120bd0;border-color:#ffdcaa22;color:#ffcf8a}
.sector-camping .maker,.sector-camping .nov-copy small{color:#e6a65c}
.sector-camping .card-info h3,.sector-camping .nov-copy h3,.sector-camping .offer-copy h3{font-family:var(--serif)}
.sector-camping .view{border-color:#5a442e}
.sector-camping .view:hover{background:#e6a65c;color:#2a170b}
.sector-camping .price{color:#ffd9a0}
.sector-camping .novedades-section{background:linear-gradient(180deg,#231910,#1b140f)}
.sector-camping .nov-card,.sector-camping .offer-card{background:#2a1e15;border-color:#4d3a28;border-radius:4px;overflow:hidden}
.sector-camping .nov-media,.sector-camping .offer-media{background:radial-gradient(ellipse,#5a4330,#25190f 72%)}
.sector-camping .carousel-arrow{background:#2a1d14;border-color:#ffd9a044}
.sector-camping .ofertas-section{background:var(--wood)}
.sector-camping .section-empty,.sector-camping .no-results{border-color:#5a442e}
.camp-cross{background:#150f0b}
.camp-cross-box{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px clamp(20px,4vw,40px);border:1px solid #ffffff1c;background:linear-gradient(120deg,#101211 0%,#1a1d1b 60%),url('fondo.jpg') center/cover}
.camp-cross-box h2{font-family:Georgia,serif;font-size:clamp(24px,3vw,34px)}
.camp-cross-box p{margin:6px 0 0;color:#b9bbb4;font-size:12px}
.camp-cross-box .secondary{flex:none;color:#d5a75b;border-color:#d5a75b77}
.sector-camping .footer{background:#140e0a;border-top-color:#4d3a28}
.sector-camping .footer a{color:#ffcf8a}
.sector-camping .notice{background:#20170f;color:#d8c6a8}
.sector-camping .dialog,.sector-camping .product-dialog{background:#241a12;border-color:#5a442e}
.sector-camping .dialog-art,.sector-camping .product-photo-stage{background:linear-gradient(145deg,#3a2a1c,#1e150e)}
.sector-camping .dialog-facts div,.sector-camping .cart-ack,.sector-camping .complement-card,.sector-camping .qty,.sector-camping .cart-thumb{background:#1b130d;border-color:#4d3a28}
.sector-camping .cart-preview pre{background:#170f0a}
.sector-camping .cart-count{background:#c0612b}
@media(max-width:700px){.camp-cross-box{flex-direction:column;align-items:flex-start}}
@media(max-width:560px){.camp-brand-mark{width:36px;height:36px;font-size:15px}.camp-brand-text strong{font-size:15px}.camp-brand-text small{font-size:7px;letter-spacing:.12em}.camp-brand{min-height:46px;gap:8px}.camp-hero p{font-size:13px}}
/* Ajustes: portada en fila (anula main{flex-direction:column} heredado) y encabezado compacto en celular */
main.gate{flex-direction:row}
@media(max-width:760px){main.gate{flex-direction:column}}
@media(max-width:560px){
  .header-actions .header-icon,.switch-long,.sector-switch small{display:none}
  .header-actions{gap:6px;flex:none}
  .brand{min-width:0;flex:1 1 auto}
  .brand-logo{width:min(128px,100%);height:44px}
  .cart-btn{padding:8px 9px}
}
/* Orden natural del documento en las páginas de sector (anula el reordenamiento heredado) */
body[data-sector] main{display:block}
@media(max-width:850px){.topbar .nav{background:#0d0f10;backdrop-filter:none}.sector-camping .topbar .nav{background:#2a1d14}}

/* ═════════════════ Etapa 5 · Identidad final: chapa negra (Armería) y Outdoor Parabellum (Camping) ═════════════════ */

/* ── Armería: chapa negra en todo el sector ── */
.sector-armeria{background:#090a0a}
.sector-armeria::before{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(180deg,#0a0b0bb3,#0a0b0bcc),url('fondo.jpg') center/cover no-repeat,#0a0b0b;pointer-events:none}
.sector-armeria .topbar{background:linear-gradient(180deg,#0a0b0be0,#0d0f0fe8),url('fondo.jpg') center 30%/900px auto;border-bottom:1px solid #d5a75b33;box-shadow:0 10px 30px #000a}
.sector-armeria .showroom-experience{background:#060707b3}
.sector-armeria .notice{background:#0d0f0fd9;border-color:#ffffff14}
.sector-armeria .catalog{background:linear-gradient(180deg,#0b0d0dd9,#0b0d0df0)}
.sector-armeria .catalog-sidebar{background:#101313e8;border-color:#ffffff1f;box-shadow:0 12px 30px #0007}
.sector-armeria .search-box,.sector-armeria .filter-tools select{background:#070808e6}
.sector-armeria .card,.sector-armeria .nov-card,.sector-armeria .offer-card{background:#141716f2;border-color:#ffffff1c;box-shadow:0 10px 26px #0008}
.sector-armeria .brands-section{background:#070808b3}
.sector-armeria .brand-tile{background:linear-gradient(160deg,#1b1f1ef2,#101312f2);box-shadow:inset 0 1px 0 #ffffff12,0 8px 20px #0008}
.sector-armeria .novedades-section{background:#0b0d0dcc}
.sector-armeria .ofertas-section{background:linear-gradient(180deg,#120e0ddd,#0b0d0dee)}
.sector-armeria .gestoria-section{background:radial-gradient(ellipse at 15% 20%,#252a24cc,#0b0d0de6 65%)}
.sector-armeria .gestoria-card{background:#121514ee}
.sector-armeria #nosotros{background:#070808b3}
.sector-armeria .footer{background:#060707f2;border-top:1px solid #d5a75b33}
.sector-armeria .section-head h2{text-shadow:0 2px 14px #000}

/* ── Camping: identidad Outdoor Parabellum (bosque + madera) ── */
.sector-camping{--bg:#121810;--forest:linear-gradient(180deg,#14201399,#0f150dcc)}
.sector-camping::before{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(180deg,#0f150dd0,#120e0ae6),url('assets/new/outdoor-lago.jpg') center/cover no-repeat,#121810;pointer-events:none}
.sector-camping{background:#121810}
.camp-logo{width:auto;height:64px;border-radius:3px;box-shadow:0 4px 14px #0008}
.camp-hero{min-height:clamp(440px,48vw,580px);align-items:center;border-bottom:4px solid #2a1b10}
.camp-hero-media{background:radial-gradient(ellipse 60% 45% at 75% 100%,#ff9a3c33,transparent 70%),linear-gradient(90deg,#0d140cf2 0%,#0d140cb3 42%,#0d140c33 75%),linear-gradient(0deg,#1b130d 0%,transparent 35%),url('assets/new/outdoor-lago.jpg') center/cover,#18231a;filter:none}
.camp-hero-emblem{position:absolute;z-index:-1;right:clamp(20px,7vw,110px);top:50%;width:clamp(240px,30vw,400px);aspect-ratio:1;transform:translateY(-50%);border-radius:6px;-webkit-mask-image:radial-gradient(ellipse 72% 72% at 50% 50%,#000 58%,transparent 100%);mask-image:radial-gradient(ellipse 72% 72% at 50% 50%,#000 58%,transparent 100%);filter:drop-shadow(0 20px 40px #000)}
.camp-hero h1{color:#f6edd8}
.camp-hero-content .eyebrow{color:#f3cf8f}
.sector-camping .catalog{background:linear-gradient(180deg,#1b130dee,#170f0aee),var(--wood)}
.sector-camping .novedades-section{background:var(--forest)}
.sector-camping .ofertas-section{background:linear-gradient(180deg,#1b130de6,#170f0af0)}
.sector-camping .camp-cross{background:#0d120cd9}
.sector-camping .footer{background:#0d120cf2}
.sector-camping .topbar{background:linear-gradient(180deg,#1d150ef2,#16100bf2),var(--wood)}

/* ── Portada: panel Camping con la imagen Outdoor Parabellum ── */
.gate-camping .gate-bg{background:radial-gradient(ellipse 70% 40% at 50% 100%,#ff9a3c40,transparent 70%),radial-gradient(ellipse at 50% 42%,transparent 0,#0a0f09b3 78%),linear-gradient(0deg,#120c08 0%,transparent 45%),url('assets/new/outdoor-lago.jpg') center/cover,#18231a;filter:brightness(.82)}
.gate-camping:hover .gate-bg{filter:brightness(.95)}
.gate-camping .gate-content{padding:0;background:none;box-shadow:none;border-radius:0}
.gate-logo-camping{width:min(360px,80%);aspect-ratio:1;object-fit:cover;-webkit-mask-image:radial-gradient(ellipse 66% 66% at 50% 50%,#000 60%,transparent 100%);mask-image:radial-gradient(ellipse 66% 66% at 50% 50%,#000 60%,transparent 100%)}
.gate-camping .gate-eyebrow{color:#f3cf8f}

@media(max-width:850px){.camp-hero-emblem{opacity:.35;right:-40px}}
@media(max-width:560px){.camp-logo{height:44px}.camp-hero-emblem{display:none}.gate-logo-camping{width:min(250px,70%)}}
/* Ajuste: chapa más visible y emblema camping integrado */
.sector-armeria::before{background:radial-gradient(ellipse at 50% 35%,#0a0b0b40,#0a0b0bb3 85%),url('fondo.jpg') center/cover no-repeat,#0a0b0b}
.sector-armeria .topbar{background:linear-gradient(180deg,#0a0b0b99,#0d0f0fb3),url('fondo.jpg') center 30%/900px auto,#0b0c0c}
.sector-armeria .showroom-experience{background:#06070766}
.sector-armeria .notice{background:#0d0f0fcc}
.sector-armeria .catalog{background:#0b0d0d99}
.sector-armeria .brands-section,.sector-armeria #nosotros{background:#07080866}
.sector-armeria .novedades-section{background:#0b0d0d80}
.sector-armeria .ofertas-section{background:linear-gradient(180deg,#120e0d99,#0b0d0daa)}
.sector-armeria .gestoria-section{background:radial-gradient(ellipse at 15% 20%,#252a2499,#0b0d0dbb 65%)}
.gestoria-intro p,.sector-armeria .section-head p{text-shadow:0 1px 6px #000}
.gate-logo-camping{-webkit-mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 72%,transparent 100%);mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 72%,transparent 100%);filter:drop-shadow(0 0 0 #0000)}
.camp-hero-emblem{-webkit-mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 70%,transparent 100%);mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 70%,transparent 100%)}

/* ═════════════════ Camping: logo en alta resolución y local outdoor ═════════════════ */
.camp-logo{height:64px;width:auto;border-radius:3px}
.camp-hero-emblem{width:clamp(280px,34vw,460px)}
@media(max-width:850px){.camp-hero-emblem{opacity:.3}}
.camp-local{background:linear-gradient(180deg,#0f150dd9,#17110cee)}
.camp-local-frame{position:relative;overflow:hidden;border:1px solid #ffd9a033;border-radius:4px;box-shadow:0 26px 60px #000a;background:#1b130d}
.camp-local-frame img{display:block;width:100%;height:auto;aspect-ratio:1408/768;object-fit:cover;filter:saturate(1.05) brightness(.9)}
.camp-local-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#0d0906aa,transparent 28%),radial-gradient(ellipse at 50% 50%,transparent 55%,#0006);pointer-events:none}
.camp-hotspots{position:absolute;inset:0;z-index:1}
.camp-hotspot{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);display:flex;align-items:center;gap:8px;padding:8px 13px 8px 9px;border:1px solid #fff3dccc;border-radius:30px;background:#1b120bd9;color:#fbecd2;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;box-shadow:0 6px 20px #000a;backdrop-filter:blur(6px);transition:background .2s,border-color .2s,transform .2s}
.camp-hotspot i{width:10px;height:10px;border-radius:50%;background:#e6a65c;box-shadow:0 0 0 4px #e6a65c40,0 0 12px #e6a65c;animation:campPulse 2.4s ease-in-out infinite}
.camp-hotspot:hover,.camp-hotspot:focus-visible{background:#e6a65c;border-color:#e6a65c;color:#2a170b;transform:translate(-50%,-50%) translateY(-2px)}
.camp-hotspot:hover i{background:#2a170b;box-shadow:none}
@keyframes campPulse{50%{box-shadow:0 0 0 8px #e6a65c00,0 0 12px #e6a65c}}
.camp-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.camp-chip{padding:9px 14px;border:1px solid #5a442e;border-radius:20px;background:#22180fcc;color:#ecdcc0;font-size:11px;letter-spacing:.05em}
.camp-chip:hover{border-color:#e6a65c;color:#ffcf8a}
@media(max-width:760px){
  .camp-hotspot{padding:0;width:26px;height:26px;justify-content:center;border-radius:50%}
  .camp-hotspot span{display:none}
  .camp-hotspot i{width:9px;height:9px}
}
@media(max-width:560px){.camp-logo{height:40px;max-width:112px;object-fit:cover}}

/* ── Carrusel de marcas automático con logos ── */
.carousel.is-autoplay .carousel-track{scroll-snap-type:none;scroll-behavior:auto;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.brand-tile{width:clamp(170px,17vw,210px);height:124px;gap:12px}
.brand-tile img{width:auto;max-width:76%;height:auto;max-height:56px;object-fit:contain;filter:none;opacity:.72;transition:opacity .25s,transform .25s,filter .25s}
.brand-tile:hover img,.brand-tile:focus-visible img{opacity:1;transform:scale(1.06);filter:drop-shadow(0 0 10px #d5a75b55)}
@media(max-width:560px){.brand-tile{width:150px;height:104px}.brand-tile img{max-height:44px}}

/* ═════════════════ Confianza, contacto, legales ═════════════════ */

/* ── Franja de confianza ── */
.trust-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #ffffff14;border-bottom:1px solid #ffffff14;background:#0b0d0de6}
.trust-item{display:flex;flex-direction:column;gap:3px;padding:16px clamp(14px,2.5vw,32px);border-right:1px solid #ffffff12;transition:background .2s}
.trust-item:last-child{border-right:0}
a.trust-item:hover{background:#ffffff08}
.trust-item b{display:flex;align-items:center;gap:8px;color:var(--ink);font:400 17px var(--serif)}
.trust-item small{color:var(--muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.trust-status i{width:8px;height:8px;border-radius:50%;background:#b94438}
.trust-status.is-open i{background:#8fb26a;box-shadow:0 0 10px #8fb26a}
.sector-camping .trust-strip{background:#17110ce6;border-color:#4d3a28}
.sector-camping .trust-item{border-color:#4d3a2899}
@media(max-width:760px){.trust-strip{grid-template-columns:1fr 1fr}.trust-item:nth-child(2){border-right:0}.trust-item:nth-child(-n+2){border-bottom:1px solid #ffffff12}.trust-item b{font-size:15px}}

/* ── Contacto ── */
.contact-section{background:linear-gradient(180deg,#0b0d0dcc,#080909ee)}
.sector-camping .contact-section{background:linear-gradient(180deg,#0f150dd9,#120e0af2)}
.contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(24px,5vw,64px);align-items:start}
.open-status{display:inline-flex;align-items:center;gap:9px;margin:14px 0 18px;padding:8px 13px;border:1px solid #ffffff22;border-radius:20px;font-size:12px;letter-spacing:.04em}
.open-status i{width:9px;height:9px;border-radius:50%;background:#b94438}
.open-status.is-open{border-color:#8fb26a66;color:#cfe3b8}
.open-status.is-open i{background:#8fb26a;box-shadow:0 0 10px #8fb26a}
.contact-list{display:grid;gap:12px;margin:0 0 22px}
.contact-list div{display:grid;grid-template-columns:96px 1fr;gap:10px;align-items:baseline}
.contact-list dt{color:var(--muted);font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.contact-list dd{margin:0;font-size:15px}
.contact-list dd small{display:block;color:var(--muted);font-size:11px;margin-top:3px}
.contact-list a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}
.hours-table{width:100%;max-width:420px;border-collapse:collapse;font-size:13px}
.hours-table caption{text-align:left;padding-bottom:8px;color:var(--muted);font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.hours-table th,.hours-table td{padding:8px 0;border-bottom:1px solid #ffffff12;text-align:left;font-weight:400}
.hours-table td{text-align:right;color:#dedcd3}
.hours-table tr.is-today th,.hours-table tr.is-today td{color:var(--gold)}
.hours-table th span{margin-left:6px;padding:2px 6px;border:1px solid currentColor;font-size:9px;letter-spacing:.1em;text-transform:uppercase}
.hours-note{display:block;margin-top:8px;color:var(--muted);font-size:11px}
.contact-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.contact-actions .primary{margin:0;display:inline-flex;align-items:center}
.contact-actions .secondary{display:inline-flex;align-items:center}
.contact-side{display:grid;gap:12px}
.rating-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:6px 16px;padding:18px 20px;border:1px solid #ffffff1f;background:#121514e6;transition:border-color .2s}
.rating-card:hover{border-color:var(--gold)}
.rating-value{grid-row:span 2;font:400 46px/1 var(--serif);color:var(--ink)}
.rating-stars{color:#ffffff33;font-size:17px;letter-spacing:2px}
.rating-stars b{color:#f2c14e;font-weight:400}
.rating-copy{grid-column:2;display:flex;flex-direction:column;gap:2px}
.rating-copy strong{font-weight:400;font-size:13px}
.rating-copy small{color:var(--muted);font-size:10px}
.rating-link{grid-column:3;grid-row:1 / span 2;color:var(--gold);font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.map-box{position:relative;aspect-ratio:16/10;border:1px solid #ffffff1f;overflow:hidden;background:#101312}
.map-box iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.2)}
.map-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px;text-align:center;background:linear-gradient(0deg,#0b0d0de6,#0b0d0d99),repeating-linear-gradient(0deg,#ffffff08 0 1px,transparent 1px 40px),repeating-linear-gradient(90deg,#ffffff08 0 1px,transparent 1px 40px),radial-gradient(ellipse at 50% 45%,#2a302b,#0c0e0d 70%)}
.map-placeholder strong{font:400 19px var(--serif)}
.map-placeholder small{color:var(--muted);font-size:10px}
.map-pin{width:26px;height:26px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--gold);box-shadow:0 0 0 6px #d5a75b33,0 10px 20px #000a}
.sector-camping .rating-card{background:#22180fe6;border-color:#4d3a28}
.sector-camping .map-box{border-color:#4d3a28}
@media(max-width:860px){.contact-layout{grid-template-columns:1fr}}
@media(max-width:460px){.contact-list div{grid-template-columns:1fr;gap:2px}.rating-card{grid-template-columns:auto 1fr}.rating-link{grid-column:1 / -1;grid-row:auto}}

/* ── WhatsApp flotante ── */
.wa-float{position:fixed;z-index:9;right:18px;bottom:18px;display:flex;align-items:center;gap:9px;padding:12px 18px 12px 14px;border:1px solid #d5a75b80;border-radius:30px;background:#0b0c0c;color:#f0eee5;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 10px 30px #000a,0 0 0 1px #ffffff26 inset;transition:transform .2s,background .2s}
.wa-float:hover{border-color:var(--gold);background:#1a1c1d;color:var(--gold);transform:translateY(-2px)}
.wa-float svg{width:22px;height:22px}
@media(max-width:560px){.wa-float{right:12px;bottom:12px;padding:13px}.wa-float span{display:none}}

/* ── Aviso de mayoría de edad ── */
.age-locked,.age-locked body{overflow:hidden}
.age-gate{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:16px;background:#050606ee;backdrop-filter:blur(8px)}
.age-card{width:min(520px,100%);padding:30px clamp(20px,5vw,40px);border:1px solid #d5a75b55;background:linear-gradient(180deg,#141716,#0c0e0e),url('fondo.jpg') center/cover;text-align:center;box-shadow:0 30px 80px #000}
.age-card img{width:200px;height:auto;margin:0 auto 14px;display:block}
.age-card h2{margin:0 0 12px;font:400 28px var(--serif)}
.age-card p{color:#cfcdc3;font-size:13px;line-height:1.65}
.age-actions{display:flex;flex-direction:column;gap:10px;margin:20px 0 14px}
.age-actions .primary{margin:0;min-height:48px}
.age-actions .secondary{display:block;text-align:center}
.age-card small a{color:var(--muted);font-size:11px;text-decoration:underline;text-underline-offset:3px}

/* ── Pie: enlaces legales ── */
.footer-legal{flex-basis:100%;display:flex;flex-wrap:wrap;gap:8px 22px;padding-top:12px;border-top:1px solid #ffffff12}
.footer .footer-legal a,.gate-footer .footer-legal a{color:var(--muted);font-size:10px;text-transform:none;letter-spacing:.02em;text-decoration:underline;text-underline-offset:3px}
.footer .footer-legal a:hover{color:var(--gold)}
.gate-footer{display:flex;flex-direction:column;align-items:center;gap:8px}
.gate-footer .footer-legal{justify-content:center;border:0;padding:0}
.gate-footer .footer-legal a{color:#8f928c}

/* ── Ficha: compartir ── */
.dialog-secondary{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 18px;margin-top:12px}
.dialog-secondary .dialog-whatsapp{margin:0}
.dialog-share{padding:0;border:0;background:none;color:#d7c496;font-size:11px;letter-spacing:.06em;text-decoration:underline;text-underline-offset:3px}
.dialog-share:hover{color:#fff}

/* ── Página legal ── */
.legal-main{max-width:820px;margin:0 auto;padding:48px clamp(18px,5vw,40px) 70px;background:#0b0d0de6;line-height:1.75}
.legal-main h1{font:400 clamp(30px,4vw,44px)/1.15 var(--serif);margin:10px 0 6px}
.legal-updated{color:var(--muted);font-size:12px;margin:0 0 22px}
.legal-index{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.legal-index a{padding:7px 12px;border:1px solid var(--line);font-size:11px;color:#d7d5cc}
.legal-index a:hover{border-color:var(--gold);color:var(--gold)}
.legal-main section{padding:22px 0;border-top:1px solid #ffffff12;scroll-margin-top:100px}
.legal-main h2{font:400 22px var(--serif);margin:0 0 10px}
.legal-main p,.legal-main li{color:#cfcdc3;font-size:14px}
.legal-main a:not(.secondary){color:var(--gold);text-decoration:underline;text-underline-offset:3px}
.legal-main .secondary{display:inline-block;color:var(--gold)}
.legal-page .sector-switch{min-height:38px}

/* ── Usados ── */
.badge-used{background:#4a5a3a;color:#eef3e2}
.usados-section{background:linear-gradient(180deg,#0e110fcc,#0b0d0dee)}
.sector-camping .usados-section{background:linear-gradient(180deg,#1b130de6,#170f0af0)}
.used-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.used-actions{display:flex;justify-content:center;margin-top:20px}
.used-actions .secondary{color:var(--gold)}
.filter-tools{grid-template-columns:minmax(200px,1fr) 170px 170px 170px}
.filter-tools select[hidden]{display:none}
@media(max-width:1100px){.filter-tools{grid-template-columns:minmax(160px,1fr) 150px 150px 150px}}
@media(max-width:850px){.filter-tools{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:560px){.filter-tools{grid-template-columns:1fr 1fr}}
.filter-tools:has(#conditionFilter[hidden]){grid-template-columns:minmax(200px,1fr) 180px 190px}
@media(max-width:850px){.filter-tools:has(#conditionFilter[hidden]){grid-template-columns:1fr 1fr}}
.card .card-badges{top:auto;right:auto;left:12px;bottom:10px;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;max-width:calc(100% - 24px)}

/* ── Marcas por rubro ── */
.brand-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.brand-chip{padding:8px 14px;border:1px solid #ffffff2a;border-radius:20px;background:#0d0f0fcc;color:#d7d5cc;font-size:11px;letter-spacing:.06em}
.brand-chip:hover{border-color:var(--gold);color:var(--gold)}
.brand-chip.active{border-color:var(--gold);background:#d5a75b;color:#161510}
.brand-tile[hidden]{display:none}
.brand-tile img{width:auto;max-width:78%;max-height:54px;height:auto;object-fit:contain}
.brand-tile small{min-height:1em}
.carousel.is-fitting .carousel-arrow{visibility:hidden}
.carousel.is-fitting .carousel-track{justify-content:center;-webkit-mask-image:none;mask-image:none}
.carousel.is-fitting .brand-tile[data-clone]{display:none}
@media(max-width:560px){.brand-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.brand-chip{flex:none}}

/* ═════════════════ Showroom con fotos reales y puntos interactivos ═════════════════ */
.showroom-frame{background:#0a0b0b}
.scene-backdrop{position:absolute;inset:-30px;z-index:0;background:#0a0b0b center/cover no-repeat;filter:blur(26px) brightness(.38) saturate(.8);transform:scale(1.05)}
.scene-stage{position:absolute;z-index:1;top:14px;bottom:14px;left:14px;right:calc(min(252px,25%) + 28px);display:grid;place-items:center}
.scene-figure{position:relative;margin:0;width:100%;height:100%;box-shadow:0 20px 60px #000c;border:1px solid #ffffff22}
.scene-figure .showroom-scene{position:static;display:block;width:100%;height:100%;object-fit:fill;filter:brightness(.94) saturate(.95);transform:none;z-index:auto;padding:0;background:none}
.scene-spots{position:absolute;inset:0}
.scene-caption{z-index:2}
.showroom-guide{z-index:3}
.showroom-fullscreen{z-index:4}
.showroom-image-shade,.scene-hotspots{display:none}

.spot{position:absolute;left:var(--x);top:var(--y);z-index:1;width:34px;height:34px;margin:-17px 0 0 -17px;padding:0;border:0;background:none;cursor:pointer}
.spot-dot{position:absolute;inset:7px;border-radius:50%;background:#d5a75b;border:2px solid #fff6e0;box-shadow:0 0 0 0 #d5a75baa,0 4px 14px #000c;animation:spotPulse 2.2s ease-out infinite}
.spot:hover .spot-dot,.spot:focus-visible .spot-dot,.spot.is-open .spot-dot{background:#fff6e0;border-color:#d5a75b;animation:none;transform:scale(1.15)}
.spot:focus-visible{outline:2px solid #fff6e0;outline-offset:2px;border-radius:50%}
@keyframes spotPulse{0%{box-shadow:0 0 0 0 #d5a75bcc,0 4px 14px #000c}70%{box-shadow:0 0 0 14px #d5a75b00,0 4px 14px #000c}100%{box-shadow:0 0 0 0 #d5a75b00,0 4px 14px #000c}}
.spot-label{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translate(-50%,6px);display:grid;gap:2px;min-width:150px;max-width:220px;padding:9px 12px;border:1px solid #d5a75b88;background:#080909f0;color:#f1ece0;text-align:left;white-space:normal;box-shadow:0 12px 30px #000c;opacity:0;pointer-events:none;transition:opacity .18s,transform .18s}
.spot-label b{font:400 15px var(--serif)}
.spot-label small{color:#bdbcb3;font-size:10px;letter-spacing:.04em}
.spot-label em{margin-top:3px;color:var(--gold);font-size:9px;font-style:normal;letter-spacing:.12em;text-transform:uppercase}
.spot-left .spot-label{left:auto;right:-6px;transform:translate(0,6px)}
.spot-right .spot-label{left:-6px;transform:translate(0,6px)}
.spot-below .spot-label{bottom:auto;top:calc(100% + 8px)}
.spot:hover .spot-label,.spot:focus-visible .spot-label,.spot.is-open .spot-label{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.spot-left:hover .spot-label,.spot-left:focus-visible .spot-label,.spot-left.is-open .spot-label,.spot-right:hover .spot-label,.spot-right:focus-visible .spot-label,.spot-right.is-open .spot-label{transform:translate(0,0)}
.spot:hover,.spot:focus-visible,.spot.is-open{z-index:3}
.showroom-thumb{flex-basis:clamp(110px,11vw,150px)}

@media(max-width:980px){.scene-stage{right:254px}}
@media(max-width:720px){
  .scene-stage{top:70px;left:8px;right:8px;bottom:240px}
  .scene-caption{top:12px;bottom:auto;left:12px;right:60px}
  .scene-caption small{display:none}
  .spot{width:30px;height:30px;margin:-15px 0 0 -15px}
  .spot-label{min-width:130px;max-width:170px;padding:7px 9px}
  .spot-label b{font-size:13px}
}
@media(prefers-reduced-motion:reduce){.spot-dot{animation:none}}

/* ── Agregar rápido y aviso del pedido ── */
.card-bottom{margin-bottom:10px}
.card-actions{display:flex;gap:6px}
.card-actions .view{flex:1}
.add-quick{flex:1;padding:8px 10px;border:1px solid var(--gold);background:#d5a75b1f;color:#f0d49a;font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;transition:background .2s,color .2s}
.add-quick:hover{background:var(--gold);color:#161510}
.add-quick.added{background:#4a5a3a;border-color:#8fb26a;color:#eef3e2}
.sector-camping .add-quick{border-color:#e6a65c;background:#e6a65c1f;color:#ffd9a0}
.sector-camping .add-quick:hover{background:#e6a65c;color:#2a170b}
.cart-toast{position:fixed;z-index:20;left:50%;bottom:22px;transform:translate(-50%,140%);display:flex;align-items:center;gap:14px;max-width:calc(100% - 32px);padding:12px 14px 12px 18px;border:1px solid #d5a75b88;background:#0b0d0df5;color:#f1ece0;font-size:12px;box-shadow:0 16px 40px #000c;transition:transform .25s ease;pointer-events:none}
.cart-toast.show{transform:translate(-50%,0);pointer-events:auto}
.cart-toast button{flex:none;padding:7px 12px;border:1px solid var(--gold);background:none;color:var(--gold);font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.cart-toast button:hover{background:var(--gold);color:#161510}
@media(max-width:560px){.cart-toast{bottom:80px;font-size:11px}.card-actions{flex-direction:column}}
@media(max-width:720px){
  .showroom-frame{height:clamp(500px,132vw,640px)}
  .showroom-guide{display:none}
  .scene-stage{top:64px;bottom:12px;left:10px;right:10px}
  .scene-caption strong{font-size:1rem}
  .showroom-fullscreen{top:12px;right:12px}
}

/* ═════════════════ Showroom: efectos e interacciones ═════════════════ */
.showroom-frame:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.scene-figure{transform:perspective(1400px) rotateY(calc(var(--tilt-x,0) * 3.2deg)) rotateX(calc(var(--tilt-y,0) * -2.4deg));transition:transform .6s cubic-bezier(.2,.7,.2,1),opacity .26s ease,filter .26s ease;will-change:transform}
.showroom-frame.is-pointing .scene-figure{transition:transform .14s linear,opacity .26s ease,filter .26s ease}
.scene-backdrop{transform:scale(1.1) translate(calc(var(--tilt-x,0) * -16px),calc(var(--tilt-y,0) * -12px));transition:transform .5s ease,background-image .3s}
.scene-zoom{position:relative;width:100%;height:100%;transform-origin:50% 55%;animation:sceneKenBurns 24s ease-in-out infinite alternate}
@keyframes sceneKenBurns{from{transform:scale(1)}to{transform:scale(1.045)}}

/* Cambio de vista: fundido + barrido de escaneo + puntos que aparecen de a uno */
.showroom-frame.is-switching .scene-figure{opacity:0;filter:blur(8px) brightness(.5)}
.showroom-frame.is-revealing .scene-figure{animation:sceneIn .7s ease-out}
@keyframes sceneIn{from{opacity:.15;filter:brightness(1.7) blur(4px)}to{opacity:1;filter:none}}
.scene-scan{position:absolute;inset:0;overflow:hidden;pointer-events:none;opacity:0}
.scene-scan::before{content:"";position:absolute;left:0;right:0;top:-28%;height:24%;background:linear-gradient(180deg,transparent,#d5a75b1f 60%,#ffe2a8aa 97%,transparent);box-shadow:0 2px 0 #ffe2a8cc,0 0 22px #ffd27a88}
.scene-scan::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 3px,#ffffff07 3px 4px)}
.showroom-frame.is-revealing .scene-scan{animation:scanFade 1.25s ease-out}
.showroom-frame.is-revealing .scene-scan::before{animation:scanMove 1.25s cubic-bezier(.45,.05,.3,1)}
@keyframes scanMove{to{top:108%}}
@keyframes scanFade{0%,78%{opacity:1}100%{opacity:0}}
.showroom-frame.is-revealing .spot{animation:spotIn .6s cubic-bezier(.2,1.5,.4,1) both;animation-delay:calc(.45s + var(--i) * .13s)}
@keyframes spotIn{from{opacity:0;transform:scale(.1)}to{opacity:1;transform:scale(1)}}
.showroom-frame.is-revealing #sceneTitle{animation:titleIn .55s ease-out}
@keyframes titleIn{from{opacity:0;transform:translateY(10px);letter-spacing:.12em}to{opacity:1;transform:none}}

/* Luz que sigue al cursor */
.scene-light{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle 190px at var(--light-x,50%) var(--light-y,50%),#ffe2a833,transparent 70%);mix-blend-mode:screen;opacity:0;transition:opacity .35s}
.showroom-frame.is-pointing .scene-light{opacity:1}

/* Mira que se fija sobre el punto */
.spot-ring{position:absolute;inset:-7px;border:1.5px dashed #ffe2a8;border-radius:50%;opacity:0;pointer-events:none}
.spot-ring::before,.spot-ring::after{content:"";position:absolute;left:50%;top:-6px;width:1.5px;height:7px;margin-left:-.75px;background:#ffe2a8}
.spot-ring::after{top:auto;bottom:-6px}
.spot:hover .spot-ring,.spot:focus-visible .spot-ring,.spot.is-open .spot-ring{opacity:1;animation:ringLock .35s ease-out,ringSpin 5s linear .35s infinite}
@keyframes ringLock{from{opacity:0;transform:scale(2) rotate(-60deg)}to{opacity:1;transform:scale(1) rotate(0)}}
@keyframes ringSpin{to{transform:rotate(360deg)}}
.spot.is-visited .spot-dot{background:#141716;border-color:#d5a75b;animation:none;box-shadow:0 0 0 3px #d5a75b44,0 4px 14px #000c}
.spot.is-visited .spot-dot::after{content:"✓";position:absolute;inset:0;display:grid;place-items:center;color:#f0d49a;font-size:10px;font-weight:700;font-style:normal}

/* Progreso de exploración */
.scene-progress{display:inline-flex;align-items:center;gap:6px;justify-self:start;margin-top:4px;padding:4px 10px;border:1px solid #ffffff33;border-radius:14px;background:#000a;color:#dedcd3;font-size:.62rem;letter-spacing:.06em;text-shadow:none}
.scene-progress b{color:var(--gold)}
.scene-progress:empty{display:none}
.scene-progress.is-complete{border-color:var(--gold);color:#f0d49a;animation:progressGlow 1.2s ease-out}
@keyframes progressGlow{0%{box-shadow:0 0 0 0 #d5a75baa}100%{box-shadow:0 0 0 14px #d5a75b00}}

/* Recorrido automático */
.tour-toggle{display:inline-flex;align-items:center;gap:8px;flex:none;min-height:36px;padding:0 14px;border:1px solid #ffffff55;border-radius:20px;background:#101112;color:#f3f2ee;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;transition:border-color .2s,color .2s,background .2s}
.tour-toggle:hover{border-color:var(--gold);color:#f0c66e}
.tour-toggle[aria-pressed="true"]{border-color:var(--gold);background:#d5a75b22;color:#f0d49a}
.tour-icon{font-size:.7rem}
.showroom-thumb{position:relative}
.thumb-progress{position:absolute;left:0;bottom:0;height:3px;width:0;background:linear-gradient(90deg,#d5a75b,#ffe2a8);z-index:2}
.showroom-thumb.is-touring .thumb-progress{animation:thumbProgress 7s linear forwards}
@keyframes thumbProgress{to{width:100%}}
.showroom-frame.is-touring .scene-live i{background:#d5a75b;box-shadow:0 0 10px #d5a75b}

/* Guía del local en tablet: siempre entra completa */
.showroom-guide{overflow:hidden}
.guide-links button{flex:none}
@media(max-width:1100px) and (min-width:721px){
  .guide-map{height:clamp(70px,9vw,110px)}
  .guide-links button{min-height:28px;font-size:.62rem}
}
@media(max-height:760px) and (min-width:721px){.guide-map{display:none}}
@media(max-width:720px){
  .tour-toggle{padding:0 11px}
  .tour-text{display:none}
  .scene-progress{font-size:.56rem}
}
@media(prefers-reduced-motion:reduce){
  .scene-zoom,.showroom-frame.is-revealing .scene-figure,.showroom-frame.is-revealing .spot,.showroom-frame.is-revealing #sceneTitle,.spot-ring,.scene-progress.is-complete{animation:none!important}
  .scene-figure{transform:none}
  .scene-scan,.scene-light{display:none}
}
@media(max-width:1100px) and (min-width:561px){
  .filter-tools,.filter-tools:has(#conditionFilter[hidden]){grid-template-columns:repeat(3,minmax(0,1fr))}
  .filter-tools:has(#conditionFilter[hidden]){grid-template-columns:repeat(2,minmax(0,1fr))}
  .filter-tools .search-box{grid-column:1/-1}
  .filter-tools select{min-width:0}
}
@media(max-width:980px) and (min-width:721px){.showroom-fullscreen{right:254px;bottom:18px}}
.catalog-sidebar .filter-used{margin-top:8px;border-top:1px solid #ffffff1c}
.catalog-sidebar .filter-used i{color:#8fb26a}
.catalog-sidebar .filter-used.active{background:#2a3324;color:#cfe3b8}
.catalog-sidebar .filter-used.active:before{background:#8fb26a}

/* ═════════════════ Gestoría con íconos ═════════════════ */
.gestoria-section{position:relative;overflow:hidden;background:radial-gradient(ellipse at 85% 0%,#d5a75b1f,transparent 50%),radial-gradient(ellipse at 10% 30%,#252a24cc,#0b0d0dee 70%)}
.gestoria-hero{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(20px,4vw,48px);align-items:center;max-width:960px;margin-bottom:34px}
.gestoria-emblem{width:clamp(96px,11vw,132px);aspect-ratio:1;display:grid;place-items:center;border:1px solid #d5a75b77;border-radius:50%;color:var(--gold);background:radial-gradient(circle,#d5a75b22,#0b0d0d 70%);box-shadow:0 0 0 8px #d5a75b0f,0 0 50px #d5a75b22}
.gestoria-emblem svg{width:52%;height:52%}
.gestoria-intro p{max-width:620px}
.gestoria-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.gestoria-actions .primary{margin:0;display:inline-flex;align-items:center}
.gestoria-actions .secondary{display:inline-flex;align-items:center}
.gestoria-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.gestoria-card{display:flex;flex-direction:column;gap:6px;padding:24px 22px 20px;border:1px solid #ffffff1c;background:linear-gradient(160deg,#171a19ee,#0e1010ee);transition:transform .3s,border-color .3s,box-shadow .3s}
.gestoria-card:hover{transform:translateY(-4px);border-color:#d5a75b88;box-shadow:0 18px 40px #000a,0 0 0 1px #d5a75b33 inset}
.gestoria-icon{display:grid;place-items:center;width:58px;height:58px;margin-bottom:8px;border:1px solid #d5a75b55;border-radius:14px;color:var(--gold);background:#d5a75b14;transition:background .3s,color .3s,transform .3s}
.gestoria-icon svg{width:30px;height:30px}
.gestoria-card:hover .gestoria-icon{background:var(--gold);color:#161510;transform:rotate(-6deg) scale(1.05)}
.gestoria-card{position:relative}
.gestoria-card h3{margin:2px 0 4px}
.gestoria-card p{flex:1}
.gestoria-card .badge-demo{align-self:flex-start}
.gestoria-link{margin-top:8px;color:var(--gold);font-size:11px;letter-spacing:.06em;text-transform:uppercase}
.gestoria-link:hover{color:#fff}
.gestoria-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:34px 0 0;padding:0;list-style:none;border:1px solid #ffffff1c;background:#0b0d0dcc}
.gestoria-steps li{position:relative;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:14px;align-items:center;padding:20px 22px;border-right:1px solid #ffffff14}
.gestoria-steps li:last-child{border-right:0}
.gestoria-steps li:not(:last-child)::after{content:"›";position:absolute;right:-9px;top:50%;transform:translateY(-50%);width:18px;height:18px;display:grid;place-items:center;border-radius:50%;background:#1a1d1c;border:1px solid #d5a75b66;color:var(--gold);font-size:13px;z-index:1}
.step-icon{grid-row:span 2;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1px solid #d5a75b55;color:var(--gold);background:#d5a75b12}
.step-icon svg{width:24px;height:24px}
.gestoria-steps b{font:400 16px var(--serif)}
.gestoria-steps small{color:var(--muted);font-size:11px;line-height:1.5}
.gestoria-note{display:block;margin-top:16px;color:var(--muted);font-size:10px}
@media(max-width:760px){
  .gestoria-hero{grid-template-columns:1fr;justify-items:start}
  .gestoria-steps{grid-template-columns:1fr}
  .gestoria-steps li{border-right:0;border-bottom:1px solid #ffffff14}
  .gestoria-steps li:last-child{border-bottom:0}
  .gestoria-steps li:not(:last-child)::after{content:"⌄";right:auto;left:38px;top:auto;bottom:-9px;transform:none}
}
@media(max-width:560px){
  .gestoria-grid{grid-template-columns:1fr;gap:8px}
  .gestoria-card{display:grid;grid-template-columns:52px 1fr;column-gap:14px;row-gap:2px;padding:16px}
  .gestoria-card>*{grid-column:2}
  .gestoria-card .gestoria-icon{grid-column:1;grid-row:1 / span 4;width:52px;height:52px;margin:0}
  .gestoria-card h3{font-size:17px;margin:0}
  .gestoria-card p{font-size:11px;margin:0}
  .gestoria-link{margin-top:4px}
}

/* Catálogo por tandas */
.grid-more{grid-column:1/-1;display:flex;justify-content:center;padding:18px 0 4px}.grid-more .secondary{min-height:46px;padding:0 26px}.grid-more span{color:var(--muted)}
.offer-card[hidden]{display:none!important}
@media(max-width:560px){.used-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.offers-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.offer-media{height:132px}.offer-off{width:40px;height:40px;font-size:11px;top:8px;right:8px}.offer-copy{padding:10px}.offer-copy h3{font-size:15px}.offer-copy p{font-size:9px}.offer-bottom{flex-direction:column;align-items:stretch;gap:7px}.offer-bottom .price{font-size:14px}.offer-bottom .view{width:100%}.offer-copy .card-badges{flex-wrap:wrap}}

/* Armas como accesos independientes en la barra lateral */
.filter-heading{margin:10px 0 2px;padding:8px 9px 4px;border-top:1px solid #2a2d2e}
.filter-heading-link{display:flex;justify-content:space-between;width:100%;padding:4px 0;border:0;background:none;color:var(--gold);font-size:8px;letter-spacing:.2em;text-transform:uppercase;text-align:left}
.filter-heading-link b{color:#8f9491;font-weight:500}
.filter-heading-link.active,.filter-heading-link:hover{color:#f0d49a}
.subfilter-featured{border:1px solid #d5a75b55!important;color:#f0d49a!important}
.subfilter-featured small{display:block;color:#9da19d;font-size:8px;letter-spacing:.04em;text-transform:none}
.nav-menu-group{color:var(--gold)!important}
.nav-menu-featured{border-top:1px solid #ffffff1a;color:#f0d49a!important}
.nav-menu-featured small{display:block;color:#9da19d;font-size:9px;letter-spacing:.02em;text-transform:none}
@media(max-width:560px){.filter-heading{display:none}}

/* Materiales controlados: consulta directa por WhatsApp */
.controlled-banner{margin:14px 0;padding:12px 14px;border:1px solid #d5a75b55;border-left:3px solid var(--gold);background:#1c1a14;color:#e6dcc4;font-size:12px;line-height:1.55}
.dialog-whatsapp.is-primary{display:flex;align-items:center;justify-content:center;width:100%;min-height:50px;margin:4px 0 6px;background:#0b0c0c;border:1px solid #d5a75b80;color:#f0eee5;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-decoration:none}
.dialog-whatsapp.is-primary:hover{border-color:var(--gold);background:#1a1c1d;color:var(--gold)}
.dialog-secondary:has(.is-primary){flex-direction:column;align-items:stretch}
.add-quick.add-wa{display:inline-flex;align-items:center;justify-content:center;background:#0b0c0c;border-color:#d5a75b80;color:#f0eee5;text-decoration:none}
.add-quick.add-wa:hover{border-color:var(--gold);background:#1a1c1d;color:var(--gold)}
.controlled-strip{display:flex;gap:10px;align-items:flex-start;margin:0 0 12px;padding:10px 12px;border:1px solid #2f3334;background:#141718;color:#b9bcb7;font-size:10px;line-height:1.55}
.controlled-strip span{color:var(--gold);font-size:14px;line-height:1}
@media(max-width:560px){.controlled-strip{font-size:9px}}

/* Ficha de producto: tipografía más limpia y jerarquía clara */
.product-dialog .dialog-copy h2{font:600 clamp(26px,2.6vw,34px)/1.15 var(--sans);letter-spacing:-.01em;color:#f3efe6;margin:10px 0 12px}
.product-dialog .dialog-copy .product-lead{font-size:15px;line-height:1.55;color:#ece4d2}
.product-dialog .dialog-copy p.dialog-description{color:#c2c4bf;font-size:14px;line-height:1.65;margin:0}
.dialog-description.is-clamped{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.read-more{margin:4px 0 12px;padding:4px 0;border:0;background:none;color:var(--gold);font-size:12px;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.product-dialog .dialog-facts small{font-size:9px}
.product-dialog .dialog-facts strong{font-size:13px}
.product-dialog .dialog-price .price{font-size:28px}
.dialog-back{position:absolute;left:14px;top:13px;z-index:2;display:inline-flex;align-items:center;gap:6px;height:35px;padding:0 12px;border:1px solid var(--line);background:#111a;color:#e8e4da;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.dialog-back:hover{border-color:var(--gold);color:var(--gold)}

/* Botón flotante "Volver" */
.back-float{position:fixed;left:18px;bottom:22px;z-index:9;display:inline-flex;align-items:center;gap:8px;max-width:min(70vw,360px);min-height:46px;padding:0 18px;border:1px solid #d5a75b88;border-radius:999px;background:#101213ee;color:#f0d49a;font-size:12px;font-weight:700;letter-spacing:.06em;box-shadow:0 10px 28px #000a;backdrop-filter:blur(6px);animation:back-in .25s ease-out}
.back-float small{overflow:hidden;color:#c9c7bf;font-weight:500;text-overflow:ellipsis;white-space:nowrap;letter-spacing:0}
.back-float:hover{border-color:var(--gold);background:#1a1c1d}
.back-float[hidden]{display:none}
@keyframes back-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(max-width:560px){.back-float{left:12px;bottom:16px;min-height:42px;padding:0 14px;font-size:11px}.back-float small{max-width:34vw}}
@media(prefers-reduced-motion:reduce){.back-float{animation:none}}

/* Showroom: puntos más grandes, con nombre visible y buen contraste */
.spot{width:44px;height:44px;margin:-22px 0 0 -22px}
.spot-dot{inset:9px;background:#f0c66e;border:3px solid #fff;box-shadow:0 0 0 3px #000b,0 0 0 0 #f0c66eaa,0 6px 16px #000d}
.spot-tag{position:absolute;left:calc(100% - 4px);top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;gap:5px;padding:6px 10px 6px 9px;border:1px solid #f0c66e;border-radius:3px;background:#0b0c0ce6;color:#fff7e6;font:700 11px/1 var(--sans);letter-spacing:.05em;white-space:nowrap;box-shadow:0 6px 18px #000c;pointer-events:none;transition:background .18s,color .18s}
.spot-tag i{color:#f0c66e;font-style:normal}
.spot-left .spot-tag{left:auto;right:calc(100% - 4px)}
.spot:hover .spot-tag,.spot:focus-visible .spot-tag,.spot.is-open .spot-tag{background:#f0c66e;color:#121212}
.spot:hover .spot-tag i,.spot.is-open .spot-tag i{color:#121212}
.spot-go .spot-dot{background:#fff;border-color:#f0c66e}
.spot:hover .spot-tag,.spot:focus-visible .spot-tag{opacity:0}
.spot:hover .spot-label,.spot:focus-visible .spot-label{z-index:2}
/* Logos de los carteles: zona clickeable con borde sutil */
.spot-logo{width:var(--w);height:var(--h);margin:0;transform:translate(-50%,-50%);border:1px solid #f0c66e40;border-radius:3px;background:transparent;transition:border-color .18s,box-shadow .18s,background .18s}
.spot-logo:hover,.spot-logo:focus-visible,.spot-logo.is-open{border-color:#f0c66e;background:#f0c66e1f;box-shadow:0 0 18px #f0c66e66;outline:none}
.spot-logo .spot-label{min-width:140px}
.spot-logo.is-visited{border-color:#f0c66e70}
.showroom-frame.is-revealing .spot-logo{animation:none}
/* Durante el zoom entre vistas se ocultan los puntos */
.showroom-frame.is-zooming .scene-spots{opacity:0;pointer-events:none}
.scene-spots{transition:opacity .25s}
.scene-figure{will-change:transform}
@media(max-width:560px){
  .spot{width:38px;height:38px;margin:-19px 0 0 -19px}
  .spot-dot{inset:8px}
  .spot-tag{padding:4px 7px;font-size:9px;letter-spacing:.02em}
  .spot-logo{width:var(--w);height:var(--h);margin:0}
}
/* Guía del local más prolija: lista numerada sin plano */
.showroom-guide .guide-map{display:none}
.guide-links button{gap:10px;min-height:38px;font-size:.72rem;letter-spacing:.01em}
.guide-links button em{color:#8d8b84;font-size:.6rem;font-style:normal;font-variant-numeric:tabular-nums}
.guide-links button.active{color:#f6dda2;font-weight:600}
.guide-links button.active em{color:#f0c66e}
.guide-heading span{font-size:.8rem}
.spot.is-open .spot-tag{opacity:0}
.spot-logo{border:1px dashed #f0c66e99;box-shadow:inset 0 0 0 1px #0006}
.spot-right .spot-tag{left:calc(100% - 4px);right:auto}

/* ── Portada (pedido del cliente): logos más grandes y fondo desenfocado ── */
.gate-armeria .gate-bg{filter:brightness(.78) blur(5px)}
.gate-armeria:hover .gate-bg{filter:brightness(.9) blur(4px)}
.gate-camping .gate-bg{filter:brightness(.7) blur(6px) saturate(.8)}
.gate-camping:hover .gate-bg{filter:brightness(.82) blur(5px) saturate(.9)}
.gate-bg{inset:-4%}
.gate-logo{width:min(600px,100%)}
.gate-logo-camping{width:min(330px,76%);filter:saturate(.85) brightness(.94)}
.gate-text{font-size:15px}
.gate-content{gap:18px}
@media(max-width:760px){.gate-logo{width:min(400px,92%)}.gate-logo-camping{width:min(250px,66%)}}
.gate-logo-camping{-webkit-mask-image:radial-gradient(ellipse 58% 58% at 50% 50%,#000 74%,transparent 100%);mask-image:radial-gradient(ellipse 58% 58% at 50% 50%,#000 74%,transparent 100%)}

/* ── Outdoor: bienvenida y accesos a todas las líneas ── */
.camp-hero{flex-direction:column;align-items:stretch;justify-content:center}
.camp-hero h1{font-size:clamp(40px,5.6vw,72px)}
.camp-hero h1 span{display:block}
.camp-lines{position:relative;z-index:1;display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:1px;margin:0 clamp(20px,6vw,90px) clamp(26px,4vw,44px);border:1px solid #f3cf8f40;background:#f3cf8f26;backdrop-filter:blur(8px)}
.camp-lines button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:86px;padding:12px 6px;border:0;background:#140e09d9;color:#f6edd8;font:600 11px/1.25 var(--sans);letter-spacing:.04em;text-align:center;transition:background .2s,color .2s,transform .2s}
.camp-lines b{font:400 22px/1 var(--serif);color:#ffbf6b}
.camp-lines button:hover,.camp-lines button:focus-visible{background:#3a2615f2;color:#fff}
.camp-lines button:hover b{transform:translateY(-2px)}
.camp-lines .is-outlet{background:#5a1f12d9}
.camp-lines .is-outlet:hover{background:#7a2a18f2}
@media(max-width:1000px){.camp-lines{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:560px){.camp-lines{grid-template-columns:repeat(3,minmax(0,1fr));margin:0 14px 24px}.camp-lines button{min-height:70px;font-size:10px}.camp-lines b{font-size:18px}}

/* ── Formulario de novedades y ofertas ── */
.leads-section{background:linear-gradient(180deg,#0e1011cc,#151312cc)}
.leads-box{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(24px,5vw,70px);align-items:center;max-width:1180px;margin:0 auto;padding:clamp(22px,4vw,44px);border:1px solid #d5a75b44;background:#0b0c0ce6}
.leads-copy h2{margin:10px 0 12px;font:400 clamp(26px,3.4vw,40px)/1.1 var(--serif)}
.leads-copy p{margin:0;color:#b9bab3;font-size:14px;line-height:1.65}
.leads-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.leads-form label{display:grid;gap:6px;color:#cfcfc8;font-size:11px;letter-spacing:.04em}
.leads-form input,.leads-form select{width:100%;min-height:46px;padding:0 12px;border:1px solid #3b3f40;background:#090b0c;color:var(--ink);font:14px var(--sans);outline:none}
.leads-form input:focus,.leads-form select:focus{border-color:var(--gold)}
.leads-form .leads-check{grid-column:1/-1;display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.5;letter-spacing:0}
.leads-check input{width:20px;min-height:20px;height:20px;margin:0;accent-color:var(--gold);flex:0 0 20px}
.leads-check a{color:var(--gold);text-decoration:underline}
.leads-form .primary{grid-column:1/-1;margin:0;min-height:50px}
.leads-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.leads-msg{grid-column:1/-1;min-height:1.3em;margin:0;font-size:13px}
.leads-msg.ok{color:#8fd18a}.leads-msg.err{color:#f0a197}
.sector-camping .leads-box{border-color:#e6a65c55;background:#140e09e6}
@media(max-width:820px){.leads-box{grid-template-columns:1fr}.leads-form{grid-template-columns:1fr}}

/* Carrito: miniaturas más grandes y nítidas */
.cart-thumb{width:88px;height:88px;padding:5px;background:#eceae4;border-color:#ffffff30;border-radius:3px}
.sector-camping .cart-thumb{background:#efe7da}
@media(max-width:560px){.cart-thumb{width:66px;height:66px}}
.showroom-frame.skip-figure-reveal.is-revealing .scene-figure{animation:none}

/* Escena principal de Outdoor con todas las líneas */
.camp-scene{background:linear-gradient(180deg,#0f150dd9,#17110cee)}
.camp-scene-frame img{aspect-ratio:1600/894;filter:saturate(1.05) brightness(1)}
.camp-scene-frame:after{background:linear-gradient(0deg,#0d090655,transparent 22%)}
.camp-scene-frame .camp-hotspot{z-index:2}
.camp-scene-frame .is-outlet-spot{background:#6b2415e6;border-color:#ffc9a8}
@media(max-width:700px){.camp-scene-frame .camp-hotspot{padding:0;width:28px;height:28px;justify-content:center;border-radius:50%}.camp-scene-frame .camp-hotspot span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}}

/* ═════════════════ Ajustes del cliente (fase 2): Outdoor ═════════════════ */
.camp-hero-emblem{right:auto;left:74%;top:44%;transform:translate(-50%,-50%)}
@media(max-width:850px){.camp-hero-emblem{left:70%;opacity:.3}}
.camp-lines{grid-template-columns:repeat(10,minmax(0,1fr))}
@media(max-width:1000px){.camp-lines{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:560px){.camp-lines{grid-template-columns:repeat(3,minmax(0,1fr))}}
.camp-scene{padding-bottom:28px}
.camp-local{padding-top:28px}

/* ═════════════════ Carrito: vías de finalización ═════════════════ */
.cart-actions{display:grid;gap:10px;margin-top:20px}
.cart-actions .cart-continue{order:-1;width:100%;min-height:54px;margin:0;padding:14px 18px;border:1px solid var(--gold);background:transparent;color:#f0d49a;font:700 13px var(--sans);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background .2s,color .2s}
.cart-actions .cart-continue:hover{background:#d5a75b22;color:#fff}
.cart-actions .primary{width:100%;min-height:54px;margin:0;font-size:12px;letter-spacing:.1em}
.cart-actions .whatsapp-checkout{border:1px solid #d5a75b80;background:#0b0c0c;color:#f0eee5}
.cart-actions .whatsapp-checkout:hover:not(:disabled){border-color:var(--gold);background:#1a1c1d;color:var(--gold)}
.cart-actions .online-checkout{background:#2b6cd4;color:#fff}
.cart-actions .online-checkout:hover:not(:disabled){background:#3a7fea}
.cart-actions .primary:disabled{background:#3a3d3a;color:#8d908a;cursor:not-allowed}
@media(min-width:640px){.cart-actions{grid-template-columns:1fr 1fr}.cart-actions .cart-continue{grid-column:1/-1}}
.online-dialog form{display:grid;gap:14px}
.online-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.online-grid label{display:grid;gap:5px;font-size:11px;letter-spacing:.06em;color:#d7c496}
.online-grid .wide{grid-column:1/-1}
.online-grid input{min-height:42px;padding:0 12px;border:1px solid var(--line);background:#0f1211;color:var(--ink);font:14px var(--sans)}
.online-grid input:focus{outline:2px solid var(--gold);outline-offset:0}
.online-options{margin:0;padding:10px 12px;border:1px solid var(--line);display:grid;gap:8px}
.online-options legend{padding:0 6px;color:#d7c496;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.online-options label{display:flex;gap:10px;align-items:center;font-size:13px;cursor:pointer}
.online-options input{accent-color:#d5a75b;width:16px;height:16px}
@media(max-width:560px){.online-grid{grid-template-columns:1fr}}

/* ═════════════════ Landing: "Bienvenido a Parabellum" ═════════════════ */
.gate-page{position:relative}
.gate-welcome{position:absolute;z-index:3;top:clamp(24px,6.5vh,64px);left:0;right:0;text-align:center;pointer-events:none;text-shadow:0 3px 22px #000,0 1px 3px #000}
.gate-welcome h1{margin:0;font:700 clamp(30px,5vw,62px)/1.06 'Cinzel','Trajan Pro',Georgia,'Times New Roman',serif;letter-spacing:.035em;text-transform:uppercase;color:#f4f0e6}
.gate-welcome p{margin:8px 0 0;font:400 clamp(17px,2.1vw,27px) var(--sans,system-ui,sans-serif);color:#f4f0e6}
.gate-shield{position:absolute;z-index:3;left:50%;top:50%;width:clamp(88px,9.5vw,138px);height:auto;transform:translate(-50%,-46%);filter:drop-shadow(0 14px 22px #000d);pointer-events:none}
.gate-panel .gate-content{padding-top:clamp(64px,11vh,130px);gap:18px}
.gate-armeria .gate-bg,.gate-camping .gate-bg{filter:none}
.gate-armeria .gate-bg{background:linear-gradient(180deg,#000b 0,#0000 32%,#0000 52%,#000c 100%),radial-gradient(ellipse 60% 40% at 50% 46%,#0007,transparent 75%),url('assets/new/landing-armeria.jpg') center/cover,#111}
.gate-camping .gate-bg{background:linear-gradient(180deg,#000b 0,#0000 32%,#0000 52%,#000c 100%),radial-gradient(ellipse 60% 40% at 50% 46%,#0007,transparent 75%),url('assets/new/landing-outdoor.jpg') center/cover,#10231a}
.gate-armeria:hover .gate-bg,.gate-camping:hover .gate-bg{filter:brightness(1.12)}
.gate-logo{width:min(480px,86%);filter:drop-shadow(0 6px 22px #000)}
.gate-logo-camping{aspect-ratio:auto;object-fit:contain;width:min(340px,74%);-webkit-mask-image:none;mask-image:none;filter:drop-shadow(0 10px 26px #000c)}
.gate-text{max-width:340px;font-size:clamp(14px,1.3vw,17px);line-height:1.5;color:#f4f0e6;text-shadow:0 2px 14px #000,0 1px 3px #000}
.gate-button{margin-top:6px;padding:14px 34px;border-radius:999px;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.gate-armeria .gate-button{background:#16110dd9;color:#ebcb8c;border:2px solid #d5a75b;box-shadow:0 10px 30px #000a}
.gate-armeria:hover .gate-button{background:#d5a75b;color:#141410;box-shadow:0 14px 40px #d5a75b55}
.gate-camping .gate-button{background:#17381fd9;color:#f4f0e6;border:2px solid #5aa86d;box-shadow:0 10px 30px #000a}
.gate-camping:hover .gate-button{background:#2f7a43;color:#fff;box-shadow:0 14px 40px #4f9b6255}
@media(max-width:760px){
  .gate-welcome{position:relative;top:auto;padding:28px 16px 4px;background:#0b0c0c}
  .gate-shield{position:relative;left:auto;top:auto;transform:none;display:block;width:78px;margin:0 auto;padding:6px 0 14px;background:#0b0c0c;box-sizing:content-box}
  .gate-panel{min-height:max(430px,50vh)}
  .gate-panel .gate-content{padding-top:0}
  .gate-logo{width:min(340px,86%)}
  .gate-logo-camping{width:min(270px,70%)}
}
/* Outdoor: la foto lleva el cartel incorporado y la botonera queda debajo, sin taparlo */
.camp-hero{display:block;min-height:0;background:#140e09}
.camp-hero-stage{position:relative;isolation:isolate;display:flex;align-items:center;aspect-ratio:1600/633;min-height:430px}
.camp-hero-stage .camp-hero-media{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0d140cf2 0%,#0d140cc0 30%,#0d140c40 52%,transparent 70%),linear-gradient(0deg,#140e0999 0%,transparent 22%),url('assets/new/outdoor-hero.jpg') 88% center/cover,#18231a}
.camp-lines{margin:16px clamp(20px,6vw,90px) clamp(22px,3vw,34px)}
@media(max-width:700px){
  .camp-hero-stage{aspect-ratio:auto;min-height:640px;align-items:flex-start}
  .camp-hero-stage .camp-hero-media{background:linear-gradient(180deg,#0d140cf0 0%,#0d140ccc 42%,#0d140c33 66%,transparent 82%),url('assets/new/outdoor-hero.jpg') 100% bottom/auto 100%,#18231a}
}
.camp-hero-emblem{left:76%;-webkit-mask-image:radial-gradient(ellipse 78% 78% at 50% 50%,#000 82%,transparent 100%);mask-image:radial-gradient(ellipse 78% 78% at 50% 50%,#000 82%,transparent 100%)}
.camp-hero-emblem{-webkit-mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent),linear-gradient(0deg,transparent,#000 12%,#000 88%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent),linear-gradient(0deg,transparent,#000 12%,#000 88%,transparent);mask-composite:intersect}
.online-dialog .eyebrow{padding-right:48px}
.cart-toast{opacity:0;visibility:hidden;transition:transform .3s,opacity .3s,visibility .3s}
.cart-toast.show{opacity:1;visibility:visible}

/* ═════════════════ Showroom en celular: sin etiquetas encimadas ═════════════════ */
.scene-info{display:none}
@media(max-width:720px){
  .showroom-frame{height:calc(196px + 76vw)}
  .scene-stage{top:64px;bottom:128px;left:8px;right:8px}
  .spot-tag,.spot-label{display:none!important}
  .spot{width:34px;height:34px;margin:-17px 0 0 -17px}
  .spot-logo{min-width:26px;min-height:20px;width:var(--w);height:var(--h);margin:0;transform:translate(-50%,-50%)}
  .spot-logo.is-open{background:#f0c66e33;border:2px solid #f0c66e}
  .scene-info{position:absolute;z-index:4;left:8px;right:8px;bottom:8px;min-height:104px;display:grid;align-content:center;gap:4px;padding:12px 14px;border:1px solid #d5a75b88;background:#080909f2;color:#f1ece0;box-shadow:0 12px 30px #000c}
  .scene-info p{margin:0;color:#bdbcb3;font-size:12px;text-align:center}
  .scene-info b{font:400 17px var(--serif)}
  .scene-info small{color:#bdbcb3;font-size:11px;letter-spacing:.03em}
  .scene-info button{justify-self:start;margin-top:6px;padding:9px 14px;border:1px solid var(--gold);background:var(--gold);color:#161510;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
}

/* ═════════════════ Landing: logo sin chapa e interacción del escudo ═════════════════ */
.gate-logo{-webkit-mask-image:none;mask-image:none;width:min(440px,84%);filter:drop-shadow(0 4px 18px #000d)}
.gate-shield{pointer-events:auto;cursor:pointer;transition:transform .35s cubic-bezier(.2,.8,.2,1),filter .35s}
/* escudo y secciones reaccionan juntos: tocar cualquiera enciende a los tres */
@media(hover:hover) and (min-width:761px){
  .gate-page:has(.gate-panel:hover) .gate-shield,.gate-page:has(.gate-shield:hover) .gate-shield{transform:translate(-50%,-46%) scale(1.12);filter:drop-shadow(0 0 22px #d5a75bcc) drop-shadow(0 14px 22px #000d)}
  .gate-page:has(.gate-shield:hover) .gate-bg{transform:scale(1.035);filter:brightness(1.12)}
  .gate-page:has(.gate-shield:hover) .gate-button{transform:translateY(-2px)}
  .gate-page:has(.gate-shield:hover) .gate-armeria .gate-button{background:#d5a75b;color:#141410;box-shadow:0 14px 40px #d5a75b55}
  .gate-page:has(.gate-shield:hover) .gate-camping .gate-button{background:#2f7a43;color:#fff;box-shadow:0 14px 40px #4f9b6255}
  .gate-panel:hover{flex-grow:1}
}
@media(max-width:720px){
  .showroom-frame{height:calc(196px + (100vw - 16px) * var(--photo-h,.75))}
}

/* El escudo vive dentro de <main>: queda centrado sobre la unión de las dos secciones (también en celular) */
.gate{position:relative}
.gate-shield{top:50%;left:50%;transform:translate(-50%,-50%)}
@media(hover:hover) and (min-width:761px){
  .gate-page:has(.gate-panel:hover) .gate-shield,.gate-page:has(.gate-shield:hover) .gate-shield{transform:translate(-50%,-50%) scale(1.12)}
}
@media(max-width:760px){
  .gate-welcome{padding:26px 16px 22px}
  .gate-shield{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:88px;margin:0;padding:0;background:none;z-index:4}
  .gate-panel{padding:44px 0 30px}
  .gate-armeria .gate-content{padding-bottom:6px}
  .gate-camping .gate-content{padding-top:34px}
}

/* Ficha de producto: la foto se ubica de forma absoluta dentro del marco para
   que en el celular (Safari) no se corte ni quede debajo de la leyenda o de
   los botones Volver / cerrar. */
.product-photo-stage img{position:absolute;inset:0;max-height:none;padding:40px 34px 58px}
.product-photo-stage>span.product-photo-caption{left:50%;right:auto;bottom:26px;transform:translateX(-50%);width:max-content;max-width:calc(100% - 60px);padding:6px 12px}
@media(max-width:700px){
  .dialog-art,.product-photo-stage{min-height:0}
  .dialog-art{height:auto}
  .dialog-art .product-photo-stage{height:min(360px,62vh);flex:none}
  .product-photo-stage:before{inset:12px}
  .product-photo-stage img{padding:58px 22px 50px}
  .product-photo-stage>span.product-photo-caption{bottom:20px;font-size:8px}
}

/* ═════════════════ Ficha: ampliar la foto (lupa + visor a pantalla completa) ═════════════════ */
.product-photo-stage img.is-zoomable{cursor:zoom-in}
.photo-zoom{position:absolute;z-index:4;right:26px;bottom:22px;display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border:1px solid #d5a75b99;border-radius:18px;background:#080a0cd9;color:#f1ece0;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.photo-zoom svg{width:16px;height:16px;fill:none;stroke:var(--gold);stroke-width:2;stroke-linecap:round}
.photo-zoom:hover{border-color:var(--gold);color:var(--gold)}
.product-photo-stage:has(.photo-zoom)>span.product-photo-caption{left:26px;transform:none;max-width:calc(100% - 170px)}
@media(max-width:700px){
  .photo-zoom{right:20px;bottom:16px;height:32px;padding:0 10px}
  .product-photo-stage:has(.photo-zoom)>span.product-photo-caption{left:20px;max-width:calc(100% - 150px)}
}

.pv-open,.pv-open body{overflow:hidden}
.photo-viewer{--pv-fade:1;position:fixed;inset:0;z-index:100;display:grid;grid-template-rows:auto 1fr auto auto;isolation:isolate;color:#f1ece0;user-select:none;-webkit-user-select:none}
.photo-viewer[hidden]{display:none}
.photo-viewer:before{content:"";position:absolute;inset:0;z-index:-1;background:#040505;opacity:var(--pv-fade)}
.pv-top{display:flex;align-items:center;gap:14px;padding:max(12px,env(safe-area-inset-top)) 14px 10px;opacity:var(--pv-fade)}
.pv-counter{min-width:44px;color:var(--gold);font-size:12px;font-weight:700;letter-spacing:.12em}
.pv-title{flex:1;overflow:hidden;font-size:14px;font-weight:600;white-space:nowrap;text-overflow:ellipsis}
.pv-close{flex:none;width:44px;height:44px;border:1px solid #ffffff40;border-radius:50%;background:#000a;color:#fff;font-size:26px;line-height:1}
.pv-close:hover{border-color:var(--gold);color:var(--gold)}
.pv-stage{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;min-height:0;touch-action:none}
.pv-img{display:block;max-width:100%;max-height:100%;object-fit:contain;transform-origin:center;cursor:zoom-in;will-change:transform;-webkit-user-drag:none}
.photo-viewer.is-zoomed .pv-img{cursor:grab}
.photo-viewer.is-zoomed .pv-img:active{cursor:grabbing}
.pv-nav{position:absolute;top:50%;z-index:2;width:46px;height:46px;margin-top:-23px;border:1px solid #ffffff38;border-radius:50%;background:#000b;color:#fff;font-size:28px;line-height:1;transition:opacity .2s}
.pv-nav:hover{border-color:var(--gold);color:var(--gold)}
.pv-prev{left:14px}.pv-next{right:14px}
.photo-viewer.is-single .pv-nav,.photo-viewer.is-zoomed .pv-nav{opacity:0;pointer-events:none}
.pv-hint{margin:0;padding:8px 14px 4px;color:#a9a89f;font-size:11px;letter-spacing:.04em;text-align:center;opacity:var(--pv-fade);transition:opacity .3s}
.photo-viewer.is-zoomed .pv-hint{opacity:0}
.pv-thumbs{display:flex;justify-content:safe center;gap:6px;padding:8px 12px max(12px,env(safe-area-inset-bottom));overflow-x:auto;opacity:var(--pv-fade);touch-action:pan-x}
.pv-thumbs:empty{display:none}
.pv-thumbs button{flex:none;width:58px;height:46px;padding:2px;border:1px solid #ffffff2e;background:#121414;opacity:.6}
.pv-thumbs button.active{border-color:var(--gold);opacity:1}
.pv-thumbs img{display:block;width:100%;height:100%;object-fit:contain}
@media(max-width:700px){.pv-nav{width:40px;height:40px;margin-top:-20px;font-size:24px}.pv-prev{left:8px}.pv-next{right:8px}}

/* ═════════════════ Showroom: vidriera con los productos del sector, sobre la foto ═════════════════ */
.scene-shelf{position:absolute;z-index:6;left:14px;right:calc(min(252px,25%) + 28px);bottom:14px;display:grid;gap:10px;padding:12px 14px 14px;border:1px solid #d5a75b88;background:#080909f2;color:#f1ece0;box-shadow:0 18px 50px #000d;backdrop-filter:blur(6px)}
.scene-shelf[hidden]{display:none}
.shelf-head{display:flex;align-items:center;gap:12px}
.shelf-title{flex:1;min-width:0;display:grid;gap:1px}
.shelf-title small{color:var(--gold);font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.shelf-title b{font:400 20px/1.15 var(--serif)}
.shelf-title span{color:#bdbcb3;font-size:11px}
.shelf-all{flex:none;padding:9px 13px;border:1px solid var(--gold);background:var(--gold);color:#161510;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.shelf-all:hover{background:#f0c66e}
.shelf-close{flex:none;width:36px;height:36px;border:1px solid #ffffff38;border-radius:50%;background:#0009;color:#fff;font-size:22px;line-height:1}
.shelf-close:hover{border-color:var(--gold);color:var(--gold)}
.shelf-track{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding-bottom:4px;scrollbar-width:thin;scrollbar-color:#d5a75b66 transparent}
.shelf-card{flex:none;width:150px;display:grid;align-content:start;gap:3px;padding:6px 6px 9px;border:1px solid #ffffff22;background:#141716;color:inherit;text-align:left;scroll-snap-align:start;transition:border-color .15s,transform .15s}
.shelf-card:hover,.shelf-card:focus-visible{border-color:var(--gold);transform:translateY(-2px)}
.shelf-photo{display:block;height:96px;margin-bottom:4px;background:linear-gradient(145deg,#222627,#121516)}
.shelf-photo img{display:block;width:100%;height:100%;object-fit:contain;padding:4px}
.shelf-card small{color:var(--gold);font-size:9px;letter-spacing:.1em;text-transform:uppercase}
.shelf-card strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;font-weight:600;line-height:1.3}
.shelf-card .price{font-size:13px}
.shelf-card.is-soldout{opacity:.55}
.shelf-more{place-content:center;justify-items:center;text-align:center;gap:6px}
.shelf-more b{font:400 28px var(--serif);color:var(--gold)}
.shelf-more span{font-size:11px;letter-spacing:.06em}
.shelf-empty{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}
.shelf-empty p{flex:1 1 220px;margin:0;color:#bdbcb3;font-size:12px}
.shelf-empty a{padding:9px 13px;border:1px solid #d5a75b80;background:#0b0c0c;color:#f0eee5;font-size:11px;font-weight:700;letter-spacing:.06em}
.shelf-empty a:hover{border-color:var(--gold);color:var(--gold)}
.shelf-empty p b{color:var(--gold);font-weight:700}
.showroom-frame.has-shelf .scene-caption .scene-progress,.showroom-frame.has-shelf .spot.is-open .spot-label{visibility:hidden}
@media(max-width:980px){.scene-shelf{right:254px}}
@media(max-width:720px){
  .scene-shelf{left:8px;right:8px;bottom:8px;padding:10px 10px 12px;gap:8px}
  .shelf-title small{display:none}
  .shelf-title b{font-size:18px}
  .shelf-all{padding:8px 10px;font-size:9px}
  .shelf-all span{display:none}
  .shelf-card{width:124px}
  .shelf-photo{height:78px}
  .showroom-frame.has-shelf .scene-info{visibility:hidden}
}

/* Registro liviano antes de consultar o pedir */
#registroOverlay{z-index:20}
.registro-dialog h2{margin-bottom:8px}
.registro-intro{margin:0 0 18px;color:var(--muted);font-size:13px;line-height:1.6}
.registro-form label small{color:var(--muted);letter-spacing:0}
.registro-form input,.registro-form select{font-size:16px} /* Safari no hace zoom al enfocar */
.registro-form .registro-clu[hidden]{display:none}
@media(min-width:561px){.registro-dialog .registro-form{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.registro-dialog{padding:24px 18px}.registro-dialog .eyebrow{padding-right:48px}}

/* ───────── Secciones todavía sin productos ───────── */
.topbar .nav .nav-menu a .nav-soon{color:var(--gold);font-size:9px;letter-spacing:.12em;text-transform:uppercase;opacity:.8}
.topbar .nav .nav-menu a:has(.nav-soon),.topbar .nav .nav-link[data-empty]{opacity:.6}
.catalog-sidebar .filter.is-empty{opacity:.6}
.catalog-sidebar .filter.is-empty b{color:var(--gold);font-size:8px;letter-spacing:.12em;text-transform:uppercase}
.no-results-title{font:400 22px var(--serif);color:var(--ink)}
.no-results-title strong{color:var(--gold);font-weight:400}
.no-results .no-results-wa{display:inline-block;margin-top:14px;padding:12px 20px;border:1px solid #d5a75b80;background:#0b0c0c;color:#f0eee5;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.no-results .no-results-wa:hover{border-color:var(--gold);color:var(--gold)}

/* ───────── Sitio en construcción ───────── */
.site-locked body>:not(.site-gate){visibility:hidden}
.site-gate{z-index:1000;background:#050606}
.site-gate .eyebrow{margin-bottom:6px}
.site-gate .age-card p strong{color:var(--ink);font-weight:600}

.online-terms{display:flex;gap:10px;align-items:flex-start;font-size:12px;line-height:1.5;margin:12px 0;cursor:pointer}.online-terms input{width:20px;height:20px;flex:0 0 20px;margin:0;accent-color:var(--gold)}.online-terms a{color:var(--gold);text-decoration:underline}
