
/* —— Fase 1: shell en cualquier ruta premium (no solo home) —— */
body.lc-premium {
  margin: 0;
  background: #071018;
  color: #e8eef2;
  font-family: "Montserrat", system-ui, sans-serif;
  font-weight: 700;
  font-size: 1.05rem;
  line-height: 1.7;
  overflow-x: hidden;
}
body.lc-premium #contenido-principal,
body.lc-premium .lc-site-footer,
body.lc-premium .lc-site-header {
  position: relative;
  z-index: 1;
}
body.lc-premium .lc-site-header {
  position: fixed;
  z-index: 1300;
}
body.lc-premium .site-content,
body.lc-premium #content,
body.lc-premium .ast-container,
body.lc-premium .entry-content,
body.lc-premium #primary,
body.lc-premium article {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
body.lc-premium #contenido-principal {
  padding-top: var(--lc-header-h, 88px);
}
body.lc-premium-home #contenido-principal {
  padding-top: 0; /* hero full-bleed */
}

/**
 * LOGOS-CORP Premium v3 — luz, contraste, presencia de firma
 */
@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,700;1,700&display=swap");

body.lc-premium-home #ast-desktop-header,
body.lc-premium-home #ast-mobile-header,
body.lc-premium-home .site-header,
body.lc-premium-home .site-footer,
body.lc-premium-home footer#colophon,
body.lc-premium-home #ast-scroll-top,
body.lc-premium-home .fixed-bottom-menu,
body.lc-premium-home #fixed-bottom-menu,
body.lc-premium-home .fixed-bottom-menu-container,
body.lc-premium-home #tawkchat-container,
body.lc-premium-home iframe[src*="tawk.to"],
body.lc-premium-home div[id^="tawk"],
body.lc-premium-home .widget-visible,
body.lc-premium-home .entry-header,
body.lc-premium-home .entry-title {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

body.lc-premium-home {
  margin: 0;
  background: #071018;
  color: #e8eef2;
  font-family: "Montserrat", system-ui, sans-serif;
  font-weight: 700;
  font-size: 1.05rem;
  line-height: 1.7;
  overflow-x: hidden;
}

body.lc-premium-home #contenido-principal,
body.lc-premium-home .lc-site-footer,
body.lc-premium-home .lc-site-header {
  position: relative;
  z-index: 1;
}

body.lc-premium-home .lc-site-header {
  position: fixed;
  z-index: 1300;
}

body.lc-premium-home .site-content,
body.lc-premium-home #content,
body.lc-premium-home .ast-container,
body.lc-premium-home .entry-content,
body.lc-premium-home #primary,
body.lc-premium-home article {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

:root {
  --lc-wrap: min(1200px, 92vw);
  --lc-header-h: 88px;
  --lc-noche: #0e161d;
  --lc-deep: #071018;
  --lc-elev: #152433;
  --lc-azul: #123b70;
  --lc-azul-luz: #1f5fad;
  --lc-plata: #becad4;
  --lc-plata-alta: #e8eef2;
  --lc-plata-suave: #8fa3b0;
  --lc-marfil: #f5f2ec;
  --lc-blanco: #f7fafc;
  --lc-champan: #b6a07a;
  --lc-champan-alto: #d4c4a8;
  --lc-texto-btn: #1a2732;
  --lc-radius: 18px;
  --lc-font-display: "Montserrat", system-ui, sans-serif;
  --lc-font-body: "Montserrat", system-ui, sans-serif;
}

.lc-wrap {
  width: var(--lc-wrap);
  margin-inline: auto;
  position: relative;
  z-index: 3;
}

.lc-kicker {
  margin: 0 0 0.9rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--lc-champan);
}

.lc-section-title {
  margin: 0 0 1.1rem;
  font-family: "Montserrat", system-ui, sans-serif;
  font-weight: 600;
  font-size: clamp(2.35rem, 4.6vw, 3.6rem);
  line-height: 1.1;
  color: var(--lc-blanco);
  letter-spacing: 0.01em;
  text-shadow: 0 12px 40px rgba(0, 0, 0, 0.35);
}

.lc-lead {
  margin: 0;
  max-width: 42rem;
  color: var(--lc-plata);
  font-size: 1.1rem;
  line-height: 1.75;
}

.lc-icon {
  width: 18px;
  height: 18px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex-shrink: 0;
}

/* —— Buttons —— */
.lc-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  overflow: hidden;
  isolation: isolate;
  min-height: 52px;
  padding: 0.75rem 1.5rem;
  border-radius: 12px;
  border: 1px solid transparent;
  font-family: inherit;
  font-weight: 700;
  font-size: 0.95rem;
  letter-spacing: 0.03em;
  text-decoration: none !important;
  cursor: pointer;
  transition: transform 0.25s ease, box-shadow 0.25s ease, filter 0.25s ease, border-color 0.25s ease, background 0.25s ease;
}

.lc-btn--cta {
  background: linear-gradient(180deg, #dcc9a3 0%, #b6a07a 48%, #9a825c 100%);
  border-color: #c4b08a;
  color: var(--lc-texto-btn) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.45), 0 10px 28px rgba(182, 160, 122, 0.38);
}

.lc-btn--cta::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 30%, rgba(255, 255, 255, 0.45) 48%, transparent 66%);
  transform: translateX(-120%);
  animation: lc-shine 3.2s ease-in-out infinite;
  z-index: 0;
}

.lc-btn--cta > * { position: relative; z-index: 1; }

.lc-btn--cta:hover {
  transform: translateY(-3px);
  filter: brightness(1.06);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.55), 0 18px 36px rgba(182, 160, 122, 0.48);
}

.lc-btn--ghost {
  background: rgba(255, 255, 255, 0.06);
  backdrop-filter: blur(12px);
  border-color: rgba(190, 202, 212, 0.45);
  color: var(--lc-blanco) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

.lc-btn--ghost:hover {
  background: rgba(31, 95, 173, 0.35);
  border-color: var(--lc-plata-alta);
  transform: translateY(-3px);
}

.lc-btn--wa {
  background: rgba(21, 36, 51, 0.85);
  border-color: rgba(190, 202, 212, 0.35);
  color: var(--lc-plata-alta) !important;
}

.lc-btn--wa:hover {
  border-color: #25d366;
  transform: translateY(-3px);
}

@keyframes lc-shine {
  0%, 55% { transform: translateX(-120%); }
  100% { transform: translateX(120%); }
}

/* —— Header —— */
.lc-site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1300;
  height: var(--lc-header-h);
  background: linear-gradient(180deg, rgba(7, 16, 24, 0.75) 0%, rgba(7, 16, 24, 0.25) 70%, transparent);
  transition: background 0.35s ease, box-shadow 0.35s ease, backdrop-filter 0.35s ease, height 0.3s ease;
}

.lc-site-header.is-scrolled {
  height: 76px;
  background: rgba(7, 16, 24, 0.92);
  backdrop-filter: blur(22px) saturate(1.25);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.45), inset 0 -1px 0 rgba(190, 202, 212, 0.12);
}

.lc-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  height: 100%;
}

.lc-logo img {
  display: block;
  height: 58px;
  width: auto;
  max-height: 58px;
  max-width: none;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  filter: drop-shadow(0 8px 24px rgba(0, 0, 0, 0.35)) brightness(1.12);
  transition: height 0.3s ease, max-height 0.3s ease;
}

.lc-site-header.is-scrolled .lc-logo img {
  height: 46px;
  max-height: 46px;
}

.lc-logo,
.lc-header-actions,
.lc-nav-toggle {
  position: relative;
  z-index: 1310;
}

.lc-nav-toggle {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  align-items: stretch;
  gap: 6px;
  width: 52px;
  height: 52px;
  padding: 14px 13px;
  margin-left: auto;
  border-radius: 14px;
  border: 1px solid rgba(190, 202, 212, 0.45);
  background: rgba(7, 16, 24, 0.88);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.14);
  color: #fff;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
}

.lc-nav-toggle-bar,
.lc-nav-toggle span.lc-nav-toggle-bar {
  display: block !important;
  width: 100% !important;
  height: 2px !important;
  min-height: 2px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 2px;
  background: #fff !important;
  box-shadow: 0 0 10px rgba(255, 255, 255, 0.35);
  transition: transform 0.28s ease, opacity 0.28s ease;
  flex-shrink: 0;
}

body.lc-nav-open .lc-nav-toggle-bar:nth-child(1) {
  transform: translateY(8px) rotate(45deg);
}
body.lc-nav-open .lc-nav-toggle-bar:nth-child(2) {
  opacity: 0;
}
body.lc-nav-open .lc-nav-toggle-bar:nth-child(3) {
  transform: translateY(-8px) rotate(-45deg);
}

.lc-nav-panel { display: none; }
.lc-nav-close { display: none; }
.lc-header-actions--mobile { display: none; }

.lc-menu {
  display: flex;
  align-items: center;
  gap: 0.15rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.lc-menu > li { position: relative; }

.lc-nav-link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.7rem 0.9rem;
  color: var(--lc-plata-alta);
  text-decoration: none;
  font-size: 0.84rem;
  font-weight: 650;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background: none;
  border: 0;
  font-family: inherit;
  cursor: pointer;
  position: relative;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.35);
}

.lc-nav-link::after {
  content: "";
  position: absolute;
  left: 0.9rem;
  right: 0.9rem;
  bottom: 0.35rem;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--lc-champan), transparent);
  transform: scaleX(0);
  transition: transform 0.3s ease;
  opacity: 0.9;
}

.lc-nav-link:hover,
.lc-nav-link:focus,
.lc-nav-link:focus-visible,
.lc-nav-link:active,
.lc-menu > li.is-open > .lc-nav-link {
  color: #fff;
  background: transparent !important;
  outline: none;
  box-shadow: none;
  -webkit-tap-highlight-color: transparent;
}

.lc-nav-link:hover::after,
.lc-menu > li.is-open > .lc-nav-link::after {
  transform: scaleX(1);
}

.lc-nav-chevron { width: 12px; height: 12px; opacity: 0.85; }

/* Megamenu */
/* Puente hover: mantiene aire visual sin cerrar al bajar el cursor */
.lc-menu > li.lc-has-children.is-open::after {
  content: "";
  position: absolute;
  left: -2rem;
  right: -2rem;
  top: 100%;
  height: 0.85rem;
  z-index: 59;
}

.lc-mega {
  display: none;
  position: absolute;
  top: calc(100% + 0.65rem);
  left: 50%;
  transform: translateX(-50%);
  width: min(980px, 94vw);
  padding: 1.6rem;
  border-radius: 20px;
  background:
    radial-gradient(700px 280px at 100% 0%, rgba(31, 95, 173, 0.55), transparent 55%),
    linear-gradient(165deg, rgba(21, 36, 51, 0.98), rgba(7, 16, 24, 0.98));
  border: 1px solid rgba(190, 202, 212, 0.28);
  box-shadow:
    0 40px 90px rgba(0, 0, 0, 0.55),
    inset 0 1px 0 rgba(255, 255, 255, 0.1),
    0 0 0 1px rgba(182, 160, 122, 0.08);
  backdrop-filter: blur(24px);
  z-index: 60;
}

.lc-mega::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -0.85rem;
  height: 0.85rem;
}

.lc-menu > li.is-open > .lc-mega { display: block; animation: lc-mega-in 0.28s ease; }

.lc-mega--3 {
  display: none;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}

.lc-menu > li.is-open > .lc-mega--3 { display: grid; animation: lc-mega-in 0.28s ease; }

.lc-mega--list {
  width: min(360px, 90vw);
  left: 0;
  transform: none;
}

@keyframes lc-mega-in {
  from { opacity: 0; transform: translateX(-50%) translateY(8px); }
  to { opacity: 1; transform: translateX(-50%) translateY(0); }
}

.lc-mega--list.lc-mega { /* list variant transform */
}
.lc-menu > li.is-open > .lc-mega--list {
  animation: lc-mega-in-left 0.28s ease;
}
@keyframes lc-mega-in-left {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

.lc-mega-col-title {
  margin: 0 0 0.9rem;
  padding-bottom: 0.65rem;
  border-bottom: 1px solid rgba(182, 160, 122, 0.28);
  font-size: 0.7rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--lc-champan);
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 0.55rem;
}

.lc-mega-glyph {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: linear-gradient(160deg, rgba(31, 95, 173, 0.55), rgba(18, 59, 112, 0.25));
  border: 1px solid rgba(190, 202, 212, 0.3);
  color: var(--lc-plata-alta);
  box-shadow: 0 0 20px rgba(31, 95, 173, 0.35);
}

.lc-mega-glyph svg { width: 15px; height: 15px; }

.lc-mega-links { margin: 0; padding: 0; list-style: none; display: grid; gap: 0.2rem; }

.lc-mega-links a {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.55rem 0.65rem;
  border-radius: 10px;
  color: var(--lc-plata-alta);
  text-decoration: none;
  font-size: 0.92rem;
  font-weight: 550;
  transition: background 0.2s ease, transform 0.2s ease, color 0.2s ease;
}

.lc-mega-links a svg {
  width: 16px;
  height: 16px;
  stroke: var(--lc-plata);
  opacity: 0.85;
}

.lc-mega-links a:hover {
  background: linear-gradient(90deg, rgba(31, 95, 173, 0.4), transparent);
  color: #fff;
  transform: translateX(4px);
}

.lc-header-actions { display: flex; align-items: center; gap: 0.75rem; }

.lc-header-phone {
  display: none;
  align-items: center;
  gap: 0.45rem;
  color: var(--lc-plata-alta);
  text-decoration: none;
  font-size: 0.88rem;
  font-weight: 650;
}

.lc-header-line {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(182, 160, 122, 0.55), transparent);
  transform: scaleX(calc(0.28 + var(--lc-p, 0) * 0.72));
  transform-origin: center;
}

@media (min-width: 1120px) {
  .lc-nav-toggle,
  .lc-nav-close { display: none !important; }
  .lc-header-actions--mobile { display: none !important; }
  .lc-header-inner {
    gap: 0.85rem;
  }
  .lc-logo { flex: 0 0 auto; }
  .lc-header-actions {
    flex: 0 0 auto;
    margin-left: 0;
  }
  .lc-nav-panel {
    display: flex;
    position: relative;
    flex: 1 1 auto;
    min-width: 0;
    align-items: center;
    justify-content: center;
    padding: 0 0.35rem;
    background: transparent;
    z-index: 1;
  }
  .lc-nav { display: block; max-width: 100%; }
  .lc-menu {
    flex-wrap: nowrap;
    justify-content: center;
    gap: 0;
  }
  .lc-nav-link {
    padding: 0.65rem 0.55rem;
    font-size: 0.78rem;
    letter-spacing: 0.06em;
    white-space: nowrap;
  }
  .lc-header-phone { display: inline-flex; }
}

/* Evitar apretón logo/nav/CTA en pantallas intermedias */
@media (min-width: 1120px) and (max-width: 1479px) {
  .lc-header-phone { display: none !important; }
  .lc-nav-link {
    padding: 0.6rem 0.45rem;
    font-size: 0.74rem;
    letter-spacing: 0.045em;
  }
  .lc-logo img { height: 50px; max-height: 50px; width: auto; max-width: none; }
}

/* Mobile nav — panel fuera del header (fixed real) */
@media (max-width: 1119px) {
  .lc-menu > li.lc-has-children.is-open::after,
  .lc-mega::before {
    display: none;
  }

  /* Top bar más compacto (−15% logo/hamburguesa) y menos aire bajo el header */
  :root {
    --lc-header-h: 75px;
  }
  .lc-header-inner {
    align-items: center;
  }
  .lc-logo {
    display: inline-flex;
    align-items: center;
    line-height: 0;
  }
  .lc-logo img {
    height: 49px;
    max-height: 49px;
  }
  .lc-site-header.is-scrolled {
    height: 64px;
  }
  .lc-site-header.is-scrolled .lc-logo img {
    height: 39px;
    max-height: 39px;
  }
  /* Rayas centradas al eje del logo; −10% vs 44px → 40px */
  .lc-nav-toggle {
    box-sizing: border-box;
    width: 40px;
    height: 40px;
    margin-top: 0;
    margin-bottom: 0;
    padding: 0 9px; /* sin padding vertical: el flex centra las 3 rayas */
    gap: 4px;
    border-radius: 11px;
    justify-content: center;
    align-items: stretch;
    align-self: center;
  }
  body.lc-nav-open .lc-nav-toggle-bar:nth-child(1) {
    transform: translateY(6px) rotate(45deg);
  }
  body.lc-nav-open .lc-nav-toggle-bar:nth-child(3) {
    transform: translateY(-6px) rotate(-45deg);
  }
  .lc-page--servicio .lc-svc-hero {
    padding-top: clamp(1.15rem, 3.5vw, 1.75rem);
  }

  html.lc-nav-open,
  body.lc-nav-open {
    overflow: hidden !important;
    overscroll-behavior: none;
    touch-action: none;
  }
  body.lc-nav-open {
    position: fixed;
    left: 0;
    right: 0;
    width: 100%;
  }
  body.lc-nav-open .lc-site-header {
    backdrop-filter: none !important;
    background: rgba(7, 16, 24, 0.96);
  }
  body.lc-nav-open .lc-nav-panel {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 1295;
    padding: calc(var(--lc-header-h) + 0.75rem) 1.35rem 2.5rem;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    touch-action: pan-y;
    background:
      radial-gradient(800px 400px at 100% 0%, rgba(31, 95, 173, 0.4), transparent 55%),
      radial-gradient(600px 300px at 0% 100%, rgba(182, 160, 122, 0.1), transparent 50%),
      #050a10;
  }
  body.lc-nav-open .lc-header-actions--mobile {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 1.75rem;
  }
  body.lc-nav-open .lc-nav { display: block; }
  body.lc-nav-open .lc-menu {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }
  body.lc-nav-open .lc-nav-link {
    width: 100%;
    justify-content: space-between;
    padding: 1.05rem 0.15rem;
    font-size: 1.02rem;
    letter-spacing: 0.14em;
    border-radius: 0;
    border-bottom: 1px solid rgba(190, 202, 212, 0.12);
    background: transparent !important;
    text-decoration: none !important;
    box-shadow: none !important;
  }
  body.lc-nav-open .lc-menu > li.is-open > .lc-nav-link {
    color: var(--lc-champan);
    border-bottom-color: rgba(182, 160, 122, 0.35);
    background: transparent !important;
  }
  body.lc-nav-open .lc-nav-link::after { display: none; }
  body.lc-nav-open .lc-mega,
  body.lc-nav-open .lc-mega--3,
  body.lc-nav-open .lc-mega--list {
    position: static;
    transform: none;
    width: 100%;
    display: none;
    margin: 0.35rem 0 0.9rem;
    padding: 0.85rem 0.75rem;
    border-radius: 14px;
    background: rgba(21, 36, 51, 0.55);
    border: 1px solid rgba(182, 160, 122, 0.18);
    box-shadow: none;
    backdrop-filter: none;
  }
  body.lc-nav-open .lc-menu > li.is-open > .lc-mega--3 {
    display: grid;
    grid-template-columns: 1fr;
  }
  body.lc-nav-open .lc-menu > li.is-open > .lc-mega--list { display: block; }
}

/* —— Hero —— */
.lc-hero {
  position: relative;
  min-height: 100svh;
  display: grid;
  align-items: end;
  padding: calc(var(--lc-header-h) + 2.5rem) 0 4.5rem;
  overflow: hidden;
  background: #03070c;
}

.lc-hero-media { position: absolute; inset: 0; z-index: 0; }

.lc-hero-media video,
.lc-hero-media img.lc-hero-poster {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.lc-hero-media video { z-index: 1; }

.lc-hero-veil {
  position: absolute;
  inset: 0;
  z-index: 2;
  background:
    radial-gradient(1100px 560px at 85% 10%, rgba(31, 95, 173, 0.5), transparent 58%),
    radial-gradient(700px 380px at 15% 90%, rgba(182, 160, 122, 0.14), transparent 55%),
    linear-gradient(100deg, rgba(3, 7, 12, 0.78) 0%, rgba(3, 7, 12, 0.28) 55%, rgba(3, 7, 12, 0.55) 100%),
    linear-gradient(180deg, rgba(3, 7, 12, 0.25) 0%, transparent 40%, rgba(3, 7, 12, 0.88) 100%);
  pointer-events: none;
}

.lc-hero-grain {
  position: absolute;
  inset: 0;
  z-index: 3;
  opacity: 0.07;
  mix-blend-mode: overlay;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.lc-hero-spot {
  position: absolute;
  width: 48vw;
  height: 48vw;
  right: -10%;
  top: 5%;
  z-index: 2;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(31, 95, 173, 0.45), transparent 68%);
  filter: blur(50px);
  pointer-events: none;
  transform: translate3d(calc(var(--lc-mx, 0.5) * 30px), calc(var(--lc-my, 0.5) * 20px), 0);
}

.lc-hero-content {
  position: relative;
  z-index: 4;
  max-width: 44rem;
}

.lc-brand-line {
  display: inline-block;
  margin: 0 0 1rem;
  padding-bottom: 0.55rem;
  border-bottom: 1px solid rgba(182, 160, 122, 0.55);
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--lc-champan);
}

.lc-hero h1 {
  margin: 0 0 1.15rem;
  font-family: "Montserrat", system-ui, sans-serif;
  font-weight: 600;
  font-size: clamp(2.6rem, 6vw, 4.2rem);
  line-height: 1.04;
  color: #fff;
  text-shadow: 0 24px 60px rgba(0, 0, 0, 0.55);
}

.lc-hero .lc-lead {
  margin-bottom: 1.75rem;
  color: var(--lc-plata-alta);
  font-size: 1.14rem;
  max-width: 36rem;
}

.lc-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  margin: 0 0 1.25rem;
}

.lc-hero-phone {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  color: var(--lc-plata-alta);
  text-decoration: none;
  font-weight: 700;
  font-size: 1.02rem;
}

.lc-hero-phone:hover { color: var(--lc-champan); }

/* Mobile hero: video first, less text */
@media (max-width: 767px) {
  .lc-hero {
    min-height: 100svh;
    align-items: flex-end;
    padding: calc(var(--lc-header-h) + 1rem) 0 3.25rem;
  }
  .lc-hero h1 {
    font-size: 2.15rem;
    max-width: 16ch;
  }
  .lc-hero .lc-lead,
  .lc-hero .lc-brand-line {
    display: none;
  }
  .lc-hero-actions .lc-btn--ghost { display: none; }
  .lc-hero-veil {
    background:
      radial-gradient(700px 360px at 70% 20%, rgba(31, 95, 173, 0.4), transparent 55%),
      linear-gradient(180deg, rgba(3, 7, 12, 0.15) 0%, rgba(3, 7, 12, 0.2) 45%, rgba(3, 7, 12, 0.92) 100%);
  }
  .lc-hero-phone { font-size: 0.95rem; }
}

/* —— Ticker —— */
.lc-ticker {
  position: relative;
  z-index: 5;
  height: 48px;
  overflow: hidden;
  border-block: 1px solid rgba(182, 160, 122, 0.22);
  background: linear-gradient(90deg, #03070c, #0e161d 40%, #123b70 50%, #0e161d 60%, #03070c);
  background-size: 200% 100%;
  animation: lc-ticker-bg 14s ease-in-out infinite;
}

@keyframes lc-ticker-bg {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}

.lc-ticker-track {
  display: flex;
  align-items: center;
  gap: 2.75rem;
  height: 100%;
  width: max-content;
  padding-left: 3vw;
  white-space: nowrap;
  animation: lc-marquee 36s linear infinite;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

/* Celular: marquee más lento para poder leer. */
@media (max-width: 899px) {
  .lc-ticker-track {
    animation-duration: 64s;
  }
}

@media (max-width: 899px) and (orientation: landscape) {
  .lc-ticker-track {
    animation-duration: 58s;
  }
}

.lc-ticker-lema { color: var(--lc-plata-alta); }
.lc-ticker-promo { color: var(--lc-champan); text-shadow: 0 0 18px rgba(182, 160, 122, 0.35); }

@keyframes lc-marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

/* —— Sections with light —— */
.lc-section {
  position: relative;
  padding: clamp(4.5rem, 9vw, 7rem) 0;
  overflow: hidden;
}

.lc-section--night {
  background:
    radial-gradient(1000px 480px at 90% -10%, rgba(31, 95, 173, 0.38), transparent 55%),
    radial-gradient(700px 360px at -5% 80%, rgba(182, 160, 122, 0.1), transparent 50%),
    linear-gradient(180deg, #0e161d 0%, #0a141c 100%);
}

.lc-section--deep {
  background:
    radial-gradient(900px 420px at 5% 10%, rgba(31, 95, 173, 0.45), transparent 55%),
    radial-gradient(600px 300px at 100% 90%, rgba(182, 160, 122, 0.1), transparent 50%),
    linear-gradient(180deg, #071018 0%, #0e161d 50%, #071018 100%);
}

.lc-section--band {
  background:
    linear-gradient(115deg, rgba(18, 59, 112, 0.75) 0%, rgba(14, 22, 29, 0.95) 38%, #0e161d 100%);
  border-block: 1px solid rgba(190, 202, 212, 0.16);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.lc-section-mist {
  position: absolute;
  inset: auto 0 0 0;
  height: 50%;
  z-index: 0;
  background: radial-gradient(80% 90% at 70% 100%, rgba(31, 95, 173, 0.22), transparent 70%);
  pointer-events: none;
}

.lc-section-head { margin-bottom: 2.75rem; max-width: 44rem; }

/* Metrics as lit cards */
.lc-metrics {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  margin-top: 2.75rem;
}

@media (min-width: 860px) {
  .lc-metrics { grid-template-columns: repeat(4, 1fr); }
}

.lc-metric {
  position: relative;
  padding: 1.35rem 1.2rem;
  border-radius: 16px;
  background: linear-gradient(165deg, rgba(31, 95, 173, 0.28), rgba(21, 36, 51, 0.75));
  border: 1px solid rgba(190, 202, 212, 0.22);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 18px 40px rgba(0, 0, 0, 0.25);
  overflow: hidden;
}

.lc-metric::before {
  content: "";
  position: absolute;
  top: 0;
  left: 1rem;
  right: 1rem;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--lc-champan), transparent);
}

.lc-metric strong {
  display: block;
  font-family: "Montserrat", system-ui, sans-serif;
  font-size: clamp(2.3rem, 3.4vw, 3rem);
  font-weight: 600;
  color: #fff;
  line-height: 1;
  margin-bottom: 0.55rem;
  text-shadow: 0 0 40px rgba(31, 95, 173, 0.55);
}

.lc-metric span {
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--lc-plata);
  font-weight: 700;
}

/* Cards */
.lc-grid-3 {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.4rem;
}

@media (min-width: 960px) {
  .lc-grid-3 { grid-template-columns: repeat(3, 1fr); }
}

.lc-disc-rail-wrap {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

/*
 * Disciplinas: misma tarjeta premium que .lc-metric / .lc-trust (estudio + por qué elegirnos).
 * Foto, texto y acciones van DENTRO del panel (padding + media inset). Hereda al agregar cards.
 */
.lc-grid-trust .lc-trust {
  position: relative;
  overflow: hidden;
}

.lc-grid-trust .lc-trust::before {
  content: "";
  position: absolute;
  top: 0;
  left: 1rem;
  right: 1rem;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--lc-champan), transparent);
  z-index: 8;
  pointer-events: none;
}

/*
 * Tarjeta = mismo cascarón que .lc-metric (img 2).
 * Todo el contenido VA DENTRO (padding); la foto no va a sangre.
 * Las 3 del mismo tamaño (PC / tablet / móvil).
 */
#disciplinas .lc-grid-3.lc-disc-rail {
  align-items: stretch;
}

#disciplinas .lc-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  height: 100%;
  min-height: 100%;
  box-sizing: border-box;
  padding: 1.2rem 1.15rem 1.35rem;
  border-radius: 16px;
  background: linear-gradient(165deg, rgba(31, 95, 173, 0.28), rgba(21, 36, 51, 0.75));
  border: 1px solid rgba(190, 202, 212, 0.22);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 18px 40px rgba(0, 0, 0, 0.25);
  overflow: hidden;
  transform-style: flat;
  backdrop-filter: none;
}

#disciplinas .lc-card::after {
  content: none;
  display: none;
}

/* Filete = .lc-metric::before */
#disciplinas .lc-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 1rem;
  right: 1rem;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--lc-champan), transparent);
  z-index: 8;
  pointer-events: none;
}

#disciplinas .lc-card .lc-card-media {
  position: relative;
  z-index: 0;
  flex: 0 0 auto;
  width: 100%;
  aspect-ratio: 16 / 10;
  margin: 0;
  border: 0;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: none;
}

#disciplinas .lc-card .lc-card-media::before,
#disciplinas .lc-card .lc-card-media::after {
  content: none;
  display: none;
}

#disciplinas .lc-card .lc-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

#disciplinas .lc-card .lc-card-body {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  gap: 0.75rem;
  padding: 0;
  margin: 0;
  background: transparent;
}

#disciplinas .lc-card .lc-card-body h3 {
  margin: 0;
  color: #fff;
  min-height: 2.4em;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

#disciplinas .lc-card .lc-card-body p {
  margin: 0;
  flex: 1 1 auto;
  color: var(--lc-plata);
  min-height: calc(1.55em * 4);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
  line-height: 1.55;
}

/* Acciones a la izquierda (alineadas con título y cuerpo) */
#disciplinas .lc-card .lc-card-actions {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 0.65rem;
  margin-top: auto;
  padding-top: 0.2rem;
  width: 100%;
  text-align: left;
}

#disciplinas .lc-card .lc-card-actions .lc-btn,
#disciplinas .lc-card .lc-card-actions .lc-link {
  align-self: flex-start;
}

#disciplinas .lc-card .lc-card-actions .lc-link {
  border-bottom: 0;
  padding-bottom: 0;
  line-height: 1.3;
  text-align: left;
  text-decoration: none;
}

/* Riel móvil: solo layout; cascarón premium hereda de #disciplinas .lc-card */
@media (max-width: 899.98px) {
  #disciplinas {
    overflow-x: clip;
  }

  .lc-disc-rail-wrap {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: visible;
  }

  .lc-grid-3.lc-disc-rail {
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: stretch;
    gap: 1rem;
    width: auto;
    max-width: none;
    min-width: 0;
    margin-inline: calc((100vw - min(1200px, 92vw)) / -2);
    padding-inline: calc((100vw - min(1200px, 92vw)) / 2);
    padding-bottom: 1rem;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: calc((100vw - min(1200px, 92vw)) / 2);
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    grid-template-columns: none !important;
    scrollbar-width: thin;
    scrollbar-color: rgba(182, 160, 122, 0.5) transparent;
  }

  .lc-disc-rail::-webkit-scrollbar {
    height: 4px;
  }

  .lc-disc-rail::-webkit-scrollbar-thumb {
    background: rgba(182, 160, 122, 0.45);
    border-radius: 4px;
  }

  .lc-disc-rail > .lc-card {
    flex: 0 0 auto !important;
    align-self: stretch !important;
    width: min(84vw, 21.5rem) !important;
    max-width: min(84vw, 21.5rem) !important;
    min-width: min(84vw, 21.5rem) !important;
    height: auto !important;
    min-height: 100% !important;
    scroll-snap-align: start;
    box-sizing: border-box;
    transform: none !important;
  }

  .lc-disc-rail > .lc-card .lc-card-media {
    aspect-ratio: 16 / 10;
  }

  .lc-disc-rail > .lc-card .lc-card-body h3 {
    font-size: clamp(1.35rem, 5.2vw, 1.65rem);
    min-height: 2.4em;
  }

  .lc-disc-rail > .lc-card .lc-card-body p {
    font-size: 0.9rem;
    min-height: calc(1.55em * 4);
  }
}

.lc-card {
  position: relative;
  display: flex;
  flex-direction: column;
  border-radius: var(--lc-radius);
  overflow: hidden;
  background: linear-gradient(180deg, rgba(31, 95, 173, 0.18), rgba(21, 36, 51, 0.92));
  border: 1px solid rgba(190, 202, 212, 0.22);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12), 0 30px 70px rgba(0, 0, 0, 0.35);
  transform-style: preserve-3d;
  transition: transform 0.4s ease, border-color 0.4s ease, box-shadow 0.4s ease;
}

.lc-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(500px 220px at 50% 0%, rgba(182, 160, 122, 0.16), transparent 60%);
  opacity: 0;
  transition: opacity 0.4s ease;
  pointer-events: none;
  z-index: 1;
}

.lc-card:hover {
  transform: translateY(-8px);
  border-color: rgba(182, 160, 122, 0.45);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16), 0 40px 80px rgba(0, 0, 0, 0.45), 0 0 50px rgba(31, 95, 173, 0.25);
}

.lc-card:hover::after { opacity: 1; }

.lc-card-media { position: relative; aspect-ratio: 16 / 10; overflow: hidden; }

.lc-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.75s ease;
}

.lc-card:hover .lc-card-media img { transform: scale(1.07); }

.lc-card-body {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
  padding: 1.55rem 1.45rem 1.65rem;
  flex: 1;
}

.lc-card-body h3 {
  margin: 0;
  font-family: "Montserrat", system-ui, sans-serif;
  font-size: 1.85rem;
  font-weight: 600;
  color: #fff;
}

.lc-card-body p {
  margin: 0;
  color: var(--lc-plata);
  font-size: 1rem;
  flex: 1;
}

.lc-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 0.35rem;
}

.lc-link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0;
  border: 0;
  background: none;
  color: var(--lc-champan);
  font: inherit;
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-decoration: none;
  cursor: pointer;
}

.lc-link:hover { color: #fff; }

/* Obra */
.lc-obra-rail {
  display: flex;
  gap: 1.15rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding-bottom: 0.9rem;
  margin-inline: calc((100vw - min(1200px, 92vw)) / -2);
  padding-inline: calc((100vw - min(1200px, 92vw)) / 2);
  scrollbar-width: thin;
  scrollbar-color: rgba(182, 160, 122, 0.45) transparent;
  cursor: grab;
}

.lc-obra-item {
  position: relative;
  flex: 0 0 min(78vw, 400px);
  scroll-snap-align: start;
  aspect-ratio: 4 / 5;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(190, 202, 212, 0.25);
  box-shadow: 0 28px 64px rgba(0, 0, 0, 0.45), 0 0 0 1px rgba(182, 160, 122, 0.08);
}

.lc-obra-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.7s ease;
}

.lc-obra-item:hover img { transform: scale(1.06); }

/*
 * Filete + velo superior: heredan en cualquier .lc-obra-item
 * (home Obra real, galerías de servicio, ítems futuros).
 */
.lc-obra-item::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2.75rem;
  background: linear-gradient(180deg, rgba(7, 16, 24, 0.88) 0%, rgba(7, 16, 24, 0.45) 55%, transparent 100%);
  z-index: 2;
  pointer-events: none;
}

.lc-obra-item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 1rem;
  right: 1rem;
  height: 2px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(182, 160, 122, 0.45) 16%,
    var(--lc-champan-alto, #d4c4a8) 40%,
    #e8d7b0 50%,
    var(--lc-champan-alto, #d4c4a8) 60%,
    rgba(182, 160, 122, 0.45) 84%,
    transparent 100%
  );
  box-shadow: 0 0 12px rgba(182, 160, 122, 0.55);
  z-index: 3;
  pointer-events: none;
}

.lc-obra-caption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 4;
  padding: 1.5rem 1.15rem 1.15rem;
  background: linear-gradient(180deg, transparent, rgba(3, 7, 12, 0.92));
  color: var(--lc-plata-alta);
  font-size: 0.8rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 700;
}

/* Trust */
.lc-trust-rail-wrap {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.lc-grid-trust {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}

@media (min-width: 720px) {
  .lc-grid-trust { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 1100px) {
  .lc-grid-trust { grid-template-columns: repeat(3, 1fr); }
}

/* Riel horizontal móvil — Por qué elegirnos (6 compromisos) */
@media (max-width: 899.98px) {
  .lc-trust-rail-wrap {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
  }

  .lc-grid-trust.lc-trust-rail {
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: stretch;
    gap: 0.85rem;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 0.25rem;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    padding: 0.25rem 0.15rem 0.85rem;
    grid-template-columns: none !important;
    scrollbar-width: thin;
    scrollbar-color: rgba(182, 160, 122, 0.45) transparent;
  }

  .lc-trust-rail::-webkit-scrollbar {
    height: 4px;
  }

  .lc-trust-rail::-webkit-scrollbar-thumb {
    background: rgba(182, 160, 122, 0.4);
    border-radius: 4px;
  }

  .lc-trust-rail > .lc-trust {
    flex: 0 0 auto !important;
    width: min(78vw, 17.5rem) !important;
    max-width: min(78vw, 17.5rem) !important;
    min-width: min(78vw, 17.5rem) !important;
    scroll-snap-align: start;
    box-sizing: border-box;
    position: relative;
    overflow: hidden;
  }

  .lc-trust-rail > .lc-trust::before {
    content: "";
    position: absolute;
    top: 0;
    left: 1rem;
    right: 1rem;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--lc-champan), transparent);
    z-index: 8;
    pointer-events: none;
  }
}

.lc-trust {
  position: relative;
  overflow: hidden;
  display: flex;
  gap: 1.05rem;
  align-items: flex-start;
  padding: 1.45rem 1.3rem;
  border-radius: 16px;
  text-align: left;
  width: 100%;
  border: 1px solid rgba(190, 202, 212, 0.22);
  background: linear-gradient(165deg, rgba(31, 95, 173, 0.28), rgba(21, 36, 51, 0.75));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 18px 40px rgba(0, 0, 0, 0.25);
  color: inherit;
  font: inherit;
  cursor: pointer;
  transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}

.lc-trust:hover {
  transform: translateY(-5px);
  border-color: rgba(182, 160, 122, 0.45);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.14), 0 26px 50px rgba(0, 0, 0, 0.35), 0 0 40px rgba(31, 95, 173, 0.25);
}

.lc-trust-icon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  border: 1px solid rgba(182, 160, 122, 0.35);
  background: linear-gradient(160deg, rgba(182, 160, 122, 0.22), rgba(31, 95, 173, 0.25));
  color: var(--lc-champan);
  flex: 0 0 auto;
  box-shadow: 0 0 24px rgba(182, 160, 122, 0.2);
}

.lc-trust-icon svg { width: 22px; height: 22px; }

.lc-trust h3 {
  margin: 0 0 0.4rem;
  font-size: 1.12rem;
  font-weight: 700;
  color: #fff;
}

.lc-trust p {
  margin: 0;
  font-size: 0.94rem;
  color: var(--lc-plata);
  line-height: 1.55;
}

.lc-sys-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
  margin-top: 1.75rem;
}

.lc-sys-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.1rem;
  border-radius: 999px;
  border: 1px solid rgba(190, 202, 212, 0.28);
  background: rgba(7, 16, 24, 0.55);
  color: var(--lc-plata-alta);
  text-decoration: none;
  font-size: 0.88rem;
  font-weight: 650;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
  transition: transform 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

.lc-sys-pill:hover {
  border-color: var(--lc-champan);
  background: rgba(31, 95, 173, 0.35);
  transform: translateY(-2px);
}

.lc-sys-pill svg { width: 16px; height: 16px; stroke: var(--lc-champan); }

/* Clients — LARGE */
.lc-clients-section .lc-section-head {
  text-align: center;
  margin-inline: auto;
}

.lc-clients {
  overflow: hidden;
  mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
  padding: 0.5rem 0;
}

.lc-clients-track {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  width: max-content;
  animation: lc-marquee 40s linear infinite;
}

.lc-client-plate {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 210px;
  height: 128px;
  padding: 0.85rem 1.1rem;
  border-radius: 18px;
  background:
    linear-gradient(165deg, rgba(255, 255, 255, 0.16), rgba(21, 36, 51, 0.5)),
    rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(190, 202, 212, 0.35);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.18),
    0 18px 40px rgba(0, 0, 0, 0.32),
    0 0 0 1px rgba(182, 160, 122, 0.08);
  transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}

.lc-client-plate:hover {
  transform: translateY(-6px) scale(1.03);
  border-color: rgba(182, 160, 122, 0.55);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.22),
    0 28px 50px rgba(0, 0, 0, 0.4),
    0 0 40px rgba(31, 95, 173, 0.25);
}

.lc-client-plate img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 176px;
  max-height: 96px;
  object-fit: contain;
  object-position: center;
  filter: drop-shadow(0 6px 14px rgba(0, 0, 0, 0.28));
}

@media (min-width: 768px) {
  .lc-client-plate {
    width: 260px;
    height: 152px;
    padding: 1rem 1.25rem;
  }
  .lc-client-plate img {
    max-width: 220px;
    max-height: 118px;
  }
}

/* CEO */
.lc-ceo {
  display: grid;
  gap: 2.75rem;
  align-items: center;
}

@media (min-width: 900px) {
  .lc-ceo { grid-template-columns: 0.9fr 1.1fr; gap: 3.75rem; }
}

.lc-ceo-portrait {
  position: relative;
  max-width: 420px;
  margin: 0 auto;
  aspect-ratio: 3 / 4;
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid rgba(182, 160, 122, 0.35);
  box-shadow: 0 40px 90px rgba(0, 0, 0, 0.5), 0 0 60px rgba(31, 95, 173, 0.2);
}

/* Móvil: retrato más contenido (PC conserva 420px). */
@media (max-width: 899px) {
  .lc-ceo-portrait {
    max-width: 220px;
    border-radius: 16px;
    box-shadow: 0 22px 48px rgba(0, 0, 0, 0.38), 0 0 36px rgba(31, 95, 173, 0.14);
  }
}

@media (max-width: 899px) and (orientation: landscape) {
  .lc-ceo-portrait {
    max-width: 168px;
    border-radius: 14px;
  }
}

@media (max-width: 399px) {
  .lc-ceo-portrait {
    max-width: 196px;
  }
}

.lc-ceo-portrait::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, transparent 45%, rgba(3, 7, 12, 0.7));
  pointer-events: none;
}

.lc-ceo-portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

.lc-ceo-copy h2 {
  margin: 0 0 0.5rem;
  font-family: "Montserrat", system-ui, sans-serif;
  font-size: clamp(2.3rem, 4vw, 3.2rem);
  font-weight: 600;
  color: #fff;
  text-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
}

.lc-ceo-role {
  margin: 0 0 1.4rem;
  color: var(--lc-champan);
  font-size: 0.88rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 700;
}

.lc-ceo-copy p {
  margin: 0 0 1.05rem;
  color: var(--lc-plata);
  font-size: 1.08rem;
}

.lc-ceo-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-top: 1.85rem;
}

/* Footer */
.lc-site-footer {
  position: relative;
  overflow: hidden;
  padding: 4.5rem 0 1.75rem;
  background:
    radial-gradient(900px 360px at 90% 0%, rgba(31, 95, 173, 0.45), transparent 55%),
    radial-gradient(600px 280px at 10% 100%, rgba(182, 160, 122, 0.1), transparent 50%),
    #03070c;
  border-top: 1px solid rgba(182, 160, 122, 0.22);
}

.lc-footer-mesh {
  position: absolute;
  inset: 0;
  opacity: 0.14;
  background-image:
    linear-gradient(rgba(190, 202, 212, 0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(190, 202, 212, 0.08) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: linear-gradient(180deg, #000, transparent 85%);
  pointer-events: none;
}

.lc-footer-top {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 2.25rem;
  margin-bottom: 2.25rem;
  padding-bottom: 2.25rem;
  border-bottom: 1px solid rgba(190, 202, 212, 0.14);
}

@media (min-width: 860px) {
  .lc-footer-top {
    grid-template-columns: 1.2fr 1fr;
    gap: 3rem;
    align-items: start;
  }
}

.lc-footer-wordmark {
  margin: 0 0 0.65rem;
  font-family: "Montserrat", system-ui, sans-serif;
  font-size: clamp(1.85rem, 3.5vw, 2.45rem);
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #fff;
  line-height: 1.1;
}

.lc-footer-tag {
  margin: 0 0 0.85rem;
  color: var(--lc-champan);
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-size: 0.72rem;
}

.lc-footer-desc {
  margin: 0;
  max-width: 34rem;
  color: var(--lc-plata);
  font-size: 1rem;
  line-height: 1.7;
}

.lc-footer-label {
  margin: 0 0 1rem;
  font-size: 0.72rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--lc-champan);
  font-weight: 700;
}

.lc-footer-contact {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.55rem;
}

.lc-footer-line {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  color: var(--lc-plata-alta);
  text-decoration: none !important;
  font-size: 1.02rem;
  font-weight: 600;
  padding: 0.35rem 0;
  transition: color 0.2s ease;
}

.lc-footer-line:hover { color: var(--lc-champan); }

.lc-footer-line svg {
  width: 18px;
  height: 18px;
  stroke: var(--lc-champan);
  fill: none;
  stroke-width: 1.5;
}

.lc-footer-cta-btn { margin-top: 0.85rem; }

.lc-footer-links {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem 0.35rem;
  margin-bottom: 1.75rem;
}

.lc-footer-links a {
  display: inline-flex;
  align-items: center;
  padding: 0.45rem 0.85rem;
  border-radius: 999px;
  border: 1px solid rgba(190, 202, 212, 0.2);
  background: rgba(21, 36, 51, 0.4);
  color: var(--lc-plata-alta);
  text-decoration: none !important;
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.lc-footer-links a:hover {
  border-color: rgba(182, 160, 122, 0.45);
  color: #fff;
  background: rgba(31, 95, 173, 0.28);
}

.lc-footer-legal {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.75rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(190, 202, 212, 0.12);
  font-size: 0.82rem;
  color: var(--lc-plata);
}

.lc-footer-legal a { color: inherit; text-decoration: none; }
.lc-footer-legal a:hover { color: var(--lc-champan); }

.lc-footer-credit {
  color: var(--lc-plata);
  font-weight: 400;
  text-decoration: none !important;
  border-bottom: 1.5px solid var(--lc-champan);
  padding-bottom: 0.05rem;
  transition: color 0.2s ease, border-color 0.2s ease;
}

.lc-footer-credit:hover,
.lc-footer-credit:focus-visible {
  color: var(--lc-champan);
  border-bottom-color: var(--lc-champan-alto, #d4c4a8);
}

@media (max-width: 859px) {
  .lc-footer-top { gap: 1.75rem; }
  .lc-footer-contact {
    width: 100%;
    padding: 1.25rem 1.2rem;
    border-radius: 18px;
    background: linear-gradient(160deg, rgba(31, 95, 173, 0.28), rgba(21, 36, 51, 0.65));
    border: 1px solid rgba(182, 160, 122, 0.22);
  }
  .lc-footer-cta-btn { width: 100%; justify-content: center; }

  /* Móvil: enlaces de pie como texto 3×3, subrayado champán */
  .lc-footer-links {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.95rem 0.75rem;
    margin-bottom: 1.5rem;
    justify-items: start;
  }

  .lc-footer-links a {
    display: inline;
    width: auto;
    max-width: 100%;
    padding: 0 0 0.1rem;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--lc-plata-alta);
    font-size: 0.84rem;
    font-weight: 500;
    letter-spacing: 0.01em;
    text-decoration: none !important;
    border-bottom: 1.5px solid var(--lc-champan);
    box-shadow: none;
    line-height: 1.35;
  }

  .lc-footer-links a:hover,
  .lc-footer-links a:focus-visible {
    color: var(--lc-champan);
    background: transparent;
    border-color: transparent;
    border-bottom-color: var(--lc-champan-alto, #d4c4a8);
  }
}

/* Modals — fixed al viewport; en móvil el panel mide 85% vía --lc-modal-sheet-h */
html.lc-modal-open,
body.lc-modal-open {
  overflow: hidden !important;
  overscroll-behavior: none;
}

.lc-modal {
  position: fixed;
  inset: 0;
  z-index: 2200;
  display: none;
  align-items: flex-end;
  justify-content: center;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  margin: 0;
  padding: 0;
  overscroll-behavior: none;
}

.lc-modal.is-open { display: flex; }

@media (min-width: 768px) {
  .lc-modal { align-items: center; padding: 1.5rem; }
}

.lc-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(3, 7, 12, 0.82);
  backdrop-filter: blur(12px);
}

.lc-modal-panel {
  position: relative;
  z-index: 1;
  width: min(700px, 100%);
  flex: 0 0 auto;
  height: var(--lc-modal-sheet-h, 85vh);
  max-height: var(--lc-modal-sheet-h, 85vh);
  min-height: var(--lc-modal-sheet-h, 85vh);
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  padding: 2.1rem 1.6rem 1.9rem;
  background:
    radial-gradient(560px 260px at 100% 0%, rgba(31, 95, 173, 0.5), transparent 55%),
    linear-gradient(165deg, #1a2b3c, #0e161d);
  border: 1px solid rgba(182, 160, 122, 0.28);
  border-radius: 22px 22px 0 0;
  box-shadow: 0 -16px 70px rgba(0, 0, 0, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

@media (min-width: 768px) {
  .lc-modal-panel {
    height: auto;
    min-height: 0;
    max-height: min(90vh, 880px);
    border-radius: 20px;
    padding: 2.35rem 2.1rem 2.1rem;
  }
}

.lc-modal-close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  margin: 0;
  border-radius: 12px;
  border: 1px solid rgba(190, 202, 212, 0.35);
  background: rgba(18, 59, 112, 0.92);
  color: #fff;
  cursor: pointer;
  line-height: 0;
  font-size: 0;
  appearance: none;
  -webkit-appearance: none;
  box-shadow: none;
}
.lc-modal-close::before,
.lc-modal-close::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 15px;
  height: 2px;
  margin: 0;
  background: currentColor;
  border-radius: 1px;
  pointer-events: none;
}
.lc-modal-close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.lc-modal-close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.lc-modal-close:hover,
.lc-modal-close:focus-visible {
  background: rgba(31, 95, 173, 0.98);
  outline: none;
}

.lc-modal-panel h3 {
  margin: 0 2.2rem 1.1rem 0;
  font-family: "Montserrat", system-ui, sans-serif;
  font-size: 2rem;
  font-weight: 600;
  color: #fff;
}

.lc-modal-panel p {
  margin: 0 0 1rem;
  color: var(--lc-plata);
  font-size: 1.05rem;
}

.lc-modal-panel ul {
  margin: 0 0 1.25rem;
  padding-left: 1.2rem;
  color: var(--lc-plata);
}

.lc-modal-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.6rem;
}

/* Reveal */
@media (prefers-reduced-motion: no-preference) {
  [data-lc-reveal] {
    opacity: calc(0.12 + (var(--lc-vis, 0) * 0.88));
    transform: translate3d(0, calc((1 - var(--lc-vis, 0)) * 36px), 0);
    will-change: transform, opacity;
    transition: opacity 0.05s linear, transform 0.05s linear;
  }
}

@media (prefers-reduced-motion: reduce) {
  .lc-ticker-track,
  .lc-clients-track,
  .lc-btn--cta::before,
  .lc-ticker,
  .lc-orb,
  .lc-aurora,
  .lc-hero-beam {
    animation: none !important;
  }
}

/* —— Atmosphere / life —— */
.lc-progress {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1400;
  height: 3px;
  background: transparent;
  pointer-events: none;
}

.lc-progress span {
  display: block;
  height: 100%;
  width: calc(var(--lc-p, 0) * 100%);
  background: linear-gradient(90deg, var(--lc-azul-luz), var(--lc-champan), #e8d7b0);
  box-shadow: 0 0 16px rgba(182, 160, 122, 0.65);
  transition: width 0.08s linear;
}

.lc-atmos {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}

.lc-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(70px);
  opacity: 0.45;
  animation: lc-orb-drift 18s ease-in-out infinite;
}

.lc-orb--a {
  width: 42vw;
  height: 42vw;
  top: -8%;
  left: -10%;
  background: radial-gradient(circle, rgba(31, 95, 173, 0.55), transparent 70%);
}

.lc-orb--b {
  width: 34vw;
  height: 34vw;
  bottom: 10%;
  right: -8%;
  background: radial-gradient(circle, rgba(182, 160, 122, 0.28), transparent 70%);
  animation-delay: -6s;
  animation-duration: 22s;
}

.lc-orb--c {
  width: 28vw;
  height: 28vw;
  top: 42%;
  left: 40%;
  background: radial-gradient(circle, rgba(18, 59, 112, 0.4), transparent 70%);
  animation-delay: -11s;
  animation-duration: 26s;
}

@keyframes lc-orb-drift {
  0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
  50% { transform: translate3d(4%, -6%, 0) scale(1.12); }
}

.lc-aurora {
  position: absolute;
  inset: -20% -10% auto;
  height: 70%;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(50% 60% at 70% 30%, rgba(31, 95, 173, 0.35), transparent 70%),
    radial-gradient(40% 50% at 20% 60%, rgba(182, 160, 122, 0.12), transparent 70%);
  animation: lc-aurora-pulse 10s ease-in-out infinite;
  filter: blur(8px);
}

.lc-aurora--alt {
  inset: auto -10% -30%;
  height: 65%;
  animation-delay: -4s;
}

@keyframes lc-aurora-pulse {
  0%, 100% { opacity: 0.55; transform: translateY(0) scale(1); }
  50% { opacity: 1; transform: translateY(-3%) scale(1.05); }
}

.lc-hero-beam {
  position: absolute;
  inset: -10% 35% auto 55%;
  height: 120%;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(105deg, transparent 40%, rgba(255, 255, 255, 0.07) 50%, transparent 60%);
  mix-blend-mode: screen;
  animation: lc-beam 9s ease-in-out infinite;
  transform: skewX(-18deg);
}

@keyframes lc-beam {
  0%, 100% { opacity: 0.15; transform: skewX(-18deg) translateX(-8%); }
  50% { opacity: 0.55; transform: skewX(-18deg) translateX(12%); }
}

.lc-hero-frame {
  position: absolute;
  inset: 1.25rem;
  z-index: 3;
  border: 1px solid rgba(190, 202, 212, 0.14);
  border-radius: 4px;
  pointer-events: none;
  box-shadow: inset 0 0 80px rgba(31, 95, 173, 0.12);
}

@media (max-width: 767px) {
  .lc-hero-frame { inset: 0.75rem; }
  .lc-orb { opacity: 0.28; }
}

.lc-metric::after {
  content: "";
  position: absolute;
  inset: auto -20% -40%;
  height: 70%;
  background: radial-gradient(circle, rgba(182, 160, 122, 0.18), transparent 65%);
  pointer-events: none;
  animation: lc-metric-glow 4.5s ease-in-out infinite;
}

@keyframes lc-metric-glow {
  0%, 100% { opacity: 0.35; }
  50% { opacity: 1; }
}

.lc-card {
  backdrop-filter: blur(10px);
}

.lc-card-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 55%, rgba(7, 16, 24, 0.55));
  pointer-events: none;
}

/* Ivory / light CEO band — contraste vivo (PC + móvil) */
.lc-section--ivory {
  background:
    radial-gradient(900px 420px at 90% 0%, rgba(31, 95, 173, 0.12), transparent 55%),
    radial-gradient(600px 300px at 10% 100%, rgba(182, 160, 122, 0.18), transparent 55%),
    linear-gradient(180deg, #f7f4ee 0%, #efe8dc 48%, #f5f2ec 100%) !important;
  color: #1a2732 !important;
}

.lc-ivory-glow {
  position: absolute;
  width: 50vw;
  height: 50vw;
  right: -10%;
  top: -20%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(182, 160, 122, 0.28), transparent 70%);
  filter: blur(40px);
  pointer-events: none;
  animation: lc-orb-drift 20s ease-in-out infinite;
}

.lc-section--ivory .lc-kicker { color: #8a734f; }
.lc-section--ivory .lc-ceo-copy h2 {
  color: #0e161d !important;
  text-shadow: none !important;
}
.lc-section--ivory .lc-ceo-role { color: #9a825c !important; }
.lc-section--ivory .lc-ceo-copy p { color: #3a4a57 !important; }
.lc-section--ivory .lc-btn--ghost {
  background: rgba(18, 59, 112, 0.08);
  border-color: rgba(18, 59, 112, 0.28);
  color: #123b70 !important;
}
.lc-section--ivory .lc-btn--ghost:hover {
  background: rgba(18, 59, 112, 0.16);
  border-color: #123b70;
}
.lc-section--ivory .lc-btn--wa {
  background: #fff;
  border-color: rgba(26, 39, 50, 0.18);
  color: #1a2732 !important;
  box-shadow: 0 10px 28px rgba(14, 22, 29, 0.08);
}

.lc-site-header .lc-header-line,
.lc-header-line {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(182, 160, 122, 0.55), rgba(31, 95, 173, 0.45), transparent);
  opacity: 0;
  transition: opacity 0.35s ease;
}
.lc-site-header.is-scrolled .lc-header-line { opacity: 1; }

/* ==========================================================================
   LC polish v1 — reversible
   Quitar desde aquí hasta "FIN LC polish v1" si no convence.
   ========================================================================== */

/* Toques de luz suaves en fondos azul noche (PC / tablet / móvil calibrado) */
.lc-section--night::before,
.lc-section--deep::before,
.lc-section--band::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(900px 420px at 88% 8%, rgba(31, 95, 173, 0.22), transparent 58%),
    radial-gradient(640px 320px at 8% 92%, rgba(182, 160, 122, 0.09), transparent 55%);
  opacity: 0.85;
}

/* Decorativos (orb/aurora/mist) deben seguir absolute; si no, crean huecos enormes */
.lc-section--night > *:not(.lc-orb):not(.lc-aurora):not(.lc-section-mist):not(.lc-ivory-glow):not(.lc-hero-beam):not(.lc-atmos),
.lc-section--deep > *:not(.lc-orb):not(.lc-aurora):not(.lc-section-mist):not(.lc-ivory-glow):not(.lc-hero-beam):not(.lc-atmos),
.lc-section--band > *:not(.lc-orb):not(.lc-aurora):not(.lc-section-mist):not(.lc-ivory-glow):not(.lc-hero-beam):not(.lc-atmos) {
  position: relative;
  z-index: 1;
}
.lc-section .lc-orb,
.lc-section .lc-aurora,
.lc-section .lc-section-mist,
.lc-section .lc-ivory-glow,
.lc-svc-hero .lc-orb,
.lc-svc-hero .lc-aurora {
  position: absolute !important;
  z-index: 0 !important;
  pointer-events: none;
}

@media (min-width: 960px) {
  .lc-section--night::before,
  .lc-section--deep::before,
  .lc-section--band::before {
    background:
      radial-gradient(1100px 520px at 90% 0%, rgba(31, 95, 173, 0.28), transparent 58%),
      radial-gradient(720px 360px at 5% 100%, rgba(182, 160, 122, 0.11), transparent 55%),
      radial-gradient(480px 240px at 50% 40%, rgba(255, 255, 255, 0.03), transparent 70%);
    opacity: 1;
  }
}

@media (max-width: 767px) {
  .lc-section--night::before,
  .lc-section--deep::before,
  .lc-section--band::before {
    opacity: 0.55;
  }
  .lc-orb { opacity: 0.2; }
}

/* Pills de servicios: en móvil sin anillo, alineadas */
@media (max-width: 767px) {
  .lc-sys-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.55rem 0.75rem;
    margin-top: 1.5rem;
  }
  .lc-sys-pill {
    width: 100%;
    justify-content: flex-start;
    min-height: 44px;
    padding: 0.65rem 0.15rem;
    border: 0;
    border-radius: 0;
    border-bottom: 1px solid rgba(190, 202, 212, 0.16);
    background: transparent;
    box-shadow: none;
    font-size: 0.9rem;
    font-weight: 600;
  }
  .lc-sys-pill:hover,
  .lc-sys-pill:active {
    transform: none;
    background: transparent;
    border-color: rgba(182, 160, 122, 0.35);
    color: #fff;
  }
  .lc-sys-pill svg {
    width: 15px;
    height: 15px;
    opacity: 0.9;
  }
}

/* FIN LC polish v1 */

/* ==========================================================================
   LC appbar v1 — barra inferior móvil (reversible)
   Quitar desde aquí hasta "FIN LC appbar v1" si no convence.
   ========================================================================== */

.lc-appbar {
  display: none;
}

@media (max-width: 959px) {
  /* Espacio para appbar en TODAS las rutas premium (home + interiores + legales) */
  body.lc-premium,
  body.lc-premium-home {
    padding-bottom: calc(88px + env(safe-area-inset-bottom, 0px)) !important;
  }

  body.lc-premium .lc-site-footer,
  body.lc-premium-home .lc-site-footer {
    padding-bottom: calc(2.5rem + 8px);
  }

  body.lc-premium .lc-footer-legal,
  body.lc-premium-home .lc-footer-legal {
    padding-bottom: 0.75rem;
    margin-bottom: 0.25rem;
  }

  .lc-appbar {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1250;
    min-height: 64px;
    padding: 0.45rem 0.35rem calc(0.45rem + env(safe-area-inset-bottom, 0px));
    background: rgba(7, 16, 24, 0.94);
    backdrop-filter: blur(18px) saturate(1.2);
    -webkit-backdrop-filter: blur(18px) saturate(1.2);
    border-top: 1px solid rgba(182, 160, 122, 0.28);
    box-shadow: 0 -12px 40px rgba(0, 0, 0, 0.35);
  }

  body.lc-nav-open .lc-appbar {
    opacity: 0;
    pointer-events: none;
  }

  .lc-appbar-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.28rem;
    min-width: 0;
    width: 100%;
    padding: 0.25rem 0.15rem;
    margin: 0;
    border: 0;
    background: transparent;
    color: var(--lc-plata);
    font: inherit;
    cursor: pointer;
    text-decoration: none !important;
    -webkit-tap-highlight-color: transparent;
    transition: color 0.2s ease;
  }

  .lc-appbar-item span {
    display: block;
    max-width: 100%;
    font-size: 0.62rem;
    font-weight: 650;
    letter-spacing: 0.02em;
    line-height: 1.15;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .lc-appbar-icon {
    width: 24px;
    height: 24px;
    stroke: currentColor;
    fill: none;
    stroke-width: 1.35;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .lc-appbar-item:hover,
  .lc-appbar-item:focus-visible {
    color: var(--lc-plata-alta);
    outline: none;
  }

  .lc-appbar-item--accent {
    color: var(--lc-champan);
  }

  .lc-appbar-item--accent span {
    font-weight: 700;
    white-space: nowrap;
    max-width: none;
    font-size: 0.58rem;
    letter-spacing: 0;
    line-height: 1.15;
  }

  .lc-appbar-item--accent .lc-appbar-icon {
    filter: drop-shadow(0 0 8px rgba(182, 160, 122, 0.35));
  }
}

@media (max-width: 380px) {
  .lc-appbar-item span {
    font-size: 0.56rem;
    letter-spacing: 0;
  }
  .lc-appbar-item--accent span {
    font-size: 0.52rem;
  }
}

/* Modal Clientes (appbar) */
.lc-modal-panel--clientes .lc-kicker {
  margin: 0 0 0.45rem;
}

.lc-clientes-modal-choices {
  display: grid;
  gap: 0.85rem;
  margin-top: 1.25rem;
}

.lc-clientes-modal-choice {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  column-gap: 0.85rem;
  row-gap: 0.25rem;
  align-items: start;
  padding: 1.15rem 1.2rem;
  text-decoration: none !important;
  color: inherit;
  background: linear-gradient(165deg, #152433, #0e161d);
  border: 1px solid rgba(190, 202, 212, 0.16);
  border-radius: var(--lc-radius, 14px);
  transition: border-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}

.lc-clientes-modal-choice .lc-canal-icon {
  grid-row: 1 / span 2;
  align-self: center;
  color: var(--lc-champan);
}

.lc-clientes-modal-choice .lc-canal-icon .lc-icon {
  width: 22px;
  height: 22px;
}

.lc-clientes-modal-choice strong {
  font-family: "Montserrat", system-ui, sans-serif;
  font-size: 1.25rem;
  font-weight: 600;
  color: #fff;
  line-height: 1.2;
}

.lc-clientes-modal-meta {
  grid-column: 2;
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.45;
  color: var(--lc-plata);
}

.lc-clientes-modal-choice--accent {
  border-color: rgba(182, 160, 122, 0.45);
  box-shadow: inset 0 0 0 1px rgba(182, 160, 122, 0.12);
}

.lc-clientes-modal-choice:hover,
.lc-clientes-modal-choice:focus-visible {
  border-color: rgba(182, 160, 122, 0.55);
  transform: translateY(-2px);
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.28);
  outline: none;
}

.lc-clientes-modal-choice--disabled {
  opacity: 0.72;
  cursor: default;
  pointer-events: none;
  border-style: dashed;
}

.lc-clientes-modal-choice--disabled:hover,
.lc-clientes-modal-choice--disabled:focus-visible {
  transform: none;
  box-shadow: none;
  border-color: rgba(190, 202, 212, 0.16);
}

/* FIN LC appbar v1 */

/* ==========================================================================
   LC pc-nav v1 — Tienda + Clientes en header PC (reversible)
   Revert HTML: quitar <li class="lc-pc-nav-tienda"> y <div class="lc-header-utils">
   Revert CSS: borrar desde aquí hasta "FIN LC pc-nav v1"
   ========================================================================== */

.lc-header-utils {
  display: none;
}

/* Clientes del menú central: solo hamburguesa (en PC va a la derecha) */
@media (min-width: 1120px) {
  .lc-nav-clientes {
    display: none;
  }
}

@media (min-width: 1120px) {
  .lc-header-utils {
    display: flex;
    align-items: center;
  }

  /* Clientes (utils): mismo menú / mismas métricas (alineados) */
  .lc-header-utils-menu {
    display: flex;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 0.55rem;
  }

  .lc-header-utils-menu > li {
    position: relative;
    display: flex;
    align-items: center;
  }

  .lc-header-utils-menu .lc-nav-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2rem;
    padding: 0.35rem 0.15rem;
    font-size: 0.72rem;
    font-weight: 650;
    letter-spacing: 0.04em;
    line-height: 1;
    box-sizing: border-box;
  }

  .lc-header-utils-menu .lc-mega--list {
    left: auto;
    right: 0;
  }

  .lc-header-actions {
    gap: 0.65rem;
    align-items: center;
  }

  .lc-nav-link {
    padding: 0.6rem 0.42rem;
    font-size: 0.74rem;
    letter-spacing: 0.045em;
  }
}

@media (min-width: 1120px) and (max-width: 1399px) {
  .lc-header-phone { display: none !important; }
  .lc-nav-link {
    padding: 0.55rem 0.32rem;
    font-size: 0.7rem;
    letter-spacing: 0.03em;
  }
  .lc-header-utils-menu .lc-nav-link {
    font-size: 0.66rem;
    letter-spacing: 0.02em;
  }
  .lc-header-actions .lc-btn--cta {
    min-height: 44px;
    padding: 0.55rem 0.95rem;
    font-size: 0.82rem;
  }
  .lc-header-reunion-trigger {
    min-height: 46px;
    padding: 0.6rem 1.35rem;
    font-size: 0.92rem;
  }
  .lc-logo img { height: 46px; max-height: 46px; width: auto; max-width: none; }
}

@media (min-width: 1400px) and (max-width: 1599px) {
  .lc-header-phone { display: none !important; }
  .lc-nav-link {
    padding: 0.58rem 0.38rem;
    font-size: 0.72rem;
  }
}

/* PC: CTA Reunión virtual → mega (mismas opciones que appbar móvil) */
.lc-header-reunion {
  display: none;
}

@media (min-width: 1120px) {
  .lc-header-reunion {
    display: block;
    position: relative;
  }

  .lc-header-reunion-menu {
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .lc-header-reunion-menu > li {
    position: relative;
  }

  .lc-header-reunion-trigger.lc-nav-link {
    gap: 0.4rem;
    min-width: 11.5rem;
    padding: 0.65rem 1.45rem;
    font-size: 0.95rem;
    cursor: pointer;
    text-decoration: none !important;
    text-transform: none;
    letter-spacing: 0.03em;
    text-shadow: none;
    font-weight: 700;
  }

  .lc-header-reunion-trigger.lc-nav-link::after {
    display: none !important;
  }

  /* Evitar que .lc-nav-link:hover / .is-open blanqueen el CTA champán. */
  .lc-header-reunion-trigger.lc-btn--cta,
  .lc-header-reunion-trigger.lc-btn--cta:hover,
  .lc-header-reunion-trigger.lc-btn--cta:focus,
  .lc-header-reunion-trigger.lc-btn--cta:focus-visible,
  .lc-header-reunion-menu > li.is-open > .lc-header-reunion-trigger.lc-btn--cta {
    background: linear-gradient(180deg, #dcc9a3 0%, #b6a07a 48%, #9a825c 100%) !important;
    border: 1px solid #c4b08a;
    color: var(--lc-texto-btn) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.45), 0 10px 28px rgba(182, 160, 122, 0.38);
  }

  .lc-header-reunion-trigger.lc-btn--cta:hover,
  .lc-header-reunion-menu > li.is-open > .lc-header-reunion-trigger.lc-btn--cta {
    transform: translateY(-2px);
    filter: brightness(1.06);
  }

  .lc-header-reunion-trigger .lc-nav-chevron {
    width: 12px;
    height: 12px;
    opacity: 0.9;
    stroke: currentColor;
  }

  .lc-header-reunion-menu .lc-mega--list {
    left: auto;
    right: 0;
    width: min(340px, 90vw);
  }

  /* Iconos: mismos SVG que celular (meet / calendar), trazo plata del mega PC. */
  .lc-header-reunion-menu .lc-mega-links a svg {
    width: 16px;
    height: 16px;
    stroke: var(--lc-plata);
    opacity: 0.85;
    flex-shrink: 0;
  }
}

/* FIN LC pc-nav v1 */

/* ========== Fase 1 — Nosotros / Contáctanos ========== */
.lc-page--nosotros,
.lc-page--contacto {
  position: relative;
}

.lc-estudio-hero {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 0;
  min-height: min(78vh, 720px);
  background: linear-gradient(135deg, #071018 0%, #0e161d 45%, #123b70 140%);
}
.lc-estudio-hero-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(2.5rem, 5vw, 4.5rem) clamp(1.5rem, 4vw, 3.5rem);
}
.lc-estudio-hero-copy .lc-brand-line {
  margin: 0 0 0.6rem;
  font-size: 0.78rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--lc-plata);
}
.lc-estudio-hero-copy h1 {
  margin: 0 0 1rem;
  font-family: "Montserrat", system-ui, sans-serif;
  font-weight: 600;
  font-size: clamp(2.6rem, 5vw, 4rem);
  line-height: 1.08;
  color: var(--lc-blanco);
}
.lc-estudio-hero-media {
  margin: 0;
  position: relative;
  overflow: hidden;
}
.lc-estudio-hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: saturate(0.92) contrast(1.05);
}
.lc-estudio-hero-media figcaption {
  position: absolute;
  left: 1.2rem;
  bottom: 1.2rem;
  margin: 0;
  padding: 0.45rem 0.75rem;
  background: rgba(7, 16, 24, 0.72);
  color: var(--lc-plata);
  font-size: 0.78rem;
  letter-spacing: 0.04em;
}

.lc-manifiesto {
  padding: clamp(2.5rem, 5vw, 4rem) 0;
  background: #0a1219;
  border-block: 1px solid rgba(182, 160, 122, 0.22);
}
.lc-manifiesto blockquote {
  margin: 0 auto;
  max-width: 46rem;
  text-align: center;
}
.lc-manifiesto blockquote p {
  margin: 0 0 1rem;
  font-family: "Montserrat", system-ui, sans-serif;
  font-size: clamp(1.55rem, 2.8vw, 2.15rem);
  font-style: italic;
  line-height: 1.45;
  color: var(--lc-blanco);
}
.lc-manifiesto footer {
  color: var(--lc-champan);
  font-size: 0.78rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.lc-estudio-story-grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: clamp(2rem, 4vw, 3.5rem);
  align-items: center;
}
.lc-estudio-story-photo {
  margin: 0;
}
.lc-estudio-story-photo img {
  width: 100%;
  display: block;
  border-radius: 4px 48px 4px 48px;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.45);
}
.lc-estudio-story-photo figcaption {
  margin-top: 0.75rem;
  color: var(--lc-plata);
  font-size: 0.88rem;
}

.lc-impacto {
  position: relative;
  padding: clamp(3.5rem, 7vw, 5.5rem) 0;
  overflow: hidden;
}
.lc-impacto-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  filter: grayscale(0.35) brightness(0.28);
  transform: scale(1.04);
}
.lc-impacto .lc-wrap { position: relative; z-index: 2; }
.lc-impacto-stats {
  list-style: none;
  margin: 2.2rem 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}
.lc-impacto-stats li {
  padding: 1.35rem 1.2rem;
  background: rgba(14, 22, 29, 0.72);
  border: 1px solid rgba(190, 202, 212, 0.18);
  border-radius: var(--lc-radius);
  text-align: center;
}
.lc-impacto-stats strong {
  display: block;
  font-family: "Montserrat", system-ui, sans-serif;
  font-size: clamp(2.4rem, 4vw, 3.2rem);
  color: var(--lc-champan);
  line-height: 1;
}
.lc-impacto-stats span {
  display: block;
  margin-top: 0.55rem;
  color: var(--lc-plata);
  font-size: 0.9rem;
}

.lc-diff-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0;
  border-top: 1px solid rgba(190, 202, 212, 0.16);
}
.lc-diff-list li {
  display: grid;
  grid-template-columns: 5rem 1fr;
  gap: 1.25rem;
  padding: 1.75rem 0;
  border-bottom: 1px solid rgba(190, 202, 212, 0.16);
  align-items: start;
}
.lc-diff-num {
  font-family: "Montserrat", system-ui, sans-serif;
  font-size: 2rem;
  color: var(--lc-champan);
  line-height: 1;
}
.lc-diff-list h3 {
  margin: 0 0 0.45rem;
  font-size: 1.25rem;
  color: var(--lc-blanco);
}
.lc-diff-list p {
  margin: 0 0 0.65rem;
  color: var(--lc-plata);
  max-width: 40rem;
}
.lc-linkish {
  appearance: none;
  -webkit-appearance: none;
  background: none;
  border: 0;
  padding: 0;
  margin: 0;
  color: var(--lc-champan);
  font: inherit;
  font-size: 0.88rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 0.28em;
  -webkit-tap-highlight-color: transparent;
  outline: none;
  box-shadow: none;
}
.lc-linkish:hover,
.lc-linkish:active,
.lc-linkish:focus {
  color: var(--lc-champan);
  background: transparent;
  outline: none;
  box-shadow: none;
  -webkit-tap-highlight-color: transparent;
}
.lc-linkish:focus-visible {
  outline: none;
  box-shadow: none;
}
/* Controles que abren modal: sin resalto azul residual en touch */
body.lc-premium [data-lc-modal],
body.lc-premium-home [data-lc-modal],
body.lc-premium .lc-btn,
body.lc-premium-home .lc-btn,
body.lc-premium .lc-trust,
body.lc-premium-home .lc-trust {
  -webkit-tap-highlight-color: transparent;
}
body.lc-premium [data-lc-modal]:focus:not(:focus-visible),
body.lc-premium-home [data-lc-modal]:focus:not(:focus-visible),
body.lc-premium .lc-btn:focus:not(:focus-visible),
body.lc-premium-home .lc-btn:focus:not(:focus-visible),
body.lc-premium .lc-trust:focus:not(:focus-visible),
body.lc-premium-home .lc-trust:focus:not(:focus-visible) {
  outline: none;
  box-shadow: none;
}
.lc-estudio-cta .lc-section-title { color: var(--lc-noche); }
.lc-estudio-cta .lc-lead { color: #4a5a68; }
.lc-estudio-cta .lc-kicker { color: #8a7350; }
.lc-estudio-alt-phone {
  margin: 1.25rem 0 0;
  color: #5a6a78;
  font-size: 0.92rem;
}
.lc-estudio-alt-phone a { color: var(--lc-azul); }

/* Contáctanos */
.lc-contacto-strip {
  position: relative;
  padding: clamp(3.2rem, 6.5vw, 5rem) 0;
  overflow: hidden;
}
.lc-contacto-strip-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: right center;
  filter: brightness(0.42) saturate(0.9);
}
.lc-contacto-strip::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(
    90deg,
    rgba(7, 16, 24, 0.88) 0%,
    rgba(7, 16, 24, 0.72) 34%,
    rgba(7, 16, 24, 0.28) 58%,
    rgba(7, 16, 24, 0.08) 78%,
    transparent 100%
  );
}
.lc-contacto-strip-inner {
  position: relative;
  z-index: 2;
  width: var(--lc-wrap);
  max-width: var(--lc-wrap);
  margin-inline: auto;
  text-align: left;
}
.lc-contacto-strip-inner > .lc-kicker,
.lc-contacto-strip-inner > h1,
.lc-contacto-strip-inner > .lc-lead {
  max-width: min(32rem, 48%);
}
.lc-contacto-strip h1 {
  margin: 0 0 0.9rem;
  font-family: "Montserrat", system-ui, sans-serif;
  font-weight: 600;
  font-size: clamp(2.4rem, 4.8vw, 3.6rem);
  line-height: 1.1;
  color: var(--lc-blanco);
}
.lc-contacto-strip .lc-lead {
  color: var(--lc-plata);
  max-width: min(32rem, 48%);
}

.lc-contacto-canales {
  padding: clamp(2rem, 4vw, 3rem) 0 clamp(3rem, 5vw, 4rem);
  background: #0a1219;
}
.lc-canal-grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.1rem;
}
.lc-canal {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  padding: 1.6rem 1.4rem;
  background: linear-gradient(165deg, #152433, #0e161d);
  border: 1px solid rgba(190, 202, 212, 0.14);
  border-radius: var(--lc-radius);
  min-height: 210px;
}
.lc-canal--accent {
  border-color: rgba(182, 160, 122, 0.45);
  box-shadow: inset 0 0 0 1px rgba(182, 160, 122, 0.12);
}
.lc-canal-icon {
  display: inline-flex;
  color: var(--lc-champan);
}
.lc-canal-icon .lc-icon { width: 22px; height: 22px; }
.lc-canal h2 {
  margin: 0;
  font-size: 1.15rem;
  color: var(--lc-blanco);
}
.lc-canal-meta {
  margin: 0;
  flex: 1;
  color: var(--lc-plata);
  font-size: 0.92rem;
}
.lc-canal .lc-btn { align-self: flex-start; margin-top: auto; }

.lc-contacto-reunion-grid {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: clamp(1.75rem, 4vw, 3rem);
  align-items: start;
}
.lc-contacto-card {
  padding: 1.75rem 1.5rem;
  background: rgba(21, 36, 51, 0.85);
  border: 1px solid rgba(190, 202, 212, 0.16);
  border-radius: var(--lc-radius);
}
.lc-contacto-addr {
  margin: 0 0 1.1rem;
  color: var(--lc-plata);
  line-height: 1.65;
}

.lc-prep-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.85rem;
}
.lc-prep-list li {
  display: grid;
  grid-template-columns: 3rem 1fr;
  gap: 1rem;
  align-items: baseline;
  padding: 1.1rem 1.2rem;
  background: rgba(21, 36, 51, 0.55);
  border-left: 3px solid var(--lc-champan);
}
.lc-prep-list strong {
  font-family: "Montserrat", system-ui, sans-serif;
  font-size: 1.5rem;
  color: var(--lc-champan);
}
.lc-prep-list span { color: var(--lc-plata); }

@media (max-width: 900px) {
  .lc-estudio-hero,
  .lc-estudio-story-grid,
  .lc-contacto-reunion-grid,
  .lc-canal-grid,
  .lc-impacto-stats {
    grid-template-columns: 1fr;
  }
  .lc-estudio-hero { min-height: 0; }
  .lc-estudio-hero-media { min-height: 240px; }
  .lc-diff-list li { grid-template-columns: 3.5rem 1fr; }
}
/* FIN Fase 1 pages */

/* ========== Fase 1b — Legales ========== */
.lc-page--legal { position: relative; }
.lc-legal-hero {
  padding: clamp(2.5rem, 5vw, 3.75rem) 0 1.5rem;
  background: linear-gradient(160deg, #071018, #0e161d 55%, #123b70 160%);
}
.lc-legal-hero h1 {
  margin: 0;
  font-family: "Montserrat", system-ui, sans-serif;
  font-weight: 600;
  font-size: clamp(2.2rem, 4.5vw, 3.4rem);
  line-height: 1.12;
  color: var(--lc-blanco);
  max-width: 22ch;
}
@media (max-width: 700px) {
  .lc-legal-hero {
    padding: 1.75rem 0 1.1rem;
  }
  .lc-legal-hero h1 {
    font-size: clamp(1.85rem, 8vw, 2.4rem);
    max-width: none;
  }
  .lc-legal-toc ol {
    columns: 1 !important;
  }
  .lc-legal-acc summary {
    font-size: 1.1rem;
    padding: 0.95rem 1rem;
  }
  .lc-legal-acc-body {
    font-size: 0.98rem;
    padding: 0 1rem 1.1rem;
  }
}
.lc-legal-switch {
  padding: 1rem 0 0.25rem;
  background: #0a1219;
  border-bottom: 1px solid rgba(190, 202, 212, 0.12);
}
.lc-legal-switch-list {
  list-style: none;
  margin: 0;
  padding: 0 0 0.75rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 0.55rem;
}
.lc-legal-switch-list a {
  display: inline-block;
  padding: 0.45rem 0.85rem;
  border-radius: 999px;
  border: 1px solid rgba(190, 202, 212, 0.22);
  color: var(--lc-plata);
  text-decoration: none;
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.04em;
}
.lc-legal-switch-list a.is-current,
.lc-legal-switch-list a:hover {
  color: var(--lc-texto-btn);
  background: var(--lc-champan);
  border-color: var(--lc-champan);
}
.lc-legal-toc {
  padding: 1.75rem 0 0.5rem;
  background: #0a1219;
}
.lc-legal-toc-label {
  margin: 0 0 0.65rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--lc-champan);
}
.lc-legal-toc ol {
  margin: 0;
  padding-left: 1.2rem;
  columns: 1;
  gap: 1.5rem;
}
@media (min-width: 800px) {
  .lc-legal-toc ol { columns: 2; }
}
.lc-legal-toc li {
  margin: 0 0 0.45rem;
  break-inside: avoid;
}
.lc-legal-toc a {
  color: var(--lc-plata-alta);
  text-decoration: none;
  font-size: 0.95rem;
  line-height: 1.4;
}
.lc-legal-toc a:hover { color: var(--lc-champan); text-decoration: underline; }

.lc-legal-body {
  padding: 1.5rem 0 clamp(3rem, 6vw, 4.5rem);
  background: #071018;
}
.lc-legal-accordions { display: grid; gap: 0.65rem; }
.lc-legal-acc {
  border: 1px solid rgba(190, 202, 212, 0.16);
  border-radius: 14px;
  background: rgba(21, 36, 51, 0.55);
  overflow: hidden;
}
.lc-legal-acc summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.05rem 1.15rem;
  color: var(--lc-blanco);
  font-family: "Montserrat", system-ui, sans-serif;
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.3;
  -webkit-tap-highlight-color: transparent;
}
.lc-legal-acc summary::-webkit-details-marker { display: none; }
.lc-legal-acc-icon {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  position: relative;
}
.lc-legal-acc-icon::before,
.lc-legal-acc-icon::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  background: var(--lc-champan);
  border-radius: 1px;
  transform: translate(-50%, -50%);
}
.lc-legal-acc-icon::before { width: 14px; height: 2px; }
.lc-legal-acc-icon::after { width: 2px; height: 14px; transition: opacity 0.15s ease; }
.lc-legal-acc[open] .lc-legal-acc-icon::after { opacity: 0; }
.lc-legal-acc-body {
  padding: 0 1.15rem 1.25rem;
  color: var(--lc-plata);
  font-size: 1.02rem;
  line-height: 1.75;
}
.lc-legal-acc-body p { margin: 0 0 0.95rem; }
.lc-legal-acc-body p:last-child { margin-bottom: 0; }
.lc-legal-acc-body ul,
.lc-legal-acc-body ol {
  margin: 0 0 0.95rem;
  padding-left: 1.25rem;
  color: var(--lc-plata);
}
.lc-legal-acc-body li { margin: 0 0 0.4rem; }
.lc-legal-acc-body strong { color: var(--lc-plata-alta); }
.lc-legal-acc-body a { color: var(--lc-champan); }
.lc-legal-brand {
  color: var(--lc-champan) !important;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.85rem !important;
}
.lc-legal-contact {
  margin: 2rem 0 0;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(190, 202, 212, 0.14);
  color: var(--lc-plata);
  font-size: 0.95rem;
}
.lc-legal-contact a { color: var(--lc-champan); }
/* FIN Fase 1b legales */

/* ========== Fase 2 — Servicios ========== */
/* Ritmo compacto: sin vacíos entre secciones */
.lc-page--servicio { position: relative; overflow-x: clip; }
.lc-page--servicio .lc-section {
  padding: clamp(1.75rem, 3.2vw, 2.75rem) 0;
}
.lc-page--servicio .lc-svc-collab,
.lc-page--servicio .lc-svc-risks,
.lc-page--servicio .lc-svc-faq-sec,
.lc-page--servicio .lc-svc-gallery,
.lc-page--servicio .lc-svc-flow {
  padding-top: clamp(1.5rem, 2.8vw, 2.25rem);
  padding-bottom: clamp(1.5rem, 2.8vw, 2.25rem);
}
.lc-page--servicio .lc-svc-head {
  margin-bottom: 1.35rem;
  max-width: 40rem;
}
.lc-page--servicio .lc-svc-head .lc-section-title {
  font-size: clamp(1.85rem, 3.6vw, 2.75rem);
  margin-bottom: 0.65rem;
}
.lc-page--servicio .lc-svc-head .lc-lead {
  margin-bottom: 0;
  max-width: 36rem;
}
.lc-page--servicio .lc-kicker { margin-bottom: 0.55rem; }

/* —— Hero —— */
.lc-svc-hero {
  position: relative;
  padding: clamp(2rem, 5vw, 3.5rem) 0 clamp(1.75rem, 3.5vw, 2.5rem);
  background:
    radial-gradient(900px 420px at 85% 10%, rgba(31, 95, 173, 0.38), transparent 60%),
    radial-gradient(700px 380px at 10% 90%, rgba(182, 160, 122, 0.16), transparent 55%),
    linear-gradient(160deg, #071018 0%, #0e161d 55%, #123b70 160%);
  overflow: hidden;
}
.lc-svc-hero .lc-aurora,
.lc-svc-hero .lc-orb { z-index: 0; }
.lc-svc-hero-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: clamp(1.25rem, 3.5vw, 2.5rem);
  align-items: center;
}
.lc-svc-hero-copy .lc-brand-line { margin-bottom: 0.85rem; }
.lc-svc-hero-copy h1 {
  margin: 0 0 0.85rem;
  font-family: "Montserrat", system-ui, sans-serif;
  font-weight: 600;
  font-size: clamp(2.25rem, 4.8vw, 3.55rem);
  line-height: 1.06;
  color: #fff;
  text-shadow: 0 20px 50px rgba(0, 0, 0, 0.45);
}
.lc-svc-hero-copy .lc-lead {
  color: var(--lc-plata-alta);
  max-width: 34rem;
  margin: 0 0 1.25rem;
}
.lc-svc-hero-card {
  position: relative;
  margin: 0;
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid rgba(190, 202, 212, 0.28);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.14),
    0 28px 64px rgba(0, 0, 0, 0.42),
    0 0 50px rgba(31, 95, 173, 0.22);
  background: rgba(21, 36, 51, 0.55);
  transform-style: preserve-3d;
}
.lc-svc-hero-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(420px 180px at 50% 0%, rgba(182, 160, 122, 0.18), transparent 65%);
  opacity: 0;
  transition: opacity 0.4s ease;
  pointer-events: none;
}
.lc-svc-hero-card:hover::after { opacity: 1; }
.lc-svc-hero-card img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  filter: saturate(0.92) contrast(1.03);
  transition: transform 0.75s ease;
}
.lc-svc-hero-card:hover img { transform: scale(1.05); }
.lc-svc-hero-card figcaption {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  z-index: 2;
  padding: 1.35rem 1.15rem 1.1rem;
  background: linear-gradient(180deg, transparent, rgba(3, 7, 12, 0.92));
  color: var(--lc-plata-alta);
  font-size: 0.74rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: 700;
}

/* —— Intro / métricas —— */
.lc-svc-intro { position: relative; }
.lc-svc-metrics { margin-top: 1.35rem; }
.lc-svc-metrics .lc-metric {
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.lc-svc-metrics .lc-metric strong {
  font-size: clamp(1.2rem, 2vw, 1.45rem);
  line-height: 1.2;
  margin-bottom: 0.45rem;
  text-shadow: 0 0 28px rgba(182, 160, 122, 0.35);
}
.lc-svc-metrics .lc-metric span {
  font-size: 0.9rem;
  letter-spacing: 0.01em;
  text-transform: none;
  font-weight: 500;
  line-height: 1.45;
  color: var(--lc-plata);
}

/* —— Rail shell: mask + cue (móvil) / grid (desktop) —— */
.lc-svc-flow,
.lc-svc-gallery { position: relative; }
.lc-svc-rail-lead { color: var(--lc-plata) !important; font-size: 0.98rem !important; }
.lc-svc-rail-shell {
  position: relative;
  margin-top: 0.35rem;
}
.lc-svc-rail-cue {
  display: none;
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
  z-index: 4;
  margin: 0;
  pointer-events: none;
}
.lc-svc-rail-cue span {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.45rem 0.75rem;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--lc-champan);
  background: rgba(7, 16, 24, 0.82);
  border: 1px solid rgba(182, 160, 122, 0.45);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
  animation: lc-svc-cue-pulse 1.8s ease-in-out infinite;
}
.lc-svc-rail-cue span::after {
  content: "›";
  font-size: 1rem;
  line-height: 1;
}
@keyframes lc-svc-cue-pulse {
  0%, 100% { transform: translateX(0); opacity: 0.85; }
  50% { transform: translateX(4px); opacity: 1; }
}
.lc-svc-rail-shell.is-scrolled .lc-svc-rail-cue { opacity: 0; transition: opacity 0.35s ease; }

.lc-svc-rail,
.lc-svc-gal-rail {
  display: flex;
  gap: 1rem;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  scroll-padding-inline: 1.25rem;
  padding: 0.35rem 1.25rem 1.15rem;
  margin: 0;
  scrollbar-width: thin;
  scrollbar-color: rgba(182, 160, 122, 0.5) transparent;
  cursor: grab;
  /* fade derecho = “hay más” */
  mask-image: linear-gradient(90deg, #000 0%, #000 calc(100% - 2.75rem), transparent 100%);
  -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 calc(100% - 2.75rem), transparent 100%);
}
.lc-svc-rail:active,
.lc-svc-gal-rail:active { cursor: grabbing; }

.lc-svc-step-card {
  position: relative;
  flex: 0 0 min(78vw, 300px);
  max-width: 300px;
  scroll-snap-align: start;
  padding: 1.45rem 1.3rem 1.5rem;
  border-radius: 18px;
  background: linear-gradient(165deg, rgba(31, 95, 173, 0.32), rgba(21, 36, 51, 0.92));
  border: 1px solid rgba(190, 202, 212, 0.28);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.14),
    0 22px 48px rgba(0, 0, 0, 0.38),
    0 0 36px rgba(31, 95, 173, 0.18);
  overflow: hidden;
  transform-style: preserve-3d;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  transition: border-color 0.35s ease, box-shadow 0.35s ease;
}
.lc-svc-step-card::before {
  content: "";
  position: absolute;
  top: 0; left: 1rem; right: 1rem;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--lc-champan), transparent);
}
.lc-svc-step-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(380px 160px at 50% 0%, rgba(182, 160, 122, 0.14), transparent 60%);
  opacity: 0;
  transition: opacity 0.35s ease;
  pointer-events: none;
}
.lc-svc-step-card:hover {
  border-color: rgba(182, 160, 122, 0.5);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.16),
    0 28px 56px rgba(0, 0, 0, 0.42),
    0 0 44px rgba(31, 95, 173, 0.28);
}
.lc-svc-step-card:hover::after { opacity: 1; }
.lc-svc-step-num {
  display: block;
  margin-bottom: 0.7rem;
  font-family: "Montserrat", system-ui, sans-serif;
  font-size: 2.2rem;
  line-height: 1;
  color: var(--lc-champan);
  text-shadow: 0 0 28px rgba(182, 160, 122, 0.45);
}
.lc-svc-step-card h3 {
  margin: 0 0 0.45rem;
  font-family: "Montserrat", system-ui, sans-serif;
  font-size: 1.45rem;
  font-weight: 600;
  color: #fff;
}
.lc-svc-step-card p {
  margin: 0 0 0.85rem;
  color: var(--lc-plata);
  font-size: 0.95rem;
  line-height: 1.55;
}

/* Desktop: grid centrado — sin scroll horizontal falso */
@media (min-width: 1100px) {
  .lc-svc-rail-cue { display: none !important; }
  .lc-svc-rail {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
    overflow: visible;
    width: var(--lc-wrap);
    margin-inline: auto;
    padding: 0.25rem 0 0.5rem;
    scroll-snap-type: none;
    cursor: default;
    mask-image: none;
    -webkit-mask-image: none;
  }
  /* 4 columnas fijas → 8 ítems = 2×4 (sin hueco auto-fit) */
  .lc-svc-gal-rail {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    overflow: visible;
    width: var(--lc-wrap);
    max-width: var(--lc-wrap);
    margin-inline: auto;
    padding: 0.25rem 0 0.5rem;
    scroll-snap-type: none;
    cursor: default;
    mask-image: none;
    -webkit-mask-image: none;
    justify-items: stretch;
  }
  .lc-svc-gal-rail .lc-obra-item {
    flex: none;
    width: 100%;
    max-width: none;
    aspect-ratio: 4 / 5;
  }
  .lc-svc-step-card {
    flex: none;
    max-width: none;
    width: auto;
  }
  .lc-svc-rail-lead { display: none; }
}

/* Móvil / tablet: cue visible + peek */
@media (max-width: 1099px) {
  .lc-svc-rail-cue { display: block; }
  .lc-svc-step-card {
    flex: 0 0 min(82vw, 280px);
    max-width: 280px;
  }
  .lc-svc-gal-rail .lc-obra-item {
    flex: 0 0 min(72vw, 280px);
  }
  /* safe area: nunca comer bordes */
  .lc-svc-rail,
  .lc-svc-gal-rail,
  .lc-page--servicio .lc-obra-rail {
    padding-inline: max(1.25rem, env(safe-area-inset-left, 0px));
    padding-right: max(1.25rem, env(safe-area-inset-right, 0px));
    scroll-padding-inline: max(1.25rem, env(safe-area-inset-left, 0px));
  }
}

.lc-svc-links { margin-top: 1.35rem; justify-content: flex-start; }
.lc-svc-related { padding-block: 1.5rem !important; }

/* Hit area: abre lightbox; conserva hover zoom del .lc-obra-item img */
.lc-svc-gal-hit {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: zoom-in;
  appearance: none;
  -webkit-appearance: none;
  color: inherit;
  font: inherit;
  text-align: left;
}
.lc-svc-gal-hit:focus-visible {
  outline: 2px solid rgba(182, 160, 122, 0.85);
  outline-offset: -4px;
}
.lc-svc-gal-hit img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
}
.lc-svc-gal-rail .lc-obra-caption {
  pointer-events: none;
}

/* Lightbox galería de servicio */
.lc-modal--svc-gal {
  z-index: 2300;
}
.lc-modal-panel--svc-gal {
  width: min(560px, 94vw);
  max-width: min(560px, 94vw);
  padding: 3.1rem 1.1rem 1.35rem;
  background:
    radial-gradient(480px 220px at 50% 0%, rgba(31, 95, 173, 0.38), transparent 58%),
    linear-gradient(165deg, #152433, #0a1016);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
}
@media (min-width: 768px) {
  .lc-modal-panel--svc-gal {
    width: min(520px, 42vw);
    max-width: min(520px, 90vw);
    max-height: min(92vh, 960px);
    padding: 3.25rem 1.35rem 1.5rem;
  }
}
.lc-svc-gal-stage {
  position: relative;
  margin: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.65rem;
}
.lc-svc-gal-stage img {
  display: block;
  width: 100%;
  max-height: min(72vh, 780px);
  height: auto;
  object-fit: contain;
  border-radius: 14px;
  border: 1px solid rgba(182, 160, 122, 0.28);
  box-shadow: 0 24px 56px rgba(0, 0, 0, 0.5);
  background: rgba(8, 14, 20, 0.65);
}
.lc-svc-gal-stage figcaption {
  margin: 0;
  padding: 0 0.5rem;
  font-family: "Montserrat", system-ui, sans-serif;
  font-size: 1.35rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--lc-champan);
  text-align: center;
}
.lc-svc-gal-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
  width: 44px;
  height: 44px;
  margin: 0;
  padding: 0;
  border-radius: 12px;
  border: 1px solid rgba(182, 160, 122, 0.45);
  background: rgba(14, 22, 29, 0.88);
  color: var(--lc-champan);
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  font-size: 0;
  line-height: 0;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.35);
}
.lc-svc-gal-nav::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 10px;
  height: 10px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  margin: 0;
}
.lc-svc-gal-nav--prev {
  left: 0.55rem;
}
.lc-svc-gal-nav--prev::before {
  transform: translate(-35%, -50%) rotate(135deg);
}
.lc-svc-gal-nav--next {
  right: 0.55rem;
}
.lc-svc-gal-nav--next::before {
  transform: translate(-65%, -50%) rotate(-45deg);
}
.lc-svc-gal-nav:hover,
.lc-svc-gal-nav:focus-visible {
  background: rgba(18, 59, 112, 0.95);
  outline: none;
  border-color: rgba(182, 160, 122, 0.7);
}
@media (max-width: 767px) {
  .lc-svc-gal-nav--prev { left: 0.35rem; }
  .lc-svc-gal-nav--next { right: 0.35rem; }
  .lc-svc-gal-stage img { max-height: min(58vh, 640px); }
}

/* —— Riesgos: cards glass reales —— */
.lc-svc-risks { position: relative; }
.lc-svc-risk-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.9rem;
  margin-top: 0.25rem;
}
.lc-svc-risk-card {
  position: relative;
  padding: 1.3rem 1.2rem 1.35rem;
  border-radius: 16px;
  background: linear-gradient(165deg, rgba(140, 48, 48, 0.28), rgba(21, 36, 51, 0.9));
  border: 1px solid rgba(224, 138, 138, 0.32);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.1),
    0 18px 40px rgba(0, 0, 0, 0.32);
  overflow: hidden;
  transform-style: preserve-3d;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition: border-color 0.35s ease, transform 0.35s ease, box-shadow 0.35s ease;
}
.lc-svc-risk-card::before {
  content: "";
  position: absolute;
  top: 0; left: 1rem; right: 1rem;
  height: 2px;
  background: linear-gradient(90deg, transparent, #e08a8a, transparent);
}
.lc-svc-risk-card:hover {
  border-color: rgba(224, 138, 138, 0.55);
  transform: translateY(-4px);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12), 0 24px 48px rgba(0, 0, 0, 0.4);
}
.lc-svc-risk-num {
  display: block;
  margin-bottom: 0.5rem;
  font-family: "Montserrat", system-ui, sans-serif;
  font-size: 1.7rem;
  color: #e08a8a;
  line-height: 1;
  text-shadow: 0 0 20px rgba(224, 138, 138, 0.35);
}
.lc-svc-risk-card p {
  margin: 0;
  color: var(--lc-plata-alta);
  font-size: 0.96rem;
  line-height: 1.55;
}

/* —— Colaboración —— */
.lc-svc-collab { position: relative; }
.lc-svc-collab-title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.15em;
}
.lc-svc-collab-line,
.lc-svc-collab-brand {
  display: block;
}
.lc-svc-collab-brand {
  white-space: nowrap;
}

.lc-svc-collab-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.85rem;
}
/* Mismo detalle premium en PC y móvil (sin cambiar el grid). */
.lc-svc-collab-card.lc-card {
  min-height: 100%;
  overflow: hidden;
  border-radius: 14px;
  background: linear-gradient(160deg, rgba(28, 42, 56, 0.94), rgba(10, 18, 28, 0.96));
  border: 1px solid rgba(182, 160, 122, 0.26);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.07),
    0 14px 36px rgba(0, 0, 0, 0.24);
  transform-style: flat;
}
.lc-svc-collab-card.lc-card::after {
  /* Anula el glow azul genérico de .lc-card; el acento champán va en ::before. */
  opacity: 0 !important;
  background: none;
}
.lc-svc-collab-card::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.75rem;
  bottom: 0.75rem;
  width: 2px;
  border-radius: 2px;
  background: linear-gradient(180deg, rgba(182, 160, 122, 0.9), rgba(182, 160, 122, 0.18));
  z-index: 3;
  pointer-events: none;
}
.lc-svc-collab-card.lc-card:hover {
  transform: translateY(-3px);
  border-color: rgba(182, 160, 122, 0.45);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.09),
    0 18px 40px rgba(0, 0, 0, 0.3);
}
.lc-svc-collab-card .lc-card-body {
  flex-direction: row;
  align-items: flex-start;
  gap: 0.85rem;
  padding: 1.05rem 1.15rem 1.1rem 1.25rem;
}
.lc-svc-collab-num {
  flex: 0 0 auto;
  min-width: 1.75rem;
  font-family: "Montserrat", system-ui, sans-serif;
  font-size: 1.45rem;
  font-weight: 600;
  color: var(--lc-champan);
  line-height: 1;
  letter-spacing: 0.02em;
  padding-top: 0.08rem;
  text-shadow: 0 0 18px rgba(182, 160, 122, 0.28);
}
.lc-svc-collab-card p {
  flex: 1 1 auto;
  margin: 0;
  color: rgba(220, 228, 236, 0.92);
  font-size: 0.94rem;
  line-height: 1.45;
}

/* —— FAQ —— */
.lc-svc-faq-sec { position: relative; }
.lc-svc-faq-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  align-items: start;
  max-width: 52rem;
}
.lc-svc-faq-intro .lc-section-title {
  font-size: clamp(1.85rem, 3.4vw, 2.6rem);
  margin-bottom: 0.35rem;
}
.lc-svc-faq-intro .lc-lead { display: none; }
.lc-svc-faq { display: grid; gap: 0.45rem; }
.lc-svc-faq-item {
  border-radius: 14px;
  background: linear-gradient(165deg, rgba(31, 95, 173, 0.2), rgba(21, 36, 51, 0.78));
  border: 1px solid rgba(190, 202, 212, 0.2);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
  overflow: hidden;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}
.lc-svc-faq-item[open],
.lc-svc-faq-item:hover {
  border-color: rgba(182, 160, 122, 0.45);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12), 0 14px 36px rgba(0, 0, 0, 0.28);
}
.lc-svc-faq-item summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.85rem;
  padding: 1rem 1.15rem;
  color: #fff;
  font-weight: 600;
  font-size: 1rem;
  -webkit-tap-highlight-color: transparent;
}
.lc-svc-faq-item summary::-webkit-details-marker { display: none; }
.lc-svc-faq-item summary span { flex: 1; text-align: left; }
.lc-svc-faq-item p {
  margin: 0;
  padding: 0 1.15rem 1.1rem;
  color: var(--lc-plata);
  line-height: 1.65;
  max-width: 40rem;
}

.lc-acc-ico {
  position: relative;
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
}
.lc-acc-ico::before,
.lc-acc-ico::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  background: var(--lc-champan);
  border-radius: 1px;
  transform: translate(-50%, -50%);
}
.lc-acc-ico::before { width: 14px; height: 2px; }
.lc-acc-ico::after { width: 2px; height: 14px; transition: opacity 0.18s ease; }
details[open] > summary .lc-acc-ico::after { opacity: 0; }

.lc-svc-cta { position: relative; }
.lc-svc-cta .lc-section-title { color: var(--lc-noche); font-size: clamp(1.85rem, 3.4vw, 2.6rem); }
.lc-svc-cta .lc-lead { color: #4a5a68; }
.lc-svc-cta .lc-kicker { color: #8a7350; }

@media (min-width: 960px) {
  .lc-svc-collab-grid { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 960px) {
  .lc-svc-hero-grid { grid-template-columns: 1fr; }
  .lc-svc-hero-card { max-width: 28rem; }
  .lc-svc-risk-grid { grid-template-columns: 1fr; }
  .lc-svc-faq-layout { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  /*
   * Colaboración en móvil: 1 columna (no 2).
   * Muchos textos superan 1 renglón a media anchura → tarjetas compactas en fila.
   */
  .lc-svc-collab-grid {
    grid-template-columns: 1fr;
    gap: 0.55rem;
  }
  .lc-svc-collab-card {
    border-radius: 12px;
    min-height: 0;
  }
  .lc-svc-collab-card:hover,
  .lc-svc-collab-card[data-lc-tilt] {
    transform: none;
  }
  .lc-svc-collab-card::before {
    top: 0.55rem;
    bottom: 0.55rem;
  }
  .lc-svc-collab-card .lc-card-body {
    flex-direction: row;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.8rem 0.95rem 0.85rem 1.05rem;
  }
  .lc-svc-collab-num {
    flex: 0 0 auto;
    min-width: 1.7rem;
    font-size: 1.28rem;
    padding-top: 0.05rem;
  }
  .lc-svc-collab-card p {
    flex: 1 1 auto;
    font-size: 0.9rem;
    line-height: 1.4;
    /* Un renglón cuando cabe; si no, envuelve sin romper la tarjeta. */
    overflow-wrap: anywhere;
  }
}
@media (max-width: 640px) {
  .lc-svc-metrics { grid-template-columns: 1fr 1fr; gap: 0.75rem; }
  .lc-svc-metrics .lc-metric { padding: 1.05rem 0.9rem; }
  .lc-svc-hero-copy h1 { font-size: 2.05rem; }
  .lc-page--servicio .lc-wrap {
    width: min(1200px, calc(100vw - 2.5rem));
  }
}
@media (max-width: 420px) {
  .lc-svc-metrics { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .lc-svc-rail-cue span { animation: none; }
}

/* FIN Fase 2 servicios */

/* —— CTA hierarchy (PC / tablet / landscape) ——
   Un solo botón oro visible: el del header.
   Celular vertical (≤767px portrait) queda igual. */
.lc-cta-copy--wide { display: none; }
.lc-cta-copy--phone { display: inline; }

@media (min-width: 768px), (max-width: 767px) and (orientation: landscape) {
  .lc-header-util--reunion { display: none !important; }

  .lc-footer-cta-btn { display: none !important; }

  .lc-svc-cta .lc-cta-agendar,
  .lc-estudio-cta .lc-cta-agendar,
  .lc-ceo .lc-cta-agendar {
    display: none !important;
  }

  .lc-cta-copy--phone { display: none; }
  .lc-cta-copy--wide { display: inline; }

  .lc-svc-cta .lc-ceo-actions,
  .lc-estudio-cta .lc-ceo-actions {
    justify-content: flex-start;
  }
}

/* FIN CTA hierarchy */

/* ========== Fase 3c — Agendar + Cupón ========== */
.lc-page--agendar .lc-section,
.lc-page--cupon .lc-section {
  padding: clamp(1.75rem, 3.2vw, 2.75rem) 0;
}

.lc-agendar-panel {
  margin-top: 0.5rem;
  padding: clamp(1.1rem, 2.5vw, 1.75rem);
  border-radius: 20px;
  background: linear-gradient(165deg, rgba(31, 95, 173, 0.22), rgba(21, 36, 51, 0.88));
  border: 1px solid rgba(190, 202, 212, 0.22);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 24px 56px rgba(0, 0, 0, 0.35);
  overflow: visible;
  max-width: 100%;
  box-sizing: border-box;
}

/* —— B3 calendario Premium —— */
.lc-book-root {
  min-height: 18rem;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
.lc-book,
.lc-book-cal,
.lc-book-times {
  min-width: 0;
  max-width: 100%;
}
.lc-book-boot,
.lc-book-loading,
.lc-book-hint,
.lc-book-times-empty,
.lc-book-meta {
  color: rgba(190, 202, 212, 0.88);
  font-size: 0.95rem;
  margin: 0.75rem 0 0;
}
.lc-book-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  gap: clamp(1.25rem, 3vw, 2rem);
  align-items: start;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
.lc-book-cal-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 1rem;
}
.lc-book-month {
  margin: 0;
  font-family: "Montserrat", system-ui, sans-serif;
  font-size: clamp(1.55rem, 3vw, 2rem);
  font-weight: 600;
  color: #f5f2ec;
  letter-spacing: 0.02em;
}
.lc-book-nav {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 999px;
  border: 1px solid rgba(182, 160, 122, 0.45);
  background: rgba(14, 22, 29, 0.45);
  color: #b6a07a;
  font-size: 1.35rem;
  line-height: 1;
  cursor: pointer;
  transition: background 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}
.lc-book-nav:hover {
  background: rgba(18, 59, 112, 0.55);
  border-color: #b6a07a;
  transform: translateY(-1px);
}
.lc-book-wdays {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 0.35rem;
  margin-bottom: 0.4rem;
  text-align: center;
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(182, 160, 122, 0.85);
  width: 100%;
  box-sizing: border-box;
}
.lc-book-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 0.4rem;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
.lc-book-day {
  aspect-ratio: 1;
  width: 100%;
  min-width: 0;
  min-height: 0;
  padding: 0;
  border-radius: 12px;
  border: 1px solid transparent;
  background: rgba(14, 22, 29, 0.35);
  color: rgba(232, 238, 242, 0.55);
  font-family: "Montserrat", system-ui, sans-serif;
  font-size: clamp(0.78rem, 2.8vw, 0.95rem);
  font-weight: 600;
  cursor: default;
  box-sizing: border-box;
}
.lc-book-day--pad { visibility: hidden; pointer-events: none; }
.lc-book-day--closed,
.lc-book-day--past,
.lc-book-day--full {
  opacity: 0.45;
}
.lc-book-day--open {
  color: #f5f2ec;
  border-color: rgba(190, 202, 212, 0.28);
  background: linear-gradient(160deg, rgba(18, 59, 112, 0.55), rgba(14, 22, 29, 0.7));
  cursor: pointer;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}
.lc-book-day--open:hover,
.lc-book-day--open.is-selected {
  border-color: #b6a07a;
  box-shadow: 0 0 0 1px rgba(182, 160, 122, 0.35), 0 10px 28px rgba(0, 0, 0, 0.28);
  transform: translateY(-1px);
}
.lc-book-day.is-today:not(.lc-book-day--pad) {
  box-shadow: inset 0 0 0 1px rgba(182, 160, 122, 0.55);
}
.lc-book-times-title {
  margin: 0 0 0.85rem;
  font-family: "Montserrat", system-ui, sans-serif;
  font-size: clamp(1.35rem, 2.6vw, 1.7rem);
  color: #f5f2ec;
  font-weight: 600;
}
.lc-book-slot-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(6.5rem, 1fr));
  gap: 0.55rem;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
.lc-book-slot {
  padding: 0.7rem 0.55rem;
  border-radius: 12px;
  border: 1px solid rgba(190, 202, 212, 0.28);
  background: rgba(14, 22, 29, 0.4);
  color: #e8eef2;
  font-weight: 600;
  font-size: 0.9rem;
  line-height: 1.25;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.lc-book-slot:hover,
.lc-book-slot.is-selected {
  border-color: #b6a07a;
  background: linear-gradient(135deg, rgba(182, 160, 122, 0.28), rgba(18, 59, 112, 0.45));
  color: #f5f2ec;
}
.lc-book-back-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.25rem;
  margin: 0 0 1rem;
}
.lc-book-back {
  appearance: none;
  -webkit-appearance: none;
  border: 0;
  background: transparent;
  color: #b6a07a;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
  margin: 0;
  padding: 0.25rem 0;
  text-align: left;
}
.lc-book-back:hover {
  color: #f5f2ec;
  text-decoration: underline;
}
.lc-book-summary {
  margin-bottom: 1.25rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(190, 202, 212, 0.18);
}
.lc-book-summary-kicker,
.lc-book-success-kicker {
  margin: 0 0 0.35rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-size: 0.72rem;
  color: #b6a07a;
}
.lc-book-success-title {
  margin: 0;
  font-family: "Montserrat", system-ui, sans-serif;
  font-size: clamp(1.6rem, 3.2vw, 2.15rem);
  font-weight: 600;
  color: #f5f2ec;
  line-height: 1.25;
}
/* Fecha/hora en un solo renglón (evita cortar «a. m.» / «p. m.»). */
.lc-book-summary-when,
.lc-book-success-when {
  margin: 0.35rem 0 0;
  font-family: "Montserrat", system-ui, sans-serif;
  font-size: clamp(1.05rem, 3.6vw, 1.45rem);
  font-weight: 600;
  color: #f5f2ec;
  line-height: 1.35;
  white-space: nowrap;
  overflow-x: auto;
  max-width: 100%;
  -webkit-overflow-scrolling: touch;
}
.lc-book-form {
  display: grid;
  gap: 0.95rem;
  max-width: 34rem;
}
.lc-book-field label {
  display: block;
  margin-bottom: 0.35rem;
  font-size: 0.82rem;
  letter-spacing: 0.04em;
  color: rgba(190, 202, 212, 0.9);
}
.lc-book-field input,
.lc-book-field select,
.lc-book-field textarea {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  padding: 0.85rem 0.95rem;
  border-radius: 12px;
  border: 1px solid rgba(190, 202, 212, 0.28);
  background: rgba(7, 16, 24, 0.55);
  color: #f5f2ec;
  font-family: "Montserrat", system-ui, sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.35;
}
.lc-book-select-wrap {
  position: relative;
  width: 100%;
}
.lc-book-select-wrap::after {
  content: "";
  position: absolute;
  right: 1rem;
  top: 50%;
  width: 0.55rem;
  height: 0.55rem;
  border-right: 2px solid #b6a07a;
  border-bottom: 2px solid #b6a07a;
  transform: translateY(-65%) rotate(45deg);
  pointer-events: none;
}
.lc-book-field select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  display: block;
  min-height: 3.25rem;
  height: auto;
  padding: 0.95rem 2.6rem 0.95rem 0.95rem;
  line-height: 1.35;
  color: #f5f2ec !important;
  background-color: rgba(7, 16, 24, 0.72);
  background-image: none;
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
}
.lc-book-field select option {
  color: #0e161d;
  background: #f5f2ec;
  font-size: 1rem;
  line-height: 1.4;
}
.lc-book-field input:focus,
.lc-book-field select:focus,
.lc-book-field textarea:focus {
  outline: none;
  border-color: #b6a07a;
  box-shadow: 0 0 0 2px rgba(182, 160, 122, 0.22);
}
.lc-book-hp {
  position: absolute;
  left: -9999px;
  height: 0;
  overflow: hidden;
}
.lc-book-form-msg {
  margin: 0;
  color: #e8b4b4;
  font-size: 0.92rem;
}
.lc-book-submit { margin-top: 0.35rem; width: 100%; justify-content: center; }
.lc-book--success { text-align: left; max-width: 36rem; }
.lc-book--manage .lc-lead { margin: 0 0 1.25rem; color: rgba(232, 238, 242, 0.9); }
.lc-page--manage .lc-svc-hero-grid { align-items: center; }
.lc-book-success-list {
  list-style: none;
  margin: 1.25rem 0;
  padding: 0;
  color: rgba(232, 238, 242, 0.9);
}
.lc-book-success-list li { margin: 0.35rem 0; }
.lc-book-error {
  padding: 1rem 0;
}
.lc-book-error .lc-btn { margin-top: 1rem; }

@media (max-width: 860px) {
  .lc-book-layout {
    grid-template-columns: 1fr;
  }
}
/* Celular: calendario y horarios sin recorte lateral */
@media (max-width: 640px) {
  .lc-agendar-panel {
    padding: 0.95rem 0.75rem;
  }
  .lc-book-wdays {
    gap: 0.2rem;
    font-size: 0.62rem;
    letter-spacing: 0.06em;
  }
  .lc-book-grid {
    gap: 0.22rem;
  }
  .lc-book-day {
    border-radius: 8px;
    font-size: 0.78rem;
  }
  .lc-book-nav {
    width: 2.15rem;
    height: 2.15rem;
    flex-shrink: 0;
  }
  .lc-book-month {
    font-size: 1.35rem;
    text-align: center;
  }
  .lc-book-slot-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.45rem;
  }
  .lc-book-slot {
    font-size: 0.82rem;
    padding: 0.65rem 0.4rem;
    white-space: normal;
  }
  .lc-book-times-title {
    font-size: 1.25rem;
  }
  .lc-book-field select {
    min-height: 3.35rem;
    font-size: 1rem;
  }
}

.lc-cupon-code-sec .lc-section-title { margin-bottom: 1.25rem; }

/* Timeline «Cómo usarlo» — títulos champagne sobre fondo noche */
.lc-page--cupon .lc-svc-timeline {
  list-style: none;
  margin: 0.75rem 0 0;
  padding: 0;
  display: grid;
  gap: 1.15rem;
}
.lc-page--cupon .lc-svc-timeline li {
  display: grid;
  grid-template-columns: 3.75rem 1fr;
  gap: 1rem;
  align-items: start;
  padding: 1.1rem 1.15rem;
  border-radius: 16px;
  background: linear-gradient(165deg, rgba(31, 95, 173, 0.16), rgba(14, 22, 29, 0.55));
  border: 1px solid rgba(190, 202, 212, 0.16);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}
.lc-page--cupon .lc-svc-tl-num {
  font-family: "Montserrat", system-ui, sans-serif;
  font-size: 2rem;
  line-height: 1;
  color: var(--lc-champan);
  text-shadow: 0 0 24px rgba(182, 160, 122, 0.4);
}
.lc-page--cupon #lc-cupon-how.lc-section-title {
  color: var(--lc-champan);
  text-shadow: none;
}
.lc-page--cupon .lc-svc-timeline h3 {
  margin: 0 0 0.4rem;
  font-family: "Montserrat", system-ui, sans-serif;
  font-size: clamp(1.35rem, 2.4vw, 1.75rem);
  font-weight: 600;
  color: var(--lc-champan);
}
.lc-page--cupon .lc-svc-timeline p {
  margin: 0;
  color: var(--lc-plata);
  font-size: 0.98rem;
  line-height: 1.6;
}

.lc-cupon-code {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
  margin: 0 0 1rem;
}
.lc-cupon-code-value {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: min(100%, 16rem);
  padding: 1rem 1.5rem;
  border-radius: 16px;
  font-family: "Montserrat", system-ui, sans-serif;
  font-size: clamp(2.2rem, 5vw, 3.4rem);
  font-weight: 600;
  letter-spacing: 0.12em;
  color: var(--lc-noche);
  background: linear-gradient(135deg, #f5f2ec, #e8d7b0);
  border: 1px solid rgba(182, 160, 122, 0.55);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.35), 0 0 40px rgba(182, 160, 122, 0.25);
}
.lc-cupon-hint { max-width: 36rem; }

.lc-cupon-svc-list {
  list-style: none;
  margin: 0.5rem 0 0;
  padding: 0;
  display: grid;
  gap: 0;
  border-top: 1px solid rgba(190, 202, 212, 0.16);
}
.lc-cupon-svc-list li {
  display: grid;
  grid-template-columns: 3.5rem 1fr;
  gap: 1rem;
  align-items: center;
  padding: 1.15rem 0;
  border-bottom: 1px solid rgba(190, 202, 212, 0.14);
}
.lc-cupon-svc-num {
  font-family: "Montserrat", system-ui, sans-serif;
  font-size: 1.65rem;
  color: var(--lc-champan);
  line-height: 1;
}
.lc-cupon-svc-list a {
  color: #fff;
  text-decoration: none;
  font-size: 1.1rem;
  font-weight: 600;
  border-bottom: 1px solid rgba(182, 160, 122, 0.35);
  padding-bottom: 0.1rem;
  justify-self: start;
}
.lc-cupon-svc-list a:hover {
  color: var(--lc-champan);
  border-color: var(--lc-champan);
}

/* FIN Fase 3c */

/* —— Fase 3b v2: Bitácora Premium —— */
.lc-page--blog,
.lc-page--blog-single {
  overflow-x: clip;
}

.lc-blog-hero {
  position: relative;
  padding: clamp(2.5rem, 6vw, 4.5rem) 0 clamp(1.75rem, 3.5vw, 2.75rem);
  isolation: isolate;
}
.lc-blog-hero .lc-aurora,
.lc-blog-hero .lc-orb { z-index: 0; }
.lc-blog-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  gap: clamp(1.75rem, 4vw, 2.75rem);
}
.lc-blog-hero-copy { max-width: 40rem; }
.lc-blog-hero-copy h1 {
  margin: 0 0 1rem;
  font-family: var(--lc-font-display), system-ui, sans-serif;
  font-weight: 600;
  font-size: clamp(2.45rem, 5.2vw, 3.75rem);
  line-height: 1.05;
  color: var(--lc-marfil);
  letter-spacing: -0.02em;
}
.lc-blog-hero-copy .lc-lead {
  color: var(--lc-plata);
  max-width: 34rem;
  margin-bottom: 1.5rem;
}

/* Search */
.lc-blog-search {
  position: relative;
  max-width: 28rem;
  margin-top: 0.25rem;
}
.lc-blog-search-field {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.7rem 0.95rem;
  border: 1px solid rgba(182, 160, 122, 0.35);
  background: rgba(8, 16, 24, 0.72);
  backdrop-filter: blur(10px);
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
}
.lc-blog-search-field:focus-within {
  border-color: rgba(182, 160, 122, 0.7);
  box-shadow: 0 0 0 3px rgba(182, 160, 122, 0.12);
}
.lc-blog-search-icon {
  display: flex;
  flex-shrink: 0;
  color: var(--lc-champan);
}
.lc-blog-search-icon .lc-icon {
  width: 1.15rem;
  height: 1.15rem;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.6;
}
.lc-blog-search-input {
  flex: 1;
  min-width: 0;
  border: 0;
  background: transparent;
  color: #fff;
  font-family: inherit;
  font-size: 0.98rem;
  line-height: 1.4;
  outline: none;
}
.lc-blog-search-input::placeholder {
  color: rgba(190, 202, 212, 0.45);
}
.lc-blog-search-clear {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.2rem;
  border: 0;
  background: transparent;
  color: rgba(190, 202, 212, 0.7);
  cursor: pointer;
}
.lc-blog-search-clear .lc-icon {
  width: 1rem;
  height: 1rem;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.7;
}
.lc-blog-search-clear[hidden] { display: none !important; }
.lc-blog-search-results {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 0.4rem);
  z-index: 40;
  max-height: min(22rem, 60vh);
  overflow-y: auto;
  border: 1px solid rgba(182, 160, 122, 0.28);
  background: rgba(10, 18, 28, 0.97);
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.45);
}
.lc-blog-search-results[hidden] { display: none !important; }
.lc-blog-search-hit {
  display: block;
  padding: 0.85rem 1rem;
  border-bottom: 1px solid rgba(190, 202, 212, 0.08);
  color: inherit;
  text-decoration: none;
  transition: background 0.2s ease;
}
.lc-blog-search-hit:last-child { border-bottom: 0; }
.lc-blog-search-hit:hover,
.lc-blog-search-hit.is-active {
  background: rgba(182, 160, 122, 0.1);
}
.lc-blog-search-hit-title {
  display: block;
  font-family: var(--lc-font-display), system-ui, sans-serif;
  font-size: 1.15rem;
  font-weight: 600;
  color: var(--lc-marfil);
  line-height: 1.25;
}
.lc-blog-search-hit-meta {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  color: var(--lc-plata-suave);
}
.lc-blog-search-empty {
  padding: 1rem;
  color: rgba(190, 202, 212, 0.65);
  font-size: 0.92rem;
}
.lc-blog-search-hit mark {
  background: transparent;
  color: var(--lc-champan);
  font-weight: 700;
}

.lc-blog-feature {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.95fr);
  gap: 0;
  border: 1px solid rgba(182, 160, 122, 0.22);
  background: linear-gradient(145deg, rgba(18, 32, 44, 0.92), rgba(8, 16, 24, 0.88));
  overflow: hidden;
}
.lc-blog-feature-media {
  position: relative;
  display: block;
  min-height: 280px;
  overflow: hidden;
}
.lc-blog-feature-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: scale(1.02);
  transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}
.lc-blog-feature:hover .lc-blog-feature-media img { transform: scale(1.07); }
.lc-blog-feature-veil {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 40%, rgba(7, 16, 24, 0.35) 100%);
  pointer-events: none;
}
.lc-blog-feature-body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(1.5rem, 3.5vw, 2.4rem);
}
.lc-blog-feature-title {
  margin: 0 0 0.85rem;
  font-family: "Montserrat", system-ui, sans-serif;
  font-weight: 600;
  font-size: clamp(1.65rem, 2.8vw, 2.15rem);
  line-height: 1.15;
}
.lc-blog-feature-title a {
  color: var(--lc-marfil);
  text-decoration: none;
  text-underline-offset: 0.18em;
}
.lc-blog-feature-title a:hover { color: var(--lc-champan-alto); }

.lc-blog-kicker {
  margin: 0 0 0.55rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--lc-champan);
  line-height: 1.35;
}
.lc-blog-excerpt {
  margin: 0 0 1.1rem;
  color: var(--lc-plata);
  font-size: 1.02rem;
  line-height: 1.65;
}
.lc-blog-meta {
  margin: 0;
  font-size: 0.88rem;
  color: var(--lc-plata-suave);
}

/* Paneles premium (temas + prosa) */
.lc-blog-panel {
  position: relative;
  padding: clamp(1.35rem, 3vw, 2rem);
  border: 1px solid rgba(182, 160, 122, 0.22);
  background:
    linear-gradient(165deg, rgba(22, 36, 50, 0.88) 0%, rgba(9, 16, 24, 0.94) 100%);
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.28);
}
.lc-blog-panel--prose {
  max-width: 46rem;
  margin: 0 auto;
  padding: clamp(1.5rem, 3.5vw, 2.5rem) clamp(1.25rem, 3.5vw, 2.75rem);
}

/* Secciones del artículo = tarjetas premium */
.lc-blog-sections {
  display: flex;
  flex-direction: column;
  gap: clamp(1rem, 2.2vw, 1.35rem);
  max-width: 46rem;
  margin: 0 auto;
}
.lc-blog-sec {
  border: 1px solid rgba(182, 160, 122, 0.24);
  background:
    linear-gradient(165deg, rgba(24, 38, 52, 0.94) 0%, rgba(9, 16, 24, 0.96) 100%);
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.26);
}
.lc-blog-sec-inner {
  padding: clamp(1.35rem, 3.2vw, 2.1rem) clamp(1.2rem, 3vw, 2.25rem);
}
.lc-blog-sec .lc-blog-prose {
  max-width: none;
  margin: 0;
}
.lc-blog-sec .lc-blog-prose > h2:first-child,
.lc-blog-sec .lc-blog-prose > h3:first-child {
  margin-top: 0;
  padding-bottom: 0.65rem;
  border-bottom: 1px solid rgba(182, 160, 122, 0.28);
}
/* Color de títulos de sección: ver bloque .lc-page--blog-single .lc-blog-prose */

/* Topic chips + hint de scroll */
.lc-blog-topics-nav {
  padding: 0 0 1.5rem;
}
.lc-blog-chips-label {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.75rem;
  margin: 0 0 0.7rem;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(190, 202, 212, 0.55);
}
.lc-blog-chips-hint {
  display: none;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  color: var(--lc-champan);
  text-transform: none;
  font-weight: 600;
}
.lc-blog-chips-shell,
.lc-blog-rail-shell {
  position: relative;
}
.lc-blog-topics-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.lc-blog-chip {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  padding: 0.65rem 1.05rem;
  border: 1px solid rgba(182, 160, 122, 0.32);
  color: #e8eef2;
  font-size: 0.9rem;
  font-weight: 600;
  line-height: 1.35;
  text-decoration: none;
  background: rgba(8, 16, 24, 0.45);
  transition: border-color 0.25s ease, color 0.25s ease, background 0.25s ease;
}
.lc-blog-chip:hover {
  border-color: rgba(182, 160, 122, 0.7);
  color: #fff;
  background: rgba(182, 160, 122, 0.1);
}
.lc-blog-scroll-fade {
  display: none;
  pointer-events: none;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 3.25rem;
  background: linear-gradient(90deg, transparent, rgba(7, 16, 24, 0.92) 70%);
  z-index: 2;
  opacity: 1;
  transition: opacity 0.25s ease;
}
.lc-blog-chips-shell.is-end .lc-blog-scroll-fade,
.lc-blog-rail-shell.is-end .lc-blog-scroll-fade,
.lc-blog-chips-shell:not(.is-scrollable) .lc-blog-scroll-fade,
.lc-blog-rail-shell:not(.is-scrollable) .lc-blog-scroll-fade {
  opacity: 0;
}
.lc-blog-rail-hint {
  display: none;
  margin: 0.65rem 0 0;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: rgba(182, 160, 122, 0.85);
  text-align: right;
  transition: opacity 0.25s ease;
}
.lc-blog-rail-shell.is-end .lc-blog-rail-hint,
.lc-blog-rail-shell:not(.is-scrollable) .lc-blog-rail-hint {
  opacity: 0.3;
}

.lc-blog-topic { padding-top: clamp(1.15rem, 2.5vw, 1.75rem); padding-bottom: 0.25rem; }
.lc-blog-topic-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem 1.5rem;
  margin-bottom: clamp(1.15rem, 2.5vw, 1.6rem);
}
.lc-blog-topic-lead {
  margin: 0.45rem 0 0;
  max-width: 36rem;
  color: rgba(220, 228, 236, 0.82);
  font-size: 1.05rem;
  line-height: 1.55;
}
.lc-blog-topic .lc-section-title,
.lc-blog-panel .lc-section-title {
  margin: 0;
  font-size: clamp(1.75rem, 3.2vw, 2.35rem);
  color: #fff;
}
.lc-blog-topic-more {
  color: var(--lc-champan);
  font-size: 0.95rem;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
}
.lc-blog-topic-more:hover { text-decoration: underline; }

/* Rails: desktop grid / mobile snap-scroll */
.lc-blog-rail {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2.2vw, 1.5rem);
}
.lc-blog-rail--compact {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.lc-blog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2.2vw, 1.5rem);
  margin-top: 1.25rem;
}

.lc-blog-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  background: rgba(6, 12, 20, 0.55);
  border: 1px solid rgba(190, 202, 212, 0.12);
  transition: border-color 0.35s ease, transform 0.35s ease, background 0.35s ease;
}
.lc-blog-card:hover {
  border-color: rgba(182, 160, 122, 0.45);
  transform: translateY(-3px);
  background: rgba(12, 22, 34, 0.88);
}
.lc-blog-card-media {
  display: block;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  background: #0a1420;
}
.lc-blog-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.65s cubic-bezier(0.22, 1, 0.36, 1);
}
.lc-blog-card:hover .lc-blog-card-media img { transform: scale(1.06); }
.lc-blog-card-ph {
  display: block;
  width: 100%;
  height: 100%;
  background:
    radial-gradient(circle at 30% 30%, rgba(182, 160, 122, 0.22), transparent 55%),
    linear-gradient(145deg, #122030, #071018);
}
.lc-blog-card-body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 1.15rem 1.2rem 1.35rem;
}
.lc-blog-card-title {
  margin: 0 0 0.55rem;
  font-family: var(--lc-font-display), system-ui, sans-serif;
  font-weight: 600;
  font-size: clamp(1.3rem, 2.4vw, 1.45rem);
  line-height: 1.22;
}
.lc-blog-card-title a {
  color: var(--lc-marfil);
  text-decoration: none;
}
.lc-blog-card-title a:hover { color: var(--lc-champan-alto); }
.lc-blog-card .lc-blog-excerpt {
  flex: 1;
  margin-bottom: 0.75rem;
  font-size: 1rem;
  line-height: 1.6;
  color: var(--lc-plata);
}
.lc-blog-kicker {
  font-size: 0.72rem;
}
.lc-blog-meta {
  font-size: 0.92rem;
  color: var(--lc-plata-suave);
}

.lc-blog-see-all {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  min-height: 100%;
  padding: 1.75rem 1.35rem;
  border: 1px dashed rgba(182, 160, 122, 0.5);
  background:
    radial-gradient(circle at 50% 30%, rgba(182, 160, 122, 0.16), transparent 55%),
    rgba(10, 18, 28, 0.9);
  color: inherit;
  text-decoration: none;
  scroll-snap-align: start;
  transition: border-color 0.25s ease, background 0.25s ease;
}
.lc-blog-see-all:hover {
  border-color: rgba(182, 160, 122, 0.8);
  background: rgba(18, 30, 42, 0.96);
}
.lc-blog-see-all-kicker {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--lc-champan);
}
.lc-blog-see-all-title {
  margin: 0.6rem 0 0.4rem;
  font-family: "Montserrat", system-ui, sans-serif;
  font-size: 1.75rem;
  font-weight: 600;
  color: #fff;
}
.lc-blog-see-all-count {
  font-size: 0.95rem;
  color: rgba(190, 202, 212, 0.7);
}

.lc-blog-text-link {
  color: var(--lc-champan);
  text-decoration: none;
  font-size: 0.98rem;
  font-weight: 600;
}
.lc-blog-text-link:hover { text-decoration: underline; }

/* Single — columna editorial en panel */
.lc-blog-article-hero {
  position: relative;
  padding: clamp(2.25rem, 5vw, 3.75rem) 0 0;
  isolation: isolate;
}
.lc-blog-article-hero-inner {
  position: relative;
  z-index: 1;
  max-width: 44rem;
  margin: 0 auto;
}
.lc-blog-crumb {
  margin: 0 0 1rem;
  font-size: 0.92rem;
  color: rgba(190, 202, 212, 0.6);
}
.lc-blog-crumb a { color: var(--lc-champan); text-decoration: none; }
.lc-blog-crumb a:hover { text-decoration: underline; }
.lc-blog-article-title {
  margin: 0 0 1rem;
  font-family: var(--lc-font-display), system-ui, sans-serif;
  font-weight: 600;
  font-size: clamp(2.25rem, 4.8vw, 3.35rem);
  line-height: 1.08;
  color: var(--lc-marfil);
  letter-spacing: -0.02em;
}
.lc-blog-article-deck {
  color: var(--lc-plata);
  font-size: 1.12rem;
  line-height: 1.7;
  margin-bottom: 1.35rem;
}
.lc-blog-cta-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1rem;
  margin-bottom: 1.75rem;
}
.lc-blog-cta-bar-back { margin-left: 0.15rem; }
.lc-blog-article-cover {
  position: relative;
  z-index: 1;
  margin: 0 auto;
  max-width: min(920px, calc(100% - 2rem));
  border: 1px solid rgba(182, 160, 122, 0.2);
  overflow: hidden;
}
.lc-blog-article-cover img {
  width: 100%;
  height: auto;
  max-height: 480px;
  object-fit: cover;
  display: block;
}
.lc-blog-article-body {
  padding-top: clamp(1.5rem, 3vw, 2.25rem);
}

/* Jerarquía de lectura: cuerpo gris oscuro, títulos champán (no blanco). */
.lc-blog-prose {
  max-width: 38rem;
  margin: 0 auto;
  color: #6e8290;
  font-family: var(--lc-font-body), system-ui, sans-serif;
  font-size: clamp(1.1rem, 2.1vw, 1.18rem);
  line-height: 1.85;
  letter-spacing: 0.01em;
}
.lc-blog-sec .lc-blog-prose,
.lc-blog-sec-inner.lc-blog-prose {
  color: #6e8290;
  font-family: var(--lc-font-body), system-ui, sans-serif;
  font-size: clamp(1.1rem, 2.1vw, 1.18rem);
  line-height: 1.85;
  letter-spacing: 0.01em;
}
.lc-blog-prose > *:first-child { margin-top: 0; }
.lc-blog-prose p,
.lc-blog-sec .lc-blog-prose p,
.lc-blog-sec-inner.lc-blog-prose p {
  margin: 0 0 1.4rem;
  color: #6e8290;
}
.lc-blog-prose p:first-of-type,
.lc-blog-sec .lc-blog-prose p:first-of-type,
.lc-blog-sec-inner.lc-blog-prose p:first-of-type {
  color: #7a8fa0;
  font-size: 1.05em;
  line-height: 1.8;
}
.lc-blog-prose h2,
.lc-blog-prose h3,
.lc-blog-prose h4,
.lc-blog-sec .lc-blog-prose h2,
.lc-blog-sec .lc-blog-prose h3,
.lc-blog-sec .lc-blog-prose h4 {
  margin: 2.1rem 0 0.9rem;
  font-family: var(--lc-font-display), system-ui, sans-serif;
  font-weight: 600;
  line-height: 1.25;
}
.lc-blog-prose h2,
.lc-blog-sec .lc-blog-prose h2 {
  font-size: clamp(1.75rem, 2.8vw, 2.15rem);
  color: #a8926c;
}
.lc-blog-prose h3,
.lc-blog-sec .lc-blog-prose h3 {
  font-size: clamp(1.45rem, 2.4vw, 1.65rem);
  color: #8fa0ae;
}
.lc-blog-prose h4,
.lc-blog-sec .lc-blog-prose h4 {
  font-size: 1.28rem;
  color: #b6a07a;
}
.lc-blog-prose strong,
.lc-blog-prose b,
.lc-blog-sec .lc-blog-prose strong,
.lc-blog-sec .lc-blog-prose b {
  color: #b6a07a;
  font-weight: 650;
}
.lc-blog-prose a,
.lc-blog-sec .lc-blog-prose a {
  color: #b6a07a;
  text-decoration: underline;
  text-decoration-color: rgba(182, 160, 122, 0.45);
  text-underline-offset: 0.18em;
  transition: color 0.2s ease, text-decoration-color 0.2s ease;
}
.lc-blog-prose a:hover,
.lc-blog-sec .lc-blog-prose a:hover {
  color: #9a825c;
  text-decoration-color: #9a825c;
}
.lc-blog-prose .lc-blog-list,
.lc-blog-sec .lc-blog-prose .lc-blog-list {
  margin: 0 0 1.4rem;
  padding-left: 1.25rem;
  color: #6e8290;
}
.lc-blog-prose .lc-blog-list li {
  margin-bottom: 0.6rem;
}
.lc-blog-prose ::selection {
  background: rgba(182, 160, 122, 0.35);
  color: #0e161d;
}
.lc-blog-figure { margin: 1.85rem 0; }
.lc-blog-figure img {
  width: 100%;
  height: auto;
  display: block;
  border: 1px solid rgba(190, 202, 212, 0.12);
}

.lc-blog-end-cta {
  position: relative;
  margin: clamp(1.35rem, 3vw, 2rem) auto 0;
  padding: clamp(1.75rem, 3.5vw, 2.5rem) clamp(1.25rem, 3vw, 2rem);
  max-width: 46rem;
  border: 1px solid rgba(182, 160, 122, 0.3);
  background: linear-gradient(160deg, rgba(28, 42, 56, 0.98), rgba(10, 18, 28, 0.95));
  text-align: center;
}
.lc-blog-end-cta .lc-section-title {
  font-size: clamp(1.7rem, 3vw, 2.2rem);
  color: #fff;
}
.lc-blog-end-cta .lc-lead {
  margin: 0.55rem auto 1.35rem;
  max-width: 32rem;
  color: rgba(220, 228, 236, 0.85);
  font-size: 1.08rem;
}
.lc-blog-end-cta-grid {
  display: inline-grid;
  grid-template-columns: auto auto;
  gap: 0.75rem 1rem;
  align-items: start;
  justify-content: center;
  text-align: left;
}
.lc-blog-end-cta-col {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.7rem;
}
.lc-blog-end-cta-blog {
  display: inline-block;
  padding: 0.1rem 0.15rem;
}

/* Tablet */
@media (max-width: 980px) {
  .lc-blog-feature { grid-template-columns: 1fr; }
  .lc-blog-feature-media {
    min-height: 220px;
    aspect-ratio: 16 / 9;
  }
  .lc-blog-rail,
  .lc-blog-rail--compact,
  .lc-blog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .lc-blog-topic-more--desk { display: none; }
  .lc-blog-see-all { display: flex; }
  .lc-blog-scroll-fade { display: block; }
  .lc-blog-chips-hint { display: inline; }
  .lc-blog-rail-hint { display: block; }
  .lc-blog-topics-chips {
    flex-wrap: nowrap;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x proximity;
    padding: 0.15rem 2.5rem 0.45rem 0.15rem;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .lc-blog-topics-chips::-webkit-scrollbar { display: none; }
  .lc-blog-chip {
    flex: 0 0 auto;
    scroll-snap-align: start;
    white-space: nowrap;
    max-width: none;
    font-size: 0.95rem;
  }
}

/* Móvil: carrusel horizontal (PC permanece en grid) */
@media (max-width: 720px) {
  .lc-blog-panel {
    padding: 1.2rem 1rem 1.35rem;
  }
  .lc-blog-panel--prose {
    padding: 1.35rem 1.1rem 1.6rem;
    border-left: 0;
    border-right: 0;
    max-width: none;
    margin-inline: -1rem;
    width: calc(100% + 2rem);
  }
  .lc-blog-sections {
    max-width: none;
    gap: 1rem;
  }
  .lc-blog-sec-inner {
    padding: 1.25rem 1.1rem 1.45rem;
  }
  .lc-blog-rail,
  .lc-blog-rail--compact {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.95rem;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 0.25rem;
    padding: 0.15rem 2.75rem 0.55rem 0.1rem;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .lc-blog-rail::-webkit-scrollbar,
  .lc-blog-rail--compact::-webkit-scrollbar { display: none; }
  .lc-blog-rail > .lc-blog-card,
  .lc-blog-rail > .lc-blog-see-all,
  .lc-blog-rail--compact > .lc-blog-card {
    flex: 0 0 min(78vw, 300px);
    width: min(78vw, 300px);
    max-width: min(78vw, 300px);
    scroll-snap-align: start;
  }
  .lc-blog-grid { grid-template-columns: 1fr; }
  .lc-blog-article-cover {
    max-width: 100%;
    border-left: 0;
    border-right: 0;
  }
  .lc-blog-end-cta {
    max-width: none;
    margin-inline: -1rem;
    width: calc(100% + 2rem);
    border-left: 0;
    border-right: 0;
    text-align: left;
  }
  .lc-blog-end-cta .lc-lead {
    margin-left: 0;
    margin-right: 0;
  }
  .lc-blog-end-cta-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 100%;
    justify-content: stretch;
  }
  .lc-blog-end-cta-col .lc-btn,
  .lc-blog-end-cta-grid > .lc-btn {
    width: 100%;
    justify-content: center;
  }
  .lc-blog-cta-bar .lc-btn { flex: 1 1 auto; justify-content: center; }
  .lc-blog-cta-bar-back { width: 100%; }
  .lc-blog-card-title { font-size: 1.38rem; }
  .lc-blog-card .lc-blog-excerpt { font-size: 1.02rem; }
  .lc-blog-prose { font-size: 1.14rem; line-height: 1.85; }
}

/* Relacionados: móvil carrusel; PC sin tocar (grid 3) */
@media (max-width: 720px) {
  .lc-blog-related .lc-blog-scroll-fade,
  .lc-blog-related .lc-blog-rail-hint {
    display: block;
  }
}

@media (prefers-reduced-motion: reduce) {
  .lc-blog-card:hover,
  .lc-blog-card:hover .lc-blog-card-media img,
  .lc-blog-feature:hover .lc-blog-feature-media img {
    transform: none;
  }
}

/* FIN Fase 3b v2 */

/* —— Fase 3a: Tienda Premium —— */
.lc-page--shop,
.lc-page--shop-product,
.lc-page--shop-cart,
.lc-page--shop-checkout {
  overflow-x: clip;
}

.lc-shop-hero {
  position: relative;
  padding: clamp(2.5rem, 6vw, 4.5rem) 0 clamp(1.75rem, 3.5vw, 2.75rem);
  isolation: isolate;
}
.lc-shop-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  gap: clamp(1.75rem, 4vw, 2.75rem);
}
.lc-shop-hero-copy { max-width: 40rem; }
.lc-shop-hero-copy h1 {
  margin: 0 0 1rem;
  font-family: "Montserrat", system-ui, sans-serif;
  font-weight: 600;
  font-size: clamp(2.45rem, 5.2vw, 3.7rem);
  line-height: 1.05;
  color: #fff;
  letter-spacing: -0.02em;
}
.lc-shop-hero-copy .lc-lead {
  color: var(--lc-plata-alta);
  margin-bottom: 1.35rem;
}
.lc-shop-hero-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 1.15rem 0 0;
}
.lc-shop-badge {
  display: inline-flex;
  padding: 0.4rem 0.75rem;
  border: 1px solid rgba(182, 160, 122, 0.35);
  color: var(--lc-champan);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.lc-shop-feature {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.95fr);
  border: 1px solid rgba(182, 160, 122, 0.22);
  background: linear-gradient(145deg, rgba(18, 32, 44, 0.92), rgba(8, 16, 24, 0.88));
  overflow: hidden;
}
.lc-shop-feature-media {
  position: relative;
  display: block;
  min-height: 280px;
  overflow: hidden;
}
.lc-shop-feature-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}
.lc-shop-feature:hover .lc-shop-feature-media img { transform: scale(1.06); }
.lc-shop-feature-veil {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 45%, rgba(7, 16, 24, 0.4));
  pointer-events: none;
}
.lc-shop-feature-body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(1.4rem, 3vw, 2.25rem);
}
.lc-shop-feature-title {
  margin: 0 0 0.75rem;
  font-family: "Montserrat", system-ui, sans-serif;
  font-size: clamp(1.65rem, 2.8vw, 2.15rem);
  font-weight: 600;
  line-height: 1.15;
}
.lc-shop-feature-title a { color: #fff; text-decoration: none; }
.lc-shop-feature-title a:hover { color: var(--lc-champan); }
/* Tienda destacada: mantener Contratar + Ver detalle también en móvil
   (el hero home oculta .lc-btn--ghost dentro de .lc-hero-actions). */
.lc-shop-feature .lc-hero-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem;
}
.lc-shop-feature .lc-hero-actions .lc-btn--ghost {
  display: inline-flex !important;
}
@media (max-width: 640px) {
  .lc-shop-feature .lc-hero-actions .lc-btn {
    flex: 1 1 calc(50% - 0.4rem);
    justify-content: center;
    min-width: 0;
  }
}

.lc-shop-kicker {
  margin: 0 0 0.5rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--lc-champan);
}
.lc-shop-excerpt {
  margin: 0 0 1rem;
  color: rgba(220, 228, 236, 0.82);
  font-size: 1.02rem;
  line-height: 1.55;
}
.lc-shop-price {
  margin: 0;
  font-family: "Montserrat", system-ui, sans-serif;
  font-size: 1.35rem;
  font-weight: 600;
  color: #fff;
}
.lc-shop-price--lg { font-size: clamp(1.55rem, 2.5vw, 1.95rem); margin-bottom: 1rem; }
.lc-shop-price del { opacity: 0.55; margin-right: 0.35rem; }
.lc-shop-price ins { text-decoration: none; color: var(--lc-champan); }

.lc-shop-topic { padding-top: clamp(1.1rem, 2.5vw, 1.7rem); }
.lc-shop-grid,
.lc-shop-rail {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2.2vw, 1.5rem);
}
.lc-shop-grid { margin-top: 0.5rem; }

.lc-shop-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  background: rgba(6, 12, 20, 0.55);
  border: 1px solid rgba(190, 202, 212, 0.12);
  transition: border-color 0.35s ease, transform 0.35s ease;
}
.lc-shop-card:hover {
  border-color: rgba(182, 160, 122, 0.45);
  transform: translateY(-3px);
}
.lc-shop-card-media {
  display: block;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  background: #0a1420;
}
.lc-shop-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.65s ease;
}
.lc-shop-card:hover .lc-shop-card-media img { transform: scale(1.05); }
.lc-shop-card-ph {
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(145deg, #122030, #071018);
}
.lc-shop-card-body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 1.1rem 1.15rem 1.3rem;
}
.lc-shop-card-title {
  margin: 0 0 0.5rem;
  font-family: "Montserrat", system-ui, sans-serif;
  font-size: clamp(1.25rem, 2.2vw, 1.4rem);
  font-weight: 600;
  line-height: 1.2;
}
.lc-shop-card-title a { color: #fff; text-decoration: none; }
.lc-shop-card-title a:hover { color: var(--lc-champan); }
.lc-shop-card-foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-top: auto;
  padding-top: 0.75rem;
}
.lc-shop-card-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}
.lc-shop-card-cta {
  padding: 0.55rem 0.95rem !important;
  font-size: 0.88rem !important;
  min-height: 2.6rem !important;
}
/* Contratar servicio (PC) / Contratar (móvil). */
.lc-shop-hire-label--short { display: none; }
.lc-shop-hire-btn .lc-shop-hire-label { position: relative; z-index: 1; }
@media (max-width: 640px) {
  .lc-shop-hire-label--full { display: none; }
  .lc-shop-hire-label--short { display: inline; }
  .lc-shop-card-actions {
    width: 100%;
  }
  .lc-shop-card-actions .lc-btn {
    flex: 1 1 auto;
    justify-content: center;
  }
}

/* Ficha — columnas + tarjetas premium */
.lc-shop-product-hero {
  position: relative;
  padding: clamp(2rem, 4.5vw, 3.25rem) 0 clamp(1.5rem, 3vw, 2.25rem);
  isolation: isolate;
}
.lc-shop-product-layout {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(1.25rem, 3vw, 2rem);
  align-items: stretch;
}
.lc-shop-product-left,
.lc-shop-product-right {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  min-height: 100%;
}
.lc-shop-panel {
  padding: clamp(1.25rem, 2.8vw, 1.75rem);
  border: 1px solid rgba(182, 160, 122, 0.24);
  background: linear-gradient(165deg, rgba(24, 38, 52, 0.94), rgba(9, 16, 24, 0.96));
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.22);
}
.lc-shop-panel--detail {
  /* Altura natural: evita huecos enormes cuando el texto es corto. */
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.lc-shop-panel-title {
  margin: 0 0 1.05rem;
  font-family: "Montserrat", system-ui, sans-serif;
  font-size: clamp(1.45rem, 2.5vw, 1.85rem);
  font-weight: 600;
  color: #fff;
  line-height: 1.2;
}
.lc-shop-panel-body {
  max-width: none;
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.78;
  letter-spacing: 0.01em;
  color: var(--lc-plata);
}
.lc-shop-panel-body > *:first-child { margin-top: 0; }
.lc-shop-panel-body p {
  margin: 0 0 0.9rem;
  color: rgba(190, 202, 212, 0.92);
}
.lc-shop-panel-body p:last-child { margin-bottom: 0; }
.lc-shop-panel-body .lc-shop-lead,
.lc-shop-panel-body .lc-shop-subhead,
.lc-modal-panel--shop .lc-shop-lead,
.lc-modal-panel--shop .lc-shop-subhead {
  font-family: "Montserrat", system-ui, sans-serif;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: 0.02em;
}
.lc-shop-panel-body .lc-shop-lead,
.lc-modal-panel--shop .lc-shop-lead {
  margin: 0 0 1rem;
  font-size: clamp(1.28rem, 2.2vw, 1.55rem);
  color: var(--lc-champan);
  text-transform: none;
}
.lc-shop-panel-body .lc-shop-subhead,
.lc-modal-panel--shop .lc-shop-subhead {
  margin: 1.15rem 0 0.55rem;
  font-size: clamp(1.12rem, 1.9vw, 1.28rem);
  color: #e8d7b0;
}
.lc-shop-panel-body .lc-shop-subhead:first-child,
.lc-modal-panel--shop .lc-shop-subhead:first-child {
  margin-top: 0;
}
.lc-shop-panel-body .lc-shop-lead + .lc-shop-subhead,
.lc-modal-panel--shop .lc-shop-lead + .lc-shop-subhead,
.lc-shop-panel-body p + .lc-shop-subhead,
.lc-modal-panel--shop p + .lc-shop-subhead {
  margin-top: 1.05rem;
}
.lc-shop-panel-body .lc-shop-callout,
.lc-modal-panel--shop .lc-shop-callout {
  margin: 0 0 1rem;
  padding: 0.75rem 0.95rem;
  border-left: 2px solid rgba(182, 160, 122, 0.55);
  background: rgba(182, 160, 122, 0.08);
  color: var(--lc-plata-alta);
}
.lc-shop-panel-body p:empty,
.lc-modal-panel--shop .lc-blog-prose p:empty,
.lc-shop-panel-body div:empty,
.lc-modal-panel--shop .lc-blog-prose div:empty {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
}
.lc-shop-embed-fig {
  margin: 0.65rem 0 1rem;
  border: 1px solid rgba(182, 160, 122, 0.22);
  background: rgba(6, 12, 20, 0.55);
  overflow: hidden;
  line-height: 0;
}
.lc-shop-embed-fig img {
  width: 100%;
  height: auto;
  max-height: 220px;
  object-fit: cover;
  display: block;
}
.lc-shop-panel-body .lc-shop-em,
.lc-modal-panel--shop .lc-shop-em {
  color: #e8d7b0;
  font-weight: 600;
}
.lc-shop-panel-body .lc-shop-note,
.lc-modal-panel--shop .lc-shop-note {
  color: rgba(190, 202, 212, 0.78);
  font-style: italic;
  font-weight: 400;
}
.lc-shop-panel-body .lc-shop-list,
.lc-modal-panel--shop .lc-shop-list {
  list-style: none;
  margin: 0.15rem 0 1rem;
  padding: 0;
  display: grid;
  gap: 0.65rem;
}
.lc-shop-panel-body .lc-shop-list > li,
.lc-modal-panel--shop .lc-shop-list > li {
  position: relative;
  margin: 0;
  padding: 0.15rem 0 0.15rem 1.15rem;
  color: rgba(210, 220, 230, 0.9);
  line-height: 1.65;
}
.lc-shop-panel-body .lc-shop-list > li::before,
.lc-modal-panel--shop .lc-shop-list > li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.72em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--lc-champan);
  box-shadow: 0 0 0 3px rgba(182, 160, 122, 0.16);
}
.lc-shop-deliverable-title {
  display: block;
  margin-bottom: 0.2rem;
  font-family: "Montserrat", system-ui, sans-serif;
  font-size: 1.12em;
  font-weight: 600;
  color: var(--lc-champan);
  letter-spacing: 0.02em;
  line-height: 1.3;
}
.lc-shop-deliverable-note {
  display: block;
  color: rgba(190, 202, 212, 0.82);
  font-size: 0.96em;
  line-height: 1.6;
}
.lc-shop-panel-more {
  margin: 1.25rem 0 0;
  padding-top: 1rem;
  border-top: 1px solid rgba(182, 160, 122, 0.18);
}
.lc-shop-gallery {
  border: 1px solid rgba(182, 160, 122, 0.22);
  background: rgba(6, 12, 20, 0.45);
  padding: 0.65rem;
}
.lc-shop-product-cover {
  margin: 0;
  overflow: hidden;
}
.lc-shop-product-cover img {
  width: 100%;
  height: auto;
  display: block;
  max-height: 480px;
  object-fit: cover;
  transition: opacity 0.25s ease;
}
.lc-shop-thumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.65rem;
}
.lc-shop-thumb {
  display: block;
  padding: 0;
  margin: 0;
  border: 1px solid rgba(190, 202, 212, 0.18);
  background: #0a1420;
  cursor: pointer;
  line-height: 0;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.lc-shop-thumb img {
  width: 76px;
  height: 58px;
  object-fit: cover;
  display: block;
  pointer-events: none;
}
.lc-shop-thumb:hover,
.lc-shop-thumb:focus-visible {
  border-color: rgba(182, 160, 122, 0.65);
  outline: none;
}
.lc-shop-thumb.is-active {
  border-color: var(--lc-champan);
  box-shadow: 0 0 0 1px rgba(182, 160, 122, 0.45);
}
.lc-shop-product-title {
  margin: 0 0 0.85rem;
  font-family: "Montserrat", system-ui, sans-serif;
  font-size: clamp(2rem, 4vw, 2.75rem);
  font-weight: 600;
  line-height: 1.08;
  color: #fff;
}
.lc-shop-buy {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1rem;
  margin: 0.35rem 0 1.25rem;
}
.lc-shop-trust {
  margin: 0;
  padding: 0.85rem 0 0;
  border-top: 1px solid rgba(182, 160, 122, 0.16);
  list-style: none;
  display: grid;
  gap: 0.4rem;
  color: rgba(190, 202, 212, 0.72);
  font-size: 0.95rem;
}
.lc-shop-trust li::before {
  content: "·";
  color: var(--lc-champan);
  margin-right: 0.45rem;
  font-weight: 700;
}
.lc-modal-panel--shop {
  max-width: min(640px, 100%);
  max-height: min(85vh, 780px);
  overflow-y: auto;
}
.lc-modal-panel--shop .lc-blog-prose {
  max-width: none;
  margin: 0 0 1.1rem;
  font-size: 1.06rem;
  line-height: 1.72;
  color: var(--lc-plata);
}
.lc-modal-panel--shop .lc-blog-prose > *:first-child { margin-top: 0; }
.lc-modal-panel--shop .lc-blog-prose > *:last-child { margin-bottom: 0; }
.lc-modal-panel--shop .lc-blog-prose p {
  margin: 0 0 0.9rem;
  color: rgba(190, 202, 212, 0.92);
}
.lc-modal-panel--shop .lc-blog-prose .lc-shop-list {
  gap: 0.65rem;
  margin-bottom: 1rem;
}
.lc-modal-panel--shop h3:not(.lc-shop-lead):first-of-type {
  color: #fff;
  font-family: "Montserrat", system-ui, sans-serif;
}

/* Carrito / checkout panels */
.lc-shop-woo-hero {
  position: relative;
  padding: clamp(2.25rem, 5vw, 3.5rem) 0 1.25rem;
  isolation: isolate;
}
.lc-shop-woo-hero .lc-wrap { position: relative; z-index: 1; max-width: 44rem; }
/* Checkout/carrito PC: mismo ancho que el formulario (evita hero apretado). */
.lc-page--shop-checkout .lc-shop-woo-hero .lc-wrap,
.lc-page--shop-cart .lc-shop-woo-hero .lc-wrap {
  width: var(--lc-wrap);
  max-width: var(--lc-wrap);
}
.lc-page--shop-checkout .lc-shop-woo-hero h1,
.lc-page--shop-cart .lc-shop-woo-hero h1 {
  max-width: 36rem;
}
.lc-page--shop-checkout .lc-shop-woo-hero .lc-lead,
.lc-page--shop-cart .lc-shop-woo-hero .lc-lead {
  max-width: 40rem;
}
.lc-page--shop-checkout .lc-shop-woo-hero h1::after,
.lc-page--shop-cart .lc-shop-woo-hero h1::after {
  content: "";
  display: block;
  width: min(12rem, 40%);
  height: 1px;
  margin: 0.85rem 0 0;
  background: linear-gradient(90deg, rgba(182, 160, 122, 0.85), rgba(18, 59, 112, 0.35), transparent);
}
.lc-shop-woo-hero h1 {
  margin: 0 0 0.85rem;
  font-family: "Montserrat", system-ui, sans-serif;
  font-size: clamp(2.2rem, 4.5vw, 3.2rem);
  color: #fff;
  font-weight: 600;
}
.lc-shop-woo-panel {
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px solid rgba(182, 160, 122, 0.24);
  background: linear-gradient(165deg, rgba(22, 36, 50, 0.92), rgba(9, 16, 24, 0.96));
  color: #e8eef2;
}
.lc-shop-woo-panel a { color: var(--lc-champan); }
.lc-shop-woo-panel table {
  width: 100%;
  border-collapse: collapse;
}
.lc-shop-woo-panel th,
.lc-shop-woo-panel td {
  padding: 0.85rem 0.5rem;
  border-bottom: 1px solid rgba(190, 202, 212, 0.12);
  vertical-align: middle;
}
/* Cabeceras Producto / Subtotal: azul noche legible sobre franja clara. */
.lc-shop-woo-panel .shop_table thead th,
.lc-shop-woo-panel table.shop_table thead th,
.lc-shop-woo-panel--cart .shop_table thead th,
.lc-shop-woo-panel--checkout .shop_table thead th,
.lc-shop-woo-panel--checkout .woocommerce-checkout-review-order-table thead th {
  background: #d9d3c7 !important;
  color: #0e161d !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em;
  border-bottom: 1px solid rgba(14, 22, 29, 0.12) !important;
}
.lc-shop-woo-panel .button,
.lc-shop-woo-panel button.button,
.lc-shop-woo-panel input.button,
.lc-shop-woo-panel #place_order,
.lc-shop-woo-panel .checkout-button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  padding: 0.85rem 1.35rem !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: linear-gradient(135deg, #d4b483, #a8895a) !important;
  color: #0e161d !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}
/* Checkout: el CTA Premium pisa el estilo plano de panel. */
.lc-shop-woo-panel--checkout #place_order.lc-btn.lc-btn--cta {
  border-radius: 12px !important;
  border: 1px solid #c4b08a !important;
  background: linear-gradient(180deg, #dcc9a3 0%, #b6a07a 48%, #9a825c 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.45), 0 10px 28px rgba(182, 160, 122, 0.38) !important;
}
.lc-shop-woo-panel input[type="text"],
.lc-shop-woo-panel input[type="email"],
.lc-shop-woo-panel input[type="tel"],
.lc-shop-woo-panel input[type="number"],
.lc-shop-woo-panel input[type="password"],
.lc-shop-woo-panel select,
.lc-shop-woo-panel textarea {
  background: rgba(6, 12, 20, 0.65) !important;
  border: 1px solid rgba(182, 160, 122, 0.28) !important;
  color: #fff !important;
  border-radius: 0 !important;
}
.lc-shop-woo-panel .woocommerce-info,
.lc-shop-woo-panel .woocommerce-message,
.lc-shop-woo-panel .woocommerce-error {
  background: rgba(12, 22, 34, 0.9);
  border-top-color: var(--lc-champan);
  color: #e8eef2;
}
.lc-shop-woo-panel .wc_payment_methods {
  list-style: none;
  margin: 0;
  padding: 0;
}
.lc-shop-woo-panel .wc_payment_method {
  padding: 0.85rem 0;
  border-bottom: 1px solid rgba(190, 202, 212, 0.1);
}

/* —— Fase A: carrito Premium —— */
.lc-shop-cart-empty {
  max-width: 36rem;
  margin: 0 auto;
  padding: clamp(1.75rem, 4vw, 2.5rem);
  text-align: center;
  border: 1px solid rgba(182, 160, 122, 0.28);
  background: linear-gradient(165deg, rgba(22, 36, 50, 0.94), rgba(9, 16, 24, 0.96));
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.22);
}
.lc-shop-cart-empty-kicker {
  margin: 0 0 0.5rem;
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--lc-champan);
}
.lc-shop-cart-empty-title {
  margin: 0 0 0.65rem;
  font-family: "Montserrat", system-ui, sans-serif;
  font-size: clamp(1.75rem, 3.5vw, 2.25rem);
  font-weight: 600;
  color: #fff;
  line-height: 1.15;
}
.lc-shop-cart-empty-lead {
  margin: 0 0 1.35rem;
  color: var(--lc-plata);
  line-height: 1.65;
}
.lc-shop-cart-empty-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: center;
  margin: 0;
}
.lc-shop-woo-panel--cart .shop_table.cart .product-remove a,
.lc-shop-woo-panel--cart .product-remove a {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border: 1px solid rgba(182, 160, 122, 0.35) !important;
  background: rgba(8, 14, 22, 0.85) !important;
  color: #e8d7b0 !important;
  text-decoration: none !important;
  font-size: 1.1rem !important;
  line-height: 1 !important;
  border-radius: 0 !important;
  transition: border-color 0.2s ease, background 0.2s ease;
}
.lc-shop-woo-panel--cart .product-remove a:hover {
  border-color: rgba(220, 120, 100, 0.65) !important;
  color: #f0c4b8 !important;
}
.lc-shop-woo-panel--cart .product-thumbnail img {
  width: 64px;
  height: 48px;
  object-fit: cover;
  border: 1px solid rgba(182, 160, 122, 0.2);
}
.lc-shop-woo-panel--cart .product-name a {
  color: #fff !important;
  font-weight: 600;
  text-decoration: none !important;
}
.lc-shop-woo-panel--cart .product-name a:hover {
  color: var(--lc-champan) !important;
}
/* Servicios Premium: sin selector de cantidad (máx. 1 en Woo). */
.lc-shop-woo-panel--cart .quantity,
.lc-shop-woo-panel--cart input.qty,
.lc-shop-woo-panel--cart .product-quantity .quantity,
.lc-shop-woo-panel--checkout .quantity,
.lc-shop-woo-panel--checkout input.qty,
body.lc-premium .lc-shop-product .quantity,
body.lc-premium .lc-shop-product input.qty {
  display: none !important;
}
.lc-shop-woo-panel--cart .lc-shop-qty-fixed,
.lc-shop-woo-panel--checkout .lc-shop-qty-fixed {
  display: inline-block;
  font-weight: 600;
  color: rgba(245, 242, 236, 0.92);
  letter-spacing: 0.04em;
}
.lc-shop-woo-panel--cart .actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1rem;
  padding-top: 1rem !important;
}
.lc-shop-woo-panel--cart .coupon {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  flex: 1 1 auto;
}
.lc-shop-woo-panel--cart .coupon label {
  width: 100%;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(190, 202, 212, 0.7);
}
.lc-shop-woo-panel--cart .coupon .input-text {
  min-width: min(100%, 12rem);
  flex: 1 1 10rem;
}
.lc-shop-woo-panel--cart .cart_totals {
  margin-top: 1.5rem;
  padding: 1.15rem 1.2rem 1.25rem;
  border: 1px solid rgba(182, 160, 122, 0.22);
  background: rgba(6, 12, 20, 0.45);
}
.lc-shop-woo-panel--cart .cart_totals h2 {
  margin: 0 0 0.85rem;
  font-family: "Montserrat", system-ui, sans-serif;
  font-size: 1.45rem;
  color: #fff;
  font-weight: 600;
}
.lc-shop-woo-panel--cart .cart_totals .checkout-button {
  width: 100%;
  margin-top: 0.85rem !important;
}
.lc-shop-woo-panel--cart .wc-proceed-to-checkout {
  padding: 0;
}
.lc-shop-cart-coupon-hint {
  margin: 0 0 1rem;
  padding: 0.75rem 1rem;
  font-size: 0.92rem;
  color: var(--lc-plata);
  border-left: 2px solid rgba(182, 160, 122, 0.55);
  background: rgba(8, 14, 22, 0.35);
}
.lc-shop-cart-coupon-hint strong {
  color: var(--lc-champan);
  font-weight: 600;
}
@media (max-width: 768px) {
  .lc-shop-woo-panel--cart .shop_table.cart thead {
    display: none;
  }
  .lc-shop-woo-panel--cart .shop_table.cart tr {
    display: grid;
    grid-template-columns: 48px 1fr auto;
    gap: 0.35rem 0.65rem;
    padding: 0.85rem 0;
    border-bottom: 1px solid rgba(190, 202, 212, 0.12);
  }
  .lc-shop-woo-panel--cart .shop_table.cart td {
    border: 0 !important;
    padding: 0 !important;
  }
  .lc-shop-woo-panel--cart .product-remove { grid-column: 3; grid-row: 1; }
  .lc-shop-woo-panel--cart .product-thumbnail { grid-column: 1; grid-row: 1 / span 2; }
  .lc-shop-woo-panel--cart .product-name { grid-column: 2; grid-row: 1; }
  .lc-shop-woo-panel--cart .product-price { grid-column: 2; grid-row: 2; font-size: 0.88rem; color: var(--lc-plata); }
  .lc-shop-woo-panel--cart .product-quantity { grid-column: 1 / -1; }
  .lc-shop-woo-panel--cart .product-subtotal { grid-column: 1 / -1; font-weight: 600; color: #fff; }
}

/* —— Fase C: seguimiento pedido —— */
.lc-page--shop-order .lc-shop-order-wrap {
  max-width: 36rem;
}
.lc-shop-order-flash {
  margin: 0 0 1.15rem;
  padding: 0.85rem 1rem;
  border-left: 3px solid rgba(182, 160, 122, 0.65);
  background: rgba(8, 14, 22, 0.45);
  color: var(--lc-plata);
  line-height: 1.55;
}
.lc-shop-order-flash.is-ok {
  border-left-color: rgba(120, 180, 140, 0.75);
}
.lc-shop-order-flash.is-err {
  border-left-color: rgba(220, 120, 100, 0.75);
  color: #f0d4cc;
}
.lc-shop-order-card {
  padding: clamp(1.35rem, 3vw, 1.85rem);
  border: 1px solid rgba(182, 160, 122, 0.28);
  background: linear-gradient(165deg, rgba(22, 36, 50, 0.94), rgba(9, 16, 24, 0.96));
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.22);
}
.lc-shop-order-kicker {
  margin: 0 0 0.35rem;
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--lc-champan);
}
.lc-shop-order-status {
  margin: 0 0 0.35rem;
  font-family: "Montserrat", system-ui, sans-serif;
  font-size: clamp(1.55rem, 3vw, 2rem);
  font-weight: 600;
  color: #fff;
  line-height: 1.2;
}
.lc-shop-order-stage-at {
  margin: 0 0 1.15rem;
  font-size: 0.85rem;
  color: rgba(190, 202, 212, 0.7);
}
.lc-shop-order-dl {
  margin: 0 0 1.15rem;
  padding: 0;
}
.lc-shop-order-dl > div {
  display: grid;
  grid-template-columns: 7.5rem 1fr;
  gap: 0.5rem 1rem;
  padding: 0.65rem 0;
  border-bottom: 1px solid rgba(190, 202, 212, 0.12);
}
.lc-shop-order-dl dt {
  margin: 0;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(190, 202, 212, 0.65);
}
.lc-shop-order-dl dd {
  margin: 0;
  color: #fff;
  line-height: 1.45;
}
.lc-shop-order-items-label {
  margin: 0 0 0.5rem;
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--lc-champan);
}
.lc-shop-order-items ul {
  list-style: none;
  margin: 0 0 1.15rem;
  padding: 0;
}
.lc-shop-order-items li {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.55rem 0;
  border-bottom: 1px solid rgba(190, 202, 212, 0.1);
  color: #e8eef2;
}
.lc-shop-order-next {
  margin: 0 0 1.35rem;
  padding: 0.9rem 1rem;
  border-left: 2px solid rgba(182, 160, 122, 0.5);
  background: rgba(6, 12, 20, 0.4);
}
.lc-shop-order-next p:last-child {
  margin: 0;
  color: var(--lc-plata);
  line-height: 1.65;
}
.lc-shop-order-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin: 0;
}
.lc-shop-order-form-title {
  margin: 0 0 0.5rem;
  font-family: "Montserrat", system-ui, sans-serif;
  font-size: 1.55rem;
  color: #fff;
  font-weight: 600;
}
.lc-shop-order-form-lead {
  margin: 0 0 1.15rem;
  color: var(--lc-plata);
  line-height: 1.6;
}
.lc-shop-order-field {
  margin: 0 0 0.95rem;
}
.lc-shop-order-field label {
  display: block;
  margin: 0 0 0.35rem;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(190, 202, 212, 0.7);
}
.lc-shop-order-field input {
  width: 100%;
  min-height: 2.65rem;
  padding: 0.55rem 0.75rem;
  border: 1px solid rgba(182, 160, 122, 0.28);
  background: rgba(6, 12, 20, 0.65);
  color: #fff;
  border-radius: 0;
}
.lc-shop-order-form-actions {
  margin: 1.1rem 0 0;
}

/* —— Fase B: checkout Premium (layout PC completo) —— */
.lc-page--shop-checkout .lc-section--deep > .lc-wrap {
  width: var(--lc-wrap);
  max-width: var(--lc-wrap);
}
.lc-shop-checkout-legal {
  margin: 1.25rem 0 0;
  max-width: none;
  font-size: 0.88rem;
  line-height: 1.6;
  color: rgba(190, 202, 212, 0.78);
}
.lc-shop-checkout-legal a {
  color: var(--lc-champan);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.lc-shop-woo-panel--checkout {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
  overflow: visible;
  /* Sin marco único alto: cada columna lleva su propio borde. */
  padding: 0;
  border: 0;
  background: transparent;
}
/* PC: 48% facturación (izq) + 48% pedido (der); tracks fijos (no minmax) para no encoger. */
body.lc-premium .lc-shop-woo-panel--checkout form.checkout.woocommerce-checkout,
body.lc-premium .lc-shop-woo-panel--checkout form.woocommerce-checkout,
.lc-shop-woo-panel--checkout form.checkout.woocommerce-checkout,
.lc-shop-woo-panel--checkout form.woocommerce-checkout {
  display: grid !important;
  grid-template-columns: 48% 48% !important;
  justify-content: space-between !important;
  column-gap: 0 !important;
  row-gap: 1.15rem !important;
  align-items: start !important;
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  clear: both !important;
}
.lc-shop-woo-panel--checkout .woocommerce-NoticeGroup,
.lc-shop-woo-panel--checkout .woocommerce-notices-wrapper,
.lc-shop-woo-panel--checkout .woocommerce-error,
.lc-shop-woo-panel--checkout .woocommerce-message,
.lc-shop-woo-panel--checkout .woocommerce-info {
  grid-column: 1 / -1;
}
body.lc-premium .lc-shop-woo-panel--checkout form.checkout #customer_details.col2-set,
body.lc-premium .lc-shop-woo-panel--checkout form.checkout #customer_details,
.lc-shop-woo-panel--checkout #customer_details {
  grid-column: 1 !important;
  grid-row: auto !important;
  display: flex !important;
  flex-direction: column;
  gap: 1.65rem;
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  clear: none !important;
  margin: 0 !important;
  padding: clamp(1.15rem, 2.5vw, 1.65rem) !important;
  border: 1px solid rgba(182, 160, 122, 0.24);
  background: linear-gradient(165deg, rgba(22, 36, 50, 0.92), rgba(9, 16, 24, 0.96));
  box-sizing: border-box !important;
}
.lc-shop-woo-panel--checkout #customer_details.col2-set::before,
.lc-shop-woo-panel--checkout #customer_details.col2-set::after,
.lc-shop-woo-panel--checkout .col2-set::before,
.lc-shop-woo-panel--checkout .col2-set::after {
  content: none !important;
  display: none !important;
}
.lc-shop-woo-panel--checkout #customer_details .col-1,
.lc-shop-woo-panel--checkout #customer_details .col-2,
.lc-shop-woo-panel--checkout .col2-set .col-1,
.lc-shop-woo-panel--checkout .col2-set .col-2 {
  float: none !important;
  clear: none !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* Columna derecha: marfil (se diferencia de facturación oscura). */
body.lc-premium .lc-shop-woo-panel--checkout form.checkout .lc-checkout-order-col,
.lc-shop-woo-panel--checkout .lc-checkout-order-col {
  grid-column: 2 !important;
  display: flex !important;
  flex-direction: column;
  gap: 0;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  float: none !important;
  clear: none !important;
  margin: 0 !important;
  padding: clamp(1.15rem, 2.5vw, 1.65rem);
  border: 1px solid rgba(14, 22, 29, 0.12);
  background: #f5f2ec;
  color: #0e161d;
  align-self: start;
  position: sticky;
  top: 1rem;
  box-sizing: border-box !important;
}
/* Anular floats/anchos Astra (55%/40%) que abrían el hueco central. */
body.lc-premium.woocommerce-checkout .lc-shop-woo-panel--checkout form.checkout #order_review_heading,
body.lc-premium.woocommerce-checkout .lc-shop-woo-panel--checkout form.checkout #order_review,
body.lc-premium .lc-shop-woo-panel--checkout form.checkout #order_review_heading,
body.lc-premium .lc-shop-woo-panel--checkout form.checkout #order_review {
  float: none !important;
  clear: none !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}
.lc-shop-woo-panel--checkout #order_review_heading,
.lc-shop-woo-panel--checkout #order_review {
  float: none !important;
  clear: none !important;
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box;
}
.lc-shop-woo-panel--checkout #order_review_heading {
  margin-top: 0;
  margin-bottom: 1rem;
}
.lc-shop-woo-panel--checkout #order_review {
  margin-top: 0;
  margin-bottom: 0;
  position: static;
}
.lc-shop-woo-panel--checkout .woocommerce-billing-fields > h3,
.lc-shop-woo-panel--checkout .woocommerce-additional-fields > h3 {
  color: #e8eef2;
}
.lc-shop-woo-panel--checkout .woocommerce-billing-fields > h3,
.lc-shop-woo-panel--checkout .woocommerce-additional-fields > h3,
.lc-shop-woo-panel--checkout #order_review_heading {
  margin: 0 0 1rem;
  padding: 0;
  border: 0;
  font-family: "Montserrat", system-ui, sans-serif;
  font-size: clamp(1.4rem, 2.2vw, 1.65rem);
  font-weight: 600;
}
.lc-shop-woo-panel--checkout .woocommerce-billing-fields > h3,
.lc-shop-woo-panel--checkout .woocommerce-additional-fields > h3 {
  color: #fff;
}
.lc-shop-woo-panel--checkout #order_review_heading {
  color: #0e161d !important;
}
.lc-shop-woo-panel--checkout .woocommerce-billing-fields__field-wrapper,
.lc-shop-woo-panel--checkout .woocommerce-shipping-fields__field-wrapper,
.lc-shop-woo-panel--checkout .woocommerce-additional-fields__field-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.9rem 1.15rem;
  width: 100%;
}
.lc-shop-woo-panel--checkout .woocommerce-billing-fields__field-wrapper .form-row-wide,
.lc-shop-woo-panel--checkout .woocommerce-shipping-fields__field-wrapper .form-row-wide,
.lc-shop-woo-panel--checkout .woocommerce-additional-fields__field-wrapper .form-row-wide,
.lc-shop-woo-panel--checkout .woocommerce-billing-fields__field-wrapper .address-field,
.lc-shop-woo-panel--checkout #billing_company_field,
.lc-shop-woo-panel--checkout #billing_country_field,
.lc-shop-woo-panel--checkout #billing_address_1_field,
.lc-shop-woo-panel--checkout #billing_address_2_field,
.lc-shop-woo-panel--checkout #billing_phone_field,
.lc-shop-woo-panel--checkout #billing_email_field,
.lc-shop-woo-panel--checkout #order_comments_field {
  grid-column: 1 / -1;
}
.lc-shop-woo-panel--checkout #billing_first_name_field,
.lc-shop-woo-panel--checkout #billing_last_name_field {
  grid-column: auto;
  width: 100% !important;
  float: none !important;
}
.lc-shop-woo-panel--checkout #billing_city_field,
.lc-shop-woo-panel--checkout #billing_state_field,
.lc-shop-woo-panel--checkout #billing_postcode_field {
  grid-column: auto;
  width: 100% !important;
  float: none !important;
}
.lc-shop-woo-panel--checkout .form-row {
  margin: 0;
  padding: 0;
  width: 100% !important;
  float: none !important;
  box-sizing: border-box;
}
.lc-shop-woo-panel--checkout .form-row-first,
.lc-shop-woo-panel--checkout .form-row-last,
.lc-shop-woo-panel--checkout .form-row-wide {
  float: none !important;
  width: 100% !important;
  clear: none !important;
}
.lc-shop-woo-panel--checkout .form-row label {
  display: block;
  margin: 0 0 0.4rem;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(190, 202, 212, 0.75);
  line-height: 1.35;
}
.lc-shop-woo-panel--checkout .form-row .required {
  color: #e8b4a0;
}
.lc-shop-woo-panel--checkout .form-row .optional {
  font-weight: 400;
  letter-spacing: 0.04em;
  text-transform: none;
  color: rgba(190, 202, 212, 0.55);
}
.lc-shop-woo-panel--checkout .form-row input.input-text,
.lc-shop-woo-panel--checkout .form-row textarea,
.lc-shop-woo-panel--checkout .form-row select,
.lc-shop-woo-panel--checkout .select2-container,
.lc-shop-woo-panel--checkout .select2-container .select2-selection--single {
  min-height: 2.75rem;
  width: 100% !important;
  max-width: none !important;
  padding: 0.6rem 0.85rem !important;
  box-sizing: border-box;
}
.lc-shop-woo-panel--checkout .form-row textarea {
  min-height: 6.5rem;
  resize: vertical;
}
.lc-shop-woo-panel--checkout .select2-container {
  min-height: 0;
  padding: 0 !important;
}
.lc-shop-woo-panel--checkout .woocommerce-invalid input.input-text,
.lc-shop-woo-panel--checkout .woocommerce-invalid select,
.lc-shop-woo-panel--checkout .woocommerce-invalid textarea {
  border-color: rgba(220, 120, 100, 0.75) !important;
  box-shadow: 0 0 0 1px rgba(220, 120, 100, 0.25);
}
.lc-shop-woo-panel--checkout .woocommerce-error,
.lc-shop-woo-panel--checkout .woocommerce-NoticeGroup-checkout .woocommerce-error {
  list-style: none;
  margin: 0 0 1.15rem;
  padding: 0.95rem 1.1rem;
  border: 1px solid rgba(220, 120, 100, 0.45);
  border-left: 3px solid rgba(220, 120, 100, 0.85);
  background: rgba(40, 16, 14, 0.72);
  color: #f0d4cc;
}
.lc-shop-woo-panel--checkout .woocommerce-error li {
  margin: 0.25rem 0;
}
.lc-shop-woo-panel--checkout .woocommerce-info {
  margin: 0 0 1rem;
  padding: 0.85rem 1rem;
  border-left: 3px solid rgba(182, 160, 122, 0.65);
}
/* Cupón siempre visible en checkout (no depender del toggle oculto). */
.lc-page--shop-checkout .woocommerce-form-coupon-toggle {
  display: none !important;
}
.lc-page--shop-checkout form.checkout_coupon.woocommerce-form-coupon,
.lc-shop-woo-panel--checkout form.checkout_coupon,
.lc-page--shop-checkout .checkout_coupon {
  display: flex !important;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0.75rem 1rem;
  margin: 0 0 1.35rem !important;
  padding: 1.1rem 1.15rem !important;
  border: 1px solid rgba(182, 160, 122, 0.35) !important;
  background: rgba(6, 12, 20, 0.55) !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box;
}
.lc-page--shop-checkout .checkout_coupon > p:first-child {
  flex: 1 1 100%;
  margin: 0 0 0.15rem;
  color: var(--lc-plata);
  font-size: 0.92rem;
  line-height: 1.5;
}
.lc-shop-woo-panel--checkout .checkout_coupon .form-row-first,
.lc-shop-woo-panel--checkout .checkout_coupon .form-row-last,
.lc-page--shop-checkout .checkout_coupon .form-row-first,
.lc-page--shop-checkout .checkout_coupon .form-row-last {
  float: none !important;
  width: auto !important;
  flex: 1 1 14rem;
  margin: 0;
}
.lc-page--shop-checkout .checkout_coupon .input-text,
.lc-page--shop-checkout .checkout_coupon input#coupon_code {
  width: 100% !important;
  min-height: 2.75rem;
  color: #fff !important;
}
.lc-page--shop-checkout .checkout_coupon .button {
  min-height: 2.75rem;
  white-space: nowrap;
}
.lc-page--shop-checkout .lc-shop-coupon-form .lc-shop-coupon-form-lead {
  flex: 1 1 100%;
  margin: 0 0 0.25rem;
  color: var(--lc-plata);
  font-size: 0.92rem;
  line-height: 1.5;
}
.lc-page--shop-checkout .lc-shop-coupon-form label {
  display: block;
  margin: 0 0 0.35rem;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #f5f2ec !important;
}
.lc-shop-woo-panel--checkout .woocommerce-checkout-review-order-table {
  width: 100%;
  color: #0e161d;
}
.lc-shop-woo-panel--checkout .woocommerce-checkout-review-order-table thead th {
  background: #e4ddd0 !important;
  color: #0e161d !important;
  font-weight: 700 !important;
}
.lc-shop-woo-panel--checkout .woocommerce-checkout-review-order-table tbody th,
.lc-shop-woo-panel--checkout .woocommerce-checkout-review-order-table tbody td,
.lc-shop-woo-panel--checkout .woocommerce-checkout-review-order-table tfoot th,
.lc-shop-woo-panel--checkout .woocommerce-checkout-review-order-table tfoot td {
  color: #0e161d !important;
  border-color: rgba(14, 22, 29, 0.12) !important;
  background: transparent !important;
}
.lc-shop-woo-panel--checkout .woocommerce-checkout-review-order-table .order-total th,
.lc-shop-woo-panel--checkout .woocommerce-checkout-review-order-table .order-total td {
  color: #0e161d !important;
  font-size: 1.05rem;
  font-weight: 700;
}
.lc-shop-woo-panel--cart .shop_table thead th {
  background: #d9d3c7 !important;
  color: #0e161d !important;
}
/* Pago: sin caja blanca anidada; campos a ancho completo. */
.lc-shop-woo-panel--checkout #payment {
  margin-top: 1rem;
  padding: 0;
  border: 0;
  background: transparent;
}
.lc-shop-woo-panel--checkout #payment .payment_methods {
  margin: 0 0 0.85rem;
  padding: 0;
  list-style: none;
}
body.lc-premium .lc-shop-woo-panel--checkout #payment ul.payment_methods li.wc_payment_method > label,
body.lc-premium .lc-shop-woo-panel--checkout #payment .payment_method > label,
.lc-shop-woo-panel--checkout #payment .wc_payment_method > label,
.lc-shop-woo-panel--checkout #payment label[for^="payment_method_"] {
  color: #0e161d !important;
  font-weight: 600 !important;
  opacity: 1 !important;
}
.lc-shop-woo-panel--checkout #payment .payment_box,
.lc-shop-woo-panel--checkout #payment .payment_box.payment_method_openpay_cards,
body.lc-premium .lc-shop-woo-panel--checkout #payment .payment_box.payment_method_openpay_cards {
  margin: 0.65rem 0 0.5rem !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: none !important;
  background: transparent !important;
  background-color: transparent !important;
  color: #0e161d !important;
  border: 0 !important;
  box-shadow: none !important;
}
.lc-shop-woo-panel--checkout #payment .payment_box::before,
.lc-shop-woo-panel--checkout #payment .payment_box::after {
  display: none !important;
  content: none !important;
}
.lc-shop-woo-panel--checkout #payment .payment_box p,
.lc-shop-woo-panel--checkout #payment .payment_box label,
.lc-shop-woo-panel--checkout #payment .payment_box h3,
.lc-shop-woo-panel--checkout #payment .payment_box h5,
.lc-shop-woo-panel--checkout #openpay_cards,
.lc-shop-woo-panel--checkout #openpay_cards h3,
.lc-shop-woo-panel--checkout #openpay_cards h5,
.lc-shop-woo-panel--checkout #openpay_cards p,
.lc-shop-woo-panel--checkout #openpay_cards label {
  color: #0e161d !important;
}
.lc-shop-woo-panel--checkout #openpay_cards {
  overflow: visible !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box;
}
.lc-shop-woo-panel--checkout #openpay_cards img {
  float: none !important;
  display: inline-block;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 0 0.5rem !important;
}
.lc-shop-woo-panel--checkout #openpay_cards .form-row,
.lc-shop-woo-panel--checkout #payment_form_openpay_cards .form-row {
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  margin: 0 0 0.75rem !important;
  padding: 0 !important;
  box-sizing: border-box;
}
.lc-shop-woo-panel--checkout #openpay_cards input.input-text,
.lc-shop-woo-panel--checkout #openpay_cards select,
.lc-shop-woo-panel--checkout #openpay_cards .openpay-select,
.lc-shop-woo-panel--checkout #payment_form_openpay_cards input.input-text,
.lc-shop-woo-panel--checkout #payment_form_openpay_cards select {
  width: 100% !important;
  max-width: none !important;
  min-height: 2.85rem !important;
  box-sizing: border-box !important;
  color: #0e161d !important;
  background: #fff !important;
  border: 1px solid rgba(14, 22, 29, 0.22) !important;
  border-radius: 0 !important;
}
.lc-shop-woo-panel--checkout #openpay_cards .form-row-first,
.lc-shop-woo-panel--checkout #openpay_cards .form-row-last,
.lc-shop-woo-panel--checkout #payment_form_openpay_cards .form-row-first,
.lc-shop-woo-panel--checkout #payment_form_openpay_cards .form-row-last {
  float: none !important;
  width: 100% !important;
}
@media (min-width: 641px) {
  .lc-shop-woo-panel--checkout #payment_form_openpay_cards .openpay-card-expiry,
  .lc-shop-woo-panel--checkout #payment_form_openpay_cards .openpay-card-cvc {
    display: inline-block;
    width: calc(50% - 0.4rem) !important;
    vertical-align: top;
  }
  .lc-shop-woo-panel--checkout #payment_form_openpay_cards .openpay-card-expiry {
    margin-right: 0.8rem !important;
  }
}
/* Botón confirmar = mismo lenguaje visual que Agendar reunión (lc-btn--cta). */
.lc-shop-woo-panel--checkout #place_order,
body.lc-premium .lc-shop-woo-panel--checkout #place_order.button,
body.lc-premium .lc-checkout-order-col #place_order {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  isolation: isolate;
  width: 100% !important;
  margin-top: 0.85rem !important;
  min-height: 52px !important;
  padding: 0.75rem 1.5rem !important;
  border-radius: 12px !important;
  border: 1px solid #c4b08a !important;
  background: linear-gradient(180deg, #dcc9a3 0%, #b6a07a 48%, #9a825c 100%) !important;
  color: #0e161d !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
  letter-spacing: 0.03em !important;
  text-transform: none !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.45), 0 10px 28px rgba(182, 160, 122, 0.38) !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease, filter 0.25s ease !important;
}
.lc-shop-woo-panel--checkout #place_order::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 30%, rgba(255, 255, 255, 0.45) 48%, transparent 66%);
  transform: translateX(-120%);
  animation: lc-shine 3.2s ease-in-out infinite;
  z-index: 0;
  pointer-events: none;
}
.lc-shop-woo-panel--checkout #place_order:hover {
  transform: translateY(-3px);
  filter: brightness(1.06);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.55), 0 18px 36px rgba(182, 160, 122, 0.48) !important;
}
.lc-shop-woo-panel--checkout .woocommerce-terms-and-conditions-wrapper,
.lc-shop-woo-panel--checkout .woocommerce-privacy-policy-text {
  margin: 0.75rem 0;
  font-size: 0.88rem;
  color: rgba(14, 22, 29, 0.72);
  line-height: 1.55;
}
.lc-shop-woo-panel--checkout .woocommerce-privacy-policy-text a {
  color: #8a734f !important;
}
@media (max-width: 980px) {
  /* Checkout: aprovechar ancho en tablet/móvil (sin card que aprieta Su pedido). */
  .lc-page--shop-checkout .lc-section--deep > .lc-wrap {
    width: 100%;
    max-width: 100%;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    box-sizing: border-box;
  }
  .lc-shop-woo-panel--checkout form.checkout.woocommerce-checkout,
  .lc-shop-woo-panel--checkout form.woocommerce-checkout {
    grid-template-columns: 1fr;
  }
  .lc-shop-woo-panel--checkout #customer_details,
  .lc-shop-woo-panel--checkout .lc-checkout-order-col {
    grid-column: 1;
    grid-row: auto;
  }
  .lc-shop-woo-panel--checkout .lc-checkout-order-col {
    position: static;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 1rem 0 !important;
    border: 0 !important;
    border-radius: 0;
    background: #f5f2ec;
    box-shadow: none !important;
  }
  .lc-shop-woo-panel--checkout #customer_details {
    padding: 1.1rem 0.85rem !important;
  }
  .lc-shop-woo-panel--checkout #order_review_heading,
  .lc-shop-woo-panel--checkout #order_review,
  .lc-shop-woo-panel--checkout .woocommerce-checkout-review-order-table,
  .lc-shop-woo-panel--checkout #payment,
  .lc-shop-woo-panel--checkout #openpay_cards {
    width: 100% !important;
    max-width: none !important;
  }
  .lc-shop-woo-panel--checkout .woocommerce-checkout-review-order-table {
    table-layout: fixed;
  }
  .lc-shop-woo-panel--checkout .woocommerce-checkout-review-order-table th,
  .lc-shop-woo-panel--checkout .woocommerce-checkout-review-order-table td {
    padding-left: 0.35rem;
    padding-right: 0.35rem;
    word-break: break-word;
  }
  .lc-shop-woo-panel--checkout #payment_form_openpay_cards .openpay-card-expiry,
  .lc-shop-woo-panel--checkout #payment_form_openpay_cards .openpay-card-cvc {
    display: block;
    width: 100% !important;
    margin-right: 0 !important;
  }
  .lc-shop-woo-panel--checkout .woocommerce-billing-fields__field-wrapper,
  .lc-shop-woo-panel--checkout .woocommerce-shipping-fields__field-wrapper,
  .lc-shop-woo-panel--checkout .woocommerce-additional-fields__field-wrapper {
    grid-template-columns: 1fr 1fr;
  }
  .lc-shop-feature { grid-template-columns: 1fr; }
  .lc-shop-product-layout {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    align-items: stretch;
  }
  .lc-shop-product-left,
  .lc-shop-product-right {
    display: contents;
  }
  .lc-shop-gallery { order: 1; }
  .lc-shop-panel--buy { order: 2; }
  .lc-shop-panel--incluido { order: 3; }
  .lc-shop-panel--detail { order: 4; flex: none; }
  .lc-shop-grid,
  .lc-shop-rail {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .lc-shop-topic .lc-blog-see-all { display: flex; }
}
@media (max-width: 640px) {
  .lc-shop-woo-panel--checkout .woocommerce-billing-fields__field-wrapper,
  .lc-shop-woo-panel--checkout .woocommerce-shipping-fields__field-wrapper,
  .lc-shop-woo-panel--checkout .woocommerce-additional-fields__field-wrapper {
    grid-template-columns: 1fr;
  }
  .lc-shop-woo-panel--checkout #billing_first_name_field,
  .lc-shop-woo-panel--checkout #billing_last_name_field,
  .lc-shop-woo-panel--checkout #billing_city_field,
  .lc-shop-woo-panel--checkout #billing_state_field,
  .lc-shop-woo-panel--checkout #billing_postcode_field {
    grid-column: 1 / -1;
  }
}

@media (max-width: 720px) {
  .lc-shop-rail {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.95rem;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    padding: 0.15rem 2.75rem 0.55rem 0.1rem;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .lc-shop-rail::-webkit-scrollbar { display: none; }
  .lc-shop-rail > .lc-shop-card,
  .lc-shop-rail > .lc-blog-see-all {
    flex: 0 0 min(78vw, 300px);
    width: min(78vw, 300px);
    scroll-snap-align: start;
  }
  .lc-shop-grid { grid-template-columns: 1fr; }
  .lc-shop-buy .lc-btn { flex: 1 1 auto; justify-content: center; }
  .lc-shop-buy .lc-blog-text-link { width: 100%; }
  .lc-shop-panel {
    padding: 1.2rem 1.05rem 1.35rem;
  }
  .lc-shop-panel-body {
    font-size: 1.08rem;
    line-height: 1.75;
  }
  .lc-shop-thumb img {
    width: 68px;
    height: 52px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .lc-shop-card:hover,
  .lc-shop-card:hover .lc-shop-card-media img,
  .lc-shop-feature:hover .lc-shop-feature-media img {
    transform: none;
  }
}

/* —— Experiencias Premium (360 / tour / video / 3D) —— */
.lc-experience {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 1px solid rgba(182, 160, 122, 0.28);
  background:
    linear-gradient(165deg, rgba(24, 38, 52, 0.92), rgba(8, 14, 22, 0.96));
  overflow: hidden;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.28);
}
.lc-experience-chrome {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.35rem 0.85rem;
  padding: 0.55rem 0.85rem;
  border-bottom: 1px solid rgba(182, 160, 122, 0.16);
  background: rgba(6, 12, 20, 0.55);
}
.lc-experience-badge {
  font-family: "Montserrat", system-ui, sans-serif;
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--lc-champan);
}
.lc-experience-hint {
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(190, 202, 212, 0.62);
}
.lc-experience-stage {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 10;
  max-height: 360px;
  min-height: 200px;
  height: min(360px, 52vw);
  background: #060c14;
  overflow: hidden;
}
.lc-experience--service .lc-experience-stage {
  max-height: 380px;
  height: min(380px, 56vw);
  aspect-ratio: 16 / 10;
}

/* Tour embebido (Hotel Cantera Real / 3DVista): más alto y usable. */
.lc-experience--embed .lc-experience-stage {
  aspect-ratio: 16 / 9;
  max-height: none;
  height: clamp(280px, 58vh, 640px);
  min-height: 260px;
}
.lc-experience--service.lc-experience--embed .lc-experience-stage {
  max-height: none;
  height: clamp(300px, 56vh, 620px);
  aspect-ratio: 16 / 9;
}
.lc-experience-embed {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
  background: #060c14;
}
.lc-experience-embed-fs {
  display: block;
  margin: 0;
  padding: 0.55rem 0.85rem 0.7rem;
  border-top: 1px solid rgba(182, 160, 122, 0.16);
  background: rgba(6, 12, 20, 0.55);
  color: var(--lc-champan, #b6a07a);
  font-size: 0.82rem;
  letter-spacing: 0.02em;
  text-decoration: none;
  text-align: right;
}
.lc-experience-embed-fs:hover {
  color: #fff;
}
@media (max-width: 767px) {
  .lc-experience--embed .lc-experience-stage,
  .lc-experience--service.lc-experience--embed .lc-experience-stage {
    height: min(72vw, 420px);
    min-height: 240px;
  }
}
.lc-experience-stage--empty {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
}
.lc-experience-pending-msg {
  margin: 0;
  max-width: 22rem;
  text-align: center;
  font-family: "Montserrat", system-ui, sans-serif;
  font-size: clamp(1.15rem, 2.2vw, 1.45rem);
  font-weight: 600;
  color: var(--lc-champan);
  line-height: 1.35;
  letter-spacing: 0.02em;
}
.lc-experience--pending {
  border-style: dashed;
  border-color: rgba(182, 160, 122, 0.4);
}
.lc-experience-pano-boot {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(190, 202, 212, 0.65);
  font-size: 0.85rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.lc-experience-video-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  padding: 0.55rem 0.7rem 0.7rem;
  border-top: 1px solid rgba(182, 160, 122, 0.14);
  background: rgba(6, 12, 20, 0.45);
}
.lc-experience-vbtn {
  appearance: none;
  border: 1px solid rgba(182, 160, 122, 0.28);
  background: rgba(18, 28, 40, 0.9);
  color: var(--lc-plata);
  font-size: 0.72rem;
  letter-spacing: 0.03em;
  padding: 0.4rem 0.65rem;
  cursor: pointer;
  line-height: 1.3;
  text-align: left;
  max-width: 100%;
}
.lc-experience-vbtn.is-active {
  border-color: var(--lc-champan);
  color: #e8d7b0;
}
.lc-experience-dots--pano,
.lc-experience > .lc-experience-dots {
  position: relative;
  left: auto;
  bottom: auto;
  transform: none;
  justify-content: center;
  margin: 0;
  padding: 0.55rem;
  border-radius: 0;
  border: 0;
  border-top: 1px solid rgba(182, 160, 122, 0.14);
  background: rgba(6, 12, 20, 0.45);
}
.lc-experience-stage .pnlm-container {
  width: 100% !important;
  height: 100% !important;
  background: #060c14 !important;
}
.lc-experience-stage .pnlm-load-box,
.lc-experience-stage .pnlm-about-msg {
  display: none !important;
}
.lc-experience-stage .pnlm-control {
  background: rgba(12, 20, 30, 0.82) !important;
  border: 1px solid rgba(182, 160, 122, 0.35) !important;
  color: #e8d7b0 !important;
  box-shadow: none !important;
}
.lc-experience-v360-host {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	background: #0a1016;
}

.lc-experience-v360-host .video-js {
	width: 100%;
	height: 100%;
}

.lc-experience-stage .pnlm-hotspot,
.lc-experience-stage .pnlm-hotspot-base.lc-tour-hotspot {
  background: rgba(182, 160, 122, 0.92) !important;
  box-shadow: 0 0 0 4px rgba(182, 160, 122, 0.22) !important;
  cursor: pointer;
}
.lc-experience--tour .lc-experience-stage {
  max-height: 420px;
  height: min(420px, 58vw);
}
.lc-experience-stage .pnlm-tooltip span {
  background: rgba(10, 16, 24, 0.94) !important;
  border: 1px solid rgba(182, 160, 122, 0.35) !important;
  color: var(--lc-plata-alta) !important;
  font-family: "Montserrat", system-ui, sans-serif !important;
}
.lc-experience-fallback,
.lc-experience-still {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.lc-experience-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  background: #000;
}
.lc-experience-dots {
  position: absolute;
  left: 50%;
  bottom: 0.75rem;
  transform: translateX(-50%);
  display: flex;
  gap: 0.45rem;
  z-index: 3;
  padding: 0.35rem 0.55rem;
  border-radius: 999px;
  background: rgba(6, 12, 20, 0.55);
  border: 1px solid rgba(182, 160, 122, 0.22);
}
.lc-experience-dot {
  width: 8px;
  height: 8px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(190, 202, 212, 0.35);
  cursor: pointer;
}
.lc-experience-dot.is-active {
  background: var(--lc-champan);
  box-shadow: 0 0 0 3px rgba(182, 160, 122, 0.2);
}

.lc-shop-gallery--experience {
  border-color: rgba(182, 160, 122, 0.28);
}
.lc-shop-product-cover--experience {
  margin: 0;
  overflow: hidden;
}
.lc-shop-product-cover--experience .lc-experience {
  border: 0;
  box-shadow: none;
  background: transparent;
}
.lc-shop-product-cover--still[hidden] {
  display: none !important;
}
.lc-shop-thumb--exp {
  width: 76px;
  height: 58px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(145deg, rgba(28, 42, 56, 0.95), rgba(10, 18, 28, 0.98));
}
.lc-shop-thumb-exp-label {
  font-family: "Montserrat", system-ui, sans-serif;
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--lc-champan);
  letter-spacing: 0.04em;
}

.lc-svc-hero-card--experience {
  padding: 0;
  max-width: none;
}
.lc-svc-hero-card--experience .lc-experience {
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
}
.lc-svc-hero-card--experience .lc-experience-stage {
  border-radius: 0;
}
.lc-svc-hero-exp-caption {
  margin: 0;
  padding: 0.95rem 1.15rem 1.05rem;
  background: linear-gradient(180deg, transparent, rgba(3, 7, 12, 0.88));
  color: var(--lc-plata-alta);
  font-size: 0.74rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: 700;
}

@media (max-width: 720px) {
  .lc-experience-stage {
    max-height: 240px;
    min-height: 180px;
    height: min(240px, 62vw);
  }
  .lc-experience--service .lc-experience-stage {
    max-height: 260px;
    height: min(260px, 64vw);
  }
  .lc-experience-chrome {
    padding: 0.45rem 0.7rem;
  }
  .lc-experience-hint {
    font-size: 0.65rem;
  }
  .lc-experience-vbtn {
    font-size: 0.68rem;
    flex: 1 1 auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .lc-experience-stage .pnlm-container {
    /* Pannellum sigue usable; sin animaciones extra nuestras. */
  }
}

/* FIN Fase 3a */

/*
 * Artículo blog (todas las entradas): texto de lectura oscuro (no hereda #e8eef2).
 * No toca el h1 (.lc-blog-article-title).
 */
.lc-page--blog-single .lc-blog-article-deck.lc-lead {
  color: #7a8fa0 !important;
}
.lc-page--blog-single .lc-blog-article-body .lc-blog-prose {
  color: #6e8290 !important;
}
.lc-page--blog-single .lc-blog-article-body .lc-blog-prose *:not(a):not(h2):not(h3):not(h4):not(strong):not(b) {
  color: inherit !important;
}
.lc-page--blog-single .lc-blog-article-body .lc-blog-prose p,
.lc-page--blog-single .lc-blog-article-body .lc-blog-prose li,
.lc-page--blog-single .lc-blog-article-body .lc-blog-prose .lc-blog-list,
.lc-page--blog-single .lc-blog-article-body .lc-blog-prose div,
.lc-page--blog-single .lc-blog-article-body .lc-blog-prose span {
  color: #6e8290 !important;
}
.lc-page--blog-single .lc-blog-article-body .lc-blog-prose p:first-of-type {
  color: #7a8fa0 !important;
}
.lc-page--blog-single .lc-blog-article-body .lc-blog-prose h2 {
  color: #a8926c !important;
}
.lc-page--blog-single .lc-blog-article-body .lc-blog-prose h3 {
  color: #8fa0ae !important;
}
.lc-page--blog-single .lc-blog-article-body .lc-blog-prose h4,
.lc-page--blog-single .lc-blog-article-body .lc-blog-prose strong,
.lc-page--blog-single .lc-blog-article-body .lc-blog-prose b {
  color: #b6a07a !important;
}
.lc-page--blog-single .lc-blog-article-body .lc-blog-prose a {
  color: #b6a07a !important;
}

/* ===== Disciplinas: tarjeta metric (forzado final) ===== */
body.lc-premium-home #disciplinas .lc-grid-3.lc-disc-rail,
body.lc-premium #disciplinas .lc-grid-3.lc-disc-rail {
  align-items: stretch !important;
}
body.lc-premium-home #disciplinas article.lc-card,
body.lc-premium #disciplinas article.lc-card {
  position: relative !important;
  padding: 1.2rem 1.15rem 1.35rem !important;
  border-radius: 16px !important;
  background: linear-gradient(165deg, rgba(31, 95, 173, 0.28), rgba(21, 36, 51, 0.75)) !important;
  border: 1px solid rgba(190, 202, 212, 0.22) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 18px 40px rgba(0, 0, 0, 0.25) !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 1rem !important;
  height: 100% !important;
  box-sizing: border-box !important;
}
body.lc-premium-home #disciplinas article.lc-card::before,
body.lc-premium #disciplinas article.lc-card::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 1rem !important;
  right: 1rem !important;
  height: 2px !important;
  background: linear-gradient(90deg, transparent, var(--lc-champan, #b6a07a), transparent) !important;
  z-index: 8 !important;
  display: block !important;
  opacity: 1 !important;
  box-shadow: none !important;
}
body.lc-premium-home #disciplinas article.lc-card::after,
body.lc-premium #disciplinas article.lc-card::after {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
}
body.lc-premium-home #disciplinas article.lc-card .lc-card-media,
body.lc-premium #disciplinas article.lc-card .lc-card-media {
  border-radius: 12px !important;
  overflow: hidden !important;
  margin: 0 !important;
  border: 0 !important;
  width: 100% !important;
  aspect-ratio: 16 / 10 !important;
  flex: 0 0 auto !important;
}
body.lc-premium-home #disciplinas article.lc-card .lc-card-body,
body.lc-premium #disciplinas article.lc-card .lc-card-body {
  padding: 0 !important;
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
}
body.lc-premium-home #disciplinas article.lc-card .lc-card-body h3,
body.lc-premium #disciplinas article.lc-card .lc-card-body h3 {
  min-height: 2.4em !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  overflow: hidden !important;
}
body.lc-premium-home #disciplinas article.lc-card .lc-card-body p,
body.lc-premium #disciplinas article.lc-card .lc-card-body p {
  min-height: calc(1.55em * 4) !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 4 !important;
  overflow: hidden !important;
  line-height: 1.55 !important;
  flex: 1 1 auto !important;
}
body.lc-premium-home #disciplinas article.lc-card .lc-card-actions,
body.lc-premium #disciplinas article.lc-card .lc-card-actions {
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 0.65rem !important;
  width: 100% !important;
  text-align: left !important;
}
body.lc-premium-home #disciplinas article.lc-card .lc-card-actions .lc-btn,
body.lc-premium-home #disciplinas article.lc-card .lc-card-actions .lc-link,
body.lc-premium #disciplinas article.lc-card .lc-card-actions .lc-btn,
body.lc-premium #disciplinas article.lc-card .lc-card-actions .lc-link {
  align-self: flex-start !important;
}

/* Bloque 01 — encuadre AA01–AA13 (object-fit cover; sin deformar) */
body.lc-premium-home #disciplinas .lc-card-media img {
  object-position: center center;
}
.lc-page--nosotros .lc-estudio-hero-media {
  min-height: 100%;
}
.lc-page--nosotros .lc-estudio-hero-media img {
  object-position: center 28%;
}
.lc-page--nosotros .lc-estudio-story-photo img {
  object-position: center top;
}
.lc-page--nosotros .lc-impacto-bg {
  background-position: center center;
  background-size: cover;
}
.lc-page--contacto .lc-contacto-strip-bg {
  background-position: right center;
  background-size: cover;
}
@media (max-width: 899px) {
  .lc-contacto-strip-inner > .lc-kicker,
  .lc-contacto-strip-inner > h1,
  .lc-contacto-strip-inner > .lc-lead,
  .lc-contacto-strip .lc-lead {
    max-width: 36rem;
  }
  .lc-contacto-strip-bg {
    background-position: 72% center;
  }
  .lc-contacto-strip::after {
    background: linear-gradient(
      180deg,
      rgba(7, 16, 24, 0.78) 0%,
      rgba(7, 16, 24, 0.55) 55%,
      rgba(7, 16, 24, 0.35) 100%
    );
  }
}
.lc-page--servicio.lc-page--svc-path .lc-svc-hero-card img {
  object-position: center 40%;
}
.lc-page--servicio.lc-page--svc-gallery .lc-svc-hero-card img {
  object-position: center 38%;
}
.lc-page--servicio .lc-svc-gal-rail .lc-obra-item img {
  object-position: center 35%;
}

/*
 * Aviso de cookies = mismo panel que los modales del sitio (.lc-modal-panel),
 * anclado abajo como sheet. Una sola columna: kicker → título → cuerpo → acciones.
 */
.lc-cookie {
  position: fixed;
  inset: auto 0 0 0;
  z-index: 2400;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  padding: 0;
  pointer-events: none;
}
.lc-cookie[hidden] {
  display: none !important;
}

@media (max-width: 959px) {
  .lc-cookie {
    bottom: calc(64px + env(safe-area-inset-bottom, 0px));
  }
}

.lc-cookie-sheet {
  pointer-events: auto;
  width: min(1400px, 100%);
  margin: 0;
  padding: 1rem 1.25rem calc(1rem + env(safe-area-inset-bottom, 0px));
  background:
    radial-gradient(560px 260px at 100% 0%, rgba(31, 95, 173, 0.5), transparent 55%),
    linear-gradient(165deg, #1a2b3c, #0e161d);
  border: 1px solid rgba(182, 160, 122, 0.28);
  border-bottom: 0;
  border-radius: 22px 22px 0 0;
  box-shadow: 0 -16px 70px rgba(0, 0, 0, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.08);
  transform: translateY(110%);
  opacity: 0;
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.35s ease;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.85rem 1.75rem;
  align-items: center;
}

.lc-cookie.is-visible .lc-cookie-sheet {
  transform: translateY(0);
  opacity: 1;
}

@media (min-width: 768px) {
  .lc-cookie {
    padding: 0 1.5rem env(safe-area-inset-bottom, 0px);
  }
  .lc-cookie-sheet {
    padding: 1.05rem 1.75rem 1.05rem;
    border-radius: 20px 20px 0 0;
    border-bottom: 1px solid rgba(182, 160, 122, 0.28);
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.75rem 2rem;
  }
}

.lc-cookie-copy {
  min-width: 0;
}

.lc-cookie-kicker.lc-kicker,
.lc-cookie .lc-cookie-kicker {
  margin: 0 0 0.3rem;
  color: var(--lc-champan, #b6a07a);
}

.lc-cookie-title {
  margin: 0 0 0.4rem;
  font-family: "Montserrat", system-ui, sans-serif;
  font-size: clamp(1.25rem, 2vw, 1.55rem);
  font-weight: 600;
  color: #fff;
  line-height: 1.2;
}

.lc-cookie-text {
  margin: 0;
  color: var(--lc-plata, #becad4);
  font-size: 0.95rem;
  line-height: 1.5;
  max-width: none;
}

.lc-cookie-actions {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 0.7rem;
  margin-top: 0;
  flex-shrink: 0;
  justify-self: end;
}

.lc-cookie-btns {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.7rem;
}

.lc-cookie-actions .lc-btn {
  min-height: 44px;
}

.lc-cookie .lc-btn--cta {
  color: #0e161d;
}

.lc-cookie .lc-btn--ghost {
  color: #f5f2ec;
  border-color: rgba(190, 202, 212, 0.35);
}

.lc-cookie-policy.lc-link {
  margin: 0;
  color: var(--lc-champan, #b6a07a);
  font-size: 0.88rem;
  letter-spacing: 0.01em;
  line-height: 1.3;
  text-decoration: none;
  border-bottom: 1px solid rgba(182, 160, 122, 0.35);
  text-align: right;
  white-space: nowrap;
}
.lc-cookie-policy.lc-link:hover {
  color: #fff;
  border-bottom-color: rgba(255, 255, 255, 0.45);
}

@media (max-width: 767px) {
  .lc-cookie-actions {
    align-items: stretch;
    width: 100%;
  }
  .lc-cookie-btns {
    width: 100%;
  }
  .lc-cookie-btns .lc-btn {
    flex: 1 1 0;
  }
  .lc-cookie-policy.lc-link {
    align-self: flex-end;
  }
}

.lc-footer-cookie-prefs {
  display: inline;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
  cursor: pointer;
  text-decoration: none;
  border-bottom: 1px solid transparent;
}
.lc-footer-cookie-prefs:hover {
  color: var(--lc-champan, #b6a07a);
  border-bottom-color: rgba(182, 160, 122, 0.45);
}
