/* Formulario de contacto propio (sin plugins), con la paleta del sitio: azul #2262a0/#328ee7 y azul cielo. */
.ath-form { --azul: #328ee7; --azul-osc: #2262a0; --cielo: #7cc4f0; --cielo-cl: #eaf5fd; --texto: #1f2a37; --tenue: #6b7785;
	background: #fff; border-radius: 22px; padding: clamp(22px, 4vw, 38px); box-shadow: 0 24px 50px -28px rgba(34, 98, 160, .45), 0 0 0 1px rgba(34, 98, 160, .06);
	font-family: inherit; position: relative; }
.ath-form__cab h3 { margin: 0 0 6px; font-size: 24px; line-height: 1.2; color: var(--azul-osc); font-weight: 600; }
.ath-form__cab p { margin: 0 0 22px; color: var(--tenue); font-size: 14px; line-height: 1.5; }
.ath-form .ath-campos { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 18px; }
.ath-form .ath-campo { display: flex; flex-direction: column; gap: 7px; }
.ath-form .ath-campo--ancho { grid-column: 1 / -1; }
.ath-form label { font-size: 13px; font-weight: 600; color: var(--texto); letter-spacing: .01em; }
.ath-form label span { color: var(--azul); }
.ath-form label small { font-weight: 400; color: var(--tenue); margin-left: 4px; }
.ath-form input, .ath-form select, .ath-form textarea {
	width: 100%; box-sizing: border-box; font: inherit; font-size: 15px; color: var(--texto);
	background: #f6f9fc; border: 1.5px solid #e2e9f1; border-radius: 14px; padding: 13px 16px; min-height: 50px;
	transition: border-color .2s, box-shadow .2s, background .2s;
}
.ath-form input::placeholder, .ath-form textarea::placeholder { color: #a3adb8; }
.ath-form textarea { min-height: 130px; resize: vertical; line-height: 1.5; }
.ath-form select { appearance: none; -webkit-appearance: none; padding-right: 44px; cursor: pointer;
	background-image: linear-gradient(45deg, transparent 50%, var(--azul) 50%), linear-gradient(135deg, var(--azul) 50%, transparent 50%);
	background-position: calc(100% - 24px) 52%, calc(100% - 18px) 52%; background-size: 6px 6px; background-repeat: no-repeat; }
.ath-form input:hover, .ath-form select:hover, .ath-form textarea:hover { border-color: #c9d8e8; }
.ath-form input:focus, .ath-form select:focus, .ath-form textarea:focus { outline: none; background: #fff; border-color: var(--azul); box-shadow: 0 0 0 4px rgba(124, 196, 240, .35); }
.ath-form [aria-invalid="true"] { border-color: #d64545; background: #fff7f7; }
.ath-form .ath-trampa { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.ath-form .ath-form__pie { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; margin-top: 22px; }
.ath-form button[type="submit"] { display: inline-flex; align-items: center; gap: 10px; background: linear-gradient(135deg, var(--azul) 0%, var(--azul-osc) 100%);
	color: #fff; border: 0; border-radius: 999px; padding: 15px 30px; font: inherit; font-weight: 600; font-size: 15px; letter-spacing: .02em; cursor: pointer;
	box-shadow: 0 12px 26px -10px rgba(50, 142, 231, .75); transition: transform .2s, box-shadow .2s, filter .2s; }
.ath-form button[type="submit"]::after { content: "→"; transition: transform .2s; }
.ath-form button[type="submit"]:hover, .ath-form button[type="submit"]:focus-visible { box-shadow: 0 16px 30px -10px rgba(50, 142, 231, .9); filter: brightness(1.05); }
.ath-form button[type="submit"]:hover::after { transform: translateX(4px); }
.ath-form button[disabled] { opacity: .65; cursor: wait; transform: none; }
.ath-form .ath-form__nota { margin: 0; font-size: 12.5px; color: var(--tenue); }
.ath-form .ath-form__aviso { margin: 14px 0 0; font-size: 14px; }
.ath-form .ath-form__aviso:empty { display: none; }
.ath-form .ath-form__aviso.es-error { color: #c23b3b; background: #fff3f3; border-radius: 10px; padding: 10px 14px; }
.ath-form__listo { text-align: center; padding: 24px 8px 8px; }
.ath-form__listo h3 { color: var(--azul-osc); margin: 16px 0 8px; font-size: 22px; }
.ath-form__listo p { color: var(--tenue); margin: 0; }
.ath-form__palomita { width: 72px; height: 72px; margin: 0 auto; border-radius: 50%; background: linear-gradient(135deg, var(--cielo), var(--azul)); position: relative;
	box-shadow: 0 0 0 10px var(--cielo-cl); animation: ath-pop .5s cubic-bezier(.34, 1.56, .64, 1); }
.ath-form__palomita::after { content: ""; position: absolute; left: 25px; top: 18px; width: 16px; height: 30px; border: solid #fff; border-width: 0 5px 5px 0; transform: rotate(45deg); }
@keyframes ath-pop { from { transform: scale(.3); opacity: 0; } to { transform: scale(1); opacity: 1; } }
@media (max-width: 640px) { .ath-form .ath-campos { grid-template-columns: 1fr; } .ath-form button[type="submit"] { width: 100%; justify-content: center; } }
@media (prefers-reduced-motion: reduce) { .ath-form *, .ath-form__palomita { transition: none !important; animation: none !important; } }
