[data-marketing-settings] {
  padding: 0; border: 0; border-radius: 0; background: none; color: inherit;
  font: inherit; text-align: left; text-decoration: underline; cursor: pointer;
}
[data-marketing-settings]:focus-visible { outline: 3px solid #daa651; outline-offset: 4px; }
.hepa-consent[hidden], .hepa-consent [hidden] { display: none !important; }
.hepa-consent {
  position: fixed; z-index: 11000; inset: auto 12px 12px; max-width: 1040px; margin: 0 auto;
  display: flex; align-items: center; gap: 16px; padding: 12px 16px;
  color: #172b24; background: #fffdf8; border: 1px solid #a6b5ad; border-radius: 9px;
  box-shadow: 0 5px 24px #142a2526; font: 13px/1.4 Arial, Helvetica, sans-serif;
  max-height: calc(100dvh - 24px); overflow: auto; box-sizing: border-box;
}
.hepa-consent-copy { flex: 1; min-width: 0; }
.hepa-consent h2 { margin: 0 0 4px; font-size: 15px; line-height: 1.3; color: #172b24; }
.hepa-consent p { margin: 0; color: #35483e; font-size: 13px; line-height: 1.4; }
.hepa-consent a { color: #172b24; text-decoration: underline; font-weight: 700; }
.hepa-consent [data-consent-status] { display: block; margin-top: 4px; }
.hepa-consent [data-consent-status]:empty { display: none; }
.hepa-consent-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); flex: 0 0 430px; gap: 8px; }
.hepa-consent-actions button {
  box-sizing: border-box; width: 100%; min-height: 44px; padding: 10px 8px;
  border: 1px solid #172b24; border-radius: 6px; background: #f1f5f2; color: #172b24;
  font: 700 13px/1.3 Arial, Helvetica, sans-serif; cursor: pointer;
}
.hepa-consent-actions button:hover { background: #e0e9e3; }
.hepa-consent-actions button:focus-visible, .hepa-consent a:focus-visible { outline: 3px solid #bd862b; outline-offset: 3px; }
.hepa-consent-actions .hepa-consent-close { grid-column: 1 / -1; min-height: 32px; padding: 4px 8px; border: 0; background: transparent; font-size: 12px; text-decoration: underline; }
.hepa-consent-open .mobile-quote-cta { visibility: hidden; }
@media (max-width: 760px) {
  .hepa-consent { inset: auto 8px max(8px, env(safe-area-inset-bottom)); padding: 10px 12px; display: block; max-height: calc(100dvh - 16px); }
  .hepa-consent-actions { margin-top: 8px; }
}

@media(max-width:760px) { .hepa-consent-actions { grid-template-columns: repeat(2, minmax(0,1fr)); } .hepa-consent-actions [data-consent-accept] { grid-column: 1 / -1; } }
