/* ==========================================================================
   MyTrueFit Corrector - Site-wide Mobile Responsiveness
   ========================================================================== */

/* Hard stop horizontal scroll */
html,
body {
	max-width: 100%;
	overflow-x: hidden;
}

img,
video,
iframe,
svg,
embed,
object {
	max-width: 100%;
	height: auto;
}

.dcs-container {
	width: 100%;
	max-width: 1180px;
	box-sizing: border-box;
}

/* Tables that can overflow */
.dcs-size__table-wrap,
.dcs-table-scroll,
.woocommerce table.shop_table {
	display: block;
	width: 100%;
	max-width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

/* ==========================================================================
   Tablet ≤ 992px
   ========================================================================== */
@media (max-width: 992px) {
	.dcs-home .dcs-hero__actions,
	.dcs-home .dcs-final-cta__actions,
	.dcs-home .dcs-offer__list {
		width: 100%;
	}

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

	.dcs-home .dcs-hero__actions .dcs-btn {
		width: 100%;
		justify-content: center;
		text-align: center;
		white-space: normal;
	}

	.dcs-home .dcs-hero__trust {
		flex-direction: column;
		gap: 10px;
	}

	.dcs-home .dcs-section-header {
		margin-bottom: 36px;
		padding: 0 4px;
	}

	.dcs-reviews-hero__stats {
		flex-wrap: wrap;
		justify-content: center;
	}

	.dcs-contact .dcs-form-row {
		grid-template-columns: 1fr !important;
	}
}

/* ==========================================================================
   Mobile ≤ 768px
   ========================================================================== */
@media (max-width: 768px) {
	:root {
		--dcs-container-pad: 16px;
	}

	/* Full-bleed custom pages */
	.dcs-homepage .site-content > .ast-container,
	.dcs-homepage #primary,
	.dcs-about-page .site-content > .ast-container,
	.dcs-about-page #primary,
	.dcs-contact-page .site-content > .ast-container,
	.dcs-contact-page #primary,
	.dcs-faqs-page .site-content > .ast-container,
	.dcs-faqs-page #primary,
	.dcs-reviews-page .site-content > .ast-container,
	.dcs-reviews-page #primary,
	.dcs-legal-page .site-content > .ast-container,
	.dcs-legal-page #primary,
	.dcs-product-page .site-content > .ast-container,
	.dcs-product-page #primary,
	.woocommerce-cart .site-content > .ast-container,
	.woocommerce-checkout .site-content > .ast-container {
		max-width: 100% !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		margin: 0 !important;
	}

	.ast-container {
		padding-left: var(--dcs-container-pad) !important;
		padding-right: var(--dcs-container-pad) !important;
	}

	.dcs-homepage .ast-container,
	.dcs-about-page .ast-container,
	.dcs-contact-page .ast-container,
	.dcs-faqs-page .ast-container,
	.dcs-reviews-page .ast-container,
	.dcs-legal-page .ast-container,
	.dcs-product-page .ast-container {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	/* Buttons */
	.dcs-btn,
	.dcs-btn--primary,
	.dcs-btn--light,
	.dcs-btn--lg,
	.dcs-btn--outline,
	.dcs-btn--outline-dark,
	.dcs-btn--outline-light {
		min-height: 48px;
		padding-left: 20px;
		padding-right: 20px;
		white-space: normal;
		text-align: center;
		line-height: 1.3;
	}

	.dcs-home .dcs-final-cta__actions,
	.dcs-home .dcs-offer__content > .dcs-btn,
	.dcs-home .dcs-split__content > .dcs-btn,
	.dcs-home .dcs-daily__content > .dcs-btn,
	.dcs-home .dcs-size__table-wrap > .dcs-btn,
	.dcs-home .dcs-guarantee__content > .dcs-btn,
	.dcs-home .dcs-testimonials__more .dcs-btn {
		width: 100%;
		max-width: 100%;
		justify-content: center;
	}

	.dcs-home .dcs-final-cta__actions {
		flex-direction: column;
		align-items: stretch;
	}

	/* Typography */
	.dcs-home .dcs-hero__brand {
		font-size: clamp(1.35rem, 6vw, 1.85rem);
	}

	.dcs-home .dcs-hero__title {
		font-size: 1.05rem;
	}

	.dcs-home .dcs-hero__text,
	.dcs-home .dcs-intro__copy p,
	.dcs-home .dcs-split__content p,
	.dcs-home .dcs-daily__content p {
		font-size: 0.98rem;
	}

	.dcs-home .dcs-section-header h2,
	.dcs-home .dcs-intro__copy h2,
	.dcs-home .dcs-split__content h2,
	.dcs-home .dcs-daily__content h2,
	.dcs-home .dcs-offer__content h2,
	.dcs-home .dcs-final-cta h2 {
		font-size: clamp(1.45rem, 6.5vw, 1.9rem);
		word-wrap: break-word;
		overflow-wrap: break-word;
	}

	/* Hero */
	.dcs-home .dcs-hero__layout {
		grid-template-columns: 1fr !important;
		min-height: 0 !important;
		padding: 24px var(--dcs-container-pad) 40px !important;
		gap: 20px !important;
	}

	.dcs-home .dcs-hero__media {
		order: -1;
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		position: relative !important;
	}

	.dcs-home .dcs-hero__media img {
		width: 100% !important;
		height: auto !important;
		max-height: 280px !important;
		object-fit: cover !important;
	}

	.dcs-home .dcs-hero__inner {
		padding: 0 !important;
	}

	.dcs-home .dcs-hero__content {
		max-width: 100%;
	}

	/* Size guide table */
	.dcs-home .dcs-size__table-wrap {
		margin: 0 -4px;
		padding: 0 4px;
	}

	.dcs-home .dcs-size__table {
		min-width: 420px;
		font-size: 0.78rem;
	}

	.dcs-home .dcs-size__table th,
	.dcs-home .dcs-size__table td {
		padding: 10px 8px;
		white-space: nowrap;
	}

	/* Offer */
	.dcs-home .dcs-offer__price {
		gap: 8px 12px;
	}

	.dcs-home .dcs-offer__now {
		font-size: 1.65rem;
	}

	.dcs-home .dcs-offer__was {
		font-size: 1rem;
	}

	/* Steps */
	.dcs-home .dcs-steps-list li {
		grid-template-columns: 32px 1fr;
		gap: 12px;
		font-size: 0.95rem;
	}

	.dcs-home .dcs-steps-list li::before {
		width: 32px;
		height: 32px;
		font-size: 13px;
	}

	/* Guarantee */
	.dcs-home .dcs-guarantee__inner {
		flex-direction: column;
		text-align: center;
		gap: 20px;
	}

	.dcs-home .dcs-guarantee__badge {
		width: 88px;
		height: 88px;
	}

	/* Topbar */
	.dcs-topbar__text {
		padding: 0 4px;
		line-height: 1.45;
		word-wrap: break-word;
	}

	/* Reviews page stats */
	.dcs-reviews-hero__stats {
		display: grid;
		grid-template-columns: 1fr;
		gap: 16px;
		width: 100%;
	}

	.dcs-reviews-stat {
		min-width: 0;
		width: 100%;
	}

	/* Contact form */
	.dcs-contact-form .dcs-form-row {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 14px;
	}

	.dcs-contact-form-wrap {
		padding: 24px 16px !important;
	}

	.dcs-contact-form .dcs-btn {
		width: 100%;
	}

	/* FAQs */
	.dcs-faq-item__question {
		text-align: left;
		gap: 12px;
		padding: 14px 12px;
		font-size: 15px;
		line-height: 1.4;
	}

	.dcs-faqs-cta__actions {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 12px;
	}

	.dcs-faqs-cta__actions .dcs-btn {
		width: 100%;
		max-width: 100%;
		justify-content: center;
	}

	/* Product */
	.dcs-product__features-grid {
		grid-template-columns: 1fr !important;
	}

	.dcs-product__trust {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}

	.dcs-product__payments {
		flex-wrap: wrap;
		gap: 8px;
	}

	.dcs-product .single_add_to_cart_button,
	.dcs-product form.cart .button {
		width: 100% !important;
		max-width: 100% !important;
	}

	.dcs-product form.cart {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 12px;
	}

	.dcs-product form.cart .quantity {
		width: 100%;
	}

	.dcs-product form.cart .quantity .qty {
		width: 100%;
		max-width: 100%;
		min-height: 48px;
	}

	/* WooCommerce cart / checkout */
	.woocommerce-cart .woocommerce,
	.woocommerce-checkout .woocommerce,
	.woocommerce-account .woocommerce {
		padding-left: var(--dcs-container-pad);
		padding-right: var(--dcs-container-pad);
	}

	.woocommerce-cart table.cart td.actions .coupon {
		display: flex;
		flex-direction: column;
		gap: 10px;
		width: 100%;
	}

	.woocommerce-cart table.cart td.actions .coupon .input-text,
	.woocommerce-cart table.cart td.actions .coupon .button,
	.woocommerce-cart table.cart td.actions > .button {
		width: 100% !important;
		float: none !important;
	}

	.woocommerce-checkout .col2-set,
	.woocommerce-checkout #customer_details {
		display: block !important;
		width: 100% !important;
	}

	.woocommerce-checkout .col2-set .col-1,
	.woocommerce-checkout .col2-set .col-2 {
		width: 100% !important;
		float: none !important;
		max-width: 100% !important;
	}

	.woocommerce #payment #place_order,
	.woocommerce-checkout #place_order {
		width: 100% !important;
		float: none !important;
		min-height: 48px;
	}

	/* Legal */
	.dcs-legal .dcs-legal-content,
	.dcs-legal .dcs-legal-main {
		padding-left: var(--dcs-container-pad);
		padding-right: var(--dcs-container-pad);
	}
}

/* ==========================================================================
   Small phones ≤ 480px
   ========================================================================== */
@media (max-width: 480px) {
	:root {
		--dcs-container-pad: 14px;
	}

	.dcs-home .dcs-intro,
	.dcs-home .dcs-pain,
	.dcs-home .dcs-split,
	.dcs-home .dcs-benefits,
	.dcs-home .dcs-results,
	.dcs-home .dcs-compare,
	.dcs-home .dcs-how-it-works,
	.dcs-home .dcs-daily,
	.dcs-home .dcs-size,
	.dcs-home .dcs-offer,
	.dcs-home .dcs-testimonials,
	.dcs-home .dcs-guarantee,
	.dcs-home .dcs-final-cta {
		padding: 48px 0;
	}

	.dcs-home .dcs-hero__media {
		height: auto !important;
		min-height: 0 !important;
	}

	.dcs-home .dcs-hero__media img {
		max-height: 220px !important;
	}

	.dcs-home .dcs-benefits__grid,
	.dcs-home .dcs-pain__grid,
	.dcs-home .dcs-testimonials__grid {
		grid-template-columns: 1fr;
		gap: 22px;
	}

	.dcs-home .dcs-final-cta__logo {
		max-width: 220px;
	}

	.dcs-header__logo img {
		max-height: 40px;
	}

	.dcs-topbar {
		font-size: 10px;
		padding: 8px 0;
	}

	.dcs-gallery__thumb {
		flex: 0 0 calc(33.333% - 6px) !important;
		width: calc(33.333% - 6px) !important;
	}

	.dcs-product__summary .product_title {
		font-size: 22px !important;
	}

	.dcs-about-cta__logo,
	.dcs-about .dcs-about-cta__logo {
		width: min(220px, 85vw);
	}
}

/* ==========================================================================
   Very small ≤ 360px
   ========================================================================== */
@media (max-width: 360px) {
	:root {
		--dcs-container-pad: 12px;
	}

	.dcs-home .dcs-hero__brand {
		font-size: 1.25rem;
	}

	.dcs-header__logo img {
		max-height: 36px;
	}

	.dcs-home .dcs-size__table {
		min-width: 380px;
		font-size: 0.72rem;
	}
}
