/**
 * Page template layouts — full width, centered, sidebars, widget areas.
 *
 * @package GraceTheme
 */

:root {
	--gt-content-width: 1200px;
	--gt-sidebar-width: 280px;
}

/* Default page / centered — narrow content */
.gt-page .gt-article {
	max-width: min(var(--gt-content-width), 720px);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--space-4);
	padding-right: var(--space-4);
}

/* Full width — content stretches, constrained by padding */
.gt-page-fullwidth .gt-article {
	max-width: none;
	padding-left: var(--space-4);
	padding-right: var(--space-4);
}

/* Centered — narrow content */
.gt-page-center .gt-article {
	max-width: min(var(--gt-content-width), 720px);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--space-4);
	padding-right: var(--space-4);
}

/* Page layout wrapper for sidebar templates */
.gt-page-layout {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-8);
	max-width: var(--gt-content-width);
	margin: 0 auto;
	padding: 0 var(--space-4);
}

/* Sidebar left */
.gt-layout-sidebar-left {
	flex-direction: row;
}

.gt-layout-sidebar-left .gt-sidebar-left {
	order: 1;
	flex: 0 0 var(--gt-sidebar-width);
	min-width: 200px;
}

.gt-layout-sidebar-left .gt-page-content {
	order: 2;
	flex: 1 1 0;
	min-width: 0;
}

/* Sidebar right */
.gt-layout-sidebar-right {
	flex-direction: row;
}

.gt-layout-sidebar-right .gt-page-content {
	order: 1;
	flex: 1 1 0;
	min-width: 0;
}

.gt-layout-sidebar-right .gt-sidebar-right {
	order: 2;
	flex: 0 0 var(--gt-sidebar-width);
	min-width: 200px;
}

/* Both sidebars */
.gt-layout-sidebar-both {
	flex-direction: row;
}

.gt-layout-sidebar-both .gt-sidebar-left {
	order: 1;
	flex: 0 0 var(--gt-sidebar-width);
	min-width: 180px;
}

.gt-layout-sidebar-both .gt-page-content {
	order: 2;
	flex: 1 1 0;
	min-width: 0;
}

.gt-layout-sidebar-both .gt-sidebar-right {
	order: 3;
	flex: 0 0 var(--gt-sidebar-width);
	min-width: 180px;
}

/* Sidebar styling */
.gt-sidebar {
	padding-top: var(--space-4);
}

.gt-sidebar .gt-widget {
	margin-bottom: var(--space-6);
}

.gt-sidebar .gt-widget:last-child {
	margin-bottom: 0;
}

.gt-sidebar .gt-widget-title {
	font-size: 0.9rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--terracotta);
	margin-bottom: var(--space-3);
}

/* Content top / bottom widget areas */
.gt-widget-area {
	max-width: var(--gt-content-width);
	margin: 0 auto;
	padding: var(--space-6) var(--space-4);
}

.gt-content-top {
	border-bottom: 1px solid var(--linen);
}

.gt-content-bottom {
	border-top: 1px solid var(--linen);
	margin-top: var(--space-8);
}

.gt-widget-area .gt-widget {
	margin-bottom: var(--space-6);
}

.gt-widget-area .gt-widget:last-child {
	margin-bottom: 0;
}

/* Stack on mobile */
@media screen and (max-width: 768px) {
	.gt-page-layout {
		flex-direction: column;
	}

	.gt-layout-sidebar-left .gt-sidebar-left,
	.gt-layout-sidebar-right .gt-sidebar-right,
	.gt-layout-sidebar-both .gt-sidebar-left,
	.gt-layout-sidebar-both .gt-sidebar-right {
		flex: none;
		min-width: 0;
		width: 100%;
	}

	.gt-layout-sidebar-left .gt-sidebar-left {
		order: 2;
	}

	.gt-layout-sidebar-left .gt-page-content {
		order: 1;
	}
}
