/* =========================================================
   Costa Clima — Responsive rules
   Breakpoints: 1200 / 1024 / 768 / 480
   ========================================================= */

/* ---------- ≤ 1200px : slightly tighter desktop ---------- */
@media (max-width: 1200px) {
	.services__grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

/* ---------- ≤ 1024px : tablet ---------- */
@media (max-width: 1024px) {
	:root {
		--cc-header-h: 76px;
	}

	.cc-menu {
		gap: 16px;
	}

	.cc-menu a {
		font-size: 13.5px;
	}

	.cc-header-cta span {
		display: none;
	}

	.cc-header-cta {
		padding: 12px;
		border-radius: 50%;
	}

	.cc-header-cta i {
		font-size: 18px;
	}

	.benefits-bar__list {
		grid-template-columns: repeat(2, 1fr);
	}

	.benefit-item:nth-child(2)::before {
		display: none;
	}

	.benefit-item:nth-child(odd) {
		border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	}

	.benefit-item:nth-child(even) {
		border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	}

	.section-head {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
	}

	.section-head__aside {
		max-width: none;
	}

	.services__grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.numbers__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 36px 24px;
	}

	.environments__inner,
	.brands__inner {
		grid-template-columns: 1fr;
	}

	.environments__aside {
		max-width: 640px;
	}

	.environments__grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.brands__grid {
		grid-template-columns: repeat(4, 1fr);
	}

	.brands__content {
		gap: 24px;
	}

	.testimonials__grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.testimonials__grid .testimonial-card:last-child {
		grid-column: span 2;
	}

	.final-cta__inner {
		grid-template-columns: 1fr;
		text-align: left;
		gap: 28px;
	}

	.site-footer__grid {
		grid-template-columns: 1fr 1fr;
		row-gap: 40px;
	}

	.post-list {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* ---------- ≤ 768px : mobile ---------- */
@media (max-width: 768px) {
	:root {
		--cc-header-h: 68px;
		--cc-gutter: 20px;
	}

	.main-navigation {
		display: none;
	}

	.cc-header-cta {
		display: none;
	}

	.hamburger {
		display: flex;
	}

	.hero {
		padding-block: 48px 88px;
	}

	.hero__content {
		max-width: 100%;
	}

	.hero__actions {
		flex-direction: column;
		align-items: stretch;
	}

	.hero__actions .btn {
		width: 100%;
	}

	.benefits-bar {
		margin-top: -48px;
	}

	.benefits-bar__list {
		grid-template-columns: 1fr;
		border-radius: var(--cc-radius);
	}

	.benefit-item {
		padding: 22px 20px;
	}

	.benefit-item::before {
		display: none;
	}

	.benefit-item:not(:last-child) {
		border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	}

	.services {
		padding-block: 64px 56px;
	}

	.services__grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.service-card {
		padding: 26px 22px 60px;
	}

	.environments {
		padding-block: 64px;
	}

	.environments__grid {
		grid-template-columns: 1fr;
		max-width: 420px;
		margin-inline: auto;
	}

	.brands {
		padding-block: 56px;
	}

	.brands__grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.brands__cta {
		align-self: stretch;
		text-align: center;
	}

	.testimonials {
		padding-block: 64px;
	}

	.testimonials__grid {
		grid-template-columns: 1fr;
	}

	.testimonials__grid .testimonial-card:last-child {
		grid-column: auto;
	}

	.final-cta__headline {
		font-size: clamp(22px, 6vw, 28px);
	}

	.final-cta__action {
		align-items: stretch;
	}

	.final-cta__action .btn {
		width: 100%;
	}

	.site-footer__grid {
		grid-template-columns: 1fr;
		gap: 36px;
		text-align: left;
	}

	.post-list {
		grid-template-columns: 1fr;
	}

	.numbers__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* ---------- ≤ 480px : small phones ---------- */
@media (max-width: 480px) {
	:root {
		--cc-gutter: 16px;
	}

	.btn {
		padding: 14px 22px;
		font-size: 13px;
	}

	.hero__eyebrow {
		font-size: 11.5px;
	}

	.hero__headline {
		font-size: clamp(30px, 9vw, 38px);
	}

	.hero__description {
		font-size: 15px;
	}

	.section-title {
		font-size: clamp(24px, 8vw, 30px);
	}

	.benefit-item {
		flex-direction: column;
		gap: 12px;
	}

	.numbers__grid {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.brands__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 14px;
	}

	.brand-item {
		height: 68px;
		padding: 10px;
	}

	.testimonial-card {
		padding: 26px 20px;
	}

	.mobile-menu__panel {
		width: 100vw;
	}

	.cc-whatsapp-float {
		right: 16px;
		bottom: 16px;
		width: 50px;
		height: 50px;
		font-size: 22px;
	}
}

/* ---------- No-overflow safety net ---------- */
html,
body {
	max-width: 100%;
}

.cc-container,
.site-header__inner,
.hero__inner,
.services__grid,
.environments__grid,
.brands__grid,
.testimonials__grid {
	max-width: 100%;
}
