/* Cookie Tag Manager - frontend consent UI. One rule per selector: earlier
   releases appended override layers at the end of the file, which meant the
   real value of a property was spread across three places. */
#tct-consent-root{--tct-accent:#6d7567;--tct-bg:#fff;--tct-text:#202020;--tct-overlay:#111;--tct-radius:12px;--tct-width:600px;--tct-font:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-family:var(--tct-font);color:var(--tct-text);position:relative;z-index:2147482000}
#tct-consent-root *{box-sizing:border-box}

/* Banner */
.tct-banner{position:fixed;bottom:16px;width:min(var(--tct-width),calc(100vw - 32px));display:grid;grid-template-columns:1fr auto;gap:22px;align-items:end;background:var(--tct-bg);color:var(--tct-text);border:1px solid rgba(20,28,24,.12);border-radius:var(--tct-radius);padding:25px;box-shadow:0 18px 60px rgba(10,18,14,.24);line-height:1.45}
.tct-position-bottom-left .tct-banner{left:16px}
.tct-position-bottom-center .tct-banner{left:50%;transform:translateX(-50%)}
.tct-position-bottom-right .tct-banner{right:16px}
.tct-banner h2{margin:0 0 10px;color:inherit;font:800 22px/1.15 var(--tct-font);text-transform:uppercase;letter-spacing:-.02em}
.tct-banner p{margin:0 0 10px;color:inherit;font:400 14px/1.45 var(--tct-font)}
.tct-banner a,.tct-link-button{color:inherit;text-decoration:underline;text-underline-offset:2px}
.tct-link-button{appearance:none;border:0;background:transparent;padding:0;font:400 14px/1.45 var(--tct-font);cursor:pointer;margin-right:10px}
.tct-banner-actions{display:grid;gap:8px}

/* Buttons. Accept and reject share .tct-button so they stay equally prominent,
   which is what the EDPB guidance asks for. */
.tct-button{appearance:none;min-height:42px;border:1px solid var(--tct-accent);border-radius:999px;padding:9px 18px;font:600 13px/1.1 var(--tct-font);cursor:pointer;transition:.18s transform,.18s box-shadow,.18s background}
.tct-button:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(20,30,24,.14)}
.tct-button:focus-visible,.tct-close:focus-visible,.tct-reopen:focus-visible,.tct-link-button:focus-visible,.tct-category-row input:focus-visible+span{outline:3px solid #2d7ff9;outline-offset:3px}
.tct-primary{background:var(--tct-accent);color:#fff}
.tct-secondary{background:transparent;color:var(--tct-text)}
.tct-button[data-tct-action="reject"]{border:1px solid var(--tct-accent);color:var(--tct-accent);background:transparent;}

/* Preferences modal */
.tct-modal[hidden],.tct-banner[hidden],.tct-reopen[hidden]{display:none!important}
.tct-modal{position:fixed;inset:0;display:grid;place-items:center;padding:38px}
.tct-modal-backdrop{position:absolute;inset:0;background:rgba(17,17,17,.86);background:color-mix(in srgb,var(--tct-overlay) 86%,transparent)}
.tct-dialog{position:relative;width:min(1020px,100%);max-height:min(720px,calc(100vh - 48px));display:grid;grid-template-columns:340px 1fr;background:var(--tct-bg);border-radius:var(--tct-radius);overflow:visible;box-shadow:0 28px 90px rgba(0,0,0,.38);outline:0}
.tct-dialog-sidebar{display:flex;flex-direction:column;padding:34px;background:#fafafa;background:color-mix(in srgb,var(--tct-bg) 96%,var(--tct-text));border-right:1px solid rgba(20,28,24,.12);border-radius:var(--tct-radius) 0 0 var(--tct-radius);overflow:hidden}
.tct-dialog-sidebar h2{margin:0 0 14px;color:inherit;font:700 24px/1.2 var(--tct-font)}
.tct-dialog-sidebar p{margin:0;color:inherit;font:400 14px/1.55 var(--tct-font)}
.tct-dialog-sidebar a{margin-top:auto;color:inherit;text-decoration:underline}
.tct-dialog-content{min-width:0;display:flex;flex-direction:column;max-height:min(720px,calc(100vh - 48px));background:var(--tct-bg);border-radius:0 var(--tct-radius) var(--tct-radius) 0;overflow:hidden}
.tct-category-list{padding:28px;overflow:auto}
.tct-category-row{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;padding:20px 0;border-bottom:1px solid rgba(20,28,24,.12);cursor:pointer}
.tct-category-row:first-child{padding-top:0}
.tct-category-row strong,.tct-category-row small{display:block}
.tct-category-row strong{font:700 16px/1.3 var(--tct-font);margin-bottom:5px}
.tct-category-row small{font:400 13px/1.45 var(--tct-font);color:#626b66;color:color-mix(in srgb,var(--tct-text) 70%,transparent)}
.tct-ui-switch{position:relative;width:48px;height:28px}
.tct-ui-switch input{position:absolute;opacity:0}
.tct-ui-switch>span{position:absolute;inset:0;background:#b9c0bc;border-radius:99px;transition:.2s}
.tct-ui-switch>span:after{content:"";position:absolute;width:22px;height:22px;left:3px;top:3px;background:#fff;border-radius:50%;box-shadow:0 1px 5px rgba(0,0,0,.22);transition:.2s}
.tct-ui-switch input:checked+span{background:var(--tct-accent)}
.tct-ui-switch input:checked+span:after{transform:translateX(20px)}
.tct-ui-switch input:disabled+span{opacity:.65}
.tct-dialog-actions{margin-top:auto;display:flex;justify-content:flex-end;gap:10px;padding:20px 28px;border-top:1px solid rgba(20,28,24,.12)}

/* Close button. Sits outside the dialog corner, hence the negative offsets and
   the dialog's overflow:visible. */
.tct-close{position:absolute;right:-30px;top:-30px;z-index:3;display:grid;place-items:center;width:54px;height:54px;padding:0;border:0;border-radius:50%;background:none;color:#fff;cursor:pointer;box-shadow:0 9px 28px rgba(0,0,0,.28);transition:.18s transform,.18s box-shadow,.18s background}
.tct-close:hover{transform:scale(1.05);box-shadow:0 12px 32px rgba(0,0,0,.34)}
.tct-close svg{width:22px;height:22px;fill:none;stroke:#111;stroke-width:1.6;stroke-linecap:round}

/* Floating reopen button, collapsed to a circle until hover or focus. */
.tct-reopen{position:fixed;left:18px;bottom:18px;display:flex;align-items:center;justify-content:center;gap:0;width:48px;min-width:48px;height:48px;padding:0;overflow:hidden;white-space:nowrap;border:0;border-radius:50%;background:var(--tct-accent);color:#fff;box-shadow:0 8px 28px rgba(0,0,0,.24);cursor:pointer;transition:.24s width ease,.24s padding ease,.24s gap ease,.24s border-radius ease,.18s transform,.18s box-shadow}
.tct-reopen:hover,.tct-reopen:focus-visible{justify-content:flex-start;width:200px;padding:0 18px 0 13px;gap:10px;border-radius:10px;transform:translateY(-1px);box-shadow:0 10px 28px rgba(0,0,0,.24)}
.tct-reopen-icon{display:grid;place-items:center;flex:0 0 22px;width:22px;height:22px}
.tct-reopen-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.tct-reopen-label{display:block;flex:0 0 auto;max-width:0;overflow:hidden;opacity:0;transform:translateX(-4px);font:600 13px/1.2 "Poppins",var(--tct-font);letter-spacing:0;text-transform:none;transition:.18s max-width,.18s opacity .05s,.18s transform .05s}
.tct-reopen:hover .tct-reopen-label,.tct-reopen:focus-visible .tct-reopen-label{max-width:145px;opacity:1;transform:none}

/* Blocked embeds */
.tct-modal-open{overflow:hidden}
.tct-embed-blocked{display:grid;place-items:center;min-height:240px;background:#edf0ee;border:1px solid #d5dbd7;border-radius:10px;text-align:center;padding:20px}
.tct-embed-blocked iframe{display:none}
.tct-embed-blocked.is-unblocked{display:block;min-height:0;padding:0;background:none;border:0}
.tct-embed-blocked.is-unblocked>p,.tct-embed-blocked.is-unblocked>button{display:none}
.tct-embed-blocked.is-unblocked iframe{display:block}

@media(max-width:760px){
	.tct-banner{grid-template-columns:1fr;padding:20px;gap:14px}
	.tct-banner-actions{grid-template-columns:1fr}
	.tct-modal{align-items:start;padding:20px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
	.tct-dialog{grid-template-columns:1fr;max-height:none;margin:auto 0}
	.tct-dialog-sidebar{padding:22px;border-right:0;border-bottom:1px solid rgba(20,28,24,.12);border-radius:var(--tct-radius) var(--tct-radius) 0 0}
	.tct-dialog-sidebar p{font-size:13px}
	.tct-dialog-sidebar a{margin-top:12px}
	.tct-dialog-content{max-height:none;min-height:0;border-radius:0 0 var(--tct-radius) var(--tct-radius)}
	.tct-category-list{padding:20px}
	.tct-category-row{padding:15px 0}
	.tct-dialog-actions{padding:15px 20px;display:grid;grid-template-columns:1fr 1fr}
	.tct-dialog-actions .tct-primary{grid-column:1/-1;grid-row:1}
	.tct-close{right:8px;top:8px;width:44px;height:44px}
	.tct-reopen:hover,.tct-reopen:focus-visible{justify-content:center;width:48px;padding:0;gap:0;border-radius:50%;transform:none}
	.tct-reopen:hover .tct-reopen-label,.tct-reopen:focus-visible .tct-reopen-label{max-width:0;opacity:0;transform:translateX(-5px)}
}

@media(prefers-reduced-motion:reduce){
	#tct-consent-root *{scroll-behavior:auto!important;transition:none!important}
}

/* 2.0 accessibility: scrollable text, equal first-layer actions and RTL. */
#tct-consent-root .tct-dialog{overflow:auto;max-height:calc(100dvh - 32px);overscroll-behavior:contain}
#tct-consent-root .tct-dialog-sidebar{overflow:visible;min-width:0}
#tct-consent-root .tct-dialog-content{min-width:0;max-height:none;overflow:visible;padding-top:32px}
#tct-consent-root .tct-close{right:8px;top:8px;width:40px;height:40px;box-shadow:none}
#tct-consent-root .tct-vendors{margin:0 28px 16px;overflow-wrap:anywhere;font:400 14px/1.5 var(--tct-font)}
#tct-consent-root .tct-category-list{overflow:visible}
#tct-consent-root .tct-vendors summary{cursor:pointer;padding:12px 0;font-weight:600}
#tct-consent-root .tct-vendor{padding-block:12px;border-top:1px solid currentColor}
#tct-consent-root .tct-vendor p{margin:6px 0}
#tct-consent-root .tct-banner-actions .tct-button{flex:1}
[dir="rtl"] #tct-consent-root{direction:rtl;text-align:right}
@media(max-width:600px){#tct-consent-root .tct-dialog{max-height:calc(100dvh - 16px)}#tct-consent-root .tct-dialog-actions{flex-wrap:wrap}}
@media(forced-colors:active){#tct-consent-root button,#tct-consent-root input{border:1px solid ButtonText}}
@media(max-width:760px){#tct-consent-root .tct-dialog-sidebar{padding-top:54px}#tct-consent-root .tct-dialog-content{padding-top:0}#tct-consent-root .tct-dialog-actions .tct-primary{grid-column:auto;grid-row:auto}#tct-consent-root .tct-dialog-actions [data-tct-action="save"]{grid-column:1/-1}}
