/* =========================
   BASE + VARIABLES
   ========================= */
:root{
  --bg:#070A14;
  --panel: rgba(255,255,255,.06);
  --panel2: rgba(255,255,255,.08);
  --text:#eef2ff;
  --muted: rgba(238,242,255,.74);
  --line: rgba(255,255,255,.12);
  --brand:#7c3aed;
  --radius: 20px;
  --shadow: 0 18px 45px rgba(0,0,0,.35);
}

*{ box-sizing:border-box; }

html{ scroll-behavior:smooth; }
html, body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}

body{
  margin:0;
  color: var(--text);
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Noto Sans", "Helvetica Neue", sans-serif;
  line-height: 1.55;

  background:
    radial-gradient(900px 520px at 15% 10%, rgba(124,58,237,.18), transparent 60%),
    radial-gradient(780px 520px at 85% 5%, rgba(6,182,212,.12), transparent 60%),
    radial-gradient(900px 600px at 70% 85%, rgba(34,197,94,.10), transparent 65%),
    linear-gradient(180deg, #f6f2fb 0%, #f3effa 55%, #f3effa 100%);
}

a{ color: var(--text); text-underline-offset: 3px; }
a:hover{ opacity:.92; }

.container{
  max-width: 1120px;
  width: 100%;
  margin: 0 auto;
  padding: 0 18px;
}

/* =========================
   HEADER LM PRO (OK)
   ========================= */
.lm-pro-header{position:sticky;top:0;z-index:9999;color:var(--text)}
.lm-wrap{max-width:1240px;margin:0 auto;padding:0 18px;width:100%}
.lm-wa-icon{width:22px;height:22px;object-fit:contain;flex:0 0 22px}

.lm-pill{
  font-size:12px;font-weight:900;color:#06130a;
  background:rgba(34,197,94,.92);
  padding:4px 10px;border-radius:999px;letter-spacing:.3px;
}
.lm-status-pill.is-closed{background:#fb7185;color:#2a0710}

/* topbar */
.lm-topbar{
  border-bottom:1px solid rgba(255,255,255,.10);
  background: rgba(10,14,30,.55);
  backdrop-filter: blur(12px);
}
.lm-topbar-inner{
  display:flex;align-items:center;justify-content:space-between;
  gap:14px;padding:10px 0;
}
.lm-top-wa{
  display:flex;align-items:center;gap:10px;
  text-decoration:none;color:var(--text);
  font-weight:850;font-size:14px;
}
.lm-top-hours{
  display:flex;align-items:center;gap:10px;
  color:var(--muted);font-size:14px;white-space:nowrap;
}

/* nav */
.lm-nav{
  border-bottom:1px solid rgba(255,255,255,.10);
  background: rgba(10,14,30,.62);
  backdrop-filter: blur(12px);
  position:relative;z-index:1000;
}
.lm-nav-inner{
  display:grid;grid-template-columns:1fr auto 1fr;
  align-items:center;gap:18px;padding:12px 0;
}

/* logo */
.lm-logo{justify-self:center;display:flex;align-items:center;text-decoration:none}
.lm-logo img{
  height:48px;width:auto;display:block;object-fit:contain;
  border-radius:14px;border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);padding:8px
}
.lm-text-logo{
  font-weight:1000;letter-spacing:.2px;
  padding:10px 14px;border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  display:inline-flex;align-items:center;
}

/* desktop nav links */
.lm-desktop-left,.lm-desktop-right{display:flex;align-items:center;gap:10px}
.lm-link{
  text-decoration:none;color:var(--text);
  font-weight:900;font-size:13px;letter-spacing:.35px;
  padding:10px 12px;border-radius:14px;
  display:flex;align-items:center;gap:8px;
  background:transparent;border:0;cursor:pointer;white-space:nowrap;
  transition:transform .15s ease, background .15s ease, border-color .15s ease;
}
.lm-link:hover{background:rgba(255,255,255,.06);transform:translateY(-1px)}
.lm-link-cta{
  border:1px solid rgba(124,58,237,.40);
  background:rgba(124,58,237,.12);
}

/* dropdown */
.lm-dropdown{position:relative}
.lm-caret{width:18px;height:18px}
.lm-dd-menu{
  position:absolute;top:calc(100% + 10px);left:0;
  min-width:260px;
  background:rgba(10,14,30,.96);
  border:1px solid rgba(255,255,255,.14);
  border-radius:16px;
  box-shadow:0 16px 50px rgba(0,0,0,.40);
  padding:10px;display:none;z-index:60;
}
.lm-dd-menu.is-open{display:block}
.lm-dd-menu a{
  display:block;padding:10px 12px;border-radius:14px;
  text-decoration:none;color:var(--text);
  font-weight:850;font-size:14px;
}
.lm-dd-menu a:hover{background:rgba(255,255,255,.07)}

/* botones right */
.lm-btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:10px 14px;border-radius:999px;
  text-decoration:none;font-weight:900;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.04);
  color:var(--text);
  transition:transform .15s ease, background .15s ease;
}
.lm-btn:hover{transform:translateY(-1px);background:rgba(255,255,255,.08)}
.lm-btn--primary{
  border:none;
  background:linear-gradient(135deg,var(--brand),#4f46e5);
  box-shadow:0 12px 30px rgba(124,58,237,.35);
}
.lm-btn--ghost{background:rgba(255,255,255,.03)}

/* mobile */
.lm-mobile-bar,.lm-mobile-info{display:none}

.lm-burger{
  appearance:none;border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.04);
  border-radius:16px;width:52px;height:52px;
  cursor:pointer;position:relative;
}
.lm-burger span{
  position:absolute;left:50%;
  width:22px;height:2px;background:var(--text);
  border-radius:2px;transform:translateX(-50%);
  transition:transform .18s ease, opacity .18s ease, top .18s ease;
}
.lm-burger span:nth-child(1){top:18px}
.lm-burger span:nth-child(2){top:25px}
.lm-burger span:nth-child(3){top:32px}
.lm-burger.is-open span:nth-child(1){top:25px;transform:translateX(-50%) rotate(45deg)}
.lm-burger.is-open span:nth-child(2){opacity:0}
.lm-burger.is-open span:nth-child(3){top:25px;transform:translateX(-50%) rotate(-45deg)}

.lm-overlay{
  position:fixed;inset:0;background:rgba(2,6,23,.62);
  z-index:1999;opacity:0;pointer-events:none;
  transition:opacity .18s ease;
}
.lm-overlay.is-open{opacity:1;pointer-events:auto}

.lm-mobile{
  position:fixed;inset:0;background:#0b1220;z-index:2000;
  transform:translateX(102%);transition:transform .22s ease;
  display:flex;flex-direction:column;
  padding-top:env(safe-area-inset-top);
  padding-bottom:env(safe-area-inset-bottom);
}
.lm-mobile.is-open{transform:translateX(0)}
.lm-mobile[aria-hidden="true"]{visibility:hidden}
.lm-mobile[aria-hidden="false"]{visibility:visible}

.lm-m-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px;border-bottom:1px solid rgba(255,255,255,.10)
}
.lm-m-head-left{display:flex;align-items:center;gap:10px}
.lm-m-head-left img{height:34px;border-radius:10px}
.lm-m-title{font-weight:1000;font-size:14px}
.lm-m-subtitle2{font-size:12px;color:var(--muted);font-weight:800}

.lm-m-close{
  width:48px;height:48px;border-radius:16px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.04);
  cursor:pointer;position:relative
}
.lm-m-close span{position:absolute;left:50%;top:50%;width:20px;height:2px;background:var(--text);border-radius:2px}
.lm-m-close span:first-child{transform:translate(-50%,-50%) rotate(45deg)}
.lm-m-close span:last-child{transform:translate(-50%,-50%) rotate(-45deg)}

.lm-m-body{padding:12px;overflow:auto;flex:1}
.lm-m-link,.lm-m-subbtn{
  width:100%;
  display:flex;align-items:center;justify-content:space-between;
  text-decoration:none;color:var(--text);
  font-weight:900;font-size:16px;
  padding:14px;border-radius:18px;border:0;background:transparent;
  cursor:pointer;transition:background .15s ease;margin-bottom:6px;
}
.lm-m-link:hover,.lm-m-subbtn:hover{background:rgba(255,255,255,.06)}
.lm-m-sub{display:none;padding:6px 6px 12px;margin-bottom:8px}
.lm-m-sub.is-open{display:block}
.lm-m-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.lm-m-actions .lm-btn{flex:1}
.lm-m-cta{border:1px solid rgba(124,58,237,.35);background:rgba(124,58,237,.12)}

@media (max-width:1024px){
  .lm-topbar-desktop{display:none}
  .lm-desktop-left,.lm-desktop-right,.lm-logo{display:none}
  .lm-nav-inner{grid-template-columns:1fr;gap:10px;padding:12px 0}
  .lm-mobile-bar{display:flex;align-items:center;justify-content:space-between;gap:12px}
  .lm-mobile-logo img{height:46px;border-radius:14px}
  .lm-mobile-info{
    display:flex;flex-direction:column;gap:10px;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.10);
    border-radius:16px;padding:12px
  }
  .lm-mobile-wa{
    text-decoration:none;color:var(--text);
    font-weight:900;font-size:16px;
    display:flex;align-items:center;gap:10px
  }
  .lm-mobile-hours{
    display:flex;align-items:center;gap:10px;flex-wrap:wrap;
    color:var(--muted);font-size:14px
  }
}

/* =========================
   FINAL POLISH (TU DISEÑO)
   ========================= */
h1{ font-size: clamp(28px, 3.2vw, 44px); line-height:1.1; letter-spacing:-.02em; margin: 10px 0 10px; }
h2{ font-size: clamp(22px, 2.2vw, 30px); line-height:1.2; letter-spacing:-.01em; margin: 0 0 10px; }
h3{ font-size: 18px; margin: 0 0 8px; }
.lead{ font-size: 16px; color: var(--muted); max-width: 60ch; }
.muted{ color: var(--muted)!important; }
.note{ color: rgba(238,242,255,.6); font-size: 13px; }

.section{ padding: 64px 0; }
.section--alt{
  background: linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0));
  border-top: 1px solid rgba(255,255,255,.06);
  border-bottom: 1px solid rgba(255,255,255,.06);
}

.badge{
  display:inline-flex; align-items:center; gap:8px;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.06);
  font-weight: 900;
  font-size: 13px;
}

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding: 12px 16px;
  border-radius: 999px;
  text-decoration:none;
  font-weight: 900;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.04);
  color: var(--text);
  cursor:pointer;
  transition: transform .15s ease, background .15s ease, box-shadow .15s ease, opacity .15s ease;
}
.btn:hover{ transform: translateY(-1px); background: rgba(255,255,255,.08); }
.btn--primary{
  border: none;
  background: linear-gradient(135deg, var(--brand), #4f46e5);
  box-shadow: 0 12px 30px rgba(124,58,237,.30);
  color:#fff;
}
.btn--ghost{ background: rgba(255,255,255,.03); }
.btn--big{ padding: 14px 18px; font-size: 15px; }

.hero{ padding: 56px 0 40px; }
.hero__grid{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 28px;
  align-items: start;
}
.cta{ display:flex; gap: 12px; flex-wrap:wrap; margin-top: 14px; }
.trust{ margin: 14px 0 0; padding-left: 18px; color: var(--muted); }
.trust li{ margin: 6px 0; }

.card, .hero__card, .svc-card, .calendar-wrap{
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.05);
  border-radius: var(--radius);
  box-shadow: 0 12px 32px rgba(0,0,0,.18);
}

.hero__card{ padding: 18px; }

.calc label{
  display:block;
  margin: 10px 0;
  font-weight: 900;
  font-size: 13px;
  color: rgba(238,242,255,.68);
}
.calc input, .calc textarea, .calc select{
  width:100%;
  margin-top:6px;
  padding: 12px 12px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(5,8,19,.55);
  color: var(--text);
  outline:none;
}
.calc input:focus, .calc textarea:focus, .calc select:focus{
  border-color: rgba(124,58,237,.65);
  box-shadow: 0 0 0 4px rgba(124,58,237,.15);
}

.cta-reserva{
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 18px;
  border: 1px solid rgba(255,255,255,.14);
  background: linear-gradient(135deg, rgba(124,58,237,.14), rgba(6,182,212,.07));
  border-radius: 26px;
  padding: 22px;
  box-shadow: var(--shadow);
}
.cta-reserva__steps{ display:grid; gap: 10px; margin-top: 10px; }
.mini-step{
  display:flex; align-items:center; gap:10px;
  padding: 12px 12px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
  color: rgba(238,242,255,.78);
  font-weight: 900;
}
.mini-step span{
  width:28px; height:28px; border-radius:999px;
  display:grid; place-items:center;
  background: linear-gradient(135deg, var(--brand), #4f46e5);
  color:#fff; font-weight: 1000;
}

.grid3{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-top: 14px;
}
.grid3 .card{ padding: 16px; }
.grid3 p{ color: rgba(238,242,255,.72); margin: 0; }

.gallery{
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
  margin-top: 16px;
}
.shot{
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.04);
  border-radius: 18px;
  overflow:hidden;
  box-shadow: 0 12px 32px rgba(0,0,0,.18);
}
.shot img{
  width:100%;
  height: 320px;
  object-fit: cover;
  display:block;
}
.shot figcaption{
  padding: 10px 12px;
  color: rgba(238,242,255,.7);
  font-weight: 900;
  font-size: 13px;
}

.svc-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}
.svc-card{
  overflow:hidden;
  display:flex;
  flex-direction:column;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.svc-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 18px 45px rgba(0,0,0,.28);
  background: rgba(255,255,255,.06);
}
.svc-card img{
  width:100%;
  height: 170px;
  object-fit: cover;
  display:block;
  background: rgba(255,255,255,.03);
}
.svc-body{ padding: 14px; }
.svc-title{ font-weight: 1000; margin: 0 0 6px; }
.svc-meta{ margin: 0 0 12px; color: rgba(238,242,255,.72); font-size: 14px; }
.svc-actions{ display:flex; gap: 10px; flex-wrap:wrap; }
.svc-actions .btn{ flex:1; min-width: 140px; }

.calendar-wrap{
  overflow:hidden;
  border-radius: 20px;
  box-shadow: var(--shadow);
  background: rgba(255,255,255,.03);
}
.calendar-wrap iframe{
  width:100%;
  height: 720px;
  border:0;
  display:block;
  filter: saturate(1.05) contrast(1.02);
}

.steps{ display:grid; gap: 12px; margin-top: 14px; }
.step{
  display:flex; gap: 12px;
  padding: 14px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.04);
  border-radius: 18px;
}
.step__n{
  width: 34px; height: 34px; border-radius: 999px;
  display:grid; place-items:center;
  background: linear-gradient(135deg, var(--brand), #4f46e5);
  color:#fff; font-weight: 1000;
  flex: 0 0 34px;
}
.step p{ margin: 0; color: rgba(238,242,255,.74); }

.faq details{
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.04);
  border-radius: 16px;
  padding: 12px 14px;
  margin: 10px 0;
}
.faq summary{ cursor:pointer; font-weight: 1000; }
.faq p{ color: rgba(238,242,255,.74); margin: 10px 0 0; }

.footer{
  border-top: 1px solid rgba(255,255,255,.08);
  background: rgba(10,14,30,.55);
  padding: 22px 0;
}
.footer p{ color: rgba(238,242,255,.65); margin:0; }

.fab-whatsapp{
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 9999;
  padding: 12px 14px;
  border-radius: 999px;
  text-decoration:none;
  font-weight: 1000;
  color: #06130a;
  background: rgba(34,197,94,.92);
  box-shadow: 0 16px 40px rgba(0,0,0,.35);
}

@media (max-width: 900px){
  .hero__grid{ grid-template-columns: 1fr; }
  .cta-reserva{ grid-template-columns: 1fr; }
  .grid3{ grid-template-columns: 1fr; }
  .svc-grid{ grid-template-columns: 1fr; }
  .gallery{ grid-template-columns: 1fr; }
  .shot img{ height: 260px; }
  .calendar-wrap iframe{ height: 620px; }
}
/* =========================================
   THANK YOU PAGE – PREMIUM BACKGROUND
   ========================================= */

body {
  background:
    radial-gradient(600px 300px at 20% 35%, rgba(124,58,237,.25), transparent 60%),
    radial-gradient(600px 300px at 80% 45%, rgba(16,185,129,.18), transparent 60%),
    linear-gradient(180deg, #070a14, #05070f 60%, #04060c);
}

/* Centrado vertical real */
.section {
  min-height: calc(100vh - 160px);
  display: flex;
  align-items: center;
}

/* Tarjeta de gracias */
.section .card {
  background:
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.02));
  border: 1px solid rgba(255,255,255,.14);
  backdrop-filter: blur(14px);
  box-shadow:
    0 30px 80px rgba(0,0,0,.55),
    inset 0 1px 0 rgba(255,255,255,.06);
}

/* Título */
.section .card h1 {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: clamp(24px, 3vw, 32px);
}

/* Botones */
.section .card .btn {
  min-width: 200px;
}

/* Responsive */
@media (max-width: 768px) {
  .section {
    padding: 40px 0;
  }
}
/* =========================
   HEADER PERFECT CENTER (FINAL)
   Pegar al FINAL del CSS
   ========================= */

/* Nav: 3 columnas compensadas y centradas */
.lm-nav-inner{
  grid-template-columns: minmax(0,1fr) auto minmax(0,1fr) !important;
  align-items: center !important;
}

/* Bloques izquierda/derecha bien alineados */
.lm-desktop-left{
  justify-content: flex-start !important;
  gap: 10px !important;
}
.lm-desktop-right{
  justify-content: flex-end !important;
  gap: 10px !important;
}

/* LOGO centrado real */
.lm-logo{
  justify-self: center !important;
  align-self: center !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

/* Logo imagen: sin “pastilla”, limpio */
.lm-logo img{
  height: 46px !important;
  width: auto !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  border-radius: 12px !important;
  display: block !important;
}

/* Si NO hay logo y sale texto, que parezca logo (no botón) */
.lm-text-logo{
  padding: 10px 14px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  background: rgba(255,255,255,.04) !important;
  font-weight: 1000 !important;
}

/* Botones: mismo alto visual que links */
.lm-link,
.lm-btn{
  height: 44px;
}

/* Topbar mejor centrado */
.lm-topbar-inner{
  min-height: 46px;
}

/* Móvil: logo tamaño correcto */
@media (max-width:1024px){
  .lm-mobile-logo img{
    height: 44px !important;
    width: auto !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }
}
/* =========================
   LOGO MÁS GRANDE (FINAL)
   ========================= */

/* Desktop */
.lm-logo img{
  height: 120px !important;   /* ⬅️ antes 46px */
  width: auto !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  border-radius: 14px !important;
  display: block !important;
}

/* Mobile */
@media (max-width:1024px){
  .lm-mobile-logo img{
    height: 56px !important; /* ⬅️ más grande en móvil */
    width: auto !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }
}
/* =========================================
   CTA RESERVA — FONDO FULL WIDTH CON IMAGEN
   ========================================= */

#reserva{
  position: relative;
  overflow: hidden;
  background-color: #070A14; /* fallback */
}

/* Imagen de fondo a ancho completo */
#reserva::before{
  content:"";
  position:absolute;
  inset:0;
  background-image: url("/assets/img/sofa-bg.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: .38; /* controla visibilidad */
  z-index: 0;
}

/* Overlay oscuro para contraste */
#reserva::after{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(
    180deg,
    rgba(7,10,20,.75),
    rgba(7,10,20,.85)
  );
  z-index: 1;
}

/* Todo el contenido por encima */
#reserva > *{
  position: relative;
  z-index: 2;
}

/* La tarjeta sigue siendo protagonista */
.cta-reserva{
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
.services-head{
  display:grid;
  grid-template-columns: 1fr auto;
  gap: 14px;
  align-items:end;
  margin-bottom: 16px;
}

.services-steps{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.step-pill{
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.04);
  font-weight:900;
  font-size:13px;
  color: rgba(238,242,255,.85);
}
.step-pill span{
  width:22px;height:22px;
  display:grid;place-items:center;
  border-radius:999px;
  background: linear-gradient(135deg, var(--brand), #4f46e5);
  color:#fff;
  font-size:12px;
}

.services-footer{
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid rgba(255,255,255,.08);
}

.services-note{
  color: rgba(238,242,255,.7);
  font-size:14px;
  margin-bottom:12px;
}

@media (max-width:900px){
  .services-head{
    grid-template-columns: 1fr;
  }
}
/* =========================
   SECCIÓN "CÓMO TRABAJAMOS" PRO
   ========================= */

.section-como-bg{
  position: relative;
  background-image:
    linear-gradient(
      rgba(7,10,20,.82),
      rgba(7,10,20,.82)
    ),
    url("/assets/img/bg/como-trabajamos.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.section-como-bg h2,
.section-como-bg h3,
.section-como-bg p{
  color: #eef2ff;
}

.section-como-bg .steps{
  margin-top: 24px;
}

.section-como-bg .step{
  backdrop-filter: blur(6px);
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.14);
}
/* =========================
   FAQ PRO
   ========================= */

.faq-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin-bottom:18px;
}
.faq-cta{ flex:0 0 auto; }

.faq-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:14px;
  margin-top: 10px;
}

.faq-item{
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.05);
  border-radius: 18px;
  overflow:hidden;
  box-shadow: 0 12px 32px rgba(0,0,0,.18);
  transition: transform .15s ease, background .15s ease, box-shadow .15s ease;
}

.faq-item:hover{
  transform: translateY(-2px);
  background: rgba(255,255,255,.07);
  box-shadow: 0 18px 45px rgba(0,0,0,.26);
}

.faq-item summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding: 14px 16px;
  font-weight: 1000;
}
.faq-item summary::-webkit-details-marker{ display:none; }

.faq-q{
  display:flex;
  align-items:center;
  gap:10px;
}
.faq-ico{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius: 12px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  font-size: 16px;
}

.faq-arrow{
  opacity:.75;
  transition: transform .18s ease;
  font-size: 18px;
}

.faq-item[open] .faq-arrow{
  transform: rotate(180deg);
}

.faq-a{
  padding: 0 16px 14px;
  color: rgba(238,242,255,.78);
  line-height: 1.6;
}

.faq-bottom{
  margin-top:18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding: 16px 16px;
  border:1px solid rgba(255,255,255,.12);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(124,58,237,.12), rgba(6,182,212,.06));
}
.faq-bottom__left{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.faq-bottom__right{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

@media (max-width: 900px){
  .faq-head{ flex-direction:column; align-items:flex-start; }
  .faq-grid{ grid-template-columns: 1fr; }
  .faq-bottom{ flex-direction:column; align-items:flex-start; }
}
/* =========================
   SECCIÓN "CÓMO TRABAJAMOS"
   CON IMAGEN DE FONDO
   ========================= */

.section--bg-work{
  position: relative;
  background:
    linear-gradient(
      rgba(7,10,20,.82),
      rgba(7,10,20,.82)
    ),
    url("/assets/img/bg/como-trabajamos.jpg") center / cover no-repeat;
}

.section--bg-work h2,
.section--bg-work h3,
.section--bg-work p{
  position: relative;
  z-index: 2;
}

/* Tarjetas por encima del fondo */
.section--bg-work .step{
  background: rgba(255,255,255,.08);
  backdrop-filter: blur(4px);
}
/* =====================================
   HEADER PRO – RESPONSIVE FIX FINAL
   ===================================== */

/* WRAPS */
.lm-wrap{
  width: min(1240px, 100%);
  margin: 0 auto;
  padding: 0 18px;
}

/* HEADER BASE */
.lm-pro-header{
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(7,10,20,.92);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid rgba(255,255,255,.08);
}

/* TOPBAR */
.lm-topbar{
  font-size: 13px;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.lm-topbar-inner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding: 8px 0;
}
.lm-top-wa{
  display:flex;
  align-items:center;
  gap:8px;
  text-decoration:none;
  color:#e5e7eb;
}
.lm-wa-icon{
  width:18px;
  height:18px;
}

/* NAV */
.lm-nav-inner{
  display:grid;
  grid-template-columns: 1fr auto 1fr;
  align-items:center;
  min-height:72px;
}

/* LOGO */
.lm-logo img,
.lm-mobile-logo img{
  height:56px;              /* 🔥 LOGO MÁS GRANDE */
  width:auto;
  display:block;
}
.lm-text-logo{
  font-weight:900;
  font-size:20px;
}

/* DESKTOP NAV */
.lm-desktop-left,
.lm-desktop-right{
  display:flex;
  align-items:center;
  gap:18px;
}
.lm-link{
  font-weight:800;
  font-size:14px;
  text-decoration:none;
  color:#eef2ff;
}
.lm-link-cta{
  padding:8px 14px;
  border-radius:999px;
  background: linear-gradient(135deg,#7c3aed,#4f46e5);
  color:#fff;
}

/* BOTONES */
.lm-btn{
  padding:10px 14px;
  border-radius:999px;
  font-weight:900;
  text-decoration:none;
}
.lm-btn--primary{
  background: linear-gradient(135deg,#7c3aed,#4f46e5);
  color:#fff;
}
.lm-btn--ghost{
  border:1px solid rgba(255,255,255,.2);
}

/* DROPDOWN */
.lm-dropdown{ position:relative; }
.lm-dd-menu{
  position:absolute;
  top:120%;
  left:0;
  min-width:220px;
  background:#0b0f1f;
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
  padding:8px;
  display:none;
}
.lm-dd-menu.is-open{ display:block; }
.lm-dd-menu a{
  display:block;
  padding:10px 12px;
  border-radius:10px;
  color:#e5e7eb;
  text-decoration:none;
}
.lm-dd-menu a:hover{
  background: rgba(255,255,255,.08);
}

/* MOBILE BAR */
.lm-mobile-bar{
  display:none;
  justify-content:space-between;
  align-items:center;
  width:100%;
}
.lm-burger{
  width:42px;
  height:42px;
  display:grid;
  gap:6px;
  background:none;
  border:none;
}
.lm-burger span{
  height:2px;
  background:#fff;
  border-radius:2px;
}

/* MOBILE MENU */
.lm-overlay{
  position:fixed;
  inset:0;
  background: rgba(0,0,0,.6);
}
.lm-mobile{
  position:fixed;
  top:0;
  right:0;
  width:86%;
  max-width:360px;
  height:100%;
  background:#070a14;
  transform: translateX(100%);
  transition:.25s ease;
}
.lm-mobile.is-open{
  transform: translateX(0);
}
.lm-m-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:16px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.lm-m-body{
  padding:16px;
  display:grid;
  gap:12px;
}
.lm-m-link{
  font-weight:800;
  text-decoration:none;
  color:#eef2ff;
}
.lm-m-cta{
  background: linear-gradient(135deg,#7c3aed,#4f46e5);
  padding:12px;
  border-radius:999px;
  text-align:center;
}
.lm-m-actions{
  display:grid;
  gap:10px;
  margin-top:10px;
}

/* STATUS PILL */
.lm-pill{
  padding:4px 10px;
  border-radius:999px;
  font-size:12px;
  background: rgba(34,197,94,.15);
  color:#22c55e;
}
.lm-pill.is-closed{
  background: rgba(239,68,68,.15);
  color:#ef4444;
}

/* =====================================
   RESPONSIVE BREAKPOINT
   ===================================== */
@media (max-width: 900px){

  .lm-topbar-desktop,
  .lm-desktop-left,
  .lm-desktop-right{
    display:none;
  }

  .lm-nav-inner{
    grid-template-columns: 1fr;
  }

  .lm-mobile-bar{
    display:flex;
  }

  .lm-logo{
    display:none;
  }

}
/* ==============================
   MOBILE FIX – HEADER LIMPIO
   Pegar AL FINAL del CSS
   ============================== */

@media (max-width: 900px){

  /* Oculta topbar + nav desktop */
  .lm-topbar-desktop,
  .lm-desktop-left,
  .lm-desktop-right,
  .lm-logo{
    display:none !important;
  }

  /* La barra móvil SIEMPRE visible y centrada */
  .lm-nav-inner{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    min-height:64px !important;
    padding: 10px 0 !important;
  }

  /* Mostrar SOLO la barra móvil */
  .lm-mobile-bar{
    display:flex !important;
    width:100% !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
  }

  /* Logo móvil más grande y sin duplicados */
  .lm-mobile-logo{
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    text-decoration:none !important;
    min-width: 0 !important;
  }
  .lm-mobile-logo img{
    height:44px !important;  /* ajusta 40–52 si quieres */
    width:auto !important;
    max-width: 70vw !important;
    object-fit: contain !important;
    display:block !important;
  }

  /* Burger limpio */
  .lm-burger{
    width:44px !important;
    height:44px !important;
    display:grid !important;
    place-items:center !important;
    gap:6px !important;
    border-radius:12px !important;
    border:1px solid rgba(255,255,255,.12) !important;
    background: rgba(255,255,255,.06) !important;
  }
  .lm-burger span{
    width:22px !important;
    height:2px !important;
    background:#fff !important;
    border-radius:2px !important;
  }

  /* ✅ IMPORTANTE: la caja rara de WhatsApp/horario NO debe verse en móvil */
  .lm-mobile-info{
    display:none !important;
  }

  /* Panel móvil ocupa pantalla bien */
  .lm-mobile{
    width: 88% !important;
    max-width: 380px !important;
  }

  /* Dentro del panel: logo y títulos bien */
  .lm-m-head-left img{
    height:38px !important;
    width:auto !important;
  }

  /* Botones dentro del panel (dedo-friendly) */
  .lm-m-actions .lm-btn{
    width:100% !important;
    text-align:center !important;
    padding: 12px 14px !important;
  }
}
/* =========================================
   MOBILE MENU FIX (abre + X no duplicada)
   Pegar AL FINAL del CSS
   ========================================= */

@media (max-width: 900px){

  /* Asegura que en móvil solo se vea la barra móvil */
  .lm-topbar-desktop,
  .lm-desktop-left,
  .lm-desktop-right,
  .lm-logo,
  .lm-mobile-info{
    display:none !important;
  }

  .lm-nav-inner{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    min-height:64px !important;
    padding: 10px 0 !important;
  }

  .lm-mobile-bar{
    display:flex !important;
    width:100% !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
  }

  .lm-mobile-logo{
    display:flex !important;
    align-items:center !important;
    min-width:0 !important;
    text-decoration:none !important;
  }
  .lm-mobile-logo img{
    height:44px !important;
    width:auto !important;
    max-width:70vw !important;
    object-fit:contain !important;
    display:block !important;
  }

  /* Burger visible siempre */
  .lm-burger{
    width:44px !important;
    height:44px !important;
    display:grid !important;
    place-items:center !important;
    gap:6px !important;
    border-radius:12px !important;
    border:1px solid rgba(255,255,255,.12) !important;
    background: rgba(255,255,255,.06) !important;
    cursor:pointer !important;
  }
  .lm-burger span{
    width:22px !important;
    height:2px !important;
    background:#fff !important;
    border-radius:2px !important;
    display:block !important;
  }

  /* ====== OVERLAY ====== */
  .lm-overlay{
    position:fixed !important;
    inset:0 !important;
    background: rgba(0,0,0,.55) !important;
    backdrop-filter: blur(4px) !important;
    opacity:0 !important;
    pointer-events:none !important;
    transition: opacity .18s ease !important;
    z-index: 9998 !important;
  }
  .lm-overlay.is-open{
    opacity:1 !important;
    pointer-events:auto !important;
  }

  /* ====== PANEL ====== */
  .lm-mobile{
    position:fixed !important;
    top:0 !important;
    right:0 !important;
    height:100vh !important;
    width:88% !important;
    max-width:380px !important;
    background: rgba(12,16,32,.92) !important;
    border-left: 1px solid rgba(255,255,255,.12) !important;
    box-shadow: -20px 0 60px rgba(0,0,0,.45) !important;

    transform: translateX(105%) !important;
    transition: transform .22s ease !important;

    z-index: 9999 !important;
    overflow:auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  .lm-mobile.is-open{
    transform: translateX(0) !important;
  }

  /* ====== CABECERA DEL PANEL ====== */
  .lm-m-head{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:14px !important;
    padding: 16px 16px !important;
    border-bottom: 1px solid rgba(255,255,255,.10) !important;
  }
  .lm-m-head-left{
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
  }
  .lm-m-head-left img{
    height:38px !important;
    width:auto !important;
    object-fit:contain !important;
    display:block !important;
  }

  /* ====== ✅ X NO DUPLICADA ====== */
  .lm-m-close{
    width:44px !important;
    height:44px !important;
    border-radius:12px !important;
    border:1px solid rgba(255,255,255,.12) !important;
    background: rgba(255,255,255,.06) !important;
    display:grid !important;
    place-items:center !important;
    cursor:pointer !important;
    position:relative !important;
  }

  /* elimina cualquier X vieja */
  .lm-m-close::before,
  .lm-m-close::after{
    content:none !important;
  }

  /* dibuja la X con los 2 spans */
  .lm-m-close span{
    position:absolute !important;
    width:22px !important;
    height:2px !important;
    background:#fff !important;
    border-radius:2px !important;
    display:block !important;
  }
  .lm-m-close span:first-child{ transform: rotate(45deg) !important; }
  .lm-m-close span:last-child{ transform: rotate(-45deg) !important; }

  /* ====== LINKS ====== */
  .lm-m-body{
    padding: 14px 16px 18px !important;
  }
  .lm-m-link, .lm-m-subbtn{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    width:100% !important;
    padding: 12px 12px !important;
    border-radius: 14px !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    background: rgba(255,255,255,.04) !important;
    color:#eef2ff !important;
    text-decoration:none !important;
    margin: 10px 0 !important;
    font-weight: 900 !important;
  }

  .lm-m-sub{
    display:none !important;
    margin: 8px 0 0 !important;
    padding-left: 8px !important;
  }
  .lm-m-sub.is-open{
    display:block !important;
  }

  .lm-m-actions{
    display:grid !important;
    gap:10px !important;
    margin-top: 14px !important;
  }
  .lm-m-actions .lm-btn{
    width:100% !important;
    justify-content:center !important;
  }
}
/* =========================
   FOOTER
========================= */
.site-footer {
  background: linear-gradient(180deg, #0b1020, #070a14);
  padding: 28px 16px;
  border-top: 1px solid rgba(255,255,255,.08);
}

.footer-inner {
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
}

.footer-links {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 10px;
}

.footer-links a {
  color: #b8c0ff;
  font-size: 14px;
  text-decoration: none;
  transition: color .2s ease;
}

.footer-links a:hover {
  color: #ffffff;
}

.footer-links span {
  color: rgba(255,255,255,.4);
}

.footer-copy {
  font-size: 13px;
  color: rgba(255,255,255,.6);
}
/* =========================
   HEADER RESPONSIVE (LM)
   Pegar al FINAL del style.css
   ========================= */

:root{
  --lm-wrap: 1200px;
  --lm-pad: 16px;
  --lm-radius: 14px;
  --lm-shadow: 0 10px 30px rgba(0,0,0,.08);
  --lm-border: rgba(0,0,0,.10);
  --lm-bg: #fff;
  --lm-text: #111;
  --lm-muted: rgba(0,0,0,.65);
  --lm-primary: #111;
  --lm-ghost: rgba(0,0,0,.06);
  --lm-ghost-hover: rgba(0,0,0,.10);
  --lm-z: 9999;
}

.lm-pro-header{ position: sticky; top:0; z-index: var(--lm-z); background: var(--lm-bg); }
.lm-wrap{ max-width: var(--lm-wrap); margin: 0 auto; padding: 0 var(--lm-pad); }

.lm-topbar{ border-bottom: 1px solid var(--lm-border); background: #fff; }
.lm-topbar-inner{ display:flex; align-items:center; justify-content:space-between; gap: 16px; padding: 8px 0; }
.lm-topbar-desktop{ display:none; }

.lm-top-wa{ display:flex; align-items:center; gap:10px; text-decoration:none; color: var(--lm-text); font-size: 14px; white-space: nowrap; }
.lm-wa-icon{ width: 18px; height: 18px; display:block; }

.lm-top-hours{ display:flex; align-items:center; gap: 10px; color: var(--lm-muted); font-size: 14px; white-space: nowrap; }

.lm-pill{ display:inline-flex; align-items:center; padding: 4px 10px; border-radius: 999px; font-size: 12px; border:1px solid var(--lm-border); background:#fff; color: var(--lm-text); }
.lm-status-pill.is-closed{ opacity: .9; }

.lm-nav{ background:#fff; border-bottom: 1px solid var(--lm-border); }
.lm-nav-inner{ display:flex; align-items:center; justify-content:space-between; gap: 14px; padding: 10px 0; position: relative; }

.lm-desktop-left, .lm-desktop-right{ display:none; align-items:center; gap: 14px; }
.lm-link{ text-decoration:none; color: var(--lm-text); font-weight: 700; letter-spacing: .02em; font-size: 13px; }
.lm-link:hover{ opacity: .85; }
.lm-link-cta{ padding: 10px 12px; border-radius: 999px; background: var(--lm-ghost); }
.lm-link-cta:hover{ background: var(--lm-ghost-hover); }

.lm-logo{ display:none; align-items:center; justify-content:center; text-decoration:none; color: var(--lm-text); }
.lm-logo img{ height: 44px; width:auto; display:block; }
.lm-text-logo{ font-weight: 900; font-size: 18px; letter-spacing:.02em; }

.lm-btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; padding: 10px 14px; border-radius: 999px; text-decoration:none; font-weight: 800; font-size: 13px; border: 1px solid var(--lm-border); white-space: nowrap; }
.lm-btn--primary{ background: var(--lm-primary); color:#fff; border-color: var(--lm-primary); }
.lm-btn--primary:hover{ opacity:.9; }
.lm-btn--ghost{ background: var(--lm-ghost); color: var(--lm-text); }
.lm-btn--ghost:hover{ background: var(--lm-ghost-hover); }

/* Dropdown desktop */
.lm-dropdown{ position: relative; }
.lm-dd-btn{ background: none; border: 0; cursor: pointer; padding: 8px 8px; border-radius: 10px; display:inline-flex; align-items:center; gap: 6px; }
.lm-dd-btn:hover{ background: var(--lm-ghost); }
.lm-caret{ width: 18px; height: 18px; }
.lm-dd-menu{
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  min-width: 220px;
  background: #fff;
  border: 1px solid var(--lm-border);
  border-radius: 14px;
  box-shadow: var(--lm-shadow);
  padding: 8px;
  display: none;
  z-index: calc(var(--lm-z) + 1);
}
.lm-dd-menu.is-open{ display:block; }
.lm-dd-menu a{
  display:block;
  padding: 10px 10px;
  border-radius: 10px;
  text-decoration:none;
  color: var(--lm-text);
  font-weight: 700;
  font-size: 13px;
}
.lm-dd-menu a:hover{ background: var(--lm-ghost); }

/* Mobile bar */
.lm-mobile-bar{ display:flex; align-items:center; justify-content:space-between; width:100%; gap: 10px; }
.lm-mobile-logo{ display:flex; align-items:center; gap:10px; text-decoration:none; color: var(--lm-text); min-width: 0; }
.lm-mobile-logo img{ height: 40px; width:auto; display:block; }
.lm-mobile-logo .lm-text-logo{ font-size: 16px; }

.lm-burger{
  width: 46px; height: 44px;
  border-radius: 12px;
  border: 1px solid var(--lm-border);
  background: var(--lm-ghost);
  cursor: pointer;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px;
  flex: 0 0 auto;
}
.lm-burger span{ width: 22px; height: 2px; background: var(--lm-text); display:block; border-radius: 999px; transition: transform .18s ease, opacity .18s ease; }
.lm-burger.is-open span:nth-child(1){ transform: translateY(8px) rotate(45deg); }
.lm-burger.is-open span:nth-child(2){ opacity: 0; }
.lm-burger.is-open span:nth-child(3){ transform: translateY(-8px) rotate(-45deg); }

/* Mobile info */
.lm-mobile-info{ display:flex; flex-direction:column; gap: 8px; padding: 6px 0 10px; }
.lm-mobile-wa{
  display:flex; align-items:center; gap:10px; text-decoration:none; color: var(--lm-text);
  padding: 10px 12px; border-radius: 14px; background: var(--lm-ghost);
}
.lm-mobile-hours{
  display:flex; align-items:center; gap: 10px;
  padding: 10px 12px; border-radius: 14px; background: #fff; border:1px solid var(--lm-border);
  color: var(--lm-muted);
  flex-wrap: wrap;
}

/* Overlay + panel */
.lm-overlay{
  position: fixed; inset: 0;
  background: rgba(0,0,0,.45);
  opacity: 0;
  transition: opacity .18s ease;
  z-index: calc(var(--lm-z) + 10);
}
.lm-overlay.is-open{ opacity: 1; }

.lm-mobile{
  position: fixed;
  top: 0; right: 0;
  height: 100dvh;
  width: min(92vw, 380px);
  background: #fff;
  border-left: 1px solid var(--lm-border);
  box-shadow: var(--lm-shadow);
  transform: translateX(102%);
  transition: transform .20s ease;
  z-index: calc(var(--lm-z) + 20);
  display:flex;
  flex-direction:column;
}
.lm-mobile.is-open{ transform: translateX(0); }

.lm-m-head{
  display:flex; align-items:center; justify-content:space-between;
  padding: 16px;
  border-bottom: 1px solid var(--lm-border);
  gap: 12px;
}
.lm-m-head-left{ display:flex; align-items:center; gap: 12px; min-width: 0; }
.lm-m-head-left img{ height: 36px; width:auto; display:block; }
.lm-m-title{ font-weight: 900; color: var(--lm-text); line-height: 1.1; }
.lm-m-subtitle2{ font-size: 12px; color: var(--lm-muted); font-weight: 700; }

.lm-m-close{
  width: 44px; height: 44px;
  border-radius: 12px;
  border: 1px solid var(--lm-border);
  background: var(--lm-ghost);
  cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  position: relative;
  flex: 0 0 auto;
}
.lm-m-close span{
  position:absolute;
  width: 20px; height: 2px;
  background: var(--lm-text);
  border-radius: 999px;
}
.lm-m-close span:first-child{ transform: rotate(45deg); }
.lm-m-close span:last-child{ transform: rotate(-45deg); }

.lm-m-body{ padding: 14px; overflow:auto; }
.lm-m-link{
  display:flex; align-items:center; justify-content:space-between;
  text-decoration:none;
  padding: 12px 12px;
  border-radius: 14px;
  color: var(--lm-text);
  font-weight: 900;
  border: 1px solid transparent;
}
.lm-m-link:hover{ background: var(--lm-ghost); }
.lm-m-cta{ background: var(--lm-primary); color: #fff; }
.lm-m-cta:hover{ opacity:.92; }

.lm-m-subbtn{
  width:100%;
  display:flex; align-items:center; justify-content:space-between;
  padding: 12px 12px;
  border-radius: 14px;
  border: 0;
  background: transparent;
  cursor:pointer;
  font-weight: 900;
  color: var(--lm-text);
}
.lm-m-subbtn:hover{ background: var(--lm-ghost); }
.lm-m-sub{ display:none; padding-left: 6px; margin-top: 6px; margin-bottom: 6px; }
.lm-m-sub.is-open{ display:block; }
.lm-m-sub .lm-m-link{ font-weight: 800; }

.lm-m-actions{ display:flex; gap: 10px; margin-top: 14px; flex-wrap: wrap; }
.lm-m-actions .lm-btn{ flex: 1 1 140px; }

/* Desktop breakpoint */
@media (min-width: 980px){
  .lm-topbar-desktop{ display:block; }
  .lm-mobile-bar{ display:none; }
  .lm-mobile-info{ display:none; }
  .lm-desktop-left, .lm-desktop-right{ display:flex; }
  .lm-logo{ display:flex; }
  .lm-nav-inner{ padding: 12px 0; }
}

/* Ajuste extra en móviles muy pequeños */
@media (max-width: 420px){
  .lm-mobile-wa, .lm-mobile-hours{ font-size: 14px; }
  .lm-mobile-logo .lm-text-logo{ font-size: 15px; }
}

/* Seguridad: ocultar cualquier link de presupuesto si existe por accidente */
a.lm-link[href="#contacto"],
a.lm-m-link[href="#contacto"]{
  display:none !important;
}
/* =========================
   FIX: Hover botón primary + Burger visible
   (Pegar AL FINAL del style.css)
   ========================= */

/* 1) Que el hover NO “blanquee” el botón primary */
.lm-btn--primary{
  color:#fff !important;
  background: linear-gradient(135deg, var(--brand), #4f46e5) !important;
  border: 0 !important;
}
.lm-btn--primary:hover{
  /* mantenemos el degradado (no lo pisa .lm-btn:hover) */
  background: linear-gradient(135deg, var(--brand), #4f46e5) !important;
  color:#fff !important;
  opacity: .92;
}

/* aplica el hover “claro” SOLO a los que NO son primary */
.lm-btn:not(.lm-btn--primary):hover{
  background: rgba(255,255,255,.08) !important;
}

/* 2) Burger visible en móvil (tema oscuro) */
@media (max-width: 1024px){
  .lm-burger{
    border: 1px solid rgba(255,255,255,.18) !important;
    background: rgba(255,255,255,.08) !important;
  }
  .lm-burger span{
    background: #fff !important;
  }
}

/* 3) Evitar que el bloque “claro” del final te cambie el color del header */
:root{
  --lm-text: var(--text) !important;  /* usa tu color de texto real del tema */
}
/* =========================================
   FIX DEFINITIVO HEADER (DARK) + BOTONES
   Pegar AL FINAL del style.css
   ========================================= */

/* 1) Re-oscurece el header (tu style tiene un bloque final que lo pone blanco) */
:root{
  /* “lm-*” deben heredar tu tema oscuro real */
  --lm-bg: rgba(10,14,30,.62);
  --lm-text: var(--text);
  --lm-muted: var(--muted);
  --lm-border: rgba(255,255,255,.10);
  --lm-ghost: rgba(255,255,255,.04);
  --lm-ghost-hover: rgba(255,255,255,.08);
  --lm-primary: var(--brand);
}

/* Fuerza fondos oscuros aunque exista el bloque blanco del final */
.lm-pro-header{
  background: rgba(7,10,20,.92) !important;
  backdrop-filter: blur(12px) !important;
  border-bottom: 1px solid rgba(255,255,255,.10) !important;
}
.lm-topbar{
  background: rgba(10,14,30,.55) !important;
  border-bottom: 1px solid rgba(255,255,255,.10) !important;
}
.lm-nav{
  background: rgba(10,14,30,.62) !important;
  border-bottom: 1px solid rgba(255,255,255,.10) !important;
}

/* Texto en topbar/nav (por si el bloque blanco lo cambia) */
.lm-top-wa, .lm-top-hours, .lm-link, .lm-dd-btn,
.lm-btn, .lm-mobile-wa, .lm-mobile-hours{
  color: var(--text) !important;
}

/* 2) FIX: hover del botón primary (Llamar) -> NO se vuelve blanco */
.lm-btn{
  border: 1px solid rgba(255,255,255,.14) !important;
  background: rgba(255,255,255,.04) !important;
  color: var(--text) !important;
}

/* Hover SOLO para los NO primary */
.lm-btn:not(.lm-btn--primary):hover{
  background: rgba(255,255,255,.08) !important;
  transform: translateY(-1px);
}

/* Primary siempre con degradado y texto blanco */
.lm-btn--primary{
  border: none !important;
  background: linear-gradient(135deg, var(--brand), #4f46e5) !important;
  color: #fff !important;
  box-shadow: 0 12px 30px rgba(124,58,237,.35) !important;
}
.lm-btn--primary:hover{
  background: linear-gradient(135deg, var(--brand), #4f46e5) !important; /* mantiene */
  color: #fff !important;
  opacity: .92;
}

/* 3) FIX: hamburguesa visible (y las 3 rayas) */
.lm-burger{
  border: 1px solid rgba(255,255,255,.14) !important;
  background: rgba(255,255,255,.06) !important;
}
.lm-burger span{
  background: #fff !important;
}

/* 4) Dropdown oscuro (por si el bloque blanco lo pone claro) */
.lm-dd-menu{
  background: rgba(10,14,30,.96) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
}
.lm-dd-menu a{
  color: var(--text) !important;
}
.lm-dd-menu a:hover{
  background: rgba(255,255,255,.07) !important;
}

/* 5) Panel móvil oscuro (por si el bloque blanco lo cambia) */
.lm-mobile{
  background: #0b1220 !important;
  border-left: 1px solid rgba(255,255,255,.12) !important;
}
.lm-m-link, .lm-m-subbtn{
  color: var(--text) !important;
}
.lm-m-close span{
  background: #fff !important;
}
/* =========================
   FIX PILL ABIERTO/CERRADO
   (Pegar AL FINAL del style.css)
   ========================= */

/* Base pill (oscuro) */
.lm-pill.lm-status-pill{
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  color: #fff !important;
  font-weight: 900;
  letter-spacing: .02em;
}

/* Estado ABIERTO */
.lm-pill.lm-status-pill:not(.is-closed){
  background: rgba(34,197,94,.16) !important;   /* verde suave */
  border-color: rgba(34,197,94,.35) !important;
  color: #eafff2 !important;
}

/* Estado CERRADO */
.lm-pill.lm-status-pill.is-closed{
  background: rgba(239,68,68,.16) !important;   /* rojo suave */
  border-color: rgba(239,68,68,.35) !important;
  color: #ffecec !important;
}

/* Por si algún CSS global mete opacidad */
.lm-status-pill{
  opacity: 1 !important;
}
/* FIX: respeta el atributo hidden del lightbox */
.ab-lightbox[hidden]{ 
  display: none !important; 
}
/* ================================
   AJUSTE DE ESPACIADO ENTRE SECCIONES
   ================================ */

/* Base: antes seguramente era 96px o más */
.section{
  padding-top: 56px;
  padding-bottom: 56px;
}

/* Secciones alternativas oscuras */
.section--alt,
.section--bg-work{
  padding-top: 52px;
  padding-bottom: 52px;
}

/* En móvil todavía más compacto */
@media (max-width: 768px){
  .section{
    padding-top: 42px;
    padding-bottom: 42px;
  }

  .section--alt,
  .section--bg-work{
    padding-top: 38px;
    padding-bottom: 38px;
  }
}
/* Secciones compactas (CTA, FAQ, calendario) */
.section.is-compact{
  padding-top: 36px;
  padding-bottom: 36px;
}

@media (max-width: 768px){
  .section.is-compact{
    padding-top: 28px;
    padding-bottom: 28px;
  }
}
/* =====================================
   FIX GLOBAL: ESPACIO ENTRE SECCIONES
   ===================================== */

/* Base: reduce el padding general */
.section{
  padding-top: 48px;
  padding-bottom: 48px;
}

/* Variantes oscuras */
.section--alt,
.section--bg-work{
  padding-top: 44px;
  padding-bottom: 44px;
}

/* Evita secciones gigantes por herencia */
.section,
.section > .container{
  min-height: unset !important;
}

/* Quita centrado vertical accidental */
.section .container{
  align-items: flex-start;
}

/* -------------------------------------
   CTA INTERMEDIO (¿Quieres tu sofá limpio?)
   ------------------------------------- */
.section.cta-final,
.section#cta,
.section#contacto{
  padding-top: 36px;
  padding-bottom: 36px;
}

/* -------------------------------------
   FAQ / PREGUNTAS FRECUENTES
   ------------------------------------- */
.section#faq{
  padding-top: 40px;
  padding-bottom: 40px;
}

/* -------------------------------------
   CÓMO TRABAJAMOS
   ------------------------------------- */
.section#como{
  padding-top: 42px;
  padding-bottom: 42px;
}

/* -------------------------------------
   FOOTER
   ------------------------------------- */
footer,
.section.footer{
  padding-top: 32px;
  padding-bottom: 32px;
}

/* =====================================
   MOBILE: aún más compacto
   ===================================== */
@media (max-width: 768px){
  .section{
    padding-top: 34px;
    padding-bottom: 34px;
  }

  .section--alt,
  .section--bg-work{
    padding-top: 30px;
    padding-bottom: 30px;
  }

  .section#faq,
  .section#como{
    padding-top: 32px;
    padding-bottom: 32px;
  }

  footer{
    padding-top: 26px;
    padding-bottom: 26px;
  }
}
/* =====================================
   CTA CON IMAGEN DE FONDO EN HOVER
   ===================================== */

.cta-hover-bg{
  position: relative;
  overflow: hidden;
}

/* Imagen de fondo */
.cta-hover-bg::before{
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("/assets/img/cta/sofa-hover.jpg");
  background-size: cover;
  background-position: center;
  opacity: 0;
  transform: scale(1.05);
  transition: opacity .45s ease, transform .6s ease;
  z-index: 0;
}

/* Overlay oscuro para legibilidad */
.cta-hover-bg::after{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(0,0,0,.65),
    rgba(0,0,0,.75)
  );
  opacity: 0;
  transition: opacity .45s ease;
  z-index: 1;
}

/* Contenido siempre delante */
.cta-hover-bg > .container{
  position: relative;
  z-index: 2;
}

/* Hover */
.cta-hover-bg:hover::before{
  opacity: 1;
  transform: scale(1);
}

.cta-hover-bg:hover::after{
  opacity: 1;
}

/* En móvil: sin hover (mejor UX) */
@media (max-width: 768px){
  .cta-hover-bg::before,
  .cta-hover-bg::after{
    display: none;
  }
}
.footer {
  text-align: center;
}

.footer-links {
  display: flex;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}

.footer p {
  margin: 0;
}
/* ===== BOTONES CORPORATIVOS ===== */

:root{
  --brand-lila: #7c3aed;
  --brand-lila-dark: #5b21b6;
}

button,
.btn,
input[type="submit"],
a.btn {
  background: var(--brand-lila);
  color: #ffffff;
  border: none;
  padding: 12px 20px;
  border-radius: 10px;
  font-weight: 600;
  cursor: pointer;
  transition: all .2s ease;
  box-shadow: 0 6px 18px rgba(124,58,237,.25);
}

button:hover,
.btn:hover,
input[type="submit"]:hover,
a.btn:hover {
  background: var(--brand-lila-dark);
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(124,58,237,.35);
}