/* =========================================================
   Landings de cursos — El Salón Virtual
   Estructura editorial (columna centrada, tarjetas oscuras, serif)
   con la paleta de cada programa. Por defecto: Estilista Máster.
   ========================================================= */
.is-landing {
  --lp-dark: #2A0844;      /* morado Estilista Máster */
  --lp-dark-2: #1B052E;
  --lp-dark-3: #3B1260;
  --lp-gold: #C69749;
  --lp-gold-2: #FFC260;
  --lp-bg: #FAEDF0;        /* rosa pálido */
  --lp-panel: #E9DCEA;     /* lila claro */
  --lp-panel-2: #DDCCE0;
  --lp-ink: #1E0A2E;
  --lp-ink-soft: #5B4A66;
  --lp-on-dark: #FBF4F6;
  --lp-on-dark-soft: rgba(251, 244, 246, .72);
  --lp-line: rgba(42, 8, 68, .14);
  --lp-line-dark: rgba(251, 244, 246, .16);
  --lp-red: #E30613;
  --lp-green: #01A002;
  --lp-serif: "Cormorant Garamond", "Times New Roman", serif;
  --lp-sans: "DM Sans", system-ui, sans-serif;
  --lp-wrap: 1120px;
  --lp-r: 18px;
  background: var(--lp-bg); color: var(--lp-ink);
  font-family: var(--lp-sans); font-size: 17px; line-height: 1.6;
}
.is-landing ::selection { background: var(--lp-gold-2); color: var(--lp-dark); }
.lp-wrap { width: 100%; max-width: var(--lp-wrap); margin: 0 auto; padding: 0 clamp(14px, 3vw, 28px); }
.lp-section { padding: clamp(56px, 8vw, 110px) 0; position: relative; }
.lp-section.is-panel { background: var(--lp-panel); }
.lp-serif, .lp-h1, .lp-h2, .lp-h3 { font-family: var(--lp-serif); font-weight: 600; letter-spacing: -.01em; margin: 0; text-wrap: balance; }
.lp-h1 { font-size: clamp(38px, 5.2vw, 68px); line-height: 1.02; }
.lp-h2 { font-size: clamp(32px, 4vw, 52px); line-height: 1.06; }
.lp-h3 { font-size: clamp(23px, 2.2vw, 30px); line-height: 1.12; }
.lp-h2 em, .lp-h1 em, .lp-h3 em { font-style: italic; color: var(--lp-gold); }
.lp-eyebrow { display: block; font-size: 12.5px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--lp-gold); margin-bottom: 14px; }
.lp-lead { font-size: clamp(16.5px, 1.35vw, 19px); color: var(--lp-ink-soft); max-width: 40em; margin: 0; }
.lp-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; margin-bottom: clamp(26px, 3.4vw, 44px); }
.lp-head .lp-lead { margin-top: 14px; }
.lp-star { flex: 0 0 auto; width: 44px; height: 44px; color: var(--lp-dark); animation: lp-spin 14s linear infinite; }
@keyframes lp-spin { to { transform: rotate(360deg); } }

/* Botones */
.lp-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 50px; padding: 0 24px;
  border-radius: 10px; font: 700 15.5px var(--lp-sans); letter-spacing: .01em; text-align: center; line-height: 1.2;
  background: var(--lp-bg); color: var(--lp-dark); transition: transform .3s cubic-bezier(.34,1.56,.64,1), box-shadow .25s, background .2s;
}
.lp-btn:hover { transform: translateY(-2px); box-shadow: 0 14px 28px -14px rgba(0,0,0,.5); }
.lp-btn.is-red { background: var(--lp-red); color: #fff; }
.lp-btn.is-red:hover { background: #c70511; }
.lp-btn.is-gold { background: linear-gradient(180deg, var(--lp-gold-2), var(--lp-gold)); color: var(--lp-dark); }
.lp-btn.is-dark { background: var(--lp-dark); color: var(--lp-on-dark); }
.lp-btn.is-line { background: transparent; color: var(--lp-on-dark); box-shadow: inset 0 0 0 1.5px var(--lp-line-dark); }
.lp-btn.is-wa { background: var(--lp-green); color: #fff; }
.lp-btn.is-lg { min-height: 60px; padding: 8px 30px; font-size: 17px; }
.lp-btn small { display: block; font-weight: 500; font-size: 12.5px; opacity: .85; }
.lp-btn svg { width: 16px; height: 16px; flex: 0 0 auto; }

/* Cabecera flotante */
.lp-nav { position: fixed; top: 12px; left: 0; right: 0; z-index: 60; pointer-events: none; }
.lp-nav .lp-wrap { pointer-events: auto; }
.lp-nav-bar {
  display: flex; align-items: center; gap: 22px; height: 62px; padding: 0 10px 0 22px; border-radius: 14px;
  background: color-mix(in srgb, var(--lp-dark-2) 92%, transparent); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); color: var(--lp-on-dark);
  box-shadow: 0 18px 40px -22px rgba(27,5,46,.8);
}
.lp-brand { display: flex; align-items: center; gap: 12px; margin-right: auto; }
.lp-brand img { height: 48px; width: auto; }
.lp-nav-links { display: flex; gap: 4px; }
.lp-nav-links a { padding: 8px 12px; border-radius: 8px; font-size: 14.5px; font-weight: 600; color: var(--lp-on-dark-soft); transition: color .2s, background .2s; }
.lp-nav-links a:hover { color: var(--lp-on-dark); background: rgba(255,255,255,.07); }
.lp-nav .lp-btn { min-height: 42px; padding: 0 18px; font-size: 14.5px; }

/* Hero */
.lp-hero { padding: 92px 0 0; position: relative; overflow: hidden; }
.lp-hero::before { content: "EM"; position: absolute; left: 50%; top: 48%; transform: translate(-50%, -50%); font: 600 min(72vw, 1100px)/.8 var(--lp-serif); color: var(--lp-panel); letter-spacing: .06em; white-space: nowrap; z-index: 0; pointer-events: none; }
.lp-hero-card {
  position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(20px, 3vw, 44px); align-items: center;
  padding: clamp(26px, 4vw, 56px); border-radius: var(--lp-r); color: var(--lp-on-dark);
  background: radial-gradient(90% 120% at 100% 0%, var(--lp-dark-3), var(--lp-dark) 45%, var(--lp-dark-2));
  overflow: hidden;
}
.lp-hero-card::after { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(115deg, rgba(255,255,255,.035) 0 1px, transparent 1px 22px); pointer-events: none; }
.lp-hero-card > * { position: relative; z-index: 1; }
.lp-hero .lp-h1 { margin-bottom: 14px; }
.lp-hero .lp-sub { font-family: var(--lp-serif); font-size: clamp(18px, 1.7vw, 23px); letter-spacing: .06em; text-transform: uppercase; color: var(--lp-gold-2); margin: 0 0 18px; }
.lp-hero p.lp-text { color: var(--lp-on-dark-soft); max-width: 34em; margin: 0 0 26px; }
.lp-hero-ctas { display: flex; flex-wrap: wrap; gap: 12px; }
.lp-hero-media { position: relative; border-radius: 14px; background: var(--lp-bg); padding: 18px; display: grid; place-items: center; min-height: 300px; }
.lp-hero-media img { width: 100%; height: auto; filter: drop-shadow(0 18px 22px rgba(27,5,46,.35)); }
.lp-hero-media .lp-logo { width: 72%; margin-bottom: 6px; filter: none; }
.lp-stats { display: flex; flex-wrap: wrap; gap: 14px 40px; margin-top: 36px; }
.lp-stat b { display: block; font: 600 clamp(38px, 4vw, 54px)/1 var(--lp-serif); }
.lp-stat b sup { font-size: .5em; color: var(--lp-gold-2); }
.lp-stat span { font-size: 13.5px; color: var(--lp-on-dark-soft); }

/* Video */
.lp-video { position: relative; display: block; width: 100%; aspect-ratio: 16 / 9; border-radius: var(--lp-r); overflow: hidden; background: var(--lp-dark) center / cover no-repeat; box-shadow: 0 40px 70px -40px rgba(27,5,46,.7); }
.lp-video::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(27,5,46,.05), rgba(27,5,46,.5)); transition: opacity .3s; }
.lp-video:hover::before { opacity: .6; }
.lp-play { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 84px; height: 84px; border-radius: 50%; background: var(--lp-red); color: #fff; display: grid; place-items: center; box-shadow: 0 0 0 12px rgba(227,6,19,.22); transition: transform .35s cubic-bezier(.34,1.56,.64,1); }
.lp-play svg { width: 28px; height: 28px; margin-left: 4px; }
.lp-video:hover .lp-play { transform: translate(-50%, -50%) scale(1.08); }
.lp-video .lp-tag { position: absolute; left: 16px; bottom: 16px; padding: 6px 12px; border-radius: 8px; background: rgba(27,5,46,.85); color: var(--lp-on-dark); font-size: 13px; font-weight: 600; }
.lp-video.is-sm .lp-play { width: 58px; height: 58px; box-shadow: 0 0 0 8px rgba(227,6,19,.22); }
.lp-video.is-sm .lp-play svg { width: 20px; height: 20px; }

/* Lista numerada (dolores) */
.lp-rows { list-style: none; margin: 0; padding: 0; }
.lp-row { border-bottom: 1px solid var(--lp-line); }
.lp-row summary { list-style: none; cursor: pointer; display: grid; grid-template-columns: 70px 1fr 40px; align-items: center; gap: 12px; padding: 22px 0; }
.lp-row summary::-webkit-details-marker { display: none; }
.lp-row .n { font: 500 30px var(--lp-serif); color: var(--lp-gold); }
.lp-row h3 { margin: 0; font: 600 clamp(22px, 2.4vw, 30px)/1.15 var(--lp-serif); color: var(--lp-ink-soft); transition: color .25s, transform .4s cubic-bezier(.34,1.56,.64,1); }
.lp-row .go { width: 36px; height: 36px; border-radius: 50%; background: var(--lp-dark); color: var(--lp-on-dark); display: grid; place-items: center; transition: transform .35s cubic-bezier(.34,1.56,.64,1), background .2s; }
.lp-row .go svg { width: 15px; height: 15px; }
.lp-row summary:hover h3, .lp-row[open] h3 { color: var(--lp-ink); transform: translateX(6px); }
.lp-row[open] .go { transform: rotate(90deg); background: var(--lp-red); }
.lp-row p { margin: 0; padding: 0 52px 24px 82px; color: var(--lp-ink-soft); max-width: 46em; }

/* Bento (cursos) */
.lp-bento { display: grid; grid-template-columns: repeat(6, 1fr); gap: 14px; }
.lp-card { position: relative; border-radius: var(--lp-r); padding: clamp(20px, 2.4vw, 30px); background: var(--lp-panel-2); display: flex; flex-direction: column; gap: 8px; min-height: 210px; overflow: hidden; }
.is-panel .lp-card { background: var(--lp-bg); }
.lp-card.is-dark { background: radial-gradient(120% 120% at 0% 0%, var(--lp-dark-3), var(--lp-dark) 55%, var(--lp-dark-2)); color: var(--lp-on-dark); }
.lp-card .ico { width: 40px; height: 40px; border-radius: 10px; background: var(--lp-dark); color: var(--lp-gold-2); display: grid; place-items: center; margin-bottom: auto; font: 600 17px var(--lp-serif); }
.lp-card.is-dark .ico { background: var(--lp-bg); color: var(--lp-dark); }
.lp-card h3 { margin: 14px 0 0; font: 600 clamp(21px, 2vw, 26px)/1.12 var(--lp-serif); }
.lp-card p { margin: 0; font-size: 15px; color: var(--lp-ink-soft); }
.lp-card.is-dark p { color: var(--lp-on-dark-soft); }
.lp-card.span-4 { grid-column: span 4; } .lp-card.span-3 { grid-column: span 3; } .lp-card.span-2 { grid-column: span 2; } .lp-card.span-6 { grid-column: span 6; }
.lp-card.has-img { padding-bottom: 0; }
.lp-card.has-img img { margin: 18px auto 0; width: min(100%, 640px); height: auto; }

/* Bonos */
.lp-bonos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.lp-bono { border-radius: var(--lp-r); background: var(--lp-bg); padding: 22px; display: flex; flex-direction: column; gap: 8px; transition: transform .45s cubic-bezier(.34,1.56,.64,1); }
.lp-bono:hover { transform: translateY(-6px); }
.lp-bono .pic { aspect-ratio: 4 / 3; display: grid; place-items: center; border-radius: 12px; background: radial-gradient(circle at 50% 40%, #fff, var(--lp-panel)); margin-bottom: 10px; overflow: hidden; }
.lp-bono .pic img { height: 92%; width: auto; max-width: 92%; object-fit: contain; filter: drop-shadow(0 14px 14px rgba(27,5,46,.28)); transition: transform .6s cubic-bezier(.2,.8,.2,1); }
.lp-bono:hover .pic img { transform: scale(1.06) rotate(-2deg); }
.lp-bono small { font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--lp-gold); }
.lp-bono h3 { margin: 0; font: 600 24px/1.1 var(--lp-serif); }
.lp-bono p { margin: 0; font-size: 15px; color: var(--lp-ink-soft); }
.lp-bono .free { margin-top: auto; padding-top: 10px; font-size: 13.5px; font-weight: 700; color: var(--lp-red); }
.lp-bono.is-wide { grid-column: span 3; display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 26px; align-items: center; background: var(--lp-dark); color: var(--lp-on-dark); }
.lp-bono.is-wide p { color: var(--lp-on-dark-soft); }
.lp-bono.is-wide .pic { background: radial-gradient(circle at 50% 40%, var(--lp-dark-3), var(--lp-dark-2)); margin: 0; aspect-ratio: 16 / 9; }
.lp-bono.is-wide .free { color: var(--lp-gold-2); }

/* Tarjetas apiladas (formadores) */
.lp-stack { display: grid; gap: 18px; }
.lp-step { position: sticky; top: calc(88px + var(--i, 0) * 16px); display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(18px, 3vw, 40px); align-items: center; padding: clamp(22px, 3vw, 40px); border-radius: var(--lp-r); background: var(--lp-panel-2); box-shadow: 0 -16px 40px -30px rgba(27,5,46,.5); min-height: 340px; }
.lp-step.is-dark { background: radial-gradient(120% 120% at 100% 0%, var(--lp-dark-3), var(--lp-dark) 55%, var(--lp-dark-2)); color: var(--lp-on-dark); }
.lp-step h3 { margin: 0 0 4px; font: 600 clamp(26px, 2.8vw, 36px)/1.1 var(--lp-serif); }
.lp-step .role { font-size: 14px; font-weight: 700; letter-spacing: .04em; color: var(--lp-gold); margin-bottom: 12px; }
.lp-step p { margin: 0; color: var(--lp-ink-soft); }
.lp-step.is-dark p { color: var(--lp-on-dark-soft); }
.lp-step .photo { border-radius: 14px; background: radial-gradient(120% 90% at 50% 20%, #3a3434, #151212 75%); overflow: hidden; aspect-ratio: 5 / 4; position: relative; }
.lp-step .photo img { position: absolute; left: 50%; bottom: 0; height: 100%; width: auto; max-width: none; transform: translateX(-50%); }

/* Testimonios */
.lp-testi { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.lp-testi figure { margin: 0; padding: 12px 12px 14px; border-radius: var(--lp-r); background: var(--lp-panel-2); }
.is-panel .lp-testi figure { background: var(--lp-bg); }
.lp-testi .lp-video { border-radius: 12px; box-shadow: none; }
.lp-testi figcaption { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 12px 4px 0; font-size: 14px; font-weight: 600; }
.lp-stars { color: var(--lp-gold); letter-spacing: 2px; font-size: 15px; }

/* Certificado y garantía */
.lp-split { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(20px, 4vw, 56px); align-items: center; }
.lp-split img.cert { width: 100%; height: auto; filter: drop-shadow(0 30px 30px rgba(27,5,46,.3)); transition: transform .8s cubic-bezier(.2,.8,.2,1); }
.lp-split img.cert:hover { transform: rotate(-2deg) scale(1.03); }
.lp-avales { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.lp-avales span { padding: 7px 14px; border-radius: 999px; border: 1.5px solid var(--lp-line); font-size: 13.5px; font-weight: 700; }
.lp-guarantee { display: grid; grid-template-columns: auto 1fr; gap: clamp(20px, 4vw, 50px); align-items: center; padding: clamp(24px, 4vw, 50px); border-radius: var(--lp-r); background: radial-gradient(120% 120% at 0% 0%, var(--lp-dark-3), var(--lp-dark) 55%, var(--lp-dark-2)); color: var(--lp-on-dark); }
.lp-guarantee .seals { display: flex; flex-direction: column; align-items: center; gap: 14px; }
.lp-guarantee .seals img:first-child { width: clamp(120px, 14vw, 180px); height: auto; animation: lp-bob 5s ease-in-out infinite; }
.lp-guarantee .seals img:last-child { width: clamp(140px, 15vw, 190px); height: auto; }
@keyframes lp-bob { 50% { transform: translateY(-8px) rotate(3deg); } }
.lp-guarantee p { color: var(--lp-on-dark-soft); margin: 12px 0 0; }

/* Planes */
.lp-plans { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; align-items: stretch; }
.lp-plan { position: relative; display: flex; flex-direction: column; gap: 10px; padding: clamp(24px, 3vw, 40px); border-radius: var(--lp-r); background: var(--lp-bg); border: 1.5px solid var(--lp-line); }
.lp-plan.is-best { background: radial-gradient(120% 120% at 100% 0%, var(--lp-dark-3), var(--lp-dark) 55%, var(--lp-dark-2)); color: var(--lp-on-dark); border-color: var(--lp-gold); box-shadow: 0 40px 70px -40px rgba(27,5,46,.8); }
.lp-plan .badge { position: absolute; top: -14px; right: 22px; padding: 6px 14px; border-radius: 999px; background: linear-gradient(180deg, var(--lp-gold-2), var(--lp-gold)); color: var(--lp-dark); font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.lp-plan h3 { margin: 0; font: 600 30px/1.1 var(--lp-serif); }
.lp-plan .lp-note { font-size: 14.5px; color: var(--lp-ink-soft); }
.lp-plan.is-best .lp-note { color: var(--lp-on-dark-soft); }
.lp-price { display: flex; align-items: baseline; gap: 8px; margin: 10px 0 4px; font: 600 clamp(54px, 6vw, 78px)/1 var(--lp-serif); }
.lp-price small { font: 600 16px var(--lp-sans); color: var(--lp-ink-soft); }
.lp-plan.is-best .lp-price { color: var(--lp-gold-2); }
.lp-plan.is-best .lp-price small { color: var(--lp-on-dark-soft); }
.lp-plan ul { list-style: none; margin: 8px 0 18px; padding: 0; font-size: 15.5px; }
.lp-plan li { position: relative; padding: 7px 0 7px 26px; border-top: 1px dashed var(--lp-line); }
.lp-plan.is-best li { border-color: var(--lp-line-dark); }
.lp-plan li::before { content: "✓"; position: absolute; left: 0; top: 7px; font-weight: 800; color: var(--lp-gold); }
.lp-plan .lp-btn { margin-top: auto; }
.lp-plan .fine { font-size: 13px; color: var(--lp-ink-soft); text-align: center; margin: 6px 0 0; }
.lp-plan.is-best .fine { color: var(--lp-on-dark-soft); }
.lp-pay { margin-top: 22px; display: grid; grid-template-columns: 1fr auto; gap: 20px; align-items: center; padding: 18px 22px; border-radius: var(--lp-r); background: #fff; border: 1.5px solid var(--lp-line); }
.lp-pay img { width: min(100%, 520px); height: auto; }

/* Todo incluido */
.lp-all { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(20px, 4vw, 50px); align-items: center; }
.lp-check { list-style: none; margin: 0; padding: 0; columns: 1; }
.lp-check li { position: relative; padding: 9px 0 9px 30px; border-bottom: 1px dashed var(--lp-line); font-size: 16px; }
.lp-check li::before { content: "✓"; position: absolute; left: 0; top: 9px; width: 20px; height: 20px; border-radius: 50%; background: var(--lp-dark); color: var(--lp-gold-2); font-size: 12px; font-weight: 800; display: grid; place-items: center; }
.lp-check li b { font-weight: 700; }
.lp-check .grp { padding: 18px 0 6px; border: 0; font-size: 12px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; color: var(--lp-gold); }
.lp-check .grp::before { display: none; }
.lp-check .grp { padding-left: 0; }

/* FAQ */
.lp-faq { max-width: 860px; margin: 0 auto; }
.lp-faq details { border-radius: 12px; background: var(--lp-panel-2); margin-bottom: 10px; overflow: hidden; }
.lp-faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 22px; font-weight: 700; font-size: 16.5px; }
.lp-faq summary::-webkit-details-marker { display: none; }
.lp-faq summary::after { content: "+"; font: 400 26px/1 var(--lp-sans); transition: transform .35s cubic-bezier(.34,1.56,.64,1); }
.lp-faq details[open] summary::after { transform: rotate(45deg); }
.lp-faq details[open] { background: var(--lp-dark); color: var(--lp-on-dark); }
.lp-faq .a { padding: 0 22px 18px; color: var(--lp-ink-soft); font-size: 15.5px; }
.lp-faq details[open] .a { color: var(--lp-on-dark-soft); }
.lp-faq .a p { margin: 0 0 10px; }

/* CTA final y pie */
.lp-cta { padding: clamp(30px, 5vw, 64px); border-radius: var(--lp-r); color: var(--lp-on-dark); background: radial-gradient(90% 140% at 100% 0%, var(--lp-dark-3), var(--lp-dark) 50%, var(--lp-dark-2)); position: relative; overflow: hidden; }
.lp-cta::after { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(115deg, rgba(255,255,255,.035) 0 1px, transparent 1px 22px); pointer-events: none; }
.lp-cta > * { position: relative; z-index: 1; }
.lp-cta p { color: var(--lp-on-dark-soft); max-width: 36em; margin: 14px 0 26px; }
.lp-footer { background: var(--lp-panel); padding: 56px 0 110px; font-size: 14.5px; color: var(--lp-ink-soft); }
.lp-footer-top { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 24px; padding-bottom: 24px; border-bottom: 1px solid var(--lp-line); }
.lp-footer-top img { height: 54px; width: auto; }
.lp-footer nav { display: flex; flex-wrap: wrap; gap: 8px 22px; align-items: center; font-weight: 600; color: var(--lp-ink); }
.lp-footer nav a:hover { color: var(--lp-red); }
.lp-footer small { display: block; margin-top: 18px; font-size: 12.5px; line-height: 1.5; max-width: 70em; }

/* Barra fija móvil */
.lp-sticky { display: none; }
.is-landing .wa-float { bottom: 20px; }
.is-landing .sp-toast { --paper: #fff; }

@media (max-width: 960px) {
  .lp-nav-links { display: none; }
  .lp-hero-card, .lp-split, .lp-all, .lp-step, .lp-guarantee { grid-template-columns: 1fr; }
  .lp-hero-media { order: -1; min-height: 0; }
  .lp-bento { grid-template-columns: 1fr 1fr; }
  .lp-card.span-4, .lp-card.span-3, .lp-card.span-6 { grid-column: span 2; } .lp-card.span-2 { grid-column: span 1; }
  .lp-bonos { grid-template-columns: 1fr 1fr; }
  .lp-bono.is-wide { grid-column: span 2; }
  .lp-testi { grid-template-columns: 1fr 1fr; }
  .lp-step { position: relative; top: 0; min-height: 0; }
  .lp-step .photo { max-width: 360px; }
  .lp-guarantee .seals { flex-direction: row; justify-content: center; }
}
@media (max-width: 640px) {
  .is-landing { font-size: 16px; }
  .lp-nav { top: 8px; }
  .lp-nav-bar { height: 56px; padding-left: 14px; }
  .lp-brand img { height: 32px; }
  .lp-hero { padding-top: 76px; }
  .lp-head { flex-direction: column; }
  .lp-star { display: none; }
  .lp-bento, .lp-bonos, .lp-testi, .lp-plans { grid-template-columns: 1fr; }
  .lp-card.span-4, .lp-card.span-3, .lp-card.span-6, .lp-card.span-2, .lp-bono.is-wide { grid-column: span 1; }
  .lp-bono.is-wide { grid-template-columns: 1fr; }
  .lp-row summary { grid-template-columns: 44px 1fr 36px; padding: 18px 0; }
  .lp-row p { padding: 0 0 20px 56px; }
  .lp-pay { grid-template-columns: 1fr; text-align: center; justify-items: center; }
  .lp-hero-ctas .lp-btn { width: 100%; }
  .lp-sticky { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 53; gap: 10px; align-items: center; padding: 10px 84px 10px 14px; background: color-mix(in srgb, var(--lp-dark-2) 96%, transparent); color: var(--lp-on-dark); transform: translateY(110%); transition: transform .4s; }
  .lp-sticky.on { transform: none; }
  .lp-sticky span { font-size: 13px; line-height: 1.2; flex: 1; }
  .lp-sticky span b { display: block; font: 600 20px var(--lp-serif); color: var(--lp-gold-2); }
  .lp-sticky .lp-btn { min-height: 44px; padding: 0 16px; font-size: 14.5px; }
  .is-landing .wa-float { bottom: 10px; right: 12px; }
  .is-landing .sp-toast { bottom: 78px; }
}
@media (prefers-reduced-motion: reduce) { .lp-star, .lp-guarantee .seals img:first-child { animation: none; } }

/* Bonos: la imagen siempre completa dentro de su marco (sin recortes) */
.lp-bono .pic { position: relative; }
.lp-bono .pic img { position: absolute; left: 4%; top: 4%; width: 92%; height: 92%; max-width: none; object-fit: contain; }

/* Pie de landing centrado */
.lp-footer { text-align: center; }
.lp-footer-top { flex-direction: column; align-items: center; gap: 18px; }
.lp-footer nav { justify-content: center; }
.lp-footer small { margin-left: auto; margin-right: auto; max-width: 62em; }

/* =========================================================
   Tema Barber Master (paleta de master.elsalonvirtual.com)
   ========================================================= */
.page-barber-master.is-landing {
  --lp-dark: #2C3E50;
  --lp-dark-2: #1B2631;
  --lp-dark-3: #3D5568;
  --lp-gold: #E8910C;
  --lp-gold-2: #F0A500;
  --lp-bg: #F0F0F0;
  --lp-panel: #E2E6EA;
  --lp-panel-2: #D3D9E0;
  --lp-ink: #1B2631;
  --lp-ink-soft: #4E5D6C;
  --lp-on-dark: #F4F6F8;
  --lp-on-dark-soft: rgba(244, 246, 248, .74);
  --lp-line: rgba(44, 62, 80, .16);
}
.page-barber-master .lp-hero::before { content: "BM"; }
.lp-wordmark { font: 700 22px/1 var(--lp-serif); letter-spacing: .02em; color: var(--lp-on-dark); white-space: nowrap; }
.lp-wordmark em { font-style: italic; color: var(--lp-gold-2); }
.lp-wordmark sup { font: 600 10px var(--lp-sans); color: var(--lp-gold-2); }

/* Texto narrativo */
.lp-prose { max-width: 40em; }
.lp-prose p { margin: 0 0 14px; font-size: 17.5px; color: var(--lp-ink-soft); }
.lp-prose p strong { color: var(--lp-ink); }
.lp-prose .big { font: 600 clamp(24px, 2.6vw, 32px)/1.2 var(--lp-serif); color: var(--lp-ink); margin: 22px 0; }
.lp-prose .big em { color: var(--lp-gold); }
.lp-img { width: 100%; height: auto; border-radius: var(--lp-r); box-shadow: 0 30px 60px -36px rgba(27,38,49,.6); }

/* Cita + no/sí */
.lp-quote { font: italic 600 clamp(28px, 3.4vw, 44px)/1.1 var(--lp-serif); color: var(--lp-ink); margin: 0 0 18px; }
.lp-xlist { list-style: none; margin: 18px 0 0; padding: 0; }
.lp-xlist li { display: grid; grid-template-columns: 30px 1fr; gap: 10px; padding: 12px 0; border-top: 1px dashed var(--lp-line); font-size: 16.5px; }
.lp-xlist i { font-style: normal; width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; font-size: 13px; font-weight: 800; color: #fff; background: var(--lp-red); }
.lp-xlist li.ok i { background: var(--lp-green); }
.lp-xlist li.ok { font-weight: 700; }

/* Puntos de dolor/revelación (2 columnas) */
.lp-points { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px 18px; }
.lp-points li { position: relative; padding: 14px 16px 14px 46px; border-radius: 12px; background: var(--lp-bg); font-size: 15.5px; color: var(--lp-ink-soft); line-height: 1.45; }
.lp-points li strong { color: var(--lp-ink); }
.lp-points li::before { content: ""; position: absolute; left: 16px; top: 16px; width: 16px; height: 16px; border-radius: 50%; border: 3px solid var(--lp-red); }

/* Las 4 áreas */
.lp-areas { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 26px; }
.lp-area { padding: 22px; border-radius: var(--lp-r); background: rgba(255,255,255,.06); border: 1px solid var(--lp-line-dark); }
.lp-area b { display: block; font: 600 24px/1.1 var(--lp-serif); color: var(--lp-gold-2); margin-bottom: 8px; }
.lp-area span { font-size: 14.5px; color: var(--lp-on-dark-soft); }

/* Perfiles */
.lp-profiles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.lp-profile { border-radius: var(--lp-r); overflow: hidden; background: var(--lp-bg); display: flex; flex-direction: column; }
.lp-profile img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.lp-profile div { padding: 18px 18px 20px; }
.lp-profile h3 { margin: 0 0 6px; font: 600 23px/1.1 var(--lp-serif); }
.lp-profile p { margin: 0; font-size: 14.5px; color: var(--lp-ink-soft); }

/* Equipo adicional */
.lp-team { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 18px; }
.lp-member { display: grid; grid-template-columns: 64px 1fr; gap: 12px; align-items: center; padding: 12px; border-radius: 14px; background: var(--lp-bg); }
.lp-member img { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; object-position: 50% 15%; background: var(--lp-dark); }
.lp-member b { display: block; font: 600 18px/1.1 var(--lp-serif); }
.lp-member span { font-size: 13.5px; color: var(--lp-ink-soft); line-height: 1.35; }

/* Cifras */
.lp-nums { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 30px; }
.lp-num { padding: 22px; border-radius: var(--lp-r); background: var(--lp-panel-2); text-align: center; }
.lp-num b { display: block; font: 600 clamp(40px, 4.4vw, 58px)/1 var(--lp-serif); color: var(--lp-dark); }
.lp-num span { font-size: 14px; color: var(--lp-ink-soft); }

/* Advertencia */
.lp-warn { margin-top: 22px; padding: 22px 24px; border-radius: 14px; border: 2px solid var(--lp-red); background: rgba(227,6,19,.06); }
.lp-warn h3 { margin: 0 0 10px; font: 700 15px var(--lp-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--lp-red); }
.lp-warn p { margin: 0 0 8px; color: var(--lp-ink-soft); }

@media (max-width: 960px) {
  .lp-points, .lp-areas { grid-template-columns: 1fr 1fr; }
  .lp-profiles { grid-template-columns: 1fr 1fr; }
  .lp-team, .lp-nums { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .lp-points, .lp-areas, .lp-profiles, .lp-team { grid-template-columns: 1fr; }
  .lp-wordmark { font-size: 19px; }
}

/* Hero con video (VSL): texto → video → botón. En escritorio el video va a la derecha */
.lp-hero-card.is-vsl { grid-template-areas: "copy vid" "act vid"; grid-template-rows: auto 1fr; row-gap: 0; }
.lp-hero-copy { grid-area: copy; align-self: end; }
.lp-hero-vid { grid-area: vid; margin: 0; align-self: center; }
.lp-hero-act { grid-area: act; align-self: start; }
.lp-hero-vid .lp-video { box-shadow: 0 30px 60px -30px rgba(0,0,0,.6); }
.lp-hero-vid figcaption { margin-top: 14px; text-align: center; font: 600 clamp(19px, 1.9vw, 24px)/1.2 var(--lp-serif); color: var(--lp-on-dark); }
.lp-hero-vid figcaption em { color: var(--lp-gold-2); }
.lp-mock { display: block; width: 100%; max-width: 1040px; height: auto; margin: 10px auto 0; filter: drop-shadow(0 26px 30px rgba(27,5,46,.28)); }
@media (max-width: 960px) {
  .lp-hero-card.is-vsl { grid-template-areas: "copy" "vid" "act"; grid-template-rows: none; row-gap: 26px; }
  .lp-hero-card.is-vsl .lp-hero-copy p.lp-text { margin-bottom: 0; }
}

/* Bono ancho: sin caja interna y con más protagonismo */
.lp-bono.is-wide { grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); }
.lp-bono.is-wide .pic { background: none; overflow: visible; }
.lp-bono.is-wide .pic img { left: 0; top: 0; width: 100%; height: 100%; }
.lp-bono.is-wide:hover .pic img { transform: scale(1.03); }

/* Fotos de formadores centradas cuando la tarjeta va en una columna */
@media (max-width: 960px) { .lp-step .photo { width: 100%; margin-inline: auto; } }
@media (min-width: 961px) {
  .lp-hero-card.is-vsl { grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); }
  .lp-hero-card.is-vsl .lp-h1 { font-size: clamp(38px, 3.9vw, 56px); }
}
/* Hero en una columna (tablet y celular): todo centrado sobre el eje del video */
@media (max-width: 960px) {
  .lp-hero-card.is-vsl { text-align: center; }
  .lp-hero-card.is-vsl p.lp-text { margin-left: auto; margin-right: auto; }
  .lp-hero-card.is-vsl .lp-hero-ctas, .lp-hero-card.is-vsl .lp-stats { justify-content: center; }
}
@media (max-width: 640px) {
  .lp-hero-card.is-vsl .lp-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
  .lp-hero-card.is-vsl .lp-stat span { display: block; font-size: 12px; line-height: 1.3; }
}
/* Cifras del hero con video: siempre en una fila de tres */
.lp-hero-card.is-vsl .lp-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px 20px; }
.lp-hero-card.is-vsl .lp-stat span { display: block; line-height: 1.3; }
.lp-hero-card.is-vsl .lp-stat span { margin-top: 6px; }

/* =========================================================
   Tema Balayage Expert Series (paleta de balayage.elsalonvirtual.com)
   azul noche #282A3A · malva #B4A5A5 · dorado #C69749
   ========================================================= */
.page-balayage.is-landing {
  --lp-dark: #282A3A;
  --lp-dark-2: #1C1D29;
  --lp-dark-3: #3D4060;
  --lp-gold: #C69749;
  --lp-gold-2: #DDB571;
  --lp-bg: #F3EEEE;
  --lp-panel: #E2D9D9;
  --lp-panel-2: #D3C7C7;
  --lp-ink: #282A3A;
  --lp-ink-soft: #5E5868;
  --lp-on-dark: #F6F1F1;
  --lp-on-dark-soft: #C7BABA;
  --lp-line: rgba(40, 42, 58, .16);
}
.page-balayage .lp-hero::before { content: "BES"; }

/* Tarjeta oscura de 2 columnas con video (sin VSL) */
.lp-hero-card:not(.is-vsl) .lp-hero-vid { grid-area: auto; }

/* Dos fotos lado a lado */
.lp-photos { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.lp-photos img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--lp-r); }

/* Componentes del programa: mockup + texto, alternando */
.lp-feats { display: grid; gap: 16px; }
.lp-feat { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(20px, 4vw, 54px); align-items: center; padding: clamp(22px, 3.4vw, 44px); border-radius: var(--lp-r); background: var(--lp-panel); }
.lp-feat:nth-child(even) { grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); }
.lp-feat:nth-child(even) .pic { order: 2; }
.lp-feat.is-dark { background: radial-gradient(120% 120% at 0% 0%, var(--lp-dark-3), var(--lp-dark) 55%, var(--lp-dark-2)); color: var(--lp-on-dark); }
.lp-feat .pic { display: grid; place-items: center; aspect-ratio: 4 / 3; }
.lp-feat .pic img { max-width: 92%; max-height: 100%; width: auto; height: auto; filter: drop-shadow(0 24px 24px rgba(0,0,0,.3)); transition: transform .7s cubic-bezier(.2,.8,.2,1); }
.lp-feat:hover .pic img { transform: scale(1.05) rotate(-2deg); }
.lp-feat small { display: block; font-size: 12.5px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--lp-gold); margin-bottom: 8px; }
.lp-feat h3 { margin: 0 0 12px; font: 600 clamp(28px, 3vw, 40px)/1.08 var(--lp-serif); }
.lp-feat p { margin: 0 0 10px; color: var(--lp-ink-soft); }
.lp-feat.is-dark p { color: var(--lp-on-dark-soft); }
.lp-feat.is-dark strong { color: var(--lp-on-dark); }

/* Temario dentro de las filas desplegables */
.lp-row-body { padding: 0 52px 24px 82px; color: var(--lp-ink-soft); }
.lp-row-body p { padding: 0; margin: 0 0 10px; }
.lp-topics { list-style: none; margin: 0 0 12px; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 6px 18px; }
.lp-topics li { position: relative; padding-left: 22px; font-size: 15.5px; color: var(--lp-ink); }
.lp-topics li::before { content: "✓"; position: absolute; left: 0; color: var(--lp-gold); font-weight: 800; }

/* Bono ancho sin imagen */
.lp-bono.is-wide.no-pic { grid-template-columns: 1fr; }

@media (max-width: 960px) {
  .lp-feat, .lp-feat:nth-child(even) { grid-template-columns: 1fr; text-align: center; }
  .lp-feat:nth-child(even) .pic { order: 0; }
  .lp-feat .pic { aspect-ratio: auto; max-height: 300px; }
  .lp-feat .pic img { max-height: 280px; }
}
@media (max-width: 640px) {
  .lp-photos { grid-template-columns: 1fr; }
  .lp-row-body { padding: 0 0 22px 56px; }
  .lp-topics { grid-template-columns: 1fr; }
}

/* Bono/módulo ancho en celular: imagen arriba a todo el ancho y texto centrado debajo */
@media (max-width: 760px) {
  .lp-bono.is-wide { grid-template-columns: 1fr; gap: 14px; text-align: center; }
  .lp-bono.is-wide .pic { width: 100%; }
}

/* Cuadrículas: si un elemento queda solo en la última fila, va centrado (no pegado a la izquierda) */
.lp-bonos, .lp-testi { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; }
.lp-bonos > *, .lp-testi > * { flex: 0 0 calc((100% - 28px) / 3); min-width: 0; }
.lp-bonos > .lp-bono.is-wide { flex-basis: 100%; }
.lp-points { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 18px; }
.lp-points > li { flex: 0 0 calc((100% - 18px) / 2); min-width: 0; }
@media (max-width: 960px) {
  .lp-bonos > *, .lp-testi > * { flex-basis: calc((100% - 14px) / 2); }
}
@media (max-width: 640px) {
  .lp-bonos > *, .lp-testi > *, .lp-points > li { flex-basis: 100%; }
}

/* =========================================================
   Tema Fundamentos de Barbería (paleta de barberia.elsalonvirtual.com)
   carbón #29252C · azul pizarra #33425B · azul claro #D8E9F0 · naranja #FF9F29
   ========================================================= */
.page-barberia.is-landing {
  --lp-dark: #29252C;
  --lp-dark-2: #1B181D;
  --lp-dark-3: #33425B;
  --lp-gold: #F08A0C;
  --lp-gold-2: #FF9F29;
  --lp-bg: #F1F7FA;
  --lp-panel: #D8E9F0;
  --lp-panel-2: #C5DCE6;
  --lp-ink: #29252C;
  --lp-ink-soft: #4C5664;
  --lp-on-dark: #F2F7FA;
  --lp-on-dark-soft: rgba(216, 233, 240, .8);
  --lp-line: rgba(41, 37, 44, .15);
}
.page-barberia .lp-hero::before { content: "ESV"; }

/* Tres tarjetas con foto (errores y perfiles) */
.lp-profiles.is-3 { grid-template-columns: repeat(3, 1fr); }
.lp-profiles.is-3 .lp-profile img { aspect-ratio: 4 / 3; object-position: 50% 30%; }
.lp-profile p strong { color: var(--lp-ink); }
.is-panel .lp-profile { background: var(--lp-bg); }

/* Testimonios de dos en dos */
.lp-testi.is-2 > * { flex-basis: calc((100% - 14px) / 2); }

/* Un solo plan, centrado */
.lp-plans.is-single { grid-template-columns: minmax(0, 620px); justify-content: center; }
.lp-value li { display: flex; justify-content: space-between; gap: 12px; }
.lp-value s { color: var(--lp-gold-2); text-decoration-thickness: 2px; white-space: nowrap; }
.lp-value li.total { font-weight: 800; font-size: 17px; border-top-style: solid; }
.lp-value li.total::before { content: "★"; }
.lp-demo { margin: 0; }

@media (max-width: 960px) { .lp-profiles.is-3 { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) {
  .lp-profiles.is-3 { grid-template-columns: 1fr; }
  .lp-testi.is-2 > * { flex-basis: 100%; }
}
.lp-profiles.is-3 { display: flex; flex-wrap: wrap; justify-content: center; }
.lp-profiles.is-3 > * { flex: 0 0 calc((100% - 28px) / 3); min-width: 0; }
@media (max-width: 960px) { .lp-profiles.is-3 > * { flex-basis: calc((100% - 14px) / 2); } }
@media (max-width: 640px) { .lp-profiles.is-3 > * { flex-basis: 100%; } }

/* =========================================================
   Tema Corte Femenino (paleta de corte.elsalonvirtual.com)
   morado #2A0944 · dorado #FEC260 · magenta #A12568 · gris claro
   ========================================================= */
.page-corte-femenino.is-landing {
  --lp-dark: #2A0944;
  --lp-dark-2: #1A052B;
  --lp-dark-3: #3B185F;
  --lp-gold: #A12568;
  --lp-gold-2: #FEC260;
  --lp-bg: #F4F3F3;
  --lp-panel: #E5E3E3;
  --lp-panel-2: #D9D6D8;
  --lp-ink: #1E0A2E;
  --lp-ink-soft: #57505E;
  --lp-line: rgba(42, 9, 68, .14);
}
.page-corte-femenino .lp-hero::before { content: "SMART"; }
.page-corte-femenino .lp-hero-card .lp-eyebrow, .page-corte-femenino .lp-cta .lp-eyebrow, .page-corte-femenino .lp-guarantee .lp-eyebrow { color: var(--lp-gold-2); }
.page-corte-femenino .lp-hero-card .lp-h1 em, .page-corte-femenino .lp-hero-card .lp-h2 em, .page-corte-femenino .lp-cta em, .page-corte-femenino .lp-guarantee em { color: var(--lp-gold-2); }

/* Tarjeta oscura solo de texto, en dos columnas */
.lp-hero-card.is-text { align-items: start; }
.lp-hero-card.is-text strong { color: var(--lp-on-dark); }

/* Es / no es para ti · antes / después */
.lp-fit { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 22px; }
.lp-fit > div { padding: clamp(20px, 3vw, 32px); border-radius: var(--lp-r); background: var(--lp-bg); }
.lp-fit h3 { margin: 0 0 6px; font: 600 clamp(24px, 2.4vw, 30px)/1.1 var(--lp-serif); }
.lp-fit .lp-xlist { margin: 0; }

/* Capturas de WhatsApp de alumnas */
.lp-chats { display: flex; flex-wrap: wrap; justify-content: center; gap: 18px; }
.lp-chats img { width: min(100%, 380px); height: auto; border-radius: 22px; box-shadow: 0 30px 60px -34px rgba(27,5,46,.55); }

@media (max-width: 760px) { .lp-fit { grid-template-columns: 1fr; } }
/* Imagen diseñada para fondo oscuro */
.lp-onDark { padding: clamp(14px, 2vw, 22px); border-radius: var(--lp-r); background: radial-gradient(120% 120% at 0% 0%, var(--lp-dark-3), var(--lp-dark) 55%, var(--lp-dark-2)); box-shadow: 0 30px 60px -34px rgba(27,5,46,.6); }
.lp-onDark img { display: block; width: 100%; height: auto; }

/* =========================================================
   Tema Diplomado de Barbería Nivel 4 (paleta de diplomado.elsalonvirtual.com)
   azul noche #232D3F · pizarra #334756 · dorado #ECB365 · naranja #F0A500
   ========================================================= */
.page-diplomado-barberia.is-landing {
  --lp-dark: #232D3F;
  --lp-dark-2: #161D2A;
  --lp-dark-3: #334756;
  --lp-gold: #C98A2E;
  --lp-gold-2: #ECB365;
  --lp-bg: #F2F3F5;
  --lp-panel: #E1E4E8;
  --lp-panel-2: #D3D8DE;
  --lp-ink: #1B2230;
  --lp-ink-soft: #4F5A68;
  --lp-on-dark: #F2F4F7;
  --lp-on-dark-soft: rgba(221, 226, 232, .78);
  --lp-line: rgba(35, 45, 63, .15);
}
.page-diplomado-barberia .lp-hero::before { content: "N4"; }
/* Cajas de módulos: más altas para el mockup vertical */
.lp-bonos.is-mods .pic { aspect-ratio: 1 / 1; }
.lp-bono p strong { color: var(--lp-ink); }
/* Video destacado de testimonios */
.lp-testi-feature { max-width: 820px; margin: 0 auto 34px; padding: 12px 12px 14px; border-radius: var(--lp-r); background: var(--lp-panel-2); }
.lp-testi-feature .lp-video { border-radius: 12px; box-shadow: none; }
.lp-testi-feature figcaption { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 12px 4px 0; font-size: 15px; font-weight: 600; }

/* =========================================================
   Tema Fundamentos de Color (paleta de color.elsalonvirtual.com)
   azul noche #1A1A2E · dorado #FFD700 · rojo #C0392B
   ========================================================= */
.page-color.is-landing {
  --lp-dark: #1A1A2E;
  --lp-dark-2: #10101E;
  --lp-dark-3: #2E2E52;
  --lp-gold: #B8860B;
  --lp-gold-2: #FFD700;
  --lp-bg: #F5F5F7;
  --lp-panel: #E6E6EC;
  --lp-panel-2: #D8D8E2;
  --lp-ink: #1A1A2E;
  --lp-ink-soft: #55556A;
  --lp-on-dark: #F4F4F8;
  --lp-on-dark-soft: rgba(236, 240, 241, .78);
  --lp-line: rgba(26, 26, 46, .15);
}
.page-color .lp-hero::before { content: "COLOR"; }

/* Galería de resultados y franja de temas */
.lp-gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.lp-gallery img, .lp-topics-strip img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 14px; box-shadow: 0 24px 40px -30px rgba(0,0,0,.55); }
.lp-topics-strip { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.lp-topics-strip img { flex: 0 0 calc((100% - 24px) / 3); min-width: 0; }
@media (max-width: 760px) {
  .lp-gallery { grid-template-columns: 1fr 1fr; }
  .lp-topics-strip img { flex-basis: calc((100% - 12px) / 2); }
}
