/* ============================================================
   DataTrust Widgets · Contacto
   Split hero (contenido izq + form flotante der) + franja inferior.
   Namespaced .dtw-contact.
   ============================================================ */
.dtw-contact{
  --dtw-ink:#0D0C10;--dtw-ink-2:#17161A;--dtw-purple:#413C58;--dtw-pink:#F54576;
  --dtw-paper:#FAFAF8;--dtw-paper-2:#F4F5F9;--dtw-lilac:#D4D0E4;
  --dtw-txt-dark:#211F26;--dtw-txt-dark-muted:#6B6775;--dtw-txt-light-muted:#A7A3B2;
  --dtw-border-light:rgba(17,16,20,.1);--dtw-border-dark:rgba(255,255,255,.08);
  --dtw-ease:cubic-bezier(.22,.61,.36,1);
  font-family:'Poppins',sans-serif;
}

/* Split */
/* Fondo dividido a todo el ancho (ink izquierda / morado derecha).
   El contenido real se centra a 1200px dentro de __split. */
.dtw-contact__bleed{background:linear-gradient(90deg,var(--dtw-ink) 0%,var(--dtw-ink) 50%,var(--dtw-purple) 50%,var(--dtw-purple) 100%)}
.dtw-contact__split{display:grid;grid-template-columns:1fr 1fr;min-height:600px;max-width:1200px;margin:0 auto}
/* Las columnas ya no pintan su propio fondo: lo pone el __bleed detrás. */
@media(max-width:900px){
  .dtw-contact__split{grid-template-columns:1fr;max-width:560px}
  /* En móvil (apilado) el degradado 50/50 no aplica: cada columna recupera su color. */
  .dtw-contact__bleed{background:none}
}

/* IZQUIERDA */
.dtw-contact__left{position:relative;overflow:hidden;background:var(--dtw-ink);color:#fff;padding:64px 56px;display:flex;flex-direction:column;justify-content:center}
@media(max-width:1100px){.dtw-contact__left{padding:56px 40px}}
.dtw-contact__glow{position:absolute;border-radius:50%;filter:blur(110px);pointer-events:none}
.dtw-contact__glow.g1{width:400px;height:400px;background:rgba(245,69,118,.4);top:-120px;left:-100px}
.dtw-contact__glow.g2{width:300px;height:300px;background:rgba(65,60,88,.7);bottom:-100px;right:-60px}
.dtw-contact__rings{position:absolute;inset:0;pointer-events:none;opacity:.5}
.dtw-contact__rings span{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.06)}
.dtw-contact__rings span:nth-child(1){width:340px;height:340px;top:10%;left:-10%}
.dtw-contact__rings span:nth-child(2){width:220px;height:220px;top:16%;left:2%}
.dtw-contact__left-in{position:relative;z-index:3;max-width:460px}

.dtw-contact__eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--dtw-lilac);margin-bottom:18px;padding:8px 16px;border:1px solid rgba(255,255,255,.14);border-radius:100px;background:rgba(255,255,255,.03)}
.dtw-contact__live{width:8px;height:8px;border-radius:50%;background:var(--dtw-pink);box-shadow:0 0 0 0 rgba(245,69,118,.6);animation:dtwPulse 2s infinite}
@keyframes dtwPulse{0%{box-shadow:0 0 0 0 rgba(245,69,118,.6)}70%{box-shadow:0 0 0 12px rgba(245,69,118,0)}100%{box-shadow:0 0 0 0 rgba(245,69,118,0)}}
.dtw-contact__h1{font-family:'Playfair Display',serif;font-weight:700;font-size:clamp(2.2rem,4vw,3.4rem);line-height:1.08;margin-bottom:20px;color:#fff}
.dtw-contact__lead{font-size:1.05rem;color:var(--dtw-lilac);font-weight:300;margin-bottom:32px;line-height:1.6}

.dtw-contact__quick{display:flex;flex-direction:column;gap:2px;margin-bottom:8px}
.dtw-contact__q{display:flex;align-items:center;gap:15px;padding:14px 16px;border-radius:13px;transition:background .2s var(--dtw-ease),transform .2s var(--dtw-ease);text-decoration:none}
.dtw-contact__q:not(.dtw-contact__q--static):hover{background:rgba(255,255,255,.05);transform:translateX(4px)}
.dtw-contact__qic{width:44px;height:44px;border-radius:11px;background:rgba(245,69,118,.15);color:var(--dtw-pink);display:flex;align-items:center;justify-content:center;font-size:21px;flex-shrink:0;transition:all .25s}
.dtw-contact__q:not(.dtw-contact__q--static):hover .dtw-contact__qic{background:var(--dtw-pink);color:#fff}
.dtw-contact__qic--muted{background:rgba(255,255,255,.06);color:var(--dtw-lilac)}
.dtw-contact__qv{font-size:15px;font-weight:600;color:#fff;display:flex;flex-direction:column;justify-content:center}
.dtw-contact__qv small{font-weight:400;font-size:12.5px;color:var(--dtw-txt-light-muted);margin-top:2px}
.dtw-contact__qgo{margin-left:auto;color:var(--dtw-txt-light-muted);font-size:18px;transition:transform .2s,color .2s}
.dtw-contact__q:hover .dtw-contact__qgo{color:var(--dtw-pink);transform:translateX(3px)}

/* DERECHA */
.dtw-contact__right{position:relative;background:var(--dtw-purple);display:flex;align-items:center;justify-content:center;padding:56px 48px;overflow:hidden}
@media(max-width:900px){.dtw-contact__right{padding:44px 32px}}
.dtw-contact__bg{position:absolute;inset:0;background-size:cover;background-position:center}
.dtw-contact__overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(135deg,rgba(65,60,88,.78),rgba(245,69,118,.55))}

.dtw-contact__form-card{position:relative;z-index:3;background:#fff;border-radius:22px;padding:34px;width:100%;max-width:420px;box-shadow:0 30px 70px rgba(13,12,16,.3)}
.dtw-contact__form-title{font-family:'Playfair Display',serif;font-weight:700;font-size:1.5rem;margin-bottom:5px;color:var(--dtw-txt-dark)}
.dtw-contact__form-sub{font-size:.88rem;color:var(--dtw-txt-dark-muted);margin-bottom:22px}
.dtw-contact__field{margin-bottom:15px}
.dtw-contact__field label{display:block;font-size:12.5px;font-weight:600;color:var(--dtw-txt-dark);margin-bottom:6px}
.dtw-contact__req{color:var(--dtw-pink)}
.dtw-contact__field input,.dtw-contact__field select,.dtw-contact__field textarea{width:100%;padding:12px 15px;border:1.5px solid var(--dtw-border-light);border-radius:11px;font-family:'Poppins',sans-serif;font-size:14px;color:var(--dtw-txt-dark);outline:none;transition:border-color .2s,box-shadow .2s;background:#fff}
.dtw-contact__field input:focus,.dtw-contact__field select:focus,.dtw-contact__field textarea:focus{border-color:var(--dtw-pink);box-shadow:0 0 0 4px rgba(245,69,118,.1)}
.dtw-contact__field input.dtw-invalid,.dtw-contact__field textarea.dtw-invalid,.dtw-contact__field select.dtw-invalid{border-color:#e5484d;box-shadow:0 0 0 4px rgba(229,72,77,.1)}
.dtw-contact__field textarea{resize:vertical;min-height:88px}
.dtw-contact__row{display:grid;grid-template-columns:1fr 1fr;gap:12px}

/* Select estilizado (oculta la flecha nativa, pone la nuestra) */
.dtw-contact__select{position:relative}
.dtw-contact__select select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:40px;cursor:pointer}
.dtw-contact__select-caret{position:absolute;right:14px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--dtw-txt-dark-muted);font-size:16px}

/* Honeypot: fuera de pantalla, invisible */
.dtw-contact__hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

.dtw-contact__submit{width:100%;justify-content:center;display:inline-flex;align-items:center;gap:9px;background:var(--dtw-pink);color:#fff;font-weight:600;font-size:15px;padding:14px 24px;border-radius:100px;border:none;cursor:pointer;margin-top:6px;transition:transform .25s var(--dtw-ease),box-shadow .25s,background .25s}
.dtw-contact__submit:hover{background:var(--dtw-ink);transform:translateY(-3px);box-shadow:0 14px 32px rgba(13,12,16,.25)}
.dtw-contact__submit i{font-size:18px;transition:transform .25s var(--dtw-ease)}
.dtw-contact__submit:hover i{transform:translateX(4px)}
.dtw-contact__submit:disabled{opacity:.6;cursor:not-allowed;transform:none}
.dtw-contact__form-msg{font-size:13px;text-align:center;margin-top:12px;min-height:18px}
.dtw-contact__form-msg.is-ok{color:#1a7f52}
.dtw-contact__form-msg.is-err{color:#e5484d}
.dtw-contact__form-note{font-size:11.5px;color:var(--dtw-txt-dark-muted);text-align:center;margin-top:12px}

/* FRANJA INFERIOR */
.dtw-contact__strip{background:var(--dtw-paper-2);padding:80px 0;border-top:1px solid var(--dtw-border-light)}
.dtw-contact__strip-grid{max-width:1200px;margin:0 auto;padding:0 32px;display:grid;grid-template-columns:1fr 1fr auto;gap:32px;align-items:center}
@media(max-width:820px){.dtw-contact__strip-grid{grid-template-columns:1fr;gap:22px;text-align:center}}
.dtw-contact__strip-item{display:flex;align-items:center;gap:14px}
@media(max-width:820px){.dtw-contact__strip-item{justify-content:center}}
.dtw-contact__sic{width:50px;height:50px;border-radius:13px;background:#fff;border:1px solid var(--dtw-border-light);color:var(--dtw-pink);display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}
.dtw-contact__st{font-size:12px;color:var(--dtw-txt-dark-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:2px;display:block}
.dtw-contact__sv{font-size:15px;font-weight:600;color:var(--dtw-txt-dark)}
.dtw-contact__sv small{display:block;font-weight:400;font-size:13px;color:var(--dtw-txt-dark-muted)}
.dtw-contact__cases{display:inline-flex;align-items:center;gap:9px;background:var(--dtw-purple);color:#fff;font-weight:600;font-size:14.5px;padding:14px 24px;border-radius:100px;white-space:nowrap;text-decoration:none;transition:transform .25s var(--dtw-ease),box-shadow .25s,background .25s}
.dtw-contact__cases:hover{background:var(--dtw-pink);transform:translateY(-3px);box-shadow:0 12px 30px rgba(245,69,118,.4)}
.dtw-contact__cases i{font-size:17px;transition:transform .25s var(--dtw-ease)}
.dtw-contact__cases:hover i{transform:translateX(4px)}

@media(prefers-reduced-motion:reduce){.dtw-contact *{animation:none!important;transition:none!important}}
