
:root{
  --bg:#08101f;
  --panel:#101b31;
  --panel2:#14213d;
  --text:#f7fbff;
  --muted:#95a6c7;
  --line:#243653;
  --accent:#2e8cff;
  --accent2:#6fc6ff;
  --danger:#ff5e6c;
  --success:#4fd59b;
  --radius:18px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  min-height:100vh;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:radial-gradient(circle at 10% 0%,#13254a 0,transparent 32%),var(--bg);
  color:var(--text);
}
button,input,select,textarea{font:inherit}
button{user-select:none}
a{color:inherit;text-decoration:none}

.topbar{
  position:sticky;top:0;z-index:20;
  display:flex;justify-content:space-between;align-items:center;gap:14px;
  padding:16px max(20px,calc((100vw - 1180px)/2));
  background:rgba(8,16,31,.84);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(255,255,255,.06)
}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:18px}
.brand-mark{
  width:40px;height:40px;border-radius:14px;display:grid;place-items:center;
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  box-shadow:0 10px 30px rgba(46,140,255,.30);font-weight:900
}
.header-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.btn{
  border:0;border-radius:12px;padding:11px 16px;cursor:pointer;font-weight:800;
  background:linear-gradient(135deg,var(--accent),#64b5ff);color:#fff;
  transition:transform .15s ease,opacity .15s ease,box-shadow .15s ease
}
.btn:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(46,140,255,.22)}
.btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
.btn.secondary{background:#152440;color:#dce9ff;border:1px solid #294064}
.btn.wide{width:100%;margin-top:14px}
.badge{background:#fff;color:#0d64bd;border-radius:999px;padding:2px 7px;margin-left:6px;font-size:12px;font-weight:900}

.container{max-width:1180px;margin:auto;padding:42px 20px 70px}
.hero{padding:42px 0 24px;max-width:760px}
.hero h1{font-size:clamp(36px,6vw,68px);line-height:1;margin:8px 0 16px;letter-spacing:-.03em}
.hero p{color:var(--muted);font-size:18px;line-height:1.6}
.eyebrow{font-size:12px;font-weight:900;letter-spacing:.18em;color:var(--accent2);margin:0}

.toolbar{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:24px 0}
.input{
  min-width:280px;flex:1;background:#0d1930;border:1px solid var(--line);border-radius:14px;
  color:#fff;padding:13px 15px;outline:none;transition:border-color .15s ease,box-shadow .15s ease
}
.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(46,140,255,.12)}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{
  border:1px solid var(--line);background:#0d1930;color:#bdd0ef;padding:9px 12px;
  border-radius:999px;cursor:pointer
}
.chip.active{background:#1c5fa7;border-color:#348ff0;color:#fff}

.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px;align-items:stretch}
.product-card{
  background:linear-gradient(180deg,#111e36,#0d172a);border:1px solid var(--line);
  border-radius:var(--radius);overflow:hidden;box-shadow:0 16px 40px rgba(0,0,0,.16);
  display:flex;flex-direction:column;transition:transform .18s ease,border-color .18s ease
}
.product-card:hover{transform:translateY(-3px);border-color:#31517d}
.product-image{
  width:100%;height:230px;background:radial-gradient(circle at center,#17284a 0%,#0c1527 70%);
  display:flex;align-items:center;justify-content:center;overflow:hidden;padding:14px;
  border-bottom:1px solid rgba(255,255,255,.04)
}
.product-image img{width:100%;height:100%;display:block;object-fit:contain;object-position:center;border-radius:10px}
.placeholder{width:100%;height:100%;display:grid;place-items:center;font-size:50px;opacity:.35}
.product-body{padding:16px;display:flex;flex-direction:column;flex:1}
.product-category{font-size:12px;color:var(--accent2);font-weight:800}
.product-title{font-size:20px;margin:5px 0 8px}
.product-desc{color:var(--muted);min-height:44px;margin:0 0 14px;line-height:1.45;font-size:14px}
.product-desc.rich-text{display:grid;gap:7px}
.product-desc.rich-text p{margin:0}
.product-desc.rich-text ul,.product-desc.rich-text ol{margin:0;padding-left:20px;display:grid;gap:5px}
.product-desc.rich-text li{line-height:1.45}
.product-meta{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;margin-top:auto;margin-bottom:14px}
.price{font-size:22px;font-weight:900}
.stock{font-size:13px;color:#a9bee0;margin-top:2px}
.qty-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.qty-controls{display:flex;align-items:center;gap:8px}
.qty-btn,.icon-btn{
  border:1px solid var(--line);background:#13213a;color:#fff;border-radius:10px;cursor:pointer
}
.qty-btn{width:36px;height:36px;display:grid;place-items:center;font-weight:900}
.qty-value{min-width:28px;text-align:center;font-weight:800}
.icon-btn{width:40px;height:40px;display:grid;place-items:center}
.empty{
  grid-column:1/-1;padding:38px;text-align:center;color:var(--muted);
  border:1px dashed var(--line);border-radius:var(--radius);background:rgba(13,25,48,.45)
}

.drawer{
  position:fixed;top:0;right:-470px;width:min(450px,100vw);height:100vh;z-index:40;
  background:#0c1629;border-left:1px solid var(--line);transition:right .25s ease;
  display:flex;flex-direction:column;box-shadow:-20px 0 50px rgba(0,0,0,.25)
}
.drawer.open{right:0}
.drawer-header{
  display:flex;justify-content:space-between;align-items:center;padding:22px;border-bottom:1px solid var(--line)
}
.drawer-header h2{margin:4px 0 0}
.cart-items{padding:18px;overflow:auto;flex:1}
.cart-item{display:grid;grid-template-columns:1fr auto;gap:10px;padding:14px 0;border-bottom:1px solid var(--line)}
.cart-item p{margin:4px 0;color:var(--muted)}
.cart-summary{padding:20px;border-top:1px solid var(--line);background:#0b1425}
.cart-summary>div{display:flex;justify-content:space-between;font-size:20px;gap:16px}
.muted{font-size:12px;color:var(--muted);line-height:1.5}

.account-guest,.account-content{padding:18px;overflow:auto}
.account-hero,.account-profile{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#0f1c33}
.account-hero h3{margin:0 0 4px}
.account-hero p{margin:0;color:var(--muted);font-size:13px}
.account-avatar{width:54px;height:54px;border-radius:18px;overflow:hidden;display:grid;place-items:center;flex:0 0 auto}
.account-avatar img{width:100%;height:100%;object-fit:cover}
.placeholder-avatar{background:#152a4b;font-size:24px}
.account-profile{margin-bottom:14px}
.account-profile strong{display:block;font-size:16px}
.account-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}
.account-tab{
  border:1px solid var(--line);background:#0e1930;color:#bcd0ee;border-radius:11px;padding:10px;cursor:pointer;font-weight:800
}
.account-tab.active{background:#1c5fa7;color:#fff;border-color:#348ff0}
.account-list{display:grid;gap:10px;margin-bottom:16px}
.account-card{
  background:#0f1b31;border:1px solid var(--line);border-radius:14px;padding:14px
}
.account-card-head{display:flex;justify-content:space-between;gap:12px;align-items:start}
.account-card h4{margin:0 0 4px}
.account-card .status-pill{
  font-size:11px;font-weight:800;padding:5px 8px;border-radius:999px;background:#263a5b;color:#b8d8ff
}
.account-card .status-pill.done{background:#173c31;color:#8de5bb}
.account-card .status-pill.cancelled{background:#44232a;color:#ff9ba4}
.account-product{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-top:1px solid var(--line);font-size:13px}
.account-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.account-meta-box{background:#0a1426;border-radius:10px;padding:9px}
.account-meta-box span{display:block;color:var(--muted);font-size:11px}
.account-meta-box strong{display:block;margin-top:2px}

.overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:30;opacity:0;pointer-events:none;transition:opacity .2s ease
}
.overlay.show{opacity:1;pointer-events:auto}
.hidden{display:none!important}

@media(max-width:900px){
  .product-image{height:210px}
  .products-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
  .header-actions{gap:7px}
}

@media(max-width:640px){
  .topbar{padding:12px 14px;align-items:flex-start}
  .brand{font-size:16px}
  .brand-mark{width:36px;height:36px}
  .header-actions{
    display:grid;grid-template-columns:1fr 1fr;gap:7px;width:min(260px,60vw)
  }
  .header-actions .btn{padding:9px 10px;font-size:12px}
  .header-actions #cartBtn{grid-column:1/-1}
  .container{padding:24px 14px 60px}
  .hero{padding-top:24px}
  .hero h1{font-size:42px}
  .hero p{font-size:16px}
  .toolbar{align-items:stretch}
  .input{min-width:100%}
  .products-grid{grid-template-columns:1fr}
  .product-image{height:260px;padding:16px}
  .product-card{max-width:430px;width:100%;margin:auto}
  .drawer{width:100vw}
  .account-meta-grid{grid-template-columns:1fr}
}

@media(max-width:420px){
  .topbar{display:block}
  .header-actions{width:100%;margin-top:10px}
  .hero h1{font-size:36px}
  .product-image{height:220px}
}

.coupon-box{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
.coupon-box label{display:block;font-size:12px;font-weight:900;color:#bcd0ee;margin-bottom:8px}
.coupon-row{display:grid;grid-template-columns:1fr auto;gap:8px}
.coupon-row .input{min-width:0;width:100%}
.coupon-status{margin-top:8px;padding:9px 10px;border-radius:10px;font-size:12px;background:#173c31;color:#9ce7c3}
.coupon-status.error{background:#44232a;color:#ffadb5}
.summary-discount,.summary-total{display:flex;justify-content:space-between;gap:15px;margin-top:12px}
.summary-discount strong{color:#75dfa9}
.summary-total{padding-top:12px;border-top:1px solid var(--line);font-size:21px}
@media(max-width:390px){.coupon-row{grid-template-columns:1fr}.coupon-row .btn{width:100%}}


.sort-select{
  flex:0 0 210px;
  min-width:210px;
}

.product-card.out-of-stock{
  opacity:.52;
  filter:saturate(.55);
}

.product-card.out-of-stock:hover{
  transform:none;
  border-color:var(--line);
}

.product-card.out-of-stock .product-image{
  position:relative;
}

.product-card.out-of-stock .product-image::after{
  content:"AGOTADO";
  position:absolute;
  top:12px;
  right:12px;
  padding:6px 9px;
  border-radius:999px;
  background:rgba(6,12,24,.84);
  border:1px solid rgba(255,255,255,.12);
  color:#d7e0ef;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
}

.discord-required-card{
  display:grid;
  gap:12px;
  padding:16px;
  border:1px solid #29456d;
  border-radius:16px;
  background:#0f1c33;
  margin-top:14px;
}

.discord-required-card h4{
  margin:0;
  font-size:16px;
}

.discord-required-card p{
  margin:0;
  color:var(--muted);
  line-height:1.5;
  font-size:13px;
}

.discord-required-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}

@media(max-width:640px){
  .sort-select{
    min-width:100%;
    width:100%;
    flex:1 1 100%;
  }

  .discord-required-actions{
    grid-template-columns:1fr;
  }
}


.checkout-channel-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:18px;
}

.checkout-channel-card{
  min-height:170px;
  padding:18px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#0f1c33;
  color:var(--text);
  cursor:pointer;
  text-align:left;
  display:flex;
  flex-direction:column;
  gap:8px;
}

.checkout-channel-card:hover{
  border-color:#3a68a2;
  background:#132542;
}

.checkout-channel-card:disabled{
  opacity:.6;
  cursor:wait;
}

.checkout-channel-icon{
  font-size:30px;
}

.checkout-channel-card strong{
  font-size:17px;
}

.checkout-channel-card small{
  color:var(--muted);
  line-height:1.45;
}

@media(max-width:560px){
  .checkout-channel-grid{
    grid-template-columns:1fr;
  }

  .checkout-channel-card{
    min-height:auto;
  }
}


.ticket-chat-modal{
  position:fixed;
  inset:0;
  z-index:120;
  background:rgba(0,0,0,.68);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  backdrop-filter:blur(5px);
}

.ticket-chat-panel{
  width:min(760px,100%);
  height:min(760px,92vh);
  background:#0c1629;
  border:1px solid var(--line);
  border-radius:22px;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  box-shadow:0 30px 90px rgba(0,0,0,.45);
}

.ticket-chat-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:18px 20px;
  border-bottom:1px solid var(--line);
}

.ticket-chat-header h2{
  margin:4px 0 0;
}

.ticket-chat-messages{
  flex:1;
  overflow:auto;
  padding:18px;
  display:flex;
  flex-direction:column;
  gap:10px;
}

.ticket-message{
  max-width:78%;
  padding:11px 13px;
  border-radius:15px;
  background:#13213a;
  border:1px solid #233b5e;
}

.ticket-message.mine{
  align-self:flex-end;
  background:#173a64;
  border-color:#275d98;
}

.ticket-message.staff{
  align-self:flex-start;
  background:#172e27;
  border-color:#28523f;
}

.ticket-message-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:5px;
  font-size:11px;
  color:var(--muted);
}

.ticket-message-body{
  white-space:pre-wrap;
  word-break:break-word;
  line-height:1.5;
  font-size:14px;
}

.ticket-chat-form{
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  padding:14px;
  border-top:1px solid var(--line);
  background:#0a1426;
}

.ticket-chat-form textarea{
  min-width:0;
  resize:none;
}

.ticket-chat-form .btn{
  align-self:stretch;
}

.ticket-open-chat{
  width:100%;
  margin-top:10px;
}

@media(max-width:640px){
  .ticket-chat-modal{
    padding:0;
  }

  .ticket-chat-panel{
    width:100%;
    height:100vh;
    border-radius:0;
    border:0;
  }

  .ticket-chat-form{
    grid-template-columns:1fr;
  }

  .ticket-message{
    max-width:88%;
  }
}

.ticket-chat-shell{width:min(1050px,100%);height:min(780px,94vh);background:#0c1629;border:1px solid var(--line);border-radius:22px;display:grid;grid-template-columns:320px 1fr;overflow:hidden;box-shadow:0 30px 90px rgba(0,0,0,.45)}
.ticket-chat-sidebar{border-right:1px solid var(--line);background:#0a1425;display:flex;flex-direction:column;min-width:0}
.ticket-chat-sidebar-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px;border-bottom:1px solid var(--line)}
.ticket-chat-sidebar-head h2{margin:4px 0 0;font-size:18px}
.ticket-chat-list{flex:1;overflow:auto;padding:10px;display:flex;flex-direction:column;gap:8px}
.ticket-chat-list-item{width:100%;border:1px solid var(--line);background:#101d32;color:var(--text);border-radius:14px;padding:12px;cursor:pointer;text-align:left;display:grid;gap:5px}
.ticket-chat-list-item:hover{border-color:#315a91;background:#13233d}
.ticket-chat-list-item.active{border-color:#3c79c1;background:#17325a}
.ticket-list-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.ticket-chat-list-item small{color:var(--muted)}
.ticket-chat-panel{min-width:0;background:#0c1629;display:flex;flex-direction:column}
.ticket-chat-conversation{height:100%;display:flex;flex-direction:column;min-height:0}
.ticket-chat-empty{margin:auto;max-width:360px;text-align:center;color:var(--muted);padding:30px}
.ticket-chat-empty h3{color:var(--text);margin:10px 0 6px}
.ticket-chat-empty p{margin:0;line-height:1.5}
.ticket-chat-empty-icon{font-size:42px}
.ticket-message{position:relative;max-width:76%;padding:11px 13px;border-radius:16px}
.ticket-message.mine{align-self:flex-end;background:#164b7f;border-color:#2a72b8;border-bottom-right-radius:5px}
.ticket-message.staff{align-self:flex-start;background:#17392d;border-color:#2c654d;border-bottom-left-radius:5px}
.ticket-message.mine::after{content:"";position:absolute;right:-6px;bottom:0;border-left:8px solid #164b7f;border-top:8px solid transparent}
.ticket-message.staff::before{content:"";position:absolute;left:-6px;bottom:0;border-right:8px solid #17392d;border-top:8px solid transparent}
.ticket-message.mine .ticket-message-head strong::before{content:"Tú · "}
.ticket-message.staff .ticket-message-head strong::before{content:"Staff · "}
@media(max-width:760px){.ticket-chat-shell{width:100%;height:100vh;border-radius:0;border:0;grid-template-columns:1fr;grid-template-rows:220px 1fr}.ticket-chat-sidebar{border-right:0;border-bottom:1px solid var(--line)}.ticket-chat-list{flex-direction:row;overflow-x:auto;overflow-y:hidden}.ticket-chat-list-item{min-width:220px}}


/* ===== V12: estados profesionales ===== */
.status-pill.status-pendiente,
.ticket-chat-list-item .status.pendiente{
  background:rgba(245,183,66,.14);
  border-color:rgba(245,183,66,.35);
  color:#f6c967;
}
.status-pill.status-abierto,
.ticket-chat-list-item .status.abierto{
  background:rgba(55,190,120,.14);
  border-color:rgba(55,190,120,.35);
  color:#69d49b;
}
.status-pill.status-cerrado,
.ticket-chat-list-item .status.cerrado{
  background:rgba(235,80,80,.14);
  border-color:rgba(235,80,80,.35);
  color:#ff8585;
}
.status-pill.status-atendiendo{
  background:rgba(75,135,230,.14);
  border-color:rgba(75,135,230,.35);
  color:#8ab4ff;
}

.ticket-chat-closed{
  padding:12px 14px;
  border-top:1px solid rgba(235,80,80,.25);
  background:rgba(235,80,80,.10);
  color:#ff9a9a;
  font-size:13px;
  font-weight:700;
  text-align:center;
}

.ticket-message-image{
  display:block;
  max-width:min(420px,100%);
  border-radius:12px;
  margin-top:8px;
  border:1px solid var(--line);
}

.floating-tickets{
  position:fixed;
  left:18px;
  bottom:18px;
  z-index:75;
  display:flex;
  align-items:center;
  gap:10px;
  min-width:150px;
  padding:11px 14px;
  border-radius:16px;
  border:1px solid #2a5588;
  background:#102747;
  color:var(--text);
  box-shadow:0 12px 34px rgba(0,0,0,.30);
  cursor:pointer;
  text-align:left;
}
.floating-tickets:hover{background:#17345b}
.floating-tickets-icon{font-size:24px}
.floating-tickets strong{display:block}
.floating-tickets small{display:block;color:var(--muted);margin-top:2px}

.staff-presence-badge{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:70;
  display:flex;
  align-items:center;
  gap:8px;
  padding:9px 12px;
  border-radius:999px;
  border:1px solid var(--line);
  background:rgba(10,20,38,.92);
  color:var(--muted);
  font-size:12px;
  box-shadow:0 10px 30px rgba(0,0,0,.25);
}
.presence-dot{
  width:8px;height:8px;border-radius:50%;
  background:#55cf8d;
  box-shadow:0 0 0 4px rgba(85,207,141,.12);
}

@media(max-width:640px){
  .floating-tickets{left:12px;bottom:12px}
  .staff-presence-badge{right:12px;bottom:12px;max-width:48vw}
}


/* ===== V12.1 FIX BOTÓN CHATS ===== */
#floatingTicketsBtn.floating-tickets{
  position:fixed !important;
  left:20px !important;
  bottom:calc(20px + env(safe-area-inset-bottom, 0px)) !important;
  right:auto !important;
  top:auto !important;

  z-index:2147483000 !important;

  width:210px;
  min-width:210px;
  min-height:64px;
  padding:13px 16px;

  display:flex;
  align-items:center;
  gap:12px;

  border-radius:18px;
  border:1px solid #376fae;
  background:rgba(15,42,76,.97);
  box-shadow:
    0 16px 42px rgba(0,0,0,.42),
    0 0 0 1px rgba(255,255,255,.025) inset;

  transform:none !important;
  margin:0 !important;
  float:none !important;
}

#floatingTicketsBtn.floating-tickets:not(.hidden){
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
}

#floatingTicketsBtn .floating-tickets-icon{
  font-size:29px;
  line-height:1;
  flex:0 0 auto;
}

#floatingTicketsBtn strong{
  font-size:15px;
  line-height:1.2;
}

#floatingTicketsBtn small{
  font-size:12px;
  line-height:1.25;
  margin-top:4px;
}

@media(max-width:640px){
  #floatingTicketsBtn.floating-tickets{
    left:12px !important;
    bottom:calc(12px + env(safe-area-inset-bottom, 0px)) !important;
    width:190px;
    min-width:190px;
    min-height:60px;
    padding:12px 14px;
  }

  #staffPresenceBadge{
    bottom:calc(86px + env(safe-area-inset-bottom, 0px)) !important;
    right:12px !important;
  }
}


/* ===== V12.4.4 SCROLLBARS USUARIO ===== */

/* Firefox */
.ticket-chat-messages,
.ticket-chat-list,
.account-list,
.cart-items,
.drawer-body{
  scrollbar-width:thin;
  scrollbar-color:#315f95 #0a1527;
}

/* Chromium / Edge / Chrome / Safari */
.ticket-chat-messages::-webkit-scrollbar,
.ticket-chat-list::-webkit-scrollbar,
.account-list::-webkit-scrollbar,
.cart-items::-webkit-scrollbar,
.drawer-body::-webkit-scrollbar{
  width:10px;
  height:10px;
}

.ticket-chat-messages::-webkit-scrollbar-track,
.ticket-chat-list::-webkit-scrollbar-track,
.account-list::-webkit-scrollbar-track,
.cart-items::-webkit-scrollbar-track,
.drawer-body::-webkit-scrollbar-track{
  background:#0a1527;
  border-radius:999px;
}

.ticket-chat-messages::-webkit-scrollbar-thumb,
.ticket-chat-list::-webkit-scrollbar-thumb,
.account-list::-webkit-scrollbar-thumb,
.cart-items::-webkit-scrollbar-thumb,
.drawer-body::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,#3b74b3,#285384);
  border-radius:999px;
  border:2px solid #0a1527;
}

.ticket-chat-messages::-webkit-scrollbar-thumb:hover,
.ticket-chat-list::-webkit-scrollbar-thumb:hover,
.account-list::-webkit-scrollbar-thumb:hover,
.cart-items::-webkit-scrollbar-thumb:hover,
.drawer-body::-webkit-scrollbar-thumb:hover{
  background:linear-gradient(180deg,#4a8bd2,#32669f);
}

.ticket-chat-messages::-webkit-scrollbar-corner,
.ticket-chat-list::-webkit-scrollbar-corner{
  background:#0a1527;
}


/* ===== V12.5 PAYMENT CARDS ===== */
.payment-message-card{
  min-width:min(430px,100%);
  border:1px solid #3b6c9e;
  border-radius:15px;
  overflow:hidden;
  background:#0d2038;
  box-shadow:0 8px 22px rgba(0,0,0,.18);
}

.payment-message-title{
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 14px;
  background:#12365d;
  border-bottom:1px solid #315f8d;
}

.payment-message-title>span{
  font-size:24px;
}

.payment-message-title strong{
  display:block;
  font-size:14px;
}

.payment-message-title small{
  display:block;
  color:#a8c6e8;
  margin-top:2px;
}

.payment-message-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  padding:12px;
}

.payment-message-grid>div{
  padding:9px 10px;
  border-radius:10px;
  background:#102a48;
  border:1px solid #234c78;
}

.payment-message-grid span{
  display:block;
  color:#95b5d7;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:4px;
}

.payment-message-grid strong{
  display:block;
  word-break:break-word;
}

.payment-message-grid .payment-highlight{
  grid-column:1/-1;
  background:#153b64;
  border-color:#3975ad;
}

.payment-message-note{
  margin:0 12px 12px;
  padding:10px 11px;
  border-radius:10px;
  border:1px solid rgba(224,173,47,.38);
  background:rgba(224,173,47,.10);
  color:#f2cf70;
  font-weight:700;
  font-size:12px;
}

.payment-extra-note{
  margin:0 12px 12px;
  color:var(--muted);
  font-size:11px;
}

/* ===== V12.5 NOTIFICACIONES USUARIO ===== */
#floatingTicketsBtn.has-notification{
  background:#4b3d12 !important;
  border-color:#d5a72e !important;
  color:#ffe38a !important;
  box-shadow:
    0 16px 42px rgba(0,0,0,.42),
    0 0 22px rgba(213,167,46,.20) !important;
}

.chat-unread-badge{
  display:inline-flex;
  align-items:center;
  width:max-content;
  padding:4px 7px;
  border-radius:999px;
  background:rgba(222,176,47,.15);
  border:1px solid rgba(222,176,47,.35);
  color:#f3cc63;
  font-size:10px;
  font-weight:800;
}

@media(max-width:560px){
  .payment-message-grid{grid-template-columns:1fr}
  .payment-message-grid .payment-highlight{grid-column:auto}
}

/* V13 promociones y filtros */
.promo-filters{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}
.product-image{position:relative}.product-badges{position:absolute;z-index:2;top:9px;left:9px;right:9px;display:flex;gap:6px;flex-wrap:wrap}
.shop-badge{padding:5px 8px;border-radius:999px;font-size:9px;font-weight:900;letter-spacing:.04em;box-shadow:0 4px 12px rgba(0,0,0,.22)}
.shop-badge.sale{background:#177548;color:#dffbea;border:1px solid #32a66f}
.shop-badge.limited{background:#5b4310;color:#ffe28a;border:1px solid #c99b2e}
.old-price{text-decoration:line-through;color:var(--muted);font-size:.72em;margin-right:5px;font-weight:500}
.product-card.out-of-stock{opacity:.58;filter:saturate(.7)}


/* ===== V13.1 FILTROS BONITOS ===== */

.shop-filter-panel{
  display:flex;
  align-items:flex-end;
  gap:14px;
  flex-wrap:wrap;
  margin-top:12px;
  padding:14px 15px;
  border:1px solid rgba(68,116,166,.45);
  border-radius:18px;
  background:
    linear-gradient(
      180deg,
      rgba(17,38,67,.96),
      rgba(10,24,43,.96)
    );
  box-shadow:
    0 14px 34px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.02);
}

.filter-block{
  display:flex;
  flex-direction:column;
  gap:7px;
}

.filter-label{
  color:#87a8cc;
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.pretty-select-wrap{
  position:relative;
  min-width:210px;
}

.pretty-select{
  width:100%;
  appearance:none;
  border:1px solid #315d8f;
  border-radius:12px;
  background:#0f2541;
  color:#f4f8ff;
  padding:10px 36px 10px 12px;
  font-size:13px;
  cursor:pointer;
  outline:none;
  transition:
    border-color .18s ease,
    background .18s ease,
    box-shadow .18s ease;
}

.pretty-select:hover,
.pretty-select:focus{
  border-color:#4a83be;
  background:#143051;
  box-shadow:0 0 0 3px rgba(74,131,190,.10);
}

.pretty-select-icon{
  position:absolute;
  right:12px;
  top:50%;
  transform:translateY(-50%);
  color:#8fb5df;
  pointer-events:none;
  font-size:15px;
}

.filter-checks{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.filter-check{
  position:relative;
  display:flex;
  align-items:center;
  gap:8px;
  min-height:40px;
  padding:8px 11px;
  border:1px solid #294f78;
  border-radius:12px;
  background:#0d2038;
  color:#bdd0e6;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
  user-select:none;
  transition:
    background .18s ease,
    border-color .18s ease,
    transform .18s ease;
}

.filter-check:hover{
  background:#122b49;
  border-color:#3c6f9f;
  transform:translateY(-1px);
}

.filter-check input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.filter-check-box{
  display:flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  border-radius:6px;
  border:1px solid #3b638e;
  background:#09182b;
  color:transparent;
  font-size:11px;
  font-weight:900;
  transition:.18s ease;
}

.filter-check input:checked + .filter-check-box{
  background:#2b76bb;
  border-color:#5ca6e9;
  color:#fff;
  box-shadow:0 0 0 3px rgba(43,118,187,.12);
}

.filter-check:has(input:checked){
  background:#12345a;
  border-color:#4b88c3;
  color:#eef6ff;
}

.clear-filter-btn{
  min-height:40px;
  padding:9px 13px;
  border-radius:12px;
  border:1px solid #314c6b;
  background:transparent;
  color:#9fb5ce;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
  transition:.18s ease;
}

.clear-filter-btn:hover{
  color:#eef6ff;
  border-color:#4f7199;
  background:#10223a;
}

/* Que las categorías se vean más limpias y separadas del filtro avanzado */
#categoryFilters{
  gap:7px !important;
  margin-top:8px;
}

#categoryFilters .chip{
  border-radius:11px !important;
  padding:9px 12px !important;
}

@media(max-width:760px){
  .shop-filter-panel{
    align-items:stretch;
  }

  .pretty-select-wrap{
    min-width:0;
    width:100%;
  }

  .filter-block{
    width:100%;
  }

  .filter-checks{
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  .clear-filter-btn{
    width:100%;
  }
}

@media(max-width:480px){
  .filter-checks{
    grid-template-columns:1fr;
  }
}


/* ===== V13.2 FILTRO ÚNICO Y LIMPIO ===== */

/* Ocultar completamente el panel viejo de V13.1 si quedó en caché/DOM. */
#shopFilterPanel{
  display:none !important;
}

.shop-field{
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width:0;
}

.shop-field-label{
  color:#8fb2d8;
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  padding-left:2px;
}

/* Buscador */
.shop-field-search{
  flex:1 1 300px;
  max-width:380px;
}

.shop-field-search input{
  width:100% !important;
}

/* Ordenar */
.shop-field-sort{
  flex:0 1 220px;
  min-width:190px;
}

.shop-field-sort select{
  width:100% !important;
}

/* Un único selector de filtro */
.shop-field-filter{
  flex:0 1 210px;
  min-width:190px;
}

.single-filter-wrap{
  position:relative;
  width:100%;
}

.single-filter-select{
  width:100%;
  height:48px;
  appearance:none;
  border:1px solid #2e567f;
  border-radius:14px;
  background:#0e2139;
  color:#edf5ff;
  padding:0 38px 0 14px;
  font-size:13px;
  cursor:pointer;
  outline:none;
  transition:
    background .18s ease,
    border-color .18s ease,
    box-shadow .18s ease;
}

.single-filter-select:hover{
  background:#122a48;
  border-color:#3c70a5;
}

.single-filter-select:focus{
  background:#122a48;
  border-color:#4d8ac6;
  box-shadow:0 0 0 3px rgba(77,138,198,.10);
}

.single-filter-arrow{
  position:absolute;
  right:13px;
  top:50%;
  transform:translateY(-50%);
  color:#84abd2;
  pointer-events:none;
  font-size:15px;
}

/* Toolbar superior: buscador + ordenar + filtrar. */
#categoryFilters{
  flex-basis:100%;
  width:100%;
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  margin-top:6px;
}

/* Categorías todas visibles, sin apariencia de segundo sistema de filtros. */
#categoryFilters .chip{
  min-height:39px;
  padding:8px 13px !important;
  border-radius:12px !important;
  white-space:nowrap;
}

/* El padre de las categorías funciona como una rejilla flexible limpia. */
#categoryFilters.parent-v13-fix,
#categoryFilters-parent-v13-fix{
  width:100%;
}

/* El contenedor que incluye search/sort/filtro/categorías. */
.shop-toolbar,
.filters,
.filters-row,
.catalog-toolbar{
  align-items:flex-end;
}

/* En pantallas anchas, los controles quedan en una sola línea. */
@media(min-width:900px){
  .shop-field-search,
  .shop-field-sort,
  .shop-field-filter{
    margin-bottom:2px;
  }
}

/* Tablet */
@media(max-width:899px){
  .shop-field-search{
    flex:1 1 100%;
    max-width:none;
  }

  .shop-field-sort,
  .shop-field-filter{
    flex:1 1 220px;
  }
}

/* Móvil */
@media(max-width:560px){
  .shop-field-search,
  .shop-field-sort,
  .shop-field-filter{
    flex:1 1 100%;
    max-width:none;
    width:100%;
  }

  .single-filter-select{
    height:46px;
  }

  #categoryFilters{
    display:grid !important;
    grid-template-columns:1fr 1fr;
  }

  #categoryFilters .chip{
    width:100%;
    justify-content:center;
  }
}


/* ===== V13.3 TOOLBAR FIX DEFINITIVO ===== */

/* Neutralize wrappers created by V13.2 if cache/old DOM persists. */
.shop-field,
.shop-field-search,
.shop-field-sort,
.shop-field-filter{
  display:contents !important;
}

#shopFilterPanel{
  display:none !important;
}

/* One clean row: Search | Sort | Filter */
.catalog-controls-v13{
  width:100%;
  display:grid;
  grid-template-columns:minmax(280px,1.6fr) minmax(210px,.85fr) minmax(210px,.85fr);
  gap:14px;
  align-items:end;
  margin:0 0 14px;
}

.catalog-control-field{
  display:flex;
  flex-direction:column;
  gap:7px;
  min-width:0;
}

.catalog-control-label{
  display:block;
  padding-left:2px;
  color:#7fa9d7;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.09em;
}

/* Search input */
.catalog-control-search #searchInput{
  width:100% !important;
  height:50px !important;
  min-height:50px !important;
  margin:0 !important;
  border-radius:14px !important;
}

/* Both selects share exact same size */
.catalog-select-wrap{
  position:relative;
  width:100%;
  height:50px;
}

.catalog-select,
.catalog-control-sort #sortSelect{
  width:100% !important;
  height:50px !important;
  min-height:50px !important;
  max-height:50px !important;
  margin:0 !important;
  padding:0 40px 0 14px !important;

  appearance:none;
  -webkit-appearance:none;

  border:1px solid #2d567f !important;
  border-radius:14px !important;
  background:#0e2139 !important;
  color:#f3f7fc !important;
  font-size:13px !important;
  line-height:50px !important;
  outline:none !important;

  cursor:pointer;
  box-sizing:border-box !important;
}

.catalog-select:hover,
.catalog-control-sort #sortSelect:hover{
  background:#122a48 !important;
  border-color:#3f76aa !important;
}

.catalog-select:focus,
.catalog-control-sort #sortSelect:focus{
  border-color:#4e8bc8 !important;
  box-shadow:0 0 0 3px rgba(78,139,200,.10) !important;
}

.catalog-select-arrow{
  position:absolute;
  right:14px;
  top:50%;
  transform:translateY(-50%);
  pointer-events:none;
  color:#8db6dd;
  font-size:15px;
}

/* Categories get their own separate compact row. */
#categoryFilters.catalog-categories-v13,
#categoryFilters{
  width:100% !important;
  display:flex !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  margin:0 0 18px !important;
}

#categoryFilters .chip{
  min-height:40px !important;
  height:40px !important;
  padding:0 13px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:12px !important;
  white-space:nowrap !important;
}

/* Remove oversized vertical space from legacy wrapper rules. */
.catalog-controls-v13 label,
.catalog-controls-v13 div{
  box-sizing:border-box;
}

/* Tablet */
@media(max-width:900px){
  .catalog-controls-v13{
    grid-template-columns:1fr 1fr;
  }

  .catalog-control-search{
    grid-column:1/-1;
  }
}

/* Mobile */
@media(max-width:580px){
  .catalog-controls-v13{
    grid-template-columns:1fr;
    gap:10px;
  }

  .catalog-control-search{
    grid-column:auto;
  }

  #categoryFilters.catalog-categories-v13,
  #categoryFilters{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
  }

  #categoryFilters .chip{
    width:100% !important;
  }
}


/* ============================================================
   V13.5 - DISEÑO PREMIUM DE FILTROS Y CATEGORÍAS
   ============================================================ */

/* Toolbar */
.catalog-controls-v13{
  position:relative;
  width:100%;
  display:grid;
  grid-template-columns:minmax(320px,1.4fr) minmax(220px,.8fr) minmax(240px,.9fr);
  gap:18px;
  align-items:end;

  margin:0 0 18px;
  padding:20px 22px;

  border:1px solid rgba(54,95,137,.42);
  border-radius:20px;

  background:
    linear-gradient(
      180deg,
      rgba(13,31,55,.96),
      rgba(9,23,41,.96)
    );

  box-shadow:
    0 18px 45px rgba(0,0,0,.20),
    inset 0 1px 0 rgba(255,255,255,.018);
}

.catalog-control-label{
  display:block;
  padding-left:2px;
  margin-bottom:1px;

  color:#8db8e5;
  font-size:10px;
  line-height:1;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.catalog-control-field{
  display:flex;
  flex-direction:column;
  gap:9px;
  min-width:0;
}

/* Search */
.catalog-control-search{
  position:relative;
}

.catalog-control-search::after{
  content:"⌕";
  position:absolute;
  left:16px;
  bottom:14px;

  color:#87b4df;
  font-size:21px;
  line-height:1;
  pointer-events:none;
}

.catalog-control-search #searchInput{
  width:100% !important;
  height:52px !important;
  min-height:52px !important;

  padding-left:48px !important;

  border:1px solid #2b5b8e !important;
  border-radius:15px !important;

  background:#0a1b30 !important;
  color:#edf6ff !important;

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.015),
    0 0 0 0 rgba(58,131,196,0);

  transition:
    border-color .18s ease,
    box-shadow .18s ease,
    background .18s ease;
}

.catalog-control-search #searchInput::placeholder{
  color:#7895b3;
}

.catalog-control-search #searchInput:hover,
.catalog-control-search #searchInput:focus{
  border-color:#3478b9 !important;
  background:#0c2038 !important;
}

.catalog-control-search #searchInput:focus{
  box-shadow:0 0 0 4px rgba(48,125,193,.10) !important;
}

/* Selects */
.catalog-select-wrap{
  position:relative;
  width:100%;
  height:52px;
}

.catalog-select,
.catalog-control-sort #sortSelect{
  width:100% !important;
  height:52px !important;
  min-height:52px !important;
  max-height:52px !important;

  margin:0 !important;
  padding:0 42px 0 16px !important;

  appearance:none;
  -webkit-appearance:none;

  border:1px solid #294f77 !important;
  border-radius:15px !important;

  background:#0c1e34 !important;
  color:#f2f6fb !important;

  font-size:13px !important;
  font-weight:700 !important;
  line-height:52px !important;

  cursor:pointer;
  outline:none !important;

  transition:
    background .18s ease,
    border-color .18s ease,
    box-shadow .18s ease;
}

.catalog-select:hover,
.catalog-control-sort #sortSelect:hover{
  background:#102844 !important;
  border-color:#3a6f9f !important;
}

.catalog-select:focus,
.catalog-control-sort #sortSelect:focus{
  border-color:#4182bd !important;
  box-shadow:0 0 0 4px rgba(65,130,189,.10) !important;
}

.catalog-select-arrow{
  position:absolute;
  right:15px;
  top:50%;
  transform:translateY(-50%);

  color:#80acd7;
  font-size:15px;
  pointer-events:none;
}

/* Category container */
#categoryFilters.catalog-categories-v13,
#categoryFilters{
  width:100% !important;

  display:flex !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:10px !important;

  margin:0 0 22px !important;
  padding:14px 16px !important;

  border:1px solid rgba(54,95,137,.34);
  border-radius:18px;

  background:
    linear-gradient(
      180deg,
      rgba(11,27,48,.88),
      rgba(8,20,36,.88)
    );

  box-shadow:
    0 14px 34px rgba(0,0,0,.14),
    inset 0 1px 0 rgba(255,255,255,.015);
}

/* Category tabs */
#categoryFilters .chip.category-tab,
#categoryFilters .category-tab{
  position:relative;

  min-height:46px !important;
  height:46px !important;

  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:9px;

  padding:0 15px !important;

  border:1px solid #263f5e !important;
  border-radius:13px !important;

  background:#0b1b2f !important;
  color:#dfe9f4 !important;

  font-size:13px;
  font-weight:800;

  white-space:nowrap !important;
  cursor:pointer;

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.012);

  transition:
    transform .16s ease,
    border-color .16s ease,
    background .16s ease,
    box-shadow .16s ease,
    color .16s ease;
}

#categoryFilters .category-tab:hover{
  transform:translateY(-1px);

  border-color:#356b9e !important;
  background:#10263f !important;

  color:#f4f8fc !important;
}

.category-tab-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  width:22px;
  height:22px;

  color:#63adf0;

  font-size:15px;
  font-weight:900;
  line-height:1;
}

/* Active tab */
#categoryFilters .category-tab.active{
  border-color:#2e8de0 !important;

  background:
    linear-gradient(
      180deg,
      #1767a9,
      #145993
    ) !important;

  color:#ffffff !important;

  box-shadow:
    0 0 0 2px rgba(40,142,226,.12),
    0 8px 22px rgba(8,82,143,.25),
    inset 0 1px 0 rgba(255,255,255,.12);
}

#categoryFilters .category-tab.active::after{
  content:"";
  position:absolute;
  left:28%;
  right:28%;
  bottom:-7px;

  height:3px;
  border-radius:999px;

  background:#35a8ff;

  box-shadow:0 0 10px rgba(53,168,255,.75);
}

#categoryFilters .category-tab.active .category-tab-icon{
  color:#c8ebff;
}

/* Category icon accents */
#categoryFilters .category-tab:nth-child(2) .category-tab-icon{
  color:#9b78ff;
}

#categoryFilters .category-tab:nth-child(3) .category-tab-icon{
  color:#f04f72;
}

#categoryFilters .category-tab:nth-child(4) .category-tab-icon{
  color:#5cc1ff;
}

#categoryFilters .category-tab:nth-child(5) .category-tab-icon{
  color:#54d57b;
}

#categoryFilters .category-tab:nth-child(6) .category-tab-icon{
  color:#ffd34d;
}

/* Tablet */
@media(max-width:960px){
  .catalog-controls-v13{
    grid-template-columns:1fr 1fr;
  }

  .catalog-control-search{
    grid-column:1/-1;
  }
}

/* Mobile */
@media(max-width:620px){
  .catalog-controls-v13{
    grid-template-columns:1fr;
    gap:12px;

    padding:15px;
    border-radius:16px;
  }

  .catalog-control-search{
    grid-column:auto;
  }

  #categoryFilters.catalog-categories-v13,
  #categoryFilters{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;

    padding:12px !important;
  }

  #categoryFilters .category-tab{
    width:100% !important;
    padding:0 10px !important;
  }
}

@media(max-width:420px){
  #categoryFilters.catalog-categories-v13,
  #categoryFilters{
    grid-template-columns:1fr !important;
  }
}


/* ============================================================
   V13.6 - CATEGORÍAS FUNCIONALES, SIN ICONOS Y CENTRADAS
   ============================================================ */

/* Toolbar centrado dentro del ancho de la tienda */
.catalog-controls-v13{
  max-width:1180px;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Barra de categorías centrada */
#categoryFilters.catalog-categories-v13,
#categoryFilters{
  max-width:1180px !important;
  margin-left:auto !important;
  margin-right:auto !important;

  justify-content:center !important;
  align-items:center !important;

  padding:13px 15px !important;
  gap:9px !important;
}

/* Quitar cualquier icono heredado */
.category-tab-icon{
  display:none !important;
}

/* Botones más limpios y compactos */
#categoryFilters .chip.category-tab,
#categoryFilters .category-tab{
  min-width:auto !important;
  height:43px !important;
  min-height:43px !important;

  padding:0 18px !important;

  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  gap:0 !important;

  border:1px solid #294661 !important;
  border-radius:12px !important;

  background:#0c1d32 !important;
  color:#cfdceb !important;

  font-size:13px !important;
  font-weight:700 !important;
  letter-spacing:.01em;

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.012);

  transition:
    background .16s ease,
    border-color .16s ease,
    color .16s ease,
    transform .16s ease,
    box-shadow .16s ease;
}

#categoryFilters .category-tab:hover{
  transform:translateY(-1px);

  background:#112943 !important;
  border-color:#3a709f !important;
  color:#ffffff !important;
}

/* Activa: visible pero sin verse exagerada */
#categoryFilters .category-tab.active{
  background:
    linear-gradient(
      180deg,
      #1d72b8,
      #175f9c
    ) !important;

  border-color:#3b9be6 !important;
  color:#ffffff !important;

  box-shadow:
    0 7px 18px rgba(16,102,169,.22),
    inset 0 1px 0 rgba(255,255,255,.12);
}

/* Quitar la línea inferior de la versión anterior */
#categoryFilters .category-tab.active::after{
  display:none !important;
}

/* Responsive manteniendo centrado */
@media(max-width:900px){
  #categoryFilters.catalog-categories-v13,
  #categoryFilters{
    justify-content:center !important;
  }
}

@media(max-width:620px){
  #categoryFilters.catalog-categories-v13,
  #categoryFilters{
    display:flex !important;
    flex-wrap:wrap !important;
    justify-content:center !important;
    grid-template-columns:none !important;
  }

  #categoryFilters .category-tab{
    width:auto !important;
    flex:0 1 auto !important;
    padding:0 14px !important;
  }
}

@media(max-width:420px){
  #categoryFilters.catalog-categories-v13,
  #categoryFilters{
    display:flex !important;
    grid-template-columns:none !important;
  }

  #categoryFilters .category-tab{
    width:auto !important;
  }
}

/* =========================================================
   V13.9 · CARRITO POR UNIDADES
========================================================= */
.cart-item-info{min-width:0}
.cart-item-info strong{display:block;overflow-wrap:anywhere}
.cart-item-actions{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:10px}
.cart-line-total{font-size:15px;white-space:nowrap}
.cart-qty-controls{
  display:grid;grid-template-columns:34px 38px 34px;align-items:center;
  border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#0a1426
}
.cart-qty-btn{
  width:34px;height:34px;border:0;background:#13213a;color:#fff;cursor:pointer;
  font-weight:900;font-size:18px;transition:background .15s ease
}
.cart-qty-btn:hover{background:#1b3359}
.cart-qty-value{display:grid;place-items:center;min-width:38px;font-weight:900;color:#fff}
.cart-remove-all{
  padding:0;border:0;background:transparent;color:#ff8e98;font-size:12px;
  cursor:pointer;font-weight:800
}
.cart-remove-all:hover{text-decoration:underline}

/* =========================================================
   V13.9 · ÚLTIMAS VENTAS Y RESEÑAS
========================================================= */
.public-activity-section{margin-top:42px;padding-top:8px}
.public-activity-heading{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:18px}
.public-activity-heading h2{margin:5px 0 6px;font-size:clamp(26px,4vw,36px)}
.public-activity-heading>div>p:last-child{margin:0;color:var(--muted);line-height:1.55;max-width:720px}
.public-activity-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.public-activity-panel{
  background:linear-gradient(180deg,#111e36,#0c172b);border:1px solid var(--line);
  border-radius:20px;padding:18px;box-shadow:0 16px 40px rgba(0,0,0,.16);min-width:0
}
.public-panel-title{padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:4px}
.public-panel-title>div{display:flex;align-items:center;gap:12px}
.public-panel-title h3{margin:0 0 3px;font-size:19px}
.public-panel-title p{margin:0;color:var(--muted);font-size:12px;line-height:1.4}
.public-panel-icon{
  width:38px;height:38px;border-radius:12px;display:grid;place-items:center;flex:0 0 auto;
  background:linear-gradient(135deg,#1b5f9d,#2e8cff);color:white;font-weight:900
}
.public-feed-list{display:grid;gap:0;max-height:440px;overflow:auto;padding-right:4px}
.public-sale-card,.public-review-card{
  display:grid;grid-template-columns:42px 1fr;gap:12px;padding:15px 2px;
  border-bottom:1px solid rgba(255,255,255,.06)
}
.public-sale-card:last-child,.public-review-card:last-child{border-bottom:0}
.public-feed-avatar{
  width:42px;height:42px;border-radius:14px;display:grid;place-items:center;font-weight:900;
  background:#17304f;border:1px solid #2a4c73;color:#cfe6ff
}
.review-avatar{background:#3c3317;border-color:#675a27;color:#ffe58f}
.public-feed-main{min-width:0}
.public-feed-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px}
.public-feed-top strong{font-size:14px}
.verified-pill{
  display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;
  font-size:10px;font-weight:900;background:#153a31;color:#8de5bb;border:1px solid #285c4c;
  white-space:nowrap
}
.public-product-list{display:flex;flex-wrap:wrap;gap:5px 8px;color:#dfeaff;font-size:13px;line-height:1.45}
.public-product-list span{background:#0a1426;border:1px solid #1d3150;border-radius:8px;padding:4px 7px}
.public-product-list.compact span{font-size:11px;padding:3px 6px}
.public-feed-main small{display:block;color:#7488a9;margin-top:7px;font-size:11px}
.public-review-text{margin:4px 0 10px;color:#dce9ff;line-height:1.55;font-size:14px;overflow-wrap:anywhere}
.public-feed-empty{padding:30px 14px;text-align:center;color:var(--muted);font-size:13px}
.public-feed-list::-webkit-scrollbar{width:7px}
.public-feed-list::-webkit-scrollbar-track{background:transparent}
.public-feed-list::-webkit-scrollbar-thumb{background:#29425f;border-radius:999px}

/* =========================================================
   V13.9 · FORMULARIO DE RESEÑA
========================================================= */
.review-modal{width:min(590px,100%)}
.review-modal-header{display:flex;align-items:center;gap:14px;margin-bottom:6px}
.review-modal-header .guty-modal-icon{margin-bottom:0;flex:0 0 auto}
.review-modal-header h2{margin:2px 0 0}
.review-order-summary{
  margin:16px 0;padding:13px 14px;border:1px solid #29456d;border-radius:14px;
  background:#0a1426;display:grid;gap:5px
}
.review-order-summary span{font-size:11px;color:var(--accent2);font-weight:900;letter-spacing:.05em}
.review-order-summary strong{font-size:13px;line-height:1.5;color:#e6f0ff}
.review-label{display:block;margin:5px 0 7px;font-size:13px;font-weight:900}
.review-textarea{
  width:100%;min-height:145px;resize:vertical;background:#091426;border:1px solid #29456d;
  color:#fff;border-radius:14px;padding:14px;outline:none;line-height:1.5
}
.review-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(46,140,255,.12)}
.review-counter{text-align:right;color:#7186a8;font-size:11px;margin-top:5px}
.review-existing-text{
  margin-top:14px;padding:14px;border-radius:14px;background:#0a1426;border:1px solid #263c5d;
  color:#dce9ff;line-height:1.55;overflow-wrap:anywhere
}

@media(max-width:760px){
  .public-activity-grid{grid-template-columns:1fr}
  .public-activity-section{margin-top:30px}
  .public-activity-panel{padding:15px}
}

@media(max-width:480px){
  .cart-item{grid-template-columns:1fr;gap:8px}
  .cart-item-actions{align-items:flex-start;flex-direction:row;justify-content:space-between;width:100%}
  .public-feed-top{align-items:flex-start;flex-direction:column;gap:5px}
  .review-modal-header{align-items:flex-start}
}


/* =========================================================
   V13.12 · Recomendados + reseñas visibles
========================================================= */
.shop-badge.recommended{
  background:linear-gradient(135deg,#715714,#b78d1d);
  border:1px solid #d1a72f;color:#fff6c7;box-shadow:0 6px 18px rgba(190,145,30,.22)
}
.public-activity-section{margin:24px 0 26px;padding-top:0}
.public-activity-grid{grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr)}
.public-reviews-featured{border-color:#4f4622;box-shadow:0 18px 48px rgba(0,0,0,.20)}
.public-reviews-featured .public-panel-icon{background:linear-gradient(135deg,#7a6118,#c89d24)}
.public-reviews-featured .public-feed-list{max-height:310px}
.public-sales-compact .public-feed-list{max-height:310px}
@media(max-width:900px){.public-activity-grid{grid-template-columns:1fr}}


/* =========================================================
   V13.13 · Ventas con pruebas + reseñas laterales ocultables
========================================================= */
.public-activity-grid{
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr)
}
.public-sales-featured{border-color:#284c68}
.public-reviews-side{border-color:#4f4622;transition:width .2s ease,padding .2s ease}
.public-reviews-side .public-panel-icon{background:linear-gradient(135deg,#7a6118,#c89d24)}
.public-panel-title-actions{
  display:flex;align-items:center;justify-content:space-between;gap:12px
}
.public-panel-toggle{
  flex:0 0 auto;border:1px solid #354a68;background:#0b172a;color:#cfe2ff;
  border-radius:10px;padding:7px 10px;font-size:11px;font-weight:900;cursor:pointer
}
.public-panel-toggle:hover{border-color:#4b6d98;background:#11213a}
.public-reviews-collapsed-note{display:none;color:var(--muted);font-size:12px;line-height:1.45;padding-top:8px}
.public-reviews-side.is-collapsed .public-feed-list{display:none}
.public-reviews-side.is-collapsed .public-reviews-collapsed-note{display:block}
.public-reviews-side.is-collapsed .public-panel-title{border-bottom:0;margin-bottom:0;padding-bottom:0}
.public-reviews-side.is-collapsed .public-panel-title p{display:none}
.public-activity-grid.reviews-collapsed{grid-template-columns:minmax(0,1fr) minmax(240px,280px)}
.public-sale-proof-block{margin-top:11px;padding-top:10px;border-top:1px solid rgba(255,255,255,.06)}
.public-sale-proof-label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#8fb8df;font-weight:900;margin-bottom:7px}
.public-sale-proof-grid{display:grid;grid-template-columns:repeat(3,minmax(0,92px));gap:7px}
.public-sale-proof{
  display:block;aspect-ratio:16/10;border-radius:9px;overflow:hidden;border:1px solid #31506f;background:#07111f
}
.public-sale-proof img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .18s ease}
.public-sale-proof:hover img{transform:scale(1.04)}
.public-sales-featured .public-feed-list,.public-reviews-side .public-feed-list{max-height:360px}
@media(max-width:900px){
  .public-activity-grid,.public-activity-grid.reviews-collapsed{grid-template-columns:1fr}
  .public-reviews-side.is-collapsed{min-height:auto}
}
@media(max-width:520px){
  .public-panel-title-actions{align-items:flex-start}
  .public-sale-proof-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* =========================================================
   V13.14 · Actividad lateral + Guty Store
========================================================= */
.brand-mark-logo{overflow:hidden;padding:0;background:#10203a}
.brand-mark-logo .store-brand-icon{width:100%;height:100%;display:block;object-fit:cover}
.brand-mark-fallback{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),var(--accent2));font-weight:900}
.brand-name{white-space:nowrap}
.brand-divider{color:#5aaeff;font-weight:900;padding:0 2px}

.catalog-content-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:22px;
  align-items:start;
}
.catalog-content-layout>.products-grid{min-width:0}
.public-activity-sidebar{
  position:sticky;
  top:90px;
  margin:0;
  padding:0;
  min-width:0;
}
.public-activity-heading-compact{margin:0 0 12px;align-items:center}
.public-activity-heading-compact h2{font-size:22px;margin:4px 0 0}
.public-activity-grid{display:grid;grid-template-columns:1fr;gap:14px}
.public-activity-panel{padding:14px;border-radius:17px}
.public-panel-title{padding-bottom:11px;margin-bottom:0}
.public-panel-title>div{gap:10px}
.public-panel-title h3{margin:0;font-size:16px}
.public-panel-title p{display:none!important}
.public-panel-icon{width:32px;height:32px;border-radius:10px;font-size:13px}
.public-feed-list{max-height:280px;overflow:auto}
.public-sale-card,.public-review-card{grid-template-columns:34px 1fr;gap:10px;padding:12px 0}
.public-feed-avatar{width:34px;height:34px;border-radius:11px;font-size:12px}
.public-feed-top{gap:6px;margin-bottom:5px}
.public-feed-top strong{font-size:13px}
.verified-pill{font-size:9px;padding:3px 6px}
.public-product-list{font-size:12px;gap:4px 5px}
.public-product-list span{padding:3px 6px}
.public-review-text{font-size:13px;margin:3px 0 8px;line-height:1.45}
.public-sale-proof-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.public-panel-toggle,.public-reviews-collapsed-note{display:none!important}
.public-reviews-side.is-collapsed .public-feed-list{display:grid!important}
.public-reviews-side.is-collapsed .public-panel-title{border-bottom:1px solid rgba(255,255,255,.06);padding-bottom:11px}

@media(max-width:1050px){
  .catalog-content-layout{grid-template-columns:1fr}
  .public-activity-sidebar{position:static;order:2;margin-top:26px}
  .public-activity-grid{grid-template-columns:1fr 1fr}
  .public-feed-list{max-height:300px}
}
@media(max-width:700px){
  .public-activity-grid{grid-template-columns:1fr}
  .public-activity-sidebar{margin-top:22px}
}

/* =========================================================
   V13.15 · Cuenta Guty Store + Compra vía código
========================================================= */
.code-purchase-header-btn{white-space:nowrap}
.purchase-type-modal{max-width:660px}
.purchase-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0 6px}
.purchase-type-card{border:1px solid #29476e;background:#10213b;color:#f4f8ff;border-radius:18px;padding:18px;text-align:left;cursor:pointer;display:grid;gap:7px;transition:.16s ease}
.purchase-type-card:hover{transform:translateY(-2px);border-color:#4c78b5;background:#142a49}
.purchase-type-card.code-choice{border-color:#315f88}
.purchase-type-icon{width:42px;height:42px;border-radius:13px;background:#19345a;display:grid;place-items:center;font-weight:900;font-size:20px}
.purchase-type-card strong{font-size:16px}.purchase-type-card small{color:#9fb1cf;line-height:1.4}
.code-purchase-modal{max-width:680px;max-height:min(88vh,860px);overflow:auto;text-align:left}
.code-modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.code-modal-head h2{margin:2px 0 0}
.guty-modal-x{border:0;background:transparent;color:#9fb1cf;font-size:28px;cursor:pointer;line-height:1;padding:2px 5px}
.code-account-strip{border:1px solid #29476e;background:#0d1d35;border-radius:16px;padding:14px;display:flex;justify-content:space-between;gap:14px;align-items:center;margin:16px 0}
.code-account-strip>div:first-child{display:grid;gap:3px}.code-account-strip span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#8ca4c9;font-weight:800}
.code-account-strip strong{font-size:16px}.code-account-strip small{color:#91a7c9;line-height:1.35}.code-account-strip.signed{border-color:#2b6f5a}
.code-account-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.code-limit-line{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #263c5f;padding:2px 2px 12px;margin-bottom:12px;color:#a9bad4}.code-limit-line strong{color:#fff}
.code-cart-summary{background:#0b182c;border:1px solid #233d61;border-radius:16px;padding:12px 14px;display:grid;gap:8px;margin-bottom:16px}
.code-cart-line,.code-cart-total{display:flex;justify-content:space-between;gap:12px;align-items:center}.code-cart-line{color:#c6d3e7;font-size:14px}.code-cart-total{border-top:1px solid #29415f;padding-top:10px;margin-top:2px;font-size:16px}
.code-purchase-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.code-purchase-form label{display:grid;gap:7px;font-size:13px;font-weight:700;color:#d9e4f4}.code-purchase-form .code-generate-btn,.code-purchase-form>button{grid-column:1/-1;margin-top:4px}
.web-account-modal{max-width:520px;text-align:left}.web-auth-switch{display:block;margin:12px auto 0;border:0;background:transparent;color:#7fb4ff;cursor:pointer;font-weight:700}
.code-success-modal{max-width:500px}.generated-code{font-size:30px;font-weight:900;letter-spacing:.12em;background:#0c1b31;border:1px solid #3c6ca2;border-radius:16px;padding:15px;text-align:center;margin:14px 0;color:#eef7ff;user-select:all}

@media(max-width:760px){
  .purchase-type-grid,.code-purchase-form{grid-template-columns:1fr}
  .code-account-strip{align-items:flex-start;flex-direction:column}
  .code-account-actions{justify-content:flex-start}
  .code-purchase-header-btn{font-size:0;padding-inline:11px}.code-purchase-header-btn::after{content:'#';font-size:17px;font-weight:900}
}


/* V13.17 · modal compra por código refinado */
.code-purchase-modal.refined{max-width:920px;max-height:min(90vh,900px);overflow:auto;padding:22px;text-align:left}
.code-modal-head.refined{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:14px}
.code-modal-head.refined h2{margin:4px 0 6px;font-size:40px;line-height:1.05}
.code-modal-subtitle{margin:0;color:#9fb1cf;max-width:640px;line-height:1.45}
.code-modal-layout{display:grid;grid-template-columns:minmax(280px,330px) minmax(0,1fr);gap:18px;align-items:start}
.code-modal-side{display:grid;gap:14px}
.code-panel{background:linear-gradient(180deg,#0c1b31,#0b1729);border:1px solid #254367;border-radius:20px;padding:16px;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.code-panel-heading{display:grid;gap:4px}
.code-panel-heading span{font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:800;color:#8ca4c9}
.code-panel-heading strong{font-size:20px;line-height:1.15}
.code-panel-copy{margin:8px 0 0;color:#9fb1cf;line-height:1.45}
.code-account-actions.compact{display:grid;grid-template-columns:1fr;gap:10px;margin-top:14px}
.code-account-panel.signed{border-color:#2f7560}
.code-account-panel.guest{border-color:#2d527e}
.code-limit-line.refined{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.08)}
.code-limit-line.refined span{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#8ca4c9;font-weight:800}
.code-limit-line.refined strong{font-size:20px}
.code-cart-summary.refined{margin:0;padding:0;background:transparent;border:0;gap:10px}
.code-cart-line{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.code-cart-line:last-of-type{border-bottom:1px solid rgba(255,255,255,.07)}
.code-cart-line-main{display:flex;gap:8px;align-items:center;min-width:0}
.code-cart-line-main span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.code-cart-line-qty{display:inline-grid;place-items:center;min-width:34px;height:28px;border-radius:999px;background:#16345a;color:#e8f1ff;font-size:12px;font-weight:900;padding:0 8px}
.code-cart-total{display:flex;justify-content:space-between;align-items:center;padding-top:12px;margin-top:4px;border-top:1px solid rgba(255,255,255,.09)}
.code-form-panel{display:grid;gap:14px}
.code-form-intro h3{margin:0 0 4px}.code-form-intro p{margin:0;color:#9fb1cf;line-height:1.45}
.code-purchase-form.refined{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.code-purchase-form.refined label{display:grid;gap:7px;font-size:13px;font-weight:700;color:#d9e4f4}
.code-purchase-form.refined .code-generate-btn{grid-column:1/-1;margin-top:6px;min-height:52px;border-radius:14px}
@media(max-width:860px){
  .code-modal-layout{grid-template-columns:1fr}
  .code-modal-head.refined h2{font-size:34px}
}
@media(max-width:640px){
  .code-purchase-modal.refined{padding:16px}
  .code-modal-head.refined h2{font-size:30px}
  .code-purchase-form.refined{grid-template-columns:1fr}
}


/* V13.18 · corrección modal compra por código */
.code-purchase-modal.refined{
  width:min(960px,calc(100vw - 36px));
  max-width:none;
  max-height:min(90vh,920px);
  overflow:auto;
  box-sizing:border-box;
}
.code-modal-layout{
  grid-template-columns:minmax(260px,320px) minmax(0,1fr);
  gap:20px;
}
.code-modal-side,.code-form-panel{min-width:0}
.code-modal-head.refined{padding-right:6px}
.code-modal-head.refined h2{font-size:32px;line-height:1.08;word-break:break-word}
.code-modal-subtitle{font-size:14px}
.code-panel{min-width:0}
.code-account-actions.compact{grid-template-columns:1fr 1fr}
.code-account-actions.compact .btn{width:100%}
.code-account-panel.signed .code-account-actions.compact{grid-template-columns:1fr}
.code-cart-line{align-items:flex-start}
.code-cart-line strong{white-space:nowrap}
.code-purchase-form.refined{grid-template-columns:1fr 1fr;align-items:end}
.code-purchase-form.refined .input{width:100%;box-sizing:border-box;min-width:0}
.code-purchase-form.refined label{min-width:0}
.code-purchase-form.refined .code-generate-btn{width:100%}
@media(max-width:980px){
  .code-purchase-modal.refined{width:min(720px,calc(100vw - 28px));padding:18px}
  .code-modal-layout{grid-template-columns:1fr}
  .code-account-actions.compact{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .code-purchase-modal.refined{width:min(100vw - 18px,560px);padding:14px;border-radius:18px}
  .code-modal-head.refined{gap:10px}
  .code-modal-head.refined h2{font-size:26px}
  .code-modal-subtitle{font-size:13px}
  .code-account-actions.compact,.code-purchase-form.refined{grid-template-columns:1fr}
  .code-limit-line.refined strong{font-size:18px}
  .code-cart-line{gap:8px}
  .code-cart-line-main{gap:6px}
}

/* Paso 4 · staff de entrega */
.account-meta-box small{display:block;margin-top:3px;color:var(--muted)}

/* Paso 5 · Paquetes */
.package-preview{display:grid;gap:10px;margin:10px 0;padding:10px;border:1px solid #294666;border-radius:13px;background:rgba(12,27,49,.72)}
.package-fixed-preview,.package-choice-preview{display:grid;gap:6px}.package-fixed-preview strong,.package-choice-preview strong{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#8fbdf6}
.package-fixed-list,.package-choice-list{margin:0;padding-left:18px;display:grid;gap:4px;font-size:12px;color:#c9d9ef;line-height:1.4}
.package-fixed-list li,.package-choice-list li{margin:0}
.package-config-modal{width:min(760px,100%);max-width:760px;max-height:90vh;overflow:auto;text-align:left}
.package-config-public-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.package-config-public-head h2{margin:3px 0 5px}
.package-config-public-fixed{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.package-config-public-fixed>strong{width:100%;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#8fbdf6}.package-config-public-fixed>span{border:1px solid #294666;background:#102039;border-radius:999px;padding:7px 10px;font-size:12px}
.package-config-public-groups{display:grid;gap:13px}.package-public-group{border:1px solid #2a486e;border-radius:16px;padding:12px}.package-public-group legend{padding:0 7px;font-weight:800;color:#e6f0ff}
.package-public-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:9px}
.package-public-option{display:grid;grid-template-columns:20px 48px minmax(0,1fr);gap:9px;align-items:center;border:1px solid #294666;border-radius:13px;padding:9px;background:#0e1c31;cursor:pointer}.package-public-option:has(input:checked){border-color:#4a86d6;background:#142a49}.package-public-option.disabled{opacity:.4;cursor:not-allowed}
.package-public-option-img{width:48px;height:48px;border-radius:9px;background:#14243b;overflow:hidden;display:grid;place-items:center}.package-public-option-img img{width:100%;height:100%;object-fit:cover}.package-public-option>span:last-child{display:grid;gap:3px;min-width:0}.package-public-option small{color:#91a7c9;font-size:11px}
.cart-package-summary,.code-package-summary{display:block;color:#8fb0dc;font-size:11px;line-height:1.35;margin-top:3px}.code-package-summary{white-space:normal}
@media(max-width:620px){.package-public-options{grid-template-columns:1fr}.package-config-modal{padding:16px}}
.account-package-product>div:first-child{display:grid;gap:3px}.account-package-components{display:grid;gap:2px}.account-package-components small{font-size:11px;color:#8fa9cc}

/* Paso 7A · cuentas locales y perfil */
.web-account-modal.redesigned{width:min(780px,calc(100vw - 28px));max-width:none;padding:0;overflow:hidden}
.web-auth-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:22px 24px 12px}
.web-auth-head h2{margin:4px 0 6px;font-size:30px}.web-auth-head p{margin:0;color:#9fb1cf;line-height:1.45}
.web-auth-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:18px;padding:12px 24px 24px}
.web-auth-benefits{border:1px solid #29486f;border-radius:18px;padding:18px;background:linear-gradient(180deg,#122541,#0c192e);display:grid;align-content:start;gap:12px}
.web-auth-brand{width:48px;height:48px;border-radius:15px;background:#1f6fc7;display:grid;place-items:center;font-weight:900;font-size:18px}
.web-auth-benefits ul{margin:0;padding-left:18px;display:grid;gap:8px;color:#adc0dd;font-size:13px;line-height:1.45}
.web-account-form{display:grid;gap:13px}.web-account-form label{display:grid;gap:7px;font-weight:750;color:#dce8f7;font-size:13px}
.web-account-form .input{width:100%;box-sizing:border-box}.web-auth-submit{min-height:48px;margin-top:2px}.web-auth-switch{border:0;background:transparent;color:#79b5ff;font-weight:800;cursor:pointer;padding:8px}
.web-password-help{margin:0!important;padding:10px 12px;border:1px solid #31435d;border-radius:12px;background:rgba(255,255,255,.025);font-size:12px!important;line-height:1.45!important;color:#9fb1cf!important}

.web-profile-modal{width:min(1040px,calc(100vw - 30px));max-width:none;max-height:92vh;overflow:auto;padding:22px}
.web-profile-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.web-profile-identity{display:flex;gap:14px;align-items:center;min-width:0}.web-profile-identity h2{margin:2px 0 4px;font-size:30px}.web-profile-identity p{margin:0;color:#9fb1cf;overflow-wrap:anywhere}
.web-avatar-button{border:0;background:transparent;padding:0;cursor:pointer;position:relative;border-radius:50%}.web-avatar-button:after{content:'✎';position:absolute;right:-2px;bottom:-2px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#2b7bd7;color:#fff;font-size:11px;border:2px solid #0d1930}
.web-profile-avatar{width:76px;height:76px;border-radius:50%;overflow:hidden;background:#18345b;display:grid;place-items:center;font-size:28px;font-weight:900;color:#eaf4ff;position:relative}.web-profile-avatar img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.web-profile-avatar span{z-index:0}.web-profile-avatar img+span{visibility:hidden}.web-profile-avatar.fallback span{visibility:visible}
.web-profile-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.web-profile-stats>div{border:1px solid #294668;border-radius:15px;padding:13px;background:#0d1a2e;display:grid;gap:4px}.web-profile-stats span{color:#94a9c9;font-size:11px;text-transform:uppercase;letter-spacing:.07em;font-weight:800}.web-profile-stats strong{font-size:22px}
.web-profile-grid{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.4fr);gap:16px}.web-profile-panel{border:1px solid #294668;border-radius:18px;background:#0b172a;padding:16px;display:grid;gap:14px;align-content:start}.web-profile-panel-head h3{margin:0 0 4px}.web-profile-panel-head p{margin:0;color:#93a8c7;font-size:13px}
.web-profile-form{display:grid;gap:12px}.web-profile-form label{display:grid;gap:6px;font-size:13px;font-weight:750}.web-profile-form label small{color:#8fa4c3;font-weight:500}.web-profile-form .input{width:100%;box-sizing:border-box}.web-profile-form .input:disabled{opacity:.68;cursor:not-allowed}.web-profile-security{border:1px solid #31435e;background:rgba(255,255,255,.025);border-radius:13px;padding:12px}.web-profile-security p{margin:4px 0 0;color:#93a8c7;font-size:12px;line-height:1.45}
.web-profile-orders{display:grid;gap:10px;max-height:590px;overflow:auto;padding-right:3px}.web-profile-order-card{border:1px solid #263f61;border-radius:15px;padding:13px;background:#0d1b30;display:grid;gap:10px}.web-profile-order-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.web-profile-order-top>div{display:grid;gap:3px}.web-profile-order-top small{color:#8fa4c3}.web-order-status{font-size:11px;font-weight:900;padding:6px 9px;border-radius:999px;background:#243751;color:#bcd3ef}.web-order-status.entregado{background:#173c2d;color:#8ee8b9}.web-order-status.cancelado{background:#3d2028;color:#ffabb5}.web-order-status.pagado,.web-order-status.aceptado{background:#1d3954;color:#8fceff}
.web-profile-order-products{display:flex;flex-wrap:wrap;gap:6px}.web-profile-order-products span{border:1px solid #29415f;border-radius:999px;padding:5px 8px;background:rgba(255,255,255,.03);font-size:11px;color:#d4e2f5}.web-profile-order-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.web-profile-order-meta>span,.web-profile-delivery{border-top:1px solid rgba(255,255,255,.07);padding-top:8px;color:#90a5c5;font-size:11px}.web-profile-order-meta strong,.web-profile-delivery strong{display:block;color:#eaf4ff;font-size:12px;margin-top:2px}.web-profile-delivery small{display:block;margin-top:2px}

@media(max-width:820px){.web-auth-layout,.web-profile-grid{grid-template-columns:1fr}.web-auth-benefits{display:none}.web-profile-stats{grid-template-columns:1fr 1fr}.web-profile-order-meta{grid-template-columns:1fr}}
@media(max-width:560px){.web-account-modal.redesigned,.web-profile-modal{width:calc(100vw - 16px);padding:14px}.web-auth-head{padding:16px 16px 8px}.web-auth-layout{padding:10px 16px 18px}.web-profile-head{gap:10px}.web-profile-avatar{width:62px;height:62px}.web-profile-identity h2{font-size:24px}.web-profile-stats{grid-template-columns:1fr}.web-profile-order-top{align-items:center}}


/* Paso 7A.1 · Discord + Código y perfil realmente responsivo */
.purchase-main-method-modal{
  width:min(760px,calc(100vw - 28px)) !important;
  max-width:none !important;
  box-sizing:border-box;
  overflow:hidden;
}
.purchase-main-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}
.purchase-main-head h2{margin:3px 0 6px;font-size:30px}
.purchase-main-head p{margin:0;color:#9fb1cf;line-height:1.45}
.purchase-main-method-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.purchase-main-method-card{min-width:0;border:1px solid #2d4d74;border-radius:18px;background:#0d1b30;color:#edf5ff;padding:16px;text-align:left;cursor:pointer;display:grid;grid-template-columns:48px minmax(0,1fr) 26px;gap:12px;align-items:center;transition:.16s ease}
.purchase-main-method-card:hover{transform:translateY(-2px);border-color:#5591d4;background:#132744}
.purchase-main-method-card.code{border-color:#315f88}
.purchase-main-method-card.disabled{opacity:.5;cursor:not-allowed;transform:none}
.purchase-main-method-icon{width:48px;height:48px;border-radius:14px;background:#17355c;display:grid;place-items:center;font-size:21px;font-weight:900}
.purchase-main-method-card>div{min-width:0;display:grid;gap:5px}
.purchase-main-method-card strong{font-size:16px}
.purchase-main-method-card small{color:#9fb2cf;line-height:1.4}
.purchase-main-method-arrow{font-size:22px;color:#8fbef6;font-weight:900}

/* ensureNotificationStyles inyecta .guty-modal después del CSS externo;
   usamos mayor especificidad para que no vuelva a forzar 500px. */
.guty-modal.web-profile-modal{
  width:min(1040px,calc(100vw - 32px)) !important;
  max-width:none !important;
  max-height:92vh !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  box-sizing:border-box !important;
}
.guty-modal.web-profile-modal *{box-sizing:border-box}
.web-profile-grid{min-width:0}
.web-profile-panel,.web-profile-panel.orders,.web-profile-orders,.web-profile-order-card{min-width:0;max-width:100%}
.web-profile-order-products,.web-profile-order-meta,.web-profile-delivery{min-width:0;overflow-wrap:anywhere}

@media(max-width:1000px){
  .guty-modal.web-profile-modal{width:min(760px,calc(100vw - 24px)) !important}
  .web-profile-grid{grid-template-columns:1fr !important}
  .web-profile-panel.orders{order:2}
  .web-profile-orders{max-height:none;overflow:visible;padding-right:0}
}
@media(max-width:760px){
  .purchase-main-method-grid{grid-template-columns:1fr}
  .purchase-main-method-modal{width:calc(100vw - 18px) !important;padding:16px !important}
  .purchase-main-head h2{font-size:26px}
  .guty-modal.web-profile-modal{width:calc(100vw - 16px) !important;padding:14px !important;border-radius:18px}
  .web-profile-head{align-items:flex-start}
  .web-profile-identity{min-width:0}
  .web-profile-stats{grid-template-columns:1fr 1fr !important}
  .web-profile-order-meta{grid-template-columns:1fr 1fr !important}
}
@media(max-width:520px){
  .purchase-main-method-card{grid-template-columns:44px minmax(0,1fr);padding:13px}
  .purchase-main-method-arrow{display:none}
  .purchase-main-method-icon{width:44px;height:44px}
  .web-profile-head{flex-direction:column}
  .web-profile-head>.guty-modal-x{position:absolute;right:14px;top:14px}
  .web-profile-stats{grid-template-columns:1fr !important}
  .web-profile-order-meta{grid-template-columns:1fr !important}
  .web-profile-identity h2{font-size:22px}
  .web-profile-avatar{width:58px;height:58px}
}


/* Paso 7A.2 · tono visual más corporativo */
.web-profile-security{border-left:3px solid #315f91}
.web-password-help{line-height:1.55}
.purchase-main-method-card small,.code-modal-subtitle,.code-panel-copy{line-height:1.5}


/* Paso 7A.3 · Chat de compra Web */
.web-profile-chat-btn{width:100%;margin-top:10px}
.web-purchase-chat-modal{width:min(760px,calc(100vw - 28px));max-width:none;height:min(760px,88vh);padding:0;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:linear-gradient(180deg,#101f38,#0a1426)}
.web-purchase-chat-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:20px 22px;border-bottom:1px solid #29456d}
.web-purchase-chat-head h2{margin:3px 0 4px}.web-purchase-chat-head p{margin:0}
.web-purchase-chat-messages{min-height:0;overflow:auto;padding:18px;display:flex;flex-direction:column;gap:10px}
.web-purchase-chat-message{display:flex;justify-content:flex-start}.web-purchase-chat-message.mine{justify-content:flex-end}.web-purchase-chat-message.sistema{justify-content:center}
.web-purchase-chat-bubble{max-width:min(76%,560px);padding:11px 13px;border-radius:15px;border:1px solid #28466c;background:#101f36;color:#e7f0ff;line-height:1.45}
.web-purchase-chat-message.mine .web-purchase-chat-bubble{background:#153b69;border-color:#3477b9}.web-purchase-chat-message.sistema .web-purchase-chat-bubble{max-width:90%;background:#17233a;color:#b9c9e2;text-align:center;font-size:13px}
.web-purchase-chat-author{font-size:11px;font-weight:900;color:#8fc2ff;margin-bottom:4px}.web-purchase-chat-bubble small{display:block;color:#8298ba;margin-top:6px;font-size:10px}
.web-purchase-chat-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:14px 18px;border-top:1px solid #29456d;background:#0d192d}
.web-purchase-chat-input{resize:none;min-height:48px;max-height:130px}.web-purchase-chat-form .btn{align-self:stretch;min-width:120px}
.web-purchase-chat-closed{padding:14px 18px;border-top:1px solid #29456d;background:#111d31;color:#9fb1cf;text-align:center;font-size:13px}
@media(max-width:620px){.web-purchase-chat-modal{width:calc(100vw - 12px);height:92vh}.web-purchase-chat-head{padding:15px}.web-purchase-chat-messages{padding:12px}.web-purchase-chat-bubble{max-width:88%}.web-purchase-chat-form{grid-template-columns:1fr;padding:10px}.web-purchase-chat-form .btn{min-height:44px}}


/* Paso 7A.4 · navegación superior compacta */
.header-actions.store-header-nav{
  display:flex;
  align-items:center;
  flex-wrap:nowrap;
  gap:5px;
  padding:5px;
  border:1px solid rgba(114,155,218,.18);
  border-radius:16px;
  background:rgba(12,24,44,.72);
  box-shadow:0 10px 30px rgba(0,0,0,.12);
}
.header-actions.store-header-nav .store-nav-btn{
  min-height:42px;
  padding:9px 13px;
  border-radius:11px;
  border:1px solid transparent;
  background:transparent;
  color:#b9cae6;
  box-shadow:none;
  white-space:nowrap;
  font-size:13px;
  letter-spacing:-.01em;
}
.header-actions.store-header-nav .store-nav-btn:hover{
  transform:none;
  color:#fff;
  background:#142641;
  border-color:#29476d;
  box-shadow:none;
}
.header-actions.store-header-nav .discord-nav-btn,
.header-actions.store-header-nav .profile-nav-btn{
  background:rgba(255,255,255,.025);
}
.header-actions.store-header-nav .web-purchase-nav-btn{
  color:#dcebff;
  border-color:#24476f;
  background:#10233d;
}
.header-actions.store-header-nav .cart-nav-btn{
  color:#fff;
  background:linear-gradient(135deg,#2788f4,#60b2ff);
  border-color:transparent;
  padding-left:15px;
  padding-right:15px;
}
.header-actions.store-header-nav .cart-nav-btn:hover{
  background:linear-gradient(135deg,#3193ff,#6ebcff);
  border-color:transparent;
}
.header-actions.store-header-nav .badge{
  display:inline-grid;
  place-items:center;
  min-width:22px;
  height:22px;
  margin-left:7px;
  padding:0 6px;
  background:#fff;
  color:#176bc5;
  font-size:11px;
}
@media(max-width:760px){
  .topbar{flex-wrap:wrap}
  .header-actions.store-header-nav{
    width:100%;
    order:3;
    overflow-x:auto;
    justify-content:flex-start;
    padding:5px;
    scrollbar-width:none;
  }
  .header-actions.store-header-nav::-webkit-scrollbar{display:none}
  .header-actions.store-header-nav .store-nav-btn{flex:0 0 auto;font-size:12px;padding:9px 11px}
  .header-actions.store-header-nav #cartBtn{grid-column:auto}
}

/* Paso 7A.4 · estado del equipo */
.staff-presence-badge{
  border-radius:16px;
  padding:9px 12px;
  gap:10px;
  color:#c5d5ec;
}
.staff-presence-badge #staffPresenceText{
  display:flex;
  align-items:center;
  gap:7px;
  min-width:0;
}
.staff-presence-badge #staffPresenceText strong{color:#eef6ff;font-size:12px;white-space:nowrap}
.staff-presence-badge #staffPresenceText>span:not(.presence-channel){color:#899bb8;white-space:nowrap}
.staff-presence-badge .presence-channel{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:4px 7px;
  border-radius:999px;
  background:#132945;
  border:1px solid #25476f;
  color:#9db5d7;
  white-space:nowrap;
}
.staff-presence-badge .presence-channel b{color:#f0f7ff}
.staff-presence-badge.offline .presence-dot{background:#64748b;box-shadow:0 0 0 4px rgba(100,116,139,.12)}
.staff-presence-badge.online .presence-dot{background:#55cf8d;box-shadow:0 0 0 4px rgba(85,207,141,.12)}
@media(max-width:640px){
  .staff-presence-badge{max-width:calc(100vw - 24px)}
  .staff-presence-badge #staffPresenceText{gap:5px}
  .staff-presence-badge #staffPresenceText strong{display:none}
}


/* Paso 7A.5 · Discord vinculado + etiqueta Staff Activos */
.web-profile-discord{display:flex;justify-content:space-between;align-items:center;gap:14px;border:1px solid #2a466c;border-radius:16px;padding:14px;background:rgba(14,29,52,.72)}
.web-profile-discord>div{min-width:0;display:grid;gap:4px}.web-profile-discord strong{font-size:14px}.web-profile-discord p{margin:0;color:#9fb1cf;line-height:1.45;font-size:12px}
.web-profile-discord.linked{border-color:#2c6b55;background:rgba(24,58,46,.28)}
.web-profile-discord-status{display:inline-flex;align-items:center;justify-content:center;padding:7px 11px;border-radius:999px;background:#183a2e;color:#8de5bb;font-size:11px;font-weight:900;white-space:nowrap}
@media(max-width:640px){.web-profile-discord{align-items:stretch;flex-direction:column}.web-profile-discord .btn{width:100%}}

/* Paso 7B · rango de comprador en perfil */
.buyer-rank-profile-card{margin:14px 0;border:1px solid #31577f;background:linear-gradient(180deg,#10213a,#0b182b);border-radius:18px;padding:15px;display:grid;gap:11px}.buyer-rank-profile-top,.buyer-rank-profile-bottom{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.buyer-rank-profile-top>div{display:grid;gap:3px}.buyer-rank-profile-top span{font-size:10px;letter-spacing:.11em;text-transform:uppercase;color:#8ca9d0;font-weight:900}.buyer-rank-profile-top strong{font-size:20px}.buyer-rank-profile-top b{font-size:12px;color:#b7cae5}.buyer-rank-progress{height:9px;border-radius:999px;background:#071222;overflow:hidden;border:1px solid rgba(255,255,255,.06)}.buyer-rank-progress>span{display:block;height:100%;background:linear-gradient(90deg,#2e7cf4,#62b1ff);border-radius:inherit}.buyer-rank-benefit-list{display:flex;gap:6px;flex-wrap:wrap}.buyer-rank-benefit-list span{font-size:11px;padding:6px 9px;border-radius:999px;background:#18375e;border:1px solid #2e5989;color:#dcecff}.buyer-rank-profile-bottom small{color:#8fa4c4;text-align:right;max-width:240px}@media(max-width:640px){.buyer-rank-profile-top,.buyer-rank-profile-bottom{flex-direction:column}.buyer-rank-profile-bottom small{text-align:left;max-width:none}}

/* Paso 7B.2 · resumen de cupón en Compra por Web */
.code-coupon-line{color:#b8d8ff}
.code-coupon-line strong{color:#9fe0bc}

/* Paso 7C */
.header-actions.store-header-nav{gap:10px;align-items:center}
.header-actions.store-header-nav .store-nav-btn{min-height:42px;display:inline-flex;align-items:center;justify-content:center}
.purchase-main-method-card strong{display:block;line-height:1.25}
@media(max-width:760px){
  .header-actions.store-header-nav{display:flex;overflow-x:auto;white-space:nowrap;padding-bottom:3px}
  .header-actions.store-header-nav .store-nav-btn{flex:0 0 auto}
  .catalog-toolbar,.filters-panel{grid-template-columns:1fr !important}
}
@media(max-width:520px){
  .container{padding-left:12px;padding-right:12px}
  .topbar{padding:12px}
  .header-actions.store-header-nav .store-nav-btn{font-size:12px;padding:9px 11px;border-radius:12px}
  .purchase-main-method-modal,.guty-modal.web-profile-modal{width:calc(100vw - 12px) !important}
}

/* ===== PASO 7D · CONTACTO DE COMPRA ===== */
.code-platform-contact-help{
  display:block;
  margin-top:6px;
  color:var(--muted);
  font-size:11px;
  line-height:1.45;
}
.code-platform-contact-help a{
  color:var(--accent,#66a9ff);
  font-weight:800;
  text-decoration:none;
}
.code-platform-contact-help a:hover{text-decoration:underline}

/* =========================================================
   PASO 7E · COMPRA WEB RESPONSIVE + ACTIVIDAD UNIFICADA
========================================================= */

/* Compra por Web: más espacio para el formulario y mejor adaptación */
.code-purchase-modal.refined{
  width:min(1060px,calc(100vw - 28px)) !important;
  max-width:none !important;
  max-height:min(92vh,920px) !important;
  overflow:auto !important;
  padding:24px !important;
  box-sizing:border-box !important;
  border-radius:24px !important;
}
.code-modal-head.refined{
  margin-bottom:18px !important;
  padding-bottom:16px;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.code-modal-head.refined h2{
  font-size:clamp(28px,4vw,38px) !important;
  line-height:1.05 !important;
}
.code-modal-subtitle{max-width:760px !important}
.code-modal-layout{
  grid-template-columns:minmax(250px,285px) minmax(0,1fr) !important;
  gap:18px !important;
  align-items:start !important;
}
.code-modal-side,.code-form-panel,.code-panel{min-width:0 !important}
.code-modal-side{gap:14px !important}
.code-panel{
  border-radius:18px !important;
  padding:17px !important;
}
.code-account-panel{background:linear-gradient(180deg,#10213a,#0b182b) !important}
.code-summary-panel{background:linear-gradient(180deg,#0d1c32,#091526) !important}
.code-form-panel{
  padding:22px !important;
  background:linear-gradient(180deg,#102039,#0b172a) !important;
}
.code-form-intro{
  padding-bottom:15px;
  margin-bottom:16px;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.code-form-intro h3{margin:0 0 6px;font-size:21px}
.code-form-intro p{margin:0;color:var(--muted);line-height:1.5}
.code-purchase-form.refined{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:15px 14px !important;
}
.code-purchase-form.refined label{
  min-width:0 !important;
  gap:7px !important;
  align-content:start;
}
.code-purchase-form.refined .input,
.code-purchase-form.refined input,
.code-purchase-form.refined select{
  width:100% !important;
  min-width:0 !important;
  min-height:50px;
  box-sizing:border-box !important;
  border-radius:14px !important;
}
.code-platform-contact-help{
  min-height:34px;
  margin:0 !important;
  padding-top:1px;
  line-height:1.45 !important;
  overflow-wrap:anywhere;
}
.code-platform-contact-help a{white-space:normal !important}
.code-purchase-form.refined .code-generate-btn,
.code-purchase-form.refined>button{
  grid-column:1/-1 !important;
  width:100% !important;
  min-height:52px;
  margin-top:2px !important;
  border-radius:14px !important;
  font-size:15px;
}
.code-account-actions.compact{gap:8px !important}
.code-account-actions.compact .btn{min-height:44px}
.code-limit-line.refined{gap:10px !important}
.code-cart-line-main{min-width:0}
.code-cart-line-main>span:last-child{min-width:0;overflow-wrap:anywhere}

@media(max-width:900px){
  .code-purchase-modal.refined{
    width:calc(100vw - 18px) !important;
    padding:18px !important;
  }
  .code-modal-layout{grid-template-columns:1fr !important}
  .code-modal-side{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    gap:14px !important;
  }
  .code-account-actions.compact{grid-template-columns:1fr 1fr !important}
}

@media(max-width:680px){
  .code-purchase-modal.refined{
    width:100vw !important;
    max-width:100vw !important;
    min-height:100dvh;
    max-height:100dvh !important;
    padding:15px !important;
    border-radius:0 !important;
  }
  .code-modal-head.refined{
    gap:10px !important;
    margin-bottom:14px !important;
    padding-bottom:12px;
  }
  .code-modal-head.refined h2{font-size:27px !important}
  .code-modal-subtitle{font-size:13px !important}
  .code-modal-side{grid-template-columns:1fr !important}
  .code-account-actions.compact{grid-template-columns:1fr !important}
  .code-purchase-form.refined{grid-template-columns:1fr !important}
  .code-form-panel{padding:15px !important}
  .code-panel{padding:14px !important;border-radius:16px !important}
  .code-platform-contact-help{min-height:0}
  .code-cart-line,.code-cart-total{align-items:flex-start !important}
  .code-cart-line-main>span:last-child{white-space:normal !important}
}

@media(max-width:420px){
  .code-purchase-modal.refined{padding:12px !important}
  .code-modal-head.refined h2{font-size:24px !important}
  .code-form-intro h3{font-size:19px}
  .code-account-panel .btn{width:100%}
}

/* Últimas ventas + reseñas ahora viven en un único feed */
.catalog-content-layout{
  grid-template-columns:minmax(0,1fr) 340px;
}
.public-activity-sidebar.merged-activity{min-width:0}
.public-activity-heading-compact .public-activity-copy{
  display:block !important;
  margin:5px 0 0;
  color:var(--muted);
  font-size:12px;
  line-height:1.45;
}
.public-activity-grid.unified{grid-template-columns:1fr !important}
.public-activity-combined{
  border-color:#2b4a6c;
  overflow:hidden;
  padding:0 !important;
}
.public-panel-title.merged-title{
  margin:0;
  padding:14px 15px;
  background:rgba(255,255,255,.018);
}
.public-panel-title.merged-title>div{align-items:center}
.public-panel-title.merged-title>div>div{min-width:0}
.public-panel-title.merged-title p{
  display:block !important;
  margin:3px 0 0;
  color:var(--muted);
  font-size:11px;
  line-height:1.4;
}
.public-merged-feed{
  max-height:650px !important;
  padding:0 14px 2px !important;
}
.public-activity-item{padding:14px 0 !important}
.public-activity-item.review-item{background:transparent}
.public-feed-identity{display:grid;gap:1px;min-width:0}
.public-feed-identity small{margin:0 !important;font-size:10px !important;color:#7389a9 !important}
.review-pill{background:#342e19;color:#f3d77c;border-color:#5b4f25}
.public-activity-date{margin-top:8px !important}
.public-activity-item .public-sale-proof-grid{grid-template-columns:repeat(2,minmax(0,1fr))}

@media(max-width:1050px){
  .catalog-content-layout{grid-template-columns:1fr}
  .public-activity-sidebar.merged-activity{position:static;order:2;margin-top:24px}
  .public-merged-feed{max-height:520px !important}
}
@media(max-width:700px){
  .public-activity-combined{border-radius:16px}
  .public-merged-feed{max-height:560px !important;padding-inline:12px !important}
  .public-feed-top{align-items:flex-start}
}
@media(max-width:680px){
  .code-purchase-overlay{padding:0 !important;align-items:flex-start !important}
}

/* ===== PASO 7E.1 · CATÁLOGO EN FILAS DE 3 ===== */
/* En escritorio, el catálogo conserva el panel de Ventas y reseñas a la derecha
   y muestra exactamente tres productos por fila. */
@media (min-width:1051px){
  .catalog-content-layout > .products-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:14px !important;
  }

  .catalog-content-layout > .products-grid .product-card{
    min-width:0 !important;
  }

  .catalog-content-layout > .products-grid .product-image{
    height:190px !important;
    padding:12px !important;
  }

  .catalog-content-layout > .products-grid .product-body{
    padding:14px !important;
  }

  .catalog-content-layout > .products-grid .product-title{
    font-size:18px !important;
    line-height:1.25 !important;
  }

  .catalog-content-layout > .products-grid .product-desc{
    font-size:13px !important;
    min-height:40px !important;
  }

  .catalog-content-layout > .products-grid .price{
    font-size:20px !important;
  }

  .catalog-content-layout > .products-grid .product-actions{
    gap:8px !important;
  }
}

/* Cuando el panel lateral baja debajo del catálogo, dejamos que el grid
   aproveche el ancho disponible de forma natural. */
@media (max-width:1050px) and (min-width:641px){
  .catalog-content-layout > .products-grid{
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr)) !important;
  }
}


/* ===== PASO 7E.2 · COMPRA POR WEB MÁS LIMPIA ===== */
.code-purchase-modal.refined{
  width:min(1080px, calc(100vw - 34px)) !important;
  max-width:none !important;
  max-height:min(92vh, 920px) !important;
  padding:26px !important;
  border-radius:26px !important;
  background:linear-gradient(180deg,#112543 0%,#0b1930 100%) !important;
  border:1px solid rgba(73,121,181,.48) !important;
  box-shadow:0 26px 70px rgba(0,0,0,.45) !important;
}
.code-modal-head.refined{
  align-items:flex-start !important;
  gap:16px !important;
  margin-bottom:18px !important;
  padding-bottom:16px !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
}
.code-modal-head.refined h2{
  margin:4px 0 8px !important;
  font-size:34px !important;
  line-height:1.05 !important;
  letter-spacing:-.02em;
}
.code-modal-subtitle{
  max-width:760px !important;
  font-size:15px !important;
  color:#a9bddc !important;
}
.code-modal-layout{
  display:grid !important;
  grid-template-columns:minmax(255px,285px) minmax(0,1fr) !important;
  gap:18px !important;
  align-items:start !important;
}
.code-modal-side,
.code-form-panel,
.code-panel{min-width:0 !important}
.code-modal-side{display:grid !important;gap:14px !important}
.code-panel{
  padding:18px !important;
  border-radius:22px !important;
  background:linear-gradient(180deg,rgba(13,31,57,.96),rgba(9,24,46,.98)) !important;
  border:1px solid rgba(65,107,161,.56) !important;
  box-shadow:none !important;
}
.code-panel-heading strong{
  font-size:18px !important;
  line-height:1.2 !important;
}
.code-panel-copy{
  margin-top:10px !important;
  font-size:13px !important;
  line-height:1.65 !important;
  color:#afc2df !important;
}
.code-account-actions.compact{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:10px !important;
  margin-top:16px !important;
}
.code-account-actions.compact .btn{
  min-height:54px !important;
  padding:10px 12px !important;
  border-radius:14px !important;
  font-size:14px !important;
  line-height:1.15 !important;
  text-wrap:balance;
}
.code-limit-line.refined{
  margin-bottom:14px !important;
  padding-bottom:14px !important;
}
.code-limit-line.refined strong{
  font-size:18px !important;
}
.code-cart-summary.refined{
  display:grid !important;
  gap:0 !important;
}
.code-cart-line{
  padding:12px 0 !important;
}
.code-cart-line-main{
  gap:10px !important;
}
.code-cart-line-main span:last-child{
  white-space:normal !important;
  word-break:break-word !important;
  line-height:1.4 !important;
}
.code-cart-line-qty{
  min-width:36px !important;
  height:30px !important;
}
.code-cart-total{
  margin-top:6px !important;
  padding-top:14px !important;
}
.code-form-panel{
  padding:20px 22px !important;
}
.code-form-intro{
  padding-bottom:14px !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
}
.code-form-intro h3{
  margin:0 0 6px !important;
  font-size:20px !important;
  line-height:1.2 !important;
}
.code-form-intro p{
  font-size:14px !important;
  line-height:1.55 !important;
  color:#aabdd9 !important;
}
.code-purchase-form.refined{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:16px 14px !important;
}
.code-purchase-form.refined label{
  gap:8px !important;
  font-size:12px !important;
  font-weight:800 !important;
  color:#dce8f8 !important;
  letter-spacing:.01em;
}
.code-purchase-form.refined .input,
.code-purchase-form.refined select,
.code-purchase-form.refined input{
  min-height:52px !important;
  width:100% !important;
  box-sizing:border-box !important;
  border-radius:16px !important;
  padding:0 16px !important;
  font-size:15px !important;
  background:#0a1830 !important;
  border:1px solid rgba(62,106,163,.58) !important;
}
.code-purchase-form.refined .input:focus,
.code-purchase-form.refined select:focus,
.code-purchase-form.refined input:focus{
  border-color:#4d9bff !important;
  box-shadow:0 0 0 3px rgba(64,146,255,.16) !important;
}
#codePlatformUserField small.code-platform-contact-help{
  margin-top:-2px !important;
  font-size:12px !important;
  line-height:1.55 !important;
  color:#9bb0cf !important;
}
.code-platform-contact-help a{
  color:#74b6ff !important;
  font-weight:800 !important;
}
.code-purchase-form.refined .code-generate-btn{
  grid-column:1 / -1 !important;
  min-height:56px !important;
  margin-top:2px !important;
  border-radius:16px !important;
  font-size:15px !important;
  font-weight:900 !important;
}
@media(max-width:980px){
  .code-purchase-modal.refined{
    width:min(900px, calc(100vw - 20px)) !important;
    padding:20px !important;
  }
  .code-modal-layout{
    grid-template-columns:1fr !important;
  }
  .code-modal-side{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media(max-width:720px){
  .code-purchase-modal.refined{
    width:100vw !important;
    max-width:100vw !important;
    min-height:100dvh !important;
    max-height:100dvh !important;
    padding:16px !important;
    border-radius:0 !important;
  }
  .code-modal-head.refined h2{font-size:28px !important}
  .code-modal-subtitle{font-size:13px !important}
  .code-modal-side{grid-template-columns:1fr !important}
  .code-account-actions.compact{grid-template-columns:1fr 1fr !important}
  .code-form-panel{padding:16px !important}
  .code-purchase-form.refined{grid-template-columns:1fr !important}
}
@media(max-width:520px){
  .code-purchase-modal.refined{padding:12px !important}
  .code-modal-head.refined{margin-bottom:14px !important;padding-bottom:12px !important}
  .code-modal-head.refined h2{font-size:24px !important}
  .code-account-actions.compact{grid-template-columns:1fr !important}
  .code-panel,.code-form-panel{padding:14px !important;border-radius:18px !important}
  .code-form-intro h3{font-size:18px !important}
  .code-purchase-form.refined .input,
  .code-purchase-form.refined select,
  .code-purchase-form.refined input{min-height:50px !important;font-size:14px !important}
  .code-purchase-form.refined .code-generate-btn{min-height:54px !important}
}


/* ===== PASO 7E.3 · TRES PRODUCTOS REALES POR FILA ===== */
/* El ancho anterior de 1180px dejaba demasiado poco espacio al catálogo
   cuando el panel lateral estaba visible. En escritorio ampliamos el área útil. */
@media (min-width:1100px){
  .container{
    max-width:1420px !important;
    padding-left:24px !important;
    padding-right:24px !important;
  }

  .catalog-content-layout{
    grid-template-columns:minmax(0,1fr) 300px !important;
    gap:18px !important;
  }

  .catalog-content-layout .products-grid,
  .catalog-content-layout > .products-grid,
  .products-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:16px !important;
    min-width:0 !important;
  }

  .catalog-content-layout .product-card{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    margin:0 !important;
  }

  .catalog-content-layout .product-image{
    height:210px !important;
    padding:12px !important;
  }

  .catalog-content-layout .product-body{
    padding:15px !important;
  }

  .public-activity-sidebar,
  .public-activity-sidebar.merged-activity{
    width:300px !important;
    min-width:300px !important;
    max-width:300px !important;
  }
}

/* En pantallas desktop algo más estrechas seguimos priorizando tres tarjetas,
   pero el panel lateral baja debajo para evitar que una tarjeta salte sola. */
@media (min-width:900px) and (max-width:1099px){
  .catalog-content-layout{
    grid-template-columns:1fr !important;
  }
  .catalog-content-layout .products-grid,
  .catalog-content-layout > .products-grid,
  .products-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:14px !important;
  }
  .public-activity-sidebar,
  .public-activity-sidebar.merged-activity{
    position:static !important;
    width:auto !important;
    max-width:none !important;
    min-width:0 !important;
    order:2 !important;
    margin-top:24px !important;
  }
}

@media (min-width:641px) and (max-width:899px){
  .catalog-content-layout .products-grid,
  .catalog-content-layout > .products-grid,
  .products-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media (max-width:640px){
  .catalog-content-layout .products-grid,
  .catalog-content-layout > .products-grid,
  .products-grid{
    grid-template-columns:1fr !important;
  }
}

/* ===== PASO 7E.4 · MENSAJE DE PLATAFORMA ALINEADO ===== */
.code-purchase-form.refined .code-platform-contact-notice{
  grid-column:1 / -1 !important;
  display:flex !important;
  align-items:center !important;
  min-height:40px !important;
  margin:-4px 0 0 !important;
  padding:10px 13px !important;
  border-radius:12px !important;
  border:1px solid rgba(65,108,164,.38) !important;
  background:rgba(12,31,58,.62) !important;
  color:#9fb4d3 !important;
  font-size:11px !important;
  font-weight:600 !important;
  line-height:1.45 !important;
  box-sizing:border-box !important;
}
.code-purchase-form.refined .code-platform-contact-notice:empty{
  display:none !important;
}
.code-purchase-form.refined .code-platform-contact-notice::before{
  content:'i';
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:20px;
  height:20px;
  margin-right:9px;
  border-radius:50%;
  background:#183d69;
  color:#9dccff;
  font-size:11px;
  font-weight:900;
}
.code-purchase-form.refined .code-platform-contact-notice a{
  color:#69afff !important;
  font-weight:900 !important;
  text-decoration:none !important;
}
.code-purchase-form.refined .code-platform-contact-notice a:hover{
  text-decoration:underline !important;
}

/* Los dos primeros controles quedan exactamente alineados */
.code-purchase-form.refined > label:nth-of-type(1),
.code-purchase-form.refined > label:nth-of-type(2){
  align-self:start !important;
}

@media(max-width:720px){
  .code-purchase-form.refined .code-platform-contact-notice{
    grid-column:1 !important;
    margin:-2px 0 2px !important;
  }
}

/* =========================================================
   PASO 7F · ACCESO DUAL + HISTORIAL WEB
========================================================= */
.web-auth-main{min-width:0;display:grid;align-content:start;gap:14px}
.web-discord-auth-btn{
  width:100%;min-height:58px;border-radius:15px;display:grid!important;
  grid-template-columns:auto 1fr;gap:12px;align-items:center;text-align:left;
  background:linear-gradient(135deg,#4d5bd7,#6575f4)!important;border-color:transparent!important
}
.web-discord-auth-btn span{
  width:38px;height:38px;border-radius:11px;background:rgba(255,255,255,.14);
  display:grid;place-items:center;font-size:0
}
.web-discord-auth-btn span:after{content:'D';font-size:16px;font-weight:950}
.web-discord-auth-btn strong{font-size:15px}
.web-auth-divider{display:flex;align-items:center;gap:10px;color:#7f96b8;font-size:11px;text-transform:uppercase;letter-spacing:.07em;font-weight:800}
.web-auth-divider:before,.web-auth-divider:after{content:'';height:1px;background:rgba(255,255,255,.09);flex:1}
.code-account-actions.compact .btn.ghost{background:transparent;border-color:#304965;color:#aabbd5}
.code-account-panel.signed{border-color:#316a83!important}
.code-account-panel.signed .code-panel-heading span{color:#83c8ff}

.signed-web-orders-modal{width:min(820px,calc(100vw - 28px))!important;max-width:none!important;max-height:88vh;overflow:auto;padding:0!important}
.signed-web-orders-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 22px;border-bottom:1px solid #29456d}
.signed-web-orders-head h2{margin:3px 0 4px}.signed-web-orders-head p{margin:0}
.signed-web-orders-list{display:grid;gap:10px;padding:16px 18px 20px}
.signed-web-order-card{display:grid;grid-template-columns:minmax(140px,.8fr) minmax(120px,.5fr) minmax(0,1.5fr) auto;align-items:center;gap:12px;border:1px solid #29466a;background:#0c192e;border-radius:15px;padding:13px}
.signed-web-order-card>div:first-child{display:grid;gap:4px}.signed-web-order-card small{color:#859bbd}.signed-web-order-meta{display:grid;gap:4px}.signed-web-order-meta span{font-size:11px;color:#91a8ca;text-transform:uppercase;font-weight:850}.signed-web-order-products{display:flex;gap:5px;flex-wrap:wrap}.signed-web-order-products span{font-size:11px;padding:5px 8px;border-radius:999px;background:#132845;border:1px solid #294b73;color:#d6e6fb}

@media(max-width:760px){
  .web-auth-layout{grid-template-columns:1fr!important}.web-auth-benefits{display:none!important}
  .signed-web-order-card{grid-template-columns:1fr 1fr}.signed-web-order-products{grid-column:1/-1}.signed-web-order-card>.btn{grid-column:1/-1;width:100%}
}
@media(max-width:520px){
  .signed-web-orders-modal{width:100vw!important;max-width:100vw!important;min-height:100dvh;max-height:100dvh;border-radius:0!important}
  .signed-web-orders-head{padding:16px}.signed-web-orders-list{padding:12px}.signed-web-order-card{grid-template-columns:1fr}
  .signed-web-order-products,.signed-web-order-card>.btn{grid-column:auto}
}

/* =========================================================
   PASO 7H · VENTA ESPECIAL PÚBLICA
========================================================= */
.special-sale-public{
  margin:0 0 20px;
  border:1px solid rgba(207,151,35,.62);
  border-radius:24px;
  overflow:hidden;
  background:
    radial-gradient(circle at 90% 0%,rgba(255,195,59,.16),transparent 34%),
    linear-gradient(135deg,#211d13 0%,#102039 54%,#0b172a 100%);
  box-shadow:0 20px 50px rgba(0,0,0,.18);
}
.special-sale-public-head{
  display:flex;justify-content:space-between;align-items:center;gap:22px;
  padding:20px 22px 16px;border-bottom:1px solid rgba(255,206,92,.14)
}
.special-sale-public-title{min-width:0}.special-sale-flash{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border-radius:999px;background:#8e6113;border:1px solid #c9952e;color:#fff1bd;font-size:10px;font-weight:950;letter-spacing:.13em}
.special-sale-public-title h2{margin:9px 0 5px;font-size:26px;letter-spacing:-.02em}.special-sale-public-title p{margin:0;color:#aebbd0;line-height:1.5;max-width:760px;font-size:13px}
.special-sale-public-timer{flex:0 0 auto;min-width:170px;padding:12px 14px;border:1px solid rgba(225,174,68,.38);border-radius:15px;background:rgba(43,34,15,.62);text-align:center}.special-sale-public-timer span{display:block;color:#d2aa56;font-size:9px;letter-spacing:.12em;font-weight:950}.special-sale-public-timer strong{display:block;margin-top:5px;color:#ffe69d;font-size:19px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.special-sale-public-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;padding:16px 18px 18px}
.special-sale-card{min-width:0;border:1px solid rgba(101,119,147,.42);border-radius:17px;overflow:hidden;background:linear-gradient(180deg,#102039,#0b172a);display:grid;grid-template-rows:150px 1fr;box-shadow:0 12px 26px rgba(0,0,0,.10)}
.special-sale-card-image{position:relative;overflow:hidden;background:#101d31;display:grid;place-items:center}.special-sale-card-image img{width:100%;height:100%;object-fit:contain;padding:10px;box-sizing:border-box}.special-sale-card-image .placeholder{font-weight:950;color:#f0c95f;font-size:26px}.special-sale-card-badge{position:absolute;left:10px;top:10px;z-index:2;padding:5px 8px;border-radius:999px;background:linear-gradient(135deg,#9b6812,#e1a736);color:#fff7d7;font-size:8px;letter-spacing:.08em;font-weight:950;box-shadow:0 6px 14px rgba(0,0,0,.25)}
.special-sale-card-body{display:grid;align-content:start;gap:6px;padding:13px}.special-sale-category{font-size:9px;color:#e0af49;text-transform:uppercase;font-weight:950;letter-spacing:.08em}.special-sale-card-body h3{margin:0;font-size:16px;line-height:1.2}.special-sale-card-meta{display:flex;justify-content:space-between;align-items:end;gap:8px;margin-top:3px}.special-sale-card-meta strong{font-size:18px}.special-sale-card-meta small{color:#8fa3bf;font-size:10px;text-align:right}.special-sale-card-actions{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:8px}.compact-special{display:grid;grid-template-columns:30px 24px 30px;align-items:center;gap:3px}.compact-special .qty-btn{width:30px;height:30px;border-radius:9px}.compact-special .qty-value{text-align:center;font-weight:900}.special-sale-card-actions .btn{min-height:34px;padding:7px 11px;border-radius:10px;font-size:11px}
.special-sale-card.out-of-stock{opacity:.58}.special-sale-card.out-of-stock .special-sale-card-image{filter:grayscale(.35)}
@media(max-width:1180px){.special-sale-public-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:860px){.special-sale-public-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.special-sale-public-head{align-items:flex-start}.special-sale-public-title h2{font-size:23px}}
@media(max-width:620px){.special-sale-public{border-radius:18px;margin-bottom:14px}.special-sale-public-head{flex-direction:column;align-items:stretch;padding:15px}.special-sale-public-timer{width:100%;box-sizing:border-box;text-align:left}.special-sale-public-grid{grid-template-columns:1fr;padding:12px}.special-sale-card{grid-template-columns:110px minmax(0,1fr);grid-template-rows:auto;min-height:132px}.special-sale-card-image{min-height:132px}.special-sale-card-body{padding:11px}.special-sale-card-actions{align-items:stretch}.special-sale-card-actions .btn{flex:1}}
@media(max-width:420px){.special-sale-card{grid-template-columns:92px minmax(0,1fr)}.special-sale-card-image{min-height:128px}.special-sale-card-meta{align-items:flex-start;flex-direction:column}.special-sale-card-meta small{text-align:left}.special-sale-card-actions{grid-column:1/-1}}


/* =========================================================
   PASO 7H.1 · VENTA ESPECIAL CENTRADA · 4 PRODUCTOS
========================================================= */
.special-sale-public{
  width:min(1360px,100%) !important;
  margin:0 auto 24px !important;
}
.special-sale-public-head{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:center !important;
  text-align:center !important;
  gap:14px !important;
  padding:22px 24px 18px !important;
}
.special-sale-public-title{
  width:100% !important;
  display:grid !important;
  justify-items:center !important;
  text-align:center !important;
}
.special-sale-public-title h2{
  margin:10px 0 6px !important;
  font-size:28px !important;
  text-align:center !important;
}
.special-sale-public-title p{
  margin:0 auto !important;
  max-width:760px !important;
  text-align:center !important;
  line-height:1.55 !important;
}
.special-sale-public-timer{
  width:auto !important;
  min-width:190px !important;
  margin:0 auto !important;
  text-align:center !important;
}
.special-sale-public-grid{
  width:100% !important;
  box-sizing:border-box !important;
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:14px !important;
  padding:18px 20px 22px !important;
  align-items:stretch !important;
}
.special-sale-card{
  min-width:0 !important;
  width:100% !important;
}
@media(max-width:1050px){
  .special-sale-public-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}
@media(max-width:620px){
  .special-sale-public-head{padding:16px 14px !important}
  .special-sale-public-title h2{font-size:23px !important}
  .special-sale-public-title p{font-size:12px !important}
  .special-sale-public-timer{width:100% !important;box-sizing:border-box !important;text-align:center !important}
  .special-sale-public-grid{grid-template-columns:1fr !important;padding:12px !important}
}

/* Intercambios flexibles: puede existir solo Dio o solo Recibió */
.exchange-flexible-note{
  margin:0 0 14px;
  padding:12px 14px;
  border:1px solid rgba(74,134,205,.38);
  border-radius:14px;
  background:rgba(18,45,78,.42);
  display:grid;
  gap:4px;
}
.exchange-flexible-note strong{font-size:12px;color:#dcecff}
.exchange-flexible-note span{font-size:11px;line-height:1.5;color:#9eb3d2}

/* =========================================================
   PASO 7H.2 · VENTA ESPECIAL EN SECCIONES · CENTRADA
========================================================= */
.special-sale-public{
  max-width:1420px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}
.special-sale-public-head{
  display:grid !important;
  justify-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  gap:14px !important;
}
.special-sale-public-title{
  display:grid !important;
  justify-items:center !important;
  text-align:center !important;
  width:100% !important;
  max-width:900px !important;
}
.special-sale-public-title p{
  margin-left:auto !important;
  margin-right:auto !important;
  max-width:720px !important;
  text-align:center !important;
}
.special-sale-public-timer{
  margin:0 auto !important;
  text-align:center !important;
}
.special-sale-groups{
  display:grid;
  gap:22px;
  padding:0 18px 20px;
}
.special-sale-group{
  display:grid;
  gap:12px;
  justify-items:center;
  width:100%;
}
.special-sale-group + .special-sale-group{
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.075);
}
.special-sale-group-title{
  display:grid;
  justify-items:center;
  gap:4px;
  text-align:center;
}
.special-sale-group-title span{
  font-size:9px;
  letter-spacing:.14em;
  font-weight:950;
  color:#c7993f;
}
.special-sale-group-title h3{
  margin:0;
  font-size:21px;
  line-height:1.2;
  color:#f4f7ff;
}
.special-sale-public-grid{
  width:100% !important;
  padding:0 !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:12px !important;
  justify-content:center !important;
}
.special-sale-card{
  grid-template-rows:124px 1fr !important;
  text-align:center !important;
}
.special-sale-card-image{
  min-height:0 !important;
  height:124px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:8px 10px !important;
  box-sizing:border-box !important;
}
.special-sale-card-image img{
  position:static !important;
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:82% !important;
  max-height:106px !important;
  object-fit:contain !important;
  object-position:center !important;
  padding:0 !important;
  margin:auto !important;
}
.special-sale-card-badge{
  left:50% !important;
  right:auto !important;
  transform:translateX(-50%) !important;
  white-space:nowrap;
}
.special-sale-card-body{
  justify-items:center !important;
  text-align:center !important;
  padding:11px 12px 13px !important;
}
.special-sale-category,
.special-sale-card-body h3{
  text-align:center !important;
}
.special-sale-card-meta{
  width:100%;
  display:grid !important;
  justify-items:center !important;
  justify-content:center !important;
  gap:3px !important;
  text-align:center !important;
}
.special-sale-card-meta small{
  text-align:center !important;
}
.special-sale-card-actions{
  width:100%;
  justify-content:center !important;
  flex-wrap:wrap;
}
@media(max-width:1180px){
  .special-sale-public-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
}
@media(max-width:860px){
  .special-sale-public-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}
@media(max-width:620px){
  .special-sale-groups{padding:0 12px 14px;gap:18px}
  .special-sale-public-grid{grid-template-columns:1fr !important}
  .special-sale-card{grid-template-columns:108px minmax(0,1fr) !important;grid-template-rows:auto !important;min-height:132px !important}
  .special-sale-card-image{height:132px !important;min-height:132px !important}
  .special-sale-card-image img{max-width:88% !important;max-height:112px !important}
  .special-sale-card-body{justify-items:center !important}
}

/* Centra también las filas incompletas: máximo 4 tarjetas por fila. */
.special-sale-public-grid{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:center !important;
  align-items:stretch !important;
}
.special-sale-public-grid > .special-sale-card{
  flex:0 1 calc((100% - 36px)/4) !important;
  width:calc((100% - 36px)/4) !important;
  max-width:330px !important;
  box-sizing:border-box !important;
}
@media(max-width:1180px){
  .special-sale-public-grid > .special-sale-card{flex-basis:calc((100% - 24px)/3) !important;width:calc((100% - 24px)/3) !important}
}
@media(max-width:860px){
  .special-sale-public-grid > .special-sale-card{flex-basis:calc((100% - 12px)/2) !important;width:calc((100% - 12px)/2) !important}
}
@media(max-width:620px){
  .special-sale-public-grid > .special-sale-card{flex-basis:100% !important;width:100% !important;max-width:520px !important}
}

/* ============================================================
   PASO 7H.2.8 · CUPONES PROMOCIONADOS
   ============================================================ */
.coupon-promo-public{margin:16px 0 18px;padding:18px;border:1px solid rgba(57,123,184,.42);border-radius:22px;background:linear-gradient(135deg,rgba(12,35,60,.96),rgba(9,24,43,.96));box-shadow:0 18px 50px rgba(0,0,0,.16)}
.coupon-promo-public-head{text-align:center;display:grid;gap:5px;margin-bottom:14px}
.coupon-promo-public-head>span{font-size:10px;font-weight:950;letter-spacing:.14em;color:#62afff}
.coupon-promo-public-head h2{margin:0;font-size:24px;color:#f0f7ff}
.coupon-promo-public-head p{margin:0 auto;color:#8ea6c5;font-size:12px;line-height:1.5;max-width:680px}
.coupon-promo-public-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.coupon-public-card{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid #294b6b;background:linear-gradient(180deg,#0e223b,#0b192d);border-radius:16px;padding:13px 14px;min-width:0}
.coupon-public-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,#1a4d7f,#0e2f52);border:1px solid #3977ad;color:#b9dcff;font-size:20px;font-weight:950}
.coupon-public-copy{display:grid;gap:4px;min-width:0}
.coupon-public-kicker{font-size:8px;letter-spacing:.1em;font-weight:950;color:#69b3ff}
.coupon-public-copy h3{margin:0;color:#edf6ff;font-size:13px;line-height:1.42}
.coupon-public-copy p{margin:0;color:#7893b5;font-size:10px;line-height:1.45}
.coupon-public-code-wrap{display:grid;gap:6px;justify-items:stretch;min-width:105px}
.coupon-public-code-wrap code{display:block;text-align:center;border:1px dashed #4f91c9;background:#071629;color:#a9d5ff;border-radius:10px;padding:7px 9px;font-size:12px;font-weight:950;letter-spacing:.04em}
.coupon-public-copy-btn{appearance:none;border:1px solid #32618a;background:#12345a;color:#e4f1ff;border-radius:9px;padding:7px 10px;font-size:10px;font-weight:900;cursor:pointer}
.coupon-public-copy-btn:hover{background:#194675;border-color:#4e98d6}
@media(max-width:900px){.coupon-promo-public-grid{grid-template-columns:1fr}}
@media(max-width:620px){
  .coupon-promo-public{padding:14px;border-radius:18px}
  .coupon-public-card{grid-template-columns:40px minmax(0,1fr);align-items:start}
  .coupon-public-icon{width:40px;height:40px;border-radius:12px}
  .coupon-public-code-wrap{grid-column:1/-1;grid-template-columns:1fr auto;width:100%}
  .coupon-promo-public-head h2{font-size:21px}
}


/* =========================================================
   PASO 7H.2.11 · TIENDA REFINADA
========================================================= */
.coupon-promo-public{width:100%;box-sizing:border-box;padding:22px!important}
.coupon-promo-public-grid{grid-template-columns:1fr!important;width:100%}
.coupon-public-card{width:100%;box-sizing:border-box;grid-template-columns:58px minmax(0,1fr) minmax(150px,190px);padding:18px 20px;gap:16px}
.coupon-public-icon{width:58px;height:58px;font-size:24px}
.coupon-public-copy h3{font-size:15px}.coupon-public-copy p{font-size:11px}.coupon-public-code-wrap code{font-size:14px;padding:10px}

.special-sale-head-badges{display:flex;gap:8px;align-items:center;justify-content:center;flex-wrap:wrap}
.special-sale-limited-head{display:inline-flex;padding:6px 10px;border-radius:999px;background:#6b1f24;border:1px solid #a6484f;color:#ffd8da;font-size:10px;font-weight:950;letter-spacing:.13em}
.special-sale-card.release-locked{border-color:rgba(195,148,59,.55)}
.special-sale-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:5px}
.special-sale-info-grid>div{display:grid;gap:2px;padding:8px;border:1px solid rgba(100,129,167,.26);border-radius:10px;background:rgba(4,13,25,.28)}
.special-sale-info-grid span{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:#8297b4;font-weight:900}
.special-sale-info-grid strong{font-size:14px;color:#f2f6fb}
.special-sale-limit-note,.special-sale-channel-note{padding:7px 9px;border-radius:9px;font-size:8px;font-weight:950;letter-spacing:.07em;text-align:center}
.special-sale-limit-note{background:rgba(143,94,13,.16);border:1px solid rgba(208,157,54,.35);color:#f5c967}
.special-sale-channel-note{background:rgba(27,77,127,.2);border:1px solid rgba(63,128,190,.34);color:#8fc8ff}
.special-sale-release{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:10px;background:#2b210d;border:1px solid #87621d}.special-sale-release span{font-size:8px;font-weight:950;letter-spacing:.1em;color:#d5aa50}.special-sale-release strong{font-size:11px;color:#ffe391;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.special-sale-release.ready{background:rgba(24,83,59,.2);border-color:#2f7257}.special-sale-release.ready span,.special-sale-release.ready strong{color:#8de0b7}.special-sale-card-actions .btn:disabled{opacity:.55;cursor:not-allowed}

.public-panel-icon.brand-favicon{overflow:hidden;padding:0!important;background:#0f2f57!important}.public-panel-icon.brand-favicon img{width:100%;height:100%;object-fit:cover;border-radius:inherit}
#floatingTicketsBtn{display:none!important}
.staff-presence-badge.cart-hidden{display:none!important}

#cartDrawer{box-shadow:-26px 0 70px rgba(0,0,0,.42)}
.cart-items{padding:14px!important;display:grid;align-content:start;gap:10px}
.cart-item.cart-item-modern{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:12px;padding:12px;border:1px solid #254466;border-radius:16px;background:linear-gradient(180deg,#0e1e34,#0b182b)}
.cart-item-thumb{width:64px;height:64px;border-radius:13px;overflow:hidden;background:#142945;display:grid;place-items:center;color:#75b8ff;font-weight:950}.cart-item-thumb img{width:100%;height:100%;object-fit:contain;padding:5px;box-sizing:border-box}
.cart-item-title-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.cart-item-title-row strong{font-size:14px}.cart-limited-badge{padding:3px 6px;border-radius:999px;background:#6e311c;border:1px solid #a35c30;color:#ffd1a3;font-size:7px;font-weight:950;letter-spacing:.08em}.cart-sale-rule{display:block;color:#7fa9d4;margin:4px 0 1px;font-size:9px}.cart-item-info p{font-size:11px;margin:4px 0}.cart-remove-all{font-size:10px}.cart-line-total{font-size:14px}.cart-summary{background:linear-gradient(180deg,#0b1628,#091321);box-shadow:0 -16px 35px rgba(0,0,0,.18)}
@media(max-width:620px){.coupon-public-card{grid-template-columns:46px minmax(0,1fr)}.coupon-public-code-wrap{grid-column:1/-1}.cart-item.cart-item-modern{grid-template-columns:54px minmax(0,1fr)}.cart-item-thumb{width:54px;height:54px}.cart-item-actions{grid-column:1/-1}}


/* Paso 7H.2.11.1 · Venta Especial normal vs Limitado por tiempo */
.special-sale-card-badge.regular{
  background:#123d66;
  border-color:#2c689d;
  color:#bfe5ff;
}
.special-sale-simple-meta{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
  margin:12px 0 14px;
}
.special-sale-simple-meta strong{
  font-size:20px;
  font-weight:950;
  color:#fff;
}
.special-sale-simple-meta small{
  font-size:11px;
  color:#8fb3d7;
}
.special-sale-card-regular .special-sale-card-body{
  padding-top:12px;
}


/* ============================================================
   PASO 7H.2.11.2 · DESCRIPCIONES DE PRODUCTO CON FORMATO DISCORD
   ============================================================ */
.product-desc.discord-rich-text{
  display:block;
  color:#b7c6d8;
  overflow-wrap:anywhere;
}
.product-desc.discord-rich-text strong{color:#edf5ff;font-weight:800}
.product-desc.discord-rich-text em{color:#d5e0ec}
.product-desc.discord-rich-text u{text-underline-offset:2px}
.product-desc.discord-rich-text s{opacity:.72}
.store-md-code{
  display:inline-block;
  border-radius:5px;
  background:#0a1624;
  border:1px solid rgba(129,169,211,.18);
  color:#dcecff;
  padding:1px 4px;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.92em;
}
.store-md-codeblock{
  max-width:100%;
  overflow:auto;
  margin:7px 0;
  padding:8px 10px;
  border:1px solid rgba(129,169,211,.18);
  border-radius:8px;
  background:#08131f;
  color:#dcecff;
  white-space:pre-wrap;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:12px;
}
.store-md-link{color:#5bb9ff;text-decoration:none;font-weight:700}
.store-md-link:hover{text-decoration:underline}
.store-md-spoiler{
  border-radius:4px;
  background:#1e2229;
  color:transparent;
  padding:0 3px;
  cursor:pointer;
  transition:.15s ease;
}
.store-md-spoiler:hover{
  background:#2a303a;
  color:#dce6f2;
}
.store-md-quote{
  margin:4px 0;
  padding-left:8px;
  border-left:3px solid #607a98;
  color:#cbd8e6;
}
.store-md-list{
  display:grid;
  grid-template-columns:18px minmax(0,1fr);
  gap:3px;
  margin:2px 0;
}
.store-md-heading{
  margin:5px 0 3px;
  color:#f3f8ff;
  font-weight:900;
  line-height:1.2;
}
.store-md-heading.h1{font-size:18px}
.store-md-heading.h2{font-size:16px}
.store-md-heading.h3{font-size:14px}
.store-md-empty-line{display:inline-block;min-height:5px}
