.ct-contacto{--teal:#1070b7;--teal-deep:#0c5589;--paper:#fbf8f2;--ink:#141212;--muted:#6b7280;--line:#e7e0d4;--display:'Roboto',sans-serif;--body:'Roboto',sans-serif;background:var(--paper);color:var(--ink);font-family:var(--body);line-height:1.6}
.ct-contacto .wrap{max-width:1280px;margin:0 auto;padding:0 32px}
.ct-contacto h1,.ct-contacto h2,.ct-contacto h3,.ct-contacto p,.ct-contacto label,.ct-contacto li{color:var(--ink)}
.ct-contacto h1,.ct-contacto h2,.ct-contacto h3{-webkit-hyphens:none;hyphens:none}

/* Pagehero */
.ct-contacto .pagehero{padding:70px 0 10px}
.ct-contacto .pagehero .k{display:inline-flex;align-items:center;gap:12px;color:var(--teal);font-weight:600;font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:18px}
.ct-contacto .pagehero .k::before{content:'';width:34px;height:1px;background:var(--teal)}
.ct-contacto .pagehero h1{font-family:var(--display);font-weight:340;font-size:clamp(2.4rem,5.4vw,3.9rem);line-height:1.02;letter-spacing:-.025em;margin:0 0 16px}
.ct-contacto .pagehero h1 em{font-style:italic;color:var(--teal)}
.ct-contacto .pagehero .lead{font-size:1.05rem;color:var(--muted);max-width:620px}

/* Layout */
.ct-contacto .csec{padding:34px 0 92px}
.ct-contacto .cgrid{display:grid;grid-template-columns:1.25fr .75fr;gap:44px;align-items:start}
.ct-contacto .cform{background:#fff;border:1px solid var(--line);border-radius:20px;padding:38px}
.ct-contacto .cform h3,.ct-contacto .cinfo h3{font-family:var(--display);font-weight:500;font-size:1.35rem;margin:0 0 24px}

/* Contact Form 7 re-estilado */
.ct-contacto .cform label{display:block;margin-bottom:16px;font-size:.9rem;color:var(--muted);font-weight:500}
.ct-contacto .cform input.wpcf7-text,.ct-contacto .cform input.wpcf7-email,.ct-contacto .cform textarea.wpcf7-textarea{width:100%;margin-top:7px;border:1px solid var(--line);border-radius:12px;padding:13px 16px;font-family:var(--body);font-size:.95rem;background:var(--paper);color:var(--ink);transition:.2s;box-sizing:border-box}
.ct-contacto .cform textarea.wpcf7-textarea{min-height:130px;resize:vertical}
.ct-contacto .cform input:focus,.ct-contacto .cform textarea:focus{outline:none;border-color:var(--teal);background:#fff}
.ct-contacto .cform .wpcf7-acceptance{display:block;margin:4px 0 22px;font-size:.85rem;color:var(--muted)}
.ct-contacto .cform .wpcf7-acceptance .wpcf7-list-item{margin:0}
.ct-contacto .cform .wpcf7-acceptance a{color:var(--teal)}
.ct-contacto .cform .wpcf7-submit{background:var(--teal);color:#fff;border:none;border-radius:44px;padding:14px 42px;font-family:var(--body);font-weight:600;font-size:.98rem;cursor:pointer;transition:.2s}
.ct-contacto .cform .wpcf7-submit:hover{background:var(--teal-deep)}
.ct-contacto .cform .wpcf7-spinner{margin:14px auto}
.ct-contacto .cform .wpcf7-response-output{border-radius:10px;margin:18px 0 0;padding:12px 16px;font-size:.9rem}

/* Tarjeta de contacto */
.ct-contacto .cinfo{background:var(--teal);color:#fff;border-radius:20px;padding:38px}
.ct-contacto .cinfo h3{color:#fff}
.ct-contacto .cinfo .citem{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.15);color:#fff;text-decoration:none;transition:.2s}
.ct-contacto .cinfo .citem:hover{opacity:.85}
.ct-contacto .cinfo .citem .ic{width:44px;height:44px;flex:0 0 44px;border-radius:12px;background:rgba(255,255,255,.14);display:grid;place-items:center;color:#fff}
.ct-contacto .cinfo .citem b{display:block;font-weight:600;font-size:.98rem}
.ct-contacto .cinfo .citem span{font-size:.86rem;color:rgba(255,255,255,.8)}
.ct-contacto .cinfo .csoc{display:flex;gap:12px;margin-top:26px}
.ct-contacto .cinfo .csoc a{width:42px;height:42px;border:1px solid rgba(255,255,255,.2);border-radius:50%;display:grid;place-items:center;color:#fff;transition:.2s}
.ct-contacto .cinfo .csoc a:hover{background:#fff;color:var(--teal)}

/* Reveal a prueba de fallos */
.ct-contacto .reveal{opacity:1;transform:none}

@media(max-width:860px){
  .ct-contacto .cgrid{grid-template-columns:1fr;gap:28px}
  .ct-contacto .wrap{padding:0 18px}
  .ct-contacto .cform,.ct-contacto .cinfo{padding:28px}
}

/* ===== Overrides robustos de Contact Form 7 (vencer estilos del tema) ===== */
.ct-contacto .cform input[type=text],
.ct-contacto .cform input[type=email],
.ct-contacto .cform input[type=tel],
.ct-contacto .cform input.wpcf7-form-control:not([type=submit]):not([type=checkbox]),
.ct-contacto .cform textarea{
  width:100%!important;margin-top:7px!important;border:1px solid var(--line)!important;border-radius:12px!important;
  padding:13px 16px!important;background:#fff!important;color:var(--ink)!important;-webkit-text-fill-color:var(--ink)!important;
  font-family:var(--body)!important;font-size:.95rem!important;box-sizing:border-box!important;line-height:1.5!important
}
.ct-contacto .cform textarea{min-height:130px!important;resize:vertical!important}
.ct-contacto .cform input:focus,.ct-contacto .cform textarea:focus{outline:none!important;border-color:var(--teal)!important}
.ct-contacto .cform input::placeholder,.ct-contacto .cform textarea::placeholder{color:var(--muted)!important;-webkit-text-fill-color:var(--muted)!important;opacity:1}
.ct-contacto .cform input[type=submit],
.ct-contacto .cform .wpcf7-submit{
  background:var(--teal)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border:none!important;
  border-radius:44px!important;padding:14px 42px!important;width:auto!important;display:inline-block!important;
  font-family:var(--body)!important;font-weight:600!important;font-size:.98rem!important;cursor:pointer!important;opacity:1!important;text-shadow:none!important
}
.ct-contacto .cform input[type=submit]:hover,.ct-contacto .cform .wpcf7-submit:hover{background:var(--teal-deep)!important}
.ct-contacto .cform .wpcf7-acceptance,.ct-contacto .cform .wpcf7-acceptance *{color:var(--muted)!important;-webkit-text-fill-color:var(--muted)!important}
.ct-contacto .cform .wpcf7-acceptance a{color:var(--teal)!important;-webkit-text-fill-color:var(--teal)!important}

/* Columna derecha (tarjeta contacto + protección de datos) */
.ct-contacto .ccol{display:flex;flex-direction:column;gap:24px}
.ct-contacto .cgdpr{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px 26px;font-size:.82rem;color:var(--muted)}
.ct-contacto .cgdpr h4{font-family:var(--display);font-weight:500;font-size:1rem;color:var(--ink);margin:0 0 14px}
.ct-contacto .cgdpr ul{list-style:none;margin:0;padding:0}
.ct-contacto .cgdpr li{margin-bottom:9px;line-height:1.55}
.ct-contacto .cgdpr li b{color:var(--ink);font-weight:600}
.ct-contacto .cgdpr a{color:var(--teal);text-decoration:underline}

/* Kicker sin línea decorativa */
.ct-contacto .k::before{display:none!important}
