/* ═══════════════════════════════════════════════════════════
   Phoenix Planning – Styles scopés sous #phoenix-planning
   ═══════════════════════════════════════════════════════════ */

/* ── Scoped Reset ── */
#phoenix-planning,
#phoenix-planning *,
#phoenix-planning *::before,
#phoenix-planning *::after {
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  border: none !important;
  outline: none !important;
  float: none !important;
  text-transform: none !important;
  text-decoration: none !important;
  list-style: none !important;
  background: none !important;
  box-shadow: none !important;
}

/* ── Variables & Base ── */
#phoenix-planning {
  --ph-fire-dark: #1a0a00;
  --ph-fire-900: #2d1106;
  --ph-fire-700: #7a2e10;
  --ph-fire-600: #b34215;
  --ph-fire-500: #e85d1a;
  --ph-fire-400: #f47d3a;
  --ph-fire-accent: #ffd166;
  --ph-fire-light: #fff5eb;
  --ph-txt: #1a1a2e;
  --ph-txt2: #4a4a68;
  --ph-white: #ffffff;
  --ph-radius: 12px;

  font-family: 'Source Sans 3', 'Segoe UI', sans-serif !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
  color: var(--ph-txt) !important;
  max-width: 900px !important;
  margin: 0 auto !important;
  padding: 20px 16px 40px !important;
  background: transparent !important;
}

/* ── Header ── */
#phoenix-planning .ph-header {
  background: linear-gradient(135deg, var(--ph-fire-900) 0%, var(--ph-fire-700) 40%, var(--ph-fire-500) 100%) !important;
  border-radius: var(--ph-radius) !important;
  padding: 40px 36px 32px !important;
  position: relative !important;
  overflow: hidden !important;
  margin-bottom: 28px !important;
}
#phoenix-planning .ph-header::before {
  content: '' !important;
  position: absolute !important;
  top: -60px !important;
  right: -40px !important;
  width: 260px !important;
  height: 260px !important;
  background: radial-gradient(circle, rgba(255,209,102,0.25) 0%, transparent 70%) !important;
  border-radius: 50% !important;
  pointer-events: none !important;
}
#phoenix-planning .ph-header::after {
  content: '🔥' !important;
  position: absolute !important;
  top: 18px !important;
  right: 28px !important;
  font-size: 48px !important;
  opacity: 0.3 !important;
  filter: drop-shadow(0 0 12px rgba(255,150,50,0.5)) !important;
  animation: phFlicker 3s ease-in-out infinite alternate !important;
  background: none !important;
}
@keyframes phFlicker {
  0%, 100% { opacity: 0.25; transform: scale(1); }
  50% { opacity: 0.4; transform: scale(1.05); }
}
#phoenix-planning .ph-header h2 {
  font-family: 'Oswald', sans-serif !important;
  font-weight: 700 !important;
  font-size: 2rem !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  color: var(--ph-white) !important;
  line-height: 1.15 !important;
  position: relative !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
}
#phoenix-planning .ph-header h2 span {
  display: block !important;
  font-size: 0.55em !important;
  font-weight: 400 !important;
  letter-spacing: 0.12em !important;
  color: var(--ph-fire-accent) !important;
  margin-bottom: 4px !important;
  text-transform: uppercase !important;
}
#phoenix-planning .ph-location {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin-top: 14px !important;
  padding: 6px 14px !important;
  background: rgba(255,255,255,0.12) !important;
  backdrop-filter: blur(6px) !important;
  border-radius: 20px !important;
  color: var(--ph-fire-light) !important;
  font-size: 0.9rem !important;
  font-weight: 400 !important;
}
#phoenix-planning .ph-location svg {
  flex-shrink: 0 !important;
  width: 14px !important;
  height: 14px !important;
}

/* ── Day Cards ── */
#phoenix-planning .ph-days {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
}
#phoenix-planning .ph-day-card {
  background: var(--ph-white) !important;
  border-radius: var(--ph-radius) !important;
  border: 1px solid #e8e8f0 !important;
  overflow: hidden !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04) !important;
  transition: box-shadow 0.3s ease, transform 0.3s ease !important;
}
#phoenix-planning .ph-day-card:hover {
  box-shadow: 0 6px 20px rgba(0,0,0,0.08) !important;
  transform: translateY(-1px) !important;
}
#phoenix-planning .ph-day-name {
  font-family: 'Oswald', sans-serif !important;
  font-weight: 600 !important;
  font-size: 1.05rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  padding: 12px 20px !important;
  background: var(--ph-fire-dark) !important;
  color: var(--ph-fire-accent) !important;
  position: relative !important;
}
#phoenix-planning .ph-day-name::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 20px !important;
  right: 20px !important;
  height: 2px !important;
  background: linear-gradient(90deg, var(--ph-fire-500), var(--ph-fire-accent), transparent) !important;
}
#phoenix-planning .ph-sessions {
  padding: 8px 0 !important;
}
#phoenix-planning .ph-session {
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  align-items: center !important;
  padding: 12px 20px !important;
  gap: 12px !important;
  border-bottom: 1px solid #f0f0f5 !important;
  transition: background 0.2s ease !important;
}
#phoenix-planning .ph-session:last-child {
  border-bottom: none !important;
}
#phoenix-planning .ph-session:hover {
  background: var(--ph-fire-light) !important;
}
#phoenix-planning .ph-session-name {
  font-weight: 600 !important;
  font-size: 0.95rem !important;
  color: var(--ph-txt) !important;
  font-family: 'Source Sans 3', 'Segoe UI', sans-serif !important;
  line-height: 1.4 !important;
}
#phoenix-planning .ph-session-time {
  font-family: 'Oswald', sans-serif !important;
  font-weight: 500 !important;
  font-size: 0.92rem !important;
  color: var(--ph-fire-600) !important;
  background: rgba(232,93,26,0.08) !important;
  padding: 4px 12px !important;
  border-radius: 6px !important;
  white-space: nowrap !important;
  letter-spacing: 0.03em !important;
  line-height: 1.4 !important;
}

/* ── Tags ── */
#phoenix-planning .ph-tag {
  display: inline-block !important;
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  padding: 2px 8px !important;
  border-radius: 4px !important;
  margin-left: 8px !important;
  vertical-align: middle !important;
  line-height: 1.4 !important;
}
#phoenix-planning .ph-tag--open {
  background: rgba(46,160,67,0.12) !important;
  color: #1a7f37 !important;
}
#phoenix-planning .ph-tag--free {
  background: rgba(59,130,246,0.1) !important;
  color: #2563eb !important;
}

/* ── Info Cards ── */
#phoenix-planning .ph-info-section {
  margin-top: 24px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
}
#phoenix-planning .ph-info-card {
  border-radius: var(--ph-radius) !important;
  padding: 20px 22px !important;
  font-size: 0.92rem !important;
  line-height: 1.6 !important;
  position: relative !important;
  overflow: hidden !important;
  font-family: 'Source Sans 3', 'Segoe UI', sans-serif !important;
  color: var(--ph-txt) !important;
}
#phoenix-planning .ph-info-card strong {
  font-weight: 600 !important;
}
#phoenix-planning .ph-info-card a {
  color: var(--ph-fire-600) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  border-bottom: 1px dashed var(--ph-fire-400) !important;
  transition: border-color 0.2s !important;
}
#phoenix-planning .ph-info-card a:hover {
  border-bottom-style: solid !important;
  text-decoration: none !important;
}
#phoenix-planning .ph-info--open {
  background: linear-gradient(135deg, #e6f9ed 0%, #f0fdf4 100%) !important;
  border-left: 4px solid #2ea043 !important;
  color: #14532d !important;
}
#phoenix-planning .ph-info--free {
  background: linear-gradient(135deg, #eff6ff 0%, #f0f7ff 100%) !important;
  border-left: 4px solid #3b82f6 !important;
  color: #1e3a5f !important;
}
#phoenix-planning .ph-info-title {
  font-family: 'Oswald', sans-serif !important;
  font-weight: 600 !important;
  font-size: 0.85rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  margin-bottom: 6px !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}
#phoenix-planning .ph-info-card svg {
  width: 16px !important;
  height: 16px !important;
  flex-shrink: 0 !important;
}

/* ── Disclaimer ── */
#phoenix-planning .ph-disclaimer {
  margin-top: 22px !important;
  padding: 16px 20px !important;
  background: #f8f8fb !important;
  border-radius: var(--ph-radius) !important;
  border: 1px solid #e4e4ec !important;
  font-size: 0.75rem !important;
  line-height: 1.65 !important;
  color: var(--ph-txt2) !important;
  font-family: 'Source Sans 3', 'Segoe UI', sans-serif !important;
}
#phoenix-planning .ph-disclaimer strong {
  font-weight: 600 !important;
  color: var(--ph-txt) !important;
}
#phoenix-planning .ph-disclaimer p {
  margin-bottom: 6px !important;
  font-size: 0.75rem !important;
  line-height: 1.65 !important;
  color: var(--ph-txt2) !important;
}
#phoenix-planning .ph-disclaimer p:last-child {
  margin-bottom: 0 !important;
}

/* ── Responsive ── */
@media (max-width: 600px) {
  #phoenix-planning {
    padding: 12px 10px 32px !important;
  }
  #phoenix-planning .ph-header {
    padding: 28px 22px 24px !important;
  }
  #phoenix-planning .ph-header h2 {
    font-size: 1.5rem !important;
  }
  #phoenix-planning .ph-header h2 span {
    font-size: 0.6em !important;
  }
  #phoenix-planning .ph-header::after {
    font-size: 32px !important;
    top: 12px !important;
    right: 16px !important;
  }
  #phoenix-planning .ph-session {
    grid-template-columns: 1fr !important;
    gap: 6px !important;
    padding: 10px 16px !important;
  }
  #phoenix-planning .ph-session-time {
    justify-self: start !important;
  }
  #phoenix-planning .ph-info-card {
    padding: 16px !important;
  }
}
