/* TIP Forms Brand — consent gate modal.
   Namespaced .tipfb-gate* and re-declared against theme styles. */

.tipfb-gate,.tipfb-gate *{box-sizing:border-box}

.tipfb-gate{
  position:fixed;inset:0;z-index:999990;
  display:flex;align-items:center;justify-content:center;
  padding:clamp(12px,3vw,32px);
  background:rgba(9,22,48,0);
  opacity:0;transition:background .22s ease,opacity .22s ease;
  font-family:var(--tipfb-text,"Public Sans",system-ui,sans-serif);
  overflow-y:auto;
}
.tipfb-gate.is-open{background:rgba(9,22,48,.62);opacity:1}

.tipfb-gate__box{
  width:min(720px,100%);max-height:92vh;
  display:flex;flex-direction:column;
  background:#fff;border-radius:16px;
  box-shadow:0 30px 80px rgba(9,22,48,.42);
  overflow:hidden;
  transform:translateY(10px) scale(.99);
  transition:transform .24s cubic-bezier(.2,.8,.3,1);
}
.tipfb-gate.is-open .tipfb-gate__box{transform:none}

.tipfb-gate__head{background:var(--tipfb-blue,#2253A8);padding:18px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex:none}
.tipfb-gate__brand{display:flex;align-items:center;gap:13px;min-width:0}
.tipfb-gate__brand img{height:30px;width:auto;display:block;max-width:none}
.tipfb-gate__rule{width:1px;height:24px;background:rgba(255,255,255,.26);flex:none}
.tipfb-gate__kicker{font:700 14.5px/1.1 var(--tipfb-display,"Figtree",sans-serif);color:#fff;white-space:nowrap}
.tipfb-gate__req{font:700 10px/1 var(--tipfb-display,"Figtree",sans-serif);letter-spacing:.12em;text-transform:uppercase;color:#fff;background:var(--tipfb-red,#ED1D24);padding:6px 10px;border-radius:20px;flex:none}
.tipfb-gate__hactions{display:flex;align-items:center;gap:10px;flex:none}
.tipfb-gate__close{
  width:34px;height:34px;display:flex;align-items:center;justify-content:center;
  cursor:pointer;border:0!important;border-radius:8px!important;padding:0!important;min-height:0!important;
  background:rgba(255,255,255,.14)!important;color:#fff!important;box-shadow:none!important;
  transition:background .16s ease;
}
.tipfb-gate__close:hover{background:rgba(255,255,255,.28)!important}
.tipfb-gate__close:focus-visible{outline:2px solid #fff;outline-offset:2px}

.tipfb-gate__step{padding:12px 24px 0;font:600 12px/1.4 var(--tipfb-text,sans-serif);color:#616C82;flex:none}
.tipfb-gate__body{overflow-y:auto;display:flex;flex-direction:column;min-height:0}
.tipfb-gate__pad{padding:16px 24px 22px}

.tipfb-gate__h{margin:0 0 8px!important;font:800 24px/1.18 var(--tipfb-display,"Figtree",sans-serif)!important;letter-spacing:-.022em;color:#0F2450!important;text-transform:none!important}
.tipfb-gate__p{margin:0 0 20px!important;font:400 15px/1.65 var(--tipfb-text,sans-serif)!important;color:#4E5A70!important;max-width:540px;text-wrap:pretty}

/* ---- Path chooser ---- */
.tipfb-gate__paths{display:flex;flex-direction:column;gap:10px}
.tipfb-gate__path{
  display:flex;align-items:center;gap:14px;width:100%;text-align:left;
  border:1.5px solid #E1E8F5!important;border-radius:12px!important;padding:16px 17px!important;
  background:#fff!important;cursor:pointer;-webkit-appearance:none;appearance:none;
  box-shadow:none!important;text-transform:none!important;letter-spacing:0!important;min-height:0!important;
  transition:border-color .16s ease,background .16s ease,box-shadow .16s ease;
}
.tipfb-gate__path:hover{border-color:var(--tipfb-blue,#2253A8)!important;background:#F7FAFF!important}
.tipfb-gate__path[data-on="true"]{border-color:var(--tipfb-blue,#2253A8)!important;background:#F2F6FF!important;box-shadow:0 4px 16px rgba(34,83,168,.16)!important}
.tipfb-gate__pico{width:38px;height:38px;border-radius:10px;background:rgba(34,83,168,.09);color:var(--tipfb-blue,#2253A8);display:flex;align-items:center;justify-content:center;flex:none;transition:background .16s ease,color .16s ease}
.tipfb-gate__path[data-on="true"] .tipfb-gate__pico{background:var(--tipfb-blue,#2253A8);color:#fff}
.tipfb-gate__ptext{flex:1;min-width:0}
.tipfb-gate__plabel{display:block;font:700 15.5px/1.3 var(--tipfb-display,"Figtree",sans-serif);color:#16233C;margin-bottom:3px}
.tipfb-gate__pnote{display:block;font:400 13.5px/1.5 var(--tipfb-text,sans-serif);color:#616C82}
.tipfb-gate__badge{font:700 10px/1 var(--tipfb-display,"Figtree",sans-serif);letter-spacing:.1em;text-transform:uppercase;color:#1B7A4B;background:#E8F6EE;padding:6px 9px;border-radius:5px;flex:none}

/* ---- Fields ---- */
.tipfb-gate__panel{margin-top:16px;padding:20px;background:#F7FAFF;border:1px solid #E1E9F6;border-radius:12px;animation:tipfbGateIn .2s ease both}
.tipfb-gate__grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.tipfb-gate__field{margin-bottom:14px}
.tipfb-gate__field label{display:block;font:600 12.5px/1 var(--tipfb-display,"Figtree",sans-serif)!important;color:#3B4759!important;margin-bottom:7px!important;text-transform:none!important}
.tipfb-gate__field input{
  width:100%;font:400 14.5px/1.4 var(--tipfb-text,sans-serif)!important;color:#16233C!important;
  padding:13px 14px!important;border:1.5px solid #DCE4F2!important;border-radius:8px!important;
  background:#fff!important;outline:none!important;min-height:48px!important;box-shadow:none!important;
  transition:border-color .16s ease,box-shadow .16s ease;
}
.tipfb-gate__field input:focus{border-color:var(--tipfb-blue,#2253A8)!important;box-shadow:0 0 0 3px rgba(34,83,168,.13)!important}
.tipfb-gate__field.has-error input{border-color:var(--tipfb-red,#ED1D24)!important;background:#FFF7F7!important}
.tipfb-gate__fielderr{display:block;font:500 12.5px/1.45 var(--tipfb-text,sans-serif);color:var(--tipfb-red,#ED1D24);margin-top:6px}
.tipfb-gate__fielderr:empty{display:none}
.tipfb-gate__star{color:var(--tipfb-red,#ED1D24)}
.tipfb-gate__pw{position:relative}
.tipfb-gate__pw input{padding-right:74px!important}
.tipfb-gate__reveal{
  position:absolute;right:6px;top:6px;cursor:pointer;
  font:600 12px/1 var(--tipfb-display,"Figtree",sans-serif)!important;color:var(--tipfb-blue,#2253A8)!important;
  background:transparent!important;border:0!important;padding:11px 10px!important;border-radius:6px!important;
  min-height:0!important;box-shadow:none!important;text-transform:none!important;
}
.tipfb-gate__reveal:hover{background:#F2F6FF!important}
.tipfb-gate__inline{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.tipfb-gate__inline a{font:600 13px/1 var(--tipfb-display,"Figtree",sans-serif);color:var(--tipfb-blue,#2253A8)!important;text-decoration:none!important}
.tipfb-gate__hint{margin:10px 0 0!important;font:400 13px/1.55 var(--tipfb-text,sans-serif)!important;color:#616C82!important}

/* ---- Consent reader ---- */
.tipfb-gate__summary{background:#F2F6FF;border:1px solid #DCE7F9;border-radius:12px;padding:17px 19px;margin-bottom:18px}
.tipfb-gate__sline{display:flex;gap:10px;align-items:flex-start;margin-bottom:9px;font:400 14px/1.55 var(--tipfb-text,sans-serif);color:#2E3B52}
.tipfb-gate__sline:last-child{margin-bottom:0}
.tipfb-gate__sline svg{color:var(--tipfb-blue,#2253A8);flex:none;margin-top:3px}

.tipfb-gate__reader{border:1.5px solid #DCE4F2;border-radius:12px;overflow:hidden}
.tipfb-gate__rhead{padding:12px 16px;background:#FAFCFF;border-bottom:1px solid #EDF1F8;display:flex;align-items:center;justify-content:space-between;gap:12px;font:700 12.5px/1 var(--tipfb-display,"Figtree",sans-serif);color:#3B4759}
.tipfb-gate__rstate{font:600 11.5px/1 var(--tipfb-text,sans-serif);color:#8A94A6}
.tipfb-gate__rstate.is-done{color:#1B7A4B}
.tipfb-gate__bar{height:4px;background:#EDF1F8}
.tipfb-gate__bar i{display:block;height:4px;width:0;background:var(--tipfb-blue,#2253A8);transition:width .1s linear}
.tipfb-gate__scroll{height:200px;overflow-y:auto;padding:18px 16px;background:#fff;-webkit-overflow-scrolling:touch}
.tipfb-gate__scroll:focus-visible{outline:2px solid var(--tipfb-blue,#2253A8);outline-offset:-2px}
.tipfb-gate__sec{margin-bottom:16px}
.tipfb-gate__sec h3{margin:0 0 5px!important;font:700 13px/1.3 var(--tipfb-display,"Figtree",sans-serif)!important;color:#16233C!important;text-transform:none!important}
.tipfb-gate__sec p{margin:0!important;font:400 13.5px/1.68 var(--tipfb-text,sans-serif)!important;color:#4E5A70!important}

/* ---- Checkboxes ---- */
.tipfb-gate__checks{margin-top:18px;transition:opacity .2s ease}
.tipfb-gate__checks.is-locked{opacity:.45;pointer-events:none}
.tipfb-gate__clabel{font:800 10.5px/1 var(--tipfb-display,"Figtree",sans-serif);letter-spacing:.14em;text-transform:uppercase;color:#616C82;margin-bottom:12px}
.tipfb-gate__cdiv{margin-top:20px;padding-top:18px;border-top:1px dashed #DCE4F2}
.tipfb-gate__cbrow{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px;cursor:pointer;font:400 14px/1.55 var(--tipfb-text,sans-serif);color:#2E3B52}
.tipfb-gate__cbrow input{position:absolute;opacity:0;width:0;height:0;margin:0;pointer-events:none}
.tipfb-gate__cb{
  width:20px;height:20px;border:1.5px solid #C6D2E6;border-radius:5px;background:#fff;
  flex:none;margin-top:1px;position:relative;transition:background .14s ease,border-color .14s ease;
}
.tipfb-gate__cb::after{
  content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;
  border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg) scale(.6);
  opacity:0;transition:opacity .14s ease,transform .14s ease;
}
.tipfb-gate__cbrow:hover .tipfb-gate__cb{border-color:var(--tipfb-blue,#2253A8)}
.tipfb-gate__cbrow input:checked + .tipfb-gate__cb{background:var(--tipfb-blue,#2253A8);border-color:var(--tipfb-blue,#2253A8)}
.tipfb-gate__cbrow input:checked + .tipfb-gate__cb::after{opacity:1;transform:rotate(45deg) scale(1)}
.tipfb-gate__cbrow input:focus-visible + .tipfb-gate__cb{box-shadow:0 0 0 3px rgba(34,83,168,.25)}
.tipfb-gate__cbrow.has-error .tipfb-gate__cb{border-color:var(--tipfb-red,#ED1D24)}
.tipfb-gate__ctext{flex:1}
.tipfb-gate__creason{display:block;margin-top:5px;font:500 12.5px/1.5 var(--tipfb-text,sans-serif);color:#8A5A18;background:#FFF8F1;border:1px solid #F5DFC4;border-radius:7px;padding:8px 10px}

/* ---- Errors, footer, done ---- */
.tipfb-gate__err{margin-top:16px;padding:12px 14px;background:#FFF3F3;border:1px solid #F7C9C9;border-radius:9px;font:500 13.5px/1.55 var(--tipfb-text,sans-serif);color:#9B1C1C}
.tipfb-gate__err[hidden]{display:none}

.tipfb-gate__foot{border-top:1px solid #EDF1F8;background:#FAFCFF;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;flex:none}
.tipfb-gate__secure{display:inline-flex;align-items:center;gap:8px;font:400 12.5px/1.4 var(--tipfb-text,sans-serif);color:#616C82}
.tipfb-gate__foothint{font:400 12.5px/1.4 var(--tipfb-text,sans-serif);color:#616C82;flex:1;text-align:right}
.tipfb-gate__go{
  display:inline-flex;align-items:center;gap:9px;cursor:pointer;
  background:var(--tipfb-red,#ED1D24)!important;color:#fff!important;
  font:700 15px/1 var(--tipfb-display,"Figtree",sans-serif)!important;
  padding:15px 26px!important;border:0!important;border-radius:8px!important;
  box-shadow:0 6px 18px rgba(237,29,36,.26)!important;min-height:52px!important;
  text-transform:none!important;letter-spacing:0!important;
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease;
}
.tipfb-gate__go:hover:not([disabled]){transform:translateY(-2px)}
.tipfb-gate__go[disabled]{background:#EDF1F8!important;color:#8A94A6!important;box-shadow:none!important;cursor:not-allowed;transform:none!important}
.tipfb-gate__back{
  display:inline-flex;align-items:center;gap:7px;cursor:pointer;
  font:600 13.5px/1 var(--tipfb-display,"Figtree",sans-serif)!important;color:#616C82!important;
  background:transparent!important;border:0!important;padding:12px 4px!important;min-height:0!important;
  box-shadow:none!important;text-transform:none!important;
}
.tipfb-gate__back:hover{color:var(--tipfb-blue,#2253A8)!important}

.tipfb-gate__done{padding:44px 24px;text-align:center}
.tipfb-gate__tick{width:56px;height:56px;border-radius:50%;background:#E8F6EE;color:#1B7A4B;display:flex;align-items:center;justify-content:center;margin:0 auto 18px}
.tipfb-gate__done .tipfb-gate__p{margin-left:auto;margin-right:auto}

@keyframes tipfbGateIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

@media (max-width:640px){
  .tipfb-gate{padding:0;align-items:stretch}
  .tipfb-gate__box{width:100%;max-height:100vh;border-radius:0}
  .tipfb-gate__grid{grid-template-columns:1fr}
  .tipfb-gate__pad{padding:14px 18px 20px}
  .tipfb-gate__head,.tipfb-gate__foot{padding-left:18px;padding-right:18px}
  .tipfb-gate__h{font-size:21px!important}
  .tipfb-gate__scroll{height:170px}
  .tipfb-gate__foot{flex-direction:column-reverse;align-items:stretch}
  .tipfb-gate__go{width:100%;justify-content:center}
  .tipfb-gate__foothint{text-align:center}
  .tipfb-gate__secure{justify-content:center}
  .tipfb-gate__field input{font-size:16px!important}
}
@media (prefers-reduced-motion:reduce){
  .tipfb-gate,.tipfb-gate__box,.tipfb-gate__panel,.tipfb-gate__go{transition:none!important;animation:none!important}
}
