
:root{
  --ink:#101526;
  --text:#20263a;
  --muted:#5f6678;
  --line:#e5e8f0;
  --bg:#f6f7fa;
  --white:#ffffff;
  --nav:#0b1020;
  --pink:#ff4777;
  --purple:#8354ff;
  --blue:#2399ff;
  --cyan:#23d4f0;
  --green:#4dce72;
  --orange:#ff9d28;
  --grad:linear-gradient(100deg,#ff4f68,#ff9d28,#8954ff,#28a8ff,#43d66e);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:var(--bg);
  color:var(--text);
}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font:inherit}
.container{
  width:min(1680px,calc(100% - 48px));
  margin-left:auto;
  margin-right:auto;
}

.topbar{
  background:#090d18;color:#cdd3e3;
  font-size:12px;
}
.topbar .inner{
  min-height:36px;display:flex;justify-content:space-between;align-items:center;gap:18px;
}
.topbar .welcome{font-weight:800;letter-spacing:.4px}
.topbar .contact{display:flex;gap:18px;align-items:center}

header{
  position:sticky;top:0;z-index:50;
  background:#fff;border-bottom:1px solid var(--line);
  box-shadow:0 5px 18px rgba(25,31,52,.05);
}
nav{
  min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:22px;
}
.brand{display:flex;align-items:center}
.brand-logo{width:155px;height:62px;object-fit:contain;object-position:left center}
.brand-text{display:none}
.menu{display:flex;align-items:center;gap:24px;font-size:13px;font-weight:850;color:#32384d}
.menu a:hover{color:#7358f5}
.tools{display:flex;align-items:center;gap:10px}
.select,.input,.file,select,textarea{
  background:#fff;color:var(--text);border:1px solid #dfe3ed;border-radius:10px;padding:11px 13px;outline:none;
}
.select:focus,.input:focus,.file:focus,select:focus,textarea:focus{
  border-color:#8b61ff;box-shadow:0 0 0 3px rgba(139,97,255,.08);
}
.btn{
  border:0;border-radius:10px;padding:11px 16px;font-weight:850;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:.16s ease;
}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--grad);color:#fff}
.btn-secondary{background:#fff;border:1px solid #dfe3ed;color:#343a50}

.hero{
  background:#fff;
  padding:30px 0 18px;
}
.slider{
  min-height:350px;
  border-radius:18px;
  background:
    radial-gradient(circle at 82% 25%,rgba(41,168,255,.22),transparent 28%),
    radial-gradient(circle at 66% 72%,rgba(137,84,255,.18),transparent 30%),
    linear-gradient(115deg,#10152a 0%,#1a1837 52%,#16283a 100%);
  color:#fff;
  display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:28px;
  padding:46px 52px;
  overflow:hidden;position:relative;
}
.slider::after{
  content:"";position:absolute;right:-80px;top:-100px;width:340px;height:340px;border-radius:50%;
  background:var(--grad);opacity:.10;filter:blur(8px)
}
.hero-copy{position:relative;z-index:2}
.hero-kicker{
  font-size:12px;font-weight:900;letter-spacing:1px;text-transform:uppercase;color:#aeecff;
}
.hero h1{
  font-size:clamp(39px,5.6vw,64px);line-height:1;margin:12px 0 16px;letter-spacing:-2.6px;
}
.hero h1 span{
  background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero p{font-size:17px;line-height:1.65;color:#d9deed;max-width:650px;margin:0 0 22px}
.hero-logo-wrap{display:grid;place-items:center;position:relative;z-index:2}
.hero-logo-wrap img{width:min(390px,92%);max-height:235px;object-fit:contain;filter:drop-shadow(0 24px 42px rgba(0,0,0,.32))}

.section{padding:46px 0}
.section.white{background:#fff}
.section-title{
  display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:24px;
}
.section-title h2{margin:0;font-size:27px;letter-spacing:-.8px;color:#1b2134}
.section-title p{margin:6px 0 0;color:var(--muted);font-size:14px}
.link-more{font-size:13px;font-weight:850;color:#6e54e8}

.category-grid{
  display:grid;grid-template-columns:repeat(6,1fr);gap:15px;
}
.category-tile{
  background:#fff;border:1px solid var(--line);border-radius:14px;
  min-height:128px;padding:18px 12px;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;gap:10px;
  box-shadow:0 8px 22px rgba(28,33,54,.04);transition:.17s;
}
.category-tile:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(28,33,54,.08)}
.category-icon{
  width:54px;height:54px;border-radius:16px;display:grid;place-items:center;
  font-size:25px;background:linear-gradient(135deg,#f2f4fa,#fff);border:1px solid #ebedf4;
}
.category-tile strong{font-size:13px}

.product-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:34px 28px;
}
.product-card{
  display:flex;flex-direction:column;align-items:center;text-align:center;
  background:transparent;
}
.product-thumb{
  width:100%;max-width:230px;aspect-ratio:720/980;
  display:grid;place-items:center;margin-bottom:14px;
}
.product-thumb img{
  width:100%;height:100%;object-fit:contain;
  filter:drop-shadow(0 10px 18px rgba(28,33,54,.15));
  transition:.18s ease;
}
.product-card:hover .product-thumb img{transform:translateY(-3px)}
.product-name{
  font-size:15px;line-height:1.4;font-weight:650;color:#33384a;max-width:240px;min-height:42px;
}
.available{font-size:11px;font-weight:900;color:#29a858;margin:3px 0}
.product-price{
  font-size:16px;font-weight:900;color:#101579;margin:0 0 3px;
}
.product-subprice{font-size:11px;color:#6b7284;margin-bottom:9px}
.buy-row{display:flex;gap:8px;justify-content:center}
.product-card .btn{padding:9px 14px;font-size:12px}

.feature-band{
  margin:10px 0;
  background:linear-gradient(100deg,#12182b,#202145);
  border-radius:17px;color:#fff;padding:34px 38px;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
}
.feature-band h3{margin:0 0 7px;font-size:26px}
.feature-band p{margin:0;color:#d9ddec;line-height:1.6}

.checkout-wrap{width:min(840px,92%);margin:48px auto}
.checkout-card{
  background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;
  box-shadow:0 15px 38px rgba(28,33,54,.07)
}
.checkout-card h1{font-size:36px}
.order-product{display:flex;justify-content:space-between;gap:18px;padding:16px;border-radius:12px;background:#f7f8fb;border:1px solid var(--line);margin:18px 0}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field{display:grid;gap:7px}.field.full{grid-column:1/-1}
.field label{font-size:13px;color:#4f566b;font-weight:800}
.notice{padding:14px;border-radius:12px;background:#f4f7ff;border:1px solid #e1e7fb;color:#586177;font-size:13px;line-height:1.55}
.success{padding:25px;border:1px solid #dcefe2;border-radius:17px;background:#f7fff9;text-align:center}
.success .check{font-size:45px}
.admin{width:min(1190px,94%);margin:35px auto}
.admin table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line)}
.admin th,.admin td{padding:11px;border-bottom:1px solid var(--line);font-size:13px;text-align:left}
.admin th{background:#f5f7fb}.nowrap{white-space:nowrap}

footer{
  background:#0b1020;color:#b8bed0;padding:38px 0;font-size:13px;
}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:28px}
.footer-grid strong{color:#fff}
.footer-logo{width:165px;max-height:70px;object-fit:contain;margin-bottom:10px}

@media(min-width:1400px){
  .product-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:38px 30px}
  .slider{min-height:390px;padding:52px 64px}
  .hero-logo-wrap img{width:min(440px,92%);max-height:265px}
}
@media(min-width:1750px){
  .container{width:calc(100% - 64px);max-width:none}
  .product-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
}
@media(max-width:1000px){
  .menu{display:none}
  .category-grid{grid-template-columns:repeat(3,1fr)}
  .slider{grid-template-columns:1fr}
  .product-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:760px){
  .container{width:calc(100% - 24px)}
  .product-grid{grid-template-columns:repeat(2,1fr);gap:26px 14px}
  .category-grid{grid-template-columns:repeat(2,1fr)}
  .topbar .contact{display:none}
  .slider{padding:34px 26px}
}
@media(max-width:560px){
  nav{gap:8px}.brand-logo{width:120px}.tools .btn-secondary{display:none}
  .form-grid{grid-template-columns:minmax(0,1fr)}.field.full{grid-column:auto}
  .footer-grid{grid-template-columns:1fr}
}


.payment-section{
  margin-top:20px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#f9fbff;
  padding:18px;
}
.payment-header h2{
  margin:0 0 6px;
  font-size:24px;
}
.payment-header p{
  margin:0 0 16px;
  color:var(--muted);
}
.payment-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-bottom:18px;
}
.payment-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  padding:14px;
  display:flex;
  flex-direction:column;
  gap:6px;
  box-shadow:0 8px 18px rgba(15,21,38,.04);
  cursor:pointer;
  transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
.payment-card:hover{border-color:#b9adff;box-shadow:0 10px 24px rgba(59,45,140,.10);transform:translateY(-1px)}
.payment-card:focus-visible{outline:3px solid rgba(107,84,235,.22);outline-offset:3px}
.payment-card[hidden]{display:none!important}
.payment-grid.has-selection{grid-template-columns:minmax(280px,520px)}
.payment-choice-help{display:flex;justify-content:space-between;gap:14px;align-items:center;margin:0 0 14px;padding:12px 14px;border:1px solid #dce3f5;border-radius:13px;background:#fff}
.payment-choice-help strong{color:#20263a}.payment-choice-help span{color:var(--muted);font-size:13px;text-align:right;max-width:680px}
.payment-card-choice{margin-top:auto;padding-top:8px}
.payment-card-select-hint,.payment-card-selected-chip{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900}
.payment-card-select-hint{background:#f1efff;color:#5c49cf}.payment-card-selected-chip{display:none;background:#e9fbf0;color:#137333}
.payment-card.active .payment-card-select-hint{display:none}.payment-card.active .payment-card-selected-chip{display:inline-flex}
.payment-choice-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-4px 0 16px}
.payment-choice-confirmation{font-size:13px;font-weight:900;color:#137333}
.payment-selected-box-top{margin:0 0 18px}
.cart-payment-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:14px}
.payment-card.active{
  border-color:#8b61ff;
  box-shadow:0 0 0 3px rgba(139,97,255,.08);
}
.payment-card strong{
  font-size:16px;
  color:#182036;
}
.payment-card span{
  color:#55607b;
  font-size:13px;
}
.payment-card small{
  color:#737c94;
  font-size:12px;
}
.payment-card a{
  color:#6a4ff3;
  font-size:13px;
  font-weight:800;
}
.payment-badge{
  display:inline-flex;
  width:max-content;
  padding:5px 9px;
  border-radius:999px;
  background:linear-gradient(100deg,rgba(255,79,104,.12),rgba(40,168,255,.10),rgba(67,214,110,.10));
  color:#38415a;
  font-size:11px;
  font-weight:800;
}
.payment-value{
  font-size:18px;
  font-weight:900;
  color:#1a1f7b;
  word-break:break-word;
}
.payment-info-panel{
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  padding:16px;
}
.payment-info-top{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:center;
  margin-bottom:12px;
}
.payment-info-top strong{
  font-size:18px;
}
.payment-info-top span{
  color:var(--muted);
  font-size:13px;
}
.payment-rules{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.payment-rule-box{
  background:#f8f9fd;
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px;
}
.payment-rule-box h3{
  margin:0 0 10px;
  font-size:18px;
}
.payment-rule-box ul{
  margin:0;
  padding-left:18px;
  color:#525c74;
}
.payment-rule-box li + li{
  margin-top:6px;
}
.payment-selected-box{
  border:1px solid #dbe2f2;
  background:linear-gradient(180deg,#fcfdff,#f7f9ff);
  border-radius:16px;
  padding:15px;
}
.payment-selected-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin-bottom:12px;
}
.payment-selected-head strong{
  font-size:18px;
}
.payment-selected-head span{
  font-size:14px;
  font-weight:800;
  color:#6b54eb;
}
.payment-selected-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.payment-selected-item{
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  padding:12px;
}
.payment-selected-item span{
  display:block;
  color:#69738d;
  font-size:12px;
  margin-bottom:4px;
}
.payment-selected-item strong{
  color:#20263a;
  word-break:break-word;
}
.payment-link-box{
  margin-top:12px;
}
@media(max-width:820px){
  .payment-grid{
    grid-template-columns:1fr 1fr;
  }
  .payment-rules,
  .payment-selected-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:560px){
  .payment-grid{
    grid-template-columns:1fr;
  }
  .payment-info-top,
  .payment-selected-head{
    flex-direction:column;
    align-items:flex-start;
  }
}


.payment-actions-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:12px;
}
.payment-qr-box{
  margin-top:16px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  padding:16px;
}
.payment-qr-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-bottom:12px;
}
.payment-qr-head strong{
  font-size:18px;
}
.payment-qr-head span{
  font-size:13px;
  color:var(--muted);
}
.payment-qr-image{
  display:block;
  width:min(320px,100%);
  border-radius:16px;
  border:1px solid #dfe4f0;
  background:#fff;
}
.copy-toast{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:9999;
  background:#101526;
  color:#fff;
  padding:12px 14px;
  border-radius:12px;
  box-shadow:0 12px 30px rgba(0,0,0,.2);
  font-size:13px;
  font-weight:700;
}


.payment-logo-wrap{
  background:#fff;
  border:1px solid #edf1f8;
  border-radius:12px;
  padding:6px;
  margin-bottom:8px;
  min-height:62px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.payment-logo{
  max-width:100%;
  max-height:48px;
  display:block;
}
.payment-selected-logo-wrap{
  display:flex;
  justify-content:center;
  align-items:center;
  margin-bottom:14px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  padding:10px;
}
.payment-selected-logo{
  max-width:240px;
  max-height:80px;
  display:block;
}
.payment-card{
  min-height:180px;
}
.payment-card strong{line-height:1.25;}
.payment-card small{line-height:1.2;}
.payment-value{line-height:1.15;}

/* Payment logos v11: smaller, cleaner sizing for mobile */
.payment-logo-wrap{
  min-height:64px;
  padding:8px 10px;
}
.payment-logo{
  width:auto;
  height:auto;
  max-width:190px;
  max-height:44px;
  object-fit:contain;
}
.payment-selected-logo{
  width:auto;
  height:auto;
  max-width:230px;
  max-height:60px;
  object-fit:contain;
}

/* =========================
   V19 · Códigos digitales / auto-entrega
   ========================= */
.stock-admin{max-width:1500px;margin:28px auto;padding:0 18px 48px}
.stock-head,.stock-product-head,.stock-bulk,.stock-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.stock-head h1,.stock-product-head h2{margin:0 0 5px}
.stock-head p,.stock-product-head p{margin:0;color:var(--muted)}
.stock-message{margin:14px 0}
.stock-kpis{display:grid;grid-template-columns:repeat(7,minmax(135px,1fr));gap:12px;margin:18px 0}
.stock-kpi{border:1px solid var(--line);background:#fff;border-radius:12px;padding:14px;min-width:0}
.stock-kpi small{display:block;color:var(--muted);font-weight:800;font-size:11px;margin-bottom:7px}
.stock-kpi strong{font-size:22px;line-height:1.1;display:block;overflow-wrap:anywhere}
.stock-kpi span{font-size:12px;color:var(--muted)}
.stock-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px;background:#fff;margin-top:14px}
.stock-table{width:100%;border-collapse:collapse;min-width:900px}
.stock-table th,.stock-table td{padding:12px 11px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
.stock-table th{background:#f5f7fb;font-size:12px;color:#475569}
.stock-table tr:last-child td{border-bottom:0}
.stock-table small{color:var(--muted)}
.stock-count,.stock-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:800;white-space:nowrap}
.stock-count.ok,.stock-badge.stock-ok{background:#dcfce7;color:#08783a;border:1px solid #bbf7d0}
.stock-count.warn,.stock-badge.stock-warn{background:#fef3c7;color:#92400e;border:1px solid #fde68a}
.stock-count.sold,.stock-badge.stock-sold{background:#dbeafe;color:#1d4ed8;border:1px solid #bfdbfe}
.stock-count.cancel,.stock-badge.stock-cancel{background:#fee2e2;color:#b91c1c;border:1px solid #fecaca}
.stock-product-head{border:1px solid var(--line);border-radius:12px;background:#fff;padding:16px;margin-top:14px}
.stock-add{border:1px solid #c7d2fe;background:#f8faff;border-radius:12px;padding:16px;margin:12px 0}
.stock-textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;line-height:1.55;margin-top:8px;min-height:190px}
.stock-actions{justify-content:flex-end;margin-top:12px}
.stock-filters{display:grid;grid-template-columns:minmax(240px,1fr) 180px auto;gap:10px;margin:14px 0}
.stock-bulk{border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px 12px;margin-bottom:10px}
.stock-bulk>div{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.stock-code{font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere;color:#111827;background:#f8fafc;padding:3px 6px;border-radius:6px}
.delivery-code-box{display:flex;flex-direction:column;align-items:center;gap:12px;border:1px solid #c7d2fe;background:#f8faff;border-radius:16px;padding:22px;margin:18px 0;text-align:center}
.delivery-code-box small{font-size:12px;font-weight:900;letter-spacing:.12em;color:var(--muted)}
.delivery-code-box code{display:block;font-size:clamp(20px,4vw,32px);font-weight:900;line-height:1.25;overflow-wrap:anywhere;word-break:break-word;color:#111827;background:#fff;border:1px dashed #94a3b8;border-radius:12px;padding:14px;width:100%}
.delivery-code-box.admin-code{align-items:flex-start;text-align:left;padding:14px}
.delivery-code-box.admin-code code{font-size:18px}
.gift-admin-box{border:1px solid #c7d2fe;background:#f8faff;border-radius:14px;padding:15px;margin:16px 0}
.gift-admin-box h3{margin:0 0 10px}
.admin-inline-actions{display:flex;gap:10px;flex-wrap:wrap}
.available.sold-out{color:#b91c1c!important;background:#fee2e2!important;border-color:#fecaca!important}
@media(max-width:1100px){.stock-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.stock-kpis{grid-template-columns:repeat(2,1fr)}.stock-filters{grid-template-columns:1fr}.stock-admin{padding:0 10px 36px}.stock-head,.stock-product-head{align-items:stretch}.stock-head .btn,.stock-product-head .btn{width:100%}.admin-inline-actions .btn{width:100%}}

/* v20 — acceso administrativo privado */
.admin-logout-form{display:inline-flex;margin:0}
.admin-login-page{
  min-height:100vh;
  margin:0;
  color:#f8fafc;
  background:
    radial-gradient(circle at 15% 18%,rgba(124,58,237,.32),transparent 26%),
    radial-gradient(circle at 84% 24%,rgba(37,99,235,.28),transparent 24%),
    radial-gradient(circle at 50% 90%,rgba(239,68,68,.18),transparent 28%),
    linear-gradient(135deg,#070b16 0%,#111827 45%,#0b1020 100%);
  overflow-x:hidden;
  position:relative;
}
.admin-login-page::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.32;
  background-image:
    linear-gradient(120deg,transparent 0 44%,rgba(255,255,255,.035) 45% 46%,transparent 47% 100%),
    linear-gradient(60deg,transparent 0 44%,rgba(255,255,255,.025) 45% 46%,transparent 47% 100%);
  background-size:160px 160px;
}
.admin-login-page::after{
  content:"▶  CARDOfLIX  •  STREAMING  •  DIGITAL";
  position:fixed;
  left:50%;
  bottom:28px;
  transform:translateX(-50%);
  width:max-content;
  max-width:90%;
  font-size:12px;
  font-weight:800;
  letter-spacing:.22em;
  color:rgba(255,255,255,.20);
  pointer-events:none;
  white-space:nowrap;
}
.admin-login-shell{
  width:100%;
  min-height:100vh;
  margin:0;
  padding:40px 24px;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  z-index:1;
}
.admin-login-card{
  width:min(560px,100%);
  background:rgba(255,255,255,.97);
  color:#0f172a;
  border:1px solid rgba(255,255,255,.48);
  border-radius:28px;
  padding:38px 40px 34px;
  box-shadow:0 30px 90px rgba(0,0,0,.46),0 0 0 1px rgba(255,255,255,.05);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}
.admin-login-brand{
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:30px;
}
.admin-login-brand img{
  width:70px;
  height:70px;
  object-fit:contain;
  border-radius:16px;
  background:#fff;
  padding:4px;
  box-shadow:0 8px 24px rgba(15,23,42,.10);
}
.admin-login-brand div{display:flex;flex-direction:column;gap:3px}
.admin-login-brand strong{font-size:22px;line-height:1.1}
.admin-login-brand span{font-size:13px;color:var(--muted)}
.admin-login-card h1{
  margin:0 0 8px;
  font-size:36px;
  line-height:1.05;
  letter-spacing:-.03em;
}
.admin-login-copy{
  margin:0 0 26px;
  color:var(--muted);
  font-size:15px;
}
.admin-login-form{display:grid;gap:18px}
.admin-login-form .field label{font-size:13px;font-weight:800;margin-bottom:7px}
.admin-login-form .input{
  min-height:54px;
  font-size:16px;
  border-radius:13px;
  padding:0 15px;
}
.password-field{display:flex;gap:10px;align-items:stretch}
.password-field .input{flex:1;min-width:0}
.password-toggle{
  min-width:88px;
  border-radius:13px;
  border:1px solid var(--line);
  background:#f8fafc;
  color:#312e81;
  font-weight:800;
  cursor:pointer;
}
.password-toggle:hover{background:#eef2ff}
.admin-login-submit{
  width:100%;
  min-height:56px;
  font-size:16px;
  font-weight:900;
  margin-top:4px;
  border-radius:14px;
  box-shadow:0 12px 30px rgba(79,70,229,.22);
}
.admin-login-meta{
  display:flex;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
  margin-top:22px;
  padding-top:18px;
  border-top:1px solid var(--line);
  font-size:11px;
  color:var(--muted);
}
.admin-login-meta span{
  background:#f8fafc;
  border:1px solid var(--line);
  border-radius:999px;
  padding:7px 10px;
}
.admin-login-error{border-color:#fecaca;background:#fff7f7;color:#991b1b}
@media(max-width:620px){
  .admin-login-shell{padding:22px 16px;align-items:center}
  .admin-login-card{padding:28px 22px 24px;border-radius:22px}
  .admin-login-card h1{font-size:30px}
  .admin-login-brand img{width:60px;height:60px}
  .admin-login-brand strong{font-size:20px}
  .admin-login-page::after{display:none}
}

/* v23 · ficha individual de producto */
.product-card-main{display:flex;flex-direction:column;align-items:center;text-align:center;width:100%;border-radius:14px;outline:none}
.product-card-main:focus-visible{box-shadow:0 0 0 3px rgba(131,84,255,.2)}
.product-card-actions{margin-top:2px;flex-wrap:wrap}
.product-info-btn{background:#fff;color:#5546b6}
.product-detail-nav{margin-left:auto;font-size:13px;font-weight:850;color:#555d73}
.product-detail-page{padding:30px 0 54px;background:linear-gradient(180deg,#fff 0,#f6f7fa 440px)}
.product-breadcrumb{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:#777f93;font-size:12px;margin:4px 0 18px}
.product-breadcrumb a{color:#5b4bc8;font-weight:800}
.product-detail-card{display:grid;grid-template-columns:minmax(340px,.85fr) minmax(0,1.15fr);gap:54px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:24px;padding:44px;box-shadow:0 22px 60px rgba(30,36,60,.07)}
.product-detail-media{min-width:0;display:grid;place-items:center}
.product-detail-image{width:min(100%,430px);aspect-ratio:1/1.12;display:grid;place-items:center;background:radial-gradient(circle at 50% 42%,#fff 0,#f8f9fd 58%,#f1f3f9 100%);border-radius:22px;padding:24px}
.product-detail-image img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 20px 30px rgba(20,27,48,.16))}
.product-detail-info{min-width:0}
.detail-category{display:inline-flex;padding:6px 10px;border-radius:999px;background:#f1efff;color:#614ccc;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.45px}
.product-detail-info h1{font-size:clamp(32px,4vw,52px);line-height:1.03;letter-spacing:-1.8px;margin:14px 0 10px;color:#151b2f}
.detail-availability{font-size:12px;font-weight:950;color:#27a657;margin-bottom:10px}.detail-availability.sold-out{color:#d44848}
.detail-price{font-size:30px;font-weight:950;color:#101579;line-height:1.1}
.detail-subprice{font-size:13px;color:#8990a3;margin:4px 0 18px}
.detail-description{font-size:16px;line-height:1.72;color:#4d556b;max-width:760px;margin:0 0 22px}
.detail-includes{border-top:1px solid var(--line);padding-top:20px}.detail-includes h2{font-size:18px;margin:0 0 12px}
.detail-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.detail-feature{display:flex;align-items:center;gap:9px;padding:12px 13px;border:1px solid #e8eaf1;border-radius:12px;background:#fafbfe;font-size:13px;min-width:0}
.detail-feature span{flex:0 0 24px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#e7f8ec;color:#1d9e4a;font-weight:950}.detail-feature strong{min-width:0}
.detail-note{margin:18px 0;padding:14px 16px;border-radius:13px;background:#f4f6ff;border:1px solid #e0e5fa;color:#596177;font-size:13px;line-height:1.55}
.detail-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.detail-buy{min-width:190px;min-height:48px;font-size:14px}
.related-products{padding:42px 0 0}.related-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.related-card{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:15px;padding:12px;transition:.16s}.related-card:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(28,33,54,.07)}
.related-card img{width:68px;height:78px;object-fit:contain;flex:0 0 68px}.related-card div{min-width:0;display:grid;gap:5px}.related-card strong{font-size:12px;line-height:1.3}.related-card span{font-size:11px;color:#7c8396}
@media(max-width:1050px){.product-detail-card{grid-template-columns:1fr;gap:28px;padding:30px}.product-detail-image{max-width:360px}.related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.product-detail-nav{display:none}.product-detail-page{padding-top:18px}.product-detail-card{padding:18px;border-radius:18px}.product-detail-image{max-width:290px;padding:14px}.product-detail-info h1{font-size:30px;letter-spacing:-1px}.detail-feature-grid{grid-template-columns:1fr}.detail-actions{display:grid}.detail-buy{width:100%}.related-grid{grid-template-columns:1fr}.product-card-actions .btn{padding:8px 10px;font-size:11px}}

/* v24 · buscador + catálogo completo por categorías */
.catalog-search-section{background:#fff;padding:8px 0 26px;scroll-margin-top:95px}
.catalog-search-card{border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,#fbfcff,#f4f6ff);padding:20px 22px;box-shadow:0 10px 28px rgba(28,33,54,.04)}
.catalog-search-heading{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:13px}
.catalog-search-heading>div{display:grid;gap:3px}.catalog-search-heading strong{font-size:20px;color:#181e31}.catalog-search-heading span{font-size:12px;color:var(--muted)}
.catalog-total,.section-count{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;padding:6px 9px;border-radius:999px;background:#eef0ff;color:#5c4bc0;font-size:11px;font-weight:900}
.catalog-search-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;background:#fff;border:1px solid #dfe3ed;border-radius:14px;min-height:56px;overflow:hidden;transition:.15s}
.catalog-search-row:focus-within{border-color:#8b61ff;box-shadow:0 0 0 4px rgba(139,97,255,.09)}
.catalog-search-icon{font-size:25px;color:#6a55dc;padding-left:17px;transform:rotate(-15deg)}
#catalog-search{border:0;outline:0;background:transparent;padding:15px 13px;font-size:16px;color:#1f2538;min-width:0;width:100%}
#catalog-search::placeholder{color:#9aa0b1}
#catalog-search-clear{border:0;background:#f1efff;color:#604cc9;font-weight:900;padding:9px 12px;margin-right:8px;border-radius:9px;cursor:pointer}
.catalog-search-status{font-size:12px;color:#777f92;margin-top:10px;min-height:17px}
.category-grid-full{grid-template-columns:repeat(6,minmax(0,1fr))}
.category-grid-full .category-tile{min-height:116px}
.catalog-section{scroll-margin-top:90px}
.catalog-section[hidden]{display:none!important}
.product-card[hidden]{display:none!important}
.section-count{margin-bottom:2px}
.catalog-empty{padding:50px 0 70px;background:#fff}.catalog-empty-card{text-align:center;border:1px dashed #d9deeb;border-radius:18px;padding:42px;background:#fafbfe}.catalog-empty-card>div{font-size:38px}.catalog-empty-card h2{margin:10px 0 5px}.catalog-empty-card p{margin:0 0 18px;color:var(--muted)}
@media(max-width:1200px){.category-grid-full{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){.catalog-search-card{padding:16px}.catalog-search-heading{align-items:flex-start}.catalog-search-heading>div span{display:none}.category-grid-full{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-search-row{min-height:52px}#catalog-search{font-size:16px}.section-count{display:none}}

/* v27 · Catálogo visual tipo Gift Card física, construido en HTML/CSS */
.product-gift-art{
  --gc1:#11131a;--gc2:#252a38;--gca:#8b5cf6;--gct:#fff;
  width:100%;max-width:238px;aspect-ratio:10/14.2;position:relative;overflow:hidden;
  display:flex;flex-direction:column;align-items:center;text-align:center;
  border-radius:18px;background:
    radial-gradient(circle at 22% 72%,color-mix(in srgb,var(--gca) 20%,transparent) 0 18%,transparent 19%),
    radial-gradient(circle at 82% 30%,color-mix(in srgb,var(--gca) 16%,transparent) 0 17%,transparent 18%),
    linear-gradient(155deg,var(--gc1),var(--gc2));
  border:1px solid rgba(255,255,255,.11);
  box-shadow:0 16px 32px rgba(13,18,34,.22),inset 0 0 0 1px rgba(255,255,255,.03);
  color:var(--gct);padding:44px 16px 20px;margin-bottom:16px;isolation:isolate;
  transition:transform .18s ease,box-shadow .18s ease;
}
.product-gift-art::before{content:"";position:absolute;inset:0;background:linear-gradient(125deg,rgba(255,255,255,.11),transparent 24%,transparent 74%,rgba(255,255,255,.05));pointer-events:none;z-index:-1}
.product-gift-art::after{content:"";position:absolute;left:13%;right:13%;bottom:17%;height:2px;background:linear-gradient(90deg,transparent,var(--gca),transparent);opacity:.75}
.product-card:hover .product-gift-art{transform:translateY(-5px);box-shadow:0 22px 42px rgba(13,18,34,.28),inset 0 0 0 1px rgba(255,255,255,.05)}
.giftcard-hole{position:absolute;top:13px;left:50%;transform:translateX(-50%);width:76px;height:20px;border-radius:999px;background:#f8fafc;box-shadow:inset 0 1px 3px rgba(0,0,0,.3)}
.giftcard-hole span{position:absolute;left:50%;top:-7px;transform:translateX(-50%);width:21px;height:15px;border-radius:50% 50% 0 0;background:#f8fafc}
.giftcard-brand{min-height:54px;width:100%;display:flex;align-items:center;justify-content:center;padding:8px 4px 0}
.giftcard-brand strong{font-size:clamp(17px,1.25vw,24px);font-weight:950;letter-spacing:.6px;line-height:1.02;color:var(--gct);text-shadow:0 2px 12px rgba(0,0,0,.25)}
.giftcard-brand-logo{width:88%;max-height:76px;object-fit:contain;filter:drop-shadow(0 4px 12px rgba(0,0,0,.26))}
.giftcard-mark{flex:1;min-height:0;width:100%;display:flex;align-items:center;justify-content:center;font-size:clamp(72px,7vw,126px);font-weight:950;line-height:.8;letter-spacing:-8px;color:var(--gca);text-shadow:0 8px 24px rgba(0,0,0,.34);opacity:.98}
.giftcard-variant{width:100%;min-height:58px;display:flex;align-items:center;justify-content:center;padding:11px 9px 5px;font-size:15px;font-weight:950;line-height:1.15;letter-spacing:.65px;text-transform:uppercase;color:#fff}

.theme-netflix{--gc1:#090909;--gc2:#1a1a1a;--gca:#e50914;--gct:#e50914}.theme-netflix .giftcard-brand strong{color:#e50914}.theme-netflix .giftcard-mark{font-family:Arial Black,Arial,sans-serif}
.theme-crunchy{--gc1:#20100a;--gc2:#421b08;--gca:#f47521}.theme-disney{--gc1:#07152f;--gc2:#142f68;--gca:#5aa8ff}
.theme-max{--gc1:#160d31;--gc2:#39136a;--gca:#a855f7}.theme-paramount{--gc1:#071d42;--gc2:#0c4d9b;--gca:#72b8ff}
.theme-prime{--gc1:#071927;--gc2:#073956;--gca:#00a8e1}.theme-apple{--gc1:#0c0c0d;--gc2:#2b2b2d;--gca:#f5f5f7}
.theme-vix{--gc1:#220620;--gc2:#5e0b64;--gca:#ff2fb3}.theme-plex{--gc1:#0d0d0d;--gc2:#262626;--gca:#e5a00d}
.theme-viki{--gc1:#122039;--gc2:#342260;--gca:#29b6f6}.theme-latintv{--gc1:#08080a;--gc2:#191122;--gca:#f5b51b}
.theme-wamundo{--gc1:#07151d;--gc2:#0d2532;--gca:#1aa4ef}.theme-psn{--gc1:#051a45;--gc2:#07387f;--gca:#1d9bf0}
.theme-freefire{--gc1:#0b0b0b;--gc2:#29220c;--gca:#ffc400}.theme-telegram{--gc1:#09253b;--gc2:#0f4f73;--gca:#32a9e0}
.theme-xbox{--gc1:#071c0b;--gc2:#104d18;--gca:#57b947}.theme-ibo{--gc1:#160f35;--gc2:#34236f;--gca:#8b5cf6}
.theme-spotify{--gc1:#08130c;--gc2:#0c2c18;--gca:#1ed760}.theme-deezer{--gc1:#120b24;--gc2:#32145c;--gca:#a855f7}
.theme-surfshark{--gc1:#071e21;--gc2:#0b4548;--gca:#20c7c9}.theme-openai{--gc1:#0b1513;--gc2:#15312c;--gca:#10a37f}
.theme-gemini{--gc1:#101532;--gc2:#24205b;--gca:#7aa2ff}.theme-canva{--gc1:#071c29;--gc2:#073f54;--gca:#20c4cb}
.theme-office{--gc1:#25110d;--gc2:#602014;--gca:#f25022}.theme-eset{--gc1:#061e27;--gc2:#0a4d5b;--gca:#00a9c7}
.theme-avast{--gc1:#25100b;--gc2:#5b1d08;--gca:#ff7800}.theme-avg{--gc1:#16131d;--gc2:#30233c;--gca:#8b5cf6}
.theme-mcafee{--gc1:#250709;--gc2:#5f1014;--gca:#c01818}.theme-security{--gc1:#071a31;--gc2:#103f6b;--gca:#4da3ff}
.theme-cod{--gc1:#0a0d0d;--gc2:#1e2929;--gca:#d9b66f}.theme-hosting{--gc1:#071526;--gc2:#163d68;--gca:#4aa8ff}
.theme-tuxler{--gc1:#111726;--gc2:#283455;--gca:#7da2ff}

.product-card-main{min-width:0}.product-name{font-size:14px;font-weight:850;min-height:40px}.product-card-actions{gap:6px}
.product-detail-gift-wrap{width:min(100%,460px);display:grid;place-items:center;padding:18px}
.product-gift-art-detail{max-width:390px;margin:0;box-shadow:0 28px 60px rgba(13,18,34,.26)}
.product-gift-art-detail .giftcard-hole{top:20px;width:110px;height:28px}.product-gift-art-detail .giftcard-hole span{top:-10px;width:30px;height:21px}
.product-gift-art-detail .giftcard-brand{min-height:82px}.product-gift-art-detail .giftcard-brand strong{font-size:34px}.product-gift-art-detail .giftcard-brand-logo{max-height:112px}
.product-gift-art-detail .giftcard-mark{font-size:150px}.product-gift-art-detail .giftcard-variant{font-size:22px;min-height:82px}
@media(max-width:760px){.product-gift-art{max-width:210px;border-radius:15px;padding:40px 12px 16px}.giftcard-variant{font-size:12px;min-height:49px}.giftcard-mark{font-size:72px}.giftcard-brand strong{font-size:16px}.product-gift-art-detail{max-width:300px}.product-gift-art-detail .giftcard-brand strong{font-size:24px}.product-gift-art-detail .giftcard-mark{font-size:108px}.product-gift-art-detail .giftcard-variant{font-size:17px}}

/* v28 · imágenes de producto administrables desde el panel */
.product-custom-art{
  width:100%;max-width:238px;aspect-ratio:10/14.2;display:grid;place-items:center;overflow:hidden;
  border-radius:18px;background:#fff;border:1px solid #e4e7ef;margin-bottom:16px;
  box-shadow:0 16px 32px rgba(13,18,34,.18);transition:transform .18s ease,box-shadow .18s ease;
}
.product-custom-art img{width:100%;height:100%;object-fit:contain;display:block}
.product-card:hover .product-custom-art{transform:translateY(-5px);box-shadow:0 22px 42px rgba(13,18,34,.24)}
.product-custom-art-detail{max-width:390px;margin:0;box-shadow:0 28px 60px rgba(13,18,34,.22)}
@media(max-width:760px){.product-custom-art{max-width:210px;border-radius:15px}.product-custom-art-detail{max-width:300px}}

.product-image-admin{max-width:1500px}
.product-admin-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}
.product-admin-heading h1{margin:0 0 5px;font-size:30px}.product-admin-heading p{margin:0;color:var(--muted)}
.product-admin-flash{margin-bottom:15px}
.product-admin-search{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:8px 12px;margin-bottom:18px;box-shadow:0 6px 20px rgba(20,26,48,.04)}
.product-admin-search>span{font-size:24px;color:#6851d8}.product-admin-search input{border:0;outline:0;min-width:0;width:100%;font:inherit;padding:9px;background:transparent}.product-admin-search strong{font-size:11px;color:#696f82;white-space:nowrap;background:#f3f1ff;border-radius:999px;padding:7px 9px}
.product-admin-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.product-admin-card{min-width:0;background:#fff;border:1px solid var(--line);border-radius:16px;padding:13px;display:flex;flex-direction:column;gap:11px;box-shadow:0 8px 24px rgba(30,36,60,.04)}
.product-admin-card[hidden]{display:none!important}
.product-admin-preview{height:190px;border-radius:12px;background:linear-gradient(145deg,#f5f6fa,#edf0f7);display:grid;place-items:center;position:relative;overflow:hidden;border:1px solid #e8eaf0}
.product-admin-preview img{width:100%;height:100%;object-fit:contain;padding:8px}.product-admin-preview>span:not(.product-image-state){font-size:12px;color:var(--muted)}
.product-image-state{position:absolute;left:8px;bottom:8px;padding:5px 7px;border-radius:999px;background:#eef1f6;color:#677085;font-size:9px;font-weight:950;letter-spacing:.35px}.product-image-state.custom{background:#dcfce7;color:#15803d}
.product-admin-info{display:grid;gap:3px}.product-admin-info small{font-size:10px;color:#777f93;text-transform:uppercase;font-weight:850}.product-admin-info h2{font-size:14px;line-height:1.25;margin:0;min-height:35px}.product-admin-info span{font-size:11px;color:#565f75}
.product-image-form{display:grid;gap:7px;margin-top:auto}.product-image-picker{display:block}.product-image-picker input{position:absolute;opacity:0;pointer-events:none}.product-image-picker span{min-height:42px;border:1px dashed #c9c9e8;border-radius:10px;display:flex;align-items:center;justify-content:center;padding:8px;font-size:11px;font-weight:900;color:#5a49c2;background:#faf9ff;cursor:pointer}.product-image-picker:hover span{border-color:#8c70f7;background:#f5f2ff}
.product-image-file-name{font-size:10px;color:#7c8394;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:14px}.product-image-save,.product-image-reset{width:100%;justify-content:center}.product-image-reset{font-size:10px;padding:8px 10px}
.product-admin-empty{padding:48px;text-align:center;background:#fff;border:1px dashed #d5d9e4;border-radius:16px;color:var(--muted)}
@media(max-width:1180px){.product-admin-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){.product-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-admin-heading{align-items:flex-start}.product-admin-heading .btn{white-space:nowrap}}
@media(max-width:560px){.product-admin-grid{grid-template-columns:1fr}.product-admin-preview{height:230px}.product-admin-heading{display:grid}.product-admin-search{grid-template-columns:auto 1fr}.product-admin-search strong{grid-column:1/-1;justify-self:start}.product-admin-heading h1{font-size:25px}}

/* =========================================================
   v29 · Administración completa, ofertas, cupones y PWA
   ========================================================= */
.store-announcement{background:#15151b;color:#fff;text-align:center;font-weight:850;font-size:12px;padding:9px 14px;letter-spacing:.15px}
.install-app-btn{white-space:nowrap}
.product-card{position:relative}.product-badge{position:absolute;z-index:4;top:10px;left:10px;padding:7px 10px;border-radius:999px;font-size:10px;font-weight:950;letter-spacing:.45px;background:#111827;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.18)}
.product-badge-oferta{background:#e50914}.product-badge-nuevo{background:#1769e0}.product-badge-mas-vendido{background:#6d28d9}.product-badge-ultimas-unidades{background:#f59e0b;color:#201400}
.product-old-price,.detail-old-price{text-decoration:line-through;color:#989fb1;font-size:12px;font-weight:800;margin-top:4px}.detail-old-price{font-size:15px;margin-bottom:3px}
.detail-promo-badge{display:inline-flex;padding:7px 10px;border-radius:999px;background:#e50914;color:#fff;font-size:10px;font-weight:950;letter-spacing:.5px;margin-bottom:10px}
.product-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 20px}.product-facts>div{border:1px solid #e7eaf1;border-radius:12px;padding:11px 13px;background:#fafbfe;display:grid;gap:3px}.product-facts small{color:#7c8395;font-size:10px;text-transform:uppercase;font-weight:850}.product-facts strong{font-size:13px;color:#252b3d}
.coupon-checkout-box{border:1px solid #e3e4ec;border-radius:14px;padding:14px;background:#fafbff}.coupon-checkout-row{display:grid;grid-template-columns:1fr auto;gap:9px}.coupon-result{font-size:12px;font-weight:800;margin-top:8px;min-height:16px}.coupon-result.ok{color:#16803b}.coupon-result.error{color:#b42318}

/* Admin suite */
.admin-suite-body{background:#f4f6fb}.admin-suite{max-width:1560px!important;padding-top:26px!important}.admin-nav-tools{gap:7px;flex-wrap:wrap;justify-content:flex-end}.admin-nav-tools .btn{padding:9px 11px;font-size:11px}.admin-page-title{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px}.admin-page-title h1{margin:0 0 5px;font-size:31px;letter-spacing:-.6px}.admin-page-title p{margin:0;color:var(--muted);font-size:13px}.admin-page-actions{display:flex;gap:8px;flex-wrap:wrap}.admin-flash{margin:0 0 16px}.btn-danger{background:#fff1f2!important;border-color:#fecdd3!important;color:#be123c!important}.btn-small{padding:7px 9px!important;font-size:10px!important;white-space:nowrap}
.admin-editor-card,.admin-list-card,.admin-order-detail,.site-preview-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:0 9px 26px rgba(28,34,58,.04);margin-bottom:20px}.admin-editor-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}.admin-editor-head h2{margin:7px 0 0;font-size:24px}.admin-product-form{display:grid;gap:17px}.admin-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.admin-form-grid .field.full{grid-column:1/-1}.admin-form-grid small,.admin-help{color:var(--muted);font-size:10px;line-height:1.45}.admin-switch-row{display:flex;gap:18px;align-items:center;flex-wrap:wrap;background:#f8f9fc;border:1px solid #e8eaf1;border-radius:12px;padding:11px 13px}.admin-switch-row label{font-size:12px;font-weight:800;display:flex;align-items:center;gap:7px}.admin-switch-row input{width:17px;height:17px}.admin-subpanel{border:1px solid #e7e9f0;background:#fbfcff;border-radius:15px;padding:15px}.admin-subpanel h3{margin:0 0 5px;font-size:15px}.admin-subpanel p{margin:0 0 12px}.admin-check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.admin-check-grid label,.coupon-products-scroll label{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:700;border:1px solid #e7e9f0;border-radius:9px;padding:8px;background:#fff;min-width:0}.admin-editor-actions{display:flex;gap:9px;flex-wrap:wrap}.admin-danger-zone{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;border-top:1px solid #eceef4;margin-top:18px;padding-top:15px}.admin-image-editor{display:grid;grid-template-columns:180px 1fr;gap:15px;align-items:center}.admin-image-preview{width:180px;height:180px;border:1px solid #e4e7ef;border-radius:13px;background:#f6f7fb;display:grid;place-items:center;overflow:hidden}.admin-image-preview img{width:100%;height:100%;object-fit:contain}.admin-image-preview span{font-size:11px;color:var(--muted)}
.admin-list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.admin-search{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:5px;max-width:480px;flex:1;border:1px solid #e2e5ee;border-radius:11px;padding:4px 10px}.admin-search span{font-size:20px}.admin-search input{border:0;outline:0;padding:8px 5px;background:transparent;min-width:0}.admin-table-wrap{overflow:auto}.admin-data-table{width:100%;border-collapse:collapse;min-width:850px}.admin-data-table th{text-align:left;font-size:9px;letter-spacing:.55px;color:#7a8295;text-transform:uppercase;padding:10px;border-bottom:1px solid #e9ebf1}.admin-data-table td{padding:11px 10px;border-bottom:1px solid #eef0f4;font-size:11px;vertical-align:middle}.admin-data-table td>small{display:block;color:#7c8395;margin-top:3px}.admin-data-table tr:last-child td{border-bottom:0}.admin-product-cell{display:flex;gap:10px;align-items:center;min-width:220px}.admin-product-cell img{width:48px;height:54px;object-fit:contain;border:1px solid #e7e9ef;border-radius:8px;background:#fff}.admin-product-cell div{display:grid;gap:3px}.admin-product-cell small{color:#858c9d;font-size:9px}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px}.status-dot.ok{background:#24a148}.status-dot.off{background:#d9534f}.coupon-products-scroll{max-height:260px;overflow:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding-right:5px}.site-preview-card{background:linear-gradient(135deg,#11131a,#281a45);color:#fff}.site-preview-card small{color:#aeb4c5;font-weight:900}.site-preview-card h2{font-size:30px;margin:9px 0}.site-preview-card p{color:#d6d8e1;max-width:800px;line-height:1.6}
.dashboard-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:17px}.dashboard-kpi{background:#fff;border:1px solid var(--line);border-radius:15px;padding:15px;display:grid;gap:5px;box-shadow:0 7px 22px rgba(30,35,56,.035)}.dashboard-kpi small{font-size:9px;font-weight:950;color:#858c9d;letter-spacing:.6px}.dashboard-kpi strong{font-size:24px;line-height:1.05;color:#1f2440}.dashboard-kpi span{font-size:10px;color:#747c91}.dashboard-top-products{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin-bottom:18px}.dashboard-top-products>div{display:grid;margin-right:4px}.dashboard-top-products>div span{font-size:9px;color:#8b91a1}.top-product-chip{font-size:10px;background:#f3f1ff;border:1px solid #e7e2ff;padding:7px 9px;border-radius:999px;color:#5140a8}.admin-order-filters{display:grid;grid-template-columns:minmax(220px,1.8fr) repeat(3,minmax(130px,1fr)) auto auto;gap:8px;margin-bottom:12px}.order-status{display:inline-flex;padding:5px 7px;border-radius:999px;background:#eef1f6;font-size:9px;font-weight:900}.order-status-pagado{background:#dcfce7;color:#166534}.order-status-pendiente,.order-status-esperando_pago{background:#fff7d6;color:#8a5a00}.order-status-rechazado,.order-status-error_pago{background:#fee2e2;color:#991b1b}.order-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:14px}.order-detail-grid>div{border:1px solid #e8eaf1;border-radius:11px;background:#fafbfe;padding:11px;display:grid;gap:3px}.order-detail-grid small{font-size:9px;color:#838a9b;text-transform:uppercase;font-weight:900}.order-detail-grid strong{font-size:12px}.order-detail-grid span{font-size:10px;color:#737b8e}.order-detail-actions,.admin-inline-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.stock-low-alert{background:#fff7e6;border:1px solid #f5d79a;border-radius:14px;padding:13px 15px;margin-bottom:15px;display:flex;justify-content:space-between;gap:15px;align-items:center}.stock-low-alert>div:first-child{display:grid;gap:2px}.stock-low-alert span{font-size:10px;color:#8c6b2e}.stock-low-chips{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.stock-low-chips a{font-size:10px;background:#fff;border:1px solid #f1d7a8;border-radius:999px;padding:7px 9px;color:#805b14}

@media(max-width:1180px){.dashboard-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-order-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-order-filters .input{grid-column:1/-1}.admin-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.order-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.admin-page-title{align-items:flex-start;display:grid}.admin-nav-tools{overflow:auto;flex-wrap:nowrap;justify-content:flex-start;padding-bottom:4px}.admin-nav-tools .btn{flex:0 0 auto}.admin-form-grid{grid-template-columns:1fr}.admin-form-grid .field.full{grid-column:auto}.admin-check-grid,.coupon-products-scroll{grid-template-columns:1fr}.admin-image-editor{grid-template-columns:1fr}.admin-image-preview{width:100%;height:260px}.dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-order-filters{grid-template-columns:1fr}.admin-order-filters .input{grid-column:auto}.stock-low-alert{display:grid}.stock-low-chips{justify-content:flex-start}.product-facts{grid-template-columns:1fr}}
@media(max-width:520px){.dashboard-kpis{grid-template-columns:1fr 1fr}.dashboard-kpi strong{font-size:20px}.admin-editor-card,.admin-list-card,.admin-order-detail{padding:14px;border-radius:14px}.admin-page-title h1{font-size:26px}.coupon-checkout-row{grid-template-columns:1fr}.order-detail-grid{grid-template-columns:1fr}}

/* v30 · Panel administrativo a pantalla completa */
.admin-suite-body header .container,
body:has(.stock-admin) header .container{
  width:calc(100% - 36px);
  max-width:none;
}
.admin.admin-suite{
  width:calc(100% - 48px)!important;
  max-width:none!important;
  margin:28px auto 52px!important;
  padding-top:16px!important;
}
.admin.stock-admin{
  width:calc(100% - 48px)!important;
  max-width:none!important;
  margin:28px auto 52px!important;
  padding-left:0!important;
  padding-right:0!important;
}
.admin-suite .admin-page-title h1{font-size:36px}
.admin-suite .admin-page-title p{font-size:14px}
.admin-suite .dashboard-kpis{gap:16px;margin-bottom:20px}
.admin-suite .dashboard-kpi{padding:21px 20px;min-height:118px}
.admin-suite .dashboard-kpi small{font-size:10px}
.admin-suite .dashboard-kpi strong{font-size:30px}
.admin-suite .dashboard-kpi span{font-size:12px}
.admin-suite .admin-list-card,
.admin-suite .admin-editor-card,
.admin-suite .admin-order-detail{padding:24px}
.admin-suite .admin-order-filters{gap:11px}
.admin-suite .admin-order-filters .input,
.admin-suite .admin-order-filters .select{min-height:45px;font-size:13px}
.admin-suite .admin-data-table th{font-size:10px;padding:13px 12px}
.admin-suite .admin-data-table td{font-size:13px;padding:14px 12px}
.admin-suite .admin-data-table td>small{font-size:11px}
.admin-suite .btn-small{font-size:11px!important;padding:8px 11px!important}
.admin-suite .admin-list-toolbar{font-size:14px;margin:4px 0 14px}
.stock-admin .stock-head h1{font-size:34px}
.stock-admin .stock-head p{font-size:14px}
.stock-admin .stock-kpis{gap:14px}
.stock-admin .stock-kpi{padding:19px;min-height:106px}
.stock-admin .stock-kpi small{font-size:10px}
.stock-admin .stock-kpi strong{font-size:28px}
.stock-admin table th{font-size:11px;padding:13px}
.stock-admin table td{font-size:13px;padding:13px}
@media(min-width:1650px){
  .admin.admin-suite,.admin.stock-admin{width:calc(100% - 64px)!important}
  .admin-suite .dashboard-kpi{padding:24px 22px}
  .admin-suite .dashboard-kpi strong{font-size:34px}
  .admin-suite .admin-list-card,.admin-suite .admin-editor-card,.admin-suite .admin-order-detail{padding:28px}
}
@media(max-width:900px){
  .admin-suite-body header .container,body:has(.stock-admin) header .container{width:calc(100% - 20px)}
  .admin.admin-suite,.admin.stock-admin{width:calc(100% - 20px)!important;margin:18px auto 36px!important}
  .admin-suite .admin-page-title h1,.stock-admin .stock-head h1{font-size:28px}
  .admin-suite .dashboard-kpi{padding:15px;min-height:96px}
  .admin-suite .dashboard-kpi strong{font-size:23px}
  .admin-suite .admin-list-card,.admin-suite .admin-editor-card,.admin-suite .admin-order-detail{padding:15px}
}

/* v31 · Escala grande real para todo el administrador */
@media (min-width: 1100px){
  .admin-suite-body,
  body:has(.stock-admin){
    font-size:16px;
  }

  .admin-suite-body header nav,
  body:has(.stock-admin) header nav{
    min-height:96px;
  }
  .admin-suite-body header .brand-logo,
  body:has(.stock-admin) header .brand-logo{
    width:118px;
    height:74px;
  }
  .admin-suite-body .admin-nav-tools,
  body:has(.stock-admin) .admin-nav-tools{
    gap:10px;
  }
  .admin-suite-body .admin-nav-tools .btn,
  body:has(.stock-admin) .admin-nav-tools .btn{
    font-size:14px!important;
    padding:12px 15px!important;
    min-height:44px;
    border-radius:11px;
  }

  .admin.admin-suite,
  .admin.stock-admin{
    width:calc(100% - 42px)!important;
    margin:30px auto 56px!important;
  }

  .admin-suite .admin-page-title{
    margin-bottom:25px;
  }
  .admin-suite .admin-page-title h1,
  .stock-admin .stock-head h1{
    font-size:42px!important;
    line-height:1.05;
    letter-spacing:-1px;
  }
  .admin-suite .admin-page-title p,
  .stock-admin .stock-head p{
    font-size:16px!important;
    line-height:1.5;
  }
  .admin-suite .admin-page-actions .btn,
  .stock-admin .stock-head .btn{
    font-size:14px;
    padding:12px 16px;
    min-height:46px;
  }

  .admin-suite .dashboard-kpis{
    gap:18px;
    margin-bottom:24px;
  }
  .admin-suite .dashboard-kpi{
    padding:25px 24px!important;
    min-height:138px!important;
    border-radius:18px;
  }
  .admin-suite .dashboard-kpi small{
    font-size:12px!important;
  }
  .admin-suite .dashboard-kpi strong{
    font-size:38px!important;
  }
  .admin-suite .dashboard-kpi span{
    font-size:13px!important;
  }

  .admin-suite .admin-list-card,
  .admin-suite .admin-editor-card,
  .admin-suite .admin-order-detail,
  .admin-suite .site-preview-card{
    padding:28px!important;
    border-radius:20px;
  }
  .admin-suite .admin-list-toolbar{
    font-size:16px!important;
    margin-bottom:17px!important;
  }
  .admin-suite .admin-list-toolbar strong{
    font-size:16px;
  }
  .admin-suite .admin-search{
    max-width:620px;
    min-height:48px;
    padding:5px 13px;
  }
  .admin-suite .admin-search input{
    font-size:15px;
  }

  .admin-suite .admin-order-filters{
    gap:12px!important;
    margin-bottom:17px;
  }
  .admin-suite .admin-order-filters .input,
  .admin-suite .admin-order-filters .select,
  .admin-suite .admin-order-filters select,
  .admin-suite .admin-order-filters input{
    min-height:50px!important;
    font-size:15px!important;
    padding:12px 14px!important;
  }
  .admin-suite .admin-order-filters .btn{
    min-height:50px;
    font-size:14px;
    padding:12px 16px;
  }

  .admin-suite .admin-data-table th{
    font-size:12px!important;
    padding:15px 14px!important;
    letter-spacing:.65px;
  }
  .admin-suite .admin-data-table td{
    font-size:15px!important;
    padding:17px 14px!important;
    line-height:1.35;
  }
  .admin-suite .admin-data-table td>small,
  .admin-suite .admin-product-cell small{
    font-size:11.5px!important;
  }
  .admin-suite .admin-product-cell{
    gap:13px;
    min-width:270px;
  }
  .admin-suite .admin-product-cell img{
    width:62px;
    height:70px;
    border-radius:10px;
  }
  .admin-suite .status-dot{
    width:9px;
    height:9px;
  }
  .admin-suite .order-status{
    font-size:12px!important;
    padding:7px 10px;
  }
  .admin-suite .btn-small{
    font-size:13px!important;
    padding:10px 14px!important;
    min-height:40px;
  }

  .admin-suite .admin-editor-head h2{
    font-size:29px!important;
  }
  .admin-suite .field label,
  .admin-suite .admin-switch-row label,
  .admin-suite .admin-check-grid label,
  .admin-suite .coupon-products-scroll label{
    font-size:14px!important;
  }
  .admin-suite .input,
  .admin-suite .select,
  .admin-suite textarea,
  .admin-suite select,
  .admin-suite input[type="text"],
  .admin-suite input[type="number"],
  .admin-suite input[type="email"],
  .admin-suite input[type="date"],
  .admin-suite input[type="url"]{
    font-size:15px;
  }
  .admin-suite .admin-form-grid small,
  .admin-suite .admin-help{
    font-size:12px!important;
  }
  .admin-suite .admin-subpanel h3{
    font-size:18px!important;
  }
  .admin-suite .admin-subpanel p{
    font-size:14px;
  }
  .admin-suite .admin-check-grid label,
  .admin-suite .coupon-products-scroll label{
    padding:11px;
    border-radius:11px;
  }
  .admin-suite .admin-editor-actions .btn,
  .admin-suite .admin-danger-zone .btn{
    font-size:14px;
    padding:12px 16px;
  }
  .admin-suite .site-preview-card h2{
    font-size:38px!important;
  }
  .admin-suite .site-preview-card p{
    font-size:16px;
  }

  .stock-admin .stock-low-alert{
    padding:18px 20px;
    border-radius:16px;
    font-size:14px;
  }
  .stock-admin .stock-low-alert strong{
    font-size:16px;
  }
  .stock-admin .stock-low-chips{
    gap:9px;
  }
  .stock-admin .stock-low-chips span,
  .stock-admin .stock-low-chips a{
    font-size:12px!important;
    padding:7px 10px!important;
  }
  .stock-admin .stock-kpis{
    gap:16px!important;
  }
  .stock-admin .stock-kpi{
    padding:23px!important;
    min-height:124px!important;
    border-radius:17px;
  }
  .stock-admin .stock-kpi small{
    font-size:12px!important;
  }
  .stock-admin .stock-kpi strong{
    font-size:35px!important;
  }
  .stock-admin table th{
    font-size:12px!important;
    padding:15px!important;
  }
  .stock-admin table td{
    font-size:15px!important;
    padding:16px!important;
    line-height:1.35;
  }
  .stock-admin table td small{
    font-size:12px!important;
  }
  .stock-admin table .btn,
  .stock-admin .btn{
    font-size:14px;
    padding:11px 15px;
    min-height:42px;
  }
}

/* v32 · país + prefijo internacional de WhatsApp */
.phone-input-group{
  display:flex;
  align-items:stretch;
  width:100%;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  overflow:hidden;
  min-height:46px;
}
.phone-prefix{
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  min-width:78px;
  padding:0 14px;
  background:#f1f5f9;
  border-right:1px solid var(--line);
  color:#0f172a;
  font-weight:800;
  font-size:15px;
}
.phone-input-group .phone-local-input{
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  min-width:0;
  flex:1 1 auto;
}
.phone-input-group:focus-within{
  border-color:#7c3aed;
  box-shadow:0 0 0 3px rgba(124,58,237,.10);
}
.phone-help{display:block;margin-top:6px;color:var(--muted);line-height:1.35}
@media(max-width:520px){
  .phone-prefix{min-width:70px;padding:0 10px}
}


/* V33 · Gift Cards BI + Productos físicos */
.physical-shipping-panel{border:1px solid var(--line);border-radius:18px;background:#f8fafc;padding:18px;margin-top:2px}
.physical-shipping-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px;flex-wrap:wrap}
.physical-shipping-head>div{display:flex;flex-direction:column;gap:3px}.physical-shipping-head strong{font-size:17px}.physical-shipping-head span:not(.pill){font-size:12px;color:var(--muted)}
.physical-shipping-grid{margin-top:0}.physical-shipping-note{margin-top:12px}
.admin-shipping-detail{line-height:1.55;margin:14px 0}
@media(max-width:720px){.physical-shipping-panel{padding:14px}.physical-shipping-head{align-items:flex-start}.physical-shipping-grid{grid-template-columns:1fr!important}}

/* V34 · Productos físicos: contra entrega + tarjeta Recurrente */
.physical-price-compare{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:16px 0 18px;
  padding:14px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
}
.physical-price-compare>div{
  min-width:0;
  padding:14px 16px;
  border-radius:13px;
  background:#f8fafc;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.physical-price-compare span{font-size:12px;color:var(--muted);font-weight:750;text-transform:uppercase;letter-spacing:.25px}
.physical-price-compare strong{font-size:26px;line-height:1;color:var(--ink)}
.physical-price-compare small{font-size:11px;color:var(--muted);line-height:1.35}
.physical-price-compare .physical-price-card{background:#fff7ed;border:1px solid #fed7aa}
.physical-price-compare .physical-price-card strong{color:#ea580c}
.detail-physical-prices{margin:8px 0 18px}
.physical-card-mini{display:flex;flex-direction:column;gap:2px;margin-top:5px;font-size:10px;font-weight:800;color:var(--muted);line-height:1.25}
.physical-card-mini span:last-child{color:#ea580c}
@media(max-width:620px){
  .physical-price-compare{grid-template-columns:1fr}
  .physical-price-compare strong{font-size:23px}
}

/* v36 · módulo visible de productos físicos */
.physical-template-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:18px}
.physical-template-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:14px;min-height:260px;box-shadow:0 8px 24px rgba(15,23,42,.05)}
.physical-template-icon{width:54px;height:54px;border-radius:14px;display:grid;place-items:center;background:#f1f5f9;font-size:27px}
.physical-template-body{display:flex;flex-direction:column;gap:8px;min-width:0}.physical-template-body h2{font-size:20px;line-height:1.2;margin:0}.physical-template-body p{margin:0;color:var(--muted);line-height:1.45;flex:1}.physical-template-meta{display:flex;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.physical-template-meta span{border:1px solid var(--line);border-radius:999px;padding:6px 9px;background:#f8fafc}.physical-template-actions{margin-top:auto}.physical-template-actions .btn{width:100%}
@media(max-width:1300px){.physical-template-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.physical-template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.physical-template-grid{grid-template-columns:1fr}}

/* V40 · Pago físico: Banco Industrial + tarjeta segura */
.card-security-box{display:flex;gap:14px;align-items:center;border:1px solid #bbf7d0;background:#f0fdf4;border-radius:16px;padding:16px 18px;color:#14532d}
.card-security-box[hidden]{display:none!important}
.card-security-icon{width:46px;height:46px;border-radius:14px;background:#dcfce7;display:grid;place-items:center;font-size:24px;flex:0 0 auto}
.card-security-box strong{display:block;font-size:16px;margin-bottom:3px}
.card-security-box p{margin:0;color:#166534;font-size:13px;line-height:1.45}
@media(max-width:600px){.card-security-box{align-items:flex-start;padding:14px}.card-security-icon{width:40px;height:40px;font-size:21px}}


/* V41 · Tres métodos para productos físicos */
.physical-price-compare-three{grid-template-columns:repeat(3,minmax(0,1fr));}
.physical-price-compare .physical-price-cash{background:#f0fdf4;border:1px solid #bbf7d0;}
.physical-price-compare .physical-price-cash strong{color:#15803d;}
@media(max-width:980px){.physical-price-compare-three{grid-template-columns:1fr;}}

/* ===== V42 Operaciones, pedidos y gestión ===== */
.admin-notification-strip{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px}.admin-notification-strip a{padding:10px 14px;border:1px solid #f4c36a;background:#fff8e8;border-radius:12px;font-weight:800;text-decoration:none;color:#7a4d00}.dashboard-chart-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;margin:18px 0}.mini-bar-chart{display:grid;grid-template-columns:repeat(14,minmax(28px,1fr));gap:10px;align-items:end;min-height:220px}.mini-bar-col{display:grid;grid-template-rows:28px 150px 24px;gap:5px;text-align:center;min-width:0}.mini-bar-value{font-size:11px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-bar-track{height:150px;background:#f1f4f9;border-radius:10px;display:flex;align-items:flex-end;overflow:hidden}.mini-bar-track i{display:block;width:100%;min-height:3px;background:linear-gradient(180deg,#6557ff,#25c98b);border-radius:10px 10px 0 0}.mini-bar-col small{font-size:10px;color:var(--muted)}
.shipping-guide-form{display:grid;grid-template-columns:1fr 1fr 1.4fr auto;gap:12px;align-items:end}.admin-inline-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.admin-two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}.admin-tabs a{padding:10px 14px;background:#fff;border:1px solid var(--line);border-radius:12px;text-decoration:none;font-weight:800;color:var(--text)}.admin-tabs a.active{background:#111827;color:#fff}.inline-block-form{display:flex;gap:7px;align-items:center}.input-small{min-width:130px!important;padding:7px!important}.operations-alert-list{display:grid;gap:10px}.operations-alert-list a{display:flex;justify-content:space-between;gap:12px;padding:14px;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--text);background:#fff}.pill.danger{background:#fee2e2;color:#991b1b}
.public-order-wrap{max-width:880px;margin:36px auto;padding:0 18px}.public-order-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:0 20px 50px rgba(15,23,42,.08)}.public-order-card h1{font-size:32px;margin:10px 0 4px}.order-status-product{display:grid;grid-template-columns:1fr auto;gap:16px;border:1px solid var(--line);border-radius:14px;padding:16px;margin:20px 0}.order-status-product div{display:flex;flex-direction:column;gap:4px}.public-timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:26px 0}.timeline-step{display:flex;flex-direction:column;align-items:center;gap:8px;color:#8a94a6;text-align:center;font-size:12px;font-weight:800}.timeline-step i{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;border:2px solid #dce2ec;background:#fff;font-style:normal}.timeline-step.done{color:#111827}.timeline-step.done i{background:#dcfce7;border-color:#22c55e;color:#15803d}.tracking-public-box{padding:18px;border:1px solid #bae6fd;background:#f0f9ff;border-radius:16px;margin:18px 0}.tracking-guide{font-size:25px;font-weight:900;letter-spacing:1px;margin:10px 0}.public-order-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.receipt-public-page{background:#f5f7fb}.receipt-document{max-width:850px;margin:30px auto;background:#fff;padding:36px;border-radius:18px;border:1px solid #e5e7eb}.receipt-head{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid #111827;padding-bottom:18px;margin-bottom:20px}.receipt-head img{width:90px}.receipt-head h1{margin:0;font-size:28px}.receipt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}.receipt-grid div{display:flex;flex-direction:column;padding:12px;background:#f8fafc;border-radius:10px}.receipt-grid small{color:#64748b}.receipt-table{width:100%;border-collapse:collapse}.receipt-table th,.receipt-table td{padding:12px;border-bottom:1px solid #e5e7eb;text-align:left}.receipt-table th:last-child,.receipt-table td:last-child{text-align:right}.receipt-total{font-size:18px;font-weight:900}.receipt-address{margin:18px 0;padding:14px;border:1px solid #e5e7eb;border-radius:10px}.receipt-note{font-size:12px;color:#64748b}.no-print{display:flex;gap:10px;margin-top:20px}
.favorite-btn{position:absolute;right:12px;top:12px;z-index:6;border:1px solid rgba(255,255,255,.7);background:rgba(255,255,255,.92);border-radius:999px;min-width:38px;height:38px;padding:0 10px;font-size:19px;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.09)}.favorite-btn.active{color:#e11d48;background:#fff0f4}.product-card{position:relative}.favorite-detail{position:static;width:max-content;height:42px;font-size:14px;margin:2px 0 10px}.catalog-search-actions{display:flex;gap:10px;align-items:center}.catalog-search-actions .active{background:#111827;color:white}.physical-price-deposit{border-color:#93c5fd!important;background:#eff6ff!important}
.admin-data-table small{display:block;color:var(--muted);margin-top:3px}.shipping-guide-form .field{margin:0}.admin-shipping-detail{margin:14px 0}.order-status-page header,.receipt-public-page header{background:#fff}
@media(max-width:1000px){.shipping-guide-form{grid-template-columns:1fr 1fr}.admin-two-col{grid-template-columns:1fr}.mini-bar-chart{overflow-x:auto;grid-template-columns:repeat(14,56px)}.receipt-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.public-timeline{grid-template-columns:1fr}.timeline-step{flex-direction:row;text-align:left}.order-status-product,.receipt-grid{grid-template-columns:1fr}.receipt-document{margin:0;padding:20px;border-radius:0}.shipping-guide-form{grid-template-columns:1fr}.public-order-card{padding:20px}.public-order-card h1{font-size:26px}.public-order-actions,.no-print{display:grid}.catalog-search-actions{align-items:flex-end;flex-direction:column}.admin-tabs{display:grid;grid-template-columns:1fr 1fr}}
@media print{.no-print,header{display:none!important}.receipt-public-page{background:#fff}.receipt-document{box-shadow:none;border:0;margin:0;max-width:none}}


/* V43 · Facturación FEL preparada */
.billing-fel-panel{border:1px solid var(--line);border-radius:18px;padding:18px;background:linear-gradient(180deg,#fff,#fbfcff)}
.fel-checkout-preview,.fel-preview-box{margin-top:14px}
.fel-order-panel{margin-top:16px}
.fel-order-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}
.fel-order-grid>div{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fff;display:flex;flex-direction:column;gap:4px}
.fel-order-grid small{color:var(--muted);font-size:12px}.fel-order-grid strong{font-size:15px;overflow-wrap:anywhere}
.fel-description-ready p{margin:8px 0;font-weight:700;line-height:1.45}
.fel-delivery-form{display:grid;grid-template-columns:minmax(220px,360px) auto;gap:12px;align-items:end;margin-top:14px}
@media(max-width:700px){.fel-order-grid{grid-template-columns:1fr}.fel-delivery-form{grid-template-columns:1fr}.billing-fel-panel{padding:14px}}

/* =========================
   SECURITY ADMIN · v47
   ========================= */
.security-kpis{margin-bottom:18px}
.security-grid{align-items:start}
.security-checklist{display:grid;gap:10px;margin:12px 0 18px;padding-left:0;list-style:none}
.security-checklist li{padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}
.security-secret{display:block;margin:10px 0;padding:12px;border-radius:10px;background:#0f172a;color:#fff;font-size:16px;letter-spacing:1.5px;overflow-wrap:anywhere;user-select:all}
.security-otp-input{font-size:22px!important;letter-spacing:5px;text-align:center;font-weight:800}
.security-danger-form{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
.security-recovery{margin-top:16px}
.security-recovery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}
.security-recovery-grid code{padding:10px;border:1px solid #f59e0b;border-radius:10px;background:#fff;text-align:center;font-weight:800;letter-spacing:1px;user-select:all}
@media(max-width:720px){.security-recovery-grid{grid-template-columns:1fr}.security-secret{font-size:13px}.security-otp-input{font-size:20px!important}}


/* =========================================================
   v48 · Finanzas + gráficas
   ========================================================= */
.finance-kpis{grid-template-columns:repeat(6,minmax(155px,1fr))}
.finance-profit-kpi{border-color:#b7e4c7;background:linear-gradient(180deg,#fff,#f2fff6)}
.finance-positive{color:#087f3e!important}.finance-negative{color:#b42318!important}
.finance-preview-grid{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:10px;margin-top:10px}
.finance-preview-grid>div{border:1px solid var(--line);border-radius:13px;padding:12px;background:#fff;display:flex;flex-direction:column;gap:4px}
.finance-preview-grid small{color:var(--muted);font-size:12px}.finance-preview-grid strong{font-size:18px}
.finance-chart-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.finance-chart-legend span{display:flex;align-items:center;gap:6px}.finance-chart-legend i{width:10px;height:10px;border-radius:3px;display:inline-block}.finance-chart-legend i.sales,.finance-bars i.sales{background:#334155}.finance-chart-legend i.profit,.finance-bars i.profit{background:#16a34a}
.finance-bar-chart{display:flex;align-items:stretch;gap:5px;min-height:245px;overflow-x:auto;padding:14px 4px 2px}.finance-bar-chart-large{min-height:330px}.finance-bar-col{flex:1 0 25px;min-width:25px;display:flex;flex-direction:column;align-items:center;gap:5px}.finance-bars{height:205px;width:100%;display:flex;gap:2px;align-items:flex-end;border-bottom:1px solid var(--line)}.finance-bar-chart-large .finance-bars{height:285px}.finance-bars i{display:block;flex:1;min-height:2px;border-radius:4px 4px 0 0}.finance-bar-col small{font-size:9px;color:var(--muted);white-space:nowrap;transform:rotate(-45deg);transform-origin:center;margin-top:12px}
.profit-ranking{display:grid;gap:12px}.profit-rank-row{display:grid;grid-template-columns:minmax(180px,1.3fr) minmax(160px,2fr) 110px;gap:12px;align-items:center}.profit-rank-name,.profit-rank-value{display:flex;flex-direction:column;gap:2px}.profit-rank-name small,.profit-rank-value small{font-size:11px;color:var(--muted)}.profit-rank-value{text-align:right}.profit-rank-track{height:12px;border-radius:999px;background:#eef2f7;overflow:hidden}.profit-rank-track i{display:block;height:100%;border-radius:999px;background:#16a34a}
.finance-period-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}.finance-period-tabs a{padding:9px 13px;border:1px solid var(--line);border-radius:999px;text-decoration:none;color:var(--text);background:#fff;font-weight:700;font-size:13px}.finance-period-tabs a.active{background:#111827;color:#fff;border-color:#111827}.finance-formula{font-size:14px;line-height:1.6}.finance-two-col{align-items:start}
@media(max-width:1200px){.finance-kpis{grid-template-columns:repeat(3,1fr)}.finance-preview-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.finance-kpis{grid-template-columns:repeat(2,1fr)}.finance-preview-grid{grid-template-columns:repeat(2,1fr)}.profit-rank-row{grid-template-columns:1fr 90px}.profit-rank-track{grid-column:1/-1;grid-row:2}.finance-bar-col{flex-basis:22px}.finance-bar-chart{min-height:225px}.finance-bars{height:180px}}


/* V51 · cantidades + recibo CARDONA-FLIX */
.checkout-qty-summary{margin-top:6px;font-size:13px;color:var(--muted)}
.detail-quantity-box{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:18px 0;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#fff}
.detail-quantity-box .input{width:110px;min-width:90px}
.detail-quantity-box small{color:var(--muted)}
.delivery-code-row{display:flex;align-items:center;gap:12px;margin:8px 0;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff}
.delivery-code-row span{font-weight:800;color:var(--muted);min-width:24px}
.delivery-code-row code{font-size:18px;font-weight:900;word-break:break-all}
.receipt-business{display:flex;align-items:center;gap:18px;padding-bottom:20px;border-bottom:2px solid var(--line);margin-bottom:20px}
.receipt-business img{width:78px;height:78px;object-fit:contain}
.receipt-business-name{display:block;font-size:26px;font-weight:1000;letter-spacing:.5px}
.receipt-business h1{margin:3px 0 2px;font-size:21px}
.receipt-table th:nth-child(2),.receipt-table td:nth-child(2){text-align:center}
@media(max-width:640px){
  .receipt-business{align-items:flex-start}
  .receipt-business img{width:64px;height:64px}
  .receipt-business-name{font-size:21px}
  .receipt-table{font-size:12px}
  .detail-quantity-box{align-items:flex-start;flex-direction:column}
}

/* V53 · Entrega digital segura + comprobantes */
.secure-delivery-page{background:#f5f7fb;min-height:100vh}.secure-delivery-card{max-width:760px;margin:0 auto}.secure-delivery-head{display:flex;gap:14px;align-items:flex-start;margin-bottom:18px}.secure-delivery-head h2{margin:0 0 5px}.secure-delivery-head p{margin:0;color:var(--muted);line-height:1.5}.secure-lock{width:48px;height:48px;border-radius:14px;background:#eef2ff;display:grid;place-items:center;font-size:24px;flex:0 0 auto}.secure-reveal-form{border:1px solid var(--line);border-radius:16px;padding:18px;background:#fff;display:grid;gap:14px}.secure-reveal-form .field{margin:0}.secure-last4{max-width:220px;font-size:24px!important;letter-spacing:8px;text-align:center;font-weight:900}.secure-verification-copy p{margin:5px 0 0;color:var(--muted)}.secure-danger{border-color:#fecaca!important;background:#fff1f2!important;color:#9f1239!important}.masked-code-box code{letter-spacing:2px;color:#64748b}.secure-delivery-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.gift-secure-admin{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.gift-secure-admin h4{margin:0 0 12px}.gift-secure-grid{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:10px}.gift-secure-grid>div{display:flex;flex-direction:column;gap:3px;padding:11px;border:1px solid var(--line);border-radius:12px;background:#fff}.gift-secure-grid small{color:var(--muted);font-size:11px}.gift-secure-grid strong{font-size:13px;overflow-wrap:anywhere}
@media(max-width:720px){.gift-secure-grid{grid-template-columns:1fr 1fr}.secure-delivery-actions{display:grid}.secure-last4{max-width:none;width:100%}}
@media(max-width:480px){.gift-secure-grid{grid-template-columns:1fr}.secure-delivery-head{align-items:center}}

/* ===== Cardona-Flix v55 · Portadas / carrusel ===== */
.store-banner-section{padding:20px 0 8px;background:#fff}.store-banner-carousel{position:relative;width:100%;aspect-ratio:8/3;overflow:hidden;border-radius:24px;background:#0f172a;box-shadow:0 18px 44px rgba(15,23,42,.14)}.store-banner-track{position:absolute;inset:0}.store-banner-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .55s ease,visibility .55s ease;pointer-events:none}.store-banner-slide.is-active{opacity:1;visibility:visible;pointer-events:auto}.store-banner-slide>a{display:block;width:100%;height:100%}.store-banner-slide img{display:block;width:100%;height:100%;object-fit:cover;user-select:none;-webkit-user-drag:none}.store-banner-arrow{position:absolute;top:50%;z-index:4;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.45);background:rgba(5,10,25,.5);color:#fff;font-size:36px;line-height:1;cursor:pointer;backdrop-filter:blur(8px);box-shadow:0 8px 20px rgba(0,0,0,.18)}.store-banner-arrow:hover{background:rgba(5,10,25,.74)}.store-banner-prev{left:18px}.store-banner-next{right:18px}.store-banner-dots{position:absolute;z-index:4;left:50%;bottom:15px;transform:translateX(-50%);display:flex;gap:8px;padding:7px 10px;border-radius:999px;background:rgba(5,10,25,.34);backdrop-filter:blur(8px)}.store-banner-dot{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.55);cursor:pointer}.store-banner-dot.is-active{width:26px;border-radius:999px;background:#fff}.banner-admin-note{margin:0 0 18px;padding:14px 16px;border:1px solid #dbe3f0;border-radius:16px;background:#fff;color:#475569}.banner-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.banner-admin-card{background:#fff;border:1px solid #dbe3f0;border-radius:20px;padding:18px;box-shadow:0 8px 22px rgba(15,23,42,.05)}.banner-admin-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.banner-admin-card-head h2{margin:0;font-size:21px}.banner-state{font-size:10px;font-weight:900;padding:6px 9px;border-radius:999px}.banner-state.is-on{color:#047857;background:#d1fae5}.banner-state.is-off{color:#64748b;background:#eef2f7}.banner-preview{aspect-ratio:8/3;border-radius:14px;overflow:hidden;background:#0f172a;border:1px solid #e2e8f0}.banner-preview>img{display:block;width:100%;height:100%;object-fit:cover}.banner-preview-default{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:linear-gradient(120deg,#111827,#312e81 48%,#0f766e);color:#fff}.banner-preview-default img{width:75px;height:75px;object-fit:contain}.banner-preview-default strong{font-size:20px}.banner-preview-default span{opacity:.75;font-size:12px}.banner-meta{margin:8px 0 12px;color:#64748b;font-size:11px}.banner-upload-form{display:grid;gap:10px;margin-top:12px}.banner-upload-form .field{margin:0}.banner-settings-form{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0}.banner-toggle{display:flex;align-items:center;gap:8px;font-weight:800;font-size:12px}@media(max-width:900px){.banner-admin-grid{grid-template-columns:1fr}.store-banner-section{padding-top:10px}.store-banner-carousel{aspect-ratio:16/9;border-radius:16px}.store-banner-arrow{width:38px;height:38px;font-size:28px}.store-banner-prev{left:10px}.store-banner-next{right:10px}.store-banner-dots{bottom:9px}}
.banner-settings-editor{align-items:stretch;flex-direction:column}.banner-settings-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.banner-settings-editor .btn{align-self:flex-start}@media(max-width:600px){.banner-settings-fields{grid-template-columns:1fr}}

/* =========================================================
   Cardona-Flix v56 · Responsive móvil/tablet consistente
   Objetivo: que la tienda se sienta diseñada para teléfono,
   no una versión de escritorio encogida.
   ========================================================= */

/* Escala táctil coherente */
@media (max-width: 900px){
  body{font-size:15px;line-height:1.5;-webkit-text-size-adjust:100%}
  .container{width:calc(100% - 20px)}
  .section{padding:32px 0}
  .section-title{align-items:flex-start;margin-bottom:18px}
  .section-title h2{font-size:23px;line-height:1.14;letter-spacing:-.45px}
  .section-title p{font-size:13px;line-height:1.45;margin-top:5px}

  /* Cabecera pública compacta */
  .topbar{display:none}
  header nav{min-height:66px;gap:10px}
  header .brand-logo{width:104px;height:50px}
  header .tools{margin-left:auto;gap:7px}
  header .tools .select{min-height:42px;padding:9px 10px;font-size:13px}
  header .install-app-btn{min-height:42px;padding:9px 10px;font-size:12px}

  /* El banner 1600×600 conserva su proporción también en teléfono */
  .store-banner-section{padding:10px 0 4px}
  .store-banner-carousel{aspect-ratio:8/3!important;border-radius:14px;box-shadow:0 9px 24px rgba(15,23,42,.12)}
  .store-banner-arrow{width:32px;height:32px;font-size:24px;border-width:1px}
  .store-banner-prev{left:6px}.store-banner-next{right:6px}
  .store-banner-dots{bottom:6px;padding:5px 7px;gap:5px}
  .store-banner-dot{width:7px;height:7px}.store-banner-dot.is-active{width:19px}

  /* Hero alternativo si no hay portadas */
  .hero{padding:12px 0 6px}
  .slider{min-height:0;grid-template-columns:1fr;padding:24px 20px;gap:16px;border-radius:16px}
  .hero h1{font-size:34px;line-height:1.04;letter-spacing:-1.3px;margin:8px 0 12px}
  .hero p{font-size:14px;line-height:1.5;margin-bottom:16px}
  .hero-logo-wrap{display:none}

  /* Buscador: protagonista, simple y táctil */
  .catalog-search-section{padding:10px 0 18px;scroll-margin-top:72px}
  .catalog-search-card{padding:14px;border-radius:15px}
  .catalog-search-heading{align-items:flex-start;gap:10px;margin-bottom:10px}
  .catalog-search-heading strong{font-size:18px}
  .catalog-search-heading>div span{font-size:12px}
  .catalog-search-actions{gap:7px}
  .catalog-search-actions .btn{min-height:38px;padding:8px 10px;font-size:11px}
  .catalog-search-row{min-height:50px;border-radius:12px}
  .catalog-search-icon{font-size:21px;padding-left:13px}
  #catalog-search{font-size:16px;padding:13px 10px}
  #catalog-search-clear{font-size:11px;padding:8px 9px}

  /* Categorías compactas */
  .category-grid,.category-grid-full{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
  .category-grid .category-tile,.category-grid-full .category-tile{min-height:92px;padding:11px 7px;border-radius:13px;gap:7px}
  .category-icon{width:42px;height:42px;border-radius:12px;font-size:20px}
  .category-tile strong{font-size:11.5px;line-height:1.2}

  /* Catálogo: 2 productos por fila y scroll vertical normal */
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px 10px!important;overflow:visible!important}
  .product-card{min-width:0;width:100%;height:100%;align-items:stretch;text-align:center}
  .product-card-main{display:flex;flex-direction:column;align-items:center;min-width:0;flex:1}
  .product-thumb,.product-gift-art,.product-custom-art{width:100%!important;max-width:none!important}
  .product-gift-art,.product-custom-art{aspect-ratio:10/14.2;border-radius:14px}
  .product-custom-art img{object-fit:contain}
  .product-name{width:100%;max-width:none;min-height:38px;font-size:12.5px;line-height:1.28;font-weight:850;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:10px}
  .available{font-size:9.5px;line-height:1.2;min-height:12px;margin:5px 0 3px}
  .product-old-price{font-size:10px}
  .product-price{font-size:17px;margin-bottom:1px}
  .product-subprice{font-size:10px;margin-bottom:7px}
  .physical-card-mini{font-size:9px;line-height:1.25;margin:4px 0 6px}
  .product-card-actions{display:grid!important;grid-template-columns:1fr!important;width:100%;gap:6px!important;margin-top:8px!important}
  .product-card-actions .btn{width:100%;min-height:39px;padding:8px 5px!important;font-size:11px!important;border-radius:9px;white-space:normal;line-height:1.15}
  .favorite-btn{right:6px;top:6px;min-width:32px;height:32px;padding:0 7px;font-size:16px}
  .product-badge{font-size:8.5px!important;top:7px!important;left:7px!important;padding:5px 7px!important}

  .feature-band{padding:24px 20px;border-radius:15px;display:grid}
  .feature-band h3{font-size:22px}.feature-band p{font-size:13px}

  /* Detalle: imagen primero, información después */
  .product-detail-page{padding:14px 0 34px}
  .product-breadcrumb{font-size:11px;gap:5px;overflow:auto;white-space:nowrap;padding-bottom:4px}
  .product-detail-card{grid-template-columns:1fr!important;gap:18px!important;padding:16px!important;border-radius:17px!important;align-items:start}
  .product-detail-media{width:100%}
  .product-detail-gift-wrap{width:100%;padding:4px}
  .product-gift-art-detail,.product-custom-art-detail{width:min(78vw,310px)!important;max-width:310px!important}
  .product-detail-info h1{font-size:27px!important;line-height:1.08;letter-spacing:-.6px;margin:10px 0 8px}
  .detail-category{font-size:11px}.detail-price{font-size:30px}.detail-subprice{font-size:12px}
  .detail-description{font-size:14px;line-height:1.6;margin-bottom:16px}
  .detail-feature-grid{grid-template-columns:1fr!important;gap:8px}
  .detail-actions{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
  .detail-actions .btn,.detail-buy{width:100%;min-height:48px;font-size:14px}
  .detail-quantity-box{padding:12px;margin:14px 0;gap:8px}
  .detail-quantity-box .input{width:100%;min-height:46px}
  .related-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px 10px}

  /* Checkout: una sola columna, lectura y botones grandes */
  .checkout-wrap{width:calc(100% - 16px);margin:14px auto 36px}
  .checkout-card{padding:16px;border-radius:16px;box-shadow:0 8px 24px rgba(28,33,54,.06)}
  .checkout-card h1{font-size:27px;line-height:1.12;margin-top:4px}
  .order-product{display:grid;grid-template-columns:1fr;gap:8px;padding:13px;margin:14px 0}
  .order-product>div:last-child{text-align:left!important}
  .form-grid{grid-template-columns:1fr!important;gap:11px}
  .field.full{grid-column:auto!important}
  .field label{font-size:12px}
  .input,.select,.file,select,textarea{min-height:48px;padding:12px;font-size:16px;border-radius:11px}
  textarea{min-height:92px}
  .notice{font-size:12.5px;padding:12px;line-height:1.5}
  .payment-section{padding:13px;border-radius:15px;margin-top:15px}
  .payment-header h2{font-size:21px}.payment-header p{font-size:12.5px}
  .payment-grid{grid-template-columns:1fr!important;gap:9px}
  .payment-card{padding:13px;border-radius:13px}
  .payment-card strong{font-size:15px}.payment-card span{font-size:12.5px}
  .payment-selected-grid,.payment-rules{grid-template-columns:1fr!important}
  .payment-selected-head,.payment-info-top{align-items:flex-start;flex-direction:column}
  .payment-actions-row{display:grid;grid-template-columns:1fr}
  .payment-actions-row .btn,.checkout-card>form>.btn,.checkout-card form>button.btn-primary{width:100%;min-height:50px;font-size:14px}
  .physical-price-compare,.physical-price-compare-three{grid-template-columns:1fr!important;padding:10px;gap:8px}
  .physical-price-compare>div{padding:12px}.physical-price-compare strong{font-size:23px}
  .physical-shipping-panel{padding:12px;border-radius:14px}
  .card-security-box{padding:12px;gap:10px}.card-security-box strong{font-size:14px}.card-security-box p{font-size:12px}
  .phone-input-group{min-height:48px}.phone-prefix{min-width:68px;font-size:14px}

  /* Páginas públicas de pedido/recibo */
  .public-order-card,.receipt-document,.secure-delivery-card{width:calc(100% - 16px);margin:12px auto;padding:16px;border-radius:16px}
  .public-timeline{grid-template-columns:1fr!important;gap:7px}
  .timeline-step{flex-direction:row;text-align:left;justify-content:flex-start}
  .receipt-grid{grid-template-columns:1fr!important}
  .receipt-head{align-items:flex-start;gap:10px}.receipt-head img{width:64px}.receipt-head h1{font-size:22px}

  /* Footer compacto */
  footer{padding:28px 0;font-size:12px}.footer-grid{grid-template-columns:1fr;gap:20px}.footer-logo{width:130px}
}

@media (max-width: 520px){
  .container{width:calc(100% - 16px)}
  header nav{min-height:60px}
  header .brand-logo{width:92px;height:46px}
  header .tools .select{max-width:92px;font-size:12px}
  .store-banner-section .container{width:calc(100% - 10px)}
  .store-banner-carousel{border-radius:11px}
  .store-banner-arrow{width:28px;height:28px;font-size:21px}
  .category-grid,.category-grid-full{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
  .category-grid .category-tile,.category-grid-full .category-tile{min-height:84px;padding:9px 5px}
  .category-icon{width:38px;height:38px;font-size:18px}
  .category-tile strong{font-size:10.5px}
  .section{padding:28px 0}.section-title h2{font-size:21px}
  .product-grid{gap:22px 8px!important}
  .product-name{font-size:12px;min-height:37px}
  .available{font-size:9px}
  .product-price{font-size:16px}
  .product-card-actions .btn{font-size:10.5px!important;min-height:38px}
  .product-gift-art{padding:34px 9px 13px!important}
  .giftcard-mark{font-size:58px!important}.giftcard-brand strong{font-size:14px!important}.giftcard-variant{font-size:10px!important;min-height:44px!important}
  .favorite-btn{min-width:30px;height:30px;font-size:15px}
  .catalog-search-actions{width:100%;justify-content:space-between;align-items:center;flex-direction:row}
  .catalog-search-heading{display:grid}
  .checkout-card{padding:14px}.checkout-card h1{font-size:24px}
  .product-detail-info h1{font-size:25px!important}.detail-price{font-size:28px}
}

@media (max-width: 370px){
  .category-grid,.category-grid-full{grid-template-columns:repeat(2,minmax(0,1fr))}
  .product-grid{gap:20px 7px!important}
  .product-card-actions .btn{font-size:10px!important;padding-inline:4px!important}
  .product-name{font-size:11.5px}
}

/* Admin móvil/tablet: navegación horizontal y contenido legible */
@media (max-width: 900px){
  .admin-suite-body header,.stock-admin~header{position:sticky;top:0;z-index:80}
  .admin-suite-body header nav,body:has(.stock-admin) header nav{display:grid;grid-template-columns:1fr;gap:6px;min-height:0;padding:7px 0 9px}
  .admin-suite-body header .brand,body:has(.stock-admin) header .brand{width:max-content}
  .admin-suite-body header .brand-logo,body:has(.stock-admin) header .brand-logo{width:86px;height:44px}
  .admin-suite-body .admin-nav-tools,body:has(.stock-admin) .admin-nav-tools{display:flex;width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;gap:7px;padding:2px 0 5px;flex-wrap:nowrap!important;justify-content:flex-start!important;scrollbar-width:none}
  .admin-suite-body .admin-nav-tools::-webkit-scrollbar,body:has(.stock-admin) .admin-nav-tools::-webkit-scrollbar{display:none}
  .admin-suite-body .admin-nav-tools .btn,body:has(.stock-admin) .admin-nav-tools .btn{flex:0 0 auto;min-height:40px;padding:9px 11px!important;font-size:11px!important;scroll-snap-align:start}
  .admin.admin-suite,.admin.stock-admin{width:calc(100% - 14px)!important;margin:12px auto 30px!important;padding-top:6px!important}
  .admin-page-title{margin-bottom:14px}.admin-page-title h1,.admin-suite .admin-page-title h1,.stock-admin .stock-head h1{font-size:27px!important;line-height:1.08}.admin-page-title p,.admin-suite .admin-page-title p{font-size:12.5px!important}
  .admin-page-actions{width:100%}.admin-page-actions .btn{flex:1;min-width:max-content;min-height:42px}
  .dashboard-kpis,.finance-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .dashboard-kpi,.admin-suite .dashboard-kpi{padding:13px!important;min-height:94px!important;border-radius:13px}.dashboard-kpi small,.admin-suite .dashboard-kpi small{font-size:9px!important}.dashboard-kpi strong,.admin-suite .dashboard-kpi strong{font-size:22px!important}.dashboard-kpi span,.admin-suite .dashboard-kpi span{font-size:10px!important}
  .admin-list-card,.admin-editor-card,.admin-order-detail,.site-preview-card,.admin-suite .admin-list-card,.admin-suite .admin-editor-card,.admin-suite .admin-order-detail,.admin-suite .site-preview-card{padding:13px!important;border-radius:14px!important;margin-bottom:12px}
  .admin-form-grid,.admin-two-col{grid-template-columns:1fr!important;gap:10px}
  .admin-data-table{min-width:760px}.admin-data-table th{font-size:9px;padding:10px 8px}.admin-data-table td{font-size:11px;padding:10px 8px}
  .admin-table-wrap{border:1px solid #e6eaf2;border-radius:11px;background:#fff;overscroll-behavior-x:contain}
  .admin-order-filters{grid-template-columns:1fr!important;gap:7px}.admin-order-filters .input,.admin-order-filters .select{min-height:45px!important;font-size:14px!important}
  .order-detail-grid{grid-template-columns:1fr!important}
  .stock-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.stock-kpi{min-height:92px!important;padding:13px!important}.stock-kpi strong{font-size:24px!important}
  .finance-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.finance-preview-grid strong{font-size:16px}
  .finance-bar-chart{overflow-x:auto}.finance-bar-col{flex:0 0 24px}
  .banner-admin-grid{grid-template-columns:1fr!important}.banner-admin-card{padding:13px;border-radius:15px}.banner-preview{border-radius:11px}
  .physical-template-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px}.physical-template-card{padding:13px;min-height:220px}.physical-template-body h2{font-size:16px}
}

@media (max-width: 520px){
  .admin.admin-suite,.admin.stock-admin{width:calc(100% - 10px)!important}
  .dashboard-kpis,.finance-kpis,.stock-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .admin-page-title h1,.admin-suite .admin-page-title h1,.stock-admin .stock-head h1{font-size:24px!important}
  .admin-editor-card,.admin-list-card,.admin-order-detail,.admin-suite .admin-editor-card,.admin-suite .admin-list-card,.admin-suite .admin-order-detail{padding:11px!important}
  .admin-image-preview{height:210px!important}
  .physical-template-grid{grid-template-columns:1fr!important}
}

/* v57 · páginas legales, contacto y botón flotante de WhatsApp */
.footer-grid-v57{grid-template-columns:1.35fr 1fr 1fr}
.footer-links{display:grid;gap:9px;margin-top:14px}
.footer-links a{color:#cbd2e5;text-decoration:none;transition:.18s ease}
.footer-links a:hover{color:#fff;text-decoration:underline}
.footer-contact-links span{display:block}
.footer-legal-note{margin-top:10px;color:#858eaa;font-size:12px;line-height:1.5}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);margin-top:28px;padding-top:18px;color:#7f879f;font-size:12px}

.whatsapp-float{
  position:fixed;right:22px;bottom:22px;z-index:120;
  display:inline-flex;align-items:center;gap:9px;
  min-height:52px;padding:0 18px 0 12px;border-radius:999px;
  background:#25d366;color:#071c10;text-decoration:none;font-weight:900;
  box-shadow:0 12px 30px rgba(0,0,0,.22);border:2px solid rgba(255,255,255,.85);
  transition:transform .18s ease,box-shadow .18s ease;
}
.whatsapp-float:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(0,0,0,.28)}
.whatsapp-float-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#fff;color:#158a42;font-size:18px;font-weight:900}
.whatsapp-float-text{font-size:14px}

.legal-page{background:#f6f8fc;min-height:70vh;padding:42px 0 64px}
.legal-shell{width:min(980px,calc(100% - 32px));margin:0 auto}
.legal-breadcrumb{display:flex;gap:8px;align-items:center;font-size:12px;color:#71798e;margin-bottom:14px}
.legal-breadcrumb a{color:#44506d;text-decoration:none;font-weight:800}
.legal-hero{background:linear-gradient(120deg,#10172c,#23284a);color:#fff;border-radius:22px;padding:34px 36px;margin-bottom:18px;box-shadow:0 16px 42px rgba(20,26,49,.14)}
.legal-hero .legal-kicker{display:inline-flex;padding:6px 10px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.08);font-size:11px;font-weight:900;letter-spacing:.7px}
.legal-hero h1{margin:12px 0 8px;font-size:38px;line-height:1.08}
.legal-hero p{margin:0;max-width:760px;color:#d9deef;line-height:1.65}
.legal-card{background:#fff;border:1px solid #e3e7f0;border-radius:18px;padding:28px 30px;margin-top:14px;box-shadow:0 8px 24px rgba(28,33,54,.05)}
.legal-card h2{margin:0 0 12px;font-size:22px;color:#171d31}
.legal-card h3{margin:20px 0 8px;font-size:16px;color:#252d47}
.legal-card p,.legal-card li{color:#515a72;line-height:1.7;font-size:14px}
.legal-card ul{margin:10px 0 0;padding-left:21px;display:grid;gap:7px}
.legal-highlight{border-left:4px solid #252d47;background:#f7f8fc;border-radius:11px;padding:15px 16px;margin:16px 0;color:#3b4359;line-height:1.6;font-size:14px}
.legal-highlight.warning{border-left-color:#c38b00;background:#fffaf0}
.legal-highlight.success{border-left-color:#158a42;background:#f2fff6}
.legal-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.legal-updated{margin-top:18px;font-size:11px;color:#8a92a7}

.contact-grid-v57{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.contact-option-v57{border:1px solid #e2e7ef;border-radius:16px;padding:20px;background:#fff}
.contact-option-v57 .contact-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:#f2f4fb;font-size:20px;margin-bottom:12px}
.contact-option-v57 h2{font-size:18px;margin:0 0 6px}
.contact-option-v57 p{margin:0 0 14px;color:#606980;font-size:13px;line-height:1.6}
.contact-option-v57 .btn{width:100%;justify-content:center}

.checkout-policy-note{font-size:12px;color:#727b91;line-height:1.55;text-align:center;margin-top:10px}
.checkout-policy-note a{color:#2f3b61;font-weight:800;text-decoration:underline}

@media(max-width:760px){
  .footer-grid-v57{grid-template-columns:1fr!important}
  .whatsapp-float{right:14px;bottom:14px;min-height:50px;padding:0;width:50px;justify-content:center}
  .whatsapp-float-icon{width:38px;height:38px}
  .whatsapp-float-text{display:none}
  .legal-page{padding:20px 0 46px}
  .legal-shell{width:calc(100% - 18px)}
  .legal-hero{padding:25px 20px;border-radius:17px}
  .legal-hero h1{font-size:29px}
  .legal-card{padding:20px 17px;border-radius:15px}
  .legal-card h2{font-size:20px}
  .contact-grid-v57{grid-template-columns:1fr}
}

/* =========================
   CARDONA-FLIX V58 · CARRITO + RESEÑAS
   ========================= */
.cart-header-btn{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.cart-header-btn b{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#111827;color:#fff;font-size:12px}.cart-header-btn.has-items b{background:#16a34a}.product-card-actions{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important}.product-cart-btn{min-width:44px;padding-left:10px!important;padding-right:10px!important}.cart-toast{position:fixed;right:22px;bottom:94px;z-index:10000;background:#111827;color:#fff;padding:12px 16px;border-radius:12px;box-shadow:0 12px 35px rgba(0,0,0,.25);opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s ease;font-weight:700}.cart-toast.show{opacity:1;transform:translateY(0)}
.product-rating,.detail-rating{display:flex;align-items:center;gap:6px;color:#b45309;font-weight:800}.product-rating{font-size:13px;margin:3px 0}.product-rating small,.detail-rating small{color:var(--muted);font-weight:600}.detail-rating{font-size:17px;margin:4px 0 8px}.detail-rating span{font-size:20px}
.product-reviews-section{margin-top:30px}.reviews-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.review-card{background:#fff;border:1px solid var(--border);border-radius:18px;padding:18px;box-shadow:0 8px 24px rgba(15,23,42,.05)}.review-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.review-card-top strong{color:#f59e0b;letter-spacing:1px}.review-card-top strong span{color:#d1d5db}.review-card-top small{color:#15803d;font-weight:800}.review-card p{margin:12px 0;line-height:1.55}.review-author{font-size:13px;color:var(--muted);font-weight:700}
.cart-page{padding:30px 0 60px}.cart-page-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:20px}.cart-page-head h1{margin:8px 0 4px}.cart-page-head p{margin:0;color:var(--muted)}.cart-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(290px,.7fr);gap:20px;align-items:start}.cart-items-card,.cart-summary-card{background:#fff;border:1px solid var(--border);border-radius:20px;box-shadow:0 8px 28px rgba(15,23,42,.06)}.cart-items-card{padding:8px 20px}.cart-summary-card{padding:22px;position:sticky;top:20px}.cart-line{display:grid;grid-template-columns:72px minmax(0,1fr) auto auto 34px;gap:14px;align-items:center;padding:16px 0;border-bottom:1px solid var(--border)}.cart-line:last-child{border-bottom:0}.cart-line>img{width:72px;height:72px;border-radius:14px;object-fit:contain;background:#f8fafc}.cart-line-main{display:grid;gap:3px}.cart-line-main span,.cart-line-main small{color:var(--muted);font-size:13px}.cart-line-qty{display:grid;grid-template-columns:32px 46px 32px;align-items:center;border:1px solid var(--border);border-radius:10px;overflow:hidden}.cart-line-qty button,.cart-line-qty input{height:36px;border:0;background:#fff;text-align:center;font-weight:800}.cart-line-qty button{cursor:pointer;background:#f8fafc;font-size:18px}.cart-line-qty input{width:46px;outline:none}.cart-line-total{min-width:92px;text-align:right}.cart-line-remove{border:0;background:#fee2e2;color:#b91c1c;width:32px;height:32px;border-radius:9px;cursor:pointer;font-size:20px}.cart-empty{text-align:center;padding:54px 20px}.cart-empty>div{font-size:44px}.cart-summary-row,.cart-summary-total{display:flex;justify-content:space-between;gap:16px;padding:12px 0}.cart-summary-row{border-bottom:1px solid var(--border)}.cart-discount-row strong{color:#15803d}.cart-summary-total{font-size:20px;padding-top:18px}.cart-summary-card>small{color:var(--muted)}.cart-checkout-card{max-width:none!important;margin-top:24px!important}.cart-checkout-card form{margin-top:18px}.cart-payment-total{font-size:20px;font-weight:900}.cart-order-items{display:grid;gap:10px;margin:16px 0}.cart-order-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:#fff}.cart-order-item small{display:block;color:var(--muted);margin-top:3px}.cart-order-item .status{font-size:12px;font-weight:900;align-self:start}.cart-order-codes{grid-column:1/-1;background:#f8fafc;border-radius:10px;padding:10px}.cart-order-codes code{display:block;padding:5px 0;font-weight:800}.review-form-card{max-width:720px;margin:36px auto;background:#fff;border:1px solid var(--border);border-radius:20px;padding:24px;box-shadow:0 10px 30px rgba(15,23,42,.07)}.star-rating-input{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:5px}.star-rating-input input{position:absolute;opacity:0;pointer-events:none}.star-rating-input label{font-size:34px;color:#d1d5db;cursor:pointer}.star-rating-input input:checked~label,.star-rating-input label:hover,.star-rating-input label:hover~label{color:#f59e0b}.review-verified-box{display:flex;gap:10px;align-items:center;padding:12px;border-radius:12px;background:#ecfdf5;color:#166534;font-weight:700;margin:12px 0}.reviews-admin-grid{display:grid;gap:14px}.review-admin-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:16px}.review-admin-head{display:flex;justify-content:space-between;gap:12px}.review-admin-stars{color:#f59e0b;font-size:18px}.review-admin-meta{color:var(--muted);font-size:13px}.review-admin-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
@media(max-width:760px){.cart-header-text{display:none}.cart-header-btn{padding-left:10px!important;padding-right:10px!important}.product-card-actions{grid-template-columns:1fr auto!important}.product-card-actions .product-info-btn{grid-column:1/-1}.product-cart-btn{min-width:42px}.reviews-grid{grid-template-columns:1fr}.cart-page{padding-top:18px}.cart-page-head{align-items:flex-start;flex-direction:column}.cart-layout{grid-template-columns:1fr}.cart-summary-card{position:static}.cart-items-card{padding:4px 12px}.cart-line{grid-template-columns:56px minmax(0,1fr) 32px;gap:9px}.cart-line>img{width:56px;height:56px}.cart-line-qty{grid-column:1/3;justify-self:start}.cart-line-total{grid-column:3;text-align:right;min-width:0}.cart-line-remove{grid-column:3;grid-row:1;justify-self:end}.cart-line-main{padding-right:34px}.cart-toast{left:14px;right:14px;bottom:84px;text-align:center}.detail-actions .detail-cart-add{width:100%}.review-card-top{align-items:flex-start;flex-direction:column}}

/* V59 · selección de método de pago sin desplegable */
@media(max-width:820px){
  .payment-choice-help{align-items:flex-start;flex-direction:column}
  .payment-choice-help span{text-align:left}
  .payment-grid.has-selection,.cart-payment-grid.has-selection{grid-template-columns:1fr!important}
}
@media(max-width:560px){
  .payment-choice-controls{align-items:stretch;flex-direction:column}
  .payment-choice-controls .btn{width:100%}
  .cart-payment-grid{grid-template-columns:1fr!important}
}

/* =========================================================
   Cardona-Flix v60 · Monedas visuales + panel administrable
   ========================================================= */
.currency-picker{position:relative;min-width:112px;z-index:80}
.currency-picker-button{width:100%;min-height:44px;border:1.5px solid #7c3aed;border-radius:12px;background:#fff;color:#111827;display:flex;align-items:center;gap:8px;padding:8px 10px;font:inherit;font-weight:800;cursor:pointer;box-shadow:0 4px 14px rgba(67,56,202,.08);transition:.18s ease}
.currency-picker-button:hover,.currency-picker.is-open .currency-picker-button{border-color:#5b21b6;box-shadow:0 8px 24px rgba(91,33,182,.16)}
.currency-current-icon,.currency-option-icon,.currency-admin-icon{width:24px;height:24px;min-width:24px;display:inline-flex;align-items:center;justify-content:center;object-fit:contain;border-radius:50%;font-size:21px;line-height:1}
.currency-current-code{font-weight:900;letter-spacing:.01em;white-space:nowrap}
.currency-picker-chevron{margin-left:auto;font-size:16px;transition:transform .18s ease}.currency-picker.is-open .currency-picker-chevron{transform:rotate(180deg)}
.currency-picker-menu{position:absolute;right:0;top:calc(100% + 8px);width:min(320px,calc(100vw - 24px));max-height:380px;overflow:auto;background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:7px;box-shadow:0 20px 45px rgba(15,23,42,.22);z-index:200}
.currency-picker-option{width:100%;border:0;background:transparent;border-radius:11px;display:flex;align-items:center;gap:10px;text-align:left;padding:10px;cursor:pointer;color:#111827;font:inherit}
.currency-picker-option:hover,.currency-picker-option.is-selected{background:#f3f0ff}.currency-picker-option.is-selected{box-shadow:inset 0 0 0 1px #ddd6fe}
.currency-option-copy{display:flex;flex-direction:column;min-width:0;flex:1}.currency-option-copy strong{font-size:14px}.currency-option-copy small{font-size:11px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.currency-option-check{opacity:0;color:#6d28d9;font-weight:950;font-size:16px}.currency-picker-option.is-selected .currency-option-check{opacity:1}
.currency-flag{background:transparent;border-radius:0}

.currency-admin-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 18px}
.currency-admin-summary>div{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:3px;box-shadow:0 8px 22px rgba(15,23,42,.04)}
.currency-admin-summary small{color:#64748b;font-weight:800;font-size:11px;letter-spacing:.06em}.currency-admin-summary strong{font-size:24px;color:#1e1b4b}.currency-admin-summary span{font-size:12px;color:#64748b}
.currency-admin-notice{margin-bottom:18px}.currency-default-field{min-width:230px;margin:0}.currency-admin-search{display:flex;align-items:center;gap:12px;margin:16px 0}.currency-admin-search .input{max-width:430px}.currency-admin-search span{font-size:12px;color:#64748b}
.currency-admin-table-wrap{overflow:auto;border:1px solid #e5e7eb;border-radius:15px}.currency-admin-table{width:100%;border-collapse:collapse;min-width:1050px;background:#fff}.currency-admin-table th{background:#f8fafc;text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#475569;padding:10px;border-bottom:1px solid #e5e7eb}.currency-admin-table td{padding:10px;border-bottom:1px solid #eef2f7;vertical-align:top}.currency-admin-table tr:last-child td{border-bottom:0}.currency-admin-table tr[hidden]{display:none}
.currency-admin-name{display:flex;align-items:center;gap:9px;min-width:245px}.currency-admin-name>div{display:flex;flex-direction:column}.currency-admin-name strong{font-size:13px}.currency-admin-name span{font-size:11px;color:#64748b}.currency-admin-edit-mini{display:grid;grid-template-columns:1.3fr 1fr 62px;gap:5px;margin-top:7px}.currency-admin-edit-mini .input{padding:7px 8px;min-height:34px;font-size:11px}.currency-symbol-input{width:92px!important;min-width:92px}.currency-decimals-input{width:72px!important}.currency-rate-input{display:flex;align-items:center;border:1px solid #dbe2ea;border-radius:10px;overflow:hidden;background:#fff;min-width:150px}.currency-rate-input>span{padding:0 8px;color:#475569;font-weight:900}.currency-rate-input .input{border:0;border-radius:0;box-shadow:none;min-width:110px}.currency-protected{display:inline-flex;padding:5px 8px;border-radius:999px;background:#eef2ff;color:#4338ca;font-size:11px;font-weight:900}.currency-delete{font-size:11px;color:#b91c1c;white-space:nowrap}
.currency-switch{display:inline-flex;position:relative}.currency-switch input{position:absolute;opacity:0}.currency-switch span{width:42px;height:24px;border-radius:999px;background:#cbd5e1;display:block;position:relative;cursor:pointer;transition:.18s}.currency-switch span:after{content:"";width:18px;height:18px;border-radius:50%;background:#fff;position:absolute;left:3px;top:3px;box-shadow:0 1px 5px rgba(0,0,0,.2);transition:.18s}.currency-switch input:checked+span{background:#16a34a}.currency-switch input:checked+span:after{transform:translateX(18px)}
.currency-add-card{margin-top:18px}.currency-save-bar{position:sticky;bottom:12px;z-index:40;margin:18px auto 6px;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border:1px solid #e5e7eb;border-radius:14px;padding:10px;display:flex;justify-content:flex-end;gap:8px;box-shadow:0 14px 35px rgba(15,23,42,.13)}

@media(max-width:760px){
  .currency-picker{min-width:100px}.currency-picker-button{min-height:42px;padding:7px 9px}.currency-current-icon{width:22px;height:22px;min-width:22px}.currency-picker-menu{position:fixed;left:12px;right:12px;top:auto;bottom:14px;width:auto;max-height:60vh;border-radius:18px;z-index:500;box-shadow:0 24px 60px rgba(15,23,42,.32)}
  .currency-picker-option{padding:12px}.currency-option-copy strong{font-size:14px}.currency-option-copy small{font-size:12px}
  .currency-admin-summary{grid-template-columns:1fr}.currency-admin-search{align-items:stretch;flex-direction:column}.currency-admin-search .input{max-width:none}.currency-admin-table-wrap{border-radius:12px}.currency-save-bar{bottom:8px}.currency-default-field{min-width:0;width:100%}
}

/* Cardona-Flix v61 · SEO / compartir / avísame cuando haya stock */
.stock-alert-card-btn{white-space:nowrap}
.stock-alert-box{margin-top:18px;padding:18px;border:1px solid rgba(37,99,235,.18);border-radius:18px;background:linear-gradient(135deg,rgba(239,246,255,.94),rgba(245,243,255,.96));display:flex;gap:14px;align-items:flex-start}
.stock-alert-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.08);font-size:22px;flex:0 0 auto}
.stock-alert-content{min-width:0;flex:1}.stock-alert-content h3{margin:0 0 6px;color:#111827;font-size:18px}.stock-alert-content p{margin:0 0 12px;color:#475569;line-height:1.5}.stock-alert-content>small{display:block;margin-top:8px;color:#64748b}
.stock-alert-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.stock-alert-form .input{min-height:46px}.stock-alert-feedback{margin:0 0 12px}
.product-share-btn{white-space:nowrap}
@media(max-width:640px){.stock-alert-box{padding:14px;gap:10px}.stock-alert-icon{width:40px;height:40px}.stock-alert-form{grid-template-columns:1fr}.stock-alert-form .btn{width:100%}.detail-actions .product-share-btn{width:100%}}
.stock-waitlist-admin{margin:16px 0 20px;padding:16px;border:1px solid #dbeafe;border-radius:16px;background:#f8fbff}.stock-waitlist-admin .stock-head{margin-bottom:12px}.stock-waitlist-admin .stock-head h3{margin:0 0 4px}.stock-waitlist-admin .stock-head p{margin:0;color:#64748b}

/* =========================================================
   CARDONA-FLIX V62 · AYUDA, PEDIDOS, APP Y ESTADO
   ========================================================= */
.store-shortcuts{padding:0 0 28px;background:var(--page,#f5f7fb)}
.store-shortcut-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.store-shortcut-grid>a{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid #e1e6f0;border-radius:16px;background:#fff;color:#10204b;text-decoration:none;box-shadow:0 8px 24px rgba(16,32,75,.06);transition:.18s ease}
.store-shortcut-grid>a:hover{transform:translateY(-2px);border-color:#b9c8ff;box-shadow:0 12px 30px rgba(16,32,75,.1)}
.store-shortcut-grid>a>span{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:13px;background:#f1f4ff;font-size:21px}
.store-shortcut-grid strong,.store-shortcut-grid small{display:block}.store-shortcut-grid small{margin-top:3px;color:#6b7894;font-size:12px}

.help-page,.status-page,.app-page,.lookup-page{min-height:62vh;background:#f5f7fb;padding:34px 0 54px}
.help-hero{max-width:860px;margin:0 auto 22px;text-align:center}.help-hero h1,.status-summary h1,.app-install-card h1,.lookup-card h1{color:#10204b;margin:10px 0}.help-hero p,.app-install-card>p,.lookup-card>p{color:#65718b;line-height:1.65}
.help-search-wrap{display:flex;align-items:center;gap:10px;max-width:620px;margin:22px auto 0;padding:0 14px;background:#fff;border:1px solid #dfe5ef;border-radius:15px;box-shadow:0 10px 30px rgba(16,32,75,.07)}.help-search-wrap>span{font-size:24px;color:#536078}.help-search-wrap .input{border:0!important;box-shadow:none!important;padding-left:0}
.faq-list{max-width:860px;margin:0 auto;display:grid;gap:10px}.faq-item{background:#fff;border:1px solid #e0e6ef;border-radius:16px;overflow:hidden;box-shadow:0 7px 22px rgba(16,32,75,.05)}.faq-item summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;padding:18px 20px;font-weight:800;color:#10204b}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary span{font-size:20px;color:#4665c8;transition:.18s}.faq-item[open] summary span{transform:rotate(45deg)}.faq-answer{padding:0 20px 20px;color:#586680;line-height:1.7}.faq-empty{max-width:860px;margin:20px auto;padding:22px;text-align:center;background:#fff;border-radius:16px;color:#64718b}.help-contact-card{max-width:860px;margin:22px auto 0;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:20px;background:#fff;border:1px solid #e0e6ef;border-radius:18px}.help-contact-card strong,.help-contact-card span{display:block}.help-contact-card span{margin-top:5px;color:#65718b;font-size:13px}

.lookup-card{max-width:580px;margin:10px auto;background:#fff;border:1px solid #dfe5ef;border-radius:22px;padding:28px;box-shadow:0 18px 55px rgba(16,32,75,.1)}.lookup-form{display:grid;gap:14px;margin-top:22px}.lookup-form .btn{width:100%;min-height:48px}.lookup-security{margin-top:18px;padding:14px;border-radius:14px;background:#f4f7ff;color:#5c6984;font-size:12px;line-height:1.6}

.status-summary{max-width:900px;margin:0 auto 18px;display:flex;align-items:center;gap:20px;padding:24px;background:#fff;border:1px solid #e0e6ef;border-radius:20px;box-shadow:0 14px 40px rgba(16,32,75,.07)}.status-summary-icon{font-size:44px}.status-summary small{font-weight:900;letter-spacing:.08em;color:#73809b}.status-summary p{margin:4px 0 0;color:#65718b}.service-status-list{max-width:900px;margin:0 auto;display:grid;gap:10px}.service-status-row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 20px;background:#fff;border:1px solid #e0e6ef;border-left-width:5px;border-radius:16px}.service-status-row.status-operational{border-left-color:#22a06b}.service-status-row.status-degraded{border-left-color:#e7a600}.service-status-row.status-maintenance{border-left-color:#3377e8}.service-status-row.status-outage{border-left-color:#d94b4b}.service-status-name{display:flex;align-items:center;gap:13px}.service-status-name>span{font-size:22px}.service-status-name strong,.service-status-name small,.service-status-meta b,.service-status-meta small{display:block}.service-status-name small{margin-top:4px;color:#69768e}.service-status-meta{text-align:right}.service-status-meta small{margin-top:4px;color:#8893a8;font-size:11px}.status-note{max-width:900px;margin:16px auto 0;padding:14px 16px;border-radius:14px;background:#eef3ff;color:#5c6984;font-size:13px}

.app-install-card{max-width:650px;margin:10px auto;text-align:center;background:#fff;border:1px solid #dfe5ef;border-radius:24px;padding:32px;box-shadow:0 18px 55px rgba(16,32,75,.1)}.app-install-card>img{width:92px;height:92px;border-radius:22px;object-fit:cover;margin-bottom:12px}.app-main-install{margin-top:10px;min-height:50px}.app-install-help{display:grid;gap:10px;margin-top:24px;text-align:left}.app-install-help>div{padding:15px;border-radius:14px;background:#f7f9fd}.app-install-help strong,.app-install-help span{display:block}.app-install-help span{margin-top:5px;color:#65718b;font-size:13px;line-height:1.55}.app-offline-note{margin-top:16px;padding:14px;border-radius:14px;background:#fff8e9;color:#725a23;font-size:12px;line-height:1.55;text-align:left}

.admin-repeat-list{display:grid;gap:12px;margin:14px 0 18px}.admin-repeat-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:12px;padding:16px;border:1px solid #e0e6ef;border-radius:16px;background:#fbfcff}.admin-repeat-row .full{grid-column:1/-1}.admin-repeat-meta{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:18px;font-size:13px;color:#5f6c85}.admin-repeat-meta label{display:flex;align-items:center;gap:8px}.input-mini{width:86px!important;padding:8px 10px!important}.service-admin-row{grid-template-columns:minmax(0,1.3fr) minmax(180px,.7fr)}
.receipt-actions-v62{display:flex;flex-wrap:wrap;gap:10px}

@media(max-width:900px){.store-shortcut-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-repeat-row,.service-admin-row{grid-template-columns:1fr}.service-status-row{align-items:flex-start}.service-status-meta{min-width:120px}}
@media(max-width:560px){.help-page,.status-page,.app-page,.lookup-page{padding:22px 0 38px}.store-shortcut-grid{grid-template-columns:1fr 1fr;gap:8px}.store-shortcut-grid>a{padding:12px;gap:9px}.store-shortcut-grid>a>span{width:36px;height:36px;flex-basis:36px;font-size:18px}.store-shortcut-grid strong{font-size:12px}.store-shortcut-grid small{font-size:10px}.help-hero{padding:0 10px}.help-contact-card{align-items:stretch;flex-direction:column}.help-contact-card .btn{width:100%}.lookup-card,.app-install-card{margin:0 12px;padding:22px 18px}.status-summary{margin:0 12px 14px;padding:18px}.service-status-list{margin:0 12px}.service-status-row{flex-direction:column}.service-status-meta{text-align:left}.admin-repeat-meta{justify-content:space-between}.receipt-actions-v62>.btn{width:100%}}


/* Cardona-Flix v64 · Analítica, exportación, seguridad y páginas de sistema */
.analytics-kpis{grid-template-columns:repeat(6,minmax(0,1fr))}
.funnel-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.funnel-grid>div{padding:16px;border:1px solid var(--border);border-radius:16px;background:var(--card);display:grid;gap:5px;text-align:center}.funnel-grid span{font-size:.75rem;color:var(--muted)}.funnel-grid strong{font-size:1.45rem}.funnel-grid small{color:var(--muted)}
.export-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.export-card{display:grid;gap:8px;padding:20px;border:1px solid var(--border);border-radius:18px;background:var(--card);text-decoration:none;color:inherit}.export-card>span{font-size:2rem}.export-card strong{font-size:1.05rem}.export-card small{color:var(--muted)}
.sandbox-order{display:grid;gap:10px}.admin-inline-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.cart-recovery-note{padding:12px 14px;border-radius:14px;background:rgba(37,99,235,.08);border:1px solid rgba(37,99,235,.16);font-size:.92rem}
.error-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top,#18203a 0,#0b1020 52%,#080b14 100%);color:#fff}.error-shell{width:min(620px,100%);padding:34px;border:1px solid rgba(255,255,255,.14);border-radius:26px;background:rgba(14,20,38,.9);box-shadow:0 30px 80px rgba(0,0,0,.35);text-align:center}.error-shell>img{max-width:190px;max-height:72px;object-fit:contain}.error-code{font-size:clamp(4rem,15vw,8rem);font-weight:900;line-height:1;margin:18px 0 4px}.maintenance-icon{font-size:4rem;margin:18px 0 4px}.error-shell p,.error-shell small{color:#cbd5e1}.error-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:22px}
@media(max-width:1000px){.analytics-kpis,.funnel-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.export-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.analytics-kpis,.funnel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.export-grid{grid-template-columns:1fr}.error-shell{padding:24px 18px}}

@supports (content-visibility:auto){.catalog-section{content-visibility:auto;contain-intrinsic-size:700px}}

/* =========================================================
   V65 · GESTOR DE CUENTAS CARDONA-FLIX
   ========================================================= */
.manager-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}.manager-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:18px}.manager-kpis>div{background:#fff;border:1px solid #e4e8f0;border-radius:16px;padding:16px;display:grid;gap:5px;box-shadow:0 8px 24px rgba(15,23,42,.05)}.manager-kpis small{font-size:11px;font-weight:800;color:#64748b}.manager-kpis strong{font-size:28px;color:#111827}.manager-kpis span{font-size:12px;color:#64748b}.manager-critical-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.manager-critical{border:1px solid #fecaca;background:#fff7f7;border-radius:12px;padding:12px;display:grid;gap:4px}.manager-critical strong{color:#991b1b}.manager-critical span{font-size:12px;color:#7f1d1d}.manager-check{display:flex;align-items:center;gap:8px;font-weight:700;color:#334155;padding:10px 0}.manager-check input{width:18px;height:18px}.manager-slots-editor,.manager-combo-components{margin:16px 0;padding:14px;border:1px solid #e5e7eb;border-radius:14px;background:#f8fafc}.manager-slot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.manager-slot-edit{display:grid;grid-template-columns:42px 1fr 1fr;gap:8px;align-items:center}.manager-slot-edit>span{font-weight:800;text-align:center;color:#6366f1}.manager-component-row{display:grid;grid-template-columns:2fr 1fr 100px;gap:8px;margin-bottom:8px}.manager-renew-days{width:72px!important;padding:7px 8px!important}.managed-delivery-box{margin-top:18px;padding:16px;border:1px solid #bbf7d0;background:#f0fdf4;border-radius:16px}.managed-delivery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.managed-delivery-card{background:#fff;border:1px solid #d1fae5;border-radius:12px;padding:13px;display:grid;gap:5px}.managed-delivery-card small{color:#64748b}.managed-delivery-card code{display:block;white-space:normal;word-break:break-all;font-size:13px}.managed-stock-badge{font-size:12px;font-weight:800;color:#166534}.manager-account-status{display:inline-flex;align-items:center;gap:5px}
@media(max-width:980px){.manager-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.manager-critical-grid{grid-template-columns:1fr 1fr}.manager-slot-grid{grid-template-columns:1fr}}
@media(max-width:640px){.manager-kpis,.manager-critical-grid{grid-template-columns:1fr}.manager-component-row{grid-template-columns:1fr}.manager-slot-edit{grid-template-columns:35px 1fr 1fr}.managed-delivery-grid{grid-template-columns:1fr}.manager-tabs .btn{flex:1 1 45%;justify-content:center}}
/* V65.1 · Ajustes del gestor */
.manager-reminder-inline{display:flex;gap:8px;align-items:center;min-width:230px}.manager-reminder-inline .input{min-width:105px;max-width:130px}.manager-auto-note{padding:10px 12px;border:1px solid rgba(34,197,94,.25);border-radius:12px;background:rgba(34,197,94,.08);font-weight:800}.manager-admin-page .admin-data-table td form.manager-reminder-inline{margin:0}
@media(max-width:700px){.manager-reminder-inline{min-width:190px;flex-wrap:wrap}.manager-reminder-inline .input{max-width:110px}}
.manager-platform-toggle{margin-top:6px}


/* =========================================================
   Cardona-Flix v65.4 · Menú administrativo móvil completo
   ========================================================= */
.admin-mobile-menu-toggle,.admin-mobile-menu-overlay{display:none}
@media(max-width:900px){
  /* El menú público ocultaba .btn-secondary en <=560px. En admin usamos un menú propio. */
  body:has(main.admin) header nav,
  .admin-suite-body header nav{
    display:flex!important;
    grid-template-columns:none!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
    min-height:62px!important;
    padding:7px 0!important;
  }
  body:has(main.admin) header .admin-nav-tools,
  .admin-suite-body header .admin-nav-tools{display:none!important}
  .admin-mobile-menu-toggle{
    display:inline-flex;align-items:center;justify-content:center;gap:7px;
    margin-left:auto;border:1px solid #dfe4ef;background:#fff;color:#222844;
    min-height:42px;padding:9px 13px;border-radius:11px;font:inherit;font-size:12px;
    box-shadow:0 4px 12px rgba(15,23,42,.07);cursor:pointer
  }
  .admin-mobile-menu-toggle span{font-size:19px;line-height:1}
  .admin-mobile-menu-toggle strong{font-size:12px}
  .admin-mobile-menu-overlay{display:block;position:fixed;inset:0;z-index:9999;visibility:hidden;pointer-events:none}
  .admin-mobile-menu-overlay.is-open{visibility:visible;pointer-events:auto}
  .admin-mobile-menu-backdrop{position:absolute;inset:0;background:rgba(10,15,28,.52);opacity:0;transition:opacity .2s ease}
  .admin-mobile-menu-overlay.is-open .admin-mobile-menu-backdrop{opacity:1}
  .admin-mobile-menu-drawer{
    position:absolute;top:0;right:0;height:100%;width:min(86vw,360px);background:#fff;
    transform:translateX(102%);transition:transform .22s ease;box-shadow:-18px 0 45px rgba(15,23,42,.20);
    display:flex;flex-direction:column
  }
  .admin-mobile-menu-overlay.is-open .admin-mobile-menu-drawer{transform:translateX(0)}
  .admin-mobile-menu-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 16px 14px;border-bottom:1px solid #e8ebf2}
  .admin-mobile-menu-head>div{display:grid}.admin-mobile-menu-head strong{font-size:17px}.admin-mobile-menu-head small{font-size:11px;color:#7a8295}
  .admin-mobile-menu-close{width:40px;height:40px;border:1px solid #e2e6ef;border-radius:11px;background:#f8fafc;font-size:17px;cursor:pointer}
  .admin-mobile-menu-links{display:grid!important;overflow-y:auto!important;overscroll-behavior:contain;padding:10px 12px 22px!important;gap:4px!important;min-height:0!important}
  .admin-mobile-menu-links a{display:flex!important;align-items:center;gap:11px;text-decoration:none;color:#252b3d;background:#fff;border:1px solid transparent;border-radius:11px;padding:12px 11px;font-size:13px;font-weight:800}
  .admin-mobile-menu-links a:hover,.admin-mobile-menu-links a:focus{background:#f7f5ff;border-color:#e6e0ff;outline:none}
  .admin-mobile-menu-links a.is-current{background:linear-gradient(135deg,#eef4ff,#f3efff);border-color:#cfd8ff;color:#30227d}
  .admin-mobile-menu-links a span{min-width:0}
  html.admin-menu-open,html.admin-menu-open body{overflow:hidden!important}
}

/* V66 · marca por tienda */
.tenant-brand-logo{max-width:180px;max-height:58px;object-fit:contain}.tenant-brand-mark{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;font-weight:1000}.tenant-brand-name{font-size:17px;letter-spacing:-.3px}.tenant-hero-brand{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:#fff;text-align:center}.tenant-hero-brand span{width:86px;height:86px;border-radius:28px;display:grid;place-items:center;background:rgba(255,255,255,.96);color:#4f46e5;font-weight:1000;font-size:28px;box-shadow:0 20px 45px rgba(0,0,0,.16)}.tenant-hero-brand strong{font-size:28px}.tenant-footer-brand{display:inline-flex;padding:10px 14px;border-radius:12px;background:#fff;color:#111827;font-weight:1000;font-size:18px;margin-bottom:12px}

/* =========================================================
   V71 · Tienda privada para Revendedores
   ========================================================= */
.reseller-private-bar{position:sticky;top:0;z-index:80;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:10px 18px;background:linear-gradient(90deg,#111827,#263a86 52%,#5b35d5);color:#fff;border-bottom:1px solid rgba(255,255,255,.14);box-shadow:0 10px 28px rgba(15,23,42,.18)}
.reseller-private-bar>span:first-child{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:rgba(255,255,255,.15);font-size:17px}.reseller-private-bar strong{font-size:13px}.reseller-private-bar small{color:#dbe4ff;font-size:11px}.reseller-private-bar a{color:#fff;font-weight:900;font-size:11px;text-decoration:none;padding:7px 10px;border-radius:10px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16)}
.reseller-header-chip{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border-radius:999px;background:#eef2ff;color:#3848a8;border:1px solid #d9e0ff;font-size:11px;font-weight:900;white-space:nowrap}
.reseller-price-badge,.detail-reseller-badge{display:inline-flex;align-items:center;gap:6px;width:max-content;padding:6px 9px;border-radius:999px;background:linear-gradient(135deg,#ede9fe,#e8f0ff);color:#4c3bb6;border:1px solid #dcd5ff;font-size:9px;font-weight:1000;letter-spacing:.08em;text-transform:uppercase}
.reseller-private-card{border-color:#d8d6ff!important;box-shadow:0 13px 34px rgba(79,70,229,.10)!important;background:linear-gradient(180deg,#fff 0%,#fcfbff 100%)!important}.reseller-private-card:hover{border-color:#bfb8ff!important;box-shadow:0 18px 40px rgba(79,70,229,.15)!important}
.reseller-private-card .price,.reseller-private-card .product-price,.reseller-private-card .catalog-price{color:#35288f!important}
.detail-reseller-badge{margin-bottom:9px;padding:8px 11px;font-size:10px}
.reseller-checkout-note{display:flex;gap:11px;align-items:flex-start;margin:14px 0 18px;padding:14px 15px;border-radius:16px;background:linear-gradient(135deg,#f0f3ff,#f8f5ff);border:1px solid #dce1ff;color:#323b67}.reseller-checkout-note>span{font-size:21px}.reseller-checkout-note strong{display:block;color:#272c67;margin-bottom:3px}.reseller-checkout-note p{margin:0;color:#69708c;font-size:12px;line-height:1.5}
body:has(.reseller-private-bar) .cart-floating-button,body:has(.reseller-private-bar) [data-cart-button]{display:none!important}
@media(max-width:720px){.reseller-private-bar{justify-content:flex-start;padding:9px 12px}.reseller-private-bar small{flex:1 1 100%;padding-left:46px;margin-top:-7px}.reseller-header-chip{font-size:10px;padding:7px 9px}.reseller-checkout-note{padding:12px}.reseller-price-badge{font-size:8px}}
/* V71.1 · ajuste de estructura del aviso privado */
.reseller-private-bar>.container{width:min(1180px,calc(100% - 28px));margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:14px}.reseller-private-bar>.container>div{display:flex;align-items:center;gap:10px;min-width:0}.reseller-private-bar>.container>div>span{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:11px;background:rgba(255,255,255,.15);font-size:17px}.reseller-private-bar p{margin:0;display:grid;gap:1px}.reseller-private-bar p strong{font-size:13px}.reseller-private-bar p small{color:#dbe4ff;font-size:11px}.reseller-private-bar>.container>a{color:#fff;font-weight:900;font-size:11px;text-decoration:none;padding:7px 10px;border-radius:10px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);white-space:nowrap}
@media(max-width:620px){.reseller-private-bar>.container{width:100%;padding:0 12px;align-items:flex-start}.reseller-private-bar>.container>a{font-size:0}.reseller-private-bar>.container>a:after{content:'Salir';font-size:10px}.reseller-private-bar p small{font-size:10px}}

/* V75 · restauración de copias */
.backup-restore-modal{position:fixed;inset:0;z-index:1200;background:rgba(7,14,31,.68);display:grid;place-items:center;padding:18px}.backup-restore-modal[hidden]{display:none}.backup-restore-card{width:min(520px,100%);background:#fff;border:1px solid #e3e8f2;border-radius:20px;padding:22px;box-shadow:0 28px 90px rgba(0,0,0,.28);position:relative}.backup-restore-card h2{margin:0 0 7px}.backup-restore-card p{color:#667085}.backup-restore-card .field{margin:12px 0}.backup-restore-close{position:absolute;right:12px;top:8px;border:0;background:transparent;font-size:28px;color:#667085;cursor:pointer}

/* v88 · Portada compacta y exploración de categorías bajo demanda */
.antivirus-callout{padding:22px 0;background:linear-gradient(180deg,#f7f9ff,#fff)}.antivirus-callout-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:24px 26px;border-radius:24px;background:radial-gradient(circle at 82% 10%,rgba(86,255,187,.24),transparent 30%),linear-gradient(125deg,#071a34,#103f78 58%,#156f72);color:#fff;box-shadow:0 18px 42px rgba(12,43,86,.2);overflow:hidden}.antivirus-shield{width:72px;height:72px;display:grid;place-items:center;border-radius:22px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.22);font-size:38px}.antivirus-callout-card span{font-size:10px;font-weight:900;letter-spacing:.14em;color:#7fffc7}.antivirus-callout-card h2{font-size:28px;margin:4px 0 5px}.antivirus-callout-card p{margin:0;color:rgba(255,255,255,.78);font-size:13px}.antivirus-callout-btn{background:#fff;color:#0d3763;border:0;white-space:nowrap;padding:13px 16px}.antivirus-callout-btn b{font-size:18px}.category-view-all{border:1px solid #dbe3ef;background:#fff;color:#2856c7;border-radius:11px;padding:9px 13px;font-weight:850;cursor:pointer}.category-tile{transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.category-tile:hover,.category-tile.is-active{transform:translateY(-3px);border-color:#6b66f3!important;box-shadow:0 12px 28px rgba(55,66,170,.14)!important}.category-tile.is-active{background:linear-gradient(145deg,#f1f6ff,#f5efff)}.category-results-toolbar{position:sticky;top:64px;z-index:4;padding:10px 0;background:rgba(247,249,253,.94);backdrop-filter:blur(12px);border-top:1px solid #e8edf5;border-bottom:1px solid #e1e7f1}.category-results-toolbar .container{display:flex;align-items:center;justify-content:space-between;gap:14px}.category-results-toolbar div div{display:grid}.category-results-toolbar span{font-size:9px;letter-spacing:.1em;font-weight:900;color:#79869a;text-transform:uppercase}.category-results-toolbar strong{font-size:17px;color:#19233a}.category-results-toolbar button{border:1px solid #dbe2ed;background:#fff;color:#4c5b72;border-radius:10px;padding:9px 12px;font-weight:800;cursor:pointer}.category-result-section[hidden]{display:none!important}
@media(max-width:720px){.antivirus-callout-card{grid-template-columns:58px 1fr;padding:19px 17px;gap:13px}.antivirus-shield{width:58px;height:58px;border-radius:17px;font-size:30px}.antivirus-callout-card h2{font-size:22px}.antivirus-callout-card p{font-size:11px}.antivirus-callout-btn{grid-column:1/-1;width:100%}.category-results-toolbar{top:58px}.category-results-toolbar strong{font-size:14px}.category-results-toolbar button{font-size:11px}}
/* v89.12 · multimoneda */
.currency-picker-search{display:flex;gap:7px;padding:9px;position:sticky;top:0;background:inherit;z-index:2;border-bottom:1px solid rgba(148,163,184,.18)}
.currency-picker-search input{width:100%;min-width:0;border:1px solid rgba(148,163,184,.28);border-radius:10px;padding:9px 11px;background:var(--surface,#fff);color:inherit;outline:none}
.currency-picker-search input:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.12)}
.currency-picker-search button{border:0;border-radius:9px;min-width:36px;background:rgba(148,163,184,.14);color:inherit;font-weight:900;cursor:pointer}
.currency-picker-empty{padding:14px;text-align:center;font-size:13px;opacity:.72}
.currency-price-unavailable{font-size:.9em!important;opacity:.72}
a.currency-buy-disabled{opacity:.55;cursor:not-allowed;filter:saturate(.5)}

/* v89.15 · Aviso inteligente de país y moneda */
.currency-country-notice{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:1200;width:min(620px,calc(100vw - 24px));display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:13px 14px;background:#fff;color:#111827;border:1px solid rgba(99,102,241,.22);border-radius:18px;box-shadow:0 22px 55px rgba(15,23,42,.24);animation:currencyCountryIn .22s ease-out both}
.currency-country-notice.is-closing{opacity:0;transform:translate(-50%,10px);transition:.18s ease}
.currency-country-notice-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:#f5f3ff;font-size:25px}
.currency-country-notice-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.currency-country-notice-copy strong{font-size:14px}.currency-country-notice-copy span{font-size:12.5px;color:#64748b;line-height:1.35}.currency-country-notice-copy b{color:#4338ca}
.currency-country-notice-actions{display:flex;align-items:center;gap:7px}.currency-country-notice-actions button{border:0;border-radius:10px;padding:9px 12px;font:inherit;font-size:12.5px;font-weight:850;cursor:pointer;white-space:nowrap}.currency-country-ok{background:#4f46e5;color:#fff}.currency-country-change{background:#eef2ff;color:#3730a3}
@keyframes currencyCountryIn{from{opacity:0;transform:translate(-50%,14px)}to{opacity:1;transform:translate(-50%,0)}}
@media(max-width:640px){.currency-country-notice{grid-template-columns:auto 1fr;bottom:12px;padding:12px;border-radius:16px}.currency-country-notice-icon{width:42px;height:42px}.currency-country-notice-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.currency-country-notice-actions button{width:100%;padding:10px 8px}.currency-country-notice-copy strong{font-size:13.5px}.currency-country-notice-copy span{font-size:12px}}

/* v89.21 · Selector Perfil / Cuenta completa */
.cf-sale-variants{display:grid;gap:8px;margin:11px 0}.cf-sale-variant{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:9px;padding:10px 11px;border:1px solid #dfe6f2;border-radius:13px;background:#fff}.cf-sale-variant.is-available{border-color:#cfd8ff;background:linear-gradient(135deg,#fff,#f8f9ff)}.cf-sale-variant.is-soldout{opacity:.65;background:#f6f7f9}.cf-variant-icon{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#eef2ff}.cf-variant-copy strong,.cf-variant-copy small{display:block}.cf-variant-copy strong{font-size:12px;color:#17233a}.cf-variant-copy small{font-size:9px;color:#738196;margin-top:2px}.cf-variant-price{font-size:13px;color:#26325b;white-space:nowrap}.cf-sale-variants-detail{margin:14px 0}.cf-sale-variants-detail .cf-sale-variant{padding:13px 14px}.cf-sale-variants-detail .cf-variant-price{font-size:18px}.cf-variant-buy-buttons{display:flex;gap:7px;flex-wrap:wrap}.product-card-actions .cf-variant-buy-buttons{width:100%;display:grid;grid-template-columns:1fr 1fr}.cf-variant-buy{font-size:10px!important;padding:10px 8px!important;text-align:center}.cf-variant-buy.disabled{opacity:.55;cursor:not-allowed}.detail-actions .cf-variant-buy-buttons{width:100%;display:grid;grid-template-columns:1fr 1fr}.detail-actions .cf-variant-buy{font-size:12px!important}.checkout-sale-mode-note{display:flex;gap:12px;align-items:flex-start;margin:0 0 16px;padding:14px 15px;border:1px solid #d8e2ff;border-radius:16px;background:linear-gradient(135deg,#f7faff,#faf8ff)}.checkout-sale-mode-note>span{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#e9efff;font-size:19px}.checkout-sale-mode-note small,.checkout-sale-mode-note strong,.checkout-sale-mode-note p{display:block}.checkout-sale-mode-note small{font-size:8px;letter-spacing:.1em;color:#6674c9;font-weight:900}.checkout-sale-mode-note strong{font-size:14px;color:#17233a;margin:2px 0}.checkout-sale-mode-note p{font-size:10px;color:#68778d;margin:0;line-height:1.45}@media(max-width:640px){.product-card-actions .cf-variant-buy-buttons,.detail-actions .cf-variant-buy-buttons{grid-template-columns:1fr}.cf-sale-variant{grid-template-columns:32px 1fr}.cf-variant-price{grid-column:2;font-size:12px}.cf-sale-variants-detail .cf-variant-price{font-size:16px}}

/* --- Pulido UX 2026-09 (responsive + accesibilidad) --- */
.form-grid{min-width:0}
.form-grid .field{min-width:0}
.form-grid .field select,.form-grid .field .input,.form-grid .field input,.form-grid .field textarea{min-width:0;max-width:100%;box-sizing:border-box}
.file::file-selector-button{background:#fff;border:1px solid #dfe3ed;border-radius:8px;padding:8px 12px;font-weight:800;color:#343a50;margin-right:10px;cursor:pointer}
.file::-webkit-file-upload-button{background:#fff;border:1px solid #dfe3ed;border-radius:8px;padding:8px 12px;font-weight:800;color:#343a50;margin-right:10px;cursor:pointer}

/* --- Menú hamburguesa móvil (Pulido UX 2026-09) --- */
.nav-toggle{display:none;align-items:center;justify-content:center;background:#fff;border:1px solid #e3e6ef;border-radius:10px;color:#20263a;cursor:pointer}
@media(max-width:1000px){
  header nav{flex-wrap:wrap;position:relative}
  .nav-toggle{display:inline-flex;padding:9px 13px;font-size:18px;line-height:1;order:4}
  .menu.nav-open{display:flex;flex-direction:column;gap:2px;width:100%;order:5;margin-top:10px;padding-top:10px;border-top:1px solid #eceef4}
  .menu.nav-open a{padding:11px 8px;border-radius:9px;font-weight:800}
  .menu.nav-open a:hover,.menu.nav-open a:active{background:#f3f4f8}
}

/* --- Accesibilidad foco + espacio FAB (Pulido UX 2026-09) --- */
a:focus-visible,button:focus-visible,.btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(131,84,255,.55);outline-offset:2px;border-radius:8px}
.cart-page{padding-bottom:96px}
@media(min-width:1001px){.cart-page{padding-bottom:40px}}

/* --- Contraste estado/subprice + touch targets (Pulido UX 2026-09) --- */
.status-summary small{color:var(--muted)}
.service-status-meta small{color:#5c6479}
.product-subprice{color:#5f6678}
@media(max-width:760px){
  .catalog-search-actions .btn,.product-card-actions .btn{min-height:40px}
}

/* --- Elevación cabecera (Pulido UX 2026-09) --- */
header{position:sticky;top:0;z-index:80;transition:box-shadow .22s ease}
body.cf-scrolled header{box-shadow:0 6px 24px rgba(16,24,40,.09)}

/* --- Ajuste barra de categoría bajo cabecera sticky (toolbar top desktop) --- */
@media(min-width:1024px){.category-results-toolbar{top:83px}}

/* Cardo Pagos UX v90: carrito visible en móvil (override del display:none de .tools .btn-secondary) */
@media(max-width:560px){.tools .cart-header-btn{display:inline-flex!important}}
