Files
GDPR-Content-Blocker/gdpr-content-blocker/assets/frontend.css
s4luorth ef84c43ded fix: textausrichtung-option + hover-fixes (link/badge) + remember-farbe (v1.5.2)
- Darstellung: neue option "Textausrichtung" (mittig/links/rechts). Setzt
  --cb-align (text-align) und --cb-justify (remember-zeile) inline.
- "Diesen Dienst kuenftig immer laden" nutzt jetzt die textfarbe (var(--cb-text),
  ohne dimming).
- Datenschutz-link: schriftgroesse/-gewicht/laufweite/transform/decoration in
  allen zustaenden festgenagelt -> keine theme-a:hover-aenderung mehr.
- Werbe-badge: dito -> wird beim hover nicht mehr riesig (theme-scaling/
  font-size gesperrt).

+ i18n DE/EN (138 strings). version 1.5.2.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-08 17:41:26 +02:00

239 lines
5.8 KiB
CSS
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/**
* Content Blocker – frontend.css
* Design: minimalist black/white with accent #2043B7
* Colors come from CSS custom properties set inline by PHP.
*
* Note on specificity: every visible rule is scoped under `.cb-blocker`
* (specificity 0,2,0) so theme button/link styles (typically 0,1,1) cannot
* override the plugin. Your Custom-CSS is injected AFTER this file, so it can
* still override everything — use the same `.cb-blocker …` prefix to be safe.
*/
:root {
--cb-text: #ffffff;
--cb-bg: #111111;
--cb-btn-bg: #2043B7;
--cb-btn-text: #ffffff;
--cb-btn-hover-bg: #1a369a;
--cb-btn-hover-text: #ffffff;
}
/* ── Wrapper / placeholder ── */
.cb-blocker {
position: relative; /* anchor for the bottom-right badge */
display: flex;
align-items: flex-start; /* pin content to the top */
justify-content: center;
width: 100%;
background-color: var(--cb-bg);
color: var(--cb-text);
box-sizing: border-box;
padding: 24px 8px 22px; /* min 20px top/bottom, 8px sides */
font-family: inherit;
border-radius: 4px;
/* No reserved height: the placeholder is exactly as tall as its content. */
}
/* ── Promo badge (bottom-right) ── (locked against theme a:hover scaling) */
.cb-blocker .cb-blocker__badge,
.cb-blocker .cb-blocker__badge:hover,
.cb-blocker .cb-blocker__badge:focus {
position: absolute;
right: 8px;
bottom: 5px;
font-size: 0.6875rem;
line-height: 1;
font-weight: 400;
letter-spacing: normal;
color: var(--cb-text);
background: none;
white-space: nowrap;
transform: none;
}
.cb-blocker .cb-blocker__badge {
opacity: 0.55;
text-decoration: none;
}
.cb-blocker .cb-blocker__badge:hover,
.cb-blocker .cb-blocker__badge:focus {
opacity: 1;
text-decoration: underline;
}
/* ── Inner content ── */
.cb-blocker .cb-blocker__inner {
width: 100%;
max-width: 520px;
text-align: var(--cb-align, center); /* set in Appearance: center|left|right */
}
/* ── Text elements ── */
.cb-blocker .cb-blocker__text,
.cb-blocker .cb-blocker__recipient,
.cb-blocker .cb-blocker__purpose {
margin: 0 0 0.65em;
font-size: 0.875rem;
line-height: 1.6;
color: var(--cb-text);
}
.cb-blocker .cb-blocker__text {
font-size: 0.9375rem;
}
.cb-blocker .cb-blocker__third-country {
display: block; /* own line, no separator needed */
margin-top: 0.25em;
font-size: 0.875rem; /* same as the rest of the text */
color: var(--cb-text); /* same colour as the rest of the text */
}
/* ── Privacy link ── (locked so the theme's a:hover can't restyle/resize it) */
.cb-blocker .cb-blocker__privacy-link,
.cb-blocker .cb-blocker__privacy-link:hover,
.cb-blocker .cb-blocker__privacy-link:focus {
display: inline-block;
margin-bottom: 0.75em;
font-size: 0.8125rem;
line-height: 1.5;
font-weight: 400;
letter-spacing: normal;
color: var(--cb-btn-bg);
background: none;
text-decoration: underline;
text-decoration-thickness: 1px;
text-underline-offset: 3px;
transform: none;
}
/* ── Button ── */
.cb-blocker .cb-blocker__button {
display: inline-block;
margin-top: 1em;
padding: 0.6em 1.4em;
background-color: var(--cb-btn-bg);
color: var(--cb-btn-text);
border: none; /* never a border/frame */
outline: none;
box-shadow: none;
transform: none; /* no size change, even with theme hover styles */
border-radius: 3px;
font-size: 0.9375rem;
font-weight: 600;
cursor: pointer;
transition: background-color 0.18s ease, color 0.18s ease;
letter-spacing: 0.01em;
}
/* Hover: only the colour changes — no frame, no resize. */
.cb-blocker .cb-blocker__button:hover {
background-color: var(--cb-btn-hover-bg);
color: var(--cb-btn-hover-text);
border: none;
outline: none;
box-shadow: none;
transform: none;
}
/* Keyboard focus keeps a subtle, accessible ring (not shown on mouse hover). */
.cb-blocker .cb-blocker__button:focus-visible {
outline: 2px solid var(--cb-btn-hover-bg);
outline-offset: 2px;
}
/* "Remember this service" checkbox under the button */
.cb-blocker .cb-blocker__remember {
display: flex;
align-items: center;
justify-content: var(--cb-justify, center); /* follows the text alignment */
gap: 6px;
margin-top: 0.8em;
font-size: 0.8rem;
color: var(--cb-text); /* same colour as the rest of the text */
cursor: pointer;
}
.cb-blocker .cb-blocker__remember input {
margin: 0;
cursor: pointer;
}
/* ── Revoke button ── */
.cb-revoke-btn {
display: inline-block;
padding: 0.5em 1.2em;
background-color: #111111;
color: #ffffff;
border: 2px solid #111111;
border-radius: 3px;
font-size: 0.875rem;
font-weight: 600;
cursor: pointer;
transition: background-color 0.18s ease, color 0.18s ease;
}
.cb-revoke-btn:hover,
.cb-revoke-btn:focus-visible {
background-color: #ffffff;
color: #111111;
}
/* ── Revoke as a visible text link (default) ── */
.cb-revoke-link {
display: inline-block;
color: var(--cb-btn-bg);
font-weight: 600;
text-decoration: underline;
text-underline-offset: 3px;
cursor: pointer;
}
.cb-revoke-link:hover,
.cb-revoke-link:focus-visible {
color: var(--cb-btn-hover-bg);
text-decoration: underline;
}
.cb-revoke-note {
display: block;
margin-top: 6px;
font-size: 0.8125rem;
opacity: 0.8;
}
/* ── Services overview (for the privacy policy) ── */
.cb-services-list {
list-style: none;
margin: 1em 0;
padding: 0;
}
.cb-services-list .cb-service-entry {
margin: 0 0 1.1em;
padding: 0 0 1.1em;
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.cb-services-list .cb-service-entry:last-child {
border-bottom: none;
}
.cb-services-list .cb-service-entry__name {
font-weight: 700;
font-size: 1.02em;
}
.cb-services-list .cb-service-entry dl {
margin: 0.4em 0 0;
display: grid;
grid-template-columns: max-content 1fr;
gap: 2px 14px;
}
.cb-services-list .cb-service-entry dt {
font-weight: 600;
}
.cb-services-list .cb-service-entry dd {
margin: 0;
}