/* =============================================
   CASARIZ FRAGRANCE — style.css
   Paleta: Negro profundo, Blanco, Dorado
   Tipografía: Cormorant Garamond + Montserrat
   ============================================= */

:root {
  --black:       #0a0a0a;
  --black-soft:  #111111;
  --black-card:  #161616;
  --black-border:#252525;
  --gold:        #C9A84C;
  --gold-light:  #e0c070;
  --gold-dark:   #9a7a30;
  --white:       #F5F0E8;
  --white-dim:   #c8c0b0;
  --grey:        #5a5a5a;
  --grey-light:  #888888;
  --green:       #4caf82;
  --red:         #c04c4c;
  --radius-sm:   6px;
  --radius-md:   12px;
  --radius-lg:   20px;
  --shadow-card: 0 4px 30px rgba(0,0,0,0.6);
  --shadow-glow: 0 0 40px rgba(201,168,76,0.15);
  --transition:  0.3s cubic-bezier(0.4,0,0.2,1);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; }

body {
  background: var(--black);
  color: var(--white);
  font-family: 'Montserrat', sans-serif;
  font-size: 14px;
  line-height: 1.6;
  overflow-x: hidden;
}

/* ─── UTILITY ─── */
.hidden { display: none !important; }
.gold   { color: var(--gold); }
.green  { color: var(--green); }

/* ─── SCROLLBAR ─── */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: var(--black-soft); }
::-webkit-scrollbar-thumb { background: var(--gold-dark); border-radius: 3px; }

/* ===================== HEADER ===================== */
.site-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999;
  background: rgba(10,10,10,0.96);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--black-border);
}
.header-inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 2rem;
  height: 70px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* Logo */
.logo-link {
  display: flex;
  align-items: center;
  gap: 14px;
  text-decoration: none;
  min-width: 0;
}

.logo-mark {
  width: 72px;
  height: 72px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  overflow: hidden;
}

.logo-img {
  max-width: 100%;
  max-height: 52px;
  width: auto;
  height: auto;
  display: block;
  object-fit: contain;
  transition: var(--transition);
}

.logo-link:hover .logo-img {
  filter: drop-shadow(0 0 8px var(--gold));
  transform: scale(1.04);
}

/* =========================================
   TEXTO LOGO
========================================= */

.logo-text{
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;

    min-width:0;

    /* ESTA ES LA CLAVE */
    height:58px;

    /* centra verticalmente respecto al logo */
    padding-top:4px;
}

/* CASARIZ */
.logo-main{
    font-family:'Cormorant Garamond', serif;
    font-size:2.7rem;
    font-weight:700;
    color:var(--gold);

    letter-spacing:6px;
    line-height:.9;

    white-space:nowrap;
    margin:0;
}

/* FRAGRANCE */
.logo-sub{
    font-size:.92rem;
    letter-spacing:5px;
    color:var(--white-dim);
    font-weight:300;

    line-height:1;

    white-space:nowrap;

    margin-top:4px;
    margin-left:4px;
}

/* Header right */
.header-right { display: flex; align-items: center; gap: 18px; }
.cart-badge-wrap { position: relative; cursor: pointer; color: var(--white-dim); transition: var(--transition); }
.cart-badge-wrap:hover { color: var(--gold); }
.cart-badge-wrap .icon-svg { width: 24px; height: 24px; display: block; }
.cart-count {
  position: absolute;
  top: -8px; right: -8px;
  background: var(--gold);
  color: var(--black);
  font-size: 10px; font-weight: 700;
  width: 18px; height: 18px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  line-height: 1;
}

/* Hamburger */
.hamburger {
  background: none; border: none; cursor: pointer;
  display: flex; flex-direction: column; gap: 5px; padding: 6px;
}
.hamburger span {
  display: block; width: 22px; height: 2px;
  background: var(--white); border-radius: 2px;
  transition: var(--transition);
}
.hamburger:hover span { background: var(--gold); }

/* Drawer */
.drawer {
  position: fixed; top: 0; right: -320px;
  width: 300px; height: 100vh;
  background: var(--black-card);
  border-left: 1px solid var(--black-border);
  z-index: 1000;
  padding: 80px 0 40px;
  transition: right var(--transition);
  display: flex; flex-direction: column;
}
.drawer.open { right: 0; }
.drawer-close {
  position: absolute; top: 20px; right: 20px;
  background: none; border: none; color: var(--white-dim);
  font-size: 1.6rem; cursor: pointer; transition: var(--transition);
}
.drawer-close:hover { color: var(--gold); }
.drawer-links { list-style: none; padding: 0 20px; }
.drawer-links li { border-bottom: 1px solid var(--black-border); }
.drawer-sep { border: none !important; margin: 16px 0; }
.drawer-link {
  display: flex; align-items: center; gap: 10px;
  padding: 16px 10px;
  color: var(--white-dim); text-decoration: none;
  font-size: 0.85rem; letter-spacing: 1.5px;
  transition: var(--transition);
}
.drawer-link:hover { color: var(--gold); padding-left: 18px; }
.drawer-admin { color: var(--gold); font-weight: 600; }
.drawer-overlay {
  position: fixed; inset: 0; background: rgba(0,0,0,0.6);
  z-index: 999; display: none;
}
.drawer-overlay.show { display: block; }
.icon-xs  { width: 16px; height: 16px; flex-shrink: 0; }
.icon-sm  { width: 18px; height: 18px; flex-shrink: 0; }

/* ===================== HERO ===================== */
.hero-section {
  position: relative;
  min-height: 92vh;
  display: flex; align-items: center;
  overflow: hidden;
  background: var(--black-soft);
}
.hero-section::before {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 70% 50%, rgba(201,168,76,0.08) 0%, transparent 60%);
}
.hero-particles {
  position: absolute; inset: 0; pointer-events: none;
}
.hero-content {
  position: relative; z-index: 2;
  max-width: 1400px; margin: 0 auto;
  padding: 6rem 2rem 4rem;
  flex: 1;
}
.hero-eyebrow {
  font-size: 0.7rem; letter-spacing: 6px;
  color: var(--gold); font-weight: 500;
  text-transform: uppercase; margin-bottom: 16px;
}
.hero-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(3.5rem, 8vw, 7rem);
  font-weight: 300; line-height: 1;
  color: var(--white); margin-bottom: 24px;
}
.hero-title em { color: var(--gold); font-style: italic; }
.hero-desc {
  max-width: 480px; color: var(--white-dim);
  font-size: 0.9rem; line-height: 1.8; margin-bottom: 40px;
}
.hero-cta {
  display: inline-block;
  padding: 14px 40px;
  border: 1px solid var(--gold);
  color: var(--gold); text-decoration: none;
  font-size: 0.75rem; letter-spacing: 3px;
  text-transform: uppercase;
  transition: var(--transition);
}
.hero-cta:hover { background: var(--gold); color: var(--black); }
.hero-bottle {
  position: absolute; right: 10%; top: 50%; transform: translateY(-50%);
  z-index: 2; opacity: 0.8;
}
.bottle-glow {
  position: absolute; inset: -60px;
  background: radial-gradient(circle, rgba(201,168,76,0.12) 0%, transparent 70%);
  animation: pulse 4s ease-in-out infinite;
}
.bottle-svg { width: 160px; animation: float 6s ease-in-out infinite; }
@keyframes float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-20px)} }
@keyframes pulse { 0%,100%{opacity:0.5} 50%{opacity:1} }

/* ===================== MAIN CONTENT ===================== */
.main-content {
  max-width: 1400px; margin: 0 auto;
  padding: 5rem 2rem;
}
.section-header { text-align: center; margin-bottom: 3rem; }
.section-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 300; color: var(--white); margin-bottom: 8px;
}
.section-sub { color: var(--grey-light); font-size: 0.85rem; }

/* Filters */
.filters-bar {
  display: flex; flex-wrap: wrap; gap: 16px;
  align-items: center; margin-bottom: 2rem;
}
.search-input {
  flex: 1 1 300px;
  background: var(--black-card); border: 1px solid var(--black-border);
  color: var(--white); padding: 12px 18px; border-radius: var(--radius-sm);
  font-family: 'Montserrat', sans-serif; font-size: 0.85rem;
  transition: var(--transition);
}
.search-input::placeholder { color: var(--grey); }
.search-input:focus { outline: none; border-color: var(--gold); box-shadow: 0 0 0 2px rgba(201,168,76,0.12); }
.filter-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chip {
  padding: 8px 18px; border-radius: 99px;
  border: 1px solid var(--black-border);
  background: var(--black-card); color: var(--white-dim);
  cursor: pointer; font-size: 0.72rem; letter-spacing: 1px;
  font-family: 'Montserrat', sans-serif; font-weight: 500;
  transition: var(--transition);
}
.chip:hover  { border-color: var(--gold); color: var(--gold); }
.chip.active { background: var(--gold); border-color: var(--gold); color: var(--black); font-weight: 700; }

/* Table */
.table-wrap { overflow-x: auto; }
.catalog-table {
  width: 100%; border-collapse: collapse; min-width: 820px;
}
.catalog-table thead tr {
  background: var(--black-card);
  border-bottom: 2px solid var(--gold);
}
.catalog-table th {
  padding: 14px 12px; text-align: left;
  font-size: 0.68rem; letter-spacing: 2px; color: var(--gold);
  font-weight: 600; white-space: nowrap;
}
.catalog-table tbody tr {
  border-bottom: 1px solid var(--black-border);
  transition: var(--transition);
}
.catalog-table tbody tr:hover { background: rgba(201,168,76,0.04); }
.catalog-table td { padding: 14px 12px; vertical-align: middle; }

/* Thumbnail */
.col-img { width: 70px; }
.perfume-thumb {
  width: 56px; height: 56px; object-fit: cover;
  border-radius: var(--radius-sm); border: 1px solid var(--black-border);
  background: var(--black-card);
}
.perfume-placeholder {
  width: 56px; height: 56px;
  background: var(--black-card); border: 1px solid var(--black-border);
  border-radius: var(--radius-sm);
  display: flex; align-items: center; justify-content: center;
  color: var(--gold); font-size: 1.2rem; font-family: 'Cormorant Garamond', serif;
}

/* Name cell */
.col-name { min-width: 200px; }
.pf-brand { color: var(--gold); font-weight: 600; font-size: 0.8rem; display: block; }
.pf-name  { color: var(--white-dim); font-size: 0.78rem; margin-top: 2px; display: block; }

/* Price cells */
.price-cell  { font-weight: 500; white-space: nowrap; }
.price-base  { color: var(--white-dim); }
.price-mayor { color: var(--white); }
.price-50k   { color: var(--gold-light); }
.price-100k  { color: var(--gold); font-weight: 700; }

/* Action buttons */
.action-cell { display: flex; gap: 6px; flex-wrap: wrap; }
.btn-add {
  padding: 8px 14px; border-radius: var(--radius-sm);
  background: var(--gold); border: none; color: var(--black);
  font-family: 'Montserrat', sans-serif;
  font-size: 0.72rem; font-weight: 700; letter-spacing: 0.5px;
  cursor: pointer; transition: var(--transition); white-space: nowrap;
}
.btn-add:hover { background: var(--gold-light); transform: translateY(-1px); box-shadow: 0 4px 16px rgba(201,168,76,0.3); }
.btn-add.disabled {
  background: var(--black-border); color: var(--grey);
  cursor: not-allowed; transform: none; box-shadow: none;
  position: relative;
}
.btn-add.disabled:hover::after {
  content: 'Agotado';
  position: absolute; bottom: 110%; left: 50%; transform: translateX(-50%);
  background: var(--black-card); color: var(--red);
  padding: 4px 10px; border-radius: 4px; white-space: nowrap;
  font-size: 0.7rem; border: 1px solid var(--red);
  pointer-events: none;
}
.no-results { text-align: center; color: var(--grey); padding: 3rem; font-size: 0.9rem; }

/* ===================== QUOTE SECTION ===================== */
.quote-section {
  background: var(--black-soft);
  padding: 5rem 2rem;
  border-top: 1px solid var(--black-border);
  border-bottom: 1px solid var(--black-border);
}
.quote-section .section-header { max-width: 900px; margin: 0 auto 3rem; }
.quote-panel {
  max-width: 900px; margin: 0 auto;
  background: var(--black-card); border: 1px solid var(--black-border);
  border-radius: var(--radius-lg); padding: 2.5rem;
  box-shadow: var(--shadow-card);
}
.quote-stats {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 1rem; margin-bottom: 2rem;
}
.stat-box {
  background: var(--black-soft); border: 1px solid var(--black-border);
  border-radius: var(--radius-md); padding: 1.2rem;
  text-align: center;
}
.stat-label { display: block; font-size: 0.65rem; letter-spacing: 2px; color: var(--grey-light); margin-bottom: 6px; }
.stat-val { font-family: 'Cormorant Garamond', serif; font-size: 1.4rem; font-weight: 600; display: block; }
.stat-val.gold  { color: var(--gold); }
.stat-val.green { color: var(--green); }

/* Quote items */
.quote-items { min-height: 80px; margin-bottom: 2rem; }
.quote-empty { text-align: center; color: var(--grey); padding: 2rem; font-size: 0.85rem; }
.quote-item {
  display: flex; align-items: center; gap: 12px;
  padding: 12px 0; border-bottom: 1px solid var(--black-border);
  animation: fadeSlide 0.3s ease;
}
@keyframes fadeSlide { from{opacity:0;transform:translateY(-8px)} to{opacity:1;transform:translateY(0)} }
.qi-name  { flex: 1; }
.qi-brand { color: var(--gold); font-size: 0.78rem; font-weight: 600; display: block; }
.qi-desc  { color: var(--white-dim); font-size: 0.75rem; display: block; margin-top: 1px; }
.qi-qty-wrap { display: flex; align-items: center; gap: 6px; }
.qi-qty-btn {
  width: 26px; height: 26px; border-radius: 50%;
  border: 1px solid var(--black-border);
  background: none; color: var(--white); cursor: pointer;
  font-size: 1rem; line-height: 1; transition: var(--transition);
}
.qi-qty-btn:hover { border-color: var(--gold); color: var(--gold); }
.qi-qty { min-width: 30px; text-align: center; font-weight: 600; color: var(--white); font-size: 0.9rem; }
.qi-price { color: var(--green); font-weight: 600; font-size: 0.9rem; white-space: nowrap; }
.qi-remove {
  background: none; border: none; color: var(--grey); cursor: pointer;
  font-size: 1.1rem; padding: 4px; transition: var(--transition);
}
.qi-remove:hover { color: var(--red); }

/* Actions */
.quote-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 1rem; }
.quote-note { font-size: 0.72rem; color: var(--grey); line-height: 1.6; }
.texto-justificado {
    text-align: justify !important;
}

/* Buttons */
.btn-gold {
  display: flex; align-items: center; gap: 8px;
  padding: 13px 28px;
  background: var(--gold); border: 1px solid var(--gold);
  color: var(--black); cursor: pointer;
  font-family: 'Montserrat', sans-serif;
  font-size: 0.75rem; font-weight: 700; letter-spacing: 1px;
  border-radius: var(--radius-sm); transition: var(--transition);
}
.btn-gold:hover { background: var(--gold-light); border-color: var(--gold-light); transform: translateY(-1px); box-shadow: 0 6px 20px rgba(201,168,76,0.25); }
.btn-gold:disabled,
.btn-gold.disabled {
  background: var(--black-border);
  border-color: var(--black-border);
  color: var(--grey-light);
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}
.btn-gold.full  { width: 100%; justify-content: center; }
.btn-gold.small { padding: 8px 18px; font-size: 0.7rem; }
.btn-outline {
  display: flex; align-items: center; gap: 8px;
  padding: 13px 28px;
  background: none; border: 1px solid var(--black-border);
  color: var(--white-dim); cursor: pointer;
  font-family: 'Montserrat', sans-serif;
  font-size: 0.75rem; font-weight: 500; letter-spacing: 1px;
  border-radius: var(--radius-sm); transition: var(--transition);
}
.btn-outline:hover { border-color: var(--white-dim); color: var(--white); }
.btn-outline.small { padding: 8px 18px; font-size: 0.7rem; }

/* ===================== FOOTER ===================== */
.site-footer {
  background: var(--black-card); border-top: 1px solid var(--black-border);
  padding: 4rem 2rem 0;
}
.footer-inner {
  max-width: 1400px; margin: 0 auto;
  display: flex; justify-content: space-between; align-items: flex-start;
  flex-wrap: wrap; gap: 3rem; padding-bottom: 3rem;
  border-bottom: 1px solid var(--black-border);
}
.footer-tagline { color: var(--grey); font-size: 0.8rem; margin-top: 8px; font-style: italic; }
.footer-heading { font-family: 'Cormorant Garamond', serif; font-size: 1.2rem; color: var(--gold); margin-bottom: 16px; }
.social-links { display: flex; gap: 12px; flex-wrap: wrap; }
.social-btn {
  display: flex; align-items: center; gap: 8px;
  padding: 10px 20px; border-radius: var(--radius-sm);
  font-size: 0.78rem; font-weight: 600; text-decoration: none;
  transition: var(--transition); border: 1px solid var(--black-border);
}
.social-btn.fb { color: #4267B2; border-color: #4267B2; }
.social-btn.fb:hover { background: #4267B2; color: var(--white); }
.social-btn.wa { color: #25D366; border-color: #25D366; }
.social-btn.wa:hover { background: #25D366; color: var(--white); }
.social-btn.ig { color: #E1306C; border-color: #E1306C; }
.social-btn.ig:hover { background: #E1306C; color: var(--white); }
.footer-bottom { max-width: 1400px; margin: 0 auto; padding: 1.5rem 0; text-align: center; color: var(--grey); font-size: 0.72rem; }

/* ===================== ADMIN ===================== */
.admin-section {
  max-width: 1400px; margin: 0 auto;
  padding: 4rem 2rem;
}
.admin-header {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 2.5rem; padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--black-border);
}

/* Login */
.admin-login { display: flex; justify-content: center; padding: 3rem 0; }
.login-card {
  background: var(--black-card); border: 1px solid var(--black-border);
  border-radius: var(--radius-lg); padding: 3rem 2.5rem;
  width: 100%; max-width: 420px; box-shadow: var(--shadow-card);
}
.login-title {
  font-family: 'Cormorant Garamond', serif; font-size: 1.8rem;
  color: var(--gold); text-align: center; margin-bottom: 2rem;
}
.login-hint { text-align: center; color: var(--grey); font-size: 0.75rem; margin-top: 12px; }
.login-hint b { color: var(--gold-light); }

/* Form elements */
.form-group { display: flex; flex-direction: column; gap: 6px; margin-bottom: 1.2rem; }
.form-group label { font-size: 0.72rem; letter-spacing: 1px; color: var(--white-dim); }
.form-input {
  background: var(--black-soft); border: 1px solid var(--black-border);
  color: var(--white); padding: 11px 16px; border-radius: var(--radius-sm);
  font-family: 'Montserrat', sans-serif; font-size: 0.85rem;
  transition: var(--transition);
}
.form-input:focus { outline: none; border-color: var(--gold); box-shadow: 0 0 0 2px rgba(201,168,76,0.1); }
select.form-input option { background: var(--black-card); }
.file-input { padding: 9px 12px; cursor: pointer; }
.form-help {
  color: var(--grey-light);
  font-size: 0.72rem;
  line-height: 1.5;
}
.image-preview-wrap {
  margin-top: 12px;
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.image-preview {
  width: 154px;
  height: 88px;
  object-fit: cover;
  border-radius: var(--radius-sm);
  border: 1px solid var(--black-border);
  background: var(--black-soft);
}

/* Admin tabs */
.admin-tabs { display: flex; gap: 0; border-bottom: 1px solid var(--black-border); margin-bottom: 2rem; }
.admin-tab {
  padding: 12px 28px; background: none; border: none;
  color: var(--grey-light); font-family: 'Montserrat', sans-serif;
  font-size: 0.78rem; letter-spacing: 1px; cursor: pointer;
  border-bottom: 2px solid transparent; transition: var(--transition);
  margin-bottom: -1px;
}
.admin-tab.active { color: var(--gold); border-bottom-color: var(--gold); }
.admin-tab:hover:not(.active) { color: var(--white-dim); }
.admin-pane { display: none; }
.admin-pane.active { display: block; }
.pane-title {
  font-family: 'Cormorant Garamond', serif; font-size: 1.4rem;
  color: var(--white); margin-bottom: 1.5rem;
}
.admin-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 1.5rem; }
.admin-actions { display: flex; align-items: center; gap: 0.75rem; flex-wrap: wrap; }

.admin-perfume-toolbar .pane-title { margin-bottom: 0; }
.admin-perfume-search { min-width: 260px; }
.admin-perfume-search .form-input { width: 100%; height: 38px; padding: 9px 14px; }
.admin-perfume-row.hidden-by-search { display: none; }

@media (max-width: 760px) {
  .admin-perfume-toolbar { align-items: stretch; flex-direction: column; }
  .admin-perfume-toolbar .admin-actions { width: 100%; }
  .admin-perfume-search { width: 100%; min-width: 0; }
}

/* Perfume form */
.perfume-form {
  background: var(--black-card); border: 1px solid var(--black-border);
  border-radius: var(--radius-md); padding: 2rem; margin-bottom: 2rem;
  animation: fadeSlide 0.3s ease;
}
.form-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1rem;
}
.full-span { grid-column: 1 / -1; }
.form-actions { display: flex; gap: 12px; margin-top: 1.5rem; }

/* Admin tables */
.admin-table-wrap { overflow-x: auto; }
.admin-table { width: 100%; border-collapse: collapse; min-width: 980px; }
.admin-table th {
  padding: 12px 14px; text-align: left;
  font-size: 0.68rem; letter-spacing: 1.5px; color: var(--gold);
  border-bottom: 1px solid var(--black-border);
}
.admin-table td { padding: 12px 14px; border-bottom: 1px solid var(--black-border); font-size: 0.82rem; }
.admin-table tr:hover td { background: rgba(201,168,76,0.03); }
.btn-edit {
  background: none; border: 1px solid var(--gold-dark); color: var(--gold);
  padding: 5px 12px; border-radius: 4px; font-size: 0.7rem;
  cursor: pointer; font-family: 'Montserrat', sans-serif; transition: var(--transition);
}
.btn-edit:hover { background: var(--gold-dark); color: var(--black); }
.btn-delete {
  background: none; border: 1px solid rgba(192,76,76,0.4); color: var(--red);
  padding: 5px 12px; border-radius: 4px; font-size: 0.7rem;
  cursor: pointer; font-family: 'Montserrat', sans-serif; transition: var(--transition);
}
.btn-delete:hover { background: var(--red); color: var(--white); }

/* Inventory toggles */
.inv-toggle {
  appearance: none; width: 40px; height: 22px;
  background: var(--grey); border-radius: 11px;
  cursor: pointer; position: relative; transition: var(--transition);
}
.inv-toggle:checked { background: var(--green); }
.inv-toggle::after {
  content: ''; position: absolute;
  width: 16px; height: 16px; border-radius: 50%;
  background: var(--white); top: 3px; left: 3px; transition: var(--transition);
}
.inv-toggle:checked::after { left: 21px; }
.inv-label { font-size: 0.72rem; color: var(--grey-light); margin-top: 2px; display: block; }
.inv-cell { display: flex; flex-direction: column; align-items: center; gap: 2px; }

/* ===================== MODAL ===================== */
.modal-overlay {
  position: fixed; inset: 0;
  background: rgba(0,0,0,0.8); backdrop-filter: blur(4px);
  z-index: 1100; display: flex; align-items: center; justify-content: center;
  padding: 1rem;
}
.modal-card {
  background: var(--black-card); border: 1px solid var(--black-border);
  border-radius: var(--radius-lg); padding: 2.5rem;
  width: 100%; max-width: 480px;
  position: relative; animation: fadeSlide 0.25s ease;
  box-shadow: var(--shadow-card), var(--shadow-glow);
}
.modal-close {
  position: absolute; top: 16px; right: 16px;
  background: none; border: none; color: var(--white-dim);
  font-size: 1.5rem; cursor: pointer; transition: var(--transition);
}
.modal-close:hover { color: var(--gold); }
.modal-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.4rem; color: var(--gold); margin-bottom: 4px;
}
.modal-sub { color: var(--grey-light); font-size: 0.78rem; margin-bottom: 1.5rem; }
.modal-options { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 1.5rem; }
.modal-opt {
  padding: 8px 16px; border: 1px solid var(--black-border);
  border-radius: 99px; background: none; color: var(--white-dim);
  font-family: 'Montserrat', sans-serif; font-size: 0.75rem;
  cursor: pointer; transition: var(--transition);
  display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; min-width: 118px;
}
.modal-opt small {
  display: block;
  color: var(--gold-light);
  font-size: 0.68rem;
  opacity: 0.9;
  line-height: 1.1;
}
.modal-opt-label {
  display: block;
  line-height: 1.1;
}
.modal-opt.selected small { color: var(--black); opacity: 0.75; }
.modal-opt:hover:not(.unavailable) { border-color: var(--gold); color: var(--gold); }
.modal-opt.selected { background: var(--gold); border-color: var(--gold); color: var(--black); font-weight: 700; }
.modal-opt.unavailable {
  opacity: 0.38;
  cursor: not-allowed;
  text-decoration: line-through;
  color: var(--grey-light);
  position: relative;
}
.modal-opt.unavailable:hover { border-color: var(--black-border); color: var(--white-dim); }
.modal-opt.unavailable:hover::after {
  content: 'No disponible';
  position: absolute;
  bottom: 115%;
  left: 50%;
  transform: translateX(-50%);
  background: var(--black-card);
  color: var(--red);
  padding: 4px 10px;
  border-radius: 4px;
  white-space: nowrap;
  font-size: 0.68rem;
  border: 1px solid var(--red);
}
.modal-qty-wrap {
  display: flex; align-items: center; gap: 14px; margin-bottom: 1.5rem;
}
.modal-qty-wrap label { font-size: 0.78rem; color: var(--white-dim); }
.qty-control { display: flex; align-items: center; gap: 8px; }
.qty-btn {
  width: 32px; height: 32px; border-radius: 50%;
  border: 1px solid var(--black-border); background: none;
  color: var(--white); font-size: 1.1rem; cursor: pointer;
  transition: var(--transition); display: flex; align-items: center; justify-content: center;
}
.qty-btn:hover { border-color: var(--gold); color: var(--gold); }
.qty-input {
  width: 60px; text-align: center;
  background: var(--black-soft); border: 1px solid var(--black-border);
  color: var(--white); padding: 8px; border-radius: var(--radius-sm);
  font-family: 'Montserrat', sans-serif; font-size: 0.9rem;
}
.qty-input:focus { outline: none; border-color: var(--gold); }

/* ===================== TOAST ===================== */
.toast {
  position: fixed; bottom: 32px; right: 32px;
  background: var(--black-card); border: 1px solid var(--gold);
  color: var(--white); padding: 14px 24px; border-radius: var(--radius-sm);
  font-size: 0.82rem; box-shadow: var(--shadow-card);
  z-index: 2000; animation: toastIn 0.3s ease;
}
@keyframes toastIn { from{opacity:0;transform:translateY(16px)} to{opacity:1;transform:translateY(0)} }

/* ===================== RESPONSIVE ===================== */
@media (max-width: 768px) {
  .hero-bottle { display: none; }
  .hero-title  { font-size: 3rem; }
  .quote-stats { grid-template-columns: 1fr 1fr; }
  .stat-box:last-child { grid-column: 1 / -1; }
  .catalog-table th:nth-child(3),
  .catalog-table td:nth-child(3) { display: none; }
  .footer-inner { flex-direction: column; }
  .action-cell { flex-direction: column; }
  .btn-add { width: 100%; }
}
@media (max-width: 480px) {
  .logo-mark { width: 56px; height: 44px; }
  .logo-main { font-size: 1.2rem; letter-spacing: 2px; }
  .logo-sub { font-size: 0.46rem; letter-spacing: 2.5px; }

  .header-inner { padding: 0 1rem; }
  .main-content { padding: 3rem 1rem; }
  .quote-section { padding: 3rem 1rem; }
  .site-footer { padding: 3rem 1rem 0; }
  .admin-section { padding: 2rem 1rem; }
  .modal-card { padding: 1.8rem; }
}


/* Drag & drop en Gestión de Perfumes */
.drag-cell {
  width: 70px;
  color: var(--white-dim);
  white-space: nowrap;
}

.drag-handle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  margin-right: 8px;
  border: 1px solid var(--gold-dark);
  border-radius: 6px;
  color: var(--gold);
  cursor: grab;
  user-select: none;
}

.admin-perfume-row {
  transition: background 0.15s ease, opacity 0.15s ease;
}

.admin-perfume-row.dragging {
  opacity: 0.45;
}

.admin-perfume-row.drag-over td {
  background: rgba(201,168,76,0.08) !important;
}

.admin-perfume-row:active .drag-handle {
  cursor: grabbing;
}


/* Herramientas de respaldo admin */
.backup-tools{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  padding:1rem;
  margin:1.5rem 0;
  border:1px solid var(--black-border);
  border-radius:10px;
  background:rgba(255,255,255,0.02);
}

.backup-title{
  margin:0 0 4px;
  color:var(--gold);
  font-size:0.95rem;
}

.backup-text{
  margin:0;
  color:var(--white-dim);
  font-size:0.78rem;
}

.backup-actions{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}

.import-label{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}

@media (max-width: 700px){
  .backup-tools{
    align-items:flex-start;
    flex-direction:column;
  }
}


/* Punto de Venta */
.admin-bottom-actions{
  display:flex;
  justify-content:flex-end;
  margin-top:2rem;
  padding-top:1.5rem;
  border-top:1px solid var(--black-border);
}

.pos-section{
  min-height:100vh;
  padding:7rem 8vw 4rem;
  background:var(--black);
}

.pos-header{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:2rem;
}

.pos-header-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.pos-layout{
  display:grid;
  grid-template-columns:minmax(320px, 0.9fr) minmax(480px, 1.4fr);
  gap:1.5rem;
}

.pos-search-panel,
.pos-cart-panel{
  border:1px solid var(--black-border);
  background:rgba(255,255,255,0.025);
  border-radius:18px;
  padding:1rem;
  box-shadow:var(--shadow);
}

.pos-label{
  display:block;
  color:var(--gold);
  font-size:0.72rem;
  letter-spacing:1.5px;
  margin-bottom:8px;
  text-transform:uppercase;
}

.pos-search-box{
  position:relative;
}

.pos-product-list{
  max-height:62vh;
  overflow-y:auto;
  margin-top:12px;
  border:1px solid var(--black-border);
  border-radius:14px;
  background:rgba(0,0,0,0.35);
}

.pos-product-card{
  display:grid;
  grid-template-columns:64px 1fr 44px;
  align-items:center;
  gap:12px;
  padding:12px;
  border-bottom:1px solid var(--black-border);
  cursor:pointer;
  transition:var(--transition);
}

.pos-product-card:hover{
  background:rgba(201,168,76,0.08);
}

.pos-product-card img{
  width:56px;
  height:56px;
  object-fit:cover;
  border-radius:10px;
  border:1px solid var(--black-border);
  background:rgba(255,255,255,0.04);
}

.pos-product-info strong{
  display:block;
  color:var(--gold);
  font-size:0.82rem;
}

.pos-product-info span{
  display:block;
  color:var(--white);
  font-size:0.78rem;
  margin-top:3px;
}

.pos-product-info small{
  display:block;
  color:var(--white-dim);
  font-size:0.68rem;
  margin-top:5px;
}

.pos-add-btn{
  width:38px;
  height:38px;
  border:none;
  border-radius:50%;
  background:var(--gold);
  color:var(--black);
  font-size:1.4rem;
  font-weight:800;
  cursor:pointer;
}

.pos-help,
.pos-empty,
.pos-no-results{
  color:var(--white-dim);
  font-size:0.8rem;
  text-align:center;
  padding:1rem;
}

.pos-cart-header,
.pos-cart-row {
  display: grid;
  grid-template-columns: 90px minmax(260px, 1fr) 140px 100px 100px;
  column-gap: 18px;
  align-items: center;
}

.pos-cart-head{
  padding:13px 12px;
  border-radius:12px;
  background:rgba(201,168,76,0.12);
  color:var(--gold);
  font-size:0.7rem;
  letter-spacing:1.5px;
  text-transform:uppercase;
  font-weight:700;
}

.pos-cart-list{
  margin-top:10px;
  border-bottom:1px solid var(--black-border);
}

.pos-cart-row{
  padding:13px 12px;
  border-bottom:1px solid var(--black-border);
}

.pos-cart-product strong{
  display:block;
  color:var(--gold);
  font-size:0.82rem;
}

.pos-cart-product span{
  display:block;
  color:var(--white);
  font-size:0.78rem;
}

.pos-qty-input,
.pos-price-input,
.pos-type-select{
  width:100%;
  background:var(--black-soft);
  border:1px solid var(--black-border);
  color:var(--white);
  padding:10px;
  border-radius:8px;
}

.pos-remove-btn{
  width:36px;
  height:36px;
  border:none;
  border-radius:50%;
  background:rgba(192,76,76,0.95);
  color:white;
  font-size:1.4rem;
  font-weight:800;
  cursor:pointer;
}

.pos-summary{
  margin-left:auto;
  max-width:420px;
  padding:1rem 0;
}

.pos-summary-row,
.pos-summary-total{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:10px 0;
  border-bottom:1px solid var(--black-border);
}

.pos-summary-row span,
.pos-summary-total span{
  color:var(--white);
  font-weight:700;
}

.pos-summary-row strong,
.pos-summary-total strong{
  color:var(--white);
}

.pos-summary-total{
  font-size:1.4rem;
}

.pos-summary-total strong{
  color:var(--green);
}

.pos-discount-wrap{
  max-width:140px;
}

.pos-client-row{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:1rem;
  padding:1rem 0;
  border-top:1px solid var(--black-border);
}

.pos-client-row span{
  color:var(--gold);
  font-weight:700;
}

.pos-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
  padding-top:1rem;
  border-top:1px solid var(--black-border);
}

.btn-danger-pos{
  border:none;
  background:var(--red);
  color:white;
  padding:12px 18px;
  border-radius:8px;
  font-weight:700;
  cursor:pointer;
}

@media (max-width: 980px){
  .pos-layout{
    grid-template-columns:1fr;
  }

  .pos-cart-head{
    display:none;
  }

  .pos-cart-row{
    grid-template-columns:70px 1fr;
  }

  .pos-type-select,
  .pos-price-input,
  .pos-cart-row > strong,
  .pos-remove-btn{
    grid-column:auto;
  }
}


/* Correcciones finales Punto de Venta */
body.pos-mode{
  overflow-x:hidden;
}

/* POS interno: no ocultar secciones principales */

body.pos-mode #pos-section{
  display:block !important;
}

.pos-section{
  min-height:100vh;
  padding:2.2rem 2.4rem 3rem !important;
}

.pos-layout{
  align-items:start;
}

.pos-search-panel{
  min-height:70vh;
}

.pos-search-box .form-input,
#posSearchInput{
  width:100%;
  max-width:none;
}

.pos-product-list{
  display:block;
  max-height:64vh;
  overflow-y:auto;
}

.pos-product-list.hidden{
  display:block !important;
}

.pos-product-card{
  grid-template-columns:72px 1fr 46px;
}

.pos-product-card img{
  width:64px;
  height:64px;
}

.pos-summary{
  width:100%;
  max-width:520px;
}

.pos-summary-row{
  display:grid;
  grid-template-columns:160px minmax(0, 1fr);
  align-items:center;
}

.pos-summary-row > span{
  text-align:right;
}

.pos-discount-wrap{
  max-width:none;
  width:100%;
}

.pos-discount-wrap .form-input,
#posDiscount{
  width:100%;
  max-width:none;
  box-sizing:border-box;
}

.pos-summary-total{
  display:grid;
  grid-template-columns:160px minmax(0, 1fr);
}

.pos-summary-total span{
  text-align:right;
}

.pos-summary-total strong{
  text-align:right;
}

.pos-actions .btn-outline,
.pos-actions .btn-gold,
.pos-actions .btn-danger-pos{
  min-height:44px;
}

@media (max-width: 1100px){
  .pos-cart-head,
  .pos-cart-row{
    grid-template-columns:75px minmax(160px,1fr) 135px 110px 110px 42px;
  }
}

@media (max-width: 900px){
  .pos-section{
    padding:1.5rem 1rem 2rem !important;
  }

  .pos-summary,
  .pos-actions{
    max-width:none;
    width:100%;
  }

  .pos-summary-row,
  .pos-summary-total{
    grid-template-columns:1fr;
  }

  .pos-summary-row > span,
  .pos-summary-total span,
  .pos-summary-total strong{
    text-align:left;
  }
}


/* Correcciones POS + Estadísticas */
#posClientType{
  display:none !important;
}

.pos-client-row{
  grid-template-columns:1fr !important;
}

.pos-help{
  display:none !important;
}

.pos-product-list{
  display:block !important;
}

.pos-product-list.hidden{
  display:block !important;
}

.pos-summary{
  margin-left:auto;
  width:100%;
  max-width:520px;
}

.pos-summary-row{
  display:grid !important;
  grid-template-columns:160px minmax(0, 1fr) !important;
  align-items:center;
  gap:16px;
}

.pos-summary-row > span{
  text-align:right;
}

.pos-discount-wrap{
  width:100%;
  max-width:none !important;
}

#posDiscount{
  width:100% !important;
  box-sizing:border-box;
}

.stats-filters{
  display:grid;
  grid-template-columns:repeat(3, minmax(160px, 1fr));
  gap:1rem;
  padding:1rem;
  border:1px solid var(--black-border);
  border-radius:14px;
  background:rgba(255,255,255,0.02);
  margin-bottom:1.5rem;
}

.stats-cards{
  display:grid;
  grid-template-columns:repeat(3, minmax(180px, 1fr));
  gap:1rem;
  margin-bottom:1.5rem;
}

.stats-card{
  border:1px solid var(--black-border);
  border-radius:14px;
  background:rgba(255,255,255,0.025);
  padding:1.2rem;
}

.stats-card span{
  display:block;
  color:var(--white-dim);
  font-size:.72rem;
  letter-spacing:1.4px;
  text-transform:uppercase;
  margin-bottom:10px;
}

.stats-card strong{
  color:var(--gold);
  font-size:1.5rem;
  font-family:'Cormorant Garamond',serif;
}

.charts-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1rem;
  margin-bottom:1.5rem;
}

.chart-card{
  border:1px solid var(--black-border);
  border-radius:14px;
  background:rgba(255,255,255,0.025);
  padding:1rem;
  overflow-x:auto;
}

.chart-card.full-span{
  grid-column:1 / -1;
}

.chart-card h4{
  margin:0 0 1rem;
  color:var(--gold);
  font-size:.95rem;
}

.bar-chart{
  height:220px;
  display:flex;
  align-items:end;
  gap:8px;
  min-width:420px;
  border-bottom:1px solid var(--black-border);
  padding:2rem 0 1.8rem;
}

.monthly-chart{
  min-width:720px;
}

.chart-bar-wrap{
  flex:1;
  height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  position:relative;
}

.chart-bar{
  width:100%;
  max-width:34px;
  min-height:4px;
  border-radius:8px 8px 0 0;
  background:linear-gradient(180deg, var(--gold), var(--gold-dark));
  box-shadow:0 0 16px rgba(201,168,76,.18);
}

.chart-bar-wrap span{
  position:absolute;
  bottom:-24px;
  color:var(--white-dim);
  font-size:.62rem;
  transform:rotate(-35deg);
  white-space:nowrap;
}

.chart-value{
  color:var(--white-dim);
  font-size:.62rem;
  min-height:14px;
  white-space:nowrap;
}

@media(max-width: 900px){
  .stats-filters,
  .stats-cards,
  .charts-grid{
    grid-template-columns:1fr;
  }

  .pos-summary-row{
    grid-template-columns:1fr !important;
  }

  .pos-summary-row > span{
    text-align:left;
  }
}


/* Búsqueda funcional del Punto de Venta */
.pos-product-list{
  display:block !important;
  max-height:64vh;
  overflow-y:auto;
}

.pos-product-list.hidden{
  display:block !important;
}

.pos-help{
  display:none !important;
}

.pos-no-results{
  color:var(--white-dim);
  padding:1rem;
  text-align:center;
}


/* Descuento POS por porcentaje */
.pos-discount-wrap{
  display:grid !important;
  grid-template-columns:minmax(90px, 1fr) auto;
  gap:8px;
  align-items:center;
  width:100%;
  max-width:none !important;
}

#posDiscountPercent{
  width:100% !important;
  box-sizing:border-box;
}

#applyDiscountBtn{
  white-space:nowrap;
  min-height:42px;
}

#posDiscountAmount{
  color:var(--gold);
  text-align:right;
}

@media(max-width:700px){
  .pos-discount-wrap{
    grid-template-columns:1fr;
  }
}


/* POS acciones alineadas */
.pos-actions{
  justify-content:flex-end;
  align-items:center;
}


/* Ventas registradas */
.sales-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.danger-outline{
  border-color:rgba(192,76,76,.45) !important;
  color:var(--red) !important;
}

.sales-summary{
  display:grid;
  grid-template-columns:repeat(3, minmax(180px, 1fr));
  gap:1rem;
  margin:1rem 0 1.5rem;
}

.sales-card{
  border:1px solid var(--black-border);
  border-radius:14px;
  background:rgba(255,255,255,.025);
  padding:1.15rem;
}

.sales-card span{
  display:block;
  color:var(--white-dim);
  font-size:.72rem;
  letter-spacing:1.4px;
  text-transform:uppercase;
  margin-bottom:8px;
}

.sales-card strong{
  color:var(--gold);
  font-size:1.45rem;
  font-family:'Cormorant Garamond', serif;
}

@media(max-width:800px){
  .sales-summary{
    grid-template-columns:1fr;
  }
}


/* POS ventas y estadísticas internas */
.pos-nav{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin:0 0 1.2rem;
  border-bottom:1px solid var(--black-border);
  padding-bottom:1rem;
}

.pos-nav-btn{
  background:transparent;
  border:1px solid var(--black-border);
  color:var(--white-dim);
  padding:10px 14px;
  border-radius:999px;
  cursor:pointer;
  font-weight:700;
  letter-spacing:.5px;
}

.pos-nav-btn.active,
.pos-nav-btn:hover{
  color:var(--black);
  background:var(--gold);
  border-color:var(--gold);
}

.pos-pane{
  display:none;
}

.pos-pane.active{
  display:block;
}

.pos-panel-wide{
  border:1px solid var(--black-border);
  background:rgba(255,255,255,0.025);
  border-radius:18px;
  padding:1rem;
  box-shadow:var(--shadow);
}

#pos-pane-ventas .admin-table,
#pos-pane-estadisticas .admin-table{
  min-width:980px;
}

#pos-pane-estadisticas .charts-grid,
#pane-estadisticas .charts-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1rem;
  margin-top:1rem;
}

#pos-pane-estadisticas .chart-card,
#pane-estadisticas .chart-card{
  border:1px solid var(--black-border);
  border-radius:14px;
  background:rgba(255,255,255,0.025);
  padding:1rem;
  overflow-x:auto;
}

#pos-pane-estadisticas .chart-card.full-span,
#pane-estadisticas .chart-card.full-span{
  grid-column:1 / -1;
}

.bar-chart{
  height:220px;
  display:flex;
  align-items:end;
  gap:8px;
  min-width:420px;
  border-bottom:1px solid var(--black-border);
  padding:2rem 0 1.8rem;
}

.monthly-chart{
  min-width:720px;
}

.chart-bar-wrap{
  flex:1;
  height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  position:relative;
}

.chart-bar{
  width:100%;
  max-width:34px;
  min-height:4px;
  border-radius:8px 8px 0 0;
  background:linear-gradient(180deg, var(--gold), var(--gold-dark));
}

.chart-bar-wrap span{
  position:absolute;
  bottom:-24px;
  color:var(--white-dim);
  font-size:.62rem;
  transform:rotate(-35deg);
  white-space:nowrap;
}

.chart-value{
  color:var(--white-dim);
  font-size:.62rem;
  min-height:14px;
  white-space:nowrap;
}

@media(max-width:900px){
  #pos-pane-estadisticas .charts-grid,
  #pane-estadisticas .charts-grid{
    grid-template-columns:1fr;
  }
}


/* Eliminar ventas */
.sale-delete-btn{
  white-space:nowrap;
}

#pane-ventas .admin-table,
#pos-pane-ventas .admin-table{
  min-width:1100px;
}








/* Logo visible del Punto de Venta */
.pos-header-brand{
  display:flex !important;
  align-items:center !important;
  gap:22px !important;
}

.pos-header-logo{
  display:block !important;
  width:110px !important;
  max-width:110px !important;
  height:auto !important;
  object-fit:contain !important;
  flex:0 0 auto !important;
  filter:drop-shadow(0 0 18px rgba(212,175,55,.18));
}

@media(max-width:768px){
  .pos-header-logo{
    width:76px !important;
    max-width:76px !important;
  }
}


/* POS respeta inventario */
.pos-product-disabled{
  opacity:.45;
  cursor:not-allowed !important;
}

.pos-product-disabled .pos-add-btn,
.pos-add-btn:disabled{
  opacity:.45;
  cursor:not-allowed !important;
  filter:grayscale(1);
}

.pos-type-select option:disabled{
  color:#777;
}


/* Inventario simplificado */
#inventoryTable{
  min-width:720px;
}

#inventoryTable th,
#inventoryTable td{
  text-align:center;
}

#inventoryTable th:first-child,
#inventoryTable td:first-child{
  text-align:left;
}


/* Base limpia POS */
.pos-product-card{
  cursor:default !important;
}

.pos-add-btn{
  cursor:pointer !important;
}


/* Modal Finalizar Venta */
.finish-sale-card{
  max-width:520px;
}

.finish-sale-total{
  border:1px solid var(--black-border);
  border-radius:14px;
  padding:1rem;
  background:rgba(255,255,255,.025);
  margin:1rem 0;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
}

.finish-sale-total span{
  color:var(--white-dim);
  font-size:.78rem;
  letter-spacing:1.2px;
  text-transform:uppercase;
}

.finish-sale-total strong{
  color:var(--green);
  font-size:1.6rem;
}

.finish-sale-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:1rem;
}

.disabled-receipt{
  opacity:.45;
  cursor:not-allowed !important;
  filter:grayscale(1);
}

.disabled-receipt small{
  display:block;
  margin-top:4px;
  font-size:.68rem;
  color:var(--white-dim);
}

@media(max-width:650px){
  .finish-sale-actions{
    grid-template-columns:1fr;
  }
}






/* Método de pago dentro de totales */
.pos-payment-summary-row{
  display:grid !important;
  grid-template-columns:160px minmax(0, 1fr) !important;
  align-items:center;
  gap:16px;
  padding:.75rem 0 !important;
  border-bottom:1px solid var(--black-border);
}

.pos-payment-summary-row span{
  color:var(--white);
  font-weight:700;
  text-align:right;
}

.pos-payment-summary-select{
  width:100%;
  max-width:260px;
  justify-self:end;
  background:#0a0a0a;
  border:1px solid var(--black-border);
  color:var(--white);
  border-radius:10px;
  padding:.7rem .85rem;
  font-family:'Montserrat',sans-serif;
}

@media(max-width:700px){
  .pos-payment-summary-row{
    grid-template-columns:1fr !important;
  }

  .pos-payment-summary-row span{
    text-align:left;
  }

  .pos-payment-summary-select{
    max-width:none;
    justify-self:stretch;
  }
}


/* Dinero recibido y cambio */
.pos-cash-section{
  display:block;
}

.pos-cash-section.hidden{
  display:none !important;
}

.pos-cash-row,
.pos-change-row{
  display:grid !important;
  grid-template-columns:160px minmax(0, 1fr) !important;
  align-items:center;
  gap:16px;
  padding:.75rem 0 !important;
  border-bottom:1px solid var(--black-border);
}

.pos-cash-row span,
.pos-change-row span{
  color:var(--white);
  font-weight:700;
  text-align:right;
}

.pos-cash-input{
  width:100%;
  max-width:260px;
  justify-self:end;
  background:#0a0a0a;
  border:1px solid var(--black-border);
  color:var(--white);
  border-radius:10px;
  padding:.7rem .85rem;
  font-family:'Montserrat',sans-serif;
}

#posChangeAmount{
  justify-self:end;
  color:var(--green);
  font-weight:800;
}

#posChangeAmount.negative-change{
  color:var(--red);
}

@media(max-width:700px){
  .pos-cash-row,
  .pos-change-row{
    grid-template-columns:1fr !important;
  }

  .pos-cash-row span,
  .pos-change-row span{
    text-align:left;
  }

  .pos-cash-input,
  #posChangeAmount{
    max-width:none;
    justify-self:stretch;
  }
}


/* Quitar flechas del input number */
.pos-cash-input::-webkit-outer-spin-button,
.pos-cash-input::-webkit-inner-spin-button{
  -webkit-appearance:none;
  margin:0;
}

.pos-cash-input{
  -moz-appearance:textfield;
}


.pos-cash-actions{
  display:flex;
  align-items:center;
  gap:12px;
  justify-content:flex-end;
}

.pos-calculate-btn{
  height:48px;
  padding:0 1rem;
  white-space:nowrap;
}

@media(max-width:700px){
  .pos-cash-actions{
    flex-direction:column;
    align-items:stretch;
  }

  .pos-calculate-btn{
    width:100%;
  }
}


/* Botones uniformes */
.pos-calculate-btn,
.discount-btn{
    height:42px !important;
    min-width:110px !important;
    padding:0 14px !important;
    font-size:.9rem !important;
    border-radius:10px !important;
}


/* Botones dorados iguales */
.pos-action-btn{
    width:110px !important;
    height:42px !important;
    min-width:110px !important;
    max-width:110px !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:.9rem !important;
    font-weight:700 !important;
    border-radius:10px !important;
    line-height:1 !important;
    flex-shrink:0 !important;
}


/* Imagen lateral segura del modal de producto */
.modal-product-layout{
  display:grid;
  grid-template-columns:minmax(320px, 1fr) 280px;
  gap:22px;
  align-items:center;
}

.modal-product-main{
  min-width:0;
}

.modal-product-image-panel{
  min-height:320px;
  border:1px solid rgba(201,168,76,.22);
  border-radius:18px;
  background:rgba(0,0,0,.28);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
}

.modal-product-image-panel img{
  display:block;
  max-width:100%;
  max-height:300px;
  object-fit:contain;
  margin:auto;
  filter:drop-shadow(0 18px 26px rgba(0,0,0,.55));
}

.modal-product-image-panel.hidden{
  display:none !important;
}

@media(max-width:820px){
  .modal-product-layout{
    grid-template-columns:1fr;
  }

  .modal-product-image-panel{
    min-height:220px;
  }

  .modal-product-image-panel img{
    max-height:210px;
  }
}


/* Corrección imagen modal producto */
.modal-product-image-panel{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center;
}

.modal-product-image-panel.hidden{
  display:none !important;
}

#modalProductSideImage{
  display:block;
  width:auto;
  height:auto;
  max-width:100%;
  max-height:330px;
  object-fit:contain;
  margin:auto;
}


/* Evita parpadeo de imagen anterior en modal */
.modal-product-image-panel.is-loading{
  position:relative;
}

.modal-product-image-panel.is-loading::after{
  content:'';
  width:28px;
  height:28px;
  border:2px solid rgba(201,168,76,.25);
  border-top-color:var(--gold);
  border-radius:50%;
  animation:modalImgSpin .8s linear infinite;
}

.modal-product-image-panel.is-loading img{
  display:none !important;
}

#modalProductSideImage{
  transition:opacity .16s ease;
}

@keyframes modalImgSpin{
  to{ transform:rotate(360deg); }
}


.modal-product-image-panel{
  position:relative;
}

.modal-product-image-panel.is-loading img{
  opacity:0 !important;
}

.modal-product-image-panel.is-loading::before{
  content:'';
  position:absolute;
  width:28px;
  height:28px;
  border-radius:50%;
  border:2px solid rgba(201,168,76,.2);
  border-top-color:#d4af37;
  animation:modalSpin .8s linear infinite;
}

@keyframes modalSpin{
  to{
    transform:rotate(360deg);
  }
}


/* Limpieza total de imagen al cerrar modal */
.modal-product-image-panel.hidden{
  display:none !important;
}

.modal-product-image-panel img:not([src]),
.modal-product-image-panel img[src=""]{
  display:none !important;
  opacity:0 !important;
}


/* Animación premium de imagen modal */
.modal-product-image-panel{
  overflow:hidden;
}

#modalProductSideImage{
  opacity:0;
  transform:scale(.96);
  transition:
    opacity 2s ease,
    transform 2s ease;
  will-change:opacity, transform;
}

#modalProductSideImage[src]{
  opacity:1;
  transform:scale(1);
}

.modal-product-image-panel.is-loading #modalProductSideImage{
  opacity:0 !important;
  transform:scale(.96) !important;
}


/* TOTAL MÁS GRANDE */
.pos-total-row{
    padding-top: 18px;
    padding-bottom: 18px;
}

.pos-total-row .label,
.pos-total-row span:first-child{
    font-size: 32px !important;
    font-weight: 800 !important;
    letter-spacing: .5px;
}

.pos-total-row .value,
.pos-total-row span:last-child{
    font-size: 72px !important;
    font-weight: 900 !important;
    line-height: 1;
}


/* FIX REAL TOTAL */
.pos-total-row{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:20px;
    padding:24px 0 !important;
}

.pos-total-row *{
    line-height:1 !important;
}

.pos-total-row .total-label,
.pos-total-row h2,
.pos-total-row strong,
.pos-total-row span:first-child{
    font-size:42px !important;
    font-weight:900 !important;
}

.pos-total-row .total-value,
.pos-total-row .price,
.pos-total-row span:last-child{
    font-size:82px !important;
    font-weight:900 !important;
    color:#46d39a !important;
}


/* ===== MODAL NUEVO LAYOUT ===== */

.modal-product-options{
    display:flex !important;
    flex-direction:column !important;
    gap:18px !important;
    width:100% !important;
}

/* Sellado arriba fijo */
.option-sellado{
    width:100% !important;
    min-width:100% !important;
    max-width:100% !important;
}

/* Decants alineados */
.modal-decants-grid{
    display:grid !important;
    grid-template-columns:repeat(4, 1fr) !important;
    gap:12px !important;
    width:100% !important;
}

.modal-decants-grid .product-option{
    width:100% !important;
    height:92px !important;
    min-width:0 !important;

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

    text-align:center !important;
    overflow:hidden !important;
}

.modal-decants-grid .product-option *{
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
}


/* Orden fijo real de opciones del modal */
#modalOptions,
.modal-options{
  display:flex !important;
  flex-direction:column !important;
  gap:16px !important;
  width:100% !important;
  align-items:stretch !important;
}

.modal-sellado-row{
  width:100% !important;
  display:block !important;
}

.modal-sellado-row .modal-option,
.modal-option-sellado{
  width:100% !important;
  min-width:100% !important;
  max-width:100% !important;
  height:58px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-direction:column !important;
  text-align:center !important;
  border-radius:999px !important;
}

.modal-decants-row{
  width:100% !important;
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  gap:10px !important;
}

.modal-decants-row .modal-option,
.modal-option-decant{
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  height:64px !important;
  padding:8px 6px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-direction:column !important;
  text-align:center !important;
  border-radius:999px !important;
  overflow:hidden !important;
}

.modal-decants-row .modal-option span,
.modal-decants-row .modal-option strong,
.modal-option-decant span,
.modal-option-decant strong{
  display:block !important;
  width:100% !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  line-height:1.1 !important;
}

.modal-decants-row .modal-option span,
.modal-option-decant span{
  font-size:.76rem !important;
}

.modal-decants-row .modal-option strong,
.modal-option-decant strong{
  font-size:.68rem !important;
}

@media(max-width:700px){
  .modal-decants-row{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}


/* Decants visibles sin cortar texto */
.modal-decants-row{
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:10px !important;
}

.modal-decants-row .modal-opt,
.modal-option-decant{
  height:58px !important;
  min-width:0 !important;
  padding:8px 10px !important;
  border-radius:999px !important;
}

.modal-decants-row .modal-opt span,
.modal-decants-row .modal-opt small,
.modal-option-decant span,
.modal-option-decant small{
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:unset !important;
  line-height:1.12 !important;
  text-align:center !important;
}

.modal-decants-row .modal-opt-label,
.modal-option-decant .modal-opt-label{
  font-size:.78rem !important;
  font-weight:600 !important;
}

.modal-decants-row small,
.modal-option-decant small{
  font-size:.68rem !important;
}


/* Marca arriba gris y perfume abajo dorado en modal */
#modalPerfumeName{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:6px !important;
  line-height:1.08 !important;
  margin-bottom:12px !important;
}

#modalPerfumeName .modal-brand-name{
  color:#8d8d8d !important;
  font-size:.95rem !important;
  font-weight:600 !important;
  letter-spacing:1.4px !important;
  text-transform:uppercase !important;
  font-family:'Montserrat', sans-serif !important;
}

#modalPerfumeName .modal-product-name{
  color:var(--gold) !important;
  font-size:1.95rem !important;
  font-weight:700 !important;
  letter-spacing:.6px !important;
  text-transform:uppercase !important;
  font-family:'Cormorant Garamond', serif !important;
  line-height:1.05 !important;
}


/* ===== MODAL PROPUESTA FINAL PROPORCIONAL ===== */
#addToCartModal .modal-card{
  width:min(1040px, 88vw) !important;
  max-width:1040px !important;
  min-height:600px !important;
  padding:48px 54px !important;
  border-radius:24px !important;
  background:linear-gradient(145deg, rgba(29,29,29,.98), rgba(15,15,15,.98)) !important;
  box-shadow:0 26px 78px rgba(0,0,0,.72) !important;
}

#addToCartModal .modal-close{
  top:24px !important;
  right:28px !important;
  font-size:2rem !important;
  z-index:10 !important;
}

#addToCartModal .modal-product-layout{
  display:grid !important;
  grid-template-columns:minmax(500px, 1fr) 350px !important;
  gap:54px !important;
  align-items:center !important;
}

#addToCartModal .modal-product-main{
  min-width:0 !important;
}

#modalPerfumeName{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:12px !important;
  margin:0 0 22px !important;
  line-height:1 !important;
}

#modalPerfumeName .modal-brand-name{
  color:#9d9d9d !important;
  font-family:'Montserrat', sans-serif !important;
  font-size:.98rem !important;
  font-weight:700 !important;
  letter-spacing:2.6px !important;
  text-transform:uppercase !important;
}

#modalPerfumeName .modal-product-name{
  color:var(--gold) !important;
  font-family:'Cormorant Garamond', serif !important;
  font-size:2.8rem !important;
  font-weight:700 !important;
  letter-spacing:.7px !important;
  line-height:1 !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}

#addToCartModal .modal-sub{
  font-size:1.08rem !important;
  margin-bottom:30px !important;
  color:rgba(255,255,255,.7) !important;
}

#modalOptions{
  display:flex !important;
  flex-direction:column !important;
  gap:26px !important;
  width:100% !important;
  margin-bottom:32px !important;
}

.modal-sellado-row{
  width:100% !important;
}

.modal-sellado-row .modal-opt{
  width:100% !important;
  height:86px !important;
  border-radius:999px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-direction:column !important;
  text-align:center !important;
}

.modal-sellado-row .modal-opt .modal-opt-label{
  font-size:1.16rem !important;
  font-weight:800 !important;
}

.modal-sellado-row .modal-opt small{
  font-size:.98rem !important;
  font-weight:800 !important;
}

.modal-decants-row{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  gap:10px !important;
  width:100% !important;
}

.modal-decants-row .modal-opt{
  height:116px !important;
  border-radius:14px !important;
  padding:14px 8px !important;
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  flex-direction:column !important;
  text-align:center !important;
  min-width:0 !important;
  overflow:hidden !important;
}

.modal-decants-row .modal-opt .modal-opt-label{
  font-size:.95rem !important;
  font-weight:800 !important;
  line-height:1.12 !important;
  white-space:nowrap !important;
}

.modal-decants-row .modal-opt small{
  font-size:.88rem !important;
  line-height:1.1 !important;
  white-space:nowrap !important;
  color:var(--gold) !important;
}

#addToCartModal .modal-qty-wrap{
  margin-top:24px !important;
  margin-bottom:32px !important;
  gap:18px !important;
  font-size:1.08rem !important;
}

#addToCartModal .qty-btn{
  width:46px !important;
  height:46px !important;
  font-size:1.75rem !important;
}

#addToCartModal .qty-input{
  width:94px !important;
  height:54px !important;
  font-size:1.28rem !important;
}

#modalAddBtn{
  height:70px !important;
  border-radius:8px !important;
  font-size:1.08rem !important;
  letter-spacing:2px !important;
  width:100% !important;
}

#addToCartModal .modal-product-image-panel{
  width:350px !important;
  height:480px !important;
  min-height:480px !important;
  border:1.5px solid rgba(212,176,76,.58) !important;
  border-radius:24px !important;
  background:rgba(0,0,0,.25) !important;
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  padding:34px !important;
  overflow:hidden !important;
}

#modalProductSideImage{
  max-width:100% !important;
  max-height:100% !important;
  width:auto !important;
  height:auto !important;
  object-fit:contain !important;
  display:block !important;
  margin:auto !important;
  filter:drop-shadow(0 22px 34px rgba(0,0,0,.6)) !important;
}

@media(max-width:1050px){
  #addToCartModal .modal-card{
    width:min(760px, 92vw) !important;
    padding:36px 34px !important;
  }

  #addToCartModal .modal-product-layout{
    grid-template-columns:1fr !important;
    gap:30px !important;
  }

  #addToCartModal .modal-product-image-panel{
    width:100% !important;
    height:340px !important;
    min-height:340px !important;
  }

  #modalPerfumeName .modal-product-name{
    white-space:normal !important;
    font-size:2.35rem !important;
  }
}

@media(max-width:700px){
  .modal-decants-row{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}


/* FIX: precio visible cuando una opción del modal está seleccionada */
#modalOptions .modal-opt.selected small,
#modalOptions .modal-opt.selected .modal-opt-label{
  color:#050505 !important;
}

#modalOptions .modal-opt.selected small{
  font-weight:900 !important;
}

#modalOptions .modal-opt.selected{
  color:#050505 !important;
}


/* Lista principal: nombre del perfume dorado, marca gris */
#catalogBody .pf-name-gold{
  display:block !important;
  color:var(--gold) !important;
  font-family:'Cormorant Garamond', serif !important;
  font-size:1.35rem !important;
  font-weight:700 !important;
  letter-spacing:.5px !important;
  text-transform:uppercase !important;
  line-height:1.05 !important;
  margin-bottom:5px !important;
}

#catalogBody .pf-brand-gray{
  display:block !important;
  color:#9a9a9a !important;
  font-family:'Montserrat', sans-serif !important;
  font-size:.74rem !important;
  font-weight:600 !important;
  letter-spacing:.45px !important;
  text-transform:uppercase !important;
  line-height:1.1 !important;
}


/* Imágenes en Tu Cotización */
.quote-item{
  display:grid !important;
  grid-template-columns:52px minmax(0, 1fr) auto auto auto !important;
  align-items:center !important;
  gap:14px !important;
}

.quote-img-wrap{
  width:52px;
  height:52px;
  border:1px solid var(--black-border);
  border-radius:10px;
  background:#0b0b0b;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  flex-shrink:0;
}

.quote-thumb{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  padding:5px;
}

.quote-thumb-placeholder{
  color:var(--gold);
  font-weight:800;
  font-family:'Cormorant Garamond', serif;
  font-size:1.3rem;
}

@media(max-width:700px){
  .quote-item{
    grid-template-columns:46px minmax(0, 1fr) !important;
    gap:10px !important;
  }

  .quote-img-wrap{
    width:46px;
    height:46px;
  }
}


/* =========================================================
   FASE 1: Header superior POS limpio
   ========================================================= */

#pos-section .pos-header{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  height:72px !important;
  margin:0 !important;
  padding:0 28px !important;

  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:1rem !important;

  background:#050505 !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
  box-shadow:none !important;
  z-index:999 !important;
}

#pos-section .pos-header-brand{
  height:72px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:0 !important;
  min-width:0 !important;
}

#pos-section .pos-header-logo{
  width:185px !important;
  height:52px !important;
  max-width:185px !important;
  max-height:52px !important;
  object-fit:contain !important;
  display:block !important;
  filter:drop-shadow(0 6px 15px rgba(201,168,76,.14)) !important;
}

/* En el header superior solo va el logo; título queda abajo */
#pos-section .pos-header-brand > div{
  display:none !important;
}

#pos-section .pos-header-actions{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:0 !important;
}

#pos-section #newPosSaleBtn,
#pos-section .pos-hidden-new-sale{
  display:none !important;
}

#pos-section #backAdminBtn{
  height:38px !important;
  padding:0 18px !important;
  border-radius:8px !important;
  border:1px solid rgba(255,255,255,.16) !important;
  background:rgba(255,255,255,.02) !important;
  color:#f2f2f2 !important;
  font-size:.76rem !important;
  font-weight:700 !important;
  letter-spacing:.35px !important;
  box-shadow:none !important;
}

#pos-section #backAdminBtn:hover{
  border-color:rgba(201,168,76,.6) !important;
  color:var(--gold) !important;
  background:rgba(201,168,76,.055) !important;
}

/* El contenido baja para no encimarse con el header fijo */
#pos-section.pos-section{
  padding-top:100px !important;
}

@media(max-width:700px){
  #pos-section .pos-header{
    height:66px !important;
    padding:0 16px !important;
  }

  #pos-section .pos-header-brand{
    height:66px !important;
  }

  #pos-section .pos-header-logo{
    width:145px !important;
    height:44px !important;
  }

  #pos-section #backAdminBtn{
    height:36px !important;
    padding:0 13px !important;
    font-size:.68rem !important;
  }

  #pos-section.pos-section{
    padding-top:90px !important;
  }
}


/* ===== BRANDING HEADER ===== */

#pos-section .pos-header{
  padding:0 22px !important;
}

#pos-section .pos-header-brand{
  gap:14px !important;
}

#pos-section .pos-header-logo{
  width:58px !important;
  height:58px !important;
  max-width:58px !important;
  max-height:58px !important;
  object-fit:contain !important;
  flex-shrink:0 !important;
}

#pos-section .pos-header-branding{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:flex-start !important;
  gap:1px !important;
  transform:translateY(-1px);
}

#pos-section .pos-brand-main{
  color:#d5ae4b !important;
  font-size:2rem !important;
  font-weight:700 !important;
  letter-spacing:.18em !important;
  line-height:1 !important;
  font-family:'Cormorant Garamond', serif !important;
}

#pos-section .pos-brand-sub{
  color:rgba(255,255,255,.7) !important;
  font-size:.56rem !important;
  letter-spacing:.42em !important;
  line-height:1 !important;
  font-weight:600 !important;
}



/* ===== FIX REAL HEADER BRANDING ===== */
#pos-section .pos-header{
  height:72px !important;
  padding:0 28px !important;
  background:#050505 !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
}

#pos-section .pos-header-brand{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:14px !important;
  height:72px !important;
}

/* No ocultar el branding nuevo */
#pos-section .pos-header-brand > div.pos-header-branding{
  display:flex !important;
}

#pos-section .pos-header-logo{
  width:54px !important;
  height:54px !important;
  max-width:54px !important;
  max-height:54px !important;
  object-fit:contain !important;
  flex-shrink:0 !important;
  display:block !important;
}

#pos-section .pos-header-branding{
  flex-direction:column !important;
  justify-content:center !important;
  align-items:flex-start !important;
  gap:3px !important;
}

#pos-section .pos-brand-main{
  color:#d4af37 !important;
  font-family:'Cormorant Garamond', serif !important;
  font-size:1.9rem !important;
  font-weight:700 !important;
  letter-spacing:.22em !important;
  line-height:.9 !important;
}

#pos-section .pos-brand-sub{
  color:rgba(255,255,255,.72) !important;
  font-size:.52rem !important;
  font-weight:600 !important;
  letter-spacing:.55em !important;
  line-height:1 !important;
  padding-left:4px !important;
}

#pos-section #backAdminBtn{
  height:38px !important;
  padding:0 18px !important;
  border-radius:8px !important;
}

#pos-section #newPosSaleBtn,
#pos-section .pos-hidden-new-sale{
  display:none !important;
}


/* =========================================================
   CARRITO POS: mostrar solo 3 productos y usar scroll interno
   ========================================================= */

/* Mantiene el resto del diseño igual; solo controla la altura del carrito */
#pos-section .pos-cart-list{
  max-height: 255px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding-right: 6px !important;
}

/* Altura estable por producto para que se vean 3 completos */
#pos-section .pos-cart-row{
  min-height: 82px !important;
}

/* Scroll elegante solo dentro del carrito */
#pos-section .pos-cart-list::-webkit-scrollbar{
  width: 6px !important;
}

#pos-section .pos-cart-list::-webkit-scrollbar-track{
  background: rgba(255,255,255,.04) !important;
  border-radius: 999px !important;
}

#pos-section .pos-cart-list::-webkit-scrollbar-thumb{
  background: rgba(201,168,76,.72) !important;
  border-radius: 999px !important;
}

#pos-section .pos-cart-list{
  scrollbar-width: thin;
  scrollbar-color: rgba(201,168,76,.72) rgba(255,255,255,.04);
}


/* =========================================================
   POS FIJO SIN ALARGAR LA INTERFAZ
   ========================================================= */

/* La página normal conserva su scroll */
html,
body{
  overflow-x:hidden !important;
  overflow-y:auto !important;
}

/* Solo cuando se abre Punto de Venta se bloquea el scroll general */
body.pos-mode{
  overflow:hidden !important;
}

/* Mantiene la proporción visual existente, sin estirar paneles */
body.pos-mode #pos-section{
  max-height:100vh !important;
  overflow:hidden !important;
}

/* Evita que se genere scroll general dentro del POS */
body.pos-mode #pos-section .pos-pane.active{
  overflow:hidden !important;
}

/* Las listas internas siguen siendo las únicas con scroll */
body.pos-mode #pos-section .pos-product-list,
body.pos-mode #pos-section .pos-cart-list{
  overflow-y:auto !important;
  overflow-x:hidden !important;
}


/* =========================================
   QUITAR DOBLE LÍNEA INFERIOR DEL CARRITO
   ========================================= */

.pos-cart-footer{
    border-top:none !important;
    padding-top:10px !important;
    margin-top:0 !important;
}

.pos-cart-actions{
    margin-top:8px !important;
}


/* =========================================
   ELIMINAR DOBLE LÍNEA DEL FOOTER
   ========================================= */

/* elimina la línea superior extra */
.pos-cart-summary{
    border-top:none !important;
}

/* elimina cualquier separador adicional */
.pos-cart-footer::before,
.pos-cart-summary::before,
.pos-cart-actions::before{
    display:none !important;
    content:none !important;
}

/* mantiene solamente la línea inferior natural */
.pos-cart-actions{
    border-top:none !important;
    padding-top:10px !important;
    margin-top:8px !important;
}


/* =========================================
   ELIMINAR LAS DOS LÍNEAS DEL ÁREA INFERIOR
   ========================================= */

/* quita TODOS los bordes superiores del bloque inferior */
.pos-summary-section,
.pos-summary,
.pos-cart-summary,
.pos-cart-footer,
.pos-payment-section,
.pos-totals-section{
    border-top:none !important;
}

/* elimina pseudo-elementos que generan líneas */
.pos-summary-section::before,
.pos-summary::before,
.pos-cart-summary::before,
.pos-cart-footer::before,
.pos-payment-section::before,
.pos-totals-section::before,
.pos-summary-section::after,
.pos-summary::after,
.pos-cart-summary::after,
.pos-cart-footer::after{
    display:none !important;
    content:none !important;
}

/* deja solo una separación limpia */
.pos-cart-actions{
    margin-top:12px !important;
    padding-top:0 !important;
    border-top:none !important;
}


/* =========================================
   SOLO 2 PRODUCTOS VISIBLES EN CARRITO
   ========================================= */

.pos-cart-list{
    max-height: 235px !important;
    min-height: 235px !important;
    overflow-y: auto !important;
}


/* =========================================================
   FIX REAL: SOLO 2 PRODUCTOS VISIBLES EN EL CARRITO POS
   ========================================================= */

/* Altura fija de cada producto del carrito */
#pos-section .pos-cart-row,
.pos-section .pos-cart-row,
.pos-cart-panel .pos-cart-row{
  height:70px !important;
  min-height:70px !important;
  max-height:70px !important;
  box-sizing:border-box !important;
}

/* 2 productos exactos: 70px x 2 = 140px */
#pos-section .pos-cart-list,
.pos-section .pos-cart-list,
.pos-cart-panel .pos-cart-list,
#posCartList{
  height:140px !important;
  min-height:140px !important;
  max-height:140px !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding-right:6px !important;
  box-sizing:border-box !important;
}

/* Cuando está vacío, mantiene la misma altura sin crecer */
#pos-section .pos-cart-list .pos-empty,
#posCartList .pos-empty{
  height:140px !important;
  min-height:140px !important;
  max-height:140px !important;
  margin:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

/* Scroll interno limpio */
#posCartList::-webkit-scrollbar{
  width:6px !important;
}

#posCartList::-webkit-scrollbar-track{
  background:rgba(255,255,255,.04) !important;
  border-radius:999px !important;
}

#posCartList::-webkit-scrollbar-thumb{
  background:rgba(201,168,76,.72) !important;
  border-radius:999px !important;
}


/* =========================================
   IMÁGENES SEGURAS EN CARRITO POS
   ========================================= */

#pos-section .pos-cart-product{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  min-width:0 !important;
}

#pos-section .pos-cart-thumb{
  width:46px !important;
  height:46px !important;
  min-width:46px !important;
  border-radius:10px !important;
  object-fit:contain !important;
  background:rgba(255,255,255,.025) !important;
  border:1px solid rgba(255,255,255,.07) !important;
  padding:4px !important;
  box-sizing:border-box !important;
}

#pos-section .pos-cart-product-info{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  min-width:0 !important;
}

#pos-section .pos-cart-product-info strong,
#pos-section .pos-cart-product-info span{
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}


/* =========================================
   SCROLL SOLO EN VENTAS Y ESTADÍSTICAS
   ========================================= */

/* Punto de venta fijo */
body.pos-fixed,
body.pos-fixed html{
  overflow:hidden !important;
}

/* Ventas y estadísticas sí pueden hacer scroll */
#sales-section,
#stats-section{
  overflow-y:auto !important;
  max-height:none !important;
}

/* Restaurar scroll normal fuera del POS */
body.allow-scroll{
  overflow-y:auto !important;
}


/* =========================================================
   FIX REAL: SCROLL EN PANELES VENTAS Y ESTADÍSTICAS DEL POS
   ========================================================= */

/* Venta actual sigue fija */
#pos-pane-venta.active{
  overflow:hidden !important;
}

/* Ventas y estadísticas sí pueden desplazarse */
#pos-pane-ventas.active,
#pos-pane-estadisticas.active{
  height:calc(100vh - 140px) !important;
  max-height:calc(100vh - 140px) !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding-right:8px !important;
}

/* Si internamente tienen panel ancho, que no bloquee el scroll */
#pos-pane-ventas.active .pos-panel-wide,
#pos-pane-estadisticas.active .pos-panel-wide{
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
}

/* Scroll visual elegante */
#pos-pane-ventas::-webkit-scrollbar,
#pos-pane-estadisticas::-webkit-scrollbar{
  width:6px !important;
}

#pos-pane-ventas::-webkit-scrollbar-track,
#pos-pane-estadisticas::-webkit-scrollbar-track{
  background:rgba(255,255,255,.04) !important;
  border-radius:999px !important;
}

#pos-pane-ventas::-webkit-scrollbar-thumb,
#pos-pane-estadisticas::-webkit-scrollbar-thumb{
  background:rgba(201,168,76,.72) !important;
  border-radius:999px !important;
}


/* =========================================================
   FIX DEFINITIVO: SCROLL EN VENTAS Y ESTADÍSTICAS
   ========================================================= */

/* El contenedor POS puede seguir fijo */
body.pos-mode{
  overflow:hidden !important;
}

/* Venta actual permanece fija */
#pos-pane-venta.pos-pane.active{
  overflow:hidden !important;
}

/* Los otros panes sí tienen scroll propio */
#pos-pane-ventas.pos-pane.active,
#pos-pane-estadisticas.pos-pane.active,
#pos-pane-ventas.active,
#pos-pane-estadisticas.active{
  display:block !important;
  height:calc(100vh - 150px) !important;
  max-height:calc(100vh - 150px) !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding-right:10px !important;
  box-sizing:border-box !important;
  scrollbar-width:thin !important;
  scrollbar-color:rgba(201,168,76,.75) rgba(255,255,255,.04) !important;
}

/* Muy importante: los paneles internos no deben bloquear el scroll del pane */
#pos-pane-ventas.active .pos-panel-wide,
#pos-pane-estadisticas.active .pos-panel-wide,
#pos-pane-ventas.active .admin-table-wrap,
#pos-pane-estadisticas.active .admin-table-wrap{
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
}

/* Permite contenido largo dentro de ventas/estadísticas */
#pos-pane-ventas.active > *,
#pos-pane-estadisticas.active > *{
  max-height:none !important;
}

/* Scroll webkit */
#pos-pane-ventas.pos-pane.active::-webkit-scrollbar,
#pos-pane-estadisticas.pos-pane.active::-webkit-scrollbar{
  width:7px !important;
}

#pos-pane-ventas.pos-pane.active::-webkit-scrollbar-track,
#pos-pane-estadisticas.pos-pane.active::-webkit-scrollbar-track{
  background:rgba(255,255,255,.04) !important;
  border-radius:999px !important;
}

#pos-pane-ventas.pos-pane.active::-webkit-scrollbar-thumb,
#pos-pane-estadisticas.pos-pane.active::-webkit-scrollbar-thumb{
  background:rgba(201,168,76,.75) !important;
  border-radius:999px !important;
}

/* Fallback: si el navegador está desplazando la sección, permitirlo solo fuera de venta actual */
#pos-section:has(#pos-pane-ventas.active),
#pos-section:has(#pos-pane-estadisticas.active){
  overflow:hidden !important;
}


/* =========================================================
   VENTAS: SCROLL INTERNO SOLO EN LA TABLA
   ========================================================= */

/* El panel de ventas queda fijo */
#pos-pane-ventas.active{
  overflow:hidden !important;
}

/* El contenedor general no debe crecer */
#pos-pane-ventas.active .pos-panel-wide{
  height:calc(100vh - 160px) !important;
  max-height:calc(100vh - 160px) !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
  box-sizing:border-box !important;
}

/* Resumen y encabezado quedan fijos */
#pos-pane-ventas.active .admin-toolbar,
#pos-pane-ventas.active .sales-summary{
  flex:0 0 auto !important;
}

/* Solo la tabla tiene scroll */
#pos-pane-ventas.active .admin-table-wrap{
  flex:1 1 auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow-y:auto !important;
  overflow-x:auto !important;
  padding-right:6px !important;
  margin-top:14px !important;
}

/* Header de tabla fijo visualmente */
#pos-pane-ventas.active .admin-table thead th{
  position:sticky !important;
  top:0 !important;
  z-index:2 !important;
  background:#111 !important;
}

/* Scroll elegante */
#pos-pane-ventas.active .admin-table-wrap::-webkit-scrollbar{
  width:7px !important;
  height:7px !important;
}

#pos-pane-ventas.active .admin-table-wrap::-webkit-scrollbar-track{
  background:rgba(255,255,255,.04) !important;
  border-radius:999px !important;
}

#pos-pane-ventas.active .admin-table-wrap::-webkit-scrollbar-thumb{
  background:rgba(201,168,76,.72) !important;
  border-radius:999px !important;
}


/* =========================================================
   VENTAS: EXACTAMENTE ~10 FILAS VISIBLES
   ========================================================= */

#pos-pane-ventas.active .admin-table-wrap{
  max-height:520px !important;
  height:520px !important;
  overflow-y:auto !important;
  overflow-x:auto !important;
}


/* =========================================================
   VENTAS: GUI ADAPTADA A 10 REGISTROS VISIBLES
   ========================================================= */

/* El panel ya no se estira hasta abajo; se adapta al contenido */
#pos-pane-ventas.active .pos-panel-wide{
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
  padding-bottom:18px !important;
}

/* La tabla tiene altura exacta para 10 filas aprox. */
#pos-pane-ventas.active .admin-table-wrap{
  height:500px !important;
  max-height:500px !important;
  min-height:0 !important;
  overflow-y:auto !important;
  overflow-x:auto !important;
  margin-top:14px !important;
  border-radius:12px !important;
  border:1px solid rgba(255,255,255,.06) !important;
}

/* Evita que la tabla deje espacio vacío de más */
#pos-pane-ventas.active .admin-table{
  margin-bottom:0 !important;
}

/* Encabezado fijo dentro del scroll */
#pos-pane-ventas.active .admin-table thead th{
  position:sticky !important;
  top:0 !important;
  z-index:3 !important;
  background:#111 !important;
}

/* El pane sí puede respirar, pero sin forzar altura enorme */
#pos-pane-ventas.active{
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
}

/* Scroll visual */
#pos-pane-ventas.active .admin-table-wrap::-webkit-scrollbar{
  width:7px !important;
  height:7px !important;
}

#pos-pane-ventas.active .admin-table-wrap::-webkit-scrollbar-track{
  background:rgba(255,255,255,.04) !important;
  border-radius:999px !important;
}

#pos-pane-ventas.active .admin-table-wrap::-webkit-scrollbar-thumb{
  background:rgba(201,168,76,.72) !important;
  border-radius:999px !important;
}


/* =========================================================
   ESTADÍSTICAS: layout proporcionado dentro de pantalla
   ========================================================= */

/* El panel de estadísticas queda dentro del viewport */
#pos-pane-estadisticas.active{
  height:calc(100vh - 150px) !important;
  max-height:calc(100vh - 150px) !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding-right:8px !important;
  box-sizing:border-box !important;
}

/* El contenedor principal no debe estirarse de más */
#pos-pane-estadisticas.active .pos-panel-wide{
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
  padding:18px !important;
  box-sizing:border-box !important;
}

/* Tarjetas superiores más compactas */
#pos-pane-estadisticas.active .sales-summary,
#pos-pane-estadisticas.active .stats-summary{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:14px !important;
  margin:18px 0 14px !important;
}

#pos-pane-estadisticas.active .sales-card,
#pos-pane-estadisticas.active .stats-card{
  min-height:86px !important;
  padding:16px !important;
}

/* Gráficas en cuadrícula compacta */
#pos-pane-estadisticas.active .charts-grid,
#pos-pane-estadisticas.active .stats-grid,
#pos-pane-estadisticas.active .pos-stats-grid{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:14px !important;
  align-items:start !important;
}

/* Cada gráfica con altura razonable */
#pos-pane-estadisticas.active .chart-card,
#pos-pane-estadisticas.active .stats-chart,
#pos-pane-estadisticas.active .pos-chart-card{
  min-height:260px !important;
  max-height:320px !important;
  padding:16px !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}

/* La gráfica anual ocupa todo el ancho pero sin bajar demasiado */
#pos-pane-estadisticas.active .chart-card:last-child,
#pos-pane-estadisticas.active .stats-chart:last-child,
#pos-pane-estadisticas.active .pos-chart-card:last-child{
  grid-column:1 / -1 !important;
  min-height:280px !important;
  max-height:320px !important;
}

/* Canvas controlado para que no empuje la pantalla */
#pos-pane-estadisticas.active canvas{
  max-height:230px !important;
  width:100% !important;
}

/* Títulos más compactos */
#pos-pane-estadisticas.active .pane-title{
  margin-bottom:12px !important;
}

#pos-pane-estadisticas.active h3,
#pos-pane-estadisticas.active h4{
  margin-top:0 !important;
}

/* Scroll elegante interno */
#pos-pane-estadisticas.active::-webkit-scrollbar{
  width:7px !important;
}

#pos-pane-estadisticas.active::-webkit-scrollbar-track{
  background:rgba(255,255,255,.04) !important;
  border-radius:999px !important;
}

#pos-pane-estadisticas.active::-webkit-scrollbar-thumb{
  background:rgba(201,168,76,.72) !important;
  border-radius:999px !important;
}

/* Pantallas más bajas */
@media(max-height:850px){
  #pos-pane-estadisticas.active{
    height:calc(100vh - 132px) !important;
    max-height:calc(100vh - 132px) !important;
  }

  #pos-pane-estadisticas.active .sales-card,
  #pos-pane-estadisticas.active .stats-card{
    min-height:74px !important;
    padding:13px !important;
  }

  #pos-pane-estadisticas.active .chart-card,
  #pos-pane-estadisticas.active .stats-chart,
  #pos-pane-estadisticas.active .pos-chart-card{
    min-height:220px !important;
    max-height:260px !important;
  }

  #pos-pane-estadisticas.active .chart-card:last-child,
  #pos-pane-estadisticas.active .stats-chart:last-child,
  #pos-pane-estadisticas.active .pos-chart-card:last-child{
    min-height:235px !important;
    max-height:270px !important;
  }

  #pos-pane-estadisticas.active canvas{
    max-height:185px !important;
  }
}


/* =========================================================
   MODAL AGREGAR AL CARRITO - RESPONSIVE EXCLUSIVO MÓVIL
   No afecta escritorio.
   ========================================================= */

@media (max-width: 768px){

  #addToCartModal,
  .modal-overlay{
    align-items:flex-start !important;
    justify-content:center !important;
    padding:14px 10px !important;
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch !important;
  }

  #addToCartModal .modal-card{
    width:100% !important;
    max-width:430px !important;
    min-height:auto !important;
    max-height:none !important;
    margin:0 auto 18px !important;
    padding:30px 22px 26px !important;
    border-radius:22px !important;
    background:
      radial-gradient(circle at 50% 25%, rgba(212,175,55,.12), transparent 38%),
      linear-gradient(180deg, rgba(22,22,22,.98), rgba(7,7,7,.99)) !important;
    border:1px solid rgba(255,255,255,.12) !important;
    box-shadow:0 22px 70px rgba(0,0,0,.75) !important;
    overflow:visible !important;
  }

  #addToCartModal .modal-close{
    top:18px !important;
    right:18px !important;
    width:38px !important;
    height:38px !important;
    font-size:2rem !important;
    line-height:1 !important;
    z-index:20 !important;
  }

  #addToCartModal .modal-product-layout{
    display:flex !important;
    flex-direction:column !important;
    gap:18px !important;
    align-items:stretch !important;
  }

  #addToCartModal .modal-product-main{
    display:flex !important;
    flex-direction:column !important;
    width:100% !important;
  }

  #modalPerfumeName{
    margin:0 42px 12px 0 !important;
    gap:8px !important;
  }

  #modalPerfumeName .modal-brand-name{
    color:#a7a7a7 !important;
    font-size:.82rem !important;
    letter-spacing:2.8px !important;
    line-height:1.1 !important;
  }

  #modalPerfumeName .modal-product-name{
    color:var(--gold) !important;
    font-size:2.05rem !important;
    line-height:1.04 !important;
    letter-spacing:.7px !important;
    white-space:normal !important;
  }

  #addToCartModal .modal-sub{
    font-size:1rem !important;
    margin:0 0 16px !important;
    color:rgba(255,255,255,.72) !important;
  }

  #addToCartModal .modal-product-image-panel{
    order:2 !important;
    width:100% !important;
    height:310px !important;
    min-height:310px !important;
    padding:24px !important;
    border-radius:20px !important;
    border:1px solid rgba(212,175,55,.45) !important;
    background:
      radial-gradient(circle at center, rgba(212,175,55,.14), transparent 52%),
      rgba(0,0,0,.22) !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    margin:0 0 18px !important;
  }

  #modalProductSideImage{
    max-width:86% !important;
    max-height:92% !important;
    width:auto !important;
    height:auto !important;
    object-fit:contain !important;
  }

  #modalOptions{
    order:3 !important;
    gap:16px !important;
    margin:0 0 22px !important;
  }

  #modalOptions .modal-sellado-row{
    width:100% !important;
  }

  #modalOptions .modal-sellado-row .modal-opt{
    width:100% !important;
    height:74px !important;
    border-radius:20px !important;
    font-size:1rem !important;
    background:linear-gradient(135deg, #d8b64a, #f1cf64) !important;
    color:#090909 !important;
    border:none !important;
    box-shadow:0 10px 24px rgba(212,175,55,.16) !important;
  }

  #modalOptions .modal-sellado-row .modal-opt small,
  #modalOptions .modal-sellado-row .modal-opt .modal-opt-label{
    color:#090909 !important;
  }

  #modalOptions .modal-sellado-row .modal-opt .modal-opt-label{
    font-size:1.08rem !important;
  }

  #modalOptions .modal-sellado-row .modal-opt small{
    font-size:.92rem !important;
  }

  #modalOptions .modal-decants-row{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:12px !important;
    width:100% !important;
  }

  #modalOptions .modal-decants-row .modal-opt{
    height:96px !important;
    border-radius:16px !important;
    padding:12px 8px !important;
    background:rgba(255,255,255,.025) !important;
    border:1px solid rgba(255,255,255,.10) !important;
  }

  #modalOptions .modal-decants-row .modal-opt .modal-opt-label{
    white-space:normal !important;
    font-size:.96rem !important;
    line-height:1.15 !important;
  }

  #modalOptions .modal-decants-row .modal-opt small{
    font-size:.9rem !important;
    color:var(--gold) !important;
  }

  #modalOptions .modal-opt.selected{
    background:linear-gradient(135deg, #d8b64a, #f1cf64) !important;
    border-color:rgba(255,255,255,.28) !important;
    color:#080808 !important;
  }

  #modalOptions .modal-opt.selected small,
  #modalOptions .modal-opt.selected .modal-opt-label{
    color:#080808 !important;
  }

  #addToCartModal .modal-qty-wrap{
    order:4 !important;
    margin:0 0 20px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:14px !important;
  }

  #addToCartModal .modal-qty-wrap label{
    font-size:1rem !important;
  }

  #addToCartModal .qty-control{
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
  }

  #addToCartModal .qty-btn{
    width:42px !important;
    height:42px !important;
    border-radius:50% !important;
    font-size:1.55rem !important;
  }

  #addToCartModal .qty-input{
    width:70px !important;
    height:46px !important;
    border-radius:10px !important;
    font-size:1.1rem !important;
    text-align:center !important;
  }

  #modalAddBtn{
    order:5 !important;
    width:100% !important;
    height:62px !important;
    border-radius:14px !important;
    font-size:1rem !important;
    letter-spacing:1.4px !important;
    margin-top:0 !important;
  }
}

@media (max-width: 390px){
  #addToCartModal .modal-card{
    padding:26px 16px 22px !important;
  }

  #modalPerfumeName .modal-product-name{
    font-size:1.72rem !important;
  }

  #addToCartModal .modal-product-image-panel{
    height:260px !important;
    min-height:260px !important;
  }

  #modalOptions .modal-decants-row .modal-opt{
    height:88px !important;
  }

  #modalOptions .modal-decants-row .modal-opt .modal-opt-label{
    font-size:.86rem !important;
  }
}


/* =========================================================
   LISTA PRINCIPAL DE PERFUMES - RESPONSIVE EXCLUSIVO MÓVIL
   - Sin botón Agregar
   - Toda la tarjeta abre el modal
   - Precio menudeo verde dentro de la tarjeta
   - Sin scroll horizontal
   ========================================================= */

@media (max-width: 768px){

  body{
    overflow-x:hidden !important;
  }

  .filters-bar{
    display:flex !important;
    flex-direction:column !important;
    gap:12px !important;
    padding:0 16px !important;
    margin-bottom:18px !important;
  }

  .filters-bar .search-input{
    width:100% !important;
    height:48px !important;
    border-radius:14px !important;
    font-size:.95rem !important;
  }

  .filter-chips{
    width:100% !important;
    display:flex !important;
    gap:8px !important;
    overflow-x:auto !important;
    padding-bottom:2px !important;
    scrollbar-width:none !important;
  }

  .filter-chips::-webkit-scrollbar{
    display:none !important;
  }

  .chip{
    flex:0 0 auto !important;
    height:34px !important;
    padding:0 14px !important;
    font-size:.72rem !important;
    border-radius:999px !important;
  }

  .table-wrap{
    width:100% !important;
    overflow:visible !important;
    padding:0 14px 24px !important;
    border:none !important;
    background:transparent !important;
  }

  .catalog-table,
  .catalog-table thead,
  .catalog-table tbody,
  .catalog-table tr,
  .catalog-table td{
    display:block !important;
    width:100% !important;
    box-sizing:border-box !important;
  }

  .catalog-table thead{
    display:none !important;
  }

  #catalogBody{
    display:flex !important;
    flex-direction:column !important;
    gap:12px !important;
  }

  #catalogBody tr.mobile-add-card{
    position:relative !important;
    display:grid !important;
    grid-template-columns:92px minmax(0, 1fr) 22px !important;
    grid-template-areas:
      "img name arrow"
      "img price arrow" !important;
    column-gap:14px !important;
    align-items:center !important;

    min-height:128px !important;
    padding:14px 42px 14px 14px !important;
    border-radius:18px !important;
    border:1px solid rgba(201,168,76,.42) !important;
    background:linear-gradient(180deg, rgba(20,20,20,.96), rgba(8,8,8,.98)) !important;
    cursor:pointer !important;
    overflow:hidden !important;
  }

  #catalogBody tr.mobile-add-card:active{
    transform:scale(.992) !important;
  }

  #catalogBody tr.mobile-add-card::after{
    content:"›";
    position:absolute !important;
    right:16px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    color:var(--gold) !important;
    font-size:2.3rem !important;
    line-height:1 !important;
    font-family:Arial, sans-serif !important;
  }

  #catalogBody tr.mobile-add-card.unavailable{
    opacity:.45 !important;
    cursor:not-allowed !important;
  }

  #catalogBody .col-img{
    grid-area:img !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }

  #catalogBody .perfume-thumb,
  #catalogBody .perfume-placeholder{
    width:88px !important;
    height:100px !important;
    max-width:88px !important;
    max-height:100px !important;
    object-fit:contain !important;
    border-radius:12px !important;
    background:rgba(255,255,255,.025) !important;
    border:none !important;
    padding:4px !important;
  }

  #catalogBody .col-name{
    grid-area:name !important;
    padding:0 !important;
    min-width:0 !important;
  }

  #catalogBody .pf-brand,
  #catalogBody .pf-brand-gray{
    display:block !important;
    color:#a6a6a6 !important;
    font-size:.78rem !important;
    font-weight:600 !important;
    letter-spacing:.8px !important;
    text-transform:uppercase !important;
    line-height:1.15 !important;
    margin-bottom:4px !important;
  }

  #catalogBody .pf-name,
  #catalogBody .pf-name-gold{
    display:block !important;
    color:#fff !important;
    font-family:'Montserrat', sans-serif !important;
    font-size:1rem !important;
    font-weight:800 !important;
    letter-spacing:.1px !important;
    text-transform:uppercase !important;
    line-height:1.18 !important;
    white-space:normal !important;
    overflow:visible !important;
    margin:0 !important;
  }

  /* Ocultar columnas que provocan scroll horizontal */
  #catalogBody td:nth-child(3),
  #catalogBody .price-mayor,
  #catalogBody .action-cell,
  #catalogBody .btn-add{
    display:none !important;
  }

  /* Precio minorista dentro de la tarjeta, en verde */
  #catalogBody .price-base{
    grid-area:price !important;
    display:block !important;
    padding:0 !important;
    margin-top:8px !important;
    color:#48d879 !important;
    font-size:1.25rem !important;
    font-weight:900 !important;
    letter-spacing:.2px !important;
    text-align:left !important;
    white-space:nowrap !important;
  }

  #catalogBody .price-base::after{
    content:" menudeo";
    color:#9c9c9c !important;
    font-size:.68rem !important;
    font-weight:700 !important;
    letter-spacing:.6px !important;
    text-transform:uppercase !important;
    margin-left:5px !important;
  }

  .catalog-table{
    min-width:0 !important;
  }

  .main-content,
  main,
  .catalog-section{
    overflow-x:hidden !important;
  }
}

@media (max-width:390px){
  #catalogBody tr.mobile-add-card{
    grid-template-columns:78px minmax(0, 1fr) 18px !important;
    min-height:116px !important;
    padding:12px 34px 12px 12px !important;
    column-gap:12px !important;
  }

  #catalogBody .perfume-thumb,
  #catalogBody .perfume-placeholder{
    width:74px !important;
    height:88px !important;
  }

  #catalogBody .pf-name,
  #catalogBody .pf-name-gold{
    font-size:.9rem !important;
  }

  #catalogBody .price-base{
    font-size:1.08rem !important;
  }
}


/* =========================================================
   FIX MÓVIL: BÚSQUEDA + BOTÓN DE FILTROS ORDENADO
   ========================================================= */

@media (max-width: 768px){

  .filters-bar{
    display:flex !important;
    flex-direction:column !important;
    gap:10px !important;
    padding:0 16px !important;
    margin:0 0 18px 0 !important;
    overflow:visible !important;
  }

  .mobile-search-row{
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) 86px !important;
    gap:10px !important;
    align-items:center !important;
    width:100% !important;
  }

  .mobile-search-row .search-input,
  .filters-bar .search-input,
  #searchInput{
    width:100% !important;
    min-width:0 !important;
    height:46px !important;
    max-height:46px !important;
    padding:0 14px !important;
    border-radius:13px !important;
    box-sizing:border-box !important;
    font-size:.9rem !important;
    line-height:46px !important;
    overflow:hidden !important;
  }

  .mobile-filter-toggle{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:86px !important;
    height:46px !important;
    border-radius:13px !important;
    border:1px solid rgba(201,168,76,.55) !important;
    background:rgba(201,168,76,.10) !important;
    color:var(--gold) !important;
    font-size:.75rem !important;
    font-weight:800 !important;
    letter-spacing:.5px !important;
    cursor:pointer !important;
  }

  /* filtros ocultos por default en móvil para que no se vean desordenados */
  .filters-bar #catFilters,
  .filters-bar #sexFilters{
    display:none !important;
  }

  .filters-bar.mobile-filters-open #catFilters,
  .filters-bar.mobile-filters-open #sexFilters{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:8px !important;
    width:100% !important;
    overflow:visible !important;
    padding:2px 0 0 !important;
  }

  .filters-bar.mobile-filters-open #catFilters{
    margin-top:4px !important;
  }

  .filters-bar .chip{
    height:32px !important;
    padding:0 13px !important;
    border-radius:999px !important;
    font-size:.7rem !important;
    flex:0 0 auto !important;
  }

  /* evita scroll horizontal del área principal */
  .table-wrap,
  .catalog-table,
  #catalogBody,
  body,
  html{
    max-width:100% !important;
    overflow-x:hidden !important;
  }
}

@media (min-width: 769px){
  .mobile-search-row{
    display:contents !important;
  }

  .mobile-filter-toggle{
    display:none !important;
  }
}


/* =========================================================
   MOBILE: 4 FILTROS EN UNA SOLA FILA
   ========================================================= */

@media (max-width: 768px){

  .filters-bar.mobile-filters-open #catFilters{
    display:grid !important;
    grid-template-columns:repeat(4, minmax(0,1fr)) !important;
    gap:6px !important;
    width:100% !important;
  }

  .filters-bar.mobile-filters-open #catFilters .chip{
    width:100% !important;
    min-width:0 !important;
    padding:0 4px !important;
    height:30px !important;
    font-size:.62rem !important;
    letter-spacing:.3px !important;
    justify-content:center !important;
  }
}


/* =========================================================
   FIX MÓVIL: CARRITO COTIZACIÓN + CONTACTO
   ========================================================= */

@media (max-width: 768px){

  /* Evita que precio y controles de cantidad se encimen */
  .quote-item{
    display:grid !important;
    grid-template-columns:54px minmax(0, 1fr) !important;
    grid-template-areas:
      "img name"
      "img controls"
      "img price" !important;
    gap:8px 10px !important;
    align-items:center !important;
    padding:12px 0 !important;
  }

  .quote-img-wrap{
    grid-area:img !important;
    width:52px !important;
    height:52px !important;
  }

  .quote-thumb{
    width:52px !important;
    height:52px !important;
    object-fit:contain !important;
  }

  .qi-name{
    grid-area:name !important;
    min-width:0 !important;
    padding-right:24px !important;
  }

  .qi-brand,
  .qi-desc{
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    line-height:1.25 !important;
  }

  .qi-qty-wrap{
    grid-area:controls !important;
    justify-self:start !important;
    display:flex !important;
    align-items:center !important;
    gap:7px !important;
    margin-top:2px !important;
  }

  .qi-qty-btn{
    width:28px !important;
    height:28px !important;
    min-width:28px !important;
    border-radius:50% !important;
  }

  .qi-qty{
    min-width:22px !important;
    text-align:center !important;
  }

  .qi-price{
    grid-area:price !important;
    justify-self:start !important;
    color:#43c87e !important;
    font-size:.95rem !important;
    font-weight:800 !important;
    margin-top:0 !important;
    white-space:nowrap !important;
  }

  .qi-remove,
  .quote-remove{
    position:absolute !important;
    right:0 !important;
    top:14px !important;
  }

  /* Contáctanos: 3 redes alineadas en una fila */
  .contact-links,
  .social-links,
  .footer-socials,
  .contact-socials{
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    gap:8px !important;
    width:100% !important;
    align-items:center !important;
  }

  .contact-links a,
  .social-links a,
  .footer-socials a,
  .contact-socials a{
    width:100% !important;
    min-width:0 !important;
    justify-content:center !important;
    text-align:center !important;
    padding-left:6px !important;
    padding-right:6px !important;
    box-sizing:border-box !important;
    white-space:nowrap !important;
    font-size:.78rem !important;
  }
}

@media (max-width:390px){
  .contact-links a,
  .social-links a,
  .footer-socials a,
  .contact-socials a{
    font-size:.68rem !important;
    padding-left:4px !important;
    padding-right:4px !important;
  }
}


/* =========================================================
   COTIZACIÓN: borrar producto siempre visible + '-' elimina si queda 1
   ========================================================= */

.quote-item{
  position:relative !important;
}

.qi-remove,
.quote-remove{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:28px !important;
  height:28px !important;
  min-width:28px !important;
  border-radius:50% !important;
  border:1px solid rgba(255,255,255,.14) !important;
  background:rgba(255,255,255,.035) !important;
  color:rgba(255,255,255,.72) !important;
  font-size:1.2rem !important;
  line-height:1 !important;
  cursor:pointer !important;
  opacity:1 !important;
  visibility:visible !important;
  transition:.2s ease !important;
}

.qi-remove:hover,
.quote-remove:hover{
  color:#fff !important;
  background:rgba(204,70,70,.22) !important;
  border-color:rgba(204,70,70,.55) !important;
}

@media (max-width:768px){
  .qi-remove,
  .quote-remove{
    position:absolute !important;
    top:10px !important;
    right:0 !important;
    z-index:5 !important;
    width:30px !important;
    height:30px !important;
    min-width:30px !important;
    background:rgba(0,0,0,.42) !important;
  }

  .qi-name{
    padding-right:36px !important;
  }
}


/* =========================================================
   CONTACTO MOBILE + DESKTOP ALIGN FIX
   ========================================================= */

/* quitar círculo de la X */
.qi-remove,
.quote-remove{
  border:none !important;
  background:transparent !important;
  box-shadow:none !important;
  width:auto !important;
  height:auto !important;
  min-width:auto !important;
  border-radius:0 !important;
  padding:0 2px !important;
  font-size:1.4rem !important;
  color:rgba(255,255,255,.72) !important;
}

.qi-remove:hover,
.quote-remove:hover{
  background:transparent !important;
  color:#ff6a6a !important;
}

/* sección contáctanos */
.contact-section,
.contact-container,
.footer-contact{
  text-align:center !important;
}

.contact-section h2,
.contact-title,
.footer-logo-text{
  width:100% !important;
  text-align:center !important;
  justify-content:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.contact-section p,
.contact-subtitle,
.footer-tagline{
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* redes alineadas */
.contact-socials,
.social-links,
.footer-socials{
  width:100% !important;
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  gap:14px !important;
  flex-wrap:nowrap !important;
}

.contact-socials a,
.social-links a,
.footer-socials a{
  margin:0 !important;
}

@media (max-width:768px){

  .contact-section,
  .contact-container,
  .footer-contact{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
  }

  .contact-socials,
  .social-links,
  .footer-socials{
    justify-content:center !important;
    align-items:center !important;
    width:100% !important;
    gap:10px !important;
  }

  .contact-section h2,
  .contact-title,
  .footer-logo-text,
  .contact-section p,
  .contact-subtitle,
  .footer-tagline{
    text-align:center !important;
  }
}


/* =========================================================
   FIX REAL: X SIN CÍRCULO + FOOTER/CONTACTO CENTRADO
   ========================================================= */

/* X de cotización: completamente sin círculo */
.qi-remove,
.quote-remove,
button.qi-remove,
button.quote-remove{
  appearance:none !important;
  -webkit-appearance:none !important;
  position:absolute !important;
  right:0 !important;
  top:10px !important;
  display:inline !important;
  width:auto !important;
  height:auto !important;
  min-width:0 !important;
  min-height:0 !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  outline:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  background-color:transparent !important;
  box-shadow:none !important;
  color:rgba(255,255,255,.62) !important;
  font-size:1rem !important;
  line-height:1 !important;
  font-weight:500 !important;
}

.qi-remove:hover,
.quote-remove:hover,
button.qi-remove:hover,
button.quote-remove:hover{
  background:transparent !important;
  background-color:transparent !important;
  color:#ff6a6a !important;
  box-shadow:none !important;
}

/* Centrar todo el bloque de footer/contacto */
.site-footer,
.footer,
footer,
.contact-section,
.contact-container,
.footer-content,
.footer-brand,
.footer-contact,
.contact-block{
  text-align:center !important;
}

/* Logo/texto CASARIZ FRAGRANCE centrado */
.site-footer .footer-brand,
.site-footer .brand,
.site-footer .footer-logo,
.site-footer .brand-text,
.site-footer h2,
.site-footer h3,
footer .footer-brand,
footer .brand,
footer .footer-logo,
footer .brand-text,
footer h2,
footer h3{
  width:100% !important;
  max-width:100% !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Subtítulo “El aroma que te define” centrado */
.site-footer p,
footer p,
.footer-tagline,
.footer-subtitle,
.brand-tagline,
.contact-subtitle{
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Botones/redes centrados y en una sola fila */
.site-footer .social-links,
.site-footer .footer-socials,
.site-footer .contact-socials,
.site-footer .contact-links,
footer .social-links,
footer .footer-socials,
footer .contact-socials,
footer .contact-links,
.social-links,
.footer-socials,
.contact-socials,
.contact-links{
  width:100% !important;
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}

.site-footer .social-links a,
.site-footer .footer-socials a,
.site-footer .contact-socials a,
.site-footer .contact-links a,
footer .social-links a,
footer .footer-socials a,
footer .contact-socials a,
footer .contact-links a,
.social-links a,
.footer-socials a,
.contact-socials a,
.contact-links a{
  flex:0 1 auto !important;
  width:auto !important;
  min-width:0 !important;
  max-width:33% !important;
  margin:0 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  white-space:nowrap !important;
}

@media (max-width:768px){
  .site-footer,
  footer{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
  }

  .site-footer > *,
  footer > *{
    text-align:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .site-footer .social-links,
  .site-footer .footer-socials,
  .site-footer .contact-socials,
  .site-footer .contact-links,
  footer .social-links,
  footer .footer-socials,
  footer .contact-socials,
  footer .contact-links,
  .social-links,
  .footer-socials,
  .contact-socials,
  .contact-links{
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    gap:8px !important;
    justify-items:center !important;
    align-items:center !important;
    width:min(100%, 360px) !important;
  }

  .site-footer .social-links a,
  .site-footer .footer-socials a,
  .site-footer .contact-socials a,
  .site-footer .contact-links a,
  footer .social-links a,
  footer .footer-socials a,
  footer .contact-socials a,
  footer .contact-links a,
  .social-links a,
  .footer-socials a,
  .contact-socials a,
  .contact-links a{
    width:100% !important;
    max-width:none !important;
    padding-left:4px !important;
    padding-right:4px !important;
    font-size:.72rem !important;
  }
}


/* =========================================================
   FOOTER: restaurar layout PC y conservar centrado en móvil
   ========================================================= */

/* PC / escritorio: CASARIZ izquierda, Contáctanos derecha */
@media (min-width: 769px){

  .site-footer .footer-inner{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    align-items:start !important;
    gap:40px !important;
    width:100% !important;
    max-width:1200px !important;
    margin:0 auto !important;
  }

  .site-footer .footer-brand{
    display:block !important;
    text-align:left !important;
    justify-self:start !important;
    align-items:flex-start !important;
    margin:0 !important;
    width:auto !important;
  }

  .site-footer .footer-brand .logo-text{
    display:block !important;
    text-align:left !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    margin:0 !important;
    width:auto !important;
  }

  .site-footer .footer-brand .logo-main,
  .site-footer .footer-brand .logo-sub,
  .site-footer .footer-tagline{
    text-align:left !important;
  }

  .site-footer .footer-tagline{
    margin-left:0 !important;
    margin-right:0 !important;
  }

  .site-footer .footer-contact{
    display:block !important;
    text-align:left !important;
    justify-self:end !important;
    align-items:flex-start !important;
    margin:0 !important;
    width:auto !important;
  }

  .site-footer .footer-heading{
    text-align:left !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }

  .site-footer .social-links{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    justify-content:flex-start !important;
    align-items:center !important;
    gap:10px !important;
    width:auto !important;
    margin:0 !important;
  }

  .site-footer .social-links a{
    width:auto !important;
    max-width:none !important;
    flex:0 0 auto !important;
    margin:0 !important;
    justify-content:center !important;
  }
}

/* Móvil: todo centrado como quedó actualmente */
@media (max-width: 768px){

  .site-footer .footer-inner{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    gap:22px !important;
  }

  .site-footer .footer-brand,
  .site-footer .footer-brand .logo-text,
  .site-footer .footer-contact{
    width:100% !important;
    text-align:center !important;
    align-items:center !important;
    justify-content:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .site-footer .footer-brand .logo-main,
  .site-footer .footer-brand .logo-sub,
  .site-footer .footer-tagline,
  .site-footer .footer-heading{
    text-align:center !important;
  }

  .site-footer .footer-tagline{
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .site-footer .social-links{
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    gap:8px !important;
    width:min(100%, 360px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    justify-items:center !important;
    align-items:center !important;
  }

  .site-footer .social-links a{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    justify-content:center !important;
  }
}


/* =========================================================
   HEADER PC: logo/nombre con estilo similar al footer
   ========================================================= */

@media (min-width: 769px){

  .site-header{
    height:86px !important;
    min-height:86px !important;
    display:flex !important;
    align-items:center !important;
    border-bottom:1px solid rgba(255,255,255,.10) !important;
    background:#050505 !important;
  }

  .site-header .header-inner{
    width:100% !important;
    max-width:1200px !important;
    margin:0 auto !important;
    padding:0 28px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
  }

  .site-header .logo-link{
    display:flex !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    gap:20px !important;
    text-decoration:none !important;
  }

  .site-header .logo-mark{
    width:60px !important;
    height: 60px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex:0 0 56px !important;
  }

  .site-header .logo-img{
    width:80px !important;
    height:80px !important;
    max-width:80px !important;
    max-height:80px !important;
    object-fit:contain !important;
    display:block !important;
  }

  .site-header .logo-text{
    display:grid !important;
    grid-template-columns:auto auto !important;
    grid-template-areas:
      "main sub"
      "tag tag" !important;
    column-gap:8px !important;
    row-gap:4px !important;
    align-items:end !important;
    justify-content:center !important;
    text-align:center !important;
    margin-top:0 !important;
  }

  .site-header .logo-main{
    grid-area:main !important;
    color:var(--gold) !important;
    font-family:'Cormorant Garamond', serif !important;
    font-size:1.95rem !important;
    line-height:.88 !important;
    letter-spacing:.22em !important;
    font-weight:700 !important;
    text-align:left !important;
  }

  .site-header .logo-sub{
    grid-area:sub !important;
    color:rgba(255,255,255,.78) !important;
    font-family:'Montserrat', sans-serif !important;
    font-size:.86rem !important;
    line-height:1 !important;
    letter-spacing:.44em !important;
    font-weight:400 !important;
    text-align:left !important;
    margin-bottom:2px !important;
  }

}

/* Móvil conserva el header responsive anterior */
@media (max-width: 768px){
  .site-header .logo-text::after{
    content:none !important;
  }
}

/* =========================================================
   CORRECCIÓN PNG TRANSPARENTE — SIN FONDO NEGRO
   Aplica a catálogo, POS, admin y vista móvil.
   ========================================================= */
.perfume-thumb,
.admin-table img,
.catalog-table img,
.pos-product-card img,
.image-preview,
#catalogBody .perfume-thumb {
  object-fit: contain !important;
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
}

.perfume-thumb,
.pos-product-card img,
#catalogBody .perfume-thumb {
  padding: 2px !important;
  filter: drop-shadow(0 8px 12px rgba(0,0,0,.35));
}

/* Mantiene el contenedor elegante sin pintar de negro el PNG */
.col-img,
.pos-product-card,
.image-preview-wrap {
  background: transparent !important;
}

/* En móvil había otra regla que volvía a poner fondo a la imagen */
@media (max-width: 768px){
  #catalogBody .perfume-thumb {
    object-fit: contain !important;
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
  }
}

@media (max-width: 390px){
  #catalogBody .perfume-thumb {
    object-fit: contain !important;
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
  }
}


/* =========================================================
   HEADER MÓVIL FIJO — carrito siempre disponible
   ========================================================= */
.site-header{
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 99999 !important;
  background: rgba(10,10,10,0.97) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
}

body{
  padding-top: 74px !important;
}

@media (max-width: 768px){
  body{
    padding-top: 84px !important;
  }

  .site-header{
    min-height: 82px !important;
  }

  .header-inner{
    height: 82px !important;
    min-height: 82px !important;
  }

  .drawer{
    z-index: 100001 !important;
  }

  .drawer-overlay{
    z-index: 100000 !important;
  }
}

@media (max-width: 480px){
  body{
    padding-top: 86px !important;
  }

  .site-header{
    min-height: 84px !important;
  }

  .header-inner{
    height: 84px !important;
    min-height: 84px !important;
  }
}

/* Evita que anclas como #catalogo queden escondidas debajo del header fijo */
#top,
#catalogo,
#cotizacion,
#contacto,
#admin-section,
#pos-section{
  scroll-margin-top: 96px !important;
}


/* =========================================================
   FIX FINAL HEADER MÓVIL FIJO — fuera de cualquier media roto
   ========================================================= */
html, body{
  overflow-x:hidden !important;
}

.site-header{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  z-index:2147483000 !important;
  background:rgba(5,5,5,.98) !important;
  border-bottom:1px solid rgba(255,255,255,.10) !important;
  -webkit-transform:translateZ(0) !important;
  transform:translateZ(0) !important;
}

body{
  padding-top:86px !important;
}

@media (max-width:768px){
  .site-header{
    height:84px !important;
    min-height:84px !important;
  }

  .site-header .header-inner{
    height:84px !important;
    min-height:84px !important;
  }

  #catalogo{
    padding-top:2.5rem !important;
  }
}

#top,
#catalogo,
#cotizacion,
#contacto,
#admin-section,
#pos-section{
  scroll-margin-top:96px !important;
}

/* HEADER MÓVIL FIJO DEFINITIVO */
@media (max-width: 768px) {
  .site-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 99999 !important;
    background: #0a0a0a !important;
  }

  body {
    padding-top: 86px !important;
  }

  .main-content {
    padding-top: 3rem !important;
  }

  .drawer,
  .drawer-overlay {
    z-index: 100000 !important;
  }
}

@media (max-width: 768px){
  .site-header{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    z-index:99999 !important;
    transform:translate3d(0,0,0) !important;
    opacity:1 !important;
    transition:
      transform .42s cubic-bezier(.22,.61,.36,1),
      opacity .28s ease !important;
    will-change:transform, opacity;
  }

  body:not(.pos-mode){
    padding-top:86px !important;
  }

  body.header-stopped-at-quote:not(.pos-mode):not(.modal-open){
    padding-top:86px !important;
  }

  body.header-stopped-at-quote .site-header{
    display:block !important;
    transform:translate3d(0,-112%,0) !important;
    opacity:0 !important;
    pointer-events:none !important;
  }

  body.modal-open .site-header,
  body:has(#addToCartModal:not(.hidden)) .site-header{
    display:none !important;
  }

  #catalogo,
  #cotizacion,
  #contacto,
  #admin-section{
    scroll-margin-top:96px !important;
  }
}

#addToCartModal{
  z-index:100000 !important;
}

#addToCartModal .modal-card{
  z-index:100001 !important;
}



/* PC header no fijo, móvil mantiene comportamiento especial */
@media (min-width: 769px){
  .site-header{
    position: relative !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;
  }
  body{
    padding-top:0 !important;
  }
}


.wa-btn-icon{width:22px;height:22px;object-fit:contain;margin-right:0px;display:flex;vertical-align:middle;}
#copyQuoteBtn{display:flex;align-items:center;justify-content:center;gap:4px;}

#copyQuoteBtn{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;

    font-size:16px;      /* tamaño del texto */
    font-weight:500;     /* grosor */
}


/* Botón limpiar premium */
#clearQuoteBtn{
  width:56px !important;
  min-width:56px !important;
  height:56px !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:linear-gradient(180deg,#c92f38,#b42530) !important;
  border:none !important;
  color:#fff !important;
  border-radius:12px !important;
}
#clearQuoteBtn svg{
  width:22px !important;
  height:22px !important;
  stroke-width:1.2 !important;
  transform:translateY(-1px);
}
#clearQuoteBtn:hover{
  background:linear-gradient(180deg,#d63842,#c12b35) !important;
}

/* Ventas mejoradas */
.sales-search-wrap{
  margin:0 0 1rem;
  max-width:520px;
}

.sale-code{
  color:var(--gold);
  font-size:.78rem;
  white-space:nowrap;
}

.gender-chart-legend{
  display:flex;
  gap:14px;
  align-items:center;
  flex-wrap:wrap;
  margin:.25rem 0 .75rem;
  font-size:.72rem;
  letter-spacing:1px;
  text-transform:uppercase;
  color:var(--white-dim);
}

.gender-chart-legend span{
  display:inline-flex;
  align-items:center;
  gap:6px;
}

.gender-chart-legend span::before{
  content:'';
  width:10px;
  height:10px;
  border-radius:50%;
  display:inline-block;
}

.legend-hombre::before{ background:#2f80ed; }
.legend-mujer::before{ background:#ff5fa2; }
.legend-unisex::before{ background:var(--gold); }

.gender-chart-wrap .gender-bars{
  width:100%;
  height:100%;
  display:flex;
  align-items:end;
  justify-content:center;
  gap:3px;
}

.gender-bar{
  width:8px;
  min-height:4px;
  border-radius:6px 6px 0 0;
  box-shadow:0 0 12px rgba(255,255,255,.08);
}

.gender-hombre{ background:#2f80ed; }
.gender-mujer{ background:#ff5fa2; }
.gender-unisex{ background:var(--gold); }

/* Los Más Vendidos */
.best-sellers-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:1rem;
}

.best-seller-card{
  border:1px solid var(--black-border);
  border-radius:16px;
  background:rgba(255,255,255,.025);
  padding:1rem;
}

.best-seller-card h4{
  margin:0 0 1rem;
  color:var(--gold);
  font-size:.95rem;
  letter-spacing:1px;
}

.best-seller-list{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.best-row{
  display:grid;
  grid-template-columns:34px 58px minmax(0, 1fr) auto;
  gap:12px;
  align-items:center;
  padding:10px;
  border:1px solid rgba(255,255,255,.06);
  border-radius:14px;
  background:rgba(0,0,0,.24);
}

.best-rank{
  width:28px;
  height:28px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(201,168,76,.16);
  color:var(--gold);
  font-weight:800;
}

.best-img img,
.best-placeholder{
  width:56px;
  height:56px;
  border-radius:12px;
  object-fit:contain;
  background:rgba(255,255,255,.04);
  border:1px solid var(--black-border);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--gold);
  font-family:'Cormorant Garamond',serif;
  font-size:1.2rem;
}

.best-info{
  min-width:0;
}

.best-info strong{
  display:block;
  color:var(--white);
  font-size:.86rem;
  line-height:1.2;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.best-info span{
  display:block;
  color:var(--white-dim);
  font-size:.74rem;
  letter-spacing:1px;
  margin-top:3px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.best-numbers{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:4px;
  color:var(--white-dim);
  font-size:.76rem;
  white-space:nowrap;
}

.best-numbers b{
  color:var(--gold);
}

.best-decants{
  cursor:help;
  border-bottom:1px dotted rgba(201,168,76,.7);
}

.best-empty{
  color:var(--white-dim);
  text-align:center;
  padding:1.5rem;
  border:1px dashed var(--black-border);
  border-radius:14px;
}

@media(max-width:900px){
  .best-sellers-grid{
    grid-template-columns:1fr;
  }

  .best-row{
    grid-template-columns:28px 54px minmax(0,1fr);
  }

  .best-numbers{
    grid-column:2 / -1;
    align-items:flex-start;
    flex-direction:row;
    flex-wrap:wrap;
  }
}


/* Tooltip elegante para desglose de decants en Los Más Vendidos */
.best-decants{
  position:relative;
  display:inline-flex;
  align-items:center;
  cursor:help;
}
.best-decants::after{
  content:attr(data-decants);
  position:absolute;
  right:0;
  bottom:calc(100% + 10px);
  min-width:112px;
  padding:10px 12px;
  border:1px solid rgba(201,168,76,.45);
  border-radius:10px;
  background:#111;
  color:#f5f0e8;
  font-size:.78rem;
  font-weight:600;
  line-height:1.45;
  white-space:pre-line;
  text-align:left;
  box-shadow:0 12px 26px rgba(0,0,0,.45);
  opacity:0;
  visibility:hidden;
  transform:translateY(6px);
  transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
  z-index:999999;
  pointer-events:none;
}
.best-decants::before{
  content:'';
  position:absolute;
  right:18px;
  bottom:calc(100% + 4px);
  width:10px;
  height:10px;
  background:#111;
  border-right:1px solid rgba(201,168,76,.45);
  border-bottom:1px solid rgba(201,168,76,.45);
  transform:rotate(45deg);
  opacity:0;
  visibility:hidden;
  transition:opacity .18s ease, visibility .18s ease;
  z-index:999998;
  pointer-events:none;
}
.best-decants:hover::after,
.best-decants:hover::before{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.best-decants:hover::before{
  transform:rotate(45deg);
}

/* =========================================================
   PC: catálogo con cotización fija a la derecha
   - Sólo aplica en escritorio.
   - La página no necesita bajar completa para ver perfumes.
   - El scroll queda dentro de la lista del catálogo.
   ========================================================= */
@media (min-width: 1025px){
  .desktop-shop-layout{
    width:min(1520px, calc(100% - 64px));
    margin:0 auto;
    padding:4rem 0;
    display:grid;
    grid-template-columns:minmax(0, 1fr) 430px;
    grid-template-areas:
      "catalog quote"
      "catalog contact";
    gap:24px;
    align-items:start;
  }

  .desktop-shop-layout .main-content{
    grid-area:catalog;
    width:100%;
    max-width:none;
    margin:0;
    padding:0;
    min-height:0;
  }

  .desktop-shop-layout .main-content .section-header{
    margin-bottom:1.6rem;
  }

  .desktop-shop-layout .filters-bar{
    margin-bottom:1.1rem;
  }

  .desktop-shop-layout .table-wrap{
    height:calc(100vh - 235px);
    min-height:480px;
    max-height:760px;
    overflow:auto;
    border:1px solid var(--black-border);
    border-radius:var(--radius-md);
    background:var(--black-soft);
  }

  .desktop-shop-layout .catalog-table{
    min-width:820px;
  }

  .desktop-shop-layout .catalog-table thead{
    position:sticky;
    top:0;
    z-index:5;
  }

  .desktop-shop-layout .quote-section{
    grid-area:quote;
    position:sticky;
    top:24px;
    width:100%;
    background:transparent;
    border:0;
    padding:0;
  }

  .desktop-shop-layout .quote-section .section-header{
    display:none;
  }

  .desktop-shop-layout .quote-panel{
    width:100%;
    max-width:none;
    margin:0;
    padding:1.1rem;
    border-radius:var(--radius-lg);
  }

  .desktop-shop-layout .quote-stats{
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:.7rem;
    margin-bottom:1rem;
  }

  .desktop-shop-layout .stat-box{
    padding:1rem .55rem;
  }

  .desktop-shop-layout .stat-label{
    font-size:.58rem;
    letter-spacing:1.4px;
  }

  .desktop-shop-layout .stat-val{
    font-size:1.05rem;
    line-height:1.15;
  }

  .desktop-shop-layout .quote-items{
    max-height:calc(100vh - 430px);
    min-height:84px;
    overflow:auto;
    margin-bottom:1rem;
    padding-right:4px;
  }

  .desktop-shop-layout .quote-actions{
    display:grid;
    grid-template-columns:1fr 58px;
    gap:10px;
    margin-bottom:.7rem;
  }

  .desktop-shop-layout .quote-actions .btn-gold,
  .desktop-shop-layout .quote-actions .btn-outline{
    width:100%;
    justify-content:center;
  }

  .desktop-shop-layout .quote-note{
    font-size:.68rem;
  }

  .desktop-shop-layout .site-footer{
    grid-area:contact;
    width:100%;
    margin:0;
    padding:1.2rem 1rem;
    border:1px solid var(--black-border);
    border-radius:var(--radius-lg);
    background:var(--black-card);
  }

  .desktop-shop-layout .footer-inner{
    display:block;
    max-width:none;
    padding:0;
    text-align:center;
  }

  .desktop-shop-layout .footer-brand{
    margin-bottom:1rem;
  }

  .desktop-shop-layout .footer-bottom{
    margin-top:1rem;
    padding-top:1rem;
  }

  .desktop-shop-layout .social-links{
    flex-wrap:wrap !important;
  }

  body:not(.pos-mode) .desktop-shop-layout{
    min-height:calc(100vh - 40px);
  }
}

/* =========================================================
   REDISEÑO PREMIUM PC — catálogo con panel derecho ordenado
   - Sólo escritorio.
   - La página queda estable; el scroll principal está en la lista.
   - Cotización y contacto quedan como columna premium a la derecha.
   ========================================================= */
@media (min-width: 1025px){
  html,
  body:not(.pos-mode){
    height:100%;
  }

  body:not(.pos-mode){
    overflow:hidden !important;
    background:#070707 !important;
  }

  body:not(.pos-mode) .desktop-shop-layout{
    width:min(1480px, calc(100% - 72px)) !important;
    height:calc(100vh - 86px) !important;
    min-height:0 !important;
    margin:0 auto !important;
    padding:34px 0 !important;
    display:grid !important;
    grid-template-columns:minmax(760px, 1fr) 420px !important;
    grid-template-rows:auto 1fr !important;
    grid-template-areas:
      "catalog quote"
      "catalog contact" !important;
    gap:18px 28px !important;
    align-items:start !important;
    overflow:hidden !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .main-content{
    grid-area:catalog !important;
    height:100% !important;
    min-height:0 !important;
    overflow:hidden !important;
    padding:0 !important;
    display:flex !important;
    flex-direction:column !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .main-content .section-header{
    margin:0 0 22px !important;
    padding:0 !important;
    flex:0 0 auto !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .section-title{
    font-size:2.35rem !important;
    line-height:1.1 !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .filters-bar{
    margin:0 0 14px !important;
    flex:0 0 auto !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .table-wrap{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    flex:1 1 auto !important;
    overflow:auto !important;
    border:1px solid rgba(201,168,76,.22) !important;
    border-radius:18px !important;
    background:linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.012)) !important;
    box-shadow:0 18px 45px rgba(0,0,0,.34) !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .catalog-table thead{
    position:sticky !important;
    top:0 !important;
    z-index:20 !important;
    box-shadow:0 1px 0 rgba(201,168,76,.55) !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .quote-section{
    grid-area:quote !important;
    position:static !important;
    align-self:start !important;
    width:100% !important;
    padding:0 !important;
    margin:0 !important;
    background:transparent !important;
    border:0 !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .quote-panel,
  body:not(.pos-mode) .desktop-shop-layout .site-footer{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    border:1px solid rgba(201,168,76,.18) !important;
    border-radius:22px !important;
    background:linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.018)) !important;
    box-shadow:0 22px 50px rgba(0,0,0,.38) !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .quote-panel{
    padding:18px !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .quote-stats{
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    gap:10px !important;
    margin-bottom:14px !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .stat-box{
    min-height:88px !important;
    padding:14px 8px !important;
    border-radius:14px !important;
    background:rgba(0,0,0,.25) !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .stat-label{
    font-size:.56rem !important;
    letter-spacing:1.6px !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .stat-val{
    font-size:1.08rem !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .quote-items{
    min-height:82px !important;
    max-height:145px !important;
    overflow:auto !important;
    margin:0 0 14px !important;
    padding-right:4px !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .quote-empty{
    padding:24px 10px !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .quote-actions{
    display:grid !important;
    grid-template-columns:1fr 56px !important;
    gap:10px !important;
    margin:0 0 10px !important;
  }

  body:not(.pos-mode) .desktop-shop-layout #copyQuoteBtn,
  body:not(.pos-mode) .desktop-shop-layout #clearQuoteBtn{
    height:54px !important;
    border-radius:12px !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .quote-note{
    text-align:left !important;
    font-size:.68rem !important;
    line-height:1.55 !important;
    margin:0 !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .site-footer{
    grid-area:contact !important;
    align-self:start !important;
    padding:22px 20px 18px !important;
    text-align:center !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .footer-inner{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:16px !important;
    max-width:none !important;
    width:100% !important;
    padding:0 0 16px !important;
    border-bottom:1px solid rgba(255,255,255,.08) !important;
    text-align:center !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .footer-brand,
  body:not(.pos-mode) .desktop-shop-layout .footer-contact,
  body:not(.pos-mode) .desktop-shop-layout .footer-brand .logo-text{
    width:100% !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    margin:0 !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .footer-brand .logo-main{
    font-size:2rem !important;
    line-height:1 !important;
    letter-spacing:.30em !important;
    text-align:center !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .footer-brand .logo-sub{
    font-size:.78rem !important;
    letter-spacing:.44em !important;
    text-align:center !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .footer-tagline{
    max-width:260px !important;
    margin:8px auto 0 !important;
    text-align:center !important;
    line-height:1.45 !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .footer-heading{
    width:100% !important;
    margin:0 0 10px !important;
    text-align:center !important;
    font-size:1.15rem !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .social-links{
    width:100% !important;
    max-width:260px !important;
    margin:0 auto !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:9px !important;
    flex-wrap:nowrap !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .social-links a{
    width:100% !important;
    max-width:none !important;
    height:40px !important;
    justify-content:center !important;
    padding:0 16px !important;
    border-radius:10px !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .footer-bottom{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:14px 0 0 !important;
    text-align:center !important;
    font-size:.66rem !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .footer-bottom p{
    text-align:center !important;
    margin:0 auto !important;
  }
}


/* ===== CABECERA PREMIUM CATALOGO PC ===== */
@media (min-width: 1024px){
  .section-header{
      max-width: 100% !important;
      width:100% !important;
      margin: 0 0 2rem 0 !important;
      box-sizing:border-box;
      background: linear-gradient(180deg,#1a1a1a,#141414);
      border: 1px solid #2a2a2a;
      border-radius: 18px;
      padding: 32px 40px;
      box-shadow: 0 10px 35px rgba(0,0,0,.45);
  }

  .section-title{
      margin-bottom: 6px;
  }

  .section-sub{
      color: #b8b0a0;
  }
}

/* ===== FILTROS COMPACTOS EN UNA SOLA FILA - PC ===== */
@media (min-width: 1024px){
  body:not(.pos-mode) .desktop-shop-layout .filters-bar{
    width:100% !important;
    display:flex !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    gap:10px !important;
    overflow:hidden !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .mobile-search-row{
    display:block !important;
    flex:1 1 auto !important;
    min-width:250px !important;
    max-width:none !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .filters-bar .search-input,
  body:not(.pos-mode) .desktop-shop-layout #searchInput{
    width:100% !important;
    min-width:0 !important;
    height:42px !important;
    padding:0 14px !important;
    font-size:.78rem !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .filter-chips{
    display:flex !important;
    flex-wrap:nowrap !important;
    gap:7px !important;
    flex:0 0 auto !important;
    min-width:0 !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .chip{
    height:34px !important;
    padding:0 13px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:999px !important;
    font-size:.68rem !important;
    letter-spacing:.55px !important;
    white-space:nowrap !important;
    line-height:1 !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .chip-sex{
    min-width:auto !important;
    padding:0 12px !important;
  }

  body:not(.pos-mode) .desktop-shop-layout #catFilters,
  body:not(.pos-mode) .desktop-shop-layout #sexFilters{
    margin:0 !important;
  }
}


/* =========================================================
   FIX DEFINITIVO: SCROLL COMPLETO SOLO EN MODO ADMINISTRADOR
   ========================================================= */
@media (min-width: 1025px){
  html:has(#admin-section:not(.hidden)),
  body:has(#admin-section:not(.hidden)),
  body.admin-open,
  html.admin-open{
    height:auto !important;
    min-height:100% !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
  }

  body.admin-open .desktop-shop-layout,
  body:has(#admin-section:not(.hidden)) .desktop-shop-layout{
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
  }

  body.admin-open #admin-section,
  body:has(#admin-section:not(.hidden)) #admin-section{
    display:block !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
    padding-bottom:80px !important;
  }

  body.admin-open .admin-dashboard,
  body.admin-open .admin-pane,
  body.admin-open .admin-pane.active,
  body:has(#admin-section:not(.hidden)) .admin-dashboard,
  body:has(#admin-section:not(.hidden)) .admin-pane,
  body:has(#admin-section:not(.hidden)) .admin-pane.active{
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
  }

  body.admin-open .admin-table-wrap,
  body:has(#admin-section:not(.hidden)) .admin-table-wrap{
    max-height:none !important;
  }
}

/* En móvil/tablet también aseguramos scroll normal si se abre admin */
body.admin-open,
html.admin-open{
  overflow-y:auto !important;
}


/* Mantener catálogo dentro de su recuadro */
@media (min-width:1024px){
  .table-wrap{
      height: calc(100vh - 320px) !important;
      max-height: calc(100vh - 320px) !important;
      overflow-y: auto !important;
      overflow-x: hidden !important;
      border-radius: 18px;
  }

  .catalog-table{
      margin-bottom:0 !important;
  }
}

/* =========================================================
   FIX REAL: admin con scroll, pero catálogo SIEMPRE en recuadro
   ========================================================= */
@media (min-width:1025px){
  html:has(#admin-section:not(.hidden)),
  body:has(#admin-section:not(.hidden)),
  html.admin-open,
  body.admin-open{
    height:auto !important;
    min-height:100% !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
  }

  body.admin-open .desktop-shop-layout,
  body:has(#admin-section:not(.hidden)) .desktop-shop-layout{
    width:min(1480px, calc(100% - 72px)) !important;
    height:calc(100vh - 86px) !important;
    min-height:0 !important;
    max-height:calc(100vh - 86px) !important;
    margin:0 auto !important;
    padding:34px 0 !important;
    display:grid !important;
    grid-template-columns:minmax(760px, 1fr) 420px !important;
    grid-template-rows:auto 1fr !important;
    grid-template-areas:
      "catalog quote"
      "catalog contact" !important;
    gap:18px 28px !important;
    align-items:start !important;
    overflow:hidden !important;
  }

  body.admin-open .desktop-shop-layout .main-content,
  body:has(#admin-section:not(.hidden)) .desktop-shop-layout .main-content{
    grid-area:catalog !important;
    height:100% !important;
    min-height:0 !important;
    max-height:100% !important;
    overflow:hidden !important;
    padding:0 !important;
    display:flex !important;
    flex-direction:column !important;
  }

  body.admin-open .desktop-shop-layout .section-header,
  body.admin-open .desktop-shop-layout .filters-bar,
  body:has(#admin-section:not(.hidden)) .desktop-shop-layout .section-header,
  body:has(#admin-section:not(.hidden)) .desktop-shop-layout .filters-bar{
    flex:0 0 auto !important;
  }

  body.admin-open .desktop-shop-layout .table-wrap,
  body:has(#admin-section:not(.hidden)) .desktop-shop-layout .table-wrap,
  body:not(.pos-mode) .desktop-shop-layout .table-wrap{
    flex:1 1 auto !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    border:1px solid rgba(201,168,76,.22) !important;
    border-radius:18px !important;
  }

  body.admin-open .desktop-shop-layout .catalog-table,
  body:has(#admin-section:not(.hidden)) .desktop-shop-layout .catalog-table{
    margin:0 !important;
  }

  body.admin-open .desktop-shop-layout .catalog-table thead,
  body:has(#admin-section:not(.hidden)) .desktop-shop-layout .catalog-table thead{
    position:sticky !important;
    top:0 !important;
    z-index:30 !important;
  }

  body.admin-open #admin-section,
  body:has(#admin-section:not(.hidden)) #admin-section{
    display:block !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
    padding-bottom:90px !important;
  }
}


/* Corrección final: catálogo público con scroll interno; administrador con scroll normal */
@media (min-width:1024px){
  body.admin-mode, html:has(body.admin-mode){
    overflow-y:auto !important;
    height:auto !important;
  }
  body:not(.admin-mode) .catalog-table-wrap,
  body:not(.admin-mode) .table-wrap,
  body:not(.admin-mode) #catalogTableWrap{
    max-height: calc(100vh - 330px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }
}


/* ===== Etiquetas premium de perfumes ===== */
.pf-name-line{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.perfume-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:4px 9px;
  border-radius:999px;
  background:linear-gradient(135deg,#b70f1b,#e22a35);
  color:#fff;
  font-family:inherit;
  font-size:.58rem;
  line-height:1;
  letter-spacing:1px;
  font-weight:800;
  text-transform:uppercase;
  box-shadow:0 0 16px rgba(226,42,53,.28), inset 0 1px 0 rgba(255,255,255,.22);
  border:1px solid rgba(255,255,255,.14);
  white-space:nowrap;
}
.admin-row-badges{margin-top:6px;display:flex;gap:5px;flex-wrap:wrap;}
.admin-row-badges .perfume-badge{font-size:.52rem;padding:3px 7px;}
.old-price{display:block;color:rgba(255,255,255,.42);text-decoration:line-through;font-size:.72rem;margin-bottom:2px;}
.new-price{display:block;color:#fff;font-weight:800;}
.admin-badge-toggles{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.admin-badge-toggle{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  border-radius:14px;
  border:1px solid rgba(201,168,76,.28);
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.018));
  color:var(--white-soft);
  cursor:pointer;
  letter-spacing:.8px;
  font-size:.76rem;
  font-weight:700;
  text-transform:uppercase;
  transition:.2s ease;
}
.admin-badge-toggle input{position:absolute;opacity:0;pointer-events:none;}
.admin-badge-toggle:hover{border-color:var(--gold);color:var(--gold-light);transform:translateY(-1px);}
.admin-badge-toggle:has(input:checked){
  background:linear-gradient(135deg,#b70f1b,#dc2632);
  border-color:rgba(255,255,255,.22);
  color:#fff;
  box-shadow:0 0 20px rgba(226,42,53,.22);
}
#pf-discount-wrap{
  border:1px solid rgba(226,42,53,.35);
  border-radius:14px;
  padding:12px;
  background:linear-gradient(180deg,rgba(183,15,27,.10),rgba(255,255,255,.015));
}
@media (max-width:700px){.admin-badge-toggles{grid-template-columns:1fr;}}


/* Etiquetas: en celular debajo de la marca */
.badges-mobile{
  display:none;
}
.badges-desktop{
  display:inline-flex;
  gap:6px;
  flex-wrap:wrap;
  align-items:center;
}
@media (max-width:700px){
  .pf-name-line .badges-desktop{
    display:none !important;
  }
  .badges-mobile{
    display:flex !important;
    gap:5px;
    flex-wrap:wrap;
    margin-top:6px;
  }
  .badges-mobile .perfume-badge{
    font-size:.55rem;
    padding:4px 8px;
    border-radius:999px;
  }
}

/* =========================================================
   PUNTO DE VENTA COMO EN public_html(1)
   - Es un apartado interno, no otra página
   - Al abrirlo solo se ve el POS
   - No hay scroll general, solo scroll interno en listas
   ========================================================= */
html.pos-mode,
body.pos-mode{
  width:100% !important;
  height:100vh !important;
  min-height:100vh !important;
  overflow:hidden !important;
  padding-top:0 !important;
}

/* Ocultar TODO lo que no sea Punto de Venta cuando POS está abierto */
body.pos-mode .site-header,
body.pos-mode .desktop-shop-layout,
body.pos-mode .main-content,
body.pos-mode .quote-section,
body.pos-mode .site-footer,
body.pos-mode #admin-section,
body.pos-mode .admin-section,
body.pos-mode .drawer,
body.pos-mode .drawer-overlay{
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

/* Mostrar únicamente el Punto de Venta */
body.pos-mode #pos-section{
  display:block !important;
  visibility:visible !important;
  pointer-events:auto !important;
  position:fixed !important;
  inset:0 !important;
  z-index:999999 !important;
  width:100vw !important;
  height:100vh !important;
  min-height:100vh !important;
  max-height:100vh !important;
  max-width:none !important;
  margin:0 !important;
  padding:22px 2.4rem 24px !important;
  overflow:hidden !important;
  background:var(--black) !important;
}

/* Header y pestañas del POS */
body.pos-mode .pos-header{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:1rem !important;
  margin:0 0 14px 0 !important;
  padding:0 0 14px 0 !important;
  border-bottom:1px solid var(--black-border) !important;
}
body.pos-mode .pos-nav{
  display:flex !important;
  gap:10px !important;
  flex-wrap:wrap !important;
  margin:0 0 14px 0 !important;
  padding:0 0 12px 0 !important;
  border-bottom:1px solid var(--black-border) !important;
}

/* Área interna del POS */
body.pos-mode .pos-pane{ display:none !important; }
body.pos-mode .pos-pane.active{ display:block !important; }

body.pos-mode #pos-pane-venta.active{
  height:calc(100vh - 150px) !important;
  max-height:calc(100vh - 150px) !important;
  overflow:hidden !important;
}

body.pos-mode #pos-pane-venta.active .pos-layout{
  height:100% !important;
  max-height:100% !important;
  display:grid !important;
  grid-template-columns:minmax(320px,.9fr) minmax(520px,1.4fr) !important;
  gap:1.5rem !important;
  align-items:stretch !important;
}

body.pos-mode #pos-pane-venta.active .pos-search-panel,
body.pos-mode #pos-pane-venta.active .pos-cart-panel{
  height:100% !important;
  max-height:100% !important;
  overflow:hidden !important;
}

body.pos-mode .pos-product-list{
  max-height:calc(100vh - 285px) !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
}

body.pos-mode .pos-cart-items{
  max-height:calc(100vh - 545px) !important;
  min-height:130px !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
}

/* Ventas / Estadísticas / Más vendidos con scroll interno, no scroll de página */
body.pos-mode #pos-pane-ventas.active,
body.pos-mode #pos-pane-estadisticas.active,
body.pos-mode #pos-pane-mas-vendidos.active{
  height:calc(100vh - 150px) !important;
  max-height:calc(100vh - 150px) !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding-right:8px !important;
  box-sizing:border-box !important;
}

@media (max-width:900px){
  html.pos-mode,
  body.pos-mode{
    overflow-y:auto !important;
    height:auto !important;
  }

  body.pos-mode #pos-section{
    position:relative !important;
    inset:auto !important;
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
    padding:16px 1rem 24px !important;
  }

  body.pos-mode #pos-pane-venta.active,
  body.pos-mode #pos-pane-venta.active .pos-layout,
  body.pos-mode #pos-pane-venta.active .pos-search-panel,
  body.pos-mode #pos-pane-venta.active .pos-cart-panel{
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
    grid-template-columns:1fr !important;
  }
}


/* ===== POS: botones superiores junto al logo y sin barra visible ===== */
body.pos-mode #pos-section{
  overflow:hidden !important;
}

body.pos-mode .pos-header{
  display:grid !important;
  grid-template-columns:auto 1fr auto !important;
  align-items:center !important;
  gap:18px !important;
}

body.pos-mode .pos-header-brand{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  min-width:max-content !important;
}

body.pos-mode .pos-header-nav{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  min-width:0 !important;
}

body.pos-mode .pos-header-nav .pos-nav{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  flex-wrap:nowrap !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  overflow:hidden !important;
}

body.pos-mode .pos-header-nav .pos-nav-btn{
  height:34px !important;
  padding:0 13px !important;
  border-radius:999px !important;
  font-size:.70rem !important;
  white-space:nowrap !important;
}

body.pos-mode .pos-header-actions{
  justify-self:end !important;
}

/* Ocultar barras de scroll visuales sin quitar el scroll interno */
body.pos-mode,
body.pos-mode *{
  scrollbar-width:none !important;
  -ms-overflow-style:none !important;
}
body.pos-mode::-webkit-scrollbar,
body.pos-mode *::-webkit-scrollbar{
  width:0 !important;
  height:0 !important;
  display:none !important;
}

@media (max-width:1100px){
  body.pos-mode .pos-header{
    grid-template-columns:1fr auto !important;
    gap:12px !important;
  }
  body.pos-mode .pos-header-nav{
    grid-column:1 / -1 !important;
    order:3 !important;
  }
  body.pos-mode .pos-header-nav .pos-nav{
    overflow-x:auto !important;
  }
}

/* =========================================================
   AJUSTE FINAL POS: centrado, navegación superior y sin scroll general
   ========================================================= */
html.pos-mode,
body.pos-mode{
  width:100% !important;
  height:100vh !important;
  min-height:100vh !important;
  max-height:100vh !important;
  overflow:hidden !important;
  padding:0 !important;
}

/* Ocultar la barra general de la derecha */
html.pos-mode::-webkit-scrollbar,
body.pos-mode::-webkit-scrollbar{
  width:0 !important;
  height:0 !important;
  display:none !important;
}
html.pos-mode,
body.pos-mode{
  scrollbar-width:none !important;
  -ms-overflow-style:none !important;
}

/* Solo mostrar el POS */
body.pos-mode .site-header,
body.pos-mode .desktop-shop-layout,
body.pos-mode .main-content,
body.pos-mode .quote-section,
body.pos-mode .site-footer,
body.pos-mode #admin-section,
body.pos-mode .admin-section,
body.pos-mode .drawer,
body.pos-mode .drawer-overlay{
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

body.pos-mode #pos-section{
  display:flex !important;
  flex-direction:column !important;
  visibility:visible !important;
  pointer-events:auto !important;
  position:fixed !important;
  inset:0 !important;
  z-index:999999 !important;
  width:100vw !important;
  height:100vh !important;
  max-height:100vh !important;
  margin:0 !important;
  padding:22px 2.2rem !important;
  overflow:hidden !important;
  background:var(--black) !important;
}

/* Header superior centrado y ordenado */
body.pos-mode .pos-header{
  flex:0 0 auto !important;
  display:grid !important;
  grid-template-columns:auto 1fr auto !important;
  align-items:center !important;
  gap:20px !important;
  width:100% !important;
  max-width:1500px !important;
  margin:0 auto 16px !important;
  padding:0 0 14px !important;
  border-bottom:1px solid var(--black-border) !important;
}

body.pos-mode .pos-header-brand{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  min-width:max-content !important;
}

body.pos-mode .pos-header-logo{
  width:64px !important;
  height:auto !important;
}

body.pos-mode .pos-header-branding{
  display:flex !important;
  flex-direction:column !important;
}

body.pos-mode .pos-header-brand > div:not(.pos-header-branding){
  display:none !important;
}

/* Botones al lado del logo, no pegados arriba */
body.pos-mode .pos-header-nav{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:0 !important;
}

body.pos-mode .pos-header-nav .pos-nav{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  flex-wrap:nowrap !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  overflow:visible !important;
}

body.pos-mode .pos-header-nav .pos-nav-btn{
  height:36px !important;
  padding:0 14px !important;
  border-radius:999px !important;
  font-size:.70rem !important;
  line-height:1 !important;
  white-space:nowrap !important;
}

body.pos-mode .pos-header-actions{
  justify-self:end !important;
}

/* Contenido centrado en pantalla */
body.pos-mode .pos-pane{
  display:none !important;
}
body.pos-mode .pos-pane.active{
  display:block !important;
  flex:1 1 auto !important;
  min-height:0 !important;
  width:100% !important;
  max-width:1500px !important;
  margin:0 auto !important;
}

body.pos-mode #pos-pane-venta.active{
  height:calc(100vh - 104px) !important;
  max-height:calc(100vh - 104px) !important;
  overflow:hidden !important;
}

/* Dos columnas principales equilibradas */
body.pos-mode #pos-pane-venta.active .pos-layout{
  height:100% !important;
  max-height:100% !important;
  display:grid !important;
  grid-template-columns:minmax(360px, .78fr) minmax(650px, 1.22fr) !important;
  gap:1.3rem !important;
  align-items:stretch !important;
}

/* Panel izquierdo */
body.pos-mode #pos-pane-venta.active .pos-search-panel{
  height:100% !important;
  max-height:100% !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
}
body.pos-mode .pos-search-box{
  flex:0 0 auto !important;
}
body.pos-mode .pos-product-list{
  flex:1 1 auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
}

/* Panel derecho: productos agregados a la izquierda y resumen a la derecha */
body.pos-mode #pos-pane-venta.active .pos-cart-panel{
  height:100% !important;
  max-height:100% !important;
  overflow:hidden !important;
  display:grid !important;
  grid-template-columns:minmax(380px, 1fr) minmax(360px, 440px) !important;
  grid-template-rows:auto 1fr !important;
  column-gap:1.3rem !important;
  row-gap:0 !important;
  align-items:stretch !important;
}

body.pos-mode .pos-cart-head{
  grid-column:1 / 2 !important;
  grid-row:1 !important;
}

body.pos-mode .pos-cart-items{
  grid-column:1 / 2 !important;
  grid-row:2 !important;
  min-height:0 !important;
  max-height:none !important;
  height:100% !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  border-bottom:0 !important;
}

body.pos-mode .pos-cart-summary,
body.pos-mode .pos-cart-footer{
  grid-column:2 / 3 !important;
}

body.pos-mode .pos-cart-summary{
  grid-row:1 / 3 !important;
  align-self:center !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  border-top:0 !important;
}

body.pos-mode .pos-cart-footer{
  grid-row:2 !important;
  align-self:end !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
}

body.pos-mode .pos-cart-actions{
  justify-content:flex-end !important;
}

/* Ventas / Estadísticas / Más vendidos: centrados, con scroll interno invisible */
body.pos-mode #pos-pane-ventas.active,
body.pos-mode #pos-pane-estadisticas.active,
body.pos-mode #pos-pane-mas-vendidos.active{
  height:calc(100vh - 104px) !important;
  max-height:calc(100vh - 104px) !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
}

/* Ocultar barras visuales de scroll dentro del POS, sin quitar el scroll funcional */
body.pos-mode #pos-section,
body.pos-mode #pos-section *{
  scrollbar-width:none !important;
  -ms-overflow-style:none !important;
}
body.pos-mode #pos-section::-webkit-scrollbar,
body.pos-mode #pos-section *::-webkit-scrollbar{
  width:0 !important;
  height:0 !important;
  display:none !important;
}

@media (max-width:1100px){
  body.pos-mode #pos-section{
    position:relative !important;
    height:auto !important;
    max-height:none !important;
    overflow-y:auto !important;
    padding:16px 1rem 24px !important;
  }
  html.pos-mode,
  body.pos-mode{
    height:auto !important;
    overflow-y:auto !important;
  }
  body.pos-mode .pos-header{
    grid-template-columns:1fr auto !important;
  }
  body.pos-mode .pos-header-nav{
    grid-column:1 / -1 !important;
    order:3 !important;
    justify-content:flex-start !important;
    overflow-x:auto !important;
  }
  body.pos-mode #pos-pane-venta.active,
  body.pos-mode #pos-pane-venta.active .pos-layout,
  body.pos-mode #pos-pane-venta.active .pos-cart-panel,
  body.pos-mode #pos-pane-venta.active .pos-search-panel{
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
    display:block !important;
  }
}


/* =========================================================
   POS PREMIUM REBUILD - layout limpio y funcional
   ========================================================= */
html.pos-mode,
body.pos-mode{
  width:100% !important;
  height:100vh !important;
  min-height:100vh !important;
  max-height:100vh !important;
  overflow:hidden !important;
  padding:0 !important;
  background:#070707 !important;
  scrollbar-width:none !important;
  -ms-overflow-style:none !important;
}
html.pos-mode::-webkit-scrollbar,
body.pos-mode::-webkit-scrollbar{
  width:0 !important;
  height:0 !important;
  display:none !important;
}

/* POS como vista interna completa */
body.pos-mode .site-header,
body.pos-mode .desktop-shop-layout,
body.pos-mode .main-content,
body.pos-mode .quote-section,
body.pos-mode .site-footer,
body.pos-mode #admin-section,
body.pos-mode .admin-section,
body.pos-mode .drawer,
body.pos-mode .drawer-overlay{
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

body.pos-mode #pos-section{
  display:flex !important;
  flex-direction:column !important;
  position:fixed !important;
  inset:0 !important;
  z-index:999999 !important;
  width:100vw !important;
  height:100vh !important;
  min-height:100vh !important;
  max-height:100vh !important;
  max-width:none !important;
  margin:0 !important;
  padding:24px 36px 28px !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 18% 8%, rgba(201,168,76,.08), transparent 24%),
    radial-gradient(circle at 88% 15%, rgba(201,168,76,.055), transparent 26%),
    #070707 !important;
}

/* Header premium */
body.pos-mode .pos-header{
  flex:0 0 74px !important;
  height:74px !important;
  width:100% !important;
  max-width:1540px !important;
  margin:0 auto 20px !important;
  padding:0 20px !important;
  display:grid !important;
  grid-template-columns:auto 1fr auto !important;
  align-items:center !important;
  gap:24px !important;
  background:linear-gradient(180deg,rgba(22,22,22,.98),rgba(10,10,10,.96)) !important;
  border:1px solid rgba(201,168,76,.18) !important;
  border-radius:20px !important;
  box-shadow:0 18px 42px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.04) !important;
}

body.pos-mode .pos-header-brand{
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
  min-width:270px !important;
}
body.pos-mode .pos-header-logo{
  width:62px !important;
  height:62px !important;
  object-fit:contain !important;
}
body.pos-mode .pos-header-branding{
  display:flex !important;
  flex-direction:column !important;
  line-height:1 !important;
}
body.pos-mode .pos-brand-main{
  font-family:'Cormorant Garamond',serif !important;
  font-size:1.85rem !important;
  letter-spacing:.22em !important;
  color:var(--gold) !important;
}
body.pos-mode .pos-brand-sub{
  font-size:.62rem !important;
  letter-spacing:.42em !important;
  color:rgba(255,255,255,.72) !important;
}
body.pos-mode .pos-header-brand > div:not(.pos-header-branding){
  display:none !important;
}

/* Botones superiores */
body.pos-mode .pos-header-nav{
  min-width:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
body.pos-mode .pos-header-nav .pos-nav{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  flex-wrap:nowrap !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  overflow:visible !important;
}
body.pos-mode .pos-header-nav .pos-nav-btn{
  height:38px !important;
  padding:0 16px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.13) !important;
  background:rgba(255,255,255,.035) !important;
  color:#f6f1e4 !important;
  font-size:.72rem !important;
  font-weight:800 !important;
  letter-spacing:.45px !important;
  white-space:nowrap !important;
  box-shadow:none !important;
}
body.pos-mode .pos-header-nav .pos-nav-btn.active,
body.pos-mode .pos-header-nav .pos-nav-btn:hover{
  color:#111 !important;
  background:linear-gradient(135deg,#d8b64d,#b8932e) !important;
  border-color:rgba(216,182,77,.95) !important;
}

body.pos-mode .pos-header-actions{
  justify-self:end !important;
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
}
body.pos-mode .pos-back-admin-btn{
  height:40px !important;
  padding:0 18px !important;
  border-radius:12px !important;
  background:rgba(0,0,0,.25) !important;
  border:1px solid rgba(255,255,255,.15) !important;
}
body.pos-mode .pos-hidden-new-sale{
  display:none !important;
}

/* Pestañas */
body.pos-mode .pos-pane{
  display:none !important;
}
body.pos-mode .pos-pane.active{
  flex:1 1 auto !important;
  min-height:0 !important;
  display:block !important;
  width:100% !important;
  max-width:1540px !important;
  margin:0 auto !important;
}

/* Venta actual */
body.pos-mode #pos-pane-venta.active{
  height:calc(100vh - 122px) !important;
  max-height:calc(100vh - 122px) !important;
  overflow:hidden !important;
}
body.pos-mode #pos-pane-venta.active .pos-layout{
  height:100% !important;
  max-height:100% !important;
  min-height:0 !important;
  display:grid !important;
  grid-template-columns:40% 60% !important;
  gap:22px !important;
  align-items:stretch !important;
}

/* Paneles */
body.pos-mode .pos-search-panel,
body.pos-mode .pos-cart-panel,
body.pos-mode .pos-panel-wide{
  background:linear-gradient(180deg,rgba(21,21,21,.96),rgba(11,11,11,.96)) !important;
  border:1px solid rgba(201,168,76,.17) !important;
  border-radius:22px !important;
  box-shadow:0 18px 45px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.035) !important;
}

body.pos-mode #pos-pane-venta.active .pos-search-panel{
  height:100% !important;
  max-height:100% !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
  padding:18px !important;
}
body.pos-mode .pos-label{
  flex:0 0 auto !important;
  margin-bottom:10px !important;
  color:var(--gold) !important;
  font-size:.72rem !important;
  letter-spacing:1.8px !important;
}
body.pos-mode .pos-search-box{
  flex:0 0 auto !important;
}
body.pos-mode #posSearchInput{
  height:44px !important;
  border-radius:12px !important;
}
body.pos-mode .pos-product-list{
  flex:1 1 auto !important;
  min-height:0 !important;
  max-height:none !important;
  margin-top:14px !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  border-radius:16px !important;
  border:1px solid rgba(255,255,255,.075) !important;
}
body.pos-mode .pos-product-card{
  min-height:86px !important;
  grid-template-columns:74px 1fr 48px !important;
  padding:12px 14px !important;
}

/* Panel derecho: lista izquierda + cobro derecha */
body.pos-mode #pos-pane-venta.active .pos-cart-panel{
  height:100% !important;
  max-height:100% !important;
  min-height:0 !important;
  overflow:hidden !important;
  padding:18px !important;
  display:grid !important;
  grid-template-columns:minmax(410px,1fr) minmax(370px,430px) !important;
  grid-template-rows:auto 1fr auto !important;
  gap:16px 22px !important;
  align-items:stretch !important;
}

/* Tabla/lista de productos agregados */
body.pos-mode .pos-cart-head{
  grid-column:1 !important;
  grid-row:1 !important;
  display:grid !important;
  grid-template-columns:80px 1.3fr .8fr .75fr .75fr 42px !important;
  align-items:center !important;
  height:44px !important;
  padding:0 14px !important;
  border-radius:14px !important;
  background:rgba(201,168,76,.13) !important;
  color:var(--gold) !important;
  border:0 !important;
}
body.pos-mode .pos-cart-list{
  grid-column:1 !important;
  grid-row:2 / 4 !important;
  min-height:0 !important;
  height:100% !important;
  max-height:none !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  border:1px solid rgba(255,255,255,.075) !important;
  border-radius:16px !important;
  margin:0 !important;
  padding:0 !important;
}
body.pos-mode .pos-empty{
  height:100% !important;
  min-height:260px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:rgba(255,255,255,.55) !important;
}

/* Cobro al lado derecho */
body.pos-mode .pos-summary{
  grid-column:2 !important;
  grid-row:1 / 3 !important;
  align-self:start !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:18px !important;
  border-radius:18px !important;
  border:1px solid rgba(255,255,255,.08) !important;
  background:rgba(0,0,0,.23) !important;
}
body.pos-mode .pos-summary-row{
  display:grid !important;
  grid-template-columns:145px minmax(0,1fr) !important;
  gap:12px !important;
  align-items:center !important;
  min-height:50px !important;
  padding:8px 0 !important;
  border-bottom:1px solid rgba(255,255,255,.075) !important;
}
body.pos-mode .pos-summary-row > span{
  text-align:right !important;
  font-weight:800 !important;
}
body.pos-mode .pos-discount-wrap,
body.pos-mode .pos-cash-actions{
  display:grid !important;
  grid-template-columns:1fr auto !important;
  gap:8px !important;
}
body.pos-mode .pos-payment-summary-select,
body.pos-mode .pos-cash-input,
body.pos-mode .pos-summary .form-input{
  height:42px !important;
  border-radius:12px !important;
}
body.pos-mode .pos-summary-total{
  display:grid !important;
  grid-template-columns:145px 1fr !important;
  gap:12px !important;
  align-items:center !important;
  padding:18px 0 !important;
}
body.pos-mode .pos-summary-total span{
  text-align:right !important;
  font-size:1.35rem !important;
  font-weight:900 !important;
}
body.pos-mode .pos-summary-total strong{
  text-align:right !important;
  font-size:1.75rem !important;
  color:var(--green) !important;
}

/* Acciones abajo a la derecha */
body.pos-mode .pos-actions,
body.pos-mode .pos-cart-footer{
  grid-column:2 !important;
  grid-row:3 !important;
  align-self:end !important;
  display:flex !important;
  justify-content:flex-end !important;
  gap:10px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
}
body.pos-mode #clearPosBtn,
body.pos-mode #finishPosBtn{
  height:48px !important;
  border-radius:12px !important;
  padding:0 22px !important;
  font-weight:900 !important;
}

/* Otras pestañas */
body.pos-mode #pos-pane-ventas.active,
body.pos-mode #pos-pane-estadisticas.active,
body.pos-mode #pos-pane-mas-vendidos.active{
  height:calc(100vh - 122px) !important;
  max-height:calc(100vh - 122px) !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding:0 !important;
}
body.pos-mode #pos-pane-ventas .pos-panel-wide,
body.pos-mode #pos-pane-estadisticas .pos-panel-wide,
body.pos-mode #pos-pane-mas-vendidos .pos-panel-wide{
  min-height:100% !important;
  padding:22px !important;
}

/* Ocultar barras de scroll visuales dentro del POS */
body.pos-mode #pos-section,
body.pos-mode #pos-section *{
  scrollbar-width:none !important;
  -ms-overflow-style:none !important;
}
body.pos-mode #pos-section::-webkit-scrollbar,
body.pos-mode #pos-section *::-webkit-scrollbar{
  width:0 !important;
  height:0 !important;
  display:none !important;
}

/* Responsivo */
@media (max-width:1180px){
  body.pos-mode #pos-section{
    position:relative !important;
    height:auto !important;
    max-height:none !important;
    overflow-y:auto !important;
    padding:16px !important;
  }
  html.pos-mode,
  body.pos-mode{
    height:auto !important;
    overflow-y:auto !important;
  }
  body.pos-mode .pos-header{
    height:auto !important;
    grid-template-columns:1fr auto !important;
    padding:14px !important;
  }
  body.pos-mode .pos-header-nav{
    grid-column:1 / -1 !important;
    order:3 !important;
    justify-content:flex-start !important;
    overflow-x:auto !important;
  }
  body.pos-mode #pos-pane-venta.active,
  body.pos-mode #pos-pane-venta.active .pos-layout,
  body.pos-mode #pos-pane-venta.active .pos-cart-panel,
  body.pos-mode #pos-pane-venta.active .pos-search-panel{
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
  }
  body.pos-mode #pos-pane-venta.active .pos-layout,
  body.pos-mode #pos-pane-venta.active .pos-cart-panel{
    display:block !important;
  }
}


/* =========================================================
   POS HARD FIX FINAL: ALINEACIÓN PREMIUM REAL
   ========================================================= */
html.pos-mode,
body.pos-mode{
  margin:0 !important;
  padding:0 !important;
  width:100% !important;
  height:100vh !important;
  max-height:100vh !important;
  overflow:hidden !important;
  background:#070707 !important;
  scrollbar-width:none !important;
  -ms-overflow-style:none !important;
}

html.pos-mode::-webkit-scrollbar,
body.pos-mode::-webkit-scrollbar{
  display:none !important;
  width:0 !important;
  height:0 !important;
}

/* Al abrir POS, solo se ve POS */
body.pos-mode .site-header,
body.pos-mode .desktop-shop-layout,
body.pos-mode .main-content,
body.pos-mode .quote-section,
body.pos-mode .site-footer,
body.pos-mode #admin-section,
body.pos-mode .admin-section,
body.pos-mode .drawer,
body.pos-mode .drawer-overlay{
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

/* Contenedor general POS en grid: header arriba, contenido abajo */
body.pos-mode #pos-section{
  display:grid !important;
  grid-template-rows:76px minmax(0, 1fr) !important;
  row-gap:18px !important;
  position:fixed !important;
  inset:0 !important;
  z-index:999999 !important;
  width:100vw !important;
  height:100vh !important;
  max-height:100vh !important;
  min-height:0 !important;
  max-width:none !important;
  margin:0 !important;
  padding:24px 38px 28px !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 15% 5%, rgba(201,168,76,.08), transparent 24%),
    radial-gradient(circle at 85% 4%, rgba(201,168,76,.06), transparent 26%),
    #070707 !important;
  box-sizing:border-box !important;
}

/* Header alineado */
body.pos-mode #pos-section > .pos-header{
  grid-row:1 !important;
  position:relative !important;
  inset:auto !important;
  width:100% !important;
  max-width:1540px !important;
  height:76px !important;
  min-height:76px !important;
  margin:0 auto !important;
  padding:0 20px !important;
  display:grid !important;
  grid-template-columns:300px minmax(420px, 1fr) 260px !important;
  align-items:center !important;
  gap:18px !important;
  background:linear-gradient(180deg, rgba(18,18,18,.98), rgba(8,8,8,.98)) !important;
  border:1px solid rgba(201,168,76,.22) !important;
  border-radius:20px !important;
  box-shadow:0 16px 36px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.04) !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}

body.pos-mode .pos-header-brand{
  grid-column:1 !important;
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  min-width:0 !important;
  height:100% !important;
}
body.pos-mode .pos-header-logo{
  width:58px !important;
  height:58px !important;
  object-fit:contain !important;
  flex:0 0 auto !important;
}
body.pos-mode .pos-header-branding{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  line-height:1 !important;
  min-width:0 !important;
}
body.pos-mode .pos-brand-main{
  font-family:'Cormorant Garamond', serif !important;
  font-size:1.8rem !important;
  letter-spacing:.22em !important;
  color:var(--gold) !important;
  white-space:nowrap !important;
}
body.pos-mode .pos-brand-sub{
  font-size:.6rem !important;
  letter-spacing:.42em !important;
  color:rgba(255,255,255,.68) !important;
  white-space:nowrap !important;
}
body.pos-mode .pos-header-brand > div:not(.pos-header-branding){
  display:none !important;
}

/* Navegación arriba, centrada y dentro del header */
body.pos-mode .pos-header-nav{
  grid-column:2 !important;
  width:100% !important;
  min-width:0 !important;
  height:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
}
body.pos-mode .pos-header-nav .pos-nav{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  flex-wrap:nowrap !important;
  width:auto !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  overflow:hidden !important;
}
body.pos-mode .pos-header-nav .pos-nav-btn{
  flex:0 0 auto !important;
  height:38px !important;
  min-width:auto !important;
  padding:0 16px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.14) !important;
  background:rgba(255,255,255,.035) !important;
  color:#f5efe0 !important;
  font-size:.72rem !important;
  font-weight:800 !important;
  letter-spacing:.35px !important;
  line-height:1 !important;
  white-space:nowrap !important;
  box-shadow:none !important;
}
body.pos-mode .pos-header-nav .pos-nav-btn.active,
body.pos-mode .pos-header-nav .pos-nav-btn:hover{
  background:linear-gradient(135deg,#d8b64d,#b8932e) !important;
  border-color:#d8b64d !important;
  color:#111 !important;
}

/* Botón volver a la derecha */
body.pos-mode .pos-header-actions{
  grid-column:3 !important;
  justify-self:end !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:10px !important;
  height:100% !important;
}
body.pos-mode .pos-back-admin-btn{
  height:40px !important;
  padding:0 16px !important;
  border-radius:12px !important;
  white-space:nowrap !important;
  background:rgba(0,0,0,.25) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  color:#fff !important;
}
body.pos-mode .pos-hidden-new-sale{
  display:none !important;
}

/* Pestañas: solo una visible y siempre debajo del header */
body.pos-mode #pos-section > .pos-pane{
  grid-row:2 !important;
  display:none !important;
  width:100% !important;
  max-width:1540px !important;
  min-height:0 !important;
  height:100% !important;
  max-height:100% !important;
  margin:0 auto !important;
  padding:0 !important;
  position:relative !important;
  inset:auto !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}
body.pos-mode #pos-section > .pos-pane.active{
  display:block !important;
}

/* Venta actual: layout limpio */
body.pos-mode #pos-pane-venta.active .pos-layout{
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  max-height:100% !important;
  display:grid !important;
  grid-template-columns:40% minmax(0, 60%) !important;
  gap:22px !important;
  align-items:stretch !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}

/* Paneles base */
body.pos-mode .pos-search-panel,
body.pos-mode .pos-cart-panel,
body.pos-mode .pos-panel-wide{
  background:linear-gradient(180deg,rgba(20,20,20,.98),rgba(9,9,9,.98)) !important;
  border:1px solid rgba(201,168,76,.18) !important;
  border-radius:22px !important;
  box-shadow:0 18px 46px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.035) !important;
  box-sizing:border-box !important;
}

/* Panel izquierdo */
body.pos-mode .pos-search-panel{
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  max-height:100% !important;
  padding:18px !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
}
body.pos-mode .pos-label{
  flex:0 0 auto !important;
  color:var(--gold) !important;
  font-size:.72rem !important;
  letter-spacing:1.8px !important;
  margin:0 0 10px !important;
}
body.pos-mode .pos-search-box{
  flex:0 0 auto !important;
  margin:0 !important;
}
body.pos-mode #posSearchInput{
  height:44px !important;
  border-radius:12px !important;
}
body.pos-mode .pos-product-list{
  flex:1 1 auto !important;
  min-height:0 !important;
  height:auto !important;
  max-height:none !important;
  margin:14px 0 0 !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  border:1px solid rgba(255,255,255,.08) !important;
  border-radius:16px !important;
  background:rgba(0,0,0,.22) !important;
}
body.pos-mode .pos-product-card{
  min-height:82px !important;
  grid-template-columns:70px minmax(0,1fr) 46px !important;
  padding:11px 13px !important;
}

/* Panel derecho: productos izquierda + cobro derecha */
body.pos-mode .pos-cart-panel{
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  max-height:100% !important;
  padding:18px !important;
  overflow:hidden !important;
  display:grid !important;
  grid-template-columns:minmax(420px,1fr) minmax(360px,420px) !important;
  grid-template-rows:44px minmax(0,1fr) 56px !important;
  grid-template-areas:
    "head summary"
    "list summary"
    "list actions" !important;
  gap:16px 22px !important;
  align-items:stretch !important;
}

/* Encabezado y lista de carrito */
body.pos-mode .pos-cart-head{
  grid-area:head !important;
  display:grid !important;
  grid-template-columns:80px 1.25fr .75fr .7fr .7fr 38px !important;
  align-items:center !important;
  height:44px !important;
  min-height:44px !important;
  margin:0 !important;
  padding:0 14px !important;
  border:0 !important;
  border-radius:14px !important;
  background:rgba(201,168,76,.13) !important;
  color:var(--gold) !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
}
body.pos-mode .pos-cart-list{
  grid-area:list !important;
  height:100% !important;
  min-height:0 !important;
  max-height:none !important;
  margin:0 !important;
  padding:0 !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  border:1px solid rgba(255,255,255,.08) !important;
  border-radius:16px !important;
  background:rgba(0,0,0,.18) !important;
}
body.pos-mode .pos-empty{
  height:100% !important;
  min-height:260px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  color:rgba(255,255,255,.58) !important;
}

/* Resumen de pago */
body.pos-mode .pos-summary{
  grid-area:summary !important;
  width:100% !important;
  max-width:none !important;
  height:auto !important;
  align-self:start !important;
  margin:0 !important;
  padding:18px !important;
  border:1px solid rgba(255,255,255,.08) !important;
  border-radius:18px !important;
  background:rgba(0,0,0,.25) !important;
  box-sizing:border-box !important;
}
body.pos-mode .pos-summary-row{
  display:grid !important;
  grid-template-columns:140px minmax(0,1fr) !important;
  gap:12px !important;
  align-items:center !important;
  min-height:48px !important;
  padding:6px 0 !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
  box-sizing:border-box !important;
}
body.pos-mode .pos-summary-row > span{
  text-align:right !important;
  font-size:.82rem !important;
  font-weight:850 !important;
  color:#fff !important;
}
body.pos-mode .pos-discount-wrap,
body.pos-mode .pos-cash-actions{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:8px !important;
  width:100% !important;
}
body.pos-mode .pos-payment-summary-select,
body.pos-mode .pos-cash-input,
body.pos-mode .pos-summary .form-input{
  width:100% !important;
  height:40px !important;
  border-radius:12px !important;
}
body.pos-mode .pos-summary-total{
  display:grid !important;
  grid-template-columns:140px minmax(0,1fr) !important;
  gap:12px !important;
  align-items:center !important;
  padding:16px 0 !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
}
body.pos-mode .pos-summary-total span{
  text-align:right !important;
  font-size:1.25rem !important;
  font-weight:900 !important;
  color:#fff !important;
}
body.pos-mode .pos-summary-total strong{
  text-align:right !important;
  font-size:1.7rem !important;
  color:var(--green) !important;
}

/* Botones inferiores */
body.pos-mode .pos-actions{
  grid-area:actions !important;
  align-self:end !important;
  justify-self:end !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:10px !important;
  width:100% !important;
  height:56px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
}
body.pos-mode #clearPosBtn,
body.pos-mode #finishPosBtn{
  height:48px !important;
  border-radius:12px !important;
  padding:0 22px !important;
  font-weight:900 !important;
  white-space:nowrap !important;
}

/* Otras pestañas con scroll interno invisible */
body.pos-mode #pos-pane-ventas.active,
body.pos-mode #pos-pane-estadisticas.active,
body.pos-mode #pos-pane-mas-vendidos.active{
  overflow-y:auto !important;
  overflow-x:hidden !important;
}
body.pos-mode #pos-pane-ventas .pos-panel-wide,
body.pos-mode #pos-pane-estadisticas .pos-panel-wide,
body.pos-mode #pos-pane-mas-vendidos .pos-panel-wide{
  min-height:100% !important;
  padding:22px !important;
}

/* Ocultar barras de scroll internas sin desactivar scroll */
body.pos-mode #pos-section,
body.pos-mode #pos-section *{
  scrollbar-width:none !important;
  -ms-overflow-style:none !important;
}
body.pos-mode #pos-section::-webkit-scrollbar,
body.pos-mode #pos-section *::-webkit-scrollbar{
  display:none !important;
  width:0 !important;
  height:0 !important;
}

/* Responsivo básico */
@media (max-width:1180px){
  html.pos-mode,
  body.pos-mode{
    height:auto !important;
    max-height:none !important;
    overflow-y:auto !important;
  }
  body.pos-mode #pos-section{
    position:relative !important;
    display:block !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
    padding:16px !important;
  }
  body.pos-mode #pos-section > .pos-header{
    height:auto !important;
    min-height:0 !important;
    grid-template-columns:1fr auto !important;
    padding:14px !important;
    margin-bottom:16px !important;
  }
  body.pos-mode .pos-header-nav{
    grid-column:1 / -1 !important;
    order:3 !important;
    justify-content:flex-start !important;
    overflow-x:auto !important;
  }
  body.pos-mode #pos-pane-venta.active .pos-layout,
  body.pos-mode .pos-cart-panel{
    display:block !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
  }
}


/* =========================================================
   POS DISEÑO PREMIUM ADAPTADO A REFERENCIA
   ========================================================= */
html.pos-mode,
body.pos-mode{
  margin:0 !important;
  padding:0 !important;
  width:100% !important;
  height:100vh !important;
  min-height:100vh !important;
  max-height:100vh !important;
  overflow:hidden !important;
  background:#070707 !important;
}

/* Oculta todo excepto POS */
body.pos-mode .site-header,
body.pos-mode .desktop-shop-layout,
body.pos-mode .main-content,
body.pos-mode .quote-section,
body.pos-mode .site-footer,
body.pos-mode #admin-section,
body.pos-mode .admin-section,
body.pos-mode .drawer,
body.pos-mode .drawer-overlay{
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

/* Contenedor POS */
body.pos-mode #pos-section{
  display:grid !important;
  grid-template-rows:72px minmax(0, 1fr) !important;
  row-gap:16px !important;
  position:fixed !important;
  inset:0 !important;
  z-index:999999 !important;
  width:100vw !important;
  height:100vh !important;
  max-height:100vh !important;
  max-width:none !important;
  margin:0 !important;
  padding:14px 28px 18px !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 14% 4%, rgba(201,168,76,.10), transparent 24%),
    radial-gradient(circle at 86% 6%, rgba(201,168,76,.07), transparent 28%),
    #070707 !important;
  box-sizing:border-box !important;
}

/* Header */
body.pos-mode #pos-section > .pos-header{
  grid-row:1 !important;
  width:100% !important;
  max-width:1780px !important;
  height:72px !important;
  margin:0 auto !important;
  padding:0 24px !important;
  display:grid !important;
  grid-template-columns:330px 1fr 250px !important;
  align-items:center !important;
  gap:18px !important;
  background:linear-gradient(180deg,rgba(23,23,23,.98),rgba(9,9,9,.98)) !important;
  border:1px solid rgba(201,168,76,.24) !important;
  border-radius:18px !important;
  box-shadow:0 16px 38px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.04) !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
}

body.pos-mode .pos-header-brand{
  grid-column:1 !important;
  height:100% !important;
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  min-width:0 !important;
}
body.pos-mode .pos-header-logo{
  width:58px !important;
  height:58px !important;
  object-fit:contain !important;
  flex:0 0 auto !important;
}
body.pos-mode .pos-header-branding{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  line-height:1 !important;
}
body.pos-mode .pos-brand-main{
  font-family:'Cormorant Garamond',serif !important;
  color:var(--gold) !important;
  font-size:1.85rem !important;
  letter-spacing:.22em !important;
  white-space:nowrap !important;
}
body.pos-mode .pos-brand-sub{
  color:rgba(255,255,255,.70) !important;
  font-size:.58rem !important;
  letter-spacing:.42em !important;
  white-space:nowrap !important;
}
body.pos-mode .pos-header-brand > div:not(.pos-header-branding){
  display:none !important;
}

body.pos-mode .pos-header-nav{
  grid-column:2 !important;
  height:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:0 !important;
  overflow:hidden !important;
}
body.pos-mode .pos-header-nav .pos-nav{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:12px !important;
  flex-wrap:nowrap !important;
  border:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
}
body.pos-mode .pos-header-nav .pos-nav-btn{
  height:40px !important;
  padding:0 20px !important;
  border-radius:999px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:1px solid rgba(255,255,255,.15) !important;
  background:rgba(255,255,255,.035) !important;
  color:#fff !important;
  font-size:.76rem !important;
  font-weight:900 !important;
  letter-spacing:.3px !important;
  white-space:nowrap !important;
}
body.pos-mode .pos-header-nav .pos-nav-btn.active,
body.pos-mode .pos-header-nav .pos-nav-btn:hover{
  color:#111 !important;
  border-color:#d8b64d !important;
  background:linear-gradient(135deg,#d8b64d,#b8932e) !important;
}

body.pos-mode .pos-header-actions{
  grid-column:3 !important;
  height:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
}
body.pos-mode .pos-back-admin-btn{
  height:40px !important;
  padding:0 18px !important;
  border-radius:12px !important;
  border:1px solid rgba(255,255,255,.16) !important;
  background:rgba(0,0,0,.22) !important;
  color:#fff !important;
  white-space:nowrap !important;
}
body.pos-mode .pos-hidden-new-sale{display:none !important;}

/* Pestañas */
body.pos-mode #pos-section > .pos-pane{
  grid-row:2 !important;
  display:none !important;
  width:100% !important;
  max-width:1780px !important;
  min-height:0 !important;
  height:100% !important;
  margin:0 auto !important;
  padding:0 !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}
body.pos-mode #pos-section > .pos-pane.active{display:block !important;}

/* Layout Venta actual: 3 columnas como referencia */
body.pos-mode #pos-pane-venta.active .pos-layout{
  width:100% !important;
  height:100% !important;
  display:grid !important;
  grid-template-columns:33% 39% 28% !important;
  gap:18px !important;
  align-items:stretch !important;
  overflow:hidden !important;
}

/* Panel visual general */
body.pos-mode .pos-search-panel,
body.pos-mode .pos-cart-panel,
body.pos-mode .pos-panel-wide{
  background:linear-gradient(180deg,rgba(22,22,22,.98),rgba(10,10,10,.98)) !important;
  border:1px solid rgba(201,168,76,.20) !important;
  border-radius:18px !important;
  box-shadow:0 18px 44px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.035) !important;
  box-sizing:border-box !important;
}

/* Panel izquierdo: máximo de productos visibles */
body.pos-mode .pos-search-panel{
  grid-column:1 !important;
  height:100% !important;
  min-height:0 !important;
  padding:16px !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
}
body.pos-mode .pos-label{
  color:var(--gold) !important;
  font-size:.72rem !important;
  letter-spacing:1.8px !important;
  margin:0 0 10px !important;
  flex:0 0 auto !important;
}
body.pos-mode .pos-search-box{flex:0 0 auto !important;}
body.pos-mode #posSearchInput{
  height:42px !important;
  border-radius:12px !important;
  font-size:.80rem !important;
}
body.pos-mode .pos-product-list{
  flex:1 1 auto !important;
  min-height:0 !important;
  margin-top:12px !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  border:1px solid rgba(255,255,255,.08) !important;
  border-radius:16px !important;
  background:rgba(0,0,0,.22) !important;
}
body.pos-mode .pos-product-card{
  min-height:76px !important;
  grid-template-columns:62px minmax(0,1fr) 42px !important;
  padding:9px 12px !important;
  gap:10px !important;
}
body.pos-mode .pos-product-card img{
  width:48px !important;
  height:58px !important;
  object-fit:contain !important;
}
body.pos-mode .pos-product-name,
body.pos-mode .pos-product-title,
body.pos-mode .pos-product-card strong{
  font-size:.78rem !important;
  line-height:1.15 !important;
}
body.pos-mode .pos-product-meta,
body.pos-mode .pos-product-card small,
body.pos-mode .pos-product-card span{
  font-size:.68rem !important;
  line-height:1.25 !important;
}
body.pos-mode .pos-add-btn,
body.pos-mode .pos-product-card button{
  width:38px !important;
  height:38px !important;
  min-width:38px !important;
}

/* El panel derecho original se convierte en 2 columnas internas */
body.pos-mode .pos-cart-panel{
  grid-column:2 / 4 !important;
  height:100% !important;
  min-height:0 !important;
  padding:16px !important;
  display:grid !important;
  grid-template-columns:minmax(520px, 1fr) minmax(350px, 430px) !important;
  grid-template-rows:44px minmax(0,1fr) !important;
  grid-template-areas:
    "head summary"
    "list summary" !important;
  gap:14px 18px !important;
  overflow:hidden !important;
}

/* Tabla de carrito visible completa */
body.pos-mode .pos-cart-head{
  grid-area:head !important;
  height:44px !important;
  min-height:44px !important;
  display:grid !important;
  grid-template-columns:78px minmax(175px,1.25fr) 120px 90px 90px 34px !important;
  align-items:center !important;
  gap:8px !important;
  padding:0 12px !important;
  border-radius:14px !important;
  border:0 !important;
  margin:0 !important;
  background:rgba(201,168,76,.14) !important;
  color:var(--gold) !important;
  font-size:.70rem !important;
  letter-spacing:1.35px !important;
  overflow:hidden !important;
}
body.pos-mode .pos-cart-list{
  grid-area:list !important;
  height:100% !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  border:1px solid rgba(255,255,255,.08) !important;
  border-radius:16px !important;
  background:rgba(0,0,0,.18) !important;
}

/* Filas del carrito compactas: caben 8-10 */
body.pos-mode .pos-cart-row{
  display:grid !important;
  grid-template-columns:78px minmax(175px,1.25fr) 120px 90px 90px 34px !important;
  align-items:center !important;
  gap:8px !important;
  min-height:70px !important;
  padding:8px 12px !important;
  border-bottom:1px solid rgba(255,255,255,.075) !important;
  overflow:visible !important;
}
body.pos-mode .pos-cart-row input[type="number"],
body.pos-mode .pos-qty-input{
  width:58px !important;
  height:34px !important;
  min-width:58px !important;
  padding:0 8px !important;
  font-size:.78rem !important;
  border-radius:9px !important;
}
body.pos-mode .pos-cart-row img{
  width:36px !important;
  height:46px !important;
  object-fit:contain !important;
}
body.pos-mode .pos-cart-row strong,
body.pos-mode .pos-cart-row .pos-cart-name{
  font-size:.76rem !important;
  line-height:1.15 !important;
  white-space:normal !important;
}
body.pos-mode .pos-cart-row small,
body.pos-mode .pos-cart-row .pos-cart-brand{
  font-size:.64rem !important;
  line-height:1.18 !important;
  white-space:normal !important;
}
body.pos-mode .pos-type-select{
  width:118px !important;
  min-width:118px !important;
  max-width:118px !important;
  height:34px !important;
  font-size:.72rem !important;
  padding:0 8px !important;
  border-radius:9px !important;
}
body.pos-mode .pos-price-input{
  width:82px !important;
  min-width:82px !important;
  height:34px !important;
  font-size:.72rem !important;
}
body.pos-mode .pos-cart-row > strong{
  font-size:.72rem !important;
  white-space:nowrap !important;
}
body.pos-mode .pos-remove-btn{
  width:28px !important;
  height:28px !important;
  min-width:28px !important;
  padding:0 !important;
}
body.pos-mode .pos-empty{
  min-height:240px !important;
  height:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  color:rgba(255,255,255,.58) !important;
}

/* Resumen a la derecha, limpio */
body.pos-mode .pos-summary{
  grid-area:summary !important;
  width:100% !important;
  height:100% !important;
  max-height:100% !important;
  align-self:stretch !important;
  margin:0 !important;
  padding:20px !important;
  border:1px solid rgba(255,255,255,.08) !important;
  border-radius:18px !important;
  background:rgba(0,0,0,.23) !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
}
body.pos-mode .pos-summary-row{
  display:grid !important;
  grid-template-columns:130px minmax(0,1fr) !important;
  gap:10px !important;
  align-items:center !important;
  min-height:48px !important;
  padding:7px 0 !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
}
body.pos-mode .pos-summary-row > span{
  text-align:right !important;
  font-size:.78rem !important;
  font-weight:900 !important;
  color:#fff !important;
}
body.pos-mode .pos-discount-wrap,
body.pos-mode .pos-cash-actions{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 88px !important;
  gap:8px !important;
}
body.pos-mode .pos-payment-summary-select,
body.pos-mode .pos-summary .form-input,
body.pos-mode .pos-cash-input{
  width:100% !important;
  height:38px !important;
  border-radius:10px !important;
  font-size:.75rem !important;
}
body.pos-mode .pos-summary .btn-gold,
body.pos-mode .pos-action-btn{
  height:38px !important;
  border-radius:10px !important;
  font-size:.72rem !important;
  padding:0 10px !important;
}
body.pos-mode .pos-summary-total{
  display:grid !important;
  grid-template-columns:130px minmax(0,1fr) !important;
  gap:10px !important;
  align-items:center !important;
  padding:26px 0 !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
}
body.pos-mode .pos-summary-total span{
  text-align:right !important;
  color:#fff !important;
  font-size:1.35rem !important;
  font-weight:950 !important;
}
body.pos-mode .pos-summary-total strong{
  text-align:right !important;
  color:var(--green) !important;
  font-size:1.85rem !important;
  line-height:1 !important;
}
body.pos-mode .pos-actions{
  margin-top:auto !important;
  padding-top:18px !important;
  display:grid !important;
  grid-template-columns:1fr 1.35fr !important;
  gap:10px !important;
}
body.pos-mode #clearPosBtn,
body.pos-mode #finishPosBtn{
  height:46px !important;
  border-radius:11px !important;
  padding:0 14px !important;
  font-size:.76rem !important;
  font-weight:950 !important;
  white-space:nowrap !important;
}

/* Scrollbars visibles SOLO en las cajas */
body.pos-mode .pos-product-list,
body.pos-mode .pos-cart-list,
body.pos-mode #pos-pane-ventas.active,
body.pos-mode #pos-pane-estadisticas.active,
body.pos-mode #pos-pane-mas-vendidos.active{
  scrollbar-width:thin !important;
  scrollbar-color:rgba(255,255,255,.72) rgba(255,255,255,.06) !important;
}
body.pos-mode .pos-product-list::-webkit-scrollbar,
body.pos-mode .pos-cart-list::-webkit-scrollbar,
body.pos-mode #pos-pane-ventas.active::-webkit-scrollbar,
body.pos-mode #pos-pane-estadisticas.active::-webkit-scrollbar,
body.pos-mode #pos-pane-mas-vendidos.active::-webkit-scrollbar{
  width:8px !important;
  height:8px !important;
  display:block !important;
}
body.pos-mode .pos-product-list::-webkit-scrollbar-track,
body.pos-mode .pos-cart-list::-webkit-scrollbar-track{
  background:rgba(255,255,255,.055) !important;
  border-radius:999px !important;
}
body.pos-mode .pos-product-list::-webkit-scrollbar-thumb,
body.pos-mode .pos-cart-list::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,.70) !important;
  border-radius:999px !important;
}

/* Otras pestañas */
body.pos-mode #pos-pane-ventas.active,
body.pos-mode #pos-pane-estadisticas.active,
body.pos-mode #pos-pane-mas-vendidos.active{
  height:100% !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
}
body.pos-mode #pos-pane-ventas .pos-panel-wide,
body.pos-mode #pos-pane-estadisticas .pos-panel-wide,
body.pos-mode #pos-pane-mas-vendidos .pos-panel-wide{
  min-height:100% !important;
  padding:20px !important;
}

/* Responsivo */
@media (max-width:1180px){
  html.pos-mode,
  body.pos-mode{
    height:auto !important;
    max-height:none !important;
    overflow-y:auto !important;
  }
  body.pos-mode #pos-section{
    position:relative !important;
    display:block !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
    padding:16px !important;
  }
  body.pos-mode #pos-section > .pos-header{
    height:auto !important;
    min-height:0 !important;
    grid-template-columns:1fr auto !important;
    padding:14px !important;
    margin-bottom:16px !important;
  }
  body.pos-mode .pos-header-nav{
    grid-column:1 / -1 !important;
    order:3 !important;
    justify-content:flex-start !important;
    overflow-x:auto !important;
  }
  body.pos-mode #pos-pane-venta.active .pos-layout,
  body.pos-mode .pos-cart-panel{
    display:block !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
  }
}


/* =========================================================
   FIX CARRITO POS: 11 PRODUCTOS VISIBLES + COBRO DERECHA
   ========================================================= */
@media (min-width:1181px){
  html.pos-mode,
  body.pos-mode{
    overflow:hidden !important;
    height:100vh !important;
  }

  body.pos-mode #pos-section{
    grid-template-rows:72px minmax(0,1fr) !important;
    padding:14px 28px 18px !important;
    overflow:hidden !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-layout{
    grid-template-columns:31% 69% !important;
    gap:18px !important;
    height:100% !important;
    min-height:0 !important;
    overflow:hidden !important;
  }

  body.pos-mode .pos-cart-panel{
    display:grid !important;
    grid-template-columns:minmax(680px,1fr) minmax(360px,420px) !important;
    grid-template-rows:44px minmax(0,1fr) !important;
    grid-template-areas:
      "head summary"
      "list summary" !important;
    gap:14px 18px !important;
    height:100% !important;
    min-height:0 !important;
    overflow:hidden !important;
    padding:16px !important;
  }

  body.pos-mode .pos-cart-head{
    grid-area:head !important;
    display:grid !important;
    grid-template-columns:64px minmax(260px,1.6fr) 150px 90px 90px 30px !important;
    gap:8px !important;
    height:44px !important;
    min-height:44px !important;
    padding:0 10px !important;
    overflow:hidden !important;
  }

  body.pos-mode .pos-cart-list{
    grid-area:list !important;
    height:100% !important;
    max-height:none !important;
    min-height:0 !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    padding:0 !important;
    margin:0 !important;
  }

  body.pos-mode .pos-cart-row{
    display:grid !important;
    grid-template-columns:64px minmax(260px,1.6fr) 150px 90px 90px 30px !important;
    gap:8px !important;
    min-height:62px !important;
    height:62px !important;
    padding:6px 10px !important;
    align-items:center !important;
    overflow:hidden !important;
  }

  body.pos-mode .pos-cart-row input[type="number"],
  body.pos-mode .pos-qty-input{
    width:48px !important;
    min-width:48px !important;
    height:30px !important;
    padding:0 6px !important;
    font-size:.72rem !important;
    border-radius:8px !important;
  }

  body.pos-mode .pos-cart-row img{
    width:30px !important;
    height:42px !important;
    object-fit:contain !important;
  }

  body.pos-mode .pos-cart-row strong,
  body.pos-mode .pos-cart-row .pos-cart-name{
    font-size:.72rem !important;
    line-height:1.1 !important;
    white-space:normal !important;
    overflow:visible !important;
  }

  body.pos-mode .pos-cart-row small,
  body.pos-mode .pos-cart-row .pos-cart-brand{
    font-size:.60rem !important;
    line-height:1.1 !important;
    white-space:normal !important;
    overflow:visible !important;
  }

  body.pos-mode .pos-type-select{
    width:145px !important;
    min-width:145px !important;
    max-width:145px !important;
    height:30px !important;
    font-size:.68rem !important;
    padding:0 8px !important;
    border-radius:8px !important;
  }

  body.pos-mode .pos-price-input{
    width:82px !important;
    min-width:82px !important;
    height:30px !important;
    font-size:.68rem !important;
    padding:0 6px !important;
  }

  body.pos-mode .pos-cart-row > strong{
    font-size:.70rem !important;
    white-space:nowrap !important;
    overflow:visible !important;
  }

  body.pos-mode .pos-remove-btn{
    width:26px !important;
    height:26px !important;
    min-width:26px !important;
    padding:0 !important;
  }

  body.pos-mode .pos-summary{
    grid-area:summary !important;
    justify-self:stretch !important;
    align-self:stretch !important;
    width:100% !important;
    max-width:none !important;
    height:100% !important;
    max-height:100% !important;
    margin:0 !important;
    padding:20px !important;
    overflow:hidden !important;
    display:flex !important;
    flex-direction:column !important;
  }

  body.pos-mode .pos-summary-row{
    grid-template-columns:130px minmax(0,1fr) !important;
    min-height:47px !important;
    padding:7px 0 !important;
  }

  body.pos-mode .pos-summary-total{
    grid-template-columns:130px minmax(0,1fr) !important;
    padding:24px 0 !important;
  }

  body.pos-mode .pos-actions{
    margin-top:auto !important;
    display:grid !important;
    grid-template-columns:1fr 1.35fr !important;
    gap:10px !important;
  }

  body.pos-mode #clearPosBtn,
  body.pos-mode #finishPosBtn{
    width:100% !important;
    height:46px !important;
  }

  /* Barras de scroll visibles en cajas internas */
  body.pos-mode .pos-product-list,
  body.pos-mode .pos-cart-list{
    scrollbar-width:thin !important;
    scrollbar-color:rgba(220,220,220,.78) rgba(255,255,255,.06) !important;
  }

  body.pos-mode .pos-product-list::-webkit-scrollbar,
  body.pos-mode .pos-cart-list::-webkit-scrollbar{
    display:block !important;
    width:8px !important;
    height:8px !important;
  }

  body.pos-mode .pos-product-list::-webkit-scrollbar-track,
  body.pos-mode .pos-cart-list::-webkit-scrollbar-track{
    background:rgba(255,255,255,.06) !important;
    border-radius:999px !important;
  }

  body.pos-mode .pos-product-list::-webkit-scrollbar-thumb,
  body.pos-mode .pos-cart-list::-webkit-scrollbar-thumb{
    background:rgba(220,220,220,.78) !important;
    border-radius:999px !important;
    border:1px solid rgba(0,0,0,.25) !important;
  }

  body.pos-mode .pos-product-list::-webkit-scrollbar-thumb:hover,
  body.pos-mode .pos-cart-list::-webkit-scrollbar-thumb:hover{
    background:rgba(255,255,255,.9) !important;
  }
}


/* =========================================================
   FIX DEFINITIVO CARRITO POS - 11 FILAS, RESUMEN DERECHA, SCROLL VISIBLE
   ========================================================= */
@media (min-width:1181px){
  body.pos-mode #pos-section{
    padding:14px 28px 18px !important;
    overflow:hidden !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-layout{
    display:grid !important;
    grid-template-columns:32% 68% !important;
    gap:18px !important;
    height:100% !important;
    min-height:0 !important;
    overflow:hidden !important;
  }

  /* El panel derecho ocupa todo el ancho disponible */
  body.pos-mode #pos-pane-venta.active .pos-cart-panel{
    display:grid !important;
    grid-template-columns:minmax(650px, 1fr) minmax(390px, 430px) !important;
    grid-template-rows:40px minmax(0, 1fr) !important;
    grid-template-areas:
      "head summary"
      "list summary" !important;
    column-gap:18px !important;
    row-gap:10px !important;
    height:100% !important;
    min-height:0 !important;
    width:100% !important;
    padding:16px !important;
    overflow:hidden !important;
  }

  /* Encabezado del carrito */
  body.pos-mode #pos-pane-venta.active .pos-cart-head{
    grid-area:head !important;
    display:grid !important;
    grid-template-columns:64px minmax(270px, 1fr) 145px 88px 88px 28px !important;
    gap:8px !important;
    height:40px !important;
    min-height:40px !important;
    padding:0 10px !important;
    border-radius:12px !important;
    overflow:hidden !important;
    align-items:center !important;
  }

  /* Lista del carrito: ocupa todo el alto restante */
  body.pos-mode #pos-pane-venta.active .pos-cart-list,
  body.pos-mode #pos-pane-venta.active #posCartList{
    grid-area:list !important;
    display:block !important;
    height:100% !important;
    min-height:0 !important;
    max-height:none !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    margin:0 !important;
    padding:0 !important;
    border-radius:14px !important;
    border:1px solid rgba(255,255,255,.08) !important;
    background:rgba(0,0,0,.18) !important;
  }

  /* Filas compactas: caben aproximadamente 11 en pantalla */
  body.pos-mode #pos-pane-venta.active .pos-cart-row{
    display:grid !important;
    grid-template-columns:64px minmax(270px, 1fr) 145px 88px 88px 28px !important;
    gap:8px !important;
    height:56px !important;
    min-height:56px !important;
    max-height:56px !important;
    padding:5px 10px !important;
    align-items:center !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
  }

  /* Cantidad más pequeña */
  body.pos-mode #pos-pane-venta.active .pos-qty-input,
  body.pos-mode #pos-pane-venta.active .pos-cart-row input[type="number"].pos-qty-input{
    width:46px !important;
    min-width:46px !important;
    max-width:46px !important;
    height:28px !important;
    padding:0 6px !important;
    font-size:.70rem !important;
    border-radius:8px !important;
    justify-self:start !important;
  }

  /* Producto completo y legible */
  body.pos-mode #pos-pane-venta.active .pos-cart-product{
    display:grid !important;
    grid-template-columns:40px minmax(0, 1fr) !important;
    gap:8px !important;
    align-items:center !important;
    min-width:0 !important;
    overflow:visible !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-thumb{
    width:32px !important;
    height:42px !important;
    object-fit:contain !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-product-info{
    min-width:0 !important;
    overflow:visible !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-product-info strong{
    display:block !important;
    font-size:.72rem !important;
    line-height:1.08 !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-product-info span{
    display:block !important;
    font-size:.62rem !important;
    line-height:1.08 !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    margin-top:2px !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-type-select{
    width:142px !important;
    min-width:142px !important;
    max-width:142px !important;
    height:30px !important;
    font-size:.68rem !important;
    padding:0 8px !important;
    border-radius:8px !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-price-input{
    width:80px !important;
    min-width:80px !important;
    max-width:80px !important;
    height:30px !important;
    font-size:.68rem !important;
    padding:0 6px !important;
    border-radius:8px !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-row > strong{
    font-size:.68rem !important;
    white-space:nowrap !important;
    overflow:visible !important;
    text-align:left !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-remove-btn{
    width:24px !important;
    min-width:24px !important;
    height:24px !important;
    padding:0 !important;
    font-size:.78rem !important;
  }

  /* Resumen de cobro fijo a la derecha */
  body.pos-mode #pos-pane-venta.active .pos-summary{
    grid-area:summary !important;
    justify-self:stretch !important;
    align-self:stretch !important;
    width:100% !important;
    max-width:none !important;
    height:100% !important;
    max-height:100% !important;
    margin:0 !important;
    padding:20px !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    border:1px solid rgba(255,255,255,.08) !important;
    border-radius:16px !important;
    background:rgba(0,0,0,.22) !important;
    display:flex !important;
    flex-direction:column !important;
    box-sizing:border-box !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-summary-row{
    display:grid !important;
    grid-template-columns:130px minmax(0, 1fr) !important;
    gap:10px !important;
    align-items:center !important;
    min-height:45px !important;
    padding:6px 0 !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-summary-total{
    display:grid !important;
    grid-template-columns:130px minmax(0, 1fr) !important;
    gap:10px !important;
    align-items:center !important;
    padding:22px 0 !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-actions{
    margin-top:auto !important;
    display:grid !important;
    grid-template-columns:1fr 1.35fr !important;
    gap:10px !important;
    width:100% !important;
  }

  body.pos-mode #pos-pane-venta.active #clearPosBtn,
  body.pos-mode #pos-pane-venta.active #finishPosBtn{
    width:100% !important;
    height:46px !important;
    border-radius:11px !important;
  }

  /* Barras de scroll visibles */
  body.pos-mode #pos-pane-venta.active .pos-product-list,
  body.pos-mode #pos-pane-venta.active .pos-cart-list,
  body.pos-mode #pos-pane-venta.active #posCartList,
  body.pos-mode #pos-pane-venta.active .pos-summary{
    scrollbar-width:thin !important;
    scrollbar-color:rgba(220,220,220,.78) rgba(255,255,255,.07) !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-product-list::-webkit-scrollbar,
  body.pos-mode #pos-pane-venta.active .pos-cart-list::-webkit-scrollbar,
  body.pos-mode #pos-pane-venta.active #posCartList::-webkit-scrollbar,
  body.pos-mode #pos-pane-venta.active .pos-summary::-webkit-scrollbar{
    width:8px !important;
    height:8px !important;
    display:block !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-product-list::-webkit-scrollbar-track,
  body.pos-mode #pos-pane-venta.active .pos-cart-list::-webkit-scrollbar-track,
  body.pos-mode #pos-pane-venta.active #posCartList::-webkit-scrollbar-track,
  body.pos-mode #pos-pane-venta.active .pos-summary::-webkit-scrollbar-track{
    background:rgba(255,255,255,.07) !important;
    border-radius:999px !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-product-list::-webkit-scrollbar-thumb,
  body.pos-mode #pos-pane-venta.active .pos-cart-list::-webkit-scrollbar-thumb,
  body.pos-mode #pos-pane-venta.active #posCartList::-webkit-scrollbar-thumb,
  body.pos-mode #pos-pane-venta.active .pos-summary::-webkit-scrollbar-thumb{
    background:rgba(220,220,220,.78) !important;
    border-radius:999px !important;
  }
}


/* =========================================================
   FIX FINAL POS: COBRO HASTA LA DERECHA + CARRITO COMPLETO
   ========================================================= */
@media (min-width:1181px){
  html.pos-mode,
  body.pos-mode{
    overflow:hidden !important;
    height:100vh !important;
    max-height:100vh !important;
  }

  body.pos-mode #pos-section{
    padding:14px 28px 18px !important;
    overflow:hidden !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-layout{
    display:grid !important;
    grid-template-columns:31% 69% !important;
    gap:18px !important;
    height:100% !important;
    min-height:0 !important;
    overflow:hidden !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-panel{
    display:grid !important;
    grid-template-columns:minmax(760px, 1fr) 410px !important;
    grid-template-rows:40px minmax(0, 1fr) !important;
    grid-template-areas:
      "head summary"
      "list summary" !important;
    gap:10px 18px !important;
    height:100% !important;
    min-height:0 !important;
    width:100% !important;
    padding:16px !important;
    overflow:hidden !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-head{
    grid-area:head !important;
    display:grid !important;
    grid-template-columns:56px minmax(300px,1fr) 138px 82px 92px 26px !important;
    gap:8px !important;
    height:40px !important;
    min-height:40px !important;
    padding:0 10px !important;
    align-items:center !important;
    border-radius:12px !important;
    overflow:hidden !important;
    white-space:nowrap !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-head span{
    overflow:visible !important;
    text-overflow:clip !important;
    white-space:nowrap !important;
    font-size:.66rem !important;
    letter-spacing:1px !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-list,
  body.pos-mode #pos-pane-venta.active #posCartList{
    grid-area:list !important;
    display:block !important;
    height:100% !important;
    min-height:0 !important;
    max-height:none !important;
    margin:0 !important;
    padding:0 !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    border-radius:14px !important;
    border:1px solid rgba(255,255,255,.08) !important;
    background:rgba(0,0,0,.18) !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-row{
    display:grid !important;
    grid-template-columns:56px minmax(300px,1fr) 138px 82px 92px 26px !important;
    gap:8px !important;
    height:56px !important;
    min-height:56px !important;
    max-height:56px !important;
    padding:5px 10px !important;
    align-items:center !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-qty-input{
    width:42px !important;
    min-width:42px !important;
    max-width:42px !important;
    height:28px !important;
    padding:0 6px !important;
    font-size:.70rem !important;
    border-radius:8px !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-product{
    display:grid !important;
    grid-template-columns:40px minmax(0,1fr) !important;
    gap:8px !important;
    align-items:center !important;
    min-width:0 !important;
    max-width:100% !important;
    overflow:hidden !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-thumb{
    width:30px !important;
    height:42px !important;
    object-fit:contain !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-product-info{
    min-width:0 !important;
    overflow:visible !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-product-info strong{
    display:block !important;
    font-size:.70rem !important;
    line-height:1.06 !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    max-width:none !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-product-info span{
    display:block !important;
    font-size:.59rem !important;
    line-height:1.06 !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    max-width:none !important;
    margin-top:2px !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-type-select{
    width:136px !important;
    min-width:136px !important;
    max-width:136px !important;
    height:30px !important;
    font-size:.66rem !important;
    padding:0 7px !important;
    border-radius:8px !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-price-input{
    width:78px !important;
    min-width:78px !important;
    max-width:78px !important;
    height:30px !important;
    font-size:.66rem !important;
    padding:0 6px !important;
    border-radius:8px !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-row > strong{
    font-size:.66rem !important;
    white-space:nowrap !important;
    overflow:visible !important;
    text-align:left !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-remove-btn{
    width:24px !important;
    min-width:24px !important;
    height:24px !important;
    padding:0 !important;
    font-size:.78rem !important;
  }

  /* Pago pegado al extremo derecho del panel */
  body.pos-mode #pos-pane-venta.active .pos-summary{
    grid-area:summary !important;
    justify-self:end !important;
    align-self:stretch !important;
    width:410px !important;
    max-width:410px !important;
    min-width:410px !important;
    height:100% !important;
    max-height:100% !important;
    margin:0 !important;
    padding:20px !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    border:1px solid rgba(255,255,255,.08) !important;
    border-radius:16px !important;
    background:rgba(0,0,0,.22) !important;
    display:flex !important;
    flex-direction:column !important;
    box-sizing:border-box !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-summary-row{
    display:grid !important;
    grid-template-columns:130px minmax(0,1fr) !important;
    gap:10px !important;
    align-items:center !important;
    min-height:45px !important;
    padding:6px 0 !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-summary-row > span{
    text-align:right !important;
    white-space:normal !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-summary-total{
    display:grid !important;
    grid-template-columns:130px minmax(0,1fr) !important;
    gap:10px !important;
    align-items:center !important;
    padding:22px 0 !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-summary-total strong{
    font-size:1.62rem !important;
    white-space:nowrap !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-discount-wrap,
  body.pos-mode #pos-pane-venta.active .pos-cash-actions{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 86px !important;
    gap:8px !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-actions{
    margin-top:auto !important;
    display:grid !important;
    grid-template-columns:1fr 1.35fr !important;
    gap:10px !important;
    width:100% !important;
  }

  body.pos-mode #pos-pane-venta.active #clearPosBtn,
  body.pos-mode #pos-pane-venta.active #finishPosBtn{
    width:100% !important;
    height:46px !important;
    border-radius:11px !important;
  }

  /* Scrollbars visibles, limpios y profesionales */
  body.pos-mode #pos-pane-venta.active .pos-product-list,
  body.pos-mode #pos-pane-venta.active .pos-cart-list,
  body.pos-mode #pos-pane-venta.active #posCartList,
  body.pos-mode #pos-pane-venta.active .pos-summary{
    scrollbar-width:thin !important;
    scrollbar-color:rgba(201,168,76,.8) rgba(255,255,255,.07) !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-product-list::-webkit-scrollbar,
  body.pos-mode #pos-pane-venta.active .pos-cart-list::-webkit-scrollbar,
  body.pos-mode #pos-pane-venta.active #posCartList::-webkit-scrollbar,
  body.pos-mode #pos-pane-venta.active .pos-summary::-webkit-scrollbar{
    width:8px !important;
    height:8px !important;
    display:block !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-product-list::-webkit-scrollbar-track,
  body.pos-mode #pos-pane-venta.active .pos-cart-list::-webkit-scrollbar-track,
  body.pos-mode #pos-pane-venta.active #posCartList::-webkit-scrollbar-track,
  body.pos-mode #pos-pane-venta.active .pos-summary::-webkit-scrollbar-track{
    background:rgba(255,255,255,.07) !important;
    border-radius:999px !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-product-list::-webkit-scrollbar-thumb,
  body.pos-mode #pos-pane-venta.active .pos-cart-list::-webkit-scrollbar-thumb,
  body.pos-mode #pos-pane-venta.active #posCartList::-webkit-scrollbar-thumb,
  body.pos-mode #pos-pane-venta.active .pos-summary::-webkit-scrollbar-thumb{
    background:linear-gradient(180deg,#d8b64d,#8e7122) !important;
    border-radius:999px !important;
  }
}

@media (min-width:1181px) and (max-width:1500px){
  body.pos-mode #pos-pane-venta.active .pos-layout{
    grid-template-columns:30% 70% !important;
  }
  body.pos-mode #pos-pane-venta.active .pos-cart-panel{
    grid-template-columns:minmax(610px,1fr) 390px !important;
  }
  body.pos-mode #pos-pane-venta.active .pos-summary{
    width:390px !important;
    max-width:390px !important;
    min-width:390px !important;
  }
  body.pos-mode #pos-pane-venta.active .pos-cart-head,
  body.pos-mode #pos-pane-venta.active .pos-cart-row{
    grid-template-columns:50px minmax(245px,1fr) 128px 74px 82px 24px !important;
  }
}


/* =========================================================
   FIX POS: evitar corte derecho + nombres como catálogo
   ========================================================= */
@media (min-width:1181px){
  body.pos-mode #pos-section{
    padding:14px 32px 18px !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
  }

  body.pos-mode #pos-section > .pos-header,
  body.pos-mode #pos-section > .pos-pane{
    max-width:calc(100vw - 64px) !important;
    width:100% !important;
    box-sizing:border-box !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-layout{
    grid-template-columns:minmax(420px, 31%) minmax(0, 69%) !important;
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-panel{
    grid-template-columns:minmax(0, 1fr) 400px !important;
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
    padding-right:18px !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-summary{
    width:400px !important;
    min-width:400px !important;
    max-width:400px !important;
    justify-self:end !important;
    box-sizing:border-box !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-head,
  body.pos-mode #pos-pane-venta.active .pos-cart-row{
    grid-template-columns:52px minmax(285px,1fr) 132px 76px 86px 26px !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-list,
  body.pos-mode #pos-pane-venta.active #posCartList{
    padding-right:4px !important;
    box-sizing:border-box !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-product-info strong{
    color:var(--gold) !important;
    font-size:.76rem !important;
    font-weight:900 !important;
    letter-spacing:.25px !important;
    text-transform:uppercase !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-product-info span{
    color:rgba(255,255,255,.68) !important;
    font-size:.60rem !important;
    font-weight:700 !important;
    letter-spacing:.35px !important;
    text-transform:uppercase !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-type-select{
    width:130px !important;
    min-width:130px !important;
    max-width:130px !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-price-input{
    width:74px !important;
    min-width:74px !important;
    max-width:74px !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-row > strong{
    font-size:.64rem !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-actions{
    max-width:100% !important;
    overflow:hidden !important;
  }
}

@media (min-width:1181px) and (max-width:1500px){
  body.pos-mode #pos-section{
    padding-left:24px !important;
    padding-right:24px !important;
  }

  body.pos-mode #pos-section > .pos-header,
  body.pos-mode #pos-section > .pos-pane{
    max-width:calc(100vw - 48px) !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-layout{
    grid-template-columns:minmax(390px, 30%) minmax(0, 70%) !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-panel{
    grid-template-columns:minmax(0, 1fr) 370px !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-summary{
    width:370px !important;
    min-width:370px !important;
    max-width:370px !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-head,
  body.pos-mode #pos-pane-venta.active .pos-cart-row{
    grid-template-columns:46px minmax(230px,1fr) 122px 70px 78px 24px !important;
    gap:7px !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-type-select{
    width:120px !important;
    min-width:120px !important;
    max-width:120px !important;
    font-size:.62rem !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-price-input{
    width:68px !important;
    min-width:68px !important;
    max-width:68px !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-summary-total strong{
    font-size:1.45rem !important;
  }
}

/* =========================================================
   FIX FINAL POS DERECHA REAL + CARRITO SIN CORTE
   ========================================================= */
@media (min-width:1181px){
  body.pos-mode #pos-section{
    padding:16px 28px 18px !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
  }

  body.pos-mode #pos-section > .pos-header,
  body.pos-mode #pos-section > .pos-pane{
    width:100% !important;
    max-width:calc(100vw - 56px) !important;
    box-sizing:border-box !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-layout{
    width:100% !important;
    max-width:100% !important;
    height:100% !important;
    min-height:0 !important;
    display:grid !important;
    grid-template-columns:minmax(420px,31%) minmax(0,69%) !important;
    gap:18px !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-panel{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 390px !important;
    grid-template-rows:44px minmax(0,1fr) 52px !important;
    grid-template-areas:
      "head summary"
      "list summary"
      "list actions" !important;
    gap:14px 16px !important;
    width:100% !important;
    max-width:100% !important;
    height:100% !important;
    min-height:0 !important;
    padding:16px !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-head{
    grid-area:head !important;
    width:100% !important;
    min-width:0 !important;
    height:44px !important;
    display:grid !important;
    grid-template-columns:90px minmax(250px,1fr) 128px 72px 82px 24px !important;
    gap:7px !important;
    align-items:center !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
  }

  body.pos-mode #pos-pane-venta.active #posCartList,
  body.pos-mode #pos-pane-venta.active .pos-cart-list{
    grid-area:list !important;
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    max-height:none !important;
    margin:0 !important;
    padding:0 4px 0 0 !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    box-sizing:border-box !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-row{
    width:100% !important;
    min-width:0 !important;
    height:78px !important;
    min-height:78px !important;
    max-height:78px !important;
    display:grid !important;
    grid-template-columns:52px minmax(250px,1fr) 128px 72px 82px 24px !important;
    gap:7px !important;
    align-items:center !important;
    padding:8px 10px !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-product{
    min-width:0 !important;
    overflow:hidden !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-thumb{
    width:42px !important;
    height:52px !important;
    min-width:42px !important;
    object-fit:contain !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-product-info{
    min-width:0 !important;
    overflow:hidden !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-product-info strong{
    display:block !important;
    color:var(--gold) !important;
    font-size:.82rem !important;
    font-weight:900 !important;
    line-height:1.08 !important;
    text-transform:uppercase !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:unset !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-product-info span{
    display:block !important;
    color:rgba(255,255,255,.62) !important;
    font-size:.62rem !important;
    font-weight:700 !important;
    line-height:1.1 !important;
    text-transform:uppercase !important;
    margin-top:3px !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:unset !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-qty-input{
    width:46px !important;
    min-width:46px !important;
    max-width:46px !important;
    height:32px !important;
    padding:4px !important;
    text-align:center !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-type-select{
    width:128px !important;
    min-width:128px !important;
    max-width:128px !important;
    height:32px !important;
    padding:4px 8px !important;
    font-size:.62rem !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-price-input{
    width:72px !important;
    min-width:72px !important;
    max-width:72px !important;
    height:32px !important;
    padding:4px !important;
    font-size:.66rem !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-row > strong{
    font-size:.66rem !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-remove-btn{
    width:24px !important;
    min-width:24px !important;
    height:24px !important;
    font-size:1rem !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-summary{
    grid-area:summary !important;
    justify-self:end !important;
    align-self:stretch !important;
    width:390px !important;
    min-width:390px !important;
    max-width:390px !important;
    height:100% !important;
    max-height:100% !important;
    margin:0 !important;
    padding:18px !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    box-sizing:border-box !important;
    border-radius:18px !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-summary-row,
  body.pos-mode #pos-pane-venta.active .pos-payment-summary-row,
  body.pos-mode #pos-pane-venta.active .pos-cash-row,
  body.pos-mode #pos-pane-venta.active .pos-change-row{
    grid-template-columns:132px minmax(0,1fr) !important;
    gap:10px !important;
    min-height:46px !important;
    padding:7px 0 !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-summary-row > span,
  body.pos-mode #pos-pane-venta.active .pos-payment-summary-row span,
  body.pos-mode #pos-pane-venta.active .pos-cash-row span,
  body.pos-mode #pos-pane-venta.active .pos-change-row span{
    text-align:right !important;
    font-size:.73rem !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-discount-wrap,
  body.pos-mode #pos-pane-venta.active .pos-cash-actions{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 94px !important;
    gap:7px !important;
    width:100% !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-payment-summary-select,
  body.pos-mode #pos-pane-venta.active .pos-cash-input,
  body.pos-mode #pos-pane-venta.active .pos-summary .form-input{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    height:38px !important;
    font-size:.72rem !important;
    box-sizing:border-box !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-action-btn,
  body.pos-mode #pos-pane-venta.active #applyDiscountBtn{
    width:94px !important;
    min-width:94px !important;
    max-width:94px !important;
    height:38px !important;
    font-size:.72rem !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-summary-total{
    grid-template-columns:132px minmax(0,1fr) !important;
    gap:10px !important;
    padding:18px 0 !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-summary-total span{
    text-align:right !important;
    font-size:1.35rem !important;
    line-height:1 !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-summary-total strong{
    text-align:right !important;
    font-size:1.75rem !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-actions{
    grid-area:actions !important;
    justify-self:end !important;
    align-self:end !important;
    width:390px !important;
    min-width:390px !important;
    max-width:390px !important;
    display:flex !important;
    justify-content:flex-end !important;
    align-items:center !important;
    gap:10px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    overflow:visible !important;
    box-sizing:border-box !important;
  }

  body.pos-mode #pos-pane-venta.active #clearPosBtn,
  body.pos-mode #pos-pane-venta.active #finishPosBtn{
    height:42px !important;
    min-height:42px !important;
    border-radius:10px !important;
    font-size:.78rem !important;
    font-weight:900 !important;
    white-space:nowrap !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    box-sizing:border-box !important;
  }

  body.pos-mode #pos-pane-venta.active #clearPosBtn{
    width:110px !important;
    min-width:110px !important;
    padding:0 !important;
  }

  body.pos-mode #pos-pane-venta.active #finishPosBtn{
    width:150px !important;
    min-width:150px !important;
    padding:0 !important;
  }
}

@media (min-width:1181px) and (max-width:1500px){
  body.pos-mode #pos-section{
    padding-left:22px !important;
    padding-right:22px !important;
  }

  body.pos-mode #pos-section > .pos-header,
  body.pos-mode #pos-section > .pos-pane{
    max-width:calc(100vw - 44px) !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-layout{
    grid-template-columns:minmax(360px,30%) minmax(0,70%) !important;
    gap:14px !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-panel{
    grid-template-columns:minmax(0,1fr) 340px !important;
    gap:12px 12px !important;
    padding:14px !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-summary,
  body.pos-mode #pos-pane-venta.active .pos-actions{
    width:340px !important;
    min-width:340px !important;
    max-width:340px !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-head,
  body.pos-mode #pos-pane-venta.active .pos-cart-row{
    grid-template-columns:80px minmax(190px,1fr) 116px 62px 68px 22px !important;
    gap:6px !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-type-select{
    width:116px !important;
    min-width:116px !important;
    max-width:116px !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-price-input{
    width:62px !important;
    min-width:62px !important;
    max-width:62px !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-summary-row,
  body.pos-mode #pos-pane-venta.active .pos-payment-summary-row,
  body.pos-mode #pos-pane-venta.active .pos-cash-row,
  body.pos-mode #pos-pane-venta.active .pos-change-row,
  body.pos-mode #pos-pane-venta.active .pos-summary-total{
    grid-template-columns:118px minmax(0,1fr) !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-discount-wrap,
  body.pos-mode #pos-pane-venta.active .pos-cash-actions{
    grid-template-columns:minmax(0,1fr) 84px !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-action-btn,
  body.pos-mode #pos-pane-venta.active #applyDiscountBtn{
    width:84px !important;
    min-width:84px !important;
    max-width:84px !important;
    font-size:.68rem !important;
  }
}


/* FIX DEFINITIVO MODAL FINALIZAR COMPRA */
#finishSaleModal:not(.hidden){
  display:flex !important;
  position:fixed !important;
  inset:0 !important;
  z-index:999999 !important;
  align-items:center !important;
  justify-content:center !important;
  pointer-events:auto !important;
}
#finishSaleModal.hidden{
  display:none !important;
}
#finishSaleModal .finish-sale-card{
  position:relative !important;
  z-index:1000000 !important;
}
#finishPosBtn,
#finishWithoutReceiptBtn,
#finishSaleCloseBtn{
  pointer-events:auto !important;
  cursor:pointer !important;
}


/* =========================================================
   OPTIMIZACIÓN CLS / PAGESPEED — 2026-06-09
   Reserva espacios antes de que cargue JS, fuentes e imágenes.
   ========================================================= */
html { scroll-padding-top: 86px; }
body { overflow-anchor: none; }
.site-header { min-height: 70px; contain: layout paint; }
.header-inner { min-height: 70px; }
.logo-mark { width:72px !important; height:72px !important; min-width:72px !important; }
.logo-img { width:52px !important; height:52px !important; max-width:52px !important; max-height:52px !important; object-fit:contain !important; aspect-ratio:1/1; }
.logo-text { min-width: 118px; min-height: 43px; }
.section-header { min-height: 92px; }
.filters-bar { min-height: 92px; }
.table-wrap { min-height: 640px; contain-intrinsic-size: 640px; }

/* === FIX FINAL MODAL DETALLE DE VENTA === */
#saleDetailModal.cf-open,
#saleDetailModal:not(.hidden){
  display:flex !important;
  position:fixed !important;
  inset:0 !important;
  z-index:999999 !important;
  align-items:center !important;
  justify-content:center !important;
  pointer-events:auto !important;
}
#saleDetailModal.hidden{display:none !important;}
#saleDetailModal .sale-detail-card{
  position:relative !important;
  z-index:1000000 !important;
  width:min(980px,94vw) !important;
  max-height:88vh !important;
  overflow:auto !important;
}
#saleDetailModal .modal-close,
.sale-detail-btn{pointer-events:auto !important; cursor:pointer !important;}


/* === FIX: bloqueo de POS sin sesión admin === */
body.pos-auth-locked{
  overflow:hidden !important;
}
body.pos-auth-locked > *:not(#posAuthRequiredModal){
  filter:blur(14px) !important;
  pointer-events:none !important;
  user-select:none !important;
}
.pos-auth-required-modal{
  position:fixed;
  inset:0;
  z-index:999999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:22px;
  background:rgba(0,0,0,.78);
  backdrop-filter:blur(18px);
}
.pos-auth-required-card{
  width:min(460px, 92vw);
  background:linear-gradient(145deg, rgba(18,18,18,.98), rgba(8,8,8,.98));
  border:1px solid rgba(212,175,55,.35);
  border-radius:22px;
  padding:28px;
  text-align:center;
  box-shadow:0 22px 70px rgba(0,0,0,.55);
}
.pos-auth-required-card h2{
  font-family:var(--font-display);
  color:var(--gold);
  font-size:2rem;
  margin:0 0 10px;
}
.pos-auth-required-card p{
  color:var(--white-soft);
  line-height:1.55;
  margin:0 0 22px;
}
.pos-auth-required-actions{
  display:flex;
  gap:12px;
  justify-content:center;
  flex-wrap:wrap;
}
.pos-auth-required-actions a,
.pos-auth-required-actions button{
  min-width:140px;
  justify-content:center;
}


/* === RESTAURACIÓN FINAL LISTA PRINCIPAL COMO public_html(3).zip === */
.catalog-table,
.catalog-table *{
  user-select:none;
}
.catalog-search,
#searchInput{
  user-select:text !important;
}
#catalogBody .col-name{
  min-width:230px !important;
}
#catalogBody .pf-name-line{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:8px !important;
  flex-wrap:nowrap !important;
  width:100% !important;
  line-height:1.05 !important;
}
#catalogBody .pf-name-gold{
  display:inline-block !important;
  width:auto !important;
  max-width:100% !important;
  flex:0 1 auto !important;
  margin:0 !important;
  vertical-align:middle !important;
}
#catalogBody .badges-desktop{
  display:inline-flex !important;
  align-items:center !important;
  gap:6px !important;
  flex:0 0 auto !important;
  margin-left:0 !important;
  vertical-align:middle !important;
}
#catalogBody .badges-mobile{
  display:none !important;
}
#catalogBody .pf-brand-gray{
  display:block !important;
  margin-top:4px !important;
}
#catalogBody .perfume-badge{
  transform:none !important;
  position:static !important;
}

/* Menú lateral restaurado y siempre visible al abrir */
.drawer{
  position:fixed !important;
  top:0 !important;
  right:-320px !important;
  width:300px !important;
  max-width:86vw !important;
  height:100vh !important;
  z-index:999998 !important;
  background:var(--black-card) !important;
  border-left:1px solid var(--black-border) !important;
  padding:80px 0 40px !important;
  display:flex !important;
  flex-direction:column !important;
  transition:right .28s ease !important;
  overflow-y:auto !important;
}
.drawer.open{ right:0 !important; }
.drawer-overlay{ z-index:999997 !important; }
.drawer-links{ display:block !important; visibility:visible !important; opacity:1 !important; }
.drawer-link{ display:flex !important; visibility:visible !important; opacity:1 !important; }
.drawer-close{ z-index:1000000 !important; }

@media (max-width:700px){
  #catalogBody .col-name{
    min-width:0 !important;
  }
  #catalogBody .pf-name-line{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:6px !important;
  }
  #catalogBody .badges-desktop{
    display:inline-flex !important;
  }
  #catalogBody .badges-mobile{
    display:none !important;
  }
  #catalogBody .pf-name-gold{
    display:inline !important;
    max-width:calc(100% - 110px) !important;
  }
}

/* =========================================================
   FIX FINAL REAL: MENÚ HAMBURGUESA + TÍTULO CATÁLOGO
   Motivo: la regla contain: layout paint en .site-header recortaba el drawer
   y por eso sólo se veía la franja superior con la X.
   ========================================================= */
.site-header{
  contain:none !important;
  overflow:visible !important;
}
.header-inner{
  overflow:visible !important;
}
.drawer{
  position:fixed !important;
  top:0 !important;
  right:-320px !important;
  width:300px !important;
  max-width:86vw !important;
  height:100vh !important;
  min-height:100vh !important;
  background:var(--black-card) !important;
  border-left:1px solid var(--black-border) !important;
  z-index:1000002 !important;
  padding:80px 0 40px !important;
  display:flex !important;
  flex-direction:column !important;
  overflow-y:auto !important;
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
  transition:right .28s ease !important;
}
.drawer.open,
body.cf-drawer-open .drawer{
  right:0 !important;
}
.drawer-overlay{
  position:fixed !important;
  inset:0 !important;
  z-index:1000001 !important;
  background:rgba(0,0,0,.62) !important;
  display:none !important;
}
.drawer-overlay.show,
body.cf-drawer-open .drawer-overlay{
  display:block !important;
}
.drawer-links{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  list-style:none !important;
  padding:0 20px !important;
  margin:0 !important;
}
.drawer-links li{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
}
.drawer-link{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  visibility:visible !important;
  opacity:1 !important;
  color:var(--white-dim) !important;
  padding:16px 10px !important;
  text-decoration:none !important;
}
.drawer-admin{
  color:var(--gold) !important;
}
.drawer-close{
  position:absolute !important;
  top:20px !important;
  right:20px !important;
  z-index:1000003 !important;
}

/* Centrar correctamente el título del catálogo dentro de su tarjeta */
body:not(.pos-mode) .desktop-shop-layout .main-content .section-header,
body:not(.pos-mode) .section-header{
  min-height:110px !important;
  padding:24px 40px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  box-sizing:border-box !important;
}
body:not(.pos-mode) .section-title{
  margin:0 0 8px 0 !important;
  line-height:1.05 !important;
}
body:not(.pos-mode) .section-sub{
  margin:0 !important;
  line-height:1.35 !important;
}
@media (max-width:768px){
  body:not(.pos-mode) .desktop-shop-layout .main-content .section-header,
  body:not(.pos-mode) .section-header{
    min-height:96px !important;
    padding:20px 18px !important;
  }
}

/* =========================================================
   AJUSTE FINAL VISUAL: restaurar layout PC y etiquetas móvil
   ========================================================= */
@media (min-width:1025px){
  /* La tarjeta "Tu Cotización" estaba empujando y desacomodando el panel derecho. */
  body:not(.pos-mode) .desktop-shop-layout .quote-section > .section-header{
    display:none !important;
    min-height:0 !important;
    padding:0 !important;
    margin:0 !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .quote-section{
    padding-top:0 !important;
    margin-top:0 !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .quote-panel{
    margin-top:0 !important;
  }

  /* Mantener únicamente el título del catálogo centrado dentro de su tarjeta. */
  body:not(.pos-mode) .desktop-shop-layout .main-content > .section-header{
    min-height:110px !important;
    padding:24px 40px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    margin:0 0 22px !important;
  }

  /* En escritorio las etiquetas rojas van junto al nombre. */
  #catalogBody .badges-desktop{
    display:inline-flex !important;
    align-items:center !important;
    gap:6px !important;
    margin-left:0 !important;
  }
  #catalogBody .badges-mobile{
    display:none !important;
  }
}

@media (max-width:700px){
  /* En móvil las etiquetas rojas van debajo de la marca, no junto al nombre. */
  #catalogBody .pf-name-line{
    display:block !important;
    width:100% !important;
  }
  #catalogBody .pf-name-gold{
    display:block !important;
    max-width:none !important;
    width:100% !important;
  }
  #catalogBody .pf-brand-gray,
  #catalogBody .pf-brand{
    display:block !important;
    margin-top:3px !important;
  }
  #catalogBody .badges-desktop{
    display:none !important;
  }
  #catalogBody .badges-mobile{
    display:flex !important;
    width:100% !important;
    gap:5px !important;
    flex-wrap:wrap !important;
    margin-top:6px !important;
  }
  #catalogBody .badges-mobile .perfume-badge{
    font-size:.55rem !important;
    padding:4px 8px !important;
    border-radius:999px !important;
  }
}

/* === MODAL DETALLE DE VENTA PROFESIONAL === */
#saleDetailModal{
  background:rgba(0,0,0,.72) !important;
  backdrop-filter:blur(10px) !important;
}
#saleDetailModal .sale-detail-card{
  width:min(920px,94vw) !important;
  max-height:88vh !important;
  padding:0 !important;
  overflow:hidden !important;
  border:1px solid rgba(212,175,55,.28) !important;
  border-radius:26px !important;
  background:linear-gradient(145deg, rgba(22,22,22,.98), rgba(8,8,8,.98)) !important;
  box-shadow:0 30px 90px rgba(0,0,0,.62) !important;
}
#saleDetailModal .modal-close{
  top:18px !important;
  right:20px !important;
  width:38px !important;
  height:38px !important;
  border-radius:50% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:rgba(255,255,255,.06) !important;
  border:1px solid rgba(255,255,255,.1) !important;
  color:rgba(255,255,255,.78) !important;
  font-size:24px !important;
}
#saleDetailModal .modal-title{
  margin:0 !important;
  padding:28px 70px 12px 32px !important;
  color:var(--gold) !important;
  font-size:28px !important;
  letter-spacing:.02em !important;
  border-bottom:1px solid rgba(212,175,55,.16) !important;
}
#saleDetailModal .sale-detail-body{
  padding:24px 32px 30px !important;
  max-height:calc(88vh - 88px) !important;
  overflow:auto !important;
}
.sale-ticket-head{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
  padding:18px 20px;
  border-radius:18px;
  background:linear-gradient(135deg, rgba(212,175,55,.14), rgba(255,255,255,.035));
  border:1px solid rgba(212,175,55,.22);
  margin-bottom:18px;
}
.sale-ticket-kicker,
.sale-ticket-date{
  display:block;
  color:rgba(255,255,255,.58);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-family:inherit;
}
.sale-ticket-code{
  display:block;
  margin-top:6px;
  color:var(--gold);
  font-size:22px;
  line-height:1.15;
  word-break:break-word;
}
.sale-ticket-date{
  text-align:right;
  padding-top:5px;
  text-transform:none;
  letter-spacing:.04em;
}
.sale-detail-info,
.sale-payment-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:12px;
  margin-bottom:18px;
}
.sale-payment-grid{
  grid-template-columns:repeat(2, minmax(0,1fr));
}
.sale-info-card,
.sale-payment-card{
  min-height:78px;
  padding:15px 16px;
  border-radius:16px;
  background:rgba(255,255,255,.035);
  border:1px solid rgba(255,255,255,.08);
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:6px;
}
.sale-info-card span,
.sale-payment-card span{
  color:rgba(255,255,255,.54);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.15em;
}
.sale-info-card strong,
.sale-payment-card strong{
  color:#fff;
  font-size:17px;
  line-height:1.2;
}
.sale-payment-card strong{ color:var(--gold); font-size:20px; }
#saleDetailModal .sale-detail-table{
  margin:0 0 18px !important;
  border:1px solid rgba(255,255,255,.08) !important;
  border-radius:18px !important;
  overflow:hidden !important;
  background:rgba(0,0,0,.18) !important;
}
#saleDetailModal .sale-detail-table .admin-table{
  min-width:720px;
}
#saleDetailModal .sale-detail-table th{
  color:var(--gold) !important;
  background:rgba(212,175,55,.07) !important;
  padding:14px 16px !important;
}
#saleDetailModal .sale-detail-table td{
  padding:16px !important;
  vertical-align:middle !important;
  border-bottom:1px solid rgba(255,255,255,.07) !important;
}
#saleDetailModal .sale-product-cell span{
  display:block;
  color:rgba(255,255,255,.58);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:5px;
}
#saleDetailModal .sale-product-cell strong{
  display:block;
  color:#fff;
  font-size:16px;
  line-height:1.25;
}
.sale-empty-products{
  text-align:center;
  color:rgba(255,255,255,.58);
  padding:22px !important;
}
#saleDetailModal .sale-detail-totals{
  width:min(360px,100%);
  margin-left:auto;
  padding:18px 20px;
  border-radius:18px;
  background:rgba(255,255,255,.035);
  border:1px solid rgba(212,175,55,.16);
}
#saleDetailModal .sale-detail-totals div{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  padding:7px 0;
  color:rgba(255,255,255,.72);
}
#saleDetailModal .sale-detail-totals span{
  color:rgba(255,255,255,.62);
}
#saleDetailModal .sale-detail-totals strong{
  color:#fff;
  font-size:17px;
}
#saleDetailModal .sale-detail-totals .sale-total-final{
  border-top:1px solid rgba(212,175,55,.25);
  margin-top:8px;
  padding-top:14px;
}
#saleDetailModal .sale-detail-totals .sale-total-final span,
#saleDetailModal .sale-detail-totals .sale-total-final strong{
  color:var(--gold);
  font-size:22px;
  font-weight:800;
}
@media (max-width: 760px){
  #saleDetailModal .sale-detail-card{
    width:94vw !important;
    border-radius:22px !important;
  }
  #saleDetailModal .modal-title{
    padding:24px 62px 12px 22px !important;
    font-size:24px !important;
  }
  #saleDetailModal .sale-detail-body{
    padding:18px 18px 24px !important;
  }
  .sale-ticket-head{
    flex-direction:column;
  }
  .sale-ticket-date{
    text-align:left;
  }
  .sale-detail-info{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
  .sale-payment-grid{
    grid-template-columns:1fr;
  }
  #saleDetailModal .sale-detail-table{
    overflow-x:auto !important;
  }
  #saleDetailModal .sale-detail-totals{
    width:100%;
  }
}

/* === FIX FINAL REAL: detalle de venta limpio, legible y sin textos pegados === */
#saleDetailModal.cf-sale-detail-modal,
#saleDetailModal{
  background:rgba(0,0,0,.78) !important;
  backdrop-filter:blur(12px) !important;
  align-items:center !important;
  justify-content:center !important;
  padding:22px !important;
}
#saleDetailModal .modal-card.sale-detail-card{display:none !important;}
.cf-detail-card{
  width:min(980px,96vw) !important;
  max-height:90vh !important;
  overflow:hidden !important;
  border-radius:24px !important;
  background:linear-gradient(145deg,#151515,#070707) !important;
  border:1px solid rgba(212,175,55,.28) !important;
  box-shadow:0 35px 110px rgba(0,0,0,.7) !important;
  position:relative !important;
}
.cf-detail-close{
  position:absolute !important;
  top:18px !important;
  right:18px !important;
  width:40px !important;
  height:40px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.12) !important;
  background:rgba(255,255,255,.06) !important;
  color:#fff !important;
  font-size:25px !important;
  line-height:1 !important;
  cursor:pointer !important;
  z-index:5 !important;
}
.cf-detail-header{
  padding:28px 76px 22px 30px !important;
  border-bottom:1px solid rgba(212,175,55,.16) !important;
  background:radial-gradient(circle at left top, rgba(212,175,55,.12), transparent 42%) !important;
}
.cf-detail-label{
  display:block !important;
  color:rgba(255,255,255,.52) !important;
  font-size:11px !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
  margin-bottom:8px !important;
}
.cf-detail-header h3{
  margin:0 !important;
  color:var(--gold) !important;
  font-family:'Cormorant Garamond',serif !important;
  font-size:clamp(28px,4vw,42px) !important;
  line-height:1.05 !important;
  overflow-wrap:anywhere !important;
}
.cf-detail-body{
  padding:26px 30px 30px !important;
  max-height:calc(90vh - 120px) !important;
  overflow:auto !important;
}
.cf-detail-summary{
  display:grid !important;
  grid-template-columns:1fr 220px !important;
  gap:16px !important;
  margin-bottom:16px !important;
}
.cf-summary-main{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:12px !important;
}
.cf-summary-main div,
.cf-summary-total,
.cf-detail-metrics div,
.cf-total-box{
  border:1px solid rgba(255,255,255,.08) !important;
  background:rgba(255,255,255,.035) !important;
  border-radius:16px !important;
}
.cf-summary-main div{
  padding:15px 16px !important;
  min-height:78px !important;
}
.cf-summary-main span,
.cf-summary-total span,
.cf-detail-metrics span,
.cf-total-box span{
  display:block !important;
  color:rgba(255,255,255,.52) !important;
  font-size:11px !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
  margin-bottom:7px !important;
}
.cf-summary-main strong,
.cf-detail-metrics strong{
  display:block !important;
  color:#fff !important;
  font-size:16px !important;
  line-height:1.25 !important;
}
.cf-summary-total{
  padding:18px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  border-color:rgba(212,175,55,.28) !important;
  background:linear-gradient(145deg, rgba(212,175,55,.13), rgba(255,255,255,.035)) !important;
}
.cf-summary-total strong{
  color:var(--gold) !important;
  font-size:30px !important;
  line-height:1 !important;
}
.cf-detail-metrics{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:12px !important;
  margin-bottom:16px !important;
}
.cf-detail-metrics div{
  padding:14px 16px !important;
}
.cf-products-box{
  border:1px solid rgba(255,255,255,.08) !important;
  border-radius:18px !important;
  overflow:auto !important;
  margin-bottom:16px !important;
  background:rgba(0,0,0,.22) !important;
}
.cf-detail-table{
  width:100% !important;
  border-collapse:collapse !important;
  min-width:720px !important;
}
.cf-detail-table th{
  color:var(--gold) !important;
  background:rgba(212,175,55,.08) !important;
  text-align:left !important;
  font-size:11px !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
  padding:14px 16px !important;
}
.cf-detail-table td{
  color:#fff !important;
  padding:16px !important;
  border-top:1px solid rgba(255,255,255,.07) !important;
  vertical-align:middle !important;
}
.cf-detail-table td:nth-child(3),
.cf-detail-table td:nth-child(4),
.cf-detail-table td:nth-child(5),
.cf-detail-table th:nth-child(3),
.cf-detail-table th:nth-child(4),
.cf-detail-table th:nth-child(5){
  text-align:right !important;
}
.cf-product-brand{
  display:block !important;
  color:rgba(255,255,255,.55) !important;
  font-size:12px !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  margin-bottom:5px !important;
}
.cf-detail-table td strong{
  display:block !important;
  color:#fff !important;
  font-size:16px !important;
  line-height:1.25 !important;
}
.cf-total-box{
  width:min(390px,100%) !important;
  margin-left:auto !important;
  padding:16px 18px !important;
  border-color:rgba(212,175,55,.18) !important;
}
.cf-total-box div{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:18px !important;
  padding:8px 0 !important;
}
.cf-total-box span{margin:0 !important; text-transform:none !important; letter-spacing:.02em !important; font-size:15px !important;}
.cf-total-box strong{color:#fff !important; font-size:18px !important;}
.cf-total-line{
  margin-top:8px !important;
  padding-top:14px !important;
  border-top:1px solid rgba(212,175,55,.24) !important;
}
.cf-total-line span,
.cf-total-line strong{color:var(--gold) !important; font-weight:800 !important; font-size:24px !important;}
.cf-empty-sale{text-align:center !important; color:rgba(255,255,255,.55) !important; padding:24px !important;}
@media(max-width:780px){
  #saleDetailModal{padding:12px !important;}
  .cf-detail-card{border-radius:20px !important; width:96vw !important;}
  .cf-detail-header{padding:24px 64px 18px 20px !important;}
  .cf-detail-body{padding:18px 18px 22px !important;}
  .cf-detail-summary{grid-template-columns:1fr !important;}
  .cf-summary-main{grid-template-columns:1fr !important;}
  .cf-detail-metrics{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .cf-summary-total strong{font-size:27px !important;}
}
