/* PBL consent modal + preferences UI */
.pbl-cookie-banner,
.pbl-cookie-dialog,
.pbl-cookie-banner *,
.pbl-cookie-dialog *{box-sizing:border-box}
body.pbl-cookie-banner-visible{overflow:hidden}

/* First-visit modal: works with the existing server-rendered banner markup. */
.pbl-cookie-banner{
  position:fixed!important;inset:0!important;z-index:9998!important;display:grid!important;place-items:center!important;
  width:100%!important;height:100%!important;padding:28px!important;margin:0!important;transform:none!important;
  background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;
  color:#071d2d!important;font-family:Inter,Arial,sans-serif!important
}
.pbl-cookie-banner[hidden]{display:none!important}
.pbl-cookie-banner::before{content:"";position:absolute;inset:0;background:rgba(5,15,23,.60);backdrop-filter:blur(2px)}
.pbl-cookie-banner-inner{
  position:relative;z-index:1;display:block!important;width:min(820px,100%)!important;max-height:min(820px,calc(100vh - 40px));
  overflow:auto;background:#fff;color:#071d2d;border:2px solid #071d2d;border-radius:0;
  box-shadow:0 32px 100px rgba(0,0,0,.38);padding:44px 46px 36px!important
}
.pbl-cookie-copy{max-width:720px!important}
.pbl-cookie-banner-kicker{display:block;margin:0 0 24px;color:#071d2d;font-size:46px;font-weight:950;line-height:.98;letter-spacing:-.035em;text-transform:uppercase}
.pbl-cookie-copy strong{display:block;margin:0 0 18px!important;font-size:24px!important;line-height:1.16!important;letter-spacing:-.02em;color:#071d2d!important}
.pbl-cookie-copy p{margin:0!important;color:#17384d!important;font-size:18px!important;line-height:1.5!important}
.pbl-cookie-copy p a{display:none!important}
.pbl-cookie-actions{display:block!important;margin-top:30px!important}
.pbl-cookie-accept{
  appearance:none;width:100%;min-height:72px;border:0;background:#071d2d;color:#fff;padding:0 24px;
  display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;
  font:900 16px/1 Inter,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;transition:.18s ease
}
.pbl-cookie-accept:hover{background:#0b3450;transform:translateY(-1px)}
.pbl-cookie-accept span:last-child{font-size:29px;font-weight:400;letter-spacing:0}
.pbl-cookie-secondary-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:17px}
.pbl-cookie-text-action{
  appearance:none;border:0!important;background:transparent!important;padding:0!important;margin:0!important;color:#36586e!important;cursor:pointer;
  min-height:auto!important;font:700 12px/1.4 Inter,Arial,sans-serif!important;text-decoration:underline;text-underline-offset:3px;white-space:normal!important
}
a.pbl-cookie-text-action{display:inline-block}
.pbl-cookie-text-action:hover{color:#0d94dc!important;transform:none!important}

/* Cookie Settings dialog */
#cookie-dialog.pbl-cookie-dialog,#cookie-dialog{
  width:min(650px,calc(100% - 28px));max-width:650px;border:1px solid #d3e2ea;border-radius:16px;
  padding:0;background:#fff;color:#071d2d;box-shadow:0 30px 90px rgba(0,0,0,.32);font-family:Inter,Arial,sans-serif
}
#cookie-dialog::backdrop{background:rgba(2,17,28,.66);backdrop-filter:blur(4px)}
#cookie-dialog form{padding:27px}
.pbl-cookie-dialog-head,#cookie-dialog .row.spread{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:10px}
.pbl-cookie-dialog-head h2,#cookie-dialog h2{margin:3px 0 0;font-size:28px;line-height:1.1;color:#071d2d;letter-spacing:-.02em}
.pbl-cookie-kicker{font-size:10px;font-weight:900;letter-spacing:.16em;color:#1399e6}
.pbl-cookie-dialog-copy,#cookie-dialog>form>p{margin:0 0 18px;color:#516b7b;line-height:1.6;font-size:14px}
.pbl-cookie-close,#cookie-dialog .icon-button{
  appearance:none;border:0;background:#edf6fa;color:#071d2d;border-radius:10px;width:38px;height:38px;
  font-size:24px;line-height:1;cursor:pointer;flex:0 0 auto
}
#cookie-dialog .consent-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 0;border-top:1px solid #e3edf2;margin:0}
#cookie-dialog .consent-row span{display:flex;flex-direction:column;gap:4px;max-width:500px}
#cookie-dialog .consent-row strong{font-size:14px;color:#071d2d}
#cookie-dialog .consent-row small{font-size:12px;line-height:1.45;color:#68808e}
#cookie-dialog .consent-row input{width:20px;height:20px;accent-color:#1399e6;flex:0 0 auto}
.pbl-cookie-dialog-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:20px}
.pbl-cookie-btn,#cookie-dialog .button{
  appearance:none;border:1px solid #9eb7c5;background:#fff;color:#071d2d;border-radius:9px;
  min-height:44px;padding:10px 15px;margin:0;font:800 12px/1.2 Inter,Arial,sans-serif;cursor:pointer;white-space:nowrap
}
.pbl-cookie-btn:hover,#cookie-dialog .button:hover{border-color:#1399e6;transform:translateY(-1px)}
.pbl-cookie-btn.primary,#cookie-dialog .button.primary{background:#1399e6;border-color:#1399e6;color:#061b2a}
.pbl-cookie-btn.ghost,#cookie-dialog .button.light{background:transparent;border-color:transparent;text-decoration:underline;text-underline-offset:3px}
.footer .cookie-open,.site-footer .cookie-open{border:0;background:transparent;color:inherit;padding:0;margin-top:10px;text-decoration:underline;text-underline-offset:3px;cursor:pointer;font:inherit}
.footer .legal-links,.site-footer .legal-links{margin:12px 0 0}

@media(max-width:700px){
  .pbl-cookie-banner{padding:14px!important}
  .pbl-cookie-banner-inner{padding:28px 24px 22px!important;max-height:calc(100vh - 28px)}
  .pbl-cookie-banner-kicker{margin-bottom:16px;font-size:32px;line-height:1}
  .pbl-cookie-copy strong{font-size:20px!important;margin-bottom:14px!important}
  .pbl-cookie-copy p{font-size:15px!important;line-height:1.5!important}
  .pbl-cookie-accept{min-height:58px;padding:0 18px}
  .pbl-cookie-secondary-actions{gap:12px 16px}
  #cookie-dialog form{padding:20px}
  .pbl-cookie-dialog-head h2,#cookie-dialog h2{font-size:24px}
  .pbl-cookie-dialog-actions{display:grid!important;grid-template-columns:1fr}
  .pbl-cookie-btn,#cookie-dialog .button{width:100%}
}

/* First-visit consent intentionally presents a single primary action. Detailed choices remain in Cookie preferences after entry. */
#pbl-cookie-banner .pbl-cookie-secondary-actions,#pbl-cookie-banner .pbl-cookie-text-action{display:none!important}
