presseportale/resources/css/web/shared-styles.css
Kevin Adametz 106edb1384 web: Transparenzseiten — was kostet, ohne Abo, loeschen/aendern (Roadmap 2.4)
Drei Seiten mit unterschiedlicher Suchintention, DE/EN, Hub + Spokes:
- /was-kostet-eine-pressemitteilung: kurze Antwort im ersten Bildschirm,
  vier Abrechnungsmodelle ohne Anbieternamen und fremde Preise, sechs
  Prueffragen fuer Folgekosten, "Was bei uns gilt" (sieben Zusagen mit
  Einloesung), Rechenbeispiel Einzelabrechnung gegen Starter-Monate mit
  Zeilen fuer beide Seiten.
- /pressemitteilung-veroeffentlichen-ohne-abo: Ablauf, enthalten / nicht
  enthalten, nichts verfaellt, wann sich ein Tarif lohnt.
- /pressemitteilung-loeschen-oder-aendern-lassen: fuenf Wege als
  Tabelle (Korrektur, Aenderung, DSGVO, Depublikation, DSA), Antragsweg
  ueber /melden/pm, Korrektur statt Loeschung, Absatz fuer Meldungen auf
  fremden Portalen ohne Zusagen ueber Dritte.

PricingTransparencyData liefert alle Zahlen aus config/billing, credits,
legal und dem Starter-Tarif; TransparencyPageController leitet die Marke
aus dem Host ab. Tabellen-Typografie fuer .pm-body. Verlinkt aus
Preisuebersicht, Hilfe-Center, Sitemaps und llms.txt.

Test TransparencyPagesTest (9) erzwingt u. a., dass im Rechenbeispiel
beide Modelle Zeilen gewinnen. Protokoll Teil 5, Roadmap 2.4 abgehakt.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-17 12:00:28 +00:00

956 lines
23 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.

/**
* Gemeinsame Styles für alle Frontend-Themes
* Diese Datei wird von allen Web-Themes importiert
*
* Hub × FluxUI: Seit Phase 0 leben die Design-Tokens (Farben, Fonts,
* Radii, Schatten) zentral in resources/css/shared/design-tokens.css.
* Wir importieren sie hier — damit kommen sie automatisch in jedes
* Web-Theme (theme-pressekonto.css, theme-presseecho.css,
* theme-businessportal24.css).
*/
@import "tailwindcss";
@import "../shared/design-tokens.css";
@import "../shared/hub-components.css";
/* Definiere wo Tailwind nach Klassen suchen soll */
@source "../../views/web";
@source "../../views/layouts/web";
@source "../../views/livewire/web";
@source "../../views/components/web";
@source "../../views/livewire/auth";
@source "../../views/components/layouts/auth";
/**
* Editorial-Status-Tokens (Detailseite/Branchenseite).
* Semantisch identisch über alle Web-Themes hinweg: Bernstein-Warnung
* (Korrekturhinweise) und grüne Verifizierung (verifizierte Publisher).
* Liegen hier zentral, damit beide Marken (BP24 + presseecho) dieselben
* Status-Utilities (bg-warn-bg, text-verify-ink …) generieren.
*/
@theme {
--color-warn-bg: #fff8e1;
--color-warn-border: #e8c77a;
--color-warn-ink: #7a5a0f;
--color-warn-ink-deep: #3d2f0f;
--color-verify-bg: #e8f4ec;
--color-verify-border: #1b8e3a;
--color-verify-ink: #0f5e26;
}
/* Tailwind Base Layer für gemeinsame Elemente */
@layer base {
*,
::after,
::before,
::backdrop,
::file-selector-button {
border-color: var(--color-zinc-200, currentColor);
}
body {
@apply font-sans antialiased;
}
/* Typography Defaults */
h1,
h2,
h3,
h4,
h5,
h6 {
@apply font-bold leading-tight;
}
h1 {
@apply text-4xl md:text-5xl;
}
h2 {
@apply text-3xl md:text-4xl;
}
h3 {
@apply text-2xl md:text-3xl;
}
h4 {
@apply text-xl md:text-2xl;
}
h5 {
@apply text-lg md:text-xl;
}
h6 {
@apply text-base md:text-lg;
}
/* Link Styles */
a {
@apply transition-colors duration-200;
}
/* Focus Styles */
:focus-visible {
@apply outline-none ring-2 ring-offset-2;
}
}
/* Gemeinsame Component Styles */
@layer components {
/**
* Artikel-Fließtext der Detailseite (sanitisiertes PM-HTML).
* Bildet die Editorial-Typografie aus dem tailwind_v3-Mockup nach und
* nutzt ausschließlich Theme-Tokens, damit BP24 und presseecho identisch
* rendern (nur die Brand-Akzente unterscheiden sich).
*/
.pm-body > p {
font-family: var(--font-serif);
font-size: 17px;
line-height: 1.65;
margin: 0 0 18px;
color: var(--color-ink);
text-wrap: pretty;
}
.pm-body > h2 {
font-family: var(--font-serif);
font-size: 22px;
font-weight: 600;
letter-spacing: -0.3px;
line-height: 1.25;
margin: 32px 0 14px;
color: var(--color-ink);
}
.pm-body > h3 {
font-family: var(--font-serif);
font-size: 18px;
font-weight: 600;
line-height: 1.3;
margin: 26px 0 10px;
color: var(--color-ink);
}
.pm-body > ul,
.pm-body > ol {
font-family: var(--font-serif);
font-size: 17px;
line-height: 1.65;
color: var(--color-ink);
margin: 0 0 18px;
padding-left: 1.4em;
}
.pm-body > ul {
list-style: disc;
}
.pm-body > ol {
list-style: decimal;
}
.pm-body li {
margin-bottom: 6px;
}
.pm-body blockquote {
margin: 28px 0;
padding-left: 24px;
border-left: 3px solid var(--color-brand);
}
.pm-body blockquote p {
font-family: var(--font-serif);
font-size: 21px;
font-style: italic;
font-weight: 500;
line-height: 1.4;
letter-spacing: -0.2px;
margin: 0 0 12px;
color: var(--color-ink);
text-wrap: balance;
}
.pm-body a {
color: var(--color-brand);
text-decoration: underline;
text-underline-offset: 2px;
}
.pm-body strong {
font-weight: 600;
}
/* Tabellen der Info-/Transparenzseiten (Roadmap 2.4). */
.pm-body > table {
width: 100%;
border-collapse: collapse;
margin: 0 0 18px;
font-size: 14.5px;
line-height: 1.5;
color: var(--color-ink);
}
.pm-body > table th,
.pm-body > table td {
padding: 10px 12px 10px 0;
border-bottom: 1px solid var(--color-bg-rule);
text-align: left;
vertical-align: top;
}
.pm-body > table thead th {
font-family: var(--font-mono);
font-size: 10.5px;
font-weight: 600;
letter-spacing: 0.08em;
text-transform: uppercase;
color: var(--color-ink-3);
border-bottom: 1px solid var(--color-bg-rule-strong);
}
.pm-body > table tbody th {
font-weight: 600;
}
/* Button Base Styles */
.btn {
@apply inline-flex items-center justify-center px-4 py-2 rounded-lg font-medium transition-all duration-200;
@apply focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2;
}
.btn-primary {
@apply inline-flex items-center justify-center rounded-lg px-4 py-2 text-sm font-medium text-white shadow-md transition-all duration-300 hover:shadow-lg;
background-image: linear-gradient(to right, hsl(var(--primary)), hsl(var(--secondary)));
}
.btn-primary:hover {
background-image: linear-gradient(
to right,
hsl(var(--primary) / 0.9),
hsl(var(--secondary) / 0.9)
);
}
.btn-secondary {
@apply inline-flex items-center justify-center rounded-lg border border-zinc-300 dark:border-zinc-700 bg-white dark:bg-zinc-800 px-4 py-2 text-sm font-medium text-zinc-700 dark:text-zinc-300 transition-all duration-200 hover:bg-zinc-50 dark:hover:bg-zinc-700;
}
/* Card Styles - Base */
.card {
@apply rounded-xl border transition-all duration-300 bg-white dark:bg-zinc-900;
border-color: hsl(var(--border));
box-shadow: var(--shadow-card);
}
.dark .card {
border-color: hsl(var(--border) / 0.1);
box-shadow: var(--shadow-card);
}
.card:hover {
box-shadow: var(--shadow-card-hover);
}
.card-hover {
@apply hover:scale-[1.02];
}
.card-hover:hover {
border-color: hsl(var(--primary) / 0.3);
}
/* Shadow utilities */
.shadow-card {
box-shadow: var(--shadow-card);
}
.shadow-card-hover {
box-shadow: var(--shadow-card-hover);
}
/* Badge Styles - Base */
.badge {
@apply inline-flex items-center gap-1 rounded-full px-3 py-1 text-xs font-medium transition-all duration-200;
}
.badge-primary {
@apply border;
background-color: hsl(var(--primary) / 0.1);
color: hsl(var(--primary));
border-color: hsl(var(--primary) / 0.2);
}
.badge-secondary {
@apply border text-zinc-700 dark:text-zinc-300;
background-color: hsl(var(--secondary) / 0.1);
border-color: hsl(var(--secondary) / 0.2);
}
/* Input Styles */
.input-primary {
@apply w-full rounded-lg border px-4 py-2 text-sm transition-all duration-200 bg-white dark:bg-zinc-900 text-zinc-900 dark:text-zinc-100;
border-color: hsl(var(--input));
}
.input-primary:focus {
@apply outline-none;
--tw-ring-color: hsl(var(--primary));
box-shadow: 0 0 0 2px var(--tw-ring-color);
border-color: transparent;
}
/* Container */
.container-custom {
@apply container mx-auto px-4 sm:px-6 lg:px-8;
}
/* Section Spacing */
.section {
@apply py-12 md:py-16 lg:py-20;
}
/* Section Header Styles */
.section-header {
@apply mb-8;
}
.section-title {
@apply text-2xl md:text-3xl font-bold text-zinc-900 dark:text-zinc-100 mb-2;
}
.section-subtitle {
@apply text-zinc-600 dark:text-zinc-400;
}
}
/* Utility Classes & Animations */
@layer utilities {
.text-balance {
text-wrap: balance;
}
/* Schraffur-Platzhalter für fehlende Pressefotos/Logos (Detailseite) */
.hatch-dark {
background-image: repeating-linear-gradient(
135deg,
rgba(255, 255, 255, 0.04) 0 10px,
transparent 10px 20px
);
}
.hatch-light {
background-image: repeating-linear-gradient(
135deg,
rgba(0, 0, 0, 0.04) 0 6px,
transparent 6px 12px
);
}
/* Animations */
@keyframes fade-in {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
@keyframes fade-in-up {
from {
opacity: 0;
transform: translateY(20px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@keyframes fade-in-down {
from {
opacity: 0;
transform: translateY(-20px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@keyframes slide-in-right {
from {
opacity: 0;
transform: translateX(-20px);
}
to {
opacity: 1;
transform: translateX(0);
}
}
@keyframes scale-in {
from {
opacity: 0;
transform: scale(0.95);
}
to {
opacity: 1;
transform: scale(1);
}
}
.animate-fade-in {
animation: fade-in 0.6s ease-out forwards;
}
.animate-fade-in-up {
animation: fade-in-up 0.6s ease-out forwards;
}
.animate-fade-in-down {
animation: fade-in-down 0.6s ease-out forwards;
}
.animate-slide-in-right {
animation: slide-in-right 0.6s ease-out forwards;
}
.animate-scale-in {
animation: scale-in 0.4s ease-out forwards;
}
.animation-delay-100 {
animation-delay: 0.1s;
opacity: 0;
}
.animation-delay-200 {
animation-delay: 0.2s;
opacity: 0;
}
.animation-delay-300 {
animation-delay: 0.3s;
opacity: 0;
}
.animation-delay-400 {
animation-delay: 0.4s;
opacity: 0;
}
/* ============================================
HIGHLIGHTS SLIDER - Gemeinsame Styles
============================================ */
/* Gradient Indicator */
.gradient-indicator {
width: 0.5rem;
height: 2.5rem;
background: linear-gradient(to bottom,
hsl(var(--primary)),
hsl(var(--secondary)));
border-radius: 9999px;
display: inline-block;
}
/* Slider Wrapper */
.slider-wrapper {
position: relative;
margin-left: -1.5rem;
margin-right: -1.5rem;
padding: 0.5rem 1rem;
margin-top: -3rem;
}
/* Slider Navigation Buttons */
.slider-nav-btn {
width: 2.5rem;
height: 2.5rem;
border-radius: 9999px;
border: 1px solid;
border-color: rgb(228 228 231 / 1);
background: transparent;
display: flex;
align-items: center;
justify-content: center;
transition: all 0.2s;
cursor: pointer;
}
.dark .slider-nav-btn {
border-color: rgb(63 63 70 / 1);
}
.slider-nav-btn:hover:not(:disabled) {
border-color: hsl(var(--primary));
background: hsl(var(--primary) / 0.1);
}
.slider-nav-btn:disabled {
opacity: 0.3;
cursor: not-allowed;
}
/* Slider Dots */
.slider-dots {
display: flex;
justify-content: center;
gap: 0.5rem;
margin-top: 0;
}
.slider-dot {
width: 0.5rem;
height: 0.5rem;
border-radius: 9999px;
background: rgb(212 212 216 / 1);
transition: all 0.3s;
cursor: pointer;
border: none;
padding: 0;
}
.dark .slider-dot {
background: rgb(82 82 91 / 1);
}
.slider-dot.active {
width: 2rem;
background: hsl(var(--primary));
}
/* Highlight Card Link */
.highlight-card-link {
display: block;
flex-shrink: 0;
width: 100%;
scroll-snap-align: center;
text-decoration: none;
}
.highlight-card-link:focus {
outline: 2px solid hsl(var(--primary));
outline-offset: 2px;
}
.card-premium {
background: var(--color-white);
box-shadow: var(--shadow-card);
border: 1px solid;
border-color: hsl(var(--primary) / 0.2);
}
.card-premium-hover {
box-shadow: var(--shadow-card-hover);
border-color: hsl(var(--primary) / 0.4);
transform: translateY(-0.125rem);
}
/* Highlight Card */
.highlight-card {
background: linear-gradient(to bottom right,
rgb(244 244 245 / 0.5),
rgb(244 244 245 / 0.25));
border-radius: 0.75rem;
border: 1px solid;
border-color: hsl(var(--primary) / 0.2);
overflow: hidden;
transition: all 0.3s;
box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1);
height: 100%;
display: flex;
flex-direction: column;
}
.dark .highlight-card {
background: linear-gradient(to bottom right,
rgb(39 39 42 / 1),
rgb(39 39 42 / 0.5));
border-color: rgb(63 63 70 / 1);
}
.highlight-card-link:hover .highlight-card {
box-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1),
0 8px 10px -6px rgb(0 0 0 / 0.1);
border-color: hsl(var(--primary) / 0.3);
transform: translateY(-0.125rem);
}
/* Highlight Card Image */
.highlight-card-image {
position: relative;
height: 16rem;
overflow: hidden;
background: linear-gradient(to bottom right,
rgb(244 244 245 / 1),
rgb(250 250 250 / 1));
}
.dark .highlight-card-image {
background: linear-gradient(to bottom right,
rgb(39 39 42 / 1),
rgb(24 24 27 / 1));
}
@media (min-width: 768px) {
.highlight-card-image {
height: 100%;
}
}
/* Highlight Badge */
.highlight-badge {
display: inline-block;
font-size: 0.625rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.1em;
padding: 0.375rem 0.75rem;
box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1);
backdrop-filter: blur(12px);
border-radius: 0.25rem;
color: white;
}
/* Highlight Card Content */
.highlight-card-content {
display: flex;
flex-direction: column;
justify-content: space-between;
padding: 1.5rem 2rem;
}
/* Highlight Meta */
.highlight-meta {
display: flex;
align-items: center;
justify-content: space-between;
gap: 0.5rem;
margin-bottom: 1rem;
font-size: 0.75rem;
line-height: 1rem;
color: rgb(113 113 122 / 1);
}
.dark .highlight-meta {
color: rgb(161 161 170 / 1);
}
/* Highlight Title */
.highlight-title {
font-size: 1.5rem;
line-height: 2rem;
font-weight: 700;
color: rgb(24 24 27 / 1);
margin-bottom: 1rem;
line-height: 1.25;
transition: color 0.2s;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
}
@media (min-width: 768px) {
.highlight-title {
font-size: 1.875rem;
line-height: 2.25rem;
}
}
.dark .highlight-title {
color: rgb(250 250 250 / 1);
}
.highlight-card-link:hover .highlight-title {
color: hsl(var(--primary));
}
/* Highlight Text */
.highlight-text {
font-size: 1rem;
line-height: 1.625;
color: rgb(82 82 91 / 1);
margin-bottom: 1.5rem;
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
overflow: hidden;
}
.dark .highlight-text {
color: rgb(161 161 170 / 1);
}
/* Highlight Footer */
.highlight-footer {
display: flex;
align-items: center;
justify-content: space-between;
padding-top: 1.25rem;
border-top: 1px solid;
border-color: hsl(var(--primary) / 0.1);
}
/* ============================================
SECTION CONTAINERS - Gemeinsame Styles
============================================ */
.section-light-bg {
background: linear-gradient(135deg,
rgb(250 250 250 / 0.5) 0%,
rgb(244 244 245 / 0.5) 100%);
}
.dark .section-light-bg {
background: linear-gradient(135deg,
rgb(24 24 27 / 0.5) 0%,
rgb(39 39 42 / 0.5) 100%);
}
.section-gradient-bg {
background: linear-gradient(to bottom right,
hsl(var(--primary) / 0.05),
hsl(var(--secondary) / 0.05));
border-top: 1px solid;
border-bottom: 1px solid;
border-color: hsl(var(--primary) / 0.1);
}
.dark .section-gradient-bg {
background: linear-gradient(to bottom right,
hsl(var(--primary) / 0.1),
hsl(var(--secondary) / 0.1));
}
/* ============================================
HERO BANNER - Gemeinsame Styles
============================================ */
.hero-gradient {
background: linear-gradient(135deg,
hsl(var(--primary)) 0%,
hsl(var(--secondary)) 100%);
box-shadow: inset 0 -6px 16px rgba(0, 0, 0, 0.16);
position: relative;
}
.dark .hero-gradient {
box-shadow: inset 0 -6px 16px rgba(0, 0, 0, 0.2);
}
.hero-title {
text-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}
.hero-subtitle {
text-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
}
/* ============================================
INDUSTRY ICONS - Gemeinsame Styles
============================================ */
.industry-icon-badge img {
opacity: 0.6;
}
.dark .industry-icon-badge img {
opacity: 0.6;
filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(100%) contrast(100%);
}
/* ============================================
PAGE HEADER - Unterseiten
============================================ */
.page-header {
padding: 3rem 0;
background: linear-gradient(135deg,
rgb(250 250 250 / 0.5) 0%,
rgb(244 244 245 / 0.5) 100%);
border-bottom: 1px solid rgb(228 228 231 / 1);
}
.dark .page-header {
background: linear-gradient(135deg,
rgb(24 24 27 / 0.5) 0%,
rgb(39 39 42 / 0.5) 100%);
border-bottom: 1px solid rgb(63 63 70 / 1);
}
.page-header-compact {
padding: 2rem 0;
}
.page-header-title {
font-size: 2.25rem;
line-height: 2.5rem;
font-weight: 700;
color: rgb(24 24 27 / 1);
margin-bottom: 1rem;
}
@media (min-width: 768px) {
.page-header-title {
font-size: 3rem;
line-height: 1.2;
}
}
.dark .page-header-title {
color: rgb(250 250 250 / 1);
}
.page-header-subtitle {
font-size: 1.125rem;
line-height: 1.75rem;
color: rgb(82 82 91 / 1);
}
.dark .page-header-subtitle {
color: rgb(161 161 170 / 1);
}
/* ============================================
SIDEBAR WIDGETS
============================================ */
.sidebar-widget {
background: rgb(255 255 255 / 1);
border: 1px solid rgb(228 228 231 / 1);
border-radius: 0.75rem;
padding: 1.5rem;
margin-bottom: 1.5rem;
transition: all 0.2s;
}
.dark .sidebar-widget {
background: rgb(39 39 42 / 1);
border-color: rgb(63 63 70 / 1);
}
.sidebar-widget:hover {
box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1),
0 2px 4px -2px rgb(0 0 0 / 0.1);
}
.sidebar-widget-header {
display: flex;
align-items: center;
gap: 0.75rem;
margin-bottom: 1rem;
padding-bottom: 1rem;
border-bottom: 1px solid rgb(228 228 231 / 1);
}
.dark .sidebar-widget-header {
border-bottom-color: rgb(63 63 70 / 1);
}
.sidebar-widget-title {
font-size: 1.125rem;
font-weight: 600;
color: rgb(24 24 27 / 1);
}
.dark .sidebar-widget-title {
color: rgb(250 250 250 / 1);
}
.sidebar-widget-content {
color: rgb(82 82 91 / 1);
}
.dark .sidebar-widget-content {
color: rgb(161 161 170 / 1);
}
/* ============================================
NAVIGATION - Aktive States
============================================ */
.main-nav-link.active {
color: hsl(var(--primary));
}
.main-nav-link.active::after {
width: 100%;
}
/* ============================================
STICKY HEADER (Portal-Frontend)
Das Inline-Script in web-master.blade.php schaltet auf
.header-sticky um, sobald die Topbar weggescrollt ist, und
schiebt einen Platzhalter in den Fluss, damit der Inhalt nicht
springt. Ohne diese Regeln blieb der Header wirkungslos.
============================================ */
.header-sticky {
position: fixed;
top: 0;
left: 0;
right: 0;
z-index: 50;
box-shadow:
0 1px 3px rgba(0, 0, 0, 0.08),
0 6px 20px rgba(0, 0, 0, 0.05);
}
/* ============================================
PAGINATION - Gradient für aktive Seite
============================================ */
.pagination-btn {
padding: 0.5rem 1rem;
font-size: 0.875rem;
font-weight: 500;
border-radius: 0.5rem;
transition: all 0.2s ease;
background: rgba(255, 255, 255, 0.7);
color: var(--zinc-900);
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
box-shadow: var(--shadow-sm);
cursor: pointer;
}
.dark .pagination-btn {
background: rgba(255, 255, 255, 0.2);
color: var(--zinc-100);
}
.pagination-btn:hover:not(.pagination-active):not(:disabled) {
background: var(--zinc-100);
transform: translateY(-2px);
box-shadow: var(--shadow-lg);
}
.dark .pagination-btn:hover:not(.pagination-active):not(:disabled) {
background: rgba(255, 255, 255, 0.1);
}
.pagination-active, .dark .pagination-active {
background: linear-gradient(90deg,
hsl(var(--primary)) 0%,
hsl(var(--secondary)) 100%);
box-shadow: var(--shadow-md);
color: white;
}
.pagination-active:hover {
background: linear-gradient(90deg,
hsl(var(--primary) / 0.9) 0%,
hsl(var(--secondary) / 0.9) 100%);
box-shadow: var(--shadow-lg);
transform: translateY(-2px);
}
.pagination-nav {
background: transparent;
box-shadow: none;
color: #6b7280;
}
.dark .pagination-nav {
color: #9ca3af;
}
.pagination-nav:hover:not(:disabled) {
color: #111827;
background: transparent;
box-shadow: none;
transform: none;
}
.dark .pagination-nav:hover:not(:disabled) {
color: #f3f4f6;
}
}