#csirwcc-banner,#csirwcc-modal,#csirwcc-settings-link{font-family:Arial,Helvetica,sans-serif;box-sizing:border-box}
#csirwcc-banner *,#csirwcc-modal *{box-sizing:border-box}
#csirwcc-banner[hidden],#csirwcc-modal[hidden],#csirwcc-settings-link[hidden]{display:none!important}
.csirwcc-banner{position:fixed;z-index:999999;left:20px;right:20px;max-width:1040px;margin:0 auto;background:#fff;color:#24303b;border:1px solid #e5e2ef;border-radius:16px;box-shadow:0 16px 55px rgba(18,20,45,.24);overflow:hidden}
.csirwcc-bottom{bottom:20px;top:auto;left:20px;right:20px}
.csirwcc-top{top:20px;bottom:auto;left:20px;right:20px}
.csirwcc-center{top:50%;bottom:auto;left:50%;right:auto;transform:translate(-50%,-50%);width:min(calc(100% - 40px),1040px)}
.csirwcc-left{top:50%;bottom:auto;left:20px;right:auto;transform:translateY(-50%);width:min(440px,calc(100% - 40px));margin:0}
.csirwcc-right{top:50%;bottom:auto;right:20px;left:auto;transform:translateY(-50%);width:min(440px,calc(100% - 40px));margin:0}
.csirwcc-logo{display:block;width:auto;height:auto;max-width:150px;max-height:42px;object-fit:contain;object-position:left center;flex:none}
.csirwcc-secondary,.csirwcc-secondary:hover,.csirwcc-secondary:focus,.csirwcc-secondary:active{color:#302977!important}
.csirwcc-secondary:hover,.csirwcc-secondary:focus{background:#f7f5fb!important;border-color:#302977!important}
.csirwcc-secondary:active{background:#eeeaf8!important;border-color:#302977!important}
.csirwcc-brandbar{display:flex;align-items:center;gap:12px;background:#302977;color:#fff;padding:15px 20px}
.csirwcc-mark{display:flex;align-items:flex-end;gap:3px;width:29px;height:25px;flex:none}
.csirwcc-mark span{display:block;width:7px;border-radius:3px 3px 1px 1px;background:#fff}
.csirwcc-mark span:nth-child(1){height:13px;opacity:.8}.csirwcc-mark span:nth-child(2){height:21px;background:#da0876}.csirwcc-mark span:nth-child(3){height:17px}
.csirwcc-brandtext{display:flex;flex-direction:column;gap:3px;flex:1}.csirwcc-brandtext strong{font-size:14px;letter-spacing:.1px}.csirwcc-brandtext span{font-size:12px;opacity:.82}
.csirwcc-close{border:0;background:transparent;color:inherit;font-size:27px;line-height:1;cursor:pointer;padding:2px 5px}
.csirwcc-content{padding:20px 22px 22px}.csirwcc-content h2,.csirwcc-modal h2{font-size:22px;line-height:1.25;margin:0 0 9px;color:#302977}
.csirwcc-content p{font-size:14px;line-height:1.65;margin:0 0 12px;color:#46505a;max-width:850px}
.csirwcc-links{display:flex;gap:18px;margin:0 0 17px}.csirwcc-links a{font-size:12px;color:#302977;text-decoration:underline;text-underline-offset:3px}
.csirwcc-actions{display:flex;gap:9px;flex-wrap:wrap}
.csirwcc-button{font:inherit;font-size:13px;font-weight:700;line-height:1.2;border-radius:8px;padding:12px 16px;cursor:pointer;transition:transform .15s ease,background .15s ease;border:1px solid transparent}
.csirwcc-button:hover{transform:translateY(-1px)}.csirwcc-primary{background:#da0876;color:#fff;border-color:#da0876}.csirwcc-primary:hover{background:#b90663}
.csirwcc-secondary{background:#fff;color:#302977;border-color:#302977}.csirwcc-secondary:hover{background:#f7f5fb}
.csirwcc-tertiary{background:#f7f5fb;color:#302977;border-color:#e8e4f3}
.csirwcc-modal{position:fixed;z-index:1000000;inset:0;background:rgba(18,20,35,.62);display:flex;align-items:center;justify-content:center;padding:20px}
.csirwcc-modal-card{background:#fff;color:#24303b;width:min(100%,620px);max-height:90vh;overflow:auto;border-radius:16px;box-shadow:0 20px 70px rgba(0,0,0,.3);padding:25px}
.csirwcc-modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.csirwcc-eyebrow{margin:0 0 5px;color:#da0876;text-transform:uppercase;font-size:10px;letter-spacing:1.3px;font-weight:700}
.csirwcc-modal-intro{font-size:14px;line-height:1.6;color:#59616b;margin:12px 0 18px}
.csirwcc-category{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px 0;border-top:1px solid #eceaf2}.csirwcc-category strong{color:#302977;font-size:14px}.csirwcc-category p{font-size:12px;line-height:1.5;color:#626b75;margin:5px 0 0;max-width:410px}
.csirwcc-switch{display:flex;align-items:center;gap:8px;flex:none;cursor:pointer}.csirwcc-switch input{position:absolute;opacity:0;width:1px;height:1px}.csirwcc-switch span{width:42px;height:24px;border-radius:20px;background:#c9cbd1;position:relative;transition:background .2s}.csirwcc-switch span:after{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #777;transition:transform .2s}.csirwcc-switch input:checked+span{background:#302977}.csirwcc-switch input:checked+span:after{transform:translateX(18px)}.csirwcc-switch input:focus-visible+span{outline:3px solid #da0876;outline-offset:3px}.csirwcc-switch em{font-size:10px;color:#626b75;font-style:normal}
.csirwcc-modal-actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap;margin-top:20px}.csirwcc-smallprint{font-size:11px;line-height:1.5;color:#737b84;margin:16px 0 0}
.csirwcc-settings-link{position:fixed;z-index:999990;bottom:12px;left:12px;background:#302977;color:#fff;border:1px solid #fff;border-radius:7px;padding:9px 12px;font-size:12px;box-shadow:0 3px 12px #0002;cursor:pointer}
@media(max-width:600px){.csirwcc-banner{left:10px;right:10px;bottom:10px;max-height:85vh;overflow:auto;border-radius:13px;transform:none;width:auto;margin:0}
.csirwcc-top{top:10px;bottom:auto}
.csirwcc-center{top:50%;bottom:auto;left:10px;right:10px;transform:translateY(-50%);width:auto}
.csirwcc-left,.csirwcc-right{top:50%;bottom:auto;left:10px;right:10px;transform:translateY(-50%);width:auto}
.csirwcc-logo{max-width:120px;max-height:36px}.csirwcc-brandbar{padding:12px 15px}.csirwcc-content{padding:16px}.csirwcc-content h2{font-size:20px}.csirwcc-actions{display:grid;grid-template-columns:1fr}.csirwcc-button{width:100%;min-height:43px}.csirwcc-modal{padding:10px}.csirwcc-modal-card{padding:19px;max-height:94vh}.csirwcc-category{align-items:flex-start}.csirwcc-modal-actions{display:grid;grid-template-columns:1fr}.csirwcc-settings-link{bottom:8px;left:8px}}
@media(prefers-reduced-motion:reduce){.csirwcc-button,.csirwcc-switch span,.csirwcc-switch span:after{transition:none}}


/* Compact mobile consent banner */
@media (max-width: 600px) {
  .csirwcc-banner {
    max-height: 58vh;
    overflow-y: auto;
    border-radius: 10px;
  }
  .csirwcc-brandbar {
    gap: 8px;
    padding: 8px 12px;
  }
  .csirwcc-mark {
    width: 22px;
    height: 19px;
    gap: 2px;
  }
  .csirwcc-mark span { width: 6px; }
  .csirwcc-mark span:nth-child(1) { height: 10px; }
  .csirwcc-mark span:nth-child(2) { height: 16px; }
  .csirwcc-mark span:nth-child(3) { height: 13px; }
  .csirwcc-logo {
    max-width: 92px;
    max-height: 27px;
  }
  .csirwcc-brandtext { gap: 1px; }
  .csirwcc-brandtext strong { font-size: 11px; }
  .csirwcc-brandtext span { display: none; }
  .csirwcc-close { font-size: 22px; padding: 1px 3px; }
  .csirwcc-content { padding: 11px 12px 12px; }
  .csirwcc-content h2 {
    font-size: 16px;
    line-height: 1.25;
    margin-bottom: 5px;
  }
  .csirwcc-content p {
    font-size: 12px;
    line-height: 1.4;
    margin-bottom: 8px;
  }
  .csirwcc-links { gap: 12px; margin-bottom: 10px; }
  .csirwcc-links a { font-size: 11px; }
  .csirwcc-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px;
  }
  .csirwcc-button {
    width: 100%;
    min-height: 36px;
    padding: 8px 7px;
    font-size: 11px;
    line-height: 1.2;
    border-radius: 6px;
  }
  .csirwcc-actions button:last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }
}
@media (max-width: 360px) {
  .csirwcc-brandtext strong { font-size: 10px; }
  .csirwcc-content { padding: 9px 10px 10px; }
  .csirwcc-content h2 { font-size: 15px; }
  .csirwcc-content p { font-size: 11px; }
  .csirwcc-button { font-size: 10px; padding: 7px 5px; }
}
