/**
 * Responsive Styles
 * Mobile-first breakpoint overrides
 *
 * @package TheOneOne
 */

/* ==========================================================================
   LARGE DESKTOPS (1440px+)
   ========================================================================== */

@media (min-width: 1440px) {
	:root {
		--tos-container: 1320px;
	}
}

/* ==========================================================================
   TABLET LANDSCAPE & SMALL DESKTOP (1024px and below)
   ========================================================================== */

@media (max-width: 1024px) {
	:root {
		--tos-h-scale: 0.95;
	}

	.site-footer__grid {
		grid-template-columns: 1.5fr 1fr 1fr;
		gap: var(--tos-space-2xl);
	}

	.site-footer__col--contact {
		grid-column: 1 / -1;
	}

	.tos-about__inner,
	.tos-contact__inner {
		gap: var(--tos-space-2xl);
	}

	.tos-program-single__layout {
		grid-template-columns: 1fr;
	}

	.tos-program-single__aside {
		position: static;
		max-width: 480px;
		margin-inline: auto;
	}
}

/* ==========================================================================
   TABLET (900px and below)
   ========================================================================== */

@media (max-width: 900px) {
	/* Header — hide desktop nav, show burger */
	.tos-primary-nav,
	.site-header__cta {
		display: none;
	}

	.tos-burger {
		display: inline-flex;
	}

	.site-header__inner {
		height: 72px;
	}

	.is-scrolled .site-header__inner {
		height: 64px;
	}

	/* Topbar — hide social on tablet */
	.tos-topbar__social {
		display: none;
	}

	/* About — single column */
	.tos-about__inner {
		grid-template-columns: 1fr;
	}

	.tos-about__media {
		max-width: 480px;
		margin-inline: auto;
	}

	.tos-about__features {
		grid-template-columns: 1fr 1fr;
	}

	/* Contact — single column */
	.tos-contact__inner {
		grid-template-columns: 1fr;
	}

	.tos-contact__info {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: var(--tos-space-md);
	}

	/* Single program features list — single column */
	.tos-program-single__features-list {
		grid-template-columns: 1fr;
	}
}

/* ==========================================================================
   MOBILE LANDSCAPE (768px and below)
   ========================================================================== */

@media (max-width: 768px) {
	:root {
		--tos-h-scale: 0.9;
		--tos-section-padding: clamp(2.5rem, 6vw, 4rem);
	}

	/* Topbar — reduce to phone only */
	.tos-topbar__item:not(:first-child) {
		display: none;
	}

	.tos-topbar__inner {
		justify-content: center;
	}

	/* Hero */
	.tos-hero {
		min-height: 92svh;
		padding-top: 80px;
	}

	.tos-hero__title {
		font-size: clamp(1.875rem, 5vw + 0.5rem, 2.75rem);
	}

	.tos-hero__subtitle {
		font-size: 1rem;
	}

	.tos-hero__actions {
		flex-direction: column;
		width: 100%;
		max-width: 320px;
		margin-inline: auto;
	}

	.tos-hero__actions .tos-btn {
		width: 100%;
		justify-content: center;
	}

	.tos-hero__trust {
		grid-template-columns: 1fr;
		gap: var(--tos-space-md);
		padding: var(--tos-space-md);
	}

	.tos-hero__trust-item:not(:last-child) {
		border-bottom: 1px solid rgba(255, 255, 255, 0.15);
		border-inline-end: 0;
		padding-bottom: var(--tos-space-md);
	}

	/* Section heads */
	.tos-section__title {
		font-size: clamp(1.5rem, 4vw + 0.5rem, 2rem);
	}

	.tos-section__lead {
		font-size: 1rem;
	}

	/* Programs — single column */
	.tos-programs__grid {
		grid-template-columns: 1fr;
		gap: var(--tos-space-lg);
	}

	/* About */
	.tos-about__features {
		grid-template-columns: 1fr;
	}

	.tos-about__stats {
		grid-template-columns: repeat(3, 1fr);
		gap: var(--tos-space-md);
	}

	.tos-about__stat-num {
		font-size: 1.75rem;
	}

	/* Testimonials */
	.tos-testimonials__grid {
		grid-template-columns: 1fr;
	}

	/* CTA */
	.tos-cta__box {
		padding: var(--tos-space-2xl) var(--tos-space-lg);
	}

	.tos-cta__title {
		font-size: clamp(1.5rem, 4vw + 0.5rem, 2rem);
	}

	.tos-cta__actions {
		flex-direction: column;
		width: 100%;
		max-width: 320px;
		margin-inline: auto;
	}

	.tos-cta__actions .tos-btn {
		width: 100%;
		justify-content: center;
	}

	/* Contact */
	.tos-contact__info {
		grid-template-columns: 1fr;
	}

	.tos-form__grid {
		grid-template-columns: 1fr;
	}

	.tos-form-wrap {
		padding: var(--tos-space-lg);
	}

	/* Footer */
	.site-footer__grid {
		grid-template-columns: 1fr;
		gap: var(--tos-space-2xl);
	}

	.site-footer__col--contact {
		grid-column: auto;
	}

	.site-footer__bottom-inner {
		flex-direction: column;
		text-align: center;
		gap: var(--tos-space-md);
	}

	/* Single program */
	.tos-program-single__hero-inner {
		padding-block: var(--tos-space-2xl);
		text-align: center;
	}

	.tos-program-single__hero-meta {
		justify-content: center;
	}

	.tos-program-single__price-amount {
		font-size: 1.5rem;
	}

	/* Page hero */
	.tos-page-hero {
		padding-block: var(--tos-space-2xl);
	}

	.tos-page-hero__title {
		font-size: clamp(1.75rem, 4vw + 1rem, 2.5rem);
	}

	/* Distributors */
	.tos-distributors__grid {
		grid-template-columns: 1fr;
	}

	/* Comments */
	.tos-comments {
		padding: var(--tos-space-lg);
	}

	/* WhatsApp float — smaller on mobile */
	.tos-wa-float {
		width: 52px;
		height: 52px;
		inset-block-end: 16px;
		inset-inline-end: 16px;
	}
}

/* ==========================================================================
   MOBILE PORTRAIT (480px and below)
   ========================================================================== */

@media (max-width: 480px) {
	:root {
		--tos-space-2xl: 2.5rem;
		--tos-space-3xl: 3rem;
	}

	.tos-container {
		padding-inline: 1rem;
	}

	/* Hero */
	.tos-hero__eyebrow {
		font-size: 0.75rem;
		padding: 6px 14px;
	}

	.tos-hero__title {
		font-size: clamp(1.625rem, 6vw, 2.25rem);
		line-height: 1.2;
	}

	.tos-hero__stat-num {
		font-size: 1.5rem;
	}

	.tos-hero__stat-label {
		font-size: 0.75rem;
	}

	/* About */
	.tos-about__stats {
		grid-template-columns: 1fr;
		gap: var(--tos-space-sm);
	}

	.tos-about__stat {
		display: flex;
		align-items: center;
		justify-content: space-between;
		text-align: start;
		padding: var(--tos-space-md);
		background: var(--tos-white);
		border-radius: var(--tos-radius-md);
		box-shadow: var(--tos-shadow-sm);
	}

	.tos-about__sticker {
		display: none;
	}

	/* Programs cards */
	.tos-program-card {
		padding: var(--tos-space-lg);
	}

	.tos-program-card__icon {
		width: 56px;
		height: 56px;
	}

	/* Mobile drawer */
	.tos-mobile-drawer__panel {
		width: 100%;
		max-width: none;
	}

	/* Section heads */
	.tos-section__eyebrow {
		font-size: 0.7rem;
	}

	.tos-section__head {
		margin-bottom: var(--tos-space-xl);
	}

	/* Clients */
	.tos-clients__item {
		min-width: 120px;
		height: 60px;
		padding: var(--tos-space-sm);
	}

	.tos-clients__item img {
		max-height: 44px;
		max-width: 120px;
	}
}

/* ==========================================================================
   PRINT
   ========================================================================== */

@media print {
	.site-header,
	.site-footer,
	.tos-topbar,
	.tos-wa-float,
	.tos-hero__indicators,
	.tos-hero__scroll,
	.tos-mobile-drawer,
	.tos-cta,
	.tos-form,
	.comment-respond,
	.tos-pagination,
	#wpadminbar {
		display: none !important;
	}

	body {
		background: #fff;
		color: #000;
		font-size: 11pt;
	}

	.tos-hero {
		min-height: auto;
		padding-block: var(--tos-space-xl);
	}

	a {
		color: #000;
		text-decoration: underline;
	}

	a[href^="http"]::after {
		content: " (" attr(href) ")";
		font-size: 0.85em;
	}
}
