
.pc-banner{
  position:fixed;z-index:99999;left:18px;right:18px;bottom:18px;
  max-width:1180px;margin:auto;padding:18px;
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;
  background:#071a33;color:#fff;border:1px solid rgba(255,255,255,.16);
  border-radius:16px;box-shadow:0 22px 55px rgba(0,0,0,.30);
  font-family:Inter,Arial,Helvetica,sans-serif
}
.pc-banner-copy strong{display:block;font-size:18px;margin-bottom:5px}
.pc-banner-copy p{margin:0;color:#dbe6f2;font-size:13px;line-height:1.55}
.pc-banner a,.pc-modal a{color:#ffd45a;text-decoration:underline;text-underline-offset:3px}
.pc-actions{display:flex;gap:9px;flex-wrap:wrap}
.pc-btn{
  appearance:none;border:1px solid rgba(255,255,255,.48);
  border-radius:8px;min-width:108px;min-height:44px;padding:0 16px;
  font:800 13px/1 Inter,Arial,sans-serif;cursor:pointer
}
.pc-btn-primary{background:linear-gradient(135deg,#ffd45a,#e8a000);color:#161616;border-color:#f2b92c}
.pc-btn-secondary{background:transparent;color:#fff}
.pc-btn:focus-visible,.pc-close:focus-visible,.cookie-legal-links button:focus-visible{
  outline:3px solid #ffd45a;outline-offset:2px
}
.pc-backdrop{position:fixed;z-index:99998;inset:0;background:rgba(2,10,22,.68);backdrop-filter:blur(3px)}
.pc-modal{
  position:fixed;z-index:99999;left:50%;top:50%;transform:translate(-50%,-50%);
  width:min(620px,calc(100% - 28px));max-height:88vh;overflow:auto;
  padding:24px;background:#fff;color:#122238;border-radius:18px;
  box-shadow:0 26px 75px rgba(0,0,0,.35);font-family:Inter,Arial,Helvetica,sans-serif
}
.pc-modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
.pc-eyebrow{font-size:11px;font-weight:900;letter-spacing:.18em;color:#a26f00}
.pc-modal h2{font-size:28px;line-height:1.1;margin:4px 0 0;color:#071a33}
.pc-copy{font-size:14px;color:#566679}
.pc-close{
  width:40px;height:40px;border-radius:50%;border:1px solid #d9e0e7;background:#fff;
  color:#071a33;font-size:27px;line-height:1;cursor:pointer
}
.pc-pref-row{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:17px 0;border-top:1px solid #e8edf2
}
.pc-pref-row strong{display:block;color:#071a33}
.pc-pref-row small{display:block;color:#68788a;margin-top:3px;line-height:1.45}
.pc-required{font-size:12px;font-weight:900;color:#466178;white-space:nowrap}
.pc-switch{position:relative;width:52px;height:30px;flex:0 0 auto}
.pc-switch input{opacity:0;width:0;height:0}
.pc-switch span{position:absolute;inset:0;background:#c9d1db;border-radius:999px;cursor:pointer;transition:.2s}
.pc-switch span:before{content:"";position:absolute;width:22px;height:22px;left:4px;top:4px;background:#fff;border-radius:50%;transition:.2s;box-shadow:0 1px 4px rgba(0,0,0,.25)}
.pc-switch input:checked + span{background:#0d315d}
.pc-switch input:checked + span:before{transform:translateX(22px)}
.pc-detail{font-size:12px;color:#66788b;border-top:1px solid #e8edf2;padding-top:15px}
.pc-modal .pc-actions{justify-content:flex-end;margin-top:20px}
.pc-modal .pc-btn-secondary{color:#0b2d57;border-color:#9facba;background:#fff}
.cookie-legal-links{
  display:flex;align-items:center;justify-content:center;gap:8px;
  padding:10px 16px 2px;font:600 12px/1.4 Inter,Arial,sans-serif;color:#9fb0c3
}
.cookie-legal-links a,.cookie-legal-links button{color:inherit}
.cookie-legal-links button{
  border:0;background:none;padding:0;text-decoration:underline;text-underline-offset:3px;cursor:pointer;font:inherit
}
.cookie-legal-links a{text-decoration:underline;text-underline-offset:3px}

@media(max-width:760px){
  .pc-banner{grid-template-columns:1fr;left:10px;right:10px;bottom:10px;padding:16px}
  .pc-banner-actions{display:grid;grid-template-columns:1fr 1fr 1fr}
  .pc-banner .pc-btn{min-width:0;padding:0 8px}
}
@media(max-width:480px){
  .pc-banner-actions{grid-template-columns:1fr}
  .pc-modal{padding:20px 16px}
  .pc-modal .pc-actions{display:grid;grid-template-columns:1fr}
  .pc-pref-row{align-items:flex-start}
}
