.soltec-consent {
  position: fixed;
  z-index: 1000;
  left: max(1rem, env(safe-area-inset-left));
  bottom: max(1rem, env(safe-area-inset-bottom));
  width: min(39rem, calc(100vw - 2rem));
  max-height: calc(100dvh - 2rem);
  overflow-y: auto;
  padding: 1.5rem;
  color: #232629;
  background: #fff;
  border: 1px solid #cfd2d4;
  border-top: 4px solid #f3811e;
  box-shadow: 0 8px 36px #15202833;
  font: 1rem/1.55 Manrope, Arial, sans-serif;
}
.soltec-consent[hidden] { display: none !important; }
.soltec-consent h2 { font-size: 1.25rem; line-height: 1.35; letter-spacing: 0; margin: 0 0 .65rem; font-weight: 700; }
.soltec-consent p { margin: 0 0 .8rem; }
.soltec-consent-details { margin: .6rem 0 1rem; border: 0; }
.soltec-consent-details:last-child { border: 0; }
.soltec-consent-details summary { display: list-item; list-style: disclosure-closed; padding: .4rem 0; margin-left: 1.1rem; font-size: .875rem; }
.soltec-consent-details[open] summary { list-style-type: disclosure-open; }
.soltec-consent-details summary::-webkit-details-marker { display: inline; }
.soltec-consent-details > div { padding-top: .5rem; font-size: .875rem; }
.soltec-consent a { text-decoration: underline; text-underline-offset: .2em; overflow-wrap: anywhere; }
.soltec-consent-actions { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
.soltec-consent-actions button { min-height: 48px; padding: .65rem .8rem; border: 1px solid #232629; border-radius: 0; background: #fff; color: #232629; font: inherit; font-size: .875rem; font-weight: 700; cursor: pointer; }
.soltec-consent-actions button:hover { background: #f3f4f4; }
.soltec-consent button:focus-visible, .soltec-consent a:focus-visible, .soltec-consent summary:focus-visible, .soltec-cookie-settings:focus-visible { outline: 3px solid #a74700; outline-offset: 3px; }
.soltec-cookie-settings { padding: .25rem 0; border: 0; background: transparent; color: inherit; font: inherit; font-size: .875rem; text-decoration: underline; text-underline-offset: .2em; cursor: pointer; }
.footer-bottom { gap: .75rem 1.25rem; flex-wrap: wrap; align-items: center; }
.soltec-cookie-settings-fallback { position: fixed; bottom: 1rem; right: 1rem; z-index: 999; padding: .5rem; color: #232629; background: white; }
@media (max-width: 420px) {
  .soltec-consent { padding: 1.1rem; }
  .soltec-consent-actions { grid-template-columns: 1fr; }
}
