/* Skin Sobery autonome — variables --sim-* avec fallbacks si le thème est absent */

#Simulateur {
	--sim-color-primary: var(--color-primary, #d98563);
	--sim-color-primary-hover: var(--color-primary-hover, #c07050);
	--sim-color-bg-alt: var(--color-bg-alt, #f6f4f0);
	--sim-color-bg-card: var(--color-bg-main, #fdfffe);
	--sim-color-secondary: var(--color-secondary, #91bdad);
	--sim-color-vert-secondary: var(--color-vert-secondary, #e9f4f0);
	--sim-color-foreground: var(--color-foreground, #1a1a1a);
	--sim-color-muted: var(--color-neutral-grey, #666);
	--sim-color-border: rgba(133, 130, 125, 0.25);
	--sim-color-success: #4caf50;
	--sim-color-error: #f44336;
	--sim-font-display: var(--font-display, "Larken", Georgia, serif);
	--sim-font-body: var(--font-body, "Maven Pro", system-ui, sans-serif);
	--sim-radius: 1rem;
	--sim-radius-pill: 9999px;
	--sim-focus-ring: 0 0 0 3px var(--sim-focus-ring-color, rgba(217, 133, 99, 0.15));
	--sim-focus-ring-color: rgba(217, 133, 99, 0.15);

	font-family: var(--sim-font-body);
	color: var(--sim-color-foreground);
}

/* Skin carte uniquement hors thème sobery (pas de wrapper intermédiaire) */
#Simulateur:not(.sobery-simulateur--themed) {
	background-color: var(--sim-color-bg-card);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
	padding: 1.25rem;
}

#Simulateur:not(.sobery-simulateur--themed):hover {
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
}

#Simulateur .simulateur-heading {
	font-family: var(--sim-font-display);
	font-size: 1.75rem;
	font-weight: 700;
	color: var(--sim-color-foreground);
}

#Simulateur .simulateur-subheading {
	font-family: var(--sim-font-display);
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--sim-color-foreground);
}

#Simulateur .simulateur-subheading span {
	color: var(--sim-color-primary);
}

#Simulateur input,
#Simulateur select {
	border: 2px solid var(--sim-color-border);
	background-color: var(--sim-color-bg-card);
	color: var(--sim-color-foreground);
}

#Simulateur input::placeholder {
	color: var(--sim-color-muted);
	opacity: 0.7;
}

#Simulateur input:focus,
#Simulateur select:focus {
	border-color: var(--sim-color-primary);
	box-shadow: var(--sim-focus-ring);
}

#Simulateur input.is-valid {
	border-color: var(--sim-color-success);
}

#Simulateur input.is-invalid {
	border-color: var(--sim-color-error);
}

#Simulateur .simulateur-button {
	background-color: var(--sim-color-foreground);
	color: var(--color-neutral-white, #fff);
}

#Simulateur .simulateur-button:hover:not(:disabled) {
	background-color: var(--sim-color-primary);
	transform: translateY(-2px);
	box-shadow: 0 4px 8px rgba(217, 133, 99, 0.3);
}

#Simulateur .simulateur-button:active:not(:disabled) {
	transform: translateY(0);
}

#Simulateur .simulateur-button:disabled {
	background-color: var(--color-neutral-light, #ccc);
}

#Simulateur th,
#Simulateur td {
	border-bottom: 1px solid var(--sim-color-border);
}

#Simulateur tbody tr:hover {
	background-color: rgba(0, 0, 0, 0.03);
}

#Simulateur th {
	background-color: rgba(0, 0, 0, 0.04);
	color: var(--sim-color-foreground);
}

#Simulateur td {
	color: var(--sim-color-muted);
}

#Simulateur .simulateur-totals {
	background-color: rgba(0, 0, 0, 0.03);
}

#Simulateur .total-card {
	background: linear-gradient(135deg, var(--sim-color-bg-card) 0%, var(--sim-color-bg-alt) 100%);
	border: 2px solid var(--sim-color-border);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

#Simulateur .total-card:hover {
	border-color: var(--sim-color-primary);
}

#Simulateur .total-card.savings {
	background: linear-gradient(135deg, var(--sim-color-vert-secondary) 0%, var(--sim-color-secondary-light, #dcfce7) 100%);
	border-color: var(--sim-color-secondary);
}

#Simulateur .simulateur-totals p {
	color: var(--sim-color-muted);
}

#Simulateur .simulateur-totals a {
	color: var(--sim-color-primary);
	text-decoration: none;
	font-weight: 500;
}

#Simulateur .simulateur-totals a:hover {
	color: var(--sim-color-primary-hover);
	text-decoration: underline;
}

/* Fallback : style btn-secondary compact hors thème */
#Simulateur .simulateur-delete-btn:not(.btn-secondary) {
	background-color: transparent;
	color: var(--sim-color-error);
	border: 1px solid var(--sim-color-error);
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

#Simulateur .simulateur-delete-btn:not(.btn-secondary):hover {
	background-color: var(--sim-color-error);
	color: var(--color-neutral-white, #fff);
	border-color: var(--sim-color-error);
}

#Simulateur .validation-message.error {
	background-color: rgba(244, 67, 54, 0.08);
	color: var(--sim-color-error);
	border: 1px solid rgba(244, 67, 54, 0.25);
}

#Simulateur .validation-message.success {
	background-color: rgba(76, 175, 80, 0.1);
	color: var(--sim-color-success);
	border: 1px solid rgba(76, 175, 80, 0.25);
}

#Simulateur .empty-state {
	color: var(--sim-color-muted);
}

#Simulateur .co2-ademe-card {
	background: var(--sim-color-bg-card);
	border: 1px solid var(--sim-color-border);
}

#Simulateur .co2-ademe-card__icon {
	background: var(--sim-color-vert-secondary);
	color: var(--sim-color-secondary);
}

#Simulateur .co2-ademe-card__value {
	color: var(--sim-color-primary);
	font-family: var(--sim-font-display);
}

#Simulateur .co2-ademe-card__label {
	color: var(--sim-color-muted);
}

#Simulateur .co2-ademe-comparisons__title {
	color: var(--sim-color-foreground);
	font-family: var(--sim-font-display);
}

#Simulateur .co2-ademe-comparisons__source {
	color: var(--sim-color-muted);
}

#Simulateur .simulateur-subheading span.updated {
	color: var(--sim-color-primary);
}

#Simulateur .simulateur-combobox-list {
	background: var(--sim-color-bg-card);
	border: 1px solid var(--sim-color-border);
}

#Simulateur .simulateur-product-card {
	background: var(--sim-color-bg-card);
	border: 1px solid var(--sim-color-border);
}
