/**
 * Pizza Pipeline — page heading styles (h1, h3)
 * Loaded after stage.css / responsive.css for site-wide titles.
 */

h1,
.h1 {
	font-family: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
	margin: 0 0 4px;
	padding-top: 8px;
	font-size: 30px !important;
	font-weight: 800 !important;
	line-height: 1.15;
	color: var(--pp-color-brand);
	letter-spacing: -0.5px;
	background: none;
	border: none;
	border-radius: 0;
}

h1::after {
	content: "";
	display: block;
	width: 48px;
	height: 3px;
	margin-top: 4px;
	margin-bottom: 16px;
	background: var(--pp-color-brand);
	border-radius: 2px;
}

h1:first-child {
	margin-top: 0;
	padding-top: 4px;
}

h1[align="center"],
h1.text-center {
	text-align: center;
}

h1[align="center"]::after,
h1.text-center::after {
	margin-left: auto;
	margin-right: auto;
}

.special-order-header-title::after,
.welcome-panel-copy h1::after {
	display: none;
}

h3 {
	font-family: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
	font-size: clamp(1.45rem, 3.4vw, 1.85rem);
	font-weight: 700;
	line-height: 1.3;
	color: var(--pp-color-brand-dark);
	margin: 1.35rem 0 0.9rem;
	padding: 0 0 0.45rem;
	background: none;
	border: none;
	border-radius: 0;
	letter-spacing: 0.01em;
}

h3::after {
	content: "";
	display: block;
	width: 3rem;
	height: 4px;
	margin-top: 0.4rem;
	background: var(--pp-color-brand);
	border-radius: 2px;
}

h3:first-child {
	margin-top: 0.5rem;
}

/* Centered notices (checkout confirmation, etc.) */
h3[align="center"],
h3.text-center {
	text-align: center;
	padding-bottom: 0.45rem;
}

h3[align="center"]::after,
h3.text-center::after {
	margin-left: auto;
	margin-right: auto;
}

/* Panel / form section headers */
h3.inverted {
	background: var(--pp-color-brand) !important;
	color: #fff !important;
	padding: 0.6rem 0.9rem !important;
	margin: 1rem 0 0.75rem !important;
	border: none !important;
	border-radius: var(--pp-heading-radius) !important;
	font-size: clamp(1.25rem, 3vw, 1.5rem) !important;
	font-weight: 700;
	letter-spacing: 0.02em;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

h3.inverted::after {
	display: none;
}

/* Nested inside tables or tight layouts */
td h3,
th h3 {
	margin: 0.5rem 0 0.65rem;
	font-size: 1.5rem;
}

@media only screen and (min-width: 768px) {
	h3 {
		font-size: 1.85rem;
		margin-bottom: 1rem;
	}

	h3.inverted {
		padding: 0.7rem 1.1rem !important;
		font-size: 1.5rem !important;
	}
}

/* Pizza/Sub builder section titles still using .pizza-order-header wrappers */
.pizza-order-header:not(:has(.btn)) {
	font-family: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
	font-size: clamp(1.45rem, 3.4vw, 1.85rem);
	font-weight: 700;
	line-height: 1.3;
	color: var(--pp-color-brand-dark);
	margin: 1.35rem 0 0.9rem;
	padding: 0 0 0.45rem;
	background: none;
	border: none;
	border-radius: 0;
	letter-spacing: 0.01em;
}

.pizza-order-header:not(:has(.btn))::after {
	content: "";
	display: block;
	width: 3rem;
	height: 4px;
	margin-top: 0.4rem;
	background: var(--pp-color-brand);
	border-radius: 2px;
}

.pizza-order-header:not(:has(.btn)) > .col-xs-12 {
	padding-left: 0;
	padding-right: 0;
}

/* Modal dialog titles — keep Bootstrap look, no brand underline */
h3.modal-title::after {
	display: none;
}

h3.modal-title {
	margin: 0;
	padding: 0;
	font-size: 1.5rem;
	color: inherit;
}

@media only screen and (min-width: 768px) {
	.pizza-order-header:not(:has(.btn)) {
		font-size: 1.85rem;
		margin-bottom: 1rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	h1,
	h3 {
		transition: none;
	}
}
