/*
 * Visual parity fixes against the Lovable reference (start-colombia.lovable.app).
 * Loaded after style.css so these rules win on equal specificity.
 */

/* Base: font smoothing + smooth in-page scrolling, matches the source's <html>/<body> rules */
html {
	scroll-behavior: smooth;
}

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* Links: Lovable never underlines links, it only shifts color/opacity on hover */
a {
	text-decoration: none;
}

a:focus-visible {
	outline: 2px solid var(--wp--preset--color--accent-1);
	outline-offset: 2px;
}

/* Header nav: color/opacity shift on hover instead of the theme's default underline */
.wp-block-navigation .wp-block-navigation-item__content {
	opacity: .75;
	transition: opacity .2s ease, color .2s ease;
}

.wp-block-navigation .wp-block-navigation-item__content:hover,
.wp-block-navigation .wp-block-navigation-item__content:focus {
	opacity: 1;
	text-decoration: none;
}

/* Sticky header, matches "sticky top-0 z-50" on the source header */
header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 50;
}

/* Buttons: smooth color/background transitions instead of an instant flip */
.wp-block-button__link,
.wp-element-button {
	transition: background-color .2s ease, color .2s ease, opacity .2s ease;
}

/* Body copy links (footer columns, "Learn more" links, mailto) get a hover color shift only */
main a:not(.wp-element-button):not(.wp-block-button__link),
footer a:not(.wp-element-button):not(.wp-block-button__link) {
	transition: color .2s ease, opacity .2s ease;
}

main a:not(.wp-element-button):not(.wp-block-button__link):hover,
footer a:not(.wp-element-button):not(.wp-block-button__link):hover {
	color: var(--wp--preset--color--accent-1);
}

/* Footer link lists (Services / Platform / Contact): stacked links, no bullets — matches the source */
footer ul.wp-block-list {
	list-style: none;
	padding-left: 0;
	margin-left: 0;
}

footer ul.wp-block-list li {
	margin-left: 0;
}

footer ul.wp-block-list a:hover {
	color: var(--wp--preset--color--base);
	opacity: 1;
}

/* Advantage / trust bullet lists in the main content: small blue dot instead of a black disc */
main ul.wp-block-list:not(.has-numbered-marker) li::marker {
	color: var(--wp--preset--color--accent-1);
	font-size: .6em;
}

/* FAQ accordions: replace the native disclosure triangle with a rotating "+" like the source */
.wp-block-details {
	border-bottom: 1px solid var(--wp--preset--color--accent-6);
	padding: 1.5rem 0;
}

.wp-block-details summary {
	list-style: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	font-weight: 500;
}

.wp-block-details summary::-webkit-details-marker {
	display: none;
}

.wp-block-details summary::after {
	content: "+";
	flex-shrink: 0;
	color: var(--wp--preset--color--accent-1);
	transition: transform .2s ease;
}

.wp-block-details[open] summary::after {
	transform: rotate(45deg);
}

/* Card / link groups: subtle hover lift for bordered cards and highlight boxes */
main .wp-block-group[style*="border-width:1px"] {
	transition: border-color .2s ease, background-color .2s ease;
}

footer.wp-block-template-part {
	margin-top: 0 !important;
}

.number-visa {
	flex: none;
}


@media (max-width: 768px) {
	.hide-movil {
		display: none !important;
	}
}

/*
 * Contact form (Contact Form 7 on /contact): visual parity with the
 * Lovable reference card — "mid" fields sit two-up, "full" fields
 * (checkbox group, message, submit) span the full width.
 */
.form-contacto .wpcf7-form {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0 1.25rem;
	background-color: var(--wp--preset--color--accent-5);
	border-radius: 2px;
	padding: 2rem;
}

.form-contacto .wpcf7-form .mid,
.form-contacto .wpcf7-form .full {
	margin-bottom: 1.5rem;
}

.form-contacto .wpcf7-form .full {
	grid-column: 1 / -1;
}

.form-contacto .wpcf7-form .mid p,
.form-contacto .wpcf7-form .full p {
	margin: 0;
}

.form-contacto .wpcf7-form label {
	display: block;
	font-size: 12px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: .15em;
	color: color-mix(in oklab, var(--wp--preset--color--contrast) 70%, transparent);
}

.form-contacto .wpcf7-form .wpcf7-form-control-wrap {
	display: block;
	margin-top: .5rem;
}

.form-contacto .wpcf7-form input[type="text"],
.form-contacto .wpcf7-form input[type="email"],
.form-contacto .wpcf7-form textarea {
	width: 100%;
	border: 1px solid var(--wp--preset--color--accent-6);
	border-radius: 2px;
	background-color: var(--wp--preset--color--base);
	padding: .75rem 1rem;
	font-size: 14px;
	color: var(--wp--preset--color--contrast);
	transition: border-color .2s ease;
	box-sizing: border-box;
}

.form-contacto .wpcf7-form textarea {
	height: 7.5rem;
	resize: vertical;
}

.form-contacto .wpcf7-form input[type="text"]:focus,
.form-contacto .wpcf7-form input[type="email"]:focus,
.form-contacto .wpcf7-form textarea:focus {
	border-color: var(--wp--preset--color--contrast);
	outline: none;
	box-shadow: none;
}

/* "I'm interested in" checkbox group: bordered chips, two-up */
.form-contacto .wpcf7-form .wpcf7-checkbox {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: .5rem;
	margin-top: .75rem;
}

.form-contacto .wpcf7-form .wpcf7-list-item {
	display: block;
	margin: 0;
}

.form-contacto .wpcf7-form .wpcf7-list-item label {
	display: flex;
	align-items: center;
	gap: .5rem;
	border: 1px solid var(--wp--preset--color--accent-6);
	border-radius: 2px;
	padding: .625rem .75rem;
	background-color: var(--wp--preset--color--base);
	cursor: pointer;
	font-size: 13.5px;
	font-weight: 400;
	text-transform: none;
	letter-spacing: normal;
	color: var(--wp--preset--color--contrast);
	transition: border-color .2s ease;
}

.form-contacto .wpcf7-form .wpcf7-list-item label:hover {
	border-color: var(--wp--preset--color--contrast);
}

.form-contacto .wpcf7-form .wpcf7-list-item input[type="checkbox"] {
	accent-color: var(--wp--preset--color--contrast);
	margin: 0;
}

/* Submit button */
.form-contacto .wpcf7-form input[type="submit"] {
	width: 100%;
	border: none;
	border-radius: 2px;
	background-color: var(--wp--preset--color--contrast);
	padding: 1rem 1.75rem;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--wp--preset--color--base);
	cursor: pointer;
	transition: background-color .2s ease;
}

.form-contacto .wpcf7-form input[type="submit"]:hover {
	background-color: var(--wp--preset--color--accent-2);
}

.title-line {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: flex-start;
    gap: 10px
}

.title-line::before {
	content: "";
	width: 30px;
	height: 1px;
	background-color: #5d646f;
}

.single .entry-content h2 {
    font-size: 30px;
    margin-top: 40px;
}

.single .entry-content h3 {
    font-size: 20px;
    margin-top: 30px;
}

.single .entry-content a {
	color: var(--wp--preset--color--accent-1) !important;
}


@media (max-width: 640px) {
	.form-contacto .wpcf7-form {
		grid-template-columns: 1fr;
	}

	.form-contacto .wpcf7-form .mid {
		grid-column: 1 / -1;
	}

	.form-contacto .wpcf7-form .wpcf7-checkbox {
		grid-template-columns: 1fr;
	}
}
