.wacg-root, .wacg-root *, .wacg-floating, .wacg-floating * { box-sizing: border-box; }
.wacg-root[hidden], .wacg-floating[hidden] { display: none !important; }
.wacg-root { position: fixed; z-index: 999999; color: var(--wacg-text); font-family: inherit; }
.wacg-position-bottom { left: 0; right: 0; bottom: 0; padding: 16px; }
.wacg-position-top { left: 0; right: 0; top: 0; padding: 16px; }
.wacg-position-modal { inset: 0; display: flex; align-items: center; justify-content: center; padding: 18px; }
.wacg-overlay { position: absolute; inset: 0; background: rgba(15, 23, 42, .58); }
.wacg-panel { position: relative; width: min(100%, 920px); margin: 0 auto; background: var(--wacg-bg); border: 1px solid var(--wacg-border); border-radius: 18px; box-shadow: 0 20px 60px rgba(15, 23, 42, .22); overflow: hidden; }
.wacg-position-top .wacg-panel, .wacg-position-bottom .wacg-panel { border-radius: 16px; }
.wacg-content { padding: 20px 22px 8px; }
.wacg-content h2 { margin: 0 0 8px; color: var(--wacg-text); font-size: 20px; line-height: 1.2; }
.wacg-message { font-size: 15px; line-height: 1.55; }
.wacg-message a { color: var(--wacg-link); font-weight: 700; text-decoration: underline; }
.wacg-preferences { margin-top: 14px; display: grid; gap: 10px; }
.wacg-category { display: block; border: 1px solid var(--wacg-border); border-radius: 12px; padding: 12px; background: rgba(255,255,255,.55); }
.wacg-category-main { display: flex; align-items: center; gap: 9px; }
.wacg-category-main input { width: 18px; height: 18px; }
.wacg-category-description { display: block; margin: 6px 0 0 27px; font-size: 13px; opacity: .82; line-height: 1.45; }
.wacg-actions { display: flex; justify-content: flex-end; gap: 10px; flex-wrap: wrap; padding: 14px 22px 20px; }
.wacg-btn { appearance: none; border: 0; border-radius: 999px; padding: 10px 16px; font-weight: 800; cursor: pointer; font-size: 14px; line-height: 1.2; }
.wacg-btn-primary { background: var(--wacg-primary-bg); color: var(--wacg-primary-text); }
.wacg-btn-secondary { background: var(--wacg-secondary-bg); color: var(--wacg-secondary-text); border: 1px solid var(--wacg-border); }
.wacg-floating { position: fixed; bottom: var(--wacg-floating-bottom, 16px); z-index: var(--wacg-floating-z, 999998); appearance: none; margin: 0; cursor: pointer; line-height: 1.2; text-align: center; box-shadow: 0 10px 28px rgba(15,23,42,.22); transition: transform .18s ease, background .18s ease, box-shadow .18s ease; }
.wacg-floating-mode-classic { border: 1px solid var(--wacg-border); border-radius: 999px; padding: 9px 13px; background: var(--wacg-bg); color: var(--wacg-text); font-size: 13px; font-weight: 700; max-width: calc(100vw - (var(--wacg-floating-side, 16px) * 2)); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wacg-floating-mode-classic.wacg-floating-desktop-left { left: var(--wacg-floating-side, 16px); right: auto; }
.wacg-floating-mode-classic.wacg-floating-desktop-right { right: var(--wacg-floating-side, 16px); left: auto; }
.wacg-floating-mode-side_tab { display: inline-flex; align-items: center; justify-content: center; border: 0; background: var(--wacg-floating-bg, #ff4b1f); color: var(--wacg-floating-color, #fff); font-weight: 900; font-family: Arial, Helvetica, sans-serif; }
.wacg-floating-mode-side_tab:hover, .wacg-floating-mode-side_tab:focus { background: var(--wacg-floating-hover-bg, #e63f18); box-shadow: 0 14px 34px rgba(15,23,42,.28); }
.wacg-floating-mode-side_tab.wacg-floating-size-small { width: 42px; height: 42px; font-size: 18px; }
.wacg-floating-mode-side_tab.wacg-floating-size-medium { width: 52px; height: 52px; font-size: 22px; }
.wacg-floating-mode-side_tab.wacg-floating-size-large { width: 62px; height: 62px; font-size: 26px; }
.wacg-floating-mode-side_tab.wacg-floating-desktop-left { left: calc(-1 * var(--wacg-floating-side, 12px)); right: auto; border-radius: 0 999px 999px 0; padding-left: var(--wacg-floating-side, 12px); }
.wacg-floating-mode-side_tab.wacg-floating-desktop-right { right: calc(-1 * var(--wacg-floating-side, 12px)); left: auto; border-radius: 999px 0 0 999px; padding-right: var(--wacg-floating-side, 12px); }
.wacg-floating-icon { display: inline-flex; align-items: center; justify-content: center; width: 1em; height: 1em; }
.wacg-floating-label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (max-width: 640px) {
    .wacg-position-bottom, .wacg-position-top, .wacg-position-modal { padding: 10px; }
    .wacg-content { padding: 16px 16px 6px; }
    .wacg-actions { padding: 12px 16px 16px; justify-content: stretch; }
    .wacg-btn { width: 100%; }
    .wacg-floating { bottom: calc(var(--wacg-floating-mobile-bottom, 72px) + env(safe-area-inset-bottom, 0px)); width: auto; }
    .wacg-floating-mode-classic { max-width: calc(100vw - (var(--wacg-floating-mobile-side, 12px) * 2)); }
    .wacg-floating-mode-classic.wacg-floating-mobile-left { left: var(--wacg-floating-mobile-side, 12px); right: auto; }
    .wacg-floating-mode-classic.wacg-floating-mobile-right { right: var(--wacg-floating-mobile-side, 12px); left: auto; }
    .wacg-floating-mode-side_tab.wacg-floating-mobile-left { left: calc(-1 * var(--wacg-floating-mobile-side, 12px)); right: auto; border-radius: 0 999px 999px 0; padding-left: var(--wacg-floating-mobile-side, 12px); padding-right: 0; }
    .wacg-floating-mode-side_tab.wacg-floating-mobile-right { right: calc(-1 * var(--wacg-floating-mobile-side, 12px)); left: auto; border-radius: 999px 0 0 999px; padding-right: var(--wacg-floating-mobile-side, 12px); padding-left: 0; }
}
