:root{
  --paper:#FAF6EC;
  --paper-alt:#F3EDDC;
  --ink:#1C2B2E;
  --ink-soft:#4A5A5C;
  --marigold:#F4B400;
  --marigold-deep:#C98F00;
  --jade:#2F6F5E;
  --jade-deep:#234F43;
  --clay:#C1440E;
  --purple:#8A7FBD;
  --purple-deep:#6B6199;
  --line:#DCD3B9;
  --white:#FFFDF8;
  --display: 'Fraunces', serif;
  --body: 'Inter', sans-serif;
  --mono: 'IBM Plex Mono', monospace;
}
*{box-sizing:border-box;}
input[type="file"]{ max-width:100%; }
body{margin:0;font-family:var(--body);background:var(--paper);color:var(--ink);}
a{color:inherit;}
img{max-width:100%;display:block;}

/* ===== UTILITY BAR + NAV ===== */
.utility-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:8px 32px;
  background:var(--jade-deep);
  color:rgba(255,255,255,.82);
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:.02em;
}
.utility-bar .utility-right{ display:flex; align-items:center; gap:8px; color:rgba(255,255,255,.88); }
.utility-bar .dot{ opacity:.45; }

/* Franja marigold / jade / clay â€” misma arriba y abajo */
.brand-stripe{
  height:3px;
  background:linear-gradient(90deg, var(--marigold) 0%, var(--marigold) 40%, var(--jade) 40%, var(--jade) 55%, var(--clay) 55%, var(--clay) 68%, transparent 68%);
}

.site-nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:6px 32px;
  background:var(--ink);
  position:relative;
}
.site-nav::after{ display:none; }
.logo{ display:flex; align-items:center; gap:14px; text-decoration:none; }
.logo img{ height:72px; width:auto; }
.logo--marca img{ height:52px; }
.logo-divider{ width:1px; height:32px; background:rgba(250,246,236,.22); flex-shrink:0; }
.logo-marca-text{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.logo-name{
  font-family:var(--display); font-weight:700; font-size:27px;
  color:var(--white); letter-spacing:0; line-height:1;
  display:inline-flex; align-items:flex-end;
}
.logo-name-busk{
  color:var(--white);
  letter-spacing:.02em;
  line-height:1;
}
.logo-name-a{
  display:block;
  width:auto;
  height:0.7em;
  margin:0 0 0 0.05em;
  color:var(--marigold);
  line-height:0;
  flex-shrink:0;
  transform:translateY(-2px);
}
.logo-name-a-svg{
  display:block;
  width:auto;
  height:0.7em;
}
.logo--marca .logo-slogan{
  font-family:var(--mono); font-style:normal; font-size:11px;
  color:var(--marigold); max-width:240px;
}
.logo-slogan{
  font-family:var(--display); font-style:italic; font-weight:500; font-size:13px;
  color:#C9D2CF; max-width:190px; line-height:1.35; margin:0;
}
.nav-links{ display:flex; align-items:center; gap:26px; }
.nav-link-esta-semana{ display:inline-flex; align-items:center; gap:6px; }
.nav-link-flame{ font-size:1.05em; line-height:1; color:var(--marigold, #e8a317); }
.nav-hamburger{
  display:none;
  background:none; border:none; color:var(--white); font-size:24px; cursor:pointer;
  width:40px; height:40px; align-items:center; justify-content:center; position:relative;
}
.nav-hamburger-icon-close{ display:none; }
.nav-links a:not(.btn){ color:#C9D2CF; text-decoration:none; font-size:14px; font-weight:500; }
.nav-links a:not(.btn):hover{ color:var(--white); }
.nav-links .btn{ text-decoration:none; }
.nav-admin{
  font-family:var(--mono) !important;
  font-size:12px !important;
  text-transform:uppercase;
  letter-spacing:.04em;
  border:1px solid #3A4A4C;
  padding:7px 12px;
  border-radius:20px;
}
.btn{
  font-family:var(--body);
  font-weight:600;
  font-size:14px;
  padding:11px 20px;
  border-radius:7px;
  border:none;
  cursor:pointer;
  text-decoration:none;
  display:inline-block;
}
.btn-jade{ background:var(--jade); color:var(--white); }
.btn-jade:hover{ background:var(--jade-deep); }
.btn:disabled, .btn[disabled]{ opacity:.75; cursor:not-allowed; }
.btn-spinner{
  display:inline-block; width:14px; height:14px; margin-right:2px;
  border:2px solid rgba(255,255,255,.4); border-top-color:#fff; border-radius:50%;
  vertical-align:-2px; animation:btnSpin .7s linear infinite;
}
@keyframes btnSpin{ to{ transform:rotate(360deg); } }
.btn-marigold{ background:var(--marigold); color:var(--ink); }
.btn-marigold:hover{ background:var(--marigold-deep); }
.btn-ink{ background:var(--ink); color:var(--paper); }
.btn-ghost{ background:transparent; border:1px solid var(--ink); color:var(--ink); }
.btn-danger{ background:var(--clay); color:var(--white); }

/* ===== HOME â€” HERO VISUAL ===== */
.hero-visual{
  position:relative;
  min-height:560px;
  overflow:hidden;
  background-image:
    linear-gradient(100deg, rgba(10,20,19,.94) 0%, rgba(10,20,19,.86) 30%, rgba(10,20,19,.52) 58%, rgba(10,20,19,.22) 78%, rgba(10,20,19,.12) 100%),
    var(--hero-bg-image, url('/assets/img/hero/buskao-portada.png'));
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-color: var(--ink);
  padding:64px 60px 48px;
}

.hero-badge-count{
  position:absolute; top:30px; right:40px; z-index:3;
  display:flex; align-items:center; gap:9px;
  background:var(--white); border-radius:10px; padding:11px 16px;
  box-shadow:0 16px 32px -14px rgba(0,0,0,.5);
  font-family:var(--mono); font-size:12px; color:var(--ink-soft);
}
.hero-badge-count b{ font-family:var(--display); font-size:15px; color:var(--jade-deep); font-weight:700; }
.hero-badge-dot{ width:8px; height:8px; border-radius:50%; background:var(--marigold); flex-shrink:0; box-shadow:0 0 0 3px rgba(244,180,0,.25); }

.hero-main{
  position:relative; z-index:2;
  max-width:600px;
  margin:0;
}
.hero-main h1{
  font-family:var(--display);
  font-weight:600;
  font-size:42px;
  line-height:1.14;
  margin:0 0 12px;
  color:var(--marigold);
  text-shadow:0 2px 20px rgba(0,0,0,.4);
}
.hero-main h1 .accent{ color:var(--marigold); }
.hero-main .hero-subtitle{
  font-family:var(--display);
  font-weight:600;
  font-size:18px;
  color:var(--white);
  margin:0 0 16px;
  text-shadow:0 2px 14px rgba(0,0,0,.4);
}
.hero-main p{ max-width:460px; margin:0 0 28px; color:#E9ECEA; font-size:15.5px; line-height:1.6; text-shadow:0 1px 12px rgba(0,0,0,.35); }

.hero-brand-lockup{
  position:relative; z-index:2;
  margin:36px 0 0;
  padding:18px 22px;
  max-width:300px;
  display:flex; align-items:center; gap:14px;
  background:rgba(8,16,15,.62);
  backdrop-filter:blur(4px);
  border:1px solid rgba(250,246,236,.14);
  border-radius:12px;
}
.hero-brand-logo{ width:52px; height:auto; display:block; flex-shrink:0; }
.hero-brand-text{ border-left:1px solid rgba(250,246,236,.25); padding-left:14px; }
.hero-brand-name{
  font-family:var(--display); font-weight:600; font-size:16px; color:var(--white); margin:0 0 3px;
}
.hero-brand-slogan{
  font-family:var(--mono); font-size:10.5px; letter-spacing:.04em;
  color:var(--marigold); line-height:1.4; margin:0;
}

.search-card{
  max-width:640px;
  background:var(--white);
  border-radius:10px;
  box-shadow:0 18px 40px -18px rgba(0,0,0,.5);
  padding:18px;
  position:relative;
  text-align:left;
}
.search-row{ display:flex; gap:12px; flex-wrap:wrap; margin-bottom:14px; }
.field{ flex:1; min-width:180px; }
.field label{
  display:block;
  font-family:var(--mono);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:var(--ink-soft);
  margin-bottom:6px;
}
.field input, .field select, .field textarea{
  width:100%;
  border:1px solid var(--line);
  border-radius:7px;
  padding:12px 14px;
  font-family:var(--body);
  font-size:14px;
  color:var(--ink);
  background:var(--paper);
}
.search-btn{
  display:block;
  width:100%;
  background:var(--marigold);
  color:var(--ink);
  border:none;
  border-radius:8px;
  padding:18px 26px;
  font-weight:700;
  font-size:16.5px;
  letter-spacing:.01em;
  cursor:pointer;
}
.search-btn:hover{ background:var(--marigold-deep); }
.search-btn--compact{
  padding:9px 14px;
  font-size:13px;
  font-weight:600;
  border-radius:7px;
  letter-spacing:0;
}

.hero-below{ text-align:center; padding:0 32px 8px; background:var(--paper); }
.stats-row{ display:flex; justify-content:center; gap:28px; flex-wrap:wrap; font-size:13px; color:var(--ink-soft); margin-top:24px; }
.stats-row b{ color:var(--ink); font-family:var(--mono); font-weight:600; }

.category-bar{
  position:relative;
  max-width:1040px; margin:-34px auto 0;
  background:var(--white);
  border-radius:16px;
  box-shadow:0 20px 44px -20px rgba(18,32,31,.35);
  display:flex; align-items:stretch;
  z-index:5;
}
.category-bar-track{
  display:flex; overflow-x:auto; scrollbar-width:none;
  flex:1;
}
.category-bar-track::-webkit-scrollbar{ display:none; }
.category-pill{
  flex:0 0 auto;
  display:flex; flex-direction:column; align-items:center; gap:8px;
  padding:20px 22px;
  text-decoration:none;
  border-right:1px solid var(--line);
  min-width:112px;
}
.category-pill:last-child{ border-right:none; }
.category-pill-icon{
  width:40px; height:40px; border-radius:50%;
  background:var(--ink); color:var(--marigold);
  display:flex; align-items:center; justify-content:center;
  font-size:17px;
}
.category-pill-label{
  font-size:12.5px; font-weight:600; color:var(--ink); text-align:center; line-height:1.3;
}
.category-bar-nav{
  flex:0 0 auto;
  width:44px;
  border:none;
  background:var(--paper-alt);
  color:var(--ink); font-size:16px; cursor:pointer;
}
.category-bar-nav:hover{ background:var(--marigold); }
.category-bar-prev{ border-right:1px solid var(--line); border-radius:16px 0 0 16px; }
.category-bar-next{ border-left:1px solid var(--line); border-radius:0 16px 16px 0; }

.section{ padding:56px 32px; }
.section-head{ text-align:center; margin-bottom:36px; }
.section-head h2{ font-family:var(--display); font-weight:600; font-size:28px; margin:0 0 8px; }
.section-head p{ color:var(--ink-soft); font-size:15px; margin:0; }

.steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; max-width:900px; margin:0 auto; }
.step{ background:var(--white); border:1px solid var(--line); border-radius:10px; padding:26px 20px; text-align:center; }
.step .num{ font-family:var(--mono); font-size:13px; color:var(--marigold-deep); font-weight:600; display:block; margin-bottom:10px; }
.step h3{ font-family:var(--display); font-size:18px; margin:0 0 8px; }
.step p{ font-size:13.5px; color:var(--ink-soft); margin:0; line-height:1.5; }

.cta-band{
  background:var(--ink); color:var(--white); border-radius:14px; margin:0 32px 40px; padding:38px 40px;
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:20px;
}
.cta-band h2{ font-family:var(--display); font-size:22px; margin:0 0 6px; font-weight:600; }
.cta-band p{ margin:0; color:#C9D2CF; font-size:14px; max-width:420px; }

.ad-slot{
  margin:0 32px 40px; border:1.5px dashed #C9BE9E; border-radius:10px; padding:20px; text-align:center;
  color:#9A8F6E; font-family:var(--mono); font-size:12px; letter-spacing:.03em;
  background:repeating-linear-gradient(135deg, transparent, transparent 10px, #F3EDDC 10px, #F3EDDC 11px);
}

/* Base genÃ©rico; el pie vivo usa .site-footer--brand/--slim (abajo) y anula esto. */
.site-footer{ background:var(--ink); padding:0; text-align:left; color:#C9D2CF; font-size:13px; border-top:none; }
.site-footer a{ text-decoration:none; color:inherit; }

/* ===== FLASH MESSAGES ===== */
.flash{ margin:18px 32px 0; padding:14px 18px; border-radius:8px; font-size:14px; }
.flash-exito{ background:#DCEEE7; color:var(--jade-deep); border:1px solid #B9DACB; }
.flash-error{ background:#FBDCD0; color:#8A2C0C; border:1px solid #F0B8A0; }

/* ===== RESULTS ===== */
.buscar-search-wrap{
  padding:20px 32px 8px;
  max-width:none;
}
.buscar-search-wrap .search-card{
  max-width:100%;
  margin:0;
  background:color-mix(in srgb, var(--paper) 40%, var(--white));
  border:1px solid color-mix(in srgb, var(--line) 85%, var(--jade) 15%);
  box-shadow:none;
}
.results-wrap{ display:flex; align-items:flex-start; gap:0; }

/* --- Sidebar filtros (acordeÃ³n, sin scroll interno) --- */
.filters{
  width:268px;
  flex-shrink:0;
  padding:20px 14px 20px;
  background:color-mix(in srgb, var(--paper) 55%, var(--white));
  border-right:1px solid var(--line);
}
.filters-apply-bar{
  padding:4px 0 0;
  margin-top:4px;
}
.filters-apply-btn{ width:100%; }
.filters-clear-link{
  display:block; text-align:center; font-size:12.5px; margin-top:8px;
  color:var(--clay); text-decoration:none;
}
.filters-clear-link:hover{ text-decoration:underline; }
.filter-field-label{
  display:block; font-size:12.5px; margin:10px 0 3px; color:var(--ink);
}
.filter-field-label:first-child{ margin-top:0; }
.filter-group{
  background:var(--white);
  border:1px solid color-mix(in srgb, var(--line) 90%, transparent);
  border-radius:14px;
  padding:12px 14px;
  margin-bottom:10px;
  box-shadow:none;
}
.filter-group:last-of-type{ margin-bottom:12px; }
.filter-details-summary{
  list-style:none;
  cursor:pointer;
  display:flex; align-items:center; justify-content:space-between; gap:8px;
  font-family:var(--mono); font-size:10.5px; text-transform:uppercase;
  letter-spacing:.07em; font-weight:700; color:var(--ink-soft);
  padding:2px 0;
  user-select:none;
}
.filter-details-summary::-webkit-details-marker{ display:none; }
.filter-details-summary > span{
  display:flex; align-items:center; gap:9px;
}
.filter-details-summary > span::before{
  content:""; width:8px; height:8px; border-radius:2px; flex-shrink:0;
  background:var(--jade);
}
.filter-group.grp-pais .filter-details-summary > span::before{ background:var(--marigold-deep); }
.filter-details-summary .ti{
  font-size:16px; transition:transform .15s ease; color:var(--ink-soft);
}
.filter-details[open] .filter-details-summary .ti{ transform:rotate(180deg); }
.filter-details[open] .filter-details-summary{ margin-bottom:10px; padding-bottom:8px; border-bottom:1px solid var(--line); }
.filter-details-body{ padding:0 0 2px; }
.filter-group h4{
  display:flex; align-items:center; gap:9px;
  font-family:var(--mono); font-size:10.5px; text-transform:uppercase; letter-spacing:.07em;
  color:var(--ink-soft); margin:0 0 10px; font-weight:700;
}
.filter-group h4::before{
  content:""; width:8px; height:8px; border-radius:2px; flex-shrink:0;
  background:var(--jade);
}
.filter-group.grp-pais h4::before{ background:var(--marigold-deep); }
.filter-opt{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  font-size:13px; color:var(--ink); text-decoration:none;
  padding:8px 10px; margin:0 -6px 1px; border-radius:8px;
  transition:background .15s ease, color .15s ease;
}
.filter-opt:hover{ background:var(--paper-alt); }
.filter-opt.active{ background:var(--jade); color:var(--white); font-weight:600; }
.filter-opt .opt-label{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.filter-opt .count{
  font-family:var(--mono); font-size:10px; color:var(--ink-soft);
  background:var(--paper-alt); padding:2px 7px; border-radius:10px; flex-shrink:0;
}
.filter-opt.active .count{ background:rgba(255,255,255,.22); color:var(--white); }
.filter-group:last-child{ margin-bottom:0; }
.filters .search-btn--compact{
  margin-top:6px;
  background:var(--marigold);
  color:var(--ink);
  border:none;
}
.filters .search-btn--compact:hover{ background:var(--marigold-deep); color:var(--ink); }

/* --- Lista de resultados (directorio: una ficha por fila, ancho del
   Ã¡rea central). La franja derecha (publicidad/destacados en movimiento)
   tiene ancho fijo; lo que sobra lo ocupa esta columna. --- */
.results-list{
  flex:1 1 420px;
  max-width:none;
  min-width:min(100%, 380px);
  padding:28px 24px;
}
.results-stack{ display:flex; flex-direction:column; gap:12px; width:100%; }
.results-stack .result-card{ width:100%; box-sizing:border-box; }
.results-meta{ font-size:13.5px; color:var(--ink-soft); margin-bottom:18px; }
.results-meta b{ color:var(--ink); }

/* --- Franja lateral derecha: publicidad pagada o destacados en scroll.
   Se enciende/apaga desde Admin â†’ Publicidad â†’ DiseÃ±o
   (busqueda_cinta_lateral_activa). --- */
.results-aside{
  flex:0 0 300px;
  width:300px;
  max-width:320px;
  min-width:260px;
  padding:28px 20px 28px 12px;
  align-self:stretch;
}
.results-aside-sticky{ position:sticky; top:20px; }
.results-aside-head{
  font-family:var(--mono); font-size:11px; text-transform:uppercase;
  letter-spacing:.06em; color:var(--ink-soft); font-weight:700;
  margin:0 0 12px; display:flex; align-items:center; gap:8px;
}
.results-aside-head::before{
  content:""; width:8px; height:8px; border-radius:2px; background:var(--jade);
}
.results-aside-empty{
  font-size:12.5px; color:var(--ink-soft); line-height:1.45;
  padding:14px; background:var(--paper-alt); border:1px dashed var(--line);
  border-radius:10px;
}

/* Cinta vertical con scroll continuo (efecto "sube de abajo hacia
   arriba"), mismo espÃ­ritu que .ticker-anuncios-track pero en vertical:
   el contenido se duplica 2x en el PHP y el track se anima hasta -50%,
   asÃ­ el loop es perfectamente continuo sin salto. Se pausa al pasar el
   mouse (igual criterio de accesibilidad/usabilidad que cualquier
   carrusel automÃ¡tico) y respeta prefers-reduced-motion mÃ¡s abajo. */
.cinta-lateral-auto{
  position:relative; height:70vh; max-height:640px; overflow:hidden; border-radius:12px;
  -webkit-mask-image:linear-gradient(to bottom, transparent 0, #000 24px, #000 calc(100% - 24px), transparent 100%);
  mask-image:linear-gradient(to bottom, transparent 0, #000 24px, #000 calc(100% - 24px), transparent 100%);
}
.cinta-lateral-auto-track{
  display:flex; flex-direction:column; gap:14px;
  animation-name:cintaLateralSubir; animation-timing-function:linear; animation-iteration-count:infinite;
  will-change:transform;
}
.cinta-lateral-auto:hover .cinta-lateral-auto-track{ animation-play-state:paused; }
@keyframes cintaLateralSubir{
  from{ transform:translateY(0); }
  to{ transform:translateY(-50%); }
}
.results-aside .biz-card-shell,
.results-aside .biz-card,
.results-aside .pauta-card{
  width:100%;
  max-width:100%;
  margin:0;
}
.results-aside .biz-card-media{ height:110px; }
.results-aside .biz-card-media-row{ min-height:110px; }
.results-aside .biz-card-body{ padding:12px 12px 14px; }
.results-aside .biz-card-body h3{ font-size:14px; }
.results-aside .biz-card-desc{ display:none; }
.results-aside .biz-card-insignias{ display:none; }
.results-aside .biz-card-cta{
  background:var(--jade);
  color:var(--white);
  border-radius:10px;
  font-weight:600;
}
.results-aside .biz-card:hover .biz-card-cta{
  background:var(--jade-deep);
  color:var(--white);
}
/* Por debajo de este ancho, filtros + resultados + franja ya no caben
   cÃ³modamente en 3 columnas (mismo criterio que el breakpoint de
   .cinta-publicidad-lateral, adaptado: aquÃ­ se OCULTA en vez de
   apilarse, porque son piezas chicas â€” no imprescindibles en mobile,
   ver PENDIENTES.md) â€” la lista de resultados vuelve a ocupar todo el
   ancho que sobra junto a los filtros.
   Ajuste 01/08/2026: el breakpoint estaba en 1024px, pero .filters
   (260px) + el min-width real de .results-list (380px) + el min-width
   de .results-aside (280px) + gaps necesitan ~1320px para respirar sin
   competir por espacio â€” entre 1025px y 1320px las 3 columnas "cabÃ­an"
   en teorÃ­a pero quedaban apretujadas (la franja se veÃ­a comprimida y
   el contenido duplicado del carrusel .cinta-lateral-auto, que es a
   propÃ³sito para el loop infinito, se desbordaba feo). Subido a 1320px
   para que la franja se oculte en esa zona intermedia en vez de
   mostrarse rota. */
@media (max-width: 1320px){
  .results-aside{ display:none; }
  .results-list{ flex:1 1 auto; max-width:none; }
}

/* Franja lateral desactivada desde admin: buscar.php no renderiza
   .results-aside y agrega este modificador para que .results-list
   ocupe todo el ancho central. */
.results-wrap.results-wrap--sin-aside .results-list{ flex:1 1 auto; max-width:none; }

.result-card{
  position:relative;
  display:flex; gap:12px; align-items:flex-start;
  /* Compacta, sin hueco vacÃ­o: CTA arriba a la derecha */
  min-height:0;
  padding:12px 14px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  box-shadow:none;
  box-sizing:border-box;
  overflow:hidden;
  transition:box-shadow .18s ease, border-color .18s ease, transform .18s ease;
}
/* Destacado: blanco + marco grueso (se lee sobre el fondo beige) */
.result-card--destacado{
  background:#fff;
  border:3px solid var(--clay);
  padding:11px 13px;
}
.result-card--alianza{
  background:#fff;
  border:3px solid var(--purple);
  padding:11px 13px;
}
.result-card--destacado.result-card--alianza{
  border-color:var(--purple-deep);
}
.result-card--destacado .sticker-plan-destacado--lista{
  margin-top:0;
}
.result-card--destacado .result-name a{
  color:var(--jade-deep);
}
.result-card--destacado .result-name a:hover{
  color:var(--clay);
}
.result-card::before{
  content:"";
  position:absolute; left:0; top:10px; bottom:10px; width:3px;
  border-radius:3px;
  background:var(--accent, var(--jade));
}
.result-card--destacado::before,
.result-card--alianza::before{
  display:none;
}
.result-card:hover{
  box-shadow:0 10px 24px -16px rgba(28,43,46,.28);
  border-color:color-mix(in srgb, var(--jade) 35%, var(--line));
  transform:translateY(-1px);
}
.result-card--destacado:hover{
  border-color:color-mix(in srgb, var(--clay) 70%, #000);
  box-shadow:0 12px 28px -14px rgba(193,68,14,.38);
}
.result-card--alianza:hover{
  border-color:var(--purple-deep);
  box-shadow:0 12px 28px -14px rgba(107,97,153,.32);
}
.result-avatar{
  align-self:flex-start;
  width:56px; height:56px; border-radius:10px; flex-shrink:0; overflow:hidden;
  background:var(--paper-alt); border:1px solid var(--line);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--display); font-weight:600; font-size:17px; color:var(--jade-deep);
  text-decoration:none; color:inherit;
}
.result-avatar img{ width:100%; height:100%; object-fit:contain; object-position:center; image-orientation:from-image; background:var(--paper-alt); }
.result-body{
  flex:1 1 auto; min-width:0;
  display:flex; flex-direction:column; gap:0;
}
.result-main{
  display:flex; flex-direction:column; gap:0;
  min-width:0;
}
.result-head{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  margin:0 0 6px;
}
.result-name{
  font-family:var(--display); font-size:16px; font-weight:600;
  margin:0 0 6px;
  line-height:1.4;
  min-width:0;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.result-head .result-name{ margin-bottom:0; flex:1 1 auto; }
.result-name a{
  color:var(--ink); text-decoration:none;
  display:block;
  line-height:1.4;
}
.result-name a:hover{ color:var(--jade-deep); }
.result-cat{
  margin:0 0 6px;
  font-size:12px; font-weight:600; color:var(--jade-deep);
  line-height:1.4;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.badge{
  font-family:var(--mono); font-size:10.5px; text-transform:uppercase; letter-spacing:.04em;
  background:var(--marigold); color:var(--ink); padding:3px 9px; border-radius:12px; font-weight:600;
  text-decoration:none;
}
.badge-insignia{
  font-size:10px; padding:4px 8px;
  background:color-mix(in srgb, var(--jade) 12%, var(--white));
  color:var(--jade-deep);
  border:1px solid color-mix(in srgb, var(--jade) 28%, var(--line));
}
.result-loc{
  display:flex; align-items:center; gap:5px;
  margin:0 0 6px;
  font-size:12px; color:var(--ink-soft);
  line-height:1.4;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.result-loc .ti{ font-size:14px; color:var(--clay); flex-shrink:0; }
.result-desc{
  margin:0;
  font-size:12.5px; color:var(--ink-soft); line-height:1.45;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  line-clamp:2;
  overflow:hidden;
}
.result-footer{
  flex:0 0 auto;
  display:flex; align-items:center; justify-content:flex-end;
  margin-top:8px;
  padding-top:8px;
  border-top:1px solid color-mix(in srgb, var(--line) 75%, transparent);
}
.icon-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:6px;
  font-size:12.5px; font-weight:500;
  color:var(--jade-deep); text-decoration:none; background:var(--paper-alt);
  padding:7px 11px; border-radius:10px; border:1px solid transparent;
  min-height:34px;
}
.icon-btn i{ font-size:15px; }
a.icon-btn:hover{ border-color:var(--jade); background:color-mix(in srgb, var(--jade) 8%, var(--white)); }
.result-more{
  flex:0 0 auto;
  display:inline-flex; align-items:center; gap:4px;
  font-size:11.5px; font-weight:700;
  color:var(--ink); text-decoration:none; white-space:nowrap;
  background:var(--marigold); padding:5px 9px; border-radius:8px;
  border:1px solid color-mix(in srgb, var(--marigold-deep) 25%, transparent);
}
.result-more .ti{ font-size:13px; }
.result-more:hover{
  background:var(--marigold-deep); color:var(--ink);
}
@media (max-width: 640px){
  .result-card{ padding:12px; }
  .result-avatar{ width:52px; height:52px; font-size:16px; }
  .result-head{ flex-wrap:wrap; }
  .result-more{ margin-left:auto; }
  .buscar-search-wrap{ padding:16px 16px 4px; }
}
.empty-state{ text-align:center; padding:60px 20px; color:var(--ink-soft); }
.empty-state h3{ font-family:var(--display); color:var(--ink); margin-bottom:8px; }
.pagination{ display:flex; gap:8px; justify-content:center; margin-top:24px; }
.pagination a, .pagination span{
  padding:8px 14px; border-radius:6px; border:1px solid var(--line); text-decoration:none; font-size:13px; color:var(--ink);
}
.pagination .actual{ background:var(--ink); color:var(--white); border-color:var(--ink); }

/* ===== PROFILE ===== */
.breadcrumb{ padding:16px 32px 0; font-size:12.5px; color:var(--ink-soft); display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.breadcrumb a{ text-decoration:none; color:var(--ink-soft); }
.breadcrumb i{ font-size:12px; opacity:.6; }

/* --- Hero: portada con foto + degradado, o color de marca si no hay foto --- */
/* Ancho completo del Ã¡rea de contenido (mÃ¡rgenes de pÃ¡gina 32px c/lado).
   ProporciÃ³n real 4:1 (= 1200Ã—300): sin tope artificial 240/200px.
   SIN max-width:1200 (evita franjas vacÃ­as a los lados). */
.profile-hero-v2{
  position:relative;
  width:calc(100% - 64px);
  max-width:none;
  height:auto;
  aspect-ratio:4 / 1;
  min-height:0;
  margin:20px auto 0;
  border-radius:16px;
  overflow:hidden;
  background-color:var(--jade-deep);
  background-image:radial-gradient(rgba(255,255,255,.28) 1.5px, transparent 1.5px);
  background-size:22px 22px;
  display:flex;
  align-items:center;
  box-sizing:border-box;
}
.profile-hero-v2.has-photo{ background-color:var(--ink); }
.profile-hero-v2.has-photo .hero-bg-photo{ object-position:center center; }
.hero-bg-photo{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; object-position:center center;
  image-orientation:from-image;
  background:var(--ink);
}
.hero-gradient{
  position:absolute; inset:0;
  background:linear-gradient(105deg,
    color-mix(in srgb, var(--jade-deep) 88%, transparent) 0%,
    color-mix(in srgb, var(--jade-deep) 72%, transparent) 24%,
    color-mix(in srgb, var(--jade) 42%, transparent) 44%,
    color-mix(in srgb, var(--jade-deep) 14%, transparent) 58%,
    transparent 74%
  );
}
.profile-hero-v2.has-photo .hero-gradient{
  background:
    linear-gradient(105deg,
      color-mix(in srgb, var(--ink) 82%, transparent) 0%,
      color-mix(in srgb, var(--jade-deep) 78%, transparent) 22%,
      color-mix(in srgb, var(--jade-deep) 52%, transparent) 46%,
      color-mix(in srgb, var(--ink) 18%, transparent) 68%,
      transparent 86%
    ),
    linear-gradient(to top,
      color-mix(in srgb, var(--ink) 55%, transparent) 0%,
      transparent 42%
    );
}
.profile-hero-v2:not(.has-photo) .hero-gradient{ display:none; }
.hero-content{
  position:absolute; z-index:2;
  top:0; bottom:0; left:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  box-sizing:border-box;
  padding:22px 36px;
  max-width:680px;
  width:100%;
  color:var(--white);
  pointer-events:none;
}
.hero-content a{ pointer-events:auto; }
.badge-icon{
  display:inline-flex; align-items:center; gap:7px;
  background:var(--marigold); color:var(--ink);
  font-family:var(--body); font-weight:700; font-size:12.5px; text-transform:uppercase; letter-spacing:.03em;
  padding:8px 14px; border-radius:20px; text-decoration:none; margin-bottom:14px;
}
.badge-icon i{ font-size:15px; }
.hero-cat-pill{
  display:inline-flex; align-items:center; gap:6px;
  background:var(--marigold); color:var(--ink);
  border:1px solid var(--marigold-deep);
  font-family:var(--body); font-weight:700; font-size:11px; text-transform:uppercase; letter-spacing:.05em;
  padding:5px 11px; border-radius:999px; text-decoration:none; margin-bottom:10px;
  box-shadow:0 2px 10px rgba(0,0,0,.22);
}
.hero-cat-pill:hover{ background:var(--marigold-deep); color:var(--ink); border-color:var(--marigold-deep); }
.hero-cat-pill i{ font-size:13px; color:var(--ink); }
.hero-content h1{
  font-family:var(--display); font-size:clamp(28px, 3.4vw, 44px); font-weight:700;
  line-height:1.05; letter-spacing:-.02em; margin:0 0 10px; color:var(--white);
  text-shadow:0 2px 20px rgba(0,0,0,.65), 0 1px 3px rgba(0,0,0,.7);
}
.hero-meta{
  display:flex; flex-direction:column; gap:4px;
  margin-bottom:8px;
}
.hero-meta-loc{
  display:inline-flex; align-items:center; gap:6px;
  font-size:14px; font-weight:600; color:rgba(255,255,255,.96);
  text-shadow:0 1px 8px rgba(0,0,0,.6);
}
.hero-meta-loc i{ font-size:15px; opacity:.9; }
.hero-meta-rest{
  display:flex; gap:8px; align-items:center; flex-wrap:wrap;
  font-size:12px; font-weight:500; color:rgba(255,255,255,.72);
  text-shadow:0 1px 5px rgba(0,0,0,.5);
}
.hero-meta-rest i{ margin-right:4px; font-size:12.5px; opacity:.85; }
.hero-meta-rest .sep{ opacity:.35; }
.hero-tagline{
  font-size:15px; font-weight:500; color:rgba(255,255,255,.9);
  margin:2px 0 0; max-width:540px; line-height:1.4;
  text-shadow:0 1px 8px rgba(0,0,0,.55);
}

.profile-insignias-bar{
  display:flex; flex-wrap:wrap; gap:8px;
  width:calc(100% - 64px); max-width:none; box-sizing:border-box;
  margin:10px auto 0; padding:10px 0;
  background:transparent; border:none; border-radius:0;
  box-shadow:none;
}
.profile-badges-unified{
  display:flex; flex-wrap:wrap; gap:10px; align-items:center;
  width:calc(100% - 64px); max-width:none; box-sizing:border-box;
  margin:12px auto 0; padding:4px 0 2px;
  background:transparent; border:none; border-radius:0;
  box-shadow:none;
}
.profile-badges-unified .profile-insignia-pill{ font-size:12.5px; margin:0; }
.profile-badges-unified .insignia{
  font-size:12.5px; font-weight:700; padding:7px 14px; border-radius:999px;
  background:color-mix(in srgb, var(--jade) 16%, var(--white)) !important;
  color:var(--jade-deep) !important;
  border:1px solid color-mix(in srgb, var(--jade) 28%, transparent) !important;
  box-shadow:0 2px 10px -6px color-mix(in srgb, var(--jade) 40%, transparent);
}
.profile-badges-unified .insignia i{ color:var(--jade-deep); }
.profile-badges-unified .insignia-plan_pago,
.profile-badges-unified .insignia-completo,
.profile-badges-unified .insignia-reciente,
.profile-badges-unified .insignia-delivery,
.profile-badges-unified .insignia-pickup{
  background:color-mix(in srgb, var(--jade) 16%, var(--white)) !important;
  color:var(--jade-deep) !important;
  border-color:color-mix(in srgb, var(--jade) 28%, transparent) !important;
}
.profile-badges-unified .insignia-verificado,
.profile-badges-unified .insignia-muy_recomendado,
.profile-badges-unified .insignia-promocion_activa{
  background:color-mix(in srgb, var(--marigold) 26%, var(--white)) !important;
  color:var(--ink) !important;
  border-color:color-mix(in srgb, var(--marigold) 48%, transparent) !important;
  box-shadow:0 2px 10px -6px color-mix(in srgb, var(--marigold-deep) 45%, transparent);
}
.profile-badges-unified .insignia-verificado i,
.profile-badges-unified .insignia-muy_recomendado i,
.profile-badges-unified .insignia-promocion_activa i{
  color:var(--marigold-deep);
}
.profile-badges-unified .profile-tag{
  display:inline-flex; align-items:center; gap:6px;
  font-size:12.5px; font-weight:700; letter-spacing:.02em;
  padding:7px 14px; border-radius:999px;
  background:color-mix(in srgb, var(--jade) 14%, var(--white));
  color:var(--jade-deep);
  border:1px solid color-mix(in srgb, var(--jade) 26%, transparent);
  box-shadow:0 2px 10px -6px color-mix(in srgb, var(--jade) 35%, transparent);
}
.profile-badges-unified .profile-tag i{ font-size:14px; color:var(--jade-deep); }
.profile-tag{
  display:inline-flex; align-items:center; gap:6px;
  font-size:12.5px; font-weight:700; letter-spacing:.02em;
  padding:7px 14px; border-radius:999px;
  background:color-mix(in srgb, var(--jade) 14%, var(--white));
  color:var(--jade-deep); border:1px solid color-mix(in srgb, var(--jade) 26%, transparent);
}
.profile-tag i{ font-size:14px; }
.profile-grid{
  display:grid; grid-template-columns:1.55fr 1fr; gap:20px;
  /* Mismo ancho que portada / galerÃ­a (sin tope 1200 ni padding lateral extra) */
  width:calc(100% - 64px); max-width:none; box-sizing:border-box;
  margin:0 auto; padding:14px 0 28px;
  /* Misma cima; columnas crecen por contenido (contacto sticky aparte) */
  align-items:start;
  align-content:start;
  grid-template-rows:repeat(8, auto);
  grid-auto-rows:min-content;
  /* Sticky contacto: ancla bajo el header; sin forzar altura de columna */
  --profile-col-sticky-top:96px;
}
body.tiene-ticker-anuncios .profile-grid{
  --profile-col-sticky-top:calc(96px + var(--ticker-h));
}
/* Columna izquierda: tarjetas separadas en stack (no un solo marco) */
.profile-main-col{
  display:flex;
  flex-direction:column;
  gap:14px;
  min-width:0;
  width:100%;
  box-sizing:border-box;
  align-self:start;
  height:auto;
  min-height:0;
}
.profile-sidebar{
  display:flex; flex-direction:column; gap:8px;
  /* Debajo del header sticky (utility + franja + nav ~100px) */
  position:sticky; top:var(--profile-col-sticky-top); align-self:start;
  height:auto;
  max-height:none;
  overflow:visible;
}
.profile-grid > .profile-main-col,
.profile-grid > .profile-desc,
.profile-grid > .profile-main-scroll,
.profile-grid > .profile-sidebar{
  align-self:start;
  height:auto;
  min-height:0;
  max-height:none;
}
.profile-grid > .profile-main-col{
  align-self:start;
}
.profile-grid > .profile-main-col,
.profile-grid > .profile-gallery-block,
.profile-grid > .profile-reviews,
.profile-grid > .ficha-actividades-ancla,
.profile-grid > .profile-similares--quiet{
  grid-column:1;
  min-width:0;
}
.profile-grid > .profile-gallery-block,
.profile-grid > .profile-desc--wide{
  width:100%;
  margin-left:0;
  margin-right:0;
}
.profile-grid > .profile-sidebar{
  grid-column:2;
  grid-row:1 / -1;
  align-self:start;
}
.profile-grid > :not(.profile-sidebar):last-child{
  grid-row-end:-1;
  align-self:stretch;
}
.profile-section-title{
  font-family:var(--display); font-size:17px; font-weight:600;
  margin:16px 0 10px; padding-top:16px;
  border-top:1px solid color-mix(in srgb, var(--line) 80%, var(--jade) 20%);
  color:var(--ink);
}
/* CatÃ¡logo pÃºblico: Productos / Servicios apilados a ancho completo (nunca duo) */
.profile-catalogo{
  display:block;
  margin-top:0;
  width:100%;
}
/* Dentro del panel CatÃ¡logo: los bloques Productos/Servicios siguen como sub-marcos */
.profile-panel--catalog .profile-catalogo-col{
  box-shadow:0 12px 28px -20px rgba(28,43,46,.32);
}
.profile-catalogo-col{
  min-width:0;
  padding:16px 16px 18px;
  border-radius:16px;
  background:
    linear-gradient(165deg,
      color-mix(in srgb, var(--jade) 10%, var(--paper)) 0%,
      var(--paper-alt) 55%,
      var(--paper) 100%);
  border:1px solid color-mix(in srgb, var(--jade) 26%, var(--line));
  box-shadow:0 12px 28px -20px rgba(28,43,46,.32);
}
.profile-catalogo-col--servicios{
  background:
    linear-gradient(165deg,
      color-mix(in srgb, var(--marigold) 16%, var(--paper)) 0%,
      var(--paper-alt) 55%,
      var(--paper) 100%);
  border-color:color-mix(in srgb, var(--marigold-deep) 30%, var(--line));
}
.profile-catalogo-head{
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 14px;
  padding:0 0 12px;
  border-bottom:2.5px solid var(--jade);
}
.profile-catalogo-col--servicios .profile-catalogo-head{
  border-bottom-color:var(--marigold-deep);
}
.profile-catalogo-icon{
  width:40px; height:40px; flex-shrink:0;
  display:inline-flex; align-items:center; justify-content:center;
  border-radius:11px;
  background:color-mix(in srgb, var(--jade) 16%, var(--paper));
  color:var(--jade-deep);
  font-size:20px;
}
.profile-catalogo-col--servicios .profile-catalogo-icon{
  background:color-mix(in srgb, var(--marigold) 24%, var(--paper));
  color:var(--ink);
}
.profile-catalogo-title{
  margin:0;
  font-family:var(--display);
  font-size:1.32rem;
  font-weight:700;
  line-height:1.15;
  color:var(--ink);
  letter-spacing:.01em;
}
.profile-catalogo-count{
  margin-left:auto;
  font-family:var(--mono);
  font-size:11.5px;
  font-weight:700;
  letter-spacing:.04em;
  color:var(--ink-soft);
  background:color-mix(in srgb, var(--paper-alt) 70%, var(--white));
  border:1px solid var(--line);
  border-radius:999px;
  padding:4px 10px;
  line-height:1.2;
}
/* Cada panel de catÃ¡logo: ancho completo de la columna izquierda */
.profile-catalogo--solo{
  display:block;
  width:100%;
}
.profile-catalogo--solo .profile-catalogo-col,
.profile-catalogo .profile-catalogo-col{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}
.catalogo-billboard-carousel{
  position:relative;
  min-width:0;
  width:100%;
}
.catalogo-billboard-carousel.has-overflow{
  padding:0 34px;
}
.catalogo-billboard-nav{
  position:absolute; top:42%; transform:translateY(-50%); z-index:2;
  width:32px; height:32px; border-radius:50%;
  border:1px solid var(--line); background:var(--white);
  color:var(--jade-deep); font-size:18px; line-height:1;
  cursor:pointer;
  display:inline-flex; align-items:center; justify-content:center;
  box-shadow:0 6px 16px -10px rgba(28,43,46,.35);
  padding:0;
}
.catalogo-billboard-prev{ left:0; }
.catalogo-billboard-next{ right:0; }
.catalogo-billboard-nav:hover:not(:disabled){
  background:var(--marigold); border-color:var(--marigold); color:var(--ink);
}
.catalogo-billboard-nav:disabled{
  opacity:.35; cursor:default;
}
.catalogo-billboard-nav[hidden]{ display:none !important; }
.profile-catalogo--solo .catalogo-billboard--public,
.profile-catalogo .catalogo-billboard--public{
  --catalogo-card-w:176px;
  --catalogo-gap:14px;
}
@media (max-width:760px){
  .profile-catalogo--solo .catalogo-billboard--public,
  .profile-catalogo .catalogo-billboard--public{
    --catalogo-card-w:168px;
  }
  .catalogo-billboard-carousel.has-overflow{ padding:0 38px; }
  .catalogo-billboard-nav{ width:36px; height:36px; }
}
.profile-productos-inline{ margin-top:0; }
.productos-grid--inline{ grid-template-columns:1fr; gap:12px; margin-top:0; }
.producto-card--inline{
  background:var(--paper-alt); padding:16px 18px;
  border:1px solid var(--line); border-radius:12px;
}
.producto-card--inline.producto-card--featured{
  background:var(--white);
  border-color:color-mix(in srgb, var(--accent, var(--jade)) 28%, var(--line));
  box-shadow:0 6px 18px -10px rgba(28,43,46,.12);
}
.producto-destacado-badge{
  display:inline-block; margin-left:8px; vertical-align:middle;
  font-family:var(--body); font-size:10.5px; font-weight:700;
  letter-spacing:.03em; text-transform:uppercase;
  color:var(--accent, var(--jade-deep));
  background:color-mix(in srgb, var(--accent, var(--jade)) 12%, var(--paper-alt));
  border:1px solid color-mix(in srgb, var(--accent, var(--jade)) 22%, var(--line));
  padding:2px 7px; border-radius:6px;
}
.contact-btns--featured{ margin-top:10px; padding-top:10px; border-top:1px solid var(--line); }
/* Enlace principal: CTA marigold sÃ³lido */
.contact-btns .contact-enlace-principal,
.contact-btns .contact-enlace-principal:hover{
  background:var(--marigold) !important;
  border:1.5px solid var(--marigold-deep) !important;
  color:var(--ink) !important;
  box-shadow:0 8px 18px -10px color-mix(in srgb, var(--marigold-deep) 60%, transparent);
}
.contact-btns .contact-enlace-principal:hover{
  background:var(--marigold-deep) !important;
  border-color:var(--marigold-deep) !important;
}
.contact-btns .contact-enlace-principal i,
.contact-btns .contact-enlace-principal:hover i{
  color:var(--ink) !important;
  opacity:1 !important;
}
.contact-btns .contact-enlace-principal b,
.contact-btns .contact-enlace-principal:hover b{
  color:var(--ink) !important;
  font-weight:700;
  font-size:15px;
}

.contact-card-intro{
  display:flex; align-items:flex-start; gap:14px;
}
.contact-card-intro-body{ flex:1; min-width:0; }
.contact-card-intro--with-logo .info-card-head{ margin-bottom:14px; }
.contact-card-logo-side{
  width:76px; height:76px; flex-shrink:0;
  border-radius:12px; border:1px solid var(--line);
  overflow:hidden; background:var(--paper-alt);
  box-shadow:0 4px 14px -8px rgba(28,43,46,.18);
}
.contact-card-logo-side img{
  width:100%; height:100%; object-fit:contain; object-position:center;
}

.contact-card{
  background:var(--white);
  border:1px solid color-mix(in srgb, var(--line) 70%, var(--jade) 30%);
  border-radius:12px;
  padding:20px 20px 18px;
  position:static;
  box-shadow:none;
  border-top:3px solid var(--accent, var(--jade));
  /* Altura = contenido (sin flex spacer ni scroll forzado) */
  flex:0 0 auto;
  height:auto;
  max-height:none;
  overflow:visible;
}
.contact-links-card{
  background:var(--white); border:1px solid var(--line); border-radius:14px;
  padding:18px 20px 20px;
}

.contact-val--preferencia{ color:var(--marigold-deep); font-weight:700; }
.contact-social-row{
  display:flex; flex-direction:row; flex-wrap:wrap; align-items:center;
  gap:8px; margin-top:10px; padding-top:10px; border-top:1px solid var(--line);
}
.contact-social-dot{
  width:36px; height:36px; flex:0 0 36px;
  display:inline-flex; align-items:center; justify-content:center;
  border-radius:50%; background:var(--paper-alt);
  border:1px solid var(--line);
  box-shadow:none;
  color:var(--ink); text-decoration:none; font-size:17px; line-height:1;
  transition:transform .15s ease, border-color .15s ease, background .15s ease;
}
.contact-social-dot:hover{
  transform:translateY(-1px);
  background:var(--white);
  border-color:color-mix(in srgb, var(--jade) 35%, var(--line));
}
.contact-social-dot--whatsapp{ color:#128C7E; }
.contact-social-dot--instagram{ color:#C13584; }
.contact-social-dot--facebook{ color:#1877F2; }
.contact-social-dot--tiktok{ color:#010101; }
.contact-social-dot--youtube{ color:#FF0000; }

.contact-links-section{
  margin-top:12px; padding-top:12px; border-top:1px solid var(--line);
}
.contact-links-section-title{
  font-family:var(--mono); font-size:10.5px; font-weight:600;
  text-transform:uppercase; letter-spacing:.06em;
  color:var(--jade-deep); margin:0 0 10px;
}
.contact-btn-grid{
  display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:8px;
  width:100%;
}
.contact-btn-grid.is-expanded .contact-btn-chip--collapsed{ display:flex; }
.contact-btn-chip{
  display:flex; align-items:center; justify-content:center;
  min-height:38px; min-width:0; padding:7px 6px; border-radius:8px;
  background:var(--paper-alt);
  border:1px solid var(--line);
  text-decoration:none; color:var(--ink-soft);
  font-family:var(--mono); font-size:10px; font-weight:600;
  line-height:1.35; text-align:center; letter-spacing:.02em;
  transition:background .15s ease, border-color .15s ease, color .15s ease;
}
.contact-btn-chip:hover{
  background:var(--white);
  border-color:color-mix(in srgb, var(--jade) 40%, var(--line));
  color:var(--jade-deep);
  transform:none;
}
.contact-btn-chip span{
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical;
  overflow:hidden; word-break:break-word;
}
.contact-btn-chip--collapsed{ display:none; }

.contact-share-btn{
  width:100%; cursor:pointer; text-align:left;
  font-family:var(--body); border:none;
}

.contact-links-card-title{
  font-family:var(--display); font-size:16px; font-weight:600;
  margin:0 0 12px; color:var(--ink);
}
.contact-actions-stack{
  display:flex; flex-direction:column; gap:8px;
}
.contact-action-btn{
  display:flex; align-items:center; gap:11px;
  width:100%; padding:10px 12px; border-radius:10px;
  border:1px solid var(--line); background:transparent;
  text-decoration:none; color:var(--ink); text-align:left;
  font-family:var(--body); cursor:pointer;
  transition:background .15s ease, border-color .15s ease;
}
.contact-action-btn:hover{
  background:var(--paper-alt);
  border-color:color-mix(in srgb, var(--jade-deep) 30%, var(--line));
}
.contact-action-btn i{
  font-size:17px; color:var(--ink); opacity:.75; flex-shrink:0; width:20px; text-align:center;
}
.contact-action-btn b{ display:block; font-size:13px; font-weight:700; line-height:1.3; color:var(--ink); }
.contact-action-btn small{
  display:block; font-size:11px; font-weight:400; color:var(--ink-soft);
  margin-top:1px; line-height:1.35;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.contact-action-btn span{ min-width:0; flex:1; }
.contact-action-btn--collapsed{ display:none; }
.contact-actions-stack.is-expanded .contact-action-btn--collapsed{ display:flex; }
.contact-action-btn--share{ margin-top:2px; }
.contact-line--compact{ margin-bottom:10px; }
.contact-report-link{
  flex:0 0 auto;
  text-align:center; margin:0; padding:2px 4px 0; font-size:12px;
}
.contact-report-link a{ color:var(--ink-soft); text-decoration:none; }
.contact-report-link a:hover{ color:var(--ink); text-decoration:underline; }
.profile-links-toggle--sidebar{
  margin-top:10px;
  font-family:var(--mono); font-size:10.5px; font-weight:600; letter-spacing:.02em;
}

.profile-insignias-bar + .profile-grid,
.profile-badges-unified + .profile-grid{ padding-top:12px; }
.profile-insignia-pill{ font-size:12.5px; margin:0; }

/* --- Mini-galerÃ­a (columna izquierda del perfil) --- */
.mini-gallery{ margin-top:22px; padding-top:22px; border-top:1px solid var(--line); }
.mini-gallery-label{
  display:block; font-family:var(--mono); font-size:10.5px; text-transform:uppercase;
  letter-spacing:.06em; color:var(--ink-soft); font-weight:700; margin-bottom:12px;
}
.mini-gallery-thumbs{ display:flex; gap:10px; flex-wrap:wrap; }
.mini-thumb{
  display:block; width:120px; height:120px; border-radius:10px; overflow:hidden;
  border:1px solid var(--line); box-shadow:0 1px 2px rgba(28,43,46,.06);
  transition:transform .15s ease, box-shadow .15s ease;
  background:none; padding:0; cursor:pointer;
}
.mini-thumb:hover{ transform:translateY(-3px); box-shadow:0 10px 18px -10px rgba(28,43,46,.4); }
.mini-thumb img{ width:100%; height:100%; object-fit:cover; display:block; image-orientation:from-image; }

.lightbox-overlay{
  display:none;
  position:fixed; inset:0; z-index:1000;
  background:rgba(8,16,15,.92);
  align-items:center; justify-content:center;
}
.lightbox-overlay.is-open{ display:flex; }
.lightbox-img{
  max-width:88vw; max-height:86vh; object-fit:contain;
  border-radius:8px; box-shadow:0 30px 60px -20px rgba(0,0,0,.6);
}
.lightbox-close{
  position:absolute; top:20px; right:24px;
  width:44px; height:44px; border-radius:50%;
  background:rgba(250,246,236,.12); border:1px solid rgba(250,246,236,.3);
  color:var(--white); font-size:20px; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
}
.lightbox-close:hover{ background:var(--marigold); border-color:var(--marigold); color:var(--ink); }
.lightbox-nav{
  position:absolute; top:50%; transform:translateY(-50%);
  width:48px; height:48px; border-radius:50%;
  background:rgba(250,246,236,.12); border:1px solid rgba(250,246,236,.3);
  color:var(--white); font-size:22px; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
}
.lightbox-nav:hover{ background:var(--marigold); border-color:var(--marigold); color:var(--ink); }
.lightbox-prev{ left:20px; }
.lightbox-next{ right:20px; }
.lightbox-counter{
  position:absolute; bottom:24px; left:50%; transform:translateX(-50%);
  color:rgba(250,246,236,.85); font-family:var(--mono); font-size:12.5px; letter-spacing:.04em;
}

.info-card-head{ display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.icon-badge{
  width:40px; height:40px; border-radius:10px; flex-shrink:0;
  background:var(--accent, var(--jade)); color:var(--white);
  display:flex; align-items:center; justify-content:center; font-size:18px;
}
.info-card-head h3,
.info-card-head h4{
  font-family:var(--display); font-size:18px; font-weight:600; color:var(--ink); margin:0;
  position:relative; padding-bottom:6px;
}
.info-card-head h3::after,
.info-card-head h4::after{
  content:""; position:absolute; left:0; bottom:0; width:28px; height:3px;
  background:var(--accent, var(--jade)); border-radius:2px;
}

.profile-desc,
.profile-panel{
  background:var(--white);
  border:1px solid color-mix(in srgb, var(--line) 75%, var(--jade) 25%);
  border-radius:12px;
  padding:22px 24px;
  height:auto;
  min-height:0;
  max-height:none;
  box-sizing:border-box;
  box-shadow:none;
  border-top:3px solid var(--accent, var(--jade));
}
/*
 * Columna izquierda: paneles independientes (Sobre / Productos / Beneficios / Servicios).
 * Productos y Servicios = protagonistas full-width apilados (scroll-x + flechas; nunca duo).
 * Beneficios = chips quietos (sin estirar el panel ni huecos de grid).
 */
.profile-grid > .profile-main-col,
.profile-grid > .profile-main-scroll,
.profile-grid > .profile-desc.profile-main-scroll,
.profile-grid > .profile-desc{
  position:static;
  width:100%;
  box-sizing:border-box;
  height:auto;
  min-height:0;
  max-height:none;
  overflow:visible;
}
.profile-panel--about .lead-text,
.profile-desc .lead-text{ font-size:15.5px; line-height:1.7; color:var(--ink); white-space:pre-line; margin:0 0 16px; }
.profile-panel--about .info-cards-grid{ margin-bottom:0; }
.profile-panel--catalog{
  padding:18px 18px 20px;
  border-top-width:4px;
}
/* Beneficios: panel secundario quieto (nunca protagonista ni estirado) */
.profile-panel--benefits{
  flex:0 0 auto;
  display:flex;
  flex-direction:column;
  min-height:0;
  padding:10px 12px 12px;
  border-top-width:2px;
  border-color:color-mix(in srgb, var(--line) 88%, var(--jade) 12%);
  background:color-mix(in srgb, var(--paper) 22%, var(--white));
}
.profile-panel--benefits .destacados-section--in-main{
  flex:0 0 auto;
}

.info-cards-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
  margin:0 0 14px;
}
.info-card-block{
  display:flex; align-items:flex-start; gap:12px;
  background:color-mix(in srgb, var(--paper) 55%, var(--white));
  border:1px solid var(--line); border-radius:10px;
  padding:12px 14px; min-height:0;
}
.info-card-block-body{ flex:1; min-width:0; }
.info-cards-grid .info-card-block:last-child:nth-child(odd){ grid-column:1 / -1; }
.horario-horas{
  margin-top:6px; font-size:13px; font-weight:600; color:var(--ink-soft);
}

.horario-row{
  display:flex; align-items:center; gap:14px; flex-wrap:wrap;
  background:var(--paper-alt); border:1px solid rgba(28,43,46,.16); border-radius:12px; padding:14px 18px;
  margin-bottom:14px;
}
.icon-badge-sm{
  width:40px; height:40px; border-radius:50%; flex-shrink:0;
  background:var(--white); border:1px solid var(--line); color:var(--ink);
  display:flex; align-items:center; justify-content:center; font-size:17px;
}
.horario-label{ font-family:var(--mono); font-size:10.5px; text-transform:uppercase; letter-spacing:.07em; color:var(--ink-soft); font-weight:700; margin-bottom:4px; }
.horario-dias{ font-size:15px; color:var(--ink); font-weight:600; line-height:1.45; }
.horario-pill-hora{
  margin-left:auto; background:var(--ink); color:var(--white); font-size:12.5px; font-weight:600;
  padding:8px 16px; border-radius:20px; white-space:nowrap;
}

.destacados-section{ margin-top:32px; padding-top:28px; border-top:1px solid var(--line); }
.destacados-section h3{ font-family:var(--display); font-size:22px; font-weight:600; margin:0 0 20px; color:var(--ink); }
.destacados-section--compact{ margin-top:14px; padding-top:12px; }
.destacados-section--compact h3{ font-size:16px; margin-bottom:10px; color:var(--ink); font-weight:600; }
/* Dentro del panel Beneficios: sin borde superior (el panel ya enmarca); tono quieto */
.destacados-section--in-main{
  margin-top:0;
  padding-top:0;
  border-top:none;
  background:transparent;
}
.destacados-section--in-main h3{
  font-family:var(--display);
  font-size:.95rem;
  font-weight:700;
  margin:0 0 8px;
  color:var(--ink);
  letter-spacing:.01em;
}
.destacados-grid{ display:grid; grid-template-columns:repeat(4, 1fr); gap:20px; }
.destacados-grid--compact{ grid-template-columns:repeat(auto-fit, minmax(150px, 1fr)); gap:8px; }
/*
 * Beneficios: chips horizontales densos (icono + texto).
 * Wrap natural â€” sin celdas vacÃ­as (5 Ã­tems: Ãºltima fila centrada).
 */
.destacados-grid--in-main{
  display:flex;
  flex-wrap:wrap;
  gap:7px 8px;
  justify-content:center;
  align-items:stretch;
}
.destacados-grid--in-main .destacado-item--card{
  flex:0 1 auto;
  max-width:100%;
  min-width:0;
  min-height:0;
  height:auto;
  flex-direction:row;
  align-items:center;
  text-align:left;
  padding:7px 12px 7px 7px;
  gap:8px;
  background:var(--white);
  border:1.5px solid color-mix(in srgb, var(--jade) 42%, var(--line));
  border-radius:999px;
  box-shadow:0 1px 0 color-mix(in srgb, var(--jade) 12%, transparent);
  box-sizing:border-box;
}
.destacados-grid--in-main .destacado-item--card .destacado-icon{
  width:24px;
  height:24px;
  font-size:12px;
  color:var(--jade-deep);
  background:color-mix(in srgb, var(--jade) 14%, var(--white));
  border:1px solid color-mix(in srgb, var(--jade) 35%, var(--line));
}
.destacados-grid--in-main .destacado-item--card span{
  font-size:12.5px;
  font-weight:700;
  line-height:1.25;
  color:var(--ink);
}
.destacado-item{ display:flex; align-items:center; gap:14px; }
.destacado-item--card{
  flex-direction:column; align-items:center; text-align:center; gap:6px;
  padding:10px 8px; background:transparent; border:1px solid var(--line); border-radius:10px;
}
.destacado-item--card.destacado-item--premium{
  background:color-mix(in srgb, var(--marigold) 12%, var(--white));
  border-color:var(--marigold);
  box-shadow:0 1px 0 color-mix(in srgb, var(--marigold) 28%, transparent);
}
.destacados-grid--in-main .destacado-item--card.destacado-item--premium{
  background:color-mix(in srgb, var(--marigold) 11%, var(--white));
  border-color:var(--marigold);
  box-shadow:0 1px 0 color-mix(in srgb, var(--marigold) 30%, transparent);
}
.destacados-grid--in-main .destacado-item--card.destacado-item--premium .destacado-icon{
  color:var(--marigold-deep);
  background:color-mix(in srgb, var(--marigold) 22%, var(--white));
  border-color:color-mix(in srgb, var(--marigold) 55%, var(--line));
}
.destacado-premium-tag{
  display:inline-flex; align-items:center; justify-content:center;
  margin:0; padding:2px 8px; border-radius:999px;
  background:var(--marigold); color:var(--jade-deep);
  font-style:normal; font-size:9px; font-weight:800;
  letter-spacing:.07em; text-transform:uppercase; line-height:1.2;
  white-space:nowrap; flex-shrink:0; vertical-align:middle;
}
.destacados-grid--in-main .destacado-premium-tag{
  margin-left:2px;
}
.filter-chip--locked{ opacity:.55; cursor:not-allowed; }
.filter-chip--locked input{ pointer-events:none; }
.destacado-item--card span{ font-size:12px; font-weight:600; line-height:1.3; color:var(--ink-soft); }
.destacado-icon{
  width:52px; height:52px; border-radius:50%; flex-shrink:0;
  background:var(--paper-alt); border:1px solid var(--line); color:var(--jade-deep);
  display:flex; align-items:center; justify-content:center; font-size:20px;
}
.destacado-item--card .destacado-icon{ width:36px; height:36px; font-size:16px; background:var(--white); }
.destacado-item span{ font-size:15.5px; font-weight:600; color:var(--ink); line-height:1.35; }

.profile-productos-block{
  width:calc(100% - 64px); max-width:1200px; box-sizing:border-box;
  margin:0 auto 28px; padding:28px 32px 32px;
  background:var(--white); border:1px solid var(--line); border-radius:16px;
  box-shadow:0 12px 32px -16px rgba(28,43,46,.18);
  border-top:3px solid var(--accent, var(--jade));
}
.profile-productos-head{
  display:flex; align-items:center; gap:14px; margin-bottom:22px;
}
.profile-productos-head h3{
  font-family:var(--display); font-size:26px; font-weight:600; margin:0 0 4px; color:var(--ink);
}
.profile-productos-head p{ margin:0; font-size:14px; color:var(--ink-soft); }

.profile-links-block{
  width:calc(100% - 64px); max-width:1200px; box-sizing:border-box;
  margin:0 auto 28px; padding:24px 28px 28px;
  background:var(--white); border:1px solid var(--line); border-radius:16px;
  box-shadow:0 8px 24px -14px rgba(28,43,46,.14);
}
.profile-links-inline{
  margin-top:22px; padding-top:22px; border-top:1px solid var(--line);
}
.profile-links-inline-title{
  font-family:var(--display); font-size:18px; font-weight:600;
  margin:0 0 4px; color:var(--ink);
}
.profile-links-inline-sub{
  margin:0 0 14px; font-size:13px; color:var(--ink-soft);
}
.profile-links-grid--inline{ grid-template-columns:repeat(2, minmax(0, 1fr)); gap:8px; }
.profile-links-toggle--inline{ margin-top:10px; }

.profile-main-col > .profile-gallery-block--compact{
  width:100%;
  max-width:none;
  margin:0;
  padding:14px 14px 16px;
}
.profile-gallery-block--compact .profile-gallery-head{ margin-bottom:10px; }
.profile-gallery-block--compact .profile-gallery-head h3{ font-size:18px; }
.profile-gallery-block--compact .profile-gallery-carousel{
  --gallery-visible:5;
}
.profile-gallery-block--compact .profile-gallery-track{
  flex-wrap:nowrap;
  overflow-x:auto;
  overflow-y:hidden;
}
.profile-gallery-block--compact .profile-gallery-thumb{
  aspect-ratio:1 / 1;
}
.profile-gallery-block--compact .profile-gallery-thumb img{
  object-fit:cover;
  object-position:center;
}
@media (max-width:760px){
  .profile-gallery-block--compact .profile-gallery-carousel{
    --gallery-visible:3;
  }
}
.profile-promo-propia__card{
  display:block; text-decoration:none; color:inherit;
  border:1px solid color-mix(in srgb, var(--line) 80%, var(--jade) 20%);
  border-radius:12px; overflow:hidden; background:var(--paper-alt);
}
.profile-promo-propia__card img{
  display:block; width:100%; height:180px; object-fit:cover; object-position:center;
}
.profile-promo-propia__card p{
  margin:0; padding:10px 12px 12px; font-size:14px; line-height:1.45; color:var(--ink);
}
.profile-placa-fundador{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  min-height:220px;
  padding:28px 22px 26px;
  background:
    radial-gradient(ellipse at 50% 18%, color-mix(in srgb, var(--marigold) 16%, transparent) 0%, transparent 52%),
    color-mix(in srgb, var(--paper) 70%, var(--white));
}
.profile-placa-fundador__mark{
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:10px;
  color:var(--marigold-deep);
}
.profile-placa-fundador__mark > i{
  font-size:46px;
  line-height:1;
}
.profile-placa-fundador .sello-fundador-cluster--placa{
  justify-content:center;
}
.profile-placa-fundador .sello-fundador{
  width:68px;
  height:68px;
}
.profile-placa-fundador__kicker{
  margin:0 0 6px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--jade-deep);
}
.profile-placa-fundador__titulo{
  margin:0;
  font-family:var(--display);
  font-size:22px;
  font-weight:600;
  line-height:1.25;
  color:var(--ink);
}
.profile-placa-fundador__titulo + .profile-placa-fundador__titulo{
  margin-top:4px;
  font-size:18px;
}
.profile-compartir-ficha{
  min-height:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.profile-compartir-ficha__cuerpo{
  display:flex;
  align-items:center;
  gap:18px;
}
.profile-compartir-ficha__qr{
  flex:0 0 148px;
  width:148px;
  height:148px;
  padding:8px;
  box-sizing:border-box;
  background:#fff;
  border:1px solid color-mix(in srgb, var(--line) 80%, var(--jade) 20%);
  border-radius:12px;
}
.profile-compartir-ficha__qr svg,
.profile-compartir-ficha__qr img{
  display:block;
  width:100%;
  height:100%;
}
.profile-qr-table{
  width:100%;
  height:100%;
  border-collapse:collapse;
  table-layout:fixed;
}
.profile-qr-table td{
  padding:0;
  background:#fff;
}
.profile-qr-table td.is-on{
  background:#1c2b2e;
}
.profile-compartir-ficha__lado{ min-width:0; flex:1; }
.profile-compartir-ficha__texto{
  margin:0 0 14px;
  font-size:15px;
  line-height:1.5;
  color:var(--ink-soft);
}
.profile-compartir-ficha__acciones{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.profile-compartir-ficha__acciones .btn{
  min-width:132px;
}
@media (max-width:760px){
  .profile-compartir-ficha__cuerpo{
    flex-direction:column;
    align-items:flex-start;
  }
}
.profile-main-col .ficha-cartelera{
  width:100%; margin:0;
}
.profile-resena-compacta__stars{
  margin:0 0 6px; color:var(--marigold); letter-spacing:1px; font-size:16px;
}
.profile-resena-compacta__text{
  margin:0 0 8px; font-size:14px; line-height:1.5; color:var(--ink);
}
.profile-resena-compacta__who{
  margin:0; font-size:12.5px; color:var(--ink-soft);
}
.profile-similares-hueco__grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
}
.profile-gallery-block{
  /* Mismo ancho de contenido que la portada (sin franja max-width:1200) */
  width:calc(100% - 64px); max-width:none; box-sizing:border-box;
  margin:0 auto 18px; padding:18px 22px 20px;
  background:var(--white);
  border:1px solid color-mix(in srgb, var(--line) 75%, var(--jade) 25%);
  border-radius:12px;
  box-shadow:none;
  border-top:3px solid var(--jade);
}
.profile-gallery-head{
  display:flex; align-items:center; gap:12px; margin-bottom:14px;
}
.profile-gallery-head h3{
  font-family:var(--display); font-size:20px; font-weight:600; margin:0; color:var(--ink);
}
.profile-gallery-head p{ margin:0; font-size:13.5px; color:var(--ink-soft); }
.profile-gallery-carousel{
  --gallery-gap:10px;
  /* Exactamente 7 visibles: la 8.Âª no queda cortada; el resto va con flechas */
  --gallery-visible:7;
  position:relative;
  padding:0;
  min-width:0;
  max-width:100%;
}
.profile-gallery-carousel.has-overflow{
  /* Side gutters keep arrows outside the photo track (no overlap / no clipped half-thumb) */
  padding:0 44px;
}
.profile-gallery-track{
  /* TamaÃ±o = ancho del track / 7 (sin tope fijo que dejaba caber mÃ¡s de 7) */
  --gallery-thumb-size:calc(
    (100% - (var(--gallery-visible) - 1) * var(--gallery-gap)) / var(--gallery-visible)
  );
  display:flex; gap:var(--gallery-gap);
  align-items:flex-start;
  width:100%; min-width:0;
  overflow-x:auto; overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scrollbar-width:none; -ms-overflow-style:none;
  -webkit-overflow-scrolling:touch;
}
.profile-gallery-track::-webkit-scrollbar{ display:none; }
.profile-gallery-nav{
  position:absolute; top:50%; transform:translateY(-50%); z-index:2;
  width:40px; height:40px; border-radius:50%;
  border:1px solid var(--line); background:var(--white);
  color:var(--jade-deep); font-size:20px; line-height:1;
  cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 4px 12px -8px rgba(28,43,46,.35);
  transition:background .15s ease, border-color .15s ease, color .15s ease, opacity .15s ease;
}
.profile-gallery-prev{ left:0; }
.profile-gallery-next{ right:0; }
.profile-gallery-nav:hover:not(:disabled){
  background:var(--marigold); border-color:var(--marigold); color:var(--ink);
}
.profile-gallery-nav:disabled{
  opacity:.35; cursor:default;
}
.profile-gallery-thumb{
  display:block;
  box-sizing:border-box;
  flex:0 0 var(--gallery-thumb-size);
  width:var(--gallery-thumb-size);
  height:var(--gallery-thumb-size);
  min-width:var(--gallery-thumb-size);
  max-width:var(--gallery-thumb-size);
  min-height:var(--gallery-thumb-size);
  max-height:var(--gallery-thumb-size);
  aspect-ratio:1 / 1;
  padding:0; border:1px solid var(--line); border-radius:12px;
  overflow:hidden; cursor:pointer; background:var(--paper-alt);
  scroll-snap-align:start;
  transition:transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.profile-gallery-thumb:hover{
  transform:translateY(-3px);
  border-color:var(--jade);
  box-shadow:0 10px 20px -14px rgba(28,43,46,.35);
}
.profile-gallery-thumb img{
  width:100%; height:100%; object-fit:cover; object-position:center;
  display:block;
}

/* Barra fija mÃ³vil: Llamar + WhatsApp (solo si el negocio los tiene) */
.profile-mobile-cta{ display:none; }
body.has-profile-mobile-cta{
  --profile-mobile-cta-h:0px;
}
@media (max-width:760px){
  .profile-mobile-cta{
    display:flex; gap:10px; align-items:stretch;
    position:fixed; left:0; right:0; bottom:0; z-index:480;
    padding:10px 14px calc(10px + env(safe-area-inset-bottom, 0px));
    background:color-mix(in srgb, var(--white) 94%, var(--paper));
    border-top:1px solid color-mix(in srgb, var(--jade) 28%, var(--line));
    box-shadow:0 -10px 28px -18px rgba(28,43,46,.45);
  }
  body.has-profile-mobile-cta{
    --profile-mobile-cta-h:calc(64px + env(safe-area-inset-bottom, 0px));
    padding-bottom:var(--profile-mobile-cta-h);
  }
  body.tiene-ticker-anuncios.has-profile-mobile-cta{
    padding-bottom:calc(var(--ticker-h) + var(--profile-mobile-cta-h));
  }
  body.tiene-ticker-anuncios .profile-mobile-cta{
    bottom:var(--ticker-h);
  }
  .profile-mobile-cta__btn{
    flex:1; min-width:0;
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    min-height:44px; padding:11px 14px; border-radius:12px;
    text-decoration:none; font-weight:700; font-size:15px; line-height:1.2;
    border:1.5px solid transparent;
    transition:background .15s ease, border-color .15s ease, transform .15s ease;
  }
  .profile-mobile-cta__btn i{ font-size:20px; line-height:1; }
  .profile-mobile-cta__btn--call{
    background:var(--jade); color:var(--white); border-color:var(--jade-deep);
  }
  .profile-mobile-cta__btn--call:hover{
    background:var(--jade-deep); color:var(--white);
  }
  .profile-mobile-cta__btn--wa{
    background:var(--marigold); color:var(--ink); border-color:var(--marigold-deep);
  }
  .profile-mobile-cta__btn--wa:hover{
    background:var(--marigold-deep); color:var(--ink);
  }
}

.profile-links-head{
  display:flex; align-items:center; gap:14px; margin-bottom:18px;
}
.profile-links-head h3{
  font-family:var(--display); font-size:22px; font-weight:600; margin:0 0 3px; color:var(--ink);
}
.profile-links-head p{ margin:0; font-size:13.5px; color:var(--ink-soft); }
.profile-links-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:10px;
}
.profile-link-chip{
  display:flex; align-items:center; gap:10px;
  min-height:44px; padding:10px 14px;
  border:1.5px solid var(--jade-deep); border-radius:10px;
  background:transparent; color:var(--ink);
  text-decoration:none; font-size:13.5px; font-weight:600;
  transition:background .15s ease, border-color .15s ease;
}
.profile-link-chip:hover{
  background:color-mix(in srgb, var(--jade) 7%, var(--white));
  border-color:var(--jade-deep);
}
.profile-link-chip i{
  font-size:17px; color:var(--jade-deep); flex-shrink:0; width:20px; text-align:center;
}
.profile-link-chip span{
  min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.profile-link-chip--collapsed{ display:none; }
.profile-links-grid.is-expanded .profile-link-chip--collapsed{ display:flex; }
.profile-links-toggle{
  display:block; width:100%; margin-top:12px; padding:10px 14px;
  border:1px dashed var(--line); border-radius:10px;
  background:var(--paper-alt); color:var(--jade-deep);
  font-family:var(--body); font-size:13px; font-weight:600;
  cursor:pointer; transition:background .15s ease, border-color .15s ease;
}
.profile-links-toggle:hover{
  background:var(--white); border-color:var(--jade-deep);
}

.productos-grid{
  display:grid; grid-template-columns:repeat(auto-fill, minmax(260px, 1fr));
  gap:18px; margin-top:16px;
}
.productos-grid--featured{ margin-top:0; gap:20px; }
.producto-card{
  border:1px solid var(--line); border-radius:12px; padding:18px 20px;
  background:var(--paper-alt);
}
.producto-card--featured{
  background:var(--white); padding:22px 24px;
  border:1px solid color-mix(in srgb, var(--accent, var(--jade)) 18%, var(--line));
  box-shadow:0 6px 18px -10px rgba(28,43,46,.12);
  transition:transform .15s ease, box-shadow .15s ease;
}
.producto-card--featured:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 28px -14px rgba(28,43,46,.22);
}
.producto-card-top{
  display:flex; justify-content:space-between; gap:10px; align-items:flex-start;
}
.producto-card-top strong{ font-size:16.5px; line-height:1.35; }
.producto-precio{ font-size:15px; color:var(--jade-deep); font-weight:700; white-space:nowrap; }
.producto-desc{ font-size:14px; color:var(--ink-soft); margin:10px 0 0; line-height:1.55; }

.profile-desc--wide{
  /* Mismo ancho que portada / galerÃ­a / grid (sin tope 1200) */
  width:calc(100% - 64px); max-width:none; box-sizing:border-box;
  margin:0 auto 16px; padding:20px 24px;
}
/* Bloque relacionados: secundario, sin competir con la ficha */
.profile-desc.profile-similares--quiet{
  margin-top:4px;
  margin-bottom:20px;
  padding:12px 14px 14px;
  background:color-mix(in srgb, var(--paper-alt) 45%, var(--white));
  border:1px solid color-mix(in srgb, var(--line) 90%, transparent);
  border-top:1px solid color-mix(in srgb, var(--line) 90%, transparent);
  border-radius:10px;
  box-shadow:none;
}
.profile-similares--quiet .profile-similares-head{
  display:flex; align-items:center; gap:8px;
  margin:0 0 10px;
}
.profile-similares--quiet .profile-similares-head h3,
.profile-similares--quiet .profile-similares-head h4{
  font-family:var(--body); font-size:15px; font-weight:700;
  margin:0; color:var(--ink); letter-spacing:.01em;
}
.profile-similares--quiet .profile-similares-head i{
  font-size:14px; color:var(--ink-soft); opacity:.7;
}
.similares-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(168px, 1fr));
  gap:12px;
  margin-top:0;
  justify-content:start;
}
.similar-card{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:0;
  border:1px solid color-mix(in srgb, var(--line) 85%, transparent);
  border-radius:10px;
  padding:0;
  overflow:hidden;
  min-height:0;
  text-decoration:none;
  color:inherit;
  background:var(--white);
  box-shadow:none;
  transition:border-color .15s ease, background .15s ease;
}
.similar-card:hover{
  transform:none;
  border-color:color-mix(in srgb, var(--jade) 28%, var(--line));
  background:color-mix(in srgb, var(--paper-alt) 40%, var(--white));
  box-shadow:none;
}
.similar-card-media{
  width:100%;
  height:100px;
  aspect-ratio:auto;
  background:color-mix(in srgb, var(--paper-alt) 70%, var(--white));
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border-bottom:1px solid color-mix(in srgb, var(--line) 80%, transparent);
}
.similar-card-media img{
  width:100%;
  height:100%;
  object-fit:contain;
  background:transparent;
  display:block;
}
.similar-card-initials{
  font-family:var(--display);
  font-weight:600;
  font-size:1.1rem;
  color:var(--ink-soft);
  letter-spacing:.02em;
  opacity:.85;
}
.similar-card-body{
  min-width:0;
  padding:7px 8px 9px;
  display:flex;
  flex-direction:column;
  gap:3px;
}
.similar-card-cat{
  display:inline-block;
  align-self:flex-start;
  font-size:9px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.03em;
  padding:2px 5px;
  border-radius:4px;
  background:transparent;
  color:var(--ink-soft);
  border:1px solid color-mix(in srgb, var(--line) 80%, transparent);
}
.similar-card-media--cover img{
  object-fit:cover;
}
.similar-card-frase{
  margin:0;
  font-size:12px;
  line-height:1.35;
  color:var(--ink-soft);
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.similar-card-name{
  font-family:var(--body);
  font-weight:600;
  font-size:12.5px;
  line-height:1.3;
  color:var(--ink);
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.similar-card-loc{
  display:flex;
  align-items:flex-start;
  gap:3px;
  font-size:11px;
  color:var(--ink-soft);
  line-height:1.3;
}
.similar-card-loc i{
  font-size:12px;
  margin-top:1px;
  color:var(--ink-soft);
  opacity:.7;
  flex-shrink:0;
}
.similar-card-loc span{
  display:-webkit-box;
  -webkit-line-clamp:1;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
/* Compat: avatar horizontal antiguo */
.similar-card-avatar{
  width:56px; height:56px; border-radius:12px; overflow:hidden;
  background:var(--white); border:1px solid var(--line);
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
  font-weight:700; color:var(--ink-soft); font-size:15px;
}
.similar-card-avatar img{ width:100%; height:100%; object-fit:contain; background:var(--paper-alt); }

.contact-line{ display:flex; align-items:flex-start; gap:12px; font-size:13.5px; margin-bottom:16px; color:var(--ink); }
.contact-line i{ font-size:17px; color:var(--ink); margin-top:2px; opacity:.72; }
.contact-line span{ display:block; }
.contact-line b{ display:block; font-size:12px; font-weight:400; color:var(--ink); margin-bottom:3px; }
.contact-val{ display:block; font-size:14px; font-weight:700; color:var(--ink); line-height:1.45; }
.contact-val--clay{ font-weight:700; color:var(--ink); font-size:14px; }
.contact-line-link{ text-decoration:none; cursor:pointer; color:var(--ink); }
.contact-line-link .contact-link-action{ display:block; font-weight:700; color:var(--ink); font-size:14px; }
.contact-line-link--accent .contact-link-action{ color:var(--ink); font-weight:700; }
.contact-line-link span{ color:inherit; }
.contact-line-link:hover .contact-link-action{ text-decoration:underline; }
.contact-line-link:hover i{ opacity:1; }
.contact-btns{ display:flex; flex-direction:column; gap:7px; margin-top:12px; padding-top:12px; border-top:1px solid var(--line); }
.contact-btns--primary{ margin-top:10px; padding-top:10px; border-top:1px solid var(--line); }
.contact-btns--utility{ margin-top:8px; padding-top:8px; border-top:1px solid var(--line); gap:6px; }
.contact-btns--maps{ margin-top:10px; padding-top:10px; border-top:1px solid var(--line); }
.contact-btns--after-map{ margin-top:8px; padding-top:0; border-top:0; }

/* Mapa hÃ­brido en ficha pÃºblica (Leaflet + OSM, solo plan pago) */
.profile-map{
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid var(--line);
}
.profile-map-label{
  display:flex; align-items:center; gap:8px;
  font-size:12px; font-weight:600; color:var(--ink-soft);
  margin-bottom:8px; text-transform:none; letter-spacing:.01em;
}
.profile-map-label i{ font-size:16px; color:var(--jade); opacity:.9; }
.profile-map-canvas{
  width:100%; height:200px;
  border-radius:12px;
  border:1px solid var(--line);
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--paper-alt) 70%, var(--jade) 8%), var(--paper-alt));
  overflow:hidden;
  z-index:0;
}
.profile-map-canvas .leaflet-container{
  width:100%; height:100%;
  font: inherit;
  background:var(--paper-alt);
}
.profile-map-marker{
  background:transparent; border:0;
}
.profile-map-marker span{
  display:block; width:16px; height:16px; margin:3px;
  border-radius:50%;
  background:var(--jade);
  border:2px solid var(--white);
  box-shadow:0 1px 4px rgba(28,43,46,.28);
}
.profile-map-fallback{
  margin:0;
  padding:14px 16px;
  border-radius:12px;
  border:1px dashed var(--line);
  background:var(--paper-alt);
  color:var(--ink-soft);
  font-size:13px; line-height:1.45;
}
.profile-map-fallback strong{ color:var(--ink); font-weight:600; }
.profile-map-attr{
  display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 6px;
  margin:6px 0 0;
  font-size:10px;
  line-height:1.35;
  color:var(--ink-soft);
  opacity:.78;
}
.profile-map-attr-credit a{
  color:inherit;
  text-decoration:underline;
  text-underline-offset:2px;
  text-decoration-color: color-mix(in srgb, var(--ink-soft) 55%, transparent);
}
.profile-map-attr-sep{ opacity:.55; }
.profile-map-osm-open{
  color:var(--jade-deep);
  text-decoration:underline;
  text-underline-offset:2px;
  font-weight:500;
}
.profile-map--fallback .profile-map-attr{ display:none; }

.contact-link-stack{
  display:flex; flex-direction:column; gap:7px;
  margin-top:16px; padding-top:16px; border-top:1px solid var(--line);
}
.contact-link-stack--scroll{
  max-height:min(340px, 52vh);
  overflow-y:auto;
  padding-right:2px;
  scrollbar-width:thin;
}
.contact-link-stack-head{ margin-bottom:2px; }
.contact-link-stack-title{
  font-family:var(--mono); font-size:10.5px; font-weight:600;
  text-transform:uppercase; letter-spacing:.06em; color:var(--ink-soft);
}
.contact-link-row{
  display:flex; align-items:center; gap:11px;
  padding:9px 12px; border-radius:10px;
  border:1px solid var(--line); background:var(--white);
  text-decoration:none; color:var(--ink);
  transition:background .15s ease, border-color .15s ease;
}
.contact-link-row:hover{
  background:var(--paper-alt);
  border-color:color-mix(in srgb, var(--jade-deep) 32%, var(--line));
}
.contact-link-row i{ font-size:17px; color:var(--ink); opacity:.72; flex-shrink:0; width:20px; text-align:center; }
.contact-link-row b{ display:block; font-size:13px; font-weight:700; line-height:1.3; }
.contact-link-row small{ display:block; font-size:11px; font-weight:400; color:var(--ink-soft); margin-top:1px; line-height:1.35; }
.contact-link-row span{ min-width:0; overflow:hidden; }
.contact-link-row b,
.contact-link-row small{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.contact-link-row--utility{ background:var(--paper-alt); }

.contact-btns .btn-rich-whatsapp{
  background:var(--white);
  border:1.5px solid var(--jade-deep);
}
.contact-btns .btn-rich-whatsapp i{ color:var(--jade-deep); opacity:1; }
.contact-btns .btn-rich-whatsapp:hover{
  background:color-mix(in srgb, var(--jade) 8%, var(--white));
  border-color:var(--jade-deep);
}

.btn-rich{
  display:flex; align-items:center; gap:14px;
  padding:13px 16px; border-radius:12px; text-decoration:none;
  border:1.5px solid transparent;
  transition:background .15s ease, border-color .15s ease, color .15s ease;
}
.btn-rich i{ font-size:21px; flex-shrink:0; }
.btn-rich > span{ flex:1 1 auto; min-width:0; display:block; text-align:left; }
.btn-rich b{ display:block; font-size:14px; font-weight:700; }
.btn-rich small{ display:block; font-size:11px; font-weight:400; margin-top:1px; }
.btn-rich-jade{ background:var(--jade); color:var(--white); }
.btn-rich-jade small{ color:rgba(255,255,255,.82); }
.btn-rich-jade:hover{ background:var(--jade-deep); }
.btn-rich-ink{ background:var(--ink); color:var(--white); }
.btn-rich-ink small{ color:rgba(255,255,255,.7); }
.btn-rich-ghost{ background:var(--white); border:1px solid var(--line); color:var(--ink); }
.btn-rich-ghost small{ color:var(--ink-soft); }

/* Contacto ficha: 1 marigold; secundarios = jade pastel (no ghost, no jade sÃ³lido) */
.btn-rich-jade-soft{
  background:color-mix(in srgb, var(--jade) 14%, var(--white));
  border:1.5px solid color-mix(in srgb, var(--jade) 30%, var(--line));
  color:var(--jade-deep);
}
.btn-rich-jade-soft i{ color:var(--jade-deep); opacity:.9; }
.btn-rich-jade-soft b{ color:var(--jade-deep); }
.btn-rich-jade-soft small{ color:color-mix(in srgb, var(--jade-deep) 72%, var(--ink-soft)); }
.btn-rich-jade-soft:hover{
  background:color-mix(in srgb, var(--jade) 22%, var(--white));
  border-color:color-mix(in srgb, var(--jade) 42%, var(--line));
  color:var(--jade-deep);
}

.contact-btns .btn-rich,
.contact-btns .btn-rich-ghost,
.contact-btns .btn-rich-jade-soft{
  border-radius:10px;
  padding:11px 14px;
  box-shadow:none;
}
.contact-btns .btn-rich-jade-soft{
  background:color-mix(in srgb, var(--jade) 14%, var(--white)) !important;
  border:1.5px solid color-mix(in srgb, var(--jade) 30%, var(--line)) !important;
  color:var(--jade-deep) !important;
}
.contact-btns .btn-rich-jade-soft i{ color:var(--jade-deep) !important; opacity:.95; }
.contact-btns .btn-rich-jade-soft b{ color:var(--jade-deep) !important; font-weight:700; }
.contact-btns .btn-rich-jade-soft small{
  color:color-mix(in srgb, var(--jade-deep) 70%, var(--ink-soft)) !important;
  font-weight:400; opacity:1;
}
.contact-btns .btn-rich-jade-soft:hover{
  background:color-mix(in srgb, var(--jade) 22%, var(--white)) !important;
  border-color:color-mix(in srgb, var(--jade) 42%, var(--line)) !important;
}

.contact-btns .btn-rich-ghost{
  background:var(--white);
  border:1px solid var(--line);
  color:var(--ink);
}
.contact-btns .btn-rich-ghost i{ color:var(--ink); opacity:.7; }
.contact-btns .btn-rich-ghost b{ color:var(--ink); font-weight:700; }
.contact-btns .btn-rich-ghost small{ color:var(--ink-soft); font-weight:400; opacity:.9; }
.contact-btns .btn-rich-ghost:hover{
  background:var(--paper-alt);
  border-color:color-mix(in srgb, var(--ink) 18%, var(--line));
  color:var(--ink);
}
.contact-btns .btn-rich-ghost:hover i{ opacity:1; }

/* Ãšnico marigold: Llamar solo si NO hay enlace destacado; si hay, el enlace lo lleva */
.contact-btns--primary .btn-rich-priority{
  background:var(--marigold) !important;
  border:1.5px solid var(--marigold-deep) !important;
  color:var(--ink) !important;
  box-shadow:0 8px 18px -10px color-mix(in srgb, var(--marigold-deep) 55%, transparent);
  padding:14px 16px;
}
.contact-btns--primary .btn-rich-priority i,
.contact-btns--primary .btn-rich-priority b{ color:var(--ink) !important; opacity:1; }
.contact-btns--primary .btn-rich-priority small{ color:rgba(28,43,46,.78) !important; opacity:1; }
.contact-btns--primary .btn-rich-priority:hover{
  background:var(--marigold-deep) !important;
  border-color:var(--marigold-deep) !important;
}

/* CÃ³mo llegar / mapas: mismo jade pastel (nunca sÃ³lido oscuro) */
.contact-btns--maps .btn-rich-jade-soft,
.contact-btns--maps .btn-rich-jade,
.contact-btns--maps .btn-rich-jade:hover{
  background:color-mix(in srgb, var(--jade) 14%, var(--white)) !important;
  border:1.5px solid color-mix(in srgb, var(--jade) 30%, var(--line)) !important;
  color:var(--jade-deep) !important;
  box-shadow:none;
}
.contact-btns--maps .btn-rich-jade-soft i,
.contact-btns--maps .btn-rich-jade i,
.contact-btns--maps .btn-rich-jade b{
  color:var(--jade-deep) !important; opacity:1;
}
.contact-btns--maps .btn-rich-jade-soft small,
.contact-btns--maps .btn-rich-jade small{
  color:color-mix(in srgb, var(--jade-deep) 70%, var(--ink-soft)) !important; opacity:1;
}
.contact-btns--maps .btn-rich-jade-soft:hover,
.contact-btns--maps .btn-rich-jade:hover{
  background:color-mix(in srgb, var(--jade) 22%, var(--white)) !important;
  border-color:color-mix(in srgb, var(--jade) 42%, var(--line)) !important;
}

/* Utilidad (favoritos / compartir): mÃ¡s compacta y quieta */
.contact-btns--utility .btn-rich,
.contact-btns--utility .fav-btn--ficha{
  padding:9px 12px;
  background:transparent;
  border:1px dashed color-mix(in srgb, var(--line) 70%, var(--ink-soft) 30%);
  box-shadow:none;
}
.contact-btns--utility .btn-rich small{ display:none; }
.contact-btns--utility .btn-rich b{ font-size:13px; font-weight:600; color:var(--ink-soft); }
.contact-btns--utility .btn-rich i{ font-size:18px; opacity:.65; }
.contact-btns--utility .btn-rich:hover{
  background:var(--paper-alt);
  border-style:solid;
  border-color:var(--line);
}
.contact-btns .btn-rich-priority b,
.contact-btns .btn-rich-priority:hover b{ font-weight:700; }
.contact-btns .btn-rich:not(.btn-rich-priority) b{ font-weight:700; }


/* ===== REGISTER / FORM ===== */
.register-wrap{ max-width:640px; margin:0 auto; padding:48px 24px 60px; }
.register-head{ text-align:center; margin-bottom:8px; }
.register-head h1{ font-family:var(--display); font-size:30px; margin:0 0 10px; }
.register-head p{ color:var(--ink-soft); font-size:14.5px; max-width:440px; margin:0 auto; }
.free-badge{
  display:inline-block; margin:16px auto 0; background:var(--marigold); color:var(--ink);
  font-family:var(--mono); font-size:11.5px; font-weight:600; padding:7px 14px; border-radius:20px;
}
.free-badge-wrap{ text-align:center; margin-bottom:32px; }
.form-card{ background:var(--white); border:1px solid var(--line); border-radius:12px; padding:30px; }
.form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form-grid .field.full{ grid-column:1 / -1; }
.dropzone{ border:1.5px dashed var(--line); border-radius:8px; padding:24px; text-align:center; font-size:13px; color:var(--ink-soft); grid-column:1/-1; }
.dropzone input{ margin-top:10px; max-width:100%; }
.file-input-hidden{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}
.file-input-btn{
  display:inline-flex; align-items:center; gap:8px;
  background:var(--ink); color:var(--white); font-weight:600; font-size:13.5px;
  padding:10px 18px; border-radius:8px; cursor:pointer; border:none;
  margin-top:12px;
}
.file-input-btn:hover{ background:var(--jade-deep); }
.file-input-filename{
  display:block; margin-top:8px; font-size:12.5px; color:var(--ink-soft);
  word-break:break-word; max-width:100%;
}
/* Campo obligatorio: descripciÃ³n corta del directorio */
.field-directorio-corto{
  background:color-mix(in srgb, var(--marigold) 14%, var(--white));
  border:1.5px solid color-mix(in srgb, var(--marigold-deep) 45%, var(--line));
  border-radius:14px;
  padding:14px 16px 16px;
  box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--marigold) 20%, transparent);
}
.field-directorio-corto > label{
  color:var(--jade-deep);
  font-weight:700;
}
.field-directorio-corto .field-directorio-corto-badge{
  display:inline-block;
  margin-left:6px;
  font-family:var(--mono);
  font-size:10px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--ink);
  background:var(--marigold);
  padding:2px 8px;
  border-radius:999px;
  vertical-align:middle;
}
.field-directorio-corto textarea,
.field-directorio-corto input[type="text"]{
  background:var(--white);
  border-color:color-mix(in srgb, var(--marigold-deep) 30%, var(--line));
}
.field-directorio-corto-help{
  font-size:12.5px;
  color:var(--ink);
  line-height:1.45;
  margin:4px 0 10px;
}
.field-directorio-corto-actions{
  display:flex; flex-wrap:wrap; gap:8px; align-items:center;
  margin:8px 0 4px;
}
.field-directorio-corto-actions .btn-mini-directorio{
  font-size:12px; font-weight:600;
  padding:6px 10px; border-radius:8px; cursor:pointer;
  border:1px solid color-mix(in srgb, var(--jade) 40%, var(--line));
  background:color-mix(in srgb, var(--jade) 10%, var(--white));
  color:var(--jade-deep);
  font-family:var(--body);
}
.field-directorio-corto-actions .btn-mini-directorio:hover{
  background:color-mix(in srgb, var(--jade) 18%, var(--white));
}

.field-hint{
  margin:4px 0 10px; font-size:12.5px; color:var(--ink-soft); line-height:1.45;
}
.field-optional{ font-weight:400; color:var(--ink-soft); font-size:12px; }
.ubicacion-block{
  border:1px solid var(--line); border-radius:14px; padding:20px 22px 8px;
  background:var(--paper-alt); margin:8px 0 18px;
}
.ubicacion-block-head h3{
  font-family:var(--display); font-size:18px; font-weight:600; margin:0 0 6px; color:var(--ink);
}
.ubicacion-block .form-grid{ margin-top:12px; }
.req{ color:var(--clay); }
.foto-upload-block{ padding-top:4px; max-width:560px; }
.foto-upload-block--galeria{ max-width:720px; }
.foto-preview-frame{
  border:1px solid var(--line); border-radius:12px; overflow:hidden;
  background:var(--paper-alt); margin-bottom:4px;
  display:flex; align-items:center; justify-content:center;
}
.foto-preview-frame--logo{ width:120px; height:120px; max-width:120px; max-height:120px; }
.foto-preview-frame--portada{ width:100%; max-width:100%; height:auto; aspect-ratio:4 / 1; }
.foto-preview-frame--catalogo{
  width:160px; height:160px; max-width:160px; max-height:160px; aspect-ratio:1/1; margin:8px 0 10px;
}
.foto-preview-frame--catalogo img{ object-fit:cover; }
.foto-preview-frame img{
  width:100%; height:100%; max-width:100%; max-height:100%;
  object-fit:contain; object-position:center; display:block;
  background:var(--paper-alt);
}
.foto-preview-frame img.foto-preview-cover,
.foto-preview-frame--portada img{ object-fit:cover; }
.galeria-admin-grid{
  display:flex; flex-wrap:wrap; gap:14px; margin:8px 0 16px;
}
.galeria-admin-item{
  text-align:center; font-size:11.5px; color:var(--ink-soft); cursor:pointer;
}
.galeria-thumb-wrap{
  display:block; width:168px; height:168px;
  border-radius:10px; overflow:hidden;
  border:1px solid var(--line); background:var(--paper-alt);
  margin-bottom:6px;
}
.galeria-thumb-wrap img{
  width:100%; height:100%; object-fit:cover; object-position:center; display:block;
}
.galeria-admin-borrar{ display:flex; align-items:center; justify-content:center; gap:4px; }
.galeria-preview-nueva{
  display:flex; flex-wrap:wrap; gap:12px; margin-top:14px;
}
.galeria-preview-item{
  width:168px; height:168px; border-radius:10px; overflow:hidden;
  border:1px solid var(--line); background:var(--paper-alt);
}
.galeria-preview-item img{ width:100%; height:100%; object-fit:cover; object-position:center; display:block; }
.foto-preview-placeholder{
  width:100%; height:100%; min-height:80px;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:6px; color:var(--ink-soft); font-size:12px;
}
.foto-preview-placeholder i{ font-size:28px; color:var(--jade); opacity:.7; }

.recorte-modal{
  position:fixed; inset:0; z-index:9000;
  background:rgba(28,43,46,.72); display:none;
  align-items:center; justify-content:center; padding:20px;
}
.recorte-modal.is-open{ display:flex; }
.recorte-modal-dialog{
  background:var(--white); border-radius:14px; width:min(640px, 100%);
  max-height:90vh; overflow:auto; padding:20px;
  box-shadow:0 24px 48px -20px rgba(28,43,46,.45);
}
.recorte-modal-head{
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:12px;
}
.recorte-modal-head strong{ font-family:var(--display); font-size:18px; }
.recorte-modal-close{
  border:none; background:none; font-size:24px; cursor:pointer; color:var(--ink-soft);
}
.recorte-modal-body{
  /* Altura fija: Cropper necesita un contenedor con tamaÃ±o real (no 0). */
  height:min(55vh, 420px); max-height:55vh; min-height:240px;
  background:var(--paper-alt); border-radius:10px; overflow:hidden;
  position:relative;
}
/* Global `img{max-width:100%}` rompe Cropper si no se anula aquÃ­.
   Cropper tambiÃ©n fuerza none!important en `.cropper-container img`. */
.recorte-modal-body > img{
  display:block;
  max-width:none !important;
  max-height:none !important;
  width:100%;
}
.recorte-modal-body .cropper-container{
  width:100% !important;
  height:100% !important;
  max-width:100%;
  max-height:100%;
}
.recorte-toolbar{
  display:flex; flex-wrap:wrap; gap:8px 10px;
  margin-top:12px; align-items:center;
}
.recorte-toolbar-group{
  display:flex; flex-wrap:wrap; gap:6px;
}
.recorte-tool{
  font-family:var(--body);
  font-weight:600;
  font-size:12.5px;
  line-height:1.2;
  padding:8px 11px;
  border-radius:7px;
  border:1px solid var(--line);
  background:var(--white);
  color:var(--ink);
  cursor:pointer;
  white-space:nowrap;
}
.recorte-tool:hover{
  border-color:var(--jade);
  color:var(--jade-deep);
  background:rgba(15,118,110,.06);
}
.recorte-tool--accent{
  background:var(--marigold);
  border-color:transparent;
  color:var(--ink);
}
.recorte-tool--accent:hover{
  background:var(--marigold-deep);
  border-color:transparent;
  color:var(--ink);
}
.recorte-modal-hint{
  font-size:12.5px; color:var(--ink-soft); margin:12px 0 0; line-height:1.45;
}
.recorte-modal-hint--error{
  color:var(--clay); font-weight:600;
}
.recorte-modal-actions{
  display:flex; justify-content:flex-end; gap:10px; margin-top:16px;
}
@media (max-width:520px){
  .recorte-tool{ font-size:12px; padding:7px 9px; }
}
.error-text{ color:var(--clay); font-size:12px; margin-top:4px; display:block; }
.submit-row{ margin-top:22px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; }
.fine-print{ font-size:12px; color:var(--ink-soft); max-width:320px; }

/* ===== ADMIN PANEL ===== */
.admin-shell{ display:flex; min-height:calc(100vh - 0px); background:var(--paper); }
.admin-sidebar{
  width:248px; background:var(--ink); color:#C9D2CF; padding:18px 0 28px; flex-shrink:0;
  position:sticky; top:0; align-self:flex-start;
  height:100vh; max-height:100vh;
  display:flex; flex-direction:column;
  overflow:hidden; overflow:clip; overflow-anchor:none;
}
.admin-logo{ display:flex; align-items:center; gap:10px; padding:0 20px 20px; margin-bottom:8px; border-bottom:1px solid #2C3B3D; flex-shrink:0; }
.admin-logo > img{ height:40px; width:auto; }
.admin-logo-name{ font-family:var(--display); font-weight:700; font-size:18px; color:var(--white); letter-spacing:.02em; line-height:1.1; }
.admin-logo .logo-name{ font-size:18px; color:inherit; display:inline-flex; align-items:flex-end; letter-spacing:0; }
.admin-logo .logo-wordmark{ display:none; }
.admin-nav{
  flex:1; min-height:0;
  overflow-y:auto; overflow-anchor:none;
  overscroll-behavior:contain;
  scrollbar-width:none; -ms-overflow-style:none;
}
.admin-nav::-webkit-scrollbar{ width:0; height:0; display:none; }
.admin-nav a{ display:flex; align-items:center; justify-content:space-between; gap:8px; padding:9px 18px 9px 20px; font-size:13.5px; color:#C9D2CF; text-decoration:none; border-left:3px solid transparent; }
.admin-nav a.admin-nav-home{ margin-bottom:4px; font-weight:600; color:#E4EBE9; }
.admin-nav a.active{ background:#233231; color:var(--white); border-left-color:var(--marigold); font-weight:600; }
.admin-nav a .count,
.admin-nav-group-toggle .count{
  background:var(--clay); color:var(--white); font-family:var(--mono);
  font-size:10.5px; min-width:1.4em; padding:2px 7px; border-radius:10px; line-height:1.2; text-align:center;
}
.admin-nav .section-label{
  font-family:var(--body); font-size:11px; font-weight:600;
  text-transform:uppercase; letter-spacing:.06em; color:#8A9A97;
  padding:0;
}
.admin-nav-group{ margin-top:2px; }
.admin-nav-group + .admin-nav-group{ border-top:1px solid rgba(255,255,255,.06); }
.admin-nav-section{
  display:flex; align-items:center; justify-content:space-between; gap:8px;
  padding:16px 22px 6px;
}
.admin-nav-section .count{
  background:var(--clay); color:var(--white); font-family:var(--mono);
  font-size:10.5px; min-width:1.4em; padding:2px 7px; border-radius:10px; line-height:1.2; text-align:center;
}
.admin-nav-group-body{ padding:0 0 8px; }
.admin-nav-group-body a{ padding:8px 16px 8px 32px; font-size:13px; }
.admin-main{ flex:1; min-width:0; }
.admin-topbar{ display:flex; align-items:center; justify-content:space-between; padding:18px 30px; background:var(--white); border-bottom:1px solid var(--line); }
.admin-topbar h1{ font-family:var(--display); font-size:20px; margin:0; }
.admin-user{ display:flex; align-items:center; gap:10px; font-size:13px; color:var(--ink-soft); }
.role-badge{ font-family:var(--mono); font-size:10.5px; text-transform:uppercase; background:var(--jade); color:var(--white); padding:3px 9px; border-radius:10px; }
.admin-body{ padding:26px 30px; }
.stat-cards{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:26px; }
.stat-card{ background:var(--white); border:1px solid var(--line); border-radius:10px; padding:18px; border-top:3px solid var(--marigold); }
.stat-card:nth-child(2){ border-top-color:var(--jade); }
.stat-card:nth-child(3){ border-top-color:var(--clay); }
.stat-card:nth-child(4){ border-top-color:#8A7FBD; }
.stat-card .num{ font-family:var(--display); font-size:26px; font-weight:700; color:var(--ink); }
.stat-card .lbl{ font-size:12.5px; color:var(--ink-soft); margin-top:4px; }

/* Lista compacta de referencia tÃ©cnica (ej. medidas fijas), 1 sola columna a
   propÃ³sito: cada fila es "etiqueta : valor" en una sola lÃ­nea corta, asÃ­
   nunca se desalinean entre sÃ­ (evita el problema de una cuadrÃ­cula de 2
   columnas donde una fila con texto mÃ¡s largo estira tambiÃ©n la fila
   vecina). NO usar para mÃ©tricas destacadas, ver .stat-card */
.specs-list{ margin:0 22px 14px; padding:2px 14px; background:var(--paper-alt); border:1px solid var(--line); border-radius:8px; }
.specs-item{ display:flex; align-items:baseline; justify-content:space-between; gap:14px; padding:7px 0; border-bottom:1px dashed var(--line); }
.specs-item:last-child{ border-bottom:none; }
.specs-item .lbl{ font-size:12px; color:var(--ink-soft); }
.specs-item .num{ font-family:var(--mono); font-size:12.5px; font-weight:700; color:var(--ink); white-space:nowrap; }

/* Vuelta a "cuadritos" (pedido del dueÃ±o 01/08/2026 â€” le gustaba el
   formato de tarjetas original, el problema nunca fue el formato sino
   el tamaÃ±o: la versiÃ³n vieja de este mismo bloque usaba .stat-card,
   pensada para mÃ©tricas destacadas de dashboard (26px de fuente, 18px
   de padding) â€” demasiado grande para info de referencia tÃ©cnica. Esta
   es una versiÃ³n chica del MISMO estilo visual (tarjeta redondeada +
   borde superior de color), no una lista. */
.specs-cards{ display:grid; grid-template-columns:repeat(3, 1fr); gap:10px; margin:0 22px 14px; }
.specs-card{ background:var(--white); border:1px solid var(--line); border-radius:8px; padding:10px 12px; border-top:3px solid var(--marigold); }
.specs-card:nth-child(2){ border-top-color:var(--jade); }
.specs-card:nth-child(3){ border-top-color:var(--clay); }
.specs-card:nth-child(4){ border-top-color:#8A7FBD; }
.specs-card:nth-child(5){ border-top-color:var(--jade); }
.specs-card:nth-child(6){ border-top-color:var(--marigold); }
.specs-card .num{ font-family:var(--mono); font-size:15px; font-weight:700; color:var(--ink); display:block; }
.specs-card .lbl{ font-size:11px; color:var(--ink-soft); margin-top:2px; display:block; }
@media (max-width: 700px){ .specs-cards{ grid-template-columns:repeat(2, 1fr); } }
.admin-panel-card{ background:var(--white); border:1px solid var(--line); border-radius:10px; overflow:hidden; margin-bottom:24px; }
.admin-panel-card:has(.admin-actions-menu){ overflow:visible; }
.admin-panel-head{ display:flex; align-items:center; justify-content:space-between; padding:16px 20px; border-bottom:1px solid var(--line); flex-wrap:wrap; gap:10px; border-radius:10px 10px 0 0; }
.admin-panel-head h2{ font-family:var(--display); font-size:16px; margin:0; }
.admin-table{ width:100%; border-collapse:collapse; min-width:980px; }
/* Lista corta de plantillas de correo: sin min-width forzado (evita
   cortar el botÃ³n Editar dentro de la tarjeta del admin). */
.admin-table.admin-table--plantillas{
  min-width:0;
  table-layout:fixed;
}
.admin-table.admin-table--usuarios{
  min-width:0;
}
.admin-table.admin-table--usuarios th:last-child,
.admin-table.admin-table--usuarios td.admin-actions-cell{
  position:static;
  box-shadow:none;
  background:transparent;
}
.admin-table.admin-table--usuarios tbody td.admin-actions-cell{
  background:var(--white);
}
.admin-table.admin-table--plantillas th:nth-child(1),
.admin-table.admin-table--plantillas td:nth-child(1){ width:auto; }
.admin-table.admin-table--plantillas th:nth-child(2),
.admin-table.admin-table--plantillas td:nth-child(2){ width:140px; }
.admin-table.admin-table--plantillas th:nth-child(3),
.admin-table.admin-table--plantillas td:nth-child(3){ width:110px; }
.admin-table.admin-table--plantillas th:last-child,
.admin-table.admin-table--plantillas td.admin-actions-cell{
  position:static;
  box-shadow:none;
  background:transparent;
}
.admin-table.admin-table--plantillas tbody td.admin-actions-cell{
  background:var(--white);
}
/* Scroll horizontal dentro de la tarjeta â€” Acciones usa panel fixed,
   asÃ­ que overflow-x ya no corta el menÃº. */
.admin-table-scroll{
  overflow-x:auto;
  overflow-y:visible;
  max-width:100%;
  -webkit-overflow-scrolling:touch;
}
.admin-table th{ text-align:left; font-family:var(--mono); font-size:10.5px; text-transform:uppercase; letter-spacing:.05em; color:var(--ink-soft); padding:10px 12px; background:var(--paper-alt); }
.admin-table td{ padding:12px; font-size:13.5px; border-top:1px solid var(--line); color:var(--ink); vertical-align:middle; }
/* Columna Acciones fija a la derecha al hacer scroll horizontal */
.admin-table th:last-child,
.admin-table td.admin-actions-cell{
  position:sticky;
  right:0;
  z-index:2;
  background:var(--white);
  box-shadow:-8px 0 12px -10px rgba(28,43,46,.28);
  white-space:nowrap;
}
.admin-table th:last-child{
  background:var(--paper-alt);
  z-index:3;
}
/* Open Acciones menu: raise this cell above sticky header (3) and sibling cells (2). */
.admin-table th:last-child:has(.admin-actions-menu[open]),
.admin-table td.admin-actions-cell:has(.admin-actions-menu[open]){
  z-index:20;
}
.status-pill{ font-family:var(--mono); font-size:10.5px; padding:3px 9px; border-radius:10px; display:inline-block; line-height:1.35; white-space:nowrap; vertical-align:middle; }
.status-pendiente{ background:#FCEBC9; color:#8A5B00; }
.status-correcciones_solicitadas{ background:#FCEBC9; color:#8A5B00; }
.status-aprobado{ background:#DCEEE7; color:var(--jade-deep); }
.status-rechazado{ background:#FBDCD0; color:#8A2C0C; }
.status-suspendido{ background:#E5E5E5; color:#555; }
.status-vetado{ background:#3A1A14; color:#FBDCD0; }
.row-actions{ display:flex; gap:12px; flex-wrap:wrap; }
.row-actions button, .row-actions a{ font-size:12.5px; font-weight:600; text-decoration:none; background:none; border:none; cursor:pointer; padding:0; font-family:var(--body); }
.approve{ color:var(--jade-deep); }
.reject{ color:var(--clay); }
.edit{ color:var(--marigold-deep); }

.fichas-revisar-intro{ margin:0 0 18px; }
.fichas-revisar-intro h2{
  margin:0 0 6px; font-family:var(--display); font-size:1.45rem; line-height:1.2; color:var(--ink);
}
.fichas-revisar-intro p{
  margin:0; color:var(--ink-soft); font-size:13.5px; line-height:1.5; max-width:52ch;
}
.fichas-revisar-card{ overflow:hidden; }
.fichas-revisar-count{
  display:flex; align-items:baseline; gap:10px; padding:18px 20px;
  border-bottom:1px solid var(--line);
}
.fichas-revisar-count b{
  font-family:var(--display); font-size:28px; line-height:1; color:var(--jade-deep, var(--jade));
}
.fichas-revisar-count span{ font-size:13px; color:var(--ink-soft); }
.fichas-revisar-vacio{ padding:28px 20px; color:var(--ink-soft); font-size:13.5px; }
.fichas-revisar-tabla.admin-table{ min-width:1080px; }
.fichas-revisar-tabla th,
.fichas-revisar-tabla td{
  padding:16px 14px; vertical-align:top;
}
.fichas-revisar-tabla th:first-child,
.fichas-revisar-tabla td.fichas-revisar-negocio{ width:18%; min-width:160px; }
.fichas-revisar-tabla th:last-child,
.fichas-revisar-tabla td.fichas-revisar-acciones{ width:34%; min-width:280px; }
.fichas-revisar-negocio strong{
  display:block; font-size:15px; font-weight:700; line-height:1.3; color:var(--ink);
}
.fichas-revisar-negocio .status-pill{ display:inline-block; margin-top:8px; }
.fichas-revisar-contacto{ font-size:13px; line-height:1.45; }
.fichas-revisar-fecha{ white-space:nowrap; color:var(--ink-soft); font-size:13px; }
.fichas-revisar-form,
.fichas-revisar-acciones form{ margin:0; }
.fichas-revisar-nota{
  display:block; width:100%; box-sizing:border-box;
  min-height:38px; padding:8px 10px; margin:0 0 10px;
  border:1px solid var(--line); border-radius:8px; background:#fff;
  font-family:var(--body); font-size:13px; color:var(--ink);
}
.fichas-revisar-nota:focus{ outline:2px solid color-mix(in srgb, var(--jade) 35%, transparent); border-color:var(--jade); }
.fichas-revisar-decisiones,
.fichas-revisar-links{
  display:flex; flex-wrap:wrap; gap:8px; align-items:center;
}
.fichas-revisar-links{
  margin-top:12px; padding-top:12px; border-top:1px solid var(--line);
}
.fichas-btn{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:34px; padding:6px 12px; border-radius:8px;
  font-family:var(--body); font-size:12.5px; font-weight:600;
  line-height:1.2; text-decoration:none; cursor:pointer; border:1px solid transparent;
}
.fichas-btn-ok{ background:var(--jade); color:var(--white); }
.fichas-btn-ok:hover{ background:var(--jade-deep, #1F4F3F); color:var(--white); }
.fichas-btn-sec{
  background:var(--white); color:var(--ink); border-color:var(--line);
}
.fichas-btn-sec:hover{ background:var(--paper-alt); }
.fichas-btn-danger{
  background:color-mix(in srgb, var(--clay) 10%, var(--white));
  color:var(--clay); border-color:color-mix(in srgb, var(--clay) 28%, var(--line));
}
.fichas-btn-danger:hover{ background:color-mix(in srgb, var(--clay) 16%, var(--white)); }
.fichas-btn-ver{
  background:var(--ink); color:var(--white);
}
.fichas-btn-ver:hover{ background:#233231; color:var(--white); }
.fichas-btn-edit{
  background:transparent; color:var(--marigold-deep, #B8862B); border-color:color-mix(in srgb, var(--marigold) 45%, var(--line));
}
.fichas-btn-edit:hover{ background:color-mix(in srgb, var(--marigold) 12%, var(--white)); }

@media (max-width:720px){
  .fichas-revisar-count b{ font-size:24px; }
  .fichas-revisar-decisiones .fichas-btn{ flex:1 1 auto; }
}

.negocios-admin-card{ overflow:visible; }
.negocios-admin-toolbar{
  display:flex; flex-direction:column; gap:14px;
  padding:16px 20px 18px; border-bottom:1px solid var(--line);
}
.negocios-admin-count{ padding:0; border:none; }
.negocios-admin-filtros{ display:flex; flex-wrap:wrap; gap:8px; }
.negocios-admin-filtro{
  display:inline-flex; align-items:center; min-height:32px; padding:5px 12px;
  border:1px solid var(--line); border-radius:8px; background:#fff;
  color:var(--ink); font-size:12.5px; font-weight:600; text-decoration:none;
}
.negocios-admin-filtro:hover{ background:var(--paper-alt); }
.negocios-admin-filtro.is-activo{
  background:var(--jade); color:var(--white); border-color:var(--jade);
}
.negocios-admin-tools{
  display:flex; flex-wrap:wrap; align-items:center; gap:10px;
}
.negocios-admin-buscar{
  flex:1 1 220px; max-width:360px; min-height:38px; padding:8px 12px;
  border:1px solid var(--line); border-radius:8px; background:#fff;
  font-family:var(--body); font-size:13px; color:var(--ink);
}
.negocios-admin-buscar:focus{ outline:2px solid color-mix(in srgb, var(--jade) 35%, transparent); border-color:var(--jade); }
.negocios-admin-tabla.admin-table{ min-width:1080px; }
.negocios-admin-tabla th,
.negocios-admin-tabla td{ padding:16px 14px; vertical-align:top; }
.negocios-admin-tabla th:first-child,
.negocios-admin-tabla td.negocios-admin-negocio{ width:22%; min-width:200px; }
.negocios-admin-negocio .admin-negocio-links > a:first-of-type{
  display:block; font-size:15px; font-weight:700; color:var(--ink); text-decoration:none; line-height:1.3;
}
.negocios-admin-negocio .admin-negocio-links > a:first-of-type:hover{ color:var(--jade-deep, var(--jade)); }
.negocios-admin-negocio .admin-negocio-links > div{
  margin-top:8px !important; gap:8px !important;
}
.negocios-admin-negocio .admin-negocio-links > div a{
  display:inline-flex; align-items:center; min-height:28px; padding:3px 10px;
  border-radius:7px; font-size:12px !important; font-weight:600; text-decoration:none;
}
.negocios-admin-negocio .admin-negocio-links > div a:first-child{
  background:var(--ink); color:var(--white);
}
.negocios-admin-negocio .admin-negocio-links > div a:last-child{
  background:transparent; color:var(--marigold-deep, #B8862B);
  border:1px solid color-mix(in srgb, var(--marigold) 45%, var(--line));
}
.negocios-admin-cuenta{
  display:inline-flex; align-items:center; gap:4px; margin-top:8px;
  font-size:12px; color:var(--ink-soft);
}
.negocios-admin-prueba{
  display:inline-block; margin-top:8px; background:var(--paper-alt); color:var(--ink-soft);
}
.negocios-admin-infraccion{
  display:inline-flex; align-items:center; gap:4px; margin-top:8px;
  font-size:12px; color:var(--clay); font-weight:700; text-decoration:none;
}
.negocios-admin-membresia{ font-size:13px; }
.negocios-admin-vacio-busca{
  padding:8px 20px 20px; color:var(--ink-soft); font-size:13.5px;
}

@media (max-width:720px){
  .negocios-admin-tools{ width:100%; }
  .negocios-admin-buscar{ max-width:none; }
}

.categorias-admin-toolbar{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between;
  gap:14px; padding:16px 20px; border-bottom:1px solid var(--line);
}
.categorias-admin-count{ padding:0; border:none; }
.categorias-admin-sector{
  min-height:38px; padding:8px 12px; border:1px solid var(--line); border-radius:8px;
  background:#fff; font-family:var(--body); font-size:13px; color:var(--ink); min-width:180px;
}
.categorias-admin-tabla.admin-table{ min-width:880px; }
.categorias-admin-tabla th,
.categorias-admin-tabla td{ padding:14px 14px; vertical-align:middle; }
.categorias-admin-acciones{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; }

.alianzas-admin-card{ overflow:visible; }
.alianzas-admin-vis{ padding:12px 20px 14px; margin-bottom:16px; }
.alianzas-admin-vis-title{
  margin:0 0 8px; font-family:var(--display); font-size:15px; font-weight:600; color:var(--ink); line-height:1.3;
}
.alianzas-admin-vis-form{
  display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px;
}
.alianzas-admin-vis-kicker{
  font-family:var(--mono); font-size:10.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-soft);
}
.alianzas-admin-vis-select{
  min-height:36px; min-width:160px; padding:6px 10px;
  border:1px solid var(--line); border-radius:8px; background:#fff; font-size:13px;
}
.alianzas-admin-vis-nota{
  margin:8px 0 0; font-size:12px; line-height:1.45; color:var(--ink-soft); max-width:72ch;
}
.alianzas-admin-vis-nota strong{ color:var(--ink); font-weight:600; }
.alianzas-admin-toolbar{
  display:flex; flex-direction:column; gap:14px;
  padding:16px 20px 14px; border-bottom:1px solid var(--line);
}
.alianzas-admin-count{ padding:0; border:none; }
.alianzas-admin-lead{
  margin:0; padding:10px 20px 14px; color:var(--ink-soft); font-size:12.5px; line-height:1.45;
}
/* Encaja en el ancho de la tarjeta: el min-width:1180px + .admin-table-scroll
   (overflow-x:auto) y el min-width:980px global de .admin-table eran la barra
   horizontal. Campañas y otras listas no se tocan. */
.alianzas-admin .admin-table-scroll{
  overflow-x:visible;
  overflow-y:visible;
}
.alianzas-admin-tabla.admin-table{
  min-width:0;
  width:100%;
  table-layout:auto;
}
.alianzas-admin-tabla th,
.alianzas-admin-tabla td{
  padding:14px 12px;
  vertical-align:top;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.alianzas-admin-tabla th:nth-child(1),
.alianzas-admin-tabla td.alianzas-admin-negocio{ width:16%; min-width:0; }
.alianzas-admin-tabla th:nth-child(4),
.alianzas-admin-tabla th:nth-child(5),
.alianzas-admin-tabla th:nth-child(7){ white-space:nowrap; }
.alianzas-admin-tabla th:last-child,
.alianzas-admin-tabla td.admin-actions-cell{
  position:static;
  box-shadow:none;
  white-space:nowrap;
  overflow-wrap:normal;
  word-break:normal;
  width:1%;
}
.alianzas-admin-negocio > a{
  display:block; font-size:15px; font-weight:700; color:var(--ink); text-decoration:none; line-height:1.3;
}
.alianzas-admin-negocio > a:hover{ color:var(--jade-deep, var(--jade)); }
.alianzas-admin-ofrece{ display:flex; flex-wrap:wrap; align-items:center; gap:5px; line-height:normal; }
.alianzas-badge-productos,
.alianzas-badge-servicios,
.alianzas-badge-otro{
  display:inline-block; margin:0; line-height:1.3; white-space:nowrap; color:#fff;
}
.alianzas-badge-productos{ background:var(--jade); }
.alianzas-badge-servicios{ background:var(--marigold); }
.alianzas-badge-otro{ background:var(--ink-soft); }
.alianzas-admin-muted{ color:var(--ink-soft); font-size:12px; }
.alianzas-admin-compacto{ font-size:12.5px; line-height:1.4; }

@media (max-width:720px){
  .alianzas-admin-vis-form .btn{ width:100%; }
  .alianzas-admin .admin-table-scroll{ overflow-x:auto; }
  .alianzas-admin-tabla.admin-table{ min-width:720px; }
}

/* Densidad solo de /admin/membresias.php — no toca otras tablas admin. */
.membresias-admin.admin-panel-card{ overflow:visible; }
.membresias-admin .admin-panel-head{ padding:12px 16px; gap:8px; }
.membresias-admin .admin-panel-head .btn{
  padding:6px 12px;
  font-size:13px;
  min-height:0;
}
.membresias-admin > p{
  padding:8px 16px 10px !important;
  margin:0;
}
.membresias-admin .admin-table-scroll{
  overflow-x:visible;
  overflow-y:visible;
  max-height:none;
}
.membresias-admin-tabla.admin-table{
  min-width:0;
  width:100%;
  table-layout:fixed;
}
.membresias-admin-tabla th,
.membresias-admin-tabla td{
  min-width:0;
  padding:6px 8px;
  vertical-align:middle;
  overflow-wrap:anywhere;
  word-break:break-word;
  font-size:13.5px;
}
.membresias-admin-tabla th{
  font-size:10.5px;
  padding:6px 8px;
}
.membresias-admin-negocio strong{
  font-family:var(--body);
  font-size:13.5px;
  font-weight:700;
  line-height:1.3;
}
.membresias-admin-tabla th:nth-child(1),
.membresias-admin-tabla td.membresias-admin-negocio{ width:16%; }
.membresias-admin-tabla th:nth-child(2){ width:6%; }
.membresias-admin-tabla th:nth-child(3){ width:10%; }
.membresias-admin-tabla th:nth-child(4){ width:6%; }
.membresias-admin-tabla th:nth-child(5){ width:8%; }
.membresias-admin-tabla th:nth-child(6){ width:7%; }
.membresias-admin-tabla th:nth-child(7){ width:9%; }
.membresias-admin-tabla th:nth-child(8){ width:16%; max-width:none !important; }
.membresias-admin-tabla th:nth-child(9){ width:8%; }
.membresias-admin-tabla th:nth-child(10),
.membresias-admin-tabla td.admin-actions-cell{ width:14%; }
.membresias-admin-tabla td:nth-child(8){
  white-space:normal;
  max-width:none !important;
}
.membresias-admin-tabla .status-pill{
  white-space:normal;
  max-width:100%;
  padding:2px 6px;
}
.membresias-admin-tabla th:last-child,
.membresias-admin-tabla td.admin-actions-cell{
  position:static;
  box-shadow:none;
  white-space:normal;
  min-width:0;
}
.membresias-admin-tabla td.admin-actions-cell{
  display:table-cell;
  vertical-align:middle;
}
.membresias-admin-tabla td.admin-actions-cell .admin-actions-menu{
  display:inline-block;
  margin-top:4px !important;
}
.membresias-admin-tabla .admin-actions-trigger,
.membresias-admin-tabla .admin-actions-trigger.btn{
  display:inline-block;
  width:auto;
  max-width:100%;
  white-space:nowrap;
  padding:4px 10px !important;
  font-size:12.5px !important;
  line-height:1.2;
  text-align:center;
}
.membresias-admin-tabla .admin-actions-panel .btn{
  padding:6px 12px;
  font-size:13px;
}
.membresias-admin-borrar-form{ margin-top:8px; }
.membresias-admin .membresias-admin-borrar{
  padding:3px 8px;
  font-size:11.5px;
  font-weight:400;
  line-height:1.2;
  color:var(--ink-soft);
  border-color:var(--line);
}
.membresias-admin .membresias-admin-borrar:hover{ color:var(--clay); }

@media (max-width:960px){
  .membresias-admin .admin-table-scroll{ overflow-x:auto; }
  .membresias-admin-tabla.admin-table{
    min-width:880px;
    table-layout:auto;
  }
}

.qsm-admin-filtros{ margin-bottom:16px; }
.qsm-admin-toolbar{
  display:flex; flex-direction:column; gap:10px;
  padding:14px 18px;
}
.qsm-admin-title{
  margin:0; font-family:var(--display); font-size:16px; color:var(--ink);
}
.qsm-admin-busca{
  display:flex; flex-wrap:wrap; align-items:center; gap:8px;
}
.qsm-admin-busca .negocios-admin-buscar{ max-width:420px; }
.qsm-admin-busca .btn{
  min-height:38px; padding:8px 16px; font-size:13px;
}
.qsm-admin-card{ overflow:visible; }
.qsm-admin-tabla.admin-table{ min-width:0; width:100%; }
.qsm-admin-tabla th,
.qsm-admin-tabla td{
  padding:8px 10px; vertical-align:middle;
}
.qsm-admin-tabla th:nth-child(1){ width:22%; }
.qsm-admin-tabla th:nth-child(2){ width:16%; }
.qsm-admin-tabla th:nth-child(3){ width:14%; }
.qsm-admin-tabla th:nth-child(4){ width:10%; }
.qsm-admin-tabla th:nth-child(5){ width:10%; }
.qsm-admin-titulo{ font-weight:600; }
.qsm-admin-fecha{ white-space:nowrap; font-size:12.5px; }
.qsm-admin-motivo-retiro{ font-size:12px; color:var(--ink-soft); margin-top:3px; }
.qsm-admin-vacio{ color:var(--ink-soft); }
.qsm-admin-tabla th:last-child,
.qsm-admin-tabla td.admin-actions-cell{
  position:static; box-shadow:none; white-space:normal; width:auto;
}
.qsm-admin-acciones,
.qsm-admin-retirar{
  display:flex; flex-wrap:nowrap; align-items:center; gap:6px;
}
.qsm-admin-tabla .btn{
  min-height:32px; padding:5px 10px; font-size:12.5px; line-height:1.2;
}
.qsm-admin-motivo{
  width:118px; min-width:96px; max-width:118px;
  min-height:32px; padding:5px 8px;
  border:1px solid var(--line); border-radius:7px;
  font-family:var(--body); font-size:12.5px; color:var(--ink); background:#fff;
}
.qsm-admin-retirar-btn{ color:var(--clay); }

@media (max-width:800px){
  .qsm-admin-busca .negocios-admin-buscar{ max-width:none; flex:1 1 100%; }
  .qsm-admin-busca .btn{ width:100%; }
  .qsm-admin .admin-table-scroll{ overflow-x:auto; }
  .qsm-admin-tabla.admin-table{ min-width:720px; }
  .qsm-admin-acciones,
  .qsm-admin-retirar{ flex-wrap:wrap; }
}

.ca-alianzas-tabs{
  display:flex; flex-wrap:wrap; gap:8px;
  margin:0 0 16px; padding:4px;
}
.ca-alianzas-tab{
  display:inline-flex; align-items:center; gap:6px;
  min-height:38px; padding:7px 16px;
  border:1px solid var(--line); border-radius:8px; background:#fff;
  color:var(--ink); font-size:13px; font-weight:700; cursor:pointer;
}
.ca-alianzas-tab span{ font-weight:600; color:var(--ink-soft); }
.ca-alianzas-tab:hover{ background:var(--paper-alt); }
#ca-vista-sectores:checked ~ .ca-alianzas-tabs label[for="ca-vista-sectores"],
#ca-vista-categorias:checked ~ .ca-alianzas-tabs label[for="ca-vista-categorias"],
#ca-vista-distintivos:checked ~ .ca-alianzas-tabs label[for="ca-vista-distintivos"]{
  background:var(--jade); color:var(--white); border-color:var(--jade);
}
#ca-vista-sectores:checked ~ .ca-alianzas-tabs label[for="ca-vista-sectores"] span,
#ca-vista-categorias:checked ~ .ca-alianzas-tabs label[for="ca-vista-categorias"] span,
#ca-vista-distintivos:checked ~ .ca-alianzas-tabs label[for="ca-vista-distintivos"] span{
  color:color-mix(in srgb, #fff 78%, var(--jade));
}
.ca-alianzas-panel{ display:none; }
#ca-vista-sectores:checked ~ .ca-alianzas-panel--sectores,
#ca-vista-categorias:checked ~ .ca-alianzas-panel--categorias,
#ca-vista-distintivos:checked ~ .ca-alianzas-panel--distintivos{ display:block; }
.ca-alianzas-card{ overflow:visible; margin-bottom:16px; }
.ca-alianzas-lead{
  margin:0; padding:10px 20px 0; color:var(--ink-soft); font-size:12.5px; line-height:1.45;
}
.ca-alianzas-add{
  display:flex; flex-wrap:wrap; align-items:center; gap:10px; padding:16px 20px;
}
.ca-alianzas-add-input{
  flex:1; min-width:220px; min-height:38px; padding:8px 12px;
  border:1px solid var(--line); border-radius:8px; background:#fff;
  font-family:var(--body); font-size:13px; color:var(--ink);
}
.ca-alianzas-form{ padding:16px 20px 20px; }
.ca-alianzas-hint{ font-size:12px; color:var(--ink-soft); }
.ca-alianzas-tabla.admin-table{ min-width:720px; }
.ca-alianzas-tabla th,
.ca-alianzas-tabla td{ padding:14px 14px; vertical-align:middle; }
.ca-alianzas-empty{ color:var(--ink-soft); }
@media print{
  .ca-alianzas-panel{ display:block !important; }
}

/* --- GalerÃ­a visual del control manual de publicidad (admin/publicidad-visual.php) ---
   Miniaturas chicas a propÃ³sito: esta vista es solo para reordenar/ocultar
   de un vistazo, no para previsualizar el diseÃ±o real del carrusel (para
   eso estÃ¡ /admin/publicidad-diseno.php), asÃ­ que no deben "ocupar toda
   la pantalla" ni variar de tamaÃ±o segÃºn sean grande/chica. */
.admin-gallery-section{ padding:0 20px; }
.admin-gallery-section + .admin-gallery-section{ border-top:1px solid var(--line); margin-top:4px; padding-top:4px; }
.admin-gallery-section-title{ font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.03em; color:var(--ink-soft); margin:14px 0 4px; }
.admin-gallery-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(130px, 150px)); gap:14px; padding:6px 0 20px; }
.admin-gallery-card{ width:100%; max-width:150px; border:1px solid var(--line); border-radius:10px; overflow:hidden; background:var(--white); transition:opacity .15s ease; }
.admin-gallery-card.is-oculto{ opacity:.55; }
.admin-gallery-card-media{ position:relative; aspect-ratio:4/3; background:var(--ink); overflow:hidden; }
.admin-gallery-card-media img{ width:100%; height:100%; object-fit:cover; display:block; }
.admin-gallery-card-media .media-placeholder{ width:100%; height:100%; display:flex; align-items:center; justify-content:center; color:var(--white); opacity:.5; font-size:26px; }
.admin-gallery-card-badge{ position:absolute; top:8px; left:8px; font-family:var(--mono); font-size:10px; text-transform:uppercase; letter-spacing:.04em; padding:2px 8px; border-radius:10px; background:rgba(28,43,46,.75); color:var(--white); }
.admin-gallery-card-badge.is-oculto{ background:var(--clay); }
.admin-gallery-card-body{ padding:8px 9px 9px; }
.admin-gallery-card-body strong{ display:block; font-size:11.5px; margin-bottom:2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.admin-gallery-card-body span{ display:block; font-size:10px; color:var(--ink-soft); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.admin-gallery-card-actions{ display:flex; align-items:center; gap:4px; margin-top:8px; flex-wrap:wrap; }
.admin-gallery-card-actions .btn-mini{ font-size:10px; padding:3px 6px; border-radius:6px; border:1px solid var(--line); background:var(--paper-alt); cursor:pointer; font-family:var(--body); color:var(--ink); }
.admin-gallery-card-actions .btn-mini:hover{ background:var(--white); }
.admin-gallery-card-actions .btn-mini:disabled{ opacity:.35; cursor:not-allowed; }
.admin-gallery-card-actions .btn-mini.is-danger{ color:var(--clay); border-color:#F0B8A0; }
.admin-gallery-card-actions .btn-mini.is-success{ color:var(--jade-deep); border-color:#B9DACB; }
.admin-login-wrap{ min-height:100vh; display:flex; align-items:center; justify-content:center; background:var(--ink); padding:20px; }
.admin-login-card{ background:var(--white); border-radius:12px; padding:36px; max-width:380px; width:100%; text-align:center; }
.admin-login-brand{ display:flex; align-items:center; justify-content:center; gap:14px; margin:0 0 18px; }
.admin-login-brand img{ height:52px; width:auto; margin:0; display:block; flex-shrink:0; }
.admin-login-name{ font-family:var(--display); font-weight:700; font-size:27px; margin:0; color:var(--ink); letter-spacing:0; line-height:1; display:inline-flex; align-items:flex-end; }
.admin-login-brand .logo-name-busk{ color:var(--ink); }
.admin-login-card h1{ font-family:var(--display); font-size:22px; margin:0 0 20px; }
.admin-login-card .field{ text-align:left; margin-bottom:14px; }
.categoria-list{ list-style:none; margin:0; padding:0; }
.categoria-list li{ display:flex; align-items:center; justify-content:space-between; padding:12px 20px; border-top:1px solid var(--line); font-size:13.5px; }
.categoria-list li:first-child{ border-top:none; }

@media (max-width:760px){
  .site-nav{ position:relative; justify-content:center; padding:10px 60px; }
  .logo img{ height:60px; }
  .logo:not(.logo--marca) .logo-slogan{ display:none; }
  .logo:not(.logo--marca) .logo-divider{ display:none; }
  .logo--marca img{ height:42px; }
  .logo--marca .logo-slogan{ display:none; }
  .logo--marca .logo-name{ font-size:22px; }
  .nav-hamburger{ display:flex; position:absolute; left:14px; top:50%; transform:translateY(-50%); }
  .nav-hamburger.is-active .nav-hamburger-icon-open{ display:none; }
  .nav-hamburger.is-active .nav-hamburger-icon-close{ display:block; }
  .hero-visual{ min-height:auto; padding:36px 0 90px; }
  .hero-badge-count{ position:static; margin:0 auto 26px; width:max-content; }
  .hero-main{ margin:0 20px; max-width:none; text-align:center; }
  .hero-main p{ margin-left:auto; margin-right:auto; }
  .hero-main h1{ font-size:28px; }
  .hero-brand-lockup{ margin:24px 20px 0; max-width:none; }
  .category-bar{ margin:-50px 12px 0; position:relative; }
  .category-bar-nav{ display:none; }
  .category-bar-track{ border-radius:16px; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; }
  .category-pill{ min-width:100px; padding:16px 12px; scroll-snap-align:start; }
  .category-bar::after{
    content:"";
    position:absolute; top:0; right:0; bottom:0; width:28px;
    background:linear-gradient(90deg, transparent, rgba(255,255,255,.9));
    border-radius:0 16px 16px 0;
    pointer-events:none;
  }
  .search-row{ flex-direction:column; }
  .steps{ grid-template-columns:1fr; }
  .results-wrap{ flex-direction:column; align-items:stretch; }
  .filters{ width:auto; flex-shrink:1; border-right:none; border-bottom:1px solid var(--line); }
  .profile-hero-v2{
    width:calc(100% - 40px); margin:16px auto 0;
    height:auto;
    aspect-ratio:4 / 1;
    min-height:0;
  }
  .profile-hero-wrap{ width:calc(100% - 40px); max-width:none; margin:16px auto 0; }
  .profile-hero-wrap .profile-hero-v2{
    margin:0; width:100%; max-width:none;
    height:auto;
    aspect-ratio:4 / 1;
  }
  .contact-card-logo-side{ width:64px; height:64px; border-radius:10px; }
  .hero-content{ padding:14px 16px; max-width:none; }
  .hero-content h1{ font-size:clamp(20px, 6.2vw, 26px); margin-bottom:6px; }
  .hero-meta{ margin-bottom:5px; }
  .hero-meta-loc{ font-size:12.5px; }
  .hero-meta-rest{ font-size:11px; gap:6px; }
  .hero-tagline{ font-size:13px; }
  .hero-cat-pill{ margin-bottom:8px; font-size:10.5px; padding:4px 10px; }
  .profile-insignias-bar,
  .profile-badges-unified{ width:calc(100% - 40px); margin:8px auto 0; padding:8px 2px; }
  .profile-productos-block{ width:calc(100% - 40px); margin:0 auto 16px; padding:18px 16px; }
  .profile-links-block{ width:calc(100% - 40px); margin:0 auto 16px; padding:16px 14px; }
  .profile-gallery-block{ width:calc(100% - 40px); max-width:none; margin:0 auto 14px; padding:16px 14px; }
  .profile-gallery-carousel{
    --gallery-gap:8px;
    --gallery-visible:2.6;
  }
  .profile-gallery-carousel.has-overflow{ padding:0 40px; }
  .profile-gallery-nav{ width:36px; height:36px; font-size:18px; }
  .profile-gallery-track{
    --gallery-thumb-size:calc(
      (100% - (var(--gallery-visible) - 1) * var(--gallery-gap)) / var(--gallery-visible)
    );
  }
  .profile-links-grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); gap:8px; }
  .profile-links-grid--inline{ grid-template-columns:1fr; }
  .profile-productos-head h3{ font-size:22px; }
  .destacados-grid--compact{ grid-template-columns:repeat(2, 1fr); }
  .destacados-grid--in-main{
    gap:5px 6px;
    justify-content:center;
  }
  .destacados-grid--in-main .destacado-item--card{
    flex:0 1 auto;
    max-width:100%;
    padding:5px 9px 5px 5px;
  }
  .info-cards-grid{ grid-template-columns:1fr; }
  .profile-desc--wide{ width:calc(100% - 40px); max-width:none; margin:0 auto 14px; padding:18px 16px; }
  .profile-desc.profile-similares--quiet{ padding:10px 10px 12px; }
  .similares-grid{
    display:flex;
    flex-wrap:nowrap;
    overflow-x:auto;
    gap:8px;
    padding:2px 2px 8px;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
  }
  .similares-grid .similar-card{
    flex:0 0 168px;
    width:168px;
    scroll-snap-align:start;
  }
  .similar-card-media{ height:88px; }
  .hero-gradient{
    background:
      linear-gradient(to top,
        color-mix(in srgb, var(--ink) 78%, transparent) 0%,
        color-mix(in srgb, var(--jade-deep) 72%, transparent) 34%,
        color-mix(in srgb, var(--jade-deep) 28%, transparent) 62%,
        transparent 90%
      ) !important;
    display:block !important;
  }
  .profile-hero-v2.has-photo .hero-gradient{
    background:
      linear-gradient(to top,
        color-mix(in srgb, var(--ink) 78%, transparent) 0%,
        color-mix(in srgb, var(--jade-deep) 72%, transparent) 34%,
        color-mix(in srgb, var(--jade-deep) 28%, transparent) 62%,
        transparent 90%
      ) !important;
  }
  .profile-hero-v2--cover .hero-gradient,
  .profile-hero-v2--cover.has-photo .hero-gradient{
    background:linear-gradient(to top,
      color-mix(in srgb, var(--ink) 14%, transparent) 0%,
      transparent 38%
    ) !important;
  }
  .profile-hero-sello{ right:12px; bottom:10px; }
  .profile-hero-sello .sello-fundador{ width:58px; height:58px; }
  .profile-hero-v2:not(.has-photo) .hero-gradient{
    background:linear-gradient(180deg, var(--jade-deep) 0%, var(--jade) 100%) !important;
  }
  .mini-thumb{ width:72px; height:72px; }
  .lightbox-close{ top:12px; right:12px; width:38px; height:38px; font-size:17px; }
  .lightbox-nav{ width:40px; height:40px; font-size:18px; }
  .lightbox-prev{ left:8px; }
  .lightbox-next{ right:8px; }
  .profile-grid{
    width:calc(100% - 40px); max-width:none;
    grid-template-columns:1fr;
    grid-template-rows:none;
    padding:12px 0 24px; align-items:start; gap:14px;
  }
  .profile-grid > .profile-main-col,
  .profile-grid > .profile-gallery-block,
  .profile-grid > .profile-reviews,
  .profile-grid > .ficha-actividades-ancla,
  .profile-grid > .profile-similares--quiet,
  .profile-grid > .profile-sidebar,
  .profile-grid > :not(.profile-sidebar):last-child{
    grid-column:auto;
    grid-row:auto;
  }
  .profile-grid > .profile-gallery-block,
  .profile-grid > .profile-desc--wide{
    width:100%;
    margin-left:0;
    margin-right:0;
  }
  .profile-main-col{ gap:12px; }
  .profile-desc,
  .profile-panel{ height:auto; min-height:0; padding:18px 16px; }
  .profile-panel--catalog{ padding:14px 12px 16px; }
  .profile-panel--benefits{ flex:none; }
  .profile-grid > .profile-main-col,
  .profile-grid > .profile-main-scroll,
  .profile-grid > .profile-desc.profile-main-scroll,
  .profile-grid > .profile-desc{
    position:static;
    align-self:start;
    height:auto;
    min-height:0;
    max-height:none;
    overflow:visible;
  }
  .profile-sidebar{
    position:static; top:auto;
    height:auto;
    max-height:none; overflow:visible;
  }
  .contact-card{
    padding:16px 14px 14px;
    position:static;
    flex:none;
    height:auto;
    max-height:none;
    overflow:visible;
  }
  .destacados-grid{ grid-template-columns:1fr 1fr; }
  .horario-pill-hora{ margin-left:0; }
  .form-grid{ grid-template-columns:1fr; }
  .nav-links{
    display:none;
    position:absolute; top:100%; left:0; right:0;
    flex-direction:column; align-items:stretch; gap:0;
    background:var(--ink); border-top:1px solid rgba(250,246,236,.15);
    box-shadow:0 20px 30px -16px rgba(0,0,0,.4);
    z-index:60;
  }
  .nav-links.is-open{ display:flex; }
  .nav-links a{ padding:16px 24px; border-bottom:1px solid rgba(250,246,236,.1); }
  .nav-links a.nav-admin{ border:1px solid rgba(250,246,236,.25); border-radius:0; margin:0; }
  .nav-links a.btn{ margin:16px 24px; text-align:center; border-bottom:none; }
  .cta-band{ flex-direction:column; align-items:flex-start; }
  .admin-shell{ flex-direction:column; }
  .admin-sidebar{
    width:auto; position:static; height:auto; max-height:none;
    overflow:visible; display:block; align-self:stretch;
  }
  .admin-nav{ overflow:visible; }
  .stat-cards{ grid-template-columns:1fr 1fr; }
}

/* ======================================================
   BLOQUE 1 â€” GUÃA DE MARCA: CONTROLES DE FORMULARIO, CHIPS,
   INSIGNIAS A COLOR Y ESPACIOS PUBLICITARIOS POR TAMAÃ‘O
   La paleta y tipografÃ­a ya estaban definidas arriba (:root).
   Esto agrega los componentes que faltaban, sin tocar nada
   de lo que ya funcionaba.
   ====================================================== */

/* --- Select propio, con flecha dibujada (no la del navegador) --- */
select{
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  background-color:var(--paper);
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'><path d='M1 1l6 6 6-6' fill='none' stroke='%234A5A5C' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat:no-repeat;
  background-position:right 14px center;
  padding-right:36px !important;
  border:1px solid var(--line);
  border-radius:7px;
  cursor:pointer;
  color:var(--ink);
  font-family:var(--body);
}
select:focus{ outline:none; border-color:var(--jade); box-shadow:0 0 0 3px rgba(47,111,94,.15); }
select.select-sm{ padding:8px 30px 8px 10px !important; font-size:13px; border-radius:6px; }
select.select-block{ width:100%; }

/* --- Checkbox y radio propios --- */
input[type="checkbox"], input[type="radio"]{
  appearance:none; -webkit-appearance:none; -moz-appearance:none;
  width:18px; height:18px; flex-shrink:0;
  border:1.5px solid var(--line);
  background:var(--white);
  cursor:pointer;
  position:relative;
  vertical-align:middle;
  transition:background .15s ease, border-color .15s ease;
}
input[type="checkbox"]{ border-radius:5px; }
input[type="radio"]{ border-radius:50%; }
input[type="checkbox"]:checked, input[type="radio"]:checked{
  background:var(--jade); border-color:var(--jade);
}
input[type="checkbox"]:checked::after{
  content:""; position:absolute; left:5px; top:1px; width:5px; height:10px;
  border:solid var(--white); border-width:0 2px 2px 0; transform:rotate(45deg);
}
input[type="radio"]:checked::after{
  content:""; position:absolute; left:4px; top:4px; width:8px; height:8px;
  border-radius:50%; background:var(--white);
}
input[type="checkbox"]:focus-visible, input[type="radio"]:focus-visible{
  outline:none; box-shadow:0 0 0 3px rgba(47,111,94,.2);
}

/* --- Filtro tipo "chip": envuelve un checkbox + texto, se resalta al marcarlo --- */
.filter-chip{
  display:inline-flex; align-items:center; gap:7px;
  font-size:12.5px; font-weight:600; color:var(--ink);
  background:var(--white); border:1px solid var(--line); border-radius:20px;
  padding:7px 13px 7px 10px; margin:0 6px 6px 0; cursor:pointer;
  transition:background .15s ease, border-color .15s ease, color .15s ease;
}
.filter-chip i{ font-size:13px; }
.filter-chip input[type="checkbox"]{ width:15px; height:15px; }
.filter-chip input[type="checkbox"]:checked::after{ left:4px; top:.5px; width:4px; height:8px; }
.filter-chip:has(input:checked){ background:var(--jade); border-color:var(--jade); color:var(--white); }
.filter-chip:has(input:checked) input[type="checkbox"]{ background:var(--white); border-color:var(--white); }
.filter-chip:has(input:checked) input[type="checkbox"]::after{ border-color:var(--jade); }
.filter-chip-group{ display:flex; flex-wrap:wrap; margin-top:2px; }

/* --- Insignias a color segÃºn su tipo (misma insignia, distinto acento) --- */
.insignia{
  display:inline-flex; align-items:center; gap:5px;
  font-family:var(--mono); font-size:10.5px; font-weight:600;
  padding:4px 10px; border-radius:12px;
  background:var(--paper-alt); color:var(--ink-soft);
  border:1px solid var(--line);
  text-decoration:none;
}
.insignia i{ font-size:12px; }
.insignia-plan_pago{ background:linear-gradient(145deg, var(--marigold) 0%, var(--marigold-deep) 100%) !important; color:var(--ink) !important; border-color:#fff !important; }
.insignia-plan_pago.insignia-alianza,
.profile-badges-unified .insignia-plan_pago.insignia-alianza{
  background:linear-gradient(145deg, var(--purple) 0%, var(--purple-deep) 100%) !important;
  color:#fff !important;
}
.insignia-promocion_activa{ background:color-mix(in srgb, var(--marigold) 55%, var(--white)) !important; color:var(--ink) !important; border-color:var(--marigold) !important; }
.insignia-verificado{ background:var(--jade) !important; color:var(--white) !important; border-color:var(--jade) !important; }
.insignia-muy_recomendado{ background:var(--clay) !important; color:var(--white) !important; border-color:var(--clay) !important; }
.insignia-completo{ background:var(--paper-alt) !important; color:var(--jade-deep) !important; border-color:var(--jade) !important; }

/* --- Espacios publicitarios, organizados por tamaÃ±o real del banner --- */
.ad-zone{ margin:0 32px 40px; }
.ad-zone-label{
  font-family:var(--mono); font-size:11px; text-transform:uppercase; letter-spacing:.06em;
  color:var(--ink-soft); margin-bottom:10px; display:block; text-align:center;
}
.ad-slot-grande{ width:100%; max-width:970px; aspect-ratio:970/250; margin:0 auto 16px; border-radius:10px; overflow:hidden; background:var(--paper-alt); }
.ad-slot-mediano{ width:100%; max-width:728px; aspect-ratio:728/200; margin:0 auto 16px; border-radius:10px; overflow:hidden; background:var(--paper-alt); }
.ad-slot-pequeno{ width:100%; max-width:300px; aspect-ratio:300/100; border-radius:8px; overflow:hidden; background:var(--paper-alt); }
.ad-slot-grande img, .ad-slot-mediano img, .ad-slot-pequeno img{ width:100%; height:100%; object-fit:cover; display:block; }
.ad-slot-row-pequeno{ display:flex; gap:16px; flex-wrap:wrap; justify-content:center; }

/* --- Publicidad agrupada por categorÃ­a: banners de tamaÃ±os distintos,
   negocios distintos, juntos en un mismo bloque enmarcado por categorÃ­a --- */
.ad-category-cluster{
  border:1px solid var(--line); border-radius:14px; background:var(--paper-alt);
  padding:20px 22px 22px; margin-bottom:16px;
}
.ad-category-cluster-head{
  display:flex; align-items:center; gap:8px; margin-bottom:14px;
  font-family:var(--mono); font-size:11.5px; text-transform:uppercase; letter-spacing:.05em; color:var(--ink-soft);
}
.ad-category-cluster-head i{ color:var(--marigold-deep); font-size:15px; }
.ad-category-row{ display:flex; flex-wrap:wrap; align-items:flex-end; gap:14px; }
.ad-category-item{
  display:block; border-radius:8px; overflow:hidden; flex-shrink:0;
  background:var(--white); border:1px solid var(--line);
  transition:transform .15s ease, box-shadow .15s ease;
}
.ad-category-item:hover{ transform:translateY(-2px); box-shadow:0 10px 20px -12px rgba(28,43,46,.35); }
.ad-category-item img{ width:100%; display:block; }

/* --- Carrusel premium: varias fotos en un solo espacio, con flechas y
   puntos (estilo Instagram) â€” el visitante lo pasa, no se mueve solo --- */
.ad-carousel-item{
  position:relative; border-radius:8px; overflow:hidden; flex-shrink:0;
  background:var(--white); border:1px solid var(--line);
}
.ad-carousel-track{
  display:flex; height:100%; overflow-x:auto; scroll-snap-type:x mandatory;
  scrollbar-width:none; -ms-overflow-style:none;
}
.ad-carousel-track::-webkit-scrollbar{ display:none; }
.ad-carousel-slide{
  flex:0 0 100%; scroll-snap-align:start; display:block; height:100%;
}
.ad-carousel-slide img{ width:100%; height:100%; object-fit:cover; display:block; image-orientation:from-image; }
.ad-carousel-arrow{
  position:absolute; top:50%; transform:translateY(-50%); z-index:2;
  width:28px; height:28px; border-radius:999px; border:none; cursor:pointer;
  background:rgba(28,43,46,.55); color:var(--white); font-size:16px; line-height:1;
  display:flex; align-items:center; justify-content:center;
  opacity:0; transition:opacity .15s ease;
}
.ad-carousel-item:hover .ad-carousel-arrow{ opacity:1; }
.ad-carousel-prev{ left:8px; }
.ad-carousel-next{ right:8px; }
.ad-carousel-dots{
  position:absolute; left:0; right:0; bottom:8px; z-index:2;
  display:flex; justify-content:center; gap:5px; pointer-events:none;
}
.ad-carousel-dot{
  width:5px; height:5px; border-radius:999px; background:rgba(255,255,255,.55);
  transition:background .15s ease, width .15s ease;
}
.ad-carousel-dot.is-active{ background:var(--white); width:14px; border-radius:4px; }

/* --- /anuncios.php: un destacado grande + el resto en cuadrÃ­cula chica
   al lado (estilo editorial/CNN) â€” cada tarjeta respeta su proporciÃ³n
   real, nunca se aplasta a un tamaÃ±o parejo. --- */
/* --- Pauta publicitaria: bloque de MEDIDAS FIJAS DE VERDAD (una sola
   CSS Grid, no dos grids independientes lado a lado), estilo page-builder
   (Elementor/WP): el bloque completo mide siempre lo mismo (alto fijo en
   px, ver PATROCINADO_GRID_ALTO_DESKTOP en includes/functions_v3.php,
   documentado tambiÃ©n en admin/publicidad-diseno.php) y estÃ¡ repartido en
   celdas fijas â€” la pieza grande ocupa 1 columna de ancho doble y las 3
   filas completas; cada chica ocupa exactamente 1 celda de 1 columna x 1
   fila. Sin importar la proporciÃ³n real de la foto que se suba, SIEMPRE
   se recorta con object-fit:cover para llenar su celda exacta â€” nunca se
   deforma/estira y nunca queda hueco, porque el tamaÃ±o de cada celda lo
   define la cuadrÃ­cula, no el aspect-ratio de la foto.

   Mismo componente exacto en anuncios.php ("AsÃ­ rota en el sitio") y en
   "Patrocinado por categorÃ­a" de la home â€” nunca se ve distinto en un
   lado y en otro.

   HISTORIAL (para no repetir intentos ya descartados en este bloque):
   1) Se intentÃ³ que las chicas estiraran su foto (aspect-ratio:auto) para
      llenar el hueco cuando habÃ­a menos de 6 â€” deformaba las fotos y se
      veÃ­a mal en la home real. Revertido: las fotos nunca se deforman.
   2) Se intentÃ³ "cuadrar" el hueco calculando el aspect-ratio de la pieza
      grande vs. la suma de alturas de las 3 filas de chicas (600Ã—600 /
      320Ã—220) â€” nunca cerraba perfecto en todos los anchos de pantalla.
      Reemplazado por la cuadrÃ­cula de medidas fijas de abajo. */
.pauta-editorial{
  display:grid;
  grid-template-columns:2fr 1fr 1fr; /* grande = mitad del ancho (2fr = 1fr+1fr de las chicas), cada chica = 1/4 */
  grid-template-rows:repeat(3, 1fr);
  gap:16px;
  height:476px; /* alto TOTAL fijo del bloque en desktop â€” ver PATROCINADO_GRID_ALTO_DESKTOP (reducido a pedido: solo alto, el ancho/columnas no cambian) */
}
/* Las 6 chicas se arman en un <div class="pauta-grid"> en el HTML (mÃ¡s
   simple de generar desde renderCarruselPatrocinado()), pero deben ser
   celdas de la MISMA cuadrÃ­cula de arriba, no un grid anidado con su
   propio alto â€” display:contents "borra" ese div de la caja visual y sus
   6 hijos pasan a ser celdas directas de .pauta-editorial, auto-ubicÃ¡ndose
   en las columnas 2 y 3 (la cuadrÃ­cula salta sola la columna 1 porque la
   pieza grande ya la ocupa con grid-row:1/span 3). */
.pauta-editorial .pauta-grid{ display:contents; }
/* Modo de relleno "no forzar" (ver modoRellenoPublicidad() en
   includes/functions_v3.php): un set puede llegar sin pieza grande
   (--sin-hero) o sin ninguna chica (--sin-chicas) en vez de forzar
   contenido repetido/relleno para llenar el recuadro que falta. */
.pauta-editorial--sin-hero{ grid-template-columns:1fr; grid-template-rows:auto; height:auto; }
/* Sin hero no hay con quÃ© alinear la cuadrÃ­cula fija de arriba â€” las
   chicas vuelven a ser su propio grid fluido (ancho variable, alto segÃºn
   su aspect-ratio de siempre), como una simple cuadrÃ­cula de tarjetas.
   grid-template-rows:auto es clave aquÃ­: si no se pisara, heredarÃ­a las
   filas fijas del layout con hero (repeat(3,1fr) en desktop, filas fijas
   en px en el breakpoint apilado) y reservarÃ­a ESE mismo hueco vacÃ­o que
   se estÃ¡ arreglando, aunque ya no exista una pieza grande al lado. */
.pauta-editorial--sin-hero .pauta-grid{
  display:grid; grid-template-columns:repeat(auto-fill, minmax(180px, 1fr)); gap:16px;
}
.pauta-editorial--sin-chicas{ grid-template-columns:1fr; grid-template-rows:1fr; }
.pauta-hero, .pauta-card{
  display:flex; flex-direction:column; border-radius:10px; overflow:hidden; background:var(--white);
  border:1px solid var(--line); text-decoration:none; color:inherit; height:100%;
  transition:transform .15s ease, box-shadow .15s ease;
}
.pauta-hero:hover, .pauta-card:hover{ transform:translateY(-2px); box-shadow:0 12px 24px -14px rgba(28,43,46,.35); }
/* La pieza grande siempre ocupa la columna 1 y las 3 filas completas de
   la cuadrÃ­cula fija (o la Ãºnica fila, en modo --sin-chicas). */
.pauta-editorial .pauta-hero{ grid-column:1; grid-row:1 / span 3; }
.pauta-editorial--sin-chicas .pauta-hero{ grid-row:1; }
.pauta-hero-media, .pauta-card-media{ position:relative; background:var(--ink); overflow:hidden; flex-shrink:0; }
/* Fuera de .pauta-editorial (ej. la cinta de anuncios sobrantes que no
   cupieron en un set â€” ver .cinta-publicidad-* mÃ¡s abajo) estas piezas no
   viven en la cuadrÃ­cula fija de arriba, asÃ­ que ahÃ­ SÃ se apoyan en un
   aspect-ratio propio para tener alto (no hay una celda de grid fija que
   se los dÃ©). */
.pauta-hero-media{ aspect-ratio:1/1; }
.pauta-card-media{ aspect-ratio:16/11; }
/* Dentro de la cuadrÃ­cula fija: el alto de cada celda ya lo define la
   cuadrÃ­cula (fila/columna fija), asÃ­ que la media se estira a llenar TODO
   el espacio que sobra debajo del texto (flex:1) en vez de imponer su
   propio aspect-ratio â€” la foto NUNCA se deforma porque object-fit:cover
   (mÃ¡s abajo) recorta lo que no cabe, nunca la estira. La pieza grande
   siempre estÃ¡ dentro de una celda de alto fijo; las chicas tambiÃ©n,
   EXCEPTO en modo --sin-hero (arriba), donde vuelven a depender de su
   aspect-ratio de siempre porque ahÃ­ no hay una fila fija que las mida. */
.pauta-editorial .pauta-hero-media{ aspect-ratio:auto; flex:1 1 auto; min-height:0; }
.pauta-editorial:not(.pauta-editorial--sin-hero) .pauta-card-media{ aspect-ratio:auto; flex:1 1 auto; min-height:0; }
.pauta-hero-media img, .pauta-card-media img{ width:100%; height:100%; object-fit:cover; display:block; image-orientation:from-image; }
.media-placeholder{
  width:100%; height:100%; min-height:120px;
  display:flex; align-items:center; justify-content:center;
  background:var(--paper-alt); color:var(--jade-deep); font-size:28px;
}
.pauta-hero-media .ad-carousel-item, .pauta-card-media .ad-carousel-item{
  width:100%; height:100%; border:none; border-radius:0; position:static;
}
.pauta-hero-media .ad-carousel-slide img, .pauta-card-media .ad-carousel-slide img{ object-fit:cover; background:none; }
.pauta-badge{
  position:absolute; top:10px; left:10px; z-index:3;
  background:var(--marigold); color:var(--ink); font-family:var(--mono);
  font-size:10.5px; font-weight:700; letter-spacing:.04em; text-transform:uppercase;
  padding:5px 10px; border-radius:4px;
}
.pauta-info{ display:block; padding:10px 14px; text-decoration:none; color:inherit; }
.pauta-info strong{ display:block; font-size:14px; font-family:var(--display); }
.pauta-info span{ font-size:12px; color:var(--ink-soft); }
.pauta-card .pauta-info{ padding:8px 10px; }
.pauta-card .pauta-info strong{ font-size:12.5px; }
.pauta-card .pauta-info span{ font-size:10.5px; }
.pauta-grid{ display:grid; grid-template-columns:repeat(2, 1fr); gap:14px; align-content:start; }
/* --- Breakpoint Ãºnico donde el bloque se apila (hero arriba, ancho
   completo + chicas debajo en 2 columnas x 3 filas) â€” sigue siendo UNA
   cuadrÃ­cula de medidas fijas, solo que con otro reparto de filas/columnas
   (ver PATROCINADO_GRID_ALTO_APILADO en includes/functions_v3.php). --- */
@media (max-width: 860px){
  .pauta-editorial{
    grid-template-columns:repeat(2, 1fr);
    grid-template-rows:220px repeat(3, 140px); /* alto total fijo = 220 + 3Ã—140 + 3Ã—16(gap) = 748px */
    height:auto; /* ya no hace falta forzarlo: sale solo de sumar las filas fijas + gaps de arriba */
  }
  .pauta-editorial .pauta-hero{ grid-column:1 / -1; grid-row:1; }
  .pauta-editorial--sin-chicas{ grid-template-rows:220px; }
  .pauta-editorial--sin-hero{ grid-template-columns:repeat(2, 1fr); grid-template-rows:auto; height:auto; }
}
@media (max-width: 480px){
  .pauta-editorial--sin-hero .pauta-grid{ grid-template-columns:1fr; }
}

/* --- Carrusel del bloque 'patrocinado': cada "set" (1 pieza grande + 6
   chicas, mismo componente .pauta-editorial/.pauta-grid de arriba) ocupa
   todo el ancho y los sets se van alternando via JS (uno visible a la vez,
   cada 8s) â€” ver includes/bloques/patrocinado.php. --- */
.ad-carousel-sets{ position:relative; }
.ad-carousel-dots{ display:flex; justify-content:center; gap:8px; margin-top:18px; }
.ad-carousel-dot{
  width:8px; height:8px; padding:0; border:none; border-radius:50%;
  background:var(--line); cursor:pointer; transition:background .15s ease, transform .15s ease;
}
.ad-carousel-dot.is-active{ background:var(--jade-deep); transform:scale(1.25); }
.ad-carousel-dot:hover{ background:var(--jade); }

/* --- Bloque 'cinta_publicidad': piezas pagadas "sobrantes" que no
   cupieron en ningÃºn bloque Patrocinado (Plan B). Horizontal ("arriba")
   = franja con scroll lateral. Lateral ("al lado") = columna angosta que
   flota junto al resto del contenido de la pÃ¡gina, tipo rollo de
   pelÃ­cula â€” usa float + sticky, asÃ­ que el contenido siguiente de la
   pÃ¡gina fluye a su lado en vez de quedar debajo. --- */
.cinta-publicidad--horizontal{
  display:flex; gap:14px; overflow-x:auto; padding-bottom:6px; scrollbar-width:thin;
}
.cinta-publicidad--horizontal .pauta-card{ flex:0 0 170px; }
.cinta-publicidad-lateral{
  width:230px; margin:0 20px 24px 0; position:sticky; top:90px; max-height:80vh; overflow-y:auto;
}
.cinta-publicidad-lateral--izquierda{ float:left; margin:0 20px 24px 0; }
.cinta-publicidad-lateral--derecha{ float:right; margin:0 0 24px 20px; }
.cinta-publicidad-lateral .cinta-publicidad--vertical{ display:flex; flex-direction:column; gap:12px; }
@media (max-width: 860px){
  .cinta-publicidad-lateral{ float:none; width:100%; position:static; max-height:none; margin:0 0 24px; }
  .cinta-publicidad-lateral .cinta-publicidad--vertical{ flex-direction:row; overflow-x:auto; }
  .cinta-publicidad-lateral .cinta-publicidad--vertical .pauta-card{ flex:0 0 170px; }
}

/* --- Ticker de anuncios: cinta de puro texto que se mueve sin parar.
   Arriba: debajo del header BUSKAO, viaja con él (sticky).
   Abajo: sola, fija al borde inferior. El pie verde/oscuro hace scroll. --- */
:root{ --ticker-h:46px; }
.ticker-anuncios{
  position:relative; width:100%;
  background:var(--marigold); color:var(--ink);
  overflow:hidden; white-space:nowrap;
  height:var(--ticker-h); display:flex; align-items:center;
}
.ticker-anuncios--top{
  border-bottom:1px solid rgba(28,43,46,.15);
}
.ticker-anuncios--bottom{
  position:fixed; left:0; right:0; bottom:0; z-index:500;
  border-top:1px solid rgba(28,43,46,.15);
  border-bottom:none;
}
.ticker-anuncios-track{
  display:inline-flex; align-items:center;
  animation:ticker-desplazar 35s linear infinite;
  will-change:transform;
}
.ticker-anuncios-item{
  display:inline-block; padding:0 40px; font-family:var(--mono); font-size:14px; font-weight:600; letter-spacing:.02em;
}
.ticker-anuncios-item::after{ content:'•'; margin-left:40px; color:var(--jade-deep); }
@keyframes ticker-desplazar{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}
@media (prefers-reduced-motion: reduce){
  .ticker-anuncios-track{ animation:none; }
  .cinta-lateral-auto-track{ animation:none; }
}

/* --- CuadrÃ­cula de tarjetas: directorio y bloques de la home --- */
.card-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(260px, 1fr)); gap:18px; }
.biz-card{
  display:flex; flex-direction:column;
  background:var(--white); border:1px solid var(--line); border-radius:14px; overflow:hidden;
  box-shadow:0 1px 3px rgba(28,43,46,.05);
  transition:box-shadow .18s ease, transform .18s ease;
  text-decoration:none; color:inherit;
}
.biz-card:hover{ box-shadow:0 16px 32px -16px rgba(28,43,46,.24); transform:translateY(-3px); }
.biz-card-media{ position:relative; height:150px; background:var(--paper-alt); flex:1; min-width:0; }
.biz-card-media img{ width:100%; height:100%; object-fit:contain; object-position:center; display:block; image-orientation:from-image; background:var(--paper-alt); }
.biz-card-media .avatar-fallback{
  width:100%; height:100%; display:flex; align-items:center; justify-content:center;
  font-family:var(--display); font-weight:600; font-size:28px; color:var(--jade-deep);
}
.biz-card-badge{ position:absolute; top:10px; left:10px; }
/* Fila: cinta al LADO de la foto (nunca encima) */
.biz-card-media-row{
  display:flex;
  flex-direction:row;
  align-items:stretch;
  width:100%;
}
.biz-card-media-row .biz-card-media{ flex:1; min-width:0; }
/* Cinta vertical lateral â€” columna propia, no tapando el logo */
.sticker-plan-destacado{
  position:static;
  flex:0 0 28px;
  width:28px;
  align-self:stretch;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:10px 3px;
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  font-family:var(--display);
  font-size:11px;
  font-weight:700;
  letter-spacing:.05em;
  line-height:1.05;
  color:var(--ink) !important;
  background:linear-gradient(180deg, var(--marigold) 0%, var(--marigold-deep) 100%) !important;
  border:none !important;
  border-radius:0;
  box-shadow:none;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  z-index:auto;
}
.sticker-plan-destacado i{
  font-size:12px;
  color:var(--ink);
  flex-shrink:0;
  transform:rotate(90deg);
}
.biz-card--destacado{
  border-color:color-mix(in srgb, var(--marigold) 40%, var(--line));
  box-shadow:0 2px 10px -4px color-mix(in srgb, var(--marigold-deep) 35%, transparent);
}
.biz-card--alianza{
  border-color:color-mix(in srgb, var(--purple) 28%, var(--line));
  box-shadow:0 2px 10px -4px rgba(107,97,153,.28);
}
/* Alianzas Comerciales con membresÃ­a: cintilla morada */
.sticker-plan-destacado--alianza{
  color:#fff !important;
  background:linear-gradient(180deg, var(--purple) 0%, var(--purple-deep) 100%) !important;
}
.sticker-plan-destacado--alianza i{ color:#fff; }
/* Listado buscar: cinta a la izquierda del avatar, fuera de la foto */
.sticker-plan-destacado--lista{
  position:static;
  flex:0 0 24px;
  align-self:stretch;
  width:24px;
  min-height:0;
  height:auto;
  padding:6px 2px;
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  border-radius:8px;
  font-size:10px;
  box-shadow:none;
  border:none !important;
}
.sticker-plan-destacado--lista i{ transform:rotate(90deg); font-size:11px; }
.profile-hero-wrap{
  display:grid;
  grid-template-columns:34px minmax(0, 1fr);
  align-items:stretch;
  width:calc(100% - 64px);
  max-width:none;
  margin:20px auto 0;
  border-radius:16px;
  overflow:hidden;
  box-sizing:border-box;
}
.profile-hero-wrap .profile-hero-v2{
  margin:0;
  width:100%;
  max-width:none;
  min-width:0;
  min-height:0;
  /* Misma 4:1 que la portada; define la altura de la fila del wrap */
  height:auto;
  aspect-ratio:4 / 1;
  align-self:start;
  border-radius:0;
}
.profile-hero-wrap .sticker-plan-destacado--ficha{
  position:static;
  width:34px;
  min-height:0;
  height:auto;
  align-self:stretch;
  margin:0;
  padding:16px 4px;
  border-radius:0;
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  overflow:hidden;
}
.biz-card-body{ padding:16px 18px 18px; flex:1; display:flex; flex-direction:column; }
.biz-card-body h3{ font-family:var(--display); font-size:16.5px; margin:0 0 4px; }
.biz-card-cat{ font-size:11.5px; color:var(--ink-soft); margin-bottom:6px; }
.biz-card-loc{ font-size:12.5px; color:var(--ink-soft); margin-bottom:8px; }
.biz-card-insignias{ display:flex; flex-wrap:wrap; gap:5px; margin-bottom:10px; }
.biz-card-desc{ font-size:12.5px; color:var(--ink-soft); line-height:1.5; margin-bottom:14px; flex:1; }
.biz-card-cta{
  margin-top:auto; text-align:center; font-size:12.5px; font-weight:700;
  background:var(--clay); color:var(--white); border-radius:20px; padding:9px; text-decoration:none;
}
.biz-card:hover .biz-card-cta{ background:color-mix(in srgb, var(--clay) 88%, var(--ink)); color:var(--white); }

/* --- Home: bloques nuevos (destacados / reciÃ©n llegados / testimonios) --- */
.home-block{ padding:44px 32px; border-top:1px solid var(--line); }
.home-block-head{ display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin-bottom:22px; flex-wrap:wrap; }
.home-block-head h2{ font-family:var(--display); font-weight:600; font-size:24px; margin:0; }
.home-block-head a{ font-size:13px; font-weight:600; color:var(--jade-deep); text-decoration:none; white-space:nowrap; }
.home-block-head a:hover{ color:var(--marigold-deep); }
.home-block-alt{ background:var(--paper-alt); }

.testimonio-card{ background:var(--white); border:1px solid var(--line); border-radius:14px; padding:22px; }
.testimonio-stars{ color:var(--marigold-deep); font-size:13px; margin-bottom:10px; }
.testimonio-texto{ font-size:13.5px; color:var(--ink); line-height:1.6; margin:0 0 14px; }
.testimonio-autor{ display:flex; align-items:center; gap:10px; }
.testimonio-avatar{
  width:34px; height:34px; border-radius:50%; background:var(--paper-alt); color:var(--jade-deep);
  display:flex; align-items:center; justify-content:center; font-family:var(--display); font-weight:600; font-size:14px;
}
.testimonio-nombre{ font-size:12.5px; font-weight:600; color:var(--ink); }
.testimonio-negocio{ font-size:11.5px; color:var(--ink-soft); }

@media (max-width: 900px){
  .card-grid{ grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); }
  .home-block{ padding:32px 20px; }
  .ad-zone{ margin:0 20px 28px; }
}

/* ===== HOME LIMPIA: layout Angi + tarjetas RutaConecta + paleta AquÃ­ Se Consigue ===== */
:root{
  --primary:var(--marigold);
  --primary-hover:var(--marigold-deep);
  --accent-link:var(--jade-deep);
  --accent-link-hover:var(--jade);
  --surface:var(--white);
  --surface-muted:var(--paper-alt);
  --border-light:var(--line);
}

.visually-hidden{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

.site-header-wrap{
  position:sticky;
  top:0;
  z-index:200;
}
.site-header{
  background:var(--ink);
}
.site-header--brand .site-nav{
  background:var(--ink);
  padding:6px 32px;
}
.site-header--brand .site-nav::after{ display:none; }
.site-header--brand .logo img{ height:64px; }
.site-header--brand .logo--marca img{ height:48px; }

.site-subnav--jade{
  background:var(--jade-deep);
  border-top:1px solid rgba(255,255,255,.08);
}
.site-subnav--jade a{
  color:rgba(255,255,255,.88);
  font-size:13px; font-weight:500;
  text-decoration:none; white-space:nowrap;
}
.site-subnav--jade a:hover{ color:var(--marigold); }

/* Footer del directorio â€” bookend del header:
   utility Â· franja 3px Â· barra ink del MISMO alto que .site-nav (logo 64px + pad 6px). */
.site-footer-wrap{
  width:100%;
  margin-top:0;
}
body.tiene-ticker-anuncios{
  padding-bottom:var(--ticker-h);
}
.site-footer.site-footer--brand,
.site-footer--brand,
.site-footer--slim{
  background:var(--ink);
  color:#C9D2CF;
  padding:0 !important;
  border-top:none !important;
  margin-top:0;
  text-align:left;
  font-size:inherit;
  min-height:0;
}
.site-footer--brand a,
.site-footer--slim a{ color:inherit; }
.site-footer--brand .site-footer-inner,
.site-footer--slim .site-footer-inner{
  max-width:none;
  width:100%;
  margin:0;
  /* .site-header--brand .logo img = 64px + .site-nav padding 6px arriba/abajo */
  min-height:76px;
  height:auto;
  display:flex;
  flex-direction:row;
  flex-wrap:nowrap;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  padding:6px 32px;
  box-sizing:border-box;
}
/* Markup antiguo (tÃ­tulo + descripciÃ³n): ocultar SIEMPRE */
.site-footer .site-footer-brand,
.site-footer--brand .site-footer-brand,
.site-footer--brand .footer-brand,
.site-footer--brand .footer-title,
.site-footer--brand .footer-desc,
.site-footer--slim .site-footer-brand{
  display:none !important;
}
.site-footer--brand .site-footer-links,
.site-footer--slim .site-footer-links{
  display:flex;
  flex-direction:row;
  flex-wrap:nowrap;
  align-items:center;
  justify-content:flex-end;
  gap:18px;
  flex:0 0 auto;
  margin:0;
  padding:0;
  min-width:0;
}
.site-footer--brand .site-footer-links a,
.site-footer--slim .site-footer-links a{
  color:#C9D2CF;
  text-decoration:none;
  font-size:14px;
  font-weight:500;
  white-space:nowrap;
  line-height:1.3;
  flex:0 0 auto;
}
.site-footer--brand .site-footer-links a:hover,
.site-footer--slim .site-footer-links a:hover{ color:var(--white); }
.site-footer--brand .site-footer-copy,
.site-footer--slim .site-footer-copy{
  flex:1 1 auto;
  min-width:0;
  max-width:none;
  width:auto;
  margin:0;
  padding:0;
  border:none;
  border-top:none;
  font-size:14px;
  font-weight:500;
  line-height:1.3;
  color:rgba(255,255,255,.72);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  box-sizing:border-box;
}

/* Footer compacto (legacy) */
.site-footer-compact{
  background:var(--jade-deep);
  margin-top:0;
}
.site-footer-compact-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  padding:8px 32px;
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:.02em;
  color:rgba(255,255,255,.82);
}
.site-footer-compact-links{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.site-footer-compact-links a{
  color:rgba(255,255,255,.88);
  text-decoration:none;
}
.site-footer-compact-links a:hover{ color:var(--marigold); }
.site-footer-compact-links .dot{ opacity:.45; }
.site-footer-compact-copy{ color:rgba(255,255,255,.72); }

/* Pie del PERFIL (ficha negocio) â€” quiet / crema; no es el footer del sitio */
.profile-footer-negocio{
  width:calc(100% - 64px);
  max-width:none;
  box-sizing:border-box;
  margin:8px auto 28px;
  padding:28px 22px 26px;
  text-align:center;
  background:color-mix(in srgb, var(--paper) 88%, var(--white));
  border:1px solid color-mix(in srgb, var(--line) 80%, transparent);
  border-radius:16px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
}
.profile-footer-negocio__social{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:12px;
}
.profile-footer-negocio__dot{
  width:42px; height:42px;
  display:inline-flex; align-items:center; justify-content:center;
  border-radius:50%;
  background:var(--white);
  border:1px solid var(--line);
  color:var(--jade-deep);
  font-size:18px;
  text-decoration:none;
  transition:background .15s ease, border-color .15s ease, color .15s ease, transform .15s ease;
}
.profile-footer-negocio__dot:hover{
  background:var(--marigold);
  border-color:var(--marigold);
  color:var(--ink);
  transform:translateY(-2px);
}
.profile-footer-negocio__copy{
  margin:0;
  font-family:var(--mono);
  font-size:12px;
  letter-spacing:.02em;
  color:var(--ink);
  font-weight:600;
}
.profile-footer-negocio__dir{
  margin:0;
  font-size:12.5px;
  color:var(--ink-soft);
}
.profile-footer-negocio--slim{
  margin:10px auto 18px;
  padding:14px 8px 8px;
  gap:10px;
  background:transparent;
  border:none;
  border-top:1px solid color-mix(in srgb, var(--line) 80%, transparent);
  border-radius:0;
}
.profile-footer-negocio--slim .profile-footer-negocio__dot{
  width:36px; height:36px; font-size:16px;
}
.profile-footer-negocio--slim .profile-footer-negocio__copy{
  font-family:var(--body);
  font-size:12.5px;
  font-weight:500;
  color:var(--ink-soft);
}
.profile-footer-negocio--slim .profile-footer-negocio__copy strong{
  font-weight:700;
  color:var(--ink);
  letter-spacing:.03em;
}
@media (max-width:760px){
  .profile-footer-negocio{
    width:calc(100% - 40px);
    margin:6px auto 22px;
    padding:22px 16px 20px;
  }
  /* Desktop/tablet: sigue UNA fila. Solo pantallas muy estrechas pueden apilar. */
  .site-footer--brand .site-footer-inner,
  .site-footer--slim .site-footer-inner{
    flex-direction:row;
    flex-wrap:nowrap;
    align-items:center;
    gap:12px;
    /* MÃ³vil: logo nav 60px + padding 10px arriba/abajo */
    min-height:80px;
    padding:10px 16px;
  }
  .site-footer--brand .site-footer-links,
  .site-footer--slim .site-footer-links{
    flex-wrap:nowrap;
    gap:12px;
    justify-content:flex-end;
    width:auto;
  }
  .site-footer--brand .site-footer-links a,
  .site-footer--slim .site-footer-links a{
    white-space:nowrap;
    font-size:14px;
  }
  .site-footer--brand .site-footer-copy,
  .site-footer--slim .site-footer-copy{
    padding:0;
    width:auto;
    border:none;
  }
}
@media (max-width:480px){
  .site-footer--brand .site-footer-inner,
  .site-footer--slim .site-footer-inner{
    flex-wrap:wrap;
    gap:8px;
    min-height:80px;
    padding:10px 16px;
  }
  .site-footer--brand .site-footer-links,
  .site-footer--slim .site-footer-links{
    flex-wrap:wrap;
    justify-content:flex-start;
    width:100%;
    gap:10px 14px;
  }
}

.home-page{
  background-color:var(--paper);
  background-image:
    linear-gradient(rgba(250,246,236,.93), rgba(250,246,236,.93)),
    var(--home-bg-image, url('/assets/img/hero/hero-gastronomia.jpg'));
  background-size:cover;
  background-position:center top;
  background-attachment:fixed;
}

.home-panel{
  padding:40px 0 24px;
}
.home-panel .home-section-intro h2 em{ color:var(--jade-deep); }

.category-bar--home{
  max-width:100%;
  margin:0;
  box-shadow:0 20px 44px -20px rgba(18,32,31,.28);
}
.category-pill{
  position:relative;
}
.category-pill-count{
  font-family:var(--mono);
  font-size:10px;
  color:var(--jade-deep);
  background:color-mix(in srgb, var(--jade) 12%, var(--white));
  border-radius:10px;
  padding:2px 7px;
  margin-top:2px;
}
.home-categories-foot{
  text-align:center;
  margin:18px 0 0;
  font-size:14px;
}
.home-categories-foot a{
  color:var(--jade-deep);
  font-weight:600;
  text-decoration:none;
}
.home-categories-foot a:hover{ color:var(--marigold-deep); }

.home-trust-band{
  padding:14px 0;
  border-bottom:1px solid var(--line);
}
.home-trust-band:not(.home-trust-band--jade){
  background:linear-gradient(90deg, color-mix(in srgb, var(--marigold) 14%, var(--paper-alt)), var(--paper-alt));
}
.home-trust-band--jade{
  background:var(--jade-deep);
  border-bottom:none;
  padding:12px 0;
}
.home-trust-band-inner{
  display:flex; align-items:center; justify-content:center;
  flex-wrap:wrap; gap:10px 16px;
  font-size:13px;
}
.home-trust-band:not(.home-trust-band--jade) .home-trust-band-inner{
  color:var(--ink-soft);
}
.home-trust-band:not(.home-trust-band--jade) .home-trust-band-inner i{
  color:var(--jade-deep); margin-right:4px; vertical-align:-2px;
}
.home-trust-band:not(.home-trust-band--jade) .home-trust-band-inner .dot{ opacity:.45; }
.home-trust-band--jade .home-trust-band-inner{
  color:var(--white);
  font-weight:500;
}
.home-trust-band--jade .home-trust-band-inner i{
  color:var(--marigold); margin-right:4px; vertical-align:-2px;
}
.home-trust-band--jade .home-trust-band-inner .dot{ color:rgba(255,255,255,.5); }

.hero-below{
  background:transparent;
}

.home-section--jade{
  background:color-mix(in srgb, var(--jade) 14%, var(--paper));
  border-top:1px solid color-mix(in srgb, var(--jade) 22%, var(--line));
  border-bottom:1px solid color-mix(in srgb, var(--jade) 18%, var(--line));
}
.home-section--jade .home-section-head h2,
.home-section--jade .home-block-head h2{ color:var(--jade-deep); }
.home-section--jade .home-block-sub,
.home-section--jade .home-section-head p{ color:var(--ink-soft); }
.home-section--jade .step-angi{
  background:rgba(255,253,248,.92);
  border-color:color-mix(in srgb, var(--jade) 20%, var(--line));
}
.home-section--jade .testimonio-card{
  background:rgba(255,253,248,.95);
}

.home-section--panel{
  background:rgba(255,253,248,.78);
  backdrop-filter:blur(2px);
}
.home-section--jade .home-block-head a,
.home-section--panel .home-block-head a{
  color:var(--jade-deep);
}
.site-subnav-inner{
  max-width:1200px; margin:0 auto;
  display:flex; gap:28px; padding:10px 32px;
  overflow-x:auto; scrollbar-width:none;
}
.site-subnav-inner::-webkit-scrollbar{ display:none; }

.btn-primary{
  background:var(--marigold);
  color:var(--ink);
}
.btn-primary:hover{ background:var(--marigold-deep); color:var(--ink); }
.btn-lg{ padding:14px 28px; font-size:15px; border-radius:8px; }

.home-container{
  max-width:1200px; margin:0 auto; padding:0 32px;
}


.hero-stat-pills{
  display:flex; justify-content:center; flex-wrap:wrap; gap:12px;
  margin-top:8px;
}
.hero-stat-pill{
  min-width:120px;
  background:rgba(255,253,248,.12);
  border:1px solid rgba(255,253,248,.22);
  backdrop-filter:blur(6px);
  border-radius:12px;
  padding:12px 18px;
  text-align:center;
}
.hero-stat-pill b{
  display:block;
  font-family:var(--display);
  font-size:22px;
  color:var(--marigold);
  line-height:1.1;
}
.hero-stat-pill span{
  display:block;
  font-size:11.5px;
  color:rgba(255,255,255,.82);
  margin-top:4px;
}
.hero-stat-pill--accent{
  background:color-mix(in srgb, var(--marigold) 22%, transparent);
  border-color:color-mix(in srgb, var(--marigold) 45%, transparent);
}
.hero-stat-pill--accent b{ color:var(--white); }

.home-section-intro{
  text-align:center;
  max-width:640px;
  margin:0 auto 32px;
}
.home-section-intro h2{
  font-family:var(--display);
  font-size:clamp(24px, 3vw, 32px);
  margin:0 0 10px;
  color:var(--ink);
}
.home-section-intro h2 em{
  font-style:normal;
  color:var(--jade-deep);
}
.home-section-intro p{
  margin:0 0 16px;
  color:var(--ink-soft);
  font-size:15px;
  line-height:1.55;
}
.home-section-meta{
  display:flex; justify-content:center; gap:24px;
  font-size:13px; color:var(--ink-soft);
}
.home-section-meta b{ color:var(--marigold-deep); font-size:16px; }

.home-categories{ padding:48px 0 24px; background:var(--paper); }
.home-categories-head{
  display:flex; align-items:baseline; justify-content:space-between;
  gap:12px; margin:28px 0 16px;
}
.home-categories-head h3{
  font-family:var(--display);
  font-size:18px; font-weight:600; margin:0; color:var(--ink);
}

.cat-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(240px, 1fr));
  gap:14px;
}
.cat-grid--featured{
  grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));
  margin-bottom:8px;
}
.cat-card{
  display:flex; align-items:center; gap:14px;
  padding:16px 18px;
  background:var(--white);
  border:1px solid var(--border-light);
  border-radius:14px;
  text-decoration:none;
  color:inherit;
  box-shadow:0 2px 8px rgba(28,43,46,.04);
  transition:border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.cat-card:hover{
  border-color:var(--jade);
  box-shadow:0 12px 24px -16px rgba(47,111,94,.28);
  transform:translateY(-2px);
}
.cat-card-icon{
  width:46px; height:46px; flex-shrink:0;
  border-radius:12px;
  background:color-mix(in srgb, var(--jade) 10%, var(--white));
  color:var(--jade-deep);
  display:flex; align-items:center; justify-content:center;
  font-size:21px;
}
.cat-card-body{
  flex:1; min-width:0;
  display:flex; flex-direction:column; gap:3px;
}
.cat-card-body strong{
  font-size:14.5px; font-weight:700; color:var(--ink);
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.cat-card-body span{
  font-size:12px; color:var(--ink-soft);
}
.cat-card-arrow{
  width:32px; height:32px; flex-shrink:0;
  border-radius:50%;
  background:var(--paper-alt);
  color:var(--jade-deep);
  display:flex; align-items:center; justify-content:center;
  font-size:16px;
  transition:background .15s ease, color .15s ease;
}
.cat-card:hover .cat-card-arrow{
  background:var(--jade);
  color:var(--white);
}
.cat-card--compact{
  padding:14px 16px;
}
.cat-card--compact .cat-card-icon{
  width:40px; height:40px; font-size:18px; border-radius:10px;
}

.home-section--white{ background:var(--white); }
.home-block-head{
  align-items:flex-end;
}
.home-block-head > div{ flex:1; min-width:0; }
.home-block-sub{
  margin:6px 0 0;
  font-size:14px;
  color:var(--ink-soft);
}
.card-grid--directory{
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:22px;
}
@media (max-width: 1100px){
  .card-grid--directory{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
}

.hero-angi{
  position:relative;
  min-height:420px;
  display:flex; align-items:center; justify-content:center;
  background-color:#1a2826;
  background-image:
    linear-gradient(165deg, rgba(28,43,46,.82) 0%, rgba(28,43,46,.62) 45%, rgba(47,111,94,.35) 100%),
    var(--hero-bg-image, url('/assets/img/hero/hero-gastronomia.jpg'));
  background-size:cover;
  background-position:center;
  padding:56px 0 64px;
}
.hero-angi-overlay{ display:none; }
.hero-angi-content{
  position:relative; z-index:2;
  text-align:center; width:100%;
}
.hero-angi h1{
  font-family:var(--display);
  font-size:clamp(28px, 4vw, 44px);
  font-weight:600;
  color:var(--white);
  margin:0 0 12px;
  line-height:1.15;
}
.hero-angi h1 em{
  font-style:normal;
  color:var(--marigold);
}
.hero-angi-lead{
  font-size:17px;
  color:rgba(255,255,255,.9);
  margin:0 auto 28px;
  max-width:560px;
  line-height:1.5;
}

.search-angi{
  display:flex; align-items:stretch;
  max-width:720px; margin:0 auto 20px;
  background:var(--white);
  border-radius:8px;
  box-shadow:0 12px 40px -12px rgba(0,0,0,.35);
  overflow:hidden;
}
.search-angi-field{ flex:1; min-width:0; }
.search-angi-field input{
  width:100%; border:none; outline:none;
  padding:18px 20px;
  font-size:15px; font-family:var(--body);
  color:var(--ink); background:transparent;
}
.search-angi-field input::placeholder{ color:#9AA3A5; }
.search-angi-divider{
  width:1px; background:var(--border-light); flex-shrink:0;
  align-self:stretch; margin:12px 0;
}
.search-angi-btn{
  flex:0 0 auto;
  width:64px; border:none; cursor:pointer;
  background:var(--marigold); color:var(--ink);
  font-size:22px;
  display:flex; align-items:center; justify-content:center;
  transition:background .15s ease;
}
.search-angi-btn:hover{ background:var(--marigold-deep); }

.hero-angi-stats{
  display:flex; align-items:center; justify-content:center; gap:10px;
  flex-wrap:wrap;
  font-size:14px; color:rgba(255,255,255,.85);
}
.hero-angi-stats b{ color:var(--marigold); font-weight:700; }
.hero-angi-stats .dot{ opacity:.5; }

.home-categories{
  padding:32px 0 8px;
  background:var(--surface);
  border-bottom:1px solid var(--border-light);
}
.home-section-head,
.home-block-head{
  display:flex; align-items:baseline; justify-content:space-between;
  gap:16px; margin-bottom:20px; flex-wrap:wrap;
}
.home-section-head{
  flex-direction:column; align-items:flex-start;
}
.home-categories-head h2,
.home-section-head h2,
.home-block-head h2{
  font-family:var(--display);
  font-size:22px; font-weight:600;
  margin:0; color:var(--ink);
}
.home-categories-head a,
.home-block-head a{
  font-size:14px; font-weight:600;
  color:var(--jade-deep); text-decoration:none;
}
.home-categories-head a:hover,
.home-block-head a:hover{ text-decoration:underline; }

.category-scroll{
  display:flex; gap:12px;
  overflow-x:auto; padding-bottom:16px;
  scrollbar-width:none;
}
.category-scroll::-webkit-scrollbar{ display:none; }
.category-tile{
  flex:0 0 auto;
  display:flex; flex-direction:column; align-items:center; gap:10px;
  min-width:108px; padding:16px 12px;
  background:var(--surface);
  border:1px solid var(--border-light);
  border-radius:12px;
  text-decoration:none;
  transition:border-color .15s ease, box-shadow .15s ease;
}
.category-tile:hover{
  border-color:var(--jade);
  box-shadow:0 8px 20px -12px rgba(47,111,94,.28);
}
.category-tile-icon{
  width:44px; height:44px; border-radius:50%;
  background:color-mix(in srgb, var(--jade) 12%, var(--white));
  color:var(--jade-deep);
  display:flex; align-items:center; justify-content:center;
  font-size:20px;
}
.category-tile-label{
  font-size:12.5px; font-weight:600; color:var(--ink);
  text-align:center; line-height:1.3;
}

.home-section{ padding:48px 0; }
.home-section--muted{ background:var(--surface-muted); }
.home-section-head p{
  margin:0; color:var(--ink-soft); font-size:15px;
}

.steps-angi{
  display:grid; grid-template-columns:repeat(3, 1fr); gap:20px;
}
.step-angi{
  background:var(--surface);
  border:1px solid var(--border-light);
  border-radius:12px;
  padding:28px 24px;
}
.step-angi-num{
  display:inline-flex; align-items:center; justify-content:center;
  width:32px; height:32px; border-radius:50%;
  background:var(--jade); color:var(--white);
  font-weight:700; font-size:14px; margin-bottom:14px;
}
.step-angi h3{
  font-family:var(--display); font-size:18px; margin:0 0 8px;
}
.step-angi p{
  margin:0; font-size:14px; color:var(--ink-soft); line-height:1.55;
}

.home-cta{
  background:var(--ink);
  padding:48px 0;
}
.home-cta-inner{
  display:flex; align-items:center; justify-content:space-between;
  gap:24px; flex-wrap:wrap;
}
.home-cta h2{
  font-family:var(--display); font-size:24px; font-weight:600;
  color:var(--white); margin:0 0 6px;
}
.home-cta p{ margin:0; color:#C9D2CF; font-size:15px; max-width:480px; }

/* Legacy Angi footer â€” anulado: no re-inflar altura ni mostrar tÃ­tulo/descripciÃ³n */
.site-footer--angi{
  background:var(--ink) !important;
  color:#C9D2CF;
  padding:0 !important;
  text-align:left;
  border-top:none;
  min-height:0 !important;
}
.site-footer--angi .site-footer-brand{ display:none !important; }
.site-footer--angi .site-footer-inner{
  max-width:none;
  width:100%;
  margin:0;
  padding:10px 32px;
  display:flex;
  flex-direction:row;
  flex-wrap:nowrap;
  justify-content:space-between;
  align-items:center;
  gap:16px 20px;
  box-sizing:border-box;
}
.site-footer--angi .site-footer-links{
  display:flex; flex-wrap:nowrap; gap:12px 16px; align-items:center;
}
.site-footer--angi .site-footer-links a{
  color:#C9D2CF; text-decoration:none; font-size:13px; white-space:nowrap;
}
.site-footer--angi .site-footer-links a:hover{ color:var(--white); }
.site-footer--angi .site-footer-copy{
  max-width:none; width:auto; margin:0; padding:0; border:none;
  font-family:var(--mono); font-size:11px; color:rgba(255,255,255,.72);
  white-space:nowrap;
}

.home-page .biz-card{
  border-color:var(--border-light);
  border-radius:14px;
  box-shadow:0 4px 14px rgba(28,43,46,.06);
}
.home-page .biz-card:hover{
  box-shadow:0 16px 32px -18px rgba(47,111,94,.28);
  transform:translateY(-4px);
}

/* Tarjetas directorio: cuadrÃ­cula con foto, insignias y CTA jade (estilo buscar.php) */
.biz-card--clean .biz-card-cat-pill{
  position:absolute; top:12px; left:12px; z-index:2;
  background:rgba(255,253,248,.94);
  color:var(--jade-deep);
  font-size:11px; font-weight:700;
  padding:5px 10px; border-radius:20px;
  border:1px solid var(--line);
  max-width:calc(100% - 24px);
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.biz-card--clean .biz-card-badge{
  top:auto; bottom:12px; left:12px;
}
.biz-card--clean .biz-card-media{ height:176px; }
.biz-card--clean .biz-card-media-row{ min-height:176px; }
.biz-card--clean .biz-card-media-row .sticker-plan-destacado{ min-height:176px; }
.biz-card--clean .biz-card-body{ padding:18px 18px 16px; }
.biz-card--clean .biz-card-body h3{
  font-size:17px; margin-bottom:6px;
}
.biz-card--clean .biz-card-loc{
  display:flex; align-items:center; gap:5px;
  font-size:13px; margin-bottom:8px;
}
.biz-card--clean .biz-card-loc i{ color:var(--jade); font-size:14px; }
.biz-card--clean .biz-card-rating{
  display:flex; align-items:center; gap:6px;
  font-size:12.5px; color:var(--marigold-deep);
  margin-bottom:10px;
}
.biz-card--clean .biz-card-rating span{ color:var(--ink-soft); font-size:12px; }
.biz-card--clean .biz-card-desc{
  font-size:13px; line-height:1.55;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
  overflow:hidden;
  margin-bottom:14px;
}
.biz-card--clean .biz-card-insignias{ display:none; }
.biz-card--clean .biz-card-cat{ display:none; }

@media (max-width:760px){
  .site-nav--light{ padding:10px 56px; }
  .site-subnav-inner{ padding:8px 20px; gap:20px; }
  .home-container{ padding:0 20px; }
  .search-angi{ flex-direction:column; border-radius:12px; }
  .search-angi-divider{ width:auto; height:1px; margin:0; }
  .search-angi-btn{ width:100%; height:52px; border-radius:0; }
  .steps-angi{ grid-template-columns:1fr; }
  .home-cta-inner{ flex-direction:column; align-items:flex-start; }
  .site-footer--angi .site-footer-inner{
    flex-direction:row;
    flex-wrap:wrap;
    padding:8px 20px;
  }
  .cat-grid, .cat-grid--featured{ grid-template-columns:1fr; }
  .hero-stat-pills{ gap:8px; }
  .hero-stat-pill{ min-width:calc(50% - 8px); flex:1 1 calc(50% - 8px); }
  .home-trust-band-inner{ font-size:12px; text-align:center; }
  .home-block-head{ flex-direction:column; align-items:flex-start; }
  .card-grid--directory{ grid-template-columns:1fr; }
  .site-nav--light .nav-links.is-open{
    background:var(--surface);
    border-top:1px solid var(--border-light);
    box-shadow:0 12px 24px -12px rgba(0,0,0,.15);
  }
  .site-nav--light .nav-links.is-open a:not(.btn){ color:var(--ink); border-bottom-color:var(--border-light); }
  .site-nav--light .nav-links{ background:var(--surface); border-top:1px solid var(--border-light); }
  .site-subnav{ display:none; }
}

/* ===== ADMIN â€” acciones, dashboard, navegaciÃ³n ===== */
.admin-back-link{
  display:inline-flex; align-items:center; gap:6px;
  font-size:13px; font-weight:600; color:var(--jade);
  text-decoration:none;
}
.admin-back-link:hover{ color:var(--jade-deep); }

.stat-card-link{
  text-decoration:none; color:inherit;
  transition:transform .15s ease, box-shadow .15s ease;
}
.stat-card-link:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 20px -10px rgba(28,43,46,.25);
}

.admin-attention-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(160px, 1fr));
  gap:12px;
  padding:16px 20px 20px;
}
.admin-attention-item{
  display:flex; flex-direction:column; gap:4px;
  padding:16px; border:1px solid var(--line); border-radius:10px;
  text-decoration:none; color:inherit; background:var(--paper-alt);
}
.admin-attention-item strong{ font-family:var(--display); font-size:22px; color:var(--ink); }
.admin-attention-item span{ font-size:12.5px; color:var(--ink-soft); }
.admin-attention-item.is-alert{ border-color:var(--clay); background:color-mix(in srgb, var(--clay) 8%, var(--white)); }
.admin-attention-item.is-alert strong{ color:var(--clay); }

.admin-actions-cell{ min-width:120px; vertical-align:top; position:relative; overflow:visible; }
.admin-actions-menu{ position:relative; display:inline-block; z-index:1; }
.admin-actions-menu[open]{ z-index:200; }
.admin-actions-menu summary{ list-style:none; cursor:pointer; }
.admin-actions-menu summary::-webkit-details-marker{ display:none; }
.admin-actions-trigger{ padding:6px 14px !important; font-size:12.5px !important; white-space:nowrap; }

.admin-actions-panel{
  display:none;
  box-sizing:border-box;
  width:min(360px, calc(100vw - 24px));
  max-width:min(360px, calc(100vw - 24px));
  max-height:calc(100vh - 24px);
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  white-space:normal;
  overflow-wrap:anywhere;
  word-wrap:break-word;
  background:var(--white); border:1px solid var(--line);
  border-radius:12px;
  padding:12px;
  z-index:400;
}
.admin-actions-menu[open] > .admin-actions-panel{
  display:block;
  position:fixed;
}
.admin-actions-panel input,
.admin-actions-panel select{
  display:block;
  box-sizing:border-box;
  width:100%;
  max-width:100%;
}
.admin-actions-group{ padding:6px 4px; }
.admin-actions-group + .admin-actions-group{ border-top:1px solid var(--line); margin-top:4px; padding-top:10px; }
.admin-actions-group--danger{ background:color-mix(in srgb, var(--clay) 6%, var(--white)); border-radius:8px; }
.admin-actions-label{
  display:block; font-family:var(--mono); font-size:10px;
  text-transform:uppercase; letter-spacing:.06em;
  color:var(--ink-soft); margin-bottom:6px; font-weight:700;
}
.admin-action-link{
  display:flex; align-items:center; gap:8px; width:100%;
  padding:8px 10px; border:none; background:none;
  font-size:13px; font-weight:600; color:var(--ink);
  text-decoration:none; border-radius:8px; cursor:pointer;
  text-align:left; font-family:var(--body);
}
.admin-action-link:hover{ background:var(--paper-alt); }
.admin-action-link--ok{ color:var(--jade-deep); }
.admin-action-link--warn{ color:var(--clay); }
.admin-action-link--danger{ color:var(--clay); }
.admin-action-note{ display:block; font-size:12px; color:var(--ink-soft); padding:4px 10px 8px; }
.admin-action-inline-form{ padding:4px 10px 8px; }
.admin-action-inline-form .select-sm{ width:100%; margin-bottom:6px; }
.admin-action-stack{ padding:4px; display:block; width:100%; }

/* Badges Ofrece: en fila con wrap, sin solaparse */
.admin-tags-stack{
  display:flex !important;
  flex-wrap:wrap !important;
  flex-direction:row !important;
  align-items:center !important;
  gap:5px !important;
  line-height:normal !important;
}
.admin-tags-stack .badge{
  display:inline-block !important;
  position:static !important;
  float:none !important;
  margin:0 !important;
  line-height:1.3 !important;
  white-space:nowrap !important;
}

.admin-hub-card:hover{
  border-color:var(--jade) !important;
  box-shadow:0 8px 24px -12px rgba(47,111,94,.25);
}

.menu-ruta-url[readonly]{ background:var(--paper-alt); color:var(--ink-soft); }

/* ===== Directorio A-Z ("pÃ¡ginas amarillas") â€” directorio-az.php =====
   Dos pestaÃ±as (Directorio / Alianzas Comerciales), cada una con su
   barra de salto A-Z y filas compactas agrupadas por letra â€” mismo
   criterio de separaciÃ³n total ya usado en el resto del sitio entre
   estos dos tipos de negocio (nunca se mezclan ni comparten secciÃ³n). */
.az-page{ padding:28px 0 56px; }
.az-page .home-block-sub{ margin:6px 0 0; color:var(--ink-soft); font-size:14.5px; }

.az-tabs{
  display:flex; gap:8px; margin:0 0 20px; flex-wrap:wrap;
  padding:6px; background:var(--paper-alt); border:1px solid var(--line);
  border-radius:14px; width:fit-content; max-width:100%;
}
.az-tab-btn{
  appearance:none; -webkit-appearance:none;
  font-family:var(--body); font-weight:600; font-size:14px; cursor:pointer;
  padding:10px 18px; border-radius:10px; border:1px solid transparent;
  background:transparent; color:var(--ink-soft); line-height:1.2;
}
.az-tab-btn:hover{ color:var(--ink); background:rgba(255,253,248,.7); }
.az-tab-btn.is-active{
  background:var(--jade); border-color:var(--jade); color:var(--white);
  box-shadow:0 4px 12px -6px rgba(47,111,94,.55);
}
.az-tab-btn--alianza.is-active{
  background:var(--purple); border-color:var(--purple);
  box-shadow:0 4px 12px -6px rgba(138,127,189,.55);
}
.az-tab-count{
  font-family:var(--mono); font-size:11px; opacity:.85; margin-left:4px;
  display:inline-block; min-width:1.2em;
}

.az-panel{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:16px;
  padding:18px 20px 8px;
  box-shadow:0 1px 3px rgba(28,43,46,.04);
}

.az-nav{
  display:flex; flex-wrap:wrap; gap:6px; padding:4px 0 16px;
  margin:0 0 8px; position:sticky; top:0; background:var(--white);
  z-index:5; border-bottom:1px solid var(--line);
}
.az-nav a, .az-nav-disabled{
  display:inline-flex; align-items:center; justify-content:center;
  width:34px; height:34px; border-radius:9px;
  font-family:var(--mono); font-size:12.5px; font-weight:600;
  text-decoration:none; line-height:1;
}
.az-nav a{
  color:var(--ink); background:var(--paper-alt); border:1px solid var(--line);
}
.az-nav a:hover, .az-nav a:focus-visible{
  background:var(--jade); border-color:var(--jade); color:var(--white); outline:none;
}
.az-nav-disabled{
  color:#C4BBA3; background:transparent; border:1px solid transparent; cursor:default;
}

.az-letra-group{ margin-bottom:6px; scroll-margin-top:72px; }
.az-letra-head{
  font-family:var(--display); font-size:20px; font-weight:700; color:var(--jade-deep);
  border-bottom:2px solid var(--line); padding:12px 4px 6px; margin:0;
  letter-spacing:.02em;
}
.az-letra-list{ display:flex; flex-direction:column; }

.az-row{
  display:flex; flex-direction:column; align-items:flex-start; gap:2px;
  width:100%; padding:12px 10px; border-bottom:1px solid var(--line);
  text-decoration:none !important; color:inherit;
  transition:background .12s ease;
}
.az-row:last-child{ border-bottom:none; }
.az-row:hover, .az-row:focus-visible{
  background:var(--paper-alt); outline:none;
}
.az-row-nombre{
  font-family:var(--display); font-weight:600; font-size:16.5px; color:var(--ink);
  line-height:1.25;
}
.az-row:hover .az-row-nombre{ color:var(--jade-deep); }
.az-row-verificado{ color:var(--jade-deep); font-size:14px; margin-left:4px; vertical-align:-1px; }
.az-row-loc{
  font-size:12.5px; color:var(--ink-soft); line-height:1.35;
}

#azPanelAli .az-nav a:hover, #azPanelAli .az-nav a:focus-visible{
  background:var(--purple); border-color:var(--purple);
}
#azPanelAli .az-letra-head{ color:var(--purple-deep); }
#azPanelAli .az-row:hover .az-row-nombre{ color:var(--purple-deep); }

@media (max-width: 720px){
  .az-tabs{ width:100%; }
  .az-tab-btn{ flex:1 1 auto; text-align:center; }
  .az-panel{ padding:14px 12px 4px; border-radius:12px; }
  .az-nav{ position:static; gap:5px; }
  .az-nav a, .az-nav-disabled{ width:30px; height:30px; }
  .az-row{ padding:11px 6px; }
}



/* --- Landing page (upsell) â€” plantilla dinÃ¡mica desde perfil --- */
.landing-body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--body);
  --lp-accent: var(--jade);
  --lp-panel: var(--paper-alt);
  --lp-ink: var(--ink);
  --lp-muted: var(--ink-soft);
  --lp-line: var(--line);
  --lp-cream: var(--paper);
}
.lp-skip{
  position:absolute; left:-999px; top:auto; width:1px; height:1px; overflow:hidden;
}
.lp-skip:focus{
  left:12px; top:12px; width:auto; height:auto; padding:8px 12px;
  background:#fff; z-index:50; border-radius:8px;
}
.lp-nav{
  display:flex; align-items:center; justify-content:space-between; gap:18px;
  padding:16px clamp(16px, 4vw, 48px);
  background:color-mix(in srgb, var(--paper) 92%, transparent);
  position:sticky; top:0; z-index:20;
  border-bottom:1px solid color-mix(in srgb, var(--line) 70%, transparent);
  backdrop-filter:blur(10px);
}
.lp-nav-home{
  display:inline-flex; align-items:center; gap:6px;
  text-decoration:none; color:var(--lp-muted); font-size:13px; font-weight:600;
  flex-shrink:0; white-space:nowrap;
}
.lp-nav-home:hover{ color:var(--lp-accent); }
.lp-nav-home i{ font-size:16px; }
.lp-nav-brand{
  display:inline-flex; align-items:center; gap:10px;
  text-decoration:none; color:var(--lp-ink);
  font-family:var(--display); font-weight:700; font-size:15px;
  min-width:0;
}
.lp-nav-brand img{
  width:36px; height:36px; object-fit:contain; border-radius:10px; background:#fff;
}
.lp-nav-brand span{
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:42vw;
}
.lp-nav-links{ display:flex; gap:18px; }
.lp-nav-links a{
  text-decoration:none; font-size:13px; color:var(--lp-muted); font-weight:500;
}
.lp-nav-links a:hover{ color:var(--lp-accent); }
.lp-nav-actions{ display:flex; align-items:center; gap:10px; }
.lp-nav-wa{
  display:inline-flex; align-items:center; gap:6px;
  padding:9px 14px; border-radius:999px; text-decoration:none;
  background:var(--lp-accent); color:#fff; font-size:13px; font-weight:600;
}
.lp-nav-ficha{
  font-size:12.5px; color:var(--lp-muted); text-decoration:none;
}
.lp-nav-ficha:hover{ color:var(--lp-accent); }

.lp-hero{
  display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1.15fr);
  min-height:min(86vh, 780px); background:var(--paper);
  animation:lpFade .7s ease both;
}
.lp-hero-copy{
  display:flex; flex-direction:column; justify-content:center;
  padding:clamp(36px, 6vw, 80px) clamp(22px, 5vw, 64px);
  background:
    linear-gradient(165deg, color-mix(in srgb, var(--lp-accent) 10%, var(--paper)) 0%, var(--paper) 52%);
}
.lp-kicker{
  margin:0 0 12px; font-size:12px; letter-spacing:.12em; text-transform:uppercase;
  color:var(--lp-accent); font-weight:700;
}
.lp-brand{
  margin:0 0 16px;
  font-family:var(--display); font-size:clamp(2.6rem, 6.4vw, 4.2rem);
  font-weight:650; line-height:.95; letter-spacing:-.03em; color:var(--lp-ink);
}
.lp-lead{
  margin:0 0 28px; max-width:34ch;
  font-size:clamp(1.08rem, 1.8vw, 1.28rem); line-height:1.55; color:var(--lp-muted);
}
.lp-hero-cta{ display:flex; flex-wrap:wrap; gap:12px; }
.lp-hero-rating{
  margin:18px 0 0; font-size:13px; color:var(--lp-muted);
}
.lp-hero-rating span{ color:#c98f00; letter-spacing:1px; margin-right:6px; }
.lp-hero-visual{
  position:relative; overflow:hidden; background:var(--ink); min-height:460px;
}
.lp-hero-visual img{
  width:100%; height:100%; object-fit:cover; object-position:center;
  animation:lpZoom 14s ease-out both;
}
.lp-hero-visual--empty{
  background:
    radial-gradient(600px 400px at 70% 30%, color-mix(in srgb, var(--lp-accent) 40%, transparent), transparent 60%),
    linear-gradient(145deg, #2a2420, #1a3330);
}
.lp-hero-logo-only{
  height:100%; min-height:420px; display:grid; place-items:center; padding:40px;
}
.lp-hero-logo-only img{
  width:min(220px, 50%); height:auto; object-fit:contain;
  background:rgba(255,255,255,.92); border-radius:24px; padding:18px;
}

.lp-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:13px 20px; border-radius:999px; text-decoration:none;
  font-size:14px; font-weight:600; border:1px solid transparent;
  transition:transform .15s ease, background .15s ease, border-color .15s ease, color .15s ease;
}
.lp-btn:hover{ transform:translateY(-1px); }
.lp-btn--solid{ background:var(--lp-accent); color:#fff; }
.lp-btn--solid:hover{ filter:brightness(.92); }
.lp-btn--line{
  background:transparent; color:var(--lp-ink);
  border-color:color-mix(in srgb, var(--lp-ink) 28%, transparent);
}
.lp-btn--line:hover{ border-color:var(--lp-accent); color:var(--lp-accent); }
.lp-btn--soft{
  background:#fff; color:var(--lp-ink);
  border-color:color-mix(in srgb, #cfc3b0 70%, transparent);
}
.lp-btn--soft:hover{ border-color:var(--lp-accent); color:var(--lp-accent); }

.lp-strip{
  background:var(--paper-alt);
  border-top:1px solid color-mix(in srgb, var(--line) 80%, transparent);
  border-bottom:1px solid color-mix(in srgb, var(--line) 80%, transparent);
}
.lp-strip-row{
  list-style:none; margin:0 auto; padding:22px clamp(16px, 4vw, 40px);
  max-width:1100px;
  display:flex; flex-wrap:wrap; justify-content:center; gap:10px 28px;
}
.lp-strip-row li{
  display:flex; align-items:center; gap:10px;
  font-size:14px; font-weight:500; color:var(--lp-ink);
  min-width:min(220px, 100%);
}
.lp-strip-row i{
  color:var(--lp-accent); font-size:20px; flex-shrink:0;
}

.lp-section{
  max-width:1100px; margin:0 auto;
  padding:72px clamp(18px, 4vw, 36px) 16px;
  animation:lpRise .7s ease both;
}
.lp-eyebrow{
  margin:0 0 8px; font-size:11.5px; letter-spacing:.1em; text-transform:uppercase;
  color:var(--lp-accent); font-weight:700;
}
.lp-h2{
  margin:0 0 28px;
  font-family:var(--display); font-size:clamp(1.7rem, 3vw, 2.35rem);
  font-weight:650; line-height:1.12; letter-spacing:-.02em; color:var(--lp-ink);
}
.lp-h2-sub{
  display:block; margin-top:8px;
  font-family:var(--body); font-size:14px; font-weight:500; color:var(--lp-muted);
  letter-spacing:0;
}
.lp-prose{ margin:0; font-size:16.5px; line-height:1.75; color:var(--lp-muted); }
.lp-prose--short{ max-width:36ch; margin-bottom:20px; }
.lp-place{
  margin:18px 0 0; font-size:14px; color:var(--lp-muted);
  display:inline-flex; align-items:center; gap:6px;
}

.lp-products{
  display:flex; flex-wrap:wrap; justify-content:center; gap:22px;
}
.lp-product{
  background:var(--white); border:1px solid color-mix(in srgb, var(--line) 70%, transparent);
  border-radius:18px; overflow:hidden; display:flex; flex-direction:column;
  flex:1 1 240px; max-width:320px; min-width:220px;
  box-shadow:0 8px 24px rgba(28,43,46,.04);
}
.lp-product--pin{ border-color:color-mix(in srgb, var(--lp-accent) 50%, var(--line)); }
.lp-product-media{ aspect-ratio:4/5; overflow:hidden; background:var(--lp-panel); }
.lp-product-media img{
  width:100%; height:100%; object-fit:cover;
  transition:transform .5s ease;
}
.lp-product:hover .lp-product-media img{ transform:scale(1.04); }
.lp-product-media--plain{
  display:grid; place-items:center;
  background:color-mix(in srgb, var(--lp-accent) 12%, #efe6d8);
}
.lp-product-media--plain span{
  font-family:var(--display); font-size:2.4rem; font-weight:700; color:var(--lp-accent);
}
.lp-product-body{ padding:14px 14px 16px; display:flex; flex-direction:column; gap:6px; flex:1; }
.lp-badge{
  align-self:flex-start; font-size:10.5px; letter-spacing:.06em; text-transform:uppercase;
  font-weight:700; color:var(--lp-accent); background:color-mix(in srgb, var(--lp-accent) 12%, #fff);
  padding:4px 8px; border-radius:999px;
}
.lp-product-body h3{
  margin:0; font-family:var(--display); font-size:1.15rem; font-weight:650; color:var(--lp-ink);
}
.lp-product-body p{ margin:0; font-size:13.5px; line-height:1.45; color:var(--lp-muted); flex:1; }
.lp-product-foot{
  display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:10px;
}
.lp-product-foot strong{ font-size:15px; color:var(--lp-accent); }
.lp-product-foot a{
  font-size:13px; font-weight:700; color:var(--lp-ink); text-decoration:none;
  border-bottom:1px solid color-mix(in srgb, var(--lp-ink) 30%, transparent);
}
.lp-product-foot a:hover{ color:var(--lp-accent); border-color:var(--lp-accent); }

.lp-about{ max-width:none; padding-left:0; padding-right:0; }
.lp-about-card{
  max-width:1100px; margin:0 auto;
  display:grid; grid-template-columns:minmax(0, .92fr) minmax(0, 1.08fr);
  gap:0; background:var(--white); border-radius:24px; overflow:hidden;
  border:1px solid color-mix(in srgb, var(--line) 65%, transparent);
  align-items:stretch;
}
.lp-about-card--solo{ grid-template-columns:1fr; }
.lp-about-text{ padding:clamp(24px, 4vw, 40px); }
.lp-about-media{ min-height:280px; background:var(--lp-panel); }
.lp-about-media img{ width:100%; height:100%; object-fit:cover; }
.lp-about-logo{
  width:min(180px, 50%) !important; height:auto !important; object-fit:contain !important;
  margin:auto; display:block; padding:40px;
}

.lp-gallery-row{
  display:grid; grid-template-columns:repeat(6, 1fr); gap:10px;
}
.lp-gallery-row figure{ margin:0; aspect-ratio:1; overflow:hidden; border-radius:14px; }
.lp-gallery-row img{
  width:100%; height:100%; object-fit:cover;
  transition:transform .45s ease;
}
.lp-gallery-row figure:hover img{ transform:scale(1.05); }

.lp-reviews{
  display:grid; grid-template-columns:repeat(3, 1fr); gap:22px;
}
.lp-review{ margin:0; padding:0; background:transparent; border:none; }
.lp-review p{
  margin:0 0 12px; font-family:var(--display); font-style:italic;
  font-size:16px; line-height:1.45; color:var(--lp-ink);
}
.lp-review-stars{
  margin:0 0 10px; color:#c98f00; letter-spacing:2px; font-size:13px; line-height:1;
}
.lp-review footer{
  font-size:12.5px; color:var(--lp-muted);
  padding-top:10px; border-top:1px solid color-mix(in srgb, #cfc3b0 65%, transparent);
}
.lp-ig-grid{
  display:grid; grid-template-columns:repeat(6, 1fr); gap:8px;
  margin:24px 0 28px;
}
.lp-ig-grid figure{ margin:0; aspect-ratio:1; overflow:hidden; border-radius:10px; }
.lp-ig-grid img{ width:100%; height:100%; object-fit:cover; }

.lp-social{ text-align:center; }
.lp-social .lp-prose{ margin-left:auto; margin-right:auto; }
.lp-social-row{
  display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:8px;
}
.lp-social-btn{
  display:inline-flex; align-items:center; gap:8px;
  padding:12px 18px; border-radius:999px; text-decoration:none;
  background:var(--white); color:var(--lp-ink); font-size:14px; font-weight:600;
  border:1px solid color-mix(in srgb, var(--line) 80%, transparent);
}
.lp-social-btn:hover{ border-color:var(--lp-accent); color:var(--lp-accent); }
.lp-social-btn i{ font-size:18px; }
.lp-social-btn--ig{
  background:var(--lp-accent); color:#fff; border-color:transparent;
}
.lp-social-btn--ig:hover{ filter:brightness(.94); color:#fff; }

.lp-contact{ padding-bottom:48px; }
.lp-contact-row{ display:flex; flex-wrap:wrap; gap:10px; }
.lp-pagos{
  margin:16px 0 0;
  font-size:14.5px;
  line-height:1.45;
  color:var(--lp-muted, #666);
}
.lp-pagos-label{
  margin:0 0 8px;
  font-size:13px;
  font-weight:600;
  color:var(--lp-ink, #222);
}
.lp-pagos-chips{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.lp-pago-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin:0;
  padding:6px 12px;
  border-radius:999px;
  border:1px solid var(--lp-line, #ddd);
  background:var(--lp-panel, #f6f3ee);
  font-size:13px;
  font-weight:500;
  line-height:1.2;
  color:var(--lp-ink, #222);
}
.lp-pago-chip-emoji{ font-size:14px; line-height:1; }
.lp-pagos-lista,
.lp-pagos-linea,
.lp-pedido-chips,
.lp-pedido-lista,
.lp-pedido-editorial{
  list-style:none;
  margin:0;
  padding:0;
}
.lp-pagos-lista{ display:flex; flex-direction:column; gap:8px; }
.lp-pagos-linea{
  display:flex;
  flex-wrap:wrap;
  gap:0;
  justify-content:center;
}
.lp-pago-item{
  margin:0;
  font-size:14px;
  line-height:1.4;
}
.lp-pagos--linea .lp-pago-item{
  padding:0 14px;
  border-right:1px solid color-mix(in srgb, currentColor 28%, transparent);
}
.lp-pagos--linea .lp-pago-item:last-child{ border-right:none; }
.lp-pedido-chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:16px 0 0;
}
.lp-pedido-chips li{ margin:0; }
.lp-pedido-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 14px;
  border-radius:999px;
  border:1px solid var(--lp-line, #ddd);
  background:var(--lp-cream, #f6f3ee);
  font-size:14px;
  font-weight:600;
  line-height:1.2;
  color:var(--lp-ink, #222);
  text-decoration:none;
}
a.lp-pedido-chip:hover{ border-color:var(--lp-accent); color:var(--lp-accent); }
.lp-pedido-lista{ display:flex; flex-direction:column; gap:10px; margin-top:12px; }
.lp-pedido-lista li{ margin:0; }
.lp-pedido-fila{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:15px;
  font-weight:600;
  color:inherit;
  text-decoration:none;
  line-height:1.35;
}
a.lp-pedido-fila:hover{ color:var(--lp-accent); }
.lp-pedido-emoji{ font-size:16px; line-height:1; }
.lp-pedido-kicker{
  margin:0 0 14px;
  font-size:11px;
  font-weight:500;
  letter-spacing:.2em;
  text-transform:uppercase;
}
.lp-pedido-editorial{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:0;
}
.lp-pedido-editorial li{
  margin:0;
  padding:0 16px;
  border-right:1px solid rgba(196,163,90,.35);
}
.lp-pedido-editorial li:last-child{ border-right:none; }
.lp-pedido-ed-item{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:inherit;
  text-decoration:none;
  font-size:15px;
  letter-spacing:.02em;
}
a.lp-pedido-ed-item:hover{ color:#c4a35a; }
.lp-hours{
  margin:18px 0 0; font-size:14px; color:var(--lp-muted);
  display:inline-flex; align-items:center; gap:8px;
}
.lp-foot{
  background:var(--ink);
  color:rgba(250,246,236,.72);
  margin:0;
  padding:40px 20px 48px;
  border-top:none;
  font-size:13.5px; text-align:center;
}
.lp-foot-inner{ max-width:720px; margin:0 auto; }
.lp-foot-brand{
  margin:0 0 16px;
  font-family:var(--display); font-size:1.45rem; font-weight:650; color:var(--paper);
}
.lp-foot-meta{
  list-style:none; margin:0 0 18px; padding:0;
  display:flex; flex-direction:column; gap:8px; align-items:center;
}
.lp-foot-meta li, .lp-foot-meta a{
  color:rgba(250,246,236,.78); text-decoration:none;
  display:inline-flex; align-items:center; gap:8px;
}
.lp-foot-meta a:hover{ color:var(--marigold); }
.lp-foot-share{ word-break:break-all; opacity:.55; margin:10px 0 0; font-size:12px; }
.lp-foot-nav{ margin:4px 0 0; }
.lp-foot-nav a{
  color:var(--marigold); text-decoration:none; font-weight:600;
}
.lp-foot-nav a:hover{ text-decoration:underline; }

@keyframes lpFade{ from{ opacity:0; } to{ opacity:1; } }
@keyframes lpRise{ from{ opacity:0; transform:translateY(14px); } to{ opacity:1; transform:none; } }
@keyframes lpZoom{ from{ transform:scale(1.08); } to{ transform:scale(1.02); } }

@media (max-width:980px){
  .lp-gallery-row{ grid-template-columns:repeat(3, 1fr); }
  .lp-nav-links{ display:none; }
}
@media (max-width:820px){
  .lp-hero{ grid-template-columns:1fr; min-height:0; }
  .lp-hero-visual{ order:-1; }
  .lp-hero-visual, .lp-hero-logo-only{ min-height:58vw; max-height:440px; }
  .lp-about-card{ grid-template-columns:1fr; }
  .lp-about-media{ min-height:260px; }
  .lp-reviews{ grid-template-columns:1fr; }
  .lp-nav-ficha{ display:none; }
  .lp-strip-row li{ min-width:100%; justify-content:center; }
}
@media (max-width:520px){
  .lp-products{ grid-template-columns:1fr; }
  .lp-gallery-row{ grid-template-columns:repeat(2, 1fr); }
}
/* --- Landing plantillas: editorial (L'Artisan + negro/oro) + carta (Boutique crema/caramelo) + vitrina (blush / rosa) --- */
.landing-body.lp-tpl-editorial,
.landing-body.lp-editorial{
  background:#000;
  color:#fff;
  font-family:'Outfit', 'Segoe UI', sans-serif;
  --display:'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --body:'Outfit', 'Segoe UI', sans-serif;
  --lp-accent:#c4a35a;
  --lp-ink:#fff;
  --lp-muted:rgba(255,255,255,.72);
  --lp-panel:#161616;
  --lp-cream:#fff;
  --lp-line:rgba(255,255,255,.12);
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-nav-home,
:is(.lp-tpl-editorial,.lp-editorial) .lp-nav-actions,
:is(.lp-tpl-editorial,.lp-editorial) .lp-nav-ficha{ display:none; }
:is(.lp-tpl-editorial,.lp-editorial) .lp-nav{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:14px;
  position:relative;
  background:#000;
  border-bottom:none;
  backdrop-filter:none;
  padding:28px 20px 22px;
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-nav-brand{
  flex-direction:column;
  align-items:center;
  gap:10px;
  font-family:var(--display);
  font-size:clamp(1.35rem, 2.4vw, 1.7rem);
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#fff;
  text-align:center;
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-nav-brand span{
  white-space:normal;
  overflow:visible;
  text-overflow:unset;
  max-width:none;
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-nav-brand img{
  width:52px; height:52px; border-radius:50%;
  object-fit:cover; background:#161616;
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-nav-links{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:0;
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-nav-links a{
  font-size:11px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:rgba(255,255,255,.78);
  font-weight:500;
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-nav-links a + a::before{
  content:"â€¢";
  display:inline-block;
  margin:0 14px;
  color:#c4a35a;
  letter-spacing:0;
  font-size:10px;
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-nav-links a:hover{ color:#c4a35a; }

:is(.lp-tpl-editorial,.lp-editorial) .lp-hero,
:is(.lp-tpl-editorial,.lp-editorial) .lp-hero--editorial{
  display:grid;
  grid-template-columns:1fr;
  position:relative;
  height:min(60vh, 620px);
  min-height:320px;
  max-height:64vh;
  background:#000;
  align-items:stretch;
  overflow:hidden;
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-hero-visual{
  position:absolute;
  inset:0;
  min-height:0;
  max-height:none;
  overflow:hidden;
  background:#0a0a0a;
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-hero-visual img{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
  object-position:center;
  max-width:none;
  animation:none;
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-hero-visual--empty{
  background:
    radial-gradient(700px 480px at 50% 50%, rgba(196,163,90,.12), transparent 62%),
    #0a0a0a;
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-hero-logo-only{
  min-height:0;
  height:100%;
  max-height:none;
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-hero-copy{
  position:relative;
  z-index:1;
  max-width:none;
  width:100%;
  min-height:0;
  height:100%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  padding:28px 22px;
  background:rgba(0,0,0,.4);
  color:#fff;
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-kicker{
  color:#c4a35a;
  letter-spacing:.28em;
  font-size:11px;
  font-weight:600;
  opacity:1;
  margin-bottom:12px;
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-brand{
  font-family:var(--display);
  font-weight:600;
  font-style:normal;
  font-size:clamp(2rem, 5.5vw, 3.4rem);
  line-height:1.05;
  letter-spacing:-.02em;
  max-width:16ch;
  color:#fff;
  margin:0 0 22px;
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-lead{
  color:rgba(255,255,255,.88);
  max-width:28ch;
  font-size:1.05rem;
  line-height:1.45;
  margin:0 0 22px;
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-hero-cta{ justify-content:center; }
:is(.lp-tpl-editorial,.lp-editorial) .lp-btn--solid{
  background:#c4a35a;
  color:#000;
  border-radius:999px;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-size:12px;
  font-weight:700;
  padding:14px 28px;
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-btn--solid:hover{ background:#d4b56e; color:#000; filter:none; }
:is(.lp-tpl-editorial,.lp-editorial) .lp-btn--line{
  color:#fff;
  border-color:#c4a35a;
  border-radius:999px;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-size:12px;
  font-weight:700;
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-btn--line:hover{ background:rgba(196,163,90,.16); color:#fff; }
:is(.lp-tpl-editorial,.lp-editorial) .lp-hero--sin-foto{
  background:#0a0a0a;
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-hero--sin-foto .lp-hero-copy{
  background:transparent;
  color:#fff;
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-hero--sin-foto .lp-brand,
:is(.lp-tpl-editorial,.lp-editorial) .lp-hero--sin-foto .lp-lead{ color:#fff; }
:is(.lp-tpl-editorial,.lp-editorial) .lp-hero--sin-foto .lp-kicker{ color:#c4a35a; }

:is(.lp-tpl-editorial,.lp-editorial) .lp-section{
  max-width:1080px;
  text-align:center;
  padding:72px clamp(20px, 5vw, 48px) 16px;
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-eyebrow{
  color:#c4a35a;
  letter-spacing:.22em;
  font-size:11px;
  font-weight:600;
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-h2{
  font-family:var(--display);
  font-weight:600;
  font-style:normal;
  font-size:clamp(1.9rem, 3.6vw, 2.8rem);
  letter-spacing:-.02em;
  color:#fff;
  text-transform:none;
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-section .lp-h2,
:is(.lp-tpl-editorial,.lp-editorial) .lp-product-body h3,
:is(.lp-tpl-editorial,.lp-editorial) .lp-review p{ color:#fff; }
:is(.lp-tpl-editorial,.lp-editorial) .lp-h2-sub{
  font-family:var(--body);
  font-style:normal;
  color:rgba(255,255,255,.65);
}

:is(.lp-tpl-editorial,.lp-editorial) .lp-products{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:22px;
  margin:36px auto 0;
  max-width:760px;
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-product{
  background:#161616;
  border:none;
  border-radius:24px;
  overflow:hidden;
  box-shadow:none;
  flex:0 1 calc(50% - 11px);
  width:calc(50% - 11px);
  max-width:360px;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:0;
  align-items:stretch;
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-product--pin{
  box-shadow:none;
  outline:1px solid rgba(196,163,90,.45);
  outline-offset:0;
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-product-media{
  aspect-ratio:4/3;
  border-radius:0;
  overflow:hidden;
  background:#111;
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-product-media img{
  width:100%; height:100%;
  object-fit:cover;
  object-position:center;
  transition:transform .5s ease;
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-product:hover .lp-product-media img{ transform:scale(1.04); }
:is(.lp-tpl-editorial,.lp-editorial) .lp-product-media--plain{
  background:#1a1a1a;
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-product-body{
  padding:18px 18px 22px;
  justify-content:flex-start;
  text-align:center;
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-product-body h3{
  font-family:var(--display);
  font-size:1.15rem;
  font-weight:600;
  font-style:normal;
  letter-spacing:.06em;
  text-transform:uppercase;
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-product-body p{
  color:rgba(255,255,255,.68);
  font-size:13.5px;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-badge{
  background:transparent;
  color:#c4a35a;
  border:1px solid rgba(196,163,90,.45);
  padding:3px 8px;
  margin:0 auto 6px;
}

:is(.lp-tpl-editorial,.lp-editorial) .lp-about{
  max-width:none;
  padding:56px clamp(20px, 5vw, 48px) 16px;
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-about-card{
  background:#161616;
  border:none;
  border-radius:24px;
  overflow:hidden;
  grid-template-columns:1fr;
  max-width:1080px;
  margin:0 auto;
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-about-card--cover{
  position:relative;
  min-height:420px;
  display:block;
  background:#0a0a0a;
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-about-card--cover .lp-about-media{
  position:absolute;
  inset:0;
  min-height:100%;
  order:unset;
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-about-card--cover .lp-about-media img{
  width:100%; height:100%;
  object-fit:cover;
  object-position:center;
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-about-card--cover .lp-about-text{
  position:relative;
  z-index:1;
  margin-left:auto;
  max-width:min(42ch, 100%);
  min-height:420px;
  height:100%;
  box-sizing:border-box;
  padding:48px 40px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  text-align:left;
  background:linear-gradient(90deg, transparent 0%, rgba(0,0,0,.5) 14%, rgba(0,0,0,.82) 42%, rgba(0,0,0,.9) 100%);
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-about .lp-h2,
:is(.lp-tpl-editorial,.lp-editorial) .lp-about .lp-prose{ text-align:left; }
:is(.lp-tpl-editorial,.lp-editorial) .lp-about-card--cover .lp-h2,
:is(.lp-tpl-editorial,.lp-editorial) .lp-about-card--cover .lp-prose{
  text-shadow:0 2px 16px rgba(0,0,0,.55);
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-prose{
  text-align:left;
  color:rgba(255,255,255,.94);
  line-height:1.65;
  margin:0 0 22px;
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-about-media{ min-height:280px; }
:is(.lp-tpl-editorial,.lp-editorial) .lp-about-text{
  padding:clamp(24px, 4vw, 40px);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-btn--soft{
  background:transparent;
  border:1px solid #c4a35a;
  color:#c4a35a;
  border-radius:999px;
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-btn--soft:hover{
  background:#c4a35a;
  border-color:#c4a35a;
  color:#000;
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-foot{
  background:#000;
  border-top:1px solid rgba(255,255,255,.08);
  color:rgba(255,255,255,.65);
  text-align:center;
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-strip{
  background:#0a0a0a;
  border-color:rgba(255,255,255,.08);
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-strip-row li{ color:#fff; }
:is(.lp-tpl-editorial,.lp-editorial) .lp-strip-row i{ color:#c4a35a; }
:is(.lp-tpl-editorial,.lp-editorial) .lp-social{ text-align:center; }
:is(.lp-tpl-editorial,.lp-editorial) .lp-social-row{ justify-content:center; }
:is(.lp-tpl-editorial,.lp-editorial) .lp-social-btn{
  background:transparent;
  border-color:rgba(255,255,255,.22);
  color:#fff;
  border-radius:999px;
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-social-btn:hover{ border-color:#c4a35a; color:#c4a35a; }
:is(.lp-tpl-editorial,.lp-editorial) .lp-social-btn--ig{ background:#c4a35a; color:#000; border-color:transparent; }
:is(.lp-tpl-editorial,.lp-editorial) .lp-social-btn--ig:hover{ background:#d4b56e; color:#000; }
:is(.lp-tpl-editorial,.lp-editorial) .lp-foot-brand{
  font-family:var(--display);
  font-style:normal;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#fff;
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-foot-meta li,
:is(.lp-tpl-editorial,.lp-editorial) .lp-foot-meta a{ color:rgba(255,255,255,.7); }
:is(.lp-tpl-editorial,.lp-editorial) .lp-foot-nav a{ color:#c4a35a; }
:is(.lp-tpl-editorial,.lp-editorial) .lp-foot-share{ display:none; }
:is(.lp-tpl-editorial,.lp-editorial) .lp-gallery-row figure{ border-radius:16px; }
:is(.lp-tpl-editorial,.lp-editorial) .lp-contact{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:flex-start;
  gap:40px 56px;
  text-align:center;
  max-width:1080px;
  padding:80px clamp(20px, 5vw, 48px) 88px;
  border-top:1px solid rgba(196,163,90,.32);
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-contact-row{ gap:12px; justify-content:center; }
:is(.lp-tpl-editorial,.lp-editorial) .lp-pagos{
  flex:1 1 220px;
  max-width:320px;
  margin:0;
  color:rgba(255,255,255,.72);
  text-align:center;
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-pagos-label{
  color:#c4a35a;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-size:12px;
  margin-bottom:14px;
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-pagos-chips{ justify-content:center; }
:is(.lp-tpl-editorial,.lp-editorial) .lp-pago-chip{
  background:#161616;
  border-color:rgba(196,163,90,.45);
  color:#fff;
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-pedido-ed{
  flex:1 1 220px;
  max-width:320px;
  margin:0;
  padding:0;
  border-top:none;
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-pedido-kicker{
  color:#c4a35a;
  font-size:12px;
  font-weight:600;
  letter-spacing:.16em;
  margin-bottom:14px;
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-pedido-editorial{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-pedido-editorial li{
  border-right:none;
  padding:0;
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-pedido-ed-item{
  color:#fff;
  font-size:1.05rem;
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-pagos--linea{
  color:rgba(196,163,90,.82);
  margin-top:0;
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-pagos--linea .lp-pagos-label{
  margin-bottom:12px;
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-pagos--linea .lp-pago-item{
  border-right-color:rgba(196,163,90,.28);
  color:rgba(255,255,255,.72);
  font-size:13px;
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-contact-redes{
  flex:1 1 220px;
  max-width:320px;
  margin:0;
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-contact-redes .lp-social-row{
  justify-content:center;
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-fundadores-sec{
  max-width:none;
  width:100%;
  text-align:left;
  padding:0;
  margin:8px 0 0;
  background:#0a0a0a;
  border-top:1px solid rgba(196,163,90,.28);
  border-bottom:1px solid rgba(196,163,90,.28);
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-fundadores{
  max-width:1080px;
  margin:0 auto;
  display:flex;
  align-items:center;
  gap:36px;
  padding:48px clamp(20px, 5vw, 48px);
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-fundadores img{
  width:168px;
  height:168px;
  object-fit:cover;
  object-position:center;
  border-radius:0;
  border:1px solid rgba(196,163,90,.45);
  flex:0 0 168px;
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-fundadores-copy{ min-width:0; }
:is(.lp-tpl-editorial,.lp-editorial) .lp-fundadores-kicker{
  margin:0 0 8px;
  font-size:11px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:#c4a35a;
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-fundadores-nombres{
  margin:0;
  font-family:var(--display);
  font-size:clamp(1.6rem, 3vw, 2.1rem);
  font-weight:500;
  color:#fff;
  line-height:1.2;
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-fundadores-bio{
  margin:12px 0 0;
  font-size:15px;
  line-height:1.6;
  color:rgba(255,255,255,.72);
  max-width:42em;
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-review{
  background:#161616;
  border:none;
  border-radius:18px;
  padding:20px 18px;
}
:is(.lp-tpl-editorial,.lp-editorial) .lp-review p{
  font-family:var(--display);
  font-style:italic;
}

@media (max-width:980px){
  :is(.lp-tpl-editorial,.lp-editorial) .lp-nav-links{ display:flex; }
}
@media (max-width:820px){
  :is(.lp-tpl-editorial,.lp-editorial) .lp-hero,
  :is(.lp-tpl-editorial,.lp-editorial) .lp-hero--editorial{
    height:min(56vh, 520px);
    max-height:56vh;
    min-height:280px;
  }
  :is(.lp-tpl-editorial,.lp-editorial) .lp-hero-visual,
  :is(.lp-tpl-editorial,.lp-editorial) .lp-hero-logo-only,
  :is(.lp-tpl-editorial,.lp-editorial) .lp-hero-copy{
    min-height:0;
    max-height:none;
    height:100%;
  }
  :is(.lp-tpl-editorial,.lp-editorial) .lp-hero-copy{
    padding:24px 18px;
    background:rgba(0,0,0,.42);
    justify-content:center;
    align-items:center;
    text-align:center;
  }
  :is(.lp-tpl-editorial,.lp-editorial) .lp-brand{ font-size:clamp(1.8rem, 8vw, 2.6rem); max-width:14ch; }
  :is(.lp-tpl-editorial,.lp-editorial) .lp-about-card{ grid-template-columns:1fr; }
  :is(.lp-tpl-editorial,.lp-editorial) .lp-about-card--cover{ min-height:360px; }
  :is(.lp-tpl-editorial,.lp-editorial) .lp-about-card--cover .lp-about-media{ min-height:100%; }
  :is(.lp-tpl-editorial,.lp-editorial) .lp-about-card--cover .lp-about-text{
    margin:0;
    max-width:none;
    min-height:360px;
    padding:88px 22px 28px;
    background:linear-gradient(180deg, rgba(0,0,0,.12) 0%, rgba(0,0,0,.7) 42%, rgba(0,0,0,.92) 100%);
  }
  :is(.lp-tpl-editorial,.lp-editorial) .lp-about-media{ min-height:240px; }
  :is(.lp-tpl-editorial,.lp-editorial) .lp-about-text{ padding:24px 0 0; }
  :is(.lp-tpl-editorial,.lp-editorial) .lp-fundadores{
    flex-direction:column;
    align-items:flex-start;
    gap:22px;
    padding:36px 22px;
  }
  :is(.lp-tpl-editorial,.lp-editorial) .lp-fundadores img{
    width:140px;
    height:140px;
    flex-basis:140px;
  }
  :is(.lp-tpl-editorial,.lp-editorial) .lp-product{
    display:flex;
    flex-direction:column;
  }
}
@media (max-width:520px){
  :is(.lp-tpl-editorial,.lp-editorial) .lp-product{
    flex:1 1 100%;
    width:100%;
    max-width:none;
  }
  :is(.lp-tpl-editorial,.lp-editorial) .lp-nav-ficha{ display:none; }
  :is(.lp-tpl-editorial,.lp-editorial) .lp-contact{
    gap:32px;
    padding:56px 20px 64px;
  }
}

.landing-body.lp-tpl-carta,
.landing-body.lp-boutique{
  background:#F9F5F0;
  color:#2C1D14;
  font-family:'Figtree', 'Inter', system-ui, sans-serif;
  --display:'Fraunces', Georgia, serif;
  --body:'Figtree', 'Inter', system-ui, sans-serif;
  --lp-accent:#C5A059;
  --lp-accent-fg:#1A251C;
  --lp-ink:#2C1D14;
  --lp-muted:#6F5B4A;
  --lp-panel:#F3EBE0;
  --lp-cream:#F9F5F0;
  --lp-card:#FFFcf7;
  --lp-choc:#2C1D14;
  --lp-line:#E4D8C6;
  --lp-forest:#1A251C;
  --lp-forest-deep:#121910;
  --lp-wrap:1200px;
  overflow-x:clip;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-announce{ display:none; }

:is(.lp-tpl-carta,.lp-boutique) .lp-nav{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  column-gap:20px;
  background:var(--lp-forest);
  backdrop-filter:none;
  border-bottom:0;
  padding:12px clamp(20px, 5vw, 40px);
  position:sticky;
  top:0;
  z-index:20;
  box-shadow:none;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-nav-home{ display:none; }
:is(.lp-tpl-carta,.lp-boutique) .lp-nav-brand{
  justify-self:start;
  width:auto;
  gap:10px;
  font-family:var(--display);
  font-size:1.15rem;
  font-weight:600;
  font-style:normal;
  letter-spacing:-.01em;
  color:#fff;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-nav-brand-text{
  display:flex;
  flex-direction:column;
  min-width:0;
  line-height:1.1;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-nav-brand-text small{
  margin-top:3px;
  font-family:var(--body);
  font-size:9px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--lp-accent);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:28vw;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-nav-brand img{
  width:34px; height:34px; border-radius:999px;
  object-fit:cover; background:var(--lp-accent);
  box-shadow:0 0 0 2px color-mix(in srgb, var(--lp-accent) 55%, transparent);
}
:is(.lp-tpl-carta,.lp-boutique) .lp-nav-initial{
  width:34px; height:34px; border-radius:999px;
  display:grid; place-items:center;
  background:var(--lp-accent); color:var(--lp-forest);
  font-family:var(--display); font-weight:700; font-size:13px;
  flex-shrink:0;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-nav-menu{
  width:36px; height:36px; border-radius:999px;
  border:1px solid rgba(255,255,255,.22); background:transparent;
  color:#fff; display:none; place-items:center;
  cursor:pointer; font-size:18px;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-mobile-nav{
  display:none;
  grid-column:1 / -1;
  border-top:1px solid rgba(255,255,255,.1);
  background:var(--lp-forest-deep);
  padding:8px 0 4px;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-mobile-nav.is-open{ display:block; }
:is(.lp-tpl-carta,.lp-boutique) .lp-mobile-nav ul{
  list-style:none; margin:0; padding:0; display:grid; gap:2px;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-mobile-nav a{
  display:block; border-radius:10px; padding:10px 12px;
  font-size:14px; font-weight:500; color:#fff; text-decoration:none;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-mobile-nav a:hover{ background:rgba(255,255,255,.08); }
:is(.lp-tpl-carta,.lp-boutique) .lp-nav-links{
  justify-self:center;
  justify-content:center;
  gap:28px;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-nav-links a{
  font-size:13px;
  letter-spacing:.02em;
  text-transform:none;
  color:rgba(255,255,255,.82);
  font-weight:500;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-nav-links a:hover{ color:#fff; }
:is(.lp-tpl-carta,.lp-boutique) .lp-nav-actions{
  justify-self:end;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-nav-wa{
  background:var(--lp-accent);
  color:var(--lp-forest);
  border:0;
  border-radius:999px;
  padding:8px 16px;
  font-size:13px;
  font-weight:700;
  box-shadow:none;
  transition:filter .15s ease;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-nav-wa:hover{
  transform:none;
  filter:brightness(1.06);
  border-color:transparent;
  color:var(--lp-forest);
}
:is(.lp-tpl-carta,.lp-boutique) .lp-nav-ficha{
  color:color-mix(in srgb, var(--lp-ink) 70%, transparent);
  font-size:13px;
  font-weight:500;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-nav-ficha:hover{ color:var(--lp-accent); }

:is(.lp-tpl-carta,.lp-boutique) .lp-hero,
:is(.lp-tpl-carta,.lp-boutique) .lp-hero--boutique{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1.15fr);
  align-items:stretch;
  position:relative;
  overflow:visible;
  min-height:520px;
  max-width:none;
  margin:0;
  padding:0;
  background:var(--lp-forest);
}
:is(.lp-tpl-carta,.lp-boutique) .lp-hero::before{ display:none; }
:is(.lp-tpl-carta,.lp-boutique) .lp-hero-visual{
  position:relative;
  inset:auto;
  z-index:1;
  min-height:520px;
  max-height:none !important;
  overflow:hidden;
  background:var(--lp-forest);
}
:is(.lp-tpl-carta,.lp-boutique) .lp-hero-frame{
  position:absolute;
  inset:0;
  overflow:hidden;
  border-radius:28px 0 0 28px;
  border:0;
  box-shadow:none;
  background:var(--lp-forest);
}
:is(.lp-tpl-carta,.lp-boutique) .lp-hero-visual img,
:is(.lp-tpl-carta,.lp-boutique) .lp-hero-frame img{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  aspect-ratio:auto;
  object-fit:cover;
  object-position:center 40%;
  max-width:none;
  animation:none;
  border-radius:0;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-hero-visual::after{ display:none; }
:is(.lp-tpl-carta,.lp-boutique) .lp-hero-visual--empty{
  background:var(--lp-forest);
}
:is(.lp-tpl-carta,.lp-boutique) .lp-hero-logo-only{
  min-height:0;
  max-height:none;
  aspect-ratio:auto;
  display:none;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-hero-placeholder{ display:none; }
:is(.lp-tpl-carta,.lp-boutique) .lp-hero-tag{ display:none !important; }
:is(.lp-tpl-carta,.lp-boutique) .lp-hero-meta{
  margin-top:22px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-start;
  gap:12px 24px;
  font-size:14px;
  color:rgba(255,255,255,.82);
}
:is(.lp-tpl-carta,.lp-boutique) .lp-hero-place{
  margin:0;
  display:inline-flex;
  align-items:center;
  gap:6px;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-hero-place i{ color:var(--lp-accent); }
:is(.lp-tpl-carta,.lp-boutique) .lp-hero-copy{
  position:relative;
  z-index:2;
  order:0;
  max-width:none;
  min-height:520px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  text-align:left;
  padding:48px clamp(24px, 5vw, 64px) 72px;
  background:var(--lp-forest);
  color:#fff;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:0;
  padding:0;
  border-radius:0;
  border:0;
  background:transparent;
  color:var(--lp-accent);
  letter-spacing:.18em;
  text-transform:uppercase;
  font-size:11px;
  font-weight:700;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-kicker-dot{
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--lp-accent);
}
:is(.lp-tpl-carta,.lp-boutique) .lp-brand{
  color:#fff;
  font-family:var(--display);
  font-weight:600;
  font-size:clamp(2.15rem, 4.4vw, 3.45rem);
  line-height:1.08;
  letter-spacing:-.03em;
  max-width:none;
  width:100%;
  margin:14px 0 0;
  text-align:left;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-brand-accent{
  color:var(--lp-accent);
  font-style:italic;
  font-weight:500;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-lead{
  color:rgba(255,255,255,.86);
  max-width:30rem;
  font-size:1.02rem;
  line-height:1.65;
  margin:16px 0 0;
  text-align:left;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-hero-cta{
  justify-content:flex-start;
  align-items:center;
  gap:18px;
  margin-top:24px;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-hero-rating{ display:none; }
:is(.lp-tpl-carta,.lp-boutique) .lp-btn:hover{ transform:none; }
:is(.lp-tpl-carta,.lp-boutique) .lp-btn--solid{
  background:var(--lp-accent);
  color:var(--lp-forest);
  border:0;
  border-radius:999px;
  letter-spacing:.01em;
  text-transform:none;
  font-size:.95rem;
  font-weight:700;
  padding:12px 22px;
  box-shadow:none;
  transition:filter .15s ease;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-btn--solid:hover{
  background:var(--lp-accent);
  color:var(--lp-forest);
  filter:brightness(1.06);
  transform:none;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-btn--line{
  color:#fff;
  background:transparent;
  border:0;
  border-radius:0;
  text-transform:none;
  font-size:.95rem;
  letter-spacing:0;
  font-weight:600;
  padding:0;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-btn--line:hover{
  border-color:transparent;
  color:var(--lp-accent);
}
:is(.lp-tpl-carta,.lp-boutique) .lp-hero--sin-foto{
  grid-template-columns:1fr;
  background:var(--lp-forest);
}
:is(.lp-tpl-carta,.lp-boutique) .lp-hero--sin-foto .lp-hero-copy{
  background:transparent;
  color:#fff;
  max-width:40rem;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-hero--sin-foto .lp-brand,
:is(.lp-tpl-carta,.lp-boutique) .lp-hero--sin-foto .lp-lead{ color:#fff; }
:is(.lp-tpl-carta,.lp-boutique) .lp-hero--sin-foto .lp-kicker{ color:var(--lp-accent); }

:is(.lp-tpl-carta,.lp-boutique) .lp-section{
  max-width:var(--lp-wrap);
  text-align:left;
  padding:72px clamp(20px, 5vw, 40px) 8px;
  scroll-margin-top:5rem;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-eyebrow{
  color:var(--lp-accent);
  letter-spacing:.16em;
  font-size:12px;
  font-weight:700;
  display:block;
  margin-bottom:10px;
  text-transform:uppercase;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-eyebrow::before,
:is(.lp-tpl-carta,.lp-boutique) .lp-eyebrow::after{ content:none; width:0; height:0; background:none; }
:is(.lp-tpl-carta,.lp-boutique) .lp-h2{
  color:var(--lp-ink);
  font-family:var(--display);
  font-weight:600;
  font-size:clamp(1.7rem, 3.6vw, 2.35rem);
  margin:0 0 12px;
  letter-spacing:-.02em;
  text-transform:none;
  max-width:40rem;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-h2 em{
  color:var(--lp-accent);
  font-style:italic;
  font-weight:600;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-h2-sub{
  color:var(--lp-muted);
  font-size:15px;
  font-weight:500;
  text-transform:none;
  letter-spacing:0;
}

:is(.lp-tpl-carta,.lp-boutique) #lp-oferta{
  max-width:none;
  background:var(--lp-cream);
  padding:72px clamp(20px, 5vw, 40px) 64px;
  text-align:center;
}
:is(.lp-tpl-carta,.lp-boutique) #lp-oferta .lp-eyebrow{
  margin-bottom:8px;
}
:is(.lp-tpl-carta,.lp-boutique) #lp-oferta .lp-h2,
:is(.lp-tpl-carta,.lp-boutique) #lp-oferta .lp-products-cta{
  max-width:var(--lp-wrap);
  margin-left:auto;
  margin-right:auto;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-h2-flourish{
  display:block;
  width:42px;
  height:10px;
  margin:0 auto 8px;
  background:center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 42 10'%3E%3Cpath fill='%23C5A059' d='M21 1c2.4 2.2 5.6 3.4 9 3.6-3.4.3-6.6 1.5-9 3.6-2.4-2.1-5.6-3.3-9-3.6C15.4 4.4 18.6 3.2 21 1z'/%3E%3C/svg%3E");
}
:is(.lp-tpl-carta,.lp-boutique) .lp-products{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:18px;
  text-align:left;
  margin:24px auto 0;
  max-width:var(--lp-wrap);
}
:is(.lp-tpl-carta,.lp-boutique) .lp-product{
  background:var(--lp-card);
  border:1px solid color-mix(in srgb, var(--lp-line) 70%, transparent);
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 10px 22px -18px rgba(44,29,20,.28);
  flex:none;
  max-width:none;
  min-width:0;
  display:flex;
  flex-direction:column;
  height:100%;
  transition:none;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-product:hover{
  transform:none;
  box-shadow:0 10px 22px -18px rgba(44,29,20,.28);
}
:is(.lp-tpl-carta,.lp-boutique) .lp-product--pin{
  box-shadow:0 10px 22px -18px rgba(44,29,20,.28);
}
:is(.lp-tpl-carta,.lp-boutique) .lp-product-media{
  position:relative;
  aspect-ratio:4/3;
  border-radius:0;
  overflow:hidden;
  background:var(--lp-panel);
  margin-bottom:0;
  border:0;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-product-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transition:none;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-product:hover .lp-product-media img{ transform:none; }
:is(.lp-tpl-carta,.lp-boutique) .lp-product-media--plain{
  background:linear-gradient(165deg, var(--lp-panel), color-mix(in srgb, var(--lp-accent) 16%, var(--lp-cream)));
}
:is(.lp-tpl-carta,.lp-boutique) .lp-product-media--plain span{
  color:var(--lp-accent);
  font-size:2.6rem;
  font-weight:600;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-badge{
  display:inline-flex;
  position:absolute;
  left:10px;
  top:10px;
  background:var(--lp-accent);
  color:var(--lp-forest);
  box-shadow:none;
  font-size:10px;
  letter-spacing:.04em;
  text-transform:uppercase;
  font-weight:700;
  padding:5px 10px;
  border-radius:999px;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-product-body{
  padding:16px 16px 18px;
  align-items:center;
  text-align:center;
  gap:6px;
  display:flex;
  flex-direction:column;
  flex:1;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-product-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-product-body h3{
  font-family:var(--body);
  font-size:1rem;
  font-weight:700;
  letter-spacing:-.01em;
  text-transform:none;
  color:var(--lp-ink);
}
:is(.lp-tpl-carta,.lp-boutique) .lp-product-body p{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  margin:0;
  font-size:13px;
  line-height:1.5;
  color:var(--lp-muted);
}
:is(.lp-tpl-carta,.lp-boutique) .lp-product-price{ display:none; }
:is(.lp-tpl-carta,.lp-boutique) .lp-products-note{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin:28px auto 0;
  max-width:var(--lp-wrap);
  color:var(--lp-accent);
  font-size:13px;
  font-weight:600;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-products-note i{ font-size:16px; }
:is(.lp-tpl-carta,.lp-boutique) .lp-product-foot,
:is(.lp-tpl-carta,.lp-boutique) .lp-product-wa{ display:none; }
:is(.lp-tpl-carta,.lp-boutique) .lp-products-cta{ display:none; }

:is(.lp-tpl-carta,.lp-boutique) .lp-about{
  background:#F3EBE0;
  max-width:none;
  padding:0;
  margin-top:0;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-about-card{
  display:grid;
  max-width:none;
  margin:0 auto;
  background:transparent;
  border:none;
  border-radius:0;
  grid-template-columns:1fr;
  gap:0;
  align-items:stretch;
  text-align:left;
  overflow:hidden;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-about-card.has-image{
  grid-template-columns:1fr 1fr;
  gap:0;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-about-card.has-image .lp-about-text{ order:1; }
:is(.lp-tpl-carta,.lp-boutique) .lp-about-card.has-image .lp-about-media{ order:2; }
:is(.lp-tpl-carta,.lp-boutique) .lp-about-text{
  padding:clamp(40px, 6vw, 72px) clamp(24px, 5vw, 64px);
  background:#F3EBE0;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-about .lp-eyebrow,
:is(.lp-tpl-carta,.lp-boutique) .lp-about .lp-h2{ text-align:left; letter-spacing:-.02em; margin-left:0; }
:is(.lp-tpl-carta,.lp-boutique) .lp-about .lp-eyebrow{ text-transform:uppercase; }
:is(.lp-tpl-carta,.lp-boutique) .lp-about .lp-h2{ margin-bottom:16px; font-size:clamp(1.7rem, 3.4vw, 2.4rem); }
:is(.lp-tpl-carta,.lp-boutique) .lp-about-quote{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:24px 0 0;
  padding:14px 16px;
  border:1px solid color-mix(in srgb, var(--lp-accent) 70%, transparent);
  border-radius:10px;
  color:var(--lp-ink);
  font-size:14px;
  line-height:1.55;
  font-weight:500;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-about-quote i{
  color:var(--lp-accent);
  font-size:18px;
  margin-top:1px;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-about-visual{
  position:relative;
  overflow:hidden;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-about-media{
  min-height:100%;
  border-radius:0;
  overflow:hidden;
  border:0;
  box-shadow:none;
  aspect-ratio:1;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-about-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 30%;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-about-placeholder{
  width:100%;
  height:100%;
  min-height:240px;
  aspect-ratio:1;
  background:#EAEAEA;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-about-stats{ display:none; }
:is(.lp-tpl-carta,.lp-boutique) .lp-about-stat,
:is(.lp-tpl-carta,.lp-boutique) .lp-about-stats > div{
  padding:0;
  text-align:left;
  border-right:none;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-about-stat-valor{
  margin:0;
  font-family:var(--display);
  font-size:clamp(1.5rem, 4vw, 2rem);
  font-weight:600;
  line-height:1.1;
  color:var(--lp-accent);
}
:is(.lp-tpl-carta,.lp-boutique) .lp-about-stat-label{
  margin:4px 0 0;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:var(--lp-muted);
}
:is(.lp-tpl-carta,.lp-boutique) .lp-prose{
  color:var(--lp-muted);
  font-size:1.08rem;
  line-height:1.85;
  max-width:36rem;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-place{ color:var(--lp-ink); font-weight:600; }

:is(.lp-tpl-carta,.lp-boutique) .lp-gallery{
  position:relative;
  background:var(--lp-forest);
  max-width:none;
  padding:72px clamp(20px, 5vw, 40px) 120px;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-gallery .lp-h2{
  margin:0 auto 0;
  max-width:var(--lp-wrap);
  color:#fff;
  font-size:clamp(1.7rem, 3.2vw, 2.2rem);
}
:is(.lp-tpl-carta,.lp-boutique) .lp-gallery-row{
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:12px;
  margin:22px auto 0;
  max-width:var(--lp-wrap);
}
:is(.lp-tpl-carta,.lp-boutique) .lp-gallery-row figure{
  border-radius:.9rem;
  aspect-ratio:1;
  border:1px solid color-mix(in srgb, var(--lp-line) 50%, transparent);
  overflow:hidden;
  margin:0;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-gallery-row figure img{
  width:100%;
  height:100%;
  object-fit:cover;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-gallery-row--mosaic{
  display:grid;
  max-width:var(--lp-wrap);
  gap:12px;
  grid-auto-rows:minmax(88px, 1fr);
}
:is(.lp-tpl-carta,.lp-boutique) .lp-gallery-row--mosaic[data-count="5"]{
  grid-template-columns:repeat(4, minmax(0, 1fr));
  grid-template-rows:repeat(2, minmax(140px, 210px));
}
:is(.lp-tpl-carta,.lp-boutique) .lp-gallery-row--mosaic[data-count="5"] figure:first-child{
  grid-column:1 / 3;
  grid-row:1 / 3;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-gallery-row--mosaic[data-count="4"]{
  grid-template-columns:2fr 1fr 1fr;
  grid-template-rows:repeat(2, minmax(88px, 140px));
}
:is(.lp-tpl-carta,.lp-boutique) .lp-gallery-row--mosaic[data-count="4"] figure:first-child{
  grid-row:1 / 3;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-gallery-row--mosaic[data-count="3"]{
  grid-template-columns:1.35fr 1fr;
  grid-template-rows:repeat(2, minmax(88px, 140px));
}
:is(.lp-tpl-carta,.lp-boutique) .lp-gallery-row--mosaic[data-count="3"] figure:first-child{
  grid-row:1 / 3;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-gallery-row--mosaic[data-count="2"]{
  grid-template-columns:1fr 1fr;
  grid-template-rows:minmax(120px, 180px);
}
:is(.lp-tpl-carta,.lp-boutique) .lp-gallery-row--mosaic[data-count="1"]{
  grid-template-columns:1fr;
  max-width:280px;
  grid-template-rows:minmax(140px, 200px);
}
:is(.lp-tpl-carta,.lp-boutique) .lp-gallery-row--mosaic figure{
  aspect-ratio:auto;
  height:100%;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-gallery-seal{
  position:absolute;
  right:clamp(16px, 4vw, 40px);
  top:88px;
  width:86px;
  height:86px;
  margin:0;
  display:grid;
  place-items:center;
  border:1px solid var(--lp-accent);
  border-radius:50%;
  color:var(--lp-accent);
  font-family:var(--display);
  font-size:10px;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-align:center;
  line-height:1.25;
  transform:rotate(12deg);
  pointer-events:none;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-gallery-row--rail{
  display:flex;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  -ms-overflow-style:none;
  grid-template-columns:none;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-gallery-row--rail::-webkit-scrollbar{ display:none; }
:is(.lp-tpl-carta,.lp-boutique) .lp-gallery-row--rail figure{
  flex:0 0 240px;
  scroll-snap-align:start;
  aspect-ratio:4/5;
}

:is(.lp-tpl-carta,.lp-boutique) #lp-resenas{ display:none; }
:is(.lp-tpl-carta,.lp-boutique) .lp-reviews{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:24px;
  text-align:left;
  margin-top:24px;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-review{
  display:flex;
  flex-direction:column;
  background:var(--lp-card);
  border:1px solid color-mix(in srgb, var(--lp-line) 60%, transparent);
  border-radius:1.5rem;
  padding:28px;
  box-shadow:0 1px 2px rgba(61,42,28,.05);
}
:is(.lp-tpl-carta,.lp-boutique) .lp-review-stars{
  color:var(--lp-accent);
  font-size:14px;
  letter-spacing:2px;
  margin-bottom:16px;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-review p{
  flex:1;
  font-family:var(--body);
  font-style:normal;
  font-size:1rem;
  line-height:1.7;
  color:color-mix(in srgb, var(--lp-ink) 85%, transparent);
}
:is(.lp-tpl-carta,.lp-boutique) .lp-review footer{
  display:flex;
  align-items:center;
  gap:12px;
  border-top:none;
  padding-top:0;
  margin-top:24px;
  color:var(--lp-ink);
  font-weight:600;
  letter-spacing:0;
  text-transform:none;
  font-size:14px;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-review-inicial{
  flex-shrink:0;
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:color-mix(in srgb, var(--lp-accent) 12%, transparent);
  color:var(--lp-accent);
  font-family:var(--display);
  font-size:1.125rem;
  font-weight:600;
}

:is(.lp-tpl-carta,.lp-boutique) .lp-contact{
  background:transparent;
  max-width:none;
  margin:0 auto;
  padding:64px clamp(20px, 5vw, 40px) 24px;
  border-radius:0;
  text-align:left;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-gallery ~ .lp-contact{
  background:var(--lp-forest);
  margin-top:-88px;
  padding-top:0;
  padding-bottom:56px;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-contact-card{
  overflow:hidden;
  max-width:var(--lp-wrap);
  margin:0 auto;
  border-radius:1.35rem;
  border:0;
  background:var(--lp-card);
  box-shadow:0 18px 40px -20px rgba(18,25,16,.35);
}
:is(.lp-tpl-carta,.lp-boutique) .lp-contact-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:32px;
  max-width:none;
  margin:0;
  padding:24px;
  text-align:left;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-contact-grid--solo{
  grid-template-columns:1fr;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-contact .lp-h2,
:is(.lp-tpl-carta,.lp-boutique) .lp-contact .lp-eyebrow,
:is(.lp-tpl-carta,.lp-boutique) .lp-contact .lp-prose{
  text-align:left;
  margin-left:0;
  margin-right:0;
  color:var(--lp-ink);
}
:is(.lp-tpl-carta,.lp-boutique) .lp-contact .lp-h2{
  max-width:none;
  margin:0;
  font-size:clamp(1.45rem, 3vw, 1.85rem);
}
:is(.lp-tpl-carta,.lp-boutique) .lp-contact-lead{
  margin:12px 0 0;
  max-width:24rem;
  color:var(--lp-muted);
  font-size:1rem;
  line-height:1.6;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-contact-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:28px;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-contact-primary-link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:16px;
  font-size:14px;
  font-weight:700;
  color:var(--lp-accent);
  text-decoration:none;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-contact-primary-link:hover{ text-decoration:underline; }
:is(.lp-tpl-carta,.lp-boutique) .lp-contact-row{ justify-content:center; gap:12px; }
:is(.lp-tpl-carta,.lp-boutique) .lp-contact-details{
  display:grid;
  gap:18px;
  align-self:start;
  margin:0;
  border-radius:0;
  background:transparent;
  padding:4px 0 0;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-contact-detail{
  display:flex;
  gap:12px;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-contact-detail i{
  flex-shrink:0;
  margin-top:2px;
  color:var(--lp-accent);
  font-size:18px;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-contact-detail dt{
  font-size:14px;
  font-weight:700;
  color:var(--lp-ink);
}
:is(.lp-tpl-carta,.lp-boutique) .lp-contact-detail dd{
  margin:2px 0 0;
  font-size:14px;
  color:var(--lp-muted);
}
:is(.lp-tpl-carta,.lp-boutique) .lp-contact-detail a{
  color:var(--lp-accent);
  font-weight:600;
  text-decoration:none;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-contact-detail a:hover{ text-decoration:underline; }
:is(.lp-tpl-carta,.lp-boutique) .lp-contact-copy .lp-pagos{
  margin:22px 0 0;
  padding:0;
  text-align:left;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-pagos-label{
  color:var(--lp-muted);
  font-size:12px;
  font-weight:600;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-pagos-chips{ justify-content:flex-start; }
:is(.lp-tpl-carta,.lp-boutique) .lp-pago-chip{
  background:var(--lp-cream);
  border-color:var(--lp-line);
  color:var(--lp-choc);
  font-size:12px;
  padding:4px 10px;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-pedido-chip{
  background:var(--lp-cream);
  border-color:var(--lp-line);
  color:var(--lp-choc);
}
:is(.lp-tpl-carta,.lp-boutique) a.lp-pedido-chip:hover{
  border-color:var(--lp-accent);
  color:var(--lp-accent);
}
:is(.lp-tpl-carta,.lp-boutique) .lp-contact-redes{ margin-top:28px; }
:is(.lp-tpl-carta,.lp-boutique) .lp-contact-redes .lp-social-row{
  justify-content:flex-start;
  gap:8px;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-wa-fab{ display:none; }
:is(.lp-tpl-carta,.lp-boutique) .lp-btn--soft{
  background:var(--lp-card);
  border-color:var(--lp-line);
  border-radius:999px;
  color:var(--lp-ink);
  font-weight:600;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-btn--soft:hover{
  border-color:var(--lp-accent);
  color:var(--lp-accent);
  background:var(--lp-card);
}
:is(.lp-tpl-carta,.lp-boutique) .lp-strip{
  background:transparent;
  border:0;
  padding:0 clamp(16px, 4vw, 32px);
  margin-top:-36px;
  position:relative;
  z-index:4;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-strip-row{
  max-width:var(--lp-wrap);
  margin:0 auto;
  padding:18px 22px;
  gap:12px 20px;
  justify-content:space-around;
  background:#fff;
  border-radius:16px;
  box-shadow:0 16px 36px -20px rgba(18,25,16,.32);
}
:is(.lp-tpl-carta,.lp-boutique) .lp-strip-row li{
  flex-direction:row;
  text-align:left;
  min-width:0;
  gap:8px;
  font-size:13px;
  letter-spacing:.02em;
  text-transform:none;
  font-weight:500;
  color:var(--lp-muted);
}
:is(.lp-tpl-carta,.lp-boutique) .lp-strip-row i{
  width:auto;
  height:auto;
  display:inline;
  place-items:unset;
  border-radius:0;
  font-size:15px;
  color:var(--lp-accent);
  background:transparent;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-social{
  background:transparent;
  padding-bottom:64px;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-social-btn{
  background:var(--lp-card);
  border-color:var(--lp-line);
  border-radius:999px;
  color:var(--lp-ink);
  width:44px;
  height:44px;
  padding:0;
  justify-content:center;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-social-btn span{ display:none; }
:is(.lp-tpl-carta,.lp-boutique) .lp-social-btn--ig{
  background:var(--lp-card);
  color:var(--lp-ink);
  border-color:var(--lp-line);
}
:is(.lp-tpl-carta,.lp-boutique) .lp-social-btn:hover,
:is(.lp-tpl-carta,.lp-boutique) .lp-social-btn--ig:hover{
  border-color:var(--lp-accent);
  color:var(--lp-accent);
  filter:none;
}

:is(.lp-tpl-carta,.lp-boutique) .lp-cta-final{
  max-width:none;
  margin:0;
  padding:28px clamp(20px, 5vw, 48px);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:16px;
  text-align:center;
  background:var(--lp-forest);
  border-top:1px solid color-mix(in srgb, var(--lp-accent) 70%, transparent);
  border-bottom:1px solid color-mix(in srgb, var(--lp-accent) 70%, transparent);
}
:is(.lp-tpl-carta,.lp-boutique) .lp-cta-final-msg{
  margin:0;
  color:#fff;
  font-family:var(--display);
  font-size:clamp(1.15rem, 2.4vw, 1.55rem);
  font-weight:600;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-cta-final .lp-btn--solid{
  padding:10px 20px;
  font-size:.92rem;
  flex-shrink:0;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-foot{
  background:var(--lp-forest-deep);
  color:rgba(255,255,255,.5);
  max-width:none;
  margin:0;
  padding:22px 24px 26px;
  border-top:0;
  text-align:center;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-foot-inner{ max-width:var(--lp-wrap); }
:is(.lp-tpl-carta,.lp-boutique) .lp-foot-brand{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-family:var(--display);
  font-size:1rem;
  font-weight:600;
  font-style:normal;
  color:#fff;
  margin-bottom:0;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-foot-brand img{
  width:22px;
  height:22px;
  border-radius:999px;
  object-fit:cover;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-foot-tagline,
:is(.lp-tpl-carta,.lp-boutique) .lp-foot-socials{
  display:none;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-foot-copy{
  margin:8px 0 0;
  font-size:12px;
  color:rgba(255,255,255,.42);
}
:is(.lp-tpl-carta,.lp-boutique) .lp-foot-meta{
  flex-direction:row;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px 22px;
}
:is(.lp-tpl-carta,.lp-boutique) .lp-foot-meta li,
:is(.lp-tpl-carta,.lp-boutique) .lp-foot-meta a{ color:var(--lp-muted); }
:is(.lp-tpl-carta,.lp-boutique) .lp-foot-meta a:hover{ color:var(--lp-accent); }
:is(.lp-tpl-carta,.lp-boutique) .lp-foot-nav a{ color:var(--lp-muted); }
:is(.lp-tpl-carta,.lp-boutique) .lp-foot-nav a:hover{ color:var(--lp-accent); }
:is(.lp-tpl-carta,.lp-boutique) .lp-foot-share{ color:color-mix(in srgb, var(--lp-muted) 70%, transparent); margin-top:16px; }

@media (min-width:640px){
  :is(.lp-tpl-carta,.lp-boutique) .lp-contact-grid{ padding:36px 40px; }
  :is(.lp-tpl-carta,.lp-boutique) .lp-gallery-row--rail figure{ flex-basis:300px; }
}
@media (max-width:1100px){
  :is(.lp-tpl-carta,.lp-boutique) .lp-products{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
@media (max-width:980px){
  :is(.lp-tpl-carta,.lp-boutique) .lp-products{ grid-template-columns:repeat(2, minmax(0, 1fr)); gap:16px; }
  :is(.lp-tpl-carta,.lp-boutique) .lp-gallery-row{ grid-template-columns:repeat(2, minmax(0, 1fr)); max-width:none; }
  :is(.lp-tpl-carta,.lp-boutique) .lp-gallery-row--mosaic[data-count="5"]{
    grid-template-columns:repeat(4, minmax(0, 1fr));
    grid-template-rows:repeat(2, minmax(72px, 110px));
  }
  :is(.lp-tpl-carta,.lp-boutique) .lp-nav-links{ display:none; }
  :is(.lp-tpl-carta,.lp-boutique) .lp-nav-menu{ display:grid; }
  :is(.lp-tpl-carta,.lp-boutique) .lp-nav{
    grid-template-columns:1fr auto;
  }
  :is(.lp-tpl-carta,.lp-boutique) .lp-nav-actions{ grid-column:2; }
}
@media (max-width:820px){
  :is(.lp-tpl-carta,.lp-boutique) .lp-hero,
  :is(.lp-tpl-carta,.lp-boutique) .lp-hero--boutique{
    grid-template-columns:1fr;
    min-height:0;
  }
  :is(.lp-tpl-carta,.lp-boutique) .lp-hero-visual{
    order:-1;
    min-height:280px;
  }
  :is(.lp-tpl-carta,.lp-boutique) .lp-hero-frame{ border-radius:0; }
  :is(.lp-tpl-carta,.lp-boutique) .lp-gallery-row--mosaic[data-count="5"],
  :is(.lp-tpl-carta,.lp-boutique) .lp-gallery-row--mosaic[data-count="4"]{
    grid-template-columns:1fr 1fr;
    grid-template-rows:minmax(150px, 190px) minmax(72px, 96px) minmax(72px, 96px);
  }
  :is(.lp-tpl-carta,.lp-boutique) .lp-gallery-row--mosaic[data-count="5"] figure:first-child,
  :is(.lp-tpl-carta,.lp-boutique) .lp-gallery-row--mosaic[data-count="4"] figure:first-child{
    grid-column:1 / 3;
    grid-row:1;
  }
  :is(.lp-tpl-carta,.lp-boutique) .lp-gallery-row--mosaic[data-count="3"]{
    grid-template-columns:1fr 1fr;
    grid-template-rows:minmax(140px, 180px) minmax(72px, 96px);
  }
  :is(.lp-tpl-carta,.lp-boutique) .lp-gallery-row--mosaic[data-count="3"] figure:first-child{
    grid-column:1 / 3;
    grid-row:1;
  }
  :is(.lp-tpl-carta,.lp-boutique) .lp-hero-copy{
    min-height:0;
    max-width:none;
    padding:32px 20px 56px;
  }
  :is(.lp-tpl-carta,.lp-boutique) .lp-gallery-seal{ display:none; }
  :is(.lp-tpl-carta,.lp-boutique) .lp-lead{ text-align:left; }
  :is(.lp-tpl-carta,.lp-boutique) .lp-about-card,
  :is(.lp-tpl-carta,.lp-boutique) .lp-about-card.has-image{ grid-template-columns:1fr; }
  :is(.lp-tpl-carta,.lp-boutique) .lp-about-visual,
  :is(.lp-tpl-carta,.lp-boutique) .lp-about-media{ min-height:0; aspect-ratio:4/3; order:-1; }
  :is(.lp-tpl-carta,.lp-boutique) .lp-about-card.has-image .lp-about-text{ order:0; }
  :is(.lp-tpl-carta,.lp-boutique) .lp-about-text{ padding:36px 20px 48px; }
  :is(.lp-tpl-carta,.lp-boutique) .lp-about .lp-eyebrow,
  :is(.lp-tpl-carta,.lp-boutique) .lp-about .lp-h2{ text-align:left; }
  :is(.lp-tpl-carta,.lp-boutique) .lp-contact-grid{ grid-template-columns:1fr; }
  :is(.lp-tpl-carta,.lp-boutique) .lp-cta-final{ padding:22px 20px; }
  :is(.lp-tpl-carta,.lp-boutique) .lp-section,
  :is(.lp-tpl-carta,.lp-boutique) #lp-oferta{
    padding-top:48px;
    padding-bottom:48px;
  }
  :is(.lp-tpl-carta,.lp-boutique) .lp-gallery{ padding:48px 20px 96px; }
}
@media (max-width:520px){
  :is(.lp-tpl-carta,.lp-boutique) .lp-products{ grid-template-columns:1fr 1fr; gap:12px; }
  :is(.lp-tpl-carta,.lp-boutique) .lp-hero-visual{ min-height:240px; }
  :is(.lp-tpl-carta,.lp-boutique) .lp-nav-ficha{ display:none; }
  :is(.lp-tpl-carta,.lp-boutique) .lp-brand{ font-size:2.05rem; }
  :is(.lp-tpl-carta,.lp-boutique) .lp-nav{ padding:10px 16px; }
  :is(.lp-tpl-carta,.lp-boutique) .lp-strip{ margin-top:-28px; }
  :is(.lp-tpl-carta,.lp-boutique) .lp-strip-row{
    justify-content:flex-start;
    gap:10px 14px;
    padding:14px 16px;
  }
}

/* --- Landing plantilla Vitrina: sitio independiente, bosque / blanco / gris --- */
.landing-body.lp-tpl-vitrina,
.landing-body.lp-vitrina{
  background:#fff;
  color:#1A211E;
  font-family:'Plus Jakarta Sans', 'Segoe UI', sans-serif;
  font-size:17px;
  line-height:1.55;
  --vt-green:#1B3D2F;
  --vt-green-deep:#142C22;
  --vt-ink:#1A211E;
  --vt-muted:#5A675F;
  --vt-line:#E3E8E5;
  --vt-gray:#F3F1EC;
  --vt-radius:12px;
  --vt-wrap:1220px;
  --lp-accent:#1B3D2F;
  overflow-x:hidden;
  scroll-behavior:smooth;
}
.landing-body.lp-tpl-vitrina *,
.landing-body.lp-vitrina *{ box-sizing:border-box; }
.landing-body.lp-tpl-vitrina img,
.landing-body.lp-vitrina img{ max-width:100%; display:block; }

.vt-wrap{ width:min(var(--vt-wrap), calc(100% - 64px)); margin:0 auto; }
.vt-main{ display:block; }

.vt-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  min-height:52px; padding:14px 26px; border-radius:999px;
  font-family:inherit; font-size:15.5px; font-weight:650; line-height:1.2;
  text-decoration:none; border:1.5px solid transparent; cursor:pointer;
  transition:background .2s ease, color .2s ease, border-color .2s ease;
}
.vt-btn--solid{ background:var(--vt-green); color:#fff; }
.vt-btn--solid:hover{ background:var(--vt-green-deep); color:#fff; }
.vt-btn--ghost{ background:transparent; color:#fff; border-color:rgba(255,255,255,.85); }
.vt-btn--ghost:hover{ background:#fff; color:var(--vt-green); }
.vt-btn--header{ background:var(--vt-green); color:#fff; padding:12px 22px; min-height:46px; font-size:14.5px; }
.vt-btn--header:hover{ background:var(--vt-green-deep); color:#fff; }
.vt-btn--on-green{ background:#fff; color:var(--vt-green); min-height:56px; padding:16px 32px; font-size:16px; }
.vt-btn--on-green:hover{ background:#F4F6F5; color:var(--vt-green-deep); }

.vt-header{
  position:sticky; top:0; z-index:30;
  background:#fff;
  border-bottom:1px solid var(--vt-line);
}
.vt-header-inner{
  width:min(var(--vt-wrap), calc(100% - 64px));
  margin:0 auto;
  min-height:84px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:28px;
}
.vt-brand{
  display:inline-flex; align-items:center; gap:12px;
  text-decoration:none; color:var(--vt-ink); min-width:0;
  font-weight:700; font-size:18px; letter-spacing:-.02em;
}
.vt-brand img{
  width:46px; height:46px; object-fit:cover; border-radius:10px; background:var(--vt-gray); flex-shrink:0;
}
.vt-brand span{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:28vw; }
.vt-nav{ display:flex; justify-content:center; flex-wrap:wrap; gap:6px 28px; }
.vt-nav a{
  text-decoration:none; color:#3F4A44; font-size:15px; font-weight:550;
  padding:8px 0;
}
.vt-nav a:hover{ color:var(--vt-green); }
.vt-header-actions{ display:flex; align-items:center; gap:12px; justify-self:end; }
.vt-menu-btn{
  display:none; width:46px; height:46px; border:0; background:transparent;
  color:var(--vt-ink); font-size:24px; cursor:pointer; border-radius:10px;
}
.vt-menu-btn:hover{ background:var(--vt-gray); }
.vt-nav-movil{ display:none; }
.vt-nav-movil.is-open{
  display:flex; flex-direction:column; gap:2px;
  padding:10px 24px 18px; border-top:1px solid var(--vt-line); background:#fff;
}
.vt-nav-movil a{
  text-decoration:none; color:var(--vt-ink); font-weight:600; font-size:16px;
  padding:14px 4px; min-height:48px; display:flex; align-items:center;
}

.vt-hero{ background:#111; color:#fff; }
.vt-hero-stage{ position:relative; min-height:min(82vh, 760px); overflow:hidden; }
.vt-hero-visual{ position:absolute; inset:0; }
.vt-hero-visual img{
  width:100%; height:100%; object-fit:cover; object-position:center;
  max-width:none;
}
.vt-hero-stage::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(10,22,18,.58) 0%, rgba(10,22,18,.32) 46%, rgba(10,22,18,.12) 100%);
  pointer-events:none;
}
.vt-hero-copy{
  position:relative; z-index:1;
  width:min(calc(var(--vt-wrap) * .5), 52%);
  max-width:620px;
  margin:0;
  padding:clamp(72px, 11vh, 120px) 0 clamp(56px, 9vh, 96px);
  margin-left:max(32px, calc((100% - var(--vt-wrap)) / 2));
  display:flex; flex-direction:column; align-items:flex-start; gap:18px;
}
.vt-kicker{
  margin:0; display:inline-flex; align-items:center;
  padding:6px 12px; border:1px solid rgba(255,255,255,.35); border-radius:6px;
  font-size:12px; font-weight:700; letter-spacing:.14em;
  text-transform:uppercase; color:rgba(255,255,255,.92);
}
.vt-hero-nombre{
  margin:0; font-size:16px; font-weight:600; color:rgba(255,255,255,.92);
}
.vt-hero-title{
  margin:0;
  font-family:'Cormorant Garamond', Georgia, serif;
  font-weight:600; font-size:clamp(2.75rem, 4.6vw, 4rem);
  line-height:1.08; letter-spacing:-.02em; color:#fff;
  max-width:none;
}
.vt-hero-lead{
  margin:0; max-width:46ch; font-size:1.125rem; line-height:1.65;
  color:rgba(255,255,255,.9); font-weight:400;
}
.vt-hero-cta{ display:flex; flex-wrap:wrap; gap:14px; margin-top:6px; }
.vt-hero-diffs{
  list-style:none; margin:22px 0 0; padding:0;
  display:flex; flex-wrap:wrap; gap:14px 28px;
}
.vt-hero-diffs li{
  display:inline-flex; align-items:center; gap:10px;
  font-size:15px; font-weight:550; color:rgba(255,255,255,.92);
}
.vt-hero-diffs i{ font-size:20px; color:#D5E4DC; }
.vt-hero--sin-foto{ background:var(--vt-gray); color:var(--vt-ink); }
.vt-hero--sin-foto .vt-hero-stage{ min-height:0; }
.vt-hero--sin-foto .vt-hero-stage::after{ display:none; }
.vt-hero--sin-foto .vt-hero-copy{ padding:88px 0 72px; width:min(720px, 100%); max-width:none; }
.vt-hero--sin-foto .vt-kicker{
  color:var(--vt-green); border-color:rgba(27,61,47,.25);
}
.vt-hero--sin-foto .vt-hero-nombre{ color:var(--vt-green); }
.vt-hero--sin-foto .vt-hero-title{ color:var(--vt-ink); }
.vt-hero--sin-foto .vt-hero-lead{ color:var(--vt-muted); }
.vt-hero--sin-foto .vt-hero-diffs li{ color:var(--vt-muted); }
.vt-hero--sin-foto .vt-hero-diffs i{ color:var(--vt-green); }
.vt-hero--sin-foto .vt-btn--ghost{
  color:var(--vt-green); border-color:var(--vt-green); background:#fff;
}
.vt-hero--sin-foto .vt-btn--ghost:hover{ background:var(--vt-green); color:#fff; }

.vt-acciones{ background:#fff; border-bottom:1px solid var(--vt-line); }
.vt-acciones-row{
  width:min(var(--vt-wrap), calc(100% - 48px));
  margin:0 auto;
  display:flex; flex-wrap:wrap; justify-content:space-between;
  gap:8px 12px; padding:22px 0;
}
.vt-acciones-row a{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:8px; flex:1 1 110px; min-width:104px; min-height:96px; padding:14px 12px;
  text-decoration:none; color:var(--vt-ink);
  border-radius:var(--vt-radius);
}
.vt-acciones-row a:hover{ background:var(--vt-gray); color:var(--vt-green); }
.vt-acciones-row i{ font-size:28px; color:var(--vt-green); }
.vt-acciones-row span{ font-size:13px; font-weight:600; }
.vt-accion-txt{ display:contents; }
.vt-accion-txt strong{ font-size:13px; font-weight:600; }
.vt-accion-txt small{ display:none; }

.vt-section{ padding:92px 0; }
.vt-sec-head{ margin:0 0 40px; }
.vt-sec-head--row{
  display:flex; align-items:flex-end; justify-content:space-between; gap:16px; flex-wrap:wrap;
}
.vt-ver-todos{
  appearance:none; border:0; background:none; padding:0;
  font:inherit; font-size:15px; font-weight:650; color:var(--vt-green);
  cursor:pointer; text-decoration:none;
}
.vt-ver-todos:hover{ text-decoration:underline; }
.vt-sec-head h2,
.vt-about-text h2,
.vt-contacto-datos h2,
.vt-contacto-redes h2{
  margin:0;
  font-family:'Plus Jakarta Sans', 'Segoe UI', sans-serif;
  font-size:clamp(1.85rem, 3.2vw, 2.4rem);
  font-weight:700; letter-spacing:-.03em; color:var(--vt-ink);
}
.vt-eyebrow{
  margin:0 0 10px;
  font-size:13px; font-weight:700; letter-spacing:.14em;
  text-transform:uppercase; color:var(--vt-green);
}

.vt-oferta{ background:#fff; }
.vt-oferta-grid{ display:grid; gap:56px; }
.vt-oferta-grid--ambos{ grid-template-columns:1fr 1fr; gap:48px 56px; }
.vt-oferta-grid--stack,
.vt-oferta-grid--solo{ grid-template-columns:1fr; }
.vt-oferta-col-head{
  display:flex; align-items:baseline; justify-content:space-between; gap:16px;
  margin:0 0 24px; padding-bottom:12px;
  border-bottom:1px solid var(--vt-line);
}
.vt-oferta-col-head h3{
  margin:0; font-size:1.35rem; font-weight:700; color:var(--vt-ink); letter-spacing:-.02em;
}
.vt-oferta-col-head a{
  font-size:15px; font-weight:650; color:var(--vt-green); text-decoration:none;
}
.vt-oferta-col-head a:hover{ text-decoration:underline; }
.vt-cards{ display:grid; gap:24px; }
.vt-cards--1{ grid-template-columns:minmax(0, 480px); }
.vt-oferta-grid--solo .vt-cards--1{ margin:0 auto; }
.vt-cards--2{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
.vt-cards--3{ grid-template-columns:repeat(3, minmax(0, 1fr)); }
.vt-cards--4{ grid-template-columns:repeat(4, minmax(0, 1fr)); }
.vt-cards--5,
.vt-cards--6{ grid-template-columns:repeat(3, minmax(0, 1fr)); }
.vt-oferta-grid--ambos .vt-cards--2,
.vt-oferta-grid--ambos .vt-cards--3,
.vt-oferta-grid--ambos .vt-cards--4,
.vt-oferta-grid--ambos .vt-cards--5,
.vt-oferta-grid--ambos .vt-cards--6{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
.vt-oferta-grid--ambos .vt-cards--1{ grid-template-columns:1fr; }
.vt-card{
  background:#fff; border:0; border-radius:var(--vt-radius);
  overflow:hidden; min-width:0;
  display:flex; flex-direction:column;
}
.vt-card-media{
  aspect-ratio:1; background:var(--vt-gray); overflow:hidden;
  border-radius:var(--vt-radius);
}
.vt-card-media img{ width:100%; height:100%; object-fit:cover; }
.vt-card-body{ padding:14px 2px 4px; display:flex; flex-direction:column; gap:6px; flex:1; }
.vt-card-body h3{
  margin:0; font-size:1.15rem; font-weight:700; letter-spacing:-.02em; color:var(--vt-ink);
}
.vt-card-body p{
  margin:0; font-size:15px; line-height:1.5; color:var(--vt-muted);
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.vt-card-precio{ font-size:16px; color:var(--vt-green); font-weight:700; }
.vt-card-link{
  margin-top:4px; align-self:flex-start;
  font-size:14.5px; font-weight:650; color:var(--vt-green); text-decoration:none;
}
.vt-card-link:hover{ text-decoration:underline; }

.vt-diffs{ background:var(--vt-gray); }
.vt-diffs-grid{
  list-style:none; margin:0; padding:0;
  display:grid; gap:36px 40px;
}
.vt-diffs-grid--1{ grid-template-columns:minmax(0, 420px); }
.vt-diffs-grid--2{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
.vt-diffs-grid--3{ grid-template-columns:repeat(3, minmax(0, 1fr)); }
.vt-diffs-grid--4{ grid-template-columns:repeat(4, minmax(0, 1fr)); }
.vt-diffs-grid--5{ grid-template-columns:repeat(5, minmax(0, 1fr)); }
.vt-diffs-grid li{
  background:transparent; border:0; padding:0;
}
.vt-diffs-grid i{ font-size:30px; color:var(--vt-green); display:block; margin-bottom:14px; }
.vt-diffs-grid h3{ margin:0 0 8px; font-size:1.2rem; font-weight:700; color:var(--vt-ink); }
.vt-diffs-grid p{ margin:0; font-size:15.5px; line-height:1.5; color:var(--vt-muted); }

.vt-galeria{ background:#fff; }
.vt-gal{ display:grid; gap:12px; overflow:visible; }
.vt-gal figure{
  margin:0; border-radius:var(--vt-radius); overflow:hidden;
  background:var(--vt-gray); min-width:0; min-height:0; height:100%;
}
.vt-gal img{ width:100%; height:100%; object-fit:cover; display:block; }
.vt-gal--1{ grid-template-columns:1fr; }
.vt-gal--1 figure{ min-height:min(58vh, 520px); }
.vt-gal--2{
  grid-template-columns:1fr 1fr;
  grid-template-rows:1fr;
  aspect-ratio:2 / 1;
}
.vt-gal--3{
  grid-template-columns:1fr 1fr;
  grid-template-rows:1fr 1fr;
  aspect-ratio:2 / 1;
}
.vt-gal--3 figure:first-child{ grid-row:span 2; }
.vt-gal--4{
  grid-template-columns:1fr 1fr;
  grid-template-rows:1fr 1fr;
  aspect-ratio:2 / 1;
}
.vt-gal--5{
  grid-template-columns:minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr);
  grid-template-rows:minmax(0, 1fr) minmax(0, 1fr);
  grid-template-areas:
    "grande a b"
    "grande c d";
  aspect-ratio:16 / 9;
}
.vt-gal--5 figure:nth-child(1){ grid-area:grande; }
.vt-gal--5 figure:nth-child(2){ grid-area:a; }
.vt-gal--5 figure:nth-child(3){ grid-area:b; }
.vt-gal--5 figure:nth-child(4){ grid-area:c; }
.vt-gal--5 figure:nth-child(5){ grid-area:d; }
.vt-gal--many{
  grid-template-columns:1.25fr 1fr 1fr 1fr;
  grid-auto-rows:minmax(170px, 18vw);
}
.vt-gal--many figure:first-child{ grid-column:span 1; grid-row:span 2; }

.vt-about{ background:var(--vt-gray); }
.vt-about-grid{
  display:grid; grid-template-columns:minmax(0, .42fr) minmax(0, .58fr);
  gap:clamp(36px, 6vw, 72px); align-items:center;
}
.vt-about-grid--solo{ grid-template-columns:1fr; max-width:760px; }
.vt-about-media{
  border-radius:14px; overflow:hidden; min-height:0;
  aspect-ratio:4/5; background:#d7ddd9;
}
.vt-about-media img{ width:100%; height:100%; object-fit:cover; }
.vt-about-text h2{ margin-bottom:18px; }
.vt-about-lead{
  margin:0 0 18px;
  font-size:1.15rem; line-height:1.6; font-weight:500; color:#2C3832;
}
.vt-prose{ font-size:18.5px; line-height:1.85; color:#3C4A44; font-weight:400; }
.vt-prose p{ margin:0 0 16px; }
.vt-prose p:last-child{ margin-bottom:0; }

.vt-resenas{ background:#fff; }
.vt-reviews{ display:grid; gap:24px; }
.vt-reviews--1{ grid-template-columns:minmax(0, 720px); justify-content:center; }
.vt-reviews--2{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
.vt-reviews--3{ grid-template-columns:repeat(3, minmax(0, 1fr)); }
.vt-review{
  margin:0; background:var(--vt-gray); border-radius:var(--vt-radius);
  padding:32px 28px 26px; display:flex; flex-direction:column; gap:14px;
}
.vt-reviews--1 .vt-review{ padding:40px 36px; }
.vt-review-stars{ margin:0; color:var(--vt-green); letter-spacing:3px; font-size:15px; }
.vt-review-text{ margin:0; font-size:17px; line-height:1.6; color:var(--vt-ink); }
.vt-review footer{
  display:flex; align-items:center; gap:12px; margin-top:auto;
}
.vt-review-ava{
  width:40px; height:40px; border-radius:50%;
  display:grid; place-items:center;
  background:var(--vt-green); color:#fff; font-size:14px; font-weight:700;
}
.vt-review cite{ font-style:normal; font-size:15px; font-weight:650; color:var(--vt-muted); }

.vt-info{ background:var(--vt-gray); }
.vt-info-grid{ display:grid; gap:20px; }
.vt-info-grid--1{ grid-template-columns:minmax(0, 480px); }
.vt-info-grid--2{ grid-template-columns:1fr 1fr; }
.vt-info-grid--3{ grid-template-columns:repeat(3, minmax(0, 1fr)); }
.vt-info-grid--4{ grid-template-columns:repeat(4, minmax(0, 1fr)); }
.vt-info-grid--5,
.vt-info-grid--6,
.vt-info-grid--7{ grid-template-columns:repeat(3, minmax(0, 1fr)); }
.vt-info-card{
  background:#fff; border-radius:14px; padding:28px 24px;
  min-width:0; border:1px solid rgba(27,61,47,.06);
}
.vt-info-card h3{
  margin:0 0 16px; font-size:1.15rem; font-weight:700; color:var(--vt-ink);
  display:flex; align-items:center; gap:10px;
}
.vt-info-card h3 i{ color:var(--vt-green); font-size:22px; }
.vt-info-card p,
.vt-info-card li{ margin:0; font-size:15.5px; line-height:1.55; color:#3C4A44; }
.vt-info-card ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
.vt-info-chips{ flex-direction:row !important; flex-wrap:wrap; gap:10px !important; }
.vt-info-chips li,
.vt-info-chip{
  display:inline-flex; align-items:center; gap:6px;
  padding:8px 12px; border-radius:999px; background:var(--vt-gray);
  font-size:14px; font-weight:650; color:var(--vt-ink); text-decoration:none;
}
a.vt-info-chip:hover{ background:#E4EAE7; color:var(--vt-green); }

.vt-cierre{ background:var(--vt-green); color:#fff; padding:96px 0; }
.vt-cierre-inner{
  display:flex; align-items:center; justify-content:space-between;
  gap:32px 48px;
}
.vt-cierre-copy{ max-width:38ch; }
.vt-cierre h2{
  margin:0 0 12px; font-family:'Plus Jakarta Sans', sans-serif;
  font-size:clamp(2rem, 3.6vw, 2.75rem); font-weight:700; letter-spacing:-.03em; color:#fff;
}
.vt-cierre p{ margin:0; color:rgba(255,255,255,.86); font-size:18px; line-height:1.55; }
.vt-cierre .vt-btn{ flex-shrink:0; }

.vt-contacto{ background:#fff; }
.vt-contacto-grid{
  display:grid; gap:48px 56px; align-items:start;
  grid-template-columns:minmax(0, 1fr);
}
.vt-contacto-grid--mapa.vt-contacto-grid--redes{ grid-template-columns:minmax(0, 1fr) minmax(0, 1.15fr) auto; }
.vt-contacto-grid--mapa:not(.vt-contacto-grid--redes){ grid-template-columns:minmax(0, .9fr) minmax(0, 1.2fr); }
.vt-contacto-grid--redes:not(.vt-contacto-grid--mapa){ grid-template-columns:minmax(0, 1.3fr) auto; }
.vt-contacto-datos ul{ list-style:none; margin:22px 0 0; padding:0; display:flex; flex-direction:column; gap:20px; }
.vt-contacto-datos li{ display:flex; gap:14px; align-items:flex-start; }
.vt-contacto-datos i{ font-size:22px; color:var(--vt-green); margin-top:3px; }
.vt-contacto-datos span{
  display:block; font-size:13px; font-weight:700; letter-spacing:.06em;
  text-transform:uppercase; color:var(--vt-muted); margin-bottom:4px;
}
.vt-contacto-datos p,
.vt-contacto-datos a{ margin:0; color:var(--vt-ink); font-size:17px; text-decoration:none; font-weight:550; }
.vt-contacto-datos a:hover{ color:var(--vt-green); }
.vt-contacto-mapa{
  border-radius:14px; overflow:hidden; min-height:300px; background:var(--vt-gray);
}
.vt-contacto-mapa iframe{ width:100%; height:320px; border:0; display:block; }
.vt-redes{ display:flex; flex-wrap:wrap; gap:12px; margin-top:18px; }
.vt-redes a{
  width:48px; height:48px; border-radius:50%;
  display:grid; place-items:center;
  background:var(--vt-gray); color:var(--vt-green); text-decoration:none; font-size:20px;
}
.vt-redes a:hover{ background:var(--vt-green); color:#fff; }

.vt-foot{
  background:#121816; color:#C9D2CD;
  padding:56px 32px 40px;
}
.vt-foot-inner{
  width:min(var(--vt-wrap), 100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:20px 32px;
}
.vt-foot-brand{ display:flex; align-items:center; gap:12px; color:#fff; }
.vt-foot-brand img{ width:40px; height:40px; object-fit:cover; border-radius:10px; }
.vt-foot-brand strong{ font-size:18px; font-weight:700; }
.vt-foot-nav{ display:flex; flex-wrap:wrap; justify-content:center; gap:10px 22px; }
.vt-foot-nav a{ color:#C9D2CD; text-decoration:none; font-size:15px; }
.vt-foot-nav a:hover{ color:#fff; }
.vt-foot-pagos{ justify-self:end; text-align:right; }
.vt-foot-pagos span{
  display:block; font-size:12px; font-weight:700; letter-spacing:.08em;
  text-transform:uppercase; color:#8A9690; margin-bottom:8px;
}
.vt-foot-pagos ul{
  list-style:none; margin:0; padding:0;
  display:flex; flex-wrap:wrap; justify-content:flex-end; gap:6px;
}
.vt-foot-pagos li{
  font-size:13px; font-weight:650; color:#D5DCD8;
  padding:5px 8px; border:1px solid #2C3532; border-radius:6px;
}
.vt-foot-contact{
  list-style:none; margin:0; padding:0;
  grid-column:1 / -1;
  display:flex; flex-wrap:wrap; justify-content:center; gap:8px 20px; font-size:14.5px;
}
.vt-foot-contact a{ color:#C9D2CD; text-decoration:none; }
.vt-foot-contact a:hover{ color:#fff; }
.vt-foot-redes{ display:flex; gap:10px; grid-column:1 / -1; justify-content:center; }
.vt-foot-redes a{
  width:40px; height:40px; border-radius:50%; display:grid; place-items:center;
  color:#fff; background:#2A3330; text-decoration:none; font-size:18px;
}
.vt-foot-redes a:hover{ background:var(--vt-green); }
.vt-foot-legal{
  grid-column:1 / -1; margin:8px 0 0; text-align:center;
  font-size:13.5px; color:#8A9690;
}
.vt-foot-legal a{ color:#8A9690; }

body.vt-overlay-open{ overflow:hidden; }
.vt-overlay{
  position:fixed; inset:0; z-index:80;
  background:rgba(12,20,17,.55);
  display:flex; align-items:flex-start; justify-content:center;
  padding:24px 16px; overflow:auto;
}
.vt-overlay[hidden]{ display:none; }
.vt-overlay-box{
  width:min(1100px, 100%);
  margin:auto;
  background:#fff; border-radius:16px;
  padding:28px 24px 32px;
  box-shadow:0 18px 50px rgba(0,0,0,.18);
}
.vt-overlay-head{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  margin:0 0 24px;
}
.vt-overlay-head h2{
  margin:0; font-size:1.6rem; font-weight:700; letter-spacing:-.03em; color:var(--vt-ink);
}
.vt-overlay-close{
  width:42px; height:42px; border:0; border-radius:10px;
  background:var(--vt-gray); color:var(--vt-ink); font-size:20px; cursor:pointer;
}
.vt-overlay-close:hover{ background:#E4EAE7; }
.vt-gal--modal{
  grid-template-columns:repeat(3, minmax(0, 1fr));
  grid-auto-rows:minmax(160px, 22vw);
}
.vt-gal--modal figure{ min-height:180px; }
.vt-reviews--modal{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
@media (max-width:768px){
  .vt-overlay{ padding:12px; }
  .vt-overlay-box{ padding:20px 16px 24px; }
  .vt-gal--modal,
  .vt-reviews--modal{ grid-template-columns:1fr; }
  .vt-gal--modal{ display:grid; overflow:visible; }
  .vt-gal--modal figure{ flex:none; height:220px; min-height:220px; }
}

@media (max-width:1100px){
  .vt-diffs-grid--5{ grid-template-columns:repeat(3, minmax(0, 1fr)); }
  .vt-cards--4{ grid-template-columns:repeat(3, minmax(0, 1fr)); }
}

@media (max-width:1024px){
  .vt-wrap,
  .vt-header-inner{ width:min(var(--vt-wrap), calc(100% - 40px)); }
  .vt-hero-copy{ width:min(560px, 62%); max-width:none; }
  .vt-oferta-grid--ambos{ grid-template-columns:1fr; }
  .vt-oferta-grid--ambos .vt-cards--2,
  .vt-oferta-grid--ambos .vt-cards--3,
  .vt-oferta-grid--ambos .vt-cards--4,
  .vt-oferta-grid--ambos .vt-cards--5,
  .vt-oferta-grid--ambos .vt-cards--6{ grid-template-columns:repeat(3, minmax(0, 1fr)); }
  .vt-diffs-grid--4,
  .vt-diffs-grid--5{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .vt-info-grid--4{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .vt-contacto-grid--mapa.vt-contacto-grid--redes,
  .vt-contacto-grid--mapa:not(.vt-contacto-grid--redes){
    grid-template-columns:1fr 1fr;
  }
  .vt-contacto-grid--redes:not(.vt-contacto-grid--mapa){ grid-template-columns:1fr; }
  .vt-gal--many{ grid-template-columns:1.2fr 1fr 1fr; grid-auto-rows:minmax(150px, 22vw); }
  .vt-cierre-inner{ flex-direction:column; align-items:flex-start; }
  .vt-foot-inner{ grid-template-columns:1fr; text-align:center; }
  .vt-foot-brand,
  .vt-foot-pagos{ justify-self:center; text-align:center; }
  .vt-foot-pagos ul{ justify-content:center; }
}

@media (max-width:768px){
  .vt-header-inner{ grid-template-columns:1fr auto; min-height:70px; gap:12px; }
  .vt-nav{ display:none; }
  .vt-menu-btn{ display:grid; place-items:center; }
  .vt-brand span{ max-width:46vw; }
  .vt-hero-stage{
    display:flex; flex-direction:column; min-height:0;
  }
  .vt-hero-stage::after{ display:none; }
  .vt-hero-copy{
    order:1; width:auto; max-width:none; margin:0; padding:36px 24px 28px;
    color:var(--vt-ink); background:#fff;
  }
  .vt-hero-visual{
    position:relative; order:2; inset:auto;
    height:min(62vw, 360px); min-height:240px;
  }
  .vt-kicker,
  .vt-hero-nombre{ color:var(--vt-green); }
  .vt-kicker{ border-color:rgba(27,61,47,.2); }
  .vt-hero-title{ color:var(--vt-ink); max-width:none; font-size:clamp(2.1rem, 8.5vw, 2.8rem); }
  .vt-hero-lead{ color:var(--vt-muted); font-size:1.05rem; }
  .vt-hero-diffs li{ color:var(--vt-muted); }
  .vt-hero-diffs i{ color:var(--vt-green); }
  .vt-btn--ghost{ color:var(--vt-green); border-color:var(--vt-green); background:#fff; }
  .vt-btn--ghost:hover{ background:var(--vt-green); color:#fff; }
  .vt-hero--sin-foto .vt-hero-copy{ padding:40px 24px 32px; }
  .vt-acciones-row{
    display:grid; grid-template-columns:repeat(2, minmax(0, 1fr));
    justify-content:stretch; gap:8px; padding:16px 0;
  }
  .vt-acciones-row--1{ grid-template-columns:1fr; }
  .vt-acciones-row--3 a:last-child,
  .vt-acciones-row--5 a:last-child{ grid-column:1 / -1; }
  .vt-acciones-row a{ min-width:0; flex:none; }
  .vt-section{ padding:64px 0; }
  .vt-cards--3,
  .vt-cards--4,
  .vt-cards--5,
  .vt-cards--6,
  .vt-oferta-grid--ambos .vt-cards--3,
  .vt-oferta-grid--ambos .vt-cards--4,
  .vt-oferta-grid--ambos .vt-cards--5,
  .vt-oferta-grid--ambos .vt-cards--6{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .vt-diffs-grid--3,
  .vt-diffs-grid--5{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .vt-about-grid{ grid-template-columns:1fr; }
  .vt-about-media{ aspect-ratio:16/11; max-height:340px; }
  .vt-prose{ font-size:17.5px; line-height:1.8; }
  .vt-reviews--2,
  .vt-reviews--3{ grid-template-columns:1fr; }
  .vt-info-grid--3,
  .vt-info-grid--5,
  .vt-info-grid--6,
  .vt-info-grid--7{ grid-template-columns:1fr 1fr; }
  .vt-contacto-grid--mapa.vt-contacto-grid--redes,
  .vt-contacto-grid--mapa:not(.vt-contacto-grid--redes){ grid-template-columns:1fr; }
  .vt-cierre{ padding:64px 0; }
  .vt-gal{ display:grid; overflow:visible; }
  .vt-gal--1 figure{ min-height:240px; }
  .vt-gal--2{
    grid-template-columns:1fr;
    aspect-ratio:auto;
  }
  .vt-gal--2 figure{ height:auto; min-height:0; aspect-ratio:16 / 10; }
  .vt-gal--3,
  .vt-gal--4,
  .vt-gal--5{
    grid-template-columns:1fr 1fr;
    grid-template-rows:auto;
    grid-template-areas:none;
    aspect-ratio:auto;
  }
  .vt-gal--3 figure,
  .vt-gal--4 figure,
  .vt-gal--5 figure{ height:auto; min-height:0; aspect-ratio:1 / 1; grid-area:auto; }
  .vt-gal--3 figure:first-child,
  .vt-gal--5 figure:first-child{
    grid-column:1 / -1;
    grid-row:auto;
    aspect-ratio:16 / 10;
  }
  .vt-gal--4 figure:first-child,
  .vt-gal--4 figure:nth-child(4){ grid-column:auto; grid-row:auto; }
}

@media (max-width:430px){
  .vt-wrap,
  .vt-header-inner{ width:calc(100% - 28px); }
  .vt-btn--header{ padding:10px 14px; font-size:13.5px; }
  .vt-hero-copy{ padding:28px 18px 22px; }
  .vt-hero-cta{ width:100%; }
  .vt-hero-cta .vt-btn{ flex:1 1 100%; }
  .vt-acciones-row{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
  .vt-cards--2,
  .vt-cards--3,
  .vt-cards--4,
  .vt-cards--5,
  .vt-cards--6,
  .vt-oferta-grid--ambos .vt-cards--2,
  .vt-oferta-grid--ambos .vt-cards--3,
  .vt-oferta-grid--ambos .vt-cards--4,
  .vt-oferta-grid--ambos .vt-cards--5,
  .vt-oferta-grid--ambos .vt-cards--6{ grid-template-columns:1fr; }
  .vt-cards--1{ grid-template-columns:1fr; }
  .vt-diffs-grid--2,
  .vt-diffs-grid--3,
  .vt-diffs-grid--4,
  .vt-diffs-grid--5{ grid-template-columns:1fr; }
  .vt-info-grid--2,
  .vt-info-grid--3,
  .vt-info-grid--4,
  .vt-info-grid--5,
  .vt-info-grid--6,
  .vt-info-grid--7{ grid-template-columns:1fr; }
  .vt-gal{
    display:grid; overflow:visible; scroll-snap-type:none;
    padding-bottom:0;
  }
  .vt-gal figure{
    flex:none; width:auto; height:auto; min-height:0;
  }
  .vt-gal--1{ display:grid; }
  .vt-gal--1 figure{ min-height:230px; }
  .vt-gal--many figure:first-child{ grid-column:auto; grid-row:auto; }
}

@media (max-width:375px){
  .vt-hero-title{ font-size:1.9rem; }
  .vt-brand span{ max-width:38vw; }
}

/* --- Club Aquí Se Consigue (teaser público) --- */
.club-hero{
  background:
    radial-gradient(900px 420px at 10% 0%, color-mix(in srgb, var(--marigold) 22%, transparent), transparent 55%),
    linear-gradient(145deg, var(--jade-deep) 0%, var(--jade) 55%, #1a3330 100%);
  color:#fff;
  padding:clamp(48px, 8vw, 88px) 20px;
}
.club-hero-inner{ max-width:720px; margin:0 auto; text-align:center; }
.club-kicker{
  margin:0 0 12px; font-size:12px; letter-spacing:.12em; text-transform:uppercase;
  font-weight:700; opacity:.85;
}
.club-hero h1{
  margin:0 0 14px; font-family:var(--display);
  font-size:clamp(2.2rem, 5vw, 3.4rem); line-height:1.05; letter-spacing:-.02em;
}
.club-lead{
  margin:0 auto 26px; max-width:42ch; font-size:1.1rem; line-height:1.55; opacity:.92;
}
.club-hero-cta{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }
.club-hero .btn-ghost{
  border-color:rgba(255,255,255,.45); color:#fff;
}
.club-hero .btn-ghost:hover{ background:rgba(255,255,255,.1); }
.club-hero-note{ margin:18px 0 0; font-size:13px; opacity:.75; max-width:46ch; margin-left:auto; margin-right:auto; line-height:1.5; }
.club-hero--vitrina{
  background:var(--paper);
  color:var(--ink);
  padding:20px 24px 4px;
  border-bottom:0;
}
.club-hero--vitrina .club-hero-inner{
  max-width:1280px;
  margin:0 auto;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px 24px;
  text-align:left;
}
.club-hero--vitrina .club-hero-copy{ max-width:42rem; }
.club-hero--vitrina .club-kicker{
  margin:0 0 6px; letter-spacing:.16em; font-size:11px; font-weight:600;
  color:var(--ink-soft); opacity:1; text-transform:uppercase;
}
.club-hero--vitrina h1{
  margin:0 0 6px; font-size:clamp(1.35rem, 2.4vw, 1.75rem);
  font-weight:600; letter-spacing:-.025em; line-height:1.2;
}
.club-hero--vitrina .club-lead{
  margin:0 0 6px; max-width:46rem; font-size:14.5px; line-height:1.5;
  opacity:1; color:var(--ink-soft);
}
.club-hero--vitrina .club-hero-note{
  margin:0; max-width:46rem; margin-left:0; font-size:12.5px; line-height:1.4;
  opacity:1; color:var(--ink-soft);
}
.club-hero--vitrina .club-hero-cta{
  justify-content:flex-end; flex-shrink:0; padding-top:18px;
}
.club-hero--vitrina .btn-ghost,
.club-hero--vitrina .club-hero-miclub{
  border-color:var(--line); color:var(--ink); background:transparent;
  min-height:36px; padding:7px 13px; font-size:13px;
}
.club-hero--vitrina .btn-ghost:hover{ background:var(--paper-alt); }

/* Vitrina compacta (club.php) — no toca panel ni player */
.club-vitrina{ padding:12px 24px 64px; background:var(--paper); }
.club-vitrina-inner{ max-width:1280px; margin:0 auto; }
.club-vitrina-filtros{
  display:flex; flex-wrap:wrap; gap:6px; margin:0 0 16px;
}
.club-vitrina-filtro{
  appearance:none; border:1px solid var(--line); background:transparent;
  color:var(--ink); border-radius:999px; padding:6px 12px;
  font-size:12.5px; font-weight:600; cursor:pointer; line-height:1.2;
}
.club-vitrina-filtro:hover{ background:var(--paper-alt); }
.club-vitrina-filtro.is-active{
  background:var(--marigold); border-color:var(--marigold); color:var(--ink);
}
.club-vitrina-filtro-vacio{
  margin:8px 0 0; color:var(--ink-soft); font-size:14px;
}
.club-vitrina-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:14px;
  align-items:stretch;
}
.club-vitrina-card{
  display:flex;
  flex-direction:column;
  background:var(--white);
  border:1px solid color-mix(in srgb, var(--line) 80%, transparent);
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 8px 20px -16px rgba(28,43,46,.4);
  min-height:100%;
}
.club-vitrina-card[hidden]{ display:none !important; }
.club-vitrina-card__art{
  position:relative;
  width:100%;
  height:172px;
  background:var(--paper-alt);
  overflow:hidden;
  flex-shrink:0;
}
.club-vitrina-card__art img,
.club-vitrina-card__fallback{
  width:100%; height:100%; object-fit:cover; display:block;
}
.club-vitrina-card__art--empty,
.club-vitrina-card__fallback{
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--jade) 8%, var(--paper-alt)) 0%, var(--paper-alt) 100%);
}
.club-vitrina-card.is-locked .club-vitrina-card__art img{ filter:saturate(.8); }
.club-vitrina-tipo{
  position:absolute; left:10px; top:10px; margin:0;
  font-size:10px; font-weight:700; letter-spacing:.08em;
  text-transform:uppercase; color:#fff;
  background:rgba(28,43,46,.78); border-radius:999px; padding:4px 8px;
}
.club-vitrina-card__body{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  flex-direction:column;
  padding:12px 14px 12px;
}
.club-vitrina-card__copy{ display:flex; flex-direction:column; gap:6px; }
.club-vitrina-card__body h3{
  margin:0; font-family:var(--display);
  font-size:1.05rem; line-height:1.25;
  font-weight:600; color:var(--ink);
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.club-vitrina-card__desc{
  margin:0; font-size:13px; line-height:1.45; color:var(--ink-soft);
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}
.club-vitrina-card__precio{
  margin:2px 0 0; font-size:14px; font-weight:600; color:var(--ink);
  display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 8px;
}
.club-vitrina-card__precio strong{ font-size:1.05rem; font-weight:700; letter-spacing:-.02em; }
.club-vitrina-card__precio s{
  font-weight:400; font-size:12.5px; color:#c45c4a;
}
.club-vitrina-card__precio span{ font-weight:500; font-size:12.5px; color:var(--ink-soft); }
.club-vitrina-badge{
  margin:2px 0 0; align-self:flex-start;
  font-size:10px; font-weight:700; letter-spacing:.06em;
  text-transform:uppercase; color:var(--jade-deep);
  background:color-mix(in srgb, var(--jade) 10%, var(--paper));
  border:1px solid color-mix(in srgb, var(--jade) 18%, var(--line));
  border-radius:999px; padding:3px 8px;
}
.club-vitrina-card__buy{
  margin-top:auto;
  padding-top:10px;
  border-top:1px solid var(--line);
}
.club-vitrina-card__cta{
  display:inline-block; font-size:13px; font-weight:600;
  color:var(--jade-deep); text-decoration:none; border-bottom:1px solid currentColor;
  padding-bottom:1px;
}
.club-vitrina-card__cta:hover{ color:var(--ink); }
.club-vitrina-card__owned,
.club-vitrina-card__espera{ margin:0; font-size:12.5px; color:var(--ink-soft); }
.club-vitrina-form{
  display:flex; flex-direction:column; gap:7px;
}
.club-vitrina-form__label{
  display:flex; flex-direction:column; gap:4px;
  font-size:11px; font-weight:600; color:var(--ink-soft);
}
.club-vitrina-form select{
  font-size:13px; padding:7px 8px; border:1px solid var(--line);
  border-radius:6px; background:var(--white); color:var(--ink); width:100%;
}
.club-vitrina-form__btn{
  width:100%; min-height:38px; padding:8px 12px; font-weight:700; font-size:13.5px;
}
@media (max-width:1199px){
  .club-vitrina-grid{ grid-template-columns:repeat(3, minmax(0, 1fr)); }
}
@media (max-width:899px){
  .club-hero--vitrina .club-hero-inner{ flex-direction:column; gap:12px; }
  .club-hero--vitrina .club-hero-cta{ padding-top:0; justify-content:flex-start; }
  .club-vitrina-grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
@media (max-width:599px){
  .club-vitrina-grid{ grid-template-columns:1fr; }
  .club-vitrina-card__art{ height:180px; }
  .club-hero--vitrina .btn-marigold{ width:100%; }
}

/* Admin Club — gestor compacto */
.pub-centro-stats.stat-cards{
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:10px; margin:0 0 12px;
}
.pub-centro-stats .stat-card{ padding:8px 12px; }
.pub-centro-stats .stat-card .num{ font-size:22px; line-height:1.1; }
.pub-centro-stats .stat-card .lbl{ margin-top:1px; font-size:12px; }
.pub-centro-card{ padding:12px 16px; }
.pub-centro-accesos{
  display:grid; grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px; align-items:stretch;
}
.pub-centro-acceso.admin-hub-card{
  display:flex; flex-direction:column; height:100%; box-sizing:border-box;
  padding:12px 14px; border:1px solid var(--line); border-radius:10px;
  text-decoration:none; color:inherit;
}
.pub-centro-acceso strong{
  display:block; margin:0 0 4px; font-size:14px; color:var(--ink);
}
.pub-centro-acceso > span{
  display:block; font-size:12.5px; line-height:1.35; color:var(--ink-soft);
}
@media (max-width:720px){
  .pub-centro-stats.stat-cards{ grid-template-columns:1fr; }
  .pub-centro-accesos{ grid-template-columns:1fr; }
}

/* Diseño de publicidad — compacto, escaneable */
.pub-diseno{
  max-width:1120px;
}
.pub-diseno .admin-panel-card{
  margin-bottom:12px;
}
.pub-diseno-intro{
  padding:10px 16px;
  margin-bottom:12px;
  background:var(--paper-alt);
}
.pub-diseno-lead{
  margin:0;
  max-width:68ch;
  font-size:13px;
  line-height:1.45;
  font-weight:400;
  color:var(--ink-soft);
}
.pub-diseno-card > .pub-diseno-lead{ padding:10px 16px 0; }
.pub-diseno-lead strong{ color:var(--ink); font-weight:650; }
.pub-diseno-nota{
  margin:0;
  padding:0 16px 12px;
  max-width:none;
  font-size:12px;
  line-height:1.45;
  color:var(--ink-soft);
  text-align:justify;
  text-justify:inter-word;
}
.pub-diseno-nota code{
  font-size:11px;
  background:var(--paper-alt);
  padding:1px 4px;
  border-radius:4px;
}
.pub-diseno-card .admin-panel-head{
  padding:9px 16px;
}
.pub-diseno-card .admin-panel-head h2{
  font-size:15px;
}
.pub-diseno-card--accion{
  border-left:3px solid var(--jade);
}
.pub-diseno-card--tech{
  background:var(--paper-alt);
  border-left:3px solid var(--marigold);
}
.pub-diseno-card--tech .admin-panel-head{
  background:transparent;
}
.pub-diseno-tech{
  margin:0 0 14px;
  padding:10px 10px 6px;
  background:var(--paper);
  border:1px dashed var(--line);
  border-radius:12px;
}
.pub-diseno-tech-kicker{
  margin:0 6px 8px;
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:700;
  color:var(--jade-deep);
}
.pub-diseno-tech .pub-diseno-card{
  margin-bottom:8px;
}
.pub-diseno-metrics.specs-cards,
.pub-diseno-metrics.stat-cards{
  margin:10px 16px 8px;
  gap:8px;
}
.pub-diseno-metrics.specs-cards{
  grid-template-columns:repeat(6, minmax(0, 1fr));
}
.pub-diseno-metrics--4.stat-cards{
  grid-template-columns:repeat(4, minmax(0, 1fr));
}
.pub-diseno-metrics .specs-card,
.pub-diseno-metrics .stat-card{
  padding:8px 10px;
  border-radius:8px;
}
.pub-diseno-metrics .specs-card .num,
.pub-diseno-metrics .stat-card .num{
  font-size:14px;
  line-height:1.15;
}
.pub-diseno-metrics .stat-card .num{ font-size:16px; }
.pub-diseno-metrics .specs-card .lbl,
.pub-diseno-metrics .stat-card .lbl{
  margin-top:2px;
  font-size:11px;
  line-height:1.25;
}
.pub-diseno-lista{
  margin:0;
  padding:0 16px 12px 32px;
  color:var(--ink-soft);
  font-size:12.5px;
  line-height:1.4;
}
.pub-diseno-form{
  padding:10px 16px 8px;
}
.pub-diseno-form .field{ margin:0 0 8px; min-width:160px; }
.pub-diseno-form .field label{
  display:block;
  margin:0 0 4px;
  font-size:12px;
  font-weight:650;
}
.pub-diseno-form .field select,
.pub-diseno-form .field input{
  width:100%;
  max-width:100%;
  padding:7px 10px;
  font-size:13px;
  border:1px solid var(--line);
  border-radius:6px;
  background:var(--white);
  color:var(--ink);
}
.pub-diseno-form--row{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-end;
  gap:10px 14px;
}
.pub-diseno-form--row .field{ flex:1 1 220px; margin:0; }
.pub-diseno-form--inline{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  padding:10px 16px 12px;
}
.pub-diseno-check{
  display:inline-flex;
  align-items:flex-start;
  gap:8px;
  margin:0;
  font-size:13px;
  font-weight:500;
  color:var(--ink);
  max-width:62ch;
}
.pub-diseno-check input{ margin-top:3px; flex:0 0 auto; }
.pub-diseno-save{
  min-height:36px;
  padding:8px 16px;
  font-size:13px;
  font-weight:700;
  white-space:nowrap;
}
.pub-diseno-save-ghost{
  min-height:32px;
  padding:6px 12px;
  font-size:12.5px;
}
.pub-diseno-acciones{
  margin:0;
  padding:8px 16px 12px;
}
.pub-diseno-vacio{
  margin:0;
  padding:10px 16px 14px;
  color:var(--ink-soft);
  font-size:13px;
}
.pub-diseno-vacio-mini{
  margin:0 0 8px;
  font-size:12.5px;
  color:var(--ink-soft);
}
.pub-diseno-link{
  color:var(--jade);
  font-size:12.5px;
  text-decoration:none;
}
.pub-diseno-link:hover{ text-decoration:underline; }
.pub-diseno-mute{ color:var(--ink-soft); }
.pub-diseno-scroll{ overflow-x:auto; }
.pub-diseno-tabla.admin-table{
  min-width:720px;
  margin:0;
}
.pub-diseno-tabla th,
.pub-diseno-tabla td{
  padding:7px 10px;
  font-size:12.5px;
  vertical-align:middle;
}
.pub-diseno-tabla th{
  font-size:11px;
  letter-spacing:.02em;
  text-transform:uppercase;
  color:var(--ink-soft);
  background:var(--paper-alt);
}
.pub-diseno-inline{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
}
.pub-diseno-inline--add{ margin-top:8px; }
.pub-diseno-input,
.pub-diseno-select{
  font-size:12.5px;
  padding:4px 8px;
  border:1px solid var(--line);
  border-radius:6px;
  background:var(--white);
  color:var(--ink);
}
.pub-diseno-input{ flex:1 1 140px; min-width:0; }
.pub-diseno-input--nombre{ min-width:180px; }
.pub-diseno-input--num{ width:80px; flex:0 0 80px; }
.pub-diseno-select--grow{ flex:1 1 120px; min-width:0; }
.pub-diseno-badge{
  color:#fff;
  font-size:11px;
  padding:2px 7px;
  border-radius:10px;
}
.pub-diseno-badge--jade{ background:var(--jade); }
.pub-diseno-badge--gold{ background:var(--marigold); }
.pub-diseno-badge--mute{ background:var(--ink-soft); }
.pub-diseno-planb{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:10px;
  padding:12px 14px 14px;
}
.pub-diseno-planb-col{
  border:1px solid var(--line);
  border-radius:8px;
  padding:10px 12px;
  background:var(--paper-alt);
}
.pub-diseno-planb-tit{
  display:block;
  margin:0 0 8px;
  font-size:13px;
  color:var(--jade-deep);
}
.pub-diseno-planb-item{
  border-bottom:1px dashed var(--line);
  padding-bottom:8px;
  margin-bottom:8px;
}
.pub-diseno-planb-item:last-of-type{ margin-bottom:6px; }
.pub-diseno-planb-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  font-size:12.5px;
  margin-bottom:6px;
}
@media (max-width:980px){
  .pub-diseno-metrics.specs-cards{ grid-template-columns:repeat(3, minmax(0, 1fr)); }
  .pub-diseno-planb{ grid-template-columns:1fr; }
}
@media (max-width:720px){
  .pub-diseno-metrics.specs-cards,
  .pub-diseno-metrics--4.stat-cards{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .pub-diseno-form--inline,
  .pub-diseno-form--row{ flex-direction:column; align-items:stretch; }
  .pub-diseno-save,
  .pub-diseno-save-ghost{ width:100%; }
  .pub-diseno-check{ max-width:none; }
  .pub-diseno-tabla.admin-table{ min-width:640px; }
}
@media (max-width:480px){
  .pub-diseno-metrics.specs-cards,
  .pub-diseno-metrics--4.stat-cards{ grid-template-columns:1fr; }
}

/* Anuncios de casa — ajuste ligero, misma estructura */
.casa-admin-nuevo{ margin-bottom:16px; }
.casa-admin-nuevo .admin-panel-head,
.casa-admin-lista .admin-panel-head{ padding:10px 16px; }
.casa-admin-lead{
  margin:0;
  padding:8px 16px 0;
  color:var(--ink-soft);
  font-size:13px;
  line-height:1.4;
}
.casa-admin-form.form-grid{
  padding:10px 16px 14px;
  gap:10px 16px;
}
.casa-admin-form .field label{ margin-bottom:4px; }
.casa-admin-form .field input,
.casa-admin-form .field select{
  padding:8px 10px;
  font-size:13px;
}
.casa-admin-hint{
  display:block;
  margin-top:4px;
  font-size:12px;
  color:var(--ink-soft);
}
.casa-admin-tabla.admin-table{
  min-width:0;
}
.casa-admin-tabla th,
.casa-admin-tabla td{
  padding:8px 12px;
  vertical-align:middle;
}
.casa-admin-contenido{ max-width:320px; }
.casa-admin-ticker{ font-style:italic; }
.casa-admin-thumb{
  display:block;
  height:56px;
  width:auto;
  max-width:96px;
  object-fit:cover;
  border-radius:5px;
  border:1px solid var(--line);
  background:var(--paper-alt);
}
.casa-admin-capa{
  font-size:11px;
  padding:2px 8px;
}
.casa-admin-capa--marketing{ background:var(--purple); color:#fff; }
.casa-admin-capa--relleno{
  background:var(--paper-alt);
  color:var(--ink-soft);
  border:1px solid var(--line);
}
.casa-admin-estado{
  color:#fff;
  font-size:11px;
  padding:2px 8px;
  border-radius:10px;
}
.casa-admin-estado--on{ background:var(--jade); }
.casa-admin-estado--off{ background:var(--ink-soft); }
.casa-admin-acciones{
  align-items:center;
  gap:10px;
  flex-wrap:nowrap;
}
.casa-admin-acciones form{ display:inline; margin:0; }
.casa-admin-eliminar{ font-weight:700; }
.casa-admin-vacio{ color:var(--ink-soft); }
@media (max-width:720px){
  .casa-admin-form.form-grid{ grid-template-columns:1fr; }
  .casa-admin-acciones{ flex-wrap:wrap; }
}

/* Relleno Esta semana — más denso, misma estructura */
.vitrina-admin-nuevo{ margin-bottom:16px; }
.vitrina-admin-nuevo .admin-panel-head,
.vitrina-admin-lista .admin-panel-head{ padding:10px 16px; }
.vitrina-admin-lead{
  margin:0;
  padding:6px 16px 2px;
  max-width:none;
  color:var(--ink-soft);
  font-size:13.5px;
  font-weight:400;
  line-height:1.5;
}
.vitrina-admin-lead strong,
.vitrina-admin-lead em{ font-weight:600; color:var(--ink-soft); }
.vitrina-admin-form.form-grid{
  padding:8px 16px 14px;
  gap:10px 16px;
}
.vitrina-admin-form .field label{ margin-bottom:4px; }
.vitrina-admin-form .field input,
.vitrina-admin-form .field select{
  padding:10px 12px;
  font-size:14px;
}
.vitrina-admin-hint{
  display:block;
  margin-top:4px;
  font-size:12px;
  line-height:1.4;
  color:var(--ink-soft);
}
.vitrina-admin-submit{ margin-top:2px; }
.vitrina-admin-submit .btn{
  min-height:38px;
  padding:9px 18px;
  font-weight:700;
}
.vitrina-admin-tabla.admin-table{ min-width:0; }
.vitrina-admin-tabla th,
.vitrina-admin-tabla td{
  padding:8px 12px;
  vertical-align:middle;
}
.vitrina-admin-contenido{
  max-width:360px;
  display:flex;
  align-items:center;
  gap:8px;
}
.vitrina-admin-thumb{
  height:40px;
  width:auto;
  border-radius:4px;
  vertical-align:middle;
  flex:0 0 auto;
}
.vitrina-admin-tipo--branding{ background:var(--jade-deep); color:#fff; }
.vitrina-admin-tipo--reserva{
  background:var(--paper-alt);
  color:var(--ink-soft);
  border:1px solid var(--line);
}
.vitrina-admin-acciones{
  align-items:center;
  gap:10px;
  flex-wrap:nowrap;
}
.vitrina-admin-acciones form{ display:inline; margin:0; }
.vitrina-admin-vacio{ color:var(--ink-soft); }
@media (max-width:720px){
  .vitrina-admin-form.form-grid{ grid-template-columns:1fr; }
  .vitrina-admin-acciones{ flex-wrap:wrap; }
  .vitrina-admin-submit .btn{ width:100%; }
}

/* Negocios en la portada — densidad, misma arquitectura */
.portada-admin-intro{
  margin-bottom:14px;
  padding:12px 16px;
  background:var(--paper-alt);
  border:1px solid var(--line);
}
.portada-admin-intro h3{
  margin:0 0 6px;
  font-family:var(--display);
  font-size:17px;
  line-height:1.25;
}
.portada-admin-intro p{
  margin:0;
  font-size:13.5px;
  line-height:1.55;
  color:var(--ink-soft);
}
.portada-admin-intro p + p{ margin-top:6px; }
.portada-admin-links{ font-size:13px; }
.portada-admin-intro a{ color:var(--jade); }
.portada-admin-stats{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:10px;
  margin:0 0 14px;
}
.portada-admin-stats .stat-card{ padding:10px 14px; }
.portada-admin-stats .stat-card .num{ font-size:26px; line-height:1.1; }
.portada-admin-stats .stat-card .lbl{ margin-top:2px; }
.portada-admin-nuevo,
.portada-admin-aviso{ margin-bottom:14px; }
.portada-admin-nuevo .admin-panel-head,
.portada-admin-lista .admin-panel-head{ padding:10px 16px; }
.portada-admin-form{
  display:grid;
  grid-template-columns:minmax(220px, 2.2fr) minmax(170px, 0.9fr) minmax(180px, 1.1fr) auto;
  gap:10px 14px;
  align-items:start;
  padding:10px 16px 14px;
}
.portada-admin-form .field label{ margin-bottom:4px; }
.portada-admin-form .field input,
.portada-admin-form .field select{
  display:block;
  width:100%;
  box-sizing:border-box;
  min-height:42px;
  height:42px;
  padding:8px 12px;
  font-size:14px;
  line-height:1.25;
}
.portada-admin-form input[type="date"]{
  min-width:0;
  appearance:auto;
}
.portada-admin-hint{
  display:block;
  margin-top:3px;
  font-size:12px;
  color:var(--ink-soft);
}
.portada-admin-submit{ padding-top:21px; }
.portada-admin-submit .btn{
  min-height:42px;
  height:42px;
  padding:8px 16px;
  white-space:nowrap;
  font-weight:700;
}
.portada-admin-aviso p{
  margin:0;
  padding:12px 16px;
  color:var(--ink-soft);
  font-size:14px;
}
.portada-admin-home{
  font-size:12.5px;
  padding:6px 14px;
}
.portada-admin-vacio{
  padding:16px;
  color:var(--ink-soft);
  font-size:14px;
}
.portada-admin-tabla.admin-table{ min-width:0; }
.portada-admin-tabla td{ vertical-align:middle; }
.portada-admin-row-off{ opacity:.72; }
.portada-admin-negocio-link{
  font-weight:600;
  color:var(--jade);
}
.portada-admin-badge-off{
  background:#999;
  color:#fff;
  margin-left:6px;
}
.portada-admin-estado{
  display:inline-block;
  font-weight:600;
  font-size:12.5px;
  line-height:1.3;
  white-space:nowrap;
}
.portada-admin-estado--on{ color:var(--jade-deep); }
.portada-admin-estado--vencido{ color:var(--clay); }
.portada-admin-estado--pause,
.portada-admin-estado--off{ color:var(--ink-soft); }
.portada-admin-inline{
  display:flex;
  gap:6px;
  align-items:center;
}
.portada-admin-input-date,
.portada-admin-input-nota{
  box-sizing:border-box;
  min-height:34px;
  height:34px;
  padding:6px 8px;
  font-size:13px;
  line-height:1.2;
}
.portada-admin-input-nota{ width:120px; }
.portada-admin-acciones{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:nowrap;
  white-space:nowrap;
}
.portada-admin-acciones form{ margin:0; }
.portada-admin-mover{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.portada-admin-mover .edit{
  min-width:28px;
  min-height:28px;
  padding:0 7px;
  border:1px solid var(--line);
  border-radius:6px;
  background:var(--paper-alt);
  color:var(--jade-deep);
}
.portada-admin-acciones .edit:not([name]){
  padding:0 2px;
}
.portada-admin-acciones .reject{
  font-weight:700;
  color:var(--clay);
}
@media (max-width:900px){
  .portada-admin-form{
    grid-template-columns:1fr 1fr;
  }
  .portada-admin-negocio,
  .portada-admin-submit{ grid-column:1 / -1; }
}
@media (max-width:720px){
  .portada-admin-stats{ grid-template-columns:1fr; }
  .portada-admin-form{ grid-template-columns:1fr; }
  .portada-admin-negocio,
  .portada-admin-submit{ grid-column:auto; }
  .portada-admin-submit .btn{ width:100%; }
  .portada-admin-acciones{ flex-wrap:wrap; gap:8px; }
}

/* Radiografía — reporte más denso, pagos como bloque principal */
.radio-admin .admin-panel-card{ margin-bottom:12px; }
.radio-admin-lanzar{
  margin:0 0 12px;
  padding:8px 12px;
  font-size:13px;
  line-height:1.45;
  color:var(--ink-soft);
  background:var(--paper-alt);
  border:1px solid var(--line);
  border-radius:8px;
}
.radio-admin-lanzar a{ color:var(--clay); font-weight:700; }
.radio-admin-pestanas{
  margin:0 0 12px;
  padding:0;
}
.radio-admin-filtros .admin-panel-head{ padding:8px 16px; }
.radio-admin-filtros-form{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-end;
  gap:10px 12px;
  padding:10px 16px 12px;
}
.radio-admin-filtros-form .field{
  flex:0 1 auto;
  min-width:0;
  margin:0;
}
.radio-admin-filtros-form .field label{
  display:block;
  margin-bottom:3px;
  font-size:12.5px;
}
.radio-admin-filtros-form .field input,
.radio-admin-filtros-form .field select{
  padding:8px 10px;
  font-size:14px;
}
.radio-admin-metodo{ min-width:180px; }
.radio-admin-pagos{
  border-left:3px solid var(--jade);
}
.radio-admin-head-main{
  align-items:center;
  gap:10px 16px;
  padding:10px 16px;
}
.radio-admin-head-main h2{ font-size:16px; }
.radio-admin-head-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px 14px;
}
.radio-admin-borrar-lote{
  margin:0;
  padding-left:12px;
  border-left:1px solid var(--line);
}
.radio-admin-danger{
  color:var(--clay);
  font-weight:700;
}
.radio-admin-borrar-uno{
  padding:4px 10px;
  font-size:12px;
}
.radio-admin-nota{
  margin:0;
  padding:8px 16px 10px;
  font-size:13px;
  line-height:1.45;
  color:var(--ink-soft);
}
.radio-admin-tabla.admin-table{ min-width:0; }
.radio-admin-tabla th,
.radio-admin-tabla td{
  padding:10px 12px;
  vertical-align:middle;
}
.radio-admin-tabla td form{ margin:0; }
.radio-admin-vacio{ color:var(--ink-soft); }
.radio-admin-mas{
  padding:8px 16px 12px;
  color:var(--ink-soft);
  font-size:12.5px;
}
.radio-admin-sec{
  background:var(--paper-alt);
}
.radio-admin-head-sec{
  padding:8px 16px;
  align-items:center;
}
.radio-admin-head-sec h2{
  font-size:14.5px;
  font-weight:600;
}
.radio-admin-export-sec{
  padding:5px 12px;
  font-size:12.5px;
  min-height:32px;
}
@media (max-width:720px){
  .radio-admin-filtros-form{ flex-direction:column; align-items:stretch; }
  .radio-admin-metodo{ min-width:0; }
  .radio-admin-filtros-form .btn{ width:100%; }
  .radio-admin-head-actions{ width:100%; }
  .radio-admin-borrar-lote{
    padding-left:0;
    border-left:none;
    width:100%;
  }
  .radio-admin-head-actions .btn,
  .radio-admin-borrar-lote .btn,
  .radio-admin-export-sec{ width:100%; }
}

/* Cobros / monetización — sistema visual compartido */
.cobros-admin .admin-panel-card{ margin-bottom:12px; }
.cobros-admin-stats.stat-cards{
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:10px;
  margin:0 0 12px;
}
.cobros-admin-stats .stat-card{ padding:8px 12px; }
.cobros-admin-stats .stat-card .num{ font-size:22px; line-height:1.1; }
.cobros-admin-stats .stat-card .lbl{ margin-top:1px; font-size:12px; }
.cobros-admin-card{ padding:0; }
.cobros-admin-head{ padding:10px 16px; }
.cobros-admin-head h2{ font-size:16px; }
.cobros-admin-intro{
  padding:12px 16px;
  background:var(--paper-alt);
}
.cobros-admin-intro h2{
  margin:0 0 6px;
  font-family:var(--display);
  font-size:20px;
}
.cobros-admin-intro--alerta{
  background:color-mix(in srgb, var(--clay) 8%, var(--paper-alt));
  border-color:color-mix(in srgb, var(--clay) 25%, var(--line));
}
.cobros-admin-lead{
  margin:0;
  padding:8px 16px 10px;
  max-width:none;
  font-size:13.5px;
  line-height:1.5;
  font-weight:400;
  color:var(--ink-soft);
}
.cobros-admin-intro .cobros-admin-lead{ padding:0; }
.cobros-admin-alerta{ color:var(--clay); }
.cobros-admin-card--main{ border-left:3px solid var(--jade); }
.cobros-admin-card--sec{ background:var(--paper-alt); }
.cobros-admin-card--hist .admin-panel-head{ background:var(--paper-alt); }
.cobros-admin-accesos{
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:10px;
  padding:12px 14px 14px;
  align-items:stretch;
}
.cobros-admin-acceso.admin-hub-card{
  display:flex;
  flex-direction:column;
  height:100%;
  box-sizing:border-box;
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:10px;
  text-decoration:none;
  color:inherit;
  background:var(--white);
}
.cobros-admin-acceso strong{
  display:block;
  margin:0 0 4px;
  font-size:14px;
  color:var(--ink);
}
.cobros-admin-acceso > span{
  display:block;
  font-size:12.5px;
  line-height:1.35;
  color:var(--ink-soft);
}
.cobros-admin-acceso .cobros-badge{ margin-left:4px; vertical-align:middle; }
.cobros-admin-pestanas{
  margin:0 0 12px;
  align-items:center;
}
.cobros-admin-pedidos{ display:grid; gap:10px; }
.cobros-admin-pedido{ padding:12px 16px; }
.cobros-admin-pedido-top{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:8px 12px;
  margin-bottom:10px;
}
.cobros-admin-pedido h3{
  margin:0 0 2px;
  font-family:var(--display);
  font-size:16px;
  line-height:1.25;
}
.cobros-admin-pedido-negocio{ margin:0; font-size:13.5px; }
.cobros-admin-pedido-negocio a{ color:var(--jade); font-weight:600; }
.cobros-admin-pedido-meta{
  margin:4px 0 0;
  font-size:12.5px;
  color:var(--ink-soft);
}
.cobros-admin-pedido-form{
  display:grid;
  grid-template-columns:minmax(160px, 220px) 1fr auto;
  gap:10px;
  align-items:end;
}
.cobros-admin-pedido-form .field{ margin:0; min-width:0; }
.cobros-admin-pedido-form .field label{ margin-bottom:4px; }
.cobros-admin-form{
  padding:10px 16px 14px;
  max-width:none;
  gap:10px 14px;
}
.cobros-admin-form .field label{ margin-bottom:4px; }
.cobros-admin-form .field input,
.cobros-admin-form .field select,
.cobros-admin-form .field textarea,
.cobros-admin-pedido-form .field input,
.cobros-admin-pedido-form .field select{
  box-sizing:border-box;
  min-height:42px;
  padding:8px 12px;
  font-size:14px;
  line-height:1.25;
}
.cobros-admin-form .field textarea{
  min-height:72px;
  height:auto;
  resize:vertical;
}
.cobros-admin-save{
  min-height:42px;
  padding:8px 16px;
  font-weight:700;
}
.cobros-admin-export{
  min-height:32px;
  padding:6px 12px;
  font-size:12.5px;
}
.cobros-admin-tabla.admin-table{ min-width:0; }
.cobros-admin-tabla th,
.cobros-admin-tabla td{
  padding:10px 12px;
  vertical-align:middle;
  font-size:13.5px;
}
.cobros-admin-tabla th{
  font-size:11px;
  background:var(--paper-alt);
}
.cobros-admin-motivo{ max-width:280px; }
.cobros-admin-ref{ word-break:break-all; }
.cobros-admin-xscroll{ overflow-x:auto; overflow-y:visible; }
.cobros-admin-vacio,
.cobros-admin-vacio-td{ padding:12px 16px; color:var(--ink-soft); font-size:13.5px; }
.cobros-admin-pie{
  margin:12px 0 0;
  font-size:13px;
  color:var(--ink-soft);
}
.cobros-admin-hint{ font-size:12.5px; color:var(--ink-soft); line-height:1.4; }
.cobros-admin-rechazo{
  display:block;
  width:100%;
  min-width:180px;
  min-height:56px;
  margin-bottom:6px;
  padding:6px 8px;
  font-size:13px;
  box-sizing:border-box;
}
.cobros-badge{
  display:inline-block;
  font-size:11px;
  font-weight:700;
  line-height:1.3;
  padding:2px 8px;
  border-radius:10px;
  white-space:nowrap;
  vertical-align:middle;
}
.cobros-badge--wait{
  background:var(--paper-alt);
  color:var(--ink);
  border:1px solid var(--line);
}
.cobros-badge--gold{ background:var(--marigold); color:var(--ink); }
.cobros-badge--ok{ background:var(--jade); color:#fff; }
.cobros-badge--done{ background:var(--jade-deep); color:#fff; }
.cobros-badge--no,
.cobros-badge--alert{ background:var(--clay); color:#fff; }
@media (max-width:1100px){
  .cobros-admin-accesos{ grid-template-columns:repeat(3, minmax(0, 1fr)); }
}
@media (max-width:720px){
  .cobros-admin-stats.stat-cards,
  .cobros-admin-accesos,
  .cobros-admin-form.form-grid,
  .cobros-admin-pedido-form{ grid-template-columns:1fr; }
  .cobros-admin-save{ width:100%; }
}

.devol-admin-intro{ padding:8px 12px; }
.devol-admin-intro h2{ margin:0 0 4px; font-size:18px; }
.devol-admin-intro .cobros-admin-lead{
  padding:0;
  font-size:13px;
  line-height:1.4;
}
.devol-sol-toolbar{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:8px 12px;
  padding:10px 12px;
  margin-bottom:12px;
}
.devol-sol-toolbar .negocios-admin-filtros{ margin:0; }
.devol-sol-busca{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
}
.devol-sol-busca input[type="search"]{
  min-height:36px;
  min-width:220px;
  padding:6px 10px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  font-family:var(--body);
  font-size:13.5px;
  color:var(--ink);
  box-sizing:border-box;
}
.devol-sol-busca .btn{ min-height:36px; padding:6px 12px; }
.devol-sol-lista.admin-panel-card{ padding:0; overflow:visible; }
.devol-sol-tabla.admin-table{
  min-width:0;
  width:100%;
  table-layout:fixed;
}
.devol-sol-tabla th,
.devol-sol-tabla td{
  padding:8px 10px;
  vertical-align:middle;
  font-size:13.5px;
}
.devol-sol-tabla thead th{
  background:var(--paper-alt);
}
.devol-sol-tabla th:nth-child(1),
.devol-sol-tabla td:nth-child(1){ width:7.2em; }
.devol-sol-tabla th:nth-child(4),
.devol-sol-tabla td:nth-child(4){ width:4.4em; }
.devol-sol-tabla th:nth-child(5),
.devol-sol-tabla td:nth-child(5){ width:7em; }
.devol-sol-tabla th:nth-child(6),
.devol-sol-tabla td:nth-child(6){ width:6.2em; }
.devol-sol-tabla th:nth-child(8),
.devol-sol-tabla td:nth-child(8){ width:7.2em; }
.devol-sol-tabla th:nth-child(9),
.devol-sol-tabla td:nth-child(9){ width:11.5em; }
.devol-sol-fila.is-open td{ background:color-mix(in srgb, var(--paper-alt) 55%, var(--white)); }
.devol-sol-negocio{
  font-weight:600;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.devol-sol-negocio a{ color:var(--jade-deep); text-decoration:none; }
.devol-sol-negocio a:hover{ text-decoration:underline; }
.devol-sol-concepto,
.devol-sol-motivo{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.devol-sol-monto{ font-weight:700; white-space:nowrap; }
.devol-sol-acciones{
  display:flex;
  flex-wrap:wrap;
  gap:4px 6px;
  align-items:center;
}
.devol-sol-btn{
  display:inline-flex;
  align-items:center;
  min-height:0;
  padding:3px 8px;
  border:1px solid var(--line);
  border-radius:6px;
  background:var(--white);
  color:var(--ink);
  font-family:var(--body);
  font-size:12.5px;
  font-weight:600;
  line-height:1.3;
  cursor:pointer;
}
.devol-sol-btn:hover{ background:var(--paper-alt); }
.devol-sol-btn--ok{
  color:var(--jade-deep);
  border-color:color-mix(in srgb, var(--jade) 35%, var(--line));
}
.devol-sol-btn--no{
  color:var(--clay);
  border-color:color-mix(in srgb, var(--clay) 35%, var(--line));
}
.devol-sol-expand td{
  padding:0 10px 12px;
  background:color-mix(in srgb, var(--paper-alt) 40%, var(--white));
}
.devol-sol-expand-inner{
  padding:10px 4px 4px;
  border-top:1px dashed var(--line);
}
.devol-sol-dl{
  display:grid;
  grid-template-columns:10.5em 1fr;
  gap:4px 12px;
  margin:0 0 10px;
}
.devol-sol-dl dt{
  font-size:11px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--ink-soft);
}
.devol-sol-dl dd{ margin:0; overflow-wrap:anywhere; }
.devol-sol-dl a{ color:var(--jade-deep); }
.devol-sol-expand-acciones{
  display:grid;
  gap:10px;
}
.devol-sol-form{
  display:grid;
  gap:6px;
  padding:10px 12px;
  background:var(--white);
  border:1px solid var(--line);
  border-radius:8px;
}
.devol-sol-form label{
  font-size:12.5px;
  font-weight:700;
  color:var(--ink);
}
.devol-sol-form label span{ font-weight:500; color:var(--ink-soft); }
.devol-sol-form textarea{
  width:100%;
  min-height:56px;
  padding:6px 8px;
  border:1px solid var(--line);
  border-radius:6px;
  font-family:var(--body);
  font-size:13.5px;
  box-sizing:border-box;
  resize:vertical;
}
.devol-sol-form .approve,
.devol-sol-form .reject{
  justify-self:start;
  padding:4px 10px;
  font-size:12.5px;
  min-height:0;
  line-height:1.3;
}
.devol-sol-form--inline{
  display:flex;
  align-items:center;
}
.devol-sol-borrar{ margin:0; }
.devol-sol-btn-borrar{
  padding:0;
  border:0;
  background:none;
  color:var(--clay);
  font-family:var(--body);
  font-size:12.5px;
  font-weight:600;
  cursor:pointer;
  text-decoration:underline;
  text-underline-offset:2px;
}
.devol-sol-btn-borrar:hover{ color:color-mix(in srgb, var(--clay) 80%, #000); }
.devol-sol-paginacion{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:8px 12px;
  padding:10px 12px 12px;
  border-top:1px solid var(--line);
}
.devol-sol-paginacion-meta{ margin:0; color:var(--ink-soft); font-size:13px; }
.devol-sol-paginacion-nav{ display:flex; gap:8px; }
.devol-sol-page-off{ opacity:.4; pointer-events:none; }
@media (max-width:1100px){
  .devol-sol-tabla th:nth-child(3),
  .devol-sol-tabla td:nth-child(3),
  .devol-sol-tabla th:nth-child(5),
  .devol-sol-tabla td:nth-child(5),
  .devol-sol-tabla th:nth-child(7),
  .devol-sol-tabla td:nth-child(7){ display:none; }
  .devol-sol-tabla th:nth-child(9),
  .devol-sol-tabla td:nth-child(9){ width:10.5em; }
}
@media (max-width:720px){
  .devol-sol-tabla th:nth-child(4),
  .devol-sol-tabla td:nth-child(4){ display:none; }
  .devol-sol-toolbar{ flex-direction:column; align-items:stretch; }
  .devol-sol-busca input[type="search"]{ min-width:0; flex:1 1 auto; }
  .devol-sol-dl{ grid-template-columns:1fr; gap:2px 0; }
  .devol-sol-dl dt{ margin-top:6px; }
  .devol-sol-tabla th:nth-child(9),
  .devol-sol-tabla td:nth-child(9){ width:7.5em; }
}
.monet-dash-stats.stat-cards{
  grid-template-columns:repeat(6, minmax(0, 1fr));
}
.monet-dash-delta{
  margin-top:4px;
  font-size:11.5px;
  color:var(--ink-soft);
}
.monet-dash-delta.is-up{ color:var(--jade); }
.monet-dash-delta.is-down{ color:var(--clay); }
.monet-dash-atencion{ border-left:4px solid var(--clay); }
.monet-dash-atencion-lista{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding:12px 14px 14px;
}
.monet-dash-atencion-item{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border:1px solid color-mix(in srgb, var(--clay) 28%, var(--line));
  border-radius:10px;
  background:color-mix(in srgb, var(--clay) 8%, var(--white));
  color:var(--ink);
  text-decoration:none;
  font-size:13.5px;
  font-weight:600;
}
.monet-dash-grid{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:12px;
  margin-bottom:12px;
}
.monet-dash-chart{
  display:grid;
  grid-template-columns:repeat(6, minmax(0, 1fr));
  gap:10px;
  align-items:end;
  min-height:220px;
  padding:16px 16px 14px;
}
.monet-dash-col{ display:flex; flex-direction:column; align-items:center; height:200px; }
.monet-dash-col-val{ margin-bottom:6px; font-size:11px; font-weight:700; color:var(--ink); }
.monet-dash-bar-wrap{
  flex:1 1 auto;
  display:flex;
  align-items:flex-end;
  width:100%;
  max-width:48px;
  background:var(--paper-alt);
  border-radius:8px 8px 0 0;
}
.monet-dash-bar{
  width:100%;
  background:var(--jade);
  border-radius:8px 8px 0 0;
  min-height:6px;
}
.monet-dash-bar.is-empty{ background:color-mix(in srgb, var(--jade) 22%, var(--paper-alt)); }
.monet-dash-bar-stack{
  width:100%;
  display:flex;
  flex-direction:column-reverse;
  border-radius:8px 8px 0 0;
  overflow:hidden;
  min-height:6px;
}
.monet-dash-bar-seg{ width:100%; min-height:0; background:var(--jade); }
.monet-dash-bar-seg--plan{ background:var(--jade); }
.monet-dash-bar-seg--campana{ background:var(--marigold); }
.monet-dash-bar-seg--upsell{ background:var(--clay); }
.monet-dash-bar-seg--otros{ background:var(--ink-soft); }
.monet-dash-chart-leyenda{
  display:flex;
  flex-wrap:wrap;
  gap:8px 14px;
  padding:0 16px 14px;
  font-size:11.5px;
  color:var(--ink-soft);
}
.monet-dash-chart-leyenda span{ display:inline-flex; align-items:center; gap:6px; }
.monet-dash-chart-leyenda i{
  width:8px;
  height:8px;
  border-radius:2px;
  flex:0 0 auto;
}
.monet-dash-col-lbl{ margin-top:8px; font-size:11.5px; color:var(--ink-soft); }
.monet-dash-ticket{ padding:16px; }
.monet-dash-ticket .num{
  font-family:var(--display);
  font-size:22px;
  font-weight:700;
  line-height:1.1;
  color:var(--ink);
}
.monet-dash-ticket .lbl{ margin-top:1px; font-size:12px; color:var(--ink-soft); }
.monet-dash-tipos{ display:grid; gap:12px; padding:14px 16px 16px; }
.monet-dash-tipo-top,
.monet-dash-cupo .monet-dash-tipo-top{
  display:flex;
  justify-content:space-between;
  gap:10px;
  font-size:13px;
}
.monet-dash-tipo-top span{ color:var(--ink-soft); }
.monet-dash-tipo-track{
  height:10px;
  margin-top:6px;
  background:var(--paper-alt);
  border-radius:999px;
  overflow:hidden;
}
.monet-dash-tipo-fill{ height:100%; border-radius:999px; background:var(--jade); }
.monet-dash-tipo-fill--campana{ background:var(--marigold); }
.monet-dash-tipo-fill--upsell{ background:var(--clay); }
.monet-dash-tipo-fill--cupo{ background:var(--jade-deep); }
@media (max-width:1100px){
  .monet-dash-grid,
  .monet-dash-stats.stat-cards{ grid-template-columns:1fr 1fr; }
}
@media (max-width:720px){
  .monet-dash-grid,
  .monet-dash-stats.stat-cards,
  .monet-dash-chart{ grid-template-columns:1fr; }
}
.monet-dash-rankings{ margin:4px 0 0; scroll-margin-top:16px; }
.monet-dash-rankings-bar{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:8px 12px;
  margin:0 0 12px;
}
.monet-dash-rankings-bar h2{
  margin:0;
  font-family:var(--display);
  font-size:20px;
  line-height:1.2;
  color:var(--ink);
}
.monet-dash-tops-chips{ margin:0; }
.monet-dash-tops-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
}
.monet-dash-tops-extra{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:12px;
}
.monet-dash-tops-lista{
  list-style:none;
  margin:0;
  padding:8px 12px 12px;
  display:grid;
  gap:8px;
}
.monet-dash-tops-item{
  display:grid;
  grid-template-columns:22px minmax(0, 1fr) auto;
  gap:8px;
  align-items:center;
}
.monet-dash-tops-n{
  width:22px;
  height:22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:color-mix(in srgb, var(--jade) 16%, var(--paper-alt));
  color:var(--jade-deep);
  font-size:11px;
  font-weight:800;
}
.monet-dash-tops-n--clay{
  background:color-mix(in srgb, var(--clay) 16%, var(--paper-alt));
  color:var(--clay);
}
.monet-dash-tops-n--gold{
  background:color-mix(in srgb, var(--marigold) 22%, var(--paper-alt));
  color:color-mix(in srgb, var(--marigold) 55%, var(--ink));
}
.monet-dash-tops-main{ min-width:0; }
.monet-dash-tops-main a,
.monet-dash-tops-main strong{
  display:block;
  color:var(--ink);
  font-size:13.5px;
  font-weight:700;
  line-height:1.25;
  text-decoration:none;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.monet-dash-tops-main a:hover{ color:var(--jade-deep); }
.monet-dash-tops-main .monet-dash-tipo-track{ height:6px; margin-top:4px; }
.monet-dash-tops-cifra{
  text-align:right;
  font-size:12.5px;
  font-weight:700;
  color:var(--ink);
  line-height:1.2;
  white-space:nowrap;
}
.monet-dash-tops-cifra small{
  display:block;
  margin-top:2px;
  font-size:11px;
  font-weight:600;
  color:var(--ink-soft);
}
.monet-dash-tops-fill--jade{ background:var(--jade); }
.monet-dash-tops-fill--marigold{ background:var(--marigold); }
.monet-dash-tops-fill--clay{ background:var(--clay); }
.monet-dash-tops-metodos,
.monet-dash-tops-mov{ padding-top:12px; }
.monet-dash-tops-neto{
  margin:4px 0 0;
  font-size:13px;
  font-weight:700;
  color:var(--ink-soft);
}
.monet-dash-tops-neto.is-up{ color:var(--jade); }
.monet-dash-tops-neto.is-down{ color:var(--clay); }
@media (max-width:1100px){
  .monet-dash-tops-grid,
  .monet-dash-tops-extra{ grid-template-columns:1fr 1fr; }
}
@media (max-width:720px){
  .monet-dash-tops-grid,
  .monet-dash-tops-extra{ grid-template-columns:1fr; }
}

.correo-admin.admin-panel-card{ overflow:visible; }
.correo-admin-intro{
  margin:0 0 16px;
  color:var(--ink-soft);
  font-size:14px;
  line-height:1.5;
}
.correo-admin-intro code{ font-size:12.5px; }
.correo-admin-pestanas{ margin:0 0 18px; }
.correo-admin-toolbar{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  justify-content:space-between;
  margin-bottom:16px;
}
.correo-admin-toolbar h2{
  font-family:var(--display);
  margin:0;
  font-size:20px;
}
.correo-admin-lead{
  margin:0 0 16px;
  color:var(--ink-soft);
  font-size:13.5px;
  line-height:1.5;
}
.correo-admin-lista{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
  align-items:stretch;
}
.correo-admin-card{
  display:flex;
  flex-direction:column;
  margin-bottom:0;
  padding:16px 18px 14px;
  border-left:4px solid var(--jade);
  background:color-mix(in srgb, var(--jade) 8%, var(--white));
}
.correo-admin-card--negocios{
  border-left-color:var(--jade);
  background:color-mix(in srgb, var(--jade) 8%, var(--white));
}
.correo-admin-card--admin{
  border-left-color:var(--marigold);
  background:color-mix(in srgb, var(--marigold) 14%, var(--white));
}
.correo-admin-card--manuales{
  border-left-color:var(--jade-deep);
  background:color-mix(in srgb, var(--jade-deep) 8%, var(--white));
}
.correo-admin-card-top{
  display:flex;
  justify-content:space-between;
  gap:12px 16px;
  align-items:flex-start;
}
.correo-admin-card h3{
  margin:0 0 6px;
  font-family:var(--display);
  font-size:18px;
  line-height:1.2;
  color:var(--jade-deep);
}
.correo-admin-card--admin h3{ color:var(--ink); }
.correo-admin-card-desc{
  margin:0;
  font-size:13.5px;
  line-height:1.45;
  color:var(--ink-soft);
}
.correo-admin-card-meta{
  margin:8px 0 0;
  font-size:12px;
  color:var(--ink-soft);
}
.correo-admin-badge-default{
  background:var(--paper-alt);
  color:var(--ink-soft);
  border:1px solid var(--line);
}
.correo-admin-card-acciones{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin-top:auto;
  padding-top:14px;
}
.correo-admin-vacio{
  margin-bottom:0;
  padding:22px 20px;
  border-left:4px solid var(--marigold);
  background:color-mix(in srgb, var(--marigold) 12%, var(--white));
}
.correo-admin-vacio p{
  margin:0;
  color:var(--ink-soft);
  font-size:13.5px;
  line-height:1.5;
}
@media (max-width:720px){
  .correo-admin-lista{ grid-template-columns:1fr; }
}

.campanas-admin{ overflow:visible; }
.campanas-admin-count{ padding:0; border:none; }
.campanas-admin-tools{
  display:flex; flex-wrap:wrap; align-items:center; gap:8px;
}
.campanas-admin-toolbar{
  display:flex; flex-direction:column; align-items:stretch;
  gap:12px; padding:12px 16px; border-bottom:1px solid var(--line);
}
.campanas-admin-pestanas{ margin:0; }
.campanas-admin-scroll{
  overflow:visible;
}
.campanas-admin-tabla.admin-table{
  table-layout:auto;
  width:100%;
}
.campanas-admin-grupo.is-offpage{ display:none; }
.campanas-admin-tabla th,
.campanas-admin-tabla td{
  padding:10px 12px; vertical-align:middle; font-size:13.5px;
  overflow:visible;
}
.campanas-admin-tabla thead th{
  position:sticky; top:0; z-index:5; background:var(--paper-alt);
}
.campanas-admin-tabla th:last-child,
.campanas-admin-tabla td.admin-actions-cell{
  position:static; box-shadow:none; white-space:nowrap;
  width:1%;
}
.campanas-admin-tabla td.admin-actions-cell .admin-actions-menu{
  display:inline-block; vertical-align:middle;
}
.campanas-admin-tabla th:nth-child(6),
.campanas-admin-tabla th:nth-child(7),
.campanas-admin-tabla td.campanas-admin-fecha{
  white-space:nowrap;
  min-width:7.5em;
  width:auto;
}
.campanas-admin-fecha{ white-space:nowrap; font-size:13px; }
.campanas-admin-pieza{ display:flex; align-items:center; gap:6px; }
.campanas-admin-thumb{
  width:56px; height:36px; object-fit:cover; border-radius:4px;
  border:1px solid var(--line); background:var(--paper-alt); display:block;
}
.campanas-admin-texto{ font-size:12px; font-style:italic; color:var(--ink-soft); }
.campanas-admin-muted{ font-size:11px; color:var(--ink-soft); }
.campanas-admin-cupo{
  background:var(--marigold); color:#fff; margin-top:4px; display:inline-block;
}
.campanas-admin-vacio{ color:var(--ink-soft); }
.campanas-admin-reactivar{
  display:inline-flex; flex-direction:row; align-items:center; gap:6px;
  margin:0 8px 0 0; vertical-align:middle;
}
.campanas-admin-reactivar label{
  display:inline-flex; align-items:center; gap:6px;
  font-size:11px; margin:0; color:var(--ink-soft); white-space:nowrap;
}
.campanas-admin-reactivar input[type="date"]{
  display:inline-block; margin:0; width:auto; max-width:132px;
  min-height:30px; padding:3px 6px;
  border:1px solid var(--line); border-radius:6px; font-size:12px;
}
.campanas-admin-reactivar .btn{ min-height:30px; padding:4px 10px; font-size:12.5px; }
.campanas-admin-pager{
  display:flex; align-items:center; justify-content:center; gap:10px;
  padding:10px 16px 14px; border-top:1px solid var(--line);
}
.campanas-admin-pager .btn{ min-height:34px; padding:6px 12px; font-size:13px; }
.campanas-admin-pager span{ font-size:13px; color:var(--ink-soft); }
@media (max-width:800px){
  .campanas-admin-tools{ width:100%; }
  .campanas-admin-tools .negocios-admin-buscar{ max-width:none; flex:1 1 100%; }
  .campanas-admin-scroll{ overflow-x:auto; overflow-y:visible; }
  .campanas-admin-tabla td.admin-actions-cell{ white-space:normal; }
  .campanas-admin-reactivar{ flex-wrap:wrap; margin:0 0 6px; }
}

.club-centro-stats.stat-cards{
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px; margin:0 0 12px;
}
.club-centro-stats .stat-card{ padding:8px 12px; }
.club-centro-stats .stat-card .num{ font-size:22px; line-height:1.1; }
.club-centro-stats .stat-card .lbl{ margin-top:1px; font-size:12px; }
.club-centro-card{ padding:12px 18px 14px; }
.club-centro-kicker{
  margin:0 0 2px; font-size:11px; letter-spacing:.08em; text-transform:uppercase;
  color:var(--jade-deep); font-weight:700;
}
.club-centro-title{
  margin:0 0 4px; font-family:var(--display); font-size:20px; color:var(--ink);
}
.club-centro-lead{
  margin:0 0 10px; color:var(--ink-soft); font-size:13px; line-height:1.35; max-width:48ch;
}
.club-centro-accesos{
  display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:10px;
}
.club-centro-acceso.admin-hub-card{
  display:block; padding:10px 12px; border:1px solid var(--line);
  border-radius:10px; text-decoration:none; color:inherit;
}
.club-centro-acceso strong{
  display:block; margin:0 0 2px; font-size:14px; color:var(--ink);
}
.club-centro-acceso span{ display:block; font-size:12.5px; line-height:1.3; color:var(--ink-soft); }
.club-centro-acceso .ti{ font-size:13px; }
@media (max-width:720px){
  .club-centro-stats.stat-cards{ grid-template-columns:1fr; }
  .club-centro-accesos{ grid-template-columns:1fr; }
}

.club-admin .admin-panel-card{ margin-bottom:14px; }
.club-admin-intro{ margin-bottom:12px; padding:12px 16px; }
.club-admin-kicker{
  margin:0 0 2px; font-size:11px; letter-spacing:.1em; text-transform:uppercase;
  font-weight:700; color:var(--jade-deep);
}
.club-admin-intro h2{ margin:0 0 4px; font-family:var(--display); font-size:20px; }
.club-admin-intro p{ margin:0; color:var(--ink-soft); font-size:13px; line-height:1.4; max-width:56ch; }
.club-admin-links{ margin-top:8px !important; font-size:13px; }
.club-admin-nuevo{ margin-bottom:12px; }
.club-admin-nuevo .admin-panel-head,
.club-admin-cartelera .admin-panel-head{ padding:10px 16px; }
.club-admin-nuevo .form-grid,
.club-admin-form{ padding:12px 16px 14px; gap:10px; }
.club-admin-form .field label{ margin-bottom:4px; }
.club-admin-form .field input,
.club-admin-form .field select,
.club-admin-form .field textarea{
  padding:7px 10px; font-size:13px;
}
.club-admin-form .btn{
  min-height:36px; padding:8px 16px; font-size:13px;
}
.club-admin-precio{ display:flex; gap:6px; align-items:center; }
.club-admin-precio input{ width:90px; }
.club-admin-hint{ margin:4px 0 6px; font-size:12px; color:var(--ink-soft); }
.club-admin-note{
  margin:0; padding:8px 10px; font-size:12.5px; line-height:1.4; color:var(--ink-soft);
  background:var(--paper-alt); border:1px solid var(--line); border-radius:8px;
}
.club-admin-media{
  padding:8px 10px; border:1px solid var(--line); border-radius:8px; background:var(--paper-alt);
}
.club-admin-media label{ margin-top:6px; }
.club-admin-check{ font-weight:400; display:inline-flex; align-items:center; gap:6px; margin:0 14px 6px 0; }
.club-admin-check--inline{ margin:0 12px 4px 0; }
.club-admin-empty{ padding:10px 16px 14px; color:var(--ink-soft); }
.club-admin-list{ display:flex; flex-direction:column; gap:8px; padding:10px 12px 12px; }
.club-admin-card{
  position:relative;
  border:1px solid var(--line); border-radius:10px; background:var(--white);
  padding:8px 110px 8px 10px;
}
.club-admin-card__sum{ display:flex; align-items:center; gap:10px; min-width:0; }
.club-admin-card__art{
  flex:0 0 40px; width:40px; height:52px; border-radius:6px; overflow:hidden;
  background:var(--paper-alt); border:1px solid var(--line);
}
.club-admin-card__art img{ width:100%; height:100%; object-fit:cover; display:block; }
.club-admin-card__art span{ display:block; width:100%; height:100%; background:var(--paper-alt); }
.club-admin-card__meta{ min-width:0; flex:1; }
.club-admin-card__meta h3{
  margin:0 0 2px; font-family:var(--display); font-size:15px; line-height:1.25;
}
.club-admin-card__meta p{ margin:0; font-size:12px; color:var(--ink-soft); }
.club-admin-card__flags{ display:flex; flex-wrap:wrap; gap:4px; margin-top:4px !important; }
.club-admin-card__flags span{
  font-size:10px; font-weight:700; letter-spacing:.04em; text-transform:uppercase;
  color:var(--jade-deep); background:color-mix(in srgb, var(--jade) 10%, var(--paper));
  border-radius:999px; padding:2px 6px;
}
.club-admin-edit{
  position:absolute; top:8px; right:10px; margin:0;
}
.club-admin-edit > summary{
  cursor:pointer; list-style:none;
  display:inline-flex; align-items:center; justify-content:center;
  min-height:32px; padding:5px 12px; border-radius:8px;
  border:1px solid var(--line); background:var(--white);
  font-size:12.5px; font-weight:700; color:var(--jade-deep);
}
.club-admin-edit > summary::-webkit-details-marker{ display:none; }
.club-admin-card:has(.club-admin-edit[open]){ padding-right:10px; }
.club-admin-edit[open]{
  position:static; display:block; margin-top:8px;
}
.club-admin-edit[open] > summary{ margin-bottom:8px; }
.club-admin-edit .club-admin-form{ padding:0; }
.club-admin-file{ margin:0 0 4px; font-size:12.5px; color:var(--jade); }
@media (max-width:720px){
  .club-admin-form.form-grid{ grid-template-columns:1fr; }
  .club-admin-card{ padding:10px; }
  .club-admin-edit{ position:static; margin-top:8px; }
  .club-admin-edit > summary{ width:100%; }
}

.club-teaser{ padding:56px 20px 72px; background:var(--paper); }
.club-teaser-inner{ max-width:960px; margin:0 auto; }
.club-teaser h2{
  margin:0 0 8px; text-align:center; font-family:var(--display);
  font-size:clamp(1.6rem, 3vw, 2.1rem);
}
.club-teaser-sub{ margin:0 0 28px; text-align:center; color:var(--ink-soft); font-size:14.5px; }
.club-teaser-grid{
  display:grid; grid-template-columns:repeat(3, 1fr); gap:14px;
}
.club-teaser-card{
  position:relative; background:var(--white); border:1px solid var(--line);
  border-radius:14px; padding:22px 18px 18px; text-align:center;
  filter:saturate(.92);
}
.club-teaser-lock{
  position:absolute; top:12px; right:12px; color:var(--ink-soft); font-size:16px;
}
.club-teaser-card h3{
  margin:0 0 10px; font-family:var(--display); font-size:1.15rem; color:var(--ink);
}
.club-teaser-meta{
  margin:0 0 10px; font-size:12.5px; color:var(--ink-soft);
  display:flex; justify-content:center; gap:10px;
}
.club-teaser-blur{
  filter:blur(4px); user-select:none; letter-spacing:.08em; font-weight:700; color:var(--ink);
}
.club-teaser-cta-mini{
  margin:0; font-size:11.5px; letter-spacing:.06em; text-transform:uppercase;
  font-weight:700; color:var(--jade-deep);
}
.club-empty{ text-align:center; color:var(--ink-soft); }
.club-teaser-foot{
  margin-top:36px; text-align:center;
  display:flex; flex-wrap:wrap; gap:10px; justify-content:center; align-items:center;
}
.club-teaser-foot p{ margin:0; width:100%; color:var(--ink-soft); font-size:14px; }
@media (max-width:820px){
  .club-teaser-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:520px){
  .club-teaser-grid{ grid-template-columns:1fr; }
}

/* --- Club cartelera (estilo Netflix / cartelera) --- */
.club-billboard-head{ margin:0 0 22px; max-width:640px; }
.club-billboard-head h2{
  margin:0 0 8px; font-family:var(--display); font-size:clamp(1.5rem, 2.5vw, 1.9rem);
}
.club-billboard-head p{ margin:0; color:var(--ink-soft); font-size:14px; line-height:1.5; }
.club-billboard{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(168px, 1fr));
  gap:18px 14px;
  margin-bottom:28px;
}
.club-billboard--teaser{ max-width:960px; margin:0 auto 8px; }
.club-poster{
  display:flex; flex-direction:column; gap:10px;
  background:transparent; border:none; padding:0;
}
.club-poster-art{
  position:relative; border-radius:10px; overflow:hidden;
  aspect-ratio:2/3; background:#1C2B2E;
  box-shadow:0 10px 28px rgba(28,43,46,.18);
  transition:transform .2s ease, box-shadow .2s ease;
}
.club-poster:hover .club-poster-art{
  transform:translateY(-4px) scale(1.02);
  box-shadow:0 16px 36px rgba(28,43,46,.28);
}
.club-poster-art img{
  width:100%; height:100%; object-fit:cover; display:block;
}
.club-poster-fallback{
  width:100%; height:100%;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(145deg, var(--jade-deep), #1C2B2E 70%);
  color:rgba(255,255,255,.55); font-family:var(--display); font-size:2.8rem;
}
.club-poster-badges{
  position:absolute; left:8px; top:8px; display:flex; flex-wrap:wrap; gap:4px;
}
.club-poster-badges span{
  font-size:10px; font-weight:700; letter-spacing:.04em; text-transform:uppercase;
  background:rgba(28,43,46,.82); color:#fff; padding:3px 7px; border-radius:6px;
}
.club-poster-badges .is-free{ background:var(--jade); }
.club-poster-body{ display:flex; flex-direction:column; gap:6px; flex:1; }
.club-poster-body h3{
  margin:0; font-family:var(--display); font-size:1.05rem; line-height:1.25; color:var(--ink);
}
.club-poster-desc{
  margin:0; font-size:12.5px; color:var(--ink-soft); line-height:1.4;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}
.club-poster-price{
  margin:2px 0 0; font-size:15px; font-weight:700; color:var(--ink);
}
.club-poster-price span{ font-size:11px; font-weight:500; color:var(--ink-soft); }
.club-poster-actions{ margin-top:auto; display:flex; flex-direction:column; gap:8px; }
.club-poster-buy{ width:100%; justify-content:center; }
.club-poster-buy-form{ display:flex; flex-direction:column; gap:6px; }
.club-poster-pay-label{ font-size:11.5px; font-weight:600; color:var(--ink-soft); }
.club-poster-buy-form select{ font-size:13px; padding:8px 10px; border-radius:8px; border:1px solid var(--line); }
.club-poster-note{ margin:0; font-size:12px; color:var(--ink-soft); }
.club-poster--locked .club-poster-art img{ filter:saturate(.85) brightness(.92); }
.club-poster--locked .club-teaser-lock{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  background:rgba(28,43,46,.35); color:#fff; font-size:22px; top:auto;
  right:auto;
}
.club-teaser--billboard{ background:linear-gradient(180deg, #0f1a1c 0%, #1C2B2E 40%, #243638 100%); color:#fff; }
.club-teaser--billboard h2{ color:#fff; }
.club-teaser--billboard .club-teaser-sub{ color:rgba(255,255,255,.7); }
.club-teaser--billboard .club-poster-body h3{ color:#fff; }
.club-teaser--billboard .club-teaser-cta-mini{ color:var(--marigold); }
.club-teaser--billboard .club-empty{ color:rgba(255,255,255,.65); }
.club-teaser--billboard .club-teaser-foot p{ color:rgba(255,255,255,.7); }
.club-teaser--billboard .btn-ghost{ border-color:rgba(255,255,255,.4); color:#fff; }

/* Ver recurso (player) */
.club-watch{
  display:grid; grid-template-columns:minmax(0,1.6fr) minmax(240px,.9fr);
  gap:22px; align-items:start;
}
.club-watch-frame{
  position:relative; width:100%; aspect-ratio:16/9;
  background:#0a1011; border-radius:12px; overflow:hidden;
  box-shadow:0 12px 40px rgba(0,0,0,.25);
}
.club-watch-frame iframe{
  position:absolute; inset:0; width:100%; height:100%; border:0;
}
.club-watch-still{
  width:100%; border-radius:12px; aspect-ratio:2/3; max-height:520px; object-fit:cover;
}
.club-watch-side h1{
  margin:0 0 10px; font-family:var(--display); font-size:clamp(1.35rem, 2.5vw, 1.75rem); line-height:1.15;
}
.club-watch-desc{ margin:0 0 16px; color:var(--ink-soft); font-size:14px; line-height:1.55; }
@media (max-width:900px){
  .club-watch{ grid-template-columns:1fr; }
  .club-billboard{ grid-template-columns:repeat(auto-fill, minmax(140px, 1fr)); }
}
@media (max-width:520px){
  .club-billboard{ grid-template-columns:repeat(2, 1fr); gap:14px 10px; }
}

.club-watch-frame--native{ background:#0a1011; }
.club-watch-frame--native video{
  position:absolute; inset:0; width:100%; height:100%;
  display:block; background:#0a1011;
}
.club-watch-yt-note{
  margin:10px 0 0; font-size:12.5px; color:var(--ink-soft); line-height:1.45;
}

/* Club del panel negocio (no toca la cartelera pública) */
.club-panel-kicker{
  margin:0 0 6px; font-size:11px; font-weight:700; letter-spacing:.06em;
  text-transform:uppercase; color:var(--jade);
}
.club-panel-head{ margin:0 0 26px; max-width:40rem; }
.club-panel-head h2{
  margin:0 0 8px; font-family:var(--display); font-size:clamp(1.55rem, 2.6vw, 2rem); line-height:1.2;
}
.club-panel-head p{ margin:0; color:var(--ink-soft); font-size:14px; line-height:1.55; }
.club-panel-locked{
  max-width:40rem; background:var(--white); border:1px solid var(--line);
  border-radius:14px; padding:28px 26px;
}
.club-panel-locked h2{
  margin:0 0 12px; font-family:var(--display); font-size:1.7rem; line-height:1.2;
}
.club-panel-locked p{ margin:0 0 18px; color:var(--ink-soft); line-height:1.55; }
.club-panel-locked__acciones{ display:flex; flex-wrap:wrap; gap:10px; }
.club-panel-vacio{
  background:var(--white); border:1px solid var(--line); border-radius:12px;
  padding:24px; color:var(--ink-soft);
}
.club-panel-sec{ margin:0 0 22px; }
.club-panel-sec__title{
  margin:0 0 10px; font-family:var(--display); font-size:1.15rem; line-height:1.25;
}
.club-panel-grid{
  display:grid; grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:14px; align-items:stretch;
}
.club-panel-card{
  display:flex; flex-direction:column; height:100%;
  background:var(--white); border:1px solid var(--line); border-radius:12px;
  overflow:hidden; box-sizing:border-box;
}
.club-panel-card__art{
  position:relative; width:100%; aspect-ratio:16/9; max-height:128px;
  background:#1C2B2E; flex-shrink:0; overflow:hidden;
}
.club-panel-card__art img{
  width:100%; height:100%; object-fit:cover; object-position:center; display:block;
}
.club-panel-card__fallback{
  width:100%; height:100%; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(145deg, var(--jade-deep), #1C2B2E 70%);
  color:rgba(255,255,255,.55); font-family:var(--display); font-size:1.8rem;
}
.club-panel-card__tipos{
  position:absolute; left:8px; top:8px; display:flex; flex-wrap:wrap; gap:4px;
}
.club-panel-card__tipos span{
  font-size:10px; font-weight:700; letter-spacing:.04em; text-transform:uppercase;
  background:rgba(28,43,46,.82); color:#fff; padding:2px 6px; border-radius:6px;
}
.club-panel-card__tipos .is-free{ background:var(--jade); }
.club-panel-card__body{
  display:flex; flex-direction:column; gap:6px; flex:1; min-height:0;
  padding:12px 12px 12px;
}
.club-panel-card__body h3{
  margin:0; font-family:var(--display); font-size:1rem; line-height:1.25; color:var(--ink);
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.club-panel-card__desc{
  margin:0; font-size:12.5px; color:var(--ink-soft); line-height:1.4;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.club-panel-card__precio{
  margin:0; font-size:13px; font-weight:700; color:var(--ink); line-height:1.3;
}
.club-panel-card__precio span{ font-size:11px; font-weight:500; color:var(--ink-soft); }
.club-panel-card__acciones{
  margin-top:auto; padding-top:8px;
  display:flex; flex-direction:row; flex-wrap:wrap;
  align-items:center; justify-content:space-between; gap:6px 8px;
}
.club-panel-card__btn{
  width:auto; justify-content:center; min-height:34px; padding:6px 12px; font-size:13px;
}
.club-panel-card__acciones .btn-ghost{
  min-height:34px; padding:6px 12px; font-size:13px;
}
.club-panel-card__form{ display:flex; flex-direction:column; gap:5px; width:100%; }
.club-panel-card__pago-label{ font-size:11px; font-weight:600; color:var(--ink-soft); }
.club-panel-card__form select{
  font-size:13px; padding:6px 8px; min-height:34px;
  border-radius:8px; border:1px solid var(--line); background:var(--paper);
}
.club-panel-card__form .club-panel-card__btn{ width:100%; }
.club-panel-card__nota{ margin:0; font-size:12px; color:var(--ink-soft); }
@media (max-width:960px){
  .club-panel-grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
@media (max-width:640px){
  .club-panel-grid{ grid-template-columns:1fr; }
  .club-panel-card{ height:auto; }
  .club-panel-card__art{ max-height:160px; }
  .club-panel-locked__acciones .btn{ width:100%; justify-content:center; }
}

/* Panel negocio: intros / puentes entre MembresÃ­a y Publicidad */
.panel-page-intro{
  display:flex; align-items:flex-start; justify-content:space-between; gap:16px;
  margin-bottom:22px; padding:4px 0 18px; border-bottom:1px solid var(--line);
}
.panel-page-intro h2{
  margin:0 0 6px; font-family:var(--display); font-size:1.55rem; line-height:1.2;
}
.panel-page-intro p{
  margin:0; color:var(--ink-soft); font-size:13.5px; line-height:1.5; max-width:52ch;
}
.panel-page-kicker{
  margin:0 0 4px; font-size:11px; font-weight:700; letter-spacing:.06em;
  text-transform:uppercase; color:var(--jade);
}
.panel-page-bridge{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:22px 24px; margin-bottom:20px;
}
.panel-page-bridge h2{
  margin:0 0 6px; font-family:var(--display); font-size:1.25rem; line-height:1.2;
}
.panel-page-bridge p{
  margin:0; color:var(--ink-soft); font-size:13.5px; line-height:1.5; max-width:48ch;
}
.panel-section-card{ padding:24px 28px; }
@media (max-width:640px){
  .panel-page-intro,
  .panel-page-bridge{ flex-direction:column; align-items:stretch; }
}

/* Email marketing: herramienta SaaS del panel negocio */
.em-hub{ max-width:100%; }
.em-hub-kicker{
  margin:0 0 2px; font-size:11px; font-weight:700; letter-spacing:.08em;
  text-transform:uppercase; color:var(--jade);
}
.em-head{
  display:flex; align-items:flex-end; justify-content:space-between; gap:16px;
  margin:0 0 18px;
}
.em-head__title{
  margin:0; font-family:var(--display); font-size:1.7rem; line-height:1.15; color:var(--ink);
}
.em-head__sub{ margin:6px 0 0; max-width:46ch; color:var(--ink-soft); font-size:14px; line-height:1.5; }
.em-cta{ white-space:nowrap; }
.em-tabs{
  display:flex; gap:2px; flex-wrap:nowrap;
  overflow-x:auto; overflow-y:hidden;
  margin:0 0 22px;
  border-bottom:1px solid var(--line);
}
.em-tab{
  flex:0 0 auto; padding:10px 14px 12px; text-decoration:none;
  color:var(--ink-soft); font-size:14px; font-weight:600;
  border-bottom:2px solid transparent; margin-bottom:-1px;
}
.em-tab:hover{ color:var(--ink); }
.em-tab.is-active{ color:var(--jade-deep); border-bottom-color:var(--marigold); }
.em-hub-estado{ padding:22px 24px; margin-bottom:16px; }
.em-hub-estado h2{ margin:0 0 8px; font-family:var(--display); }
.em-hub-estado p{ margin:0 0 10px; font-size:14.5px; line-height:1.55; }
.em-hub-estado__soft{ color:var(--ink-soft); font-size:14px; }
.em-hub-barra{
  height:8px; border-radius:999px; background:color-mix(in srgb, var(--jade) 12%, var(--paper-alt));
  overflow:hidden; margin:10px 0 8px;
}
.em-hub-barra__fill{ display:block; height:100%; background:var(--jade); border-radius:inherit; }
.em-hub-barra--warn .em-hub-barra__fill{ background:var(--marigold); }
.em-hub-barra--hot .em-hub-barra__fill{ background:#c45c26; }
.em-hub-barra--max .em-hub-barra__fill{ background:var(--clay); }
.em-cupo{
  padding:18px 20px; margin-bottom:16px; border-radius:14px;
  background:linear-gradient(180deg, color-mix(in srgb, var(--jade) 8%, var(--paper)) 0%, var(--paper-alt) 100%);
  border:1px solid color-mix(in srgb, var(--jade) 18%, var(--line));
}
.em-cupo__top{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; }
.em-cupo__top p{ margin:0; font-size:13px; color:var(--ink-soft); font-weight:600; }
.em-cupo__top strong{ font-family:var(--display); font-size:1.7rem; color:var(--jade-deep); }
.em-cupo__top span{ font-size:1rem; color:var(--ink-soft); font-weight:500; }
.em-cupo__nota{ margin:0; font-size:13px; color:var(--ink-soft); }
.em-kpis{
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin-bottom:14px;
}
.em-kpi{
  padding:10px 12px 8px; border-radius:12px;
  background:color-mix(in srgb, var(--white) 70%, var(--paper));
  border:1px solid var(--line);
}
.em-kpi span{
  display:block; font-family:var(--display); font-size:1.28rem; line-height:1.1;
  color:var(--ink); margin-bottom:2px;
}
.em-kpi{ font-size:11.5px; color:var(--ink-soft); font-weight:600; }
.em-auto{
  padding:16px 18px; border-radius:12px;
  border:1px dashed color-mix(in srgb, var(--jade) 35%, var(--line));
  background:color-mix(in srgb, var(--paper-alt) 80%, var(--white));
}
.em-auto__tag{
  display:inline-block; margin-bottom:8px; padding:3px 9px; border-radius:999px;
  background:var(--paper); color:var(--jade-deep); font-size:10.5px; font-weight:700;
  letter-spacing:.06em; text-transform:uppercase; border:1px solid var(--line);
}
.em-auto h3{ margin:0 0 4px; font-size:16px; }
.em-auto p{ margin:0; font-size:13.5px; line-height:1.5; color:var(--ink-soft); }
.em-badge{
  display:inline-block; padding:2px 8px; border-radius:999px; font-size:11px; font-weight:700;
  letter-spacing:.02em;
}
.em-badge--draft{ background:var(--paper-alt); color:var(--ink-soft); }
.em-badge--sending{ background:color-mix(in srgb, var(--marigold) 28%, var(--paper)); color:var(--ink); }
.em-badge--sent{ background:color-mix(in srgb, var(--jade) 16%, var(--paper)); color:var(--jade-deep); }
.em-badge--activo{ background:color-mix(in srgb, var(--jade) 16%, var(--paper)); color:var(--jade-deep); }
.em-badge--baja{ background:var(--paper-alt); color:var(--ink-soft); }
.em-badge--bloqueado{ background:color-mix(in srgb, var(--clay) 16%, var(--paper)); color:var(--clay); }
.em-lib__head, .em-view__head{
  display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:14px;
}
.em-lib h2, .em-aud h2, .em-tpl h2, .em-marca h2, .em-view h2{
  margin:0 0 4px; font-family:var(--display); font-size:1.35rem;
}
.em-lead{ margin:0 0 16px; color:var(--ink-soft); font-size:14px; line-height:1.5; max-width:56ch; }
.em-empty{ margin:8px 0; color:var(--ink-soft); font-size:14px; }
.em-table-wrap{ overflow-x:auto; border:1px solid var(--line); border-radius:12px; background:color-mix(in srgb, var(--white) 55%, var(--paper)); }
.em-table{ width:100%; border-collapse:collapse; font-size:13px; }
.em-table th{
  text-align:left; padding:10px 12px; color:var(--ink-soft); font-size:11px;
  letter-spacing:.04em; text-transform:uppercase; border-bottom:1px solid var(--line); font-weight:700;
}
.em-table td{ padding:10px 12px; border-bottom:1px solid var(--line); vertical-align:top; }
.em-table tr:last-child td{ border-bottom:0; }
.em-table__name{ color:var(--ink); font-weight:700; text-decoration:none; }
.em-table__name:hover{ color:var(--jade-deep); }
.em-table__sub{ margin-top:2px; color:var(--ink-soft); font-size:12px; }
.em-table__acts{ white-space:nowrap; }
.em-table__acts a, .em-table__acts button{
  display:inline; margin:0 6px 0 0; padding:0; border:0; background:none;
  color:var(--jade-deep); font:inherit; font-size:12px; font-weight:600; cursor:pointer; text-decoration:none;
}
.em-table__acts form{ display:inline; }
.em-aud__lote{
  display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px;
  margin:0 0 12px; font-size:13px; color:var(--ink-soft);
}
.em-table__check{ width:36px; text-align:center; }
.em-table__check input{ margin:0; width:16px; height:16px; }
.em-aud__tools input[type="search"],
.em-aud__tools select{
  min-height:40px; border:1px solid var(--line); border-radius:10px;
  padding:0 12px; background:var(--paper); font:inherit;
}
.em-aud__tools input[type="search"]{ flex:1 1 220px; }
.em-tpl__grid{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px;
}
.em-tpl-card{
  display:block; padding:12px; border-radius:14px; text-decoration:none; color:inherit;
  background:color-mix(in srgb, var(--white) 60%, var(--paper));
  border:1px solid var(--line);
}
.em-tpl-card:hover{ border-color:color-mix(in srgb, var(--marigold) 55%, var(--line)); }
.em-tpl-mini{
  height:118px; border-radius:10px; padding:14px 16px; margin-bottom:12px;
  background:linear-gradient(180deg, #FFFDF8 0%, var(--paper-alt) 100%);
  border:1px solid var(--line); display:flex; flex-direction:column; gap:8px;
}
.em-tpl-mini i{
  display:block; width:42px; height:10px; border-radius:4px;
  background:var(--jade); opacity:.85;
}
.em-tpl-card--gold .em-tpl-mini i{ background:var(--marigold); }
.em-tpl-mini b{ font-size:13px; color:var(--ink); line-height:1.2; }
.em-tpl-mini u{
  display:block; height:6px; width:78%; border-radius:4px;
  background:var(--line); text-decoration:none;
}
.em-tpl-mini em{
  margin-top:auto; align-self:flex-start; font-style:normal; font-size:10px; font-weight:700;
  padding:5px 10px; border-radius:999px; background:var(--marigold); color:var(--ink);
}
.em-tpl-card h3{ margin:0 0 4px; font-size:16px; }
.em-tpl-card p{ margin:0; font-size:13px; line-height:1.45; color:var(--ink-soft); }
.em-marca__ficha{
  display:flex; gap:14px; align-items:center; padding:14px; margin:0 0 16px;
  border-radius:12px; border:1px solid var(--line);
  background:color-mix(in srgb, var(--white) 50%, var(--paper));
}
.em-marca__logo{ width:56px; height:56px; object-fit:contain; border-radius:10px; background:var(--white); }
.em-marca__nombre{ margin:0; font-weight:700; font-size:16px; }
.em-marca__slogan{ margin:4px 0 0; color:var(--ink-soft); font-size:13.5px; }
.em-marca__hint{ margin:8px 0 0; font-size:12.5px; color:var(--ink-soft); }
.em-marca__form{
  padding:18px; border-radius:12px; border:1px solid var(--line);
  background:color-mix(in srgb, var(--white) 45%, var(--paper));
}
.em-editor__bar{
  display:flex; justify-content:space-between; gap:12px; margin-bottom:14px; font-size:13px;
}
.em-editor__bar a{ color:var(--jade-deep); font-weight:600; text-decoration:none; }
.em-editor__fields{
  display:flex; flex-direction:column; gap:12px; max-width:720px;
  padding:18px; border-radius:14px; border:1px solid var(--line);
  background:color-mix(in srgb, var(--white) 50%, var(--paper));
}
.em-ed-split{
  display:grid; grid-template-columns:minmax(0,45%) minmax(0,55%);
  gap:16px; align-items:start;
}
.em-ed-split .em-editor__fields{ max-width:none; padding:14px; }
.em-ed-blocks-title{ margin:4px 0 6px; font-size:15px; }
.em-block{
  margin:0 0 14px; padding:10px 12px; border:1px solid var(--line); border-radius:12px;
  background:color-mix(in srgb, var(--white) 70%, var(--paper));
}
.em-block__bar{
  display:flex; align-items:center; gap:8px; margin:0 0 8px; font-size:12px;
}
.em-block__bar strong{ flex:1; font-size:13px; }
.em-block__grip{ color:var(--ink-soft); cursor:grab; user-select:none; }
.em-block__acts{ display:flex; gap:4px; flex-wrap:wrap; }
.em-block__ico{
  min-height:28px; padding:0 8px; border-radius:8px; border:1px solid var(--line);
  background:var(--paper); font:inherit; font-size:11px; font-weight:600; cursor:pointer;
}
.em-block__ico--del{ color:var(--clay,#B23A2F); }
.em-block__align{ display:flex; gap:4px; margin:0 0 8px; }
.em-align-btn{
  min-height:28px; padding:0 8px; border-radius:8px; border:1px solid var(--line);
  background:var(--paper); font:inherit; font-size:11px; font-weight:600; cursor:pointer;
}
.em-align-btn.is-on{ border-color:var(--jade); background:color-mix(in srgb, var(--jade) 10%, var(--paper)); }
.em-block__input, .em-block__tamano{
  width:100%; min-width:0; min-height:40px; padding:6px 10px; border:1px solid var(--line);
  border-radius:8px; background:#fff; font:inherit; font-size:14px;
}
.em-block .em-editor__cta-row, .em-block .field{ min-width:0; }
.em-block__cta-url{
  overflow-x:auto; text-overflow:clip; white-space:nowrap;
}
.em-rt-toolbar{ display:flex; flex-wrap:wrap; gap:4px; margin:0 0 8px; }
.em-rt-toolbar button{
  min-width:28px; min-height:28px; padding:0 7px; border-radius:8px;
  border:1px solid var(--line); background:var(--paper); font:inherit; font-size:12px; cursor:pointer;
}
.em-block__rte{
  min-height:88px; padding:8px 10px; border:1px solid var(--line); border-radius:8px;
  background:#fff; font:inherit; font-size:14px; line-height:1.45;
}
.em-add-block{ position:relative; margin:8px 0 0; }
.em-add-block__menu{
  position:absolute; z-index:5; top:40px; left:0; min-width:220px; padding:6px;
  border:1px solid var(--line); border-radius:10px; background:var(--paper);
  display:flex; flex-direction:column; gap:2px;
}
.em-add-block__menu[hidden]{ display:none; }
.em-add-block__menu button{
  text-align:left; min-height:34px; padding:0 10px; border:0; border-radius:8px;
  background:transparent; font:inherit; font-size:13px; cursor:pointer;
}
.em-add-block__menu button:hover{ background:color-mix(in srgb, var(--jade) 10%, var(--paper)); }
.em-preview-live{
  position:sticky; top:12px; padding:12px; border-radius:14px;
  border:1px solid var(--line);
  background:color-mix(in srgb, var(--ink) 4%, var(--paper));
}
#em-block-templates{ display:none !important; }
.em-emoji-pop{
  position:fixed; z-index:20; display:flex; flex-wrap:wrap; gap:4px; width:220px;
  padding:8px; border:1px solid var(--line); border-radius:10px; background:var(--paper);
}
.em-emoji-pop[hidden]{ display:none; }
.em-emoji-pop button{
  width:32px; height:32px; border:0; border-radius:8px; background:transparent;
  font-size:18px; cursor:pointer;
}
@media (max-width:900px){
  .em-ed-split{ grid-template-columns:1fr; }
  .em-preview-live{ position:static; }
}
.em-editor__cta-row{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.em-check, .em-upload-mini, .em-note, .em-warn, .em-label{
  font-size:13.5px; color:var(--ink);
}
.em-note, .em-warn{ margin:0; color:var(--ink-soft); }
.em-warn{ color:var(--clay); }
.em-hero-pick{ margin:8px 0; }
.em-hero-pick__acciones{ display:flex; flex-wrap:wrap; gap:8px; margin:0 0 10px; }
.em-hero-choice{
  min-height:40px; padding:0 12px; border-radius:10px; cursor:pointer;
  border:2px solid var(--line); background:var(--paper); font:inherit; font-size:13px; font-weight:600;
}
.em-hero-choice.is-on{ border-color:var(--marigold); box-shadow:0 0 0 2px color-mix(in srgb, var(--marigold) 45%, transparent); }
.em-hero-pick__label{ margin:0 0 6px; font-size:12px; font-weight:700; color:var(--ink-soft); }
.em-thumbs{
  display:grid; grid-template-columns:repeat(auto-fill,minmax(72px,1fr));
  gap:10px; margin:8px 0; padding:10px;
  max-height:240px; overflow-x:hidden; overflow-y:auto;
  border:1px solid var(--line); border-radius:12px;
  background:color-mix(in srgb, var(--white) 40%, var(--paper-alt));
}
.em-thumbs--inpick{ margin:0; }
.em-thumb{
  width:100%; aspect-ratio:1; height:auto; padding:0; border-radius:10px; overflow:hidden; cursor:pointer;
  border:2px solid var(--line); background:var(--paper-alt); font-size:10px; color:var(--ink-soft);
}
.em-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.em-thumb.is-on{ border-color:var(--marigold); box-shadow:0 0 0 2px color-mix(in srgb, var(--marigold) 45%, transparent); }
.em-prods{ border:1px solid var(--line); border-radius:12px; padding:12px; margin:0; }
.em-prods legend{ padding:0 6px; font-weight:700; }
.em-prods p{ margin:0 0 10px; font-size:13px; color:var(--ink-soft); }
.em-prods__grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.em-prod{
  display:flex; gap:8px; align-items:center; padding:8px; border-radius:10px;
  border:1px solid var(--line); background:var(--paper); cursor:pointer; font-size:13px;
}
.em-prod.is-on{ border-color:var(--jade); background:color-mix(in srgb, var(--jade) 8%, var(--paper)); }
.em-prod img{ width:40px; height:40px; object-fit:cover; border-radius:6px; }
.em-prod strong{ display:block; }
.em-prod em{ font-style:normal; color:var(--jade-deep); font-size:12px; }
.em-editor__actions{ display:flex; flex-wrap:wrap; gap:8px; }
.em-preview-card{ margin-bottom:16px; }
.em-preview-card__meta{ margin:0 0 8px; font-size:13px; color:var(--ink-soft); }
.em-preview-frame{
  border:1px solid var(--line); border-radius:12px; overflow:auto; background:var(--paper-alt);
}
.em-stats{
  display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:8px; margin:0 0 16px;
}
.em-stats--4{ grid-template-columns:repeat(4,minmax(0,1fr)); }
.em-check--switch{ font-weight:700; font-size:15px; }
.em-stat{
  padding:10px; border-radius:10px; text-align:center; font-size:11px; color:var(--ink-soft);
  background:color-mix(in srgb, var(--white) 55%, var(--paper)); border:1px solid var(--line);
}
.em-stat span{ display:block; font-family:var(--display); font-size:1.2rem; color:var(--ink); }
.em-view__meta{ margin:6px 0; color:var(--ink-soft); font-size:13px; }
.em-view__asunto{ margin:0; font-size:13.5px; }
.em-view__actions, .em-view__send{ display:flex; flex-wrap:wrap; gap:8px; }
.em-aviso{
  margin:0 0 16px; padding:14px 16px; border-radius:14px;
  border:1px solid var(--line); background:var(--paper-alt);
}
.em-aviso p{ margin:0; font-size:14.5px; line-height:1.5; }
.em-aviso .btn{ margin-top:10px; }
.em-aviso--warn{ border-color:var(--marigold,#E8A838); background:color-mix(in srgb, var(--marigold,#E8A838) 12%, var(--paper)); }
.em-aviso--hot{ border-color:#c45c26; background:color-mix(in srgb, #c45c26 10%, var(--paper)); }
.em-aviso--max{ border-color:var(--clay,#B23A2F); background:color-mix(in srgb, var(--clay,#B23A2F) 10%, var(--paper)); }
.em-aviso--suspendido{ border-color:var(--ink); background:color-mix(in srgb, var(--ink) 6%, var(--paper)); }
.em-aviso--suspendido strong{ display:block; margin:0 0 6px; }
.em-aviso--suspendido p{ color:var(--ink); }
.em-sending h2{ margin:0 0 8px; }
.em-ed-sec{
  margin:0; padding:12px 12px 4px; border:1px solid var(--line); border-radius:12px;
  display:flex; flex-direction:column; gap:10px;
  background:color-mix(in srgb, var(--white) 35%, transparent);
}
.em-ed-sec legend{ padding:0 6px; font-weight:700; font-size:13px; }
.em-preview-card__top{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; margin-bottom:8px;
}
.em-preview-switch{ display:flex; gap:4px; }
.em-preview-switch button{
  min-height:32px; padding:0 10px; border-radius:8px; border:1px solid var(--line);
  background:var(--paper); font:inherit; font-size:12px; font-weight:600; cursor:pointer;
}
.em-preview-switch button.is-on{ border-color:var(--jade); background:color-mix(in srgb, var(--jade) 10%, var(--paper)); }
.em-preview-frame.is-mobile{ max-width:360px; margin-left:auto; margin-right:auto; }
.em-preview-frame.is-mobile .em-mail-prod-col,
.em-preview-frame.is-mobile .em-mail-split-col{
  display:block !important; width:100% !important;
  padding-left:0 !important; padding-right:0 !important;
}
.em-preview-frame.is-mobile .em-mail-h1{ font-size:26px !important; }
.em-mail-mini-real{
  height:220px; overflow:hidden; margin:0 0 12px;
  border-radius:10px; border:1px solid var(--line); background:#FAF6EC;
  pointer-events:none;
}
.em-mail-mini-real__scale{
  width:640px; transform:scale(.38); transform-origin:top left;
}
.em-subtabs{ display:flex; gap:8px; margin:0 0 16px; flex-wrap:wrap; }
.em-subtab{
  display:inline-flex; align-items:center; min-height:36px; padding:0 12px; border-radius:999px;
  border:1px solid var(--line); text-decoration:none; color:var(--ink); font-size:13px; font-weight:600;
  background:var(--paper);
}
.em-subtab.is-active{ border-color:var(--jade); background:color-mix(in srgb, var(--jade) 10%, var(--paper)); color:var(--jade-deep); }
.em-pager{ display:flex; align-items:center; gap:12px; margin:12px 0 0; font-size:13px; }
.em-pager a{ color:var(--jade-deep); font-weight:600; text-decoration:none; }
.em-recientes{ margin-top:18px; }
.em-recientes .em-lib__head a{ color:var(--jade-deep); font-weight:700; text-decoration:none; font-size:14px; }
.em-tpl-card__acts{ margin-top:8px; }
.em-mail-mini{
  height:168px; border-radius:10px; padding:10px 12px; margin-bottom:12px;
  background:#fff; border:1px solid var(--line);
  display:flex; flex-direction:column; gap:6px; overflow:hidden;
}
.em-mail-mini__logo{
  width:28px; height:28px; border-radius:7px; flex:0 0 auto;
  background:linear-gradient(135deg, var(--jade) 0%, var(--jade-deep) 100%);
}
.em-tpl-card--gold .em-mail-mini__logo,
.em-mail-mini--promocion .em-mail-mini__logo,
.em-mail-mini--evento .em-mail-mini__logo,
.em-mail-mini--newsletter .em-mail-mini__logo{
  background:linear-gradient(135deg, var(--marigold) 0%, #c45c26 100%);
}
.em-mail-mini__hero{
  display:block; height:36px; border-radius:6px; flex:0 0 auto;
  background:linear-gradient(90deg, color-mix(in srgb, var(--jade) 28%, #eee) 0%, color-mix(in srgb, var(--marigold) 35%, #f3ead6) 100%);
}
.em-mail-mini--promocion .em-mail-mini__hero{
  background:linear-gradient(90deg, var(--marigold) 0%, #f7d56a 100%);
}
.em-mail-mini--evento .em-mail-mini__hero{
  background:linear-gradient(90deg, #2F6F5E 0%, #8ec5b0 100%);
}
.em-mail-mini__h{ font-size:12px; line-height:1.2; color:var(--ink); }
.em-mail-mini__p{
  display:block; height:5px; width:92%; border-radius:3px;
  background:color-mix(in srgb, var(--ink) 12%, var(--paper));
}
.em-mail-mini__p--s{ width:62%; }
.em-mail-mini__cta{
  align-self:flex-start; margin-top:auto; font-size:9px; font-weight:700;
  padding:4px 9px; border-radius:999px; background:var(--marigold); color:var(--ink);
}
.em-mail-mini__prods{ display:flex; gap:6px; }
.em-mail-mini__prods i{
  display:block; width:34px; height:28px; border-radius:5px;
  background:color-mix(in srgb, var(--jade) 18%, #efe8d6);
}
.em-color{ display:flex; align-items:center; gap:8px; }
.em-color input[type="color"]{
  width:42px; height:42px; padding:0; border:1px solid var(--line); border-radius:10px;
  background:var(--paper); cursor:pointer;
}
.em-color input[type="text"]{
  flex:1; min-height:42px; font-family:ui-monospace,Consolas,monospace; letter-spacing:.04em;
}
.em-marca-preview{
  margin:4px 0 14px; padding:12px; border-radius:12px; border:1px solid var(--line);
  background:color-mix(in srgb, var(--white) 50%, var(--paper));
}
.em-marca-preview__label{ margin:0 0 8px; font-size:12px; font-weight:700; color:var(--ink-soft); }
.em-marca-preview__mail{
  max-width:280px; padding:12px; border-radius:10px; background:#fff; border:1px solid var(--line);
  display:flex; flex-direction:column; gap:6px;
}
.em-marca-preview__logo{ width:40px; height:40px; object-fit:contain; border-radius:8px; }
.em-marca-preview__mail strong{ font-size:14px; }
.em-marca-preview__mail em{ font-style:normal; font-size:12px; color:var(--ink-soft); }
.em-marca-preview__title{ font-size:13px; font-weight:700; }
.em-marca-preview__btn{
  align-self:flex-start; margin-top:4px; padding:6px 12px; border-radius:999px;
  font-size:11px; font-weight:700; color:var(--ink);
}
@media (max-width:980px){
  .em-kpis{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .em-tpl__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .em-stats{ grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media (max-width:700px){
  .em-head, .em-lib__head, .em-view__head{ flex-direction:column; align-items:stretch; }
  .em-editor__cta-row, .em-prods__grid{ grid-template-columns:1fr; }
  .em-tpl__grid{ grid-template-columns:1fr; }
  .em-hub-estado .btn{ width:100%; text-align:center; }
}

/* Oferta post-aprobaciÃ³n (Resumen del panel negocio) */
.oferta-post-aprobacion{
  margin-bottom:20px;
  padding:22px 24px;
  border-radius:12px;
  border:1px solid color-mix(in srgb, var(--jade,#1F7A4D) 28%, var(--line));
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--jade,#1F7A4D) 10%, var(--white)) 0%, var(--white) 55%),
    var(--white);
}
.oferta-post-aprobacion__kicker{
  margin:0 0 4px; font-size:11px; font-weight:700; letter-spacing:.06em;
  text-transform:uppercase; color:var(--jade,#1F7A4D);
}
.oferta-post-aprobacion__titulo{
  margin:0 0 8px; font-family:var(--display); font-size:1.45rem; line-height:1.2;
}
.oferta-post-aprobacion__texto{
  margin:0 0 16px; color:var(--ink-soft); font-size:14px; line-height:1.55; max-width:58ch;
}
.oferta-post-aprobacion__ctas{
  display:flex; flex-wrap:wrap; align-items:center; gap:10px 12px;
}
.oferta-post-aprobacion__dismiss{
  background:none; border:none; padding:6px 4px; cursor:pointer;
  font:inherit; font-size:13px; color:var(--ink-soft); text-decoration:underline;
}
.oferta-post-aprobacion__dismiss:hover{ color:var(--ink); }
#membresia-planes,
#membresia-landing,
#membresia-email{ scroll-margin-top:24px; }
#membresia-landing.admin-panel-card{ overflow:visible; }
/* Planes: Destacado | Email â€” misma fila, mismo chrome, misma altura. */
.membresia-cards-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  align-items:stretch;
}
.membresia-cards-grid > *{
  min-width:0;
  width:100%;
  height:100%;
  align-self:stretch;
}
.membresia-cards-grid > .admin-panel-card,
.membresia-cards-grid > .membresia-pair-card,
.membresia-cards-grid > .membresia-addon-card{
  display:flex;
  flex-direction:column;
  height:100%;
  width:100%;
  max-width:none;
  min-width:0;
  margin-bottom:0;
  overflow:visible;
  box-sizing:border-box;
  padding:18px 20px;
  background:var(--white);
  border:1px solid var(--line);
  border-radius:10px;
  flex:none;
}
.membresia-cards-grid > .membresia-pair-card--actual{
  border-width:2px;
  border-color:var(--jade,#1F7A4D);
}
.membresia-pair-card__title{
  margin:0 0 4px;
  font-size:17px;
  font-weight:700;
  line-height:1.25;
}
.membresia-pair-card__price{
  font-size:20px;
  font-weight:700;
  margin:0 0 8px;
  line-height:1.3;
}
.membresia-pair-card__price span{
  font-size:13px;
  font-weight:400;
  color:var(--ink-soft);
}
.membresia-plan-features{
  list-style:none;
  padding:0;
  margin:0 0 10px;
  font-size:12.5px;
  line-height:1.4;
}
.membresia-plan-features li{
  margin-bottom:4px;
}
.membresia-cards-grid .membresia-pago-field{
  max-width:280px;
  width:100%;
  flex:none;
  min-width:0;
  margin:0 0 10px;
}
.membresia-cards-grid .membresia-pago-field select{
  max-width:280px;
  width:100%;
}
.membresia-pair-card__action{
  margin-top:auto;
  padding-top:14px;
  align-self:stretch;
}
.membresia-pair-card__action.btn{
  align-self:flex-start;
}
.membresia-pair-card__action form,
form.membresia-pair-card__action{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.membresia-cards-grid .membresia-addon-card--email{
  width:100%;
  max-width:none;
  height:100%;
  align-self:stretch;
}
/* Landing + QR: dos columnas (enlaces | QR+radios+fotos). No toca Destacado/Email. */
.membresia-addons-row{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:16px;
}
.membresia-addon-card{
  height:auto;
  box-sizing:border-box;
  overflow:visible;
}
.membresia-addon-card--landing,
.membresia-addon-card--other{
  align-self:stretch;
  width:100%;
  max-width:none;
  min-width:0;
  height:auto;
}
.membresia-addon-card--landing .membresia-landing-grid,
.membresia-landing-grid{
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) !important;
  gap:16px 28px !important;
  align-items:start;
  margin-top:12px;
  width:100%;
  box-sizing:border-box;
}
.membresia-landing-col{
  min-width:0;
}
.membresia-landing-col--share > p:first-child{
  margin-top:4px;
}
.membresia-landing-url-grupo{ margin:0 0 10px; }
.membresia-landing-url-grupo > p{ margin:0 0 6px; font-size:13px; font-weight:700; }
.membresia-landing-urls{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-bottom:12px;
}
.membresia-landing-urls label{
  display:block;
  font-size:12px;
  font-weight:600;
  margin:0 0 4px;
}
.membresia-landing-urls [data-copy-wrap] > div{
  display:flex;
  gap:6px;
  align-items:center;
}
.membresia-landing-url{
  flex:1;
  min-width:0;
  height:32px;
  font-size:11px;
  padding:4px 8px;
  border:1px solid var(--line);
  border-radius:6px;
  background:var(--paper-alt);
  line-height:1.3;
  white-space:nowrap;
}
.membresia-landing-urls .btn{
  font-size:11px;
  padding:4px 10px;
  flex-shrink:0;
  white-space:nowrap;
}
.membresia-landing-qr{
  display:flex;
  align-items:center;
  gap:12px;
  text-align:left;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--paper-alt);
  margin-top:4px;
  max-width:280px;
}
.membresia-landing-qr img{
  display:block;
  width:72px;
  height:72px;
  margin:0;
  border-radius:6px;
  background:#fff;
  flex-shrink:0;
}
.membresia-landing-qr-picker{
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--paper-alt);
  padding:12px 14px;
  margin-bottom:16px;
}
.membresia-landing-qr-row{
  display:flex;
  gap:14px;
  align-items:flex-start;
}
.membresia-landing-qr-picker .membresia-landing-qr{
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
  border:0;
  background:transparent;
  padding:0;
  margin:0;
  max-width:none;
}
.membresia-landing-qr-picker .membresia-landing-radios{
  flex:1;
  min-width:0;
  margin-bottom:0;
}
.membresia-landing-radios{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin-bottom:14px;
}
.membresia-landing-radio{
  display:flex;
  gap:8px;
  align-items:flex-start;
  padding:7px 10px;
  border:1px solid var(--line);
  border-radius:8px;
  cursor:pointer;
  background:var(--white);
}
.membresia-landing-radio input{
  margin-top:3px;
  flex-shrink:0;
}
.membresia-landing-radio strong{
  display:block;
  font-size:13px;
}
.membresia-landing-radio span span{
  font-size:12px;
  color:var(--ink-soft);
  line-height:1.35;
}
.membresia-landing-radio.is-selected,
.membresia-landing-radio:has(input:checked){
  background:color-mix(in srgb, var(--jade) 10%, var(--white));
  border-color:var(--jade);
}
.membresia-landing-guardar{
  margin-top:14px;
  width:auto;
}
.landing-pagos-legend{
  display:block;
  font-size:13px;
  font-weight:600;
  margin-bottom:4px;
}
.landing-pagos-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:6px;
  margin:8px 0 10px;
}
.landing-pagos-check{
  display:flex;
  align-items:center;
  gap:8px;
  padding:7px 8px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--white);
  font-size:12.5px;
  cursor:pointer;
  line-height:1.3;
}
.landing-pagos-check input{ flex-shrink:0; }
.landing-pagos-check:has(input:checked){
  background:color-mix(in srgb, var(--jade) 10%, var(--white));
  border-color:var(--jade);
}
.landing-pagos-otros{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:8px;
}
.landing-pagos-otros label{
  font-size:12px;
  font-weight:600;
}
.landing-cfg-intro{
  margin:0 0 16px;
  font-size:12.5px;
  color:var(--ink-soft);
  line-height:1.5;
}
.landing-cfg-sec{
  margin:0 0 18px;
  padding:14px 14px 16px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--white);
}
.landing-cfg-sec[hidden]{ display:none !important; }
.landing-cfg-sec h3{
  margin:0 0 6px;
  font-size:14px;
  font-weight:700;
  letter-spacing:-.02em;
}
.landing-cta-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:6px;
  margin:8px 0 10px;
}
.landing-cta-otra{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:8px;
}
.landing-cta-otra[hidden]{ display:none; }
.landing-cta-otra label{
  font-size:12px;
  font-weight:600;
}
.mi-landing{
  display:grid;
  grid-template-columns:minmax(0, 30%) minmax(0, 70%);
  align-items:start;
  gap:24px;
}
.mi-landing-resumen,
.mi-landing-form{
  padding:24px;
  margin-bottom:0;
  min-width:0;
}
.mi-landing-resumen{
  position:sticky;
  top:16px;
}
.mi-landing-resumen h2,
.mi-landing-form h2{
  margin:0 0 16px;
  font-family:var(--display);
  font-size:22px;
}
.mi-landing-resumen-grid{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:16px;
}
.mi-landing-resumen-datos{ min-width:0; }
.mi-landing-meta{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px 10px;
  margin:0 0 10px;
  font-size:14px;
}
.mi-landing-meta span{ color:var(--ink-soft); min-width:7.5em; }
.mi-landing-url{ margin:14px 0 16px; }
.mi-landing-url label{
  display:block;
  font-size:12px;
  font-weight:600;
  margin:0 0 6px;
}
.mi-landing-url > div{ display:flex; gap:8px; align-items:center; }
.mi-landing-url .membresia-landing-url{ flex:1; min-width:0; height:36px; font-size:12.5px; }
.mi-landing-acciones{ margin:0; }
.mi-landing-qr{ align-items:flex-start; }
.mi-landing-form-inner{ max-width:none; margin:0; }
.mi-landing-form .membresia-landing-guardar{ width:100%; }
.mi-landing-form-head{
  display:flex; align-items:baseline; justify-content:space-between; gap:12px;
  margin:0 0 16px;
}
.mi-landing-form-head h2{ margin:0; }
.mi-landing-preview-link{
  font-size:13px; font-weight:600; color:var(--jade); text-decoration:underline;
  white-space:nowrap;
}
.mi-landing-preview-link:hover{ color:var(--jade-deep); }
.mi-landing .landing-cfg-sec{
  border:1px solid var(--line); border-radius:10px; margin:0 0 10px; background:var(--paper);
  overflow:hidden;
}
.mi-landing .landing-cfg-toggle{
  width:100%; display:flex; flex-direction:column; align-items:flex-start; gap:4px;
  padding:12px 14px; background:none; border:0; cursor:pointer; text-align:left;
}
.mi-landing .landing-cfg-toggle h3{
  margin:0; font-size:16px; display:flex; align-items:center; justify-content:space-between;
  width:100%; gap:8px;
}
.mi-landing .landing-cfg-toggle h3::after{
  content:''; width:8px; height:8px; border-right:2px solid var(--ink-soft);
  border-bottom:2px solid var(--ink-soft); transform:rotate(45deg); margin-top:-4px;
  flex-shrink:0;
}
.mi-landing .landing-cfg-sec.is-open .landing-cfg-toggle h3::after{
  transform:rotate(225deg); margin-top:4px;
}
.mi-landing .landing-cfg-toggle .field-hint{ margin:0; }
.mi-landing .landing-cfg-body{ display:none; padding:0 14px 14px; }
.mi-landing .landing-cfg-sec.is-open .landing-cfg-body{ display:block; }
.mi-landing .landing-cfg-sec .field + .field{
  margin-top:16px; padding-top:16px; border-top:1px solid var(--line);
}
.mi-landing .landing-cta-grid .landing-pagos-check:has(input:checked){
  background:color-mix(in srgb, var(--jade) 16%, var(--white));
  border-color:var(--jade);
  box-shadow:0 0 0 2px color-mix(in srgb, var(--jade) 28%, transparent);
  font-weight:700;
}
.mi-landing-savebar{
  position:fixed; left:248px; right:0; bottom:0; z-index:25;
  display:flex; justify-content:flex-end; align-items:center;
  gap:12px; padding:10px 24px;
  background:var(--white); border-top:1px solid var(--line);
  box-shadow:0 -6px 18px rgba(28,43,46,.06);
}
.mi-landing{ padding-bottom:72px; }
@media (max-width:760px){
  .mi-landing-savebar{ left:0; }
}

/* Mi ficha y fotos: secciones + sticky guardar */
.ficha-edit{ padding-bottom:76px; }
.ficha-edit-nav{
  position:sticky; top:0; z-index:20;
  display:flex; gap:6px; overflow-x:auto; margin:0 0 14px; padding:8px 0 10px;
  background:var(--paper); border-bottom:1px solid var(--line);
  scrollbar-width:none;
}
.ficha-edit-nav::-webkit-scrollbar{ display:none; }
.ficha-edit-nav a{
  flex:0 0 auto; padding:6px 12px; border-radius:999px;
  border:1px solid var(--line); background:var(--white);
  color:var(--ink); text-decoration:none; font-size:12.5px; font-weight:600; white-space:nowrap;
}
.ficha-edit-nav a.is-on,
.ficha-edit-nav a:hover{ border-color:var(--jade); color:var(--jade-deep, var(--jade)); }
.ficha-edit-sec{
  margin:0 0 12px; padding:0;
  scroll-margin-top:58px;
}
.ficha-edit-sec > summary{
  cursor:pointer; list-style:none; padding:14px 18px;
  font-size:15px; font-weight:700;
}
.ficha-edit-sec > summary:hover{ background:color-mix(in srgb, var(--jade) 6%, var(--white)); }
.ficha-edit-sec > summary::-webkit-details-marker{ display:none; }
.ficha-edit-sec > summary::before{ content:'▾ '; color:var(--jade); font-weight:700; }
.ficha-edit-sec:not([open]) > summary::before{ content:'▸ '; }
.ficha-edit-sec .form-grid{ padding:0 18px 16px; }
.ficha-edit .ubicacion-block{ margin-top:0; }
.ficha-edit .ubicacion-block-head h3{ display:none; }
.ficha-edit-chips,
.ficha-edit .filter-chip-group,
.ficha-edit .field.full > div[style*="flex-wrap"]{
  display:flex; flex-wrap:wrap; gap:6px; margin-top:6px;
}
.ficha-edit .filter-chip{
  padding:5px 9px; font-size:12px; gap:5px;
}
.ficha-edit .filter-chip i{ font-size:12px; }
.ficha-edit-prefs{
  display:flex; flex-wrap:wrap; gap:10px 16px; margin-top:6px; font-size:13px;
}
.ficha-edit-prefs label{ display:flex; align-items:center; gap:6px; cursor:pointer; }
.ficha-edit-savebar{
  position:fixed; left:248px; right:0; bottom:0; z-index:25;
  display:flex; justify-content:space-between; align-items:center; gap:12px;
  padding:10px 24px; background:var(--white); border-top:1px solid var(--line);
  box-shadow:0 -6px 18px rgba(28,43,46,.06);
}
@media (max-width:760px){
  .ficha-edit-savebar{ left:0; }
  .ficha-edit-savebar .btn{ flex:1; text-align:center; }
  .ficha-edit-sec{ scroll-margin-top:52px; }
}

/* Personalizar ficha (panel negocio) */
.perso-panel{ padding-bottom:76px; }
.perso-locked{ padding:28px; }
.perso-locked h2{ font-family:var(--display); font-size:22px; margin:0 0 10px; }
.perso-locked p{ color:var(--ink-soft); font-size:14px; line-height:1.6; margin:0 0 18px; }
.perso-layout{
  display:grid; grid-template-columns:minmax(0, 1fr) 280px; gap:18px; align-items:start;
}
.perso-card{ margin-bottom:16px; }
.perso-card-body{ padding:16px 20px 20px; }
.perso-help{ margin:0 0 14px; color:var(--ink-soft); font-size:13.5px; line-height:1.5; }
.perso-paletas{
  display:grid; grid-template-columns:repeat(auto-fill, minmax(180px, 1fr)); gap:12px;
}
.palette-picker-card{
  display:flex; flex-direction:column; gap:8px; padding:12px;
  border:2px solid var(--line); border-radius:14px; cursor:pointer; background:var(--white);
}
.palette-picker-card.is-selected{
  border-color:var(--jade); background:var(--paper-alt);
}
.perso-paleta-top{ display:flex; align-items:center; gap:8px; }
.perso-paleta-nombre{ font-size:14px; font-weight:700; }
.perso-paleta-swatches{ display:flex; gap:6px; }
.perso-paleta-swatches span{
  width:22px; height:22px; border-radius:50%;
  border:1px solid rgba(0,0,0,.08);
}
.perso-paleta-desc{ font-size:12px; color:var(--ink-soft); line-height:1.35; }
.palette-mini-preview{
  display:flex; flex-direction:column; gap:6px; padding:10px;
  border-radius:10px; background:var(--paper); border:1px solid var(--line);
}
.perso-mini-name{ font-family:var(--display); font-size:13px; font-weight:700; color:var(--jade-deep); }
.perso-mini-row{ display:flex; gap:6px; flex-wrap:wrap; }
.perso-mini-cta{
  font-size:11px; font-weight:700; padding:5px 10px; border-radius:999px;
  background:var(--marigold); color:var(--ink);
}
.perso-mini-tag{
  font-size:11px; font-weight:700; padding:5px 10px; border-radius:999px;
  background:color-mix(in srgb, var(--jade) 16%, var(--white));
  color:var(--jade-deep); border:1px solid color-mix(in srgb, var(--jade) 28%, transparent);
}
.perso-mini-bar{ height:4px; border-radius:4px; background:var(--jade); opacity:.85; }
.perso-pin{ display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.perso-pin select{ max-width:420px; flex:1 1 220px; }
.perso-pin-visual{
  display:flex; align-items:center; gap:8px; min-width:160px;
  padding:8px 10px; border:1px solid var(--line); border-radius:10px; background:var(--paper-alt);
}
.perso-pin-icon, .perso-pin-thumb{
  width:32px; height:32px; flex:0 0 32px;
  display:flex; align-items:center; justify-content:center;
  border-radius:8px; background:var(--white); overflow:hidden;
  color:var(--jade-deep, var(--jade));
}
.perso-pin-thumb img, .perso-preview-item-art img{
  width:100%; height:100%; object-fit:cover; display:block;
}
.perso-pin-text{ font-size:13px; font-weight:600; }
.perso-cta-empty{
  display:block; margin-top:12px; font-size:13.5px; font-weight:600; color:var(--jade-deep, var(--jade));
}
.perso-fotos{ display:flex; gap:12px; margin:0 0 14px; }
.perso-foto{
  display:flex; flex-direction:column; gap:6px; font-size:12px; font-weight:600; color:var(--ink-soft);
}
.perso-foto img, .perso-foto-ph{
  width:72px; height:72px; border-radius:10px; border:1px solid var(--line);
  object-fit:cover; background:var(--paper-alt);
  display:flex; align-items:center; justify-content:center; font-size:22px; color:var(--ink-soft);
}
.perso-foto--portada img, .perso-foto--portada .perso-foto-ph{
  width:160px; height:72px; object-fit:cover;
}
.perso-preview-col{
  position:sticky; top:12px;
}
.perso-preview-kicker{
  margin:0 0 4px; font-size:11px; font-weight:700; letter-spacing:.06em;
  text-transform:uppercase; color:var(--jade);
}
.perso-preview-hint{ margin:0 0 10px; font-size:12.5px; color:var(--ink-soft); line-height:1.4; }
.perso-preview-ficha{
  padding:16px; border-radius:14px; border:1px solid var(--line);
  background:var(--paper); display:flex; flex-direction:column; gap:10px;
}
.perso-preview-biz{ margin:0; font-family:var(--display); font-size:18px; font-weight:700; color:var(--jade-deep); }
.perso-preview-tags{ display:flex; flex-wrap:wrap; gap:6px; }
.perso-preview-tags span{
  font-size:11px; font-weight:700; padding:4px 9px; border-radius:999px;
  background:color-mix(in srgb, var(--jade) 16%, var(--white));
  color:var(--jade-deep); border:1px solid color-mix(in srgb, var(--jade) 28%, transparent);
}
.perso-preview-cta{
  display:flex; align-items:center; gap:8px; padding:10px 12px; border-radius:10px;
  background:var(--marigold); color:var(--ink); font-size:13px;
}
.perso-preview-cta b{ font-size:13px; }
.perso-preview-item{
  display:flex; gap:10px; align-items:center;
  padding:8px; border-radius:10px; background:var(--white); border:1px solid var(--line);
}
.perso-preview-item-art{
  width:48px; height:48px; flex:0 0 48px; border-radius:8px; background:var(--paper-alt); overflow:hidden;
}
.perso-preview-item small{ display:block; font-size:10px; text-transform:uppercase; letter-spacing:.04em; color:var(--ink-soft); }
.perso-preview-item b{ font-size:13px; }
.perso-savebar{
  position:fixed; left:248px; right:0; bottom:0; z-index:25;
  display:flex; justify-content:flex-end; align-items:center; gap:12px;
  padding:10px 24px; background:var(--white); border-top:1px solid var(--line);
  box-shadow:0 -6px 18px rgba(28,43,46,.06);
}
@media (max-width:900px){
  .perso-layout{ grid-template-columns:1fr; }
  .perso-preview-col{ position:static; }
}
@media (max-width:760px){
  .perso-savebar{ left:0; }
  .perso-savebar .btn{ flex:1; text-align:center; }
}

/* Configurador visual de publicidad (panel negocio) */
.pub-config__intro{
  padding:0 20px 8px; color:var(--ink-soft); font-size:13.5px; line-height:1.55;
}
.pub-config__credito{
  margin:0 20px 16px; padding:10px 14px; border-radius:8px;
  background:color-mix(in srgb, var(--jade,#1F7A4D) 12%, var(--paper)); font-size:13px;
}
.pub-config__form{ padding:8px 20px 22px; }
.pub-config__paso{
  margin:0 0 22px; padding:16px 16px 18px;
  background:var(--paper); border:1px solid var(--line); border-radius:12px;
}
.pub-config__paso-num{
  display:inline-flex; align-items:center; justify-content:center;
  width:22px; height:22px; margin:0 8px 0 0; border-radius:50%;
  background:var(--jade); color:#fff; font-size:12px; font-weight:700; vertical-align:middle;
}
.pub-config__paso > label{ display:inline; font-size:15px; }
.pub-tipos{
  display:grid; grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:12px; margin-top:12px;
}
.pub-tipo{
  position:relative; display:flex; flex-direction:column; gap:4px;
  padding:12px; border:2px solid var(--line); border-radius:12px;
  background:var(--white); cursor:pointer; min-width:0;
}
.pub-tipo:hover:not(.is-disabled){ border-color:color-mix(in srgb, var(--jade,#1F7A4D) 45%, var(--line)); }
.pub-tipo.is-disabled{ opacity:.65; cursor:not-allowed; }
.pub-tipo.is-selected{ border-color:var(--jade); box-shadow:0 0 0 3px color-mix(in srgb, var(--jade) 18%, transparent); }
.pub-tipo .radio-tipo-campana{
  position:absolute; opacity:0; pointer-events:none;
}
.pub-tipo__ejemplo{ width:100%; height:72px; object-fit:cover; border-radius:6px; margin-bottom:4px; }
.pub-tipo__nombre{ font-size:14px; line-height:1.25; }
.pub-tipo__meta, .pub-tipo__enlace{ font-size:11.5px; color:var(--ink-soft); }
.pub-tipo__precio{ font-weight:700; font-size:15px; }
.pub-tipo__precio em{ font-style:normal; font-weight:400; font-size:12px; color:var(--ink-soft); }
.pub-preview{
  margin-top:10px; padding:14px; border-radius:12px; background:#1C2B2E; min-height:120px;
}
.pub-preview [hidden]{ display:none !important; }
.pub-preview__vacio{ margin:36px 0; text-align:center; color:rgba(255,255,255,.65); font-size:13.5px; }
.pub-preview-cinta,
.pub-preview-spot,
.pub-preview-carrusel{ display:none !important; }
.pub-preview-cinta.is-visible{
  display:flex !important; align-items:center;
  overflow:hidden; height:46px; background:var(--marigold); border-radius:6px;
}
.pub-preview-spot.is-visible{ display:block !important; }
.pub-preview-carrusel.is-visible{ display:block !important; }
.pub-preview-cinta__track{
  display:flex; gap:40px; white-space:nowrap;
  animation:pub-ticker 18s linear infinite;
  font-weight:700; color:var(--ink); padding-left:16px;
}
.pub-preview-spot{
  position:relative; margin:0 auto; max-width:360px; overflow:hidden;
  border-radius:10px; background:#0a1011; aspect-ratio:16/11;
}
.pub-preview-spot--grande{ max-width:420px; aspect-ratio:1/1; }
.pub-preview-spot .pub-preview-frame{ position:absolute; inset:0; overflow:hidden; }
.pub-preview-frame img{
  width:100%; height:100%; object-fit:cover; object-position:center; display:block;
  pointer-events:none; user-select:none; -webkit-user-drag:none;
}
.pub-preview-frame.is-draggable{ cursor:grab; }
.pub-preview-frame.is-dragging{ cursor:grabbing; }
.pub-preview-spot__empty,
.pub-preview-carrusel__empty{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  color:rgba(255,255,255,.6); font-size:13px; padding:16px; text-align:center;
  z-index:1; pointer-events:none;
}
.pub-preview-carrusel__stage{
  position:relative; max-width:420px; margin:0 auto; aspect-ratio:1/1;
  border-radius:10px; overflow:hidden; background:#0a1011;
  touch-action:none;
}
.pub-preview-tools{
  display:flex; flex-wrap:wrap; gap:6px; justify-content:center;
  margin-top:12px; align-items:center;
}
.pub-preview-tools[hidden]{ display:none !important; }
.pub-preview-tools button{
  border:0; border-radius:8px; padding:6px 10px; font-size:12px; cursor:pointer;
  background:rgba(255,255,255,.12); color:#fff;
}
.pub-preview-tools button.is-on{ background:var(--marigold); color:var(--ink); font-weight:700; }
.pub-preview-tools__nota{
  flex:1 0 100%; margin:4px 0 0; text-align:center;
  font-size:11px; color:rgba(255,255,255,.62); line-height:1.4;
}
.pub-preview-carrusel__nav{
  position:absolute; top:50%; transform:translateY(-50%);
  width:32px; height:32px; border:0; border-radius:50%;
  background:rgba(255,255,255,.88); color:var(--ink); font-size:20px; cursor:pointer;
  left:8px; z-index:3;
}
.pub-preview-carrusel__nav--next{ left:auto; right:8px; }
.pub-preview-carrusel__dots{
  position:absolute; left:0; right:0; bottom:10px;
  display:flex; justify-content:center; gap:5px; z-index:3;
}
.pub-preview-carrusel__dot{
  width:7px; height:7px; padding:0; border:0; border-radius:50%;
  background:rgba(255,255,255,.45); cursor:pointer;
}
.pub-preview-carrusel__dot.is-on{ background:#fff; }
.pub-preview-carrusel__count{
  position:absolute; top:8px; right:10px;
  font-size:11px; font-weight:700; color:#fff;
  background:rgba(0,0,0,.45); padding:2px 7px; border-radius:999px;
  z-index:3;
}
.pub-preview-carrusel__thumbs{
  display:flex; flex-wrap:wrap; gap:6px; justify-content:center; margin-top:10px;
}
.pub-preview-carrusel__thumb{
  position:relative; width:48px; height:48px; border-radius:6px; overflow:hidden;
  border:2px solid transparent; cursor:pointer;
}
.pub-preview-carrusel__thumb.is-on{ border-color:var(--marigold); }
.pub-preview-carrusel__thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.pub-preview-carrusel__quitar{
  position:absolute; top:0; right:0; width:16px; height:16px;
  border:0; background:rgba(0,0,0,.65); color:#fff; font-size:12px; line-height:1; cursor:pointer;
}
.pub-config__hint{ display:block; margin-top:6px; font-size:12px; color:var(--ink-soft); }
.pub-config__quitar{ margin-top:8px; font-size:12px; padding:6px 10px; }
.pub-config__compra{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.pub-config__compra .field.full{ grid-column:1 / -1; }
.pub-config__corte{ margin:12px 0 14px; font-size:12.5px; color:var(--ink-soft); line-height:1.5; }
@keyframes pub-ticker{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
@media (max-width:900px){
  .pub-tipos{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
@media (max-width:640px){
  .pub-tipos, .pub-config__compra{ grid-template-columns:1fr; }
  .pub-preview-spot, .pub-preview-carrusel__stage{ max-width:100%; }
  .pub-config__form .btn-jade{ width:100%; }
  .pub-campanas-wrap{ overflow-x:auto; }
}
/* Membresía negocio: tienda visual (planes.php) */
.membresia-shop-intro{ margin-bottom:18px; }
.membresia-ahora{
  display:flex; align-items:flex-start; justify-content:space-between; gap:20px;
  background:var(--white); border:1px solid var(--line); border-radius:12px;
  padding:18px 22px; margin-bottom:28px;
}
.membresia-ahora__kicker{
  margin:0 0 4px; font-size:11px; font-weight:700; letter-spacing:.06em;
  text-transform:uppercase; color:var(--jade);
}
.membresia-ahora__plan{
  margin:0 0 8px; font-family:var(--display); font-size:1.45rem; font-weight:700; line-height:1.2;
}
.membresia-ahora__meta{
  display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px;
  margin:0 0 8px; font-size:14px; color:var(--ink);
}
.membresia-ahora__pill{ background:var(--jade); color:#fff; }
.membresia-ahora__nota{ margin:0; font-size:12.5px; color:var(--ink-soft); line-height:1.5; max-width:62ch; }
.membresia-ahora__nota + .membresia-ahora__nota{ margin-top:8px; }
.membresia-ahora__accion{ flex-shrink:0; min-width:220px; max-width:280px; }
.membresia-ahora__renovar{ margin:0 0 12px; }
.membresia-ahora__renovar .membresia-pago-field{ margin:0 0 10px; }
.membresia-ahora__renovar .membresia-pago-field label{
  display:block; margin:0 0 4px; font-size:12px; font-weight:600; color:var(--ink-soft);
}
.membresia-ahora__renovar .membresia-pago-field select{
  width:100%; min-height:40px;
  border:1px solid var(--line); border-radius:8px;
  background:var(--paper); color:var(--ink);
  padding:8px 12px; font-size:14px;
}
.membresia-ahora__hint{ display:block; margin:4px 0 0; font-size:11.5px; color:var(--ink-soft); line-height:1.4; }
.membresia-ahora__recordatorio{
  margin:10px 0 0; display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px;
}
.membresia-ahora__recordatorio label{
  display:flex; align-items:center; gap:8px; font-size:13px; color:var(--ink); cursor:pointer;
}
.membresia-ahora__recordatorio input[type="checkbox"]{ width:16px; height:16px; margin:0; }
.membresia-ahora__btn-sec{ font-size:13px; padding:8px 12px; color:var(--ink-soft); border-color:var(--line); }
.membresia-ahora__btn-sec:hover{ color:var(--ink); border-color:var(--ink); }
.membresia-ahora__btn-ahora{
  font-size:13px; padding:8px 12px;
  color:var(--clay); border-color:color-mix(in srgb, var(--clay) 45%, var(--line));
}
.membresia-ahora__btn-ahora:hover{
  color:var(--clay); border-color:var(--clay);
  background:color-mix(in srgb, var(--clay) 8%, var(--white));
}
.membresia-crecer{ margin-bottom:22px; }
.membresia-crecer__head h2{
  margin:0 0 6px; font-family:var(--display); font-size:1.45rem; line-height:1.2;
}
.membresia-crecer__cupo{ margin:0 0 16px; font-size:13px; color:var(--ink-soft); }
.membresia-crecer__vacio{ color:var(--ink-soft); grid-column:1/-1; margin:0; }
.membresia-plan-grid{
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
  align-items:stretch;
}
.membresia-plan-card{
  position:relative;
  padding:22px 22px 20px !important;
  border-radius:14px !important;
}
.membresia-plan-card--ao{
  border-color:var(--marigold) !important;
  border-width:2px !important;
  box-shadow:0 8px 24px rgba(28,43,46,.06);
}
.membresia-plan-card--actual{
  border-color:var(--jade) !important;
  border-width:2px !important;
}
.membresia-plan-card__badge{
  display:inline-block; margin:0 0 10px; padding:4px 9px;
  font-size:10.5px; font-weight:700; letter-spacing:.04em; text-transform:uppercase;
  background:var(--paper-alt); color:var(--ink); border-radius:999px;
}
.membresia-plan-card__badge--ao{ background:var(--marigold); color:var(--ink); }
.membresia-plan-card .membresia-pair-card__title{
  font-family:var(--display); font-size:1.2rem; font-weight:700; margin:0 0 6px;
}
.membresia-plan-card .membresia-pair-card__price{
  font-family:var(--display); font-size:2rem; font-weight:700; margin:0 0 12px; letter-spacing:-.02em;
}
.membresia-plan-card .membresia-pair-card__price span{
  font-family:var(--body); font-size:14px; font-weight:500;
}
.membresia-plan-card__protegido{ font-size:12.5px; color:var(--jade); margin:0 0 10px; }
.membresia-plan-card__desc{ font-size:13px; color:var(--ink-soft); margin:0 0 12px; line-height:1.45; }
.membresia-plan-card .membresia-plan-features{
  margin:0 0 16px; font-size:13.5px; line-height:1.45;
}
.membresia-plan-card .membresia-plan-features li{
  display:flex; gap:8px; align-items:flex-start; margin:0 0 8px;
}
.membresia-plan-card .membresia-plan-features i{
  color:var(--jade); font-size:16px; line-height:1.3; flex-shrink:0;
}
.membresia-plan-card .membresia-pago-field,
.membresia-potencia .membresia-pago-field{
  max-width:none; width:100%; margin:0 0 12px;
}
.membresia-plan-card .membresia-pago-field label,
.membresia-potencia .membresia-pago-field label{
  display:block; margin:0 0 6px; font-size:12px; font-weight:600; color:var(--ink-soft);
}
.membresia-plan-card .membresia-pago-field select,
.membresia-potencia .membresia-pago-field select{
  width:100%; max-width:none; min-height:44px;
  border:1px solid var(--line); border-radius:8px;
  background:var(--paper); color:var(--ink);
  padding:8px 12px; font-size:14px;
}
.membresia-plan-card .membresia-pair-card__action .btn,
.membresia-plan-card form.membresia-pair-card__action .btn{
  width:100%; justify-content:center; min-height:44px;
}
.membresia-notas{
  background:var(--paper-alt); border:1px solid var(--line); border-radius:12px;
  padding:16px 20px; margin:0 0 28px;
}
.membresia-notas__title{
  margin:0 0 8px; font-size:12px; font-weight:700; letter-spacing:.05em;
  text-transform:uppercase; color:var(--ink-soft);
}
.membresia-notas ul{ margin:0; padding:0 0 0 18px; font-size:13px; color:var(--ink-soft); line-height:1.55; }
.membresia-notas li{ margin:0 0 4px; }
.membresia-notas__gracia{
  margin:10px 0 0; font-size:13.5px; color:var(--ink); line-height:1.5; font-weight:600;
}
.membresia-potencia{ margin-bottom:28px; }
.membresia-potencia__head h2{
  margin:0 0 6px; font-family:var(--display); font-size:1.35rem; line-height:1.2;
}
.membresia-potencia__head p{
  margin:0 0 16px; color:var(--ink-soft); font-size:13.5px; line-height:1.55; max-width:62ch;
}
.membresia-potencia__grid{
  display:grid; grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:16px; flex-direction:unset; align-items:stretch;
}
.membresia-potencia__grid > .membresia-addon-card,
.membresia-potencia__grid > .membresia-pair-card{
  border:1px solid var(--line); border-radius:12px; padding:18px 20px; background:var(--white);
  height:100%; align-self:stretch; box-sizing:border-box;
}
.membresia-publicidad-cta{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  background:var(--white); border:1px solid var(--line); border-radius:12px;
  padding:22px 24px; margin-bottom:20px;
}
.membresia-publicidad-cta h2{
  margin:0 0 6px; font-family:var(--display); font-size:1.3rem; line-height:1.2;
}
.membresia-publicidad-cta p{ margin:0; color:var(--ink-soft); font-size:13.5px; line-height:1.5; }
@media (max-width:960px){
  .membresia-plan-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:720px){
  .membresia-ahora{ flex-direction:column; }
  .membresia-ahora__accion,
  .membresia-ahora__accion .btn{ width:100%; }
  .membresia-plan-grid{ grid-template-columns:1fr; }
  .membresia-potencia__grid{ grid-template-columns:1fr; }
  .membresia-publicidad-cta{ flex-direction:column; align-items:stretch; }
  .membresia-publicidad-cta .btn{ width:100%; text-align:center; }
}

@media (max-width:900px){
  .mi-landing{
    grid-template-columns:1fr;
  }
  .mi-landing-resumen{
    position:static;
    top:auto;
  }
}
@media (max-width:720px){
  .membresia-cards-grid{
    grid-template-columns:1fr;
  }
}
@media (max-width:520px){
  .membresia-addon-card--landing .membresia-landing-grid,
  .membresia-landing-grid{
    grid-template-columns:1fr !important;
  }
  .membresia-landing-qr-row{
    flex-direction:column;
  }
  .landing-pagos-otros,
  .landing-cta-grid,
  .landing-cta-otra{
    grid-template-columns:1fr;
  }
}
@media (max-width:640px){
  .oferta-post-aprobacion{ padding:18px; }
  .oferta-post-aprobacion__ctas .btn{ width:100%; text-align:center; }
}

/* --- CatÃ¡logo cartelera (productos / servicios) --- */
.catalogo-billboard{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(168px, 1fr));
  gap:18px 14px;
  padding:0 20px 22px;
}
.profile-catalogo .catalogo-billboard.catalogo-billboard--public,
.catalogo-billboard--public{
  --catalogo-gap:14px;
  --catalogo-card-w:156px;
  display:flex !important; /* no heredar grid de .catalogo-billboard (apila y rompe altura) */
  flex-direction:row;
  flex-wrap:nowrap !important;
  align-items:flex-start;
  gap:var(--catalogo-gap);
  padding:0 0 8px;
  margin-top:0;
  width:100%;
  min-width:0;
  max-width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  /* Scrollbar visible: el 3.er Ã­tem no debe quedar â€œinvisibleâ€ */
  scrollbar-width:thin;
  scrollbar-color:color-mix(in srgb, var(--jade) 45%, var(--line)) transparent;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;
}
.catalogo-billboard--public::-webkit-scrollbar{ height:6px; }
.catalogo-billboard--public::-webkit-scrollbar-thumb{
  background:color-mix(in srgb, var(--jade) 45%, var(--line));
  border-radius:999px;
}
.catalogo-billboard--public::-webkit-scrollbar-track{ background:transparent; }
.catalogo-poster{
  display:flex; flex-direction:column; gap:10px;
}
.catalogo-poster.is-hidden{ opacity:.55; }
.catalogo-poster.is-featured .catalogo-poster-art{
  box-shadow:0 0 0 2px var(--jade), 0 12px 28px rgba(28,43,46,.2);
}
.catalogo-poster-art{
  position:relative; border-radius:10px; overflow:hidden;
  aspect-ratio:1/1; background:var(--paper-alt);
  box-shadow:0 10px 24px rgba(28,43,46,.14);
  transition:transform .2s ease, box-shadow .2s ease;
}
.catalogo-poster:hover .catalogo-poster-art{
  transform:translateY(-3px) scale(1.015);
}
/* Ficha pÃºblica: una sola fila con scroll horizontal (como galerÃ­a) */
.catalogo-poster--public{
  flex:0 0 var(--catalogo-card-w);
  width:var(--catalogo-card-w);
  min-width:var(--catalogo-card-w);
  max-width:var(--catalogo-card-w);
  gap:8px;
  scroll-snap-align:start;
}
.catalogo-poster--public .catalogo-poster-art{
  border:1px solid var(--line);
  box-shadow:none;
  aspect-ratio:1/1;
  transition:transform .2s ease, border-color .2s ease;
}
.catalogo-poster--public:hover .catalogo-poster-art{
  transform:translateY(-2px) scale(1);
  border-color:color-mix(in srgb, var(--jade) 40%, var(--line));
  box-shadow:none;
}
.catalogo-poster--public.is-featured .catalogo-poster-art{
  box-shadow:none;
  outline:2px solid var(--accent, var(--jade));
  outline-offset:2px;
}
.catalogo-poster-art img{
  width:100%; height:100%; object-fit:cover; object-position:center;
  display:block;
}
.catalogo-poster-fallback{
  width:100%; height:100%;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(145deg, var(--jade-deep), #1C2B2E 70%);
  color:rgba(255,255,255,.55); font-family:var(--display); font-size:2.6rem;
}
.catalogo-poster-badge{
  position:absolute; left:8px; top:8px;
  font-size:10px; font-weight:700; letter-spacing:.04em; text-transform:uppercase;
  background:var(--jade); color:#fff; padding:3px 7px; border-radius:6px;
}
.catalogo-poster-badge.is-muted{ background:rgba(28,43,46,.75); }
.catalogo-poster-body{ display:flex; flex-direction:column; gap:4px; }
.catalogo-poster-body h3,
.catalogo-poster-title{
  margin:0; font-family:var(--display); font-size:1.05rem; line-height:1.25;
  font-weight:600;
}
.catalogo-poster-price{ margin:0; font-weight:700; font-size:14.5px; }
.catalogo-poster-desc{
  margin:0; font-size:12.5px; color:var(--ink-soft); line-height:1.4;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}
.catalogo-poster--public .catalogo-poster-body{ gap:2px; }
.catalogo-poster--public .catalogo-poster-body h3,
.catalogo-poster--public .catalogo-poster-title{
  font-size:.98rem;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.catalogo-poster--public .catalogo-poster-price{ font-size:13.5px; color:var(--jade-deep); }
.catalogo-poster--public .catalogo-poster-desc{
  font-size:12px; line-height:1.35; -webkit-line-clamp:2;
}
.catalogo-poster-actions{
  display:flex; flex-wrap:wrap; gap:6px; margin-top:6px;
}
.catalogo-poster-actions .btn{
  padding:6px 10px; font-size:12px;
}
.catalogo-file-btn{ position:relative; overflow:hidden; cursor:pointer; }
.catalogo-file-btn input[type="file"]{
  position:absolute; inset:0; opacity:0; cursor:pointer;
}
.catalogo-quitar-foto{
  font-size:11.5px; color:var(--ink-soft); display:inline-flex; align-items:center; gap:4px;
}
.catalogo-poster--public .catalogo-poster-actions{ display:none; }
@media (max-width:520px){
  .catalogo-billboard{ grid-template-columns:repeat(2, 1fr); gap:14px 10px; }
}

/* Panel negocio: cartelera productos / servicios (no afecta ficha pública) */
.catalogo-panel-count{
  margin:0 0 6px !important; color:var(--ink) !important; font-size:14.5px !important; max-width:none !important;
}
.catalogo-panel-count strong{ font-weight:700; }
.catalogo-panel-count-sep{ color:var(--ink-soft); margin:0 4px; }
.catalogo-alta-card,
.catalogo-board-card{ margin-bottom:16px; overflow:visible; }
.catalogo-alta{
  display:grid; grid-template-columns:200px 1fr; gap:20px 24px;
  padding:16px 20px 20px; align-items:start;
}
.catalogo-alta-foto{ min-width:0; }
.catalogo-panel .foto-preview-frame--catalogo{
  width:100%; max-width:200px; height:auto; max-height:none;
  aspect-ratio:1/1; margin:0 0 10px;
}
.catalogo-alta-ph{
  width:100%; height:100%; min-height:180px;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px;
  color:var(--ink-soft); font-size:12.5px; font-weight:600;
}
.catalogo-alta-ph i{ font-size:28px; opacity:.7; }
.catalogo-alta-foto-btns{ display:flex; flex-wrap:wrap; gap:6px; margin-bottom:6px; }
.catalogo-alta-foto-btns .file-input-btn{ margin-top:0; padding:8px 12px; font-size:12.5px; }
.catalogo-alta-quitar{ padding:8px 12px; font-size:12.5px; }
.catalogo-alta-fields{
  display:grid; grid-template-columns:1fr 1fr; gap:12px 14px; min-width:0;
}
.catalogo-alta-fields .field{ margin:0; }
.catalogo-alta-fields .field.full,
.catalogo-alta-submit{ grid-column:1 / -1; }
.catalogo-board-empty{ padding:16px 20px 22px; color:var(--ink-soft); margin:0; }
.catalogo-panel .catalogo-billboard--panel{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:16px;
  padding:4px 20px 22px;
  align-items:stretch;
}
.catalogo-panel .catalogo-poster{
  height:100%;
  background:var(--white);
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px;
  gap:8px;
  overflow:visible;
}
.catalogo-panel .catalogo-poster.is-hidden{ opacity:1; }
.catalogo-panel .catalogo-poster.is-hidden .catalogo-poster-art{ opacity:.5; }
.catalogo-panel .catalogo-poster-art{
  box-shadow:none;
  border:1px solid var(--line);
  flex:0 0 auto;
}
.catalogo-panel .catalogo-poster:hover .catalogo-poster-art{
  transform:none;
}
.catalogo-panel .catalogo-poster.is-featured .catalogo-poster-art{
  box-shadow:none;
  outline:2px solid var(--jade);
  outline-offset:2px;
}
.catalogo-panel .catalogo-poster-body{
  flex:1 1 auto; min-height:0;
  display:flex; flex-direction:column; gap:4px;
}
.catalogo-panel .catalogo-poster-body h3{
  font-size:15px;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
  min-height:2.5em;
}
.catalogo-panel .catalogo-poster-price{ min-height:1.3em; color:var(--jade-deep); }
.catalogo-panel .catalogo-poster-price--empty,
.catalogo-panel .catalogo-poster-desc--empty{ visibility:hidden; }
.catalogo-panel .catalogo-poster-desc{ -webkit-line-clamp:2; min-height:2.6em; }
.catalogo-poster-chips{ display:flex; flex-wrap:wrap; gap:4px; }
.catalogo-chip{
  font-size:10px; font-weight:700; letter-spacing:.04em; text-transform:uppercase;
  padding:2px 7px; border-radius:999px; border:1px solid var(--line); color:var(--ink-soft);
}
.catalogo-chip.is-on{ background:color-mix(in srgb, var(--jade) 12%, var(--white)); border-color:var(--jade); color:var(--jade-deep, var(--jade)); }
.catalogo-chip.is-off{ background:var(--paper-alt); }
.catalogo-chip.is-feat{ background:var(--jade); border-color:var(--jade); color:#fff; }
.catalogo-panel .catalogo-poster-actions{
  margin-top:auto; padding-top:6px;
  display:flex; flex-wrap:wrap; align-items:center; gap:4px;
  position:relative;
}
.catalogo-panel .catalogo-poster-actions .btn{
  padding:5px 8px; font-size:11.5px;
}
.catalogo-more{ position:relative; margin-left:auto; }
.catalogo-more-btn{
  list-style:none; cursor:pointer;
  padding:5px 10px; border-radius:8px; border:1px solid var(--line);
  background:var(--white); font-size:14px; font-weight:700; line-height:1; letter-spacing:.08em;
}
.catalogo-more-btn::-webkit-details-marker{ display:none; }
.catalogo-more[open] > .catalogo-more-btn{ border-color:var(--jade); }
.catalogo-more-panel{
  position:absolute; right:0; bottom:calc(100% + 6px); z-index:8;
  min-width:168px; padding:6px;
  background:var(--white); border:1px solid var(--line); border-radius:10px;
}
.catalogo-more-item{
  display:flex; align-items:center; gap:6px; width:100%;
  padding:8px 10px; border:none; background:none; border-radius:8px;
  font-size:13px; font-weight:600; color:var(--ink); text-align:left; cursor:pointer;
}
.catalogo-more-item:hover{ background:var(--paper-alt); }
.catalogo-more-item--danger{ color:var(--clay); }
.catalogo-panel .catalogo-file-btn{ overflow:hidden; }
.catalogo-panel .catalogo-quitar-foto{ font-size:13px; color:var(--ink); }
@media (max-width:1100px){
  .catalogo-panel .catalogo-billboard--panel{ grid-template-columns:repeat(3, minmax(0, 1fr)); }
}
@media (max-width:820px){
  .catalogo-alta{ grid-template-columns:1fr; }
  .catalogo-panel .foto-preview-frame--catalogo{ max-width:180px; }
  .catalogo-panel .catalogo-billboard--panel{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
@media (max-width:420px){
  .catalogo-panel .catalogo-billboard--panel{ grid-template-columns:1fr; }
  .catalogo-alta-fields{ grid-template-columns:1fr; }
}

/* Panel negocio: Mis enlaces */
.enlaces-panel-count{
  margin:0 0 6px !important; color:var(--ink) !important; font-size:14.5px !important; max-width:none !important;
}
.enlaces-alta-card,
.enlaces-lista-card{ overflow:visible; }
.enlaces-alta{
  display:grid; grid-template-columns:minmax(180px, .9fr) 1fr; gap:12px 16px;
  padding:16px 20px 18px; align-items:end;
}
.enlaces-alta-tipo{ display:flex; align-items:end; gap:10px; min-width:0; }
.enlaces-alta-tipo .field{ flex:1; min-width:0; margin:0; }
.enlaces-alta-icono{
  width:42px; height:42px; flex:0 0 42px; margin-bottom:2px;
  display:flex; align-items:center; justify-content:center;
  border:1px solid var(--line); border-radius:10px; background:var(--paper-alt);
  font-size:20px; color:var(--jade-deep, var(--jade));
}
.enlaces-alta-url{ grid-column:1 / -1; }
.enlaces-alta-submit{ grid-column:1 / -1; }
.enlaces-alta-limite{ padding:16px 20px 20px; }
.enlaces-alta-limite p{ margin:0 0 8px; color:var(--ink-soft); font-size:13.5px; }
.enlaces-panel-grid{
  display:grid; grid-template-columns:minmax(0, 1fr) 260px; gap:16px; align-items:start;
}
.enlaces-lista{ display:flex; flex-direction:column; gap:10px; padding:4px 16px 18px; }
.enlace-card{
  display:flex; gap:12px; align-items:flex-start;
  border:1px solid var(--line); border-radius:12px; padding:12px;
  background:var(--white);
}
.enlace-card.is-hidden .enlace-card-icon{ opacity:.45; }
.enlace-card.is-principal{ border-color:color-mix(in srgb, var(--jade) 45%, var(--line)); }
.enlace-card-icon{
  width:40px; height:40px; flex:0 0 40px;
  display:flex; align-items:center; justify-content:center;
  border-radius:10px; background:var(--paper-alt); font-size:18px; color:var(--jade-deep, var(--jade));
}
.enlace-card-body{ flex:1; min-width:0; }
.enlace-card-body h3{ margin:0 0 2px; font-size:15px; font-family:var(--display); line-height:1.25; }
.enlace-card-chips{ display:flex; flex-wrap:wrap; gap:4px; margin-bottom:4px; }
.enlace-chip{
  font-size:10px; font-weight:700; letter-spacing:.04em; text-transform:uppercase;
  padding:2px 7px; border-radius:999px; border:1px solid var(--line); color:var(--ink-soft);
}
.enlace-chip.is-on{ background:color-mix(in srgb, var(--jade) 12%, var(--white)); border-color:var(--jade); color:var(--jade-deep, var(--jade)); }
.enlace-chip.is-off{ background:var(--paper-alt); }
.enlace-chip.is-feat{ background:var(--jade); border-color:var(--jade); color:#fff; }
.enlace-card-tipo{ margin:0; font-size:12.5px; color:var(--ink-soft); }
.enlace-card-url{
  margin:2px 0 8px; font-size:12px; color:var(--ink-soft);
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.enlace-card-actions{
  display:flex; flex-wrap:wrap; align-items:center; gap:4px; position:relative;
}
.enlace-card-actions .btn{ padding:5px 8px; font-size:11.5px; }
.enlace-card-actions .catalogo-more{ margin-left:auto; }
.enlaces-vacio{ padding:8px 20px 20px; }
.enlaces-vacio p{ margin:0 0 12px; color:var(--ink-soft); font-size:13.5px; }
.enlaces-vacio-ejemplos{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:8px;
}
.enlaces-vacio-ejemplos li{
  display:flex; align-items:center; gap:8px;
  padding:10px 12px; border:1px solid var(--line); border-radius:10px;
  background:var(--paper-alt); font-size:13px; font-weight:600;
}
.enlaces-vacio-ejemplos i{ color:var(--jade-deep, var(--jade)); font-size:16px; }
.enlaces-preview-kicker{
  margin:0 0 4px; font-size:11px; font-weight:700; letter-spacing:.06em;
  text-transform:uppercase; color:var(--jade);
}
.enlaces-preview-hint{ margin:0 0 10px; font-size:12.5px; color:var(--ink-soft); line-height:1.4; }
.enlaces-preview-phone{
  border:1px solid var(--line); border-radius:28px; padding:12px 10px 16px;
  background:var(--white);
}
.enlaces-preview-screen{ display:flex; flex-direction:column; gap:8px; min-height:160px; }
.enlaces-preview-empty{ margin:auto; padding:24px 8px; text-align:center; font-size:12.5px; color:var(--ink-soft); }
.enlaces-preview-btn{
  display:flex; align-items:center; gap:8px;
  padding:10px 12px; border-radius:10px; border:1px solid var(--line);
  background:var(--paper-alt); pointer-events:none; user-select:none;
}
.enlaces-preview-btn i{ font-size:16px; color:var(--jade-deep, var(--jade)); }
.enlaces-preview-btn b{ font-size:13px; font-weight:700; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.enlaces-preview-btn.is-principal{
  background:var(--marigold, #E8A838); border-color:var(--marigold-deep, #c48a28);
}
.enlaces-preview-btn.is-principal i,
.enlaces-preview-btn.is-principal b{ color:var(--ink); }
.enlaces-preview-btn.is-hidden{ opacity:.4; }
.enlaces-preview-btn.is-draft{ border-style:dashed; background:var(--white); }
@media (max-width:900px){
  .enlaces-panel-grid{ grid-template-columns:1fr; }
  .enlaces-preview-phone{ max-width:280px; }
}
@media (max-width:640px){
  .enlaces-alta{ grid-template-columns:1fr; }
  .enlaces-vacio-ejemplos{ grid-template-columns:1fr; }
}


/* --- Alianzas Comerciales: filtros encima de la cuadrÃ­cula (sin solape) --- */
.alianzas-page .alianzas-filters{
  position:relative;
  z-index:3;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin:0 0 32px;
  padding:2px 0 6px;
  isolation:isolate;
}
.alianzas-page .alianzas-filters .filter-opt{
  margin:0;
  padding:8px 14px;
  border-radius:999px;
  border:1px solid var(--line);
  background:var(--white);
  gap:8px;
  font-size:13px;
  line-height:1.2;
  box-shadow:0 1px 2px rgba(28,43,46,.04);
}
.alianzas-page .alianzas-filters .filter-opt:hover{
  background:var(--paper-alt);
  border-color:color-mix(in srgb, var(--jade) 28%, var(--line));
}
.alianzas-page .alianzas-filters .filter-opt.active{
  background:var(--jade);
  border-color:var(--jade);
  color:var(--white);
}
.alianzas-page .alianzas-filters .filter-opt .count{
  background:var(--paper-alt);
  padding:2px 8px;
  border-radius:999px;
}
.alianzas-page .alianzas-filters .filter-opt.active .count{
  background:rgba(255,255,255,.22);
  color:var(--white);
}
.alianzas-page .alianzas-card-grid{
  position:relative;
  z-index:1;
  isolation:isolate;
  margin-top:0;
  padding-top:6px; /* aire para hover translateY de .biz-card */
}
.alianzas-page .alianzas-card-grid .biz-card{
  position:relative;
  z-index:0;
}
.alianzas-page .alianzas-card-grid .biz-card:hover{
  z-index:1;
}

/* --- Alianzas Comerciales: pÃ¡gina PrÃ³ximamente --- */
.alianzas-soon{
  padding:clamp(48px, 9vw, 96px) 20px 72px;
  background:
    radial-gradient(720px 320px at 88% 8%, color-mix(in srgb, var(--marigold) 18%, transparent), transparent 60%),
    linear-gradient(180deg, var(--paper-alt) 0%, var(--paper) 55%, var(--white) 100%);
}
.alianzas-soon-inner{
  max-width:560px;
  margin:0 auto;
  text-align:center;
}
.alianzas-soon-kicker{
  margin:0 0 12px;
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:700;
  color:var(--jade-deep);
}
.alianzas-soon h1{
  margin:0 0 14px;
  font-family:var(--display);
  font-size:clamp(2rem, 4.5vw, 2.85rem);
  line-height:1.08;
  letter-spacing:-.02em;
  color:var(--ink);
}
.alianzas-soon-lead{
  margin:0 auto 28px;
  max-width:38ch;
  font-size:1.05rem;
  line-height:1.55;
  color:var(--ink-soft);
}
.alianzas-soon-cta{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:center;
}

/* --- Favoritos del visitante --- */
.biz-card-shell{ position:relative; display:flex; flex-direction:column; height:100%; }
.biz-card-shell > .biz-card{ flex:1; min-height:0; }
.fav-btn{ cursor:pointer; font-family:var(--body); }
.fav-btn .fav-btn-icon{ color:var(--ink-soft); }
.fav-btn.is-active .fav-btn-icon{ color:var(--clay); }
.fav-btn.is-active{ color:var(--clay); }
.fav-btn--card{
  position:absolute; top:8px; right:8px; z-index:3;
  width:34px; height:34px; padding:0; border-radius:999px;
  border:1px solid var(--line); background:rgba(255,255,255,.92);
  display:inline-flex; align-items:center; justify-content:center;
  box-shadow:0 1px 4px rgba(28,43,46,.08);
}
.fav-btn--card:hover{ border-color:var(--clay); }
.fav-btn--card .fav-btn-icon{ font-size:16px; }
.fav-btn--lista.is-active{ border-color:var(--clay); color:var(--clay); }
.fav-btn--ficha{ width:100%; text-align:left; }
.page-favoritos .result-actions{
  display:inline-flex; align-items:center; gap:8px;
  flex:0 0 auto; flex-wrap:wrap;
}
.page-favoritos .fav-btn--quitar{
  background:transparent; padding:5px 8px; min-height:30px;
  font-size:11.5px; font-weight:500; color:var(--ink-soft);
}
.page-favoritos .fav-btn--quitar.is-active{ color:var(--clay); }
.page-favoritos .fav-btn--quitar:hover{
  border-color:color-mix(in srgb, var(--clay) 40%, var(--line));
  background:color-mix(in srgb, var(--clay) 6%, #fff);
}
@media (max-width: 640px){
  .page-favoritos .result-actions{
    flex-basis:100%; justify-content:flex-start; margin-top:2px;
  }
}
.fav-page{ padding:36px 0 64px; }
.fav-page-inner{ max-width:920px; margin:0 auto; padding:0 20px; }
.fav-page-head{ display:flex; gap:14px; align-items:flex-start; margin-bottom:22px; }
.fav-page-head h1{ font-family:var(--display); font-size:clamp(1.6rem, 3vw, 2rem); margin:0 0 6px; }
.fav-page-head p{ margin:0; color:var(--ink-soft); font-size:14.5px; max-width:52ch; }
.fav-count{ margin:0 0 14px; font-size:13.5px; color:var(--ink-soft); }
.fav-empty{
  text-align:center; padding:48px 20px; border:1px dashed var(--line);
  border-radius:14px; background:var(--paper-alt);
}
.fav-empty > i{ font-size:36px; color:var(--ink-soft); display:block; margin-bottom:10px; }
.fav-empty h2{ font-family:var(--display); font-size:1.35rem; margin:0 0 8px; }
.fav-empty p{ margin:0 auto 18px; max-width:42ch; color:var(--ink-soft); font-size:14.5px; }

/* ---- Mensajes visitante â†” negocio (bandeja + ficha) ---- */
.profile-msg-box{
  margin-top:12px; padding-top:12px; border-top:1px solid var(--line);
}
.profile-msg-box__summary{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  list-style:none; cursor:pointer; user-select:none;
}
.profile-msg-box__summary::-webkit-details-marker{ display:none; }
.profile-msg-box__summary::marker{ content:""; }
.profile-msg-box__head{ margin-bottom:0; min-width:0; }
.profile-msg-box__chevron{
  flex-shrink:0; font-size:20px; color:var(--jade);
  transition:transform .18s ease;
}
.profile-msg-box[open] > .profile-msg-box__summary .profile-msg-box__chevron{
  transform:rotate(180deg);
}
.profile-msg-box__summary:hover .profile-msg-box__head h4{ color:var(--jade); }
.profile-msg-box__body{ margin-top:12px; }
.profile-msg-box__hint{
  margin:0 0 12px; font-size:12.5px; color:var(--ink-soft); line-height:1.4;
}
.profile-msg-form .field{ margin-bottom:10px; }
.profile-msg-form .field label{
  display:block; font-size:12px; font-weight:600; margin-bottom:4px; color:var(--ink);
}
.profile-msg-form .field input,
.profile-msg-form .field textarea{
  width:100%; font-size:13.5px; padding:8px 10px; border:1px solid var(--line);
  border-radius:8px; background:var(--white); color:var(--ink); box-sizing:border-box;
}
.profile-msg-form .field textarea{ resize:vertical; min-height:72px; }
.profile-msg-hp{
  position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden;
}

/* Bloque suscripciÃ³n email marketing (ficha pÃºblica, si el upsell estÃ¡ activo) */
.profile-novedades{
  position:relative;
  margin-top:14px;
  padding:16px 16px 14px;
  scroll-margin-top:96px;
  border-radius:16px;
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--jade) 12%, var(--white)) 0%, var(--white) 72%);
  border:1px solid color-mix(in srgb, var(--jade) 28%, var(--line));
  box-shadow:0 10px 22px -16px rgba(47,111,94,.45);
}
.profile-novedades::before{
  content:"";
  position:absolute; left:16px; right:16px; top:0;
  height:3px; border-radius:0 0 3px 3px;
  background:linear-gradient(90deg, var(--clay), var(--jade));
}
.profile-novedades__icon{
  width:40px; height:40px; border-radius:12px;
  background:var(--clay); color:var(--white);
  display:flex; align-items:center; justify-content:center;
  font-size:20px; margin:6px 0 10px;
}
.profile-novedades__title{
  font-family:var(--display); font-size:1.18rem; font-weight:600;
  margin:0 0 4px; color:var(--ink); line-height:1.25;
}
.profile-novedades__lead{
  margin:0 0 12px; font-size:13.5px; color:var(--ink-soft); line-height:1.4;
}
.profile-novedades__form{ position:relative; }
.profile-novedades__row{
  display:flex; gap:8px; align-items:stretch;
}
.profile-novedades__row input[type="email"]{
  flex:1; min-width:0;
  padding:10px 12px; border:1px solid var(--line); border-radius:10px;
  font-size:14px; background:var(--white); color:var(--ink);
}
.profile-novedades__row input[type="email"]:focus{
  outline:2px solid color-mix(in srgb, var(--jade) 45%, transparent);
  outline-offset:1px; border-color:var(--jade);
}
.profile-novedades__row .btn{
  flex-shrink:0; border-radius:10px; padding:10px 16px; white-space:nowrap;
}
.profile-novedades__nombre{ margin-top:8px; }
.profile-novedades__nombre label{
  display:block; font-size:12px; font-weight:600; margin-bottom:4px; color:var(--ink);
}
.profile-novedades__nombre label span{ font-weight:400; color:var(--ink-soft); }
.profile-novedades__nombre input{
  width:100%; padding:8px 12px; border:1px solid var(--line);
  border-radius:10px; font-size:13px; background:var(--white); color:var(--ink);
}
.profile-novedades__note{
  margin:8px 0 0; font-size:11.5px; color:var(--ink-soft); line-height:1.4;
}
.profile-novedades__ok{
  display:flex; gap:8px; align-items:flex-start;
  margin:0; padding:10px 12px; border-radius:10px;
  background:color-mix(in srgb, var(--jade) 12%, var(--white));
  border:1px solid color-mix(in srgb, var(--jade) 28%, var(--line));
  color:var(--jade-deep); font-size:13.5px; line-height:1.4; font-weight:600;
}
.profile-novedades__ok .ti{ font-size:18px; color:var(--jade); flex-shrink:0; margin-top:1px; }
@media (max-width:480px){
  .profile-novedades__row{ flex-direction:column; }
  .profile-novedades__row .btn{ width:100%; }
}
.mensajes-lista{ display:flex; flex-direction:column; gap:10px; }
.mensajes-lista-item{
  display:block; padding:16px 20px; text-decoration:none; color:inherit;
  transition:border-color .15s ease, box-shadow .15s ease;
}
.mensajes-lista-item:hover{ border-color:var(--jade); }
.mensajes-lista-item.is-unread{ border-color:rgba(232,163,61,.55); background:#FFFBF4; }
.mensajes-lista-item__top{
  display:flex; justify-content:space-between; gap:12px; align-items:flex-start; flex-wrap:wrap;
}
.mensajes-lista-item__email{ font-size:12px; color:var(--ink-soft); margin-top:2px; }
.mensajes-lista-item__date{ font-size:12px; color:var(--ink-soft); white-space:nowrap; }
.mensajes-lista-item__preview{ margin:10px 0 0; font-size:13.5px; color:var(--ink-soft); line-height:1.4; }
.mensajes-lista-item__you{ color:var(--jade); font-weight:600; font-size:12px; }
.mensajes-dot{
  display:inline-block; width:8px; height:8px; border-radius:50%;
  background:var(--marigold,#E8A33D); margin-right:6px; vertical-align:middle;
}
.mensajes-thread{ display:flex; flex-direction:column; gap:12px; }
.mensajes-bubble{
  border-radius:10px; padding:12px 14px; max-width:92%;
}
.mensajes-bubble--visitante{
  background:var(--paper-alt); border:1px solid var(--line); align-self:flex-start;
}
.mensajes-bubble--negocio{
  background:rgba(31,122,77,.08); border:1px solid rgba(31,122,77,.22); align-self:flex-end;
}
.mensajes-bubble--sistema{
  background:transparent; border:1px dashed var(--line); align-self:center;
  font-size:12.5px; color:var(--ink-soft); max-width:100%;
}
.mensajes-bubble-meta{
  display:flex; justify-content:space-between; gap:10px; flex-wrap:wrap;
  font-size:11.5px; color:var(--ink-soft); margin-bottom:6px;
}
.mensajes-bubble-meta strong{ color:var(--ink); font-size:12.5px; }
.mensajes-bubble-body{ font-size:14px; line-height:1.45; word-break:break-word; }

/* ======================================================
   Ficha pÃºblica â€” Artisan Spotlight polish + paletas Destacado
   ====================================================== */
.profile-ficha{
  /* Contenedor de tokens: data-palette + style inline redefinen --jade etc. */
  display:block;
}

/* Portada limpia: solo categorÃ­a en la foto; nombre debajo */
.profile-hero-v2--cover .hero-content--cover{
  justify-content:flex-end;
  padding:16px 22px;
  max-width:none;
}
.profile-hero-v2--cover.has-photo .hero-gradient{
  background:linear-gradient(to top,
    color-mix(in srgb, var(--ink) 16%, transparent) 0%,
    transparent 36%
  );
}
.profile-hero-v2--cover:not(.has-photo) .hero-content--cover{
  justify-content:center;
}
.profile-hero-sello{
  position:absolute;
  right:18px;
  bottom:12px;
  z-index:3;
  pointer-events:none;
  line-height:0;
}
.profile-hero-sello .sello-fundador{
  width:78px;
  height:78px;
  filter:drop-shadow(0 3px 7px rgba(28,43,46,.28));
}
.profile-hero-wrap .profile-hero-sello{ right:16px; }

/* Portada + identidad: una sola tarjeta (mockup) */
.profile-portada{
  width:calc(100% - 64px); max-width:none; box-sizing:border-box;
  margin:20px auto 0;
  position:relative;
  background:var(--white);
  border:1px solid color-mix(in srgb, var(--line) 70%, var(--jade) 30%);
  border-radius:18px;
  box-shadow:0 18px 40px -28px rgba(28,43,46,.35);
  overflow:visible;
}
.profile-portada .profile-hero-v2,
.profile-portada .profile-hero-wrap{
  width:100%;
  max-width:none;
  margin:0;
  border-radius:18px 18px 0 0;
}
.profile-portada .profile-hero-v2{
  border-radius:18px 18px 0 0;
}
.profile-portada .profile-hero-wrap .profile-hero-v2{
  border-radius:0;
}
.profile-portada-logo{
  position:absolute;
  left:26px;
  top:-46px;
  z-index:4;
  width:92px;
  height:92px;
  padding:6px;
  box-sizing:border-box;
  background:var(--white);
  border:1px solid color-mix(in srgb, var(--line) 75%, var(--jade) 25%);
  border-radius:16px;
  box-shadow:0 10px 22px -16px rgba(28,43,46,.4);
}
.profile-portada-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  border-radius:10px;
}
.profile-portada--con-logo .profile-identity{
  padding-left:136px;
}

/* Identity strip bajo la portada */
.profile-identity{
  width:100%; max-width:none; box-sizing:border-box;
  margin:0; padding:18px 26px 20px;
  position:relative; z-index:3;
  background:transparent;
  border:none;
  border-radius:0;
  box-shadow:none;
}
.profile-identity-top{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-start;
  gap:6px 8px; margin:0 0 10px;
}
.profile-badges-unified--identity{
  width:auto; max-width:100%; margin:0; padding:0;
  gap:8px;
}
.profile-badges-unified--identity .insignia,
.profile-badges-unified--identity .profile-tag{
  font-size:11px; font-weight:600; padding:4px 9px;
}
.profile-badges-unified--identity .profile-tag--more{
  background:color-mix(in srgb, var(--paper) 70%, var(--white));
  color:var(--ink-soft);
  border:1px solid var(--line);
}
.profile-badges-unified--identity .profile-tag--premium{
  background:color-mix(in srgb, var(--marigold) 26%, var(--white));
  color:var(--ink);
  border-color:color-mix(in srgb, var(--marigold) 48%, transparent);
}
.profile-identity-cat{
  display:inline-flex; align-items:center; gap:6px;
  font-size:12px; font-weight:700; letter-spacing:.03em; text-transform:uppercase;
  color:var(--jade-deep); text-decoration:none;
  padding:6px 12px; border-radius:999px;
  background:color-mix(in srgb, var(--jade) 12%, var(--white));
  border:1px solid color-mix(in srgb, var(--jade) 22%, transparent);
}
.profile-identity-cat:hover{ border-color:var(--jade); }
.profile-identity-body{
  display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between;
  gap:16px 24px;
}
.profile-identity-copy{ min-width:0; flex:1 1 280px; }
.profile-identity-name{
  font-family:var(--display); font-weight:700;
  font-size:clamp(28px, 3.2vw, 40px); line-height:1.08; letter-spacing:-.02em;
  margin:0 0 6px; color:var(--jade-deep);
}
.profile-medallas{
  display:flex; flex-wrap:wrap; align-items:flex-start; gap:10px 14px;
  list-style:none; margin:0 0 10px; padding:0;
}
.profile-medalla{
  display:flex; flex-direction:column; align-items:center; gap:4px;
  max-width:88px; margin:0; padding:0;
}
.profile-medalla-icon{
  width:44px; height:44px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:color-mix(in srgb, var(--marigold) 18%, var(--white));
  border:1px solid color-mix(in srgb, var(--marigold) 40%, transparent);
  color:var(--marigold-deep); font-size:22px; overflow:hidden;
}
.profile-medalla-icon img{
  width:100%; height:100%; object-fit:cover; display:block;
}
.profile-medalla-nombre{
  font-size:11px; font-weight:700; line-height:1.25; text-align:center;
  color:var(--ink); letter-spacing:.01em;
}
@media (max-width:760px){
  .profile-medalla-icon{ width:36px; height:36px; font-size:18px; }
  .profile-medalla{ max-width:76px; }
  .profile-medalla-nombre{ font-size:10.5px; }
}
.profile-identity-tagline{
  margin:0 0 8px; font-size:16px; line-height:1.45; color:var(--ink-soft); max-width:52ch;
}
.profile-identity-place{
  margin:0 0 6px;
  font-family:var(--body);
  font-size:15px;
  font-weight:600;
  line-height:1.4;
  color:var(--ink-soft);
}
.profile-identity-place a{
  color:var(--jade-deep);
  text-decoration:none;
}
.profile-identity-place a:hover{ text-decoration:underline; }
.profile-identity-meta{
  display:flex; flex-wrap:wrap; align-items:center; gap:8px 0;
  font-size:12.5px; font-weight:400; color:var(--ink-soft);
}
.profile-identity-meta > span + span{
  margin-left:10px;
  padding-left:10px;
  border-left:1px solid color-mix(in srgb, var(--line) 80%, transparent);
}
.profile-identity-loc,
.profile-identity-year{
  display:inline-flex; align-items:flex-start; gap:6px;
  font-size:12.5px; font-weight:400; line-height:1.4; color:var(--ink-soft);
}
.profile-identity-loc i,
.profile-identity-year i{ color:var(--ink-soft); flex-shrink:0; margin-top:1px; }
.profile-identity-ctas{
  display:flex; flex-wrap:wrap; gap:10px; align-items:center;
  flex:0 1 auto;
}
.profile-identity-cta{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  min-height:44px; padding:11px 18px; border-radius:12px;
  font-weight:700; font-size:14px; text-decoration:none; line-height:1.2;
  border:1.5px solid transparent;
  transition:background .15s ease, border-color .15s ease, transform .15s ease;
}
.profile-identity-cta i{ font-size:18px; }
.profile-identity-cta--primary{
  background:var(--marigold); color:var(--ink); border-color:var(--marigold-deep);
  box-shadow:0 8px 18px -12px color-mix(in srgb, var(--marigold-deep) 55%, transparent);
}
.profile-identity-cta--primary:hover{ background:var(--marigold-deep); color:var(--ink); }
.profile-identity-cta--secondary{
  background:color-mix(in srgb, var(--jade) 14%, var(--white));
  color:var(--jade-deep);
  border-color:color-mix(in srgb, var(--jade) 28%, transparent);
}
.profile-identity-cta--secondary:hover{
  background:color-mix(in srgb, var(--jade) 22%, var(--white));
  border-color:var(--jade);
}
.profile-identity + .profile-grid,
.profile-portada + .profile-grid{ padding-top:18px; }

/* CatÃ¡logo: protagonista full-width (thumbs grandes; paneles apilados) */
.profile-ficha .profile-catalogo-col{
  padding:18px 18px 20px; border-radius:18px;
  background:
    linear-gradient(165deg,
      color-mix(in srgb, var(--jade) 10%, var(--paper)) 0%,
      var(--paper-alt) 55%,
      var(--paper) 100%);
  border:1px solid color-mix(in srgb, var(--jade) 26%, var(--line));
  box-shadow:0 14px 32px -22px rgba(28,43,46,.34);
}
.profile-ficha .profile-catalogo-col--servicios{
  background:
    linear-gradient(165deg,
      color-mix(in srgb, var(--marigold) 16%, var(--paper)) 0%,
      var(--paper-alt) 55%,
      var(--paper) 100%);
  border-color:color-mix(in srgb, var(--marigold-deep) 30%, var(--line));
}
.profile-ficha .profile-catalogo--solo .catalogo-billboard--public,
.profile-ficha .profile-catalogo .catalogo-billboard--public{
  --catalogo-card-w:180px;
  --catalogo-gap:16px;
}
.profile-ficha .profile-catalogo-title{ font-size:1.4rem; }
.profile-ficha .profile-catalogo-icon{ width:44px; height:44px; font-size:22px; }
.profile-ficha .catalogo-poster--public{ gap:10px; }
.profile-ficha .catalogo-poster--public .catalogo-poster-art{
  border-radius:16px;
  border:1px solid color-mix(in srgb, var(--line) 85%, transparent);
  box-shadow:0 10px 24px -14px rgba(28,43,46,.32);
}
.profile-ficha .catalogo-poster--public .catalogo-poster-body h3,
.profile-ficha .catalogo-poster--public .catalogo-poster-title{
  font-size:1.06rem; color:var(--ink);
}
.profile-ficha .profile-panel--catalog{
  padding:18px 18px 20px;
  border-top-width:4px;
}
.profile-ficha .profile-panel--benefits{
  flex:0 0 auto;
  padding:12px 14px 14px;
  border-top-width:2px;
  background:color-mix(in srgb, var(--paper) 28%, var(--white));
  border-color:color-mix(in srgb, var(--jade) 22%, var(--line));
}
.profile-ficha .destacados-section--in-main h3{
  font-size:.95rem;
  font-weight:700;
  color:var(--ink);
  margin-bottom:8px;
}
.profile-ficha .catalogo-poster-badge{
  background:var(--marigold); color:var(--ink); border-radius:8px;
}
.profile-ficha .catalogo-poster--public.is-featured .catalogo-poster-art{
  outline:2px solid var(--marigold);
  outline-offset:3px;
  border-color:var(--marigold);
}
.profile-ficha .catalogo-poster--public.is-featured .catalogo-poster-badge{
  font-size:10.5px; font-weight:700; letter-spacing:.05em; text-transform:uppercase;
}
.profile-ficha .catalogo-poster--public .catalogo-poster-desc{
  min-height:0;
}

/* Contacto: bloques mÃ¡s limpios */
.profile-ficha .profile-panel{
  border-radius:16px;
}
.profile-ficha .contact-card{
  border-radius:16px; padding:22px 20px 18px;
}
.profile-ficha .contact-line--compact{
  margin-bottom:8px; padding:10px 12px; border-radius:12px;
  background:color-mix(in srgb, var(--paper) 55%, var(--white));
  border:1px solid color-mix(in srgb, var(--line) 88%, transparent);
}
.profile-ficha .contact-line--compact i{ color:var(--jade); opacity:.9; }
.profile-ficha .contact-val--soft{
  display:block; font-size:13px; font-weight:600; color:var(--ink-soft); margin-top:2px;
}
.profile-ficha .profile-map-canvas{ border-radius:14px; height:210px; }

.profile-ficha .profile-gallery-block{
  border-radius:16px; padding:20px 22px 22px;
}

/* ReseÃ±as card-like */
.profile-reviews-head{
  justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap;
}
.profile-reviews-title{ display:flex; align-items:center; gap:12px; }
.profile-reviews-cta{ font-size:12.5px; padding:8px 16px; }
.profile-reviews-summary{
  display:flex; align-items:center; flex-wrap:wrap; gap:10px;
  margin:6px 0 18px; padding:12px 14px; border-radius:12px;
  background:color-mix(in srgb, var(--paper) 55%, var(--white));
  border:1px solid var(--line);
}
.profile-reviews-score{
  font-size:30px; font-weight:700; color:var(--marigold-deep);
}
.profile-reviews-stars{
  color:var(--marigold); letter-spacing:2px; font-size:20px;
}
.profile-reviews-count{ color:var(--ink-soft); font-size:13px; }
.profile-reviews-list{ display:flex; flex-direction:column; gap:14px; }
.profile-review-card{
  border:1px solid var(--line); border-radius:14px; padding:16px 18px;
  background:color-mix(in srgb, var(--paper) 35%, var(--white));
  box-shadow:0 6px 16px -14px rgba(28,43,46,.2);
}
.profile-review-card__meta{
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:6px;
}
.profile-review-card__stars{ color:var(--marigold); letter-spacing:1.5px; }
.profile-review-card__who{ font-size:12px; color:var(--ink-soft); }
.profile-review-card__text{ margin:10px 0 0; font-size:14px; line-height:1.55; }
.profile-review-card__reply{
  margin-top:12px; padding:12px 14px; border-radius:10px;
  background:color-mix(in srgb, var(--jade) 8%, var(--paper-alt));
  border:1px solid color-mix(in srgb, var(--jade) 16%, transparent);
}
.profile-review-card__reply-label{
  font-size:11.5px; font-weight:700; color:var(--jade-deep); margin-bottom:3px;
}
.profile-review-card__reply p{ margin:0; font-size:13px; }
.profile-reviews-empty{ color:var(--ink-soft); margin:6px 0 0; }

/* Icon badges siguen la paleta */
.profile-ficha .icon-badge,
.profile-ficha .icon-badge-sm{
  color:var(--jade-deep);
  border-color:color-mix(in srgb, var(--jade) 22%, var(--line));
  background:color-mix(in srgb, var(--jade) 10%, var(--white));
}
.profile-ficha .profile-desc,
.profile-ficha .profile-panel,
.profile-ficha .profile-gallery-block,
.profile-ficha .contact-card{
  border-top-color:var(--accent, var(--jade));
}

@media (max-width:760px){
  .profile-portada{
    width:calc(100% - 40px); margin:16px auto 0; border-radius:14px;
  }
  .profile-portada .profile-hero-v2,
  .profile-portada .profile-hero-wrap{
    width:100%;
    margin:0;
    border-radius:14px 14px 0 0;
  }
  .profile-portada-logo{
    left:14px; top:-34px; width:72px; height:72px; padding:5px; border-radius:14px;
  }
  .profile-portada--con-logo .profile-identity{ padding-left:16px; padding-top:46px; }
  .profile-identity{
    width:100%; margin:0; padding:14px 16px 16px;
    border-radius:0;
  }
  .profile-identity-name{ font-size:clamp(24px, 7vw, 30px); }
  .profile-identity-tagline{ font-size:14.5px; }
  .profile-identity-place{ font-size:13.5px; }
  .profile-identity-ctas{ width:100%; }
  .profile-identity-cta{ flex:1 1 auto; min-width:calc(50% - 6px); }
  .profile-footer-negocio--slim{
    width:calc(100% - 40px);
    margin:8px auto 16px;
    padding:12px 4px 6px;
  }
  .profile-ficha .profile-catalogo--solo .catalogo-billboard--public,
  .profile-ficha .profile-catalogo .catalogo-billboard--public{
    --catalogo-card-w:172px;
    --catalogo-gap:14px;
  }
  .catalogo-billboard-carousel.has-overflow{ padding:0 38px; }
}

/* Paletas Destacado (refuerzo; el style inline del wrapper es la fuente) */
.profile-ficha[data-palette="jade"]{ /* marca por defecto */ }
.profile-ficha[data-palette="clay"]{ color:var(--ink); }
.profile-ficha[data-palette="rosa"]{ color:var(--ink); }
.profile-ficha[data-palette="azul"]{ color:var(--ink); }
.profile-ficha[data-palette="morado"]{ color:var(--ink); }
.profile-ficha[data-palette="ink"]{ color:var(--ink); }

/* ===== HOME LANDING (portada + marketing) ===== */
:root{
  --clay-deep:#9E370B;
  --jade-soft:#E6EFEB;
  --clay-soft:#F9E7DC;
  --marigold-soft:#FDF2D5;
  --purple-soft:#EEECF6;
  --shell:#1C2B2E;
}
.home-page--landing{
  background:var(--paper);
  background-image:none;
}
.hl-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-family:var(--body); font-weight:700; font-size:15px;
  text-decoration:none; border:none; cursor:pointer;
  border-radius:999px; padding:14px 28px;
  transition:background .15s ease, color .15s ease, box-shadow .15s ease;
}
.hl-btn-clay{
  background:var(--clay); color:#fff;
  box-shadow:0 12px 24px -12px rgba(193,68,14,.45);
}
.hl-btn-clay:hover{ background:var(--clay-deep); color:#fff; }
.hl-btn-ghost-light{
  background:transparent; color:rgba(255,255,255,.88);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.28);
}
.hl-btn-ghost-light:hover{ background:rgba(255,255,255,.1); color:#fff; }
.hl-btn-lg{ padding:16px 28px; }

.hero-visual.hero-visual--cover{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  min-height:auto;
  padding:28px 60px 36px;
  box-sizing:border-box;
  overflow:visible;
  /* Imagen 3D: celular a la derecha, hueco oscuro a la izquierda para el copy */
  background-image:
    linear-gradient(90deg, rgba(6,8,10,.48) 0%, rgba(6,8,10,.22) 30%, rgba(6,8,10,.06) 50%, transparent 68%),
    var(--hero-bg-image, url('/assets/img/hero/buskao-portada.png'));
  background-size:cover;
  background-position:right center;
  background-repeat:no-repeat;
  background-color:#0a0c0e;
}
.hero-visual--cover .hero-badge-count{
  right:auto;
  left:40px;
  top:24px;
}
.hero-visual--cover .hero-main{
  max-width:560px;
}
.hero-visual--cover .hero-main h1{
  display:block;
  visibility:visible;
  opacity:1;
  margin-bottom:16px;
}
.hero-visual--cover .hero-main .hero-subtitle{
  margin-bottom:0;
}
.hero-visual--cover .hero-main .hero-lead{
  margin:2rem 0 12px;
  max-width:460px;
}
.hero-visual--cover .hero-brand-lockup{
  position:relative;
  left:auto;
  bottom:auto;
  margin-top:auto;
}
.hero-cover-search-block{
  margin-top:2.75rem;
  margin-bottom:1.5rem;
}
.search-card--cover{
  width:0;
  min-width:100%;
  max-width:100%;
  box-sizing:border-box;
  margin-top:0;
  padding:8px;
  border-radius:16px;
  box-shadow:0 22px 40px -18px rgba(0,0,0,.55);
}
.search-cover-row{
  display:flex; align-items:stretch; gap:6px; flex-wrap:wrap;
}
.search-cover-field{
  flex:1 1 140px; min-width:0;
  display:flex; align-items:center; gap:8px;
  padding:0 10px;
}
.search-cover-field i{ color:var(--ink-soft); font-size:18px; flex-shrink:0; }
.search-cover-field input{
  width:100%; border:0; background:transparent; outline:none;
  font-family:var(--body); font-size:15px; color:var(--ink); padding:12px 0;
}
.search-cover-field input::placeholder{ color:#8A9694; }
.search-cover-btn{
  flex:0 0 auto;
  background:var(--clay); color:#fff; border:none;
  border-radius:12px; padding:12px 22px;
  font-family:var(--body); font-weight:700; font-size:14px; cursor:pointer;
}
.search-cover-btn:hover{ background:var(--clay-deep); }
.hero-cover-search-block{
  width:max-content;
  max-width:min(880px, calc(100vw - 80px));
}
.hero-cover-chips{
  display:flex; flex-wrap:nowrap; align-items:center; gap:8px;
  margin:32px 0 0; font-size:12px; font-weight:600; color:rgba(255,255,255,.45);
  white-space:nowrap;
}
.hero-cover-chips a{
  color:rgba(255,255,255,.82); text-decoration:none;
  background:rgba(255,255,255,.1); border-radius:999px;
  padding:6px 12px; box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);
  flex-shrink:0;
}
.hero-cover-chips a:hover{ background:rgba(255,255,255,.2); color:#fff; }
.hero-cover-ctas{
  display:flex; flex-wrap:wrap; align-items:center; gap:12px;
  margin:calc(28px + 2em) 0 0;
}
.hero-cover-note{
  margin:14px 0 0 !important;
  font-size:12px !important; font-weight:500;
  color:rgba(255,255,255,.45) !important;
}

.hl{
  --hl-max:1120px;
  color:var(--ink);
}
.hl-wrap{ width:100%; max-width:var(--hl-max); margin:0 auto; padding:0 24px; }
.hl-section{ position:relative; padding:64px 0; }
.hl-section--paper{ background:var(--paper); }
.hl-section--alt{ background:var(--paper-alt); }
.hl-section--shell{ background:var(--shell); color:#fff; overflow:hidden; }
.hl-dots{
  position:absolute; inset:0; pointer-events:none; opacity:.07;
  background-image:radial-gradient(circle at 1px 1px, #fff 1px, transparent 0);
  background-size:28px 28px;
}
.hl-kicker{
  display:inline-block;
  font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
  color:var(--clay); margin-bottom:10px;
}
.hl-kicker--marigold{ color:var(--marigold); }
.hl-intro{ max-width:640px; }
.hl-intro--center{ margin:0 auto 0; text-align:center; }
.hl-intro h2, .hl-on-dark{
  font-family:var(--display); font-weight:700; letter-spacing:-.015em;
  font-size:clamp(1.7rem, 3vw, 2.25rem); line-height:1.12; margin:0 0 12px; color:var(--ink);
}
#herramientas .hl-intro h2{ display:none; }
.hl-on-dark{ color:#fff; }
.hl-intro p, .hl-on-dark-muted{
  margin:0; font-size:15px; line-height:1.65; color:var(--ink-soft);
}
.hl-on-dark-muted{ color:rgba(255,255,255,.65); }
.hl-intro--center h2, .hl-intro--center p{ margin-left:auto; margin-right:auto; }

.hl-stats{
  background:var(--shell);
  border-top:3px solid var(--marigold);
  position:relative;
  z-index:4;
  margin:0;
  box-shadow:0 -16px 40px rgba(0,0,0,.28);
}
.hl-stats-grid{
  display:grid; grid-template-columns:repeat(2, 1fr); gap:24px 12px;
  padding:28px 24px;
}
.hl-section#que-es{ padding-top:72px; }
.hl-stat{ text-align:center; }
.hl-stat-value{
  font-family:var(--display); font-weight:700; font-size:clamp(1.6rem, 3vw, 1.9rem);
  color:var(--marigold); margin:0;
}
.hl-stat-label{
  margin:6px 0 0; font-size:11px; font-weight:600;
  letter-spacing:.06em; text-transform:uppercase; color:rgba(255,255,255,.75);
}

.hl-cards-4{ display:grid; gap:16px; margin-top:48px; }
.hl-card{
  background:var(--white); border:1px solid var(--line); border-radius:24px; padding:24px;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.hl-card:hover{ transform:translateY(-4px); border-color:rgba(193,68,14,.4); box-shadow:0 18px 36px -20px rgba(28,43,46,.25); }
.hl-card h3, .hl-step h3, .hl-tool h3, .hl-quote strong, .hl-plan h3, .hl-extra h3, .hl-demo-body h3{
  font-family:var(--display); font-weight:700; margin:0;
}
.hl-card h3{ font-size:16px; margin-top:20px; }
.hl-card p, .hl-step p, .hl-tool p, .hl-extra p, .hl-rule p{
  margin:8px 0 0; font-size:14px; line-height:1.6; color:var(--ink-soft);
}
.hl-icon-box{
  width:48px; height:48px; border-radius:16px;
  background:var(--jade); color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:22px;
}
.hl-card:hover .hl-icon-box{ background:var(--clay); }
.hl-icon-box--jade{ background:var(--jade); box-shadow:0 0 0 4px rgba(47,111,94,.15); }

.hl-rule{
  margin-top:32px; background:var(--paper-alt); border-radius:24px;
  display:grid; gap:20px; padding:28px 24px;
}
.hl-rule-icon{
  width:56px; height:56px; border-radius:16px;
  background:var(--white); border:1px solid var(--line);
  display:flex; align-items:center; justify-content:center;
  color:var(--clay); font-size:26px;
}
.hl-rule-title{ font-family:var(--display); font-size:16px; font-weight:700; margin:0 0 6px; color:var(--ink); }
.hl-rule-tags{ display:flex; flex-wrap:wrap; gap:8px 20px; margin-top:14px; }
.hl-rule-tags span{
  display:inline-flex; align-items:center; gap:6px;
  font-size:12px; font-weight:700; color:var(--jade);
}
.hl-rule-tags i{ font-size:15px; }

.hl-steps{ list-style:none; margin:48px 0 0; padding:0; display:grid; gap:16px; }
.hl-step{
  background:var(--white); border-radius:24px; padding:24px;
  box-shadow:0 1px 0 rgba(0,0,0,.04); outline:1px solid rgba(0,0,0,.05);
}
.hl-step--wide{ outline-color:rgba(193,68,14,.3); }
.hl-step-top{ display:flex; justify-content:space-between; align-items:flex-start; gap:16px; }
.hl-step-n{ font-family:var(--display); font-size:30px; color:rgba(28,43,46,.12); line-height:1; }
.hl-step h3{ font-size:18px; margin-top:20px; }
.hl-pill-clay{
  display:inline-flex; margin-top:16px; border-radius:999px;
  background:var(--clay-soft); color:var(--clay);
  font-size:11px; font-weight:700; padding:4px 12px;
}

.hl-founder{ position:relative; z-index:1; display:grid; gap:40px; align-items:center; }
.hl-pill-marigold{
  display:inline-flex; align-items:center; gap:8px;
  background:var(--marigold); color:var(--ink);
  border-radius:999px; padding:6px 14px;
  font-size:11px; font-weight:700; letter-spacing:.04em; text-transform:uppercase;
}
.hl-founder h2{
  font-family:var(--display); font-weight:700; letter-spacing:-.015em;
  font-size:clamp(1.8rem, 3.4vw, 2.6rem); line-height:1.08;
  color:#fff; margin:20px 0 0;
}
.hl-founder h2 span{ color:var(--marigold); }
.hl-founder-lead{ max-width:520px; margin:16px 0 0; font-size:15px; line-height:1.65; color:rgba(255,255,255,.65); }
.hl-founder-perks{ list-style:none; margin:32px 0 0; padding:0; display:grid; gap:16px; }
.hl-founder-perk-icon{
  width:40px; height:40px; border-radius:12px;
  background:rgba(244,180,0,.15); color:var(--marigold);
  display:flex; align-items:center; justify-content:center; font-size:20px;
}
.hl-founder-perks h3{ font-family:var(--display); font-size:14px; color:#fff; margin:12px 0 0; }
.hl-founder-perks p{ margin:4px 0 0; font-size:13px; line-height:1.5; color:rgba(255,255,255,.55); }
.hl-founder-cta{ display:flex; flex-wrap:wrap; align-items:center; gap:12px 16px; margin-top:36px; }
.hl-founder-cta span{ font-size:12px; color:rgba(255,255,255,.45); }
.hl-founder-seal{ display:flex; justify-content:center; }
.hl-founder-seal-inner{
  width:224px; height:224px; border-radius:50%;
  background:linear-gradient(180deg, var(--clay), #8F320A);
  color:#fff; text-align:center;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  box-shadow:0 24px 40px -16px rgba(193,68,14,.45), inset 0 0 0 10px transparent;
  position:relative;
}
.hl-founder-seal-inner::before{
  content:""; position:absolute; inset:12px; border-radius:50%;
  border:2px dashed rgba(255,255,255,.3);
}
.hl-founder-seal-inner i{ font-size:36px; position:relative; }
.hl-founder-seal-inner p{
  position:relative; font-family:var(--display); font-size:20px; line-height:1.15;
  margin:8px 0 0; font-weight:700;
}
.hl-founder-seal-inner small{
  position:relative; margin-top:8px; font-size:10px; font-weight:700;
  letter-spacing:.18em; text-transform:uppercase; color:rgba(255,255,255,.8);
}

.hl-row-head{ display:flex; flex-direction:column; gap:16px; }
.hl-text-link{
  display:inline-flex; align-items:center; gap:8px;
  font-size:14px; font-weight:700; color:var(--ink); text-decoration:none; white-space:nowrap;
}
.hl-text-link:hover{ color:var(--clay); }
.hl-sectors{ display:flex; flex-wrap:wrap; gap:10px; margin-top:40px; }
.hl-sector{
  display:inline-flex; align-items:center; gap:8px;
  border:1px solid var(--line); background:var(--white); color:var(--ink);
  border-radius:999px; padding:10px 16px; font-size:13px; font-weight:600; text-decoration:none;
}
.hl-sector:hover{ background:var(--jade); border-color:var(--jade); color:#fff; }
.hl-sector--muted{ background:var(--paper-alt); color:var(--ink-soft); border:0; }
.hl-demo-grid{ display:grid; gap:20px; margin-top:32px; }
.hl-demo{
  background:var(--white); border-radius:24px; overflow:hidden;
  outline:1px solid var(--line); transition:transform .18s ease, box-shadow .18s ease;
}
.hl-demo.is-featured{ outline:2px solid var(--clay); }
.hl-demo:hover{ transform:translateY(-6px); box-shadow:0 22px 40px -18px rgba(28,43,46,.22); }
.hl-demo-photo{ position:relative; aspect-ratio:4/3; overflow:hidden; background:var(--ink); }
.hl-demo-photo img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s ease; }
.hl-demo:hover .hl-demo-photo img{ transform:scale(1.05); }
.hl-demo-featured{
  position:absolute; left:12px; top:12px;
  display:inline-flex; align-items:center; gap:4px;
  background:var(--marigold); color:var(--ink);
  border-radius:999px; padding:4px 10px;
  font-size:10px; font-weight:700; letter-spacing:.04em; text-transform:uppercase;
  box-shadow:0 8px 16px -8px rgba(0,0,0,.35);
}
.hl-demo-verified{
  position:absolute; right:12px; top:12px;
  width:28px; height:28px; border-radius:50%; background:var(--white);
  display:flex; align-items:center; justify-content:center;
  color:var(--jade); font-size:16px; box-shadow:0 8px 16px -8px rgba(0,0,0,.35);
}
.hl-demo-body{ padding:16px; }
.hl-demo-title-row{ display:flex; justify-content:space-between; gap:8px; align-items:flex-start; }
.hl-demo-body h3{ font-size:15px; }
.hl-demo-cat{ margin:2px 0 0; font-size:12px; font-weight:600; color:var(--ink-soft); }
.hl-demo-rating{
  display:inline-flex; align-items:center; gap:4px; flex-shrink:0;
  background:var(--clay-soft); border-radius:8px; padding:4px 6px;
  font-size:11px; font-weight:700; color:var(--ink);
}
.hl-demo-rating i{ color:var(--clay); font-size:12px; }
.hl-demo-meta{ margin:8px 0 0; font-size:12px; color:var(--ink-soft); display:flex; align-items:center; gap:4px; }
.hl-demo-tags{ display:flex; flex-wrap:wrap; gap:6px; margin-top:12px; }
.hl-demo-tags span{
  background:var(--paper-alt); border-radius:6px; padding:2px 8px;
  font-size:10px; font-weight:600; color:var(--ink-soft);
}
.hl-demo-badges{ display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; font-size:10px; font-weight:700; color:var(--jade); }
.hl-demo-badges span{ display:inline-flex; align-items:center; gap:4px; }
.hl-demo-wa{
  display:flex; align-items:center; justify-content:center; gap:8px;
  margin-top:16px; width:100%; box-sizing:border-box;
  background:var(--clay); color:#fff; text-decoration:none;
  border-radius:12px; padding:10px 12px; font-size:13px; font-weight:700;
}
.hl-demo-wa:hover{ background:var(--clay-deep); color:#fff; }

.hl-az{ margin-top:40px; background:var(--white); border:1px solid var(--line); border-radius:24px; padding:28px 24px; }
.hl-az-head{ display:flex; flex-direction:column; gap:4px; }
.hl-az-head h3{ font-family:var(--display); font-size:16px; margin:0; }
.hl-az-head p{ margin:0; font-size:12px; font-weight:600; color:var(--ink-soft); }
.hl-az-letters{ display:flex; flex-wrap:wrap; gap:6px; margin-top:20px; }
.hl-az-letters a{
  width:36px; height:36px; border-radius:12px;
  display:flex; align-items:center; justify-content:center;
  background:var(--paper-alt); color:var(--ink); text-decoration:none;
  font-size:13px; font-weight:700;
}
.hl-az-letters a:hover, .hl-az-letters a.is-active{ background:var(--jade); color:#fff; }

.hl-tools{ display:grid; gap:16px; margin-top:48px; }
.hl-tool{
  background:rgba(255,255,255,.06); border-radius:24px; padding:24px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);
  transition:transform .18s ease, background .18s ease;
}
.hl-tool:hover{ transform:translateY(-4px); background:rgba(255,255,255,.1); box-shadow:inset 0 0 0 1px rgba(244,180,0,.4); }
.hl-tool-icon{
  width:44px; height:44px; border-radius:16px;
  background:rgba(244,180,0,.15); color:var(--marigold);
  display:flex; align-items:center; justify-content:center; font-size:20px;
}
.hl-tool:hover .hl-tool-icon{ background:var(--marigold); color:var(--ink); }
.hl-tool h3{ font-size:15px; color:#fff; margin-top:20px; }
.hl-tool p{ color:rgba(255,255,255,.6); }
.hl-badges-panel{
  margin-top:32px; background:rgba(255,255,255,.06); border-radius:24px; padding:28px 24px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);
}
.hl-badges-head{ display:flex; flex-direction:column; gap:4px; }
.hl-badges-head h3{ font-family:var(--display); font-size:16px; color:#fff; margin:0; }
.hl-badges-head p{ margin:0; font-size:12px; font-weight:600; color:rgba(255,255,255,.45); }
.hl-badges{ display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
.hl-badges span{
  display:inline-flex; align-items:center; gap:8px;
  background:rgba(255,255,255,.1); color:rgba(255,255,255,.85);
  border-radius:999px; padding:8px 14px;
  font-size:12px; font-weight:700;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);
}
.hl-badges i{ color:var(--marigold); }

.hl-quotes{ display:grid; gap:20px; margin-top:48px; }
.hl-quote{
  background:var(--white); border-radius:24px; padding:28px 24px;
  box-shadow:0 1px 0 rgba(0,0,0,.04); outline:1px solid rgba(0,0,0,.05);
  display:flex; flex-direction:column;
}
.hl-quote-mark{ font-size:32px; color:rgba(193,68,14,.25); }
.hl-quote blockquote{
  margin:16px 0 0; font-size:15px; line-height:1.65; color:var(--ink); flex:1;
}
.hl-quote-metric{
  display:inline-flex; align-items:center; gap:6px; width:max-content;
  margin-top:20px; border-radius:999px; padding:6px 12px;
  font-size:11px; font-weight:700;
}
.hl-quote-metric--clay{ color:var(--clay); background:var(--clay-soft); }
.hl-quote-metric--jade{ color:var(--jade); background:var(--jade-soft); }
.hl-quote-metric--ink{ color:var(--ink); background:var(--paper-alt); }
.hl-quote figcaption{
  display:flex; align-items:center; gap:12px;
  margin-top:20px; padding-top:20px; border-top:1px solid var(--line);
}
.hl-quote figcaption img{
  width:44px; height:44px; border-radius:50%; object-fit:cover;
  box-shadow:0 0 0 2px rgba(193,68,14,.2);
}
.hl-quote figcaption strong{ display:block; font-family:var(--display); font-size:14px; }
.hl-quote figcaption span{ display:block; font-size:12px; color:var(--ink-soft); }

.hl-plans{ display:grid; gap:20px; margin-top:48px; }
.hl-plan{
  background:var(--white); border-radius:24px; padding:32px 28px;
  outline:1px solid var(--line); display:flex; flex-direction:column; position:relative;
}
.hl-plan--featured{ background:var(--shell); outline:2px solid var(--clay); color:#fff; }
.hl-plan-badge{
  position:absolute; top:-12px; left:28px;
  display:inline-flex; align-items:center; gap:6px;
  background:var(--marigold); color:var(--ink);
  border-radius:999px; padding:6px 14px;
  font-size:11px; font-weight:700; letter-spacing:.04em; text-transform:uppercase;
  box-shadow:0 10px 18px -10px rgba(0,0,0,.35);
}
.hl-plan h3{ font-size:18px; }
.hl-plan--featured h3{ color:#fff; }
.hl-plan-pitch{ margin:8px 0 0; font-size:14px; color:var(--ink-soft); }
.hl-plan--featured .hl-plan-pitch{ color:rgba(255,255,255,.6); }
.hl-plan-price{ margin:24px 0 0; display:flex; align-items:baseline; gap:8px; }
.hl-plan-price b{ font-family:var(--display); font-size:48px; font-weight:700; line-height:1; }
.hl-plan--featured .hl-plan-price b{ color:var(--marigold); }
.hl-plan-price span{ font-size:14px; font-weight:600; color:var(--ink-soft); }
.hl-plan--featured .hl-plan-price span{ color:rgba(255,255,255,.5); }
.hl-plan ul{ list-style:none; margin:28px 0 0; padding:0; flex:1; }
.hl-plan li{ display:flex; align-items:flex-start; gap:10px; margin:0 0 12px; font-size:14px; }
.hl-plan li i{
  width:20px; height:20px; border-radius:50%; flex-shrink:0;
  display:inline-flex; align-items:center; justify-content:center;
  background:var(--jade-soft); color:var(--jade); font-size:12px; margin-top:1px;
}
.hl-plan--featured li i{ background:rgba(244,180,0,.2); color:var(--marigold); }
.hl-plan .hl-btn{ margin-top:28px; width:100%; box-sizing:border-box; }

.hl-cmp{ margin-top:32px; background:var(--white); border:1px solid var(--line); border-radius:24px; overflow:hidden; }
.hl-cmp-head, .hl-cmp-row{
  display:grid; grid-template-columns:1fr 64px 64px; gap:16px;
  align-items:center; padding:12px 20px;
}
.hl-cmp-head{
  background:var(--paper-alt); border-bottom:1px solid var(--line);
  font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-soft);
}
.hl-cmp-head span:nth-child(2),
.hl-cmp-head span:nth-child(3),
.hl-cmp-row span:nth-child(2),
.hl-cmp-row span:nth-child(3){ text-align:center; }
.hl-cmp-head span:nth-child(3){ color:var(--clay); }
.hl-cmp-row{ font-size:13px; }
.hl-cmp-row.is-alt{ background:rgba(243,237,220,.45); }
.hl-cmp-yes, .hl-cmp-no{
  display:inline-flex; width:24px; height:24px; border-radius:50%;
  align-items:center; justify-content:center; margin:0 auto;
}
.hl-cmp-yes{ background:var(--jade-soft); color:var(--jade); }
.hl-cmp-no{ background:var(--paper-alt); color:var(--ink-soft); }
.hl-cmp-text{ font-size:12px; font-weight:700; }

.hl-extras{ display:grid; gap:20px; margin-top:32px; }
.hl-extra{ border-radius:24px; padding:28px 24px; }
.hl-extra--clay{ background:var(--clay-soft); outline:1px solid rgba(193,68,14,.15); }
.hl-extra--purple{ background:var(--purple-soft); outline:1px solid rgba(138,127,189,.25); }
.hl-extra-icon{
  width:44px; height:44px; border-radius:16px; color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:20px;
}
.hl-extra--clay .hl-extra-icon{ background:var(--clay); }
.hl-extra--purple .hl-extra-icon{ background:var(--purple-deep); }
.hl-extra h3{ font-size:16px; margin-top:20px; }
.hl-extra-price{ margin:8px 0 0; display:flex; align-items:baseline; gap:6px; }
.hl-extra-price b{ font-family:var(--display); font-size:24px; }
.hl-extra-price span{ font-size:12px; font-weight:600; color:var(--ink-soft); }

.hl-note{
  margin-top:24px; background:var(--paper-alt); border-radius:16px;
  padding:16px 20px; display:flex; gap:12px; align-items:flex-start;
}
.hl-note i{ color:var(--ink); font-size:16px; margin-top:2px; }
.hl-note p{ margin:0; font-size:13px; line-height:1.55; color:var(--ink-soft); }
.hl-note b{ color:var(--ink); }

@media (min-width:640px){
  .hl-stats-grid{ grid-template-columns:repeat(4, 1fr); }
  .hl-cards-4{ grid-template-columns:1fr 1fr; }
  .hl-steps{ grid-template-columns:1fr 1fr; }
  .hl-founder-perks{ grid-template-columns:repeat(3, 1fr); }
  .hl-demo-grid{ grid-template-columns:1fr 1fr; }
  .hl-tools{ grid-template-columns:1fr 1fr; }
  .hl-extras{ grid-template-columns:1fr 1fr; }
  .hl-rule{ grid-template-columns:auto 1fr; align-items:center; padding:32px; }
  .hl-az-head, .hl-badges-head, .hl-row-head{
    flex-direction:row; align-items:flex-end; justify-content:space-between;
  }
  .hl-cmp-head, .hl-cmp-row{ grid-template-columns:1fr 96px 96px; padding:14px 28px; gap:32px; }
}
@media (min-width:1024px){
  .hl-cards-4, .hl-tools{ grid-template-columns:repeat(4, 1fr); }
  .hl-steps{ grid-template-columns:repeat(3, 1fr); }
  .hl-step--wide{ grid-column:span 2; }
  .hl-founder{ grid-template-columns:1fr auto; gap:64px; }
  .hl-demo-grid{ grid-template-columns:repeat(4, 1fr); }
  .hl-quotes{ grid-template-columns:repeat(3, 1fr); }
  .hl-quote--lift{ transform:translateY(-12px); }
  .hl-plans{ grid-template-columns:1fr 1fr; }
  .hl-founder-seal-inner{ width:256px; height:256px; }
}
@media (max-width:760px){
  .hero-visual.hero-visual--cover{
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    min-height:420px;
    padding:28px 0 32px;
    overflow:visible;
    background-position:78% center;
    background-image:
      linear-gradient(105deg, rgba(6,8,10,.82) 0%, rgba(6,8,10,.52) 42%, rgba(6,8,10,.16) 70%, transparent 100%),
      var(--hero-bg-image, url('/assets/img/hero/buskao-portada.png'));
  }
  .hero-visual--cover .hero-main{
    text-align:left;
    max-width:none;
  }
  .hero-visual--cover .hero-main p{
    margin-left:0;
    margin-right:0;
  }
  .hero-visual--cover .hero-badge-count{
    left:20px;
    right:auto;
  }
  .hero-visual--cover .hero-main .hero-lead{ margin-top:1.75rem; }
  .hero-cover-search-block{ margin-top:0; margin-bottom:1.25rem; width:auto; max-width:none; }
  .search-card--cover{ width:100%; min-width:0; }
  .hero-cover-chips{ flex-wrap:wrap; white-space:normal; }
  .hero-visual--cover .hero-brand-lockup{
    position:relative;
    left:auto;
    bottom:auto;
    margin:auto 20px 0;
  }
  .hero-visual--cover .hero-cover-ctas{ justify-content:flex-start; }
  .search-cover-btn{ width:100%; }
  .hl-section{ padding:48px 0; }
}

/* Banner de cookies (aceptar / solo esenciales) */
.asc-cookies{
  display:none;
  position:fixed;
  left:16px;
  right:16px;
  bottom:16px;
  z-index:700;
  background:var(--ink);
  color:#C9D2CF;
  border-radius:12px;
  box-shadow:0 12px 40px rgba(28,43,46,.28);
  padding:18px 20px;
}
.asc-cookies.is-visible{ display:block !important; }
body.tiene-ticker-anuncios .asc-cookies{ bottom:calc(var(--ticker-h) + 12px); }
.asc-cookies-inner{
  max-width:1100px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.asc-cookies-copy{ margin:0; max-width:68ch; }
.asc-cookies-title{
  margin:0 0 6px;
  font-family:var(--display);
  font-size:18px;
  color:var(--white);
}
.asc-cookies-copy p{ margin:0; font-size:14px; line-height:1.5; }
.asc-cookies-copy a{ color:var(--marigold); text-decoration:underline; }
.asc-cookies-acciones{ display:flex; flex-wrap:wrap; gap:10px; flex-shrink:0; }
.asc-cookies-btn-sec{
  background:transparent;
  color:var(--white);
  border:1px solid rgba(255,255,255,.28);
}
.asc-cookies-btn-sec:hover{ border-color:var(--white); }
@media (max-width:720px){
  .asc-cookies-inner{ flex-direction:column; align-items:stretch; }
  .asc-cookies-acciones .btn{ width:100%; text-align:center; }
}

/* ======================================================
   Panel negocio — Resumen / Mensajes / Facturas / Estadísticas / Factura print
   ====================================================== */
.dash-panel{ margin-bottom:8px; }
.dash-hero{ padding:24px 26px 22px; }
.dash-hero h2{
  margin:0 0 6px; font-family:var(--display); font-size:1.55rem; line-height:1.2;
}
.dash-hero-top{
  display:flex; justify-content:space-between; align-items:flex-start; gap:16px; flex-wrap:wrap;
}
.dash-hero-copy{ margin:0; color:var(--ink-soft); font-size:14px; line-height:1.5; max-width:52ch; }
.dash-chip{
  font-family:var(--mono); font-size:10.5px; text-transform:uppercase;
  padding:5px 10px; border-radius:10px; white-space:nowrap; line-height:1.35;
}
.dash-progress{ margin:18px 0 16px; }
.dash-progress-meta{
  display:flex; justify-content:space-between; font-size:13px; margin-bottom:8px; color:var(--ink-soft);
}
.dash-progress-meta strong{ color:var(--ink); font-size:15px; }
.dash-progress-bar{
  height:8px; background:var(--paper-alt); border:1px solid var(--line); border-radius:99px; overflow:hidden;
}
.dash-progress-bar span{
  display:block; height:100%; background:var(--jade); border-radius:99px;
}
.dash-kpis{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(128px, 1fr)); gap:10px;
}
.dash-kpi{
  display:flex; flex-direction:column; gap:2px; padding:12px 14px;
  background:var(--paper-alt); border:1px solid var(--line); border-radius:10px;
}
.dash-kpi b{ font-family:var(--display); font-size:18px; line-height:1.2; color:var(--ink); }
.dash-kpi span{ font-size:12px; color:var(--ink-soft); }
.dash-kpi--link{ text-decoration:none; color:inherit; border-color:color-mix(in srgb, var(--marigold) 45%, var(--line)); }
.dash-kpi--link:hover{ border-color:var(--marigold); }
.dash-grid{
  display:grid; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); gap:14px;
}
.dash-card{
  display:block; padding:18px 18px 16px; text-decoration:none; color:inherit; margin-bottom:0;
  transition:border-color .15s ease, box-shadow .15s ease;
}
.dash-card:hover{ border-color:var(--jade); box-shadow:0 6px 18px rgba(28,43,46,.06); }
.dash-card .ti{ font-size:22px; color:var(--jade); display:block; margin-bottom:8px; }
.dash-card h3{ margin:0 0 4px; font-size:15px; }
.dash-card p{ margin:0; font-size:13px; color:var(--ink-soft); line-height:1.4; }

.mensajes-panel .panel-page-intro{ align-items:center; }
.mensajes-badge{
  background:var(--marigold,#E8A33D); color:#1a1a1a;
  font-family:var(--mono); font-size:12px; padding:5px 10px; border-radius:10px; white-space:nowrap;
}
.mensajes-vacio{
  padding:48px 28px; text-align:center;
}
.mensajes-vacio .ti{ font-size:36px; color:var(--jade); }
.mensajes-vacio h3{ margin:12px 0 8px; font-family:var(--display); font-size:22px; }
.mensajes-vacio p{
  margin:0 auto 18px; max-width:42ch; color:var(--ink-soft); font-size:14px; line-height:1.5;
}
.mensajes-lista{ gap:8px; }
.mensajes-lista-item{
  padding:16px 18px; border-radius:12px;
}
.mensajes-lista-item:hover{ box-shadow:0 6px 16px rgba(28,43,46,.05); }
.mensajes-lista-item.is-unread{
  box-shadow:inset 3px 0 0 var(--marigold,#E8A33D);
}

.facturas-kpis{
  display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:12px; margin-bottom:18px;
}
.facturas-kpi{
  padding:18px 20px; margin-bottom:0;
}
.facturas-kpi b{ display:block; font-family:var(--display); font-size:26px; line-height:1.15; color:var(--jade-deep, var(--jade)); }
.facturas-kpi span{ font-size:12.5px; color:var(--ink-soft); }
.facturas-kpi.is-devolucion b{ color:var(--clay); }
.facturas-kpi.is-devolucion.is-cero b{ color:color-mix(in srgb, var(--clay) 55%, var(--ink-soft)); }
.facturas-tabla.admin-table{ min-width:720px; }
.facturas-estado{
  display:inline-block; font-family:var(--mono); font-size:10.5px; text-transform:uppercase;
  padding:3px 9px; border-radius:10px; background:#DCEEE7; color:var(--jade-deep);
}
.facturas-filtros{
  display:flex; align-items:flex-end; flex-wrap:wrap; gap:8px 10px;
}
.facturas-filtros label{ display:grid; gap:4px; margin:0; }
.facturas-filtros label span{
  font-family:var(--mono); font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-soft);
}
.facturas-filtros select,
.facturas-filtros input[type="search"]{
  min-width:160px; height:36px; padding:0 10px;
  border:1px solid var(--line); border-radius:8px; background:#fff; font-size:13px; color:var(--ink);
}
.facturas-filtros input[type="search"]{ min-width:200px; }
.facturas-filtros-nota{
  margin:0; padding:10px 20px 0; font-size:13px; color:var(--ink-soft);
}

.stats-locked{
  padding:40px 28px; text-align:center;
}
.stats-locked .ti{ font-size:36px; color:var(--jade); }
.stats-locked h2{ margin:12px 0 8px; font-family:var(--display); }
.stats-locked p{ color:var(--ink-soft); max-width:46ch; margin:0 auto 18px; font-size:14px; line-height:1.55; }
.stats-vistas{
  display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:14px; margin-bottom:18px;
}
.stats-vista{ padding:22px 24px; margin-bottom:0; }
.stats-vista span{ display:block; font-size:12.5px; color:var(--ink-soft); margin-bottom:6px; }
.stats-vista b{ display:block; font-family:var(--display); font-size:34px; line-height:1.1; color:var(--jade-deep, var(--jade)); }
.stats-vista small{ display:block; margin-top:6px; font-size:12px; color:var(--ink-soft); }
.stats-clics-card{ padding:0 0 20px; }
.stats-clics-copy{ margin:0; padding:14px 20px 4px; color:var(--ink-soft); font-size:13px; }
.stats-clics-grid{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(168px, 1fr)); gap:12px;
  padding:14px 20px 4px;
}
.stats-metric{
  border:1px solid var(--line); border-radius:12px; padding:16px 14px;
  background:var(--paper-alt);
}
.stats-metric .ti{ font-size:20px; color:var(--jade); display:block; margin-bottom:8px; }
.stats-metric b{ display:block; font-family:var(--display); font-size:26px; line-height:1.1; }
.stats-metric span{ display:block; margin-top:4px; font-size:12.5px; color:var(--ink-soft); line-height:1.35; }
.stats-metric small{ display:block; margin-top:6px; font-size:11.5px; color:var(--ink-soft); line-height:1.35; }
.stats-metric.is-off{
  background:var(--white); opacity:.78;
}
.stats-metric.is-off b{ color:var(--ink-soft); font-size:22px; }
.stats-metric.is-off .ti{ color:var(--ink-soft); }

.factura-body{ background:var(--paper, #FAF6EE); margin:0; }
.factura-page{ max-width:210mm; margin:0 auto; padding:24px 16px 48px; }
.factura-toolbar{
  display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap;
  margin-bottom:16px;
}
.factura-toolbar a{ font-size:13.5px; }
.factura-doc{
  background:#fff; border:1px solid var(--line); min-height:297mm;
  padding:18mm 16mm 16mm; box-sizing:border-box;
  color:var(--ink); font-family:var(--body);
}
.factura-doc-head{
  display:flex; justify-content:space-between; align-items:flex-start; gap:20px;
  padding-bottom:18px; border-bottom:2px solid var(--ink);
}
.factura-brand{ display:flex; align-items:center; gap:12px; min-width:0; }
.factura-brand img{ height:44px; width:auto; max-width:180px; object-fit:contain; }
.factura-brand--logo img{ height:52px; max-width:220px; }
.factura-brand-name{
  font-family:var(--display); font-size:28px; font-weight:700; letter-spacing:.04em; line-height:1;
}
.factura-doc-kicker{ text-align:right; }
.factura-doc-kicker span{
  display:block; font-family:var(--mono); font-size:11px; letter-spacing:.08em;
  text-transform:uppercase; color:var(--ink-soft);
}
.factura-doc-kicker strong{
  display:block; margin-top:4px; font-family:var(--display); font-size:18px; letter-spacing:.04em;
}
.factura-doc-meta{
  display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:16px;
  padding:18px 0 20px;
}
.factura-doc-meta span{
  display:block; font-size:11px; letter-spacing:.06em; text-transform:uppercase;
  color:var(--ink-soft); margin-bottom:4px; font-family:var(--mono);
}
.factura-doc-meta b{ font-size:15px; font-weight:600; }
.factura-doc-detalle{ width:100%; border-collapse:collapse; margin:4px 0 0; }
.factura-doc-detalle th{
  text-align:left; font-family:var(--mono); font-size:11px; letter-spacing:.06em;
  text-transform:uppercase; color:var(--ink-soft); padding:8px 0;
  border-bottom:1px solid var(--line);
}
.factura-doc-detalle th:last-child,
.factura-doc-detalle td:last-child{ text-align:right; }
.factura-doc-detalle td{
  padding:16px 0; font-size:15px; border-bottom:1px solid var(--line); vertical-align:top;
}
.factura-doc-total{
  display:flex; justify-content:space-between; align-items:baseline; gap:16px;
  margin:18px 0 0; padding:16px 18px; background:var(--paper-alt); border:1px solid var(--line);
}
.factura-doc-total span{
  font-family:var(--mono); font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-soft);
}
.factura-doc-total strong{
  font-family:var(--display); font-size:32px; line-height:1; color:var(--jade-deep, var(--jade));
}
.factura-doc-pago{
  display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:22px;
}
.factura-doc-pago span{
  display:block; font-size:11px; letter-spacing:.06em; text-transform:uppercase;
  color:var(--ink-soft); margin-bottom:4px; font-family:var(--mono);
}
.factura-doc-pago b{ font-size:15px; }
.factura-doc-pie{
  margin-top:40px; padding-top:14px; border-top:1px solid var(--line);
  font-size:12px; color:var(--ink-soft);
}

@media (max-width:720px){
  .dash-hero{ padding:20px 18px; }
  .facturas-kpis, .stats-vistas, .factura-doc-meta, .factura-doc-pago{
    grid-template-columns:1fr;
  }
  .factura-doc{ min-height:0; padding:28px 20px; }
  .factura-doc-head{ flex-direction:column; }
  .factura-doc-kicker{ text-align:left; }
  .factura-doc-total strong{ font-size:26px; }
}

@media print{
  body:has(.stats-panel) .admin-sidebar,
  body:has(.stats-panel) .admin-topbar,
  body:has(.stats-panel) .flash,
  body:has(.stats-panel) .no-imprimir{ display:none !important; }
  body:has(.stats-panel) .admin-shell{ display:block; }
  body:has(.stats-panel) .admin-main,
  body:has(.stats-panel) .admin-body{ margin:0; padding:0; width:100%; }
  body.factura-body,
  .factura-page{ background:#fff !important; padding:0; margin:0; max-width:none; }
  .factura-toolbar, .factura-body .no-imprimir{ display:none !important; }
  .factura-doc{
    border:none; box-shadow:none; min-height:auto; padding:0;
    width:100%;
  }
  .stats-panel .admin-panel-card{ break-inside:avoid; }
}

/* Cómo funciona — visita guiada (no Home) */
.page-como-funciona{ background:var(--paper); }
.cf-wrap{ width:min(1180px, calc(100% - 40px)); margin:0 auto; }
.cf-wrap--narrow{ width:min(720px, calc(100% - 40px)); }
.cf-kicker{
  margin:0 0 8px; font-size:11px; letter-spacing:.16em; text-transform:uppercase;
  font-weight:700; color:var(--jade-deep);
}
.cf-kicker--on-ink{ color:var(--marigold); }
.cf-hero{
  position:relative; padding:36px 0 48px; overflow:hidden;
  background:
    radial-gradient(ellipse 50% 80% at 92% 18%, color-mix(in srgb, var(--marigold) 18%, transparent), transparent 70%),
    var(--paper);
}
.cf-hero-grid{
  display:grid; grid-template-columns:minmax(0, 1fr) minmax(300px, .95fr);
  gap:32px 40px; align-items:center;
}
.cf-hero h1, .cf-section h2, .cf-final h2{
  margin:0 0 10px; font-family:var(--display); line-height:1.15; letter-spacing:-.03em;
}
.cf-hero h1{ font-size:clamp(1.7rem, 3.4vw, 2.55rem); }
.cf-lead{ margin:0 0 20px; font-size:16px; line-height:1.55; color:var(--ink-soft); max-width:40rem; }
.cf-hero-cta{ display:flex; flex-wrap:wrap; gap:10px; }
.cf-hero-visual{ position:relative; min-height:360px; }
.cf-ficha{
  background:var(--white); border-radius:16px; overflow:hidden;
  border:1px solid color-mix(in srgb, var(--line) 80%, transparent);
  box-shadow:0 24px 50px -28px color-mix(in srgb, var(--jade-deep) 80%, #000);
  max-width:380px; margin-left:auto;
}
.cf-ficha--stage{ margin:0 auto; max-width:340px; }
.cf-ficha-cover{
  position:relative; height:128px;
  background:
    linear-gradient(120deg, transparent 0%, transparent 42%, color-mix(in srgb, var(--marigold) 35%, transparent) 100%),
    linear-gradient(160deg, var(--jade-deep), var(--jade) 58%, #1a3330);
}
.cf-ficha-badge{
  position:absolute; left:12px; bottom:12px;
  font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:var(--ink); background:var(--marigold); border-radius:999px; padding:4px 9px;
}
.cf-ficha-body{ padding:14px 16px 16px; }
.cf-ficha-name{ margin:0; font-family:var(--display); font-size:1.25rem; font-weight:600; }
.cf-ficha-meta{ margin:4px 0 12px; font-size:12.5px; color:var(--ink-soft); }
.cf-ficha-meta i{ color:var(--jade); }
.cf-ficha-thumbs{ display:grid; grid-template-columns:repeat(4, 1fr); gap:6px; margin-bottom:12px; }
.cf-ficha-thumbs span{
  height:44px; border-radius:6px;
  background:color-mix(in srgb, var(--jade) 16%, var(--paper-alt));
}
.cf-ficha-thumbs span:nth-child(2){ background:color-mix(in srgb, var(--marigold) 28%, var(--paper-alt)); }
.cf-ficha-thumbs span:nth-child(3){ background:color-mix(in srgb, var(--clay) 18%, var(--paper-alt)); }
.cf-ficha-thumbs span:nth-child(4){ background:var(--paper-alt); }
.cf-ficha-offer{
  display:grid; grid-template-columns:28px 1fr; gap:8px 10px; align-items:center; margin-bottom:12px;
}
.cf-ficha-offer em{
  width:28px; height:28px; border-radius:6px;
  background:color-mix(in srgb, var(--jade) 14%, var(--paper-alt)); font-style:normal;
}
.cf-ficha-offer b{ font-size:12.5px; font-weight:600; color:var(--ink-soft); }
.cf-ficha-cta{ display:flex; gap:8px; }
.cf-ficha-cta span{
  font-size:11px; font-weight:700; border-radius:999px; padding:6px 10px;
  background:var(--paper-alt); color:var(--ink);
}
.cf-ficha-wa{ background:#DCEEE7 !important; color:var(--jade-deep) !important; }
.cf-callout{
  position:absolute; margin:0; display:flex; align-items:center; gap:6px;
  font-size:11.5px; font-weight:700; color:var(--ink);
  background:var(--white); border:1px solid var(--line); border-radius:999px;
  padding:6px 10px; box-shadow:0 10px 22px -16px var(--jade-deep);
  white-space:nowrap;
}
.cf-callout i{ color:var(--jade); }
.cf-callout--a{ top:18px; left:0; }
.cf-callout--b{ top:46%; left:-8px; }
.cf-callout--c{ bottom:28px; right:8px; background:var(--ink); color:#fff; border-color:var(--ink); }
.cf-callout--c i{ color:var(--marigold); }
.cf-section{ padding:52px 0; }
.cf-section h2{ font-size:clamp(1.45rem, 2.5vw, 2rem); }
.cf-sub{ margin:0 0 28px; color:var(--ink-soft); font-size:15px; line-height:1.55; max-width:46rem; }
.cf-sub--on-ink{ color:rgba(255,253,248,.72); }
.cf-section--paths{ border-top:1px solid var(--line); }
.cf-paths{
  display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:0 28px;
  border-top:1px solid var(--line);
}
.cf-path{
  display:block; text-decoration:none; color:inherit; padding:22px 8px 0;
  border-top:3px solid var(--jade);
}
.cf-path:nth-child(2){ border-top-color:var(--marigold); }
.cf-path:nth-child(3){ border-top-color:var(--clay); }
.cf-path-n{
  display:block; font-family:var(--display); font-size:3rem; line-height:.85;
  color:color-mix(in srgb, var(--jade) 35%, var(--paper)); font-weight:700; letter-spacing:-.04em;
}
.cf-path-label{
  display:block; margin:8px 0 6px; font-size:11px; letter-spacing:.14em;
  text-transform:uppercase; font-weight:700; color:var(--jade-deep);
}
.cf-path strong{ display:block; font-family:var(--display); font-size:1.25rem; margin-bottom:6px; }
.cf-path p{ margin:0; color:var(--ink-soft); font-size:14.5px; line-height:1.5; }
.cf-section--trail{
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--jade) 8%, var(--paper)) 0%, var(--paper) 100%);
}
.cf-trail-flow{
  margin:0 0 28px; font-size:12px; font-weight:700; letter-spacing:.12em;
  text-transform:uppercase; color:var(--jade-deep);
}
.cf-trail{
  list-style:none; margin:0; padding:0; position:relative;
}
.cf-trail::before{
  content:""; position:absolute; left:28px; top:8px; bottom:8px; width:2px;
  background:linear-gradient(180deg, var(--marigold), var(--jade));
}
.cf-trail li{
  display:grid; grid-template-columns:56px minmax(0, 1fr); gap:18px;
  align-items:start; margin:0 0 26px; max-width:640px;
}
.cf-trail li:nth-child(even){ margin-left:auto; }
.cf-trail li span{
  width:56px; height:56px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:var(--ink); color:var(--marigold); font-weight:800; font-size:14px;
  position:relative; z-index:1; box-shadow:0 0 0 6px var(--paper);
}
.cf-trail h3{ margin:4px 0 6px; font-family:var(--display); font-size:1.25rem; }
.cf-trail p{ margin:0; color:var(--ink-soft); font-size:15px; line-height:1.5; }
.cf-section--learn{ background:var(--paper-alt); }
.cf-learn{ display:grid; grid-template-columns:1.15fr .85fr; gap:16px; }
.cf-learn-hero{
  background:var(--ink); color:#fff; border-radius:16px; overflow:hidden;
  min-height:100%;
}
.cf-learn-cover{
  position:relative; min-height:120px;
  display:flex; align-items:flex-end; justify-content:space-between;
  padding:14px;
}
.cf-learn-cover--main{
  min-height:220px;
  background:
    radial-gradient(circle at 80% 20%, color-mix(in srgb, var(--marigold) 40%, transparent), transparent 40%),
    linear-gradient(145deg, var(--jade-deep), var(--ink));
}
.cf-learn-cover--2{ background:linear-gradient(145deg, var(--jade), var(--jade-deep)); }
.cf-learn-cover--3{ background:linear-gradient(145deg, #3d5c4f, var(--ink)); }
.cf-learn-cover--4{ background:linear-gradient(145deg, var(--marigold-deep), var(--jade-deep)); }
.cf-learn-cover--5{ background:linear-gradient(145deg, var(--clay), var(--ink)); }
.cf-learn-cover--6{ background:linear-gradient(145deg, var(--jade-deep), #142422); }
.cf-soon{
  font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase;
  color:var(--ink); background:var(--marigold); border-radius:999px; padding:4px 8px;
}
.cf-learn-tag{ font-size:11px; letter-spacing:.1em; text-transform:uppercase; font-weight:700; color:rgba(255,253,248,.7); }
.cf-learn-copy{ padding:16px 18px 20px; }
.cf-learn-copy h3, .cf-learn-mini h3{ margin:0; font-family:var(--display); }
.cf-learn-copy h3{ font-size:1.35rem; }
.cf-learn-copy p{ margin:8px 0 0; color:rgba(255,253,248,.7); font-size:14px; }
.cf-learn-grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.cf-learn-mini{ min-width:0; }
.cf-learn-mini .cf-learn-cover{ border-radius:12px; min-height:92px; }
.cf-learn-mini h3{ margin:8px 2px 0; font-size:14.5px; line-height:1.3; }
.cf-learn-mini:last-child{ grid-column:1 / -1; }
.cf-section--ink{ background:var(--ink); color:var(--paper); }
.cf-section--ink h2{ color:#fff; }
.cf-stage{
  display:grid; grid-template-columns:minmax(0, .9fr) minmax(240px, 1fr) minmax(0, .9fr);
  gap:20px; align-items:center;
}
.cf-pins{ display:flex; flex-direction:column; gap:18px; }
.cf-pins p{ margin:0; font-size:13.5px; line-height:1.4; color:rgba(255,253,248,.72); }
.cf-pins b{ display:block; color:#fff; font-size:12px; letter-spacing:.08em; text-transform:uppercase; margin-bottom:4px; }
.cf-pins--left p{ padding-right:12px; border-right:2px solid var(--marigold); text-align:right; }
.cf-pins--right p{ padding-left:12px; border-left:2px solid var(--jade); }
.cf-note{ margin:22px 0 0; font-size:12.5px; line-height:1.5; color:rgba(255,253,248,.55); max-width:46rem; }
.cf-progress{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:0;
  position:relative;
}
.cf-progress::before{
  content:""; position:absolute; left:8%; right:8%; top:18px; height:2px; background:var(--jade);
}
.cf-progress li{ padding:0 12px 0 0; }
.cf-progress span{
  display:inline-block; margin-bottom:10px; font-size:11px; font-weight:800;
  letter-spacing:.1em; text-transform:uppercase; color:var(--ink);
  background:var(--marigold); border-radius:999px; padding:5px 10px; position:relative;
}
.cf-progress p{ margin:0; color:var(--ink-soft); font-size:14px; line-height:1.45; max-width:22ch; }
.cf-grow-cta{ margin:28px 0 0; }
.cf-section--faq{ background:var(--paper); }
.cf-faq-layout{ display:grid; grid-template-columns:minmax(180px, .7fr) minmax(0, 1.5fr); gap:28px 40px; align-items:start; }
.cf-faq-intro p{
  margin:8px 0 0; font-family:var(--display); font-size:1.35rem; color:var(--jade-deep);
}
.cf-faq{ display:grid; grid-template-columns:1fr 1fr; gap:8px 16px; }
.cf-faq details{
  border-bottom:1px solid var(--line); padding:0 0 2px; break-inside:avoid;
}
.cf-faq summary{
  cursor:pointer; font-weight:600; font-size:13.5px; padding:10px 0; list-style:none; line-height:1.35;
}
.cf-faq summary::-webkit-details-marker{ display:none; }
.cf-faq details p{
  margin:0; padding:0 0 10px; color:var(--ink-soft); font-size:13.5px; line-height:1.5;
}
.cf-final{
  position:relative; overflow:hidden; background:var(--ink); color:#fff; padding:64px 0 72px; text-align:center;
}
.cf-final-marks{
  position:absolute; inset:0;
  background:
    radial-gradient(circle at 12% 80%, color-mix(in srgb, var(--jade) 28%, transparent), transparent 32%),
    radial-gradient(circle at 90% 20%, color-mix(in srgb, var(--marigold) 22%, transparent), transparent 28%);
  pointer-events:none;
}
.cf-final h2{ font-size:clamp(1.45rem, 2.8vw, 2.05rem); position:relative; }
.cf-final p{ margin:0 0 20px; color:rgba(255,253,248,.78); position:relative; }
.cf-final-inner{ display:flex; flex-direction:column; align-items:center; position:relative; }
.cf-btn-ghost-light{
  background:transparent; border:1px solid rgba(255,253,248,.4); color:#fff;
}
.cf-btn-ghost-light:hover{ background:rgba(255,253,248,.08); }
@media (max-width:980px){
  .cf-hero-grid, .cf-learn, .cf-stage, .cf-faq-layout, .cf-paths, .cf-progress{ grid-template-columns:1fr 1fr; }
  .cf-learn-grid{ grid-template-columns:1fr; }
  .cf-learn-mini:last-child{ grid-column:auto; }
  .cf-pins--left p, .cf-pins--right p{ text-align:left; border-right:0; border-left:2px solid var(--marigold); padding-right:0; padding-left:12px; }
  .cf-callout--b{ left:auto; right:0; }
  .cf-trail li:nth-child(even){ margin-left:0; }
  .cf-progress::before{ display:none; }
}
@media (max-width:700px){
  .cf-hero-grid, .cf-paths, .cf-learn, .cf-learn-grid, .cf-stage, .cf-progress, .cf-faq-layout, .cf-faq{ grid-template-columns:1fr; }
  .cf-hero-visual{ min-height:0; }
  .cf-ficha{ margin:28px auto 0; }
  .cf-callout{ position:static; display:inline-flex; margin:6px 6px 0 0; }
  .cf-hero-visual{ display:flex; flex-direction:column; }
  .cf-trail::before{ left:18px; }
  .cf-trail li{ grid-template-columns:36px 1fr; gap:12px; }
  .cf-trail li span{ width:36px; height:36px; font-size:12px; }
  .cf-section{ padding:36px 0; }
  .cf-hero-cta .btn{ min-height:44px; }
}

/* Planes públicos — /planes.php */
.page-planes{ background:var(--paper); }
.pl-wrap{ width:min(1180px, calc(100% - 40px)); margin:0 auto; }
.pl-wrap--narrow{ width:min(720px, calc(100% - 40px)); }
.pl-kicker{
  margin:0 0 8px; font-size:11px; letter-spacing:.16em; text-transform:uppercase;
  font-weight:700; color:var(--jade-deep);
}
.pl-kicker--gold{ color:var(--marigold); }
.pl-section{ padding:56px 0; }
.pl-section h2, .pl-hero h1, .pl-final h2{
  margin:0 0 12px; font-family:var(--display); line-height:1.15; letter-spacing:-.03em;
}
.pl-hero h1, .pl-section h2, .pl-final h2{ font-size:clamp(1.5rem, 3vw, 2.35rem); }
.pl-sub{ margin:0 0 28px; color:var(--ink-soft); font-size:15.5px; line-height:1.55; max-width:46rem; }
.pl-sub--on-ink, .pl-note--on-ink{ color:rgba(255,253,248,.72); }
.pl-lead{ margin:0 0 22px; font-size:16.5px; line-height:1.55; color:var(--ink-soft); max-width:40rem; }
.pl-hero-cta{ display:flex; flex-wrap:wrap; gap:10px; }
.pl-cta-row{ margin:28px 0 0; }
.pl-note{ margin:18px 0 0; font-size:13.5px; line-height:1.5; color:var(--ink-soft); max-width:44rem; }
.pl-fine{ margin:10px 0 0; font-size:12.5px; line-height:1.5; color:var(--ink-soft); max-width:44rem; }
.pl-section--alt{ background:var(--paper-alt); }
.pl-section--paper{ background:var(--paper); border-top:1px solid var(--line); }
.pl-hero{
  position:relative; overflow:hidden; padding:40px 0 52px;
  background:
    radial-gradient(ellipse 46% 70% at 88% 12%, color-mix(in srgb, var(--marigold) 20%, transparent), transparent 68%),
    var(--paper);
}
.pl-hero-marks{
  position:absolute; inset:auto 8% 12% auto; width:180px; height:180px; border-radius:50%;
  border:1px solid color-mix(in srgb, var(--jade) 28%, transparent); pointer-events:none;
}
.pl-hero-grid{
  display:grid; grid-template-columns:minmax(0, 1.1fr) minmax(260px, .8fr);
  gap:36px; align-items:center;
}
.pl-hero-zero{
  margin:16px 0 0; font-size:13px; font-weight:700; letter-spacing:.04em;
  text-transform:uppercase; color:var(--jade-deep);
}
.pl-hero-visual{
  position:relative; padding:28px 8px 8px; text-align:center;
}
.pl-hero-price{
  margin:0; font-family:var(--display); font-size:clamp(5rem, 12vw, 8rem);
  line-height:.8; letter-spacing:-.06em; color:var(--ink);
}
.pl-hero-price-note{
  margin:8px 0 22px; font-size:13px; letter-spacing:.12em; text-transform:uppercase;
  font-weight:700; color:var(--jade);
}
.pl-hero-path{
  list-style:none; margin:0 auto; padding:0; max-width:280px; text-align:left;
  border-left:2px solid var(--jade);
}
.pl-hero-path li{
  position:relative; padding:0 0 14px 18px; font-size:13.5px; font-weight:600; color:var(--ink);
}
.pl-hero-path li::before{
  content:""; position:absolute; left:-5px; top:6px; width:8px; height:8px; border-radius:50%;
  background:var(--marigold);
}
.pl-hero-path li:last-child{ padding-bottom:0; }
.pl-basic{
  display:grid; grid-template-columns:minmax(160px, .55fr) minmax(0, 1fr);
  gap:28px 40px; align-items:start;
}
.pl-basic-price b{
  display:block; font-family:var(--display); font-size:clamp(3.4rem, 8vw, 5.4rem);
  line-height:.85; letter-spacing:-.05em;
}
.pl-basic-price span{
  display:block; margin-top:10px; font-size:13px; font-weight:700;
  letter-spacing:.1em; text-transform:uppercase; color:var(--jade-deep);
}
.pl-checks{ list-style:none; margin:0; padding:0; columns:2; column-gap:28px; }
.pl-checks li{
  break-inside:avoid; margin:0 0 10px; padding:0 0 0 22px; position:relative;
  font-size:15px; line-height:1.4;
}
.pl-checks li::before{
  content:""; position:absolute; left:0; top:.55em; width:10px; height:2px; background:var(--jade);
}
.pl-destacado{
  display:grid; grid-template-columns:minmax(0, 1.2fr) minmax(200px, .7fr);
  gap:36px; align-items:center;
}
.pl-price-line{ margin:0 0 20px; display:flex; align-items:baseline; gap:10px; }
.pl-price-line b{
  font-family:var(--display); font-size:clamp(2.4rem, 5vw, 3.4rem); letter-spacing:-.04em;
}
.pl-price-line span{ color:var(--ink-soft); font-weight:600; }
.pl-destacado-aside{
  border-left:2px solid var(--marigold); padding:8px 0 8px 22px;
}
.pl-destacado-aside p{
  margin:0; font-family:var(--display); font-size:1.6rem; letter-spacing:-.03em;
}
.pl-destacado-aside span{
  display:block; width:2px; height:42px; margin:8px 0; background:var(--jade);
}
.pl-destacado-aside small{ display:block; margin-top:10px; color:var(--ink-soft); line-height:1.45; }
.pl-section--founder{
  position:relative; overflow:hidden; background:var(--ink); color:var(--paper); padding:72px 0;
}
.pl-section--founder h2{ color:#fff; }
.pl-founder-marks{
  position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(circle at 8% 20%, color-mix(in srgb, var(--marigold) 18%, transparent), transparent 28%),
    radial-gradient(circle at 92% 80%, color-mix(in srgb, var(--jade) 22%, transparent), transparent 32%);
}
.pl-founder-stock{
  display:inline-block; margin:0 0 28px; padding:8px 14px; border-radius:999px;
  background:var(--marigold); color:var(--ink); font-size:12px; font-weight:800;
  letter-spacing:.08em; text-transform:uppercase;
}
.pl-founder-stock.is-out{
  background:transparent; color:var(--marigold); border:1px solid var(--marigold);
}
.pl-founder-grid{
  display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:22px;
  position:relative; align-items:stretch;
}
.pl-edition{
  position:relative; padding:28px 26px 26px;
  display:flex; flex-direction:column;
  border:1px solid color-mix(in srgb, var(--marigold) 55%, transparent);
  border-radius:18px;
  background:linear-gradient(180deg, color-mix(in srgb, var(--marigold) 10%, transparent), transparent 42%),
    color-mix(in srgb, #000 22%, var(--ink));
  box-shadow:0 0 0 1px color-mix(in srgb, var(--marigold) 18%, transparent), 0 24px 50px -30px #000;
}
.pl-edition--ao{
  border:1.5px solid var(--marigold);
  background:
    radial-gradient(circle at 88% 8%, color-mix(in srgb, var(--marigold) 28%, transparent), transparent 34%),
    linear-gradient(180deg, color-mix(in srgb, var(--marigold) 16%, transparent), transparent 46%),
    color-mix(in srgb, #000 18%, var(--ink));
  box-shadow:
    0 0 0 1px var(--marigold),
    0 0 32px -8px color-mix(in srgb, var(--marigold) 55%, transparent),
    0 24px 50px -30px #000;
}
.pl-edition-tier{
  position:absolute; top:16px; right:16px; margin:0;
  font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase;
  color:var(--ink); background:var(--marigold); border-radius:999px; padding:6px 10px;
}
.pl-edition-mark{
  margin:0 0 6px; font-family:var(--display); font-size:clamp(2.6rem, 5vw, 3.8rem);
  line-height:.85; letter-spacing:-.05em; color:var(--marigold);
}
.pl-edition--ao .pl-edition-mark{ padding-right:7rem; }
.pl-edition-badge{
  margin:0 0 8px; font-size:10px; font-weight:800; letter-spacing:.16em;
  text-transform:uppercase; color:var(--marigold);
}
.pl-edition h3{ margin:0 0 8px; font-family:var(--display); font-size:1.25rem; color:#fff; font-weight:600; }
.pl-edition-lead{
  margin:0 0 12px; font-size:14.5px; line-height:1.45; color:rgba(255,253,248,.86);
}
.pl-edition-price{ margin:0 0 16px; display:flex; align-items:baseline; gap:8px; }
.pl-edition-price b{ font-family:var(--display); font-size:2.1rem; color:#fff; }
.pl-edition-price span{ color:rgba(255,253,248,.62); font-size:13px; }
.pl-edition ul{ list-style:none; margin:0 0 16px; padding:0; }
.pl-edition li{
  margin:0 0 8px; padding:0 0 0 16px; position:relative;
  font-size:14.5px; line-height:1.4; color:rgba(255,253,248,.86);
}
.pl-edition li::before{
  content:""; position:absolute; left:0; top:.6em; width:8px; height:2px; background:var(--marigold);
}
.pl-edition-plus{
  margin:4px 0 16px; padding:14px 14px 6px;
  border-radius:12px;
  border:1px solid color-mix(in srgb, var(--marigold) 55%, transparent);
  background:color-mix(in srgb, var(--marigold) 12%, transparent);
}
.pl-edition-plus p{
  margin:0 0 10px; font-size:11px; font-weight:800; letter-spacing:.1em;
  text-transform:uppercase; color:var(--marigold);
}
.pl-edition-plus ul{ margin:0; }
.pl-edition-cta{ margin-top:auto; padding-top:8px; }
.pl-edition-out{
  margin:0; font-size:12px; font-weight:800; letter-spacing:.1em;
  text-transform:uppercase; color:var(--marigold);
}
.pl-badge-layout{
  display:grid; grid-template-columns:180px minmax(0, 1fr);
  gap:32px; align-items:center;
}
.pl-badge-seal{
  width:168px; height:168px; border-radius:50%;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  border:2px solid var(--marigold); color:var(--ink);
  background:
    radial-gradient(circle at 50% 30%, color-mix(in srgb, var(--marigold) 28%, transparent), transparent 55%),
    var(--paper-alt);
  box-shadow:0 0 0 8px color-mix(in srgb, var(--marigold) 12%, transparent);
  text-align:center;
}
.pl-badge-seal span{
  font-size:11px; letter-spacing:.18em; text-transform:uppercase; font-weight:700; color:var(--jade-deep);
}
.pl-badge-seal strong{
  font-family:var(--display); font-size:1.45rem; letter-spacing:-.03em;
}
.pl-cmp{ border-top:1px solid var(--line); }
.pl-cmp-head, .pl-cmp-row{
  display:grid; grid-template-columns:minmax(9rem, 1.5fr) repeat(4, minmax(0, 1fr));
  gap:8px; align-items:center;
}
.pl-cmp-head{
  padding:12px 0; font-size:11px; font-weight:800; letter-spacing:.08em;
  text-transform:uppercase; color:var(--jade-deep);
}
.pl-cmp-row{ padding:11px 0; font-size:13.5px; border-top:1px solid var(--line); }
.pl-cmp-row.is-alt{ background:color-mix(in srgb, var(--jade) 5%, transparent); margin:0 -12px; padding-left:12px; padding-right:12px; }
.pl-extras{
  display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:22px 36px;
}
.pl-extras article{ padding-top:16px; border-top:3px solid var(--jade); }
.pl-extras article:nth-child(2){ border-top-color:var(--marigold); }
.pl-extras article:nth-child(3){ border-top-color:var(--clay); }
.pl-extras article:nth-child(4){ border-top-color:var(--jade-deep); }
.pl-extras p:first-child{
  margin:0 0 6px; font-size:11px; font-weight:800; letter-spacing:.14em;
  text-transform:uppercase; color:var(--jade-deep);
}
.pl-extras h3{ margin:0 0 6px; font-family:var(--display); font-size:1.3rem; }
.pl-extra-price{ margin:0 0 8px; font-weight:700; }
.pl-extras article p{ margin:0; color:var(--ink-soft); font-size:14.5px; line-height:1.5; }
.pl-extras .pl-fine{ margin-top:8px; font-size:12.5px; }
.pl-text-link{ color:var(--jade-deep); font-weight:700; }
.pl-faq-layout{ display:grid; grid-template-columns:minmax(180px, .7fr) minmax(0, 1.5fr); gap:28px 40px; align-items:start; }
.pl-faq-intro p{
  margin:8px 0 0; font-family:var(--display); font-size:1.35rem; color:var(--jade-deep);
}
.pl-faq{ display:grid; grid-template-columns:1fr 1fr; gap:8px 16px; }
.pl-faq details{ border-bottom:1px solid var(--line); padding:0 0 2px; }
.pl-faq summary{
  cursor:pointer; font-weight:600; font-size:13.5px; padding:10px 0; list-style:none; line-height:1.35;
}
.pl-faq summary::-webkit-details-marker{ display:none; }
.pl-faq details p{
  margin:0; padding:0 0 10px; color:var(--ink-soft); font-size:13.5px; line-height:1.5;
}
.pl-faq .pl-fine{ padding-top:0; font-size:12.5px; }
.pl-final{
  position:relative; overflow:hidden; background:var(--ink); color:#fff; padding:68px 0 76px; text-align:center;
}
.pl-final-marks{
  position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(circle at 14% 82%, color-mix(in srgb, var(--jade) 28%, transparent), transparent 32%),
    radial-gradient(circle at 88% 18%, color-mix(in srgb, var(--marigold) 22%, transparent), transparent 28%);
}
.pl-final h2, .pl-final p, .pl-final .pl-hero-cta{ position:relative; }
.pl-final p{ margin:0 0 8px; color:rgba(255,253,248,.78); }
.pl-final-inner{ display:flex; flex-direction:column; align-items:center; }
.pl-final .pl-hero-cta{ margin-top:18px; }
.pl-btn-ghost-light{
  background:transparent; border:1px solid rgba(255,253,248,.4); color:#fff;
}
.pl-btn-ghost-light:hover{ background:rgba(255,253,248,.08); }
@media (max-width:980px){
  .pl-hero-grid, .pl-basic, .pl-destacado, .pl-founder-grid, .pl-badge-layout, .pl-faq-layout, .pl-extras{
    grid-template-columns:1fr 1fr;
  }
  .pl-checks{ columns:1; }
}
@media (max-width:800px){
  .pl-cmp-head{ display:none; }
  .pl-cmp-row, .pl-cmp-row.is-alt{
    display:block; margin:0 0 10px; padding:12px 0; background:transparent;
  }
  .pl-cmp-row span:first-child{ display:block; font-weight:700; margin-bottom:6px; }
  .pl-cmp-row span + span{
    display:inline-block; margin:0 10px 4px 0; font-size:12.5px; color:var(--ink-soft);
  }
  .pl-cmp-row span + span::before{
    content:attr(data-label) " · "; font-weight:700; color:var(--jade-deep);
  }
}
@media (max-width:700px){
  .pl-hero-grid, .pl-basic, .pl-destacado, .pl-founder-grid, .pl-badge-layout,
  .pl-faq-layout, .pl-faq, .pl-extras{ grid-template-columns:1fr; }
  .pl-section{ padding:40px 0; }
  .pl-hero-cta .btn{ min-height:44px; }
  .pl-destacado-aside{ border-left:0; border-top:2px solid var(--marigold); padding:16px 0 0; }
  .pl-badge-seal{ margin:0 auto; }
}

.admin-em-tabs{
  display:flex; flex-wrap:wrap; gap:0 4px;
  margin:0 0 14px; border-bottom:1px solid var(--line);
}
.admin-em-tab{
  padding:8px 12px; text-decoration:none; color:var(--ink-soft);
  font-weight:600; font-size:13.5px; border-bottom:2px solid transparent; margin-bottom:-1px;
}
.admin-em-tab:hover{ color:var(--ink); }
.admin-em-tab.is-active{ color:var(--jade-deep); border-bottom-color:var(--marigold); }
.admin-em-tab .count{
  display:inline-flex; min-width:18px; height:18px; padding:0 5px; margin-left:4px;
  border-radius:99px; background:var(--marigold); color:var(--ink);
  font-size:11px; align-items:center; justify-content:center;
}
.admin-em-head{
  display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px;
  align-items:flex-start; margin:0 0 14px;
}
.admin-em-head h2{ margin:0; font-size:18px; font-family:var(--display); }
.admin-em-caducidad{
  display:flex; flex-wrap:wrap; align-items:center; gap:8px; font-size:13px;
}
.admin-em-caducidad label{ display:flex; align-items:center; gap:6px; cursor:pointer; }
.admin-em-toolbar{
  display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px 16px;
  align-items:center; margin:0 0 16px;
}
.admin-em-toolbar__count{
  margin:0; font-size:15px; font-weight:700; color:var(--ink);
  display:flex; flex-wrap:wrap; align-items:center; gap:8px;
}
.admin-em-toolbar__pend{ background:var(--marigold); color:var(--ink); font-weight:600; }
.admin-em-toolbar__tools{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.admin-em-caducidad--quiet{
  font-size:12px; color:var(--ink-soft); padding:4px 8px;
  border:1px solid var(--line); border-radius:8px; background:var(--paper-alt);
}
.admin-em-caducidad--quiet .btn{ padding:4px 8px; font-size:12px; }
.admin-em-config{ margin:0 0 16px; }
.admin-em-chips{
  display:flex; flex-wrap:wrap; gap:6px; margin:0 0 18px;
}
.admin-em-chip{
  display:inline-flex; align-items:center; padding:4px 10px;
  border-radius:99px; border:1px solid var(--line); background:var(--paper);
  color:var(--ink); text-decoration:none; font-size:12.5px; font-weight:600; line-height:1.3;
}
.admin-em-chip:hover{ border-color:var(--ink); }
.admin-em-chip.is-on{ background:var(--jade); color:#fff; border-color:var(--jade); }
.admin-em-pagehead{ margin:0 0 6px; }
.admin-em-pagehead h2{ margin:0; }
.admin-em-pagehead p{ margin:4px 0 0; font-size:13px; color:var(--ink-soft); }
.admin-em-vacio{
  padding:22px 18px; color:var(--ink-soft); font-size:14px;
  background:var(--paper); border:1px solid var(--line); border-radius:14px;
}
.admin-em-listado{ padding:0; overflow:visible; }
.admin-em-tabla{ width:100%; }
.admin-em-tabla th{ font-size:11px; }
.admin-em-tabla td{ vertical-align:top; padding-top:10px; padding-bottom:10px; }
.admin-em-tabla__name{
  font-weight:700; color:var(--ink); text-decoration:none;
}
.admin-em-tabla__name:hover{ color:var(--jade-deep); }
.admin-em-tabla__sec{
  display:block; margin-top:3px; font-size:12px; color:var(--ink-soft); line-height:1.35;
}
.admin-em-tabla__sec--stripe{ color:var(--jade-deep); font-weight:600; }
.admin-em-tabla__sec--warn{ color:var(--clay); font-weight:600; }
.admin-em-tabla__vence{ display:block; font-weight:700; font-size:13.5px; }
.admin-em-tabla__reno{ font-weight:600; }
.admin-em-tabla__reno.is-stop{ color:var(--clay); }
.admin-em-acts{
  display:flex; flex-direction:column; align-items:flex-start; gap:2px;
  min-width:132px;
}
.admin-em-acts form{ margin:0; }
.admin-em-acts a,
.admin-em-acts button{
  display:block; padding:0; border:0; background:none;
  color:var(--jade-deep); font:inherit; font-size:13px; font-weight:600;
  text-decoration:none; cursor:pointer; text-align:left; line-height:1.45;
}
.admin-em-acts a:hover,
.admin-em-acts button:hover{ text-decoration:underline; }
.admin-em-acts__warn{ color:var(--clay) !important; }
.admin-em-consumo{ min-width:132px; }
.admin-em-consumo span{ display:block; font-size:13px; font-weight:600; }
.admin-em-consumo small{ display:block; margin-top:3px; color:var(--ink-soft); font-size:11px; }
.admin-em-bar{
  height:6px; border-radius:99px; background:var(--paper-alt); overflow:hidden;
  max-width:140px; margin-top:5px;
}
.admin-em-bar span{ display:block; height:100%; background:var(--jade); }
.admin-em-bar.is-warn span{ background:var(--marigold); }
.admin-em-bar.is-hot span{ background:#c45c26; }
.admin-em-bar.is-max span, .admin-em-bar.is-suspendido span{ background:var(--clay); }
.admin-em-bar--wide{ max-width:none; height:8px; margin:8px 0; }
.admin-em-pill.is-ok{ background:var(--jade); color:#fff; }
.admin-em-pill.is-hot{ background:#c45c26; color:#fff; }
.admin-em-pill.is-max{ background:var(--clay); color:#fff; }
.admin-em-pill.is-suspendido{ background:var(--ink); color:#fff; }
.admin-em-overlay{
  position:fixed; inset:0; background:rgba(28,36,32,.38); z-index:80;
  display:flex; justify-content:flex-end;
}
.admin-em-drawer{
  width:min(480px, 100%); height:100%; overflow:auto;
  background:var(--paper); box-shadow:-10px 0 28px rgba(20,28,24,.14);
  padding:20px 22px 40px;
}
.admin-em-modal{
  width:min(480px, calc(100% - 24px)); max-height:calc(100% - 24px); overflow:auto;
  margin:auto; background:var(--paper); border-radius:14px;
  padding:20px 22px 24px; box-shadow:0 12px 40px rgba(20,28,24,.18);
}
.admin-em-drawer__top{
  display:flex; justify-content:space-between; gap:12px; align-items:flex-start;
  margin-bottom:16px;
}
.admin-em-drawer__top h2{ margin:0; font-size:20px; font-family:var(--display); }
.admin-em-kicker{ margin:2px 0 0; font-size:12px; color:var(--ink-soft); }
.admin-em-close{
  display:inline-flex; width:32px; height:32px; align-items:center; justify-content:center;
  border-radius:8px; text-decoration:none; color:var(--ink); font-size:22px; line-height:1;
}
.admin-em-close:hover{ background:var(--paper-alt); }
.admin-em-block{ margin:0 0 20px; padding-bottom:16px; border-bottom:1px solid var(--line); }
.admin-em-block h3{
  margin:0 0 8px; font-size:11px; letter-spacing:.06em; text-transform:uppercase;
  color:var(--ink-soft); font-weight:700;
}
.admin-em-block p{ margin:0 0 6px; font-size:14px; }
.admin-em-consumo-num{ font-weight:700; }
.admin-em-mini{ font-size:12.5px !important; color:var(--ink-soft); }
.admin-em-help{ font-size:12.5px !important; color:var(--ink-soft); margin-bottom:10px !important; }
.admin-em-label{ display:block; margin:10px 0 4px; font-size:12px; font-weight:600; }
.admin-em-block input[type="number"],
.admin-em-block input[type="text"],
.admin-em-block select,
.admin-em-modal input,
.admin-em-modal textarea{
  width:100%; min-height:40px; border:1px solid var(--line); border-radius:10px;
  padding:0 12px; background:var(--white,#fff); font:inherit;
}
.admin-em-modal textarea{ min-height:140px; padding:10px 12px; }
.admin-em-quick{ display:flex; flex-wrap:wrap; gap:6px; margin:8px 0 0; }
.admin-em-quick .btn{ padding:4px 10px; font-size:12px; }
.admin-em-estado-linea{ display:flex; align-items:center; gap:8px; font-weight:600; }
.admin-em-dot{
  width:8px; height:8px; border-radius:50%; background:var(--jade); display:inline-block;
}
.admin-em-dot.is-suspendido{ background:var(--clay); }
.admin-em-btn-warn{ color:var(--clay) !important; }
.admin-em-toolbar .admin-em-btn-warn{
  border-color:transparent; background:transparent; font-size:12px; padding:4px 6px;
}
.admin-em-confirm{
  margin-top:12px; padding:12px; border:1px solid var(--line); border-radius:12px;
  background:var(--paper-alt);
}
.admin-em-confirm p{ margin:0 0 10px; font-size:13.5px; line-height:1.45; }
.admin-em-hist-link{ margin:0 0 8px; }
.admin-em-hist-tools{
  display:flex; flex-wrap:wrap; gap:8px; margin:0 0 14px;
}
.admin-em-hist-tools input[type="search"],
.admin-em-hist-tools select{
  min-height:40px; border:1px solid var(--line); border-radius:10px;
  padding:0 12px; background:var(--paper); font:inherit;
}
.admin-em-hist-tools input[type="search"]{ flex:1 1 200px; }
@media (max-width:700px){
  .admin-em-drawer{ width:100%; }
  .admin-em-modal{ width:calc(100% - 16px); margin:8px; }
  .admin-em-toolbar{ align-items:flex-start; }
  .admin-em-toolbar__tools{ width:100%; }
}

.em-tag-new{
  display:flex; flex-wrap:wrap; align-items:center; gap:8px 10px;
  margin:0 0 14px;
}
.em-tag-new > label[for="em_tag_nombre"]{ font-size:13px; font-weight:600; }
.em-tag-new input[type="text"]{
  min-height:40px; border:1px solid var(--line); border-radius:10px;
  padding:0 12px; background:var(--paper); font:inherit; min-width:180px;
}
.em-tag-swatches{
  display:flex; flex-wrap:wrap; align-items:center; gap:6px 8px;
  flex:1 1 100%;
}
.em-tag-swatch{
  display:inline-flex; align-items:center; cursor:pointer; position:relative;
  margin:0;
}
.em-tag-swatch input{
  position:absolute; opacity:0; width:1px; height:1px; margin:0;
}
.em-tag-swatch__dot{
  width:22px; height:22px; border-radius:50%; display:block;
  border:2px solid rgba(28,43,46,.18); box-sizing:border-box;
}
.em-tag-swatch input:checked + .em-tag-swatch__dot,
.em-tag-swatch input:focus-visible + .em-tag-swatch__dot{
  border-color:var(--ink);
  box-shadow:0 0 0 2px var(--paper), 0 0 0 3px var(--ink);
}
.em-tag-swatch--auto span{
  font-size:12px; font-weight:600; border:1px solid var(--line);
  border-radius:999px; padding:4px 10px; background:var(--paper); color:var(--ink);
}
.em-tag-swatch--auto input:checked + span,
.em-tag-swatch--auto input:focus-visible + span{
  border-color:var(--ink);
  box-shadow:0 0 0 2px var(--paper), 0 0 0 3px var(--ink);
}
.em-tag-list{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin:0 0 14px; }
.em-tag-chip{
  display:inline-flex; align-items:center; gap:4px; border-radius:999px;
  border:1px solid var(--line); background:var(--paper); padding:2px 2px 2px 10px;
  font-size:13px;
}
.em-tag-chip.is-on{ border-color:var(--jade); background:color-mix(in srgb, var(--jade) 12%, var(--paper)); }
.em-tag-chip.has-color a{ color:inherit; }
.em-tag-chip.has-color em,
.em-tag-chip.has-color .em-tag-chip__del button{ color:inherit; opacity:.85; }
.em-tag-chip.has-color.is-on{
  box-shadow:0 0 0 2px var(--paper), 0 0 0 4px var(--ink);
}
.em-tag-chip a{ color:inherit; text-decoration:none; font-weight:600; }
.em-tag-chip em{ font-style:normal; color:var(--ink-soft); font-size:11px; margin-left:2px; }
.em-tag-chip__del{ display:inline; }
.em-tag-chip__del button{
  border:0; background:transparent; cursor:pointer; color:var(--ink-soft);
  font-size:16px; line-height:1; padding:4px 8px;
}
.em-tag-cell{ min-width:160px; }
.em-tag-on, .em-tag-add, .em-inline-act{ display:inline-flex; align-items:center; gap:4px; margin:0 6px 6px 0; }
.em-tag-on button{
  border:1px solid var(--line); background:var(--paper-alt); border-radius:999px;
  padding:2px 8px; font:inherit; font-size:12px; cursor:pointer;
}
.em-tag-on button.has-color{
  font-weight:600;
}
.em-tag-add select{
  min-height:28px; font:inherit; font-size:12px; border:1px solid var(--line); border-radius:8px;
}
.em-tag-add button{
  border:1px solid var(--line); background:var(--paper); border-radius:8px;
  min-width:28px; min-height:28px; cursor:pointer; font-weight:700;
}
.em-tag-picks{ display:flex; flex-wrap:wrap; gap:8px; margin:8px 0 6px; }
.em-tag-pick{
  display:inline-flex; align-items:center; gap:6px; border:1px solid var(--line);
  border-radius:999px; padding:6px 12px; font-size:13px; cursor:pointer;
}
.em-audiencia-count{ margin:8px 0 0; font-size:14px; }
.em-pack{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:0 0 12px;
}
.em-pack__btn{
  display:flex; flex-direction:column; gap:6px; padding:0; overflow:hidden;
}
.em-pack__btn img{ width:100%; height:52px; object-fit:cover; display:block; }
.em-pack__btn span{ font-size:11px; padding:0 6px 6px; color:var(--ink-soft); }
.em-cupon-fields{ margin-top:8px; padding-top:8px; border-top:1px dashed var(--line); }
@media (max-width:700px){
  .em-pack{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* ===== ¿Qué se mueve? (qsm-) — cartelera pública; panel/ficha más abajo ===== */
.home-container.qsm-page,
.qsm-page{
  width:100%;
  max-width:1440px;
  margin-left:auto;
  margin-right:auto;
  padding:18px 24px 48px;
  box-sizing:border-box;
  overflow-x:hidden;
}
.qsm-page-head{ margin:0 0 12px; }
.qsm-page-title{
  font-family:var(--display); font-weight:600; font-size:30px;
  margin:0 0 4px; color:var(--jade-deep); line-height:1.1;
}
.qsm-page-lead{
  margin:0; font-size:13.5px; line-height:1.4; color:var(--ink-soft); max-width:42em;
}

.qsm-page .qsm-dias-wrap{
  display:flex; align-items:center; justify-content:flex-start; gap:8px;
  margin:0 0 10px; min-width:0; max-width:100%;
}
.qsm-page .qsm-dias{
  display:flex; flex-wrap:wrap; align-items:center; gap:7px;
  margin:0; min-width:0; flex:0 1 auto;
}
.qsm-page .qsm-dia,
.qsm-page .qsm-cal-cta{
  display:inline-flex; flex-direction:row; align-items:center; justify-content:center;
  flex:0 0 auto; box-sizing:border-box;
  min-width:min-content; min-height:34px; height:34px;
  padding:0 10px; gap:5px;
  border:1px solid var(--line); border-radius:999px;
  background:var(--paper); color:var(--ink);
  font-family:var(--body); font-size:12px; font-weight:600;
  letter-spacing:.02em; line-height:1; white-space:nowrap;
  text-decoration:none;
}
.qsm-page .qsm-dia:hover,
.qsm-page .qsm-cal-cta:hover{ border-color:var(--jade); color:var(--jade-deep); }
.qsm-page .qsm-dia.is-on,
.qsm-page .qsm-cal-cta.is-on{
  background:var(--jade); border-color:var(--jade); color:var(--white);
}
.qsm-page .qsm-dia.is-on:hover,
.qsm-page .qsm-cal-cta.is-on:hover{ color:var(--white); }
.qsm-page .qsm-dia:focus-visible,
.qsm-page .qsm-cal-cta:focus-within{
  outline:none; box-shadow:0 0 0 3px rgba(47,111,94,.2);
}
.qsm-page .qsm-dia__kicker,
.qsm-page .qsm-dia__dow,
.qsm-page .qsm-dia__num{
  font:inherit; color:inherit; letter-spacing:inherit;
}
.qsm-page .qsm-cal-cta{
  position:relative; overflow:hidden; cursor:pointer;
  flex:0 0 auto; min-width:auto; max-width:none; font-weight:500; background:var(--paper);
}
.qsm-page .qsm-cal-cta .ti{ font-size:15px; line-height:1; }
.qsm-page .qsm-cal-nativo{
  position:absolute; inset:0; opacity:0; width:100%; height:100%;
  border:0; cursor:pointer; font-size:16px;
}

.qsm-chip{
  display:inline-flex; align-items:center; justify-content:center;
  font-family:var(--body); font-weight:500; font-size:13px;
  padding:7px 13px; border:1px solid var(--line); border-radius:999px;
  background:var(--white); color:var(--ink);
  text-decoration:none; min-height:34px; line-height:1.2; white-space:nowrap; flex:0 0 auto;
}
.qsm-chip:hover{ border-color:var(--jade); color:var(--jade-deep); }
.qsm-chip.is-on{ background:var(--jade); border-color:var(--jade); color:var(--white); font-weight:600; }
.qsm-chip.is-on:hover{ color:var(--white); }
.qsm-chip:focus-visible{ outline:none; box-shadow:0 0 0 3px rgba(47,111,94,.2); }

.qsm-page .qsm-chip{
  min-height:28px; padding:4px 11px; font-size:12.5px; font-weight:500;
  background:var(--paper); border-color:var(--line); color:var(--ink);
}
.qsm-page .qsm-chip.is-on{ background:var(--jade); border-color:var(--jade); color:var(--white); font-weight:600; }

.qsm-page .qsm-filtros{ margin:0 0 18px; }
.qsm-page .qsm-filtros-fila{
  display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin:0;
  width:auto; max-width:100%;
}
.qsm-page .qsm-filtros-fila--fecha{ margin:0 0 6px; }
.qsm-page .qsm-filtros-fila--tipos{ margin:0 0 8px; }
.qsm-page .qsm-filtros-fila--controles{
  display:flex; flex-wrap:nowrap; align-items:stretch; gap:8px;
  background:transparent; border:0; border-radius:0; padding:0;
  width:auto; max-width:640px;
}
.qsm-page .qsm-filtros-fila--controles .field{
  position:relative; flex:1 1 auto; margin:0; min-width:0;
}
.qsm-page .qsm-filtros-fila--controles .field:first-of-type{ flex:1 1 240px; }
.qsm-page .qsm-filtros-fila--controles .field:last-of-type{ flex:0 1 220px; }
.qsm-page .qsm-filtros-fila--controles .field label{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}
.qsm-page .qsm-searchbar__lugar .ti{
  position:absolute; left:10px; top:50%; transform:translateY(-50%);
  font-size:15px; line-height:1; color:var(--ink-soft); pointer-events:none; z-index:1;
}
.qsm-page .qsm-filtros-fila--controles .field input,
.qsm-page .qsm-filtros-fila--controles .field select{
  height:34px; border:1px solid var(--line); background:var(--white);
  border-radius:8px; padding:0 12px; font-size:13.5px; color:var(--ink);
}
.qsm-page .qsm-filtros-fila--controles .qsm-searchbar__lugar input{
  padding-left:34px;
}
.qsm-page .qsm-filtros-fila--controles .field input:focus,
.qsm-page .qsm-filtros-fila--controles .field select:focus{
  outline:none; border-color:var(--jade); background:var(--white);
}
.qsm-page .qsm-filtros-fila--controles .btn{
  flex:0 0 auto; width:auto; max-width:none; height:34px;
  padding:0 16px; font-size:13.5px; line-height:34px; text-align:center; border-radius:8px;
}

.qsm-page .qsm-layout{
  display:grid;
  grid-template-columns:minmax(0, 1.72fr) minmax(260px, .28fr);
  gap:28px;
  align-items:start;
  min-width:0;
}
.qsm-page .qsm-main,
.qsm-page .qsm-side{ min-width:0; }

.qsm-page .qsm-vacio{
  max-width:420px; margin:4px 0 0; padding:16px 18px;
  text-align:left; background:var(--white);
  border:1px solid var(--line); border-radius:10px;
}
.qsm-page .qsm-vacio p{ margin:0; font-size:14px; line-height:1.45; color:var(--ink-soft); }
.qsm-page .qsm-vacio__limpiar{
  display:inline-block; margin-top:8px; font-size:13.5px; font-weight:600;
  color:var(--jade-deep); text-decoration:none;
}
.qsm-page .qsm-vacio__limpiar:hover{ color:var(--jade); }

.qsm-page .qsm-mes{ margin:0 0 22px; }
.qsm-page .qsm-mes:last-of-type{ margin-bottom:0; }
.qsm-page .qsm-mes__head{
  display:flex; align-items:baseline; justify-content:space-between;
  gap:8px 16px; flex-wrap:wrap; margin:0 0 10px;
}
.qsm-page .qsm-mes__tit,
.qsm-page .qsm-ondemand__tit{
  font-family:var(--display); font-weight:600; font-size:20px;
  letter-spacing:.04em; text-transform:uppercase;
  margin:0; padding:0; border:0; background:none;
  color:var(--jade-deep); line-height:1.2;
}
.qsm-page .qsm-mes__mas{
  flex:0 0 auto; font-size:13px; font-weight:600;
  color:var(--jade-deep); text-decoration:none; white-space:nowrap;
}
.qsm-page .qsm-mes__mas:hover{ color:var(--jade); }
.qsm-page .qsm-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
  justify-content:start;
  justify-items:stretch;
  align-items:stretch;
  width:100%;
  max-width:100%;
  min-height:0;
}

.qsm-page .qsm-card{
  display:grid; grid-template-columns:45% minmax(0, 1fr); grid-template-rows:minmax(188px, auto);
  align-items:stretch; isolation:isolate;
  height:auto; min-height:188px; max-height:none;
  background:var(--white); border:1px solid var(--line); border-radius:10px;
  overflow:hidden; text-decoration:none; color:inherit;
  box-sizing:border-box; min-width:0; width:100%; max-width:100%;
  box-shadow:none;
}
.qsm-page .qsm-card:hover{ border-color:var(--jade); }
.qsm-page .qsm-card:focus-visible{
  outline:none; box-shadow:0 0 0 3px rgba(47,111,94,.2);
}
.qsm-page .qsm-card__media{
  position:relative; display:block; grid-column:1;
  width:100%; min-width:0; height:100%; max-height:100%;
  background:var(--paper-alt); overflow:hidden; z-index:0;
}
.qsm-page .qsm-card__media img{
  width:100%; height:100%; max-width:none; object-fit:cover; object-position:center; display:block;
}
.qsm-page .qsm-card__media.qsm-media--portada,
.qsm-page .qsm-card__media.qsm-media--buskao{ background:var(--paper-alt); }
.qsm-page .qsm-card__media.qsm-media--portada img,
.qsm-page .qsm-card__media.qsm-media--buskao img{
  object-fit:cover; object-position:center;
}
.qsm-page .qsm-card__body{
  grid-column:2; min-width:0; width:auto; max-width:100%; height:100%;
  padding:8px 10px; display:flex; flex-direction:column; gap:3px;
  box-sizing:border-box; overflow:hidden; z-index:1;
}
.qsm-page .qsm-card__tipo{
  position:static; display:block; z-index:auto;
  font-family:var(--mono); font-size:9.5px; font-weight:600;
  text-transform:uppercase; letter-spacing:.04em;
  color:var(--ink-soft); background:transparent;
  border:0; border-radius:0; padding:0; margin:0;
  white-space:nowrap; max-width:100%; overflow:hidden; text-overflow:ellipsis;
  line-height:1.25; pointer-events:none;
}
.qsm-page .qsm-card__titulo{
  font-family:var(--display); font-size:14.5px; font-weight:600;
  margin:0; line-height:1.2; color:var(--ink);
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; line-clamp:2;
  overflow:hidden; overflow-wrap:anywhere; word-break:break-word;
  min-width:0; max-width:100%; width:100%;
}
.qsm-page .qsm-card__metas{ display:flex; flex-direction:column; gap:2px; min-width:0; max-width:100%; }
.qsm-page .qsm-card__meta{
  display:flex; align-items:center; gap:5px;
  margin:0; font-size:11.5px; line-height:1.25; color:var(--ink-soft);
  min-width:0; max-width:100%;
}
.qsm-page .qsm-card__meta span{
  min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.qsm-page .qsm-card__meta .ti{
  flex:0 0 auto; font-size:13px; line-height:1; color:var(--jade);
}
.qsm-page .qsm-card__precio{
  font-family:var(--body); font-size:13px; font-weight:700;
  letter-spacing:.01em; color:var(--ink);
  background:transparent; border:0; border-radius:0;
  padding:0; margin:1px 0 0; line-height:1.2;
}
.qsm-page .qsm-card__precio--gratis{ color:var(--jade-deep); }
.qsm-page .qsm-card__acciones{
  display:flex; flex-direction:row; flex-wrap:nowrap;
  align-items:stretch; gap:8px;
  margin-top:auto; padding-top:8px;
}
.qsm-page .qsm-card__acciones--doble{ display:flex; }
.qsm-page .qsm-card__acciones .btn{
  flex:1 1 0; min-width:0; width:auto;
  display:inline-flex; align-items:center; justify-content:center;
  box-sizing:border-box;
  min-height:42px; height:auto;
  padding:10px 12px;
  font-family:var(--body); font-size:13px; font-weight:600; line-height:1.25;
  text-align:center; text-decoration:none; white-space:normal;
  border-radius:7px;
}
.qsm-page .qsm-card__acciones .btn-marigold{
  background:var(--marigold); color:var(--ink); border:1px solid var(--marigold);
}
.qsm-page .qsm-card__acciones .btn-marigold:hover{
  background:var(--marigold-deep); border-color:var(--marigold-deep); color:var(--ink);
}
.qsm-page .qsm-card__acciones .btn-ghost{
  background:var(--white); color:var(--ink); border:1px solid var(--ink);
}
.qsm-page .qsm-card__acciones .btn-ghost:hover{
  background:var(--paper-alt); color:var(--ink);
}
.qsm-page .qsm-card.qsm-card--taller-presencial{
  border-color:var(--jade);
  box-shadow:inset 0 0 0 1px var(--jade);
}
.qsm-page .qsm-card.qsm-card--taller-presencial:hover{
  border-color:var(--jade-deep);
  box-shadow:inset 0 0 0 1px var(--jade-deep);
}
.qsm-page .qsm-card--taller-presencial .qsm-card__acciones .btn-jade,
.qsm-page .qsm-card--taller-presencial .qsm-card__acciones .btn-marigold{
  background:var(--jade); color:var(--white); border:1px solid var(--jade);
}
.qsm-page .qsm-card--taller-presencial .qsm-card__acciones .btn-jade:hover,
.qsm-page .qsm-card--taller-presencial .qsm-card__acciones .btn-marigold:hover{
  background:var(--jade-deep); border-color:var(--jade-deep); color:var(--white);
}

.qsm-page .qsm-ondemand{ margin:0 0 16px; padding:0; }
.qsm-page .qsm-ondemand__tit{ font-size:18px; margin:0 0 4px; }
.qsm-page .qsm-ondemand__lead{
  margin:0 0 10px; font-size:12.5px; line-height:1.4; color:var(--ink-soft);
}
.qsm-page .qsm-ondemand__mas{
  display:inline-block; margin-top:10px;
  font-size:13px; font-weight:600;
  color:var(--jade-deep); text-decoration:none;
}
.qsm-page .qsm-ondemand__mas:hover{ color:var(--jade); }
.qsm-page #qsmAprendeTodos{ scroll-margin-top:24px; }
.qsm-page .qsm-cursos{
  display:flex; flex-direction:column; align-items:stretch; gap:10px;
  width:100%; max-width:100%;
}
.qsm-page .qsm-curso{
  display:flex; flex-direction:column; align-items:stretch;
  width:100%; max-width:100%; box-sizing:border-box;
  min-height:0; height:auto; background:var(--white);
  border:1px solid var(--line); border-radius:10px; overflow:hidden;
  min-width:0;
}
.qsm-page .qsm-curso__media{
  display:block; flex:none; width:100%; height:158px;
  background:var(--paper-alt); overflow:hidden;
}
.qsm-page .qsm-curso__media img{
  width:100%; height:100%; object-fit:cover; object-position:center; display:block;
}
.qsm-page .qsm-curso__body{
  flex:1 1 auto; min-width:0; padding:14px 14px 16px;
  display:flex; flex-direction:column; gap:6px;
}
.qsm-page .qsm-curso__tipo{
  align-self:flex-start;
  font-family:var(--mono); font-size:9.5px; font-weight:600;
  text-transform:uppercase; letter-spacing:.04em;
  color:var(--jade-deep); background:rgba(47,111,94,.1);
  border-radius:999px; padding:2px 7px; white-space:nowrap;
}
.qsm-page .qsm-curso__titulo{
  font-family:var(--display); font-size:16px; font-weight:600;
  margin:0; line-height:1.25; color:var(--ink);
  overflow:visible; white-space:normal;
}
.qsm-page .qsm-curso__ritmo,
.qsm-page .qsm-curso__negocio{
  margin:0; font-size:12.5px; line-height:1.4; color:var(--ink-soft);
  overflow:visible; text-overflow:unset; white-space:normal;
  word-wrap:break-word;
}
.qsm-page .qsm-curso__ver.btn,
.qsm-page .qsm-curso a.qsm-curso__ver{
  margin-top:auto;
  align-self:stretch;
  display:inline-flex; align-items:center; justify-content:center;
  box-sizing:border-box; width:100%;
  min-height:42px; height:auto;
  padding:10px 12px;
  font-family:var(--body); font-size:13px; font-weight:600; line-height:1.25;
  text-align:center; text-decoration:none; white-space:normal;
  border-radius:7px;
  background:var(--marigold); color:var(--ink); border:1px solid var(--marigold);
}
.qsm-page .qsm-curso__ver.btn:hover,
.qsm-page .qsm-curso a.qsm-curso__ver:hover{
  background:var(--marigold-deep); border-color:var(--marigold-deep); color:var(--ink);
}

.qsm-page .qsm-cta{
  padding:16px 16px 18px;
  background:var(--white);
  border:1px solid var(--line);
  border-radius:10px;
}
.qsm-page .qsm-cta__tit{
  font-family:var(--display); font-weight:600; font-size:20px;
  margin:0 0 6px; color:var(--jade-deep); line-height:1.2;
}
.qsm-page .qsm-cta__lead{
  margin:0 0 12px; font-size:13px; line-height:1.4; color:var(--ink-soft);
}
.qsm-page .qsm-cta__lista{
  list-style:none; margin:0 0 14px; padding:0;
  display:flex; flex-direction:column; gap:7px;
}
.qsm-page .qsm-cta__lista li{
  display:flex; align-items:flex-start; gap:8px;
  font-size:12.5px; line-height:1.3; color:var(--ink);
}
.qsm-page .qsm-cta__lista .ti{
  flex:0 0 auto; margin-top:1px; font-size:14px; color:var(--jade);
}
.qsm-page .qsm-cta__btn{
  display:block; width:100%; text-align:center;
  padding:10px 14px; font-size:14px; font-weight:700;
  border-radius:8px; box-sizing:border-box;
}

.qsm-detalle__media.qsm-media--portada,
.qsm-detalle__media.qsm-media--buskao,
.qsm-ficha-item__foto.qsm-media--portada,
.qsm-ficha-item__foto.qsm-media--buskao{ background:var(--paper); }
.qsm-detalle__media.qsm-media--portada img,
.qsm-detalle__media.qsm-media--buskao img,
.qsm-ficha-item__foto.qsm-media--portada img,
.qsm-ficha-item__foto.qsm-media--buskao img{
  object-fit:contain; object-position:center;
}

.qsm-detalle{ padding:28px 0 56px; max-width:760px; }
.qsm-detalle__media{
  aspect-ratio:4/3; max-width:360px; background:var(--paper-alt); border-radius:10px; overflow:hidden; margin:0 0 18px;
}
.qsm-detalle__media img{ width:100%; height:100%; object-fit:cover; }
.qsm-detalle__tipo{
  font-family:var(--mono); font-size:11px; text-transform:uppercase; letter-spacing:.05em;
  color:var(--ink-soft); margin:0 0 8px;
}
.qsm-detalle__titulo{
  font-family:var(--display); font-size:30px; font-weight:600; margin:0 0 10px; line-height:1.2;
}
.qsm-badge-cancelado{
  display:inline-block; font-family:var(--mono); font-size:12px; font-weight:700;
  letter-spacing:.06em; text-transform:uppercase;
  background:var(--clay); color:var(--white); border-radius:10px;
  padding:4px 10px; margin:0 0 8px;
}
.qsm-cancelado-msg{ margin:0 0 14px; color:var(--ink-soft); }
.qsm-detalle__cuando,
.qsm-detalle__donde,
.qsm-detalle__precio{ margin:0 0 8px; font-size:15px; }
.qsm-detalle__desc{ margin:18px 0; font-size:15.5px; line-height:1.6; white-space:pre-wrap; }
.qsm-detalle__acciones{ display:flex; flex-wrap:wrap; gap:10px; margin:20px 0 28px; }
.qsm-organizado{
  border-top:1px solid var(--line); padding:20px 0; margin:0 0 16px;
}
.qsm-organizado h2{
  font-family:var(--mono); font-size:11px; text-transform:uppercase; letter-spacing:.06em;
  color:var(--ink-soft); margin:0 0 10px;
}
.qsm-organizado__fila{ display:flex; align-items:center; gap:10px; margin:0 0 12px; }
.qsm-organizado__logo{
  width:40px; height:40px; object-fit:cover; border-radius:8px; border:1px solid var(--line);
}
.qsm-organizado__nombre{ margin:0; font-weight:600; }
.qsm-compartir{ margin-bottom:24px; }
.qsm-form-volver{ margin:0 0 16px; }
.qsm-form-volver a{ color:var(--jade-deep); font-weight:600; text-decoration:none; font-size:14px; }
.qsm-help{ margin:6px 0 0; font-size:12.5px; color:var(--ink-soft); }
.qsm-form-sec{
  background:var(--white); border:1px solid var(--line); border-radius:10px;
  padding:18px 20px 20px; margin:0 0 16px;
}
.qsm-form-sec h2{
  font-family:var(--mono); font-size:11px; text-transform:uppercase; letter-spacing:.06em;
  color:var(--ink-soft); margin:0 0 14px; font-weight:600;
}
.qsm-check{ display:inline-flex; align-items:center; gap:8px; font-size:14px; cursor:pointer; margin-right:16px; }
.qsm-radio-row{ display:flex; flex-wrap:wrap; gap:8px 16px; }
.qsm-img-preview{
  aspect-ratio:4/3; max-width:280px; background:var(--paper-alt);
  border:1px solid var(--line); border-radius:10px; overflow:hidden; margin-bottom:10px;
}
.qsm-img-preview img{ width:100%; height:100%; object-fit:cover; }
.qsm-form-acciones{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.qsm-panel-head{
  display:flex; align-items:flex-start; justify-content:space-between; gap:16px;
  margin-bottom:18px; flex-wrap:wrap;
}
.qsm-panel-title{ font-family:var(--display); font-size:22px; margin:0 0 6px; }
.qsm-panel-lead{ margin:0; color:var(--ink-soft); font-size:14.5px; max-width:640px; }
.qsm-panel-tabs{ display:flex; flex-wrap:wrap; gap:8px; margin:0 0 18px; }
.qsm-panel-tabs .qsm-chip{
  padding:7px 13px; border-radius:20px; min-height:36px;
  border:1px solid var(--line); background:var(--paper-alt); color:var(--ink); font-weight:600;
}
.qsm-panel-tabs .qsm-chip:hover{ border-color:var(--jade); color:var(--jade-deep); }
.qsm-panel-tabs .qsm-chip.is-on{ background:var(--jade); border-color:var(--jade); color:var(--white); }
.qsm-panel-tabs .qsm-chip.is-on:hover{ color:var(--white); }
.qsm-panel-vacio{ padding:20px; color:var(--ink-soft); margin:0; }
.qsm-panel-lista{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px; }
.qsm-panel-card{
  display:flex; align-items:stretch; gap:14px;
  background:var(--white); border:1px solid var(--line); border-radius:10px;
  padding:12px;
}
.qsm-panel-card__foto{
  width:80px; flex-shrink:0; aspect-ratio:4/3; overflow:hidden;
  border-radius:8px; background:var(--paper-alt);
}
.qsm-panel-card__foto img{ width:100%; height:100%; object-fit:cover; }
.qsm-panel-card__cuerpo{ flex:1; min-width:0; }
.qsm-panel-card__meta{
  margin:0 0 4px; font-family:var(--mono); font-size:11px;
  text-transform:uppercase; letter-spacing:.04em; color:var(--ink-soft);
}
.qsm-panel-card__titulo{ font-family:var(--display); font-size:17px; margin:0 0 4px; }
.qsm-panel-card__sub{ margin:0 0 8px; font-size:13.5px; color:var(--ink-soft); }
.qsm-panel-card__estado{ margin:0; display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.qsm-panel-card__acciones{ display:flex; flex-wrap:wrap; gap:6px; align-items:flex-start; align-content:flex-start; }
.qsm-inline-form{ display:inline; }
.qsm-motivo-retiro{ font-size:12.5px; color:var(--ink-soft); }
.status-pill.qsm-estado--borrador{ background:var(--paper-alt); color:var(--ink-soft); }
.status-pill.qsm-estado--publicada{ background:var(--jade); color:var(--white); }
.status-pill.qsm-estado--cancelada{ background:var(--clay); color:var(--white); }
.status-pill.qsm-estado--retirada{ background:var(--ink); color:var(--white); }

.ficha-actividades-ancla{ scroll-margin-top:96px; }
.qsm-ficha-actividades.ficha-cartelera{
  scroll-margin-top:96px;
  height:auto !important;
  min-height:0 !important;
  max-height:none;
  flex:0 0 auto;
  align-self:start;
  padding:14px 16px 12px;
}
.ficha-cartelera__head{ margin:0 0 10px; }
.ficha-cartelera__head h3{
  font-family:var(--display); font-weight:700; font-size:1.2rem;
  margin:0; color:var(--ink); line-height:1.2;
}
.ficha-cartelera .catalogo-billboard-carousel{ min-width:0; }
.ficha-cartelera .catalogo-billboard--public{
  --catalogo-gap:12px;
  --catalogo-card-w:156px;
  align-items:stretch;
  padding:0;
}
.ficha-cartelera .catalogo-poster--public{
  display:flex; flex-direction:column;
  gap:8px; height:auto;
}
.ficha-cartelera .catalogo-poster-art{
  aspect-ratio:1/1; flex:0 0 auto;
}
.ficha-cartelera .catalogo-poster-art img{
  width:100%; height:100%; object-fit:cover; object-position:center;
}
.ficha-cartelera .catalogo-poster-body{
  display:flex; flex-direction:column; gap:2px; flex:1 1 auto; min-height:0;
}
.ficha-cartelera .catalogo-poster-title{
  font-size:.95rem; min-height:0; margin:0 0 2px;
}
.ficha-cartelera__dato{
  margin:0; font-size:12px; line-height:1.35; color:var(--ink);
}
.ficha-cartelera__lbl{
  font-weight:600; color:var(--ink-soft);
}
.ficha-cartelera__dato--is-precio{
  font-weight:700; color:var(--jade-deep);
}
.ficha-cartelera__acciones{
  display:flex; flex-wrap:wrap; align-items:stretch; gap:6px;
  margin-top:auto; padding-top:8px;
}
.ficha-cartelera__acciones--doble{ display:flex; }
.ficha-cartelera__btn{
  display:inline-flex; align-items:center; justify-content:center;
  box-sizing:border-box;
  flex:1 1 calc(50% - 6px);
  min-width:min(100%, 8.5rem);
  min-height:44px; height:auto;
  padding:7px 8px; border-radius:8px; border:1.5px solid transparent;
  font-size:11.5px; font-weight:700; line-height:1.25;
  text-align:center; text-decoration:none;
}
.ficha-cartelera__btn--cal{
  background:var(--paper);
  color:var(--jade-deep);
  border-color:var(--jade);
}
.ficha-cartelera__btn--cal:hover{
  background:color-mix(in srgb, var(--paper) 72%, var(--jade));
  color:var(--jade-deep);
}
.ficha-cartelera__btn--biz{
  background:var(--marigold);
  color:var(--ink);
  border-color:var(--marigold);
}
.ficha-cartelera__btn--biz:hover{
  background:var(--marigold-deep);
  border-color:var(--marigold-deep);
  color:var(--ink);
}
@media (min-width:761px){
  .ficha-cartelera .catalogo-billboard--public{
    --catalogo-card-w:min(186px, calc((100% - (3 * var(--catalogo-gap))) / 4));
  }
}
@media (max-width:760px){
  .qsm-ficha-actividades.ficha-cartelera{ padding:12px 12px 10px; }
  .ficha-cartelera .catalogo-billboard--public{ --catalogo-card-w:156px; }
}
.profile-ficha .contact-card#contacto{ scroll-margin-top:96px; }

@media (max-width: 1199px){
  .qsm-page-title{ font-size:28px; }
  .qsm-page .qsm-layout{ grid-template-columns:minmax(0, 1fr); gap:22px; }
  .qsm-page .qsm-grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .qsm-page .qsm-cursos{
    display:grid; grid-template-columns:repeat(auto-fill, minmax(260px, 1fr)); gap:10px;
  }
}
@media (max-width: 760px){
  .home-container.qsm-page,
  .qsm-page{ padding:16px 14px 40px; }
  .qsm-page-head{ margin:0 0 10px; }
  .qsm-page-title{ font-size:26px; }
  .qsm-page .qsm-dias{
    flex:1 1 auto; min-width:0; flex-wrap:nowrap;
    overflow-x:auto; overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    -ms-overflow-style:none;
  }
  .qsm-page .qsm-dias::-webkit-scrollbar{ display:none; width:0; height:0; }
  .qsm-page .qsm-dia{ flex:0 0 auto; min-width:70px; min-height:32px; height:32px; padding:0 9px; font-size:11.5px; }
  .qsm-page .qsm-cal-cta{ flex:0 0 auto; min-width:auto; min-height:32px; height:32px; padding:0 9px; font-size:11.5px; }
  .qsm-page .qsm-filtros{ margin:0 0 14px; }
  .qsm-page .qsm-filtros-fila--fecha,
  .qsm-page .qsm-filtros-fila--tipos{
    flex-wrap:nowrap;
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    -ms-overflow-style:none;
  }
  .qsm-page .qsm-filtros-fila--fecha::-webkit-scrollbar,
  .qsm-page .qsm-filtros-fila--tipos::-webkit-scrollbar{ display:none; width:0; height:0; }
  .qsm-page .qsm-filtros-fila--controles{ flex-wrap:wrap; }
  .qsm-page .qsm-filtros-fila--controles .field:first-of-type,
  .qsm-page .qsm-filtros-fila--controles .field:last-of-type{
    flex:1 1 100%; width:100%; max-width:none; min-width:0;
  }
  .qsm-page .qsm-filtros-fila--controles .btn{ width:100%; max-width:none; flex:1 1 100%; height:40px; line-height:40px; }
  .qsm-page .qsm-mes{ margin:0 0 20px; }
  .qsm-page .qsm-mes__head{ align-items:flex-start; gap:4px 12px; }
  .qsm-page .qsm-mes__tit{ font-size:18px; }
  .qsm-page .qsm-mes__mas{ font-size:12.5px; white-space:nowrap; }
  .qsm-page .qsm-grid{ grid-template-columns:minmax(0, 1fr); }
  .qsm-page .qsm-cursos{ grid-template-columns:minmax(0, 1fr); }
  .qsm-page .qsm-card{ height:auto; min-height:154px; max-height:none; grid-template-rows:minmax(154px, auto); }
  .qsm-page .qsm-card__acciones{ gap:8px; }
  .qsm-page .qsm-card__acciones .btn{ min-height:42px; padding:10px 10px; font-size:12.5px; }
  .qsm-page .qsm-ondemand{ margin:0 0 14px; }
  .qsm-page .qsm-ondemand__tit{ font-size:18px; }
  .qsm-page .qsm-ondemand__mas{ font-size:12.5px; }
  .qsm-detalle__titulo{ font-size:24px; }
  .qsm-panel-head{ flex-direction:column; }
  .qsm-panel-crear{ width:100%; text-align:center; }
  .qsm-panel-card{ flex-direction:column; }
  .qsm-panel-card__foto{ width:80px; }
}

/* ======================================================
   Admin Paquetes Fundador — densidad / layout (solo esta página)
   ====================================================== */
.fundador-admin{
  min-width:0;
}
.fundador-admin-stats.stat-cards{
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:10px;
  margin:0 0 12px;
}
.fundador-admin-stats .stat-card{
  padding:10px 12px;
  min-width:0;
}
.fundador-admin-stats .stat-card .num{
  font-size:24px;
  line-height:1.15;
}
.fundador-admin-stats .stat-card .lbl{
  margin-top:2px;
}
.fundador-admin-planes{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
  align-items:stretch;
  margin:0 0 10px;
}
.fundador-admin-plan.admin-panel-card{
  display:flex;
  flex-direction:column;
  height:100%;
  margin-bottom:0;
  min-width:0;
}
.fundador-admin-plan .admin-panel-head{
  padding:10px 14px;
}
.fundador-admin-plan-body{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  padding:10px 14px 14px;
  min-width:0;
}
.fundador-admin-plan .fundador-incluye{
  margin:0 0 10px;
}
.fundador-admin-plan .fundador-incluye li{
  padding:0 0 3px 16px;
  line-height:1.35;
}
.fundador-admin-plan .fundador-incluye li:first-child{
  padding:0 0 8px;
  margin:0 0 6px;
  font-family:var(--display);
  font-size:20px;
  font-weight:700;
  line-height:1.2;
  color:var(--ink);
  border-bottom:1px solid var(--line);
}
.fundador-admin-plan .fundador-incluye li:first-child::before{
  content:none;
}
.fundador-admin-plan form{
  margin-top:auto;
}
.fundador-admin .fundador-mas{
  margin:0 0 10px;
  padding:10px 14px;
}
.fundador-admin-alertas.admin-panel-card{
  margin-bottom:0;
}
.fundador-admin-alertas .admin-panel-head{
  padding:10px 14px;
}
.fundador-admin-alertas-body{
  padding:8px 14px 12px;
}
@media (max-width:900px){
  .fundador-admin-stats.stat-cards{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
@media (max-width:640px){
  .fundador-admin-planes{
    grid-template-columns:minmax(0, 1fr);
  }
}

/* ======================================================
   Densidad visual — 5 páginas admin (solo estas)
   Pasarelas, Logs, Historial CMS, Config sitio, Menú/footer
   ====================================================== */
.pasarelas-admin,
.logs-admin,
.cms-hist-admin,
.config-sitio-admin,
.menu-footer-admin{
  min-width:0;
}
.pasarelas-admin .admin-panel-card,
.logs-admin .admin-panel-card,
.cms-hist-admin .admin-panel-card,
.config-sitio-admin .admin-panel-card,
.menu-footer-admin .admin-panel-card{
  margin:0 0 12px;
  border-radius:10px;
}
.pasarelas-admin .admin-panel-head,
.logs-admin .admin-panel-head,
.cms-hist-admin .admin-panel-head{
  padding:10px 16px;
}
.pasarelas-admin .field,
.menu-footer-admin .field{
  min-width:0;
  margin:0 0 8px;
}
.pasarelas-admin .field label,
.menu-footer-admin .field label{
  margin-bottom:4px;
}
.pasarelas-admin .field input,
.pasarelas-admin .field select,
.pasarelas-admin .field textarea,
.menu-footer-admin .field input,
.menu-footer-admin .menu-row input:not([type="checkbox"]),
.menu-footer-admin .menu-row select,
.menu-footer-admin .footer-row input:not([type="checkbox"]),
.menu-footer-admin .footer-row select{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  min-width:0;
  min-height:40px;
  padding:8px 12px;
  font-size:14px;
  line-height:1.25;
}
.pasarelas-admin .field textarea{
  min-height:64px;
  height:auto;
  resize:vertical;
}

/* --- Pasarelas --- */
.pasarelas-admin-stats{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:10px;
  margin:0 0 14px;
}
.pasarelas-admin-stat{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:10px;
  padding:12px 14px;
  min-width:0;
}
.pasarelas-admin-stat-n{
  display:block;
  font-family:var(--display);
  font-size:22px;
  line-height:1.15;
  color:var(--jade-deep);
  font-weight:700;
}
.pasarelas-admin-stat-l{
  display:block;
  margin-top:2px;
  color:var(--ink-soft);
  font-size:13px;
  line-height:1.35;
}
.pasarelas-admin-howto{
  background:var(--paper-alt);
  margin-bottom:16px;
}
.pasarelas-admin-howto-sum{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 16px;
  cursor:pointer;
  list-style:none;
}
.pasarelas-admin-howto-sum::-webkit-details-marker{ display:none; }
.pasarelas-admin-howto-tit{
  font-family:var(--display);
  font-size:16px;
  color:var(--ink);
}
.pasarelas-admin-howto-ver,
.pasarelas-admin-howto-ocultar{
  flex-shrink:0;
  font-size:13px;
  color:var(--jade-deep);
  font-weight:600;
}
.pasarelas-admin-howto-ocultar{ display:none; }
.pasarelas-admin-howto[open] .pasarelas-admin-howto-ver{ display:none; }
.pasarelas-admin-howto[open] .pasarelas-admin-howto-ocultar{ display:inline; }
.pasarelas-admin-howto-body{ padding:0 16px 14px; }
.pasarelas-admin-howto-body code{ word-break:break-all; }
.pasarelas-admin-intro-p{
  margin:0 0 6px;
  font-size:13.5px;
  color:var(--ink-soft);
  line-height:1.5;
}
.pasarelas-admin-intro-p--last{ margin:0; }
.pasarelas-admin-grupo{ margin:0 0 18px; }
.pasarelas-admin-grupo-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  margin:0 0 10px;
}
.pasarelas-admin-grupo-tit{
  margin:0;
  font-family:var(--display);
  font-size:15px;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--jade-deep);
}
.pasarelas-admin-grupo-meta{
  font-size:13px;
  color:var(--ink-soft);
}
.pasarelas-admin-catalogo-lead{
  padding:0 16px;
  margin:8px 0;
  font-size:13px;
  color:var(--ink-soft);
}
.pasarelas-admin-catalogo-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(220px, 1fr));
  gap:10px;
  padding:0 16px 14px;
}
.pasarelas-admin-catalogo-card{
  border:1px solid var(--line);
  border-radius:10px;
  padding:12px;
  background:var(--white);
}
.pasarelas-admin-catalogo-nom{
  display:block;
  font-size:14px;
}
.pasarelas-admin-catalogo-meta{
  font-size:11px;
  color:var(--ink-soft);
}
.pasarelas-admin-catalogo-desc{
  font-size:12.5px;
  color:var(--ink-soft);
  margin:6px 0;
  line-height:1.4;
}
.pasarelas-admin-catalogo-campos{
  font-size:11.5px;
  margin:0 0 8px;
  line-height:1.4;
}
.pasarelas-admin-catalogo-btn{
  width:100%;
  font-size:12.5px;
  padding:8px 12px;
}
.pasarelas-admin-vacio{
  padding:16px;
}
.pasarelas-admin-vacio p{
  margin:0;
  color:var(--ink-soft);
  font-size:14px;
}
.pasarelas-admin-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:10px;
  align-items:stretch;
}
.pasarelas-admin-card.admin-panel-card{
  display:flex;
  flex-direction:column;
  height:100%;
  margin-bottom:0;
  min-width:0;
  overflow:visible;
  background:var(--white);
}
.pasarelas-admin-card--activo{
  border-color:color-mix(in srgb, var(--jade) 28%, var(--line));
}
.pasarelas-admin-card--inactivo{
  background:color-mix(in srgb, var(--paper) 55%, var(--white));
}
.pasarelas-admin-card[open]{
  grid-column:1 / -1;
  background:var(--white);
}
.pasarelas-admin-card-sum{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 12px;
  min-height:100%;
  cursor:pointer;
  list-style:none;
}
.pasarelas-admin-card-sum::-webkit-details-marker{ display:none; }
.pasarelas-admin-card-lead{
  min-width:0;
  flex:1;
}
.pasarelas-admin-card-title-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
}
.pasarelas-admin-card-nom{
  margin:0;
  font-family:var(--display);
  font-size:16px;
  font-weight:600;
  color:var(--ink);
}
.pasarelas-admin-card-meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
  margin:6px 0 0;
  font-size:13px;
  color:var(--ink-soft);
}
.pasarelas-admin-card-desc{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  margin:6px 0 0;
  font-size:13px;
  line-height:1.4;
  color:var(--ink-soft);
}
.pasarelas-admin-card-flags{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
  margin-top:8px;
}
.pasarelas-admin-badge{
  display:inline-flex;
  align-items:center;
  padding:2px 8px;
  border-radius:999px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.03em;
  text-transform:uppercase;
  line-height:1.4;
}
.pasarelas-admin-badge--activo{
  background:var(--jade);
  color:var(--white);
}
.pasarelas-admin-badge--inactivo{
  background:#8A8A8A;
  color:var(--white);
}
.pasarelas-admin-badge--manual{
  background:var(--paper-alt);
  color:var(--ink-soft);
  border:1px solid var(--line);
  font-weight:600;
}
.pasarelas-admin-badge--auto{
  background:color-mix(in srgb, var(--jade) 14%, var(--white));
  color:var(--jade-deep);
  border:1px solid color-mix(in srgb, var(--jade) 28%, var(--line));
  font-weight:600;
}
.pasarelas-admin-badge--test{
  background:color-mix(in srgb, var(--marigold) 28%, var(--white));
  color:#8A5A00;
  border:1px solid color-mix(in srgb, var(--marigold) 55%, var(--line));
}
.pasarelas-admin-badge--live{
  background:color-mix(in srgb, var(--clay) 16%, var(--white));
  color:var(--clay);
  border:1px solid color-mix(in srgb, var(--clay) 40%, var(--line));
}
.pasarelas-admin-flag{
  font-size:12.5px;
  color:var(--jade-deep);
}
.pasarelas-admin-config-btn{
  flex-shrink:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:8px 14px;
  border:1px solid var(--jade);
  border-radius:8px;
  background:var(--white);
  color:var(--jade-deep);
  font-size:13.5px;
  font-weight:600;
  white-space:nowrap;
}
.pasarelas-admin-card[open] .pasarelas-admin-config-btn{
  background:var(--paper-alt);
  border-color:var(--line);
  color:var(--ink);
}
.pasarelas-admin-config-cerrar{ display:none; }
.pasarelas-admin-card[open] .pasarelas-admin-config-abrir{ display:none; }
.pasarelas-admin-card[open] .pasarelas-admin-config-cerrar{ display:inline; }
.pasarelas-admin-card-body{
  padding:0 16px 16px;
  border-top:1px solid var(--line);
}
.pasarelas-admin-int{
  padding:10px 0 0;
  margin:0 0 8px;
  font-size:13px;
  color:var(--ink-soft);
  line-height:1.45;
}
.pasarelas-admin-form{
  padding:8px 0 0;
  max-width:none;
}
.pasarelas-admin .field input[type="checkbox"]{
  width:auto;
  min-width:0;
  min-height:0;
  padding:0;
  margin-right:6px;
  vertical-align:middle;
}
.pasarelas-admin-secret{
  display:flex;
  align-items:center;
  gap:8px;
}
.pasarelas-admin-secret-field{
  position:relative;
  flex:1;
  min-width:0;
}
.pasarelas-admin-secret-input{
  width:100%;
  font-family:var(--mono, ui-monospace, Consolas, monospace);
}
.pasarelas-admin-secret-mask{
  position:absolute;
  left:1px;
  top:1px;
  bottom:1px;
  right:1px;
  display:flex;
  align-items:center;
  padding:0 12px;
  background:var(--white);
  color:var(--ink);
  font-family:var(--mono, ui-monospace, Consolas, monospace);
  font-size:14px;
  pointer-events:none;
  overflow:hidden;
  white-space:nowrap;
}
.pasarelas-admin-secret.is-revealed .pasarelas-admin-secret-mask{ display:none; }
.pasarelas-admin-secret-toggle{
  flex-shrink:0;
  min-height:40px;
  padding:8px 12px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--paper-alt);
  color:var(--ink);
  font-size:13px;
  font-weight:600;
  cursor:pointer;
}
.pasarelas-admin-secret-toggle:hover{
  border-color:var(--jade);
  color:var(--jade-deep);
}
.pasarelas-admin-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  padding:8px 0 4px;
}
.pasarelas-admin-avanzada{
  margin-top:10px;
  padding-top:10px;
  border-top:1px dashed var(--line);
}
.pasarelas-admin-avanzada > summary{
  cursor:pointer;
  color:var(--ink-soft);
  font-size:13px;
  font-weight:600;
  list-style:none;
}
.pasarelas-admin-avanzada > summary::-webkit-details-marker{ display:none; }
.pasarelas-admin-avanzada[open] > summary{ margin-bottom:8px; }
.pasarelas-admin-quitar-form{ display:none; }
.pasarelas-admin-quitar-btn{
  font-size:13px;
  color:var(--clay);
  border-color:color-mix(in srgb, var(--clay) 35%, var(--line));
}

/* --- Logs de auditoría / historial de actividad --- */
.logs-admin-flash{ margin:0 0 12px; }
.logs-admin-stats{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:8px;
  margin:0 0 12px;
}
.logs-admin-stat{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:8px;
  padding:8px 12px;
  min-width:0;
  border-top:2px solid var(--jade);
}
.logs-admin-stat:nth-child(2){ border-top-color:var(--marigold); }
.logs-admin-stat:nth-child(3){ border-top-color:var(--ink-soft); }
.logs-admin-stat:nth-child(4){ border-top-color:var(--clay); }
.logs-admin-stat-n{
  display:block;
  font-family:var(--display);
  font-size:18px;
  line-height:1.15;
  color:var(--jade-deep);
  font-weight:700;
}
.logs-admin-stat-l{
  display:block;
  margin-top:2px;
  color:var(--ink-soft);
  font-size:11.5px;
  line-height:1.3;
}
.logs-admin-filtros-form{
  display:flex;
  flex-wrap:nowrap;
  align-items:flex-end;
  gap:8px;
  padding:10px 14px 12px;
}
.logs-admin-filtro-lbl,
.cms-hist-admin-filtro-lbl{
  display:block;
  font-size:12.5px;
  color:var(--ink-soft);
  margin-bottom:4px;
}
.logs-admin-filtros-form input[type="date"],
.logs-admin-filtros-form input[type="search"],
.logs-admin-filtros-form select{
  min-height:36px;
  padding:6px 10px;
  font-size:13.5px;
  max-width:100%;
  box-sizing:border-box;
}
.logs-admin-filtros-form > div{ min-width:0; }
.logs-admin-filtros-form select{ min-width:0; max-width:11em; }
.logs-admin-filtro-buscar{ flex:1 1 auto; min-width:8em; }
.logs-admin-filtro-buscar input{ width:100%; min-width:0; }
.logs-admin-filtros-form .btn{ flex-shrink:0; }
.logs-admin-borrar{ white-space:nowrap; }
.logs-admin-lista .admin-panel-head form{ flex-shrink:0; }
.logs-admin .logs-admin-lista.admin-panel-card{ overflow:visible; }
.logs-admin-tabla-wrap{ overflow:visible; max-width:100%; }
.logs-admin-tabla.admin-table{
  min-width:0;
  width:100%;
  table-layout:auto;
}
.logs-admin-tabla th,
.logs-admin-tabla td{
  padding:9px 12px;
  font-size:13.5px;
  vertical-align:middle;
}
.logs-admin-tabla thead th{
  font-size:11px;
  padding:8px 12px;
  vertical-align:middle;
  white-space:nowrap;
}
.logs-admin-tabla th:nth-child(1),
.logs-admin-tabla td:nth-child(1){
  width:7.2rem;
  white-space:nowrap;
}
.logs-admin-tabla th:nth-child(2),
.logs-admin-tabla td:nth-child(2){
  width:12rem;
  white-space:nowrap;
}
.logs-admin-tabla th:nth-child(3),
.logs-admin-tabla td:nth-child(3){
  width:11rem;
}
.logs-admin-tabla th:nth-child(4),
.logs-admin-tabla td:nth-child(4){ width:auto; }
.logs-admin-tabla th:nth-child(5),
.logs-admin-tabla td:nth-child(5),
.logs-admin-tabla td.logs-admin-acciones{
  width:3rem;
  white-space:nowrap;
  overflow:visible;
  text-align:center;
  padding-right:10px;
}
.logs-admin-tabla th:last-child{
  position:static;
  box-shadow:none;
}
.logs-admin-tabla .admin-action-link{
  display:inline-flex;
  width:auto;
  max-width:none;
  white-space:nowrap;
}
.logs-admin-grupo th{
  background:var(--paper-alt);
  font-size:11px;
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:var(--ink-soft);
  padding:6px 10px;
  text-align:left;
}
.logs-admin-fila{ cursor:pointer; }
.logs-admin-fila:hover td{ background:color-mix(in srgb, var(--paper-alt) 70%, var(--white)); }
.logs-admin-fila.is-open td{ background:color-mix(in srgb, var(--paper-alt) 55%, var(--white)); }
.logs-admin-fecha{ white-space:nowrap; }
.logs-admin-fecha-d{ display:block; }
.logs-admin-fecha-h{
  display:block;
  margin-top:1px;
  font-size:11.5px;
  color:var(--ink-soft);
}
.logs-admin-usuario{ white-space:nowrap; }
.logs-admin-accion{ overflow:visible; }
.logs-admin-badge{
  display:inline-block;
  max-width:none;
  overflow:visible;
  text-overflow:unset;
  font-size:11.5px;
  font-weight:600;
  line-height:1.3;
  padding:3px 8px;
  border-radius:6px;
  white-space:normal;
}
.logs-admin-badge--ok{
  background:color-mix(in srgb, var(--jade) 16%, var(--paper));
  color:var(--jade-deep);
}
.logs-admin-badge--cambio{
  background:color-mix(in srgb, var(--marigold) 28%, var(--paper));
  color:var(--ink);
}
.logs-admin-badge--peligro{
  background:color-mix(in srgb, var(--clay) 16%, var(--paper));
  color:var(--clay);
}
.logs-admin-badge--sistema{
  background:var(--paper-alt);
  color:var(--ink-soft);
}
.logs-admin-detalle{ word-break:break-word; min-width:0; }
.logs-admin-detalle-txt{
  display:-webkit-box;
  -webkit-line-clamp:2;
  line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.logs-admin-ver{
  display:inline-block;
  margin-top:4px;
  padding:0;
  border:0;
  background:none;
  color:var(--jade-deep);
  font:inherit;
  font-size:12.5px;
  font-weight:600;
  cursor:pointer;
}
.logs-admin-ver:hover{ text-decoration:underline; }
.logs-admin-trash{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  padding:0;
  border:none;
  background:transparent;
  color:var(--ink-soft);
  cursor:pointer;
  border-radius:6px;
}
.logs-admin-trash:hover{
  color:var(--clay);
  background:color-mix(in srgb, var(--clay) 10%, var(--white));
}
.logs-admin-expand td{
  background:var(--paper);
  padding:8px 12px 12px;
}
.logs-admin-expand-detalle{
  margin:0 0 8px;
  color:var(--ink);
  line-height:1.45;
}
.logs-admin-expand-dl{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:3px 14px;
  margin:0;
}
.logs-admin-expand-dl dt{
  color:var(--ink-soft);
  font-size:12px;
}
.logs-admin-expand-dl dd{ margin:0; }
.logs-admin-vacio{ color:var(--ink-soft); }
.logs-admin-cards{ display:none; }
.logs-admin-paginacion{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:10px 14px;
  padding:10px 14px 12px;
  font-size:12.5px;
  color:var(--ink-soft);
}
.logs-admin-paginacion-meta{ margin:0; }
.logs-admin-paginacion-nav{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
}
.logs-admin-page{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:30px;
  height:30px;
  padding:0 8px;
  border:1px solid var(--line);
  border-radius:6px;
  text-decoration:none;
  color:var(--ink);
  background:var(--white);
}
.logs-admin-page.is-current{
  background:var(--jade);
  border-color:var(--jade);
  color:var(--white);
  font-weight:700;
}
.logs-admin-page-gap{ padding:0 2px; }
.logs-admin-page-off{ opacity:.4; pointer-events:none; }
.logs-admin-por-pagina{
  display:flex;
  align-items:center;
  gap:8px;
}
.logs-admin-por-pagina select{
  min-height:32px;
  padding:4px 8px;
}
@media (max-width:1100px){
  .logs-admin-filtros-form{ flex-wrap:wrap; }
  .logs-admin-filtros-form select{ max-width:none; }
}
@media (max-width:760px){
  .logs-admin-stats{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .logs-admin-filtros-form{ flex-wrap:wrap; }
  .logs-admin-filtros-form > div{ flex:1 1 calc(50% - 10px); min-width:0; }
  .logs-admin-filtro-buscar{ flex:1 1 100%; }
  .logs-admin-tabla-wrap{ display:none; }
  .logs-admin-cards{
    display:block;
    padding:8px 12px 12px;
  }
  .logs-admin-grupo-mob{
    margin:8px 0 6px;
    font-size:11px;
    font-weight:700;
    letter-spacing:.05em;
    text-transform:uppercase;
    color:var(--ink-soft);
  }
  .logs-admin-card{
    background:var(--paper);
    border:1px solid var(--line);
    border-radius:8px;
    padding:10px 12px;
    margin:0 0 8px;
    cursor:pointer;
  }
  .logs-admin-card.is-open{
    background:color-mix(in srgb, var(--paper-alt) 50%, var(--white));
  }
  .logs-admin-card-top{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:10px;
    margin-bottom:6px;
  }
  .logs-admin-card-user{
    font-weight:600;
    margin-bottom:6px;
  }
  .logs-admin-card-acciones{
    display:flex;
    justify-content:flex-end;
    margin-top:6px;
  }
  .logs-admin-expand--card{
    margin-top:8px;
    padding-top:8px;
    border-top:1px solid var(--line);
  }
  .logs-admin-paginacion{ flex-direction:column; align-items:stretch; }
  .logs-admin-paginacion-nav{ justify-content:center; }
}

/* --- Historial CMS --- */
.cms-hist-admin{
  width:100%;
  max-width:none;
  box-sizing:border-box;
}
.cms-hist-admin .admin-panel-card{
  width:100%;
  max-width:none;
  box-sizing:border-box;
  overflow:visible;
}
.cms-hist-admin-flash{ margin:0 0 12px; }
.cms-hist-admin-intro{ padding:12px 16px; }
.cms-hist-admin-intro p{
  margin:0;
  font-size:14px;
  color:var(--ink-soft);
  line-height:1.5;
}
.cms-hist-admin-filtros-form{
  display:flex;
  flex-wrap:nowrap;
  align-items:flex-end;
  gap:12px 16px;
  padding:12px 16px 16px;
}
.cms-hist-admin-filtro{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:4px;
  min-width:0;
}
.cms-hist-admin .cms-hist-admin-filtro-lbl{
  display:block;
  margin:0;
  font-size:12.5px;
  line-height:1.3;
  color:var(--ink-soft);
}
.cms-hist-admin-filtro select{
  width:auto;
  min-width:16em;
  min-height:40px;
  padding:8px 36px 8px 12px;
  font-size:14px;
  line-height:1.25;
  box-sizing:border-box;
}
.cms-hist-admin-id{
  width:8.5rem;
  min-height:40px;
  padding:8px 12px;
  font-size:14px;
  line-height:1.25;
  box-sizing:border-box;
}
.cms-hist-admin-filtro-btns{
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  gap:8px;
  flex-shrink:0;
}
.cms-hist-admin-filtro-btns .btn{
  white-space:nowrap;
}
.cms-hist-admin-vacio{
  padding:14px 16px;
  color:var(--ink-soft);
  margin:0;
}
.cms-hist-admin-lista.admin-panel-card{
  overflow:visible;
}
.cms-hist-admin-tabla-wrap{
  width:100%;
  max-width:100%;
  overflow:visible;
}
.cms-hist-admin-tabla.admin-table{
  min-width:0;
  width:100%;
  max-width:100%;
  table-layout:fixed;
  border-collapse:collapse;
}
.cms-hist-admin-col-fecha{ width:7.8em; }
.cms-hist-admin-col-quien{ width:8.6em; }
.cms-hist-admin-col-tipo{ width:15em; }
.cms-hist-admin-col-detalle{ width:auto; }
.cms-hist-admin-col-acciones{ width:8.6em; }
.cms-hist-admin-tabla th,
.cms-hist-admin-tabla td{
  padding:10px 14px;
  font-size:13.5px;
  line-height:1.4;
  vertical-align:top;
  overflow:visible;
  box-sizing:border-box;
}
.cms-hist-admin-tabla thead th{
  font-size:10.5px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  padding:10px 14px;
  vertical-align:middle;
  background:var(--paper-alt);
  color:var(--ink-soft);
}
.cms-hist-admin-tabla th:nth-child(1),
.cms-hist-admin-tabla td:nth-child(1){ width:7.8em; }
.cms-hist-admin-tabla th:nth-child(2),
.cms-hist-admin-tabla td:nth-child(2){ width:8.6em; }
.cms-hist-admin-tabla th:nth-child(3),
.cms-hist-admin-tabla td:nth-child(3){ width:15em; }
.cms-hist-admin-tabla th:nth-child(4),
.cms-hist-admin-tabla td:nth-child(4){ width:auto; }
.cms-hist-admin-tabla th:nth-child(5),
.cms-hist-admin-tabla td:nth-child(5),
.cms-hist-admin-tabla td.cms-hist-admin-acciones{
  width:8.6em;
  white-space:nowrap;
  text-align:right;
}
.cms-hist-admin-tabla th:last-child,
.cms-hist-admin-tabla td:last-child,
.cms-hist-admin-tabla td.cms-hist-admin-acciones{
  position:static;
  box-shadow:none;
  z-index:auto;
}
.cms-hist-admin-tabla th:last-child{
  background:var(--paper-alt);
  text-align:right;
}
.cms-hist-admin-fecha{
  white-space:nowrap;
  color:var(--ink);
}
.cms-hist-admin-quien{
  word-break:break-word;
  overflow-wrap:anywhere;
}
.cms-hist-admin-tipo{
  vertical-align:top;
}
.cms-hist-admin-tipo-stack{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:6px;
  min-width:0;
  max-width:100%;
}
.cms-hist-admin-tipo .badge{
  display:inline-block;
  width:auto;
  max-width:100%;
  position:static;
  box-sizing:border-box;
  line-height:1.3;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.cms-hist-admin-ref{
  display:block;
  max-width:100%;
  font-size:12.5px;
  color:var(--ink-soft);
  line-height:1.35;
  margin:0;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.cms-hist-admin-detalle{
  word-break:break-word;
  overflow-wrap:anywhere;
  min-width:0;
}
.cms-hist-admin-acciones form{
  display:inline-flex;
  margin:0;
}
.cms-hist-admin-acciones .btn{
  display:inline-block;
  padding:6px 12px;
  font-size:13px;
  line-height:1.25;
  white-space:nowrap;
}
.cms-hist-admin-paginacion{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  padding:10px 16px;
  font-size:13px;
  color:var(--ink-soft);
}

/* --- Configuración del sitio ---
   Esta página NO usa la regla densa `.field input { width:100% }`
   (deformaba checkbox, radio y file). Solo texto/email/textarea
   ocupan el ancho del campo. */
.config-sitio-admin{
  max-width:960px;
}
.config-sitio-card{
  padding:22px 24px 24px;
  background:var(--white);
}
.config-sitio-flash{ margin:0 0 16px; }
.config-sitio-lead{
  color:var(--ink-soft);
  font-size:14.5px;
  margin:0 0 20px;
  line-height:1.55;
}
.config-sitio-sec{
  margin:0 0 18px;
  padding:18px 20px 20px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--paper-alt);
}
.config-sitio-sec-tit{
  font-family:var(--display);
  font-size:17px;
  color:var(--jade-deep);
  margin:0 0 14px;
  padding-bottom:8px;
  border-bottom:2px solid var(--marigold);
}
.config-sitio-stack{
  display:flex;
  flex-direction:column;
  gap:16px;
}
.config-sitio-admin .field{
  flex:none;
  width:100%;
  max-width:100%;
  min-width:0;
  margin:0 0 14px;
}
.config-sitio-stack .field,
.config-sitio-chips .field{ margin:0; }
.config-sitio-block{
  margin:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
}
.config-sitio-admin .field > label{
  display:block;
  margin-bottom:6px;
}

/* Texto / email / textarea: ancho del campo, no del viewport */
.config-sitio-admin .field input[type="text"],
.config-sitio-admin .field input[type="email"],
.config-sitio-admin .field textarea{
  display:block;
  width:100%;
  max-width:100%;
  min-width:0;
  min-height:44px;
  box-sizing:border-box;
  padding:12px 14px;
  font-size:14.5px;
  line-height:1.4;
  background:var(--white);
}
.config-sitio-admin .field textarea{
  min-height:96px;
  height:auto;
  resize:vertical;
}

/* NUNCA estirar checkbox, radio, file ni botones */
.config-sitio-admin .field input[type="checkbox"],
.config-sitio-admin .field input[type="radio"]{
  appearance:auto;
  width:16px;
  height:16px;
  min-width:16px;
  min-height:16px;
  max-width:16px;
  margin:0;
  padding:0;
  border:none;
  border-radius:0;
  background:transparent;
  flex:none;
  align-self:center;
  accent-color:var(--jade);
}
.config-sitio-admin .field input[type="file"]{
  width:auto;
  max-width:100%;
  min-width:0;
  min-height:0;
  height:auto;
  padding:0;
  border:none;
  background:transparent;
}
.config-sitio-admin .field input.file-input-hidden{
  position:absolute;
  width:1px;
  height:1px;
  min-width:0;
  min-height:0;
  max-width:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.config-sitio-admin .btn,
.config-sitio-admin button{
  width:auto;
  max-width:100%;
}

/* Fila media: preview + control compacto (no input vacío al lado) */
.config-sitio-media{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:14px 18px;
}
.config-sitio-preview{ flex:0 0 auto; }
.config-sitio-logo-img{
  height:56px;
  width:auto;
  max-width:220px;
  background:var(--ink);
  border-radius:8px;
  padding:8px;
}
.config-sitio-fondo-img{
  width:220px;
  height:110px;
  object-fit:cover;
  border-radius:8px;
  border:1px solid var(--line);
  background:var(--paper);
}
.config-sitio-media-ctrls{
  flex:0 1 auto;
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
}
.config-sitio-file{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px 12px;
}
.config-sitio-admin .field label.file-input-btn{
  display:inline-flex;
  width:auto;
  margin:0;
  text-transform:none;
  letter-spacing:0;
  font-family:var(--body);
  font-size:13.5px;
  font-weight:600;
  color:var(--white);
  background:var(--ink);
}
.config-sitio-admin .field label.file-input-btn:hover{
  background:var(--jade-deep);
}
.config-sitio-admin .file-input-filename{
  display:inline;
  margin:0;
  font-size:13px;
}

/* Checkbox / radio: etiqueta al lado, tamaño natural */
.config-sitio-admin .field label.config-sitio-check,
.config-sitio-admin .field label.config-sitio-check-strong,
.config-sitio-admin .field label.config-sitio-radio{
  display:flex;
  align-items:center;
  gap:8px;
  width:auto;
  max-width:100%;
  margin:0;
  padding:0;
  border:none;
  background:none;
  text-transform:none;
  letter-spacing:0;
  font-family:var(--body);
  font-size:14.5px;
  font-weight:400;
  color:var(--ink);
  cursor:pointer;
  line-height:1.4;
}
.config-sitio-check-strong{ font-weight:600; }
.config-sitio-hint,
.config-sitio-hint-inline{
  display:block;
  font-size:13.5px;
  color:var(--ink-soft);
  margin:0;
  line-height:1.5;
}
.config-sitio-admin .field input[type="email"] + .config-sitio-hint{
  margin-top:8px;
}
.config-sitio-radios{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
  margin:10px 0 14px;
}
.config-sitio-chips{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px 16px;
  margin:0 0 10px;
}
.config-sitio-chips[hidden],
.config-sitio-hint[hidden]{ display:none; }
.config-sitio-submit{ margin-top:8px; }
.config-sitio-submit .btn{ min-width:180px; }

/* --- Menú y footer --- */
.menu-footer-admin-card{ padding:16px 18px 18px; max-width:none; }
.menu-footer-admin-explainer{
  background:var(--paper-alt);
  border:1px solid var(--line);
  border-radius:10px;
  padding:12px 14px;
  margin:0 0 12px;
}
.menu-footer-admin-explainer h3{
  font-family:var(--display);
  font-size:16px;
  margin:0 0 6px;
}
.menu-footer-admin-explainer ol{
  margin:0;
  padding-left:20px;
  font-size:13.5px;
  color:var(--ink-soft);
  line-height:1.5;
}
.menu-footer-admin-explainer li{ margin-bottom:4px; }
.menu-footer-admin-explainer li:last-child{ margin-bottom:0; }
.menu-footer-admin-explainer strong{ color:var(--ink); }
.menu-footer-admin-explainer a,
.menu-footer-admin-lead a,
.menu-footer-admin-hint a{
  color:var(--jade);
  font-weight:600;
}
.menu-footer-admin-lead{
  color:var(--ink-soft);
  margin:0 0 12px;
  font-size:14px;
  line-height:1.5;
}
.menu-footer-admin-tit{
  font-family:var(--display);
  font-size:16px;
  margin:0 0 6px;
}
.menu-footer-admin-hint{
  font-size:12.5px;
  color:var(--ink-soft);
  margin:0 0 8px;
  line-height:1.45;
}
.menu-footer-admin-cols{
  display:grid;
  gap:8px;
  margin:0 0 4px;
  width:100%;
  min-width:0;
  box-sizing:border-box;
  font-family:var(--mono);
  font-size:10.5px;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:var(--ink-soft);
}
.menu-footer-admin-cols--nav{ grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) auto; }
.menu-footer-admin-cols--foot{ grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr); }
.menu-footer-admin-rows{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-bottom:8px;
  min-width:0;
  width:100%;
}
.menu-footer-admin .menu-row,
.menu-footer-admin .footer-row{
  display:grid;
  gap:8px;
  align-items:center;
  width:100%;
  min-width:0;
  box-sizing:border-box;
}
.menu-footer-admin .menu-row{
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) auto;
}
.menu-footer-admin .footer-row{
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
}
.menu-footer-admin-visible{
  font-size:12px;
  white-space:nowrap;
  display:flex;
  align-items:center;
  gap:6px;
  width:auto;
  min-width:0;
  justify-self:start;
}
.menu-footer-admin-visible input[type="checkbox"]{
  width:18px;
  min-width:18px;
  max-width:18px;
  min-height:18px;
  height:18px;
  padding:0;
  box-sizing:border-box;
}
.menu-footer-admin-copy{ margin-bottom:10px; }
.menu-footer-admin-add{
  margin:0 0 16px;
  font-size:12.5px;
}
.menu-footer-admin-tabla.admin-table{
  min-width:0;
  width:100%;
}
.menu-footer-admin-tabla th,
.menu-footer-admin-tabla td{
  padding:8px 12px;
  font-size:13.5px;
}
.menu-footer-admin-tabla th:nth-child(1),
.menu-footer-admin-tabla td:nth-child(1){ width:auto; }
.menu-footer-admin-tabla th:nth-child(2),
.menu-footer-admin-tabla td:nth-child(2),
.menu-footer-admin-tabla th:nth-child(3),
.menu-footer-admin-tabla td:nth-child(3){ width:90px; }
.menu-footer-admin-tabla th:last-child{
  position:static;
  box-shadow:none;
}
.menu-footer-admin-slug{
  font-size:12px;
  color:var(--ink-soft);
}
.menu-footer-admin-orden{ width:70px; min-height:36px; padding:6px 8px; }
.menu-footer-admin-save-cms{ margin-top:12px; }

@media (max-width:1100px){
  .pasarelas-admin-grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .pasarelas-admin-stats{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .config-sitio-chips{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
@media (max-width:900px){
  .cms-hist-admin-filtros-form{
    flex-wrap:wrap;
    align-items:flex-end;
  }
  .cms-hist-admin-filtro{ flex:1 1 12rem; }
  .cms-hist-admin-filtro select{ min-width:0; width:100%; }
  .cms-hist-admin-id{ width:100%; }
  .cms-hist-admin-filtro-btns{ flex:0 0 auto; }
  .menu-footer-admin-cols{ display:none; }
  .menu-footer-admin .menu-row,
  .menu-footer-admin .footer-row{
    grid-template-columns:minmax(0, 1fr);
  }
}
@media (max-width:760px){
  .pasarelas-admin-grid{ grid-template-columns:minmax(0, 1fr); }
  .pasarelas-admin-card-sum{ flex-wrap:wrap; }
  .pasarelas-admin-config-btn{ width:100%; }
  .pasarelas-admin-catalogo-grid{ grid-template-columns:minmax(0, 1fr); }
  .config-sitio-chips{ grid-template-columns:minmax(0, 1fr); }
  .config-sitio-media{ flex-direction:column; align-items:flex-start; }
  .config-sitio-fondo-img{ width:220px; max-width:100%; }
  .cms-hist-admin-tabla-wrap{
    overflow-x:auto;
    overflow-y:visible;
  }
  .cms-hist-admin-tabla.admin-table{
    min-width:720px;
    table-layout:auto;
  }
  .pasarelas-admin .field input,
  .pasarelas-admin .field select,
  .pasarelas-admin .field textarea,
  .menu-footer-admin .field input,
  .menu-footer-admin .menu-row input:not([type="checkbox"]),
  .menu-footer-admin .menu-row select,
  .menu-footer-admin .footer-row input:not([type="checkbox"]),
  .menu-footer-admin .footer-row select{
    width:100%;
  }
}

/* ===== Panel principal (home) — solo .panel-home, no toca otras páginas admin ===== */
.panel-home{
  --ph-radius:12px;
  --ph-gap:14px;
  --ph-pad:16px 18px;
}
.panel-home .admin-panel-card.panel-home-card{
  margin-bottom:var(--ph-gap);
  border-radius:var(--ph-radius);
  overflow:hidden;
}
.panel-home .panel-home-head{
  padding:14px 18px;
  border-radius:var(--ph-radius) var(--ph-radius) 0 0;
}
.panel-home .panel-home-head h2{
  font-size:16px;
}
.panel-home .panel-home-btn{
  padding:6px 14px;
  font-size:12.5px;
}
.panel-home .panel-home-btn--clay{
  color:var(--clay);
  border-color:color-mix(in srgb, var(--clay) 45%, var(--line));
}
.panel-home .panel-home-btn--clay:hover{
  background:color-mix(in srgb, var(--clay) 8%, var(--white));
}
.panel-home .panel-home-link{
  font-size:12.5px;
  font-weight:600;
  color:var(--jade);
  text-decoration:none;
}
.panel-home .panel-home-link:hover{ color:var(--jade-deep); }

.panel-home .stat-cards.panel-home-kpis{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:var(--ph-gap);
  margin:0 0 var(--ph-gap);
  align-items:stretch;
}
.panel-home .panel-home-kpi{
  min-height:104px;
  height:100%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  box-sizing:border-box;
  padding:18px 16px;
  border-radius:var(--ph-radius);
  border:1px solid var(--line);
  border-top-width:4px;
}
.panel-home .panel-home-kpi .num{
  font-size:26px;
  line-height:1.1;
}
.panel-home .panel-home-kpi .lbl{
  margin-top:6px;
  font-size:12.5px;
}
.panel-home .panel-home-kpi--jade{
  border-top-color:var(--jade);
  background:color-mix(in srgb, var(--jade) 9%, var(--white));
}
.panel-home .panel-home-kpi--clay{
  border-top-color:var(--clay);
  background:color-mix(in srgb, var(--clay) 9%, var(--white));
}
.panel-home .panel-home-kpi--gold{
  border-top-color:var(--marigold);
  background:color-mix(in srgb, var(--marigold) 14%, var(--white));
}
.panel-home .panel-home-kpi--purple{
  border-top-color:var(--purple);
  background:color-mix(in srgb, var(--purple) 10%, var(--white));
}
.panel-home .stat-card-link.panel-home-kpi:hover{
  transform:none;
  box-shadow:0 6px 16px -10px rgba(28,43,46,.28);
}

.panel-home .panel-home-banner--jade{
  border-color:color-mix(in srgb, var(--jade) 35%, var(--line));
  background:color-mix(in srgb, var(--jade) 8%, var(--white));
}
.panel-home .panel-home-banner--jade .panel-home-head{
  background:color-mix(in srgb, var(--jade) 12%, var(--white));
  border-bottom-color:color-mix(in srgb, var(--jade) 22%, var(--line));
}
.panel-home .panel-home-banner--clay{
  border-color:color-mix(in srgb, var(--clay) 40%, var(--line));
  background:color-mix(in srgb, var(--clay) 7%, var(--white));
}
.panel-home .panel-home-banner--clay .panel-home-head{
  background:color-mix(in srgb, var(--clay) 11%, var(--white));
  border-bottom-color:color-mix(in srgb, var(--clay) 24%, var(--line));
}
.panel-home .panel-home-banner-txt{
  padding:14px 18px 16px;
  margin:0;
  color:var(--ink-soft);
  font-size:13.5px;
  line-height:1.45;
}
.panel-home .panel-home-banner-txt a{
  color:var(--jade);
  font-weight:600;
  text-decoration:none;
}
.panel-home .panel-home-banner-txt a:hover{ color:var(--jade-deep); }

.panel-home .panel-home-attn-card .panel-home-head{
  background:color-mix(in srgb, var(--marigold) 12%, var(--white));
  border-bottom-color:color-mix(in srgb, var(--marigold) 28%, var(--line));
}
.panel-home .admin-attention-grid.panel-home-attn{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(160px, 1fr));
  gap:12px;
  padding:16px 18px 18px;
  align-items:stretch;
}
.panel-home .panel-home-attn-item{
  min-height:92px;
  height:100%;
  box-sizing:border-box;
  justify-content:center;
  padding:16px 14px;
  border-radius:var(--ph-radius);
  border-top-width:4px;
}
.panel-home .panel-home-attn-item--reportes{
  border-top-color:var(--purple);
  background:color-mix(in srgb, var(--purple) 10%, var(--white));
  border-color:color-mix(in srgb, var(--purple) 22%, var(--line));
}
.panel-home .panel-home-attn-item--resenas{
  border-top-color:var(--marigold);
  background:color-mix(in srgb, var(--marigold) 14%, var(--white));
  border-color:color-mix(in srgb, var(--marigold) 28%, var(--line));
}
.panel-home .panel-home-attn-item--pagos{
  border-top-color:var(--jade);
  background:color-mix(in srgb, var(--jade) 9%, var(--white));
  border-color:color-mix(in srgb, var(--jade) 22%, var(--line));
}
.panel-home .panel-home-attn-item--fichas{
  border-top-color:var(--clay);
  background:color-mix(in srgb, var(--clay) 8%, var(--white));
  border-color:color-mix(in srgb, var(--clay) 22%, var(--line));
}
.panel-home .panel-home-attn-item.is-alert{
  box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--clay) 35%, transparent);
}
.panel-home .panel-home-attn-item.is-alert strong{ color:var(--clay); }
.panel-home .panel-home-attn-item:hover{
  box-shadow:0 6px 16px -10px rgba(28,43,46,.24);
}

.panel-home .panel-home-table-card .panel-home-head{
  background:color-mix(in srgb, var(--jade) 8%, var(--white));
  border-bottom-color:color-mix(in srgb, var(--jade) 20%, var(--line));
}
.panel-home .panel-home-table.admin-table{
  min-width:0;
}
.panel-home .panel-home-empty{
  padding:22px 18px;
  color:var(--ink-soft);
  font-size:13.5px;
}

.panel-home .panel-home-lanzar{
  border-color:color-mix(in srgb, var(--clay) 40%, var(--line));
  background:color-mix(in srgb, var(--clay) 6%, var(--white));
}
.panel-home .panel-home-lanzar .panel-home-head{
  background:color-mix(in srgb, var(--clay) 10%, var(--white));
  border-bottom-color:color-mix(in srgb, var(--clay) 22%, var(--line));
}

.panel-home .panel-home-hubs{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:var(--ph-gap);
  align-items:stretch;
  margin:0 0 8px;
}
.panel-home .panel-home-hub{
  margin-bottom:0;
  height:100%;
  display:flex;
  flex-direction:column;
  padding:18px 18px 16px;
  box-sizing:border-box;
  border-top-width:4px;
}
.panel-home .panel-home-hub h3{
  font-family:var(--display);
  margin:0 0 8px;
  font-size:17px;
}
.panel-home .panel-home-hub p{
  font-size:13px;
  color:var(--ink-soft);
  margin:0 0 14px;
  line-height:1.4;
}
.panel-home .panel-home-hub-actions{
  margin-top:auto;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.panel-home .panel-home-hub--sitio{
  border-top-color:var(--jade);
  background:color-mix(in srgb, var(--jade) 7%, var(--white));
}
.panel-home .panel-home-hub--pub{
  border-top-color:var(--marigold);
  background:color-mix(in srgb, var(--marigold) 12%, var(--white));
}
.panel-home .panel-home-hub--monet{
  border-top-color:var(--clay);
  background:color-mix(in srgb, var(--clay) 7%, var(--white));
}

@media (max-width:1100px){
  .panel-home .stat-cards.panel-home-kpis,
  .panel-home .admin-attention-grid.panel-home-attn{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
  .panel-home .panel-home-hubs{ grid-template-columns:1fr; }
}
@media (max-width:640px){
  .panel-home .stat-cards.panel-home-kpis,
  .panel-home .admin-attention-grid.panel-home-attn{
    grid-template-columns:1fr;
  }
}

/* ===== Sellos Fundador (familia metálica; no pills / no verified) ===== */
.sello-fundador{
  display:inline-block;
  width:72px;
  height:72px;
  line-height:0;
  flex-shrink:0;
  transform:rotate(-8deg);
}
.sello-fundador img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  pointer-events:none;
}
.sello-fundador--oro{ transform:rotate(-10deg); }
.sello-fundador--plata{ transform:rotate(-7deg); }
.sello-fundador--bronce{ transform:rotate(-12deg); }
.sello-fundador--oro img{
  filter:drop-shadow(1px 2px 1px rgba(80,50,0,.32));
}
.sello-fundador--plata img{
  filter:drop-shadow(1px 2px 1px rgba(40,48,52,.28));
}
.sello-fundador--bronce img{
  filter:drop-shadow(1px 2px 1px rgba(70,28,10,.32));
}
.sello-fundador-cluster{
  display:flex;
  align-items:center;
  justify-content:flex-start;
}
.sello-fundador-cluster .sello-fundador + .sello-fundador{
  margin-left:-22px;
}

/* Nombre + sello en la misma línea (ficha y cards). Sin fila extra. */
.profile-identity-title{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin:0 0 8px;
}
.profile-identity-title .profile-identity-name{
  margin:0;
  flex:0 1 auto;
  min-width:0;
}
.sello-fundador--nombre{
  display:inline-flex;
  align-items:center;
  flex-shrink:0;
  line-height:0;
  margin:0;
  padding:0;
  vertical-align:middle;
}
.sello-fundador--nombre .sello-fundador,
.sello-fundador--ficha{
  width:52px;
  height:52px;
  flex-shrink:0;
}
.sello-fundador--nombre img,
.sello-fundador--ficha img{
  width:100%;
  height:100%;
}
.sello-fundador--nombre .sello-fundador-cluster .sello-fundador + .sello-fundador,
.sello-fundador-cluster--ficha .sello-fundador + .sello-fundador{
  margin-left:-12px;
}
.sello-fundador-ficha{
  display:inline-flex;
  align-items:center;
  margin:0;
  padding:0;
}
@media (max-width:760px){
  .sello-fundador--nombre .sello-fundador,
  .sello-fundador--ficha{ width:44px; height:44px; }
  .sello-fundador--nombre .sello-fundador-cluster .sello-fundador + .sello-fundador,
  .sello-fundador-cluster--ficha .sello-fundador + .sello-fundador{ margin-left:-11px; }
}

/* Ficha: pertenencia Fundador (no pill / no promo). */
.sello-fundador-leyenda{
  margin:0;
  padding:0;
  font-size:12.5px;
  font-weight:500;
  line-height:1.35;
  color:var(--ink-soft);
  letter-spacing:.01em;
}
.sello-fundador-leyenda-item{
  display:inline;
}
.sello-fundador-leyenda-sep{
  font-weight:400;
  opacity:.5;
}
.sello-fundador-leyenda-icon{
  width:15px;
  height:15px;
  display:inline-block;
  vertical-align:-2px;
  margin-right:4px;
  object-fit:contain;
  pointer-events:none;
}

/* Cards: sello al lado del título, misma línea */
.result-name:has(.sello-fundador--nombre),
.biz-card-body h3:has(.sello-fundador--nombre){
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:nowrap;
}
.result-name:has(.sello-fundador--nombre){
  overflow:visible;
}
.result-name:has(.sello-fundador--nombre) a{
  flex:0 1 auto;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
}
.result-name .sello-fundador--nombre .sello-fundador-cluster--az,
.biz-card-body h3 .sello-fundador--nombre .sello-fundador-cluster--az{
  margin-left:0;
}
.result-name .sello-fundador--nombre .sello-fundador,
.result-name .sello-fundador--nombre .sello-fundador--az,
.biz-card-body h3 .sello-fundador--nombre .sello-fundador,
.biz-card-body h3 .sello-fundador--nombre .sello-fundador--az{
  width:36px;
  height:36px;
  flex-shrink:0;
}
.result-name .sello-fundador--nombre img,
.biz-card-body h3 .sello-fundador--nombre img{
  width:36px;
  height:36px;
}
.result-name .sello-fundador--nombre .sello-fundador-cluster .sello-fundador + .sello-fundador,
.biz-card-body h3 .sello-fundador--nombre .sello-fundador-cluster .sello-fundador + .sello-fundador{
  margin-left:-11px;
}

/* Cards: watermark detrás del contenido, sin cambiar tamaño */
.biz-card{ position:relative; }
.biz-card-media-row,
.biz-card-body{
  position:relative;
  z-index:1;
}
.sello-fundador-wm{
  position:absolute;
  right:6px;
  bottom:40px;
  z-index:0;
  opacity:.17;
  pointer-events:none;
  line-height:0;
}
.result-card .sello-fundador-wm{
  right:8px;
  bottom:6px;
}
.result-card > .result-avatar,
.result-card > .result-body{
  position:relative;
  z-index:1;
}
.sello-fundador--wm{
  width:58px;
  height:58px;
}
.sello-fundador-cluster--wm .sello-fundador + .sello-fundador{
  margin-left:-20px;
}

/* Directorio A–Z: mini al lado del nombre */
.sello-fundador-cluster--az{
  display:inline-flex;
  align-items:center;
  margin-left:6px;
  vertical-align:middle;
}
.sello-fundador--az{
  width:21px;
  height:21px;
  flex-shrink:0;
  transform:rotate(-6deg);
}
.sello-fundador--az.sello-fundador--oro,
.sello-fundador--az.sello-fundador--plata,
.sello-fundador--az.sello-fundador--bronce{
  transform:rotate(-6deg);
}
.sello-fundador-cluster--az .sello-fundador + .sello-fundador{
  margin-left:-7px;
}
.sello-fundador--az img{
  width:100%;
  height:100%;
  filter:none;
}


