/* GAT - feuille principale
 *
 * Design tokens first, then layout, then components. Nothing here depends on
 * Porto or Elementor.
 */

:root {
	--dark:   #141413;
	--light:  #faf9f5;
	--line:   #e8e6dc;
	--orange: #d97757;
	--blue:   #6a9bcc;
	--green:  #788c5d;
	--body:   rgba(20, 20, 19, .78);
	--head:   'Poppins', Arial, Helvetica, sans-serif;
	--serif:  'Lora', Georgia, 'Times New Roman', serif;
	--wrap:   1160px;
}

*, *::before, *::after { box-sizing: border-box; }

body.gat {
	margin: 0;
	background: var(--light);
	color: var(--dark);
	font-family: var(--serif);
	font-size: 17px;
	line-height: 1.7;
}

.gat h1, .gat h2, .gat h3, .gat h4 {
	font-family: var(--head);
	font-weight: 600;
	line-height: 1.22;
	letter-spacing: -.01em;
	margin: 0 0 .5em;
}
.gat p { margin: 0 0 1.1em; color: var(--body); }
.gat a { color: #b85c3e; }

.gat-wrap { max-width: var(--wrap); margin: 0 auto; padding: 0 20px; }

/* Keyboard users land here first; visually hidden until focused. */
.gat-skip {
	position: absolute;
	left: -9999px;
	background: var(--dark);
	color: var(--light);
	padding: 12px 18px;
	z-index: 100;
}
.gat-skip:focus { left: 12px; top: 12px; }

/* ------------------------------------------------------------------ header */

.gat-header {
	background: #fff;
	border-bottom: 1px solid var(--line);
	position: sticky;
	top: 0;
	z-index: 50;
}
.gat-header-in {
	display: flex;
	align-items: center;
	gap: 28px;
	min-height: 76px;
}
.gat-brand { text-decoration: none; flex: 0 0 auto; }
.gat-brand img { max-height: 46px; width: auto; display: block; }
.gat-brand-text {
	font-family: var(--head);
	font-weight: 600;
	font-size: 1.1rem;
	color: var(--dark);
}

.gat-nav { flex: 1 1 auto; }
.gat-menu {
	display: flex;
	flex-wrap: wrap;
	gap: 22px;
	list-style: none;
	margin: 0;
	padding: 0;
	font-family: var(--head);
	font-size: .95rem;
}
.gat-menu a {
	color: var(--dark);
	text-decoration: none;
	padding: 6px 0;
	border-bottom: 2px solid transparent;
}
.gat-menu a:hover,
.gat-menu .current-menu-item > a { border-bottom-color: var(--orange); }

.gat-header-cta { display: flex; align-items: center; gap: 16px; flex: 0 0 auto; }
.gat-tel {
	font-family: var(--head);
	font-weight: 500;
	color: var(--dark) !important;
	text-decoration: none;
	white-space: nowrap;
}

.gat-btn {
	display: inline-block;
	font-family: var(--head);
	font-weight: 500;
	font-size: .95rem;
	padding: 13px 24px;
	border-radius: 6px;
	text-decoration: none;
	white-space: nowrap;
}
.gat-btn-1 { background: var(--orange); color: var(--dark) !important; }
.gat-btn-1:hover { background: #e08a6d; }
.gat-btn-2 { border: 1px solid var(--line); color: var(--dark) !important; }
.gat-btn-2:hover { border-color: var(--orange); }

/* -------------------------------------------------------------------- page */

.gat-main { min-height: 50vh; }
.gat-page { padding: 48px 20px 72px; }
.gat-title { font-size: 2.1rem; }
.gat-content { max-width: 72ch; }

.gat-404 { text-align: center; }
.gat-404 p { margin-left: auto; margin-right: auto; max-width: 56ch; }

/* ------------------------------------------------------------------ footer */

.gat-footer {
	background: var(--dark);
	color: rgba(250, 249, 245, .82);
	margin-top: 72px;
	padding: 48px 0 0;
	font-size: .95rem;
}
.gat-footer-in {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr;
	gap: 32px;
	padding-bottom: 36px;
}
.gat-footer strong { color: var(--light); font-family: var(--head); font-size: 1.05rem; }
.gat-footer p { color: rgba(250, 249, 245, .68); margin: 8px 0 0; }
.gat-footer a { color: rgba(250, 249, 245, .86) !important; text-decoration: none; }
.gat-footer a:hover { color: #fff !important; }
.gat-footer-menu { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.gat-footer-contact { display: grid; gap: 8px; align-content: start; }
.gat-footer-legal {
	border-top: 1px solid rgba(250, 249, 245, .14);
	padding-top: 18px;
	padding-bottom: 22px;
	font-size: .85rem;
	color: rgba(250, 249, 245, .55);
}

@media (max-width: 900px) {
	.gat-header-in { flex-wrap: wrap; gap: 14px; padding-top: 12px; padding-bottom: 12px; }
	.gat-nav { order: 3; flex-basis: 100%; }
	.gat-footer-in { grid-template-columns: 1fr; }
	.gat-title { font-size: 1.7rem; }
}
