/* AIT Cookie Consent 2.0. All UI rules scoped to plugin classes. */
.aitcc-root{--aitcc-bg:#172338;--aitcc-fg:#fff;--aitcc-accent:#2563eb;font:inherit;line-height:1.55;box-sizing:border-box;color:var(--aitcc-fg)}
.aitcc-root *{box-sizing:border-box}
.aitcc-root [hidden]{display:none!important}
.aitcc-banner{position:fixed;left:0;right:0;z-index:2147483000;background:var(--aitcc-panel-bg,var(--aitcc-bg));color:var(--aitcc-fg);box-shadow:0 5px 28px rgba(0,0,0,.3);padding:18px max(18px,env(safe-area-inset-right));border-top:1px solid rgba(255,255,255,.14)}
.aitcc-bottom .aitcc-banner{bottom:0}
.aitcc-top .aitcc-banner{top:0}
.aitcc-banner-content{max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px}
.aitcc-banner-copy{flex:1 1 540px;min-width:0}
/* The message uses a dedicated element and an explicit color, independent of theme paragraph styles. */
.aitcc-root .aitcc-banner .aitcc-banner-copy > .aitcc-description{display:block;font-size:14px;line-height:1.6;margin:7px 0 6px;color:var(--aitcc-fg,#fff)!important;-webkit-text-fill-color:var(--aitcc-fg,#fff)!important;opacity:1!important}
.aitcc-heading{display:block;font-size:18px;line-height:1.4;color:inherit}
.aitcc-links{display:flex;flex-wrap:wrap;gap:15px;margin-top:7px;font-size:13px}
.aitcc-links a{color:inherit!important;text-decoration:underline!important;text-underline-offset:3px}
.aitcc-banner-actions{flex:0 1 430px;display:flex;align-items:stretch;justify-content:flex-end;gap:9px;flex-wrap:wrap}
.aitcc-btn{appearance:none;border:1px solid transparent;box-shadow:none;border-radius:9px;padding:12px 15px;font:inherit;font-size:13px;font-weight:650;cursor:pointer;min-height:44px;line-height:1.25;transition:filter .12s,transform .12s;text-align:center}
.aitcc-btn:hover{filter:brightness(1.09)}
.aitcc-btn:active{transform:translateY(1px)}
.aitcc-btn:focus-visible,.aitcc-root a:focus-visible,.aitcc-category input:focus-visible,.aitcc-close:focus-visible,.aitcc-float:focus-visible{outline:3px solid #fbba37!important;outline-offset:3px}
.aitcc-accept{background:var(--aitcc-accent);color:#fff;border-color:var(--aitcc-accent)}
.aitcc-decline{background:transparent;color:inherit;border-color:currentColor}
.aitcc-customize{background:#f0f3f8;color:#14243b;border-color:#f0f3f8}
/* Isolated, size-locked true circle with configurable screen offsets.
   Inline radius + clipping prevent aggressive theme button styling from squaring it. */
#aitcc-root button.aitcc-float{
  position:fixed!important;z-index:2147482990!important;
  width:var(--aitcc-float-size,48px)!important;height:var(--aitcc-float-size,48px)!important;
  min-width:var(--aitcc-float-size,48px)!important;max-width:var(--aitcc-float-size,48px)!important;
  min-height:var(--aitcc-float-size,48px)!important;max-height:var(--aitcc-float-size,48px)!important;
  aspect-ratio:1/1!important;box-sizing:border-box!important;
  display:flex;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;
  margin:0!important;padding:0!important;line-height:1!important;font-size:inherit!important;
  border:1px solid rgba(255,255,255,.64)!important;border-radius:50%!important;
  overflow:hidden!important;
  background:var(--aitcc-bg,#172338)!important;color:var(--aitcc-fg,#fff)!important;
  box-shadow:0 5px 18px rgba(0,0,0,.24)!important;
  appearance:none!important;-webkit-appearance:none!important;
  cursor:pointer;transform:none;transition:transform .18s ease,filter .18s ease,box-shadow .18s ease;
  top:auto!important;bottom:calc(var(--aitcc-float-y,16px) + env(safe-area-inset-bottom,0px))!important;
  left:calc(var(--aitcc-float-x,16px) + env(safe-area-inset-left,0px))!important;right:auto!important;
}
#aitcc-root button.aitcc-float:hover{transform:translateY(-2px)!important;filter:brightness(1.08)!important;box-shadow:0 8px 24px rgba(0,0,0,.3)!important}
#aitcc-root button.aitcc-float:active{transform:translateY(0) scale(.97)!important;filter:brightness(.96)!important}
#aitcc-root button.aitcc-float[hidden]{display:none!important}
#aitcc-root .aitcc-cookie-icon{display:block!important;flex:none!important;width:54%!important;height:54%!important;max-width:29px!important;max-height:29px!important;color:inherit!important;stroke:currentColor;pointer-events:none}
#aitcc-root button.aitcc-float::before,#aitcc-root button.aitcc-float::after{content:none!important;display:none!important}
#aitcc-root.aitcc-float-right button.aitcc-float{left:auto!important;right:calc(var(--aitcc-float-x,16px) + env(safe-area-inset-right,0px))!important}
#aitcc-root.aitcc-top button.aitcc-float{top:calc(var(--aitcc-float-y,16px) + env(safe-area-inset-top,0px))!important;bottom:auto!important}
.aitcc-backdrop{position:fixed;inset:0;background:rgba(13,22,34,.72);z-index:2147483010}
.aitcc-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(580px,calc(100vw - 28px));max-height:min(88vh,820px);overflow:auto;background:#fff!important;color:#203047!important;z-index:2147483011;border-radius:17px;box-shadow:0 15px 65px rgba(0,0,0,.35);padding:24px;font:inherit}
.aitcc-modal-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:7px}
.aitcc-modal h2{font:inherit;font-size:23px;font-weight:750;color:#203047;margin:0;padding:0}
.aitcc-modal>p{font-size:14px;color:#506176;margin:7px 0 20px}
.aitcc-close{font:inherit;font-size:29px;line-height:1;border:0;background:transparent;color:#203047;padding:4px 10px;cursor:pointer}
.aitcc-categories{border:1px solid #e1e7ef;border-radius:12px;overflow:hidden}
.aitcc-category{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 17px;border-bottom:1px solid #e1e7ef;color:#213147;cursor:pointer}
.aitcc-category:last-child{border-bottom:0}
.aitcc-category strong{display:block;font-size:15px;color:#213147}
.aitcc-category small{display:block;color:#637285;font-size:12px;margin-top:4px;line-height:1.5}
.aitcc-category input{width:20px;height:20px;min-width:20px;accent-color:var(--aitcc-accent);cursor:pointer}
.aitcc-required{font-size:11px;font-weight:700;background:#e9f7ed;color:#17633d;padding:6px 10px;white-space:nowrap;border-radius:20px}
.aitcc-modal-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}
.aitcc-modal-actions .aitcc-btn{flex:1 1 150px}
.aitcc-modal .aitcc-decline{border:1px solid #64748b;color:#203047}
.aitcc-modal-links a{color:#2955a7!important}
.aitcc-inline-open{background:transparent!important;border:0!important;color:inherit!important;text-decoration:underline!important;cursor:pointer!important;padding:0!important;font:inherit!important}
body.aitcc-modal-open{overflow:hidden}
/* v2.0.7 MOBILE FIX — desktop flex-basis of 540px must NOT become a 540px HEIGHT
   when the banner switches to a column on phones. All children take content height. */
@media (max-width:820px){
 #aitcc-root .aitcc-banner{
   padding:14px max(14px,env(safe-area-inset-right,0px)) calc(14px + env(safe-area-inset-bottom,0px)) max(14px,env(safe-area-inset-left,0px));
   width:100%;height:auto!important;min-height:0!important;
   max-height:65vh;max-height:65dvh;overflow-x:hidden;overflow-y:auto;
   overscroll-behavior:contain;
   border-radius:14px 14px 0 0;
 }
 #aitcc-root.aitcc-top .aitcc-banner{
   padding-top:calc(14px + env(safe-area-inset-top,0px));
   padding-bottom:14px;border-radius:0 0 14px 14px;
 }
 #aitcc-root .aitcc-banner-content{
   display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;
   gap:11px;width:100%;height:auto!important;min-height:0!important;
 }
 #aitcc-root .aitcc-banner-copy{
   display:block;flex:0 0 auto!important;flex-basis:auto!important;
   width:100%;min-width:0;height:auto!important;min-height:0!important;margin:0;
 }
 #aitcc-root .aitcc-heading{font-size:16px;line-height:1.35}
 #aitcc-root .aitcc-banner .aitcc-banner-copy > .aitcc-description{
   font-size:13px;line-height:1.45;margin:5px 0 4px;
 }
 #aitcc-root .aitcc-links{font-size:12px;gap:8px 14px;margin-top:5px}
 #aitcc-root .aitcc-banner-actions{
   display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
   align-items:stretch;justify-content:stretch;gap:8px;
   flex:0 0 auto!important;flex-basis:auto!important;
   width:100%;height:auto!important;min-height:0!important;margin:0;
 }
 #aitcc-root .aitcc-banner-actions .aitcc-btn{
   display:block;width:100%;max-width:none;min-width:0;min-height:44px;
   height:auto;margin:0;padding:9px 8px;
   font-size:12px;line-height:1.3;white-space:normal!important;
   overflow-wrap:break-word;
 }
 #aitcc-root .aitcc-banner-actions .aitcc-customize{
   grid-column:1/-1;min-height:36px;padding:7px 12px;
 }
 #aitcc-root .aitcc-modal{padding:20px;max-height:calc(100dvh - 28px)}
}
@media (max-width:440px){
 #aitcc-root .aitcc-banner{padding-left:12px;padding-right:12px}
 #aitcc-root .aitcc-banner-actions{gap:7px}
 #aitcc-root .aitcc-banner-actions .aitcc-btn{font-size:11.5px;padding:8px 6px}
 #aitcc-root .aitcc-banner .aitcc-banner-copy > .aitcc-description{font-size:12.5px}
 #aitcc-root .aitcc-modal-actions .aitcc-btn{flex:1 1 100%}
}
@media (max-height:480px) and (max-width:820px){
 #aitcc-root .aitcc-banner{max-height:58dvh}
}
@media (prefers-reduced-motion:reduce){.aitcc-root *{scroll-behavior:auto!important;transition:none!important}#aitcc-root button.aitcc-float:hover,#aitcc-root button.aitcc-float:active{transform:none!important}}
