/* LT SEO cookie consent (PLAN-1.15). A bar along the bottom by default, or
   a box in the middle; "Accept all" and "Reject all" the same size and
   weight. --ltseo-cb-accent comes from the setting when one is chosen. */
.ltseo-cb {
	--ltseo-cb-accent: #1d2127;
	--ltseo-cb-bg: #ffffff;
	--ltseo-cb-fg: #1d2127;
	--ltseo-cb-muted: #4b515a;
	--ltseo-cb-line: #d9d6cf;
	position: fixed;
	z-index: 2147483000;
	box-sizing: border-box;
	color: var(--ltseo-cb-fg);
	background: var(--ltseo-cb-bg);
	font: 400 15px/1.5 system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	text-align: left;
}
.ltseo-cb *, .ltseo-cb *::before, .ltseo-cb *::after { box-sizing: border-box; }
.ltseo-cb--bottom {
	left: 0;
	right: 0;
	bottom: 0;
	border-top: 1px solid var(--ltseo-cb-line);
	box-shadow: 0 -8px 30px rgba(0, 0, 0, .12);
	padding: 16px max(16px, env(safe-area-inset-right, 0px)) calc(16px + env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-left, 0px));
	max-height: 85vh;
	overflow-y: auto;
}
.ltseo-cb--bottom .ltseo-cb-inner { max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 24px; align-items: center; }
.ltseo-cb--bottom .ltseo-cb-title, .ltseo-cb--bottom .ltseo-cb-text, .ltseo-cb--bottom .ltseo-cb-cats { grid-column: 1; }
.ltseo-cb--bottom .ltseo-cb-actions { grid-column: 2; grid-row: 1 / span 3; }
.ltseo-cb--box {
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: min(560px, calc(100vw - 32px));
	max-height: calc(100vh - 32px);
	overflow-y: auto;
	border-radius: 12px;
	padding: 24px;
	box-shadow: 0 20px 60px rgba(0, 0, 0, .3);
}
html.ltseo-cb-open::after { content: ""; position: fixed; inset: 0; background: rgba(0, 0, 0, .45); z-index: 2147482999; }
.ltseo-cb-title { margin: 0; font-size: 17px; font-weight: 600; line-height: 1.3; color: inherit; }
.ltseo-cb-text { margin: 0; color: var(--ltseo-cb-muted); max-width: 70ch; }
.ltseo-cb-text a { color: inherit; text-decoration: underline; }
.ltseo-cb-cats { margin: 8px 0 0; padding: 0; border: 0; display: grid; gap: 10px; }
.ltseo-cb-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.ltseo-cb-cat { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 10px; align-items: start; cursor: pointer; }
.ltseo-cb-cat input { margin: 4px 0 0; width: 18px; height: 18px; accent-color: var(--ltseo-cb-accent); }
.ltseo-cb-cat-text { display: grid; }
.ltseo-cb-cat-text span { color: var(--ltseo-cb-muted); font-size: 14px; }
.ltseo-cb-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 12px; }
.ltseo-cb-choose, .ltseo-cb-save { grid-column: 1 / -1; }
.ltseo-cb--bottom .ltseo-cb-actions { margin-top: 0; width: 340px; }
.ltseo-cb-btn {
	width: 100%;
	min-height: 44px;
	padding: 10px 16px;
	border: 2px solid var(--ltseo-cb-accent);
	border-radius: 8px;
	font: 600 15px/1.2 inherit;
	font-family: inherit;
	cursor: pointer;
	background: var(--ltseo-cb-accent);
	color: #fff;
}
.ltseo-cb-choose, .ltseo-cb-save { background: transparent; color: var(--ltseo-cb-accent); }
.ltseo-cb-save { background: var(--ltseo-cb-accent); color: #fff; }
.ltseo-cb-btn:focus-visible, .ltseo-cb-corner:focus-visible, .ltseo-embed-load:focus-visible { outline: 3px solid #2271b1; outline-offset: 2px; }
.ltseo-cb [hidden] { display: none !important; }
@media (max-width: 720px) {
	.ltseo-cb--bottom .ltseo-cb-inner { grid-template-columns: minmax(0, 1fr); }
	.ltseo-cb--bottom .ltseo-cb-actions { grid-column: 1; grid-row: auto; width: auto; }
}
.ltseo-cb-corner {
	position: fixed;
	z-index: 2147482998;
	left: max(12px, env(safe-area-inset-left, 0px));
	bottom: calc(12px + env(safe-area-inset-bottom, 0px));
	padding: 6px 12px;
	border: 1px solid #d9d6cf;
	border-radius: 999px;
	background: #fff;
	color: #1d2127;
	font: 500 13px/1.2 system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	box-shadow: 0 4px 14px rgba(0, 0, 0, .12);
	cursor: pointer;
}
.ltseo-cb-corner[hidden] { display: none; }
.ltseo-embed { position: relative; }
.ltseo-embed-holder { display: grid; gap: 10px; justify-items: start; padding: 20px; border: 1px dashed #b9b4a8; border-radius: 8px; background: #f6f5f1; color: #1d2127; }
.ltseo-embed-holder p { margin: 0; }
.ltseo-embed-load { padding: 8px 14px; border: 0; border-radius: 6px; background: #1d2127; color: #fff; font: 600 14px/1.2 inherit; cursor: pointer; }
.ltseo-embed:not(.is-loaded) iframe { display: none; }
.ltseo-cookie-list table { width: 100%; border-collapse: collapse; margin: 0 0 1.5em; }
.ltseo-cookie-list th, .ltseo-cookie-list td { text-align: left; padding: 6px 8px; border-bottom: 1px solid #ddd; vertical-align: top; }
@media (prefers-reduced-motion: reduce) { .ltseo-cb, .ltseo-cb * { transition: none !important; } }
