.wataxi-consent {
    position: fixed;
    z-index: 1200;
    inset-inline: 16px;
    bottom: calc(84px + env(safe-area-inset-bottom, 0px));
    max-width: 760px;
    margin-inline: auto;
    padding: 18px;
    border: 1px solid #526c61;
    border-radius: 14px;
    background: #fff;
    color: #172923;
    box-shadow: 0 8px 32px #0003;
    font: 14px/1.45 system-ui, -apple-system, Arial, sans-serif;
    max-height: calc(100dvh - 160px);
    overflow: auto;
}
.wataxi-consent[hidden], .wataxi-consent [hidden] { display: none !important; }
.wataxi-consent__title {
    margin: 0 0 8px;
    font: 700 18px/1.3 system-ui, -apple-system, Arial, sans-serif;
    color: #172923;
}
.wataxi-consent__text, .wataxi-consent__privacy { margin: 0 0 10px; color: #172923; }
.wataxi-consent__privacy { font-weight: 600; }
.wataxi-consent__controls { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.wataxi-consent__button {
    flex: 1 1 180px;
    min-height: 44px;
    padding: 10px 16px;
    border: 1px solid #146146;
    border-radius: 8px;
    background: #fff;
    color: #146146;
    font: 700 15px/1.4 system-ui, -apple-system, Arial, sans-serif;
    cursor: pointer;
}
.wataxi-consent__button:hover, .wataxi-consent__button:focus-visible { background: #eef5f0; }
.wataxi-consent__button:disabled { opacity: .6; cursor: not-allowed; }
.wataxi-consent__policy { display: inline-flex; align-items: center; min-height: 44px; padding: 8px; color: #146146; text-decoration: underline; }
.wataxi-cookie-preferences {
    display: inline-block;
    min-height: 44px;
    margin: 10px 0;
    padding: 8px 12px;
    background: transparent;
    border: 1px solid currentColor;
    border-radius: 6px;
    color: inherit;
    font: inherit;
    cursor: pointer;
}
.wataxi-consent__button:focus-visible,
.wataxi-cookie-preferences:focus-visible,
.wataxi-consent__policy:focus-visible { outline: 3px solid #b77a19; outline-offset: 3px; }
@media (max-width: 480px) {
    .wataxi-consent {
        inset-inline: 10px;
        padding: 14px;
        bottom: calc(112px + env(safe-area-inset-bottom, 0px));
        font-size: 13px;
    }
    .wataxi-consent__title { font-size: 16px; }
    .wataxi-consent__button { flex-basis: 100%; }
    .wataxi-consent__button[data-wataxi-consent-accept] { min-height: 48.4px; font-size: 16.5px; }
    .wataxi-consent__controls { gap: 8px; }
}
