/* ==========================================================================
   PROXIPRO - MODERN DESIGN SYSTEM & ACCESSIBILITY STYLESHEET
   Tailored for French Local Services & Freelance Marketplace
   Colors: Deep Emerald (#064E3B / #0F3D3E) & Warm Amber (#F59E0B)
   ========================================================================== */

:root {
  --color-primary: #064e3b;
  --color-primary-dark: #0f3d3e;
  --color-primary-light: #047857;
  --color-accent: #f59e0b;
  --color-accent-dark: #d97706;
  --color-bg-soft: #f9fafb;
  --color-surface: #ffffff;
  --color-text-main: #0f172a;
  --color-text-muted: #475569;
}

body {
  font-family: 'Plus Jakarta Sans', 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  color: var(--color-text-main);
  background-color: var(--color-bg-soft);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

/* --------------------------------------------------------------------------
   SENIOR ACCESSIBILITY / HIGH-LEGIBILITY MODES
   -------------------------------------------------------------------------- */
body.senior-normal {
  font-size: 1rem;
}

body.senior-large {
  font-size: 1.15rem;
}
body.senior-large h1 { font-size: 2.5rem !important; }
body.senior-large h2 { font-size: 2rem !important; }
body.senior-large h3 { font-size: 1.5rem !important; }
body.senior-large p, body.senior-large input, body.senior-large select, body.senior-large textarea, body.senior-large button {
  font-size: 1.15rem !important;
  line-height: 1.7 !important;
}
body.senior-large button, body.senior-large .btn-target {
  min-height: 52px;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

body.senior-xlarge {
  font-size: 1.3rem;
}
body.senior-xlarge h1 { font-size: 3rem !important; }
body.senior-xlarge h2 { font-size: 2.3rem !important; }
body.senior-xlarge h3 { font-size: 1.75rem !important; }
body.senior-xlarge p, body.senior-xlarge input, body.senior-xlarge select, body.senior-xlarge textarea, body.senior-xlarge button {
  font-size: 1.3rem !important;
  line-height: 1.8 !important;
  font-weight: 500;
}
body.senior-xlarge button, body.senior-xlarge .btn-target {
  min-height: 60px;
  padding-left: 2rem;
  padding-right: 2rem;
}

/* --------------------------------------------------------------------------
   MICRO-INTERACTIONS & CARDS
   -------------------------------------------------------------------------- */
.hover-lift {
  transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}
.hover-lift:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 24px -10px rgba(15, 61, 62, 0.15);
}

/* Badge styling */
.badge-siret {
  background-color: #ecfdf5;
  color: #065f46;
  border: 1px solid #a7f3d0;
}

.badge-indep {
  background-color: #f1f5f9;
  color: #334155;
  border: 1px solid #cbd5e1;
}

.badge-urgent {
  background-color: #fef2f2;
  color: #991b1b;
  border: 1px solid #fecaca;
  animation: pulse-subtle 2s infinite;
}

@keyframes pulse-subtle {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.85; }
}

/* FullCalendar Custom Theme */
.fc-theme-standard th {
  background-color: #f1f5f9;
  padding: 8px !important;
  color: #0f172a;
}
.fc-button-primary {
  background-color: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
}
.fc-event {
  border-radius: 4px;
  padding: 2px 4px;
  font-size: 0.85rem;
}
.fc-event-blocked {
  background-color: #ef4444 !important;
  border-color: #dc2626 !important;
}
.fc-event-booked {
  background-color: #f59e0b !important;
  border-color: #d97706 !important;
}

/* Before / After Slider Gallery */
.before-after-container {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
}
