:root{--bg:#05020b;--card:rgba(12,8,28,.72);--text:#f8f7ff;--muted:#b7afcf;--cyan:#00f5ff;--pink:#ff2bd6;--violet:#8b5cf6;--green:#29ff99;--danger:#ff4267}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font-family:Inter,system-ui,Segoe UI,Arial,sans-serif;overflow-x:hidden}.bg{position:fixed;inset:0;z-index:-1;background:radial-gradient(circle at 20% 10%,rgba(0,245,255,.26),transparent 32%),radial-gradient(circle at 80% 0%,rgba(255,43,214,.23),transparent 30%),linear-gradient(135deg,#04010a,#0b0422 45%,#05020b)}.bg:after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,#000,transparent)}
.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 24px;background:rgba(4,2,12,.74);backdrop-filter:blur(16px);border-bottom:1px solid rgba(0,245,255,.35);box-shadow:0 0 28px rgba(0,245,255,.12)}.brand{font-weight:900;letter-spacing:.3px;color:#fff;text-decoration:none;text-shadow:0 0 12px var(--cyan),0 0 24px var(--pink)}.brand span{filter:drop-shadow(0 0 8px var(--cyan))}.topbar nav{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}button,a.ghost,.cart,.primary{border:1px solid rgba(0,245,255,.55);border-radius:14px;background:rgba(255,255,255,.05);color:#fff;padding:11px 15px;cursor:pointer;text-decoration:none;font-weight:800;box-shadow:0 0 18px rgba(0,245,255,.12);transition:.2s}button:hover,a.ghost:hover,.cart:hover,.primary:hover{transform:translateY(-1px);box-shadow:0 0 24px rgba(0,245,255,.34),0 0 32px rgba(255,43,214,.18)}.primary{background:linear-gradient(135deg,rgba(0,245,255,.28),rgba(255,43,214,.30));border-color:rgba(255,43,214,.7)}.danger{border-color:rgba(255,66,103,.7);box-shadow:0 0 18px rgba(255,66,103,.15)}.full{width:100%}.hidden{display:none!important}.wrap{width:min(1180px,94vw);margin:28px auto 80px}.catalog-head{display:grid;grid-template-columns:1fr 240px;gap:14px;margin-bottom:18px}input,select{width:100%;border:1px solid rgba(0,245,255,.42);border-radius:16px;background:rgba(255,255,255,.07);color:#fff;padding:14px 16px;outline:none;box-shadow:inset 0 0 20px rgba(0,245,255,.07),0 0 16px rgba(0,245,255,.09)}input::placeholder{color:#b6b0ca}select option{background:#100724}.products{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.product{position:relative;min-height:310px;padding:18px;border:1px solid rgba(0,245,255,.35);border-radius:26px;background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.045));box-shadow:0 0 22px rgba(0,245,255,.12),inset 0 0 40px rgba(255,43,214,.03);overflow:hidden}.product:before{content:"";position:absolute;inset:-2px;background:linear-gradient(120deg,transparent,var(--cyan),transparent,var(--pink),transparent);opacity:.25;z-index:-1}.icon{display:grid;place-items:center;height:112px;border-radius:22px;background:radial-gradient(circle,rgba(0,245,255,.22),rgba(255,43,214,.08));font-size:52px;margin-bottom:12px;text-shadow:0 0 18px var(--cyan)}.product h3{margin:0 0 8px;font-size:18px}.product p{min-height:42px;color:var(--muted);margin:0 0 12px;line-height:1.35}.price{font-size:24px;font-weight:950;margin:12px 0;color:#fff;text-shadow:0 0 12px var(--green)}.cart-panel{position:fixed;right:18px;top:86px;width:min(420px,calc(100vw - 36px));max-height:calc(100vh - 110px);overflow:auto;z-index:20;transform:translateX(110%);transition:.25s;padding:18px;border:1px solid rgba(255,43,214,.55);border-radius:26px;background:rgba(8,5,20,.92);backdrop-filter:blur(18px);box-shadow:0 0 36px rgba(255,43,214,.24)}.cart-panel.open{transform:translateX(0)}.panel-head{display:flex;align-items:center;justify-content:space-between}.panel-head h2{margin:0;text-shadow:0 0 12px var(--pink)}#closeCart,.close{font-size:24px;width:44px;height:44px;padding:0}.cart-item{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(255,255,255,.1);padding:12px 0}.cart-total{display:flex;justify-content:space-between;align-items:center;font-size:22px;font-weight:900;margin:18px 0}.mini,.notice{color:var(--muted);font-size:14px}.modal{position:fixed;inset:0;background:rgba(0,0,0,.72);z-index:40;display:grid;place-items:center;padding:16px}.modal-card{position:relative;width:min(540px,96vw);max-height:92vh;overflow:auto;border:1px solid rgba(0,245,255,.55);border-radius:28px;background:rgba(8,5,20,.95);box-shadow:0 0 44px rgba(0,245,255,.2),0 0 48px rgba(255,43,214,.14);padding:24px}.close{position:absolute;right:14px;top:14px}.form{display:grid;gap:12px}.form h1,.form h2{margin:0 0 8px;text-shadow:0 0 14px var(--cyan)}.account-line,.order-box,.neon-box{border:1px solid rgba(0,245,255,.35);border-radius:22px;background:rgba(255,255,255,.06);padding:16px;box-shadow:0 0 22px rgba(0,245,255,.09)}.order-box{margin:10px 0}.admin-login{max-width:520px;margin:70px auto}.admin-login h1{margin-top:0;text-shadow:0 0 16px var(--cyan)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.stats b{display:block;font-size:30px;margin-top:6px;text-shadow:0 0 12px var(--green)}.orders{display:grid;gap:16px}.order-card h3{margin:0;text-shadow:0 0 12px var(--pink)}.order-head{display:flex;justify-content:space-between;gap:14px;align-items:start}.order-grid{display:grid;grid-template-columns:1.4fr 1fr .8fr;gap:14px;margin-top:14px}.order-grid h4,.products-list h4{margin:0 0 8px;color:#fff;text-shadow:0 0 10px var(--cyan)}.products-list ul{margin:0;padding-left:18px;color:var(--muted)}.status-select{max-width:190px}.empty{text-align:center;color:var(--muted)}
@media(max-width:900px){.products{grid-template-columns:repeat(2,1fr)}.catalog-head,.order-grid,.stats{grid-template-columns:1fr}.topbar{align-items:flex-start;flex-direction:column}.topbar nav{justify-content:flex-start}.wrap{margin-top:18px}}@media(max-width:520px){.products{grid-template-columns:1fr}.product{min-height:auto}.topbar{padding:14px}.ghost,.cart,button{padding:10px 12px}.brand{font-size:15px}}
.product-img{width:100%;height:180px;object-fit:contain;display:block;border-radius:22px;background:radial-gradient(circle,rgba(0,245,255,.22),rgba(255,43,214,.08));border:1px solid rgba(0,245,255,.28);box-shadow:0 0 22px rgba(0,245,255,.12);margin-bottom:12px}.product .icon{height:180px}.product-form{grid-template-columns:1fr 180px 180px;align-items:center;margin:14px 0}.product-form input[type=file]{grid-column:1 / 3}.admin-img-preview{min-height:120px;border:1px dashed rgba(0,245,255,.45);border-radius:18px;display:grid;place-items:center;color:var(--muted);overflow:hidden;background:rgba(255,255,255,.04)}.admin-img-preview img{width:120px;height:120px;object-fit:contain;border-radius:18px}.admin-products{display:grid;gap:12px;margin-top:14px}.admin-product-card{display:grid;grid-template-columns:90px 1fr auto;gap:14px;align-items:center;border:1px solid rgba(0,245,255,.25);border-radius:20px;background:rgba(255,255,255,.045);padding:12px}.admin-product-img{width:90px;height:90px;object-fit:contain;border-radius:18px;border:1px solid rgba(255,43,214,.35);display:grid;place-items:center;font-size:34px;background:rgba(255,255,255,.06)}.admin-product-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.product-admin{margin-bottom:18px}.product-admin h2{margin:0;text-shadow:0 0 12px var(--cyan)}
@media(max-width:760px){.product-form{grid-template-columns:1fr}.product-form input[type=file]{grid-column:auto}.admin-product-card{grid-template-columns:1fr}.admin-product-img{width:100%;height:170px}.admin-product-actions{justify-content:flex-start}}

.order-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.delete-order{border-color:rgba(255,76,139,.7)!important;background:rgba(255,76,139,.12)!important}


.stock-badge{display:inline-flex;align-items:center;justify-content:center;margin:6px 0 10px;padding:7px 10px;border:1px solid rgba(41,255,153,.55);border-radius:999px;color:#fff;background:rgba(41,255,153,.09);box-shadow:0 0 16px rgba(41,255,153,.16);font-weight:900;font-size:12px}
.low-stock{border-color:rgba(255,200,60,.7);background:rgba(255,200,60,.10);box-shadow:0 0 16px rgba(255,200,60,.18)}
.no-stock{border-color:rgba(255,66,103,.7);background:rgba(255,66,103,.10);box-shadow:0 0 16px rgba(255,66,103,.18)}
button:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.4)}
.confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.product-detail .product-img,.product-detail .icon{width:100%;height:260px;margin-bottom:14px}
.product-detail .product-img{object-fit:contain;border-radius:22px;border:1px solid rgba(0,245,255,.35);box-shadow:0 0 22px rgba(0,245,255,.16)}
.order-actions a.primary{display:inline-flex;align-items:center;justify-content:center}

/* SUPER FULL: neón extremo, favoritos, IA, cupones, opiniones y galería premium */
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(circle at 50% 50%,rgba(0,245,255,.10),transparent 36%);animation:pulseNeon 4s ease-in-out infinite alternate}.neon-orbs i{position:fixed;width:160px;height:160px;border-radius:50%;filter:blur(28px);opacity:.28;z-index:-1;animation:floatOrb 9s ease-in-out infinite}.neon-orbs i:nth-child(1){left:4%;bottom:8%;background:#00f5ff}.neon-orbs i:nth-child(2){right:8%;top:20%;background:#ff2bd6;animation-delay:2s}.neon-orbs i:nth-child(3){left:48%;top:8%;background:#29ff99;animation-delay:4s}@keyframes pulseNeon{from{opacity:.65}to{opacity:1}}@keyframes floatOrb{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-28px) scale(1.12)}}
.product{box-shadow:0 0 18px rgba(0,245,255,.16),0 0 42px rgba(255,43,214,.10),inset 0 0 60px rgba(0,245,255,.04)}.product:hover{transform:translateY(-5px) scale(1.01);box-shadow:0 0 28px rgba(0,245,255,.35),0 0 62px rgba(255,43,214,.22)}.fav-btn{position:absolute;right:14px;top:14px;width:44px;height:44px;border-radius:50%;padding:0;font-size:22px;background:rgba(255,43,214,.16);border-color:rgba(255,43,214,.8);z-index:2}.small-price{font-size:18px}.fav-row{display:grid;grid-template-columns:80px 1fr auto;gap:12px;align-items:center;border:1px solid rgba(0,245,255,.25);border-radius:18px;padding:10px;background:rgba(255,255,255,.05)}.fav-row .product-img,.fav-row .icon{width:80px;height:80px;margin:0;border-radius:16px}.coupon-box{margin-top:14px;padding:12px;border:1px solid rgba(41,255,153,.35);border-radius:18px;background:rgba(41,255,153,.06)}.premium-gallery{display:grid;gap:10px}.gallery-main{width:100%;height:320px;object-fit:contain;border-radius:24px;border:1px solid rgba(0,245,255,.45);box-shadow:0 0 26px rgba(0,245,255,.18)}.gallery-thumbs{display:flex;gap:8px;overflow:auto}.gallery-thumb{width:78px;height:78px;object-fit:contain;border-radius:16px;border:1px solid rgba(255,255,255,.18);cursor:pointer;opacity:.72}.gallery-thumb.active{opacity:1;border-color:var(--pink);box-shadow:0 0 16px rgba(255,43,214,.45)}.review{border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:10px;margin:8px 0;background:rgba(255,255,255,.045)}.ai-item{margin-top:10px;padding:10px;border:1px solid rgba(0,245,255,.25);border-radius:16px;background:rgba(255,255,255,.05)}textarea{width:100%;min-height:90px;border:1px solid rgba(0,245,255,.42);border-radius:16px;background:rgba(255,255,255,.07);color:#fff;padding:14px 16px;outline:none;box-shadow:inset 0 0 20px rgba(0,245,255,.07),0 0 16px rgba(0,245,255,.09);resize:vertical}.coupon-form{grid-template-columns:1fr 150px 180px 140px;align-items:center}@media(max-width:760px){.coupon-form,.fav-row{grid-template-columns:1fr}.gallery-main{height:240px}}


/* AJUSTE COMPACTO: compras del cliente y panel admin más chico */
.order-box.compact-order,
.order-box{
  padding:10px 12px;
  margin:7px 0;
  border-radius:16px;
  font-size:13px;
  line-height:1.25;
}
.order-box b{font-size:13px}
.order-box small,.order-box li{font-size:12px}
.order-box ul{margin:6px 0 0 16px;padding:0}
.account-line{
  padding:12px;
  border-radius:16px;
  font-size:13px;
  line-height:1.32;
}

/* Admin compacto */
body.admin-compact .wrap{width:min(1260px,96vw);margin:16px auto 48px}
body.admin-compact .topbar{padding:10px 18px}
body.admin-compact .brand{font-size:15px}
body.admin-compact button,
body.admin-compact a.ghost,
body.admin-compact .primary{
  padding:8px 11px;
  border-radius:11px;
  font-size:12px;
}
body.admin-compact input,
body.admin-compact select,
body.admin-compact textarea{
  padding:9px 11px;
  border-radius:12px;
  font-size:13px;
}
body.admin-compact textarea{min-height:58px}
body.admin-compact .neon-box{
  padding:11px;
  border-radius:17px;
}
body.admin-compact .stats{
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:9px;
  margin-bottom:11px;
}
body.admin-compact .stats b{
  font-size:21px;
  margin-top:2px;
}
body.admin-compact .stats small{font-size:12px}
body.admin-compact .catalog-head{
  gap:9px;
  margin-bottom:10px;
}
body.admin-compact .product-admin{
  margin-bottom:12px;
}
body.admin-compact .product-admin h2{
  font-size:18px;
}
body.admin-compact .mini,
body.admin-compact .notice{
  font-size:12px;
}
body.admin-compact .product-form{
  gap:8px;
  margin:9px 0;
}
body.admin-compact .admin-img-preview{
  min-height:76px;
  border-radius:13px;
  font-size:12px;
}
body.admin-compact .admin-img-preview img{
  width:76px;
  height:76px;
  border-radius:13px;
}
body.admin-compact .admin-products{
  gap:8px;
  margin-top:9px;
}
body.admin-compact .admin-product-card{
  grid-template-columns:60px 1fr auto;
  gap:9px;
  padding:8px;
  border-radius:15px;
}
body.admin-compact .admin-product-img{
  width:60px;
  height:60px;
  border-radius:12px;
  font-size:24px;
}
body.admin-compact .admin-product-card b{
  font-size:13px;
}
body.admin-compact .admin-product-card small,
body.admin-compact .admin-product-card p{
  font-size:12px;
  line-height:1.25;
  margin:3px 0;
}
body.admin-compact .admin-product-actions{
  gap:6px;
}
body.admin-compact .orders{
  gap:9px;
}
body.admin-compact .order-card{
  padding:10px;
  border-radius:17px;
}
body.admin-compact .order-card h3{
  font-size:16px;
}
body.admin-compact .order-head{
  gap:8px;
}
body.admin-compact .order-grid{
  grid-template-columns:1.15fr .9fr .65fr;
  gap:9px;
  margin-top:8px;
}
body.admin-compact .order-grid h4,
body.admin-compact .products-list h4{
  font-size:13px;
  margin-bottom:4px;
}
body.admin-compact .order-grid p,
body.admin-compact .products-list li{
  font-size:12px;
  line-height:1.25;
  margin:2px 0;
}
body.admin-compact .price{
  font-size:17px;
  margin:5px 0;
}
body.admin-compact .status-select{
  max-width:148px;
}
body.admin-compact .order-actions{
  gap:6px;
}
body.admin-compact .products-list ul{
  padding-left:16px;
}

@media(max-width:900px){
  body.admin-compact .order-grid,
  body.admin-compact .stats{grid-template-columns:1fr}
  body.admin-compact .admin-product-card{grid-template-columns:52px 1fr}
  body.admin-compact .admin-product-actions{grid-column:1 / -1;justify-content:flex-start}
}


/* Opiniones de productos */
.review{border:1px solid rgba(0,245,255,.22);background:rgba(255,255,255,.04);border-radius:16px;padding:10px;margin:8px 0;box-shadow:0 0 18px rgba(0,245,255,.08)}
.review span{font-size:13px;line-height:1.35;color:#f7f7ff}.review small{color:#a8fbff}.product-detail textarea,#reviewForm textarea{min-height:95px;resize:vertical}.review-admin-card p{max-width:820px}.review-admin-card .admin-product-img{display:flex;align-items:center;justify-content:center;background:rgba(255,0,230,.10)}
.mini-products{display:grid;gap:8px;margin-top:8px}.mini-product-review{display:flex;justify-content:space-between;gap:10px;align-items:center;border:1px solid rgba(0,245,255,.18);border-radius:12px;padding:7px 9px;background:rgba(255,255,255,.035)}.mini-btn{font-size:12px!important;padding:7px 10px!important;border-radius:10px!important;min-width:84px}


/* Logo chico + slider tipo MercadoLibre */
.st-mini-logo{
  position:absolute;
  top:12px;
  left:18px;
  z-index:999;
  display:flex;
  align-items:center;
  justify-content:center;
}
.st-mini-logo img{
  width:92px;
  max-height:56px;
  object-fit:contain;
  display:block;
}
.ml-slider{
  width:min(1180px,94vw);
  height:320px;
  margin:22px auto;
  border-radius:14px;
  overflow:hidden;
  position:relative;
  background:#202020;
  box-shadow:0 10px 28px rgba(0,0,0,.38);
}
.ml-slide{
  display:none;
  position:absolute;
  inset:0;
  padding:58px 70px;
  box-sizing:border-box;
  background:
    linear-gradient(90deg, rgba(0,0,0,.72), rgba(0,0,0,.18)),
    radial-gradient(circle at 78% 35%, rgba(220,220,220,.28), transparent 35%),
    linear-gradient(135deg,#151515,#3b3b3b);
  color:#fff;
}
.ml-slide.active{display:block;}
.ml-slide span{
  color:#ffd24a;
  font-weight:800;
  text-transform:uppercase;
  font-size:13px;
}
.ml-slide h2{
  font-size:38px;
  margin:10px 0;
}
.ml-slide p{
  font-size:17px;
  max-width:470px;
}
.ml-prev,.ml-next{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:5;
  width:42px;
  height:64px;
  border:0;
  background:rgba(255,255,255,.9);
  color:#333;
  font-size:36px;
  cursor:pointer;
}
.ml-prev{left:0;}
.ml-next{right:0;}
.slider-admin{
  margin:16px;
  padding:14px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:12px;
}
.slider-admin input{
  display:block;
  width:100%;
  max-width:600px;
  margin:8px 0;
  padding:10px;
}
@media(max-width:700px){
  .st-mini-logo{position:relative;top:auto;left:auto;margin:10px auto;width:max-content;}
  .st-mini-logo img{width:86px;}
  .ml-slider{height:220px;margin:14px auto;}
  .ml-slide{padding:38px 42px;}
  .ml-slide h2{font-size:26px;}
  .ml-slide p{font-size:14px;}
}


/* Ajuste: sin texto Sex Shop RS roto + admin compacto de imágenes deslizantes */
.st-mini-logo strong,
.st-mini-logo:not(:has(img)){
  display:none !important;
}
.slider-admin{
  max-width:760px;
  margin:12px auto;
  padding:12px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:12px;
  background:rgba(0,0,0,.28);
}
.slider-admin h2{
  font-size:18px;
  margin:0 0 4px;
}
.slider-admin p{
  font-size:12px;
  margin:0 0 10px;
  opacity:.8;
}
.slider-upload-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
}
.slider-upload-grid label{
  font-size:12px;
  display:flex;
  flex-direction:column;
  gap:5px;
}
.slider-upload-grid input[type="file"]{
  font-size:11px;
  padding:7px;
  border-radius:8px;
}
.slider-admin-actions{
  display:flex;
  gap:8px;
  margin-top:10px;
}
.slider-admin-actions button{
  padding:8px 12px !important;
  font-size:12px !important;
}
.preview-slides{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin-top:10px;
}
.preview-slides img{
  width:100%;
  height:72px;
  object-fit:contain;
  border-radius:8px;
  border:1px solid rgba(255,255,255,.15);
}
@media(max-width:700px){
  .slider-upload-grid,
  .preview-slides{
    grid-template-columns:1fr;
  }
}


/* Banner: imágenes cargadas corregidas automáticamente al tamaño */
.ml-slider{
  aspect-ratio: 1200 / 320;
  height: auto !important;
  min-height: 240px;
}
.ml-slide{
  background-size: contain !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}
@media(max-width:700px){
  .ml-slider{
    aspect-ratio: 1200 / 420;
    min-height: 190px;
  }
}


/* Corrección: el slider no interfiere con botones de la tienda */
.ml-slider{
  pointer-events:auto;
}
.ml-slider .ml-slide{
  pointer-events:none;
}
.ml-slider .ml-prev,
.ml-slider .ml-next{
  pointer-events:auto;
  z-index:20;
}


/* Banner sin recorte: la imagen entra completa en el tamaño del banner */
.ml-slide{
  background-size: contain !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-color: #151515 !important;
}
.preview-slides img{
  object-fit: contain !important;
  background:#151515 !important;
}


/* Admin banners con texto */
.slider-admin{
  max-width:860px;
  margin:12px auto;
  padding:12px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.14);
}
.slider-admin h2{font-size:18px;margin:0 0 4px;}
.slider-admin p{font-size:12px;margin:0 0 10px;opacity:.85;}
.banner-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}
.banner-editor{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.banner-editor input{
  width:100%;
  padding:8px;
  font-size:12px;
  box-sizing:border-box;
}
.banner-editor label{
  font-size:12px;
}
.slider-admin-actions{
  display:flex;
  gap:8px;
  margin-top:10px;
}
.slider-admin-actions button{
  padding:8px 12px !important;
  font-size:12px !important;
}
.preview-slides{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin-top:10px;
}
.preview-slides img{
  width:100%;
  height:70px;
  object-fit:fill;
  border-radius:8px;
}
.ml-slide{
  background-size:100% 100% !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
}
.banner-btn{
  margin-top:10px;
}
@media(max-width:700px){
  .banner-grid,.preview-slides{grid-template-columns:1fr;}
}


/* Banners editables Sex Shop RS */
.ml-slider{
  width:min(1180px,94vw);
  height:320px;
  margin:22px auto;
  border-radius:14px;
  overflow:hidden;
  position:relative;
  background:#202020;
}
.ml-slide{
  display:none;
  position:absolute;
  inset:0;
  padding:58px 70px;
  box-sizing:border-box;
  background-size:100% 100% !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
  color:#fff;
}
.ml-slide.active{display:block;}
.ml-prev,.ml-next{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:5;
  width:42px;
  height:64px;
}
.ml-prev{left:0;}
.ml-next{right:0;}
.banner-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}
.banner-editor{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.banner-editor input{
  width:100%;
  padding:8px;
  font-size:12px;
  box-sizing:border-box;
}
.preview-slides img{
  width:100%;
  height:70px;
  object-fit:fill !important;
}
@media(max-width:700px){
  .banner-grid{grid-template-columns:1fr;}
  .ml-slider{height:220px;}
  .ml-slide{padding:35px 40px;}
}


/* === BANNER SERVICELL REAL: imagen estirada total y textos editables === */
.ml-slider{
  width:min(1180px,94vw) !important;
  height:320px !important;
  margin:22px auto !important;
  border-radius:14px !important;
  overflow:hidden !important;
  position:relative !important;
  background:#202020 !important;
}
.ml-slide{
  display:none !important;
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  padding:0 !important;
  box-sizing:border-box !important;
  background:none !important;
}
.ml-slide.active{display:block !important;}
.ml-slide-img{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:fill !important;
  display:block !important;
  z-index:1 !important;
}
.ml-slide .overlay{
  position:relative !important;
  z-index:2 !important;
  padding:58px 70px !important;
  color:#fff !important;
  max-width:520px !important;
}
.ml-prev,.ml-next{
  position:absolute !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  z-index:10 !important;
  width:42px !important;
  height:64px !important;
}
.ml-prev{left:0 !important;}
.ml-next{right:0 !important;}
.banner-grid{
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:10px !important;
}
.banner-editor{
  display:flex !important;
  flex-direction:column !important;
  gap:6px !important;
}
.banner-editor input{
  width:100% !important;
  padding:8px !important;
  font-size:12px !important;
  box-sizing:border-box !important;
}
.preview-slides{
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:8px !important;
  margin-top:10px !important;
}
.preview-slides img{
  width:100% !important;
  height:70px !important;
  object-fit:fill !important;
}
@media(max-width:700px){
  .ml-slider{height:220px !important;}
  .ml-slide .overlay{padding:35px 40px !important;}
  .banner-grid,.preview-slides{grid-template-columns:1fr !important;}
}


/* === ARREGLO FINAL BANNER SERVICELL === */
.ml-slider{
  width:min(1180px,94vw) !important;
  height:320px !important;
  margin:22px auto !important;
  border-radius:14px !important;
  overflow:hidden !important;
  position:relative !important;
  background:#202020 !important;
}
.ml-slide{
  display:none !important;
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  padding:0 !important;
  background:none !important;
}
.ml-slide.active{display:block !important;}
.ml-slide-img{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:fill !important;
  display:block !important;
  z-index:1 !important;
}
.ml-slide .overlay{
  position:relative !important;
  z-index:2 !important;
  padding:58px 70px !important;
  color:white !important;
  max-width:520px !important;
}
.ml-prev,.ml-next{
  position:absolute !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  z-index:10 !important;
  width:42px !important;
  height:64px !important;
}
.ml-prev{left:0 !important;}
.ml-next{right:0 !important;}
.banner-grid{
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:10px !important;
}
.banner-editor{
  display:flex !important;
  flex-direction:column !important;
  gap:6px !important;
}
.banner-editor input{
  width:100% !important;
  padding:8px !important;
  font-size:12px !important;
  box-sizing:border-box !important;
}
.preview-slides img{
  width:100% !important;
  height:70px !important;
  object-fit:fill !important;
}
@media(max-width:700px){
  .ml-slider{height:220px !important;}
  .ml-slide .overlay{padding:35px 40px !important;}
  .banner-grid{grid-template-columns:1fr !important;}
}


/* Menú superior arriba y banner debajo */
.servicell-top-actions,
header,
nav{
  position:relative !important;
  z-index:50 !important;
}
.servicell-top-actions{
  width:100%;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  padding:10px 12px;
  box-sizing:border-box;
  background:rgba(0,0,0,.72);
  border-bottom:1px solid rgba(255,255,255,.12);
}
.servicell-top-actions strong{
  color:#fff;
  font-size:15px;
  margin-right:8px;
}
.servicell-top-actions button{
  padding:7px 10px !important;
  font-size:13px !important;
  white-space:nowrap;
}
.ml-slider{
  margin-top:14px !important;
  z-index:1 !important;
}
@media(max-width:700px){
  .servicell-top-actions{
    justify-content:flex-start;
    overflow-x:auto;
    flex-wrap:nowrap;
  }
  .servicell-top-actions strong{
    font-size:13px;
  }
  .servicell-top-actions button{
    font-size:12px !important;
    padding:6px 8px !important;
  }
}


/* Banner ubicado arriba del buscador */
.servicell-top-actions{
  display:none !important;
}
.ml-slider{
  margin:16px auto 18px !important;
}


/* Banner arriba del buscador y categorías al costado */
.ml-slider{
  margin-bottom:18px !important;
}
.search-cat-row{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  width:min(1180px,94vw) !important;
  margin:0 auto 16px !important;
  box-sizing:border-box !important;
}
.search-cat-row input{
  flex:1 1 auto !important;
  min-width:0 !important;
}
.search-cat-row select{
  width:280px !important;
  flex:0 0 280px !important;
}
@media(max-width:700px){
  .search-cat-row{
    flex-direction:column !important;
    align-items:stretch !important;
  }
  .search-cat-row select{
    width:100% !important;
    flex:auto !important;
  }
}


/* === BUSCADOR Y CATEGORIAS ABAJO DEL BANNER - FINAL === */
.ml-slider{
  margin-bottom:0 !important;
}

.search-below-banner{
  width:min(1180px, 94vw) !important;
  margin:42px auto 26px auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:14px !important;
  box-sizing:border-box !important;
  position:relative !important;
  z-index:5 !important;
  clear:both !important;
}

.search-below-banner input{
  flex:1 1 auto !important;
  min-width:0 !important;
  height:48px !important;
  box-sizing:border-box !important;
}

.search-below-banner select{
  flex:0 0 270px !important;
  width:270px !important;
  height:48px !important;
  box-sizing:border-box !important;
}

@media(max-width:700px){
  .search-below-banner{
    margin-top:30px !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:10px !important;
  }
  .search-below-banner select,
  .search-below-banner input{
    width:100% !important;
    flex:auto !important;
  }
}


/* === CORRECCION REAL: BANNER ARRIBA Y BUSCADOR/CATEGORIAS ABAJO === */
.catalog-head{
  display:block !important;
  grid-template-columns:none !important;
  gap:0 !important;
  margin-bottom:22px !important;
}

.catalog-head .ml-slider{
  width:100% !important;
  margin:0 auto 48px auto !important;
  display:block !important;
}

.search-below-banner{
  width:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:14px !important;
  margin:0 auto 24px auto !important;
  box-sizing:border-box !important;
  clear:both !important;
}

.search-below-banner input#search{
  flex:1 1 auto !important;
  min-width:0 !important;
  height:50px !important;
  box-sizing:border-box !important;
}

.search-below-banner select#category{
  flex:0 0 270px !important;
  width:270px !important;
  height:50px !important;
  box-sizing:border-box !important;
}

@media(max-width:700px){
  .catalog-head .ml-slider{
    margin-bottom:32px !important;
  }
  .search-below-banner{
    flex-direction:column !important;
    align-items:stretch !important;
    gap:10px !important;
  }
  .search-below-banner input#search,
  .search-below-banner select#category{
    width:100% !important;
    flex:auto !important;
  }
}


/* separacion botones productos */
.product-actions,
.product-buttons,
.card-actions,
.product-card .actions,
.product-card .buttons,
.product-footer{
  display:flex !important;
  gap:10px !important;
  flex-wrap:wrap !important;
}
.product-actions button,
.product-buttons button,
.card-actions button,
.product-card .actions button,
.product-card .buttons button,
.product-footer button{
  margin:0 5px !important;
}

.overlay span{display:none!important;}
.neon-orbs,.neon-orbs *{display:none!important;opacity:0!important;}

/* FIX: eliminar texto residual y circulo del banner */
.ml-slide .overlay,
.ml-slide .overlay *,
.banner-btn{
display:none !important;
}

/* === SEX SHOP RS CUSTOM === */
:root{
  --brand-pink:#ff2fb3;
  --brand-violet:#8b5cf6;
  --brand-cyan:#00e5ff;
}
body .bg{
  background:
    radial-gradient(circle at 20% 15%, rgba(255,47,179,.28), transparent 28%),
    radial-gradient(circle at 78% 20%, rgba(139,92,246,.30), transparent 30%),
    linear-gradient(135deg, #050009 0%, #13051f 45%, #050009 100%) !important;
}
.brand span{ filter:hue-rotate(105deg) saturate(1.4); }
.ghost, .cart, .primary, input, select, .product, .modal-card, .cart-panel, .neon-box{
  border-color: rgba(255,47,179,.55) !important;
}
.primary{
  background: linear-gradient(135deg, var(--brand-pink), var(--brand-violet)) !important;
  box-shadow: 0 0 24px rgba(255,47,179,.35) !important;
}
.price, .brand, .product h3{ text-shadow: 0 0 14px rgba(255,47,179,.35); }
.age-gate{
  position:fixed; inset:0; z-index:99999; display:flex; align-items:center; justify-content:center;
  background: radial-gradient(circle at center, rgba(255,47,179,.18), rgba(0,0,0,.94));
  backdrop-filter: blur(10px);
  padding:24px;
}
.age-gate.hidden{ display:none !important; }
.age-card{
  width:min(460px, 92vw); text-align:center; padding:32px; border-radius:28px;
  background:linear-gradient(145deg, rgba(20,6,31,.96), rgba(6,0,12,.96));
  border:1px solid rgba(255,47,179,.65);
  box-shadow:0 0 50px rgba(255,47,179,.22), inset 0 0 35px rgba(0,229,255,.06);
  color:white;
}
.age-icon{ font-size:54px; margin-bottom:8px; }
.age-card h1{ margin:6px 0 10px; font-size:34px; }
.age-card p{ color:#e9d5ff; line-height:1.5; }
.age-actions{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-top:22px; }
.age-actions button{ min-width:150px; }

.terms-box{max-height:180px;overflow:auto;background:#151515;padding:12px;border-radius:12px;margin:10px 0}
.age-card label{display:block;margin:10px 0}
.primary:disabled{opacity:.5}
