/* Suostumusbanneri (3.11.2026). Jaettu kaikille viidelle sivustolle, perii sivuston fontin. Lähde: Taksiverkosto/pohja/suostumus.css */
.sm-banneri {
  --sm-tausta: #FFFFFF; --sm-teksti: #1B2428; --sm-himmea: #4D5A60; --sm-reuna: #B8C2C7;
  --sm-nappi: #1B2428; --sm-nappi-teksti: #FFFFFF; --sm-fokus: #0B5FC7; --sm-linkki: #0B4F8A;
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 2147483000;
  background: var(--sm-tausta); color: var(--sm-teksti);
  border-top: 1px solid var(--sm-reuna); box-shadow: 0 -8px 28px rgb(0 0 0 / 0.14);
  font-size: 0.9375rem; line-height: 1.45;
  padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px));
  max-height: 55vh; overflow-y: auto; overscroll-behavior: contain;
}
.sm-banneri[hidden] { display: none; }
.sm-sisus { max-width: 64rem; margin: 0 auto; display: grid; gap: 8px; }
.sm-otsikko { margin: 0; font-weight: 700; font-size: 1rem; }
.sm-teksti { margin: 0; color: var(--sm-himmea); max-width: 60rem; }
.sm-teksti a { color: var(--sm-linkki); text-decoration: underline; text-underline-offset: 2px; }
.sm-napit { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 4px; }
.sm-nappi {
  font: inherit; font-weight: 700; font-size: 0.9375rem; line-height: 1.2;
  min-height: 48px; padding: 8px 14px; border-radius: 8px; cursor: pointer;
  background: var(--sm-nappi); color: var(--sm-nappi-teksti); border: 2px solid var(--sm-nappi);
}
.sm-nappi:hover { filter: brightness(1.15); }
.sm-nappi[aria-pressed=true]::before { content: "\2713\00a0"; }
.sm-nappi:focus-visible, .sm-teksti a:focus-visible { outline: 3px solid var(--sm-fokus); outline-offset: 2px; }
@media (min-width: 720px) {
  .sm-banneri { font-size: 1rem; padding: 16px 24px calc(16px + env(safe-area-inset-bottom, 0px)); }
  .sm-sisus { grid-template-columns: 1fr auto; column-gap: 32px; align-items: center; }
  .sm-otsikko { grid-column: 1; }
  .sm-teksti { grid-column: 1; }
  .sm-napit { grid-column: 2; grid-row: 1 / span 2; grid-template-columns: 1fr; min-width: 15rem; margin: 0; }
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .sm-banneri {
    --sm-tausta: #14191C; --sm-teksti: #ECF0F2; --sm-himmea: #B4C0C6; --sm-reuna: #3A464C;
    --sm-nappi: #ECF0F2; --sm-nappi-teksti: #14191C; --sm-fokus: #8AB8FF; --sm-linkki: #9CC7FF;
    box-shadow: 0 -8px 28px rgb(0 0 0 / 0.5);
  }
}
:root[data-theme="dark"] .sm-banneri {
  --sm-tausta: #14191C; --sm-teksti: #ECF0F2; --sm-himmea: #B4C0C6; --sm-reuna: #3A464C;
  --sm-nappi: #ECF0F2; --sm-nappi-teksti: #14191C; --sm-fokus: #8AB8FF; --sm-linkki: #9CC7FF;
}
@media (prefers-reduced-motion: no-preference) {
  .sm-banneri { animation: sm-sisaan 180ms ease-out; }
  @keyframes sm-sisaan { from { transform: translateY(12px); opacity: 0; } to { transform: none; opacity: 1; } }
}
