/**
 * Hermosillo Contacto: informacion + formulario de Gravity Forms (Figma Contact).
 * Los iconos de los campos se asignan con las clases CSS hmo-ico-* del formulario.
 */
.hermosillo-contact-widget {
	background: var(--hmo-white);
	box-sizing: border-box;
	color: var(--hmo-black);
	font-family: 'Flama Condensed', 'FlamaCond', 'Roboto Condensed', sans-serif;
	padding: 130px 24px 0;
	width: 100%;
}

.hermosillo-contact-widget * { box-sizing: border-box; }

.hermosillo-contact-widget .hct-inner {
	align-items: start;
	column-gap: 24px;
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	margin: 0 auto;
	max-width: 1200px;
	width: 100%;
}

.hermosillo-contact-widget .hct-info { grid-column: 1 / span 5; }
.hermosillo-contact-widget .hct-form { grid-column: 7 / span 6; }

.hermosillo-contact-widget .hct-badge { align-items: center; background: var(--hmo-orange); display: inline-flex; height: 38px; justify-content: center; margin-bottom: 20px; width: 38px; }
.hermosillo-contact-widget .hct-badge svg { display: block; height: 18px; width: 22px; }

.hermosillo-contact-widget .hct-eyebrow { color: var(--hmo-blue-steel); font-size: 14px; font-weight: 600; letter-spacing: .06em; line-height: 18px; margin: 0 0 8px; text-transform: uppercase; }

.hermosillo-contact-widget .hct-title {
	color: var(--hmo-blue);
	font-family: 'Flama Condensed', 'FlamaCond', 'Roboto Condensed', sans-serif;
	font-size: clamp(34px, 4vw, 48px);
	font-weight: 600 !important;
	line-height: 44px;
	margin: 0 !important;
	text-transform: uppercase;
}

.hermosillo-contact-widget .hct-line { background: var(--hmo-orange); display: block; height: 2px; margin: 16px 0 24px; width: 54px; }

.hermosillo-contact-widget .hct-lead { color: var(--hmo-gray); font-family: 'Flama', 'FlamaBook', sans-serif; font-size: 18px; font-weight: 500; line-height: 26px; margin: 0 0 32px; max-width: 360px; }

.hermosillo-contact-widget .hct-item { margin-bottom: 24px; max-width: 420px; }
.hermosillo-contact-widget .hct-item-title { color: var(--hmo-blue); font-family: 'Flama', 'FlamaBook', sans-serif; font-size: 16px; font-weight: 600; line-height: 22px; margin: 0 0 4px; }
.hermosillo-contact-widget .hct-item-text { color: var(--hmo-gray); font-family: 'Enriqueta', Georgia, serif; font-size: 16px; line-height: 24px; margin: 0; }
.hermosillo-contact-widget a:not(.gform_button) { color: var(--hmo-orange); text-decoration: none; }
.hermosillo-contact-widget a:not(.gform_button):hover { text-decoration: underline; }

.hermosillo-contact-widget .hct-form-intro { color: var(--hmo-gray); font-family: 'Enriqueta', Georgia, serif; font-size: 16px; line-height: 24px; margin: 0 0 28px; }
.hermosillo-contact-widget .hct-notice { background: var(--hmo-porcelain); color: var(--hmo-blue); font-family: 'Flama', sans-serif; padding: 16px; }

/* ---- Gravity Forms ---- */
.hermosillo-contact-widget .gform_wrapper { margin: 0; max-width: 100%; }
.hermosillo-contact-widget .gform_wrapper .gform_fields { display: grid; gap: 16px; grid-template-columns: 1fr; list-style: none; margin: 0; padding: 0; }
.hermosillo-contact-widget .gform_wrapper .gfield { margin: 0; padding: 0; }

.hermosillo-contact-widget .gform_wrapper .gfield_label,
.hermosillo-contact-widget .gform_wrapper legend.gfield_label {
	color: var(--hmo-blue);
	display: block;
	font-family: 'Flama Condensed', 'FlamaCond', sans-serif;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .02em;
	line-height: 16px;
	margin: 0 0 6px;
	padding: 0;
	text-transform: uppercase;
}
.hermosillo-contact-widget .gform_wrapper .gfield_required { display: none; }
.hermosillo-contact-widget .gform_wrapper .hidden_label > .gfield_label { display: none; }

.hermosillo-contact-widget .gform_wrapper input[type=text],
.hermosillo-contact-widget .gform_wrapper input[type=email],
.hermosillo-contact-widget .gform_wrapper input[type=tel],
.hermosillo-contact-widget .gform_wrapper input[type=url],
.hermosillo-contact-widget .gform_wrapper select,
.hermosillo-contact-widget .gform_wrapper textarea {
	background-color: var(--hmo-white);
	background-position: 14px center;
	background-repeat: no-repeat;
	background-size: 14px 14px;
	border: 1px solid #9db3cc;
	border-radius: 0;
	box-shadow: none;
	color: var(--hmo-blue);
	font-family: 'Enriqueta', Georgia, serif;
	font-size: 14px;
	height: 40px;
	line-height: 20px;
	padding: 8px 12px 8px 40px;
	width: 100%;
}
.hermosillo-contact-widget .gform_wrapper textarea { background-position: 14px 12px; height: 40px; min-height: 40px; resize: vertical; }
.hermosillo-contact-widget .gform_wrapper select { appearance: none; background-image: none; }
.hermosillo-contact-widget .gform_wrapper ::placeholder { color: var(--hmo-gray); opacity: .85; }
.hermosillo-contact-widget .gform_wrapper input:focus,
.hermosillo-contact-widget .gform_wrapper select:focus,
.hermosillo-contact-widget .gform_wrapper textarea:focus { border-color: var(--hmo-orange); outline: 0; }

/* Iconos de campo (clase CSS del campo en Gravity Forms) */
.hermosillo-contact-widget .hmo-ico-user input { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23254467'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4.4 3.6-7 8-7s8 2.6 8 7z'/%3E%3C/svg%3E"); }
.hermosillo-contact-widget .hmo-ico-phone input { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23254467'%3E%3Cpath d='M6.6 10.8a15 15 0 006.6 6.6l2.2-2.2a1 1 0 011-.25 11 11 0 003.5.56 1 1 0 011 1V20a1 1 0 01-1 1A17 17 0 013 4a1 1 0 011-1h3.5a1 1 0 011 1c0 1.2.2 2.4.56 3.5a1 1 0 01-.25 1z'/%3E%3C/svg%3E"); }
.hermosillo-contact-widget .hmo-ico-mail input { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23254467'%3E%3Cpath d='M3 5h18a1 1 0 011 1v.5l-10 6.5L2 6.5V6a1 1 0 011-1zm-1 4l10 6.5L22 9v9a1 1 0 01-1 1H3a1 1 0 01-1-1z'/%3E%3C/svg%3E"); }
.hermosillo-contact-widget .hmo-ico-globe input { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23254467' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18M12 3c3 3 3 15 0 18M12 3c-3 3-3 15 0 18'/%3E%3C/svg%3E"); }
.hermosillo-contact-widget .hmo-ico-chat textarea { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23254467'%3E%3Cpath d='M12 3C6.5 3 2 6.6 2 11c0 2.3 1.2 4.3 3.1 5.8L4 21l4.6-2.1c1 .2 2.2.4 3.4.4 5.5 0 10-3.6 10-8s-4.5-8.3-10-8.3z'/%3E%3C/svg%3E"); }
.hermosillo-contact-widget .hmo-ico-flag select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23254467'%3E%3Cpath d='M5 3h2v18H5zm3 1h11l-2.5 4.5L19 13H8z'/%3E%3C/svg%3E"); }
.hermosillo-contact-widget .hmo-ico-pie select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23254467'%3E%3Cpath d='M11 2.1V13h10.9A10 10 0 0011 2.1zM9 4.1A10 10 0 1019.9 15H9z'/%3E%3C/svg%3E"); }
.hermosillo-contact-widget .hmo-ico-pin select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23254467'%3E%3Cpath d='M12 2a7 7 0 00-7 7c0 5.3 7 13 7 13s7-7.7 7-13a7 7 0 00-7-7zm0 9.5A2.5 2.5 0 1114.5 9 2.5 2.5 0 0112 11.5z'/%3E%3C/svg%3E"); }
.hermosillo-contact-widget .hmo-ico-flag select,
.hermosillo-contact-widget .hmo-ico-pie select,
.hermosillo-contact-widget .hmo-ico-pin select { background-position: 14px center; background-repeat: no-repeat; background-size: 14px 14px; }

/* Casillas */
.hermosillo-contact-widget .gform_wrapper .gfield_checkbox { display: grid; gap: 8px; list-style: none; margin: 0; padding: 0; }
.hermosillo-contact-widget .gform_wrapper .gchoice { align-items: center; display: flex; gap: 8px; }
.hermosillo-contact-widget .gform_wrapper input[type=checkbox] { accent-color: var(--hmo-orange); border-radius: 0; flex: 0 0 auto; height: 14px; margin: 0; width: 14px; }
.hermosillo-contact-widget .gform_wrapper .gchoice label,
.hermosillo-contact-widget .gform_wrapper .gfield_consent_label { color: var(--hmo-gray); font-family: 'Enriqueta', Georgia, serif; font-size: 13px; line-height: 20px; margin: 0; }
.hermosillo-contact-widget .gform_wrapper .gfield_description { display: none; }

.hermosillo-contact-widget .gform_wrapper .gform_footer,
.hermosillo-contact-widget .gform_wrapper .gform_page_footer { margin: 20px 0 0; padding: 0; }
.hermosillo-contact-widget .gform_wrapper .gform_button,
.hermosillo-contact-widget .gform_wrapper input[type=submit] {
	align-items: center;
	background-color: var(--hmo-orange);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ffffff'%3E%3Cpath d='M2 21l21-9L2 3v7l15 2-15 2z'/%3E%3C/svg%3E");
	background-position: right 20px center;
	background-repeat: no-repeat;
	background-size: 14px 14px;
	border: 0;
	border-radius: 0;
	color: var(--hmo-white);
	cursor: pointer;
	font-family: 'Flama Condensed', 'FlamaCond', sans-serif;
	font-size: 16px;
	font-weight: 600;
	height: 44px;
	letter-spacing: 0;
	padding: 0 48px 0 24px;
	text-transform: uppercase;
	transition: background-color .2s ease;
	width: auto;
}
.hermosillo-contact-widget .gform_wrapper .gform_button:hover { background-color: var(--hmo-blue-medium); }
.hermosillo-contact-widget .gform_wrapper .gform_button:active { background-color: var(--hmo-blue); }

.hermosillo-contact-widget .gform_wrapper .gfield_validation_message,
.hermosillo-contact-widget .gform_wrapper .validation_message { background: transparent; border: 0; color: #c0392b; font-family: 'Flama', sans-serif; font-size: 12px; margin-top: 4px; padding: 0; }
.hermosillo-contact-widget .gform_wrapper .gform_validation_errors { background: #fdf0ee; border: 1px solid #e3b4ad; box-shadow: none; margin: 0 0 16px; padding: 12px 16px; }
.hermosillo-contact-widget .gform_confirmation_message { background: var(--hmo-porcelain); color: var(--hmo-blue); font-family: 'Flama', sans-serif; font-size: 16px; padding: 24px; }

@media (max-width: 1024px) {
	.hermosillo-contact-widget .hct-info { grid-column: 1 / -1; margin-bottom: 40px; }
	.hermosillo-contact-widget .hct-form { grid-column: 1 / -1; }
}

@media (max-width: 768px) {
	.hermosillo-contact-widget { padding: 40px 16px 0; }
	.hermosillo-contact-widget .hct-hide-mobile { display: none; }
	.hermosillo-contact-widget .hct-title { font-size: 32px; line-height: 36px; }
	.hermosillo-contact-widget .gform_wrapper .gform_footer { text-align: center; }
}

/* Refuerzo de especificidad frente al tema "gravity-theme" de Gravity Forms */
.hermosillo-contact-widget .gform_wrapper.gravity-theme .gfield_required,
.hermosillo-contact-widget .gform_wrapper.gravity-theme .gfield_required_text { display: none !important; }
.hermosillo-contact-widget .gform_wrapper.gravity-theme .ginput_container input:not([type=checkbox]):not([type=hidden]):not([type=submit]),
.hermosillo-contact-widget .gform_wrapper.gravity-theme .ginput_container select,
.hermosillo-contact-widget .gform_wrapper.gravity-theme .ginput_container textarea {
	font-family: 'Enriqueta', Georgia, serif !important;
	font-size: 14px !important;
	height: 40px !important;
	line-height: 20px !important;
	min-height: 40px !important;
	padding: 8px 12px 8px 40px !important;
	width: 100% !important;
}
.hermosillo-contact-widget .gform_wrapper.gravity-theme .ginput_container textarea { background-position: 14px 12px !important; }
.hermosillo-contact-widget .gform_wrapper.gravity-theme .gchoice label,
.hermosillo-contact-widget .gform_wrapper.gravity-theme .gfield_consent_label {
	font-family: 'Enriqueta', Georgia, serif !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}
.hermosillo-contact-widget .gform_wrapper.gravity-theme .ginput_container_consent { align-items: center; display: flex; gap: 8px; }
.hermosillo-contact-widget .gform_wrapper.gravity-theme input[type=checkbox] { height: 14px !important; min-height: 0 !important; padding: 0 !important; width: 14px !important; }
