/*
Theme Name: IATSE Local 30 ATP
Description: Child theme of Hello Elementor for the IATSE Local 30 Apprenticeship Training Program. Brand colors, typography, and layout widths live in theme.json; reusable sections are block patterns (see /patterns). This stylesheet only covers theme chrome that Hello Elementor intentionally ships unstyled (header, nav, footer) plus the few pieces blocks cannot express (table header band, WPForms styling).
Author: IATSE Local 30
Template: hello-elementor
Version: 1.0.0
Requires PHP: 7.4
Text Domain: hello-elementor-child
*/

/* ---------- Header chrome ---------- */
.site-header {
	background: var(--wp--preset--color--stage-black, #000);
	padding: 0.7rem 2rem;
}
.site-header .site-branding {
	display: grid;
	grid-template-columns: auto 1fr;
	column-gap: 0.9rem;
	align-items: center;
}
.site-header .site-logo { grid-row: 1 / 3; }
.site-header .site-logo img {
	height: 56px;
	width: auto;
	display: block;
}
.site-header .site-title { grid-row: 1; grid-column: 2; }
.site-header .site-title a {
	color: #fff;
	font-weight: 800;
	font-size: 1.02rem;
	text-decoration: none;
	letter-spacing: 0.02em;
}
.site-header .site-title a:hover { color: var(--wp--preset--color--stage-line, #ccc); }
.site-header .site-description {
	grid-row: 2;
	grid-column: 2;
	color: var(--wp--preset--color--stage-line, #ccc);
	margin: 0;
	font-size: 0.78rem;
}
.site-header .site-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 1.35rem;
}
.site-header .site-navigation a {
	color: var(--wp--preset--color--stage-gray, #ececec);
	text-decoration: none;
	font-weight: 600;
	font-size: 0.95rem;
}
.site-header .site-navigation a:hover,
.site-header .site-navigation .current-menu-item > a,
.site-header .site-navigation .current_page_item > a {
	color: #fff;
	text-decoration: underline;
	text-underline-offset: 5px;
}
.site-navigation-toggle { color: #fff; }
.site-navigation-dropdown { background: var(--wp--preset--color--stage-black, #000); }
.site-navigation-dropdown ul { list-style: none; margin: 0; padding: 0.5rem 1.25rem; }
.site-navigation-dropdown a {
	color: #fff;
	display: block;
	padding: 0.65rem 0;
	text-decoration: none;
	font-weight: 600;
}
.site-navigation-dropdown a:hover { text-decoration: underline; }

/* ---------- Footer chrome ---------- */
.site-footer {
	background: var(--wp--preset--color--stage-black, #000);
	padding: 2.2rem 2rem;
}
.site-footer .site-title a { color: #fff; text-decoration: none; font-weight: 700; font-size: 0.95rem; }
.site-footer .site-description { color: #999; font-size: 0.8rem; margin: 0.2rem 0 0; }
.site-footer .site-logo img { height: 44px; width: auto; }
.site-footer .site-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 1.25rem;
}
.site-footer .site-navigation a {
	color: var(--wp--preset--color--stage-line, #ccc);
	text-decoration: none;
	font-size: 0.9rem;
}
.site-footer .site-navigation a:hover { color: #fff; text-decoration: underline; }
.site-footer .copyright p { color: #999; margin: 0; font-size: 0.85rem; }

/* ---------- Layout assist: edge padding for content inside full-width bands ---------- */
.page-content .alignfull.is-layout-constrained > :where(:not(.alignfull)) {
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

/* ---------- Tables: black header band, brand stripe color ---------- */
.wp-block-table thead { border-bottom: none; }
.wp-block-table thead th {
	background: var(--wp--preset--color--stage-black, #000);
	color: #fff;
	text-align: left;
}
.wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
	background-color: var(--wp--preset--color--stage-gray, #ececec);
}

/* ---------- WPForms (not block-based, cannot inherit theme.json) ---------- */
.wpforms-container input[type="text"],
.wpforms-container input[type="email"],
.wpforms-container textarea {
	border: 1px solid var(--wp--preset--color--stage-line, #ccc);
	border-radius: 3px;
	padding: 0.6rem 0.75rem;
}
.wpforms-container button[type="submit"] {
	background: var(--wp--preset--color--stage-black, #000) !important;
	border: 2px solid var(--wp--preset--color--stage-black, #000) !important;
	color: #fff !important;
	font-weight: 700 !important;
	border-radius: 3px !important;
	padding: 0.8rem 1.6rem !important;
}
.wpforms-container button[type="submit"]:hover {
	background: var(--wp--preset--color--stage-blue, #026ab4) !important;
	border-color: var(--wp--preset--color--stage-blue, #026ab4) !important;
}

/* ---------- Mobile ---------- */
@media (max-width: 782px) {
	.site-header { padding: 0.7rem 1.25rem; }
	.site-header .site-logo img { height: 44px; }
	.site-footer { padding: 1.8rem 1.25rem; }
}
