/**
 * Shared frontend layout — max width + responsive horizontal padding.
 *
 * Desktop (≥1280px): 50px
 * Laptop  (≥1024px): 30px
 * Tablet  (≥768px):  20px
 * Mobile  (<768px):  15px
 */

:root {
	--dap-layout-max-width: 1120px;
	--dap-layout-padding-x: 15px;
}

@media (min-width: 768px) {
	:root {
		--dap-layout-padding-x: 20px;
	}
}

@media (min-width: 1024px) {
	:root {
		--dap-layout-padding-x: 30px;
	}
}

@media (min-width: 1280px) {
	:root {
		--dap-layout-padding-x: 50px;
	}
}

/* Unified page container for all plugin frontend views */
.dap-layout,
.dap-single-doctor-profile,
.dap-single-department-profile,
.dap-list-wrap,
.dap-appointment-form-wrapper {
	width: 100%;
	max-width: var(--dap-layout-max-width);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--dap-layout-padding-x);
	padding-right: var(--dap-layout-padding-x);
	box-sizing: border-box;
}

.dap-single-doctor-profile,
.dap-single-department-profile,
.dap-list-wrap,
.dap-appointment-form-wrapper {
	margin-bottom: 48px;
}

/* Let plugin pages use full theme content width; inner .dap-layout constrains content */
body.dap-doc-archive .site-main,
body.dap-dept-archive .site-main,
body.dap-plugin-archive .site-main,
body.dap-plugin-booking .site-main,
body.dap-plugin-single .site-main,
body.dap-plugin-single .entry-content,
.dap-archive-main {
	width: 100%;
	max-width: none;
	box-sizing: border-box;
}

/* Avoid theme inner padding stacking with plugin layout padding */
body.dap-plugin-single .entry-content,
body.dap-doc-archive .site-main > .entry-content,
body.dap-dept-archive .site-main > .entry-content {
	padding-left: 0;
	padding-right: 0;
}

.dap-archive-main {
	padding-top: 24px;
	padding-bottom: 24px;
}

@media (max-width: 767px) {
	.dap-single-doctor-profile {
		padding-bottom: 80px;
	}
}
