/* Compact privacy controls — intentionally similar in visual scale to the Rosselot notice. */
.privacy-banner[hidden], .privacy-panel[hidden], .privacy-gpc-notice[hidden] { display:none!important; }
.privacy-banner {
  position:fixed; left:18px; bottom:18px; z-index:100000;
  width:min(560px, calc(100vw - 36px)); background:#fff; color:#24344b;
  border:1px solid #cfd6df; border-radius:8px; box-shadow:0 8px 28px rgba(13,34,64,.20);
  padding:15px 17px; font-family:Inter,Arial,sans-serif; font-size:14px; line-height:1.45;
}
.privacy-banner h2 { margin:0 0 5px; color:#0d2240; font:700 17px/1.25 Inter,Arial,sans-serif; }
.privacy-banner p { margin:0; font-size:14px; line-height:1.45; }
.privacy-banner a { color:#0d4772; font-weight:700; text-decoration:underline; }
.privacy-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.privacy-actions button, .privacy-panel button {
  min-height:38px; border-radius:5px; border:1px solid #0d2240; padding:8px 14px;
  font:700 13px/1.2 Inter,Arial,sans-serif; cursor:pointer;
}
.privacy-btn-secondary { background:#fff; color:#0d2240; }
.privacy-btn-primary { background:#0d2240; color:#fff; }
.privacy-btn-secondary:hover,.privacy-btn-secondary:focus-visible { background:#eef2f6; }
.privacy-btn-primary:hover,.privacy-btn-primary:focus-visible { background:#173a66; }
.privacy-actions button:focus-visible,.privacy-panel button:focus-visible,.footer-privacy-choices:focus-visible { outline:3px solid #e6b84d; outline-offset:2px; }
.privacy-panel {
  position:fixed; inset:0; z-index:100001; background:rgba(5,18,35,.58); padding:20px;
  display:flex; align-items:center; justify-content:center;
}
.privacy-panel-card {
  width:min(620px,100%); max-height:calc(100vh - 40px); overflow:auto; background:#fff; color:#24344b;
  border-radius:10px; box-shadow:0 16px 48px rgba(0,0,0,.3); padding:22px;
  font-family:Inter,Arial,sans-serif; font-size:14px; line-height:1.45;
}
.privacy-panel-head { display:flex; justify-content:space-between; gap:16px; align-items:flex-start; }
.privacy-panel h2 { margin:0 0 4px; color:#0d2240; font:700 21px/1.25 Inter,Arial,sans-serif; }
.privacy-panel p { margin:0 0 12px; font-size:14px; }
.privacy-panel-close { border:0!important; background:transparent!important; color:#0d2240!important; padding:3px 7px!important; min-height:34px!important; font-size:23px!important; }
.privacy-optout { padding:12px; margin:14px 0; border:1px solid #d7dee7; border-radius:6px; background:#f6f8fa; }
.privacy-category { display:grid; grid-template-columns:1fr auto; gap:12px; align-items:center; border-top:1px solid #dde3ea; padding:13px 0; }
.privacy-category strong { display:block; color:#0d2240; font-size:14px; }
.privacy-category span { display:block; margin-top:2px; color:#526176; font-size:13px; }
.privacy-toggle { width:44px; height:24px; accent-color:#0d4772; }
.privacy-always { color:#526176; font-weight:700; font-size:12px; }
.privacy-gpc-notice {
  position:fixed; left:50%; bottom:18px; transform:translateX(-50%); z-index:100002;
  width:min(700px,calc(100vw - 36px)); padding:10px 14px; background:#0d2240; color:#fff;
  border-radius:6px; box-shadow:0 8px 24px rgba(0,0,0,.25); font:600 13px/1.4 Inter,Arial,sans-serif;
}
.footer-bottom { position:relative; }
.footer-privacy-row { width:100%; text-align:center; margin-top:10px; }
.footer-privacy-choices { appearance:none; border:0; background:transparent; color:#fff; text-decoration:underline; font:600 13px/1.4 Inter,Arial,sans-serif; cursor:pointer; padding:3px 6px; }
.privacy-policy-page .container > p,
.privacy-policy-page .container > ul,
.privacy-policy-page .container > ol { font-size:16px!important; line-height:1.62!important; }
.privacy-policy-page .container > h2 { font-size:24px!important; line-height:1.25!important; margin-top:28px!important; }
.privacy-policy-page .container > h1 { font-size:40px!important; line-height:1.12!important; }
@media (max-width:640px) {
  .privacy-banner { left:8px; right:8px; bottom:8px; width:auto; padding:13px 14px; font-size:13px; }
  .privacy-banner h2 { font-size:16px; }
  .privacy-banner p { font-size:13px; }
  .privacy-actions { gap:6px; }
  .privacy-actions button { flex:1 1 auto; padding:8px 10px; font-size:12px; }
  .privacy-panel { padding:10px; }
  .privacy-panel-card { max-height:calc(100vh - 20px); padding:17px; }
  .privacy-panel h2 { font-size:19px; }
  .privacy-policy-page .container > p,
  .privacy-policy-page .container > ul,
  .privacy-policy-page .container > ol { font-size:15px!important; line-height:1.6!important; }
  .privacy-policy-page .container > h2 { font-size:21px!important; }
  .privacy-policy-page .container > h1 { font-size:34px!important; }
}

/* 2026-07-23: slim full-width first-visit bar */
.privacy-banner {
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  max-width: none !important;
  border-left: 0 !important;
  border-right: 0 !important;
  border-bottom: 0 !important;
  border-radius: 0 !important;
  padding: 9px 22px !important;
  display: grid !important;
  grid-template-columns: auto minmax(260px, 1fr) auto !important;
  align-items: center !important;
  column-gap: 14px !important;
  box-sizing: border-box !important;
  font-size: 13px !important;
  line-height: 1.3 !important;
  box-shadow: 0 -3px 14px rgba(13,34,64,.16) !important;
}
.privacy-banner[hidden] { display: none !important; }
.privacy-banner h2 {
  margin: 0 !important;
  white-space: nowrap !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
}
.privacy-banner p {
  margin: 0 !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
}
.privacy-banner .privacy-actions {
  margin: 0 !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 7px !important;
  justify-content: flex-end !important;
}
.privacy-banner .privacy-actions button {
  min-height: 32px !important;
  padding: 6px 11px !important;
  white-space: nowrap !important;
  font-size: 12px !important;
  line-height: 1.1 !important;
}
@media (max-width: 820px) {
  .privacy-banner {
    grid-template-columns: 1fr auto !important;
    row-gap: 5px !important;
    padding: 8px 12px !important;
  }
  .privacy-banner h2 { display: none !important; }
  .privacy-banner p { font-size: 12px !important; }
  .privacy-banner .privacy-actions { grid-column: 2; grid-row: 1; }
  .privacy-banner .privacy-actions button { min-height: 30px !important; padding: 5px 8px !important; font-size: 11px !important; }
}
@media (max-width: 560px) {
  .privacy-banner {
    grid-template-columns: 1fr !important;
    row-gap: 7px !important;
    padding: 8px 10px !important;
  }
  .privacy-banner .privacy-actions {
    grid-column: 1 !important;
    grid-row: auto !important;
    justify-content: stretch !important;
    width: 100% !important;
  }
  .privacy-banner .privacy-actions button { flex: 1 1 0 !important; }
}

/* 2026-07-23: smaller typography for slim cookie bar */
.privacy-banner {
  font-size: 10.5px !important;
  line-height: 1.25 !important;
  padding: 6px 18px !important;
  column-gap: 10px !important;
}
.privacy-banner h2 {
  font-size: 11px !important;
  line-height: 1.15 !important;
}
.privacy-banner p {
  font-size: 10.5px !important;
  line-height: 1.3 !important;
}
.privacy-banner .privacy-actions {
  gap: 5px !important;
}
.privacy-banner .privacy-actions button {
  min-height: 27px !important;
  padding: 4px 8px !important;
  font-size: 10px !important;
  line-height: 1.1 !important;
}
@media (max-width: 820px) {
  .privacy-banner {
    padding: 6px 9px !important;
    row-gap: 4px !important;
  }
  .privacy-banner p {
    font-size: 10px !important;
    line-height: 1.25 !important;
  }
  .privacy-banner .privacy-actions button {
    min-height: 27px !important;
    padding: 4px 7px !important;
    font-size: 9.5px !important;
  }
}
@media (max-width: 560px) {
  .privacy-banner {
    padding: 6px 8px !important;
    row-gap: 5px !important;
  }
}

/* 2026-07-23 v4: force genuinely compact cookie-bar typography */
html body .privacy-banner,
html body .privacy-banner * {
  -webkit-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
  font-family: Inter, Arial, sans-serif !important;
}
html body .privacy-banner {
  padding: 5px 16px !important;
  min-height: 0 !important;
  line-height: 1.15 !important;
}
html body .privacy-banner h2 {
  font-size: 10px !important;
  line-height: 1.1 !important;
  font-weight: 700 !important;
}
html body .privacy-banner p,
html body .privacy-banner p *,
html body .privacy-banner a {
  font-size: 11px !important;
  line-height: 1.2 !important;
}
html body .privacy-banner .privacy-actions button {
  min-height: 25px !important;
  padding: 3px 7px !important;
  font-size: 9px !important;
  line-height: 1 !important;
}
@media (max-width: 820px) {
  html body .privacy-banner { padding: 5px 8px !important; }
  html body .privacy-banner p,
  html body .privacy-banner p *,
  html body .privacy-banner a { font-size: 10px !important; }
  html body .privacy-banner .privacy-actions button { font-size: 8.75px !important; }
}


/* 2026-07-23 v5: absolute cookie sentence size override */
html body section.privacy-banner > p,
html body section.privacy-banner > p > a {
  font: 400 10px/1.2 Inter, Arial, sans-serif !important;
  font-size: 10px !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
html body section.privacy-banner > p > a { font-weight: 700 !important; }
html body section.privacy-banner > h2 {
  font: 700 9px/1.1 Inter, Arial, sans-serif !important;
  font-size: 9px !important;
}
