/**
 * Theme overrides for Component Page template only.
 * Keep this file for client-theme shell fixes (containers, header/footer, sidebars).
 * Do not put component design/spacing CSS here — that belongs in each component’s CSS.
 */

/* Astra */
body.tdt-component-page.page-template-component-page .site-content > .ast-container,
body.tdt-component-page.page-template-component-page #content > .ast-container,
body.tdt-component-page.page-template-component-page.ast-plain-container .site-content > .ast-container {
	display: block;
	max-width: none;
	width: 100%;
	padding-left: 0;
	padding-right: 0;
}

body.tdt-component-page.page-template-component-page.ast-separate-container .site-content > .ast-container {
	padding-left: 0;
	padding-right: 0;
}

body.tdt-component-page.page-template-component-page #primary {
	margin-left: 0;
	margin-right: 0;
}

body.tdt-component-page.page-template-component-page .site-content .ast-container .entry-content {
	padding-left: 0;
	padding-right: 0;
}

/* Kadence */
body.tdt-component-page.page-template-component-page .content-container.site-container,
body.tdt-component-page.page-template-component-page .site-container {
	max-width: none;
	width: 100%;
	padding-left: 0;
	padding-right: 0;
}

/* GeneratePress */
body.tdt-component-page.page-template-component-page .site-content .grid-container {
	max-width: none;
	width: 100%;
	padding-left: 0;
	padding-right: 0;
}

/* Generic theme wrappers */
body.tdt-component-page.page-template-component-page .site-content > .container,
body.tdt-component-page.page-template-component-page #content > .container,
body.tdt-component-page.page-template-component-page .site-content > .wrap,
body.tdt-component-page.page-template-component-page #content > .wrap {
	max-width: none;
	width: 100%;
	padding-left: 0;
	padding-right: 0;
}

/* OPI plugin elements — hidden on Component Page template */
body.tdt-component-page.page-template-component-page .opi-head-banner,
body.tdt-component-page.page-template-component-page .opi-bandamenuhide {
	display: none !important;
}

/* OPI theme header — remove red wrapper; inner bar stays white */
body.tdt-component-page.page-template-component-page .opi-container.opi-bred.opi-mobilehide {
	background-color: #ffffff !important;
	background: #ffffff !important;
}

/* OPI theme footer directly after #content */
body.tdt-component-page.page-template-component-page #content + .opi-container.opi-bred,
body.tdt-component-page.page-template-component-page #content ~ .opi-container.opi-bred:first-of-type {
	margin-top: 0 !important;
	background-color: #dd052a !important;
	background: #dd052a !important;
}

/* Hide tagline banner only; keep contact/logo footer (direct child .opi-container) visible */
body.tdt-component-page.page-template-component-page #content + .opi-container.opi-bred .opi-scritta-lunga,
body.tdt-component-page.page-template-component-page #content ~ .opi-container.opi-bred:first-of-type .opi-scritta-lunga {
	display: none !important;
}

body.tdt-component-page.page-template-component-page #content + .opi-container.opi-bred > .opi-container.opi-bred,
body.tdt-component-page.page-template-component-page #content ~ .opi-container.opi-bred:first-of-type > .opi-container.opi-bred {
	display: block !important;
	visibility: visible !important;
	background-color: #dd052a !important;
	background: #dd052a !important;
}

@media screen and (max-width: 768px) {
	body.tdt-component-page.page-template-component-page {
		--tdt-sticky-header-clearance: 56px;
	}
}

@media screen and (max-width: 480px) {
	body.tdt-component-page.page-template-component-page {
		--tdt-sticky-header-clearance: 68px;
	}
}
