/* Bandeau cookies – Tahiti Sun */
.ts-ck, .ts-ck-modal { --ck-bg: #fffaf0; --ck-ink: #1d2a23; --ck-green: #0e3b2e; --ck-accent: #d8432e; font-family: 'Montserrat', Helvetica, Arial, sans-serif; color: var(--ck-ink); }
.ts-ck { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 100000; display: flex; justify-content: center; opacity: 0; transform: translateY(20px); transition: opacity .25s, transform .25s; pointer-events: none; }
.ts-ck.is-open { opacity: 1; transform: none; pointer-events: auto; }
.ts-ck__box { max-width: 980px; width: 100%; background: var(--ck-bg); border-radius: 22px; padding: 22px 26px; box-shadow: 0 24px 60px -20px rgba(14,59,46,.55), 0 0 0 1px rgba(14,59,46,.08); display: grid; grid-template-columns: 1fr auto; gap: 8px 26px; align-items: center; }
.ts-ck__title { font-family: 'Bebas Neue', Impact, sans-serif; font-size: 28px; color: var(--ck-green); margin: 0 !important; padding: 0; line-height: 1; grid-column: 1 / -1; }
.ts-ck__text { font-size: 13.5px; line-height: 1.6; margin: 0 !important; padding: 0 !important; }
.ts-ck__text a { color: var(--ck-accent); font-weight: 600; }
.ts-ck__actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }
.ts-ck-btn { appearance: none; border: 2px solid var(--ck-green, #0e3b2e); background: transparent; color: var(--ck-green, #0e3b2e); font: 600 14px 'Montserrat', Helvetica, Arial, sans-serif; padding: 11px 20px; border-radius: 999px; cursor: pointer; transition: background .2s, color .2s; line-height: 1.2; }
.ts-ck-btn:hover, .ts-ck-btn:focus-visible { background: #0e3b2e; color: #fbf4e4; outline: none; }
.ts-ck-btn--primary { background: #0e3b2e; color: #fbf4e4; }
.ts-ck-btn--primary:hover { background: #d8432e; border-color: #d8432e; }
.ts-ck-modal { position: fixed; inset: 0; z-index: 100001; background: rgba(5,20,15,.55); display: flex; align-items: center; justify-content: center; padding: 16px; opacity: 0; transition: opacity .25s; }
.ts-ck-modal.is-open { opacity: 1; }
.ts-ck-modal__box { position: relative; width: 100%; max-width: 560px; max-height: 90vh; overflow-y: auto; background: var(--ck-bg); border-radius: 24px; padding: 30px; box-shadow: 0 30px 80px -20px rgba(0,0,0,.5); }
.ts-ck-modal__box .ts-ck__text { margin-bottom: 14px !important; }
.ts-ck-modal__box .ts-ck__actions { margin-top: 20px; justify-content: stretch; }
.ts-ck-modal__box .ts-ck__actions .ts-ck-btn { flex: 1; }
.ts-ck-modal__close { position: absolute; top: 12px; right: 14px; border: 0; background: none; font-size: 30px; line-height: 1; cursor: pointer; color: var(--ck-green); }
.ts-ck-cat { border-top: 1px dashed rgba(14,59,46,.2); padding: 14px 0 6px; }
.ts-ck-cat p { font-size: 13px; color: #5b6b61; margin: 6px 0 0 56px !important; padding: 0 !important; line-height: 1.55; }
.ts-ck-cat__label { font-weight: 700; font-size: 15px; }
.ts-ck-cat__label em { font-weight: 500; font-size: 12px; color: #5b6b61; }
.ts-ck-switch { display: flex; align-items: center; gap: 14px; cursor: pointer; }
.ts-ck-switch input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.ts-ck-switch__ui { flex: none; width: 42px; height: 24px; border-radius: 99px; background: #cfd6cf; position: relative; transition: background .2s; }
.ts-ck-switch__ui::after { content: ''; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff; transition: transform .2s; box-shadow: 0 1px 3px rgba(0,0,0,.25); }
.ts-ck-switch input:checked + .ts-ck-switch__ui { background: #2f7d45; }
.ts-ck-switch input:checked + .ts-ck-switch__ui::after { transform: translateX(18px); }
.ts-ck-switch input:disabled + .ts-ck-switch__ui { opacity: .6; }
.ts-ck-switch input:focus-visible + .ts-ck-switch__ui { outline: 2px solid #d8432e; outline-offset: 2px; }
/* Contenus bloqués */
.ts-ck-gate { position: relative; }
.ts-ck-gate iframe:not([src]) { visibility: hidden; }
.ts-ck-ph { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; text-align: center; padding: 24px; background: repeating-linear-gradient(45deg, #f4e6c8, #f4e6c8 14px, #fbf4e4 14px, #fbf4e4 28px); color: #1d2a23; line-height: 1.5; font-size: 14px; }
.ts-ck-ph p { margin: 0 !important; max-width: 36ch; }
.ts-ck-gate.is-allowed .ts-ck-ph { display: none; }
@media (max-width: 760px) {
	.ts-ck { left: 10px; right: 10px; bottom: 10px; }
	.ts-ck__box { grid-template-columns: 1fr; padding: 18px; }
	.ts-ck__actions { justify-content: stretch; }
	.ts-ck__actions .ts-ck-btn { flex: 1 1 auto; }
}
.ts-ck[hidden], .ts-ck-modal[hidden] { display: none !important; }
.ts-ck-ph, .ts-ck-ph p, .ts-ck-ph strong { color: #1d2a23 !important; }
