 .gallery-main{width:min(1400px,92%);margin:auto}.gallery-hero{min-height:315px;display:grid;grid-template-columns:1fr .85fr;align-items:center;gap:30px;border-bottom:1px solid #252a38;overflow:hidden}.gallery-hero>div{padding:45px 0}.gallery-kicker{font-size:12px;font-weight:800;letter-spacing:1.4px;color:#a385ff}.gallery-hero h1{font-size:clamp(40px,5vw,68px);letter-spacing:-2.5px;line-height:1.05;margin:14px 0}.gallery-hero h1 em{color:#8a62ff;font-style:normal}.gallery-hero p{font-size:15px;line-height:1.8;color:#aeb4c3;max-width:570px}.gallery-hero img{width:100%;height:315px;object-fit:cover;mix-blend-mode:screen;mask-image:linear-gradient(to right,transparent,#000 24%)}.back-link{display:inline-block;margin-top:24px;color:#c9baff;text-decoration:none;font-size:13px}.gallery-content{padding:56px 0}.gallery-top{display:flex;align-items:end;justify-content:space-between;gap:20px}.gallery-top h2{font-size:32px;margin-top:8px}.gallery-top p{color:#aeb4c3;font-size:13px}.gallery-filters{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.gallery-filter{background:#101421;border:1px solid #333b50;border-radius:100px;color:#d5d8e3;padding:11px 19px;cursor:pointer;font-family:inherit;font-weight:600}.gallery-filter.selected,.gallery-filter:hover{background:#7044ed;border-color:#7044ed;color:white}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.gallery-card{background:linear-gradient(180deg,#101522,#0a0d16);border:1px solid #292f41;border-radius:15px;overflow:hidden;transition:transform .2s,border-color .2s}.gallery-card:hover{transform:translateY(-4px);border-color:#6541cb}.photo-open{position:relative;display:block;width:100%;border:0;padding:0;background:#131722;cursor:zoom-in;overflow:hidden}.photo-open img{display:block;width:100%;height:260px;object-fit:cover;transition:transform .3s}.photo-open:hover img{transform:scale(1.05)}.photo-zoom{position:absolute;right:12px;bottom:12px;background:rgba(7,8,15,.85);border:1px solid #6b54a5;color:#fff;border-radius:7px;padding:8px 12px;font-size:12px}.gallery-card-info{padding:18px}.gallery-category{font-size:11px;color:#b59bff;font-weight:700}.gallery-card h3{font-size:18px;margin:7px 0 17px}.gallery-consult{background:transparent;border:1px solid #6745d0;border-radius:7px;color:#b99cff;padding:10px 16px;cursor:pointer;font-weight:700}.gallery-consult:hover{background:#6745d0;color:white}.gallery-cta{margin:10px 0 65px;border:1px solid #5433ad;border-radius:16px;padding:30px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(115deg,#211344,#0c0f1b)}.gallery-cta h2{font-size:26px;margin:8px 0}.gallery-cta p{color:#b2b7c5;font-size:13px;line-height:1.6}.photo-dialog{width:min(940px,94vw);max-height:94vh;margin:auto;border:1px solid #7050d2;border-radius:16px;background:#0c101a;color:white;padding:16px;box-shadow:0 30px 100px #000}.photo-dialog::backdrop{background:rgba(0,0,0,.88)}.dialog-bar,.dialog-actions{display:flex;justify-content:space-between;align-items:center;gap:10px}.dialog-bar{margin-bottom:12px}.dialog-bar button,.dialog-actions button{cursor:pointer;background:#191e2c;border:1px solid #3e4661;color:white;padding:10px 14px;border-radius:8px}.photo-dialog img{display:block;width:100%;max-height:70vh;object-fit:contain;border-radius:10px;background:#080a11}.dialog-actions{margin-top:12px;flex-wrap:wrap}.dialog-actions #dialogConsult{background:#6540d8;border-color:#6540d8}@media(max-width:850px){.gallery-grid{grid-template-columns:repeat(2,1fr)}.gallery-hero{grid-template-columns:1fr}.gallery-hero img{display:none}.gallery-cta{flex-direction:column;align-items:flex-start}}@media(max-width:550px){.gallery-grid{grid-template-columns:1fr}.photo-open img{height:280px}.gallery-hero h1{font-size:42px}.gallery-top{align-items:start;flex-direction:column}.gallery-cta{padding:22px}}
.gallery-card[hidden]{display:none!important}

/* Carruseles por categorías */
.category-showcase{padding:58px 0 15px}.category-intro h2{font-size:clamp(26px,3vw,38px);margin:9px 0}.category-intro p{color:#aeb4c3;line-height:1.7;font-size:14px}.category-jumps{display:flex;flex-wrap:wrap;gap:10px;margin:23px 0 35px}.category-jumps a{color:#d6caff;background:#161124;border:1px solid #5b3e9c;border-radius:999px;padding:10px 15px;text-decoration:none;font-size:13px}.category-jumps a:hover{background:#6843d8;color:#fff}.category-section{padding:20px 0 35px;border-top:1px solid #252a38;scroll-margin-top:90px}.category-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:16px}.category-heading h3{font-size:23px}.category-heading span{font-size:12px;color:#a7a1bb}.category-carousel{max-width:none;height:320px}.category-carousel .carousel-slide img{object-fit:contain;background:radial-gradient(circle at center,#211b3d,#0a0d16)}.category-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;background:radial-gradient(circle,#20183c,#090c15);padding:40px 65px}.category-placeholder span{font-size:50px}.category-placeholder strong{font-size:20px;color:#e7e1ff}.category-placeholder small{color:#aaa2c4;font-size:12px;line-height:1.6;max-width:350px}.category-carousel .carousel-caption{bottom:34px}@media(min-width:850px){.category-showcase{display:grid;grid-template-columns:1fr 1fr;column-gap:22px}.category-intro,.category-jumps{grid-column:1/-1}.category-section{min-width:0}.category-carousel{height:260px}}@media(max-width:600px){.category-carousel{height:245px}.category-heading{align-items:flex-start;flex-direction:column}}

/* Fondo exclusivo para la galería: aurora violeta/azul con trama sutil */
body.gallery-page {
  background-color:#060a18;
  background-image:
    radial-gradient(ellipse 65% 38% at 10% 7%, rgba(102,51,214,.32), transparent 80%),
    radial-gradient(ellipse 55% 30% at 93% 36%, rgba(27,111,178,.24), transparent 80%),
    radial-gradient(ellipse 60% 32% at 15% 75%, rgba(103,36,146,.22), transparent 80%),
    linear-gradient(155deg,#090a19 0%,#0d1426 44%,#0b091d 100%);
  background-attachment:fixed;
}
body.gallery-page::before {
  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background-image:radial-gradient(rgba(176,154,255,.17) .8px,transparent .8px);
  background-size:27px 27px;
  mask-image:linear-gradient(180deg,rgba(0,0,0,.55),transparent 85%);
}
body.gallery-page main,body.gallery-page footer{position:relative;z-index:1}
body.gallery-page .gallery-hero{background:linear-gradient(110deg,rgba(24,17,55,.65),rgba(9,19,37,.1));border-radius:0 0 24px 24px;padding:0 24px}
body.gallery-page .category-section{border-top-color:rgba(157,124,255,.27)}
body.gallery-page .category-carousel{box-shadow:0 16px 45px rgba(0,0,0,.3);border:1px solid rgba(146,105,255,.22);border-radius:15px;overflow:hidden}
@media(max-width:650px){body.gallery-page .gallery-hero{padding:0 12px}}


/* Portada exclusiva de galería: elegante, sin dragón */
body.gallery-page .gallery-hero{
  position:relative;isolation:isolate;min-height:440px;
  grid-template-columns:1fr 0.9fr;gap:40px;
  padding:28px clamp(22px,4vw,65px);
  margin-top:25px;margin-bottom:15px;
  border:1px solid rgba(164,204,207,.20);border-radius:26px;
  background:
    radial-gradient(ellipse at 78% 35%,rgba(58,146,158,.24),transparent 40%),
    radial-gradient(ellipse at 14% 84%,rgba(192,151,96,.13),transparent 45%),
    linear-gradient(115deg,#091720 0%,#0b1d27 49%,#112c35 100%);
  box-shadow:0 28px 90px rgba(0,0,0,.22);
}
body.gallery-page .gallery-hero::before{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background-image:linear-gradient(rgba(220,239,237,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(220,239,237,.035) 1px,transparent 1px);
  background-size:42px 42px;mask-image:linear-gradient(to right,transparent 30%,black);
}
body.gallery-page .gallery-hero>div:first-child{padding:32px 0;position:relative;z-index:2}
body.gallery-page .gallery-hero .gallery-kicker{color:#c8ad82}
body.gallery-page .gallery-hero h1{font-size:clamp(43px,4.7vw,68px);letter-spacing:-2.6px;max-width:650px}
body.gallery-page .gallery-hero h1 em{
  color:#9ad8d3;
  background:linear-gradient(100deg,#d5b785,#a9e1db 58%,#73b8c9);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
body.gallery-page .gallery-hero p{color:#bdcdd1;max-width:570px}
body.gallery-page .gallery-hero .back-link{color:#e3cda7;border-bottom:1px solid rgba(227,205,167,.5);padding-bottom:5px}
.gallery-art{position:relative;min-height:365px;display:grid;place-items:center}
.gallery-art-frame{
  width:min(100%,410px);height:310px;position:relative;overflow:hidden;
  border:1px solid rgba(181,223,222,.32);border-radius:25px;
  background:radial-gradient(circle at 56% 40%,rgba(143,214,208,.25),transparent 49%),linear-gradient(145deg,rgba(51,106,117,.26),rgba(7,21,29,.6));
  box-shadow:0 28px 55px rgba(0,0,0,.3),inset 0 0 35px rgba(169,219,217,.06);
  transform:rotate(-5deg);backdrop-filter:blur(8px)
}
.gallery-art-frame::before{content:"";position:absolute;inset:13px;border:1px solid rgba(220,236,225,.13);border-radius:17px}
.art-label,.art-bottom{position:absolute;left:29px;z-index:3;color:#e5d0ab;font-size:10px;letter-spacing:2px;font-weight:700}
.art-label{top:26px}.art-bottom{bottom:24px;color:#a7c3c4;font-size:9px}
.art-object{position:absolute;filter:drop-shadow(16px 20px 15px rgba(0,0,0,.3))}
.art-object-one{
  width:145px;height:145px;top:81px;left:66px;border-radius:25px;
  background:linear-gradient(140deg,#e9d5b2,#ab7f58 55%,#705038);
  transform:rotate(-24deg) skew(-5deg,5deg);box-shadow:inset -18px -18px 22px rgba(55,38,28,.25),inset 12px 12px 20px rgba(255,255,255,.3)
}
.art-object-two{
  width:118px;height:118px;top:98px;right:53px;border-radius:50%;
  background:radial-gradient(circle at 31% 24%,#e0faf0,#7eb8b3 40%,#2e6672 75%,#174452);
  box-shadow:inset -15px -15px 25px rgba(3,29,38,.38)
}
.art-object-three{
  width:110px;height:80px;bottom:47px;left:142px;border-radius:17px;
  transform:rotate(19deg);background:linear-gradient(135deg,#f2d9aa,#c89d67 50%,#815a3d);
  box-shadow:inset -9px -9px 18px rgba(55,32,18,.24)
}
.gallery-art-orbit{position:absolute;border:1px solid rgba(160,220,213,.2);border-radius:50%;transform:rotate(-28deg)}
.orbit-one{width:470px;height:210px}.orbit-two{width:390px;height:350px;border-color:rgba(215,180,123,.15);transform:rotate(36deg)}
.gallery-art-spark{position:absolute;color:#e6cda2;font-size:30px}.spark-one{right:2%;top:5%}.spark-two{left:4%;bottom:9%;font-size:18px}
@media(max-width:850px){
  body.gallery-page .gallery-hero{grid-template-columns:1fr;gap:0;padding:22px}
  .gallery-art{min-height:310px}.gallery-art-frame{height:270px;width:min(100%,370px)}
  .gallery-art-orbit{max-width:90vw}
}
@media(max-width:500px){
  body.gallery-page .gallery-hero{margin-top:12px;padding:15px}
  body.gallery-page .gallery-hero h1{font-size:42px}
  .gallery-art{min-height:260px}.gallery-art-frame{transform:rotate(-3deg) scale(.82)}
}

/* Portada nueva: impresora 3D, armonizada con la web principal */
body.gallery-page .gallery-hero{background:radial-gradient(ellipse at 77% 48%,rgba(112,76,220,.24),transparent 49%),radial-gradient(ellipse at 13% 88%,rgba(62,93,161,.14),transparent 44%),linear-gradient(112deg,#080b16 0%,#10132a 54%,#171437 100%);border:1px solid rgba(137,113,231,.27);border-radius:24px;box-shadow:0 25px 65px rgba(0,0,0,.22);grid-template-columns:1fr 1fr;min-height:420px;overflow:hidden}
body.gallery-page .gallery-hero::before{background-image:linear-gradient(rgba(181,157,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(181,157,255,.035) 1px,transparent 1px);mask-image:linear-gradient(to right,transparent,black)}
body.gallery-page .gallery-hero .gallery-kicker{color:#ae93ff}
body.gallery-page .gallery-hero h1 em{background:linear-gradient(95deg,#b99cff,#7b73ff 55%,#86b8f4);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
body.gallery-page .gallery-hero p{color:#c4c6df}
body.gallery-page .gallery-hero .back-link{color:#bcaaff;border-bottom:1px solid rgba(188,170,255,.5)}
.printer-hero-art{height:400px;min-height:400px;position:relative;display:grid;place-items:center;overflow:visible}
.printer-hero-art .printer-light{position:absolute;inset:16% 6%;background:radial-gradient(ellipse,rgba(126,80,246,.3),transparent 65%);filter:blur(24px)}
.printer-hero-art .printer-hero-image{position:relative;display:block;width:min(100%,620px);height:380px;object-fit:contain;mask-image:none;mix-blend-mode:normal;filter:drop-shadow(0 25px 30px rgba(0,0,0,.35))}
.printer-art-caption{position:absolute;bottom:20px;right:35px;font-size:10px;letter-spacing:3px;font-weight:700;color:#a6a1cb}
@media(max-width:850px){body.gallery-page .gallery-hero{grid-template-columns:1fr}.printer-hero-art{height:310px;min-height:310px}.printer-hero-art .printer-hero-image{display:block;height:300px}}
@media(max-width:500px){.printer-hero-art{height:235px;min-height:235px}.printer-hero-art .printer-hero-image{height:235px}.printer-art-caption{bottom:0;right:10px;font-size:8px}}

/* Banner fotográfico exclusivo de la galería */
body.gallery-page .gallery-hero.gallery-hero-realista{
 display:block;position:relative;min-height:0;overflow:hidden;
 margin:24px 0 16px;padding:0;border:1px solid rgba(178,113,248,.3);
 border-radius:22px;background:#0b0714;
 box-shadow:0 22px 65px rgba(0,0,0,.38);
}
body.gallery-page .gallery-hero.gallery-hero-realista .galeria-banner-realista{
 display:block;width:100%;height:auto;object-fit:contain;
 mix-blend-mode:normal;mask-image:none;
}
.galeria-volver{
 position:absolute;left:22px;bottom:20px;z-index:2;
 color:#fff;text-decoration:none;font-size:13px;font-weight:700;
 background:rgba(18,10,28,.82);border:1px solid rgba(188,128,240,.65);
 padding:11px 16px;border-radius:999px;backdrop-filter:blur(8px);
}
.galeria-volver:hover{background:#6632a1}
@media(max-width:650px){
 body.gallery-page .gallery-hero.gallery-hero-realista{padding:0;border-radius:14px}
 body.gallery-page .gallery-hero.gallery-hero-realista .galeria-banner-realista{
  width:100%;height:280px;object-fit:cover;object-position:55% center;display:block
 }
 .galeria-volver{left:12px;bottom:12px;padding:9px 12px;font-size:12px}
}

/* Fotos reales del catálogo: mostrar pieza completa sin recortes */
.category-carousel .carousel-slide{background:radial-gradient(circle at center,#27203a,#0c0b16 85%)}
.category-carousel .carousel-slide img{object-fit:contain;padding:12px 16px 46px}
.category-carousel .carousel-slide:after{pointer-events:none}
