/* ==================================================================
   Bodotex cookie consent — first-party CMP.
   No third-party service; consent is stored locally and used to
   activate gated <script type="text/plain" data-bx-cookie="..."> tags.
   ================================================================== */
.bx-cc,.bx-cc *{box-sizing:border-box;}
.bx-cc{font-family:"Poppins","Raleway",system-ui,-apple-system,Segoe UI,sans-serif;color:#111628;}

/* ---- banner ---- */
.bx-cc-banner{
  position:fixed;left:16px;right:16px;bottom:16px;z-index:2147483000;
  background:#fff;border:1px solid #E3E8F0;border-radius:16px;
  box-shadow:0 18px 50px rgba(17,22,40,.22);
  padding:22px 24px;max-width:960px;margin:0 auto;
  opacity:0;transform:translateY(14px);transition:opacity .25s ease,transform .25s ease;
}
.bx-cc-banner[data-show="true"]{opacity:1;transform:none;}
.bx-cc-banner h2{margin:0 0 8px;font-size:17px;line-height:1.3;font-weight:700;color:#111628;}
.bx-cc-banner p{margin:0 0 16px;font-size:14px;line-height:1.6;color:#43506B;}
.bx-cc-banner p a{color:#007E4C;text-decoration:underline;}

.bx-cc-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;}
/* The theme styles bare <button> elements, so these need to win outright. */
.bx-cc .bx-cc-btn{
  appearance:none;cursor:pointer;border-radius:9px !important;
  border:1px solid transparent !important;
  padding:11px 20px !important;font-size:14px !important;font-weight:600 !important;
  line-height:1 !important;font-family:inherit;text-transform:none !important;
  letter-spacing:normal !important;box-shadow:none !important;width:auto !important;
  transition:background-color .16s ease,border-color .16s ease,color .16s ease;
}
.bx-cc .bx-cc-btn:focus-visible{outline:2px solid #007E4C;outline-offset:2px;}
/* Accept and Reject carry identical visual weight — under the GDPR refusing
   must be exactly as easy as accepting. */
.bx-cc .bx-cc-btn--accept,
.bx-cc .bx-cc-btn--reject{background:#132145 !important;color:#fff !important;}
.bx-cc .bx-cc-btn--accept:hover,
.bx-cc .bx-cc-btn--reject:hover{background:#1d2f5e !important;}
.bx-cc .bx-cc-btn--ghost{background:transparent !important;color:#132145 !important;
  border-color:rgba(17,22,40,.22) !important;}
.bx-cc .bx-cc-btn--ghost:hover{border-color:rgba(17,22,40,.45) !important;
  background:rgba(17,22,40,.04) !important;}

/* ---- preferences modal ---- */
.bx-cc-overlay{
  position:fixed;inset:0;z-index:2147483001;background:rgba(12,17,32,.55);
  display:flex;align-items:center;justify-content:center;padding:20px;
  opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s;
}
.bx-cc-overlay[data-show="true"]{opacity:1;visibility:visible;}
.bx-cc-modal{
  background:#fff;border-radius:18px;width:100%;max-width:640px;
  max-height:86vh;overflow:auto;padding:26px 28px 22px;
  box-shadow:0 26px 70px rgba(17,22,40,.3);
}
.bx-cc-modal h2{margin:0 0 6px;font-size:20px;font-weight:700;}
.bx-cc-modal > p{margin:0 0 18px;font-size:14px;line-height:1.6;color:#43506B;}

.bx-cc-cat{border:1px solid #E6EAF1;border-radius:12px;padding:14px 16px;margin-bottom:10px;}
.bx-cc-cat__head{display:flex;align-items:center;justify-content:space-between;gap:14px;}
.bx-cc-cat__title{font-size:15px;font-weight:650;margin:0;}
.bx-cc-cat__desc{margin:7px 0 0;font-size:13px;line-height:1.55;color:#5A6680;}
.bx-cc-cat__always{font-size:12px;font-weight:600;color:#007E4C;white-space:nowrap;}

/* toggle */
.bx-cc-sw{position:relative;flex:0 0 auto;width:46px;height:26px;}
.bx-cc-sw input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;}
.bx-cc-sw span{position:absolute;inset:0;border-radius:999px;background:#CBD3E1;transition:background-color .18s ease;pointer-events:none;}
.bx-cc-sw span::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .18s ease;box-shadow:0 1px 3px rgba(0,0,0,.25);}
.bx-cc-sw input:checked + span{background:#007E4C;}
.bx-cc-sw input:checked + span::after{transform:translateX(20px);}
.bx-cc-sw input:focus-visible + span{outline:2px solid #007E4C;outline-offset:2px;}

.bx-cc-modal__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;}
.bx-cc-modal__link{margin-top:14px;font-size:13px;}
.bx-cc-modal__link a{color:#007E4C;text-decoration:underline;}

@media (max-width:640px){
  .bx-cc-banner{left:10px;right:10px;bottom:10px;padding:18px;}
  .bx-cc-actions .bx-cc-btn{flex:1 1 100%;text-align:center;}
  .bx-cc-modal{padding:20px 18px 18px;}
}

/* cookie table on the policy page */
.bx-cookie-table{width:100%;border-collapse:collapse;margin:14px 0 26px;font-size:14px;}
.bx-cookie-table th,.bx-cookie-table td{border:1px solid #E3E8F0;padding:9px 11px;text-align:left;vertical-align:top;}
.bx-cookie-table th{background:#F5F8FC;font-weight:650;}
.bx-cookie-table td code{font-size:13px;background:#F3F6FA;padding:1px 5px;border-radius:4px;}
.bx-cookie-scroll{overflow-x:auto;}
