.pe-cookie-banner[hidden],.pe-cookie-banner:not([open]){display:none!important}
html.pe-cookie-modal-open,html.pe-cookie-modal-open body{
  overflow:hidden;
  overscroll-behavior:none;
}
.pe-cookie-banner::backdrop{
  background:rgba(8,31,53,.48);
  touch-action:none;
}
.pe-cookie-banner{
  box-sizing:border-box;
  position:fixed;
  inset:auto 1rem 1rem;
  z-index:10000;
  width:calc(100% - 2rem);
  max-width:940px;
  max-height:calc(100dvh - 2rem);
  overflow-y:auto;
  overscroll-behavior:contain;
  margin:0 auto;
  padding:0;
  border:0;
  border-radius:12px;
  background:transparent;
  color:#1B2B3A;
  font-family:'Source Sans 3',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
.pe-cookie-panel{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:1.25rem 2rem;
  align-items:center;
  padding:1.35rem;
  background:#fff;
  border:1px solid #D5DFE9;
  border-top:4px solid #C9962E;
  border-radius:12px;
  box-shadow:0 18px 60px rgba(8,31,53,.24);
}
.pe-cookie-copy h2{
  margin:0 0 .45rem;
  color:#123C63;
  font-family:'Source Serif 4',Georgia,serif;
  font-size:clamp(1.25rem,3vw,1.55rem);
  line-height:1.2;
}
.pe-cookie-copy h2:focus{outline:none}
.pe-cookie-copy p{
  margin:0;
  color:#465A6E;
  font-size:.97rem;
  line-height:1.55;
}
.pe-cookie-copy a{
  color:#123C63;
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:2px;
}
.pe-cookie-copy .pe-cookie-details{margin-top:.75rem;font-size:.9rem}
.pe-cookie-copy .pe-cookie-notice{margin-top:.55rem;font-size:.9rem}
.pe-cookie-services{margin-top:1rem;padding-bottom:1rem;border-bottom:1px solid #D5DFE9}
.pe-cookie-services h3{margin:0 0 .5rem;color:#123C63;font-size:1rem;line-height:1.3}
.pe-cookie-disclosure{margin-top:.7rem;border-top:1px solid #D5DFE9}
.pe-cookie-disclosure summary{
  min-height:44px;
  padding:.65rem .2rem;
  color:#123C63;
  font-size:.97rem;
  font-weight:700;
  line-height:1.4;
  cursor:pointer;
}
.pe-cookie-disclosure summary::marker{color:#123C63}
.pe-cookie-disclosure summary:focus-visible{outline:3px solid #C9962E;outline-offset:2px}
.pe-cookie-disclosure-content{
  max-height:36dvh;
  overflow-y:auto;
  overscroll-behavior:contain;
  padding:.25rem .25rem .5rem;
}
.pe-cookie-actions{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.65rem;
  min-width:0;
}
.pe-cookie-options{margin:1rem 0 0;padding:0;border:0;min-width:0;display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.pe-cookie-option:last-of-type:nth-of-type(3){grid-column:1 / -1}
.pe-cookie-options legend{padding:0;margin:0 0 .6rem;font-size:.95rem;font-weight:700;color:#123C63}
.pe-cookie-option{display:flex;gap:.65rem;align-items:flex-start;cursor:pointer;font-size:.9rem;line-height:1.45;color:#465A6E}
.pe-cookie-option input{flex:0 0 20px;width:20px;height:20px;margin:.1rem 0 0;accent-color:#123C63;cursor:pointer}
.pe-cookie-option strong{display:block;margin-bottom:.2rem;color:#123C63;font-size:.96rem}
.pe-cookie-option span span{display:block}
.pe-cookie-option input:focus-visible{outline:3px solid #C9962E;outline-offset:3px}
.pe-cookie-choice{
  min-height:48px;
  padding:.72rem 1rem;
  border:2px solid #123C63;
  border-radius:8px;
  background:#fff;
  color:#123C63;
  font:700 .94rem/1.2 'Source Sans 3',system-ui,sans-serif;
  cursor:pointer;
  transition:background .2s,color .2s,transform .2s;
}
.pe-cookie-choice:hover{
  background:#123C63;
  color:#fff;
  transform:translateY(-1px);
}
.pe-cookie-choice:focus-visible,.pe-cookie-settings:focus-visible{
  outline:3px solid #C9962E;
  outline-offset:3px;
}
.pe-cookie-settings{
  appearance:none;
  border:0;
  padding:0;
  background:transparent;
  color:inherit;
  font:inherit;
  text-decoration:underline;
  text-underline-offset:2px;
  cursor:pointer;
}
footer .pe-cookie-settings{
  display:inline-block;
}
footer .footer-grid .pe-cookie-settings{
  display:block;
  margin:0 0 .5rem;
  color:#8FA9C0;
  text-decoration:none;
}
footer .footer-grid .pe-cookie-settings:hover{color:#C9962E}
footer .footer-links .pe-cookie-settings{
  color:#EFF5FA;
  font-weight:700;
  text-decoration:none;
}
footer .footer-links .pe-cookie-settings:hover{
  text-decoration:underline;
  text-underline-offset:3px;
}
@media(max-width:760px){
  .pe-cookie-banner{inset:auto .6rem .6rem;width:calc(100% - 1.2rem);max-height:calc(100dvh - 1.2rem)}
  .pe-cookie-panel{grid-template-columns:1fr;padding:1.1rem;gap:1rem}
  .pe-cookie-options{grid-template-columns:1fr;gap:.8rem}
  .pe-cookie-actions{min-width:0;width:100%}
}
@media(max-width:460px){
  .pe-cookie-panel{padding:1rem;gap:.75rem}
  .pe-cookie-copy p{font-size:.94rem;line-height:1.45}
  .pe-cookie-copy .pe-cookie-notice{margin-top:.4rem}
  .pe-cookie-disclosure{margin-top:.5rem}
  .pe-cookie-actions{grid-template-columns:1fr}
  .pe-cookie-choice{width:100%}
}
@media(prefers-reduced-motion:reduce){
  .pe-cookie-choice{transition:none}
}
