/**
 * Site-wide responsive layout + spacing (uses spacing-system.css tokens).
 * Home about → home-about.css + home-about-stats.css
 * Desktop (1441px+): style.css only.
 *
 * @package dreamtime
 */

/* ================================================================== 1440px */
@media (max-width: 1440px) {
	.container {
		width: var(--dt-container);
	}
}

/* ================================================================== 1280px */
@media (max-width: 1280px) {
	#home_why {
		margin-top: var(--dt-section-gap);
	}

	#home_why_head h2 {
		font-size: var(--dt-h2);
	}

	#home_latest_product {
		margin-top: var(--dt-section-gap);
		margin-bottom: var(--dt-section-y);
	}

	#home_product {
		margin-top: var(--dt-section-gap);
		padding-top: var(--dt-section-y);
		padding-bottom: calc(var(--dt-section-y) + 12px);
	}
}

/* ================================================================== 1200px */
@media (max-width: 1200px) {
	#other_page_header_l h1 {
		font-size: var(--dt-h1-hero);
	}

	#other_page_header .container {
		gap: var(--dt-grid-gap);
	}

	#home_latest_product_head h2,
	#home_product_head h2 {
		font-size: var(--dt-h2);
	}
}

/* ================================================================== 991px — tablet layout */
@media (max-width: 991px) {
	/* ---- shared heroes ---- */
	#other_page_header,
	#other_page_header_image_second,
	#product_hero,
	.page-template-product_view_2 #product_hero {
		padding-top: var(--dt-hero-pt);
		padding-bottom: var(--dt-hero-pb);
	}

	#contact_hero {
		padding-top: var(--dt-hero-pt);
		padding-bottom: var(--dt-hero-pb);
	}

	#contact_hero .container {
		gap: var(--dt-grid-gap);
		flex-wrap: wrap;
	}

	#contact_hero_l,
	#contact_hero_r {
		width: 100%;
	}

	.dreamtime-breadcrumb {
		margin-bottom: 6px;
	}

	.dreamtime-breadcrumb ol {
		gap: 6px;
	}

	/* ---- page header ---- */
	#other_page_header .container,
	#other_page_header_image_second .container {
		gap: var(--dt-stack-gap);
	}

	#other_page_header_l,
	#other_page_header_r,
	#other_page_header_image_second_l,
	#other_page_header_image_second_r {
		width: 100%;
		float: none;
	}

	#other_page_header_l h1 {
		font-size: var(--dt-h1-page);
		margin-bottom: 12px;
		line-height: 1.15;
	}

	#other_page_header_l h2 {
		font-size: 19px;
		line-height: 1.5;
	}

	#other_page_header_r {
		padding-top: 0;
	}

	#other_page_header_r p {
		font-size: var(--dt-body);
		line-height: var(--dt-lead-lh);
		margin-bottom: 12px;
	}

	#other_page_header_r p:last-child {
		margin-bottom: 0;
	}

	/* ---- homepage: why choose ---- */
	#home_why {
		margin-top: var(--dt-section-gap);
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--dt-grid-gap);
		width: 100%;
	}

	#home_why_head {
		grid-column: 1 / -1;
		margin-bottom: var(--dt-head-mb);
	}

	#home_why_head h2 {
		font-size: var(--dt-h2);
		margin-bottom: 8px;
	}

	#home_why_head p {
		width: 92%;
		margin-left: 4%;
		margin-right: 4%;
		font-size: 17px;
		line-height: 1.65;
	}

	.home_why_box {
		width: auto;
		float: none;
		margin-bottom: 0;
		display: flex;
		flex-direction: column;
		overflow: hidden;
	}

	.home_why_box::after {
		display: none;
	}

	.home_why_box_img_l,
	.home_why_box_img_r {
		width: 100%;
		height: 220px;
		float: none;
		object-fit: cover;
		display: block;
		flex-shrink: 0;
		order: 0;
	}

	.home_why_box_content_l,
	.home_why_box_content_r {
		width: 100%;
		height: auto;
		min-height: 0;
		float: none;
		flex: 1 1 auto;
		padding: 24px 22px;
		order: 1;
	}

	.home_why_box h3 {
		font-size: 19px;
		margin-bottom: 10px;
		line-height: 1.3;
	}

	.home_why_box p {
		font-size: var(--dt-body);
		line-height: 1.62;
	}

	/* ---- homepage: latest product ---- */
	#home_latest_product {
		margin-top: var(--dt-section-gap);
		margin-bottom: var(--dt-section-y);
	}

	#home_latest_product_head {
		margin-bottom: var(--dt-head-mb);
	}

	#home_latest_product_head h2 {
		font-size: var(--dt-h2);
		margin-bottom: 12px;
	}

	#home_latest_product_head p {
		width: 90%;
		margin-left: 5%;
		margin-right: 5%;
		font-size: 17px;
		line-height: 1.65;
	}

	#home_latest_product_box_l,
	#home_latest_product_box_r {
		width: 100%;
		float: none;
	}

	.latest_product_img {
		height: min(420px, 52vw);
	}

	#home_latest_product_box_r {
		height: auto;
		padding: var(--dt-section-y) clamp(24px, 4vw, 45px);
	}

	.latest_content h3 {
		font-size: clamp(28px, 4vw, 34px);
		line-height: 1.25;
		margin-bottom: 16px;
	}

	.latest_content p {
		font-size: var(--dt-body);
		line-height: 1.65;
		margin-bottom: 20px;
	}

	/* ---- homepage: product carousel ---- */
	#home_product {
		margin-top: var(--dt-section-gap);
		padding-top: var(--dt-section-y);
		padding-bottom: calc(var(--dt-section-y) + 16px);
	}

	#home_product_head {
		margin-bottom: var(--dt-head-mb);
	}

	#home_product_head h2 {
		font-size: var(--dt-h2);
		margin-bottom: 10px;
	}

	#home_product_head p {
		font-size: var(--dt-body);
		line-height: 1.65;
	}

	/* ---- footer ---- */
	#footer {
		padding-top: var(--dt-section-y);
	}

	#footer .container {
		gap: var(--dt-grid-gap);
		flex-wrap: wrap;
	}

	#footer_about,
	#footer_branche,
	#footer_links,
	#footer_contact {
		width: 48%;
		flex: 0 0 calc(50% - (var(--dt-grid-gap) / 2));
	}

	#footer_partner {
		padding-top: var(--dt-section-y);
		padding-bottom: var(--dt-section-y);
	}

	#footer_partner h3 {
		font-size: var(--dt-h2);
		margin-bottom: 12px;
	}

	#footer_partner p {
		width: 88%;
		margin-left: 6%;
		margin-right: 6%;
		font-size: 17px;
		line-height: 1.65;
		margin-bottom: 24px;
	}

	#footer_copy {
		margin-top: var(--dt-section-y);
	}

	/* ---- product pages ---- */
	#product_hero_r h1,
	.page-template-product_view_2 #product_hero_r h1 {
		margin-bottom: 18px;
	}

	.product_intro {
		margin-bottom: clamp(22px, 4vw, 32px);
	}

	#product_description,
	#product_specifications,
	#related_products,
	#product_video,
	#product_content,
	.page-template-product_view_2 #product_page #related_products {
		padding-top: var(--dt-section-y);
		padding-bottom: var(--dt-section-y);
	}

	#related_products_head,
	#product_specifications_head,
	#product_description_head {
		margin-bottom: var(--dt-head-mb);
	}

	#related_products_head h2,
	#product_specifications_head h2,
	#product_description_head h2 {
		font-size: var(--dt-h2);
	}

	#related_products_grid {
		gap: var(--dt-grid-gap);
	}

	#product_cta {
		gap: var(--dt-stack-gap);
		flex-wrap: wrap;
	}

	#product_cta .product_btn,
	#product_cta .product_btn_border {
		min-height: var(--dt-btn-min-h);
		padding: 14px 28px;
		font-size: var(--dt-body);
	}

	/* ---- category pages ---- */
	#category_page {
		padding-top: var(--dt-hero-pt);
		padding-bottom: var(--dt-hero-pb);
	}

	#category_page_grid {
		gap: var(--dt-grid-gap);
	}

	.category_box_content {
		padding: clamp(22px, 3vw, 28px);
	}

	.category_box_content h3 {
		font-size: var(--dt-h3);
		margin-bottom: 10px;
	}

	/* ---- collection pages ---- */
	#collection_hero {
		height: auto;
		min-height: 420px;
	}

	#collection_hero_content {
		width: 70%;
	}

	#collection_hero_content h1 {
		font-size: var(--dt-h1-hero);
		line-height: var(--dt-line-heading);
		margin-bottom: 14px;
	}

	#collection_features,
	#collection_products {
		padding-top: var(--dt-section-y);
		padding-bottom: var(--dt-section-y);
	}

	#collection_features_head,
	#collection_products_head {
		margin-bottom: var(--dt-head-mb);
	}

	#collection_features_head h2,
	#collection_products_head h2 {
		font-size: var(--dt-h2);
	}

	#collection_features_grid,
	#collection_products_grid {
		gap: var(--dt-grid-gap);
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	/* ---- contact page ---- */
	#contact_info_section {
		padding-top: var(--dt-section-y);
		padding-bottom: var(--dt-section-y);
	}

	#contact_info_grid {
		gap: var(--dt-grid-gap);
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	#contact_form_section {
		padding-top: var(--dt-section-y);
		padding-bottom: var(--dt-section-y);
	}

	#contact_form_section .container {
		gap: var(--dt-grid-gap);
		flex-wrap: wrap;
	}

	#contact_form_l,
	#contact_form_r {
		width: 100%;
	}

	#contact_form_l h2 {
		font-size: var(--dt-h2);
		margin-bottom: 14px;
	}

	#contact_form_l p {
		font-size: var(--dt-body);
		line-height: var(--dt-lead-lh);
	}

	#contact_form_r {
		padding: clamp(28px, 4vw, 40px);
	}

	#contact_hero_l h1 {
		font-size: var(--dt-h1-hero);
		margin-bottom: 14px;
	}

	#contact_hero_l p {
		font-size: var(--dt-body);
		line-height: var(--dt-lead-lh);
	}

	.contact_btn {
		min-height: var(--dt-btn-min-h);
	}

	.break_line {
		height: clamp(36px, 5vw, 65px);
	}
}

/* ================================================================== 768px */
@media (max-width: 768px) {
	body {
		overflow-x: clip;
	}

	#home_why {
		grid-template-columns: 1fr;
		gap: var(--dt-grid-gap);
	}

	#home_why_head p {
		width: 100%;
		margin-left: 0;
		margin-right: 0;
		font-size: var(--dt-body);
	}

	.home_why_box_img_l,
	.home_why_box_img_r {
		height: 240px;
	}

	.home_why_box h3 {
		font-size: 20px;
		margin-bottom: 12px;
	}

	#home_latest_product_head h2,
	#home_product_head h2 {
		font-size: var(--dt-h2);
	}

	.latest_product_img {
		height: min(380px, 58vw);
	}

	#footer .container {
		flex-direction: column;
		gap: var(--dt-grid-gap);
	}

	#footer_about,
	#footer_branche,
	#footer_links,
	#footer_contact {
		width: 100%;
		flex: none;
	}

	#footer_copy {
		padding-left: 16px;
		padding-right: 16px;
		font-size: 13px;
	}

	#footer_partner a {
		min-height: var(--dt-btn-min-h);
		display: inline-flex;
		align-items: center;
		justify-content: center;
		padding-left: 28px;
		padding-right: 28px;
	}

	.dreamtime-breadcrumb li {
		font-size: 12px;
	}

	#other_page_header_image_second_l h2 {
		font-size: var(--dt-h2);
		margin-bottom: 14px;
	}

	#product_main_image {
		height: min(400px, 56vw);
	}

	.page-template-product_view_2 #product_main_image.main-image {
		height: auto !important;
		min-height: 0 !important;
	}

	.category_box_image {
		height: min(280px, 52vw);
	}

	#collection_hero {
		min-height: 360px;
	}

	#collection_hero_content {
		width: 85%;
	}

	#contact_hero_r img {
		max-height: min(320px, 50vw);
		width: 100%;
		object-fit: cover;
		border-radius: 12px;
	}
}

/* ================================================================== 576px */
@media (max-width: 576px) {
	#product_main_image {
		height: min(320px, 58vw);
	}

	.page-template-product_view_2 #product_main_image.main-image {
		height: auto !important;
		min-height: 0 !important;
	}

	#related_products_head,
	#product_specifications_head {
		margin-bottom: calc(var(--dt-head-mb) + 4px);
	}

	.related_product_image {
		height: 220px;
	}

	.category_box_content {
		padding: 22px 20px;
	}

	.category_box_content h3 {
		font-size: var(--dt-h3);
	}

	.home_why_box_content_l,
	.home_why_box_content_r {
		padding: 22px 20px;
	}

	.home_why_box_img_l,
	.home_why_box_img_r {
		height: 200px;
	}

	#home_latest_product_box_r {
		padding: var(--dt-section-y) 24px;
	}

	.latest_content h3 {
		font-size: 26px;
	}

	#footer_partner {
		padding: var(--dt-section-y) 16px;
	}

	#footer_partner p {
		width: 100%;
		margin-left: 0;
		margin-right: 0;
		font-size: var(--dt-body);
	}

	#collection_hero {
		min-height: 320px;
	}

	#collection_hero_content {
		width: 90%;
	}

	#collection_hero_content h1 {
		font-size: var(--dt-h1-hero);
	}

	#collection_features_grid,
	#collection_products_grid {
		grid-template-columns: 1fr;
	}

	.collection_product_image {
		height: min(280px, 55vw);
	}

	#contact_info_grid {
		grid-template-columns: 1fr;
	}

	#contact_form_r {
		padding: 24px 20px;
	}

	#contact_form_l h2 {
		font-size: var(--dt-h2);
	}

	.break_line {
		height: clamp(28px, 4vw, 40px);
	}
}

/* ================================================================== 480px */
@media (max-width: 480px) {
	#other_page_header_l h1 {
		font-size: var(--dt-h1-page);
	}

	#product_hero_r h1,
	.page-template-product_view_2 #product_hero_r h1 {
		margin-bottom: 14px;
	}

	#home_why_head h2,
	#footer_partner h3 {
		font-size: var(--dt-h2);
	}

	#collection_hero {
		min-height: 280px;
	}
}
