/* M01: o tema pai foi desenhado para um viewport fixo de 500 px. Ajustes para largura real. */
img, iframe { max-width: 100%; }
body { overflow-x: hidden; }

/* Unidade em telas estreitas: foto, miniaturas, preço, reserva, itens e períodos, nesta ordem e numa coluna só. */
@media (max-width: 991px) {
	.contentSuiteOpen { padding: 0 0 8px; }
	.contentSuiteOpen .capa, .contentSuiteOpen .galeria, .contentSuiteOpen > .row .suitDescription { padding: 0; }
	.contentSuiteOpen > .row { display: flex; flex-wrap: wrap; row-gap: 14px; margin: 0; }
	.contentSuiteOpen > .row > [class*="col-"] { display: contents; }
	.contentSuiteOpen > .row > [class*="col-"] > * { flex: 0 0 100%; min-width: 0; max-width: 100%; margin: 0; }
	.contentSuiteOpen .capa { order: 1; }
	.contentSuiteOpen .galeria { order: 2; }
	.contentSuiteOpen .valorDoPeriodo { order: 3; }
	.contentSuiteOpen .botReservaWhatsApp { order: 4; }
	.contentSuiteOpen .suitDescription { order: 5; }
	.contentSuiteOpen .informacoesSobreReservas { order: 6; }

	/* Miniaturas em uma fileira que desliza, para não empurrar o preço para longe. */
	.contentSuiteOpen .galeria .gallery { display: flex; gap: 8px; margin: 0; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; }
	.contentSuiteOpen .galeria .gallery::-webkit-scrollbar { display: none; }
	.contentSuiteOpen .galeria .gallery > br { display: none; }
	.contentSuiteOpen .galeria .gallery .gallery-item { flex: 0 0 27%; width: auto !important; margin: 0 !important; scroll-snap-align: start; }
	.contentSuiteOpen .galeria .gallery .gallery-icon img { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; border: 0 !important; border-radius: 10px; object-fit: cover; }

	.contentSuiteOpen .capa img { border-radius: 14px; }
	.contentSuiteOpen .valorDoPeriodo { padding: 12px 16px; }
	.contentSuiteOpen .valorDoPeriodo h4 { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 0; }
	.contentSuiteOpen .valorDoPeriodo h4 img { flex: none; width: 30px; height: 30px; margin: 0; }
	.contentSuiteOpen .botReservaWhatsApp a { margin: 0; }
}

/* Topo da suíte: logo ao lado do nome. "Nossas Suítes" já está na trilha logo acima. */
@media (max-width: 767px) {
	.nossasSuitesPG > .container:has(> .LogoSuite) { display: flex; align-items: center; justify-content: center; gap: 12px; margin-bottom: 18px; }
	.nossasSuitesPG .LogoSuite { flex: none; width: 46px; height: 46px; margin: 0; padding: 7px; border-radius: 12px; }
	.nossasSuitesPG > .container:has(> .LogoSuite) h1, .nossasSuitesPG > .container:has(> .LogoSuite) h2 { flex: 0 1 auto; width: auto; margin: 0; padding: 0; font-size: 0; line-height: 1; text-align: left; }
	.nossasSuitesPG > .container:has(> .LogoSuite) .fa-caret-right { display: none; }
	.nossasSuitesPG > .container:has(> .LogoSuite) strong { display: block; color: #fff; font-family: Sora, sans-serif; font-size: 26px; font-weight: 700; line-height: 1.15; }
}

@media (max-width: 700px) {
	.hero { height: auto; min-height: 80svh; padding: 190px 0 36px; }
	.hero h1 { font-size: clamp(28px, 8.6vw, 38px); margin-left: 12px; }
	.hero .fraseApresentacao { width: 92%; padding: 0 16px 14px; }
	.boxPromocoesSuites { margin-top: 0; padding-top: 20px; }

	/* O botão sobreposto cobria o texto do anúncio: fica abaixo da imagem. */
	.anuncioHomeESobre .sliderANunciosHome .item { text-align: center; }
	.anuncioHomeESobre .sliderANunciosHome a { display: inline-block; float: none; margin: 8px 0 0; padding: 6px 18px; font-size: 13px; }

	.nossasSuitesPG h1 .fa-caret-right, .nossasSuitesPG h2 .fa-caret-right { padding: 0 8px; font-size: 22px; }
	.nossasSuitesPG h1 strong, .nossasSuitesPG h2 strong { display: block; }
	.contentSuiteOpen .informacoesSobreReservas { padding: 16px 12px; }

	.pushy { max-width: 86vw; }
	.footer .botEstouNaSuite { width: 100%; padding: 11px 16px; margin-left: 0; font-size: 14px; }
	.footer .col-footer { width: 100%; }
	.formPedido .row > div { width: 100%; max-width: 100%; flex: 0 0 100%; }
	.oMotelColiseum { padding-left: 14px; padding-right: 14px; }
	.suitesSlider { padding-left: 12px; padding-right: 12px; }
}
