/* Corto Shop - bandeau cookies (bas gauche) + cartes soumises au consentement */
.ckb{position:fixed;left:16px;bottom:16px;z-index:300;width:min(500px,calc(100vw - 32px));color:#0B3B46;font:500 .84rem/1.35 "Instrument Sans",system-ui,sans-serif;transform:translateY(calc(100% + 30px));opacity:0;visibility:hidden;transition:transform .45s cubic-bezier(.2,.8,.2,1),opacity .3s,visibility .45s}
.ckb.is-on{transform:none;opacity:1;visibility:visible}
.ckb-bar{display:flex;align-items:center;gap:10px;background:#fff;border-radius:999px;padding:7px 7px 7px 14px;box-shadow:0 16px 40px -10px rgba(6,30,36,.38),0 0 0 1px rgba(11,59,70,.06)}
.ckb-ic{display:grid;place-items:center;color:#E30613;flex-shrink:0}
.ckb-ic svg{width:20px;height:20px}
.ckb-x{margin:0;flex:1;min-width:0;color:#44545A}
.ckb-lnk{appearance:none;border:0;background:none;padding:0;font:inherit;font-weight:700;color:#0B3B46;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.ckb-b{display:flex;gap:6px;flex-shrink:0}
.ckb-btn{appearance:none;border:0;border-radius:999px;padding:9px 15px;background:#E30613;color:#fff;font:inherit;font-weight:700;font-size:.8rem;cursor:pointer;white-space:nowrap}
.ckb-btn--line{background:#fff;color:#0B3B46;box-shadow:inset 0 0 0 1.5px #0B3B46}
.ckb-btn--full{width:100%;margin-top:4px;padding:10px 14px}
.ckb-btn:hover{filter:brightness(.95)}
.ckb-btn:focus-visible,.ckb-lnk:focus-visible,.ckr:focus-visible,.ckb-o input:focus-visible+i{outline:3px solid #E30613;outline-offset:2px}
.ckb-opts{background:#fff;border-radius:14px;padding:14px 16px;margin-bottom:8px;box-shadow:0 16px 40px -10px rgba(6,30,36,.38),0 0 0 1px rgba(11,59,70,.06);border-top:4px solid #E30613}
.ckb-opts[hidden]{display:none}
.ckb-ot{display:flex;justify-content:space-between;align-items:baseline;margin:0 0 6px}
.ckb-ot b{font-family:"Big Shoulders Display",Impact,sans-serif;font-weight:900;text-transform:uppercase;font-size:1.25rem;line-height:1}
.ckb-ot a{color:#E30613;font-weight:700;font-size:.78rem}
.ckb-o{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid #D6E5E2;cursor:pointer}
.ckb-o span{font-size:.76rem;color:#44545A}
.ckb-o b{display:block;font-size:.84rem;color:#0B3B46}
.ckb-o input{position:absolute;opacity:0;width:1px;height:1px}
.ckb-o i{position:relative;flex-shrink:0;width:38px;height:22px;border-radius:99px;background:#C9D6D3;transition:background .2s}
.ckb-o i::after{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:left .2s}
.ckb-o input:checked+i{background:#E30613}
.ckb-o input:checked+i::after{left:19px}
.ckb-o input:disabled+i{background:#0B3B46;opacity:.45}
.ckb-o:has(input:disabled){cursor:default}
.ckr{position:fixed;left:16px;bottom:16px;z-index:60;width:42px;height:42px;border-radius:50%;border:0;padding:0;display:grid;place-items:center;background:#E30613;color:#fff;cursor:pointer;box-shadow:0 0 0 2px #fff,0 10px 24px -8px rgba(6,30,36,.45);transform:scale(.6);opacity:0;visibility:hidden;transition:transform .3s cubic-bezier(.3,1.5,.5,1),opacity .25s,visibility .3s,bottom .3s}
.ckr.is-on{transform:none;opacity:1;visibility:visible}
.ckr svg{width:20px;height:20px}
.ckr:hover{filter:brightness(.93)}
.cmap{position:relative;width:100%;min-height:300px;border-radius:11px;overflow:hidden;background:#E7EFED}
.cmap iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.cmap-ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:20px;text-align:center;color:#44545A;background:repeating-linear-gradient(45deg,#E7EFED 0 14px,#EEF4F2 14px 28px)}
.cmap-ph b{color:#0B3B46;font-size:1rem}
.cmap-ph span{font-size:.85rem;max-width:280px}
@media (max-width:560px){
  .ckb{left:10px;bottom:10px;width:calc(100vw - 20px)}
  .ckb-bar{flex-wrap:wrap;border-radius:16px;padding:10px 10px 10px 14px;row-gap:8px}
  .ckb-x{flex:1 1 calc(100% - 34px)}
  .ckb-b{flex:1 1 100%}
  .ckb-b .ckb-btn{flex:1}
  .ckr{left:10px;bottom:10px;width:40px;height:40px}
}
body:has(.basket.show) .ckr{bottom:86px}
@media (prefers-reduced-motion:reduce){.ckb,.ckr{transition:none}}
