@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,900;1,400&display=swap');
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&display=swap');
/* Lara · página de contacto */
body #lp-contact { --navy:#001224; --red:#E20F1F; --red-dk:#B50D1A; --ink:#1a2330; --mute:#5d6673; --line:#e3e6ea; --soft:#f4f5f7; --ok:#1e8e3e;
  --ff-d:'Playfair Display', Georgia, serif; --ff-b:'DM Sans', system-ui, sans-serif; --ease:cubic-bezier(.16,1,.3,1);
  font-family:var(--ff-b); color:var(--ink); width:100%; min-width:0; }
body #lp-contact *, body #lp-contact *::before, body #lp-contact *::after { box-sizing:border-box; text-transform:none; }
body #lp-contact h1, body #lp-contact h2, body #lp-contact h3, body #lp-contact p, body #lp-contact ul, body #lp-contact ol { margin:0; padding:0; }
body #lp-contact ul { list-style:none; }
body #lp-contact a { color:inherit; text-decoration:none; }
body #lp-contact .lc-wrap { max-width:1240px; margin:0 auto; padding:0 clamp(16px,4vw,40px); }
body #lp-contact .lc-kicker { font:600 12px/1 var(--ff-b); letter-spacing:.16em; text-transform:uppercase; color:var(--red); }
body #lp-contact .dot { color:var(--red); }
body #lp-contact svg { width:18px; height:18px; flex:none; }

/* ── Bloque 1: datos + formulario ── */
body #lp-contact .lc-top { background:var(--soft); padding:clamp(40px,6vw,80px) 0 clamp(48px,6vw,88px); }
body #lp-contact .lc-grid { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:clamp(32px,5vw,72px); align-items:start; }
body #lp-contact h1 { margin-top:14px; font:900 clamp(34px,4.2vw,54px)/1.04 var(--ff-d); letter-spacing:-.02em; color:var(--navy); text-wrap:balance; }
body #lp-contact h1 em, body #lp-contact h2 em { font-weight:400; font-style:italic; }
body #lp-contact .lc-lead { margin-top:16px; font-size:17px; line-height:1.6; color:var(--mute); max-width:44ch; }
body #lp-contact .lc-status { display:inline-flex; align-items:center; gap:10px; margin-top:26px; padding:8px 14px 8px 12px; border-radius:999px; background:#fff; box-shadow:0 1px 0 var(--line), 0 6px 16px -10px rgba(0,18,36,.25); font-size:14px; font-weight:600; color:var(--navy); }
body #lp-contact .lc-status i { width:9px; height:9px; border-radius:50%; background:#9aa3ad; position:relative; }
body #lp-contact .lc-status.is-open i { background:var(--ok); }
body #lp-contact .lc-status.is-open i::after { content:""; position:absolute; inset:-4px; border-radius:50%; border:2px solid var(--ok); opacity:.5; animation:lc-pulse 2.2s var(--ease) infinite; }
body #lp-contact .lc-status span { font-weight:400; color:var(--mute); }
@keyframes lc-pulse { 0% { transform:scale(.6); opacity:.6 } 100% { transform:scale(1.8); opacity:0 } }

body #lp-contact .lc-list { margin-top:30px; border-top:1px solid var(--line); }
body #lp-contact .lc-list li { display:grid; grid-template-columns:40px minmax(0,1fr); gap:14px; align-items:start; padding:18px 0; border-bottom:1px solid var(--line); }
body #lp-contact .lc-ico { width:40px; height:40px; border-radius:12px; background:#fff; display:grid; place-items:center; color:var(--navy); box-shadow:0 1px 0 var(--line); }
body #lp-contact .lc-list small { display:block; font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--mute); }
body #lp-contact .lc-list .v { display:block; margin-top:4px; font-size:16px; font-weight:600; color:var(--navy); line-height:1.4; }
body #lp-contact .lc-list a.v { transition:color .2s; }
body #lp-contact .lc-list a.v:hover { color:var(--red); }
body #lp-contact .lc-list .s { display:block; margin-top:3px; font-size:14px; color:var(--mute); }
body #lp-contact .lc-list .s a { color:var(--navy); font-weight:600; border-bottom:1px solid rgba(0,18,36,.25); }

body #lp-contact .lc-panel { background:#fff; border-radius:22px; padding:clamp(24px,3.4vw,44px); box-shadow:0 1px 0 var(--line), 0 30px 60px -30px rgba(0,18,36,.28); }
body #lp-contact .lc-panel h2 { font:900 clamp(24px,2.2vw,30px)/1.15 var(--ff-d); color:var(--navy); letter-spacing:-.01em; }
body #lp-contact .lc-panel > p { margin-top:8px; color:var(--mute); font-size:15px; line-height:1.55; }

/* ── Formulario (plugin lara-formulario-contacto) ── */
body #lp-contact #lara-form-wrap { --lara-negro:#001224; --lara-rojo:#E20F1F; --lara-rojo-h:#B50D1A; --lara-gris-bd:#d9dde3; --lara-input-h:48px; --lara-radio:10px;
  font-family:var(--ff-b); padding:8px 0 0; max-width:none; margin:0; background:transparent; }
body #lp-contact #lara-form-wrap .lara-row { gap:0 16px; }
body #lp-contact #lara-form-wrap .lara-label { margin:16px 0 6px; font:600 14px/1.3 var(--ff-b); letter-spacing:0; text-transform:none; color:var(--navy); }
body #lp-contact #lara-form-wrap .lara-input, body #lp-contact #lara-form-wrap .lara-select, body #lp-contact #lara-form-wrap .lara-textarea { font-family:var(--ff-b); font-size:15px; background:#fff; border:1.5px solid #d9dde3; border-radius:10px; box-shadow:none; color:var(--navy); margin:0; min-height:0; }
body #lp-contact #lara-form-wrap .lara-input, body #lp-contact #lara-form-wrap .lara-select { height:48px; padding:0 16px; }
body #lp-contact #lara-form-wrap .lara-select { padding-right:40px; }
body #lp-contact #lara-form-wrap .lara-input:hover, body #lp-contact #lara-form-wrap .lara-select:hover, body #lp-contact #lara-form-wrap .lara-textarea:hover { border-color:#bfc5cd; }
body #lp-contact #lara-form-wrap .lara-input.error, body #lp-contact #lara-form-wrap .lara-select.error, body #lp-contact #lara-form-wrap .lara-textarea.error { border-color:var(--red); box-shadow:0 0 0 4px rgba(226,15,31,.08); }
body #lp-contact #lara-form-wrap .lara-input:focus, body #lp-contact #lara-form-wrap .lara-select:focus, body #lp-contact #lara-form-wrap .lara-textarea:focus { border-color:var(--navy); box-shadow:0 0 0 4px rgba(0,18,36,.08); }
body #lp-contact #lara-form-wrap .lara-textarea { height:130px; }
body #lp-contact #lara-form-wrap .lara-privacidad { margin:20px 0 16px; font-size:14px; }
body #lp-contact #lara-form-wrap .lara-privacidad a { color:var(--navy); }
body #lp-contact #lara-form-wrap .lara-captcha-wrap { margin-bottom:16px; }
body #lp-contact #lara-form-wrap .lara-btn { height:52px; border-radius:10px; font:600 16px/1 var(--ff-b); letter-spacing:0; text-transform:none; background:var(--red); box-shadow:0 12px 24px -12px rgba(226,15,31,.6); transition:background .2s, transform .2s var(--ease); }
body #lp-contact #lara-form-wrap .lara-btn:hover { background:var(--red-dk); }
body #lp-contact #lara-form-wrap .lara-btn:active { transform:scale(.98); }
body #lp-contact #lara-form-wrap .lara-proteccion { margin-top:18px; padding:14px 16px; border-radius:12px; background:var(--soft); border:0; font-size:12px; line-height:1.55; }
body #lp-contact #lara-form-wrap .lara-proteccion * { font-size:12px; }
body #lp-contact #lara-form-wrap .lara-proteccion.lc-short ul > li:nth-child(n+3), body #lp-contact #lara-form-wrap .lara-proteccion.lc-short ol > li:nth-child(n+3) { display:none; }
body #lp-contact .lc-more { margin-top:6px; padding:0; border:0; background:none; font:600 12px/1.4 var(--ff-b); color:var(--navy); text-decoration:underline; text-underline-offset:2px; cursor:pointer; }
body #lp-contact .lc-visit { padding-top:clamp(56px,7vw,96px); }

/* ── Bloque 2: visita ── */
body #lp-contact .lc-visit { padding:clamp(24px,4vw,56px) 0 clamp(56px,7vw,96px); }
body #lp-contact .lc-visit .card { display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); border-radius:22px; overflow:hidden; background:var(--navy); color:#fff; }
body #lp-contact .lc-map { position:relative; min-height:340px; background:#0b2a45; }
body #lp-contact .lc-map img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.55; }
body #lp-contact .lc-map iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
body #lp-contact .lc-map button { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); display:inline-flex; align-items:center; gap:10px; height:48px; padding:0 22px; border:0; border-radius:999px; background:#fff; color:var(--navy); font:600 15px/1 var(--ff-b); cursor:pointer; box-shadow:0 18px 40px -12px rgba(0,0,0,.5); transition:transform .25s var(--ease); }
body #lp-contact .lc-map button:hover { transform:translate(-50%,-50%) scale(1.04); }
body #lp-contact .lc-map button svg { color:var(--red); }
body #lp-contact .lc-visit .body { padding:clamp(28px,4vw,52px); display:flex; flex-direction:column; justify-content:center; }
body #lp-contact .lc-visit .lc-kicker { color:#ff8a93; }
body #lp-contact .lc-visit h2 { margin-top:10px; font:900 clamp(26px,2.6vw,36px)/1.1 var(--ff-d); color:#fff; letter-spacing:-.01em; }
body #lp-contact .lc-visit p { margin-top:12px; color:#b9c2cd; font-size:16px; line-height:1.6; max-width:40ch; }
body #lp-contact .lc-visit address { margin-top:18px; font-style:normal; font-size:15px; line-height:1.5; color:#e3e8ee; }
body #lp-contact .lc-btns { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
body #lp-contact .lc-btn { display:inline-flex; align-items:center; gap:10px; height:48px; padding:0 22px; border-radius:10px; font-weight:600; font-size:15px; transition:background .2s, border-color .2s, transform .2s var(--ease); }
body #lp-contact .lc-btn:active { transform:scale(.97); }
body #lp-contact .lc-btn--red { background:var(--red); color:#fff; }
body #lp-contact .lc-btn--red:hover { background:var(--red-dk); }
body #lp-contact .lc-btn--ghost { border:1.5px solid rgba(255,255,255,.3); color:#fff; }
body #lp-contact .lc-btn--ghost:hover { border-color:#fff; }

/* ── Bloque 3: atajos ── */
body #lp-contact .lc-links { padding:0 0 clamp(56px,7vw,96px); }
body #lp-contact .lc-links h2 { font:900 clamp(24px,2.4vw,32px)/1.15 var(--ff-d); color:var(--navy); letter-spacing:-.01em; }
body #lp-contact .lc-links ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 40px; margin-top:22px; border-top:1px solid var(--line); }
body #lp-contact .lc-links li a { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:16px; padding:20px 4px; border-bottom:1px solid var(--line); transition:padding .25s var(--ease); }
body #lp-contact .lc-links li a:hover { padding-left:10px; }
body #lp-contact .lc-links b { display:block; font-size:17px; color:var(--navy); }
body #lp-contact .lc-links li span { display:block; margin-top:3px; font-size:14px; color:var(--mute); }
body #lp-contact .lc-links svg { color:var(--red); transition:transform .25s var(--ease); }
body #lp-contact .lc-links li a:hover svg { transform:translateX(4px); }

@media (max-width: 960px) {
  body #lp-contact .lc-grid { grid-template-columns:1fr; }
  body #lp-contact .lc-top { background:var(--soft); }
  body #lp-contact .lc-visit .card { grid-template-columns:1fr; }
  body #lp-contact .lc-map { min-height:240px; }
}
@media (max-width: 600px) {
  body #lp-contact #lara-form-wrap .lara-row { grid-template-columns:1fr; }
  body #lp-contact .lc-links ul { grid-template-columns:1fr; }
  body #lp-contact .lc-btn { flex:1 1 auto; justify-content:center; }
}
@media (prefers-reduced-motion: reduce) { body #lp-contact * { animation:none !important; transition:none !important; } }
