.all--first--hard--top :first-child,.first--hard--top>:first-child{margin-top:0!important}.all--last--hard--bottom :last-child,.last--hard--bottom>:last-child{margin-bottom:0!important}.section--snowcalculator #snow--calculator .existing--project--cards .production--form input.existing--projects--search::-moz-placeholder{font-size:18px}.section--snowcalculator #snow--calculator .existing--project--cards .production--form input.existing--projects--search:-ms-input-placeholder{font-size:18px}.section--snowcalculator #snow--calculator .existing--project--cards .project--listing--wrapper .project--card--item .project--card--item--inner .project--card--inner--content .project--card--description h4:after{border-bottom:2px solid #fdc82f;bottom:0;content:"";left:0;position:absolute;width:80px}.section--snowcalculator #snow--calculator .existing--project--cards .project--listing--wrapper .project--card--item .project--card--item--inner .project--card--inner--content .roof--list--wrapper .roof--list--trigger .tooltip .tooltiptext:after{border:5px solid transparent;border-top-color:#111;content:" ";left:50%;margin-left:-5px;position:absolute;top:100%}.section--solarcalculator #solar--calculator .existing--project--cards .production--form input.existing--projects--search::-moz-placeholder{font-size:18px}.section--solarcalculator #solar--calculator .existing--project--cards .production--form input.existing--projects--search:-ms-input-placeholder{font-size:18px}.section--solarcalculator #solar--calculator .existing--project--cards .project--listing--wrapper .project--card--item .project--card--item--inner .project--card--inner--content .project--card--description h4:after{border-bottom:2px solid #fdc82f;bottom:0;content:"";left:0;position:absolute;width:80px}.section--solarcalculator #solar--calculator .existing--project--cards .project--listing--wrapper .project--card--item .project--card--item--inner .project--card--inner--content .roof--list--wrapper .roof--list--trigger .tooltip .tooltiptext:after{border:5px solid transparent;border-top-color:#111;content:" ";left:50%;margin-left:-5px;position:absolute;top:100%}@media screen and (max-width:1023px) and (min-width:680px){.all--first--hard--top :first-child,.first--hard--top>:first-child{margin-top:0!important}.all--last--hard--bottom :last-child,.last--hard--bottom>:last-child{margin-bottom:0!important}}@media screen and (max-width:1167px) and (min-width:1024px){.all--first--hard--top :first-child,.first--hard--top>:first-child{margin-top:0!important}.all--last--hard--bottom :last-child,.last--hard--bottom>:last-child{margin-bottom:0!important}}@media screen and (min-width:1024px){.all--first--hard--top :first-child,.first--hard--top>:first-child{margin-top:0!important}.all--last--hard--bottom :last-child,.last--hard--bottom>:last-child{margin-bottom:0!important}}@media screen and (min-width:1168px){.all--first--hard--top :first-child,.first--hard--top>:first-child{margin-top:0!important}.all--last--hard--bottom :last-child,.last--hard--bottom>:last-child{margin-bottom:0!important}}@media screen and (max-width:1023px){.all--first--hard--top :first-child,.first--hard--top>:first-child{margin-top:0!important}.all--last--hard--bottom :last-child,.last--hard--bottom>:last-child{margin-bottom:0!important}}@media screen and (max-width:679px){.all--first--hard--top :first-child,.first--hard--top>:first-child{margin-top:0!important}.all--last--hard--bottom :last-child,.last--hard--bottom>:last-child{margin-bottom:0!important}}.calculated--roofs--nav .delete--roof{display:none}.section--loadtests #results--container tr.filter--holder>td{text-align:center!important}

/* white-gap fix: cart-drawer rules restored from legacy production.min.css (rendered globally by footerUser.twig) */
.section--cart--floating--drawer {
	box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.12);
	max-width: 400px;
	position: absolute;
	position: fixed;
	right: -400px;
	top: 0;
	top: 20vh;
	transition: all 0.3s ease-in-out;
	z-index: 99;
}

.section--cart--floating--drawer .floating--drawer--toggle {
	background: #111;
	border-top: 5px solid #fdc82f;
	color: #fff;
	cursor: pointer;
	padding: 15px 30px;
	position: absolute;
	transform: rotate(-90deg);
	transform-origin: bottom right;
	z-index: 999;
	z-index: 99;
}

.section--cart--floating--drawer .floating--drawer--toggle i {
	color: #fff;
}

.section--cart--floating--drawer.open {
	right: 0;
}

.section--cart--floating--drawer .step--drawer {
	background: #111;
	border-top: 8px solid #fdc82f;
	max-height: 450px;
	min-height: 450px;
	overflow: auto;
	padding: 0;
	text-align: left;
	width: 400px;
}

.section--cart--floating--drawer .step--drawer .dashboard--drawer--accordion--trigger {
	cursor: pointer;
}

.section--cart--floating--drawer .step--drawer .block {
	padding: 15px;
	transition: all eas-in-out 0.3s;
}

.section--cart--floating--drawer .step--drawer .block .header--rule {
	background: #fff;
	border-radius: 1.5px;
	display: none;
	height: 3px;
	margin-bottom: 0;
	max-width: 35px;
}

.section--cart--floating--drawer .step--drawer .block .description {
	font-size: 16px;
	margin-bottom: 0;
	margin-top: 15px;
}

.section--cart--floating--drawer .step--drawer .block .edit--button {
	float: right;
	font-size: 14px !important;
	padding: 3px !important;
	text-transform: uppercase !important;
}

.section--cart--floating--drawer .step--drawer .block .is--disabled {
	opacity: 0.5;
	pointer-events: none;
}

.section--cart--floating--drawer .step--drawer .block strong {
	color: #fdc82f;
}

.section--cart--floating--drawer .step--drawer .block.active {
	position: relative;
}

.section--cart--floating--drawer .step--drawer .block.active .indicator {
	background: #fdc82f;
	bottom: 15px;
	display: block !important;
	left: 0;
	position: absolute;
	top: 15px;
	width: 5px;
}

.section--cart--floating--drawer .step--drawer .block.active .header--rule {
	display: block;
}

@media screen and (max-width:679px){
.section--cart--floating--drawer {
	bottom: 0;
	max-width: 100%;
	right: 0;
	top: unset;
}

.section--cart--floating--drawer .floating--drawer--toggle {
	transform: rotate(0);
}
}
/* css-regression fix: global utilities + htb-hero restored from legacy production.min.css (see .omo/evidence/css-regression-diagnosis.md) */

/* htb-hero: 14 .section--htb-hero* rules incl @media (min-width: 768px) override (legacy render-truth) */
.section--htb-hero {
  position: relative;
  overflow: hidden;
}
.section--htb-hero .htb-hero__bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-repeat: no-repeat;
}
.section--htb-hero .htb-hero__overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.section--htb-hero .htb-hero__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 60px 24px 72px;
}
@media (min-width: 768px) {
  .section--htb-hero .htb-hero__inner {
    padding: 80px 40px 96px;
  }
}
.section--htb-hero .htb-hero__overline {
  margin: 0 0 16px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #fff;
  opacity: 0.8;
}
.section--htb-hero .htb-hero__headline {
  margin: 0 0 16px;
  font-size: clamp(2.25rem, 5vw, 3.75rem);
  font-weight: 700;
  line-height: 1.1;
  color: #fff;
}
.section--htb-hero .htb-hero__description {
  margin: 0 0 40px;
  font-size: clamp(1rem, 1.5vw, 1.125rem);
  color: rgba(255, 255, 255, 0.85);
  max-width: 560px;
}
.section--htb-hero .htb-hero__toggle {
  display: inline-flex;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 100px;
  padding: 4px;
  gap: 4px;
}
.section--htb-hero .htb-hero__toggle-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  padding: 10px 28px;
  border-radius: 100px;
  border: none;
  background: transparent;
  color: rgba(255, 255, 255, 0.75);
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease;
}
.section--htb-hero .htb-hero__toggle-btn:hover {
  color: #fff;
}
.section--htb-hero .htb-hero__toggle-btn.is-active {
  background: #fff;
  color: #111;
}
.section--htb-hero .htb-hero__toggle-btn.is-active .htb-hero__toggle-sub {
  color: rgba(0, 0, 0, 0.55);
}
.section--htb-hero .htb-hero__toggle-sub {
  font-size: 0.75rem;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.55);
  transition: color 0.2s ease;
}

/* AT-RISK loading-animation: 6 .loading--animation / .button--loading--animation* utility rules */


.loading--animation,
.quote--loading--animation {
	background: #fff url(../img/loading-animation.svg) no-repeat;
	background-position: 50%;
	background-size: 80px;
	min-height: 200px;
}

.button--loading--animation,
.loading--animation,
.quote--loading--animation {
	display: block;
	height: 100%;
	left: 0;
	max-height: 100%;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 9;
}

.button--loading--animation {
	background: #fff url(../img/loading-animation.svg) no-repeat;
	background-position: 50% !important;
	background-size: 20px !important;
}

.button--loading--animation.black,
.button--loading--animation.primary {
	background: #000 url(../img/loading-animation.svg) no-repeat;
}

.button--loading--animation.secondary,
.button--loading--animation.yellow {
	background: #fdc82f url(../img/loading-animation.svg) no-repeat;
}

.button--loading--animation.white {
	background: #fff url(../img/loading-animation.svg) no-repeat;
}

/* AT-RISK is-disabled/helper-text: 4 .is--disabled* + .helper--text strong utility rules */


.is--disabled {
	pointer-events: none !important;
}

.is--disabled,
.is--disabled:hover * {
	cursor: not-allowed !important;
}

.is--disabled input,
.is--disabled select {
	pointer-events: none !important;
}

.helper--text strong {
	color: #fdc82f;
	padding-left: 30px;
	position: relative;
}

/* AT-RISK error--message/a.btn.is--disabled: 2 .error--message + a.btn.is--disabled utility rules */


.error--message {
	color: #ea113d;
	font-family: PT Sans, sans-serif;
	font-size: 16px;
}

a.btn.is--disabled,
a.btn.is--disabled:hover,
button.is--disabled,
button.is--disabled:hover {
	background: #bbb !important;
	border: 1px solid #bbb !important;
}

/* AT-RISK get-quote-form: .get--quote--form .submitted-message utility rule */


.get--quote--form .submitted-message {
	font-family: PT Sans, sans-serif;
	font-size: 30px;
	text-align: left;
}

/* flexgrid-1: .flexgrid.align--left / .flexgrid .align--left / justify variants (missing from core) */


.flexgrid.align--left,
.flexgrid .align--left,
.flexgrid.justify--left,
.flexgrid .justify--left {
	justify-content: left;
}

/* flexgrid-2: .flexgrid.equal--height>.grid__item (missing from core) */


.flexgrid.equal--height>.grid__item {
	align-self: stretch;
	-ms-grid-row-align: stretch;
}

/* flexgrid-3: .flexgrid .grid__item.self--middle (missing from core) */


.flexgrid .grid__item.self--middle,
.flexgrid .grid__item .self--middle {
	align-self: center;
	-ms-grid-row-align: center;
}

/* flexgrid-4: .flexgrid .grid__item.self--center (missing from core) */


.flexgrid .grid__item.self--center,
.flexgrid .grid__item .self--center {
	-ms-grid-column-align: center;
	justify-self: center;
}

/* (b) widget-htb-hero.min.css: 14 htb-hero rules; functionally identical to legacy rules above (same selectors, semantically equivalent declarations — rgba vs hsla colors both yield #fff 85% etc.). Per task "prefer LEGACY monolith bytes", we include legacy only and skip the widget-file duplicate. */
