/* =========================================================
   Trip Tradition – global layout + typography (loads LAST)
   - One font: DM Sans everywhere
   - Container: 1240px on desktop/laptop;
     tablet & mobile = 100% width with 10px side padding
   ========================================================= */

:root {
	--tt-container: 1240px;
	--tt-gutter: 10px;
	--tt-dm: "DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--tt-font-poppins: var(--tt-dm);
	--tt-font-display: var(--tt-dm);
	--tt-font-mono: var(--tt-dm);
	--tt-font-script: var(--tt-dm);
	--tt-font-serif: var(--tt-dm);
}

/* ---------- Typography ---------- */
html body,
body :where(h1, h2, h3, h4, h5, h6, p, a, li, span, div, label, table, th, td, blockquote, small, strong, em, figcaption, button, input, select, textarea, summary) {
	font-family: var(--tt-dm);
}

/* Elements that previously used serif / script fonts */
.tt-promo__title,
.tt-newsletter,
.tt-newsletter *,
.tt-footer,
.tt-footer *:not(svg):not(path),
.tt-hd,
.tt-hd *:not(svg):not(path),
.tt-scope h1,
.tt-scope h2,
.tt-scope h3,
.tt-scope h4,
.tt-stay,
.tt-stay *:not(svg):not(path),
.tt-trek,
.tt-trek *:not(svg):not(path) {
	font-family: var(--tt-dm) !important;
}

/* ---------- Container: header ---------- */
.tt-hd__inner,
.tt-header__inner,
.tt-bar__inner {
	width: min(var(--tt-container), 100% - (var(--tt-gutter) * 2)) !important;
	max-width: none !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}
.tt-bar { padding-left: 0 !important; padding-right: 0 !important; }

/* Mega menu panels */
.tt-panel { max-width: min(var(--tt-container), calc(100vw - (var(--tt-gutter) * 2))) !important; }
.tt-panel__grid,
.tt-panel__foot-inner {
	max-width: var(--tt-container) !important;
	padding-left: var(--tt-gutter) !important;
	padding-right: var(--tt-gutter) !important;
}

/* ---------- Container: footer ---------- */
.tt-footer {
	padding-left: 0 !important;
	padding-right: 0 !important;
}
.tt-newsletter,
.tt-footer__grid {
	width: min(var(--tt-container), 100% - (var(--tt-gutter) * 2)) !important;
	max-width: none !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}
.tt-footer > .tt-footer__bottom {
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: max(var(--tt-gutter), calc((100% - var(--tt-container)) / 2)) !important;
	padding-right: max(var(--tt-gutter), calc((100% - var(--tt-container)) / 2)) !important;
}

/* ---------- Container: page content ---------- */
.tt-wrap,
.tt-stay__wrap {
	width: min(var(--tt-container), 100% - (var(--tt-gutter) * 2)) !important;
	max-width: none !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}
.tt-wrap--narrow { max-width: 760px !important; }

/* Activity template (paragliding etc.) */
.ttp-wrap {
	width: min(var(--tt-container), 100% - (var(--tt-gutter) * 2)) !important;
	max-width: none !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Home search card */
.tt-search__card { max-width: var(--tt-container) !important; }