/* Cookie banner: above the phone call/estimate bar and the contact button, never over dialogs. */
.a6c-cookie { position: fixed; z-index: 88; left: max(16px, env(safe-area-inset-left)); right: max(16px, env(safe-area-inset-right)); bottom: calc(max(16px, env(safe-area-inset-bottom)) + 56px + 0.5rem); max-width: 34rem; margin-inline: auto; padding: 0.75rem 0.875rem; border: 1px solid #ffffff1f; border-radius: 0.875rem; background: #15191cf5; color: #eef0f1; box-shadow: 0 14px 40px #0006; font-size: 0.8125rem; line-height: 1.4; backdrop-filter: blur(10px); }
.a6c-cookie[hidden] { display: none; }
.a6c-cookie__text { margin: 0; }
.a6c-cookie__text a { color: #fff; text-decoration: underline; text-underline-offset: 2px; }
.a6c-cookie__actions { display: flex; gap: 0.5rem; margin-top: 0.625rem; }
.a6c-cookie__btn { flex: 1 1 0; min-height: 44px; padding: 0.5rem 0.625rem; border: 1px solid #ffffff; border-radius: 0.625rem; background: #ffffff; color: #15191c; font: inherit; font-weight: 700; line-height: 1.2; cursor: pointer; }
.a6c-cookie__btn--accept { border-color: #a93c13; background: #a93c13; color: #fff; }
.a6c-cookie__btn:hover { filter: brightness(0.92); }
.a6c-cookie__btn:focus-visible, .a6c-cookie__text a:focus-visible { outline: 3px solid #f59e0b; outline-offset: 2px; }
body:is(.modal-open, .nav-open, .a6-reels-open, .p6-calc-open) .a6c-cookie, body:has(.pswp--open) .a6c-cookie { visibility: hidden; }
@media (min-width: 64rem) {
	.a6c-cookie { right: auto; bottom: max(24px, env(safe-area-inset-bottom)); left: 24px; display: flex; gap: 1.25rem; align-items: center; width: min(58rem, calc(100vw - 8rem)); max-width: none; padding: 0.875rem 1rem 0.875rem 1.25rem; font-size: 0.875rem; }
	.a6c-cookie__text { flex: 1 1 auto; }
	.a6c-cookie__actions { flex: none; margin-top: 0; }
	.a6c-cookie__btn { flex: none; min-width: 9.5rem; }
}

/* Legal pages and footer links. */
.legal-links { display: flex; flex-wrap: wrap; gap: 0.25rem 1rem; }
.legal-doc { max-width: 52rem; }
.legal-doc__meta { color: var(--color-muted, #5b6770); font-size: 0.9375rem; }
.legal-doc table { width: 100%; border-collapse: collapse; font-size: 0.9375rem; }
.legal-doc th, .legal-doc td { padding: 0.625rem 0.5rem; border-bottom: 1px solid var(--color-border, #d9dee2); text-align: left; vertical-align: top; }
.legal-doc dl.legal-req { display: grid; gap: 0.5rem 1.5rem; grid-template-columns: minmax(10rem, max-content) 1fr; }
.legal-doc dl.legal-req dt { font-weight: 700; }
.legal-doc dl.legal-req dd { margin: 0; }
.legal-choice { display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: center; margin-top: 1rem; padding: 1rem; border: 1px solid var(--color-border, #d9dee2); border-radius: 0.75rem; }
.legal-choice p { flex: 1 1 100%; margin: 0; }
.legal-choice .a6c-cookie__btn { flex: 0 1 auto; border-color: #15191c; background: #fff; }
.legal-choice .a6c-cookie__btn--accept { border-color: #a93c13; background: #a93c13; }
@media (max-width: 40rem) {
	.legal-doc dl.legal-req { grid-template-columns: 1fr; gap: 0.125rem; }
	.legal-doc dl.legal-req dd { margin-bottom: 0.5rem; }
	.legal-doc .legal-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.legal-doc .legal-table :is(table, tbody, tr, td) { display: block; }
	.legal-doc .legal-table tr { padding: 0.75rem 0; border-bottom: 1px solid var(--color-border, #d9dee2); }
	.legal-doc .legal-table td { padding: 0.125rem 0; border: 0; overflow-wrap: anywhere; }
	.legal-doc .legal-table td::before { content: attr(data-label) ": "; font-weight: 700; }
	.legal-doc .legal-table td:first-child { font-weight: 700; }
	.legal-doc .legal-table td:first-child::before { content: none; }
	.legal-choice .a6c-cookie__btn { flex: 1 1 100%; }
}

/* Consent checkbox in the lead form: the policy link sits under it in small type. */
.form-consent__policy { display: block; margin-top: 0.375rem; font-size: 0.75rem; line-height: 1.4; opacity: 0.85; }
.form-consent__policy a { color: inherit; text-decoration: underline; }
