#cxt-consent-banner,#cxt-consent-modal,#cxt-consent-fab,.cxt-consent-embed-placeholder{box-sizing:border-box;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
#cxt-consent-banner *,#cxt-consent-modal *,#cxt-consent-fab *,.cxt-consent-embed-placeholder *{box-sizing:border-box}
.cxt-consent-banner{position:fixed;z-index:2147483000;left:18px;right:18px;bottom:18px;max-width:920px;margin:auto;padding:20px 22px;border-radius:22px;background:#170037;color:#fff;border:1px solid rgba(255,255,255,.18);box-shadow:0 24px 70px rgba(0,0,0,.42);display:grid;gap:12px}
.cxt-consent-banner.is-necessary{max-width:760px}.cxtc-banner-status{display:flex;align-items:center;gap:9px}.cxtc-banner-status>span{width:12px;height:12px;border-radius:99px;background:#49dd78;box-shadow:0 0 0 5px rgba(73,221,120,.14)}.cxt-consent-banner p{margin:0;color:#e4dbff;line-height:1.5}.cxt-consent-banner>div:last-child,.cxtc-banner-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.cxt-consent-banner button,.cxt-consent-dialog button{min-height:42px;border-radius:999px;border:1px solid rgba(255,255,255,.18);padding:10px 16px;font:inherit;font-weight:800;cursor:pointer}.cxtc-details,.cxtc-reject{background:transparent;color:#fff}.cxt-consent-dialog .cxtc-reject{background:#f4effc;color:#2a0b4d;border-color:#ded1ed!important}.cxtc-understood,.cxtc-accept,.cxtc-save{background:#ffd84d;color:#20004d;border-color:#ffd84d!important}
.cxt-consent-modal[hidden]{display:none!important}.cxt-consent-modal{position:fixed;inset:0;z-index:2147483100;display:grid;place-items:center;padding:18px}.cxt-consent-backdrop{position:absolute;inset:0;background:rgba(10,0,27,.72);backdrop-filter:blur(4px)}.cxt-consent-dialog{position:relative;width:min(760px,100%);max-height:min(86vh,780px);overflow:hidden;border-radius:26px;padding:0;background:#fff;color:#20152d;box-shadow:0 30px 100px rgba(0,0,0,.46);display:grid;grid-template-rows:minmax(0,1fr) auto}.cxtc-scroll{min-height:0;overflow:auto;padding:26px 26px 18px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.cxtc-close{position:absolute;right:16px;top:14px;width:42px;padding:0!important;font-size:26px;background:#f4effc;color:#2d1355}.cxtc-status-line{display:flex;align-items:center;gap:9px;padding-right:54px;color:#5b4a69;font-weight:700;font-size:13px}.cxtc-status-dot{width:11px;height:11px;border-radius:99px}.cxtc-status-dot.is-green{background:#26bf5b;box-shadow:0 0 0 4px rgba(38,191,91,.12)}.cxtc-status-dot.is-red{background:#e95058;box-shadow:0 0 0 4px rgba(233,80,88,.12)}.cxt-consent-dialog h2{margin:12px 0 6px;color:#2a0b4d;font-size:30px;line-height:1.05}.cxtc-intro{margin:0 0 20px;color:#665873}.cxtc-categories{display:grid;gap:10px}.cxtc-front-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px;border:1px solid #e6def0;border-radius:16px;background:#fbf9fd}.cxtc-front-copy{display:grid;gap:3px}.cxtc-front-copy strong{color:#2a0b4d}.cxtc-front-copy small{color:#74677e;line-height:1.45}.cxtc-switch{position:relative;flex:0 0 52px}.cxtc-switch input{position:absolute;opacity:0}.cxtc-switch i{display:block;width:50px;height:29px;border-radius:99px;background:#d9d2df;position:relative;transition:.2s}.cxtc-switch i:after{content:"";position:absolute;left:4px;top:4px;width:21px;height:21px;border-radius:99px;background:#fff;box-shadow:0 2px 5px rgba(0,0,0,.18);transition:.2s}.cxtc-switch input:checked+i{background:#7643de}.cxtc-switch input:checked+i:after{transform:translateX(21px)}.cxtc-switch input:disabled+i{background:#2db960;opacity:.75}.cxtc-services{margin-top:18px;padding-top:16px;border-top:1px solid #ebe4f1}.cxtc-services h3{margin:0 0 10px;color:#2a0b4d}.cxtc-service-group{margin:0 0 7px;border:1px solid #e7dff0;border-radius:13px;overflow:hidden;background:#fbf9fd}.cxtc-service-toggle{width:100%;min-height:40px!important;border:0!important;border-radius:0!important;padding:8px 10px!important;background:#fbf9fd!important;color:#2a0b4d!important;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;text-align:left}.cxtc-service-title{font-size:13px;font-weight:900}.cxtc-service-count{min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:#eee6f8;color:#6337b7!important;font-size:11px!important;font-weight:900;display:grid;place-items:center}.cxtc-service-chevron{color:#7643de!important;font-size:17px!important;line-height:1;transition:transform .18s ease}.cxtc-service-toggle[aria-expanded="true"] .cxtc-service-chevron{transform:rotate(180deg)}.cxtc-service-list{padding:0 10px 5px;border-top:1px solid #eee7f3;background:#fff}.cxtc-service-list[hidden]{display:none!important}.cxtc-service-list p{display:grid;grid-template-columns:minmax(120px,.75fr) 1.5fr;gap:10px;margin:0;padding:8px 0;border-bottom:1px solid #f0eaf4}.cxtc-service-list p:last-child{border-bottom:0}.cxtc-service-list strong{font-size:12px;color:#2a0b4d}.cxtc-service-list span{color:#766a7e;font-size:12px;line-height:1.35}.cxtc-actions{position:relative;z-index:3;display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin:0;padding:12px 26px 14px;background:#fff;border-top:1px solid #ebe4f1;box-shadow:0 -10px 24px rgba(42,11,77,.06)}.cxtc-privacy{display:inline-block;margin-top:14px;color:#5c35a8;font-size:13px;font-weight:700}
.cxt-consent-fab{position:fixed;z-index:2147482900;left:18px;right:auto;top:auto;bottom:78px;transform:none;width:60px;height:60px;border-radius:16px;border:1px solid rgba(43,11,78,.16);display:grid;place-items:center;cursor:pointer;box-shadow:0 12px 34px rgba(39,31,29,.16);background:rgba(255,253,251,.98);backdrop-filter:blur(10px)}.cxt-consent-fab svg{width:28px;height:28px;fill:none;stroke:#2b0b4e;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.cxtc-fab-dot{position:absolute;right:1px;top:1px;width:13px;height:13px;border:2px solid #fff;border-radius:99px}.cxt-consent-fab.is-green .cxtc-fab-dot{background:#24bd59}.cxt-consent-fab.is-red .cxtc-fab-dot{background:#e94b55}
/* v0.1.21 — le dock CXT Navigation prend uniquement la position du FAB. */
.cxt-consent-fab.is-cxt-navigation-docked{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;transform:none!important;margin:0!important}
.cxt-consent-embed-placeholder{min-height:180px;padding:24px;border-radius:18px;border:1px dashed #bca9ce;background:#f7f3fb;color:#2e1a3d;display:grid;place-items:center;text-align:center;gap:7px}.cxt-consent-embed-placeholder strong{font-size:18px}.cxt-consent-embed-placeholder span{color:#6e6076;max-width:620px}.cxt-consent-embed-placeholder button{border:0;border-radius:999px;background:#ffd84d;color:#20004d;padding:10px 16px;font-weight:900;cursor:pointer}
html.cxt-consent-open{overflow:hidden}

/* v0.1.28 — vue PC compacte : tout le niveau principal tient d’un coup d’œil.
   Les 4 catégories et les services identifiés passent en deux colonnes,
   tandis que le bandeau d’actions reste fixe en bas du panneau. */
@media(min-width:701px) and (pointer:fine){
  .cxt-consent-dialog{width:min(980px,calc(100vw - 36px));max-height:min(92vh,760px)}
  .cxtc-scroll{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);grid-template-areas:"status status" "title title" "intro intro" "categories services" "privacy services";column-gap:18px;row-gap:0;padding:20px 22px 14px;overflow:auto}
  .cxtc-status-line{grid-area:status}
  .cxt-consent-dialog h2{grid-area:title;margin:9px 0 4px;font-size:27px}
  .cxtc-intro{grid-area:intro;margin:0 0 12px;font-size:14px;line-height:1.4}
  .cxtc-categories{grid-area:categories;gap:7px;align-self:start}
  .cxtc-front-row{gap:12px;padding:10px 12px;border-radius:13px}
  .cxtc-front-copy{gap:2px}
  .cxtc-front-copy strong{font-size:14px}
  .cxtc-front-copy small{font-size:11.5px;line-height:1.28}
  .cxtc-switch{flex-basis:46px}
  .cxtc-switch i{width:44px;height:26px}
  .cxtc-switch i:after{left:3px;top:3px;width:20px;height:20px}
  .cxtc-switch input:checked+i:after{transform:translateX(18px)}
  .cxtc-services{grid-area:services;align-self:start;margin:0;padding:0 0 0 18px;border-top:0;border-left:1px solid #ebe4f1}
  .cxtc-services h3{margin:0 0 7px;font-size:16px}
  .cxtc-service-group{margin-bottom:6px;border-radius:11px}
  .cxtc-service-toggle{min-height:36px!important;padding:6px 9px!important}
  .cxtc-service-list{max-height:180px;overflow:auto}
  .cxtc-service-list p{grid-template-columns:minmax(100px,.72fr) 1.4fr;gap:8px;padding:6px 0}
  .cxtc-service-list strong,.cxtc-service-list span{font-size:11px}
  .cxtc-privacy{grid-area:privacy;align-self:end;margin-top:10px;font-size:12px}
  .cxtc-actions{gap:8px;padding:10px 22px 12px}
  .cxtc-actions button{min-height:38px;padding:8px 14px}
}

@media(max-width:700px),(pointer:coarse) and (max-height:700px){
  .cxt-consent-banner{left:10px;right:10px;bottom:10px;padding:17px;border-radius:18px}.cxt-consent-banner>div:last-child,.cxtc-banner-actions{display:grid;grid-template-columns:1fr}.cxt-consent-banner button{width:100%}
  .cxt-consent-modal{z-index:2147482400;padding:12px 12px 12px 72px;place-items:center start}
  .cxt-consent-dialog{width:min(320px,calc(100vw - 84px));max-width:320px;height:min(440px,calc(100vh - 24px));height:min(440px,calc(100svh - 24px));max-height:none;overflow:hidden;border-radius:18px;padding:0}.cxtc-scroll{padding:14px 12px 10px}
  .cxtc-close{right:10px;top:9px;width:32px;min-height:32px!important;height:32px;padding:0!important;font-size:20px}.cxtc-status-line{gap:7px;padding-right:38px;font-size:11px}.cxtc-status-dot{width:9px;height:9px}
  .cxt-consent-dialog h2{margin:9px 0 4px;font-size:20px}.cxtc-intro{margin:0 0 11px;font-size:12px;line-height:1.35}.cxtc-categories{gap:6px}.cxtc-front-row{align-items:flex-start;gap:10px;padding:9px;border-radius:11px}.cxtc-front-copy{gap:2px}.cxtc-front-copy strong{font-size:12px}.cxtc-front-copy small{font-size:10px;line-height:1.3}.cxtc-switch{flex-basis:42px}.cxtc-switch i{width:40px;height:24px}.cxtc-switch i:after{left:3px;top:3px;width:18px;height:18px}.cxtc-switch input:checked+i:after{transform:translateX(16px)}
  .cxtc-services{margin-top:9px;padding-top:8px}.cxtc-services h3{margin-bottom:5px;font-size:12px}.cxtc-service-group{margin-bottom:5px;border-radius:10px}.cxtc-service-toggle{min-height:34px!important;padding:5px 8px!important;gap:6px}.cxtc-service-title{font-size:11px}.cxtc-service-count{min-width:20px;height:20px;padding:0 6px;font-size:9px!important}.cxtc-service-chevron{font-size:15px!important}.cxtc-service-list{padding:0 8px 3px}.cxtc-service-list p{grid-template-columns:1fr;gap:2px;padding:5px 0}.cxtc-service-list strong{font-size:10px}.cxtc-service-list span{font-size:9px;line-height:1.25}
  .cxtc-actions{display:grid;grid-template-columns:1fr;gap:6px;margin:0;padding:8px 12px 10px}.cxtc-actions button{width:100%;min-height:36px;padding:7px 10px}.cxtc-privacy{margin-top:9px;margin-bottom:0;font-size:11px}.cxt-consent-fab{left:12px;right:auto;top:auto;bottom:72px;transform:none;width:60px;height:60px;border-radius:16px}
}
/* 0.1.29 — emplacement mobile commun avec CXT Live et CXT Pulse. */
@media(max-width:700px),(pointer:coarse) and (max-height:700px){
  .cxt-consent-modal.is-cxt-navigation-utility-panel{padding:0!important;place-items:start!important}
  .cxt-consent-modal.is-cxt-navigation-utility-panel .cxt-consent-dialog{position:fixed!important;left:var(--cxt-consent-panel-left,72px)!important;top:var(--cxt-consent-panel-top,12px)!important;right:auto!important;bottom:auto!important;margin:0!important;transform:none!important}
}
@media(prefers-reduced-motion:reduce){#cxt-consent-banner *,#cxt-consent-modal *,#cxt-consent-fab *{transition:none!important;animation:none!important}}

/* 0.1.31 — symétrie visuelle accepter/refuser : même niveau de proéminence. */
.cxt-consent-banner .cxtc-reject,.cxt-consent-banner .cxtc-accept{background:#fff!important;color:#2a0b4d!important;border-color:#fff!important;box-shadow:0 2px 10px rgba(0,0,0,.08)}
.cxt-consent-dialog .cxtc-reject,.cxt-consent-dialog .cxtc-accept{background:#f4effc!important;color:#2a0b4d!important;border-color:#d8cae8!important;box-shadow:inset 0 0 0 1px rgba(42,11,77,.04)}
