/* SIGNAL Cookie Consent */
:root {
    --scc-blue: #1769ff;
    --scc-blue-dark: #0d4fd7;
    --scc-text: #222222;
    --scc-muted: #666666;
    --scc-border: #e5e7eb;
    --scc-white: #ffffff;
}

.scc[hidden],
.scc-settings[hidden] { display: none !important; }

.scc {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 999999;
    padding: 18px;
    pointer-events: none;
}

.scc__panel {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    width: min(1120px, 100%);
    margin: 0 auto;
    padding: 18px 22px;
    border: 1px solid var(--scc-border);
    border-radius: 8px;
    background: var(--scc-white);
    box-shadow: 0 18px 50px rgba(17,17,17,.14);
    pointer-events: auto;
}

.scc__content { min-width: 0; }

.scc__title {
    margin: 0 0 6px;
    color: var(--scc-text);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.7;
}

.scc__message {
    margin: 0;
    color: var(--scc-muted);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.7;
}

.scc__privacy-link {
    margin-left: 4px;
    color: var(--scc-blue);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.scc__actions {
    display: flex;
    flex: 0 0 auto;
    gap: 10px;
}

.scc__button {
    min-height: 42px;
    padding: 9px 18px;
    border: 1px solid transparent;
    border-radius: 4px;
    font: inherit;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
}

.scc__button--primary {
    border-color: var(--scc-blue);
    background: var(--scc-blue);
    color: var(--scc-white);
}

.scc__button--primary:hover,
.scc__button--primary:focus-visible {
    border-color: var(--scc-blue-dark);
    background: var(--scc-blue-dark);
}

.scc__button--secondary {
    border-color: #cfd4dc;
    background: var(--scc-white);
    color: var(--scc-text);
}

.scc__button--secondary:hover,
.scc__button--secondary:focus-visible {
    border-color: var(--scc-text);
}

.scc__button:focus-visible,
.scc__privacy-link:focus-visible,
.scc-settings:focus-visible {
    outline: 3px solid rgba(23,105,255,.35);
    outline-offset: 3px;
}

.scc-settings {
    position: fixed;
    left: 16px;
    bottom: 16px;
    z-index: 999998;
    padding: 7px 11px;
    border: 1px solid var(--scc-border);
    border-radius: 999px;
    background: rgba(255,255,255,.95);
    color: var(--scc-muted);
    box-shadow: 0 4px 18px rgba(17,17,17,.08);
    font: inherit;
    font-size: 11px;
    font-weight: 600;
    cursor: pointer;
}

.scc-settings:hover {
    color: var(--scc-blue);
    border-color: #c7d8ff;
}

@media (max-width: 767px) {
    .scc { padding: 12px; }
    .scc__panel { display: block; padding: 20px; }
    .scc__actions { margin-top: 16px; }
    .scc__button { flex: 1 1 0; }
    .scc-settings { left: 12px; bottom: 12px; }
}

@media (max-width: 420px) {
    .scc__actions { display: grid; grid-template-columns: 1fr; }
    .scc__button--primary { order: -1; }
}


/* ======================================================
   v1.0.3 TYPOGRAPHY OVERRIDE
   Kadence / child theme heading styles must not affect banner.
====================================================== */

body .scc .scc__title,
body .scc .scc__message,
body .scc .scc__privacy-link {
	font-family: inherit !important;
	font-style: normal !important;
	text-transform: none !important;
	letter-spacing: normal !important;
}

body .scc .scc__title {
	margin: 0 0 4px !important;
	color: #222222 !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 1.7 !important;
}

body .scc .scc__message {
	margin: 0 !important;
	color: #666666 !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 1.7 !important;
}

body .scc .scc__privacy-link {
	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: inherit !important;
}

@media (max-width: 767px) {
	body .scc .scc__title,
	body .scc .scc__message,
	body .scc .scc__privacy-link {
		font-size: 13px !important;
	}
}
