.ccc-banner{position:fixed;z-index:999999;left:0;right:0;bottom:0;padding:16px;font-family:Arial,sans-serif;color:#1d2327;background:rgba(0,0,0,.25)}
.ccc-banner[hidden]{display:none!important}.ccc-position-center{top:0;display:flex;align-items:center;justify-content:center}.ccc-panel{position:relative;max-width:860px;margin:0 auto;background:#fff;border-radius:10px;box-shadow:0 10px 40px rgba(0,0,0,.22);padding:22px}.ccc-panel h2{font-size:22px;margin:0 0 10px}.ccc-panel p{font-size:15px;line-height:1.5;margin:0 0 14px}.ccc-close{position:absolute;right:12px;top:8px;border:0;background:transparent;font-size:28px;line-height:1;cursor:pointer;color:#555}.ccc-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.ccc-btn{border:1px solid var(--ccc-accent,#162B75);border-radius:6px;padding:10px 16px;font-weight:700;cursor:pointer}.ccc-btn-primary{background:var(--ccc-accent,#162B75);color:#fff}.ccc-btn-secondary{background:#fff;color:var(--ccc-accent,#162B75)}.ccc-links{display:flex;gap:14px;flex-wrap:wrap}.ccc-links a{color:var(--ccc-accent,#162B75);text-decoration:underline}.ccc-preferences{margin-top:16px;border-top:1px solid #ddd;padding-top:12px}.ccc-category{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #eee;padding:12px 0}.ccc-category p{margin:5px 0 0;color:#555}.ccc-switch input{display:none}.ccc-switch span{display:block;width:48px;height:26px;background:#bbb;border-radius:999px;position:relative;cursor:pointer}.ccc-switch span:before{content:"";position:absolute;width:20px;height:20px;background:#fff;border-radius:50%;top:3px;left:3px;transition:.2s}.ccc-switch input:checked+span{background:var(--ccc-accent,#162B75)}.ccc-switch input:checked+span:before{left:25px}.ccc-switch input:disabled+span{opacity:.7;cursor:not-allowed}@media(max-width:600px){.ccc-actions{flex-direction:column}.ccc-btn{width:100%}.ccc-category{align-items:flex-start}.ccc-panel{padding:18px}}
.ccc-declaration{margin:1.25em 0;overflow-x:auto}.ccc-declaration-table{width:100%;border-collapse:collapse;font-size:14px}.ccc-declaration-table th,.ccc-declaration-table td{border:1px solid #ddd;padding:10px;text-align:left;vertical-align:top}.ccc-declaration-table th{font-weight:700;background:#f6f7f7}.ccc-declaration-table code{white-space:normal;overflow-wrap:anywhere}

/* v1.1.7 viewport-safe consent banner hardening */
.ccc-banner.ccc-viewport-safe{
  position:fixed!important;
  z-index:2147482000!important;
  box-sizing:border-box!important;
  width:auto!important;
  max-width:none!important;
  pointer-events:auto!important;
  transform:none!important;
  overflow:visible!important;
}
.ccc-banner.ccc-viewport-safe:not(.ccc-position-center):not(.ccc-force-center-safe){
  left:max(16px, env(safe-area-inset-left))!important;
  right:max(16px, env(safe-area-inset-right))!important;
  bottom:max(16px, env(safe-area-inset-bottom))!important;
  top:auto!important;
  padding:0!important;
  background:transparent!important;
}
.ccc-banner.ccc-viewport-safe:not(.ccc-position-center):not(.ccc-force-center-safe) .ccc-panel{
  max-width:min(860px, calc(100vw - 32px))!important;
  max-height:calc(100vh - 32px)!important;
  overflow-y:auto!important;
  margin:0 auto!important;
  box-sizing:border-box!important;
}
.ccc-banner.ccc-viewport-safe.ccc-position-center,
.ccc-banner.ccc-viewport-safe.ccc-force-center-safe{
  top:0!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  width:100vw!important;
  height:100vh!important;
  max-width:100vw!important;
  max-height:100vh!important;
  padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left))!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:rgba(0,0,0,.25)!important;
  overflow:hidden!important;
}
.ccc-banner.ccc-viewport-safe.ccc-position-center .ccc-panel,
.ccc-banner.ccc-viewport-safe.ccc-force-center-safe .ccc-panel{
  width:min(860px, calc(100vw - 32px))!important;
  max-height:calc(100vh - 32px)!important;
  overflow-y:auto!important;
  margin:0!important;
  box-sizing:border-box!important;
}
body.comitpro-av-locked .ccc-banner{z-index:2147481000!important;}
@media(max-width:600px){
  .ccc-banner.ccc-viewport-safe:not(.ccc-position-center):not(.ccc-force-center-safe){
    left:max(10px, env(safe-area-inset-left))!important;
    right:max(10px, env(safe-area-inset-right))!important;
    bottom:max(10px, env(safe-area-inset-bottom))!important;
  }
  .ccc-banner.ccc-viewport-safe .ccc-panel{max-height:calc(100vh - 20px)!important;}
}

/* v1.0.16 mobile tap hardening for consent controls */
#ccc-banner,
#ccc-banner .ccc-panel,
#ccc-banner .ccc-actions,
#ccc-banner .ccc-preferences,
#ccc-banner button,
#ccc-banner label,
#ccc-banner input {
  pointer-events:auto!important;
}
#ccc-banner button,
#ccc-banner [data-ccc-action],
#ccc-banner .ccc-close,
#ccc-banner .ccc-switch,
#ccc-banner .ccc-switch input {
  touch-action:manipulation!important;
  -webkit-tap-highlight-color:rgba(0,0,0,.12)!important;
}
@media(max-width:600px){
  #ccc-banner .ccc-actions{display:flex!important;flex-direction:column!important;gap:10px!important;}
  #ccc-banner .ccc-btn{width:100%!important;min-height:44px!important;}
  #ccc-banner .ccc-panel{-webkit-overflow-scrolling:touch!important;}
}


/* v1.0.17 mobile consent tap fix: clear leftover locks and force tappable controls */
#ccc-banner{
  pointer-events:auto!important;
  touch-action:auto!important;
  -webkit-user-select:auto!important;
  user-select:auto!important;
}
#ccc-banner[hidden]{display:none!important;}
#ccc-banner:not([hidden]){
  display:flex!important;
  z-index:2147482000!important;
}
#ccc-banner .ccc-panel{
  pointer-events:auto!important;
  position:relative!important;
  z-index:2147482100!important;
}
#ccc-banner button,
#ccc-banner [data-ccc-action]{
  pointer-events:auto!important;
  position:relative!important;
  z-index:2147482200!important;
  touch-action:manipulation!important;
  -webkit-appearance:none!important;
  appearance:none!important;
}
@media(max-width:768px){
  #ccc-banner .ccc-actions{display:flex!important;flex-direction:column!important;gap:12px!important;width:100%!important;}
  #ccc-banner .ccc-btn,
  #ccc-banner [data-ccc-action]{width:100%!important;min-height:52px!important;font-size:16px!important;line-height:1.2!important;padding:14px 18px!important;}
  #ccc-banner .ccc-panel{max-height:calc(100dvh - 24px)!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;}
}
