/* ============================================================

   SECCIÓN CONTACTO

   ============================================================ */



.ctc {

padding: 0 60px 40px;

    background: #ffffff;

    padding-top: 90px;

    padding-bottom: 90px;

}



.ctc__inner {

  background: #971921;

  border-radius: 30px;

  padding: 32px 44px;

  display: grid;

  grid-template-columns: 2fr 1.2fr 2fr;

  align-items: center;

  gap: 0;

  min-height: 140px;

}



/* ---------- Izquierda: título ---------- */

.ctc__left {

  padding-right: 40px;



}



.ctc__title {

font-family: 'Geist-Regular';

    font-size: 40px;

    color: #fff;

    line-height: 1.3;

    margin: 0;

    font-weight: 100;

}



/* ---------- Centro: campos ---------- */

.ctc__fields {

  display: flex;

  flex-direction: column;

  gap: 0;

  padding: 0 32px;

}



.ctc__field {

  display: flex;

  align-items: center;

  gap: 10px;

  padding: 9px 0;

  border-bottom: 1px solid rgba(255,255,255,0.2);

}

.ctc__field:last-child { border-bottom: none; }



.ctc__label {

    font-family: 'Geist-Light';

    font-size: 16px;

    font-weight: 400;

    color: rgba(255, 255, 255, 0.85);

    width: 62px;

    flex-shrink: 0;

}



.ctc__input {

  background: transparent;

  border: none;

  outline: none;

font-family: 'Geist-Light';

  font-size: 16pxm;

  color: #fff;

  width: 100%;

}

.ctc__input::placeholder {     font-family: 'Geist-Light';

    font-size: 16px;

    color: rgba(255, 255, 255, 0.85);

    width: 62px;

    flex-shrink: 0; }



/* ---------- Derecha: textarea + botón ---------- */

.ctc__right {

  padding-left: 32px;

}



.ctc__textarea-wrap {

  position: relative;

}



.ctc__textarea {

  width: 100%;

  height: 110px;

  background: #fff;

  border: none;

  border-radius: 10px;

  padding: 12px 14px 40px;

  font-family: 'Geist-Light';

  font-size: 16px;

  color: #000;

  resize: none;

  outline: none;

  line-height: 1.5;

  display: block;

}

.ctc__textarea::placeholder { color: rgb(174, 174, 174); }



.ctc__submit {

  position: absolute;

  bottom: 10px;

  right: 10px;

  width: 32px;

  height: 32px;

  border-radius: 50%;

  background: #000;

  border: none;

  display: flex;

  align-items: center;

  justify-content: center;

  cursor: pointer;

  transition: transform 0.25s ease, background 0.25s ease;

}

.ctc__submit img {

  width: 16px;

  height: 16px;

  object-fit: contain;

  filter: brightness(0) invert(1);

}

.ctc__submit:hover {

  background: #333;

  transform: scale(1.1);

}



/* ---------- Responsive ---------- */

@media (max-width: 900px) {

  .ctc { padding: 0 20px 32px; }

  .ctc__inner {

    grid-template-columns: 1fr;

    gap: 24px;

    padding: 28px 24px;

  }

  .ctc__left        { padding-right: 0; border-right: none; border-bottom: 1px solid rgba(255,255,255,0.2); padding-bottom: 20px; }

  .ctc__fields      { padding: 0; border-right: none; }

  .ctc__right       { padding-left: 0; }

  .ctc__textarea    { height: 90px; }

}