/* conversemos.css — propio de /conversemos/: agenda, formulario y contacto */

/* Conversemos usa el mismo hero editorial y el mismo remate vertical de las secciones principales. */
@media (min-width:641px) {
  body[data-section="conversemos"] .editorial-hero { min-height:696px; }
}

/* Indicadores de los tres actos principales de Conversemos: token editorial compartido. */
.agenda-copy > .kicker,
.formulario-desafio > .container > .kicker,
.conversemos-contacto > .container > .kicker {
  color:var(--cyan);
  font-size:var(--section-indicator-size);
  font-weight:600;
  line-height:var(--section-indicator-leading);
  letter-spacing:var(--section-indicator-tracking);
  text-transform:uppercase;
}

/* Agenda — enlace directo a Google Calendar en una pestaña nueva. */
.agenda-reunion { background:rgba(255,255,255,.018); border-block:1px solid rgba(255,255,255,.08); }
.agenda-layout { display:grid; grid-template-columns:minmax(0,.72fr) minmax(520px,1.28fr); gap:clamp(3rem,7vw,7rem); align-items:start; }
.agenda-copy { position:sticky; top:110px; }
.agenda-copy h2 { max-width:14ch; margin:.7rem 0 1.3rem; }
.agenda-copy>p:last-of-type { color:var(--muted); line-height:1.75; }
.agenda-copy ul { display:grid; gap:.75rem; margin-top:2rem; list-style:none; }
.agenda-copy li { position:relative; padding-left:1.5rem; color:var(--white); }
.agenda-copy li::before { content:'+'; position:absolute; left:0; color:var(--magenta); font-weight:800; }
.agenda-card { padding:clamp(1.6rem,3vw,2.7rem); border:1px solid rgba(255,255,255,.13); border-radius:20px; background:radial-gradient(circle at 92% 10%,rgba(221,0,127,.12),transparent 35%),linear-gradient(145deg,#171a38,#10132d); }
.agenda-card-head { margin-bottom:2rem; }
.agenda-card-head .kicker { color:var(--cyan); font-size:.75rem; letter-spacing:.14em; }
.agenda-card-head h3 { margin:.75rem 0 .8rem; color:var(--white); font-size:clamp(1.7rem,3vw,2.5rem); font-weight:500; line-height:1.15; }
.agenda-card-head p:last-child { max-width:48ch; color:var(--muted); font-size:.95rem; line-height:1.65; }
.agenda-booking-button { display:inline-flex; align-items:center; justify-content:center; gap:1rem; min-height:56px; border-radius:28px; }
.agenda-booking-button span { font-size:1.2rem; line-height:1; }
.agenda-booking-button:focus-visible { outline:2px solid var(--cyan); outline-offset:4px; }
.agenda-new-tab { margin:.75rem 0 0; color:var(--muted); font-size:.76rem; }
.agenda-presencial { margin-top:2.4rem; padding-top:1.5rem; border-top:1px solid rgba(255,255,255,.15); }
.agenda-presencial-title { margin:0 0 .35rem; color:rgba(255,255,255,.75); font-size:.88rem; font-weight:500; }
.agenda-presencial p:not(.agenda-presencial-title) { max-width:48ch; margin:0; color:var(--muted); font-size:.8rem; line-height:1.6; }
.agenda-presencial-link { color:var(--cyan); font-weight:500; text-decoration:none; }
.agenda-presencial-link:hover,.agenda-presencial-link:focus-visible { text-decoration:underline; text-underline-offset:4px; }

@media(max-width:900px){.agenda-layout{grid-template-columns:1fr}.agenda-copy{position:static}.agenda-copy h2{max-width:20ch}}
@media(max-width:560px){.agenda-card{padding:1.5rem}.agenda-booking-button{width:100%}}

/* Formulario — Tarea 2 */
.formulario-desafio { --form-error:#FF6B6B; }
.formulario-desafio h2 { max-width:20ch; margin:.7rem 0 1.1rem; }
.formulario-intro { max-width:58ch; color:var(--muted); line-height:1.7; margin-bottom:clamp(2rem,4vw,2.8rem); }

.formulario-form { max-width:760px; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.4rem; }
.form-field-full { grid-column:1 / -1; }
.form-field { display:flex; flex-direction:column; gap:.5rem; }
.form-field label { font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; color:var(--muted); }
.form-field input, .form-field textarea {
  width:100%; padding:.9rem 1rem; border-radius:10px; border:1px solid rgba(255,255,255,.18);
  background:var(--bg-deep); color:var(--white); font:inherit; }
.form-field textarea { resize:vertical; min-height:120px; }
.form-field input:focus-visible, .form-field textarea:focus-visible {
  outline:2px solid var(--cyan); outline-offset:2px; border-color:var(--cyan); }
.form-field input[aria-invalid="true"], .form-field textarea[aria-invalid="true"] { border-color:var(--form-error); }
.form-error { color:var(--form-error); font-size:.78rem; line-height:1.5; }
.form-error[hidden] { display:none; }
.formulario-form .btn-primario { margin-top:1.8rem; border:0; cursor:pointer; font:inherit; font-size:1rem; }

.form-success { max-width:640px; margin-top:1rem; padding:clamp(1.6rem,3vw,2.2rem);
  border:1px solid rgba(82,206,191,.35); border-radius:18px;
  background:linear-gradient(145deg,rgba(30,36,64,.7),rgba(19,22,50,.5)); }
.form-success:focus-visible, .form-success:focus { outline:2px solid var(--cyan); outline-offset:4px; }
.form-success h3 { font-size:clamp(1.5rem,3vw,2rem); margin-bottom:.9rem; }
.form-success p { color:var(--muted); line-height:1.7; }
.form-success p a { color:var(--cyan); }
.form-success-reset { display:block; margin-top:1.4rem; border:0; background:none; color:var(--cyan);
  cursor:pointer; font:inherit; text-decoration:underline; text-underline-offset:4px; }

@media (max-width:700px) { .form-grid { grid-template-columns:1fr; } .form-field-full { grid-column:auto; } }

.conversemos-contacto { display:block; padding:clamp(5.5rem,11vw,10rem) 0 clamp(5rem,9vw,8rem); }
.contacto-head { display:grid; grid-template-columns:minmax(300px,.4fr) minmax(0,1fr); gap:2.4rem;
  align-items:start; padding-bottom:clamp(3rem,6vw,5.5rem); border-bottom:1px solid rgba(255,255,255,.18); }
.contacto-head > .kicker { grid-column:1; grid-row:1; margin:-4.75rem 0 0; color:var(--cyan);
  font-size:var(--section-indicator-size); font-weight:600; line-height:var(--section-indicator-leading);
  letter-spacing:var(--section-indicator-tracking); text-transform:uppercase; white-space:nowrap; }
.contacto-head > h2 { grid-column:2; grid-row:1; max-width:12ch; margin:0; font-size:clamp(2.6rem,5.5vw,5.8rem);
  font-weight:400; line-height:.98; letter-spacing:-.06em; }
.contacto-head .split-scroll-word { display:inline-block; white-space:nowrap; }
.contacto-head .split-scroll-char { display:inline-block; will-change:transform,opacity; }

.contacto-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; margin:0;
  padding:clamp(2rem,4vw,3.3rem) 0; border-bottom:1px solid rgba(255,255,255,.18); }
.contacto-grid .contacto-item { min-height:0; padding:0 clamp(1.2rem,2.4vw,2.7rem); border:0; border-radius:0; background:none; }
.contacto-grid .contacto-item:first-child { padding-left:0; }
.contacto-grid .contacto-item + .contacto-item { border-left:1px solid rgba(255,255,255,.14); }
.contacto-grid .contacto-item .kicker { margin:0 0 1.2rem; color:rgba(255,255,255,.58); font-size:.58rem; letter-spacing:.18em; }
.contacto-valor { display:inline-block; color:var(--white); font-size:clamp(.94rem,1.25vw,1.15rem); font-weight:400;
  line-height:1.35; text-decoration:none; word-break:break-word; }
.contacto-item:first-child .contacto-valor { font-size:clamp(.98rem,1.12vw,1.08rem); letter-spacing:-.02em; }
.contacto-valor:hover, .contacto-valor:focus-visible { color:var(--cyan); }
.contacto-item address { color:var(--white); font-size:clamp(.88rem,1.15vw,1.05rem); font-style:normal; line-height:1.45; }
.contacto-social { display:flex; gap:.72rem; margin-top:.1rem; }
.contacto-social a { display:grid; width:3rem; height:3rem; place-items:center; border:0; border-radius:50%;
  color:var(--white); background:#27283b; text-decoration:none; transition:background-color .2s ease,color .2s ease; }
.contacto-social a svg { width:1.15rem; height:1.15rem; fill:currentColor; }
.contacto-social a:last-child svg { fill:none; stroke:currentColor; stroke-width:3; }
.contacto-social a:hover, .contacto-social a:focus-visible { color:var(--white); background:var(--magenta); transform:none; }
.contacto-social a:focus-visible { outline:2px solid var(--cyan); outline-offset:3px; }

.contacto-nota { position:relative; display:grid; grid-template-columns:minmax(260px,.42fr) minmax(0,1fr);
  gap:clamp(2.5rem,3vw,3rem); max-width:none; margin:0; padding:clamp(2rem,4vw,3.3rem) 0 0;
  border:0; border-radius:0; background:none; }
.contacto-nota .kicker { margin:.35rem 0 0; color:var(--magenta); font-size:var(--section-indicator-size);
  font-weight:600; line-height:var(--section-indicator-leading); letter-spacing:var(--section-indicator-tracking);
  text-transform:uppercase; }
.contacto-nota p:last-child { max-width:57ch; color:var(--white); font-size:clamp(1.05rem,1.65vw,1.45rem);
  font-weight:400; line-height:1.45; letter-spacing:-.025em; }
.contacto-arrow { position:absolute; z-index:1; top:2.8rem; left:clamp(7.3rem,10.1vw,9.25rem); width:12.4rem;
  height:6.8rem; overflow:visible; pointer-events:none; }
.contacto-arrow path { fill:none; stroke:var(--magenta); stroke-width:8; stroke-linecap:round; stroke-linejoin:round; }

@media (max-width:820px) {
  .contacto-head,.contacto-nota { grid-template-columns:1fr; gap:1.1rem; }
  .contacto-head > .kicker { grid-column:1; grid-row:1; margin:0; }
  .contacto-head > h2 { grid-column:1; grid-row:2; max-width:14ch; }
  .contacto-arrow { display:none; }
  .contacto-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem 0; }
  .contacto-grid .contacto-item:nth-child(3) { padding-left:0; border-left:0; }
}
@media (max-width:560px) {
  .conversemos-contacto { padding:5rem 0; }
  .contacto-grid { grid-template-columns:1fr; gap:1.7rem; }
  .contacto-grid .contacto-item { padding:1.7rem 0 0; }
  .contacto-grid .contacto-item + .contacto-item { border-top:1px solid rgba(255,255,255,.14); border-left:0; }
  .contacto-grid .contacto-item .kicker { margin-bottom:.75rem; }
  .contacto-social { gap:.8rem; }
  .contacto-nota { padding-top:2rem; }
}

/* El formulario de contacto solo confirma después de la respuesta del servidor. */
.formulario-desafio [hidden] { display:none!important; }
.form-submit-error { margin-top:1.2rem; color:var(--form-error); font-size:.85rem; line-height:1.55; }
.formulario-form .btn-primario:disabled { opacity:.65; cursor:wait; }
.formulario-form [readonly] { opacity:.75; }
