/* /public_html/assets/css/planning/planning-public.desktop.css
   Planning hebdomadaire — PC >= 1024px
*/

@media (min-width: 1024px) {
  body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) {
    --planning-public-navbar-height: var(--edq-navbar-height-current, 4.45rem);
    --planning-public-hero-height: clamp(10.35rem, 18vh, 11.85rem);
    --planning-public-dock-height: 3.35rem;
    --planning-public-content-left: var(--dashboard-shell-content-left, calc(.2rem + 4.35rem + 1rem));
    --planning-public-content-right: var(--dashboard-shell-content-right, 1rem);
    --planning-public-inner-left: calc(var(--planning-public-content-left) + clamp(.85rem, 1.45vw, 1.45rem));
    --planning-public-inner-right: max(clamp(.85rem, 1.45vw, 1.45rem), var(--planning-public-content-right));
    overflow: hidden !important;
  }

  body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) .app-header {
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) #app-root,
  body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) #dashboard-app-shell,
  body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) .dashboard-app-main,
  body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) #dashboard-view {
    width: 100vw !important;
    max-width: none !important;
    height: 100vh !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  @supports (height: 100dvh) {
    body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) #app-root,
    body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) #dashboard-app-shell,
    body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) .dashboard-app-main,
    body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) #dashboard-view {
      height: 100dvh !important;
    }
  }

  body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) #dashboard-view > .panel-body,
  body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) .planning-public-panel-body {
    position: fixed !important;
    z-index: 12 !important;
    inset: 0 !important;
    display: grid !important;
    grid-template-rows: auto auto minmax(0, 1fr) !important;
    width: 100vw !important;
    max-width: none !important;
    height: 100vh !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: var(--color-background, var(--color-bg, #020617)) !important;
  }

  @supports (height: 100dvh) {
    body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) #dashboard-view > .panel-body,
    body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) .planning-public-panel-body {
      height: 100dvh !important;
    }
  }

  /* Hero EDQ full-width, posé dès le bord supérieur sous la navbar transparente. */
  body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) .planning-public-hero {
    position: relative !important;
    z-index: 1 !important;
    grid-row: 1 !important;
    display: block !important;
    width: 100vw !important;
    max-width: 100vw !important;
    min-height: var(--planning-public-hero-height) !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    overflow: hidden !important;
    background:
      radial-gradient(circle at 85% 18%, rgba(56,189,248,.17), transparent 34%),
      radial-gradient(circle at 12% 95%, rgba(167,139,250,.14), transparent 34%),
      linear-gradient(120deg, rgba(5,18,38,.96), rgba(14,20,48,.94) 58%, rgba(8,47,58,.92)) !important;
    box-shadow: inset 0 -1px 0 rgba(125,211,252,.24) !important;
  }

  body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) .planning-public-hero .courses-panel-hero__inner {
    width: 100% !important;
    max-width: none !important;
    min-height: var(--planning-public-hero-height) !important;
    margin: 0 !important;
    padding:
      calc(var(--planning-public-navbar-height) + clamp(.55rem, 1.1vw, .9rem))
      var(--planning-public-inner-right)
      clamp(.65rem, 1.05vw, .95rem)
      var(--planning-public-inner-left) !important;
    grid-template-columns: minmax(0, 1fr) minmax(10.8rem, 13.5rem) !important;
    align-items: center !important;
    gap: clamp(.85rem, 1.8vw, 1.5rem) !important;
  }

  body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) .planning-public-hero .courses-panel-hero__text {
    gap: .16rem !important;
  }

  body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) .planning-public-hero .courses-panel-hero__kicker {
    margin: 0 !important;
    color: #7dd3fc !important;
    font-size: .7rem !important;
    font-weight: 900 !important;
    letter-spacing: .13em !important;
    text-transform: uppercase !important;
  }

  body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) .planning-public-hero h1 {
    margin: 0 !important;
    max-width: 14ch !important;
    color: #f8fafc !important;
    font-size: clamp(2rem, 3vw, 3rem) !important;
    line-height: .94 !important;
    letter-spacing: -.055em !important;
  }

  body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) .planning-public-hero .courses-panel-hero__text > p:not(.courses-panel-hero__kicker) {
    max-width: 44rem !important;
    margin: .26rem 0 0 !important;
    color: rgba(226,232,240,.78) !important;
    font-size: .86rem !important;
    line-height: 1.28 !important;
  }

  body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) .planning-public-hero .courses-panel-hero__stats {
    grid-template-columns: minmax(0, 1fr) !important;
    width: min(100%, 13.5rem) !important;
    justify-self: end !important;
  }

  body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) .planning-public-hero .courses-panel-stat-card {
    min-height: 4.45rem !important;
    padding: .72rem .95rem !important;
    border-color: rgba(125,211,252,.22) !important;
    background: rgba(2,6,23,.58) !important;
    box-shadow: 0 .9rem 2.2rem rgba(2,6,23,.22) !important;
  }

  body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) .planning-public-hero .courses-panel-stat-card strong {
    color: #7dd3fc !important;
    font-size: clamp(1.55rem, 2vw, 2rem) !important;
  }

  /* Dock toujours présent et ancré à gauche. Le planning ne fait plus défiler ce bloc. */
  body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) .planning-public-control-dock {
    position: relative !important;
    inset: auto !important;
    z-index: 32 !important;
    grid-row: 2 !important;
    display: grid !important;
    width: 100vw !important;
    max-width: 100vw !important;
    min-height: var(--planning-public-dock-height) !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
    border-inline: 0 !important;
    background: color-mix(in srgb, var(--color-background, #020617) 92%, transparent 8%) !important;
    box-shadow:
      0 .7rem 1.5rem rgba(2,6,23,.18),
      inset 0 -1px 0 color-mix(in srgb, var(--color-border-subtle) 70%, transparent 30%) !important;
    backdrop-filter: blur(22px) saturate(1.18) !important;
    -webkit-backdrop-filter: blur(22px) saturate(1.18) !important;
    overflow: visible !important;
  }

  body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) .planning-public-control-dock .courses-control-dock__chips {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    justify-self: stretch !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: .42rem var(--planning-public-inner-right) .42rem var(--planning-public-inner-left) !important;
    overflow: hidden !important;
  }

  body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) .planning-public-control-dock .courses-smart-strip,
  body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) .planning-public-control-dock .courses-smart-strip.is-empty {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    justify-items: start !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 2.24rem !important;
    margin: 0 !important;
    transform: none !important;
    overflow: hidden !important;
  }

  body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) .planning-public-control-dock .courses-smart-summary {
    flex: 0 0 auto !important;
    justify-self: start !important;
    margin: 0 !important;
  }

  body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) .planning-public-control-dock .courses-smart-chips {
    flex: 1 1 auto !important;
    justify-content: flex-start !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    overflow: hidden !important;
  }

  /* Zone planning : aucune page globale ne défile, chaque journée reprend son propre scroll. */
  body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) .planning-public-wrapper {
    position: relative !important;
    z-index: 1 !important;
    grid-row: 3 !important;
    width: 100vw !important;
    max-width: none !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding:
      clamp(.62rem, 1vw, .9rem)
      var(--planning-public-inner-right)
      max(.42rem, env(safe-area-inset-bottom, 0px))
      var(--planning-public-inner-left) !important;
    overflow: hidden !important;
    background: var(--color-background, var(--color-bg, #020617)) !important;
  }

  body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) .planning-public-loader-host,
  body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) .planning-public-content,
  body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) .planning-public-mobile-week {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) .planning-public-mobile-daybar,
  body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) .planning-public-landscape-daybar,
  body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) .planning-public-day-inline-title {
    display: none !important;
  }

  body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) .planning-public-grid {
    display: grid !important;
    grid-template-columns: repeat(var(--planning-landscape-days-count, 6), minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: clamp(.48rem, .72vw, .82rem) !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) .planning-public-day {
    position: relative !important;
    z-index: 1 !important;
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  /* L'en-tête est hors du scroller : les cartes sont physiquement découpées avant de l'atteindre. */
  body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) .planning-public-day-header {
    position: relative !important;
    inset: auto !important;
    z-index: 6 !important;
    display: flex !important;
    min-height: 4.15rem !important;
    margin: 0 0 .52rem !important;
    padding: .66rem .38rem .64rem !important;
    border: 1px solid color-mix(in srgb, var(--color-border-subtle) 72%, transparent 28%) !important;
    border-radius: 1rem !important;
    background: color-mix(in srgb, var(--color-surface, #0f172a) 94%, var(--color-background, #020617) 6%) !important;
    box-shadow: 0 .72rem 1.45rem rgba(2,6,23,.16) !important;
    backdrop-filter: blur(18px) saturate(1.12) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.12) !important;
    overflow: hidden !important;
  }

  body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) .planning-public-day-header h3 {
    font-size: clamp(1rem, 1.3vw, 1.28rem) !important;
  }

  body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) .planning-public-day-count {
    font-size: .72rem !important;
  }

  body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) .planning-public-day-list {
    position: relative !important;
    z-index: 1 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 .08rem .55rem !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    contain: layout paint !important;
  }

  body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) .planning-public-day-list::-webkit-scrollbar {
    display: none !important;
  }

  body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) .planning-public-row,
  body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) .planning-public-row.is-two {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: .48rem !important;
    margin: 0 0 .48rem !important;
    padding: 0 !important;
  }

  body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) .planning-public-course {
    min-height: 7.35rem !important;
    padding: .7rem .54rem .66rem !important;
    gap: .33rem !important;
    border-width: 1px !important;
    border-radius: 1rem !important;
    background:
      linear-gradient(160deg, color-mix(in srgb, var(--course-color, #38bdf8) 18%, rgba(15,23,42,.82)), rgba(2,6,23,.76)) !important;
    box-shadow: 0 .78rem 1.7rem rgba(2,6,23,.2) !important;
    transform: none !important;
    transition: border-color .2s ease, box-shadow .2s ease, filter .2s ease !important;
  }

  body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) .planning-public-course-time {
    font-size: clamp(.82rem, .92vw, 1rem) !important;
  }

  body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) .planning-public-course .style-badge {
    max-width: calc(100% - .15rem) !important;
    padding-inline: .48rem !important;
    font-size: clamp(.55rem, .66vw, .72rem) !important;
  }

  body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) .planning-public-course-level {
    max-width: 100% !important;
    color: var(--color-text) !important;
    font-size: clamp(.72rem, .82vw, .88rem) !important;
    line-height: 1.08 !important;
  }

  body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) .planning-public-course-teacher,
  body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) .planning-public-course-location {
    font-size: clamp(.64rem, .72vw, .76rem) !important;
  }

  body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) .planning-public-course.is-openable {
    cursor: pointer !important;
  }

  body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) .planning-public-course.is-openable:focus-visible {
    outline: 2px solid color-mix(in srgb, var(--course-color, #38bdf8) 76%, white 12%) !important;
    outline-offset: 3px !important;
    transform: none !important;
  }

  @media (hover: hover) and (pointer: fine) {
    body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) .planning-public-course.is-openable:hover {
      z-index: 3 !important;
      transform: none !important;
      filter: brightness(1.1) saturate(1.1) !important;
      border-color: color-mix(in srgb, var(--course-color, #38bdf8) 68%, rgba(255,255,255,.18)) !important;
      box-shadow:
        0 .9rem 2rem rgba(2,6,23,.25),
        0 0 1.5rem color-mix(in srgb, var(--course-color, #38bdf8) 42%, transparent),
        inset 0 0 1.15rem color-mix(in srgb, var(--course-color, #38bdf8) 12%, transparent) !important;
    }

  }

  body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) .planning-public-smartbar-shell {
    width: min(43rem, 48vw) !important;
  }
}

@media (min-width: 1024px) and (max-width: 1260px) {
  body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) .planning-public-grid {
    gap: .4rem !important;
  }

  body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) .planning-public-course {
    min-height: 6.95rem !important;
    padding-inline: .36rem !important;
  }

  body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) .planning-public-course-location {
    display: none !important;
  }
}

/* ==========================================================================
   V49.4.90–V49.4.91 — finitions PC et halo hors des colonnes
   ========================================================================== */
@media (min-width: 1024px) {
  body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) .planning-public-control-dock {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
  }

  body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) .planning-public-control-dock::before,
  body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) .planning-public-control-dock::after {
    display: none !important;
    content: none !important;
  }

  body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) .planning-public-wrapper {
    border-top: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
  }

  body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) .planning-public-day {
    overflow: visible !important;
  }

  body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) .planning-public-day-header {
    z-index: 12 !important;
    min-height: 4.15rem !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 1rem !important;
    overflow: visible !important;
    isolation: isolate !important;
    background-clip: padding-box !important;
    transform: translateZ(0) !important;
    box-shadow:
      inset 0 0 0 1.25px color-mix(in srgb, var(--color-border-subtle) 78%, transparent 22%),
      0 .72rem 1.45rem rgba(2,6,23,.16) !important;
  }

  body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) .planning-public-day-list {
    z-index: 1 !important;
    padding: .52rem .58rem .65rem !important;
    contain: layout style !important;
    scroll-padding-top: .52rem !important;
  }

  @media (hover: hover) and (pointer: fine) {
    body.is-dashboard-shell-visible.is-planning-public-panel:has(#planning-public-content) .planning-public-course.is-openable:hover {
      box-shadow:
        inset 0 0 0 1px color-mix(in srgb, var(--course-color, #38bdf8) 22%, transparent),
        inset 0 0 1.15rem color-mix(in srgb, var(--course-color, #38bdf8) 12%, transparent) !important;
    }
  }
}

.planning-public-hover-glow-layer {
  position: fixed;
  left: 0;
  width: 100vw;
  height: 0;
  z-index: 42;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
  transition: opacity .14s ease;
}

.planning-public-hover-glow-layer.is-visible {
  opacity: 1;
}

.planning-public-hover-glow {
  position: absolute;
  border-radius: 1rem;
  background: transparent;
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--planning-hover-color, #38bdf8) 58%, transparent),
    0 0 1.8rem .18rem color-mix(in srgb, var(--planning-hover-color, #38bdf8) 46%, transparent),
    0 .75rem 1.85rem rgba(2,6,23,.18);
}

@media (prefers-reduced-motion: reduce) {
  .planning-public-hover-glow-layer {
    transition: none !important;
  }
}
