/* ==========================================================================
   Contactanos — themed with hec-subscribe palette
   Scope: body.page-id-7514
   ========================================================================== */

body.page-id-7514 {
	--ct-red:    #D90429;
	--ct-red-dk: #9f0218;
	--ct-amber:  #f59e0b;
	--ct-text:   rgba(255,255,255,.62);
	--ct-text-h: rgba(255,255,255,.92);
	--ct-border: rgba(255,255,255,.09);
}

/* ── SECCIÓN PRINCIPAL (contenido de dos columnas) ── */
body.page-id-7514 .elementor-element-df55e16 {
	background:
		radial-gradient(ellipse 70% 60% at 8%   50%,  rgba(217,4,41,.13)  0%, transparent 60%),
		radial-gradient(ellipse 55% 40% at 92%  55%,  rgba(245,158,11,.1) 0%, transparent 58%),
		radial-gradient(ellipse 80% 40% at 50% 100%,  rgba(217,4,41,.06)  0%, transparent 55%),
		linear-gradient(158deg, #060918 0%, #0d1525 28%, #111827 55%, #192038 80%, #1c2245 100%)
		!important;
	position: relative !important;
	overflow: hidden !important;
}

/* Borde superior animado rojo-ámbar */
body.page-id-7514 .elementor-element-df55e16::before {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 4px;
	background: linear-gradient(90deg, #6e0114 0%, #D90429 20%, #f59e0b 50%, #D90429 80%, #6e0114 100%);
	background-size: 200% 100%;
	animation: ct-border-move 5s linear infinite;
	box-shadow: 0 2px 12px rgba(217,4,41,.4);
	z-index: 10;
}
@keyframes ct-border-move {
	0%   { background-position: 0%   100%; }
	100% { background-position: 200% 100%; }
}

/* Destello decorativo izquierdo */
body.page-id-7514 .elementor-element-df55e16::after {
	content: '';
	position: absolute;
	top: -160px; left: -130px;
	width: 500px; height: 500px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(217,4,41,.12) 0%, transparent 65%);
	pointer-events: none;
	z-index: 0;
}

/* ── COLUMNA IZQUIERDA ── */
body.page-id-7514 .elementor-element-13357c1,
body.page-id-7514 .elementor-element-13357c1 > .elementor-widget-wrap {
	background: transparent !important;
}

/* Textos → blanco */
body.page-id-7514 .elementor-element-13357c1 h1,
body.page-id-7514 .elementor-element-13357c1 h2,
body.page-id-7514 .elementor-element-13357c1 h3,
body.page-id-7514 .elementor-element-13357c1 h4,
body.page-id-7514 .elementor-element-13357c1 p,
body.page-id-7514 .elementor-element-13357c1 li,
body.page-id-7514 .elementor-element-13357c1 span,
body.page-id-7514 .elementor-element-13357c1 div,
body.page-id-7514 .elementor-element-13357c1 .elementor-heading-title,
body.page-id-7514 .elementor-element-13357c1 .elementor-widget-text-editor * {
	color: var(--ct-text-h) !important;
}

/* Icon list — icono rojo, texto blanco suave */
body.page-id-7514 .elementor-element-13357c1 .elementor-icon-list-icon i,
body.page-id-7514 .elementor-element-13357c1 .elementor-icon-list-icon svg {
	color: var(--ct-red) !important;
	fill:  var(--ct-red) !important;
}
body.page-id-7514 .elementor-element-13357c1 .elementor-icon-list-text,
body.page-id-7514 .elementor-element-13357c1 .elementor-icon-list-text a {
	color: var(--ct-text) !important;
}
body.page-id-7514 .elementor-element-13357c1 .elementor-icon-list-text a:hover {
	color: var(--ct-red) !important;
	text-decoration: none;
}

/* ── COLUMNA DERECHA — glassmorphism card ── */
body.page-id-7514 .elementor-element-557f3d3 > .elementor-widget-wrap {
	background:              rgba(255,255,255,.04) !important;
	backdrop-filter:         blur(16px) !important;
	-webkit-backdrop-filter: blur(16px) !important;
	border:                  1px solid var(--ct-border) !important;
	border-radius:           22px !important;
	padding:                 42px !important;
	box-shadow:
		0 28px 90px rgba(0,0,0,.38),
		inset 0  1px 0 rgba(255,255,255,.08),
		inset 0 -1px 0 rgba(0,0,0,.25) !important;
	position: relative;
	z-index: 1;
}

/* Título "Escríbenos" */
body.page-id-7514 .elementor-element-557f3d3 .elementor-heading-title,
body.page-id-7514 .elementor-element-557f3d3 .elementor-widget-text-editor * {
	color: var(--ct-text-h) !important;
}

/* ── FORM — labels ── */
body.page-id-7514 .elementor-element-557f3d3 .elementor-field-label,
body.page-id-7514 .elementor-element-557f3d3 label {
	font-size:      12px !important;
	font-weight:    600 !important;
	letter-spacing: .5px !important;
	color:          rgba(255,255,255,.5) !important;
	margin-bottom:  7px !important;
	text-transform: uppercase !important;
}

/* ── FORM — inputs y textarea ── */
body.page-id-7514 .elementor-element-557f3d3 .elementor-field-textual,
body.page-id-7514 .elementor-element-557f3d3 input[type="text"],
body.page-id-7514 .elementor-element-557f3d3 input[type="email"],
body.page-id-7514 .elementor-element-557f3d3 input[type="tel"],
body.page-id-7514 .elementor-element-557f3d3 textarea {
	background:    rgba(255,255,255,.055) !important;
	border:        1.5px solid rgba(255,255,255,.1) !important;
	border-radius: 11px !important;
	color:         rgba(255,255,255,.9) !important;
	font-size:     14px !important;
	outline:       none !important;
	box-shadow:    none !important;
	transition:    border-color .2s, background .2s, box-shadow .2s !important;
}
body.page-id-7514 .elementor-element-557f3d3 textarea {
	min-height: 120px !important;
	padding:    12px 16px !important;
	resize:     vertical !important;
}
body.page-id-7514 .elementor-element-557f3d3 .elementor-field-textual::placeholder,
body.page-id-7514 .elementor-element-557f3d3 input::placeholder,
body.page-id-7514 .elementor-element-557f3d3 textarea::placeholder {
	color: rgba(255,255,255,.25) !important;
}
body.page-id-7514 .elementor-element-557f3d3 .elementor-field-textual:focus,
body.page-id-7514 .elementor-element-557f3d3 input:focus,
body.page-id-7514 .elementor-element-557f3d3 textarea:focus {
	border-color: rgba(217,4,41,.55) !important;
	background:   rgba(255,255,255,.08) !important;
	box-shadow:   0 0 0 3px rgba(217,4,41,.14) !important;
}

/* ── FORM — checkbox, radio y HTML fields ── */
body.page-id-7514 .elementor-element-557f3d3 .elementor-field-type-checkbox label,
body.page-id-7514 .elementor-element-557f3d3 .elementor-field-type-radio   label,
body.page-id-7514 .elementor-element-557f3d3 .elementor-field-type-html    * {
	color:     rgba(255,255,255,.5) !important;
	font-size: 12px !important;
}

/* ── Campos HTML cláusulas — texto naranja claro ── */
body.page-id-7514 .elementor-field-group-field_370846c,
body.page-id-7514 .elementor-field-group-field_e307816 {
	color: #fdba74 !important;
}

/* ── FORM — botón submit ── */
body.page-id-7514 .elementor-element-557f3d3 .elementor-button-wrapper { width: 100% !important; }
body.page-id-7514 .elementor-element-557f3d3 .elementor-button,
body.page-id-7514 .elementor-element-557f3d3 .elementor-button[type="submit"] {
	width:          100% !important;
	height:         54px !important;
	background:     linear-gradient(135deg, #D90429 0%, #9f0218 100%) !important;
	border:         none !important;
	border-radius:  11px !important;
	color:          #fff !important;
	font-size:      15px !important;
	font-weight:    700 !important;
	letter-spacing: .3px !important;
	cursor:         pointer !important;
	box-shadow:     0 6px 22px rgba(217,4,41,.38) !important;
	transition:     transform .2s, box-shadow .2s !important;
}
body.page-id-7514 .elementor-element-557f3d3 .elementor-button:hover {
	transform:  translateY(-2px) !important;
	box-shadow: 0 12px 30px rgba(217,4,41,.48) !important;
}

/* ── FORM — mensajes éxito / error ── */
body.page-id-7514 .elementor-element-557f3d3 .elementor-message {
	border-radius: 10px !important;
	font-size:     13px !important;
	padding:       12px 16px !important;
}
body.page-id-7514 .elementor-element-557f3d3 .elementor-message-success {
	background: rgba(34,197,94,.12) !important;
	border:     1px solid rgba(34,197,94,.28) !important;
	color:      #4ade80 !important;
}
body.page-id-7514 .elementor-element-557f3d3 .elementor-message-danger,
body.page-id-7514 .elementor-element-557f3d3 .elementor-message-error {
	background: rgba(217,4,41,.12) !important;
	border:     1px solid rgba(217,4,41,.28) !important;
	color:      #f87171 !important;
}

/* ── RESPONSIVE ── */
@media (max-width: 1024px) {
	body.page-id-7514 .elementor-element-557f3d3 > .elementor-widget-wrap {
		padding: 34px 30px !important;
	}
}
@media (max-width: 767px) {
	body.page-id-7514 .elementor-element-557f3d3 > .elementor-widget-wrap {
		padding:       26px 18px !important;
		border-radius: 16px !important;
	}
}
