/*
 * ACA Vitrine 0.38.26 — couche visuelle ciblée du calculateur.
 * Aucun prix, calcul, produit, destination ou état fonctionnel n'est modifié.
 */
.budget-workspace {
  --aca-budget-blue: #174e73;
  --aca-budget-teal: #075d58;
  --aca-budget-purple: #40367d;
  --aca-budget-red: #8d2d3d;
  --aca-budget-gold: #ffb612;
  padding: clamp(18px, 3.5vw, 42px);
  background:
    radial-gradient(circle at 96% 4%, rgba(103, 92, 176, .25), transparent 30rem),
    radial-gradient(circle at 2% 38%, rgba(14, 141, 134, .18), transparent 28rem),
    linear-gradient(145deg, #edf5ff, #f6efff 58%, #fff6da);
}

.budget-workspace-header {
  padding: clamp(22px, 4vw, 44px);
  color: #fff;
  background:
    radial-gradient(circle at 94% 0%, rgba(40, 111, 163, .72), transparent 38%),
    linear-gradient(135deg, #1b2a47, #2c3767);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 24px;
  box-shadow: 0 18px 44px rgba(27,42,71,.2);
}

.budget-workspace-header h1,
.budget-workspace-header h2,
.budget-workspace-header p,
.budget-workspace-proof,
.budget-workspace-proof strong,
.budget-workspace-proof span { color: #fff; }

.budget-workspace-proof > * {
  background: rgba(255,255,255,.12);
  border-color: rgba(255,255,255,.2);
}

.budget-mode-tabs {
  gap: 10px;
  padding: 10px;
  background: #1b2a47;
  border: 0;
  border-radius: 18px;
  box-shadow: 0 14px 30px rgba(27,42,71,.18);
}

.budget-mode-tabs button {
  min-height: 78px;
  color: #fff;
  background: var(--aca-budget-blue);
  border: 2px solid rgba(255,255,255,.18);
  border-radius: 13px;
}

.budget-mode-tabs button:nth-child(2) { background: var(--aca-budget-purple); }
.budget-mode-tabs button * { color: inherit; }
.budget-mode-tabs button:hover { border-color: #fff; transform: translateY(-2px); }
.budget-mode-tabs button.is-active {
  color: #1b2a47;
  background: var(--aca-budget-gold);
  border-color: #fff;
  box-shadow: 0 0 0 3px #1b2a47, 0 12px 24px rgba(27,42,71,.24);
}

.budget-mode-panel {
  padding: clamp(16px, 3vw, 30px);
  background: rgba(255,255,255,.7);
  border: 1px solid rgba(27,42,71,.14);
  border-radius: 24px;
  box-shadow: 0 18px 42px rgba(27,42,71,.12);
}

.budget-mode-intro {
  padding: clamp(19px, 3vw, 30px);
  color: #fff;
  background:
    radial-gradient(circle at 100% 0%, rgba(213,83,103,.56), transparent 42%),
    linear-gradient(135deg, var(--aca-budget-purple), #2d285e);
  border: 0;
  border-radius: 18px;
}

.budget-mode-intro h2,
.budget-mode-intro h3,
.budget-mode-intro p,
.budget-mode-intro span { color: #fff; }

.budget-products {
  gap: 12px;
  padding: 4px;
}

.budget-products button {
  --aca-budget-product: var(--aca-budget-blue);
  position: relative;
  overflow: hidden;
  min-height: 132px;
  color: #fff !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(255,255,255,.18), transparent 42%),
    var(--aca-budget-product) !important;
  border: 2px solid rgba(255,255,255,.55) !important;
  border-radius: 16px;
  box-shadow: 0 12px 26px rgba(27,42,71,.2);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}

.budget-products button:nth-child(4n+2) { --aca-budget-product: var(--aca-budget-teal); }
.budget-products button:nth-child(4n+3) { --aca-budget-product: var(--aca-budget-purple); }
.budget-products button:nth-child(4n) { --aca-budget-product: var(--aca-budget-red); }
.budget-products button:nth-child(5n) { --aca-budget-product: #7b4708; }
.budget-products button * { color: inherit !important; }
.budget-products button .budget-product-modes span,
.budget-products button .budget-product-price {
  background: rgba(255,255,255,.14);
  border-color: rgba(255,255,255,.22);
}

.budget-products button:hover:not(.is-selected) {
  border-color: #fff !important;
  box-shadow: 0 18px 34px rgba(27,42,71,.3);
  transform: translateY(-3px);
}

.budget-products button.is-selected {
  color: #1b2a47 !important;
  background: linear-gradient(135deg, var(--aca-budget-gold), #ffd465) !important;
  border: 3px solid #1b2a47 !important;
  box-shadow: 0 0 0 4px rgba(255,182,18,.34), 0 18px 36px rgba(27,42,71,.28);
  transform: translateY(-3px) scale(1.015);
}

.budget-products button.is-selected .budget-product-modes span,
.budget-products button.is-selected .budget-product-price {
  background: rgba(255,255,255,.42);
  border-color: rgba(27,42,71,.22);
}

.budget-product-check {
  color: #fff !important;
  background: rgba(255,255,255,.18) !important;
  border-color: rgba(255,255,255,.65) !important;
}

.budget-products button.is-selected .budget-product-check {
  color: #fff !important;
  background: #1b2a47 !important;
  border-color: #1b2a47 !important;
}

.budget-summary {
  color: #fff;
  background:
    radial-gradient(circle at 100% 0%, rgba(14,141,134,.55), transparent 44%),
    linear-gradient(145deg, #1b2a47, #40367d);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 20px;
  box-shadow: 0 18px 38px rgba(27,42,71,.22);
}

.budget-summary h2,
.budget-summary h3,
.budget-summary p,
.budget-summary li,
.budget-summary strong,
.budget-summary span { color: #fff; }
.budget-summary-count { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.2); }
.budget-summary button {
  color: #1b2a47;
  background: var(--aca-budget-gold);
  border-color: #fff;
  box-shadow: 4px 4px 0 rgba(255,255,255,.92);
}
.budget-runtime-status {
  color: #fff;
  background: var(--aca-budget-teal);
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 12px;
}

@media (max-width: 720px) {
  .budget-workspace { padding: 12px; }
  .budget-workspace-header,
  .budget-mode-panel { border-radius: 18px; }
  .budget-products button { min-height: 118px; }
  .budget-products button.is-selected { transform: translateY(-2px); }
}

@media (prefers-reduced-motion: reduce) {
  .budget-mode-tabs button,
  .budget-products button { transition: none; }
  .budget-mode-tabs button:hover,
  .budget-products button:hover,
  .budget-products button.is-selected { transform: none; }
}
