:root {
  --wwfk-accent: #2a7be4;
  --wwfk-text-primary: #111827;
  --wwfk-text-muted: #6b7280;
  --wwfk-text-light: #9ca3af;
  --wwfk-card-bg: #ffffff;
  --wwfk-border: #e5e7eb;
  --wwfk-radius: 14px;
  --wwfk-shadow-soft: 0 10px 30px rgba(17, 24, 39, 0.06);
  --wwfk-shadow-active: 0 0 0 3px rgba(42, 123, 228, 0.12);
  --wwfk-font-title: 16px;
  --wwfk-font-body: 14px;
  --wwfk-font-meta: 13px;
  --wwfk-line-body: 1.4;
}

.wwfk-ui-card {
  background: var(--wwfk-card-bg);
  border: 1px solid var(--wwfk-border);
  border-radius: var(--wwfk-radius);
  padding: 16px 18px;
  box-shadow: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.wwfk-ui-card.is-active {
  border: 2px solid var(--wwfk-accent);
  box-shadow: var(--wwfk-shadow-active);
}

.wwfk-ui-title,
.wwfk-pack-title,
.ww-laminate-title,
.wwfk-prodtime-card .wwfk-title,
.wwfk-ui-card .wwfk-title {
  font-size: var(--wwfk-font-title);
  font-weight: 600;
  color: var(--wwfk-text-primary);
  margin: 0 0 4px;
}

.wwfk-ui-desc,
.wwfk-ui-card .wwfk-desc,
.wwfk-pack-desc,
.ww-laminate-desc,
.wwfk-prodtime-card p {
  font-size: var(--wwfk-font-body);
  line-height: var(--wwfk-line-body);
  color: var(--wwfk-text-muted);
  margin: 0;
}

.wwfk-ui-meta,
.wwfk-pack-unit,
.wwfk-pack-price,
.ww-laminate-price,
.wwfk-size-label,
.wwfk-ui-card .wwfk-meta {
  font-size: var(--wwfk-font-meta);
  color: var(--wwfk-text-light);
  margin: 0;
}

.wwfk-ui-card:focus,
.wwfk-ui-card:focus-visible {
  outline: none;
}

.wwfk-ui-card:focus-visible:not(.is-active) {
  box-shadow: 0 0 0 2px rgba(42, 123, 228, 0.35);
}

.wwfk-ui-card:hover {
  border-color: var(--wwfk-accent);
  box-shadow: var(--wwfk-shadow-soft);
}

.wwfk-size-btn {
  border: none !important;
  box-shadow: none !important;
  background: transparent;
}

.wwfk-size-tile {
  border: 2px solid var(--wwfk-border);
  border-radius: 6px;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.wwfk-size-btn.active .wwfk-size-tile {
  border-color: var(--wwfk-accent);
  box-shadow: var(--wwfk-shadow-active);
}
