
@media screen and (max-width: 991px) {
  .order-last {
    	order: 0;
  }
}

@media screen and (max-width: 575px) {
	/* Scroll snap más preciso en mobile */
	#main {
		scroll-snap-type: y mandatory;
	}

	#main section {
		min-height: 100vh;
		height: 100vh; /* Altura fija para scroll snap preciso */
		scroll-snap-align: start;
		scroll-snap-stop: always;
		padding: 0;
		overflow-y: auto; /* Permitir scroll interno si el contenido es muy largo */
	}

	#main section .row {
		padding-top: 90px; /* Más espacio para que no se solape con el header */
		padding-bottom: 70px; /* Espacio para el footer compacto en mobile */
	}

	#footer {
		padding: 5px 0;
		overflow: hidden;
	}

	#footer .container {
		padding: 0 8px;
		max-width: 100%;
	}

	#footer .row {
		display: grid;
		grid-template-columns: 1fr auto 45px;
		gap: 5px;
		align-items: center;
		margin: 0;
	}

	/* Ocultar completamente el título "Información de Contacto" */
	#footer .col-sm-3.footer-menu {
		display: none !important;
	}

	/* Contacto a la izquierda - muy compacto */
	#footer .col-sm-4 {
		grid-column: 1;
		padding: 0;
		min-width: 0;
		overflow: hidden;
	}

	/* Logo a la derecha - mini */
	#footer .col-sm-5.footer-logo {
		grid-column: 3;
		padding: 0;
		text-align: right;
	}

	#footer .footer-logo img {
		max-width: 40px;
		display: block;
		margin-left: auto;
	}

	#footer .footer-contact ul {
		padding: 0;
		margin: 0;
		text-align: left;
	}

	#footer .footer-contact li {
		font-size: 0.42em;
		line-height: 1.2em;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		max-width: 100%;
	}

	/* Redes sociales en el centro - muy compactas */
	#footer .footer-social {
		margin-top: 2px;
		grid-column: 2;
	}

	#footer .footer-social ul {
		padding: 0;
		margin: 0;
		display: flex;
		gap: 2px;
		justify-content: center;
	}

	#footer .footer-social li {
		font-size: 0.75em;
	}

	/* Botones de planes lado a lado en mobile */
	#planes .row .row {
		gap: 8px;
		margin-top: 0px; /* Totalmente pegado al texto en mobile */
		margin-bottom: 25px; /* Espacio de seguridad antes de la imagen */
	}

	#planes .row .row .col {
		flex: 1 1 0; /* Mismo tamaño para ambos */
		max-width: 160px;
	}

	#planes .btn-red {
		width: 100%;
		min-width: 0;
		padding: 11px 20px;
		font-size: 13px;
	}

	#planes p {
		margin-bottom: 0px; /* Sin espacio entre texto y botones */
	}

	h2 {
		font-size: 1.6rem;
		padding-bottom: 10px;
	}

	#main section p {
		padding-bottom: 5px;
	}

	.anchor {
		top: -60px;
	}

	#cotizaButton {
		margin-top: 0.8em;
		width: 100%;
	}

	/* Ajustar fondos para mobile viewport - más cerca del texto */
	#intro {
		background-size: 120%;
		background-position: 50% 45%;
	}

	#planes {
		background-size: 85%;
		background-position: 50% 30%;
	}

	#pagos {
		background-size: 85%;
		background-position: 50% 45%;
	}

	#referidos {
		background-size: 90%;
		background-position: 50% 48%;
	}

	#respaldo {
		background-size: 75%;
		background-position: 50% 45%;
	}

	#cotiza {
		background-size: 150%;
		background-position: 50% 100%;
	}

	#cotiza form {
		margin: 0 1.5em;
	}

	#cotiza input {
		margin-bottom: 1em;
	}

	#cotiza .btn-red {
		margin-top: 0;
	}
}