:root { --wcc-primary: #1f6f43; --wcc-primary-text:#fff; --wcc-bg:#fff; --wcc-text:#17201c; --wcc-secondary-bg:#fff; --wcc-secondary-text:#1f6f43; --wcc-border:#dce3df; --wcc-overlay:#0c110f; --wcc-width:960px; --wcc-max-height:92vh; --wcc-padding:24px; --wcc-radius:16px; --wcc-font-size:16px; }
.wcc-overlay[hidden], .wcc-details[hidden], .wcc-button[hidden] { display: none !important; }
.wcc-overlay { position: fixed; inset: 0; z-index: 999999; display: flex; padding: 18px; background: color-mix(in srgb, var(--wcc-overlay) 42%, transparent); }
.wcc-position-left { align-items:flex-end; justify-content:flex-start; }
.wcc-position-right { align-items:flex-end; justify-content:flex-end; }
.wcc-position-centered { align-items:flex-end; justify-content:center; }
.wcc-position-popup { align-items:center; justify-content:center; }
.wcc-position-inline { align-items:flex-end; padding:0; background:transparent; pointer-events:none; }
.wcc-position-inline .wcc-banner { width:100%; max-width:none; border-radius:0; pointer-events:auto; }
.wcc-banner { box-sizing: border-box; width: min(100%, var(--wcc-width)); max-height:var(--wcc-max-height); overflow:auto; padding: var(--wcc-padding); border-radius: var(--wcc-radius); background: var(--wcc-bg); color: var(--wcc-text); box-shadow: 0 16px 60px rgba(0,0,0,.24); font: var(--wcc-font-size)/1.5 system-ui, sans-serif; }
.wcc-title { margin: 0 0 8px; color: inherit; font-size: 1.4rem; font-weight:700; }
.wcc-title *, #wcc-description *, .wcc-summary a *, .wcc-row strong *, .wcc-row small *, .wcc-always *, .wcc-button * { font-size: inherit !important; }
.wcc-banner p { margin: 5px 0; }
.wcc-banner a { color: var(--wcc-primary); }
.wcc-details { margin: 18px 0; border-top: 1px solid var(--wcc-border); }
.wcc-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 13px 0; border-bottom: 1px solid var(--wcc-border); }
.wcc-row small { display: block; margin-top: 3px; color: #526159; }
.wcc-always { flex: 0 0 auto; color: #526159; font-size: .88rem; }
.wcc-row input { width: 44px; height: 24px; accent-color: var(--wcc-primary); }
.wcc-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; margin-top: 20px; }
.wcc-button, .wcc-open-preferences { cursor: pointer; border: 2px solid var(--wcc-primary); border-radius: 8px; padding: 10px 17px; font: 600 15px/1.2 system-ui, sans-serif; }
.wcc-primary { background: var(--wcc-primary); color: var(--wcc-primary-text); }
.wcc-secondary, .wcc-open-preferences { background: var(--wcc-secondary-bg); color: var(--wcc-secondary-text); }
.wcc-button:focus-visible, .wcc-open-preferences:focus-visible { outline: 3px solid #111; outline-offset: 2px; }
.wcc-cookie-launcher { position: fixed !important; left: 20px !important; bottom: max(20px, env(safe-area-inset-bottom)) !important; z-index: 2147483647 !important; display: grid !important; place-items: center; box-sizing: border-box; width: 52px !important; height: 52px !important; min-width: 52px; min-height: 52px; padding: 11px !important; margin: 0 !important; border: 2px solid var(--wcc-primary); border-radius: 50% !important; background: var(--wcc-bg); color: var(--wcc-primary); box-shadow: 0 6px 22px rgba(0,0,0,.22); transform: none; overflow: visible; visibility: visible !important; opacity: 1 !important; }
.wcc-cookie-launcher svg { display: block; width: 100%; height: 100%; fill: currentColor; }
.wcc-cookie-launcher:hover { transform: translateY(-2px); box-shadow: 0 8px 26px rgba(0,0,0,.28); }
body.wcc-modal-open { overflow: hidden; }
@media (max-width: 640px) {
  .wcc-overlay { padding: 0; }
  .wcc-position-bottom { align-items: flex-end; }
  .wcc-banner { max-height: var(--wcc-max-height); overflow: auto; padding: var(--wcc-padding); }
  .wcc-actions { display: grid; grid-template-columns: minmax(0, 1fr); justify-content: stretch; align-items: stretch; width: 100%; }
  .wcc-button { box-sizing: border-box; width: 100%; min-height: 48px; margin: 0; text-align: center; }
  .wcc-cookie-launcher { left: 14px !important; bottom: max(14px, env(safe-area-inset-bottom)) !important; width: 48px !important; height: 48px !important; min-width: 48px; min-height: 48px; padding: 10px !important; }
}
@media (prefers-reduced-motion: no-preference) { .wcc-banner { animation: wcc-in .22s ease-out; } @keyframes wcc-in { from { opacity: 0; transform: translateY(12px); } } }
